I modified some MVP to stay still. just to test damage.
I have a damage check with Barricade. where the barricade regenerates and is well configured, (got it on the net)
What I wanted to know was how to add 10 different mobs in this same NPC .... and in different locations.
//===== rAthena Script =============================================
//= Punching Bag NPC
//===== By: ========================================================
//= Secretdataz
//===== Current Version: ===========================================
//= 0.1
//===== Changelog: =================================================
//= 0.1 Initial commit
//===== Compatible With: ===========================================
//= rAthena Project
//===== Additional Comments: =======================================
//= When duplicating this NPC. Only use NUMBER after the # [secret]
//==================================================================
prontera,158,180,0 script PunchingBag#0 844,{
end;
OnMyMobDead:
OnInit:
getunitdata(getnpcid(0), .@d);
monster strnpcinfo(4),.@d[UNPC_X],.@d[UNPC_Y],"Punching Bag",1905,1,strnpcinfo(0)+"::OnMyMobDead";
.@dupid = atoi(strnpcinfo(2));
.gid[.@dupid] = $@mobid[0];
.mhp[.@dupid] = strmobinfo(4,1905);
setunitdata .gid[.@dupid],UMOB_MODE,.@d[UMOB_MODE]|0x4000000|0x0200000; // Set MD_STATUS_IMMUNE (0x4000000) because EDP/burn/%MHP based status can skew the DPS counter so much.
initnpctimer;
end;
OnTimer5000:
.@dupid = atoi(strnpcinfo(2));
if(unitexists(.gid[.@dupid])){
getunitdata(.gid[.@dupid],.@d);
.@diff = (.mhp[.@dupid] - .@d[UMOB_HP]);
if(.@diff > 0){
npctalk "Punching Bag : I've taken " + (.@diff/5) + " DPS in last 5 seconds.";
setunitdata .gid[.@dupid],UMOB_HP,.mhp[.@dupid];
specialeffect EF_HEAL;
}
}
initnpctimer;
}
prontera,216,79,0 duplicate(PunchingBag#0) PunchingBag#1 844
prontera,224,70,0 duplicate(PunchingBag#0) PunchingBag#2 844
prontera,216,58,0 duplicate(PunchingBag#0) PunchingBag#3 844
prontera,224,58,0 duplicate(PunchingBag#0) PunchingBag#4 844