From c799475637af6fbc90e7051beedfd6dccba751a4 Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Mon, 3 Apr 2023 15:45:36 -0400 Subject: [PATCH] v2.0.2: fixed flail ability triggering ability use even if it fails --- .../items/weapon/melee/Flail.java | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) 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 dfa048d65..f4c2f72c7 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 @@ -105,23 +105,24 @@ public class Flail extends MeleeWeapon { @Override protected void duelistAbility(Hero hero, Integer target) { - beforeAbilityUsed(hero); SpinAbilityTracker spin = hero.buff(SpinAbilityTracker.class); + if (spin != null && spin.spins >= 3){ + GLog.w(Messages.get(this, "spin_warn")); + return; + } + beforeAbilityUsed(hero); if (spin == null){ spin = Buff.affect(hero, SpinAbilityTracker.class, 3f); } - if (spin.spins < 3){ - spin.spins++; - Buff.prolong(hero, SpinAbilityTracker.class, 3f); - Sample.INSTANCE.play(Assets.Sounds.CHAINS, 1, 1, 0.9f + 0.1f*spin.spins); - hero.sprite.operate(hero.pos); - hero.spendAndNext(Actor.TICK); - BuffIndicator.refreshHero(); - } else { - GLog.w(Messages.get(this, "spin_warn")); - } + spin.spins++; + Buff.prolong(hero, SpinAbilityTracker.class, 3f); + Sample.INSTANCE.play(Assets.Sounds.CHAINS, 1, 1, 0.9f + 0.1f*spin.spins); + hero.sprite.operate(hero.pos); + hero.spendAndNext(Actor.TICK); + BuffIndicator.refreshHero(); + afterAbilityUsed(hero); }