From e03f2eab4f78b7c505b985826ee4412cbc977a03 Mon Sep 17 00:00:00 2001 From: wushin Date: Sun, 20 Sep 2015 13:26:14 -0500 Subject: More abs errors on direction --- src/map/mob.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/map/mob.cpp b/src/map/mob.cpp index 539b547..d6bd80b 100644 --- a/src/map/mob.cpp +++ b/src/map/mob.cpp @@ -1277,15 +1277,18 @@ int mob_stop_walking(dumb_ptr md, int type) static int mob_can_reach(dumb_ptr md, dumb_ptr bl, int range) { - int dx, dy; + int dx, dy, rangex, rangey, arange; struct walkpath_data wpd; int i; nullpo_retz(md); nullpo_retz(bl); - dx = abs(bl->bl_x - md->bl_x); - dy = abs(bl->bl_y - md->bl_y); + dx = (bl->bl_x - md->bl_x); + dy = (bl->bl_y - md->bl_y); + rangex = abs(dx); + rangey = abs(dy); + arange = ((rangex > rangey) ? rangex : rangey); if (bl->bl_type == BL::PC && battle_config.monsters_ignore_gm == 1) { // option to have monsters ignore GMs [Valaris] @@ -1297,7 +1300,7 @@ int mob_can_reach(dumb_ptr md, dumb_ptr bl, int range) if (md->bl_m != bl->bl_m) // 違うャbプ return 0; - if (range > 0 && range < ((dx > dy) ? dx : dy)) // 遠すぎる + if (range > 0 && range < arange) // 遠すぎる return 0; if (md->bl_x == bl->bl_x && md->bl_y == bl->bl_y) // 同じャX -- cgit v1.2.3-60-g2f50