From b37efb0fe8c81e15c1cee646cc8c7bf344c9ead6 Mon Sep 17 00:00:00 2001 From: epoque11 Date: Sat, 21 Apr 2012 15:26:32 +0000 Subject: - Fixed Spell Fist being unable to cast while casting a bolt skill (bugreport:5597) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15909 54d463be-8e91-2dee-dedb-b68131a5f0ec --- src/map/clif.c | 6 +++--- src/map/unit.c | 3 ++- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/map/clif.c b/src/map/clif.c index b969624df..942886b5c 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -10486,7 +10486,7 @@ static void clif_parse_UseSkillToId_homun(struct homun_data *hd, struct map_sess target_id = hd->bl.id; if( hd->ud.skilltimer != INVALID_TIMER ) { - if( skillnum != SA_CASTCANCEL ) return; + if( skillnum != SA_CASTCANCEL && skillnum != SO_SPELLFIST ) return; } else if( DIFF_TICK(tick, hd->ud.canact_tick) < 0 ) return; @@ -10510,7 +10510,7 @@ static void clif_parse_UseSkillToId_mercenary(struct mercenary_data *md, struct target_id = md->bl.id; if( md->ud.skilltimer != INVALID_TIMER ) { - if( skillnum != SA_CASTCANCEL ) return; + if( skillnum != SA_CASTCANCEL && skillnum != SO_SPELLFIST ) return; } else if( DIFF_TICK(tick, md->ud.canact_tick) < 0 ) return; @@ -10598,7 +10598,7 @@ void clif_parse_UseSkillToId(int fd, struct map_session_data *sd) if( sd->ud.skilltimer != INVALID_TIMER ) { - if( skillnum != SA_CASTCANCEL ) + if( skillnum != SA_CASTCANCEL && skillnum != SO_SPELLFIST ) return; } else if( DIFF_TICK(tick, sd->ud.canact_tick) < 0 ) diff --git a/src/map/unit.c b/src/map/unit.c index 17ee9f481..2655fce4c 100644 --- a/src/map/unit.c +++ b/src/map/unit.c @@ -1080,7 +1080,7 @@ int unit_skilluse_id2(struct block_list *src, int target_id, short skill_num, sh return 0; //Normally not needed because clif.c checks for it, but the at/char/script commands don't! [Skotlex] - if(ud->skilltimer != INVALID_TIMER && skill_num != SA_CASTCANCEL) + if(ud->skilltimer != INVALID_TIMER && skill_num != SA_CASTCANCEL && skill_num != SO_SPELLFIST) return 0; if(skill_get_inf2(skill_num)&INF2_NO_TARGET_SELF && src->id == target_id) @@ -1094,6 +1094,7 @@ int unit_skilluse_id2(struct block_list *src, int target_id, short skill_num, sh if(sd) { switch(skill_num){ case SA_CASTCANCEL: + case SO_SPELLFIST: if(ud->skillid != skill_num){ sd->skillid_old = ud->skillid; sd->skilllv_old = ud->skilllv; -- cgit v1.2.3-60-g2f50