From 1c1d8d3aba481db177c72800d863d1fc0c840058 Mon Sep 17 00:00:00 2001 From: Jared Adams Date: Sun, 4 Jan 2009 09:33:19 +0000 Subject: Fix a type bug in exp formula and add modified exp --- src/map/mob.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/map/mob.c b/src/map/mob.c index 34d1b83..719cc78 100644 --- a/src/map/mob.c +++ b/src/map/mob.c @@ -271,8 +271,9 @@ mob_gen_exp(struct mob_db *mob) double dodge_factor = pow(mob->lv + mob->agi + mob->luk / 2.0, 4.0 / 3.0); double persuit_factor = (3 + mob->range) * (mob->mode % 2) * 1000 / mob->speed; double aggression_factor = (mob->mode & 4) == 4 ? 10.0 / 9.0 : 1.0; - double xp = floor(effective_hp * pow(sqrt(attack_factor) + sqrt(dodge_factor) + sqrt(persuit_factor) + 55, 3) * aggression_factor / 2000000.0); + int xp = (int) floor(effective_hp * pow(sqrt(attack_factor) + sqrt(dodge_factor) + sqrt(persuit_factor) + 55, 3) * aggression_factor / 2000000.0 * (double) battle_config.base_exp_rate / 100.); if (xp < 1) xp = 1; + printf("Exp for mob '%s' generated: %d\n", mob->name, xp); return xp; } -- cgit v1.2.3-70-g09d2