From f3c076ab16a35955e0d723557d0373d41181def7 Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Mon, 10 Mar 2025 14:23:31 -0400 Subject: [PATCH] v3.0.1: fixed quick-using item from bag using the bag's targeting props --- .../shatteredpixeldungeon/items/bags/Bag.java | 19 +++++++++++++++++-- .../windows/WndQuickBag.java | 1 + 2 files changed, 18 insertions(+), 2 deletions(-) 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 2c256f4ca..0437ab0bc 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 @@ -48,15 +48,30 @@ public class Bag extends Item implements Iterable { } public Char owner; - + public ArrayList items = new ArrayList<>(); public int capacity(){ return 20; // default container size } - + + //if an item is being quick-used from the bag, the bag should take on its targeting properties + public Item quickUseItem; + + @Override + public int targetingPos(Hero user, int dst) { + if (quickUseItem != null){ + int target = quickUseItem.targetingPos(user, dst); + quickUseItem = null; + return target; + } else { + return super.targetingPos(user, dst); + } + } + @Override public void execute( Hero hero, String action ) { + quickUseItem = null; super.execute( hero, action ); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/windows/WndQuickBag.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/windows/WndQuickBag.java index fca0bcead..944c172ba 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/windows/WndQuickBag.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/windows/WndQuickBag.java @@ -109,6 +109,7 @@ public class WndQuickBag extends Window { int idx = Dungeon.quickslot.getSlot(WndQuickBag.bag); if (idx != -1){ QuickSlotButton.useTargeting(idx); + bag.quickUseItem = item; } } }