From 2ab5cf5eb6fdb9d4b17efe87d8f11201d8c6f9a5 Mon Sep 17 00:00:00 2001 From: Kelsi Date: Wed, 25 Feb 2026 13:47:42 -0800 Subject: [PATCH] Add inventory-to-bank deposit on right-click When the bank is open, right-clicking a backpack or bag item now deposits it into the bank via CMSG_AUTOBANK_ITEM instead of trying to equip/use it. Bank deposit takes priority over vendor sell and auto-equip actions. --- src/ui/inventory_screen.cpp | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/ui/inventory_screen.cpp b/src/ui/inventory_screen.cpp index aa48cc40..e12f24ca 100644 --- a/src/ui/inventory_screen.cpp +++ b/src/ui/inventory_screen.cpp @@ -1402,13 +1402,20 @@ void InventoryScreen::renderItemSlot(game::Inventory& inventory, const game::Ite } } - // Right-click: vendor sell (if vendor mode) or auto-equip/use + // Right-click: bank deposit (if bank open), vendor sell (if vendor mode), or auto-equip/use if (ImGui::IsItemClicked(ImGuiMouseButton_Right) && !holdingItem && gameHandler_) { LOG_INFO("Right-click slot: kind=", (int)kind, " backpackIndex=", backpackIndex, " bagIndex=", bagIndex, " bagSlotIndex=", bagSlotIndex, - " vendorMode=", vendorMode_); - if (vendorMode_ && kind == SlotKind::BACKPACK && backpackIndex >= 0) { + " vendorMode=", vendorMode_, + " bankOpen=", gameHandler_->isBankOpen()); + if (gameHandler_->isBankOpen() && kind == SlotKind::BACKPACK && backpackIndex >= 0) { + // Deposit backpack item into bank: bag=0xFF, slot=23+index + gameHandler_->depositItem(0xFF, static_cast(23 + backpackIndex)); + } else if (gameHandler_->isBankOpen() && kind == SlotKind::BACKPACK && isBagSlot) { + // Deposit bag item into bank: bag=19+bagIndex, slot=slotIndex + gameHandler_->depositItem(static_cast(19 + bagIndex), static_cast(bagSlotIndex)); + } else if (vendorMode_ && kind == SlotKind::BACKPACK && backpackIndex >= 0) { gameHandler_->sellItemBySlot(backpackIndex); } else if (vendorMode_ && kind == SlotKind::BACKPACK && isBagSlot) { gameHandler_->sellItemInBag(bagIndex, bagSlotIndex);