Ver código fonte

* Fixed Hocus-pocus always fails. (bugreport:3143, follow up to: r13815)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13826 54d463be-8e91-2dee-dedb-b68131a5f0ec
Inkfish 16 anos atrás
pai
commit
8bd4ae799e
2 arquivos alterados com 11 adições e 4 exclusões
  1. 2 0
      Changelog-Trunk.txt
  2. 9 4
      src/map/skill.c

+ 2 - 0
Changelog-Trunk.txt

@@ -3,6 +3,8 @@ Date	Added
 AS OF SVN REV. 5091, WE ARE NOW USING TRUNK.  ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK.
 IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
 
+09/05/30
+	* Fixed Hocus-pocus always fails. (bugreport:3143, follow up to: r13815) [Inkfish]
 09/05/29
 	* Added new bonuses bHealPower and bHealPower2. [Inkfish]
 	* Heal skills code clean up. [Inkfish]

+ 9 - 4
src/map/skill.c

@@ -8060,8 +8060,12 @@ int skill_check_condition_castbegin(struct map_session_data* sd, short skill, sh
 		return 0;
 	}
 
-	if( sd->state.abra_flag && sd->skillitem != skill ) // Cancelled, using a different skill.
-		sd->skillitem = sd->skillitemlv = sd->state.abra_flag = 0;
+	if( sd->state.abra_flag )
+	{
+		if( sd->skillitem == skill )
+			return 1;
+		sd->skillitem = sd->skillitemlv = sd->state.abra_flag = 0; // Cancelled, using a different skill	
+	}
 
 	if (sd->menuskill_id == AM_PHARMACY &&
 		(skill == AM_PHARMACY || skill == AC_MAKINGARROW || skill == BS_REPAIRWEAPON ||
@@ -8558,8 +8562,9 @@ int skill_check_condition_castend(struct map_session_data* sd, short skill, shor
 
 	if( sd->state.abra_flag )
 	{ // Abracadabra skill, skip requisites!	
-		sd->skillitem = sd->skillitemlv = sd->state.abra_flag = 0;
-		return 1;
+		sd->skillitem = sd->skillitemlv = sd->state.abra_flag = 0; // Clear out the data.
+		if( sd->skillitem == skill )
+			return 1;
 	}
 
 	if( sd->menuskill_id == AM_PHARMACY )