From 117a223dd15b22674d4d9fbec86fac03479c523f Mon Sep 17 00:00:00 2001 From: shennetsind Date: Wed, 4 Jan 2012 00:26:53 +0000 Subject: Removed Renewal Drop Modifier out of #REMODE and created a #RE_DROP_MOD specially for it. will update wiki asap git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15375 54d463be-8e91-2dee-dedb-b68131a5f0ec --- src/map/config/Renewal.h | 8 ++++++++ src/map/mob.c | 4 ++-- src/map/party.c | 8 +++++--- 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 @@ -29,6 +29,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. 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 -- cgit v1.2.3-60-g2f50