- Fixed Spell Fist being unable to cast while casting a bolt skill (bugreport:5597)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15909 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
epoque11 2012-04-21 15:26:32 +00:00
parent 1ccea559bf
commit 78ceff5b9e
2 changed files with 5 additions and 4 deletions

View File

@ -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 )

View File

@ -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;