From 9067a486cdf7926947a6da5906feec1328a1daac Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Mon, 3 Jul 2023 14:27:18 -0400 Subject: [PATCH] v2.1.4: fixed Counter Ability talent incorrectly applying 0 charge at +2 --- .../items/weapon/melee/AssassinsBlade.java | 4 ++-- .../items/weapon/melee/BattleAxe.java | 6 +++--- .../shatteredpixeldungeon/items/weapon/melee/Dagger.java | 4 ++-- .../shatteredpixeldungeon/items/weapon/melee/Dirk.java | 4 ++-- .../shatteredpixeldungeon/items/weapon/melee/Flail.java | 5 +++-- .../items/weapon/melee/Greatsword.java | 4 ++-- .../shatteredpixeldungeon/items/weapon/melee/HandAxe.java | 6 +++--- .../items/weapon/melee/Longsword.java | 4 ++-- .../shatteredpixeldungeon/items/weapon/melee/Mace.java | 6 +++--- .../items/weapon/melee/MeleeWeapon.java | 8 ++++++-- .../items/weapon/melee/Quarterstaff.java | 4 ++-- .../items/weapon/melee/Scimitar.java | 4 ++-- .../items/weapon/melee/Shortsword.java | 4 ++-- .../shatteredpixeldungeon/items/weapon/melee/Sickle.java | 5 +++-- .../shatteredpixeldungeon/items/weapon/melee/Sword.java | 4 ++-- .../items/weapon/melee/WarHammer.java | 6 +++--- .../items/weapon/melee/WarScythe.java | 5 +++-- .../items/weapon/melee/WornShortsword.java | 4 ++-- 18 files changed, 47 insertions(+), 40 deletions(-) diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/AssassinsBlade.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/AssassinsBlade.java index 8a463a858..7a4adcd47 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/AssassinsBlade.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/AssassinsBlade.java @@ -66,8 +66,8 @@ public class AssassinsBlade extends MeleeWeapon { } @Override - public float abilityChargeUse(Hero hero, Char target) { - return 2*super.abilityChargeUse(hero, target); + protected int baseChargeUse(Hero hero, Char target){ + return 2; } @Override diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/BattleAxe.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/BattleAxe.java index 521cfe76c..cf77d7c48 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/BattleAxe.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/BattleAxe.java @@ -51,11 +51,11 @@ public class BattleAxe extends MeleeWeapon { } @Override - public float abilityChargeUse(Hero hero, Char target) { + protected int baseChargeUse(Hero hero, Char target){ if (target == null || (target instanceof Mob && ((Mob) target).surprisedBy(hero))) { - return super.abilityChargeUse(hero, target); + return 1; } else { - return 2*super.abilityChargeUse(hero, target); + return 2; } } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Dagger.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Dagger.java index c247bda4f..372f695ad 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Dagger.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Dagger.java @@ -75,8 +75,8 @@ public class Dagger extends MeleeWeapon { } @Override - public float abilityChargeUse(Hero hero, Char target) { - return 2*super.abilityChargeUse(hero, target); + protected int baseChargeUse(Hero hero, Char target){ + return 2; } @Override diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Dirk.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Dirk.java index dee1e4210..518d0ee4c 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Dirk.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Dirk.java @@ -66,8 +66,8 @@ public class Dirk extends MeleeWeapon { } @Override - public float abilityChargeUse(Hero hero, Char target) { - return 2*super.abilityChargeUse(hero, target); + protected int baseChargeUse(Hero hero, Char target){ + return 2; } @Override diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Flail.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Flail.java index ac4efae03..0767c6f07 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Flail.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Flail.java @@ -89,11 +89,12 @@ public class Flail extends MeleeWeapon { } } - public float abilityChargeUse(Hero hero, Char target) { + @Override + protected int baseChargeUse(Hero hero, Char target){ if (Dungeon.hero.buff(SpinAbilityTracker.class) != null){ return 0; } else { - return 2*super.abilityChargeUse(hero, target); + return 2; } } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Greatsword.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Greatsword.java index 1ab5c566e..70540ca23 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Greatsword.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Greatsword.java @@ -38,11 +38,11 @@ public class Greatsword extends MeleeWeapon { } @Override - public float abilityChargeUse(Hero hero, Char target) { + protected int baseChargeUse(Hero hero, Char target){ if (hero.buff(Sword.CleaveTracker.class) != null){ return 0; } else { - return super.abilityChargeUse( hero, target); + return 1; } } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/HandAxe.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/HandAxe.java index c222a9fa5..4705c965d 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/HandAxe.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/HandAxe.java @@ -51,11 +51,11 @@ public class HandAxe extends MeleeWeapon { } @Override - public float abilityChargeUse(Hero hero, Char target) { + protected int baseChargeUse(Hero hero, Char target){ if (target == null || (target instanceof Mob && ((Mob) target).surprisedBy(hero))) { - return super.abilityChargeUse(hero, target); + return 1; } else { - return 2*super.abilityChargeUse(hero, target); + return 2; } } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Longsword.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Longsword.java index 7d884917d..fb2e0c24e 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Longsword.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Longsword.java @@ -38,11 +38,11 @@ public class Longsword extends MeleeWeapon { } @Override - public float abilityChargeUse(Hero hero, Char target) { + protected int baseChargeUse(Hero hero, Char target){ if (hero.buff(Sword.CleaveTracker.class) != null){ return 0; } else { - return super.abilityChargeUse( hero, target); + return 1; } } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Mace.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Mace.java index cef89ea0a..e6b0d4d18 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Mace.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Mace.java @@ -60,11 +60,11 @@ public class Mace extends MeleeWeapon { } @Override - public float abilityChargeUse(Hero hero, Char target) { + protected int baseChargeUse(Hero hero, Char target){ if (target == null || (target instanceof Mob && ((Mob) target).surprisedBy(hero))) { - return super.abilityChargeUse(hero, target); + return 1; } else { - return 2*super.abilityChargeUse(hero, target); + return 2; } } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/MeleeWeapon.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/MeleeWeapon.java index d600d3220..ba9c1cd4b 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/MeleeWeapon.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/MeleeWeapon.java @@ -262,8 +262,12 @@ public class MeleeWeapon extends Weapon { } } - public float abilityChargeUse(Hero hero, Char target){ - float chargeUse = 1f; + protected int baseChargeUse(Hero hero, Char target){ + return 1; //abilities use 1 charge by default + } + + public final float abilityChargeUse(Hero hero, Char target){ + float chargeUse = baseChargeUse(hero, target); if (hero.buff(Talent.CounterAbilityTacker.class) != null){ chargeUse = Math.max(0, chargeUse-0.5f*hero.pointsInTalent(Talent.COUNTER_ABILITY)); } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Quarterstaff.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Quarterstaff.java index f07b7948a..11368a5a9 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Quarterstaff.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Quarterstaff.java @@ -51,8 +51,8 @@ public class Quarterstaff extends MeleeWeapon { } @Override - public float abilityChargeUse(Hero hero, Char target) { - return 2*super.abilityChargeUse(hero, target); + protected int baseChargeUse(Hero hero, Char target){ + return 2; } @Override diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Scimitar.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Scimitar.java index 5eb100763..2405cdae1 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Scimitar.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Scimitar.java @@ -47,8 +47,8 @@ public class Scimitar extends MeleeWeapon { } @Override - public float abilityChargeUse(Hero hero, Char target) { - return 2*super.abilityChargeUse(hero, target); + protected int baseChargeUse(Hero hero, Char target){ + return 2; } @Override diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Shortsword.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Shortsword.java index acb6a9a72..bc947ec21 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Shortsword.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Shortsword.java @@ -38,11 +38,11 @@ public class Shortsword extends MeleeWeapon { } @Override - public float abilityChargeUse(Hero hero, Char target) { + protected int baseChargeUse(Hero hero, Char target){ if (hero.buff(Sword.CleaveTracker.class) != null){ return 0; } else { - return super.abilityChargeUse( hero, target); + return 1; } } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Sickle.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Sickle.java index b9a763f86..c872aca4a 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Sickle.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Sickle.java @@ -53,8 +53,9 @@ public class Sickle extends MeleeWeapon { lvl*(tier+1); //scaling unchanged } - public float abilityChargeUse(Hero hero, Char target) { - return 2*super.abilityChargeUse(hero, target); + @Override + protected int baseChargeUse(Hero hero, Char target){ + return 2; } @Override diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Sword.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Sword.java index d53501193..15a11d180 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Sword.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Sword.java @@ -48,11 +48,11 @@ public class Sword extends MeleeWeapon { } @Override - public float abilityChargeUse(Hero hero, Char target) { + protected int baseChargeUse(Hero hero, Char target){ if (hero.buff(Sword.CleaveTracker.class) != null){ return 0; } else { - return super.abilityChargeUse( hero, target); + return 1; } } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/WarHammer.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/WarHammer.java index 84c6de7ed..4e46cab5a 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/WarHammer.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/WarHammer.java @@ -51,11 +51,11 @@ public class WarHammer extends MeleeWeapon { } @Override - public float abilityChargeUse(Hero hero, Char target) { + protected int baseChargeUse(Hero hero, Char target){ if (target == null || (target instanceof Mob && ((Mob) target).surprisedBy(hero))) { - return super.abilityChargeUse(hero, target); + return 1; } else { - return 2*super.abilityChargeUse(hero, target); + return 2; } } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/WarScythe.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/WarScythe.java index 40ffe945c..ab0086bfa 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/WarScythe.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/WarScythe.java @@ -44,8 +44,9 @@ public class WarScythe extends MeleeWeapon { lvl*(tier+1); //scaling unchanged } - public float abilityChargeUse(Hero hero, Char target) { - return 2*super.abilityChargeUse(hero, target); + @Override + protected int baseChargeUse(Hero hero, Char target){ + return 2; } @Override diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/WornShortsword.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/WornShortsword.java index 4fbbe3d17..93542bea1 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/WornShortsword.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/WornShortsword.java @@ -40,11 +40,11 @@ public class WornShortsword extends MeleeWeapon { } @Override - public float abilityChargeUse(Hero hero, Char target) { + protected int baseChargeUse(Hero hero, Char target){ if (hero.buff(Sword.CleaveTracker.class) != null){ return 0; } else { - return super.abilityChargeUse( hero, target); + return 1; } }