summaryrefslogtreecommitdiff
path: root/src/map/mob.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/map/mob.c')
-rw-r--r--src/map/mob.c20
1 files changed, 18 insertions, 2 deletions
diff --git a/src/map/mob.c b/src/map/mob.c
index 55faf7ca1..9aa611c57 100644
--- a/src/map/mob.c
+++ b/src/map/mob.c
@@ -1861,13 +1861,29 @@ int mob_damage(struct block_list *src,struct mob_data *md,int damage,int type)
else
job_exp = (unsigned int)(job_exp*per);
- //mapflags: noexp check [Lorky]
+/* //mapflags: noexp check [Lorky]
if (map[md->bl.m].flag.nobaseexp == 1) base_exp=0;
else if (base_exp < 1) base_exp = 1;
if (map[md->bl.m].flag.nojobexp == 1) job_exp=0;
else if (job_exp < 1) job_exp = 1;
-
+*/
+ if (map[md->bl.m].flag.nobaseexp == 1)
+ base_exp=0;
+ else if (base_exp < 1)
+ base_exp = (map[md->bl.m].bexp<=100) ? 1 : map[md->bl.m].bexp/100;
+ else if ( map[md->bl.m].bexp != 100 )
+ base_exp=(int)((double)base_exp*((double)map[md->bl.m].bexp/100.0));
+
+ if (map[md->bl.m].flag.nojobexp == 1)
+ job_exp=0;
+ else if (job_exp < 1)
+ job_exp = (map[md->bl.m].jexp<=100) ? 1 : map[md->bl.m].jexp/100;
+ else if ( map[md->bl.m].bexp != 100 )
+ job_exp=(int)((double)job_exp*((double)map[md->bl.m].jexp/100.0));
+
+
+
//end added Lorky
if((pid=tmpsd[i]->status.party_id)>0){ // パーティに入っている
int j;