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