diff options
| author | Keader <keader.android@gmail.com> | 2017-09-14 11:15:28 -0300 |
|---|---|---|
| committer | Keader <keader.android@gmail.com> | 2017-09-14 11:15:28 -0300 |
| commit | 42be04898c6fd001160ee4fdf00fc2ba5c5c1ee3 (patch) | |
| tree | 97fd90f790cecf67a2abc8461013e0e248969274 | |
| parent | 4505a4a30d8fee0c262a3a17253d50f8c86c9a4f (diff) | |
Core/Handlers: Fixed changing equipment while charmed with equipament manager
Closes #20209
Followup: a1a12ec755e4aa5e2e8475d6a6158bac94f0977a
| -rw-r--r-- | src/server/game/Handlers/CharacterHandler.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/server/game/Handlers/CharacterHandler.cpp b/src/server/game/Handlers/CharacterHandler.cpp index 9bdf294c9b3..ba0eecb0b35 100644 --- a/src/server/game/Handlers/CharacterHandler.cpp +++ b/src/server/game/Handlers/CharacterHandler.cpp @@ -1560,6 +1560,9 @@ void WorldSession::HandleEquipmentSetUse(WorldPacket& recvData) InventoryResult msg = _player->CanStoreItem(NULL_BAG, NULL_SLOT, sDest, uItem, false); if (msg == 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(sDest, uItem, true); } @@ -1572,6 +1575,9 @@ void WorldSession::HandleEquipmentSetUse(WorldPacket& recvData) if (item->GetPos() == dstpos) continue; + if (_player->CanUnequipItem(dstpos, true) != EQUIP_ERR_OK) + continue; + _player->SwapItem(item->GetPos(), dstpos); } |
