From c7faaca3498e53d4471c04910c4a74ecf4d14d9e Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Sun, 12 Feb 2023 23:11:39 -0500 Subject: [PATCH] v2.0.0: fixed cases of brawler's stance incorrectly persisting --- .../items/rings/RingOfForce.java | 22 +++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/rings/RingOfForce.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/rings/RingOfForce.java index 3d70e69e1..887f8e5c2 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/rings/RingOfForce.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/rings/RingOfForce.java @@ -50,7 +50,19 @@ public class RingOfForce extends Ring { public static int armedDamageBonus( Char ch ){ return getBuffedBonus( ch, Force.class); } - + + @Override + public boolean doUnequip(Hero hero, boolean collect, boolean single) { + if (super.doUnequip(hero, collect, single)){ + if (hero.buff(BrawlersStance.class) != null && hero.buff(Force.class) == null){ + //clear brawler's stance if no ring of force is equipped + hero.buff(BrawlersStance.class).detach(); + } + return true; + } else { + return false; + } + } // *** Weapon-like properties *** @@ -188,7 +200,13 @@ public class RingOfForce extends Ring { } BrawlersStance stance = hero.buff(BrawlersStance.class); if (stance != null && stance.hitsLeft() > 0){ - return true; + //clear the buff if no ring of force is equipped + if (hero.buff(RingOfForce.Force.class) == null){ + stance.detach(); + return false; + } else { + return true; + } } return false; }