diff --git a/Changelog.txt b/Changelog.txt
index 9ca9cf320..04813f919 100644
--- a/Changelog.txt
+++ b/Changelog.txt
@@ -1,3 +1,8 @@
+Version 2.1.52
+ Updated Japanese locale (thanks snake0053)
+ Added a toggle for the early game XP boost to experience.yml 'EarlyGameBoost.Enabled'
+ Added a max level multiplier for determining early game boosts cutoff to experience.yml 'EarlyGameBoost.MaxLevelMultiplier'
+
Version 2.1.51
You can now customize a locale outside of the JAR! (Thanks mikroskeem)
Added a new locale reload command 'mmolocalereload' (Thanks mikroskeem)
diff --git a/pom.xml b/pom.xml
index 9be1cd258..8cc6521d2 100755
--- a/pom.xml
+++ b/pom.xml
@@ -2,7 +2,7 @@
4.0.0
com.gmail.nossr50.mcMMO
mcMMO
- 2.1.51
+ 2.1.52
mcMMO
https://github.com/mcMMO-Dev/mcMMO
diff --git a/src/main/java/com/gmail/nossr50/config/experience/ExperienceConfig.java b/src/main/java/com/gmail/nossr50/config/experience/ExperienceConfig.java
index f0797ab62..a3e4b9f63 100644
--- a/src/main/java/com/gmail/nossr50/config/experience/ExperienceConfig.java
+++ b/src/main/java/com/gmail/nossr50/config/experience/ExperienceConfig.java
@@ -137,6 +137,9 @@ public class ExperienceConfig extends AutoUpdateConfigLoader {
return noErrorsInConfig(reason);
}
+ public boolean isEarlyGameBoostEnabled() { return config.getBoolean("EarlyGameBoost.Enabled", true); }
+ public double getEarlyGameBoostMultiplier() { return config.getDouble("EarlyGameBoost.MaxLevelMultiplier", 0.05D); }
+
/*
* FORMULA SETTINGS
*/
diff --git a/src/main/java/com/gmail/nossr50/listeners/SelfListener.java b/src/main/java/com/gmail/nossr50/listeners/SelfListener.java
index 79f45bde5..6c19dbc28 100644
--- a/src/main/java/com/gmail/nossr50/listeners/SelfListener.java
+++ b/src/main/java/com/gmail/nossr50/listeners/SelfListener.java
@@ -95,17 +95,21 @@ public class SelfListener implements Listener {
return;
}
- int earlyLevelBonusXPCap = mcMMO.isRetroModeEnabled() ? 50 : 5;
-
- int earlyGameBonusXP = 0;
-
- //Give some bonus XP for low levels
- if(mcMMOPlayer.getSkillLevel(primarySkillType) < earlyLevelBonusXPCap)
+ if(ExperienceConfig.getInstance().isEarlyGameBoostEnabled())
{
- earlyGameBonusXP += (mcMMOPlayer.getXpToLevel(primarySkillType) * 0.05);
- event.setRawXpGained(event.getRawXpGained() + earlyGameBonusXP);
+ int earlyLevelBonusXPCap = (int) (ExperienceConfig.getInstance().getEarlyGameBoostMultiplier() * Config.getInstance().getLevelCap(event.getSkill()));
+
+ int earlyGameBonusXP = 0;
+
+ //Give some bonus XP for low levels
+ if(mcMMOPlayer.getSkillLevel(primarySkillType) < earlyLevelBonusXPCap)
+ {
+ earlyGameBonusXP += (mcMMOPlayer.getXpToLevel(primarySkillType) * 0.05);
+ event.setRawXpGained(event.getRawXpGained() + earlyGameBonusXP);
+ }
}
+
int threshold = ExperienceConfig.getInstance().getDiminishedReturnsThreshold(primarySkillType);
if (threshold <= 0 || !ExperienceConfig.getInstance().getDiminishedReturnsEnabled()) {
diff --git a/src/main/resources/experience.yml b/src/main/resources/experience.yml
index b78154041..ab546e708 100644
--- a/src/main/resources/experience.yml
+++ b/src/main/resources/experience.yml
@@ -22,6 +22,10 @@
# Splits the boss bar into 6 segments
#SOLID
# The bar is one solid piece
+EarlyGameBoost:
+ Enabled: true
+ #Used to determine the cap of the max boot, with default level cap it will be 5 on standard, and 50 on retro
+ MaxLevelMultiplier: 0.05
ExploitFix:
# Prevent many exploits related to fishing
Fishing: true