Forráskód Böngészése

Fixing the RNG display calculations for RetroMode
I temporarily disabled the output for graceful roll in the stats, will be turning that on again in the morning.

nossr50 6 éve
szülő
commit
a421bd7e4c

+ 6 - 4
src/main/java/com/gmail/nossr50/commands/skills/AcrobaticsCommand.java

@@ -71,15 +71,17 @@ public class AcrobaticsCommand extends SkillCommand {
                 graceChance      = RandomChanceUtil.getRandomChanceExecutionChance(grace_rcs);
                 //damageThreshold  = AdvancedConfig.getInstance().getRollDamageThreshold();
 
+                String rollStrings[] = getAbilityDisplayValues(SkillActivationType.RANDOM_LINEAR_100_SCALE_WITH_CAP, player, SubSkillType.MINING_DOUBLE_DROPS);
+
                 //Format
                 double rollChanceLucky  = rollChance * 1.333D;
                 double graceChanceLucky = graceChance * 1.333D;
 
-                messages.add(getStatMessage(SubSkillType.ACROBATICS_ROLL, String.valueOf(rollChance))
-                        + (isLucky ? LocaleLoader.getString("Perks.Lucky.Bonus", String.valueOf(rollChanceLucky)) : ""));
+                messages.add(getStatMessage(SubSkillType.ACROBATICS_ROLL, rollStrings[0])
+                        + (isLucky ? LocaleLoader.getString("Perks.Lucky.Bonus", rollStrings[1]) : ""));
 
-                messages.add(getStatMessage(true, false, SubSkillType.ACROBATICS_ROLL, String.valueOf(graceChance))
-                        + (isLucky ? LocaleLoader.getString("Perks.Lucky.Bonus", String.valueOf(graceChanceLucky)) : ""));
+                /*messages.add(getStatMessage(true, false, SubSkillType.ACROBATICS_ROLL, String.valueOf(graceChance))
+                        + (isLucky ? LocaleLoader.getString("Perks.Lucky.Bonus", String.valueOf(graceChanceLucky)) : ""));*/
             }
         }
 

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

@@ -720,8 +720,8 @@ public class AdvancedConfig extends AutoUpdateConfigLoader {
     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
+        /*if(mcMMO.isRetroModeEnabled())
+            maximumProbability *= 10; // It seems weird but our formulas need this*/
 
         return maximumProbability;
     }

+ 3 - 3
src/main/java/com/gmail/nossr50/util/random/RandomChanceUtil.java

@@ -154,10 +154,10 @@ public class RandomChanceUtil
      *
      * @return the chance of success from 0-100 (100 = guaranteed)
      */
-    private static int getChanceOfSuccess(double x, double y, double z)
+    private static int getChanceOfSuccess(double skillLevel, double maxProbability, double maxLevel)
     {
         //return (int) (x / (y / LINEAR_CURVE_VAR));
-        return (int) (y * (x/z));
+        return (int) (maxProbability * (skillLevel/maxLevel));
         // max probability * (weight/maxlevel) = chance of success
     }
 
@@ -170,7 +170,7 @@ public class RandomChanceUtil
     public static double getRandomChanceExecutionSuccess(Player player, SubSkillType subSkillType, boolean hasCap)
     {
         RandomChanceSkill rcs = new RandomChanceSkill(player, subSkillType, hasCap);
-        return getRandomChanceExecutionChance(rcs);
+        return calculateChanceOfSuccess(rcs);
     }
 
     public static double getRandomStaticChanceExecutionSuccess(Player player, SubSkillType subSkillType)