Bläddra i källkod

Iron Arm & Impact scale with Retro properly now
Fixes #3723

nossr50 6 år sedan
förälder
incheckning
b7fc3f05e9
1 ändrade filer med 54 tillägg och 25 borttagningar
  1. 54 25
      src/main/java/com/gmail/nossr50/config/AdvancedConfig.java

+ 54 - 25
src/main/java/com/gmail/nossr50/config/AdvancedConfig.java

@@ -40,7 +40,7 @@ public class AdvancedConfig extends AutoUpdateConfigLoader {
         }
 
         /* ACROBATICS */
-        if (getMaxChance(SubSkillType.ACROBATICS_DODGE) < 1) {
+        if (getMaximumProbability(SubSkillType.ACROBATICS_DODGE) < 1) {
             reason.add("Skills.Acrobatics.Dodge.ChanceMax should be at least 1!");
         }
 
@@ -52,7 +52,7 @@ public class AdvancedConfig extends AutoUpdateConfigLoader {
             reason.add("Skills.Acrobatics.Dodge.DamageModifier should be greater than 1!");
         }
 
-        if (getMaxChance(SubSkillType.ACROBATICS_ROLL) < 1) {
+        if (getMaximumProbability(SubSkillType.ACROBATICS_ROLL) < 1) {
             reason.add("Skills.Acrobatics.Roll.ChanceMax should be at least 1!");
         }
 
@@ -106,7 +106,7 @@ public class AdvancedConfig extends AutoUpdateConfigLoader {
             reason.add("Skills.Archery.SkillShot.RankDamageMultiplier should be greater than 0!");
         }
 
-        if (getMaxChance(SubSkillType.ARCHERY_DAZE) < 1) {
+        if (getMaximumProbability(SubSkillType.ARCHERY_DAZE) < 1) {
             reason.add("Skills.Archery.Daze.ChanceMax should be at least 1!");
         }
 
@@ -118,7 +118,7 @@ public class AdvancedConfig extends AutoUpdateConfigLoader {
             reason.add("Skills.Archery.Daze.BonusDamage should be at least 0!");
         }
 
-        if (getMaxChance(SubSkillType.ARCHERY_ARROW_RETRIEVAL) < 1) {
+        if (getMaximumProbability(SubSkillType.ARCHERY_ARROW_RETRIEVAL) < 1) {
             reason.add("Skills.Archery.Retrieve.ChanceMax should be at least 1!");
         }
 
@@ -136,7 +136,7 @@ public class AdvancedConfig extends AutoUpdateConfigLoader {
             reason.add("Skills.Axes.AxeMastery.RankDamageMultiplier should be at least 0!");
         }
 
-        if (getMaxChance(SubSkillType.AXES_CRITICAL_STRIKES) < 1) {
+        if (getMaximumProbability(SubSkillType.AXES_CRITICAL_STRIKES) < 1) {
             reason.add("Skills.Axes.CriticalHit.ChanceMax should be at least 1!");
         }
 
@@ -242,7 +242,7 @@ public class AdvancedConfig extends AutoUpdateConfigLoader {
             reason.add("Skills.Herbalism.GreenThumb.StageChange should be at least 1!");
         }
 
-        if (getMaxChance(SubSkillType.HERBALISM_GREEN_THUMB) < 1) {
+        if (getMaximumProbability(SubSkillType.HERBALISM_GREEN_THUMB) < 1) {
             reason.add("Skills.Herbalism.GreenThumb.ChanceMax should be at least 1!");
         }
 
@@ -250,7 +250,7 @@ public class AdvancedConfig extends AutoUpdateConfigLoader {
             reason.add("Skills.Herbalism.GreenThumb.MaxBonusLevel should be at least 1!");
         }
 
-        if (getMaxChance(SubSkillType.HERBALISM_DOUBLE_DROPS) < 1) {
+        if (getMaximumProbability(SubSkillType.HERBALISM_DOUBLE_DROPS) < 1) {
             reason.add("Skills.Herbalism.DoubleDrops.ChanceMax should be at least 1!");
         }
 
@@ -258,7 +258,7 @@ public class AdvancedConfig extends AutoUpdateConfigLoader {
             reason.add("Skills.Herbalism.DoubleDrops.MaxBonusLevel should be at least 1!");
         }
 
-        if (getMaxChance(SubSkillType.HERBALISM_HYLIAN_LUCK) < 1) {
+        if (getMaximumProbability(SubSkillType.HERBALISM_HYLIAN_LUCK) < 1) {
             reason.add("Skills.Herbalism.HylianLuck.ChanceMax should be at least 1!");
         }
 
@@ -266,7 +266,7 @@ public class AdvancedConfig extends AutoUpdateConfigLoader {
             reason.add("Skills.Herbalism.HylianLuck.MaxBonusLevel should be at least 1!");
         }
 
-        if (getMaxChance(SubSkillType.HERBALISM_SHROOM_THUMB) < 1) {
+        if (getMaximumProbability(SubSkillType.HERBALISM_SHROOM_THUMB) < 1) {
             reason.add("Skills.Herbalism.ShroomThumb.ChanceMax should be at least 1!");
         }
 
@@ -275,7 +275,7 @@ public class AdvancedConfig extends AutoUpdateConfigLoader {
         }
 
         /* MINING */
-        if (getMaxChance(SubSkillType.MINING_DOUBLE_DROPS) < 1) {
+        if (getMaximumProbability(SubSkillType.MINING_DOUBLE_DROPS) < 1) {
             reason.add("Skills.Mining.DoubleDrops.ChanceMax should be at least 1!");
         }
 
@@ -348,7 +348,7 @@ public class AdvancedConfig extends AutoUpdateConfigLoader {
             reason.add("Skills.Repair.RepairMastery.MaxBonusLevel should be at least 1!");
         }
 
-        if (getMaxChance(SubSkillType.REPAIR_SUPER_REPAIR) < 1) {
+        if (getMaximumProbability(SubSkillType.REPAIR_SUPER_REPAIR) < 1) {
             reason.add("Skills.Repair.SuperRepair.ChanceMax should be at least 1!");
         }
 
@@ -446,7 +446,7 @@ public class AdvancedConfig extends AutoUpdateConfigLoader {
             reason.add("Skills.Smelting.SecondSmelt.MaxBonusLevel should be at least 1!");
         }
 
-        if (getMaxChance(SubSkillType.SMELTING_SECOND_SMELT) < 1) {
+        if (getMaximumProbability(SubSkillType.SMELTING_SECOND_SMELT) < 1) {
             reason.add("Skills.Smelting.SecondSmelt.ChanceMax should be at least 1!");
         }
 
@@ -483,7 +483,7 @@ public class AdvancedConfig extends AutoUpdateConfigLoader {
         }*/
 
         /* SWORDS */
-        if (getMaxChance(SubSkillType.SWORDS_RUPTURE) < 1) {
+        if (getMaximumProbability(SubSkillType.SWORDS_RUPTURE) < 1) {
             reason.add("Skills.Swords.Rupture.ChanceMax should be at least 1!");
         }
 
@@ -503,7 +503,7 @@ public class AdvancedConfig extends AutoUpdateConfigLoader {
             reason.add("Skills.Swords.Rupture.BaseTicks should be at least 1!");
         }
 
-        if (getMaxChance(SubSkillType.SWORDS_COUNTER_ATTACK) < 1) {
+        if (getMaximumProbability(SubSkillType.SWORDS_COUNTER_ATTACK) < 1) {
             reason.add("Skills.Swords.CounterAttack.ChanceMax should be at least 1!");
         }
 
@@ -525,7 +525,7 @@ public class AdvancedConfig extends AutoUpdateConfigLoader {
 
         /* TAMING */
 
-        if (getMaxChance(SubSkillType.TAMING_GORE) < 1) {
+        if (getMaximumProbability(SubSkillType.TAMING_GORE) < 1) {
             reason.add("Skills.Taming.Gore.ChanceMax should be at least 1!");
         }
 
@@ -586,7 +586,7 @@ public class AdvancedConfig extends AutoUpdateConfigLoader {
         }
 
         /* UNARMED */
-        if (getMaxChance(SubSkillType.UNARMED_DISARM) < 1) {
+        if (getMaximumProbability(SubSkillType.UNARMED_DISARM) < 1) {
             reason.add("Skills.Unarmed.Disarm.ChanceMax should be at least 1!");
         }
 
@@ -594,7 +594,7 @@ public class AdvancedConfig extends AutoUpdateConfigLoader {
             reason.add("Skills.Unarmed.Disarm.MaxBonusLevel should be at least 1!");
         }
 
-        if (getMaxChance(SubSkillType.UNARMED_ARROW_DEFLECT) < 1) {
+        if (getMaximumProbability(SubSkillType.UNARMED_ARROW_DEFLECT) < 1) {
             reason.add("Skills.Unarmed.ArrowDeflect.ChanceMax should be at least 1!");
         }
 
@@ -602,7 +602,7 @@ public class AdvancedConfig extends AutoUpdateConfigLoader {
             reason.add("Skills.Unarmed.ArrowDeflect.MaxBonusLevel should be at least 1!");
         }
 
-        if (getMaxChance(SubSkillType.UNARMED_IRON_GRIP) < 1) {
+        if (getMaximumProbability(SubSkillType.UNARMED_IRON_GRIP) < 1) {
             reason.add("Skills.Unarmed.IronGrip.ChanceMax should be at least 1!");
         }
 
@@ -632,7 +632,7 @@ public class AdvancedConfig extends AutoUpdateConfigLoader {
             reason.add("Skills.Woodcutting.LeafBlower.UnlockLevel should be at least 0!");
         }*/
 
-        if (getMaxChance(SubSkillType.WOODCUTTING_HARVEST_LUMBER) < 1) {
+        if (getMaximumProbability(SubSkillType.WOODCUTTING_HARVEST_LUMBER) < 1) {
             reason.add("Skills.Woodcutting.HarvestLumber.ChanceMax should be at least 1!");
         }
 
@@ -708,8 +708,6 @@ public class AdvancedConfig extends AutoUpdateConfigLoader {
         return maxBonusLevel;
     }
 
-    public double getMaxChance(SubSkillType subSkillType) { return config.getDouble(subSkillType.getAdvConfigAddress() + ".ChanceMax", 100.0D);}
-
     public int getMaxBonusLevel(AbstractSubSkill abstractSubSkill) {
         int maxBonusLevel = config.getInt("Skills."+abstractSubSkill.getPrimaryKeyName()+"."+abstractSubSkill.getConfigKeyName()+".MaxBonusLevel");
 
@@ -719,9 +717,23 @@ public class AdvancedConfig extends AutoUpdateConfigLoader {
         return maxBonusLevel;
     }
 
-    public double getMaxChance(AbstractSubSkill abstractSubSkill)
+    public double getMaximumProbability(SubSkillType subSkillType) {
+        double maximumProbability = config.getDouble(subSkillType.getAdvConfigAddress() + ".ChanceMax", 100.0D);
+
+        if(mcMMO.isRetroModeEnabled())
+            maximumProbability *= 10; // It seems weird but our formulas need this
+
+        return maximumProbability;
+    }
+
+    public double getMaximumProbability(AbstractSubSkill abstractSubSkill)
     {
-        return config.getDouble("Skills."+abstractSubSkill.getPrimaryKeyName()+"."+abstractSubSkill.getConfigKeyName()+".ChanceMax", 100.0D);
+        double maximumProbability = config.getDouble("Skills."+abstractSubSkill.getPrimaryKeyName()+"."+abstractSubSkill.getConfigKeyName()+".ChanceMax", 100.0D);
+
+        if(mcMMO.isRetroModeEnabled())
+            maximumProbability *= 10; // It seems weird but our formulas need this
+
+        return maximumProbability;
     }
 
     /* Notification Settings */
@@ -887,7 +899,15 @@ public class AdvancedConfig extends AutoUpdateConfigLoader {
     public double getGreaterImpactModifier() { return config.getDouble("Skills.Axes.GreaterImpact.KnockbackModifier", 1.5D); }
     public double getGreaterImpactBonusDamage() { return config.getDouble("Skills.Axes.GreaterImpact.BonusDamage", 2.0D); }
 
-    public int getArmorImpactIncreaseLevel() { return config.getInt("Skills.Axes.ArmorImpact.IncreaseLevel", 50); }
+    public int getArmorImpactIncreaseLevel() {
+        int increaseLevel = config.getInt("Skills.Axes.ArmorImpact.IncreaseLevel", 5);
+
+        if(mcMMO.isRetroModeEnabled())
+            return increaseLevel * 10;
+
+        return increaseLevel;
+    }
+
     public double getImpactChance() { return config.getDouble("Skills.Axes.ArmorImpact.Chance", 25.0D); }
     public double getArmorImpactMaxDurabilityDamage() { return config.getDouble("Skills.Axes.ArmorImpact.MaxPercentageDurabilityDamage", 20.0D); }
 
@@ -997,7 +1017,16 @@ public class AdvancedConfig extends AutoUpdateConfigLoader {
     /* UNARMED */
     public double getIronArmMinBonus() { return config.getDouble("Skills.Unarmed.IronArmStyle.BonusMin", 3.0D); }
     public double getIronArmMaxBonus() { return config.getDouble("Skills.Unarmed.IronArmStyle.BonusMax", 8.0D); }
-    public int getIronArmIncreaseLevel() { return config.getInt("Skills.Unarmed.IronArmStyle.IncreaseLevel", 50); }
+
+    public int getIronArmIncreaseLevel() {
+        int increaseLevel = config.getInt("Skills.Unarmed.IronArmStyle.IncreaseLevel", 5);
+
+        if(mcMMO.isRetroModeEnabled())
+            return increaseLevel * 10;
+
+        return increaseLevel;
+    }
+
     public boolean getDisarmProtected() { return config.getBoolean("Skills.Unarmed.Disarm.AntiTheft", false); }
 
     /* WOODCUTTING */