summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorepoque11 <epoque11@54d463be-8e91-2dee-dedb-b68131a5f0ec>2012-04-21 15:26:32 +0000
committerepoque11 <epoque11@54d463be-8e91-2dee-dedb-b68131a5f0ec>2012-04-21 15:26:32 +0000
commitb37efb0fe8c81e15c1cee646cc8c7bf344c9ead6 (patch)
treed8cb52fee8bf4d3410262312d430c7d6ea635264
parent7475d4859a56a988fc36372a277c0c007d0123a5 (diff)
downloadhercules-b37efb0fe8c81e15c1cee646cc8c7bf344c9ead6.tar.gz
hercules-b37efb0fe8c81e15c1cee646cc8c7bf344c9ead6.tar.bz2
hercules-b37efb0fe8c81e15c1cee646cc8c7bf344c9ead6.tar.xz
hercules-b37efb0fe8c81e15c1cee646cc8c7bf344c9ead6.zip
- 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
-rw-r--r--src/map/clif.c6
-rw-r--r--src/map/unit.c3
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;