Modified battle_range to check if sd is null first

git-svn-id: https://svn.code.sf.net/p/rathena/svn/branches/stable@445 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
celest 2004-12-04 04:17:27 +00:00
parent 260c334ec0
commit f54b34d14c
2 changed files with 9 additions and 4 deletions

View File

@ -4,6 +4,7 @@ Date Added
* Fixed a battle_range crash [MouseJstr]
* Updated Stone Curse, Soul Drain, Auto Berserk [celest]
* Added a fix for MVP exp being multiplied twice by Gengar
* Modified battle_range to check for sd first [celest]
12/2
* Fixed double login feature, resets online users when map connects to char [Wizputer]

View File

@ -4949,7 +4949,7 @@ int battle_check_range(struct block_list *src,struct block_list *bl,int range)
int dx,dy;
struct walkpath_data wpd;
int arange;
nullpo_retr(0, src);
nullpo_retr(0, bl);
@ -4962,10 +4962,14 @@ int battle_check_range(struct block_list *src,struct block_list *bl,int range)
if( range>0 && range < arange ) {// 遠すぎる
// be lenient if the skill was cast before we have moved to the correct position [Celest]
if (src->type != BL_PC ||
(bl->type == BL_PC && ((struct map_session_data *)bl)->walktimer != -1 &&
!((arange-=battle_config.skill_range_leniency)<=range)))
if (src->type != BL_PC)
return 0;
else if (src->type == BL_PC) {
struct map_session_data *sd;
nullpo_retr(0, (sd=(struct map_session_data *)bl));
if (sd->walktimer != -1 && !((arange-=battle_config.skill_range_leniency)<=range))
return 0;
}
}
if( arange<2 ) // 同じマスか隣接