diff options
author | Vincent-Michael <Vincent_Michael@gmx.de> | 2015-04-11 21:05:41 +0200 |
---|---|---|
committer | Vincent-Michael <Vincent_Michael@gmx.de> | 2015-04-11 21:05:41 +0200 |
commit | 3f0a54378c4c3b6c49810ed50f4c213b1279d6cf (patch) | |
tree | a5d6b677f9ffff9963902ad197b249e22fb9f06f /src/server/game/Handlers/ItemHandler.cpp | |
parent | af62ebe765fe45ceb8b4275f5ed69a9b19cad914 (diff) |
Core/PacketIO: Updated & enabled CMSG_READ_ITEM/SMSG_READ_ITEM_RESULT_OK
Diffstat (limited to 'src/server/game/Handlers/ItemHandler.cpp')
-rw-r--r-- | src/server/game/Handlers/ItemHandler.cpp | 31 |
1 files changed, 16 insertions, 15 deletions
diff --git a/src/server/game/Handlers/ItemHandler.cpp b/src/server/game/Handlers/ItemHandler.cpp index 1ec4e134126..335bb9ce48c 100644 --- a/src/server/game/Handlers/ItemHandler.cpp +++ b/src/server/game/Handlers/ItemHandler.cpp @@ -310,31 +310,32 @@ void WorldSession::HandleDestroyItemOpcode(WorldPackets::Item::DestroyItem& dest _player->DestroyItem(destroyItem.ContainerId, destroyItem.SlotNum, true); } -void WorldSession::HandleReadItem(WorldPacket& recvData) +void WorldSession::HandleReadItem(WorldPackets::Item::ReadItem& readItem) { - uint8 bag, slot; - recvData >> bag >> slot; - - Item* pItem = _player->GetItemByPos(bag, slot); - - if (pItem && pItem->GetTemplate()->GetPageText()) + Item* item = _player->GetItemByPos(readItem.PackSlot, readItem.Slot); + if (item && item->GetTemplate()->GetPageText()) { - WorldPacket data; - - InventoryResult msg = _player->CanUseItem(pItem); + InventoryResult msg = _player->CanUseItem(item); if (msg == EQUIP_ERR_OK) { - data.Initialize(SMSG_READ_ITEM_RESULT_OK, 8); + WorldPackets::Item::ReadItemResultOK packet; + packet.Item = item->GetGUID(); + SendPacket(packet.Write()); + TC_LOG_INFO("network", "STORAGE: Item page sent"); } else { - data.Initialize(SMSG_READ_ITEM_RESULT_FAILED, 8); + /// @todo: 6.x research new values + /*WorldPackets::Item::ReadItemResultFailed packet; + packet.Item = item->GetGUID(); + packet.Subcode = ??; + packet.Delay = ??; + SendPacket(packet.Write());*/ + TC_LOG_INFO("network", "STORAGE: Unable to read item"); - _player->SendEquipError(msg, pItem, NULL); + _player->SendEquipError(msg, item, NULL); } - data << pItem->GetGUID(); - SendPacket(&data); } else _player->SendEquipError(EQUIP_ERR_ITEM_NOT_FOUND, NULL, NULL); |