From 1c1d8d3aba481db177c72800d863d1fc0c840058 Mon Sep 17 00:00:00 2001
From: Jared Adams <jaxad0127@gmail.com>
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