diff --git a/Changelog.txt b/Changelog.txt index bbe5d7f9c..ac9c51473 100644 --- a/Changelog.txt +++ b/Changelog.txt @@ -8,8 +8,9 @@ Version 2.1.48 Dodge now gives 800 XP Roll now gives 600 XP Fall now gives 600 XP - The first 10/100 levels of Combat skills now gives a small amount of bonus XP (this amount is not multiplied by any modifiers other than XP rate) - Note: First 10 in Standard, first 100 in Retro + + The first 5/50 levels of skills now give large amounts of XP so players get key early skills much faster + Note: First 50 in Standard, first 50 in Retro Dev Notes: I will be making a write up soon explaining near future plans for mcMMO and what is going on with the config update, abstraction update, etc... diff --git a/src/main/java/com/gmail/nossr50/listeners/SelfListener.java b/src/main/java/com/gmail/nossr50/listeners/SelfListener.java index dced8a07a..8c995bd48 100644 --- a/src/main/java/com/gmail/nossr50/listeners/SelfListener.java +++ b/src/main/java/com/gmail/nossr50/listeners/SelfListener.java @@ -102,8 +102,8 @@ public class SelfListener implements Listener { return; } - final float rawXp = event.getRawXpGained(); - if (rawXp < 0) { + + if (event.getRawXpGained() <= 0) { // Don't calculate for XP subtraction return; } @@ -112,6 +112,19 @@ 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) + { + earlyGameBonusXP += (mcMMOPlayer.getXpToLevel(primarySkillType) * 0.05); + event.setRawXpGained(event.getRawXpGained() + earlyGameBonusXP); + } + + final float rawXp = event.getRawXpGained(); + float guaranteedMinimum = ExperienceConfig.getInstance().getDiminishedReturnsCap() * rawXp; float modifiedThreshold = (float) (threshold / primarySkillType.getXpModifier() * ExperienceConfig.getInstance().getExperienceGainsGlobalMultiplier()); diff --git a/src/main/java/com/gmail/nossr50/util/skills/CombatUtils.java b/src/main/java/com/gmail/nossr50/util/skills/CombatUtils.java index d6c781bb3..5d42b0a12 100644 --- a/src/main/java/com/gmail/nossr50/util/skills/CombatUtils.java +++ b/src/main/java/com/gmail/nossr50/util/skills/CombatUtils.java @@ -609,15 +609,6 @@ public final class CombatUtils { baseXP *= multiplier; - int earlyLevelBonusXPCap = mcMMO.isRetroModeEnabled() ? 100 : 10; - - //Give some bonus XP for low levels - if(baseXP != 0 && mcMMOPlayer.getSkillLevel(primarySkillType) < earlyLevelBonusXPCap) - { - baseXP += 50; - } - - if (baseXP != 0) { new AwardCombatXpTask(mcMMOPlayer, primarySkillType, baseXP, target, xpGainReason).runTaskLater(mcMMO.p, 0); }