v2.0.0: fixed errors when transmuting secondary weapon

This commit is contained in:
Evan Debenham
2023-02-24 12:25:41 -05:00
parent d641676aa3
commit 617c42e83c
2 changed files with 9 additions and 3 deletions

View File

@@ -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 )) {

View File

@@ -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);