From 4deb54014e1f9a0dcd0713cea056d840ba34ef5c Mon Sep 17 00:00:00 2001 From: Inkfish Date: Sat, 30 May 2009 02:43:44 +0000 Subject: * Fixed Hocus-pocus always fails. (bugreport:3143, follow up to: r13815) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13826 54d463be-8e91-2dee-dedb-b68131a5f0ec --- src/map/skill.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'src/map/skill.c') diff --git a/src/map/skill.c b/src/map/skill.c index 1546bcb47..3243eefa6 100644 --- a/src/map/skill.c +++ b/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 ) -- cgit v1.2.3-70-g09d2