Przeglądaj źródła

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

nossr50 6 lat temu
rodzic
commit
b36c4b56c3

+ 3 - 2
Changelog.txt

@@ -8,8 +8,9 @@ Version 2.1.48
     Dodge now gives 800 XP
     Dodge now gives 800 XP
     Roll now gives 600 XP
     Roll now gives 600 XP
     Fall 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:
     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...
     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;
             return;
         }
         }
 
 
-        final float rawXp = event.getRawXpGained();
-        if (rawXp < 0) {
+
+        if (event.getRawXpGained() <= 0) {
             // Don't calculate for XP subtraction
             // Don't calculate for XP subtraction
             return;
             return;
         }
         }
@@ -112,6 +112,19 @@ public class SelfListener implements Listener {
             return;
             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 guaranteedMinimum = ExperienceConfig.getInstance().getDiminishedReturnsCap() * rawXp;
 
 
         float modifiedThreshold = (float) (threshold / primarySkillType.getXpModifier() * ExperienceConfig.getInstance().getExperienceGainsGlobalMultiplier());
         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;
         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) {
         if (baseXP != 0) {
             new AwardCombatXpTask(mcMMOPlayer, primarySkillType, baseXP, target, xpGainReason).runTaskLater(mcMMO.p, 0);
             new AwardCombatXpTask(mcMMOPlayer, primarySkillType, baseXP, target, xpGainReason).runTaskLater(mcMMO.p, 0);
         }
         }