diff options
Diffstat (limited to 'src/server/game/Handlers/CharacterHandler.cpp')
| -rw-r--r-- | src/server/game/Handlers/CharacterHandler.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/server/game/Handlers/CharacterHandler.cpp b/src/server/game/Handlers/CharacterHandler.cpp index 0fafac05597..e81506678ef 100644 --- a/src/server/game/Handlers/CharacterHandler.cpp +++ b/src/server/game/Handlers/CharacterHandler.cpp @@ -1697,9 +1697,6 @@ void WorldSession::HandleEquipmentSetDelete(WorldPacket &recvData) void WorldSession::HandleEquipmentSetUse(WorldPacket& recvData) { - if (_player->IsInCombat()) - return; - TC_LOG_DEBUG("network", "CMSG_EQUIPMENT_SET_USE"); for (uint32 i = 0; i < EQUIPMENT_SLOT_END; ++i) @@ -1716,6 +1713,10 @@ void WorldSession::HandleEquipmentSetUse(WorldPacket& recvData) if (itemGuid == 1) continue; + // Only equip weapons in combat + if (_player->IsInCombat() && i != EQUIPMENT_SLOT_MAINHAND && i != EQUIPMENT_SLOT_OFFHAND && i != EQUIPMENT_SLOT_RANGED) + continue; + Item* item = _player->GetItemByGuid(itemGuid); uint16 dstpos = i | (INVENTORY_SLOT_BAG_0 << 8); |
