aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Server/Packets
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2016-06-25 19:12:36 +0200
committerShauren <shauren.trinity@gmail.com>2016-06-25 19:12:36 +0200
commitdf4b4010d5c1a797a3bd025fd026637feced5b47 (patch)
treeb18dbad2e1a3df4c6d290ca887dab850507f2a4b /src/server/game/Server/Packets
parent5f1ce9e52655253767fff96820152d263e8eb0e6 (diff)
Core/PacketIO: Updated trade
Diffstat (limited to 'src/server/game/Server/Packets')
-rw-r--r--src/server/game/Server/Packets/TradePackets.cpp8
-rw-r--r--src/server/game/Server/Packets/TradePackets.h4
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;