From 560b50abaf1e5c09ae85bd40d4d835c4f1c4283b Mon Sep 17 00:00:00 2001 From: skotlex Date: Tue, 30 May 2006 20:44:54 +0000 Subject: - Fixed underflow issues when calculating dmotion. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6860 54d463be-8e91-2dee-dedb-b68131a5f0ec --- src/map/status.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'src/map') diff --git a/src/map/status.c b/src/map/status.c index 6ad8bfa14..068e7a733 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -1937,9 +1937,9 @@ int status_calc_pc(struct map_session_data* sd,int first) // ----- DMOTION ----- -// - status->dmotion = 800-status->agi*4; - if(status->dmotion<400) status->dmotion = 400; +// + i = 800-status->agi*4; + status->dmotion = cap_value(i, 400, 800); // ----- HP MAX CALCULATION ----- @@ -2360,12 +2360,11 @@ void status_calc_bl_sub_pc(struct map_session_data *sd, unsigned long flag) if(flag&(SCB_AGI|SCB_DSPD)) { //Even though people insist this is too slow, packet data reports this is the actual real equation. - status->dmotion = 800-status->agi*4; - if(status->dmotion<400) status->dmotion = 400; + skill = 800-status->agi*4; + status->dmotion = cap_value(skill, 400, 800); if(battle_config.pc_damage_delay_rate != 100) status->dmotion = status->dmotion*battle_config.pc_damage_delay_rate/100; - status->dmotion = status_calc_dmotion(&sd->bl, &sd->sc, b_status->dmotion); } -- cgit v1.2.3-70-g09d2