Browse Source

- Implemented monster skill "Full Heal" NPC_ALLHEAL.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13493 54d463be-8e91-2dee-dedb-b68131a5f0ec
zephyrus 16 years ago
parent
commit
96c953126c
3 changed files with 18 additions and 4 deletions
  1. 1 1
      db/skill_db.txt
  2. 14 0
      src/map/skill.c
  3. 3 3
      src/map/skill.h

+ 1 - 1
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

+ 14 - 0
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,"");

+ 3 - 3
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,