From 2e8d7194a9122d80a2f1291491a5e3c73e2960c4 Mon Sep 17 00:00:00 2001 From: MaxtorCoder Date: Sun, 28 Jul 2019 10:34:51 +0200 Subject: Core/PacketIO: Fixed inspect client crash --- src/server/game/Server/Packets/InspectPackets.cpp | 9 +++++++-- src/server/game/Server/Packets/InspectPackets.h | 9 +++++++++ 2 files changed, 16 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/server/game/Server/Packets/InspectPackets.cpp b/src/server/game/Server/Packets/InspectPackets.cpp index d356b495d3e..fe950bff5b1 100644 --- a/src/server/game/Server/Packets/InspectPackets.cpp +++ b/src/server/game/Server/Packets/InspectPackets.cpp @@ -37,6 +37,8 @@ ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Inspect::InspectItemData data << itemData.CreatorGUID; data << uint8(itemData.Index); data << uint32(itemData.AzeritePowers.size()); + data << uint32(itemData.Essences.size()); + if (!itemData.AzeritePowers.empty()) data.append(itemData.AzeritePowers.data(), itemData.AzeritePowers.size()); @@ -46,11 +48,14 @@ ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Inspect::InspectItemData data.WriteBits(itemData.Gems.size(), 2); data.FlushBits(); + for (size_t i = 0; i < itemData.Enchants.size(); ++i) + data << itemData.Enchants[i]; + for (auto const& gem : itemData.Gems) data << gem; - for (size_t i = 0; i < itemData.Enchants.size(); ++i) - data << itemData.Enchants[i]; + if (!itemData.Essences.empty()) + data.append(itemData.Essences.data(), itemData.Essences.size()); return data; } diff --git a/src/server/game/Server/Packets/InspectPackets.h b/src/server/game/Server/Packets/InspectPackets.h index 86ac8f286c4..10e1dfeb0e9 100644 --- a/src/server/game/Server/Packets/InspectPackets.h +++ b/src/server/game/Server/Packets/InspectPackets.h @@ -48,6 +48,14 @@ namespace WorldPackets uint8 Index = 0; }; + struct InspectEssenceData + { + uint32 Index = 0; + uint32 EssenceId = 0; + uint32 EssenceLevel = 0; + uint8 Unk820 = 0; + } + struct InspectItemData { InspectItemData(::Item const* item, uint8 index); @@ -59,6 +67,7 @@ namespace WorldPackets std::vector Enchants; std::vector Gems; std::vector AzeritePowers; + std::vector Essences; }; struct PlayerModelDisplayInfo -- cgit v1.2.3