From a16d3209fd1cbc39b9b9fd5219b85419ed9d775c Mon Sep 17 00:00:00 2001 From: Shauren Date: Mon, 8 Jan 2018 00:45:24 +0100 Subject: Core/Items: Try to automatically equip new bags Closes #17544 --- src/server/game/Entities/Player/Player.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 1050ba2ff7c..247494cdf54 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -10732,7 +10732,13 @@ InventoryResult Player::CanStoreItem(uint8 bag, uint8 slot, ItemPosCountVec &des } // search free slot - res = CanStoreItem_InInventorySlots(INVENTORY_SLOT_ITEM_START, INVENTORY_SLOT_ITEM_END, dest, pProto, count, false, pItem, bag, slot); + uint8 searchSlotStart = INVENTORY_SLOT_ITEM_START; + // new bags can be directly equipped + if (!pItem && pProto->GetClass() == ITEM_CLASS_CONTAINER && pProto->GetSubClass() == ITEM_SUBCLASS_CONTAINER && + (pProto->GetBonding() == BIND_NONE || pProto->GetBonding() == BIND_ON_ACQUIRE)) + searchSlotStart = INVENTORY_SLOT_BAG_START; + + res = CanStoreItem_InInventorySlots(searchSlotStart, INVENTORY_SLOT_ITEM_END, dest, pProto, count, false, pItem, bag, slot); if (res != EQUIP_ERR_OK) { if (no_space_count) -- cgit v1.2.3