From 617c42e83c0662efa24f5b48cd5ef71efe400d28 Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Fri, 24 Feb 2023 12:25:41 -0500 Subject: [PATCH] v2.0.0: fixed errors when transmuting secondary weapon --- .../shatteredpixeldungeon/items/KindOfWeapon.java | 2 +- .../items/scrolls/ScrollOfTransmutation.java | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/KindOfWeapon.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/KindOfWeapon.java index 18efd221b..fe675d9eb 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/KindOfWeapon.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/KindOfWeapon.java @@ -138,7 +138,7 @@ abstract public class KindOfWeapon extends EquipableItem { } } - private boolean equipSecondary( Hero hero ){ + public boolean equipSecondary( Hero hero ){ detachAll( hero.belongings.backpack ); if (hero.belongings.secondWep == null || hero.belongings.secondWep.doUnequip( hero, true )) { diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/scrolls/ScrollOfTransmutation.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/scrolls/ScrollOfTransmutation.java index 9d434c181..72bbfc625 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/scrolls/ScrollOfTransmutation.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/scrolls/ScrollOfTransmutation.java @@ -29,6 +29,7 @@ import com.shatteredpixel.shatteredpixeldungeon.effects.Transmuting; import com.shatteredpixel.shatteredpixeldungeon.items.EquipableItem; import com.shatteredpixel.shatteredpixeldungeon.items.Generator; import com.shatteredpixel.shatteredpixeldungeon.items.Item; +import com.shatteredpixel.shatteredpixeldungeon.items.KindOfWeapon; import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.Artifact; import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.DriedRose; import com.shatteredpixel.shatteredpixeldungeon.items.potions.AlchemicalCatalyst; @@ -89,8 +90,13 @@ public class ScrollOfTransmutation extends InventoryScroll { int slot = Dungeon.quickslot.getSlot(item); if (item.isEquipped(Dungeon.hero)) { item.cursed = false; //to allow it to be unequipped - ((EquipableItem) item).doUnequip(Dungeon.hero, false); - ((EquipableItem) result).doEquip(Dungeon.hero); + if (item instanceof KindOfWeapon && Dungeon.hero.belongings.secondWep() == item){ + ((EquipableItem) item).doUnequip(Dungeon.hero, false); + ((KindOfWeapon) result).equipSecondary(Dungeon.hero); + } else { + ((EquipableItem) item).doUnequip(Dungeon.hero, false); + ((EquipableItem) result).doEquip(Dungeon.hero); + } Dungeon.hero.spend(-Dungeon.hero.cooldown()); //cancel equip/unequip time } else { item.detach(Dungeon.hero.belongings.backpack);