From 419a810a1ebffaa729222ebe6cba20a62916a544 Mon Sep 17 00:00:00 2001 From: nossr50 Date: Tue, 25 Aug 2020 16:28:21 -0700 Subject: [PATCH] Steel Arm Style can now be customized in advanced.yml --- Changelog.txt | 2 ++ .../gmail/nossr50/config/AdvancedConfig.java | 5 ++++ .../skills/unarmed/UnarmedManager.java | 10 +++++++- src/main/resources/advanced.yml | 25 +++++++++++++++++-- 4 files changed, 39 insertions(+), 3 deletions(-) diff --git a/Changelog.txt b/Changelog.txt index 93ee3d2f2..c34fef88b 100644 --- a/Changelog.txt +++ b/Changelog.txt @@ -1,4 +1,5 @@ Version 2.1.144 + Steel Arm Style damage is now customizable in advanced.yml (make sure to set override to true) Fixed a bug where Deflect worked against non-arrow projectiles Fixed a bug where Deflect was checked twice, resulting in two chances to deflect effectively Fixed a bug where Roll wouldn't award XP when fall height was over a certain amount @@ -9,6 +10,7 @@ Version 2.1.144 NOTES: I seem to consistently find old bugs in mcMMO, this deflect bug where it was checked twice, who knows how many years its been in mcMMO, I didn't check but its probably between 5-7. + I was waiting to make Steel Arm Customizable for the config update (due in the future), but enough people ask for it that I decided to do the extra work to put it into 2.1.XX Version 2.1.143 mcMMO now tracks super ability boosted items through persistent metadata diff --git a/src/main/java/com/gmail/nossr50/config/AdvancedConfig.java b/src/main/java/com/gmail/nossr50/config/AdvancedConfig.java index 615488646..e51edeaad 100644 --- a/src/main/java/com/gmail/nossr50/config/AdvancedConfig.java +++ b/src/main/java/com/gmail/nossr50/config/AdvancedConfig.java @@ -981,6 +981,11 @@ public class AdvancedConfig extends AutoUpdateConfigLoader { /* UNARMED */ + public boolean isSteelArmDamageCustom() { return config.getBoolean("Skills.Unarmed.SteelArmStyle.Damage_Override", false); } + public double getSteelArmOverride(int rank, double def) { + String key = "Rank_" + rank; + return config.getDouble("Skills.Unarmed.SteelArmStyle.Override." + key, def); + } public boolean getDisarmProtected() { return config.getBoolean("Skills.Unarmed.Disarm.AntiTheft", false); } /* WOODCUTTING */ diff --git a/src/main/java/com/gmail/nossr50/skills/unarmed/UnarmedManager.java b/src/main/java/com/gmail/nossr50/skills/unarmed/UnarmedManager.java index d8d99bcce..ebf7e81c0 100644 --- a/src/main/java/com/gmail/nossr50/skills/unarmed/UnarmedManager.java +++ b/src/main/java/com/gmail/nossr50/skills/unarmed/UnarmedManager.java @@ -156,12 +156,20 @@ public class UnarmedManager extends SkillManager { public double getSteelArmStyleDamage() { double rank = RankUtils.getRank(getPlayer(), SubSkillType.UNARMED_STEEL_ARM_STYLE); + double bonus = 0; if(rank >= 18) bonus = 1 + rank - 18; - return bonus + 0.5 + (rank / 2); + double finalBonus = bonus + 0.5 + (rank / 2); + + + if(AdvancedConfig.getInstance().isSteelArmDamageCustom()) { + return AdvancedConfig.getInstance().getSteelArmOverride(RankUtils.getRank(getPlayer(), SubSkillType.UNARMED_STEEL_ARM_STYLE), finalBonus); + } else { + return finalBonus; + } } /** diff --git a/src/main/resources/advanced.yml b/src/main/resources/advanced.yml index 211ac13cd..c733d324b 100644 --- a/src/main/resources/advanced.yml +++ b/src/main/resources/advanced.yml @@ -543,11 +543,32 @@ Skills: Standard: 100 RetroMode: 1000 - IronArmStyle: + SteelArmStyle: # BonusMin: Minimum bonus damage for unarmed # BonusMax: Maximum bonus damage for unarmed # IncreaseLevel: Bonus damage increases every increase level - IncreaseLevel: 10 + Damage_Override: false + Override: + Rank_1: 1 + Rank_2: 1.5 + Rank_3: 2.0 + Rank_4: 2.5 + Rank_5: 3.0 + Rank_6: 3.5 + Rank_7: 4.0 + Rank_8: 4.5 + Rank_9: 5.0 + Rank_10: 5.5 + Rank_11: 6.0 + Rank_12: 6.5 + Rank_13: 7.0 + Rank_14: 7.5 + Rank_15: 8.0 + Rank_16: 8.5 + Rank_17: 9.0 + Rank_18: 10.5 + Rank_19: 12.0 + Rank_20: 13.5 # # Settings for Woodcutting ###