Ver Fonte

-Fix incomplete battle_check_target prior to 17000. (thus allowing flag fail to continue wich incorrect)
--Concerned skill are : RK_PHANTOMTHRUST, WL_WHITEIMPRISON, SEVERE_RAINSTORM, NETHERWORLD, FIRE_MANTLE


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17146 54d463be-8e91-2dee-dedb-b68131a5f0ec

glighta há 12 anos atrás
pai
commit
dc9d2aa7cb
1 ficheiros alterados com 5 adições e 5 exclusões
  1. 5 5
      src/map/skill.c

+ 5 - 5
src/map/skill.c

@@ -4129,7 +4129,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
 		clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
 
 		skill_blown(src,bl,distance_bl(src,bl)-1,unit_getdir(src),0);
-		if( battle_check_target(src,bl,BCT_ENEMY) )
+		if( battle_check_target(src,bl,BCT_ENEMY)>0 )
 			skill_attack(BF_WEAPON,src,src,bl,skill_id,skill_lv,tick,flag);
 		break;
 	case RK_CRUSHSTRIKE:
@@ -7848,7 +7848,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
 		break;
 
 	case WL_WHITEIMPRISON:
-		if( (src == bl || battle_check_target(src, bl, BCT_ENEMY)) && !is_boss(bl) )// Should not work with bosses.
+		if( (src == bl || battle_check_target(src, bl, BCT_ENEMY)>0) && !is_boss(bl) )// Should not work with bosses.
 		{
 			int rate = ( sd? sd->status.job_level : 50 ) / 4;
 
@@ -11800,11 +11800,11 @@ int skill_unit_onplace_timer (struct skill_unit *src, struct block_list *bl, uns
 			break;
 
 		case UNT_SEVERE_RAINSTORM:
-			if( battle_check_target(&src->bl, bl, BCT_ENEMY) )
+			if( battle_check_target(&src->bl, bl, BCT_ENEMY) > 0 )
 				skill_attack(BF_WEAPON,ss,&src->bl,bl,WM_SEVERE_RAINSTORM_MELEE,sg->skill_lv,tick,0);
 			break;
 		case UNT_NETHERWORLD:
-			if( !(status_get_mode(bl)&MD_BOSS) && ss != bl && battle_check_target(&src->bl, bl, BCT_PARTY) ) {
+			if( !(status_get_mode(bl)&MD_BOSS) && ss != bl && battle_check_target(&src->bl, bl, BCT_PARTY) > 0 ) {
 				if( !(tsc && tsc->data[type]) ){
 					sc_start(bl, type, 100, sg->skill_lv, skill_get_time2(sg->skill_id,sg->skill_lv));
 					sg->limit = DIFF_TICK(tick,sg->tick);
@@ -11941,7 +11941,7 @@ int skill_unit_onplace_timer (struct skill_unit *src, struct block_list *bl, uns
 			break;
 
 		case UNT_FIRE_MANTLE:
-			if( battle_check_target(&src->bl, bl, BCT_ENEMY) )
+			if( battle_check_target(&src->bl, bl, BCT_ENEMY) > 0 )
 				skill_attack(BF_MAGIC,ss,&src->bl,bl,sg->skill_id,sg->skill_lv,tick,0);
 			break;