Sfoglia il codice sorgente

first 5 levels in all skills are now much easier to level

nossr50 6 anni fa
parent
commit
b36c4b56c3

+ 3 - 2
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...

+ 15 - 2
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());

+ 0 - 9
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);
         }