From 67157a6e028df10eec830f1cecdc6c395d3f48cc Mon Sep 17 00:00:00 2001 From: skotlex Date: Wed, 8 Feb 2006 03:20:08 +0000 Subject: - Modified battle_check_range to use check_range_bl rather than range_bl for range checking, as the range_bl aproximations can lead to situations where battle_check_range returns true while the attack function range check fails >.> git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5223 54d463be-8e91-2dee-dedb-b68131a5f0ec --- Changelog-Trunk.txt | 2 ++ src/map/battle.c | 9 +++------ 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index f3f8165d0..9d19100d6 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. EV GOES INTO TRUNK AND WILL BE MERGED INTO STABLE BY VALARIS AND WIZPUTER. -- VALARIS 2006/02/07 + * Modified battle_check_distance, mobs should no longer find a diagonal + spot on which they lock onto their target, yet fail to attack from. [Skotlex] * Removed the max level configs from battle/exp.txt [Skotlex] * Now NPC_POWERUP uses SC_INCATKRATE instead of SC_EXPLOSIONSPIRITS for enhancing damage. Instead of +1k atk per skilllv, it is +50% atk per diff --git a/src/map/battle.c b/src/map/battle.c index 327bce020..9952ee076 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -3494,19 +3494,16 @@ int battle_check_target( struct block_list *src, struct block_list *target,int f */ int battle_check_range(struct block_list *src,struct block_list *bl,int range) { - int arange; - nullpo_retr(0, src); nullpo_retr(0, bl); if(src->m != bl->m) // 違うマップ return 0; - - arange = distance_bl(src, bl); - if( range>0 && range < arange) + + if (!check_distance_bl(src, bl, range)) return 0; - if( arange<2 ) //No need for path checking. + if(distance_bl(src, bl) < 3) //No need for path checking. return 1; // ?瘧Q物判定 -- cgit v1.2.3-70-g09d2