diff options
-rw-r--r-- | db/skill_db.txt | 2 | ||||
-rw-r--r-- | src/map/skill.c | 14 | ||||
-rw-r--r-- | src/map/skill.h | 6 |
3 files changed, 18 insertions, 4 deletions
diff --git a/db/skill_db.txt b/db/skill_db.txt index 01a3f6e21..143542efb 100644 --- a/db/skill_db.txt +++ b/db/skill_db.txt @@ -626,7 +626,7 @@ //684,0,0,0,0,0,0,9,0,no,0,0,0,none,0, NPC_WIDEHELLDIGNITY,Hell Dignity //685,0,0,0,0,0,0,9,0,no,0,0,0,none,0, NPC_INVINCIBLE,Incinvible //686,0,0,0,0,0,0,9,0,no,0,0,0,none,0, NPC_INVINCIBLEOFF,Invincible off -//687,0,0,0,0,0,0,9,0,no,0,0,0,none,0, NPC_ALLHEAL,Full Heal +687,0,6,4,0,0x1,0,1,1,yes,0,0,0,none,0, NPC_ALLHEAL,Full Heal // Additional Skill (??) //688,0,0,0,0,0,0,9,0,no,0,0,0,none,0, GM_SANDMAN,GM Sandman diff --git a/src/map/skill.c b/src/map/skill.c index 579d27616..54968bf3d 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -3179,6 +3179,20 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in break; status_percent_heal(bl, 100, 100); break; + case NPC_ALLHEAL: + { + int heal; + if( status_isimmune(bl) ) + break; + heal = status_percent_heal(bl, 100, 0); + clif_skill_nodamage(NULL, bl, AL_HEAL, heal, 1); + if( skillid == NPC_ALLHEAL && dstmd ) + { // Reset Damage Logs + memset(dstmd->dmglog, 0, sizeof(dstmd->dmglog)); + dstmd->tdmg = 0; + } + } + break; case SA_SUMMONMONSTER: clif_skill_nodamage(src,bl,skillid,skilllv,1); if (sd) mob_once_spawn(sd,src->m,src->x,src->y,"--ja--",-1,1,""); diff --git a/src/map/skill.h b/src/map/skill.h index a9156edde..cb7656878 100644 --- a/src/map/skill.h +++ b/src/map/skill.h @@ -965,9 +965,9 @@ enum e_skill { NPC_HELLPOWER, NPC_WIDEHELLDIGNITY, NPC_INVINCIBLE, - NPC_INVINCIBLEOFF, - NPC_ALLHEAL, - + NPC_INVINCIBLEOFF, */ + NPC_ALLHEAL = 687, + /* GM_SANDMAN = 688, CASH_BLESSING, CASH_INCAGI, |