From f850f6d521a1f2a8598659800e9de821fb1adf48 Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Fri, 6 Apr 2018 01:33:28 -0400 Subject: [PATCH] v0.6.4a: fixed unique items in bags being removed by ankh revive --- .../shatteredpixeldungeon/actors/hero/Belongings.java | 2 +- .../shatteredpixeldungeon/items/bags/Bag.java | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) 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