From 440694cd4776be03c064acc3f988a0acfe6a7395 Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Wed, 11 Aug 2021 18:29:17 -0400 Subject: [PATCH] v0.9.4: improved unequipped item handling when invent is lost --- .../shatteredpixeldungeon/items/EquipableItem.java | 4 ++++ .../shatteredpixeldungeon/windows/WndResurrect.java | 5 ++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/EquipableItem.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/EquipableItem.java index cece711db..a6daa6826 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/EquipableItem.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/EquipableItem.java @@ -127,12 +127,16 @@ public abstract class EquipableItem extends Item { hero.spend( time2equip( hero ) ); } + //temporarily keep this item so it can be collected + boolean wasKept = keptThoughLostInvent; + keptThoughLostInvent = true; if (!collect || !collect( hero.belongings.backpack )) { onDetach(); Dungeon.quickslot.clearItem(this); updateQuickslot(); if (collect) Dungeon.level.drop( this, hero.pos ); } + keptThoughLostInvent = wasKept; return true; } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/windows/WndResurrect.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/windows/WndResurrect.java index ef243685b..c0e72c3e5 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/windows/WndResurrect.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/windows/WndResurrect.java @@ -130,9 +130,8 @@ public class WndResurrect extends Window { @Override public boolean itemSelectable(Item item) { - //cannot select ankhs, bags or equippable items that aren't equipped - return !(item instanceof Ankh) && !(item instanceof Bag) && - (!(item instanceof EquipableItem) || item.isEquipped(Dungeon.hero) || item instanceof MissileWeapon); + //cannot select ankhs or bags or equippable items that aren't equipped + return !(item instanceof Ankh || item instanceof Bag); } @Override