diff options
author | Shauren <shauren.trinity@gmail.com> | 2018-01-08 00:45:24 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2018-01-08 00:45:24 +0100 |
commit | a16d3209fd1cbc39b9b9fd5219b85419ed9d775c (patch) | |
tree | 34a00ce64e40c414edd7bba42e0060a5770f2c07 | |
parent | f0666ad35bd072e9e8488cf852824b559ed46338 (diff) |
Core/Items: Try to automatically equip new bags
Closes #17544
-rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
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) |