aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2024-10-30 14:40:51 +0100
committerShauren <shauren.trinity@gmail.com>2024-10-30 14:40:51 +0100
commit5f37b29f41b6cb3fbcc3dc6bc0cf3a25c1f7eb6a (patch)
treec89af4690c0e4fc027645eb6506aaabedeb058d0 /src
parentac7a95b45ca239d91b3daa8e2f77376382b092d2 (diff)
Core/PacketIO: Updated packet structures to 11.0.5
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Handlers/GroupHandler.cpp2
-rw-r--r--src/server/game/Handlers/ItemHandler.cpp1
-rw-r--r--src/server/game/Server/Packets/AuctionHousePackets.cpp24
-rw-r--r--src/server/game/Server/Packets/ChannelPackets.cpp2
-rw-r--r--src/server/game/Server/Packets/CombatLogPacketsCommon.cpp2
-rw-r--r--src/server/game/Server/Packets/CombatLogPacketsCommon.h2
-rw-r--r--src/server/game/Server/Packets/ItemPackets.cpp2
-rw-r--r--src/server/game/Server/Packets/MovementPackets.cpp2
-rw-r--r--src/server/game/Server/Packets/MovementPackets.h2
-rw-r--r--src/server/game/Server/Packets/NPCPackets.cpp3
-rw-r--r--src/server/game/Server/Packets/NPCPackets.h3
-rw-r--r--src/server/game/Server/Packets/PartyPackets.cpp16
-rw-r--r--src/server/game/Server/Packets/PartyPackets.h4
-rw-r--r--src/server/game/Server/Packets/PerksProgramPacketsCommon.cpp3
-rw-r--r--src/server/game/Server/Packets/PerksProgramPacketsCommon.h1
-rw-r--r--src/server/game/Server/Packets/SpellPackets.h2
-rw-r--r--src/server/game/Server/Protocol/Opcodes.cpp1
17 files changed, 51 insertions, 21 deletions
diff --git a/src/server/game/Handlers/GroupHandler.cpp b/src/server/game/Handlers/GroupHandler.cpp
index e4e67f534fe..daa0e086981 100644
--- a/src/server/game/Handlers/GroupHandler.cpp
+++ b/src/server/game/Handlers/GroupHandler.cpp
@@ -716,6 +716,8 @@ void WorldSession::HandleSendPingUnit(WorldPackets::Party::SendPingUnit const& p
broadcastPingUnit.Type = pingUnit.Type;
broadcastPingUnit.PinFrameID = pingUnit.PinFrameID;
broadcastPingUnit.PingDuration = pingUnit.PingDuration;
+ broadcastPingUnit.CreatureID = pingUnit.CreatureID;
+ broadcastPingUnit.SpellOverrideNameID = pingUnit.SpellOverrideNameID;
broadcastPingUnit.Write();
for (GroupReference const* itr = group->GetFirstMember(); itr != nullptr; itr = itr->next())
diff --git a/src/server/game/Handlers/ItemHandler.cpp b/src/server/game/Handlers/ItemHandler.cpp
index a91a069b6fa..09bd20d0287 100644
--- a/src/server/game/Handlers/ItemHandler.cpp
+++ b/src/server/game/Handlers/ItemHandler.cpp
@@ -670,7 +670,6 @@ void WorldSession::SendListInventory(ObjectGuid vendorGuid)
price -= CalculatePct(price, priceMod);
item.MuID = slot + 1; // client expects counting to start at 1
- item.Durability = itemTemplate->MaxDurability;
item.ExtendedCostID = vendorItem->ExtendedCost;
item.Type = vendorItem->Type;
item.Quantity = leftInStock;
diff --git a/src/server/game/Server/Packets/AuctionHousePackets.cpp b/src/server/game/Server/Packets/AuctionHousePackets.cpp
index 3ede64d39c0..b20637824f3 100644
--- a/src/server/game/Server/Packets/AuctionHousePackets.cpp
+++ b/src/server/game/Server/Packets/AuctionHousePackets.cpp
@@ -628,18 +628,22 @@ WorldPacket const* AuctionListBucketsResult::Write()
WorldPacket const* AuctionListItemsResult::Write()
{
- _worldPacket << uint32(Items.size());
- _worldPacket << uint32(Unknown830);
- _worldPacket << uint32(TotalCount);
- _worldPacket << uint32(DesiredDelay);
- _worldPacket.WriteBits(AsUnderlyingType(ListType), 2);
- _worldPacket.WriteBit(HasMoreResults);
- _worldPacket.FlushBits();
+ {
+ _worldPacket << uint32(Items.size());
+ _worldPacket << uint32(Unknown830);
+ _worldPacket << uint32(DesiredDelay);
+ for (AuctionItem const& item : Items)
+ _worldPacket << item;
+ }
- _worldPacket << BucketKey;
+ {
+ _worldPacket.WriteBits(AsUnderlyingType(ListType), 2);
+ _worldPacket.WriteBit(HasMoreResults);
+ _worldPacket.FlushBits();
- for (AuctionItem const& item : Items)
- _worldPacket << item;
+ _worldPacket << BucketKey;
+ _worldPacket << uint32(TotalCount);
+ }
return &_worldPacket;
}
diff --git a/src/server/game/Server/Packets/ChannelPackets.cpp b/src/server/game/Server/Packets/ChannelPackets.cpp
index 23508d9e591..22024120928 100644
--- a/src/server/game/Server/Packets/ChannelPackets.cpp
+++ b/src/server/game/Server/Packets/ChannelPackets.cpp
@@ -114,7 +114,7 @@ WorldPacket const* WorldPackets::Channel::UserlistUpdate::Write()
_worldPacket << UpdatedUserGUID;
_worldPacket << uint8(UserFlags);
_worldPacket << uint32(_ChannelFlags);
- _worldPacket << uint32(ChannelID);
+ _worldPacket << int32(ChannelID);
_worldPacket.WriteBits(ChannelName.length(), 7);
_worldPacket.FlushBits();
_worldPacket.WriteString(ChannelName);
diff --git a/src/server/game/Server/Packets/CombatLogPacketsCommon.cpp b/src/server/game/Server/Packets/CombatLogPacketsCommon.cpp
index 3be80ecc4ce..d417f50fa06 100644
--- a/src/server/game/Server/Packets/CombatLogPacketsCommon.cpp
+++ b/src/server/game/Server/Packets/CombatLogPacketsCommon.cpp
@@ -160,6 +160,8 @@ ByteBuffer& operator<<(ByteBuffer& data, SpellCastLogData const& spellCastLogDat
data << int32(spellCastLogData.AttackPower);
data << int32(spellCastLogData.SpellPower);
data << int32(spellCastLogData.Armor);
+ data << int32(spellCastLogData.Unknown_1105_1);
+ data << int32(spellCastLogData.Unknown_1105_2);
data << BitsSize<9>(spellCastLogData.PowerData);
data.FlushBits();
diff --git a/src/server/game/Server/Packets/CombatLogPacketsCommon.h b/src/server/game/Server/Packets/CombatLogPacketsCommon.h
index feda3b7afda..62a35edd112 100644
--- a/src/server/game/Server/Packets/CombatLogPacketsCommon.h
+++ b/src/server/game/Server/Packets/CombatLogPacketsCommon.h
@@ -43,6 +43,8 @@ namespace WorldPackets
int32 AttackPower = 0;
int32 SpellPower = 0;
int32 Armor = 0;
+ int32 Unknown_1105_1 = 0;
+ int32 Unknown_1105_2 = 0;
std::vector<SpellLogPowerData> PowerData;
void Initialize(Unit const* unit);
diff --git a/src/server/game/Server/Packets/ItemPackets.cpp b/src/server/game/Server/Packets/ItemPackets.cpp
index 5dccbe3e1c9..01d6205ae33 100644
--- a/src/server/game/Server/Packets/ItemPackets.cpp
+++ b/src/server/game/Server/Packets/ItemPackets.cpp
@@ -48,7 +48,7 @@ WorldPacket const* WorldPackets::Item::BuyFailed::Write()
{
_worldPacket << VendorGUID;
_worldPacket << uint32(Muid);
- _worldPacket << uint8(Reason);
+ _worldPacket << int32(Reason);
return &_worldPacket;
}
diff --git a/src/server/game/Server/Packets/MovementPackets.cpp b/src/server/game/Server/Packets/MovementPackets.cpp
index 25272638ee8..578ac6c4a5f 100644
--- a/src/server/game/Server/Packets/MovementPackets.cpp
+++ b/src/server/game/Server/Packets/MovementPackets.cpp
@@ -1050,7 +1050,7 @@ WorldPacket const* WorldPackets::Movement::ResumeToken::Write()
ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Movement::MoveSetCompoundState::MoveStateChange const& stateChange)
{
- data << uint16(stateChange.MessageID);
+ data << uint32(stateChange.MessageID);
data << uint32(stateChange.SequenceIndex);
data.WriteBit(stateChange.Speed.has_value());
data.WriteBit(stateChange.SpeedRange.has_value());
diff --git a/src/server/game/Server/Packets/MovementPackets.h b/src/server/game/Server/Packets/MovementPackets.h
index 48c5c2aab38..4c5a44d361c 100644
--- a/src/server/game/Server/Packets/MovementPackets.h
+++ b/src/server/game/Server/Packets/MovementPackets.h
@@ -717,7 +717,7 @@ namespace WorldPackets
{
MoveStateChange(OpcodeServer messageId, uint32 sequenceIndex) : MessageID(messageId), SequenceIndex(sequenceIndex) { }
- uint16 MessageID = 0;
+ uint32 MessageID = 0;
uint32 SequenceIndex = 0;
Optional<float> Speed;
Optional<MoveSetCompoundState::SpeedRange> SpeedRange;
diff --git a/src/server/game/Server/Packets/NPCPackets.cpp b/src/server/game/Server/Packets/NPCPackets.cpp
index 0608a51dbcd..fe1632b74fe 100644
--- a/src/server/game/Server/Packets/NPCPackets.cpp
+++ b/src/server/game/Server/Packets/NPCPackets.cpp
@@ -141,7 +141,6 @@ ByteBuffer& operator<<(ByteBuffer& data, VendorItem const& item)
data << uint64(item.Price);
data << uint32(item.MuID);
data << int32(item.Type);
- data << int32(item.Durability);
data << int32(item.StackCount);
data << int32(item.Quantity);
data << int32(item.ExtendedCostID);
@@ -159,7 +158,7 @@ ByteBuffer& operator<<(ByteBuffer& data, VendorItem const& item)
WorldPacket const* VendorInventory::Write()
{
_worldPacket << Vendor;
- _worldPacket << uint8(Reason);
+ _worldPacket << int32(Reason);
_worldPacket << uint32(Items.size());
for (VendorItem const& item : Items)
_worldPacket << item;
diff --git a/src/server/game/Server/Packets/NPCPackets.h b/src/server/game/Server/Packets/NPCPackets.h
index 895f44f69eb..2a9eb75a198 100644
--- a/src/server/game/Server/Packets/NPCPackets.h
+++ b/src/server/game/Server/Packets/NPCPackets.h
@@ -168,7 +168,6 @@ namespace WorldPackets
WorldPackets::Item::ItemInstance Item;
int32 Quantity = -1;
uint64 Price = 0;
- int32 Durability = 0;
int32 StackCount = 0;
int32 ExtendedCostID = 0;
int32 PlayerConditionFailed = 0;
@@ -184,7 +183,7 @@ namespace WorldPackets
WorldPacket const* Write() override;
- uint8 Reason = 0;
+ int32 Reason = 0;
std::vector<VendorItem> Items;
ObjectGuid Vendor;
};
diff --git a/src/server/game/Server/Packets/PartyPackets.cpp b/src/server/game/Server/Packets/PartyPackets.cpp
index e8ca4e85ab6..088de54e026 100644
--- a/src/server/game/Server/Packets/PartyPackets.cpp
+++ b/src/server/game/Server/Packets/PartyPackets.cpp
@@ -750,6 +750,13 @@ void WorldPackets::Party::SendPingUnit::Read()
_worldPacket >> As<uint8>(Type);
_worldPacket >> PinFrameID;
_worldPacket >> PingDuration;
+ _worldPacket >> OptionalInit(CreatureID);
+ _worldPacket >> OptionalInit(SpellOverrideNameID);
+ if (CreatureID)
+ _worldPacket >> *CreatureID;
+
+ if (SpellOverrideNameID)
+ _worldPacket >> *SpellOverrideNameID;
}
WorldPacket const* WorldPackets::Party::ReceivePingUnit::Write()
@@ -759,6 +766,15 @@ WorldPacket const* WorldPackets::Party::ReceivePingUnit::Write()
_worldPacket << uint8(Type);
_worldPacket << uint32(PinFrameID);
_worldPacket << PingDuration;
+ _worldPacket << OptionalInit(CreatureID);
+ _worldPacket << OptionalInit(SpellOverrideNameID);
+ _worldPacket.FlushBits();
+
+ if (CreatureID)
+ _worldPacket << uint32(*CreatureID);
+
+ if (SpellOverrideNameID)
+ _worldPacket << uint32(*SpellOverrideNameID);
return &_worldPacket;
}
diff --git a/src/server/game/Server/Packets/PartyPackets.h b/src/server/game/Server/Packets/PartyPackets.h
index fb9663e0fd1..7bf510c1089 100644
--- a/src/server/game/Server/Packets/PartyPackets.h
+++ b/src/server/game/Server/Packets/PartyPackets.h
@@ -692,6 +692,8 @@ namespace WorldPackets
PingSubjectType Type = PingSubjectType::Max;
uint32 PinFrameID = 0;
Duration<Milliseconds, int32> PingDuration;
+ Optional<uint32> CreatureID;
+ Optional<uint32> SpellOverrideNameID;
};
class ReceivePingUnit final : public ServerPacket
@@ -706,6 +708,8 @@ namespace WorldPackets
PingSubjectType Type = PingSubjectType::Max;
uint32 PinFrameID = 0;
Duration<Milliseconds, int32> PingDuration;
+ Optional<uint32> CreatureID;
+ Optional<uint32> SpellOverrideNameID;
};
class SendPingWorldPoint final : public ClientPacket
diff --git a/src/server/game/Server/Packets/PerksProgramPacketsCommon.cpp b/src/server/game/Server/Packets/PerksProgramPacketsCommon.cpp
index 32d0d781c94..e5b53bc3670 100644
--- a/src/server/game/Server/Packets/PerksProgramPacketsCommon.cpp
+++ b/src/server/game/Server/Packets/PerksProgramPacketsCommon.cpp
@@ -30,7 +30,8 @@ ByteBuffer& operator<<(ByteBuffer& data, PerksVendorItem const& perksVendorItem)
data << int32(perksVendorItem.Field_18);
data << int32(perksVendorItem.Price);
data << perksVendorItem.AvailableUntil;
- data.WriteBit(perksVendorItem.Disabled);
+ data << Bits<1>(perksVendorItem.Disabled);
+ data << Bits<1>(perksVendorItem.Field_41);
data.FlushBits();
return data;
diff --git a/src/server/game/Server/Packets/PerksProgramPacketsCommon.h b/src/server/game/Server/Packets/PerksProgramPacketsCommon.h
index 7b153218e8b..cd676002bdb 100644
--- a/src/server/game/Server/Packets/PerksProgramPacketsCommon.h
+++ b/src/server/game/Server/Packets/PerksProgramPacketsCommon.h
@@ -34,6 +34,7 @@ struct PerksVendorItem
int32 Price = 0;
Timestamp<> AvailableUntil;
bool Disabled = false;
+ bool Field_41 = false;
};
ByteBuffer& operator<<(ByteBuffer& data, PerksVendorItem const& perksVendorItem);
diff --git a/src/server/game/Server/Packets/SpellPackets.h b/src/server/game/Server/Packets/SpellPackets.h
index c5efa757a5a..40256e7af16 100644
--- a/src/server/game/Server/Packets/SpellPackets.h
+++ b/src/server/game/Server/Packets/SpellPackets.h
@@ -1051,7 +1051,7 @@ namespace WorldPackets
ObjectGuid Guid;
ObjectGuid CastID;
- uint16 MoveMsgID = 0;
+ uint32 MoveMsgID = 0;
int32 SpellID = 0;
float Pitch = 0.0f;
float Speed = 0.0f;
diff --git a/src/server/game/Server/Protocol/Opcodes.cpp b/src/server/game/Server/Protocol/Opcodes.cpp
index c788d15b002..177e3f0fbbb 100644
--- a/src/server/game/Server/Protocol/Opcodes.cpp
+++ b/src/server/game/Server/Protocol/Opcodes.cpp
@@ -1333,6 +1333,7 @@ void OpcodeTable::InitializeServerOpcodes()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_DEFENSE_MESSAGE, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_DELETE_CHAR, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_DELETE_EXPIRED_MISSIONS_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_DELVES_ACCOUNT_DATA_ELEMENT_CHANGED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_DESTROY_ARENA_UNIT, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_DESTRUCTIBLE_BUILDING_DAMAGE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_DIFFERENT_INSTANCE_FROM_PARTY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);