diff --git a/src/map/mob.c b/src/map/mob.c index c3dfde6fad..af8bf27c9f 100644 --- a/src/map/mob.c +++ b/src/map/mob.c @@ -1463,8 +1463,9 @@ int mob_unlocktarget(struct mob_data *md, unsigned int tick) md->ud.target_to = 0; unit_set_target(&md->ud, 0); } - if(battle_config.official_cell_stack_limit > 0 - && map_count_oncell(md->bl.m, md->bl.x, md->bl.y, BL_CHAR|BL_NPC, 1) > battle_config.official_cell_stack_limit) { + if (battle_config.official_cell_stack_limit > 0 + && (md->min_chase == md->db->range3 || battle_config.mob_ai & 0x8) + && map_count_oncell(md->bl.m, md->bl.x, md->bl.y, BL_CHAR | BL_NPC, 1) > battle_config.official_cell_stack_limit) { unit_walktoxy(&md->bl, md->bl.x, md->bl.y, 8); }