From 7a07d3c6ec2679b3de8bfa14b1775b8673d47e7e Mon Sep 17 00:00:00 2001 From: skotlex Date: Thu, 27 Apr 2006 22:42:31 +0000 Subject: [PATCH] - Applied some changes in unit.c to make mobs pick chase paths as they should. git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@6330 54d463be-8e91-2dee-dedb-b68131a5f0ec --- Changelog-Trunk.txt | 2 ++ src/map/unit.c | 13 +++---------- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index edf68b0107..7b0cfaa276 100644 --- a/Changelog-Trunk.txt +++ b/Changelog-Trunk.txt @@ -3,6 +3,8 @@ Date Added AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK. IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. 2006/04/27 + * Applied some changes in unit.c to make mobs pick chase paths as they + should. [Skotlex] * unit_remove_map will reset attackable-time, canact and canwalk delays. [Skotlex] * Added a timer in clif.c so that walk requests that are done while your diff --git a/src/map/unit.c b/src/map/unit.c index 8373095f36..1ba8fd92f6 100644 --- a/src/map/unit.c +++ b/src/map/unit.c @@ -57,7 +57,9 @@ int unit_walktoxy_sub(struct block_list *bl) memcpy(&ud->walkpath,&wpd,sizeof(wpd)); - if (ud->target && ud->chaserange >0) { + if (ud->target && ud->chaserange>1) { + //Generally speaking, the walk path is already to an adjacent tile + //so we only need to shorten the path if the range is greater than 1. int dir; //Trim the last part of the path to account for range, //but always move at least one cell when requested to move. @@ -1150,15 +1152,6 @@ int unit_can_reach_bl(struct block_list *bl,struct block_list *tbl, int range, i wpd.path_pos=0; wpd.path_half=0; -#ifndef CELL_NOSTACK - //Skip direct path seeking when in nostacking mode. - if(path_search_real(&wpd,bl->m,bl->x,bl->y,tbl->x,tbl->y,easy,CELL_CHKNOREACH)!=-1) { - if (x) *x = tbl->x; - if (y) *y = tbl->y; - return 1; - } -#endif - // It judges whether it can adjoin or not. dx=tbl->x - bl->x; dy=tbl->y - bl->y;