From ebf48e1870fc62bfc53907528348f000e0f6c313 Mon Sep 17 00:00:00 2001 From: Oaksworth <46974852+Oaksworth@users.noreply.github.com> Date: Wed, 23 Jan 2019 18:45:43 -0200 Subject: [PATCH 01/14] Update SubSkillType.java to alphabetical order --- .../datatypes/skills/SubSkillType.java | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/src/main/java/com/gmail/nossr50/datatypes/skills/SubSkillType.java b/src/main/java/com/gmail/nossr50/datatypes/skills/SubSkillType.java index 1c19e3625..6dc94b763 100644 --- a/src/main/java/com/gmail/nossr50/datatypes/skills/SubSkillType.java +++ b/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_FARMERS_DIET(5), - HERBALISM_GREEN_THUMB(4), HERBALISM_DOUBLE_DROPS, + HERBALISM_FARMERS_DIET(5), + HERBALISM_GREEN_TERRA(1), + HERBALISM_GREEN_THUMB(4), HERBALISM_HYLIAN_LUCK, HERBALISM_SHROOM_THUMB, - HERBALISM_GREEN_TERRA(1), /* Mining */ + MINING_BIGGER_BOMBS(1), + MINING_BLAST_MINING(8), + MINING_DEMOLITIONS_EXPERTISE(1), MINING_DOUBLE_DROPS, MINING_SUPER_BREAKER(1), - MINING_BLAST_MINING(8), - MINING_BIGGER_BOMBS(1), - MINING_DEMOLITIONS_EXPERTISE(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. From 061a6c2a3a3734c707d50c9da4962393696ac69e Mon Sep 17 00:00:00 2001 From: Oaksworth <46974852+Oaksworth@users.noreply.github.com> Date: Wed, 23 Jan 2019 18:53:38 -0200 Subject: [PATCH 02/14] Update Acrobatics to alphabetical order --- .../nossr50/commands/skills/AcrobaticsCommand.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/gmail/nossr50/commands/skills/AcrobaticsCommand.java b/src/main/java/com/gmail/nossr50/commands/skills/AcrobaticsCommand.java index 57fb2e2b3..fac1f0415 100644 --- a/src/main/java/com/gmail/nossr50/commands/skills/AcrobaticsCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/skills/AcrobaticsCommand.java @@ -46,6 +46,11 @@ public class AcrobaticsCommand extends SkillCommand { protected List statsDisplay(Player player, float skillValue, boolean hasEndurance, boolean isLucky) { List messages = new ArrayList(); + 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; } From 6241b6dfe940088def6129f8e168272720523c91 Mon Sep 17 00:00:00 2001 From: Oaksworth <46974852+Oaksworth@users.noreply.github.com> Date: Wed, 23 Jan 2019 18:58:53 -0200 Subject: [PATCH 03/14] Update Archery to alphabetical order --- .../commands/skills/ArcheryCommand.java | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/gmail/nossr50/commands/skills/ArcheryCommand.java b/src/main/java/com/gmail/nossr50/commands/skills/ArcheryCommand.java index c329ac080..d850d83dd 100644 --- a/src/main/java/com/gmail/nossr50/commands/skills/ArcheryCommand.java +++ b/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)); } } From a381b6379a97e351c2095a44492e72c88920e5df Mon Sep 17 00:00:00 2001 From: Oaksworth <46974852+Oaksworth@users.noreply.github.com> Date: Wed, 23 Jan 2019 19:02:09 -0200 Subject: [PATCH 04/14] Update Archery to alphabetical order --- .../nossr50/commands/skills/ArcheryCommand.java | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/gmail/nossr50/commands/skills/ArcheryCommand.java b/src/main/java/com/gmail/nossr50/commands/skills/ArcheryCommand.java index d850d83dd..9b439cee5 100644 --- a/src/main/java/com/gmail/nossr50/commands/skills/ArcheryCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/skills/ArcheryCommand.java @@ -60,18 +60,18 @@ public class ArcheryCommand extends SkillCommand { protected List statsDisplay(Player player, float skillValue, boolean hasEndurance, boolean isLucky) { List messages = new ArrayList(); - 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; From c758346c3fd529c766ad8b730f94e06c16c2538f Mon Sep 17 00:00:00 2001 From: Oaksworth <46974852+Oaksworth@users.noreply.github.com> Date: Wed, 23 Jan 2019 19:04:13 -0200 Subject: [PATCH 05/14] Update Axes to alphabetical order --- .../nossr50/commands/skills/AxesCommand.java | 34 +++++++++---------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/src/main/java/com/gmail/nossr50/commands/skills/AxesCommand.java b/src/main/java/com/gmail/nossr50/commands/skills/AxesCommand.java index 7316d23df..981d9f926 100644 --- a/src/main/java/com/gmail/nossr50/commands/skills/AxesCommand.java +++ b/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 statsDisplay(Player player, float skillValue, boolean hasEndurance, boolean isLucky) { List messages = new ArrayList(); - 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) From 0cd23c1b65f0b6dfed0bc4dec6a73b322ec593dd Mon Sep 17 00:00:00 2001 From: Oaksworth <46974852+Oaksworth@users.noreply.github.com> Date: Wed, 23 Jan 2019 19:11:15 -0200 Subject: [PATCH 06/14] Update Fishing to alphabetical order --- .../commands/skills/FishingCommand.java | 44 +++++++++---------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/src/main/java/com/gmail/nossr50/commands/skills/FishingCommand.java b/src/main/java/com/gmail/nossr50/commands/skills/FishingCommand.java index cf0a86ee9..745a716a6 100644 --- a/src/main/java/com/gmail/nossr50/commands/skills/FishingCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/skills/FishingCommand.java @@ -122,7 +122,29 @@ public class FishingCommand extends SkillCommand { @Override protected List statsDisplay(Player player, float skillValue, boolean hasEndurance, boolean isLucky) { List messages = new ArrayList(); + + 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 (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, @@ -135,28 +157,6 @@ public class FishingCommand extends SkillCommand { String.valueOf(recordTreasure))); } - if (canMagicHunt) { - messages.add(getStatMessage(SubSkillType.FISHING_MAGIC_HUNTER, magicChance)); - } - - if (canIceFish) { - messages.add(getStatMessage(SubSkillType.FISHING_ICE_FISHING, SubSkillType.FISHING_ICE_FISHING.getLocaleStatDescription())); - } - - 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))); - } - return messages; } From 40a13c4c81b6da8fc3a896787a59bf5262a49158 Mon Sep 17 00:00:00 2001 From: Oaksworth <46974852+Oaksworth@users.noreply.github.com> Date: Wed, 23 Jan 2019 19:14:14 -0200 Subject: [PATCH 07/14] Update Herbalism to alphabetical order --- .../commands/skills/HerbalismCommand.java | 43 ++++++++++--------- 1 file changed, 22 insertions(+), 21 deletions(-) diff --git a/src/main/java/com/gmail/nossr50/commands/skills/HerbalismCommand.java b/src/main/java/com/gmail/nossr50/commands/skills/HerbalismCommand.java index 05570eae0..c98014f78 100644 --- a/src/main/java/com/gmail/nossr50/commands/skills/HerbalismCommand.java +++ b/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 statsDisplay(Player player, float skillValue, boolean hasEndurance, boolean isLucky) { List messages = new ArrayList(); + 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; } From 58e506b0415abafa735aceb2f3986582aca90ffe Mon Sep 17 00:00:00 2001 From: Oaksworth <46974852+Oaksworth@users.noreply.github.com> Date: Wed, 23 Jan 2019 19:16:23 -0200 Subject: [PATCH 08/14] Update Mining to alphabetical order --- .../commands/skills/MiningCommand.java | 58 +++++++++---------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/src/main/java/com/gmail/nossr50/commands/skills/MiningCommand.java b/src/main/java/com/gmail/nossr50/commands/skills/MiningCommand.java index da50512ac..ce0921aa1 100644 --- a/src/main/java/com/gmail/nossr50/commands/skills/MiningCommand.java +++ b/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 statsDisplay(Player player, float skillValue, boolean hasEndurance, boolean isLucky) { List messages = new ArrayList(); + 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; } From f68ecd3214338222fe1fcdf98b348c49e4f2f974 Mon Sep 17 00:00:00 2001 From: Oaksworth <46974852+Oaksworth@users.noreply.github.com> Date: Wed, 23 Jan 2019 19:20:25 -0200 Subject: [PATCH 09/14] Update Repair to alphabetical order --- .../nossr50/commands/skills/RepairCommand.java | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/gmail/nossr50/commands/skills/RepairCommand.java b/src/main/java/com/gmail/nossr50/commands/skills/RepairCommand.java index 3df92a91a..c313adf71 100644 --- a/src/main/java/com/gmail/nossr50/commands/skills/RepairCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/skills/RepairCommand.java @@ -92,15 +92,6 @@ public class RepairCommand extends SkillCommand { protected List statsDisplay(Player player, float skillValue, boolean hasEndurance, boolean isLucky) { List messages = new ArrayList(); - 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; } From c146384227fc22c11b3868d459f472d7e6df22e2 Mon Sep 17 00:00:00 2001 From: Oaksworth <46974852+Oaksworth@users.noreply.github.com> Date: Wed, 23 Jan 2019 19:32:36 -0200 Subject: [PATCH 10/14] Update Smelting to alphabetical order --- .../commands/skills/SmeltingCommand.java | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/gmail/nossr50/commands/skills/SmeltingCommand.java b/src/main/java/com/gmail/nossr50/commands/skills/SmeltingCommand.java index 5c52df48f..56bd0e9e9 100644 --- a/src/main/java/com/gmail/nossr50/commands/skills/SmeltingCommand.java +++ b/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 statsDisplay(Player player, float skillValue, boolean hasEndurance, boolean isLucky) { List messages = new ArrayList(); + 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; } From 9be7c2af3ca9c1c890ef5664bb5884052f3f4a4e Mon Sep 17 00:00:00 2001 From: Oaksworth <46974852+Oaksworth@users.noreply.github.com> Date: Wed, 23 Jan 2019 19:35:15 -0200 Subject: [PATCH 11/14] Update SwordsCommand.java --- .../commands/skills/SwordsCommand.java | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/gmail/nossr50/commands/skills/SwordsCommand.java b/src/main/java/com/gmail/nossr50/commands/skills/SwordsCommand.java index 1e5a5c641..45b4d3b6f 100644 --- a/src/main/java/com/gmail/nossr50/commands/skills/SwordsCommand.java +++ b/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]; } } From 9b0023d2d7dffb5bf18e72c187db1771c1e02d9e Mon Sep 17 00:00:00 2001 From: Oaksworth <46974852+Oaksworth@users.noreply.github.com> Date: Wed, 23 Jan 2019 19:37:51 -0200 Subject: [PATCH 12/14] Update Taming to alphabetical order --- .../commands/skills/TamingCommand.java | 58 +++++++++---------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/src/main/java/com/gmail/nossr50/commands/skills/TamingCommand.java b/src/main/java/com/gmail/nossr50/commands/skills/TamingCommand.java index 1469ddf56..335d8f611 100644 --- a/src/main/java/com/gmail/nossr50/commands/skills/TamingCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/skills/TamingCommand.java @@ -59,15 +59,6 @@ public class TamingCommand extends SkillCommand { protected List statsDisplay(Player player, float skillValue, boolean hasEndurance, boolean isLucky) { List messages = new ArrayList(); - 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,15 +92,6 @@ public class TamingCommand extends SkillCommand { } } - if (canShockProof) { - if (skillValue < Taming.shockProofUnlockLevel) { - messages.add(LocaleLoader.getString("Ability.Generic.Template.Lock", LocaleLoader.getString("Taming.Ability.Locked.2", Taming.shockProofUnlockLevel))); - } - else { - 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))); @@ -112,11 +100,23 @@ public class TamingCommand extends SkillCommand { messages.add(LocaleLoader.getString("Ability.Generic.Template", LocaleLoader.getString("Taming.Ability.Bonus.6"), LocaleLoader.getString("Taming.Ability.Bonus.7", Taming.sharpenedClawsBonusDamage))); } } - - if (canGore) { - messages.add(LocaleLoader.getString("Ability.Generic.Template", - LocaleLoader.getString("Taming.Combat.Chance.Gore"), - goreChance) + (isLucky ? LocaleLoader.getString("Perks.Lucky.Bonus", goreChanceLucky) : "")); + + if (canShockProof) { + if (skillValue < Taming.shockProofUnlockLevel) { + messages.add(LocaleLoader.getString("Ability.Generic.Template.Lock", LocaleLoader.getString("Taming.Ability.Locked.2", Taming.shockProofUnlockLevel))); + } + else { + messages.add(LocaleLoader.getString("Ability.Generic.Template", LocaleLoader.getString("Taming.Ability.Bonus.4"), LocaleLoader.getString("Taming.Ability.Bonus.5", Taming.shockProofModifier))); + } + } + + 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.2"), LocaleLoader.getString("Taming.Ability.Bonus.3", Taming.thickFurModifier))); + } } return messages; From c467f79d329b668250aed9f48ce5aef33841c269 Mon Sep 17 00:00:00 2001 From: Oaksworth <46974852+Oaksworth@users.noreply.github.com> Date: Wed, 23 Jan 2019 19:39:32 -0200 Subject: [PATCH 13/14] Update Unarmed --- .../commands/skills/UnarmedCommand.java | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/src/main/java/com/gmail/nossr50/commands/skills/UnarmedCommand.java b/src/main/java/com/gmail/nossr50/commands/skills/UnarmedCommand.java index 7c9e160c5..caee8cbf7 100644 --- a/src/main/java/com/gmail/nossr50/commands/skills/UnarmedCommand.java +++ b/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 statsDisplay(Player player, float skillValue, boolean hasEndurance, boolean isLucky) { List messages = new ArrayList(); - 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; } From bf38f55f232b39c08a7d4f81d3210e8b1cab2dcc Mon Sep 17 00:00:00 2001 From: Oaksworth <46974852+Oaksworth@users.noreply.github.com> Date: Wed, 23 Jan 2019 19:40:44 -0200 Subject: [PATCH 14/14] Update Woodcutting to alphabetical order --- .../commands/skills/WoodcuttingCommand.java | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/gmail/nossr50/commands/skills/WoodcuttingCommand.java b/src/main/java/com/gmail/nossr50/commands/skills/WoodcuttingCommand.java index 970d4282f..5847cb02f 100644 --- a/src/main/java/com/gmail/nossr50/commands/skills/WoodcuttingCommand.java +++ b/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 statsDisplay(Player player, float skillValue, boolean hasEndurance, boolean isLucky) { List messages = new ArrayList(); - 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)