From 83467489ba2bb5a3be53469e3d376bf02337e3ae Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Fri, 10 May 2024 11:25:53 -0400 Subject: [PATCH] v2.4.0: fixed some bugs in wondrous resin cursed wand effects --- .../scrolls/exotic/ScrollOfMetamorphosis.java | 2 +- .../items/wands/CursedWand.java | 14 ++++++++------ 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/scrolls/exotic/ScrollOfMetamorphosis.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/scrolls/exotic/ScrollOfMetamorphosis.java index 8ee1b1a7a..9d6667ffd 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/scrolls/exotic/ScrollOfMetamorphosis.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/scrolls/exotic/ScrollOfMetamorphosis.java @@ -197,7 +197,7 @@ public class ScrollOfMetamorphosis extends ExoticScroll { public WndMetamorphReplace(Talent replacing, int tier){ super(); - if (!identifiedByUse) { + if (!identifiedByUse && curItem instanceof ScrollOfMetamorphosis) { curItem.detach(curUser.belongings.backpack); } identifiedByUse = false; diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/CursedWand.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/CursedWand.java index d82f26740..2c7070fc9 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/CursedWand.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/CursedWand.java @@ -306,6 +306,7 @@ public class CursedWand { if (ch != null){ Buff.affect(ch, Hex.class, Hex.DURATION); } + return true; } if (user instanceof Hero) { CursingTrap.curse( (Hero) user ); @@ -395,20 +396,21 @@ public class CursedWand { Mimic mimic = Mimic.spawnAt(spawnCell, GoldenMimic.class, false); mimic.stopHiding(); mimic.alignment = Char.Alignment.ENEMY; - Item reward; - do { - reward = Generator.randomUsingDefaults(Random.oneOf(Generator.Category.WEAPON, Generator.Category.ARMOR, - Generator.Category.RING, Generator.Category.WAND)); - } while (reward.level() < 1); //play vfx/sfx manually as mimic isn't in the scene yet Sample.INSTANCE.play(Assets.Sounds.MIMIC, 1, 0.85f); CellEmitter.get(mimic.pos).burst(Speck.factory(Speck.STAR), 10); mimic.items.clear(); - mimic.items.add(reward); GameScene.add(mimic); if (positiveOnly){ Buff.affect(mimic, ScrollOfSirensSong.Enthralled.class); + } else { + Item reward; + do { + reward = Generator.randomUsingDefaults(Random.oneOf(Generator.Category.WEAPON, Generator.Category.ARMOR, + Generator.Category.RING, Generator.Category.WAND)); + } while (reward.level() < 1); + mimic.items.add(reward); } return true;