aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Handlers/CharacterHandler.cpp6
1 files changed, 6 insertions, 0 deletions
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);
}