Browse Source

- 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
epoque11 13 years ago
parent
commit
78ceff5b9e
2 changed files with 5 additions and 4 deletions
  1. 3 3
      src/map/clif.c
  2. 2 1
      src/map/unit.c

+ 3 - 3
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 )

+ 2 - 1
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;