From 31b8578abaced9b8080b68a1c92e5b0e9b935eea Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Wed, 30 Jul 2025 14:32:09 -0400 Subject: [PATCH] v3.2.0: chaotic censor no longer considers passive enemies valid targets --- .../items/trinkets/ChaoticCenser.java | 21 +++++++++++-------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/trinkets/ChaoticCenser.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/trinkets/ChaoticCenser.java index 23d36435d..5e3646c8c 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/trinkets/ChaoticCenser.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/trinkets/ChaoticCenser.java @@ -37,6 +37,7 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.ToxicGas; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.FlavourBuff; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Regeneration; +import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Mob; import com.shatteredpixel.shatteredpixeldungeon.effects.MagicMissile; import com.shatteredpixel.shatteredpixeldungeon.effects.Speck; import com.shatteredpixel.shatteredpixeldungeon.effects.TargetedCell; @@ -105,17 +106,19 @@ public class ChaoticCenser extends Trinket { if (left <= 0) { - Char enemy = null; + if (TargetHealthIndicator.instance != null && TargetHealthIndicator.instance.isVisible()){ + Char target = TargetHealthIndicator.instance.target(); - if (TargetHealthIndicator.instance != null && TargetHealthIndicator.instance.isVisible() - && TargetHealthIndicator.instance.target() != null - && TargetHealthIndicator.instance.target().alignment == Char.Alignment.ENEMY - && TargetHealthIndicator.instance.target().isAlive()) { + if (target != null + && target.isActive() + && target.alignment == Char.Alignment.ENEMY + && (!(target instanceof Mob) || ((Mob) target).state != ((Mob) target).PASSIVE)){ - if (produceGas(TargetHealthIndicator.instance.target())){ - Sample.INSTANCE.play(Assets.Sounds.GAS, 0.5f); - Dungeon.hero.interrupt(); - left += Random.IntRange((int) (avgTurns * 0.9f), (int) (avgTurns * 1.1f)); + if (produceGas(target)){ + Sample.INSTANCE.play(Assets.Sounds.GAS, 0.5f); + Dungeon.hero.interrupt(); + left += Random.IntRange((int) (avgTurns * 0.9f), (int) (avgTurns * 1.1f)); + } } }