From d44dbc04f19593aa7db3c78a3a410e70768f69fc Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Wed, 23 Dec 2020 00:08:25 -0500 Subject: [PATCH] v0.9.1b: fixed various errors with for sale heaps --- .../shatteredpixeldungeon/actors/mobs/npcs/Shopkeeper.java | 7 ++++++- .../shatteredpixel/shatteredpixeldungeon/items/Heap.java | 6 +++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/npcs/Shopkeeper.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/npcs/Shopkeeper.java index 6cc22bbec..e34377f6a 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/npcs/Shopkeeper.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/npcs/Shopkeeper.java @@ -83,7 +83,12 @@ public class Shopkeeper extends NPC { for (Heap heap: Dungeon.level.heaps.valueList()) { if (heap.type == Heap.Type.FOR_SALE) { CellEmitter.get( heap.pos ).burst( ElmoParticle.FACTORY, 4 ); - heap.destroy(); + if (heap.size() == 1) { + heap.destroy(); + } else { + heap.items.remove(heap.size()-1); + heap.type = Heap.Type.HEAP; + } } } } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/Heap.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/Heap.java index 1d1dcb111..73003ee5c 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/Heap.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/Heap.java @@ -349,7 +349,11 @@ public class Heap implements Bundlable { switch(type){ case FOR_SALE: Item i = peek(); - return Messages.get(this, "for_sale", Shopkeeper.sellPrice(i), i.toString()); + if (size() == 1) { + return Messages.get(this, "for_sale", Shopkeeper.sellPrice(i), i.toString()); + } else { + return i.toString(); + } case CHEST: case MIMIC: return Messages.get(this, "chest");