Exp tables updated (fixes #1102)
* Fixed a problem that many of the exp requirements were 1 level off * Removed custom level requirements from the default pre-re/re rAthena files * Optimized the structure of these files; no more redundant data * Added a few custom exp rows to import-tmpl/job_exp.txt that can optionally be used * Updated 1st and 2nd trans job exp requirements to the new official values from 2015 * Fixed a bug that caused monsters to still give 1 base/job exp even though their exp in the db is 0 * Updated Summoner EXP requirements according to latest test results; as Summoner has exactly the same base exp requirements as 3rd classes starting at level 99, it will now use the same row
This commit is contained in:
parent
a40b0e5e33
commit
a4aad69750
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -2454,8 +2454,10 @@ int mob_dead(struct mob_data *md, struct block_list *src, int type)
|
||||
#ifdef RENEWAL_EXP
|
||||
int rate = pc_level_penalty_mod(tmpsd[i], md->level, md->status.class_, md->status.mode, 1);
|
||||
if (rate != 100) {
|
||||
base_exp = (unsigned int)cap_value(apply_rate(base_exp, rate), 1, UINT_MAX);
|
||||
job_exp = (unsigned int)cap_value(apply_rate(job_exp, rate), 1, UINT_MAX);
|
||||
if (base_exp)
|
||||
base_exp = (unsigned int)cap_value(apply_rate(base_exp, rate), 1, UINT_MAX);
|
||||
if (job_exp)
|
||||
job_exp = (unsigned int)cap_value(apply_rate(job_exp, rate), 1, UINT_MAX);
|
||||
}
|
||||
#endif
|
||||
pc_gainexp(tmpsd[i], &md->bl, base_exp, job_exp, false);
|
||||
|
@ -6333,13 +6333,15 @@ static void pc_calcexp(struct map_session_data *sd, unsigned int *base_exp, unsi
|
||||
bonus += ( sd->sc.data[SC_EXPBOOST]->val1 / battle_config.vip_bm_increase );
|
||||
}
|
||||
|
||||
*base_exp = (unsigned int) cap_value(*base_exp + (double)*base_exp * (bonus + vip_bonus_base)/100., 1, UINT_MAX);
|
||||
if (*base_exp)
|
||||
*base_exp = (unsigned int)cap_value(*base_exp + (double)*base_exp * (bonus + vip_bonus_base) / 100., 1, UINT_MAX);
|
||||
|
||||
// Give JEXPBOOST for quests even if src is NULL.
|
||||
if (&sd->sc && sd->sc.data[SC_JEXPBOOST])
|
||||
bonus += sd->sc.data[SC_JEXPBOOST]->val1;
|
||||
|
||||
*job_exp = (unsigned int) cap_value(*job_exp + (double)*job_exp * (bonus + vip_bonus_job)/100., 1, UINT_MAX);
|
||||
if (*job_exp)
|
||||
*job_exp = (unsigned int)cap_value(*job_exp + (double)*job_exp * (bonus + vip_bonus_job) / 100., 1, UINT_MAX);
|
||||
|
||||
return;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user