aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxtorCoder <warsongkiller.s8@gmail.com>2019-07-28 10:34:51 +0200
committerShauren <shauren.trinity@gmail.com>2019-07-28 16:14:14 +0200
commit2e8d7194a9122d80a2f1291491a5e3c73e2960c4 (patch)
treefbabf35c21d309119196b8cbca3093eecc77f980
parentf2ef5f878df7c9536736684251fe86f456fc7590 (diff)
Core/PacketIO: Fixed inspect client crash
-rw-r--r--src/server/game/Server/Packets/InspectPackets.cpp9
-rw-r--r--src/server/game/Server/Packets/InspectPackets.h9
2 files changed, 16 insertions, 2 deletions
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<InspectEnchantData> Enchants;
std::vector<Item::ItemGemData> Gems;
std::vector<int32> AzeritePowers;
+ std::vector<InspectEssenceData> Essences;
};
struct PlayerModelDisplayInfo