summaryrefslogtreecommitdiff
path: root/src/map
diff options
context:
space:
mode:
Diffstat (limited to 'src/map')
-rw-r--r--src/map/config/Renewal.h8
-rw-r--r--src/map/mob.c4
-rw-r--r--src/map/party.c8
-rw-r--r--src/map/party.h2
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