From 5b8125a6594044948a46fd5da1ca04538cb13385 Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Wed, 25 Sep 2019 13:10:56 -0400 Subject: [PATCH] v0.7.5: added a new property for items that fall into the bottom of a heap, and added a convenience method for removing a specific item from a heap. --- .../shatteredpixeldungeon/items/Dewdrop.java | 1 + .../shatteredpixeldungeon/items/Heap.java | 12 +++++++++++- .../shatteredpixeldungeon/items/Item.java | 1 + .../items/artifacts/DriedRose.java | 2 ++ 4 files changed, 15 insertions(+), 1 deletion(-) diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/Dewdrop.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/Dewdrop.java index 58d453a4f..d1ac8ab56 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/Dewdrop.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/Dewdrop.java @@ -36,6 +36,7 @@ public class Dewdrop extends Item { image = ItemSpriteSheet.DEWDROP; stackable = true; + dropsDownHeap = true; } @Override 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 0bfe5e9a2..2e3642cf0 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/Heap.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/Heap.java @@ -206,7 +206,7 @@ public class Heap implements Bundlable { } - if ((item instanceof Dewdrop || item instanceof DriedRose.Petal) && type != Type.FOR_SALE) { + if (item.dropsDownHeap && type != Type.FOR_SALE) { items.add( item ); } else { items.addFirst( item ); @@ -229,6 +229,16 @@ public class Heap implements Bundlable { } } + public void remove( Item a ){ + items.remove(a); + if (items.isEmpty()){ + destroy(); + } else { + sprite.view( image(), glowing() ); + sprite.place( pos ); + } + } + public void burn() { if (type == Type.MIMIC) { diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/Item.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/Item.java index c246a280f..ed66e069e 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/Item.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/Item.java @@ -69,6 +69,7 @@ public class Item implements Bundlable { public boolean stackable = false; protected int quantity = 1; + public boolean dropsDownHeap = false; private int level = 0; diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/DriedRose.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/DriedRose.java index 36a7e0b73..74bcb2fa8 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/DriedRose.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/DriedRose.java @@ -443,6 +443,8 @@ public class DriedRose extends Artifact { { stackable = true; + dropsDownHeap = true; + image = ItemSpriteSheet.PETAL; }