diff options
Diffstat (limited to 'src/map')
-rw-r--r-- | src/map/config/Renewal.h | 8 | ||||
-rw-r--r-- | src/map/mob.c | 4 | ||||
-rw-r--r-- | src/map/party.c | 8 | ||||
-rw-r--r-- | src/map/party.h | 2 |
4 files changed, 17 insertions, 5 deletions
diff --git a/src/map/config/Renewal.h b/src/map/config/Renewal.h index 974c733b4..81aaea9ad 100644 --- a/src/map/config/Renewal.h +++ b/src/map/config/Renewal.h @@ -30,6 +30,14 @@ #define RECASTING 1 /** + * Renewal Drop Rate Modifier + * @values: 1 (enabled) or 0 (disabled) + * - When enabled a modifier based on difference between the player and the monster level is applied, + * - based on the http://irowiki.org/wiki/Drop_System#Level_Factor table + **/ +#define RE_DROP_MOD 1 + +/** * Renewal Cast Time : Variable-Free * - Value required for no variable cast time with stats. * - Formula: (casterDex x 2) + (casterInt) diff --git a/src/map/mob.c b/src/map/mob.c index b6e8ea697..e5d3d6873 100644 --- a/src/map/mob.c +++ b/src/map/mob.c @@ -2187,7 +2187,7 @@ int mob_dead(struct mob_data *md, struct block_list *src, int type) struct item_drop *ditem; struct item_data* it = NULL; int drop_rate; -#if REMODE +#if RE_DROP_MOD int drop_modifier = mvp_sd ? party_renewal_drop_mod(mvp_sd->status.base_level - md->level) : second_sd ? party_renewal_drop_mod(second_sd->status.base_level - md->level) : third_sd ? party_renewal_drop_mod(third_sd->status.base_level - md->level) : 100; @@ -2233,7 +2233,7 @@ int mob_dead(struct mob_data *md, struct block_list *src, int type) // Increase drop rate if user has SC_ITEMBOOST if (sd && sd->sc.data[SC_ITEMBOOST]) // now rig the drop rate to never be over 90% unless it is originally >90%. drop_rate = max(drop_rate,cap_value((int)(0.5+drop_rate*(sd->sc.data[SC_ITEMBOOST]->val1)/100.),0,9000)); -#if REMODE +#if RE_DROP_MOD if( drop_modifier != 100 ) drop_rate = drop_rate * drop_modifier / 100; #endif diff --git a/src/map/party.c b/src/map/party.c index 624fdc489..87adc6c29 100644 --- a/src/map/party.c +++ b/src/map/party.c @@ -916,9 +916,9 @@ int party_send_xy_clear(struct party_data *p) } return 0; } -#if REMODE +#if RE_DROP_MOD /** - * Renewal Drop Earning Modifier + * Renewal Drop Modifier **/ int party_renewal_drop_mod(int diff) { if( diff >= -10 && diff <= 5 ) @@ -934,9 +934,11 @@ int party_renewal_drop_mod(int diff) { if( diff <= -10 && diff <= -14 ) return 75;//75% } - //other chases: 50% + //other chances: 50% return 50; } +#endif +#if REMODE /** * Renewal Experience Earning Mode **/ diff --git a/src/map/party.h b/src/map/party.h index 4a19c6565..62ab28ec0 100644 --- a/src/map/party.h +++ b/src/map/party.h @@ -94,6 +94,8 @@ bool party_booking_delete(struct map_session_data *sd); #if REMODE void party_renewal_exp_mod(unsigned int *base_exp, unsigned int *job_exp, int lvl, int moblvl); +#endif +#if RE_DROP_MOD int party_renewal_drop_mod(int diff); #endif |