summaryrefslogtreecommitdiff
path: root/src/map/mob.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/map/mob.c')
-rw-r--r--src/map/mob.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/map/mob.c b/src/map/mob.c
index bdc661f58..27d696f88 100644
--- a/src/map/mob.c
+++ b/src/map/mob.c
@@ -1016,10 +1016,14 @@ static int mob_ai_sub_hard_activesearch(struct block_list *bl,va_list ap)
dist = distance_bl(&md->bl, bl);
if(
((*target) == NULL || !check_distance_bl(&md->bl, *target, dist)) &&
- battle_check_range(&md->bl,bl,md->db->range2) && ( map[bl->m].icewall_num && (
- check_distance_bl(&md->bl, bl, status_get_range(&md->bl) ) ||
- path_search_long(NULL,bl->m,md->bl.x,md->bl.y,bl->x,bl->y,CELL_CHKICEWALL) ) )
+ battle_check_range(&md->bl,bl,md->db->range2)
) { //Pick closest target?
+ if( map[bl->m].icewall_num &&
+ !path_search_long(NULL,bl->m,md->bl.x,md->bl.y,bl->x,bl->y,CELL_CHKICEWALL) ) {
+
+ if( !check_distance_bl(&md->bl, bl, status_get_range(&md->bl) ) )
+ return 0;
+ }
(*target) = bl;
md->target_id=bl->id;
md->min_chase= dist + md->db->range3;