Browse Source

Merge pull request #3722 from Oaksworth/master

Update effects and stats to alphabetical order
Robert A. C 6 years ago
parent
commit
cfeadb54be

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

@@ -46,6 +46,11 @@ public class AcrobaticsCommand extends SkillCommand {
     protected List<String> statsDisplay(Player player, float skillValue, boolean hasEndurance, boolean isLucky) {
         List<String> messages = new ArrayList<String>();
 
+        if (canDodge) {
+            messages.add(getStatMessage(SubSkillType.ACROBATICS_DODGE, dodgeChance)
+                    + (isLucky ? LocaleLoader.getString("Perks.Lucky.Bonus", dodgeChanceLucky) : ""));
+        }
+        
         if (canRoll) {
 
             AbstractSubSkill abstractSubSkill = InteractionManager.getAbstractByName("Roll");
@@ -68,11 +73,6 @@ public class AcrobaticsCommand extends SkillCommand {
             }
         }
 
-        if (canDodge) {
-            messages.add(getStatMessage(SubSkillType.ACROBATICS_DODGE, dodgeChance)
-                    + (isLucky ? LocaleLoader.getString("Perks.Lucky.Bonus", dodgeChanceLucky) : ""));
-        }
-
         return messages;
     }
 

+ 18 - 18
src/main/java/com/gmail/nossr50/commands/skills/ArcheryCommand.java

@@ -28,24 +28,24 @@ public class ArcheryCommand extends SkillCommand {
 
     @Override
     protected void dataCalculations(Player player, float skillValue, boolean isLucky) {
-        // SKILL SHOT
-        if (canSkillShot) {
-            double bonus = (skillValue / Archery.skillShotIncreaseLevel) * Archery.skillShotIncreasePercentage;
-            skillShotBonus = percent.format(Archery.getSkillShotBonusDamage(player, 0));
+        // ARCHERY_ARROW_RETRIEVAL
+        if (canRetrieve) {
+            String[] retrieveStrings = calculateAbilityDisplayValues(skillValue, SubSkillType.ARCHERY_ARROW_RETRIEVAL, isLucky);
+            retrieveChance = retrieveStrings[0];
+            retrieveChanceLucky = retrieveStrings[1];
         }
-
+        
         // ARCHERY_DAZE
         if (canDaze) {
             String[] dazeStrings = calculateAbilityDisplayValues(skillValue, SubSkillType.ARCHERY_DAZE, isLucky);
             dazeChance = dazeStrings[0];
             dazeChanceLucky = dazeStrings[1];
         }
-
-        // ARCHERY_ARROW_RETRIEVAL
-        if (canRetrieve) {
-            String[] retrieveStrings = calculateAbilityDisplayValues(skillValue, SubSkillType.ARCHERY_ARROW_RETRIEVAL, isLucky);
-            retrieveChance = retrieveStrings[0];
-            retrieveChanceLucky = retrieveStrings[1];
+        
+        // SKILL SHOT
+        if (canSkillShot) {
+            double bonus = (skillValue / Archery.skillShotIncreaseLevel) * Archery.skillShotIncreasePercentage;
+            skillShotBonus = percent.format(Archery.getSkillShotBonusDamage(player, 0));
         }
     }
 
@@ -60,18 +60,18 @@ public class ArcheryCommand extends SkillCommand {
     protected List<String> statsDisplay(Player player, float skillValue, boolean hasEndurance, boolean isLucky) {
         List<String> messages = new ArrayList<String>();
 
-        if (canSkillShot) {
-            messages.add(getStatMessage(SubSkillType.ARCHERY_SKILL_SHOT, skillShotBonus));
+        if (canRetrieve) {
+            messages.add(getStatMessage(SubSkillType.ARCHERY_ARROW_RETRIEVAL, retrieveChance)
+                    + (isLucky ? LocaleLoader.getString("Perks.Lucky.Bonus", retrieveChanceLucky) : ""));
         }
-
+        
         if (canDaze) {
             messages.add(getStatMessage(SubSkillType.ARCHERY_DAZE, dazeChance)
                     + (isLucky ? LocaleLoader.getString("Perks.Lucky.Bonus", dazeChanceLucky) : ""));
         }
-
-        if (canRetrieve) {
-            messages.add(getStatMessage(SubSkillType.ARCHERY_ARROW_RETRIEVAL, retrieveChance)
-                    + (isLucky ? LocaleLoader.getString("Perks.Lucky.Bonus", retrieveChanceLucky) : ""));
+        
+        if (canSkillShot) {
+            messages.add(getStatMessage(SubSkillType.ARCHERY_SKILL_SHOT, skillShotBonus));
         }
 
         return messages;

+ 17 - 17
src/main/java/com/gmail/nossr50/commands/skills/AxesCommand.java

@@ -38,23 +38,23 @@ public class AxesCommand extends SkillCommand {
             impactDamage = 1 + (skillValue / Axes.impactIncreaseLevel);
         }
 
-        // SKULL SPLITTER
-        if (canSkullSplitter) {
-            String[] skullSplitterStrings = calculateLengthDisplayValues(player, skillValue);
-            skullSplitterLength = skullSplitterStrings[0];
-            skullSplitterLengthEndurance = skullSplitterStrings[1];
+        // AXE MASTERY
+        if (canAxeMastery) {
+            axeMasteryDamage = Axes.getAxeMasteryBonusDamage(player);
         }
-
+        
         // CRITICAL HIT
         if (canCritical) {
             String[] criticalHitStrings = calculateAbilityDisplayValues(skillValue, SubSkillType.AXES_CRITICAL_STRIKES, isLucky);
             critChance = criticalHitStrings[0];
             critChanceLucky = criticalHitStrings[1];
         }
-
-        // AXE MASTERY
-        if (canAxeMastery) {
-            axeMasteryDamage = Axes.getAxeMasteryBonusDamage(player);
+        
+        // SKULL SPLITTER
+        if (canSkullSplitter) {
+            String[] skullSplitterStrings = calculateLengthDisplayValues(player, skillValue);
+            skullSplitterLength = skullSplitterStrings[0];
+            skullSplitterLengthEndurance = skullSplitterStrings[1];
         }
     }
 
@@ -71,22 +71,22 @@ public class AxesCommand extends SkillCommand {
     protected List<String> statsDisplay(Player player, float skillValue, boolean hasEndurance, boolean isLucky) {
         List<String> messages = new ArrayList<String>();
 
-        if (canAxeMastery) {
-            messages.add(LocaleLoader.getString("Ability.Generic.Template", LocaleLoader.getString("Axes.Ability.Bonus.0"), LocaleLoader.getString("Axes.Ability.Bonus.1", axeMasteryDamage)));
-        }
-
         if (canImpact) {
             messages.add(LocaleLoader.getString("Ability.Generic.Template", LocaleLoader.getString("Axes.Ability.Bonus.2"), LocaleLoader.getString("Axes.Ability.Bonus.3", impactDamage)));
         }
-
-        if (canGreaterImpact) {
-            messages.add(LocaleLoader.getString("Ability.Generic.Template", LocaleLoader.getString("Axes.Ability.Bonus.4"), LocaleLoader.getString("Axes.Ability.Bonus.5", Axes.greaterImpactBonusDamage)));
+        
+        if (canAxeMastery) {
+            messages.add(LocaleLoader.getString("Ability.Generic.Template", LocaleLoader.getString("Axes.Ability.Bonus.0"), LocaleLoader.getString("Axes.Ability.Bonus.1", axeMasteryDamage)));
         }
 
         if (canCritical) {
             messages.add(getStatMessage(SubSkillType.AXES_CRITICAL_STRIKES, critChance)
                     + (isLucky ? LocaleLoader.getString("Perks.Lucky.Bonus", critChanceLucky) : ""));
         }
+        
+        if (canGreaterImpact) {
+            messages.add(LocaleLoader.getString("Ability.Generic.Template", LocaleLoader.getString("Axes.Ability.Bonus.4"), LocaleLoader.getString("Axes.Ability.Bonus.5", Axes.greaterImpactBonusDamage)));
+        }
 
         if (canSkullSplitter) {
             messages.add(getStatMessage(SubSkillType.AXES_SKULL_SPLITTER, skullSplitterLength)

+ 20 - 20
src/main/java/com/gmail/nossr50/commands/skills/FishingCommand.java

@@ -122,39 +122,39 @@ public class FishingCommand extends SkillCommand {
     @Override
     protected List<String> statsDisplay(Player player, float skillValue, boolean hasEndurance, boolean isLucky) {
         List<String> messages = new ArrayList<String>();
-
-        if (canTreasureHunt) {
-            messages.add(getStatMessage(false, true, SubSkillType.FISHING_TREASURE_HUNTER, String.valueOf(lootTier), String.valueOf(RankUtils.getHighestRank(SubSkillType.FISHING_TREASURE_HUNTER))));
-            messages.add(getStatMessage(true, true, SubSkillType.FISHING_TREASURE_HUNTER,
-                    String.valueOf(trapTreasure),
-                    String.valueOf(commonTreasure),
-                    String.valueOf(uncommonTreasure),
-                    String.valueOf(rareTreasure),
-                    String.valueOf(epicTreasure),
-                    String.valueOf(legendaryTreasure),
-                    String.valueOf(recordTreasure)));
-        }
-
-        if (canMagicHunt) {
-            messages.add(getStatMessage(SubSkillType.FISHING_MAGIC_HUNTER, magicChance));
+        
+        if (canFishermansDiet) {
+            messages.add(getStatMessage(false, true, SubSkillType.FISHING_FISHERMANS_DIET, String.valueOf(fishermansDietRank)));
         }
-
+        
         if (canIceFish) {
             messages.add(getStatMessage(SubSkillType.FISHING_ICE_FISHING, SubSkillType.FISHING_ICE_FISHING.getLocaleStatDescription()));
         }
+        
+        if (canMagicHunt) {
+            messages.add(getStatMessage(SubSkillType.FISHING_MAGIC_HUNTER, magicChance));
+        }
 
         if (canMasterAngler) {
             //TODO: Update this with more details
             messages.add(getStatMessage(SubSkillType.FISHING_MASTER_ANGLER, biteChance));
         }
-
+        
         if (canShake) {
             messages.add(getStatMessage(SubSkillType.FISHING_SHAKE, shakeChance)
             + (isLucky ? LocaleLoader.getString("Perks.Lucky.Bonus", shakeChanceLucky) : ""));
         }
-
-        if (canFishermansDiet) {
-            messages.add(getStatMessage(false, true, SubSkillType.FISHING_FISHERMANS_DIET, String.valueOf(fishermansDietRank)));
+        
+        if (canTreasureHunt) {
+            messages.add(getStatMessage(false, true, SubSkillType.FISHING_TREASURE_HUNTER, String.valueOf(lootTier), String.valueOf(RankUtils.getHighestRank(SubSkillType.FISHING_TREASURE_HUNTER))));
+            messages.add(getStatMessage(true, true, SubSkillType.FISHING_TREASURE_HUNTER,
+                    String.valueOf(trapTreasure),
+                    String.valueOf(commonTreasure),
+                    String.valueOf(uncommonTreasure),
+                    String.valueOf(rareTreasure),
+                    String.valueOf(epicTreasure),
+                    String.valueOf(legendaryTreasure),
+                    String.valueOf(recordTreasure)));
         }
 
         return messages;

+ 22 - 21
src/main/java/com/gmail/nossr50/commands/skills/HerbalismCommand.java

@@ -41,6 +41,19 @@ public class HerbalismCommand extends SkillCommand {
 
     @Override
     protected void dataCalculations(Player player, float skillValue, boolean isLucky) {
+        
+        // DOUBLE DROPS
+        if (canDoubleDrop) {
+            String[] doubleDropStrings = calculateAbilityDisplayValues(skillValue, SubSkillType.HERBALISM_DOUBLE_DROPS, isLucky);
+            doubleDropChance = doubleDropStrings[0];
+            doubleDropChanceLucky = doubleDropStrings[1];
+        }
+        
+        // FARMERS DIET
+        if (canFarmersDiet) {
+            farmersDietRank = RankUtils.getRank(player, SubSkillType.HERBALISM_FARMERS_DIET);
+        }
+        
         // GREEN TERRA
         if (canGreenTerra) {
             String[] greenTerraStrings = calculateLengthDisplayValues(player, skillValue);
@@ -48,11 +61,6 @@ public class HerbalismCommand extends SkillCommand {
             greenTerraLengthEndurance = greenTerraStrings[1];
         }
 
-        // FARMERS DIET
-        if (canFarmersDiet) {
-            farmersDietRank = RankUtils.getRank(player, SubSkillType.HERBALISM_FARMERS_DIET);
-        }
-
         // GREEN THUMB
         if (canGreenThumbBlocks || canGreenThumbPlants) {
             greenThumbStage = RankUtils.getRank(player, SubSkillType.HERBALISM_GREEN_THUMB);
@@ -62,13 +70,6 @@ public class HerbalismCommand extends SkillCommand {
             greenThumbChanceLucky = greenThumbStrings[1];
         }
 
-        // DOUBLE DROPS
-        if (canDoubleDrop) {
-            String[] doubleDropStrings = calculateAbilityDisplayValues(skillValue, SubSkillType.HERBALISM_DOUBLE_DROPS, isLucky);
-            doubleDropChance = doubleDropStrings[0];
-            doubleDropChanceLucky = doubleDropStrings[1];
-        }
-
         // HYLIAN LUCK
         if (hasHylianLuck) {
             String[] hylianLuckStrings = calculateAbilityDisplayValues(skillValue, SubSkillType.HERBALISM_HYLIAN_LUCK, isLucky);
@@ -99,6 +100,15 @@ public class HerbalismCommand extends SkillCommand {
     protected List<String> statsDisplay(Player player, float skillValue, boolean hasEndurance, boolean isLucky) {
         List<String> messages = new ArrayList<String>();
 
+        if (canDoubleDrop) {
+            messages.add(getStatMessage(SubSkillType.HERBALISM_DOUBLE_DROPS, doubleDropChance)
+                    + (isLucky ? LocaleLoader.getString("Perks.Lucky.Bonus", doubleDropChanceLucky) : ""));
+        }
+        
+        if (canFarmersDiet) {
+            messages.add(getStatMessage(false, true, SubSkillType.HERBALISM_FARMERS_DIET, String.valueOf(farmersDietRank)));
+        }
+        
         if (canGreenTerra) {
             messages.add(getStatMessage(SubSkillType.HERBALISM_GREEN_TERRA, greenTerraLength)
                     + (hasEndurance ? LocaleLoader.getString("Perks.ActivationTime.Bonus", greenTerraLengthEndurance) : ""));
@@ -116,10 +126,6 @@ public class HerbalismCommand extends SkillCommand {
             messages.add(getStatMessage(true, true,SubSkillType.HERBALISM_GREEN_THUMB, String.valueOf(greenThumbStage)));
         }
 
-        if (canFarmersDiet) {
-            messages.add(getStatMessage(false, true, SubSkillType.HERBALISM_FARMERS_DIET, String.valueOf(farmersDietRank)));
-        }
-
         if (hasHylianLuck) {
             messages.add(getStatMessage(SubSkillType.HERBALISM_HYLIAN_LUCK, hylianLuckChance)
                     + (isLucky ? LocaleLoader.getString("Perks.Lucky.Bonus", hylianLuckChanceLucky) : ""));
@@ -130,11 +136,6 @@ public class HerbalismCommand extends SkillCommand {
                     + (isLucky ? LocaleLoader.getString("Perks.Lucky.Bonus", shroomThumbChanceLucky) : ""));
         }
 
-        if (canDoubleDrop) {
-            messages.add(getStatMessage(SubSkillType.HERBALISM_DOUBLE_DROPS, doubleDropChance)
-                    + (isLucky ? LocaleLoader.getString("Perks.Lucky.Bonus", doubleDropChanceLucky) : ""));
-        }
-
         return messages;
     }
 

+ 29 - 29
src/main/java/com/gmail/nossr50/commands/skills/MiningCommand.java

@@ -39,20 +39,6 @@ public class MiningCommand extends SkillCommand {
 
     @Override
     protected void dataCalculations(Player player, float skillValue, boolean isLucky) {
-        // SUPER BREAKER
-        if (canSuperBreaker) {
-            String[] superBreakerStrings = calculateLengthDisplayValues(player, skillValue);
-            superBreakerLength = superBreakerStrings[0];
-            superBreakerLengthEndurance = superBreakerStrings[1];
-        }
-
-        // DOUBLE DROPS
-        if (canDoubleDrop) {
-            String[] doubleDropStrings = calculateAbilityDisplayValues(skillValue, SubSkillType.MINING_DOUBLE_DROPS, isLucky);
-            doubleDropChance = doubleDropStrings[0];
-            doubleDropChanceLucky = doubleDropStrings[1];
-        }
-
         // BLAST MINING
         if (canBlast || canDemoExpert || canBiggerBombs) {
             MiningManager miningManager = UserManager.getPlayer(player).getMiningManager();
@@ -64,6 +50,20 @@ public class MiningCommand extends SkillCommand {
             blastDamageDecrease = percent.format(miningManager.getBlastDamageModifier() / 100.0D);
             blastRadiusIncrease = miningManager.getBlastRadiusModifier();
         }
+        
+        // DOUBLE DROPS
+        if (canDoubleDrop) {
+            String[] doubleDropStrings = calculateAbilityDisplayValues(skillValue, SubSkillType.MINING_DOUBLE_DROPS, isLucky);
+            doubleDropChance = doubleDropStrings[0];
+            doubleDropChanceLucky = doubleDropStrings[1];
+        }
+        
+        // SUPER BREAKER
+        if (canSuperBreaker) {
+            String[] superBreakerStrings = calculateLengthDisplayValues(player, skillValue);
+            superBreakerLength = superBreakerStrings[0];
+            superBreakerLengthEndurance = superBreakerStrings[1];
+        }
     }
 
     @Override
@@ -79,6 +79,21 @@ public class MiningCommand extends SkillCommand {
     protected List<String> statsDisplay(Player player, float skillValue, boolean hasEndurance, boolean isLucky) {
         List<String> messages = new ArrayList<String>();
 
+        if (canBiggerBombs) {
+            messages.add(getStatMessage(true, true, SubSkillType.MINING_BLAST_MINING, String.valueOf(blastRadiusIncrease)));
+            //messages.add(LocaleLoader.getString("Mining.Blast.Radius.Increase", blastRadiusIncrease));
+        }
+        
+        if (canBlast) {
+            messages.add(getStatMessage(false, true, SubSkillType.MINING_BLAST_MINING, String.valueOf(blastMiningRank), String.valueOf(RankUtils.getHighestRank(SubSkillType.MINING_BLAST_MINING)), LocaleLoader.getString("Mining.Blast.Effect", oreBonus, debrisReduction, bonusTNTDrops)));
+            //messages.add(LocaleLoader.getString("Mining.Blast.Rank", blastMiningRank, RankUtils.getHighestRank(SubSkillType.MINING_BLAST_MINING), LocaleLoader.getString("Mining.Blast.Effect", oreBonus, debrisReduction, bonusTNTDrops)));
+        }
+        
+         if (canDemoExpert) {
+            messages.add(getStatMessage(SubSkillType.MINING_DEMOLITIONS_EXPERTISE, blastDamageDecrease));
+            //messages.add(LocaleLoader.getString("Mining.Effect.Decrease", blastDamageDecrease));
+        }
+        
         if (canDoubleDrop) {
             messages.add(getStatMessage(SubSkillType.HERBALISM_DOUBLE_DROPS, doubleDropChance)
                     + (isLucky ? LocaleLoader.getString("Perks.Lucky.Bonus", doubleDropChanceLucky) : ""));
@@ -91,21 +106,6 @@ public class MiningCommand extends SkillCommand {
             //messages.add(LocaleLoader.getString("Mining.Ability.Length", superBreakerLength) + (hasEndurance ? LocaleLoader.getString("Perks.ActivationTime.Bonus", superBreakerLengthEndurance) : ""));
         }
 
-        if (canBlast) {
-            messages.add(getStatMessage(false, true, SubSkillType.MINING_BLAST_MINING, String.valueOf(blastMiningRank), String.valueOf(RankUtils.getHighestRank(SubSkillType.MINING_BLAST_MINING)), LocaleLoader.getString("Mining.Blast.Effect", oreBonus, debrisReduction, bonusTNTDrops)));
-            //messages.add(LocaleLoader.getString("Mining.Blast.Rank", blastMiningRank, RankUtils.getHighestRank(SubSkillType.MINING_BLAST_MINING), LocaleLoader.getString("Mining.Blast.Effect", oreBonus, debrisReduction, bonusTNTDrops)));
-        }
-
-        if (canBiggerBombs) {
-            messages.add(getStatMessage(true, true, SubSkillType.MINING_BLAST_MINING, String.valueOf(blastRadiusIncrease)));
-            //messages.add(LocaleLoader.getString("Mining.Blast.Radius.Increase", blastRadiusIncrease));
-        }
-
-        if (canDemoExpert) {
-            messages.add(getStatMessage(SubSkillType.MINING_DEMOLITIONS_EXPERTISE, blastDamageDecrease));
-            //messages.add(LocaleLoader.getString("Mining.Effect.Decrease", blastDamageDecrease));
-        }
-
         return messages;
     }
 

+ 9 - 9
src/main/java/com/gmail/nossr50/commands/skills/RepairCommand.java

@@ -92,15 +92,6 @@ public class RepairCommand extends SkillCommand {
     protected List<String> statsDisplay(Player player, float skillValue, boolean hasEndurance, boolean isLucky) {
         List<String> messages = new ArrayList<String>();
 
-        if (canMasterRepair) {
-            messages.add(getStatMessage(false, true, SubSkillType.REPAIR_REPAIR_MASTERY, repairMasteryBonus));
-        }
-
-        if (canSuperRepair) {
-            messages.add(getStatMessage(SubSkillType.REPAIR_SUPER_REPAIR, superRepairChance)
-                    + (isLucky ? LocaleLoader.getString("Perks.Lucky.Bonus", superRepairChanceLucky) : ""));
-        }
-
         if (canArcaneForge) {
             RepairManager repairManager = UserManager.getPlayer(player).getRepairManager();
 
@@ -112,6 +103,15 @@ public class RepairCommand extends SkillCommand {
                         String.valueOf(arcaneBypass ? 0 : repairManager.getDowngradeEnchantChance()))); //Jesus those parentheses
             }
         }
+        
+        if (canMasterRepair) {
+            messages.add(getStatMessage(false, true, SubSkillType.REPAIR_REPAIR_MASTERY, repairMasteryBonus));
+        }
+
+        if (canSuperRepair) {
+            messages.add(getStatMessage(SubSkillType.REPAIR_SUPER_REPAIR, superRepairChance)
+                    + (isLucky ? LocaleLoader.getString("Perks.Lucky.Bonus", superRepairChanceLucky) : ""));
+        }
 
         return messages;
     }

+ 11 - 11
src/main/java/com/gmail/nossr50/commands/skills/SmeltingCommand.java

@@ -37,19 +37,19 @@ public class SmeltingCommand extends SkillCommand {
             burnTimeModifier = decimal.format(1 + ((skillValue / Smelting.burnModifierMaxLevel) * Smelting.burnTimeMultiplier));
         }
 
-        // SECOND SMELT
-        if (canSecondSmelt) {
-            String[] secondSmeltStrings = calculateAbilityDisplayValues(skillValue, SubSkillType.SMELTING_SECOND_SMELT, isLucky);
-            secondSmeltChance = secondSmeltStrings[0];
-            secondSmeltChanceLucky = secondSmeltStrings[1];
-        }
-
         // FLUX MINING
         if (canFluxMine) {
             String[] fluxMiningStrings = calculateAbilityDisplayValues(Smelting.fluxMiningChance, isLucky);
             fluxMiningChance = fluxMiningStrings[0];
             fluxMiningChanceLucky = fluxMiningStrings[1];
         }
+        
+        // SECOND SMELT
+        if (canSecondSmelt) {
+            String[] secondSmeltStrings = calculateAbilityDisplayValues(skillValue, SubSkillType.SMELTING_SECOND_SMELT, isLucky);
+            secondSmeltChance = secondSmeltStrings[0];
+            secondSmeltChanceLucky = secondSmeltStrings[1];
+        }
     }
 
     @Override
@@ -64,6 +64,10 @@ public class SmeltingCommand extends SkillCommand {
     protected List<String> statsDisplay(Player player, float skillValue, boolean hasEndurance, boolean isLucky) {
         List<String> messages = new ArrayList<String>();
 
+        if (canFluxMine) {
+            messages.add(LocaleLoader.getString("Smelting.Ability.FluxMining", fluxMiningChance) + (isLucky ? LocaleLoader.getString("Perks.Lucky.Bonus", fluxMiningChanceLucky) : ""));
+        }
+        
         if (canFuelEfficiency) {
             messages.add(LocaleLoader.getString("Smelting.Ability.FuelEfficiency", burnTimeModifier));
         }
@@ -76,10 +80,6 @@ public class SmeltingCommand extends SkillCommand {
             messages.add(LocaleLoader.getString("Smelting.Ability.VanillaXPBoost", UserManager.getPlayer(player).getSmeltingManager().getVanillaXpMultiplier()));
         }
 
-        if (canFluxMine) {
-            messages.add(LocaleLoader.getString("Smelting.Ability.FluxMining", fluxMiningChance) + (isLucky ? LocaleLoader.getString("Perks.Lucky.Bonus", fluxMiningChanceLucky) : ""));
-        }
-
         return messages;
     }
 

+ 11 - 11
src/main/java/com/gmail/nossr50/commands/skills/SwordsCommand.java

@@ -34,11 +34,11 @@ public class SwordsCommand extends SkillCommand {
 
     @Override
     protected void dataCalculations(Player player, float skillValue, boolean isLucky) {
-        // SERRATED STRIKES
-        if (canSerratedStrike) {
-            String[] serratedStrikesStrings = calculateLengthDisplayValues(player, skillValue);
-            serratedStrikesLength = serratedStrikesStrings[0];
-            serratedStrikesLengthEndurance = serratedStrikesStrings[1];
+        // SWORDS_COUNTER_ATTACK
+        if (canCounter) {
+            String[] counterStrings = calculateAbilityDisplayValues(skillValue, SubSkillType.SWORDS_COUNTER_ATTACK, isLucky);
+            counterChance = counterStrings[0];
+            counterChanceLucky = counterStrings[1];
         }
 
         // SWORDS_RUPTURE
@@ -49,12 +49,12 @@ public class SwordsCommand extends SkillCommand {
             bleedChance = bleedStrings[0];
             bleedChanceLucky = bleedStrings[1];
         }
-
-        // SWORDS_COUNTER_ATTACK
-        if (canCounter) {
-            String[] counterStrings = calculateAbilityDisplayValues(skillValue, SubSkillType.SWORDS_COUNTER_ATTACK, isLucky);
-            counterChance = counterStrings[0];
-            counterChanceLucky = counterStrings[1];
+        
+        // SERRATED STRIKES
+        if (canSerratedStrike) {
+            String[] serratedStrikesStrings = calculateLengthDisplayValues(player, skillValue);
+            serratedStrikesLength = serratedStrikesStrings[0];
+            serratedStrikesLengthEndurance = serratedStrikesStrings[1];
         }
     }
 

+ 26 - 26
src/main/java/com/gmail/nossr50/commands/skills/TamingCommand.java

@@ -59,15 +59,6 @@ public class TamingCommand extends SkillCommand {
     protected List<String> statsDisplay(Player player, float skillValue, boolean hasEndurance, boolean isLucky) {
         List<String> messages = new ArrayList<String>();
 
-        if (canFastFood) {
-            if (skillValue < Taming.fastFoodServiceUnlockLevel) {
-                messages.add(LocaleLoader.getString("Ability.Generic.Template.Lock", LocaleLoader.getString("Taming.Ability.Locked.4", Taming.fastFoodServiceUnlockLevel)));
-            }
-            else {
-                messages.add(LocaleLoader.getString("Ability.Generic.Template", LocaleLoader.getString("Taming.Ability.Bonus.8"), LocaleLoader.getString("Taming.Ability.Bonus.9", percent.format(Taming.fastFoodServiceActivationChance / 100D))));
-            }
-        }
-
         if (canEnvironmentallyAware) {
             if (skillValue < Taming.environmentallyAwareUnlockLevel) {
                 messages.add(LocaleLoader.getString("Ability.Generic.Template.Lock", LocaleLoader.getString("Taming.Ability.Locked.0", Taming.environmentallyAwareUnlockLevel)));
@@ -76,16 +67,22 @@ public class TamingCommand extends SkillCommand {
                 messages.add(LocaleLoader.getString("Ability.Generic.Template", LocaleLoader.getString("Taming.Ability.Bonus.0"), LocaleLoader.getString("Taming.Ability.Bonus.1")));
             }
         }
-
-        if (canThickFur) {
-            if (skillValue < Taming.thickFurUnlockLevel) {
-                messages.add(LocaleLoader.getString("Ability.Generic.Template.Lock", LocaleLoader.getString("Taming.Ability.Locked.1", Taming.thickFurUnlockLevel)));
+        
+        if (canFastFood) {
+            if (skillValue < Taming.fastFoodServiceUnlockLevel) {
+                messages.add(LocaleLoader.getString("Ability.Generic.Template.Lock", LocaleLoader.getString("Taming.Ability.Locked.4", Taming.fastFoodServiceUnlockLevel)));
             }
             else {
-                messages.add(LocaleLoader.getString("Ability.Generic.Template", LocaleLoader.getString("Taming.Ability.Bonus.2"), LocaleLoader.getString("Taming.Ability.Bonus.3", Taming.thickFurModifier)));
+                messages.add(LocaleLoader.getString("Ability.Generic.Template", LocaleLoader.getString("Taming.Ability.Bonus.8"), LocaleLoader.getString("Taming.Ability.Bonus.9", percent.format(Taming.fastFoodServiceActivationChance / 100D))));
             }
         }
-
+        
+        if (canGore) {
+            messages.add(LocaleLoader.getString("Ability.Generic.Template",
+                    LocaleLoader.getString("Taming.Combat.Chance.Gore"),
+                    goreChance) + (isLucky ? LocaleLoader.getString("Perks.Lucky.Bonus", goreChanceLucky) : ""));
+        }
+        
         if (canHolyHound) {
             if (skillValue < Taming.holyHoundUnlockLevel) {
                 messages.add(LocaleLoader.getString("Ability.Generic.Template.Lock", LocaleLoader.getString("Taming.Ability.Locked.5", Taming.holyHoundUnlockLevel)));
@@ -95,6 +92,15 @@ public class TamingCommand extends SkillCommand {
             }
         }
 
+        if (canSharpenedClaws) {
+            if (skillValue < Taming.sharpenedClawsUnlockLevel) {
+                messages.add(LocaleLoader.getString("Ability.Generic.Template.Lock", LocaleLoader.getString("Taming.Ability.Locked.3", Taming.sharpenedClawsUnlockLevel)));
+            }
+            else {
+                messages.add(LocaleLoader.getString("Ability.Generic.Template", LocaleLoader.getString("Taming.Ability.Bonus.6"), LocaleLoader.getString("Taming.Ability.Bonus.7", Taming.sharpenedClawsBonusDamage)));
+            }
+        }
+        
         if (canShockProof) {
             if (skillValue < Taming.shockProofUnlockLevel) {
                 messages.add(LocaleLoader.getString("Ability.Generic.Template.Lock", LocaleLoader.getString("Taming.Ability.Locked.2", Taming.shockProofUnlockLevel)));
@@ -103,22 +109,16 @@ public class TamingCommand extends SkillCommand {
                 messages.add(LocaleLoader.getString("Ability.Generic.Template", LocaleLoader.getString("Taming.Ability.Bonus.4"), LocaleLoader.getString("Taming.Ability.Bonus.5", Taming.shockProofModifier)));
             }
         }
-
-        if (canSharpenedClaws) {
-            if (skillValue < Taming.sharpenedClawsUnlockLevel) {
-                messages.add(LocaleLoader.getString("Ability.Generic.Template.Lock", LocaleLoader.getString("Taming.Ability.Locked.3", Taming.sharpenedClawsUnlockLevel)));
+        
+        if (canThickFur) {
+            if (skillValue < Taming.thickFurUnlockLevel) {
+                messages.add(LocaleLoader.getString("Ability.Generic.Template.Lock", LocaleLoader.getString("Taming.Ability.Locked.1", Taming.thickFurUnlockLevel)));
             }
             else {
-                messages.add(LocaleLoader.getString("Ability.Generic.Template", LocaleLoader.getString("Taming.Ability.Bonus.6"), LocaleLoader.getString("Taming.Ability.Bonus.7", Taming.sharpenedClawsBonusDamage)));
+                messages.add(LocaleLoader.getString("Ability.Generic.Template", LocaleLoader.getString("Taming.Ability.Bonus.2"), LocaleLoader.getString("Taming.Ability.Bonus.3", Taming.thickFurModifier)));
             }
         }
 
-        if (canGore) {
-            messages.add(LocaleLoader.getString("Ability.Generic.Template",
-                    LocaleLoader.getString("Taming.Combat.Chance.Gore"),
-                    goreChance) + (isLucky ? LocaleLoader.getString("Perks.Lucky.Bonus", goreChanceLucky) : ""));
-        }
-
         return messages;
     }
 

+ 18 - 18
src/main/java/com/gmail/nossr50/commands/skills/UnarmedCommand.java

@@ -36,6 +36,13 @@ public class UnarmedCommand extends SkillCommand {
 
     @Override
     protected void dataCalculations(Player player, float skillValue, boolean isLucky) {
+        // UNARMED_ARROW_DEFLECT
+        if (canDeflect) {
+            String[] deflectStrings = calculateAbilityDisplayValues(skillValue, SubSkillType.UNARMED_ARROW_DEFLECT, isLucky);
+            deflectChance = deflectStrings[0];
+            deflectChanceLucky = deflectStrings[1];
+        }
+        
         // BERSERK
         if (canBerserk) {
             String[] berserkStrings = calculateLengthDisplayValues(player, skillValue);
@@ -50,13 +57,6 @@ public class UnarmedCommand extends SkillCommand {
             disarmChanceLucky = disarmStrings[1];
         }
 
-        // UNARMED_ARROW_DEFLECT
-        if (canDeflect) {
-            String[] deflectStrings = calculateAbilityDisplayValues(skillValue, SubSkillType.UNARMED_ARROW_DEFLECT, isLucky);
-            deflectChance = deflectStrings[0];
-            deflectChanceLucky = deflectStrings[1];
-        }
-
         // IRON ARM
         if (canIronArm) {
             ironArmBonus = Math.min(Unarmed.ironArmMinBonusDamage + ((int) skillValue / Unarmed.ironArmIncreaseLevel), Unarmed.ironArmMaxBonusDamage);
@@ -84,21 +84,27 @@ public class UnarmedCommand extends SkillCommand {
     protected List<String> statsDisplay(Player player, float skillValue, boolean hasEndurance, boolean isLucky) {
         List<String> messages = new ArrayList<String>();
 
-        if (canIronArm) {
-            messages.add(LocaleLoader.getString("Ability.Generic.Template", LocaleLoader.getString("Unarmed.Ability.Bonus.0"), LocaleLoader.getString("Unarmed.Ability.Bonus.1", ironArmBonus)));
-        }
-
         if (canDeflect) {
             messages.add(getStatMessage(SubSkillType.UNARMED_ARROW_DEFLECT, deflectChance)
                     + (isLucky ? LocaleLoader.getString("Perks.Lucky.Bonus", deflectChanceLucky) : ""));
             //messages.add(LocaleLoader.getString("Unarmed.Ability.Chance.ArrowDeflect", deflectChance) + (isLucky ? LocaleLoader.getString("Perks.Lucky.Bonus", deflectChanceLucky) : ""));
         }
-
+        
+        if (canBerserk) {
+            messages.add(getStatMessage(SubSkillType.UNARMED_BERSERK, berserkLength)
+                    + (hasEndurance ? LocaleLoader.getString("Perks.ActivationTime.Bonus", berserkLengthEndurance) : ""));
+            //messages.add(LocaleLoader.getString("Unarmed.Ability.Berserk.Length", berserkLength) + (hasEndurance ? LocaleLoader.getString("Perks.ActivationTime.Bonus", berserkLengthEndurance) : ""));
+        }
+        
         if (canDisarm) {
             messages.add(getStatMessage(SubSkillType.UNARMED_DISARM, disarmChance)
                     + (isLucky ? LocaleLoader.getString("Perks.Lucky.Bonus", disarmChanceLucky) : ""));
             //messages.add(LocaleLoader.getString("Unarmed.Ability.Chance.Disarm", disarmChance) + (isLucky ? LocaleLoader.getString("Perks.Lucky.Bonus", disarmChanceLucky) : ""));
         }
+        
+        if (canIronArm) {
+            messages.add(LocaleLoader.getString("Ability.Generic.Template", LocaleLoader.getString("Unarmed.Ability.Bonus.0"), LocaleLoader.getString("Unarmed.Ability.Bonus.1", ironArmBonus)));
+        }
 
         if (canIronGrip) {
             messages.add(getStatMessage(SubSkillType.UNARMED_IRON_GRIP, ironGripChance)
@@ -106,12 +112,6 @@ public class UnarmedCommand extends SkillCommand {
             //messages.add(LocaleLoader.getString("Unarmed.Ability.Chance.IronGrip", ironGripChance) + (isLucky ? LocaleLoader.getString("Perks.Lucky.Bonus", ironGripChanceLucky) : ""));
         }
 
-        if (canBerserk) {
-            messages.add(getStatMessage(SubSkillType.UNARMED_BERSERK, berserkLength)
-                    + (hasEndurance ? LocaleLoader.getString("Perks.ActivationTime.Bonus", berserkLengthEndurance) : ""));
-            //messages.add(LocaleLoader.getString("Unarmed.Ability.Berserk.Length", berserkLength) + (hasEndurance ? LocaleLoader.getString("Perks.ActivationTime.Bonus", berserkLengthEndurance) : ""));
-        }
-
         return messages;
     }
 

+ 9 - 9
src/main/java/com/gmail/nossr50/commands/skills/WoodcuttingCommand.java

@@ -31,17 +31,17 @@ public class WoodcuttingCommand extends SkillCommand {
 
     @Override
     protected void dataCalculations(Player player, float skillValue, boolean isLucky) {
+        // DOUBLE DROPS
+        if (canDoubleDrop) {
+            setDoubleDropClassicChanceStrings(skillValue, isLucky);
+        }
+        
         // TREE FELLER
         if (canTreeFell) {
             String[] treeFellerStrings = calculateLengthDisplayValues(player, skillValue);
             treeFellerLength = treeFellerStrings[0];
             treeFellerLengthEndurance = treeFellerStrings[1];
         }
-
-        // DOUBLE DROPS
-        if (canDoubleDrop) {
-            setDoubleDropClassicChanceStrings(skillValue, isLucky);
-        }
     }
 
     private void setDoubleDropClassicChanceStrings(float skillValue, boolean isLucky) {
@@ -64,14 +64,14 @@ public class WoodcuttingCommand extends SkillCommand {
     protected List<String> statsDisplay(Player player, float skillValue, boolean hasEndurance, boolean isLucky) {
         List<String> messages = new ArrayList<String>();
 
-        if (canLeafBlow) {
-            messages.add(LocaleLoader.getString("Ability.Generic.Template", LocaleLoader.getString("Woodcutting.Ability.0"), LocaleLoader.getString("Woodcutting.Ability.1")));
-        }
-
         if (canDoubleDrop) {
             messages.add(getStatMessage(SubSkillType.WOODCUTTING_HARVEST_LUMBER, doubleDropChance)
                     + (isLucky ? LocaleLoader.getString("Perks.Lucky.Bonus", doubleDropChanceLucky) : ""));
         }
+        
+        if (canLeafBlow) {
+            messages.add(LocaleLoader.getString("Ability.Generic.Template", LocaleLoader.getString("Woodcutting.Ability.0"), LocaleLoader.getString("Woodcutting.Ability.1")));
+        }
 
         if (canTreeFell) {
             messages.add(getStatMessage(SubSkillType.WOODCUTTING_TREE_FELLER, treeFellerLength)

+ 14 - 14
src/main/java/com/gmail/nossr50/datatypes/skills/SubSkillType.java

@@ -15,8 +15,8 @@ public enum SubSkillType {
     ALCHEMY_CONCOCTIONS(8),
 
     /* ARCHERY */
-    ARCHERY_DAZE,
     ARCHERY_ARROW_RETRIEVAL,
+    ARCHERY_DAZE,
     ARCHERY_SKILL_SHOT(20),
 
     /* Axes */
@@ -32,26 +32,26 @@ public enum SubSkillType {
 
     /* Fishing */
     FISHING_FISHERMANS_DIET(5),
-    FISHING_TREASURE_HUNTER(8),
     FISHING_ICE_FISHING(1),
     FISHING_MAGIC_HUNTER,
     FISHING_MASTER_ANGLER(1),
+    FISHING_TREASURE_HUNTER(8),
     FISHING_SHAKE(1),
 
     /* Herbalism */
+    HERBALISM_DOUBLE_DROPS,
     HERBALISM_FARMERS_DIET(5),
+    HERBALISM_GREEN_TERRA(1),
     HERBALISM_GREEN_THUMB(4),
-    HERBALISM_DOUBLE_DROPS,
     HERBALISM_HYLIAN_LUCK,
     HERBALISM_SHROOM_THUMB,
-    HERBALISM_GREEN_TERRA(1),
 
     /* Mining */
-    MINING_DOUBLE_DROPS,
-    MINING_SUPER_BREAKER(1),
-    MINING_BLAST_MINING(8),
     MINING_BIGGER_BOMBS(1),
+    MINING_BLAST_MINING(8),
     MINING_DEMOLITIONS_EXPERTISE(1),
+    MINING_DOUBLE_DROPS,
+    MINING_SUPER_BREAKER(1),
 
     /* Repair */
     REPAIR_ARCANE_FORGING(8),
@@ -69,8 +69,8 @@ public enum SubSkillType {
     SMELTING_UNDERSTANDING_THE_ART(8),
 
     /* Swords */
-    SWORDS_RUPTURE(4),
     SWORDS_COUNTER_ATTACK,
+    SWORDS_RUPTURE(4),
     SWORDS_SERRATED_STRIKES(1),
 
     /* Taming */
@@ -80,26 +80,26 @@ public enum SubSkillType {
     TAMING_FAST_FOOD_SERVICE(1),
     TAMING_GORE,
     TAMING_HOLY_HOUND(1),
+    TAMING_PUMMEL,
     TAMING_SHARPENED_CLAWS(1),
     TAMING_SHOCK_PROOF(1),
     TAMING_THICK_FUR(1),
-    TAMING_PUMMEL,
 
     /* Unarmed */
-    UNARMED_BLOCK_CRACKER,
     UNARMED_ARROW_DEFLECT,
+    UNARMED_BERSERK(1),
+    UNARMED_BLOCK_CRACKER,
     UNARMED_DISARM,
     UNARMED_IRON_ARM_STYLE,
     UNARMED_IRON_GRIP,
-    UNARMED_BERSERK(1),
 
     /* Woodcutting */
-    WOODCUTTING_TREE_FELLER(5),
-    WOODCUTTING_LEAF_BLOWER(3),
     WOODCUTTING_BARK_SURGEON(3),
+    WOODCUTTING_HARVEST_LUMBER(1);
+    WOODCUTTING_LEAF_BLOWER(3),
     WOODCUTTING_NATURES_BOUNTY(3),
     WOODCUTTING_SPLINTER(3),
-    WOODCUTTING_HARVEST_LUMBER(1);
+    WOODCUTTING_TREE_FELLER(5),
 
     private final int numRanks;
     //TODO: SuperAbilityType should also contain flags for active by default? Not sure if it should work that way.