Sfoglia il codice sorgente

- Added an ugly check so that Heal will display 0 when healing a berserked character (and it will again display full heal amount when healing a player who's at full life)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8869 54d463be-8e91-2dee-dedb-b68131a5f0ec
skotlex 18 anni fa
parent
commit
25e8e6c1ce
2 ha cambiato i file con 19 aggiunte e 14 eliminazioni
  1. 3 0
      Changelog-Trunk.txt
  2. 16 14
      src/map/skill.c

+ 3 - 0
Changelog-Trunk.txt

@@ -4,6 +4,9 @@ AS OF SVN REV. 5091, WE ARE NOW USING TRUNK.  ALL UNTESTED BUGFIXES/FEATURES GO
 IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
 
 2006/09/25
+	* Added an ugly check so that Heal will display 0 when healing a berserked
+	  character (and it will again display full heal amount when healing a player
+	  who's at full life) [Skotlex]
 	* Disabled again client-self-muting since it's causing too much trouble.
 	  [Skotlex]
 	* Merged FlavioJS's script patch which should fix stuff like "mes ();"

+ 16 - 14
src/map/skill.c

@@ -3296,22 +3296,24 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in
 					heal = heal*2;
 			}
 
-			if (tsc && tsc->count && tsc->data[SC_KAITE].timer != -1 
-				&& !(sstatus->mode&MD_BOSS)
-			) { //Bounce back heal
-				if (--tsc->data[SC_KAITE].val2 <= 0)
-					status_change_end(bl, SC_KAITE, -1);
-				if (src == bl)
-				  	heal=0; //When you try to heal yourself under Kaite, the heal is voided.
-				else {
-					bl = src;
-					dstsd = sd;
-				}
+			if (tsc && tsc->count)
+			{
+				if (tsc->data[SC_KAITE].timer != -1 && !(sstatus->mode&MD_BOSS)
+				) { //Bounce back heal
+					if (--tsc->data[SC_KAITE].val2 <= 0)
+						status_change_end(bl, SC_KAITE, -1);
+					if (src == bl)
+						heal=0; //When you try to heal yourself under Kaite, the heal is voided.
+					else {
+						bl = src;
+						dstsd = sd;
+					}
+				} else
+				if (tsc->data[SC_BERSERK].timer != -1)
+					heal = 0; //Needed so that it actually displays 0 when healing.
 			}
-
 			heal_get_jobexp = status_heal(bl,heal,0,0);
-			//All or nothing check for LK_BERSERK.
-			clif_skill_nodamage (src, bl, skillid, heal_get_jobexp?heal:0, 1);
+			clif_skill_nodamage (src, bl, skillid, heal, 1);
 
 			if(sd && dstsd && heal > 0 && sd != dstsd && battle_config.heal_exp > 0){
 				heal_get_jobexp = heal_get_jobexp * battle_config.heal_exp / 100;