diff options
| author | Shauren <shauren.trinity@gmail.com> | 2016-06-25 19:12:36 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2016-06-25 19:12:36 +0200 |
| commit | df4b4010d5c1a797a3bd025fd026637feced5b47 (patch) | |
| tree | b18dbad2e1a3df4c6d290ca887dab850507f2a4b /src/server/game/Server/Packets | |
| parent | 5f1ce9e52655253767fff96820152d263e8eb0e6 (diff) | |
Core/PacketIO: Updated trade
Diffstat (limited to 'src/server/game/Server/Packets')
| -rw-r--r-- | src/server/game/Server/Packets/TradePackets.cpp | 8 | ||||
| -rw-r--r-- | src/server/game/Server/Packets/TradePackets.h | 4 |
2 files changed, 7 insertions, 5 deletions
diff --git a/src/server/game/Server/Packets/TradePackets.cpp b/src/server/game/Server/Packets/TradePackets.cpp index a66d50268f6..2eadb4796ae 100644 --- a/src/server/game/Server/Packets/TradePackets.cpp +++ b/src/server/game/Server/Packets/TradePackets.cpp @@ -84,25 +84,27 @@ WorldPacket const* WorldPackets::Trade::TradeStatus::Write() ByteBuffer& operator<<(ByteBuffer& buffer, WorldPackets::Trade::TradeUpdated::UnwrappedTradeItem const& unwrappedTradeItem) { - buffer << unwrappedTradeItem.Item; buffer << int32(unwrappedTradeItem.EnchantID); buffer << int32(unwrappedTradeItem.OnUseEnchantmentID); - buffer.append(unwrappedTradeItem.SocketEnchant, MAX_GEM_SOCKETS); buffer << unwrappedTradeItem.Creator; buffer << int32(unwrappedTradeItem.Charges); buffer << uint32(unwrappedTradeItem.MaxDurability); buffer << uint32(unwrappedTradeItem.Durability); + buffer.WriteBits(unwrappedTradeItem.Gems.size(), 2); buffer.WriteBit(unwrappedTradeItem.Lock); buffer.FlushBits(); + for (WorldPackets::Item::ItemGemInstanceData const& gem : unwrappedTradeItem.Gems) + buffer << gem; + return buffer; } ByteBuffer& operator<<(ByteBuffer& buffer, WorldPackets::Trade::TradeUpdated::TradeItem const& tradeItem) { buffer << uint8(tradeItem.Slot); - buffer << uint32(tradeItem.EntryID); buffer << uint32(tradeItem.StackCount); + buffer << tradeItem.Item; buffer << tradeItem.GiftCreator; if (buffer.WriteBit(tradeItem.Unwrapped.is_initialized())) buffer << *tradeItem.Unwrapped; diff --git a/src/server/game/Server/Packets/TradePackets.h b/src/server/game/Server/Packets/TradePackets.h index 3536ae34b83..df3b62165dd 100644 --- a/src/server/game/Server/Packets/TradePackets.h +++ b/src/server/game/Server/Packets/TradePackets.h @@ -160,13 +160,13 @@ namespace WorldPackets bool Lock = false; uint32 MaxDurability = 0; uint32 Durability = 0; - int32 SocketEnchant[MAX_GEM_SOCKETS] = { }; + std::vector<Item::ItemGemInstanceData> Gems; }; struct TradeItem { uint8 Slot = 0; - int32 EntryID = 0; + Item::ItemInstance Item; int32 StackCount = 0; ObjectGuid GiftCreator; Optional<UnwrappedTradeItem> Unwrapped; |
