aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Server/Packets
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2025-03-02 15:43:34 +0100
committerShauren <shauren.trinity@gmail.com>2025-03-02 15:43:34 +0100
commit23624ed75abc8cbb77bb2e24a08e0836e4c41db5 (patch)
tree593c0a5f9e4b75404ff3d30729ac08a7ea93f690 /src/server/game/Server/Packets
parentdac15a32a6361a5e47e17b621828369b1b7a4d84 (diff)
Core: Updated to 11.1.0
Diffstat (limited to 'src/server/game/Server/Packets')
-rw-r--r--src/server/game/Server/Packets/AuctionHousePackets.cpp6
-rw-r--r--src/server/game/Server/Packets/AuctionHousePackets.h5
-rw-r--r--src/server/game/Server/Packets/AuthenticationPackets.cpp3
-rw-r--r--src/server/game/Server/Packets/AuthenticationPackets.h3
-rw-r--r--src/server/game/Server/Packets/BattlegroundPackets.cpp8
-rw-r--r--src/server/game/Server/Packets/BattlegroundPackets.h8
-rw-r--r--src/server/game/Server/Packets/CharacterPackets.cpp27
-rw-r--r--src/server/game/Server/Packets/CharacterPackets.h21
-rw-r--r--src/server/game/Server/Packets/CollectionPackets.cpp2
-rw-r--r--src/server/game/Server/Packets/CombatPackets.cpp2
-rw-r--r--src/server/game/Server/Packets/CombatPackets.h2
-rw-r--r--src/server/game/Server/Packets/GarrisonPackets.cpp2
-rw-r--r--src/server/game/Server/Packets/GarrisonPackets.h2
-rw-r--r--src/server/game/Server/Packets/GuildPackets.cpp4
-rw-r--r--src/server/game/Server/Packets/GuildPackets.h4
-rw-r--r--src/server/game/Server/Packets/MiscPackets.cpp2
-rw-r--r--src/server/game/Server/Packets/MiscPackets.h2
-rw-r--r--src/server/game/Server/Packets/MovementPackets.cpp37
-rw-r--r--src/server/game/Server/Packets/MovementPackets.h2
-rw-r--r--src/server/game/Server/Packets/MythicPlusPacketsCommon.cpp3
-rw-r--r--src/server/game/Server/Packets/MythicPlusPacketsCommon.h3
-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.cpp9
-rw-r--r--src/server/game/Server/Packets/PartyPackets.h8
-rw-r--r--src/server/game/Server/Packets/PerksProgramPacketsCommon.cpp1
-rw-r--r--src/server/game/Server/Packets/PerksProgramPacketsCommon.h1
-rw-r--r--src/server/game/Server/Packets/PetPackets.cpp2
-rw-r--r--src/server/game/Server/Packets/PetPackets.h2
-rw-r--r--src/server/game/Server/Packets/QueryPackets.cpp4
-rw-r--r--src/server/game/Server/Packets/QueryPackets.h4
-rw-r--r--src/server/game/Server/Packets/SocialPackets.cpp4
-rw-r--r--src/server/game/Server/Packets/SocialPackets.h4
-rw-r--r--src/server/game/Server/Packets/SpellPackets.cpp3
-rw-r--r--src/server/game/Server/Packets/SpellPackets.h3
-rw-r--r--src/server/game/Server/Packets/SystemPackets.cpp7
-rw-r--r--src/server/game/Server/Packets/SystemPackets.h5
-rw-r--r--src/server/game/Server/Packets/WhoPackets.h2
38 files changed, 152 insertions, 59 deletions
diff --git a/src/server/game/Server/Packets/AuctionHousePackets.cpp b/src/server/game/Server/Packets/AuctionHousePackets.cpp
index 3173a045b90..0bab4259ff7 100644
--- a/src/server/game/Server/Packets/AuctionHousePackets.cpp
+++ b/src/server/game/Server/Packets/AuctionHousePackets.cpp
@@ -208,6 +208,7 @@ ByteBuffer& operator<<(ByteBuffer& data, AuctionItem const& auctionItem)
data << auctionItem.Owner;
data << int32(auctionItem.DurationLeft);
data << uint8(auctionItem.DeleteReason);
+ data << uint32(auctionItem.Unused1110);
for (WorldPackets::Item::ItemEnchantData const& enchant : auctionItem.Enchantments)
data << enchant;
@@ -252,8 +253,9 @@ ByteBuffer& operator<<(ByteBuffer& data, AuctionItem const& auctionItem)
return data;
}
-void AuctionBidderNotification::Initialize(::AuctionPosting const* auction, ::Item const* item)
+void AuctionBidderNotification::Initialize(int32 auctionHouseId, ::AuctionPosting const* auction, ::Item const* item)
{
+ AuctionHouseID = auctionHouseId;
AuctionID = auction->Id;
Item.Initialize(item);
Bidder = auction->Bidder;
@@ -261,6 +263,7 @@ void AuctionBidderNotification::Initialize(::AuctionPosting const* auction, ::It
ByteBuffer& operator<<(ByteBuffer& data, AuctionBidderNotification const& bidderNotification)
{
+ data << int32(bidderNotification.AuctionHouseID);
data << int32(bidderNotification.AuctionID);
data << bidderNotification.Bidder;
data << bidderNotification.Item;
@@ -549,6 +552,7 @@ WorldPacket const* AuctionHelloResponse::Write()
_worldPacket << Auctioneer;
_worldPacket << uint32(PurchaseDeliveryDelay);
_worldPacket << uint32(CancelDeliveryDelay);
+ _worldPacket << int32(AuctionHouseID);
_worldPacket << Bits<1>(OpenForBusiness);
_worldPacket.FlushBits();
diff --git a/src/server/game/Server/Packets/AuctionHousePackets.h b/src/server/game/Server/Packets/AuctionHousePackets.h
index a1e910929dd..db88408c082 100644
--- a/src/server/game/Server/Packets/AuctionHousePackets.h
+++ b/src/server/game/Server/Packets/AuctionHousePackets.h
@@ -125,6 +125,7 @@ namespace WorldPackets
ObjectGuid ItemGuid;
ObjectGuid OwnerAccountID;
uint32 EndTime = 0;
+ uint32 Unused1110 = 0;
Optional<ObjectGuid> Bidder;
Optional<uint64> BidAmount;
std::vector<Item::ItemGemData> Gems;
@@ -134,8 +135,9 @@ namespace WorldPackets
struct AuctionBidderNotification
{
- void Initialize(::AuctionPosting const* auction, ::Item const* item);
+ void Initialize(int32 auctionHouseId, ::AuctionPosting const* auction, ::Item const* item);
+ int32 AuctionHouseID = 0;
int32 AuctionID = 0;
ObjectGuid Bidder;
Item::ItemInstance Item;
@@ -415,6 +417,7 @@ namespace WorldPackets
ObjectGuid Auctioneer;
uint32 PurchaseDeliveryDelay = 0;
uint32 CancelDeliveryDelay = 0;
+ int32 AuctionHouseID = 0;
bool OpenForBusiness = true;
};
diff --git a/src/server/game/Server/Packets/AuthenticationPackets.cpp b/src/server/game/Server/Packets/AuthenticationPackets.cpp
index 1d4f92ab10c..c794021303b 100644
--- a/src/server/game/Server/Packets/AuthenticationPackets.cpp
+++ b/src/server/game/Server/Packets/AuthenticationPackets.cpp
@@ -102,7 +102,7 @@ ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Auth::AuthWaitInfo const&
{
data << uint32(waitInfo.WaitCount);
data << uint32(waitInfo.WaitTime);
- data << uint32(waitInfo.AllowedFactionGroupForCharacterCreate);
+ data << uint8(waitInfo.AllowedFactionGroupForCharacterCreate);
data << WorldPackets::Bits<1>(waitInfo.HasFCM);
data << WorldPackets::Bits<1>(waitInfo.CanCreateOnlyIfExisting);
data.FlushBits();
@@ -361,6 +361,7 @@ WorldPacket const* WorldPackets::Auth::EnterEncryptedMode::Write()
ed25519.SignWithContext(toSign, { EnableEncryptionContext.begin(), EnableEncryptionContext.end() }, signature);
_worldPacket.append(signature.data(), signature.size());
+ _worldPacket << int32(RegionGroup);
_worldPacket << Bits<1>(Enabled);
_worldPacket.FlushBits();
diff --git a/src/server/game/Server/Packets/AuthenticationPackets.h b/src/server/game/Server/Packets/AuthenticationPackets.h
index 257f93fbc17..a7b8b4aea73 100644
--- a/src/server/game/Server/Packets/AuthenticationPackets.h
+++ b/src/server/game/Server/Packets/AuthenticationPackets.h
@@ -102,7 +102,7 @@ namespace WorldPackets
{
uint32 WaitCount = 0; ///< position of the account in the login queue
uint32 WaitTime = 0; ///< Wait time in login queue in minutes, if sent queued and this value is 0 client displays "unknown time"
- int32 AllowedFactionGroupForCharacterCreate = 0;
+ uint8 AllowedFactionGroupForCharacterCreate = 0;
bool HasFCM = false; ///< true if the account has a forced character migration pending. @todo implement
bool CanCreateOnlyIfExisting = false; ///< Can create characters on realm only if player has other existing characters there
};
@@ -310,6 +310,7 @@ namespace WorldPackets
WorldPacket const* Write() override;
std::array<uint8, 32> const& EncryptionKey;
+ int32 RegionGroup = 0;
bool Enabled = false;
};
}
diff --git a/src/server/game/Server/Packets/BattlegroundPackets.cpp b/src/server/game/Server/Packets/BattlegroundPackets.cpp
index 6f28c10782f..670347a44e8 100644
--- a/src/server/game/Server/Packets/BattlegroundPackets.cpp
+++ b/src/server/game/Server/Packets/BattlegroundPackets.cpp
@@ -82,20 +82,20 @@ ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Battleground::PVPMatchSta
{
data << playerData.PlayerGUID;
data << uint32(playerData.Kills);
+ data << int32(playerData.Faction);
data << uint32(playerData.DamageDone);
data << uint32(playerData.HealingDone);
data << uint32(playerData.Stats.size());
data << int32(playerData.PrimaryTalentTree);
data << int8(playerData.Sex);
- data << int32(playerData.Race);
- data << int32(playerData.Class);
+ data << int8(playerData.Race);
+ data << int8(playerData.Class);
data << int32(playerData.CreatureID);
data << int32(playerData.HonorLevel);
data << int32(playerData.Role);
for (WorldPackets::Battleground::PVPMatchStatistics::PVPMatchPlayerPVPStat const& pvpStat : playerData.Stats)
data << pvpStat;
- data.WriteBit(playerData.Faction != 0);
data.WriteBit(playerData.IsInWorld);
data.WriteBit(playerData.Honor.has_value());
data.WriteBit(playerData.PreMatchRating.has_value());
@@ -203,7 +203,7 @@ WorldPacket const* WorldPackets::Battleground::BattlefieldStatusActive::Write()
_worldPacket << uint32(Mapid);
_worldPacket << uint32(ShutdownTimer);
_worldPacket << uint32(StartTimer);
- _worldPacket << Bits<1>(ArenaFaction != 0);
+ _worldPacket << int8(ArenaFaction);
_worldPacket << Bits<1>(LeftEarly);
_worldPacket << Bits<1>(Brawl);
_worldPacket.FlushBits();
diff --git a/src/server/game/Server/Packets/BattlegroundPackets.h b/src/server/game/Server/Packets/BattlegroundPackets.h
index f15313c6da9..4db509689f2 100644
--- a/src/server/game/Server/Packets/BattlegroundPackets.h
+++ b/src/server/game/Server/Packets/BattlegroundPackets.h
@@ -129,7 +129,7 @@ namespace WorldPackets
{
ObjectGuid PlayerGUID;
uint32 Kills = 0;
- uint8 Faction = 0;
+ int32 Faction = 0;
bool IsInWorld = false;
Optional<HonorData> Honor;
uint32 DamageDone = 0;
@@ -142,8 +142,8 @@ namespace WorldPackets
std::vector<PVPMatchPlayerPVPStat> Stats;
int32 PrimaryTalentTree = 0;
int8 Sex = 0;
- int32 Race = 0;
- int32 Class = 0;
+ int8 Race = 0;
+ int8 Class = 0;
int32 CreatureID = 0;
int32 HonorLevel = 0;
int32 Role = 0;
@@ -208,7 +208,7 @@ namespace WorldPackets
BattlefieldStatusHeader Hdr;
uint32 ShutdownTimer = 0;
- uint8 ArenaFaction = 0;
+ int8 ArenaFaction = 0;
bool LeftEarly = false;
bool Brawl = false;
uint32 StartTimer = 0;
diff --git a/src/server/game/Server/Packets/CharacterPackets.cpp b/src/server/game/Server/Packets/CharacterPackets.cpp
index 2a4d33569d9..7f747c533d5 100644
--- a/src/server/game/Server/Packets/CharacterPackets.cpp
+++ b/src/server/game/Server/Packets/CharacterPackets.cpp
@@ -213,6 +213,7 @@ ByteBuffer& operator<<(ByteBuffer& data, EnumCharactersResult::CharacterInfoBasi
data << uint32(charInfo.Flags);
data << uint32(charInfo.Flags2);
data << uint32(charInfo.Flags3);
+ data << uint32(charInfo.Flags4);
data << uint8(charInfo.CantLoginReason);
data << uint32(charInfo.PetCreatureDisplayID);
@@ -232,12 +233,15 @@ ByteBuffer& operator<<(ByteBuffer& data, EnumCharactersResult::CharacterInfoBasi
data << int32(charInfo.TimerunningSeasonID);
data << uint32(charInfo.OverrideSelectScreenFileDataID);
+ data << uint32(charInfo.Unused1110_1);
for (ChrCustomizationChoice const& customization : charInfo.Customizations)
data << customization;
data << SizedString::BitsSize<6>(charInfo.Name);
data << Bits<1>(charInfo.FirstLogin);
+ data << Bits<1>(charInfo.Unused1110_2);
+ data << Bits<1>(charInfo.Unused1110_3);
data.FlushBits();
@@ -285,6 +289,7 @@ ByteBuffer& operator<<(ByteBuffer& data, EnumCharactersResult::RegionwideCharact
{
data << charInfo.Basic;
data << uint64(charInfo.Money);
+ data << float(charInfo.AvgEquippedItemLevel);
data << float(charInfo.CurrentSeasonMythicPlusOverallScore);
data << int32(charInfo.CurrentSeasonBestPvpRating);
data << int8(charInfo.PvpRatingBracket);
@@ -295,7 +300,7 @@ ByteBuffer& operator<<(ByteBuffer& data, EnumCharactersResult::RegionwideCharact
ByteBuffer& operator<<(ByteBuffer& data, EnumCharactersResult::RaceUnlock const& raceUnlock)
{
- data << int32(raceUnlock.RaceID);
+ data << int8(raceUnlock.RaceID);
data << Bits<1>(raceUnlock.HasUnlockedLicense);
data << Bits<1>(raceUnlock.HasUnlockedAchievement);
data << Bits<1>(raceUnlock.HasHeritageArmorUnlockAchievement);
@@ -316,7 +321,7 @@ ByteBuffer& operator<<(ByteBuffer& data, EnumCharactersResult::UnlockedCondition
ByteBuffer& operator<<(ByteBuffer& data, EnumCharactersResult::RaceLimitDisableInfo const& raceLimitDisableInfo)
{
- data << int32(raceLimitDisableInfo.RaceID);
+ data << int8(raceLimitDisableInfo.RaceID);
data << int32(raceLimitDisableInfo.Reason);
return data;
@@ -324,7 +329,7 @@ ByteBuffer& operator<<(ByteBuffer& data, EnumCharactersResult::RaceLimitDisableI
ByteBuffer& operator<<(ByteBuffer& data, WarbandGroupMember const& warbandGroupMember)
{
- data << int32(warbandGroupMember.WarbandScenePlacementID);
+ data << uint32(warbandGroupMember.WarbandScenePlacementID);
data << int32(warbandGroupMember.Type);
if (warbandGroupMember.Type == 0)
data << warbandGroupMember.Guid;
@@ -335,13 +340,19 @@ ByteBuffer& operator<<(ByteBuffer& data, WarbandGroupMember const& warbandGroupM
ByteBuffer& operator<<(ByteBuffer& data, WarbandGroup const& warbandGroup)
{
data << uint64(warbandGroup.GroupID);
- data << uint8(warbandGroup.Unknown_1100);
- data << int32(warbandGroup.Flags);
+ data << uint8(warbandGroup.OrderIndex);
+ data << uint32(warbandGroup.WarbandSceneID);
+ data << uint32(warbandGroup.Flags);
data << uint32(warbandGroup.Members.size());
for (WarbandGroupMember const& member : warbandGroup.Members)
data << member;
+ data << SizedString::BitsSize<9>(warbandGroup.Name);
+ data.FlushBits();
+
+ data << SizedString::Data(warbandGroup.Name);
+
return data;
}
@@ -383,9 +394,6 @@ WorldPacket const* EnumCharactersResult::Write()
for (RaceLimitDisableInfo const& raceLimitDisableInfo : RaceLimitDisables)
_worldPacket << raceLimitDisableInfo;
- for (WarbandGroup const& warbandGroup : WarbandGroups)
- _worldPacket << warbandGroup;
-
for (CharacterInfo const& charInfo : Characters)
_worldPacket << charInfo;
@@ -395,6 +403,9 @@ WorldPacket const* EnumCharactersResult::Write()
for (RaceUnlock const& raceUnlock : RaceUnlockData)
_worldPacket << raceUnlock;
+ for (WarbandGroup const& warbandGroup : WarbandGroups)
+ _worldPacket << warbandGroup;
+
return &_worldPacket;
}
diff --git a/src/server/game/Server/Packets/CharacterPackets.h b/src/server/game/Server/Packets/CharacterPackets.h
index 8313523d56a..5d84cbb7478 100644
--- a/src/server/game/Server/Packets/CharacterPackets.h
+++ b/src/server/game/Server/Packets/CharacterPackets.h
@@ -118,7 +118,7 @@ namespace WorldPackets
struct WarbandGroupMember
{
- int32 WarbandScenePlacementID = 0;
+ uint32 WarbandScenePlacementID = 0;
int32 Type = 0;
ObjectGuid Guid;
};
@@ -126,9 +126,11 @@ namespace WorldPackets
struct WarbandGroup
{
uint64 GroupID = 0;
- uint8 Unknown_1100 = 0;
- int32 Flags = 0; ///< enum WarbandGroupFlags { Collapsed = 1 }
+ uint8 OrderIndex = 0;
+ uint32 WarbandSceneID = 0;
+ uint32 Flags = 0; ///< enum WarbandGroupFlags { Collapsed = 1 }
std::vector<WarbandGroupMember> Members;
+ std::string_view Name;
};
class EnumCharactersResult final : public ServerPacket
@@ -162,6 +164,7 @@ namespace WorldPackets
uint32 Flags = 0; ///< Character flag @see enum CharacterFlags
uint32 Flags2 = 0; ///< Character customization flags @see enum CharacterCustomizeFlags
uint32 Flags3 = 0; ///< Character flags 3 @todo research
+ uint32 Flags4 = 0; ///< Character flags 4 @todo research
bool FirstLogin = false;
uint8 CantLoginReason = 0;
Timestamp<> LastActiveTime;
@@ -190,6 +193,9 @@ namespace WorldPackets
std::array<VisualItemInfo, 19> VisualItems = { };
CustomTabardInfo PersonalTabard;
+ uint32 Unused1110_1 = 0;
+ bool Unused1110_2 = false;
+ bool Unused1110_3 = false;
};
struct CharacterRestrictionAndMailData
@@ -216,6 +222,7 @@ namespace WorldPackets
CharacterInfoBasic Basic;
uint64 Money = 0;
+ float AvgEquippedItemLevel = 0.0f;
float CurrentSeasonMythicPlusOverallScore = 0.0f;
uint32 CurrentSeasonBestPvpRating = 0;
int8 PvpRatingBracket = 0;
@@ -224,7 +231,7 @@ namespace WorldPackets
struct RaceUnlock
{
- int32 RaceID = 0;
+ int8 RaceID = 0;
bool HasUnlockedLicense = false;
bool HasUnlockedAchievement = false;
bool HasHeritageArmorUnlockAchievement = false;
@@ -246,7 +253,7 @@ namespace WorldPackets
Level
};
- int32 RaceID = 0;
+ int8 RaceID = 0;
int32 Reason = 0;
};
@@ -722,9 +729,9 @@ namespace WorldPackets
uint8 NewSex = 0;
Array<ChrCustomizationChoice, 250> Customizations;
- int32 CustomizedRace = 0;
+ int8 CustomizedRace = 0;
int32 CustomizedChrModelID = 0;
- int32 UnalteredVisualRaceID = 0;
+ int8 UnalteredVisualRaceID = 0;
};
class BarberShopResult final : public ServerPacket
diff --git a/src/server/game/Server/Packets/CollectionPackets.cpp b/src/server/game/Server/Packets/CollectionPackets.cpp
index 9df53877bb8..5669d50a0c6 100644
--- a/src/server/game/Server/Packets/CollectionPackets.cpp
+++ b/src/server/game/Server/Packets/CollectionPackets.cpp
@@ -20,7 +20,7 @@
void WorldPackets::Collections::CollectionItemSetFavorite::Read()
{
- _worldPacket >> As<uint32>(Type);
+ _worldPacket >> As<uint8>(Type);
_worldPacket >> ID;
_worldPacket >> Bits<1>(IsFavorite);
}
diff --git a/src/server/game/Server/Packets/CombatPackets.cpp b/src/server/game/Server/Packets/CombatPackets.cpp
index 51de6ecde50..e3cdc24797d 100644
--- a/src/server/game/Server/Packets/CombatPackets.cpp
+++ b/src/server/game/Server/Packets/CombatPackets.cpp
@@ -153,7 +153,7 @@ WorldPacket const* WorldPackets::Combat::PvPCredit::Write()
_worldPacket << int32(OriginalHonor);
_worldPacket << int32(Honor);
_worldPacket << Target;
- _worldPacket << int32(Rank);
+ _worldPacket << int8(Rank);
return &_worldPacket;
}
diff --git a/src/server/game/Server/Packets/CombatPackets.h b/src/server/game/Server/Packets/CombatPackets.h
index 42424d8f18b..b42ff16a382 100644
--- a/src/server/game/Server/Packets/CombatPackets.h
+++ b/src/server/game/Server/Packets/CombatPackets.h
@@ -222,7 +222,7 @@ namespace WorldPackets
int32 OriginalHonor = 0;
int32 Honor = 0;
ObjectGuid Target;
- int32 Rank = 0;
+ int8 Rank = 0;
};
class BreakTarget final : public ServerPacket
diff --git a/src/server/game/Server/Packets/GarrisonPackets.cpp b/src/server/game/Server/Packets/GarrisonPackets.cpp
index 20f14eaa47e..54abd15e0e4 100644
--- a/src/server/game/Server/Packets/GarrisonPackets.cpp
+++ b/src/server/game/Server/Packets/GarrisonPackets.cpp
@@ -317,7 +317,7 @@ ByteBuffer& operator<<(ByteBuffer& data, FollowerSoftCapInfo const& followerSoft
WorldPacket const* GetGarrisonInfoResult::Write()
{
- _worldPacket << int32(FactionIndex);
+ _worldPacket << int8(FactionIndex);
_worldPacket << uint32(Garrisons.size());
_worldPacket << uint32(FollowerSoftCaps.size());
for (FollowerSoftCapInfo const& followerSoftCapInfo : FollowerSoftCaps)
diff --git a/src/server/game/Server/Packets/GarrisonPackets.h b/src/server/game/Server/Packets/GarrisonPackets.h
index 4053c784582..15d16a7a182 100644
--- a/src/server/game/Server/Packets/GarrisonPackets.h
+++ b/src/server/game/Server/Packets/GarrisonPackets.h
@@ -232,7 +232,7 @@ namespace WorldPackets
WorldPacket const* Write() override;
- uint32 FactionIndex = 0;
+ int8 FactionIndex = 0;
std::vector<GarrisonInfo> Garrisons;
std::vector<FollowerSoftCapInfo> FollowerSoftCaps;
};
diff --git a/src/server/game/Server/Packets/GuildPackets.cpp b/src/server/game/Server/Packets/GuildPackets.cpp
index eddb27b988a..aefa1580c85 100644
--- a/src/server/game/Server/Packets/GuildPackets.cpp
+++ b/src/server/game/Server/Packets/GuildPackets.cpp
@@ -88,8 +88,8 @@ void WorldPackets::Guild::GuildUpdateMotdText::Read()
WorldPacket const* WorldPackets::Guild::GuildCommandResult::Write()
{
- _worldPacket << int32(Result);
- _worldPacket << int32(Command);
+ _worldPacket << uint8(Result);
+ _worldPacket << uint8(Command);
_worldPacket << SizedString::BitsSize<8>(Name);
_worldPacket.FlushBits();
diff --git a/src/server/game/Server/Packets/GuildPackets.h b/src/server/game/Server/Packets/GuildPackets.h
index 20f3a0461f9..0cf34d7cf31 100644
--- a/src/server/game/Server/Packets/GuildPackets.h
+++ b/src/server/game/Server/Packets/GuildPackets.h
@@ -154,8 +154,8 @@ namespace WorldPackets
WorldPacket const* Write() override;
std::string Name;
- int32 Result = 0;
- int32 Command = 0;
+ uint8 Result = 0;
+ uint8 Command = 0;
};
class AcceptGuildInvite final : public ClientPacket
diff --git a/src/server/game/Server/Packets/MiscPackets.cpp b/src/server/game/Server/Packets/MiscPackets.cpp
index 387dab8422a..310a118b316 100644
--- a/src/server/game/Server/Packets/MiscPackets.cpp
+++ b/src/server/game/Server/Packets/MiscPackets.cpp
@@ -428,7 +428,7 @@ WorldPacket const* WorldPackets::Misc::RandomRoll::Write()
WorldPacket const* WorldPackets::Misc::EnableBarberShop::Write()
{
- _worldPacket << uint8(CustomizationScope);
+ _worldPacket << uint32(CustomizationFeatureMask);
return &_worldPacket;
}
diff --git a/src/server/game/Server/Packets/MiscPackets.h b/src/server/game/Server/Packets/MiscPackets.h
index 53887fcf8c0..4cf942cf89f 100644
--- a/src/server/game/Server/Packets/MiscPackets.h
+++ b/src/server/game/Server/Packets/MiscPackets.h
@@ -556,7 +556,7 @@ namespace WorldPackets
WorldPacket const* Write() override;
- uint8 CustomizationScope = 0;
+ uint32 CustomizationFeatureMask = 0;
};
struct PhaseShiftDataPhase
diff --git a/src/server/game/Server/Packets/MovementPackets.cpp b/src/server/game/Server/Packets/MovementPackets.cpp
index 451a4235a7b..4023964a0b0 100644
--- a/src/server/game/Server/Packets/MovementPackets.cpp
+++ b/src/server/game/Server/Packets/MovementPackets.cpp
@@ -31,6 +31,7 @@ ByteBuffer& operator<<(ByteBuffer& data, MovementInfo const& movementInfo)
bool hasSpline = false; // todo 6.x send this infos
bool hasInertia = movementInfo.inertia.has_value();
bool hasAdvFlying = movementInfo.advFlying.has_value();
+ bool hasDriveStatus = movementInfo.driveStatus.has_value();
bool hasStandingOnGameObjectGUID = movementInfo.standingOnGameObjectGUID.has_value();
data << movementInfo.guid;
@@ -62,6 +63,7 @@ ByteBuffer& operator<<(ByteBuffer& data, MovementInfo const& movementInfo)
data.WriteBit(false); // RemoteTimeValid
data.WriteBit(hasInertia);
data.WriteBit(hasAdvFlying);
+ data.WriteBit(hasDriveStatus);
data.FlushBits();
@@ -99,6 +101,14 @@ ByteBuffer& operator<<(ByteBuffer& data, MovementInfo const& movementInfo)
}
}
+ if (hasDriveStatus)
+ {
+ data.WriteBit(movementInfo.driveStatus->accelerating);
+ data.WriteBit(movementInfo.driveStatus->drifting);
+ data << float(movementInfo.driveStatus->speed);
+ data << float(movementInfo.driveStatus->movementAngle);
+ }
+
return data;
}
@@ -136,6 +146,7 @@ ByteBuffer& operator>>(ByteBuffer& data, MovementInfo& movementInfo)
data.ReadBit(); // RemoteTimeValid
bool hasInertia = data.ReadBit();
bool hasAdvFlying = data.ReadBit();
+ bool hasDriveStatus = data.ReadBit();
if (hasTransport)
data >> movementInfo.transport;
@@ -176,6 +187,18 @@ ByteBuffer& operator>>(ByteBuffer& data, MovementInfo& movementInfo)
}
}
+ if (hasDriveStatus)
+ {
+ data.ResetBitPos();
+
+ movementInfo.driveStatus.emplace();
+
+ movementInfo.driveStatus->accelerating = data.ReadBit();
+ movementInfo.driveStatus->drifting = data.ReadBit();
+ data >> movementInfo.driveStatus->speed;
+ data >> movementInfo.driveStatus->movementAngle;
+ }
+
return data;
}
@@ -519,6 +542,9 @@ void WorldPackets::Movement::CommonMovement::WriteMovementForceWithDirection(Mov
data << uint32(movementForce.TransportID);
data << float(movementForce.Magnitude);
data << int32(movementForce.MovementForceID);
+ data << int32(movementForce.Unknown1110_1);
+ data << int32(movementForce.Unused1110);
+ data << uint32(movementForce.Flags);
data.WriteBits(AsUnderlyingType(movementForce.Type), 2);
data.FlushBits();
}
@@ -676,6 +702,7 @@ WorldPacket const* WorldPackets::Movement::TransferPending::Write()
_worldPacket << OldMapPosition;
_worldPacket << OptionalInit(Ship);
_worldPacket << OptionalInit(TransferSpellID);
+ _worldPacket << OptionalInit(TaxiPathID);
_worldPacket.FlushBits();
if (Ship)
@@ -687,6 +714,9 @@ WorldPacket const* WorldPackets::Movement::TransferPending::Write()
if (TransferSpellID)
_worldPacket << int32(*TransferSpellID);
+ if (TaxiPathID)
+ _worldPacket << int32(*TaxiPathID);
+
return &_worldPacket;
}
@@ -759,6 +789,9 @@ ByteBuffer& operator>>(ByteBuffer& data, MovementForce& movementForce)
data >> movementForce.TransportID;
data >> movementForce.Magnitude;
data >> movementForce.MovementForceID;
+ data >> movementForce.Unknown1110_1;
+ data >> movementForce.Unused1110;
+ data >> movementForce.Flags;
movementForce.Type = MovementForceType(data.ReadBits(2));
return data;
@@ -1062,6 +1095,7 @@ ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Movement::MoveSetCompound
data.WriteBit(stateChange.MovementForceGUID.has_value());
data.WriteBit(stateChange.MovementInertiaID.has_value());
data.WriteBit(stateChange.MovementInertiaLifetimeMs.has_value());
+ data.WriteBit(stateChange.DriveCapabilityRecID.has_value());
data.FlushBits();
if (stateChange.MovementForce_)
@@ -1102,6 +1136,9 @@ ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Movement::MoveSetCompound
if (stateChange.MovementInertiaLifetimeMs)
data << uint32(*stateChange.MovementInertiaLifetimeMs);
+ if (stateChange.DriveCapabilityRecID)
+ data << int32(*stateChange.DriveCapabilityRecID);
+
return data;
}
diff --git a/src/server/game/Server/Packets/MovementPackets.h b/src/server/game/Server/Packets/MovementPackets.h
index 8fd12c98d4e..6e515e2390f 100644
--- a/src/server/game/Server/Packets/MovementPackets.h
+++ b/src/server/game/Server/Packets/MovementPackets.h
@@ -275,6 +275,7 @@ namespace WorldPackets
TaggedPosition<Position::XYZ> OldMapPosition;
Optional<ShipTransferPending> Ship;
Optional<int32> TransferSpellID;
+ Optional<int32> TaxiPathID;
};
class TransferAborted final : public ServerPacket
@@ -728,6 +729,7 @@ namespace WorldPackets
Optional<ObjectGuid> MovementForceGUID;
Optional<int32> MovementInertiaID;
Optional<uint32> MovementInertiaLifetimeMs;
+ Optional<int32> DriveCapabilityRecID;
};
MoveSetCompoundState() : ServerPacket(SMSG_MOVE_SET_COMPOUND_STATE, 4 + 1) { }
diff --git a/src/server/game/Server/Packets/MythicPlusPacketsCommon.cpp b/src/server/game/Server/Packets/MythicPlusPacketsCommon.cpp
index 6d89d276deb..49ce38f1897 100644
--- a/src/server/game/Server/Packets/MythicPlusPacketsCommon.cpp
+++ b/src/server/game/Server/Packets/MythicPlusPacketsCommon.cpp
@@ -27,6 +27,7 @@ ByteBuffer& operator<<(ByteBuffer& data, DungeonScoreMapSummary const& dungeonSc
data << float(dungeonScoreMapSummary.MapScore);
data << int32(dungeonScoreMapSummary.BestRunLevel);
data << int32(dungeonScoreMapSummary.BestRunDurationMS);
+ data << uint8(dungeonScoreMapSummary.Unknown1110);
data.WriteBit(dungeonScoreMapSummary.FinishedSuccess);
data.FlushBits();
@@ -53,7 +54,7 @@ ByteBuffer& operator<<(ByteBuffer& data, MythicPlusMember const& mythicPlusMembe
data << uint32(mythicPlusMember.NativeRealmAddress);
data << uint32(mythicPlusMember.VirtualRealmAddress);
data << int32(mythicPlusMember.ChrSpecializationID);
- data << int16(mythicPlusMember.RaceID);
+ data << int8(mythicPlusMember.RaceID);
data << int32(mythicPlusMember.ItemLevel);
data << int32(mythicPlusMember.CovenantID);
data << int32(mythicPlusMember.SoulbindID);
diff --git a/src/server/game/Server/Packets/MythicPlusPacketsCommon.h b/src/server/game/Server/Packets/MythicPlusPacketsCommon.h
index c9f921a21ec..a545837d9cd 100644
--- a/src/server/game/Server/Packets/MythicPlusPacketsCommon.h
+++ b/src/server/game/Server/Packets/MythicPlusPacketsCommon.h
@@ -32,6 +32,7 @@ namespace WorldPackets
int32 BestRunLevel = 0;
int32 BestRunDurationMS = 0;
bool FinishedSuccess = false;
+ uint8 Unknown1110 = 0;
};
struct DungeonScoreSummary
@@ -50,7 +51,7 @@ namespace WorldPackets
uint32 NativeRealmAddress = 0;
uint32 VirtualRealmAddress = 0;
int32 ChrSpecializationID = 0;
- int16 RaceID = 0;
+ int8 RaceID = 0;
int32 ItemLevel = 0;
int32 CovenantID = 0;
int32 SoulbindID = 0;
diff --git a/src/server/game/Server/Packets/NPCPackets.cpp b/src/server/game/Server/Packets/NPCPackets.cpp
index babeb6b2a1e..9afa34f5e06 100644
--- a/src/server/game/Server/Packets/NPCPackets.cpp
+++ b/src/server/game/Server/Packets/NPCPackets.cpp
@@ -43,7 +43,7 @@ ByteBuffer& operator<<(ByteBuffer& data, ClientGossipOptions const& gossipOption
data << int32(gossipOption.GossipOptionID);
data << uint8(gossipOption.OptionNPC);
data << int8(gossipOption.OptionFlags);
- data << int32(gossipOption.OptionCost);
+ data << uint64(gossipOption.OptionCost);
data << uint32(gossipOption.OptionLanguage);
data << int32(gossipOption.Flags);
data << int32(gossipOption.OrderIndex);
diff --git a/src/server/game/Server/Packets/NPCPackets.h b/src/server/game/Server/Packets/NPCPackets.h
index 3a52d99c29f..7bf8a0f148c 100644
--- a/src/server/game/Server/Packets/NPCPackets.h
+++ b/src/server/game/Server/Packets/NPCPackets.h
@@ -80,7 +80,7 @@ namespace WorldPackets
int32 GossipOptionID = 0;
GossipOptionNpc OptionNPC = {};
uint8 OptionFlags = 0;
- int32 OptionCost = 0;
+ uint64 OptionCost = 0;
uint32 OptionLanguage = 0;
GossipOptionFlags Flags = {};
int32 OrderIndex = 0;
diff --git a/src/server/game/Server/Packets/PartyPackets.cpp b/src/server/game/Server/Packets/PartyPackets.cpp
index 21a93515806..8f3bdd656d9 100644
--- a/src/server/game/Server/Packets/PartyPackets.cpp
+++ b/src/server/game/Server/Packets/PartyPackets.cpp
@@ -133,6 +133,13 @@ WorldPacket const* WorldPackets::Party::GroupDecline::Write()
return &_worldPacket;
}
+WorldPacket const* WorldPackets::Party::GroupUninvite::Write()
+{
+ _worldPacket << uint8(Reason);
+
+ return &_worldPacket;
+}
+
void WorldPackets::Party::RequestPartyMemberStats::Read()
{
bool hasPartyIndex = _worldPacket.ReadBit();
@@ -176,7 +183,7 @@ ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Party::PartyMemberAuraSta
ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Party::CTROptions const& ctrOptions)
{
data << uint32(ctrOptions.ConditionalFlags);
- data << int32(ctrOptions.FactionGroup);
+ data << int8(ctrOptions.FactionGroup);
data << uint32(ctrOptions.ChromieTimeExpansionMask);
return data;
diff --git a/src/server/game/Server/Packets/PartyPackets.h b/src/server/game/Server/Packets/PartyPackets.h
index 71f5d0e9805..bf6074419f2 100644
--- a/src/server/game/Server/Packets/PartyPackets.h
+++ b/src/server/game/Server/Packets/PartyPackets.h
@@ -127,9 +127,11 @@ namespace WorldPackets
class GroupUninvite final : public ServerPacket
{
public:
- GroupUninvite() : ServerPacket(SMSG_GROUP_UNINVITE, 0) { }
+ GroupUninvite() : ServerPacket(SMSG_GROUP_UNINVITE, 1) { }
- WorldPacket const* Write() override { return &_worldPacket; }
+ WorldPacket const* Write() override;
+
+ uint8 Reason = 0;
};
class RequestPartyMemberStats final : public ClientPacket
@@ -179,7 +181,7 @@ namespace WorldPackets
struct CTROptions
{
uint32 ConditionalFlags = 0;
- int32 FactionGroup = 0;
+ int8 FactionGroup = 0;
uint32 ChromieTimeExpansionMask = 0;
};
diff --git a/src/server/game/Server/Packets/PerksProgramPacketsCommon.cpp b/src/server/game/Server/Packets/PerksProgramPacketsCommon.cpp
index 8fa44a2c761..ced2d878efa 100644
--- a/src/server/game/Server/Packets/PerksProgramPacketsCommon.cpp
+++ b/src/server/game/Server/Packets/PerksProgramPacketsCommon.cpp
@@ -31,6 +31,7 @@ ByteBuffer& operator<<(ByteBuffer& data, PerksVendorItem const& perksVendorItem)
data << int32(perksVendorItem.Price);
data << int32(perksVendorItem.OriginalPrice);
data << perksVendorItem.AvailableUntil;
+ data << int32(perksVendorItem.WarbandSceneID);
data << Bits<1>(perksVendorItem.Disabled);
data << Bits<1>(perksVendorItem.DoesNotExpire);
data.FlushBits();
diff --git a/src/server/game/Server/Packets/PerksProgramPacketsCommon.h b/src/server/game/Server/Packets/PerksProgramPacketsCommon.h
index f76f4403394..64b8257f330 100644
--- a/src/server/game/Server/Packets/PerksProgramPacketsCommon.h
+++ b/src/server/game/Server/Packets/PerksProgramPacketsCommon.h
@@ -31,6 +31,7 @@ struct PerksVendorItem
int32 ItemModifiedAppearanceID = 0;
int32 TransmogIllusionID = 0;
int32 ToyID = 0;
+ int32 WarbandSceneID = 0;
int32 Price = 0;
int32 OriginalPrice = 0;
Timestamp<> AvailableUntil;
diff --git a/src/server/game/Server/Packets/PetPackets.cpp b/src/server/game/Server/Packets/PetPackets.cpp
index 6340e46f778..5af09f7aaa3 100644
--- a/src/server/game/Server/Packets/PetPackets.cpp
+++ b/src/server/game/Server/Packets/PetPackets.cpp
@@ -56,7 +56,7 @@ WorldPacket const* WorldPackets::Pet::PetSpells::Write()
WorldPacket const* WorldPackets::Pet::PetStableResult::Write()
{
- _worldPacket << uint8(Result);
+ _worldPacket << int32(Result);
return &_worldPacket;
}
diff --git a/src/server/game/Server/Packets/PetPackets.h b/src/server/game/Server/Packets/PetPackets.h
index 9f3bf86eab5..9f1ad9b49d9 100644
--- a/src/server/game/Server/Packets/PetPackets.h
+++ b/src/server/game/Server/Packets/PetPackets.h
@@ -136,7 +136,7 @@ namespace WorldPackets
WorldPacket const* Write() override;
- uint8 Result = 0;
+ int32 Result = 0;
};
class PetLearnedSpells final : public ServerPacket
diff --git a/src/server/game/Server/Packets/QueryPackets.cpp b/src/server/game/Server/Packets/QueryPackets.cpp
index f5e257552e2..5a86c56eef9 100644
--- a/src/server/game/Server/Packets/QueryPackets.cpp
+++ b/src/server/game/Server/Packets/QueryPackets.cpp
@@ -93,9 +93,9 @@ WorldPacket const* QueryCreatureResponse::Write()
}
_worldPacket.append(Stats.Flags.data(), Stats.Flags.size());
- _worldPacket << int32(Stats.CreatureType);
+ _worldPacket << uint8(Stats.CreatureType);
_worldPacket << int32(Stats.CreatureFamily);
- _worldPacket << int32(Stats.Classification);
+ _worldPacket << int8(Stats.Classification);
_worldPacket.append(Stats.ProxyCreatureID.data(), Stats.ProxyCreatureID.size());
_worldPacket << uint32(Stats.Display.CreatureDisplay.size());
_worldPacket << float(Stats.Display.TotalProbability);
diff --git a/src/server/game/Server/Packets/QueryPackets.h b/src/server/game/Server/Packets/QueryPackets.h
index 9ab2c74d796..64e40710c87 100644
--- a/src/server/game/Server/Packets/QueryPackets.h
+++ b/src/server/game/Server/Packets/QueryPackets.h
@@ -66,9 +66,9 @@ namespace WorldPackets
std::string Title;
std::string TitleAlt;
std::string CursorName;
- int32 CreatureType = 0;
+ uint8 CreatureType = 0;
int32 CreatureFamily = 0;
- int32 Classification = 0;
+ int8 Classification = 0;
CreatureDisplayStats Display;
float HpMulti = 0.0f;
float EnergyMulti = 0.0f;
diff --git a/src/server/game/Server/Packets/SocialPackets.cpp b/src/server/game/Server/Packets/SocialPackets.cpp
index ab49dae6794..db96d09ef00 100644
--- a/src/server/game/Server/Packets/SocialPackets.cpp
+++ b/src/server/game/Server/Packets/SocialPackets.cpp
@@ -51,7 +51,7 @@ ByteBuffer& operator<<(ByteBuffer& data, ContactInfo const& contact)
data << uint8(contact.Status);
data << uint32(contact.AreaID);
data << uint32(contact.Level);
- data << uint32(contact.ClassID);
+ data << int8(contact.ClassID);
data << SizedString::BitsSize<10>(contact.Notes);
data.FlushBits();
@@ -94,7 +94,7 @@ WorldPacket const* FriendStatus::Write()
_worldPacket << uint8(Status);
_worldPacket << uint32(AreaID);
_worldPacket << uint32(Level);
- _worldPacket << uint32(ClassID);
+ _worldPacket << int8(ClassID);
_worldPacket << SizedString::BitsSize<10>(Notes);
_worldPacket.FlushBits();
diff --git a/src/server/game/Server/Packets/SocialPackets.h b/src/server/game/Server/Packets/SocialPackets.h
index 9ee43e163b1..ff18b0de565 100644
--- a/src/server/game/Server/Packets/SocialPackets.h
+++ b/src/server/game/Server/Packets/SocialPackets.h
@@ -52,7 +52,7 @@ namespace WorldPackets
uint8 Status = 0; ///< @see enum FriendStatus
uint32 AreaID = 0;
uint32 Level = 0;
- uint32 ClassID = CLASS_NONE;
+ int8 ClassID = CLASS_NONE;
};
class ContactList final : public ServerPacket
@@ -77,7 +77,7 @@ namespace WorldPackets
uint32 VirtualRealmAddress = 0;
std::string Notes;
- uint32 ClassID = CLASS_NONE;
+ int8 ClassID = CLASS_NONE;
uint8 Status = 0; ///< @see enum FriendStatus
ObjectGuid Guid;
ObjectGuid WowAccountGuid;
diff --git a/src/server/game/Server/Packets/SpellPackets.cpp b/src/server/game/Server/Packets/SpellPackets.cpp
index 58e0bd45ad8..90de14da4df 100644
--- a/src/server/game/Server/Packets/SpellPackets.cpp
+++ b/src/server/game/Server/Packets/SpellPackets.cpp
@@ -94,6 +94,7 @@ ByteBuffer& operator<<(ByteBuffer& data, AuraDataInfo const& auraData)
data << uint16(auraData.CastLevel);
data << uint8(auraData.Applications);
data << int32(auraData.ContentTuningID);
+ data << auraData.DstLocation;
data << OptionalInit(auraData.CastUnit);
data << OptionalInit(auraData.Duration);
data << OptionalInit(auraData.Remaining);
@@ -128,7 +129,7 @@ ByteBuffer& operator<<(ByteBuffer& data, AuraDataInfo const& auraData)
ByteBuffer& operator<<(ByteBuffer& data, AuraInfo const& aura)
{
- data << aura.Slot;
+ data << uint16(aura.Slot);
data << OptionalInit(aura.AuraData);
data.FlushBits();
diff --git a/src/server/game/Server/Packets/SpellPackets.h b/src/server/game/Server/Packets/SpellPackets.h
index 30d9f8505b5..14ade1c2a71 100644
--- a/src/server/game/Server/Packets/SpellPackets.h
+++ b/src/server/game/Server/Packets/SpellPackets.h
@@ -172,11 +172,12 @@ namespace WorldPackets
Optional<float> TimeMod;
std::vector<float> Points;
std::vector<float> EstimatedPoints;
+ TaggedPosition<Position::XYZ> DstLocation;
};
struct AuraInfo
{
- uint8 Slot = 0;
+ uint16 Slot = 0;
Optional<AuraDataInfo> AuraData;
};
diff --git a/src/server/game/Server/Packets/SystemPackets.cpp b/src/server/game/Server/Packets/SystemPackets.cpp
index c6f7b85fcd4..e8c2f899349 100644
--- a/src/server/game/Server/Packets/SystemPackets.cpp
+++ b/src/server/game/Server/Packets/SystemPackets.cpp
@@ -90,10 +90,16 @@ WorldPacket const* FeatureSystemStatus::Write()
_worldPacket << int16(NameLookupTelemetryInterval);
_worldPacket << NotFoundCacheTimeSeconds;
+ _worldPacket << uint32(RealmPvpTypeOverride);
+
_worldPacket << int32(AddonChatThrottle.MaxTries);
_worldPacket << int32(AddonChatThrottle.TriesRestoredPerSecond);
_worldPacket << int32(AddonChatThrottle.UsedTriesPerMessage);
+ _worldPacket << float(AddonPerformanceMsgWarning);
+ _worldPacket << float(AddonPerformanceMsgError);
+ _worldPacket << float(AddonPerformanceMsgOverall);
+
for (GameRuleValuePair const& gameRuleValue : GameRules)
_worldPacket << gameRuleValue;
@@ -156,6 +162,7 @@ WorldPacket const* FeatureSystemStatus::Write()
_worldPacket << Bits<1>(false); // unused 11.0.7
_worldPacket << Bits<1>(LobbyMatchmakerQueueFromMainlineEnabled);
_worldPacket << Bits<1>(CanSendLobbyMatchmakerPartyCustomizations);
+ _worldPacket << Bits<1>(AddonProfilerEnabled);
_worldPacket.FlushBits();
diff --git a/src/server/game/Server/Packets/SystemPackets.h b/src/server/game/Server/Packets/SystemPackets.h
index 55ce924388a..405f96bbd9a 100644
--- a/src/server/game/Server/Packets/SystemPackets.h
+++ b/src/server/game/Server/Packets/SystemPackets.h
@@ -180,6 +180,7 @@ namespace WorldPackets
bool IsAccountCurrencyTransferEnabled = false;
bool LobbyMatchmakerQueueFromMainlineEnabled = false;
bool CanSendLobbyMatchmakerPartyCustomizations = false;
+ bool AddonProfilerEnabled = false;
SocialQueueConfig QuickJoinConfig;
SquelchInfo Squelch;
@@ -189,6 +190,10 @@ namespace WorldPackets
int32 RemainingTimerunningSeasonSeconds = 0;
std::string Unknown1027; // related to movement lua functions used by keybinds
AddonChatThrottleParams AddonChatThrottle;
+ uint32 RealmPvpTypeOverride = 0; ///< Use Cfg_Configs value = 0, ForceEnabled = 1, ForceDisabled = 2
+ float AddonPerformanceMsgWarning = 0.0f;
+ float AddonPerformanceMsgError = 0.0f;
+ float AddonPerformanceMsgOverall = 0.0f;
};
struct DebugTimeEventInfo
diff --git a/src/server/game/Server/Packets/WhoPackets.h b/src/server/game/Server/Packets/WhoPackets.h
index 39f9c8bb272..7f88393098b 100644
--- a/src/server/game/Server/Packets/WhoPackets.h
+++ b/src/server/game/Server/Packets/WhoPackets.h
@@ -54,7 +54,7 @@ namespace WorldPackets
struct WhoRequestServerInfo
{
- int32 FactionGroup = 0;
+ uint8 FactionGroup = 0;
int32 Locale = 0;
uint32 RequesterVirtualRealmAddress = 0;
};