diff options
author | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2008-01-17 09:46:31 +0000 |
---|---|---|
committer | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2008-01-17 09:46:31 +0000 |
commit | 3798baf5945874481cfdacbcd141feab07f3b9ed (patch) | |
tree | 439892c780f64810e5722c8a1f113ec980a68255 | |
parent | f1e4db40673f16acccc709d8176d45fba0c4e178 (diff) | |
download | hercules-3798baf5945874481cfdacbcd141feab07f3b9ed.tar.gz hercules-3798baf5945874481cfdacbcd141feab07f3b9ed.tar.bz2 hercules-3798baf5945874481cfdacbcd141feab07f3b9ed.tar.xz hercules-3798baf5945874481cfdacbcd141feab07f3b9ed.zip |
- Made battle_check_range fail whenever the distance between src/target is greater than the viewing range.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12084 54d463be-8e91-2dee-dedb-b68131a5f0ec
-rw-r--r-- | Changelog-Trunk.txt | 2 | ||||
-rw-r--r-- | src/map/battle.c | 6 |
2 files changed, 7 insertions, 1 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index a8ca7be1a..a2aff186c 100644 --- a/Changelog-Trunk.txt +++ b/Changelog-Trunk.txt @@ -5,6 +5,8 @@ IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. 2008/01/17 + * Made battle_check_range fail whenever the distance between src/target is + greater than the viewing range. [Skotlex] * Icewalls can no longer be knocked back (see bugreport:38) 2008/01/15 * Manner system fixing [ultramage] diff --git a/src/map/battle.c b/src/map/battle.c index e0d21f4ec..7912e71c8 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -3269,6 +3269,7 @@ int battle_check_target( struct block_list *src, struct block_list *target,int f *------------------------------------------*/ bool battle_check_range(struct block_list *src,struct block_list *bl,int range) { + int d; nullpo_retr(false, src); nullpo_retr(false, bl); @@ -3281,9 +3282,12 @@ bool battle_check_range(struct block_list *src,struct block_list *bl,int range) if (!check_distance_bl(src, bl, range)) return false; - if(distance_bl(src, bl) < 2) //No need for path checking. + if((d=distance_bl(src, bl)) < 2) //No need for path checking. return true; + if (d> AREA_SIZE) + return false; //Avoid targetting objects beyond your range of sight. + // ?áŠQ•¨”»’è return path_search_long(NULL,src->m,src->x,src->y,bl->x,bl->y,CELL_CHKWALL); } |