From 96d0746fe1ede57d004c639febb8d1eacf8de5d5 Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Sat, 8 Feb 2025 15:45:18 -0500 Subject: [PATCH] v3.0.0: fixed spirit form crashes when armor isn't quickslotted --- .../actors/hero/spells/SpiritForm.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/spells/SpiritForm.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/spells/SpiritForm.java index 0eda8fdce..131098fdd 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/spells/SpiritForm.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/spells/SpiritForm.java @@ -209,14 +209,18 @@ public class SpiritForm extends ClericSpell { } else if (effect instanceof EtherealChains){ GameScene.selectCell(((EtherealChains) effect).caster); - QuickSlotButton.useTargeting(Dungeon.quickslot.getSlot(armor)); + if (Dungeon.quickslot.contains(armor)) { + QuickSlotButton.useTargeting(Dungeon.quickslot.getSlot(armor)); + } } else if (effect instanceof HornOfPlenty){ ((HornOfPlenty) effect).doEatEffect(Dungeon.hero, 1); } else if (effect instanceof MasterThievesArmband){ GameScene.selectCell(((MasterThievesArmband) effect).targeter); - QuickSlotButton.useTargeting(Dungeon.quickslot.getSlot(armor)); + if (Dungeon.quickslot.contains(armor)) { + QuickSlotButton.useTargeting(Dungeon.quickslot.getSlot(armor)); + } } else if (effect instanceof SandalsOfNature){ ((SandalsOfNature) effect).curSeedEffect = Random.oneOf( @@ -225,7 +229,9 @@ public class SpiritForm extends ClericSpell { ); GameScene.selectCell(((SandalsOfNature) effect).cellSelector); - QuickSlotButton.useTargeting(Dungeon.quickslot.getSlot(armor)); + if (Dungeon.quickslot.contains(armor)) { + QuickSlotButton.useTargeting(Dungeon.quickslot.getSlot(armor)); + } } else if (effect instanceof TalismanOfForesight){ GameScene.selectCell(((TalismanOfForesight) effect).scry);