diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/Belongings.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/Belongings.java index f3bc6ca5c..c489acb3f 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/Belongings.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/Belongings.java @@ -206,7 +206,7 @@ public class Belongings implements Iterable { item.detachAll(backpack); //you keep the bag itself, not its contents. if (item instanceof Bag){ - ((Bag)item).clear(); + ((Bag)item).resurrect(); } item.collect(); } else if (!item.isEquipped( owner )) { diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/bags/Bag.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/bags/Bag.java index 0afd75295..04ce02ccf 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/bags/Bag.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/bags/Bag.java @@ -114,6 +114,12 @@ public class Bag extends Item implements Iterable { items.clear(); } + public void resurrect() { + for (Item item : items.toArray(new Item[0])){ + if (!item.unique) items.remove(item); + } + } + private static final String ITEMS = "inventory"; @Override