diff options
author | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-02-08 03:20:08 +0000 |
---|---|---|
committer | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-02-08 03:20:08 +0000 |
commit | 67157a6e028df10eec830f1cecdc6c395d3f48cc (patch) | |
tree | 921be597c847ec328d9a72fd7e145b907e40507b | |
parent | 7c69ccc6452f8a31cf8d531c9684fc68ddd04452 (diff) | |
download | hercules-67157a6e028df10eec830f1cecdc6c395d3f48cc.tar.gz hercules-67157a6e028df10eec830f1cecdc6c395d3f48cc.tar.bz2 hercules-67157a6e028df10eec830f1cecdc6c395d3f48cc.tar.xz hercules-67157a6e028df10eec830f1cecdc6c395d3f48cc.zip |
- 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
-rw-r--r-- | Changelog-Trunk.txt | 2 | ||||
-rw-r--r-- | 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物判定
|