|
@@ -1094,8 +1094,9 @@ static int mob_ai_sub_hard(struct block_list *bl,va_list ap)
|
|
{
|
|
{
|
|
if (md->attacked_id == md->target_id)
|
|
if (md->attacked_id == md->target_id)
|
|
{
|
|
{
|
|
- if (!can_move && (battle_config.mob_ai&2) &&
|
|
|
|
- !battle_check_range(&md->bl, tbl, md->status.rhw.range))
|
|
|
|
|
|
+ if (!battle_check_range(&md->bl, tbl, md->status.rhw.range) &&
|
|
|
|
+ ((!can_move && battle_config.mob_ai&2) ||
|
|
|
|
+ (!mob_can_reach(md, tbl, dist+2, MSS_RUSH))))
|
|
{ //Rude-attacked (avoid triggering due to can-walk delay).
|
|
{ //Rude-attacked (avoid triggering due to can-walk delay).
|
|
if (DIFF_TICK(tick, md->ud.canmove_tick) > 0 &&
|
|
if (DIFF_TICK(tick, md->ud.canmove_tick) > 0 &&
|
|
md->attacked_count++ >= RUDE_ATTACKED_COUNT)
|
|
md->attacked_count++ >= RUDE_ATTACKED_COUNT)
|