From 6210fc10ae28a06a92e7d4796b66115eb1fe028e Mon Sep 17 00:00:00 2001 From: Keader Date: Thu, 14 Sep 2017 11:15:28 -0300 Subject: Core/Handlers: Fixed changing equipment while charmed with equipament manager Closes #20209 Followup: a1a12ec755e4aa5e2e8475d6a6158bac94f0977a (cherry picked from commit 42be04898c6fd001160ee4fdf00fc2ba5c5c1ee3) --- src/server/game/Handlers/CharacterHandler.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src') diff --git a/src/server/game/Handlers/CharacterHandler.cpp b/src/server/game/Handlers/CharacterHandler.cpp index 17ca7dd0d2d..f35566d0b10 100644 --- a/src/server/game/Handlers/CharacterHandler.cpp +++ b/src/server/game/Handlers/CharacterHandler.cpp @@ -1874,6 +1874,9 @@ void WorldSession::HandleUseEquipmentSet(WorldPackets::EquipmentSet::UseEquipmen InventoryResult inventoryResult = _player->CanStoreItem(NULL_BAG, NULL_SLOT, itemPosCountVec, uItem, false); if (inventoryResult == EQUIP_ERR_OK) { + if (_player->CanEquipItem(NULL_SLOT, dstPos, uItem, false) != EQUIP_ERR_OK) + continue; + _player->RemoveItem(INVENTORY_SLOT_BAG_0, i, true); _player->StoreItem(itemPosCountVec, uItem, true); } @@ -1885,6 +1888,9 @@ void WorldSession::HandleUseEquipmentSet(WorldPackets::EquipmentSet::UseEquipmen if (item->GetPos() == dstPos) continue; + if (_player->CanUnequipItem(dstPos, true) != EQUIP_ERR_OK) + continue; + _player->SwapItem(item->GetPos(), dstPos); } -- cgit v1.2.3