diff --git a/QuickStackToBag/Lua/Cyka/quickreload.lua b/QuickStackToBag/Lua/Cyka/quickreload.lua index dbbdcd7..a868b7d 100644 --- a/QuickStackToBag/Lua/Cyka/quickreload.lua +++ b/QuickStackToBag/Lua/Cyka/quickreload.lua @@ -10,6 +10,9 @@ local dump = require("Cyka.dump") -- So we will just hardcode tools and their whitelisted magazines ---@type table> local LOAD_MAP = { + plasmacutter = { + oxygentank = true + } } ---@param inventory Barotrauma.ItemInventory @@ -67,12 +70,24 @@ local function getPermissibleItemsPerSlot(movableBySlot) for inventorySlot, items in pairs(movableBySlot) do for _, ititem in ipairs(items) do local thisone = tostring(ititem.Prefab.Identifier.Value) + permissibleItemsPerSlot[inventorySlot] = permissibleItemsPerSlot[inventorySlot] or {} permissibleItemsPerSlot[inventorySlot][thisone] = true end end return permissibleItemsPerSlot end +---@param movableBySlot table +local function printPermissibleItems(movableBySlot) + local permissibleItemsPerSlot = getPermissibleItemsPerSlot(movableBySlot) + MyModGlobal.debugPrint("Can load:") + for _, loadableItems in pairs(permissibleItemsPerSlot) do + for loadableItem, _ in pairs(loadableItems) do + MyModGlobal.debugPrint(" " .. loadableItem) + end + end +end + ---@param slot InventorySlot ---@param preferMinCondition boolean @@ -112,10 +127,8 @@ local function tryReloadSlot(slot, preferMinCondition) local permissibleItems = LOAD_MAP[tostring(item.Prefab.Identifier.Value)] if not permissibleItems then - MyModGlobal.debugPrint("No permissible items for item") - local permissibleItemsPerSlot = getPermissibleItemsPerSlot(movableBySlot) - MyModGlobal.debugPrint("Can load per slot:") - dump(permissibleItemsPerSlot) + MyModGlobal.debugPrint("No permissible items for " .. tostring(item.Prefab.Identifier.Value)) + printPermissibleItems(movableBySlot) return end