diff options
| author | Shauren <shauren.trinity@gmail.com> | 2016-06-18 23:03:16 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2016-06-18 23:03:16 +0200 |
| commit | 0de1adf2812a4fa896dc5cd21314e596b44457b9 (patch) | |
| tree | c414e3a08e01293edad3993b760604d7a1399b3e /src/server/game/Server/Packets | |
| parent | 49d0823b7062fba05725d27c406dbbe1a88a40f3 (diff) | |
Core/PacketIO: Updated equipment set packets and implemented saving transmog outfits (even if transmog itself isnt updated)
Diffstat (limited to 'src/server/game/Server/Packets')
| -rw-r--r-- | src/server/game/Server/Packets/EquipmentSetPackets.cpp | 18 | ||||
| -rw-r--r-- | src/server/game/Server/Packets/EquipmentSetPackets.h | 1 |
2 files changed, 17 insertions, 2 deletions
diff --git a/src/server/game/Server/Packets/EquipmentSetPackets.cpp b/src/server/game/Server/Packets/EquipmentSetPackets.cpp index 783def93e88..dbc40c63e7d 100644 --- a/src/server/game/Server/Packets/EquipmentSetPackets.cpp +++ b/src/server/game/Server/Packets/EquipmentSetPackets.cpp @@ -20,6 +20,7 @@ WorldPacket const* WorldPackets::EquipmentSet::EquipmentSetID::Write() { _worldPacket << uint64(GUID); + _worldPacket << int32(Type); _worldPacket << uint32(SetID); return &_worldPacket; @@ -31,12 +32,18 @@ WorldPacket const* WorldPackets::EquipmentSet::LoadEquipmentSet::Write() for (EquipmentSetInfo::EquipmentSetData const* equipSet : SetData) { + _worldPacket << int32(equipSet->Type); _worldPacket << uint64(equipSet->Guid); _worldPacket << uint32(equipSet->SetID); _worldPacket << uint32(equipSet->IgnoreMask); - for (ObjectGuid const& guid : equipSet->Pieces) - _worldPacket << guid; + for (std::size_t i = 0; i < EQUIPMENT_SLOT_END; ++i) + { + _worldPacket << equipSet->Pieces[i]; + _worldPacket << int32(equipSet->Appearances[i]); + } + + _worldPacket.append(equipSet->Enchants.data(), equipSet->Enchants.size()); _worldPacket.WriteBits(equipSet->SetName.length(), 8); _worldPacket.WriteBits(equipSet->SetIcon.length(), 9); @@ -51,12 +58,19 @@ WorldPacket const* WorldPackets::EquipmentSet::LoadEquipmentSet::Write() void WorldPackets::EquipmentSet::SaveEquipmentSet::Read() { + Set.Type = EquipmentSetInfo::EquipmentSetType(_worldPacket.read<int32>()); _worldPacket >> Set.Guid; _worldPacket >> Set.SetID; _worldPacket >> Set.IgnoreMask; for (uint8 i = 0; i < EQUIPMENT_SLOT_END; ++i) + { _worldPacket >> Set.Pieces[i]; + _worldPacket >> Set.Appearances[i]; + } + + _worldPacket >> Set.Enchants[0]; + _worldPacket >> Set.Enchants[1]; uint32 setNameLength = _worldPacket.ReadBits(8); uint32 setIconLength = _worldPacket.ReadBits(9); diff --git a/src/server/game/Server/Packets/EquipmentSetPackets.h b/src/server/game/Server/Packets/EquipmentSetPackets.h index e33b6a6cdca..42f6fd5df05 100644 --- a/src/server/game/Server/Packets/EquipmentSetPackets.h +++ b/src/server/game/Server/Packets/EquipmentSetPackets.h @@ -33,6 +33,7 @@ namespace WorldPackets WorldPacket const* Write() override; uint64 GUID = 0; ///< Set Identifier + int32 Type = 0; uint32 SetID = 0; ///< Index }; |
