Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@secretdataz
Created May 19, 2016 15:32
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save secretdataz/d1700a8e437e61880270bb9303bff6e5 to your computer and use it in GitHub Desktop.
Save secretdataz/d1700a8e437e61880270bb9303bff6e5 to your computer and use it in GitHub Desktop.
rAthena punching bag with DPS counter.
//===== 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,224,79,0 script PunchingBag#0 844,{
end;
OnMyMobDead:
OnInit:
getunitdata(getnpcid(0), .@d);
monster strnpcinfo(4),.@d[UNPC_X],.@d[UNPC_Y],"Punching Bag",2411,1,strnpcinfo(0)+"::OnMyMobDead";
.@dupid = atoi(strnpcinfo(2));
.gid[.@dupid] = $@mobid[0];
.mhp[.@dupid] = strmobinfo(4,2411);
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment