aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Server/Packets
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2024-08-16 00:03:22 +0200
committerShauren <shauren.trinity@gmail.com>2024-08-16 00:03:22 +0200
commitdf1ec76d54db3a91759fc93f4d6b6828d4ec0f59 (patch)
tree824cd4bc52735c0e23996d9852b9f608b0ab4cfc /src/server/game/Server/Packets
parent3429871a07c1c1ebe2bd94cb771ef187cb46fd46 (diff)
Core: Updated to 11.0.2
Diffstat (limited to 'src/server/game/Server/Packets')
-rw-r--r--src/server/game/Server/Packets/CharacterPackets.cpp1
-rw-r--r--src/server/game/Server/Packets/CharacterPackets.h1
-rw-r--r--src/server/game/Server/Packets/GuildPackets.cpp16
-rw-r--r--src/server/game/Server/Packets/GuildPackets.h15
-rw-r--r--src/server/game/Server/Packets/NPCPackets.cpp2
-rw-r--r--src/server/game/Server/Packets/NPCPackets.h2
-rw-r--r--src/server/game/Server/Packets/PartyPackets.cpp4
-rw-r--r--src/server/game/Server/Packets/PartyPackets.h4
-rw-r--r--src/server/game/Server/Packets/QuestPackets.cpp31
-rw-r--r--src/server/game/Server/Packets/QuestPackets.h13
-rw-r--r--src/server/game/Server/Packets/ReputationPackets.cpp16
-rw-r--r--src/server/game/Server/Packets/ReputationPackets.h24
12 files changed, 37 insertions, 92 deletions
diff --git a/src/server/game/Server/Packets/CharacterPackets.cpp b/src/server/game/Server/Packets/CharacterPackets.cpp
index 1fd503aa176..3ae3077e37a 100644
--- a/src/server/game/Server/Packets/CharacterPackets.cpp
+++ b/src/server/game/Server/Packets/CharacterPackets.cpp
@@ -189,6 +189,7 @@ ByteBuffer& operator<<(ByteBuffer& data, EnumCharactersResult::CharacterInfoBasi
data << uint8(visualItem.Subclass);
data << int32(visualItem.SecondaryItemModifiedAppearanceID);
data << uint32(visualItem.ItemID);
+ data << uint32(visualItem.TransmogrifiedItemID);
return data;
}
diff --git a/src/server/game/Server/Packets/CharacterPackets.h b/src/server/game/Server/Packets/CharacterPackets.h
index e061ce3f7fa..d10a7f7b031 100644
--- a/src/server/game/Server/Packets/CharacterPackets.h
+++ b/src/server/game/Server/Packets/CharacterPackets.h
@@ -185,6 +185,7 @@ namespace WorldPackets
uint8 InvType = 0;
uint8 Subclass = 0;
uint32 ItemID = 0;
+ uint32 TransmogrifiedItemID = 0;
};
std::array<VisualItemInfo, 19> VisualItems = { };
diff --git a/src/server/game/Server/Packets/GuildPackets.cpp b/src/server/game/Server/Packets/GuildPackets.cpp
index db54693206f..f6c75915527 100644
--- a/src/server/game/Server/Packets/GuildPackets.cpp
+++ b/src/server/game/Server/Packets/GuildPackets.cpp
@@ -80,16 +80,6 @@ WorldPacket const* WorldPackets::Guild::GuildRoster::Write()
return &_worldPacket;
}
-WorldPacket const* WorldPackets::Guild::GuildRosterUpdate::Write()
-{
- _worldPacket << uint32(MemberData.size());
-
- for (GuildRosterMemberData const& member : MemberData)
- _worldPacket << member;
-
- return &_worldPacket;
-}
-
void WorldPackets::Guild::GuildUpdateMotdText::Read()
{
uint32 textLen = _worldPacket.ReadBits(11);
@@ -114,6 +104,12 @@ void WorldPackets::Guild::AcceptGuildInvite::Read()
_worldPacket >> GuildGuid;
}
+void WorldPackets::Guild::GuildDeclineInvitation::Read()
+{
+ _worldPacket >> GuildGuid;
+ _worldPacket >> Bits<1>(IsAuto);
+}
+
void WorldPackets::Guild::DeclineGuildInvites::Read()
{
Allow = _worldPacket.ReadBit();
diff --git a/src/server/game/Server/Packets/GuildPackets.h b/src/server/game/Server/Packets/GuildPackets.h
index f78d582c83f..2ca2fdbc202 100644
--- a/src/server/game/Server/Packets/GuildPackets.h
+++ b/src/server/game/Server/Packets/GuildPackets.h
@@ -136,16 +136,6 @@ namespace WorldPackets
int32 GuildFlags = 0;
};
- class GuildRosterUpdate final : public ServerPacket
- {
- public:
- GuildRosterUpdate() : ServerPacket(SMSG_GUILD_ROSTER_UPDATE, 4) { }
-
- WorldPacket const* Write() override;
-
- std::vector<GuildRosterMemberData> MemberData;
- };
-
class GuildUpdateMotdText final : public ClientPacket
{
public:
@@ -183,7 +173,10 @@ namespace WorldPackets
public:
GuildDeclineInvitation(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_DECLINE_INVITATION, std::move(packet)) { }
- void Read() override { }
+ void Read() override;
+
+ ObjectGuid GuildGuid;
+ bool IsAuto = false;
};
class DeclineGuildInvites final : public ClientPacket
diff --git a/src/server/game/Server/Packets/NPCPackets.cpp b/src/server/game/Server/Packets/NPCPackets.cpp
index 7ba4257f4f1..0608a51dbcd 100644
--- a/src/server/game/Server/Packets/NPCPackets.cpp
+++ b/src/server/game/Server/Packets/NPCPackets.cpp
@@ -24,6 +24,7 @@ ByteBuffer& operator<<(ByteBuffer& data, TreasureItem const& treasureItem)
data << Bits<1>(treasureItem.Type);
data << int32(treasureItem.ID);
data << int32(treasureItem.Quantity);
+ data << int8(treasureItem.ItemContext);
return data;
}
@@ -76,6 +77,7 @@ ByteBuffer& operator<<(ByteBuffer& data, ClientGossipText const& gossipText)
data << int32(gossipText.QuestID);
data << int32(gossipText.ContentTuningID);
data << int32(gossipText.QuestType);
+ data << int32(gossipText.Unused1102);
data << int32(gossipText.QuestFlags[0]);
data << int32(gossipText.QuestFlags[1]);
data << int32(gossipText.QuestFlags[2]);
diff --git a/src/server/game/Server/Packets/NPCPackets.h b/src/server/game/Server/Packets/NPCPackets.h
index 41b96bfc763..895f44f69eb 100644
--- a/src/server/game/Server/Packets/NPCPackets.h
+++ b/src/server/game/Server/Packets/NPCPackets.h
@@ -67,6 +67,7 @@ namespace WorldPackets
GossipOptionRewardType Type = GossipOptionRewardType(0);
int32 ID = 0;
int32 Quantity = 0;
+ int8 ItemContext = 0;
};
struct TreasureLootList
@@ -97,6 +98,7 @@ namespace WorldPackets
int32 QuestID = 0;
int32 ContentTuningID = 0;
int32 QuestType = 0;
+ int32 Unused1102 = 0;
bool Repeatable = false;
bool ResetByScheduler = false;
bool Important = false;
diff --git a/src/server/game/Server/Packets/PartyPackets.cpp b/src/server/game/Server/Packets/PartyPackets.cpp
index a45e6c4f7a8..721e80749b3 100644
--- a/src/server/game/Server/Packets/PartyPackets.cpp
+++ b/src/server/game/Server/Packets/PartyPackets.cpp
@@ -748,6 +748,7 @@ void WorldPackets::Party::SendPingUnit::Read()
_worldPacket >> TargetGUID;
_worldPacket >> As<uint8>(Type);
_worldPacket >> PinFrameID;
+ _worldPacket >> PingDuration;
}
WorldPacket const* WorldPackets::Party::ReceivePingUnit::Write()
@@ -756,6 +757,7 @@ WorldPacket const* WorldPackets::Party::ReceivePingUnit::Write()
_worldPacket << TargetGUID;
_worldPacket << uint8(Type);
_worldPacket << uint32(PinFrameID);
+ _worldPacket << PingDuration;
return &_worldPacket;
}
@@ -768,6 +770,7 @@ void WorldPackets::Party::SendPingWorldPoint::Read()
_worldPacket >> As<int32>(Type);
_worldPacket >> PinFrameID;
_worldPacket >> Transport;
+ _worldPacket >> PingDuration;
}
WorldPacket const* WorldPackets::Party::ReceivePingWorldPoint::Write()
@@ -778,6 +781,7 @@ WorldPacket const* WorldPackets::Party::ReceivePingWorldPoint::Write()
_worldPacket << uint8(Type);
_worldPacket << uint32(PinFrameID);
_worldPacket << Transport;
+ _worldPacket << PingDuration;
return &_worldPacket;
}
diff --git a/src/server/game/Server/Packets/PartyPackets.h b/src/server/game/Server/Packets/PartyPackets.h
index 1adaa3d33dd..2e89556966d 100644
--- a/src/server/game/Server/Packets/PartyPackets.h
+++ b/src/server/game/Server/Packets/PartyPackets.h
@@ -690,6 +690,7 @@ namespace WorldPackets
ObjectGuid TargetGUID;
PingSubjectType Type = PingSubjectType::Max;
uint32 PinFrameID = 0;
+ Duration<Milliseconds, int32> PingDuration;
};
class ReceivePingUnit final : public ServerPacket
@@ -703,6 +704,7 @@ namespace WorldPackets
ObjectGuid TargetGUID;
PingSubjectType Type = PingSubjectType::Max;
uint32 PinFrameID = 0;
+ Duration<Milliseconds, int32> PingDuration;
};
class SendPingWorldPoint final : public ClientPacket
@@ -718,6 +720,7 @@ namespace WorldPackets
PingSubjectType Type = PingSubjectType::Max;
uint32 PinFrameID = 0;
ObjectGuid Transport;
+ Duration<Milliseconds, int32> PingDuration;
};
class ReceivePingWorldPoint final : public ServerPacket
@@ -732,6 +735,7 @@ namespace WorldPackets
TaggedPosition<Position::XYZ> Point;
PingSubjectType Type = PingSubjectType::Max;
uint32 PinFrameID = 0;
+ Duration<Milliseconds, int32> PingDuration;
ObjectGuid Transport;
};
diff --git a/src/server/game/Server/Packets/QuestPackets.cpp b/src/server/game/Server/Packets/QuestPackets.cpp
index d1f31ccc7a7..7f4c8a06f3e 100644
--- a/src/server/game/Server/Packets/QuestPackets.cpp
+++ b/src/server/game/Server/Packets/QuestPackets.cpp
@@ -46,22 +46,6 @@ void QuestGiverStatusQuery::Read()
_worldPacket >> QuestGiverGUID;
}
-void QuestGiverStatusTrackedQuery::Read()
-{
- uint32 guidCount = 0;
- _worldPacket >> guidCount;
- if (guidCount > 1000)
- throw PacketArrayMaxCapacityException(guidCount, 1000);
-
- QuestGiverGUIDs.reserve(guidCount);
- for (uint32 i = 0; i < guidCount; ++i)
- {
- ObjectGuid guid;
- _worldPacket >> guid;
- QuestGiverGUIDs.insert(guid);
- }
-}
-
WorldPacket const* QuestGiverStatus::Write()
{
_worldPacket << QuestGiver.Guid;
@@ -183,6 +167,7 @@ WorldPacket const* QueryQuestInfoResponse::Write()
_worldPacket << uint32(Info.Objectives.size());
_worldPacket << uint64(Info.AllowableRaces.RawValue);
_worldPacket << uint32(Info.TreasurePickerID.size());
+ _worldPacket << uint32(Info.TreasurePickerID2.size());
_worldPacket << int32(Info.Expansion);
_worldPacket << int32(Info.ManagedWorldStateID);
_worldPacket << int32(Info.QuestSessionBonus);
@@ -197,6 +182,9 @@ WorldPacket const* QueryQuestInfoResponse::Write()
if (!Info.TreasurePickerID.empty())
_worldPacket.append(Info.TreasurePickerID.data(), Info.TreasurePickerID.size());
+ if (!Info.TreasurePickerID2.empty())
+ _worldPacket.append(Info.TreasurePickerID2.data(), Info.TreasurePickerID2.size());
+
_worldPacket << BitsSize<9>(Info.LogTitle);
_worldPacket << BitsSize<12>(Info.LogDescription);
_worldPacket << BitsSize<12>(Info.QuestDescription);
@@ -377,6 +365,8 @@ ByteBuffer& operator<<(ByteBuffer& data, QuestRewards const& questRewards)
ByteBuffer& operator<<(ByteBuffer& data, QuestGiverOfferReward const& offer)
{
+ data << offer.Rewards; // QuestRewards
+ data << int32(offer.Emotes.size());
data << offer.QuestGiverGUID;
data << int32(offer.QuestGiverCreatureID);
data << int32(offer.QuestID);
@@ -385,7 +375,6 @@ ByteBuffer& operator<<(ByteBuffer& data, QuestGiverOfferReward const& offer)
data << int32(offer.QuestFlags[2]); // FlagsEx2
data << int32(offer.SuggestedPartyMembers);
data << int32(offer.QuestInfoID);
- data << int32(offer.Emotes.size());
for (QuestDescEmote const& emote : offer.Emotes)
{
data << int32(emote.Type);
@@ -394,10 +383,9 @@ ByteBuffer& operator<<(ByteBuffer& data, QuestGiverOfferReward const& offer)
data << Bits<1>(offer.AutoLaunched);
data << Bits<1>(false); // Unused
+ data << Bits<1>(offer.ResetByScheduler);
data.FlushBits();
- data << offer.Rewards; // QuestRewards
-
return data;
}
@@ -540,6 +528,8 @@ WorldPacket const* QuestGiverQuestDetails::Write()
WorldPacket const* QuestGiverRequestItems::Write()
{
+ _worldPacket << int32(Collect.size());
+ _worldPacket << int32(Currency.size());
_worldPacket << QuestGiverGUID;
_worldPacket << int32(QuestGiverCreatureID);
_worldPacket << int32(QuestID);
@@ -550,8 +540,6 @@ WorldPacket const* QuestGiverRequestItems::Write()
_worldPacket << uint32(QuestFlags[2]);
_worldPacket << int32(SuggestPartyMembers);
_worldPacket << int32(MoneyToGet);
- _worldPacket << int32(Collect.size());
- _worldPacket << int32(Currency.size());
_worldPacket << int32(StatusFlags);
_worldPacket << int32(QuestInfoID);
@@ -569,6 +557,7 @@ WorldPacket const* QuestGiverRequestItems::Write()
}
_worldPacket << Bits<1>(AutoLaunched);
+ _worldPacket << Bits<1>(ResetByScheduler);
_worldPacket.FlushBits();
_worldPacket << int32(QuestGiverCreatureID);
diff --git a/src/server/game/Server/Packets/QuestPackets.h b/src/server/game/Server/Packets/QuestPackets.h
index f119eac4e31..2e295a44b9b 100644
--- a/src/server/game/Server/Packets/QuestPackets.h
+++ b/src/server/game/Server/Packets/QuestPackets.h
@@ -49,16 +49,6 @@ namespace WorldPackets
void Read() override { }
};
- class QuestGiverStatusTrackedQuery final : public ClientPacket
- {
- public:
- QuestGiverStatusTrackedQuery(WorldPacket&& packet) : ClientPacket(CMSG_QUEST_GIVER_STATUS_TRACKED_QUERY, std::move(packet)) { }
-
- void Read() override;
-
- GuidUnorderedSet QuestGiverGUIDs;
- };
-
struct QuestGiverInfo
{
QuestGiverInfo() { }
@@ -186,6 +176,7 @@ namespace WorldPackets
int32 AreaGroupID = 0;
int64 TimeAllowed = 0;
std::span<int32 const> TreasurePickerID;
+ std::span<int32 const> TreasurePickerID2; // unknown purpose, used only sometimes and only if TreasurePickerID is empty
int32 Expansion = 0;
int32 ManagedWorldStateID = 0;
int32 QuestSessionBonus = 0;
@@ -320,6 +311,7 @@ namespace WorldPackets
int32 QuestGiverCreatureID = 0;
int32 QuestID = 0;
bool AutoLaunched = false;
+ bool ResetByScheduler = false;
int32 SuggestedPartyMembers = 0;
QuestRewards Rewards;
std::vector<QuestDescEmote> Emotes;
@@ -478,6 +470,7 @@ namespace WorldPackets
int32 CompEmoteDelay = 0;
int32 CompEmoteType = 0;
bool AutoLaunched = false;
+ bool ResetByScheduler = false;
int32 SuggestPartyMembers = 0;
int32 MoneyToGet = 0;
std::vector<QuestObjectiveCollect> Collect;
diff --git a/src/server/game/Server/Packets/ReputationPackets.cpp b/src/server/game/Server/Packets/ReputationPackets.cpp
index fece28f80b7..0f867067736 100644
--- a/src/server/game/Server/Packets/ReputationPackets.cpp
+++ b/src/server/game/Server/Packets/ReputationPackets.cpp
@@ -53,22 +53,6 @@ WorldPacket const* WorldPackets::Reputation::InitializeFactions::Write()
return &_worldPacket;
}
-ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Reputation::ForcedReaction const& forcedReaction)
-{
- data << int32(forcedReaction.Faction);
- data << int32(forcedReaction.Reaction);
- return data;
-}
-
-WorldPacket const* WorldPackets::Reputation::SetForcedReactions::Write()
-{
- _worldPacket << uint32(Reactions.size());
- for (ForcedReaction const& reaction : Reactions)
- _worldPacket << reaction;
-
- return &_worldPacket;
-}
-
ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Reputation::FactionStandingData const& factionStanding)
{
data << int32(factionStanding.Index);
diff --git a/src/server/game/Server/Packets/ReputationPackets.h b/src/server/game/Server/Packets/ReputationPackets.h
index 98b0146e9b4..30199fdd246 100644
--- a/src/server/game/Server/Packets/ReputationPackets.h
+++ b/src/server/game/Server/Packets/ReputationPackets.h
@@ -49,30 +49,6 @@ namespace WorldPackets
std::vector<FactionBonusData> Bonuses;
};
- class RequestForcedReactions final : public ClientPacket
- {
- public:
- RequestForcedReactions(WorldPacket&& packet) : ClientPacket(CMSG_REQUEST_FORCED_REACTIONS, std::move(packet)) { }
-
- void Read() override { }
- };
-
- struct ForcedReaction
- {
- int32 Faction = 0;
- int32 Reaction = 0;
- };
-
- class SetForcedReactions final : public ServerPacket
- {
- public:
- SetForcedReactions() : ServerPacket(SMSG_SET_FORCED_REACTIONS) { }
-
- WorldPacket const* Write() override;
-
- std::vector<ForcedReaction> Reactions;
- };
-
struct FactionStandingData
{
FactionStandingData() { }