aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Server/Packets
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2025-04-25 22:50:11 +0200
committerShauren <shauren.trinity@gmail.com>2025-04-25 22:50:11 +0200
commitf9bf082be962d45de79f936d625f644253e9b810 (patch)
treea7c40c0b5baf522d04896721df5c5d91e25c834e /src/server/game/Server/Packets
parent05709a24976cc4cd378ee62bdfec52510892aa5b (diff)
Core: Updated to 11.1.5
Diffstat (limited to 'src/server/game/Server/Packets')
-rw-r--r--src/server/game/Server/Packets/BattlegroundPackets.cpp2
-rw-r--r--src/server/game/Server/Packets/BattlegroundPackets.h2
-rw-r--r--src/server/game/Server/Packets/CharacterPackets.cpp2
-rw-r--r--src/server/game/Server/Packets/CharacterPackets.h2
-rw-r--r--src/server/game/Server/Packets/InspectPackets.cpp2
-rw-r--r--src/server/game/Server/Packets/InspectPackets.h2
-rw-r--r--src/server/game/Server/Packets/LFGPackets.cpp2
-rw-r--r--src/server/game/Server/Packets/LFGPackets.h2
-rw-r--r--src/server/game/Server/Packets/NPCPackets.cpp4
-rw-r--r--src/server/game/Server/Packets/NPCPackets.h2
-rw-r--r--src/server/game/Server/Packets/QuestPackets.cpp21
-rw-r--r--src/server/game/Server/Packets/QuestPackets.h12
-rw-r--r--src/server/game/Server/Packets/SpellPackets.cpp6
-rw-r--r--src/server/game/Server/Packets/SpellPackets.h4
-rw-r--r--src/server/game/Server/Packets/SystemPackets.cpp3
-rw-r--r--src/server/game/Server/Packets/SystemPackets.h1
16 files changed, 32 insertions, 37 deletions
diff --git a/src/server/game/Server/Packets/BattlegroundPackets.cpp b/src/server/game/Server/Packets/BattlegroundPackets.cpp
index 670347a44e8..b5501c18460 100644
--- a/src/server/game/Server/Packets/BattlegroundPackets.cpp
+++ b/src/server/game/Server/Packets/BattlegroundPackets.cpp
@@ -345,7 +345,7 @@ ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Battleground::RatedPvpInf
data << int32(bracketInfo.PvpTierID);
data << int32(bracketInfo.SeasonPvpTier);
data << int32(bracketInfo.BestWeeklyPvpTier);
- data << int32(bracketInfo.BestSeasonPvpTierEnum);
+ data << uint8(bracketInfo.BestSeasonPvpTierEnum);
data.WriteBit(bracketInfo.Disqualified);
data.FlushBits();
diff --git a/src/server/game/Server/Packets/BattlegroundPackets.h b/src/server/game/Server/Packets/BattlegroundPackets.h
index 4db509689f2..73c64c8ecc5 100644
--- a/src/server/game/Server/Packets/BattlegroundPackets.h
+++ b/src/server/game/Server/Packets/BattlegroundPackets.h
@@ -469,7 +469,7 @@ namespace WorldPackets
int32 PvpTierID = 0;
int32 SeasonPvpTier = 0;
int32 BestWeeklyPvpTier = 0;
- int32 BestSeasonPvpTierEnum = 0;
+ uint8 BestSeasonPvpTierEnum = 0;
bool Disqualified = false;
} Bracket[9];
};
diff --git a/src/server/game/Server/Packets/CharacterPackets.cpp b/src/server/game/Server/Packets/CharacterPackets.cpp
index 6cd54e78b87..7df758a319f 100644
--- a/src/server/game/Server/Packets/CharacterPackets.cpp
+++ b/src/server/game/Server/Packets/CharacterPackets.cpp
@@ -215,7 +215,7 @@ ByteBuffer& operator<<(ByteBuffer& data, EnumCharactersResult::CharacterInfoBasi
{
data << charInfo.Guid;
data << uint32(charInfo.VirtualRealmAddress);
- data << uint8(charInfo.ListPosition);
+ data << uint16(charInfo.ListPosition);
data << uint8(charInfo.RaceID);
data << uint8(charInfo.SexID);
data << uint8(charInfo.ClassID);
diff --git a/src/server/game/Server/Packets/CharacterPackets.h b/src/server/game/Server/Packets/CharacterPackets.h
index 5d84cbb7478..f26a7b13524 100644
--- a/src/server/game/Server/Packets/CharacterPackets.h
+++ b/src/server/game/Server/Packets/CharacterPackets.h
@@ -151,7 +151,7 @@ namespace WorldPackets
uint32 VirtualRealmAddress = 0;
uint64 GuildClubMemberID = 0; ///< same as bgs.protocol.club.v1.MemberId.unique_id, guessed basing on SMSG_QUERY_PLAYER_NAME_RESPONSE (that one is known)
std::string Name;
- uint8 ListPosition = 0; ///< Order of the characters in list
+ uint16 ListPosition = 0; ///< Order of the characters in list
uint8 RaceID = 0;
uint8 ClassID = 0;
uint8 SexID = 0;
diff --git a/src/server/game/Server/Packets/InspectPackets.cpp b/src/server/game/Server/Packets/InspectPackets.cpp
index 9cf557116dd..278eaed2127 100644
--- a/src/server/game/Server/Packets/InspectPackets.cpp
+++ b/src/server/game/Server/Packets/InspectPackets.cpp
@@ -136,7 +136,7 @@ ByteBuffer& operator<<(ByteBuffer& data, PVPBracketData const& bracket)
data << int32(bracket.Tier);
data << int32(bracket.WeeklyBestTier);
data << int32(bracket.SeasonBestRating);
- data << int32(bracket.SeasonBestTierEnum);
+ data << uint8(bracket.SeasonBestTierEnum);
data << int32(bracket.RoundsSeasonPlayed);
data << int32(bracket.RoundsSeasonWon);
data << int32(bracket.RoundsWeeklyPlayed);
diff --git a/src/server/game/Server/Packets/InspectPackets.h b/src/server/game/Server/Packets/InspectPackets.h
index 9cd7dfe386d..f1dcdb7f310 100644
--- a/src/server/game/Server/Packets/InspectPackets.h
+++ b/src/server/game/Server/Packets/InspectPackets.h
@@ -108,7 +108,7 @@ namespace WorldPackets
int32 Tier = 0;
int32 WeeklyBestTier = 0;
int32 SeasonBestRating = 0;
- int32 SeasonBestTierEnum = 0;
+ uint8 SeasonBestTierEnum = 0;
int32 RoundsSeasonPlayed = 0;
int32 RoundsSeasonWon = 0;
int32 RoundsWeeklyPlayed = 0;
diff --git a/src/server/game/Server/Packets/LFGPackets.cpp b/src/server/game/Server/Packets/LFGPackets.cpp
index d3d715aec5e..461c01dc15e 100644
--- a/src/server/game/Server/Packets/LFGPackets.cpp
+++ b/src/server/game/Server/Packets/LFGPackets.cpp
@@ -273,7 +273,7 @@ WorldPacket const* LFGRoleCheckUpdate::Write()
WorldPacket const* LFGJoinResult::Write()
{
_worldPacket << Ticket;
- _worldPacket << uint8(Result);
+ _worldPacket << int32(Result);
_worldPacket << uint8(ResultDetail);
_worldPacket << uint32(BlackList.size());
_worldPacket << uint32(BlackListNames.size());
diff --git a/src/server/game/Server/Packets/LFGPackets.h b/src/server/game/Server/Packets/LFGPackets.h
index 8e51aa2378d..57b0e7fc1e5 100644
--- a/src/server/game/Server/Packets/LFGPackets.h
+++ b/src/server/game/Server/Packets/LFGPackets.h
@@ -286,7 +286,7 @@ namespace WorldPackets
WorldPacket const* Write() override;
RideTicket Ticket;
- uint8 Result = 0;
+ int32 Result = 0;
uint8 ResultDetail = 0;
std::vector<LFGBlackList> BlackList;
std::vector<std::string const*> BlackListNames;
diff --git a/src/server/game/Server/Packets/NPCPackets.cpp b/src/server/game/Server/Packets/NPCPackets.cpp
index 9afa34f5e06..12fd59e3d61 100644
--- a/src/server/game/Server/Packets/NPCPackets.cpp
+++ b/src/server/game/Server/Packets/NPCPackets.cpp
@@ -78,9 +78,7 @@ ByteBuffer& operator<<(ByteBuffer& data, ClientGossipText const& gossipText)
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]);
+ data.append(gossipText.QuestFlags);
data << Bits<1>(gossipText.Repeatable);
data << Bits<1>(gossipText.ResetByScheduler);
diff --git a/src/server/game/Server/Packets/NPCPackets.h b/src/server/game/Server/Packets/NPCPackets.h
index 7bf8a0f148c..c3d4b4f926e 100644
--- a/src/server/game/Server/Packets/NPCPackets.h
+++ b/src/server/game/Server/Packets/NPCPackets.h
@@ -104,7 +104,7 @@ namespace WorldPackets
bool Important = false;
bool Meta = false;
std::string QuestTitle;
- std::array<int32, 3> QuestFlags = { };
+ std::array<int32, 4> QuestFlags = { };
};
ByteBuffer& operator<<(ByteBuffer& data, ClientGossipText const& gossipText);
diff --git a/src/server/game/Server/Packets/QuestPackets.cpp b/src/server/game/Server/Packets/QuestPackets.cpp
index be591c38109..e8bac0296ee 100644
--- a/src/server/game/Server/Packets/QuestPackets.cpp
+++ b/src/server/game/Server/Packets/QuestPackets.cpp
@@ -111,6 +111,7 @@ WorldPacket const* QueryQuestInfoResponse::Write()
_worldPacket << uint32(Info.Flags);
_worldPacket << uint32(Info.FlagsEx);
_worldPacket << uint32(Info.FlagsEx2);
+ _worldPacket << uint32(Info.FlagsEx3);
for (uint32 i = 0; i < QUEST_REWARD_ITEM_COUNT; ++i)
{
@@ -368,9 +369,7 @@ ByteBuffer& operator<<(ByteBuffer& data, QuestGiverOfferReward const& offer)
data << offer.Rewards; // QuestRewards
data << int32(offer.Emotes.size());
data << offer.QuestGiverGUID;
- data << int32(offer.QuestFlags[0]); // Flags
- data << int32(offer.QuestFlags[1]); // FlagsEx
- data << int32(offer.QuestFlags[2]); // FlagsEx2
+ data.append(offer.QuestFlags);
data << int32(offer.QuestGiverCreatureID);
data << int32(offer.QuestID);
data << int32(offer.SuggestedPartyMembers);
@@ -467,9 +466,7 @@ WorldPacket const* QuestGiverQuestDetails::Write()
_worldPacket << int32(PortraitGiverMount);
_worldPacket << int32(PortraitGiverModelSceneID);
_worldPacket << int32(PortraitTurnIn);
- _worldPacket << uint32(QuestFlags[0]); // Flags
- _worldPacket << uint32(QuestFlags[1]); // FlagsEx
- _worldPacket << uint32(QuestFlags[2]); // FlagsEx
+ _worldPacket.append(QuestFlags);
_worldPacket << int32(SuggestedPartyMembers);
_worldPacket << uint32(LearnSpells.size());
_worldPacket << uint32(DescEmotes.size());
@@ -532,9 +529,7 @@ WorldPacket const* QuestGiverRequestItems::Write()
_worldPacket << int32(Collect.size());
_worldPacket << int32(Currency.size());
_worldPacket << QuestGiverGUID;
- _worldPacket << uint32(QuestFlags[0]);
- _worldPacket << uint32(QuestFlags[1]);
- _worldPacket << uint32(QuestFlags[2]);
+ _worldPacket.append(QuestFlags);
_worldPacket << int32(StatusFlags);
_worldPacket << int32(QuestGiverCreatureID);
_worldPacket << int32(QuestID);
@@ -774,15 +769,11 @@ ByteBuffer& operator<<(ByteBuffer& data, PlayerChoiceResponseMawPower const& pla
data << int32(playerChoiceResponseMawPower.SpellID);
data << int32(playerChoiceResponseMawPower.MaxStacks);
data.WriteBit(playerChoiceResponseMawPower.Rarity.has_value());
- data.WriteBit(playerChoiceResponseMawPower.RarityColor.has_value());
data.FlushBits();
if (playerChoiceResponseMawPower.Rarity)
data << int32(*playerChoiceResponseMawPower.Rarity);
- if (playerChoiceResponseMawPower.RarityColor)
- data << uint32(*playerChoiceResponseMawPower.RarityColor);
-
return data;
}
@@ -840,9 +831,11 @@ WorldPacket const* DisplayPlayerChoice::Write()
_worldPacket << Duration;
_worldPacket.WriteBits(Question.length(), 8);
_worldPacket.WriteBits(PendingChoiceText.length(), 8);
- _worldPacket.WriteBit(CloseChoiceFrame);
+ _worldPacket.WriteBit(InfiniteRange);
_worldPacket.WriteBit(HideWarboardHeader);
_worldPacket.WriteBit(KeepOpenAfterChoice);
+ _worldPacket.WriteBit(Unknown_1115_1);
+ _worldPacket.WriteBit(Unknown_1115_2);
_worldPacket.FlushBits();
for (PlayerChoiceResponse const& response : Responses)
diff --git a/src/server/game/Server/Packets/QuestPackets.h b/src/server/game/Server/Packets/QuestPackets.h
index 5a6e0e9be6f..b388f4ecc66 100644
--- a/src/server/game/Server/Packets/QuestPackets.h
+++ b/src/server/game/Server/Packets/QuestPackets.h
@@ -148,6 +148,7 @@ namespace WorldPackets
uint32 Flags = 0;
uint32 FlagsEx = 0;
uint32 FlagsEx2 = 0;
+ uint32 FlagsEx3 = 0;
int32 POIContinent = 0;
float POIx = 0.0f;
float POIy = 0.0f;
@@ -315,7 +316,7 @@ namespace WorldPackets
int32 SuggestedPartyMembers = 0;
QuestRewards Rewards;
std::vector<QuestDescEmote> Emotes;
- std::array<int32, 3> QuestFlags = { };
+ std::array<int32, 4> QuestFlags = { };
int32 QuestInfoID = 0;
};
@@ -414,7 +415,7 @@ namespace WorldPackets
ObjectGuid InformUnit;
int32 QuestID = 0;
int32 QuestPackageID = 0;
- uint32 QuestFlags[3] = { };
+ std::array<uint32, 4> QuestFlags = { };
int32 SuggestedPartyMembers = 0;
QuestRewards Rewards;
std::vector<QuestObjectiveSimple> Objectives;
@@ -478,7 +479,7 @@ namespace WorldPackets
std::vector<QuestCurrency> Currency;
int32 StatusFlags = 0;
int32 QuestInfoID = 0;
- uint32 QuestFlags[3] = { };
+ std::array<uint32, 4> QuestFlags = { };
std::string QuestTitle;
std::string CompletionText;
std::vector<ConditionalQuestText> ConditionalCompletionText;
@@ -728,7 +729,6 @@ namespace WorldPackets
int32 Unused901_1 = 0;
int32 TypeArtFileID = 0;
Optional<int32> Rarity;
- Optional<uint32> RarityColor;
int32 Unused901_2 = 0;
int32 SpellID = 0;
int32 MaxStacks = 0;
@@ -773,9 +773,11 @@ namespace WorldPackets
std::string_view Question;
std::string_view PendingChoiceText;
std::vector<PlayerChoiceResponse> Responses;
- bool CloseChoiceFrame = false;
+ bool InfiniteRange = false;
bool HideWarboardHeader = false;
bool KeepOpenAfterChoice = false;
+ bool Unknown_1115_1 = false;
+ bool Unknown_1115_2 = false;
};
class ChoiceResponse final : public ClientPacket
diff --git a/src/server/game/Server/Packets/SpellPackets.cpp b/src/server/game/Server/Packets/SpellPackets.cpp
index e7bb499d85b..63456d61402 100644
--- a/src/server/game/Server/Packets/SpellPackets.cpp
+++ b/src/server/game/Server/Packets/SpellPackets.cpp
@@ -388,6 +388,7 @@ ByteBuffer& operator<<(ByteBuffer& data, SpellCastData const& spellCastData)
data << spellCastData.Visual;
data << uint32(spellCastData.CastFlags);
data << uint32(spellCastData.CastFlagsEx);
+ data << uint32(spellCastData.CastFlagsEx2);
data << uint32(spellCastData.CastTime);
data << spellCastData.MissileTrajectory;
data << int32(spellCastData.AmmoDisplayID);
@@ -984,14 +985,15 @@ MirrorImageComponentedData::~MirrorImageComponentedData() = default;
WorldPacket const* MirrorImageComponentedData::Write()
{
_worldPacket << UnitGUID;
- _worldPacket << int32(DisplayID);
- _worldPacket << int32(SpellVisualKitID);
+ _worldPacket << int32(ChrModelID);
_worldPacket << uint8(RaceID);
_worldPacket << uint8(Gender);
_worldPacket << uint8(ClassID);
_worldPacket << uint32(Customizations.size());
_worldPacket << GuildGUID;
_worldPacket << uint32(ItemDisplayID.size());
+ _worldPacket << int32(SpellVisualKitID);
+ _worldPacket << int32(Unused_1115);
for (Character::ChrCustomizationChoice const& customization : Customizations)
_worldPacket << customization;
diff --git a/src/server/game/Server/Packets/SpellPackets.h b/src/server/game/Server/Packets/SpellPackets.h
index 5893496f13d..78af3cccc3b 100644
--- a/src/server/game/Server/Packets/SpellPackets.h
+++ b/src/server/game/Server/Packets/SpellPackets.h
@@ -361,6 +361,7 @@ namespace WorldPackets
SpellCastVisual Visual;
uint32 CastFlags = 0;
uint32 CastFlagsEx = 0;
+ uint32 CastFlagsEx2 = 0;
uint32 CastTime = 0;
std::vector<ObjectGuid> HitTargets;
std::vector<ObjectGuid> MissTargets;
@@ -989,8 +990,9 @@ namespace WorldPackets
WorldPacket const* Write() override;
ObjectGuid UnitGUID;
- int32 DisplayID = 0;
+ int32 ChrModelID = 0;
int32 SpellVisualKitID = 0;
+ int32 Unused_1115 = 0;
uint8 RaceID = 0;
uint8 Gender = 0;
uint8 ClassID = 0;
diff --git a/src/server/game/Server/Packets/SystemPackets.cpp b/src/server/game/Server/Packets/SystemPackets.cpp
index e8c2f899349..43631b60dcd 100644
--- a/src/server/game/Server/Packets/SystemPackets.cpp
+++ b/src/server/game/Server/Packets/SystemPackets.cpp
@@ -150,7 +150,6 @@ WorldPacket const* FeatureSystemStatus::Write()
_worldPacket << Bits<1>(GroupFinderEnabled);
_worldPacket << Bits<1>(IsPremadeGroupEnabled);
- _worldPacket << Bits<1>(UseActivePlayerDataQuestCompleted);
_worldPacket << Bits<1>(false); // unused 10.2.7
_worldPacket << Bits<1>(GuildEventsEditsEnabled);
_worldPacket << Bits<1>(GuildTradeSkillsEnabled);
@@ -158,8 +157,8 @@ WorldPacket const* FeatureSystemStatus::Write()
_worldPacket << Bits<1>(BNSendWhisperUseV2Services);
_worldPacket << Bits<1>(BNSendGameDataUseV2Services);
_worldPacket << Bits<1>(IsAccountCurrencyTransferEnabled);
-
_worldPacket << Bits<1>(false); // unused 11.0.7
+
_worldPacket << Bits<1>(LobbyMatchmakerQueueFromMainlineEnabled);
_worldPacket << Bits<1>(CanSendLobbyMatchmakerPartyCustomizations);
_worldPacket << Bits<1>(AddonProfilerEnabled);
diff --git a/src/server/game/Server/Packets/SystemPackets.h b/src/server/game/Server/Packets/SystemPackets.h
index 405f96bbd9a..d01babbb2a1 100644
--- a/src/server/game/Server/Packets/SystemPackets.h
+++ b/src/server/game/Server/Packets/SystemPackets.h
@@ -172,7 +172,6 @@ namespace WorldPackets
bool SellAllJunkEnabled = false;
bool GroupFinderEnabled = true; // classic only
bool IsPremadeGroupEnabled = true; // classic only
- bool UseActivePlayerDataQuestCompleted = false; ///< Uses ActivePlayerData::QuestCompleted (legacy) to store completed quest bits instead of ActivePlayerData::BitVectors[9]
bool GuildEventsEditsEnabled = true;
bool GuildTradeSkillsEnabled = true;
bool BNSendWhisperUseV2Services = true; ///< BNSendWhisper will send to v2.WhisperService instead of v1.NotificationService