aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Server
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2025-10-10 16:21:55 +0200
committerShauren <shauren.trinity@gmail.com>2025-10-10 16:21:55 +0200
commit53068a94e88991ae7196fb247df4b7ca2e47e554 (patch)
tree42afe6e6160b0317f72ddec25562988145d7a5ff /src/server/game/Server
parenta7d825c6deb2711392956abac2d494a8731f58c3 (diff)
Core: Updated to 11.2.5.63704
Diffstat (limited to 'src/server/game/Server')
-rw-r--r--src/server/game/Server/Packets/CalendarPackets.cpp8
-rw-r--r--src/server/game/Server/Packets/CalendarPackets.h8
-rw-r--r--src/server/game/Server/Packets/CharacterPackets.cpp38
-rw-r--r--src/server/game/Server/Packets/CharacterPackets.h11
-rw-r--r--src/server/game/Server/Packets/CombatLogPackets.cpp2
-rw-r--r--src/server/game/Server/Packets/GuildPackets.cpp6
-rw-r--r--src/server/game/Server/Packets/GuildPackets.h10
-rw-r--r--src/server/game/Server/Packets/ItemPackets.cpp2
-rw-r--r--src/server/game/Server/Packets/ItemPackets.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/MailPackets.cpp2
-rw-r--r--src/server/game/Server/Packets/MailPackets.h2
-rw-r--r--src/server/game/Server/Packets/MiscPackets.cpp2
-rw-r--r--src/server/game/Server/Packets/MovementPackets.cpp31
-rw-r--r--src/server/game/Server/Packets/NPCPackets.cpp4
-rw-r--r--src/server/game/Server/Packets/NPCPackets.h10
-rw-r--r--src/server/game/Server/Packets/PartyPackets.cpp3
-rw-r--r--src/server/game/Server/Packets/PartyPackets.h3
-rw-r--r--src/server/game/Server/Packets/PetPackets.cpp6
-rw-r--r--src/server/game/Server/Packets/PetPackets.h6
-rw-r--r--src/server/game/Server/Packets/PetitionPackets.cpp2
-rw-r--r--src/server/game/Server/Packets/PetitionPackets.h2
-rw-r--r--src/server/game/Server/Packets/QuestPackets.cpp6
-rw-r--r--src/server/game/Server/Packets/QuestPackets.h10
-rw-r--r--src/server/game/Server/Packets/SpellPackets.cpp40
-rw-r--r--src/server/game/Server/Packets/SpellPackets.h9
-rw-r--r--src/server/game/Server/Packets/SystemPackets.cpp28
-rw-r--r--src/server/game/Server/Packets/SystemPackets.h28
-rw-r--r--src/server/game/Server/Packets/TalentPackets.cpp3
-rw-r--r--src/server/game/Server/Packets/TalentPackets.h1
-rw-r--r--src/server/game/Server/Packets/TokenPackets.cpp4
-rw-r--r--src/server/game/Server/Packets/TokenPackets.h2
-rw-r--r--src/server/game/Server/Packets/TraitPacketsCommon.cpp4
-rw-r--r--src/server/game/Server/Packets/TraitPacketsCommon.h1
-rw-r--r--src/server/game/Server/Protocol/Opcodes.cpp13
-rw-r--r--src/server/game/Server/Protocol/Opcodes.h939
-rw-r--r--src/server/game/Server/WorldSession.h13
38 files changed, 681 insertions, 584 deletions
diff --git a/src/server/game/Server/Packets/CalendarPackets.cpp b/src/server/game/Server/Packets/CalendarPackets.cpp
index de56c390a6c..c5c0a71a413 100644
--- a/src/server/game/Server/Packets/CalendarPackets.cpp
+++ b/src/server/game/Server/Packets/CalendarPackets.cpp
@@ -332,7 +332,7 @@ WorldPacket const* CalendarInviteStatus::Write()
_worldPacket << InviteGuid;
_worldPacket << uint64(EventID);
_worldPacket << Date;
- _worldPacket << uint32(Flags);
+ _worldPacket << uint16(Flags);
_worldPacket << uint8(Status);
_worldPacket << ResponseTime;
_worldPacket << Bits<1>(ClearPending);
@@ -345,7 +345,7 @@ WorldPacket const* CalendarInviteRemoved::Write()
{
_worldPacket << InviteGuid;
_worldPacket << uint64(EventID);
- _worldPacket << uint32(Flags);
+ _worldPacket << uint16(Flags);
_worldPacket << Bits<1>(ClearPending);
_worldPacket.FlushBits();
@@ -367,7 +367,7 @@ WorldPacket const* CalendarInviteRemovedAlert::Write()
{
_worldPacket << uint64(EventID);
_worldPacket << Date;
- _worldPacket << uint32(Flags);
+ _worldPacket << uint16(Flags);
_worldPacket << uint8(Status);
return &_worldPacket;
@@ -472,7 +472,7 @@ WorldPacket const* CalendarInviteStatusAlert::Write()
{
_worldPacket << uint64(EventID);
_worldPacket << Date;
- _worldPacket << uint32(Flags);
+ _worldPacket << uint16(Flags);
_worldPacket << uint8(Status);
return &_worldPacket;
diff --git a/src/server/game/Server/Packets/CalendarPackets.h b/src/server/game/Server/Packets/CalendarPackets.h
index f2457e803eb..ba1f63f97b0 100644
--- a/src/server/game/Server/Packets/CalendarPackets.h
+++ b/src/server/game/Server/Packets/CalendarPackets.h
@@ -293,7 +293,7 @@ namespace WorldPackets
WorldPacket const* Write() override;
- uint32 Flags = 0;
+ uint16 Flags = 0;
uint64 EventID = 0;
uint8 Status = 0;
bool ClearPending = false;
@@ -311,7 +311,7 @@ namespace WorldPackets
ObjectGuid InviteGuid;
uint64 EventID = 0;
- uint32 Flags = 0;
+ uint16 Flags = 0;
bool ClearPending = false;
};
@@ -337,7 +337,7 @@ namespace WorldPackets
uint64 EventID = 0;
WowTime Date;
- uint32 Flags = 0;
+ uint16 Flags = 0;
uint8 Status = 0;
};
@@ -543,7 +543,7 @@ namespace WorldPackets
WorldPacket const* Write() override;
uint64 EventID = 0;
- uint32 Flags = 0;
+ uint16 Flags = 0;
WowTime Date;
uint8 Status = 0;
};
diff --git a/src/server/game/Server/Packets/CharacterPackets.cpp b/src/server/game/Server/Packets/CharacterPackets.cpp
index 88a897400aa..dafa4fbe1d6 100644
--- a/src/server/game/Server/Packets/CharacterPackets.cpp
+++ b/src/server/game/Server/Packets/CharacterPackets.cpp
@@ -86,11 +86,11 @@ EnumCharactersResult::CharacterInfoBasic::CharacterInfoBasic(Field const* fields
// "characters.zone, characters.map, characters.position_x, characters.position_y, characters.position_z, "
// 11 12 13 14 15 16 17
// "guild_member.guildid, characters.playerFlags, characters.at_login, character_pet.entry, character_pet.modelid, character_pet.level, characters.equipmentCache, "
- // 18 19 20 21 22
- // "character_banned.guid, characters.slot, characters.logout_time, characters.activeTalentGroup, characters.lastLoginBuild, "
- // 23 24 25 26 27
+ // 18 19 20 21 22 23
+ // "character_banned.guid, characters.slot, characters.createTime, characters.logout_time, characters.activeTalentGroup, characters.lastLoginBuild, "
+ // 24 25 26 27 28
// "characters.personalTabardEmblemStyle, characters.personalTabardEmblemColor, characters.personalTabardBorderStyle, characters.personalTabardBorderColor, characters.personalTabardBackgroundColor "
- // 28
+ // 29
// "character_declinedname.genitive"
Guid = ObjectGuid::Create<HighGuid::Player>(fields[0].GetUInt64());
@@ -129,7 +129,7 @@ EnumCharactersResult::CharacterInfoBasic::CharacterInfoBasic(Field const* fields
if (fields[18].GetUInt64())
Flags |= CHARACTER_FLAG_LOCKED_BY_BILLING;
- if (sWorld->getBoolConfig(CONFIG_DECLINED_NAMES_USED) && !fields[28].GetStringView().empty())
+ if (sWorld->getBoolConfig(CONFIG_DECLINED_NAMES_USED) && !fields[29].GetStringView().empty())
Flags |= CHARACTER_FLAG_DECLINED;
if (atLoginFlags & AT_LOGIN_CUSTOMIZE)
@@ -172,17 +172,18 @@ EnumCharactersResult::CharacterInfoBasic::CharacterInfoBasic(Field const* fields
std::vector<std::string_view> equipment = Trinity::Tokenize(fields[17].GetStringView(), ' ', false);
ListPosition = fields[19].GetUInt8();
- LastActiveTime = fields[20].GetInt64();
- if (ChrSpecializationEntry const* spec = sDB2Manager.GetChrSpecializationByIndex(ClassID, fields[21].GetUInt8()))
+ CreateTime = fields[20].GetInt64();
+ LastActiveTime = fields[21].GetInt64();
+ if (ChrSpecializationEntry const* spec = sDB2Manager.GetChrSpecializationByIndex(ClassID, fields[22].GetUInt8()))
SpecID = spec->ID;
- LastLoginVersion = fields[22].GetUInt32();
+ LastLoginVersion = fields[23].GetUInt32();
- PersonalTabard.EmblemStyle = fields[23].GetInt32();
- PersonalTabard.EmblemColor = fields[24].GetInt32();
- PersonalTabard.BorderStyle = fields[25].GetInt32();
- PersonalTabard.BorderColor = fields[26].GetInt32();
- PersonalTabard.BackgroundColor = fields[27].GetInt32();
+ PersonalTabard.EmblemStyle = fields[24].GetInt32();
+ PersonalTabard.EmblemColor = fields[25].GetInt32();
+ PersonalTabard.BorderStyle = fields[26].GetInt32();
+ PersonalTabard.BorderColor = fields[27].GetInt32();
+ PersonalTabard.BackgroundColor = fields[28].GetInt32();
constexpr std::size_t equipmentFieldsPerSlot = 5;
@@ -240,6 +241,7 @@ ByteBuffer& operator<<(ByteBuffer& data, EnumCharactersResult::CharacterInfoBasi
data << visualItem;
data << int32(charInfo.SaveVersion);
+ data << charInfo.CreateTime;
data << charInfo.LastActiveTime;
data << int32(charInfo.LastLoginVersion);
data << charInfo.PersonalTabard;
@@ -467,7 +469,7 @@ void CreateCharacter::Read()
WorldPacket const* CreateChar::Write()
{
- _worldPacket << uint8(Code);
+ _worldPacket << uint32(Code);
_worldPacket << Guid;
return &_worldPacket;
@@ -480,7 +482,7 @@ void CharDelete::Read()
WorldPacket const* DeleteChar::Write()
{
- _worldPacket << uint8(Code);
+ _worldPacket << uint32(Code);
return &_worldPacket;
}
@@ -497,7 +499,7 @@ void CharacterRenameRequest::Read()
WorldPacket const* CharacterRenameResult::Write()
{
- _worldPacket << uint8(Result);
+ _worldPacket << uint32(Result);
_worldPacket << OptionalInit(Guid);
_worldPacket << SizedString::BitsSize<6>(Name);
_worldPacket.FlushBits();
@@ -546,7 +548,7 @@ void CharRaceOrFactionChange::Read()
WorldPacket const* CharFactionChangeResult::Write()
{
- _worldPacket << uint8(Result);
+ _worldPacket << uint32(Result);
_worldPacket << Guid;
_worldPacket << OptionalInit(Display);
_worldPacket.FlushBits();
@@ -833,7 +835,7 @@ WorldPacket const* CharCustomizeSuccess::Write()
WorldPacket const* CharCustomizeFailure::Write()
{
- _worldPacket << uint8(Result);
+ _worldPacket << uint32(Result);
_worldPacket << CharGUID;
return &_worldPacket;
diff --git a/src/server/game/Server/Packets/CharacterPackets.h b/src/server/game/Server/Packets/CharacterPackets.h
index 5a78c17d976..ba3092fd655 100644
--- a/src/server/game/Server/Packets/CharacterPackets.h
+++ b/src/server/game/Server/Packets/CharacterPackets.h
@@ -167,6 +167,7 @@ namespace WorldPackets
uint32 Flags4 = 0; ///< Character flags 4 @todo research
bool FirstLogin = false;
uint8 CantLoginReason = 0;
+ Timestamp<> CreateTime;
Timestamp<> LastActiveTime;
uint16 SpecID = 0;
uint32 SaveVersion = 0;
@@ -336,7 +337,7 @@ namespace WorldPackets
WorldPacket const* Write() override;
- uint8 Code = 0; ///< Result code @see enum ResponseCodes
+ uint32 Code = 0; ///< Result code @see enum ResponseCodes
ObjectGuid Guid;
};
@@ -357,7 +358,7 @@ namespace WorldPackets
WorldPacket const* Write() override;
- uint8 Code = 0; ///< Result code @see enum ResponseCodes
+ uint32 Code = 0; ///< Result code @see enum ResponseCodes
};
class CharacterRenameRequest final : public ClientPacket
@@ -382,7 +383,7 @@ namespace WorldPackets
WorldPacket const* Write() override;
std::string Name;
- uint8 Result = 0;
+ uint32 Result = 0;
Optional<ObjectGuid> Guid;
};
@@ -445,7 +446,7 @@ namespace WorldPackets
WorldPacket const* Write() override;
- uint8 Result = 0; ///< @see enum ResponseCodes
+ uint32 Result = 0; ///< @see enum ResponseCodes
ObjectGuid Guid;
Optional<CharFactionChangeDisplayInfo> Display;
};
@@ -847,7 +848,7 @@ namespace WorldPackets
WorldPacket const* Write() override;
- uint8 Result = 0;
+ uint32 Result = 0;
ObjectGuid CharGUID;
};
diff --git a/src/server/game/Server/Packets/CombatLogPackets.cpp b/src/server/game/Server/Packets/CombatLogPackets.cpp
index 8135eb6d5c1..ad2c672891e 100644
--- a/src/server/game/Server/Packets/CombatLogPackets.cpp
+++ b/src/server/game/Server/Packets/CombatLogPackets.cpp
@@ -52,6 +52,7 @@ WorldPacket const* SpellNonMeleeDamageLog::Write()
*this << int32(Absorbed);
*this << int32(Resisted);
*this << int32(ShieldBlock);
+ *this << int32(Flags);
*this << Size<uint32>(WorldTextViewers);
*this << Size<uint32>(Supporters);
@@ -59,7 +60,6 @@ WorldPacket const* SpellNonMeleeDamageLog::Write()
*this << supportInfo;
*this << Bits<1>(Periodic);
- *this << Bits<7>(Flags);
*this << Bits<1>(false); // Debug info
WriteLogDataBit();
*this << OptionalInit(ContentTuning);
diff --git a/src/server/game/Server/Packets/GuildPackets.cpp b/src/server/game/Server/Packets/GuildPackets.cpp
index e3701a7d09e..881a4db5507 100644
--- a/src/server/game/Server/Packets/GuildPackets.cpp
+++ b/src/server/game/Server/Packets/GuildPackets.cpp
@@ -89,12 +89,12 @@ ByteBuffer& operator<<(ByteBuffer& data, GuildRosterMemberData const& rosterMemb
data << uint8(rosterMemberData.Gender);
data << uint64(rosterMemberData.GuildClubMemberID);
data << uint8(rosterMemberData.RaceID);
+ data << int32(rosterMemberData.TimerunningSeasonID);
data << SizedString::BitsSize<6>(rosterMemberData.Name);
data << SizedString::BitsSize<8>(rosterMemberData.Note);
data << SizedString::BitsSize<8>(rosterMemberData.OfficerNote);
data << Bits<1>(rosterMemberData.Authenticated);
- data << Bits<1>(rosterMemberData.SorEligible);
data.FlushBits();
data << rosterMemberData.DungeonScore;
@@ -861,7 +861,7 @@ ByteBuffer& operator<<(ByteBuffer& data, GuildNewsEvent const& newsEvent)
{
data << int32(newsEvent.Id);
data << newsEvent.CompletedDate;
- data << int32(newsEvent.Type);
+ data << int8(newsEvent.Type);
data << int32(newsEvent.Flags);
for (std::size_t i = 0; i < newsEvent.Data.size(); ++i)
@@ -870,7 +870,7 @@ ByteBuffer& operator<<(ByteBuffer& data, GuildNewsEvent const& newsEvent)
data << newsEvent.MemberGuid;
data << Size<uint32>(newsEvent.MemberList);
- for (ObjectGuid memberGuid : newsEvent.MemberList)
+ for (ObjectGuid const& memberGuid : newsEvent.MemberList)
data << memberGuid;
data << OptionalInit(newsEvent.Item);
diff --git a/src/server/game/Server/Packets/GuildPackets.h b/src/server/game/Server/Packets/GuildPackets.h
index 566830dfa7c..186a29805e8 100644
--- a/src/server/game/Server/Packets/GuildPackets.h
+++ b/src/server/game/Server/Packets/GuildPackets.h
@@ -105,18 +105,18 @@ namespace WorldPackets
int32 GuildReputation = 0;
int32 GuildRepToCap = 0;
float LastSave = 0.0f;
- std::string Name;
+ std::string_view Name;
uint32 VirtualRealmAddress = 0;
- std::string Note;
- std::string OfficerNote;
+ std::string_view Note;
+ std::string_view OfficerNote;
uint8 Status = 0;
uint8 Level = 0;
uint8 ClassID = 0;
uint8 Gender = 0;
uint64 GuildClubMemberID = 0;
uint8 RaceID = 0;
+ int32 TimerunningSeasonID = 0;
bool Authenticated = false;
- bool SorEligible = false;
GuildRosterProfessionData Profession[2];
MythicPlus::DungeonScoreSummary DungeonScore;
};
@@ -1069,7 +1069,7 @@ namespace WorldPackets
{
int32 Id = 0;
WowTime CompletedDate;
- int32 Type = 0;
+ int8 Type = 0;
int32 Flags = 0;
std::array<int32, 2> Data = { };
ObjectGuid MemberGuid;
diff --git a/src/server/game/Server/Packets/ItemPackets.cpp b/src/server/game/Server/Packets/ItemPackets.cpp
index 0dcf8eacb17..26b2b6c2d04 100644
--- a/src/server/game/Server/Packets/ItemPackets.cpp
+++ b/src/server/game/Server/Packets/ItemPackets.cpp
@@ -107,7 +107,7 @@ void ItemPurchaseRefund::Read()
WorldPacket const* ItemPurchaseRefundResult::Write()
{
_worldPacket << ItemGUID;
- _worldPacket << uint8(Result);
+ _worldPacket << uint32(Result);
_worldPacket << OptionalInit(Contents);
_worldPacket.FlushBits();
if (Contents)
diff --git a/src/server/game/Server/Packets/ItemPackets.h b/src/server/game/Server/Packets/ItemPackets.h
index b783d6cc5a9..2375360cea7 100644
--- a/src/server/game/Server/Packets/ItemPackets.h
+++ b/src/server/game/Server/Packets/ItemPackets.h
@@ -145,7 +145,7 @@ namespace WorldPackets
WorldPacket const* Write() override;
- uint8 Result = 0;
+ uint32 Result = 0;
ObjectGuid ItemGUID;
Optional<ItemPurchaseContents> Contents;
};
diff --git a/src/server/game/Server/Packets/LFGPackets.cpp b/src/server/game/Server/Packets/LFGPackets.cpp
index b26ae5e1a53..de1a0d3e2ce 100644
--- a/src/server/game/Server/Packets/LFGPackets.cpp
+++ b/src/server/game/Server/Packets/LFGPackets.cpp
@@ -204,7 +204,7 @@ WorldPacket const* LFGUpdateStatus::Write()
{
_worldPacket << Ticket;
_worldPacket << uint8(SubType);
- _worldPacket << uint8(Reason);
+ _worldPacket << uint32(Reason);
_worldPacket << Size<uint32>(Slots);
_worldPacket << uint8(RequestedRoles);
_worldPacket << Size<uint32>(SuspendedPlayers);
diff --git a/src/server/game/Server/Packets/LFGPackets.h b/src/server/game/Server/Packets/LFGPackets.h
index 438dcb32a9b..71ae7753269 100644
--- a/src/server/game/Server/Packets/LFGPackets.h
+++ b/src/server/game/Server/Packets/LFGPackets.h
@@ -224,7 +224,7 @@ namespace WorldPackets
RideTicket Ticket;
uint8 SubType = 0;
- uint8 Reason = 0;
+ uint32 Reason = 0;
std::vector<uint32> Slots;
uint8 RequestedRoles = 0;
std::vector<ObjectGuid> SuspendedPlayers;
diff --git a/src/server/game/Server/Packets/MailPackets.cpp b/src/server/game/Server/Packets/MailPackets.cpp
index 4764e9e240a..12ce2572dc0 100644
--- a/src/server/game/Server/Packets/MailPackets.cpp
+++ b/src/server/game/Server/Packets/MailPackets.cpp
@@ -293,7 +293,7 @@ WorldPacket const* MailQueryNextTimeResult::Write()
_worldPacket << entry.SenderGuid;
_worldPacket << float(entry.TimeLeft);
_worldPacket << int32(entry.AltSenderID);
- _worldPacket << int8(entry.AltSenderType);
+ _worldPacket << int32(entry.AltSenderType);
_worldPacket << int32(entry.StationeryID);
}
diff --git a/src/server/game/Server/Packets/MailPackets.h b/src/server/game/Server/Packets/MailPackets.h
index 40ae9cd8224..fd25fcd2311 100644
--- a/src/server/game/Server/Packets/MailPackets.h
+++ b/src/server/game/Server/Packets/MailPackets.h
@@ -214,7 +214,7 @@ namespace WorldPackets
ObjectGuid SenderGuid;
float TimeLeft = 0.0f;
int32 AltSenderID = 0;
- int8 AltSenderType = 0;
+ int32 AltSenderType = 0;
int32 StationeryID = 0;
};
diff --git a/src/server/game/Server/Packets/MiscPackets.cpp b/src/server/game/Server/Packets/MiscPackets.cpp
index 99048b68644..b3a3ea8487d 100644
--- a/src/server/game/Server/Packets/MiscPackets.cpp
+++ b/src/server/game/Server/Packets/MiscPackets.cpp
@@ -121,6 +121,7 @@ WorldPacket const* SetupCurrency::Write()
{
_worldPacket << int32(data.Type);
_worldPacket << int32(data.Quantity);
+ _worldPacket << uint8(data.Flags);
_worldPacket << OptionalInit(data.WeeklyQuantity);
_worldPacket << OptionalInit(data.MaxWeeklyQuantity);
@@ -129,7 +130,6 @@ WorldPacket const* SetupCurrency::Write()
_worldPacket << OptionalInit(data.TotalEarned);
_worldPacket << OptionalInit(data.NextRechargeTime);
_worldPacket << OptionalInit(data.RechargeCycleStartTime);
- _worldPacket << Bits<5>(data.Flags);
_worldPacket.FlushBits();
if (data.WeeklyQuantity)
diff --git a/src/server/game/Server/Packets/MovementPackets.cpp b/src/server/game/Server/Packets/MovementPackets.cpp
index 629544a68de..07ff6f59274 100644
--- a/src/server/game/Server/Packets/MovementPackets.cpp
+++ b/src/server/game/Server/Packets/MovementPackets.cpp
@@ -340,27 +340,13 @@ ByteBuffer& operator<<(ByteBuffer& data, MonsterSplineUnknown901 const& unk)
ByteBuffer& operator<<(ByteBuffer& data, MovementSpline const& movementSpline)
{
data << uint32(movementSpline.Flags);
+ data << uint8(movementSpline.Face);
data << int32(movementSpline.Elapsed);
data << uint32(movementSpline.MoveTime);
data << uint32(movementSpline.FadeObjectTime);
data << uint8(movementSpline.Mode);
data << movementSpline.TransportGUID;
data << int8(movementSpline.VehicleSeat);
- data << Bits<2>(movementSpline.Face);
- data << BitsSize<16>(movementSpline.Points);
- data << Bits<1>(movementSpline.VehicleExitVoluntary);
- data << Bits<1>(movementSpline.TaxiSmoothing);
- data << BitsSize<16>(movementSpline.PackedDeltas);
- data << OptionalInit(movementSpline.SplineFilter);
- data << OptionalInit(movementSpline.SpellEffectExtraData);
- data << OptionalInit(movementSpline.JumpExtraData);
- data << OptionalInit(movementSpline.TurnData);
- data << OptionalInit(movementSpline.AnimTierTransition);
- data << OptionalInit(movementSpline.Unknown901);
- data.FlushBits();
-
- if (movementSpline.SplineFilter)
- data << *movementSpline.SplineFilter;
switch (movementSpline.Face)
{
@@ -376,6 +362,21 @@ ByteBuffer& operator<<(ByteBuffer& data, MovementSpline const& movementSpline)
break;
}
+ data << BitsSize<16>(movementSpline.Points);
+ data << Bits<1>(movementSpline.VehicleExitVoluntary);
+ data << Bits<1>(movementSpline.TaxiSmoothing);
+ data << BitsSize<16>(movementSpline.PackedDeltas);
+ data << OptionalInit(movementSpline.SplineFilter);
+ data << OptionalInit(movementSpline.SpellEffectExtraData);
+ data << OptionalInit(movementSpline.JumpExtraData);
+ data << OptionalInit(movementSpline.TurnData);
+ data << OptionalInit(movementSpline.AnimTierTransition);
+ data << OptionalInit(movementSpline.Unknown901);
+ data.FlushBits();
+
+ if (movementSpline.SplineFilter)
+ data << *movementSpline.SplineFilter;
+
for (TaggedPosition<Position::XYZ> const& pos : movementSpline.Points)
data << pos;
diff --git a/src/server/game/Server/Packets/NPCPackets.cpp b/src/server/game/Server/Packets/NPCPackets.cpp
index b05a44c5864..643048900b6 100644
--- a/src/server/game/Server/Packets/NPCPackets.cpp
+++ b/src/server/game/Server/Packets/NPCPackets.cpp
@@ -42,8 +42,8 @@ ByteBuffer& operator<<(ByteBuffer& data, TreasureLootList const& treasureLootLis
ByteBuffer& operator<<(ByteBuffer& data, ClientGossipOptions const& gossipOption)
{
data << int32(gossipOption.GossipOptionID);
+ data << int32(gossipOption.OptionFlags);
data << uint8(gossipOption.OptionNPC);
- data << int8(gossipOption.OptionFlags);
data << uint64(gossipOption.OptionCost);
data << uint32(gossipOption.OptionLanguage);
data << int32(gossipOption.Flags);
@@ -167,7 +167,7 @@ WorldPacket const* VendorInventory::Write()
WorldPacket const* TrainerList::Write()
{
_worldPacket << TrainerGUID;
- _worldPacket << uint32(TrainerType);
+ _worldPacket << int8(TrainerType);
_worldPacket << uint32(TrainerID);
_worldPacket << Size<uint32>(Spells);
diff --git a/src/server/game/Server/Packets/NPCPackets.h b/src/server/game/Server/Packets/NPCPackets.h
index 9209613338b..ae2e8d9d440 100644
--- a/src/server/game/Server/Packets/NPCPackets.h
+++ b/src/server/game/Server/Packets/NPCPackets.h
@@ -79,7 +79,7 @@ namespace WorldPackets
{
int32 GossipOptionID = 0;
GossipOptionNpc OptionNPC = {};
- uint8 OptionFlags = 0;
+ int32 OptionFlags = 0;
uint64 OptionCost = 0;
uint32 OptionLanguage = 0;
GossipOptionFlags Flags = {};
@@ -90,7 +90,7 @@ namespace WorldPackets
TreasureLootList Treasure;
Optional<int32> SpellID;
Optional<int32> OverrideIconID;
- std::string FailureDescription;
+ std::string_view FailureDescription;
};
struct ClientGossipText
@@ -103,7 +103,7 @@ namespace WorldPackets
bool ResetByScheduler = false;
bool Important = false;
bool Meta = false;
- std::string QuestTitle;
+ std::string_view QuestTitle;
std::array<int32, 4> QuestFlags = { };
};
@@ -207,7 +207,7 @@ namespace WorldPackets
WorldPacket const* Write() override;
ObjectGuid TrainerGUID;
- int32 TrainerType = 0;
+ int8 TrainerType = 0;
int32 TrainerID = 1;
std::vector<TrainerListSpell> Spells;
std::string Greeting;
@@ -226,7 +226,7 @@ namespace WorldPackets
int32 Icon = 0;
int32 Importance = 0;
int32 WMOGroupID = 0;
- std::string Name;
+ std::string_view Name;
};
class SpiritHealerActivate final : public ClientPacket
diff --git a/src/server/game/Server/Packets/PartyPackets.cpp b/src/server/game/Server/Packets/PartyPackets.cpp
index 1c329d41239..42893d3e350 100644
--- a/src/server/game/Server/Packets/PartyPackets.cpp
+++ b/src/server/game/Server/Packets/PartyPackets.cpp
@@ -213,7 +213,7 @@ ByteBuffer& operator<<(ByteBuffer& data, PartyMemberStats const& memberStats)
for (uint32 i = 0; i < 2; i++)
data << uint8(memberStats.PartyType[i]);
- data << uint16(memberStats.Status);
+ data << uint32(memberStats.Status);
data << uint8(memberStats.PowerType);
data << uint16(memberStats.PowerDisplayID);
data << int32(memberStats.CurrentHealth);
@@ -503,6 +503,7 @@ ByteBuffer& operator<<(ByteBuffer& data, ChallengeModeData const& challengeMode)
data << int64(challengeMode.Unknown_1120_4);
data << challengeMode.KeystoneOwnerGUID;
data << challengeMode.LeaverGUID;
+ data << challengeMode.InstanceAbandonVoteCooldown;
data << Bits<1>(challengeMode.IsActive);
data << Bits<1>(challengeMode.HasRestrictions);
data << Bits<1>(challengeMode.CanVoteAbandon);
diff --git a/src/server/game/Server/Packets/PartyPackets.h b/src/server/game/Server/Packets/PartyPackets.h
index 5b8e4c2ca1e..2e005b7832a 100644
--- a/src/server/game/Server/Packets/PartyPackets.h
+++ b/src/server/game/Server/Packets/PartyPackets.h
@@ -193,7 +193,7 @@ namespace WorldPackets
struct PartyMemberStats
{
uint16 Level = 0;
- uint16 Status = 0;
+ uint32 Status = 0;
int32 CurrentHealth = 0;
int32 MaxHealth = 0;
@@ -574,6 +574,7 @@ namespace WorldPackets
int64 Unknown_1120_4 = 0;
ObjectGuid KeystoneOwnerGUID;
ObjectGuid LeaverGUID;
+ Duration<Milliseconds> InstanceAbandonVoteCooldown;
bool IsActive = false;
bool HasRestrictions = false;
bool CanVoteAbandon = false;
diff --git a/src/server/game/Server/Packets/PetPackets.cpp b/src/server/game/Server/Packets/PetPackets.cpp
index 9aede562bdc..774c340d3d9 100644
--- a/src/server/game/Server/Packets/PetPackets.cpp
+++ b/src/server/game/Server/Packets/PetPackets.cpp
@@ -84,7 +84,7 @@ WorldPacket const* PetUnlearnedSpells::Write()
WorldPacket const* PetNameInvalid::Write()
{
- _worldPacket << uint8(Result);
+ _worldPacket << uint32(Result);
_worldPacket << RenameData.PetGUID;
_worldPacket << int32(RenameData.PetNumber);
@@ -189,8 +189,8 @@ WorldPacket const* SetPetSpecialization::Write()
WorldPacket const* PetActionFeedback::Write()
{
+ _worldPacket << int32(Response);
_worldPacket << int32(SpellID);
- _worldPacket << uint8(Response);
return &_worldPacket;
}
@@ -205,7 +205,7 @@ WorldPacket const* PetActionSound::Write()
WorldPacket const* PetTameFailure::Write()
{
- _worldPacket << uint8(Result);
+ _worldPacket << uint32(Result);
return &_worldPacket;
}
diff --git a/src/server/game/Server/Packets/PetPackets.h b/src/server/game/Server/Packets/PetPackets.h
index 9e60860039c..f59f111fb30 100644
--- a/src/server/game/Server/Packets/PetPackets.h
+++ b/src/server/game/Server/Packets/PetPackets.h
@@ -176,7 +176,7 @@ namespace WorldPackets
PetRenameData RenameData;
- uint8 Result = 0;
+ uint32 Result = 0;
};
class PetRename final : public ClientPacket
@@ -243,8 +243,8 @@ namespace WorldPackets
WorldPacket const* Write() override;
- int32 SpellID = 0;
::PetActionFeedback Response = ::PetActionFeedback::None;
+ int32 SpellID = 0;
};
class PetActionSound final : public ServerPacket
@@ -265,7 +265,7 @@ namespace WorldPackets
WorldPacket const* Write() override;
- uint8 Result = 0;
+ uint32 Result = 0;
};
class PetMode final : public ServerPacket
diff --git a/src/server/game/Server/Packets/PetitionPackets.cpp b/src/server/game/Server/Packets/PetitionPackets.cpp
index 59f9596828f..442718b21ab 100644
--- a/src/server/game/Server/Packets/PetitionPackets.cpp
+++ b/src/server/game/Server/Packets/PetitionPackets.cpp
@@ -41,7 +41,7 @@ ByteBuffer& operator<<(ByteBuffer& data, PetitionInfo const& petitionInfo)
data << int32(petitionInfo.AllowedMinLevel);
data << int32(petitionInfo.AllowedMaxLevel);
data << int32(petitionInfo.NumChoices);
- data << int32(petitionInfo.StaticType);
+ data << int8(petitionInfo.StaticType);
data << uint32(petitionInfo.Muid);
data << SizedString::BitsSize<8>(petitionInfo.Title);
diff --git a/src/server/game/Server/Packets/PetitionPackets.h b/src/server/game/Server/Packets/PetitionPackets.h
index fc8b59e4e23..fb468c17593 100644
--- a/src/server/game/Server/Packets/PetitionPackets.h
+++ b/src/server/game/Server/Packets/PetitionPackets.h
@@ -53,7 +53,7 @@ namespace WorldPackets
int32 AllowedMinLevel = 0;
int32 AllowedMaxLevel = 0;
int32 NumChoices = 0;
- int32 StaticType = 0;
+ int8 StaticType = 0;
uint32 Muid = 0;
std::array<std::string, 10> Choicetext;
};
diff --git a/src/server/game/Server/Packets/QuestPackets.cpp b/src/server/game/Server/Packets/QuestPackets.cpp
index bef3ef35892..31e8ddb84ea 100644
--- a/src/server/game/Server/Packets/QuestPackets.cpp
+++ b/src/server/game/Server/Packets/QuestPackets.cpp
@@ -247,7 +247,7 @@ WorldPacket const* QuestUpdateAddCredit::Write()
_worldPacket << int32(ObjectID);
_worldPacket << uint16(Count);
_worldPacket << uint16(Required);
- _worldPacket << uint8(ObjectiveType);
+ _worldPacket << uint32(ObjectiveType);
return &_worldPacket;
};
@@ -256,7 +256,7 @@ WorldPacket const* QuestUpdateAddCreditSimple::Write()
{
_worldPacket << int32(QuestID);
_worldPacket << int32(ObjectID);
- _worldPacket << uint8(ObjectiveType);
+ _worldPacket << uint32(ObjectiveType);
return &_worldPacket;
}
@@ -642,7 +642,7 @@ void QuestConfirmAccept::Read()
WorldPacket const* QuestPushResultResponse::Write()
{
_worldPacket << SenderGUID;
- _worldPacket << uint8(Result);
+ _worldPacket << uint32(Result);
_worldPacket << SizedString::BitsSize<9>(QuestTitle);
_worldPacket.FlushBits();
diff --git a/src/server/game/Server/Packets/QuestPackets.h b/src/server/game/Server/Packets/QuestPackets.h
index 7c14b336127..1e29c381409 100644
--- a/src/server/game/Server/Packets/QuestPackets.h
+++ b/src/server/game/Server/Packets/QuestPackets.h
@@ -225,7 +225,7 @@ namespace WorldPackets
int32 QuestID = 0;
uint16 Count = 0;
uint16 Required = 0;
- uint8 ObjectiveType = 0;
+ uint32 ObjectiveType = 0;
};
class QuestUpdateAddCreditSimple final : public ServerPacket
@@ -237,7 +237,7 @@ namespace WorldPackets
int32 QuestID = 0;
int32 ObjectID = 0;
- uint8 ObjectiveType = 0;
+ uint32 ObjectiveType = 0;
};
class QuestUpdateAddPvPCredit final : public ServerPacket
@@ -585,8 +585,8 @@ namespace WorldPackets
WorldPacket const* Write() override;
ObjectGuid SenderGUID;
- uint8 Result = 0;
- std::string QuestTitle;
+ uint32 Result = 0;
+ std::string_view QuestTitle;
};
class QuestLogFull final : public ServerPacket
@@ -606,7 +606,7 @@ namespace WorldPackets
ObjectGuid SenderGUID;
uint32 QuestID = 0;
- uint8 Result = 0;
+ uint32 Result = 0;
};
class QuestGiverInvalidQuest final : public ServerPacket
diff --git a/src/server/game/Server/Packets/SpellPackets.cpp b/src/server/game/Server/Packets/SpellPackets.cpp
index 4401695814e..20cbed5bf91 100644
--- a/src/server/game/Server/Packets/SpellPackets.cpp
+++ b/src/server/game/Server/Packets/SpellPackets.cpp
@@ -97,6 +97,7 @@ ByteBuffer& operator<<(ByteBuffer& data, AuraDataInfo const& auraData)
data << int32(auraData.ContentTuningID);
data << auraData.DstLocation;
data << OptionalInit(auraData.CastUnit);
+ data << OptionalInit(auraData.CastItem);
data << OptionalInit(auraData.Duration);
data << OptionalInit(auraData.Remaining);
data << OptionalInit(auraData.TimeMod);
@@ -110,6 +111,9 @@ ByteBuffer& operator<<(ByteBuffer& data, AuraDataInfo const& auraData)
if (auraData.CastUnit)
data << *auraData.CastUnit;
+ if (auraData.CastItem)
+ data << *auraData.CastItem;
+
if (auraData.Duration)
data << uint32(*auraData.Duration);
@@ -162,18 +166,16 @@ ByteBuffer& operator>>(ByteBuffer& buffer, TargetLocation& location)
ByteBuffer& operator>>(ByteBuffer& buffer, SpellTargetData& targetData)
{
- buffer.ResetBitPos();
+ buffer >> targetData.Flags;
+ buffer >> targetData.Unit;
+ buffer >> targetData.Item;
- buffer >> Bits<28>(targetData.Flags);
buffer >> OptionalInit(targetData.SrcLocation);
buffer >> OptionalInit(targetData.DstLocation);
buffer >> OptionalInit(targetData.Orientation);
buffer >> OptionalInit(targetData.MapID);
buffer >> SizedString::BitsSize<7>(targetData.Name);
- buffer >> targetData.Unit;
- buffer >> targetData.Item;
-
if (targetData.SrcLocation)
buffer >> *targetData.SrcLocation;
@@ -222,6 +224,7 @@ ByteBuffer& operator>>(ByteBuffer& data, SpellExtraCurrencyCost& extraCurrencyCo
ByteBuffer& operator>>(ByteBuffer& buffer, SpellCastRequest& request)
{
buffer >> request.CastID;
+ buffer >> request.SendCastFlags;
buffer >> request.Misc[0];
buffer >> request.Misc[1];
buffer >> request.SpellID;
@@ -236,18 +239,19 @@ ByteBuffer& operator>>(ByteBuffer& buffer, SpellCastRequest& request)
for (SpellExtraCurrencyCost& optionalCurrency : request.OptionalCurrencies)
buffer >> optionalCurrency;
- buffer >> Bits<6>(request.SendCastFlags);
+ buffer >> request.Target;
+
+ buffer.ResetBitPos();
buffer >> OptionalInit(request.MoveUpdate);
buffer >> BitsSize<2>(request.Weight);
buffer >> OptionalInit(request.CraftingOrderID);
- buffer >> request.Target;
-
- if (request.CraftingOrderID)
- buffer >> *request.CraftingOrderID;
for (SpellCraftingReagent& optionalReagent : request.OptionalReagents)
buffer >> optionalReagent;
+ if (request.CraftingOrderID)
+ buffer >> *request.CraftingOrderID;
+
for (SpellCraftingReagent& optionalReagent : request.RemovedModifications)
buffer >> optionalReagent;
@@ -302,7 +306,10 @@ ByteBuffer& operator<<(ByteBuffer& data, TargetLocation const& targetLocation)
ByteBuffer& operator<<(ByteBuffer& data, SpellTargetData const& spellTargetData)
{
- data << Bits<28>(spellTargetData.Flags);
+ data << uint32(spellTargetData.Flags);
+ data << spellTargetData.Unit;
+ data << spellTargetData.Item;
+
data << OptionalInit(spellTargetData.SrcLocation);
data << OptionalInit(spellTargetData.DstLocation);
data << OptionalInit(spellTargetData.Orientation);
@@ -310,9 +317,6 @@ ByteBuffer& operator<<(ByteBuffer& data, SpellTargetData const& spellTargetData)
data << SizedString::BitsSize<7>(spellTargetData.Name);
data.FlushBits();
- data << spellTargetData.Unit;
- data << spellTargetData.Item;
-
if (spellTargetData.SrcLocation)
data << *spellTargetData.SrcLocation;
@@ -382,7 +386,7 @@ ByteBuffer& operator<<(ByteBuffer& data, CreatureImmunities const& immunities)
ByteBuffer& operator<<(ByteBuffer& data, SpellHealPrediction const& spellPred)
{
data << int32(spellPred.Points);
- data << uint8(spellPred.Type);
+ data << uint32(spellPred.Type);
data << spellPred.BeaconGUID;
return data;
@@ -805,9 +809,9 @@ WorldPacket const* PlaySpellVisual::Write()
_worldPacket << TargetPosition;
_worldPacket << uint32(SpellVisualID);
_worldPacket << float(TravelSpeed);
- _worldPacket << uint16(HitReason);
- _worldPacket << uint16(MissReason);
- _worldPacket << uint16(ReflectStatus);
+ _worldPacket << uint8(HitReason);
+ _worldPacket << uint8(MissReason);
+ _worldPacket << uint8(ReflectStatus);
_worldPacket << float(LaunchDelay);
_worldPacket << float(MinDuration);
_worldPacket << Bits<1>(SpeedAsTime);
diff --git a/src/server/game/Server/Packets/SpellPackets.h b/src/server/game/Server/Packets/SpellPackets.h
index 25576be7588..a4b30b3d2d4 100644
--- a/src/server/game/Server/Packets/SpellPackets.h
+++ b/src/server/game/Server/Packets/SpellPackets.h
@@ -167,6 +167,7 @@ namespace WorldPackets
int32 ContentTuningID = 0;
Optional<ContentTuningParams> ContentTuning;
Optional<ObjectGuid> CastUnit;
+ Optional<ObjectGuid> CastItem;
Optional<int32> Duration;
Optional<int32> Remaining;
Optional<float> TimeMod;
@@ -348,7 +349,7 @@ namespace WorldPackets
{
ObjectGuid BeaconGUID;
uint32 Points = 0;
- uint8 Type = 0;
+ uint32 Type = 0;
};
struct SpellCastData
@@ -765,9 +766,9 @@ namespace WorldPackets
TaggedPosition<Position::XYZ> TargetPosition; // Overrides missile destination for SpellVisual::SpellVisualMissileSetID
uint32 SpellVisualID = 0;
float TravelSpeed = 0.0f;
- uint16 HitReason = 0;
- uint16 MissReason = 0;
- uint16 ReflectStatus = 0;
+ uint8 HitReason = 0;
+ uint8 MissReason = 0;
+ uint8 ReflectStatus = 0;
float LaunchDelay = 0.0f;
float MinDuration = 0.0f;
bool SpeedAsTime = false;
diff --git a/src/server/game/Server/Packets/SystemPackets.cpp b/src/server/game/Server/Packets/SystemPackets.cpp
index ee5c38e7b2f..804a3b7229a 100644
--- a/src/server/game/Server/Packets/SystemPackets.cpp
+++ b/src/server/game/Server/Packets/SystemPackets.cpp
@@ -144,6 +144,10 @@ WorldPacket const* FeatureSystemStatus::Write()
_worldPacket << int32(AddonChatThrottle.MaxTries);
_worldPacket << int32(AddonChatThrottle.TriesRestoredPerSecond);
_worldPacket << int32(AddonChatThrottle.UsedTriesPerMessage);
+ _worldPacket << int32(GuildChatThrottle.UsedTriesPerMessage);
+ _worldPacket << int32(GuildChatThrottle.TriesRestoredPerSecond);
+ _worldPacket << int32(GroupChatThrottle.UsedTriesPerMessage);
+ _worldPacket << int32(GroupChatThrottle.TriesRestoredPerSecond);
_worldPacket << float(AddonPerformanceMsgWarning);
_worldPacket << float(AddonPerformanceMsgError);
@@ -291,6 +295,8 @@ WorldPacket const* FeatureSystemStatusGlueScreen::Write()
_worldPacket << Size<uint32>(GameRules);
_worldPacket << int32(ActiveTimerunningSeasonID);
_worldPacket << int32(RemainingTimerunningSeasonSeconds);
+ _worldPacket << TimerunningConversionMinCharacterAge;
+ _worldPacket << int32(TimerunningConversionMaxSeasonID);
_worldPacket << int16(MaxPlayerGuidLookupsPerRequest);
_worldPacket << int16(NameLookupTelemetryInterval);
_worldPacket << NotFoundCacheTimeSeconds;
@@ -315,6 +321,28 @@ WorldPacket const* FeatureSystemStatusGlueScreen::Write()
return &_worldPacket;
}
+ByteBuffer& operator<<(ByteBuffer& data, MirrorVarSingle const& variable)
+{
+ data << Bits<1>(variable.UpdateType);
+ data << SizedCString::BitsSize<24>(variable.Name);
+ data << SizedCString::BitsSize<24>(variable.Value);
+ data.FlushBits();
+
+ data << SizedCString::Data(variable.Name);
+ data << SizedCString::Data(variable.Value);
+
+ return data;
+}
+
+WorldPacket const* MirrorVars::Write()
+{
+ _worldPacket << Size<uint32>(Variables);
+ for (MirrorVarSingle const& variable : Variables)
+ _worldPacket << variable;
+
+ return &_worldPacket;
+}
+
WorldPacket const* SetTimeZoneInformation::Write()
{
_worldPacket << SizedString::BitsSize<7>(ServerTimeTZ);
diff --git a/src/server/game/Server/Packets/SystemPackets.h b/src/server/game/Server/Packets/SystemPackets.h
index b74adbc0fca..ff723b7412e 100644
--- a/src/server/game/Server/Packets/SystemPackets.h
+++ b/src/server/game/Server/Packets/SystemPackets.h
@@ -107,7 +107,7 @@ namespace WorldPackets
uint32 RewardsVersion = 0;
};
- struct AddonChatThrottleParams
+ struct ChatThrottleParams
{
int32 MaxTries = 0;
int32 TriesRestoredPerSecond = 0;
@@ -186,7 +186,9 @@ namespace WorldPackets
int32 ActiveTimerunningSeasonID = 0;
int32 RemainingTimerunningSeasonSeconds = 0;
std::string Unknown1027; // related to movement lua functions used by keybinds
- AddonChatThrottleParams AddonChatThrottle;
+ ChatThrottleParams AddonChatThrottle;
+ ChatThrottleParams GuildChatThrottle;
+ ChatThrottleParams GroupChatThrottle;
uint32 RealmPvpTypeOverride = 0; ///< Use Cfg_Configs value = 0, ForceEnabled = 1, ForceDisabled = 2
float AddonPerformanceMsgWarning = 0.0f;
float AddonPerformanceMsgError = 0.0f;
@@ -250,6 +252,8 @@ namespace WorldPackets
std::vector<GameRuleValuePair> GameRules;
int32 ActiveTimerunningSeasonID = 0;
int32 RemainingTimerunningSeasonSeconds = 0;
+ Duration<Seconds, int32> TimerunningConversionMinCharacterAge { 1_days };
+ int32 TimerunningConversionMaxSeasonID = -1;
int16 MaxPlayerGuidLookupsPerRequest = 50;
int16 NameLookupTelemetryInterval = 600;
Duration<Seconds, uint32> NotFoundCacheTimeSeconds = 10s;
@@ -260,6 +264,26 @@ namespace WorldPackets
std::string RealmHiddenAlert;
};
+ struct MirrorVarSingle
+ {
+ std::string_view Name;
+ std::string Value;
+ int32 UpdateType;
+
+ MirrorVarSingle(std::string_view name, std::string_view value, int32 updateType = 0)
+ : Name(name), Value(value), UpdateType(updateType) { }
+ };
+
+ class MirrorVars final : public ServerPacket
+ {
+ public:
+ explicit MirrorVars() : ServerPacket(SMSG_MIRROR_VARS) { }
+
+ WorldPacket const* Write() override;
+
+ std::span<MirrorVarSingle> Variables;
+ };
+
class SetTimeZoneInformation final : public ServerPacket
{
public:
diff --git a/src/server/game/Server/Packets/TalentPackets.cpp b/src/server/game/Server/Packets/TalentPackets.cpp
index 63487076b02..1a9d373bf8b 100644
--- a/src/server/game/Server/Packets/TalentPackets.cpp
+++ b/src/server/game/Server/Packets/TalentPackets.cpp
@@ -61,6 +61,9 @@ ByteBuffer& operator<<(ByteBuffer& data, ClassicTalentGroupInfo const& talentGro
if (!talentGroupInfo.GlyphIDs.empty())
data.append(talentGroupInfo.GlyphIDs.data(), talentGroupInfo.GlyphIDs.size());
+ data.WriteBit(talentGroupInfo.Unused1125);
+ data.FlushBits();
+
return data;
}
diff --git a/src/server/game/Server/Packets/TalentPackets.h b/src/server/game/Server/Packets/TalentPackets.h
index 5b9566e83c2..a61e804c598 100644
--- a/src/server/game/Server/Packets/TalentPackets.h
+++ b/src/server/game/Server/Packets/TalentPackets.h
@@ -62,6 +62,7 @@ namespace WorldPackets
std::vector<uint16> GlyphIDs;
int8 Role = 0;
int32 PrimarySpecialization = 0;
+ bool Unused1125 = false;
};
struct ClassicTalentInfoUpdate
diff --git a/src/server/game/Server/Packets/TokenPackets.cpp b/src/server/game/Server/Packets/TokenPackets.cpp
index 374c6e0548e..db0b35c9ea6 100644
--- a/src/server/game/Server/Packets/TokenPackets.cpp
+++ b/src/server/game/Server/Packets/TokenPackets.cpp
@@ -34,8 +34,8 @@ WorldPacket const* CommerceTokenGetLogResponse::Write()
{
_worldPacket << auctionableTokenAuctionable.Id;
_worldPacket << auctionableTokenAuctionable.LastUpdate;
- _worldPacket << auctionableTokenAuctionable.Price;
_worldPacket << auctionableTokenAuctionable.Status;
+ _worldPacket << auctionableTokenAuctionable.Price;
_worldPacket << auctionableTokenAuctionable.DurationLeft;
}
@@ -49,9 +49,9 @@ void CommerceTokenGetMarketPrice::Read()
WorldPacket const* CommerceTokenGetMarketPriceResponse::Write()
{
- _worldPacket << PriceGuarantee;
_worldPacket << ClientToken;
_worldPacket << ServerToken;
+ _worldPacket << PriceGuarantee;
_worldPacket << PriceLockDurationSeconds;
return &_worldPacket;
diff --git a/src/server/game/Server/Packets/TokenPackets.h b/src/server/game/Server/Packets/TokenPackets.h
index a31e4390094..d6844d37bb2 100644
--- a/src/server/game/Server/Packets/TokenPackets.h
+++ b/src/server/game/Server/Packets/TokenPackets.h
@@ -73,9 +73,9 @@ namespace WorldPackets
WorldPacket const* Write() override;
- uint64 PriceGuarantee = 0;
uint32 ClientToken = 0;
uint32 ServerToken = 0;
+ uint64 PriceGuarantee = 0;
uint32 PriceLockDurationSeconds = 0; // preset auction duration enum
};
}
diff --git a/src/server/game/Server/Packets/TraitPacketsCommon.cpp b/src/server/game/Server/Packets/TraitPacketsCommon.cpp
index 692ed9cb330..66e3037661b 100644
--- a/src/server/game/Server/Packets/TraitPacketsCommon.cpp
+++ b/src/server/game/Server/Packets/TraitPacketsCommon.cpp
@@ -30,6 +30,7 @@ TraitEntry::TraitEntry(UF::TraitEntry const& ufEntry)
TraitNodeEntryID = ufEntry.TraitNodeEntryID;
Rank = ufEntry.Rank;
GrantedRanks = ufEntry.GrantedRanks;
+ BonusRanks = ufEntry.BonusRanks;
}
TraitSubTreeCache::TraitSubTreeCache() = default;
@@ -53,6 +54,7 @@ TraitConfig::TraitConfig(UF::TraitConfig const& ufConfig)
LocalIdentifier = ufConfig.LocalIdentifier;
SkillLineID = ufConfig.SkillLineID;
TraitSystemID = ufConfig.TraitSystemID;
+ VariationID = ufConfig.VariationID;
for (UF::TraitEntry const& ufEntry : ufConfig.Entries)
Entries.emplace_back(ufEntry);
for (UF::TraitSubTreeCache const& ufSubTree : ufConfig.SubTrees)
@@ -140,6 +142,7 @@ ByteBuffer& operator>>(ByteBuffer& data, TraitConfig& traitConfig)
break;
case TraitConfigType::Generic:
data >> traitConfig.TraitSystemID;
+ data >> traitConfig.VariationID;
break;
default:
break;
@@ -176,6 +179,7 @@ ByteBuffer& operator<<(ByteBuffer& data, TraitConfig const& traitConfig)
break;
case TraitConfigType::Generic:
data << int32(traitConfig.TraitSystemID);
+ data << int32(traitConfig.VariationID);
break;
default:
break;
diff --git a/src/server/game/Server/Packets/TraitPacketsCommon.h b/src/server/game/Server/Packets/TraitPacketsCommon.h
index 94b88e29746..4b97dd8d10e 100644
--- a/src/server/game/Server/Packets/TraitPacketsCommon.h
+++ b/src/server/game/Server/Packets/TraitPacketsCommon.h
@@ -66,6 +66,7 @@ struct TraitConfig
int32 LocalIdentifier = 0; // Local to specialization
int32 SkillLineID = 0;
int32 TraitSystemID = 0;
+ int32 VariationID = 0;
std::vector<TraitEntry> Entries;
std::vector<TraitSubTreeCache> SubTrees;
String<259> Name;
diff --git a/src/server/game/Server/Protocol/Opcodes.cpp b/src/server/game/Server/Protocol/Opcodes.cpp
index 23add3e1448..ba343184245 100644
--- a/src/server/game/Server/Protocol/Opcodes.cpp
+++ b/src/server/game/Server/Protocol/Opcodes.cpp
@@ -402,6 +402,7 @@ void OpcodeTable::InitializeClientOpcodes()
DEFINE_HANDLER(CMSG_CONVERSATION_LINE_STARTED, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleConversationLineStarted);
DEFINE_HANDLER(CMSG_CONVERT_ITEM_TO_BIND_TO_ACCOUNT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_CONVERT_RAID, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleConvertRaidOpcode);
+ DEFINE_HANDLER(CMSG_CONVERT_TIMERUNNING_CHARACTER, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_COVENANT_RENOWN_REQUEST_CATCHUP_STATE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_CRAFTING_ORDER_CANCEL, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_CRAFTING_ORDER_CLAIM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
@@ -822,6 +823,8 @@ void OpcodeTable::InitializeClientOpcodes()
DEFINE_HANDLER(CMSG_RANDOM_ROLL, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleRandomRollOpcode);
DEFINE_HANDLER(CMSG_READY_CHECK_RESPONSE, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleReadyCheckResponseOpcode);
DEFINE_HANDLER(CMSG_READ_ITEM, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleReadItem);
+ DEFINE_HANDLER(CMSG_RECENT_ALLY_REQUEST_DATA, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
+ DEFINE_HANDLER(CMSG_RECENT_ALLY_SET_NOTE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_RECLAIM_CORPSE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleReclaimCorpse);
DEFINE_HANDLER(CMSG_REMOVE_NEW_ITEM, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleRemoveNewItem);
DEFINE_HANDLER(CMSG_REMOVE_RAF_RECRUIT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
@@ -860,6 +863,7 @@ void OpcodeTable::InitializeClientOpcodes()
DEFINE_HANDLER(CMSG_REQUEST_SCHEDULED_PVP_INFO, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_REQUEST_STABLED_PETS, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleRequestStabledPets);
DEFINE_HANDLER(CMSG_REQUEST_STORE_FRONT_INFO_UPDATE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL);
+ DEFINE_HANDLER(CMSG_REQUEST_SURVEY, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_REQUEST_VEHICLE_EXIT, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleRequestVehicleExit);
DEFINE_HANDLER(CMSG_REQUEST_VEHICLE_NEXT_SEAT, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleRequestVehicleNextSeat);
DEFINE_HANDLER(CMSG_REQUEST_VEHICLE_PREV_SEAT, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleRequestVehiclePrevSeat);
@@ -898,6 +902,7 @@ void OpcodeTable::InitializeClientOpcodes()
DEFINE_HANDLER(CMSG_SET_ACTION_BUTTON, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSetActionButtonOpcode);
DEFINE_HANDLER(CMSG_SET_ACTIVE_MOVER, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSetActiveMoverOpcode);
DEFINE_HANDLER(CMSG_SET_ADVANCED_COMBAT_LOGGING, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleSetAdvancedCombatLogging);
+ DEFINE_HANDLER(CMSG_SET_ALLOW_RECENT_ALLIES_SEE_LOCATION, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_SET_ASSISTANT_LEADER, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSetAssistantLeaderOpcode);
DEFINE_HANDLER(CMSG_SET_BACKPACK_AUTOSORT_DISABLED, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleSetBackpackAutosortDisabled);
DEFINE_HANDLER(CMSG_SET_BACKPACK_SELL_JUNK_DISABLED, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleSetBackpackSellJunkDisabled);
@@ -1229,6 +1234,9 @@ void OpcodeTable::InitializeServerOpcodes()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CAPTURE_POINT_REMOVED, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CAST_FAILED, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CAS_REFRESH_REMOTE_DATA, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_CATALOG_SHOP_LICENSE_DATA, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_CATALOG_SHOP_OBTAIN_LICENSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_CATALOG_SHOP_OPEN_CHECKOUT_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CAUTIONARY_CHANNEL_MESSAGE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CAUTIONARY_CHAT_MESSAGE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHAIN_MISSILE_BOUNCE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1705,7 +1713,7 @@ void OpcodeTable::InitializeServerOpcodes()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MINIMAP_PING, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MIRROR_IMAGE_COMPONENTED_DATA, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MIRROR_IMAGE_CREATURE_DATA, STATUS_NEVER, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_MIRROR_VARS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_MIRROR_VARS, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MISSILE_CANCEL, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MODIFY_COOLDOWN, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOUNT_RESULT, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
@@ -2012,6 +2020,8 @@ void OpcodeTable::InitializeServerOpcodes()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_REATTACH_RESURRECT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_RECEIVE_PING_UNIT, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_RECEIVE_PING_WORLD_POINT, STATUS_NEVER, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_RECENT_ALLY_DATA_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_RECENT_ALLY_NOTE_UPDATED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_RECRAFT_ITEM_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_RECRUIT_A_FRIEND_FAILURE, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_REFRESH_COMPONENT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -2169,6 +2179,7 @@ void OpcodeTable::InitializeServerOpcodes()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SUMMON_RAID_MEMBER_VALIDATE_FAILED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SUMMON_REQUEST, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SUPERCEDED_SPELLS, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_SURVEY_DELIVERED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SUSPEND_COMMS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SUSPEND_TOKEN, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SYNC_WOW_ENTITLEMENTS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
diff --git a/src/server/game/Server/Protocol/Opcodes.h b/src/server/game/Server/Protocol/Opcodes.h
index 65ea46c0c86..a4da8df05f8 100644
--- a/src/server/game/Server/Protocol/Opcodes.h
+++ b/src/server/game/Server/Protocol/Opcodes.h
@@ -36,38 +36,38 @@ constexpr uint32 UNKNOWN_OPCODE = 0xBADD; // special marker value for uninitia
enum OpcodeClient : uint32
{
- CMSG_ABANDON_NPE_RESPONSE = 0x2F0299,
+ CMSG_ABANDON_NPE_RESPONSE = 0x2F029A,
CMSG_ACCEPT_GUILD_INVITE = 0x340029,
- CMSG_ACCEPT_RETURNING_PLAYER_PROMPT = 0x2F025A,
- CMSG_ACCEPT_SOCIAL_CONTRACT = 0x340174,
+ CMSG_ACCEPT_RETURNING_PLAYER_PROMPT = 0x2F025B,
+ CMSG_ACCEPT_SOCIAL_CONTRACT = 0x340176,
CMSG_ACCEPT_TRADE = 0x2F0004,
CMSG_ACCEPT_WARGAME_INVITE = 0x34000C,
- CMSG_ACCOUNT_BANK_DEPOSIT_MONEY = 0x2F02DC,
- CMSG_ACCOUNT_BANK_WITHDRAW_MONEY = 0x2F02DD,
- CMSG_ACCOUNT_NOTIFICATION_ACKNOWLEDGED = 0x340160,
+ CMSG_ACCOUNT_BANK_DEPOSIT_MONEY = 0x2F02DD,
+ CMSG_ACCOUNT_BANK_WITHDRAW_MONEY = 0x2F02DE,
+ CMSG_ACCOUNT_NOTIFICATION_ACKNOWLEDGED = 0x340162,
CMSG_ACCOUNT_STORE_BEGIN_PURCHASE_OR_REFUND = 0x3400C0,
- CMSG_ACTIVATE_SOULBIND = 0x2F0288,
+ CMSG_ACTIVATE_SOULBIND = 0x2F0289,
CMSG_ACTIVATE_TAXI = 0x30003E,
CMSG_ADDON_LIST = 0x340004,
- CMSG_ADD_ACCOUNT_COSMETIC = 0x2F0171,
+ CMSG_ADD_ACCOUNT_COSMETIC = 0x2F0172,
CMSG_ADD_BATTLENET_FRIEND = 0x340086,
- CMSG_ADD_FRIEND = 0x3400FE,
- CMSG_ADD_IGNORE = 0x340102,
- CMSG_ADD_TOY = 0x2F0170,
- CMSG_ADVENTURE_JOURNAL_OPEN_QUEST = 0x2F00B3,
- CMSG_ADVENTURE_JOURNAL_UPDATE_SUGGESTIONS = 0x2F028B,
- CMSG_ADVENTURE_MAP_START_QUEST = 0x2F022B,
+ CMSG_ADD_FRIEND = 0x3400FF,
+ CMSG_ADD_IGNORE = 0x340103,
+ CMSG_ADD_TOY = 0x2F0171,
+ CMSG_ADVENTURE_JOURNAL_OPEN_QUEST = 0x2F00B4,
+ CMSG_ADVENTURE_JOURNAL_UPDATE_SUGGESTIONS = 0x2F028C,
+ CMSG_ADVENTURE_MAP_START_QUEST = 0x2F022C,
CMSG_ALTER_APPEARANCE = 0x30008D,
CMSG_AREA_SPIRIT_HEALER_QUERY = 0x300043,
CMSG_AREA_SPIRIT_HEALER_QUEUE = 0x300044,
- CMSG_AREA_TRIGGER = 0x2F0086,
+ CMSG_AREA_TRIGGER = 0x2F0087,
CMSG_ARTIFACT_ADD_POWER = 0x2F0056,
CMSG_ARTIFACT_SET_APPEARANCE = 0x2F0058,
- CMSG_ASSIGN_EQUIPMENT_SET_SPEC = 0x2F00BF,
- CMSG_ATTACK_STOP = 0x2F011D,
- CMSG_ATTACK_SWING = 0x2F011C,
- CMSG_AUCTIONABLE_TOKEN_SELL = 0x340114,
- CMSG_AUCTIONABLE_TOKEN_SELL_AT_MARKET_PRICE = 0x340115,
+ CMSG_ASSIGN_EQUIPMENT_SET_SPEC = 0x2F00C0,
+ CMSG_ATTACK_STOP = 0x2F011E,
+ CMSG_ATTACK_SWING = 0x2F011D,
+ CMSG_AUCTIONABLE_TOKEN_SELL = 0x340115,
+ CMSG_AUCTIONABLE_TOKEN_SELL_AT_MARKET_PRICE = 0x340116,
CMSG_AUCTION_BROWSE_QUERY = 0x300061,
CMSG_AUCTION_CANCEL_COMMODITIES_PURCHASE = 0x300069,
CMSG_AUCTION_CONFIRM_COMMODITIES_PURCHASE = 0x300068,
@@ -83,46 +83,46 @@ enum OpcodeClient : uint32
CMSG_AUCTION_REPLICATE_ITEMS = 0x30005F,
CMSG_AUCTION_SELL_COMMODITY = 0x30006A,
CMSG_AUCTION_SELL_ITEM = 0x30005D,
- CMSG_AUCTION_SET_FAVORITE_ITEM = 0x340161,
+ CMSG_AUCTION_SET_FAVORITE_ITEM = 0x340163,
CMSG_AUTH_CONTINUED_SESSION = 0x350002,
CMSG_AUTH_SESSION = 0x350001,
CMSG_AUTOBANK_ITEM = 0x310003,
CMSG_AUTOSTORE_BANK_ITEM = 0x310002,
- CMSG_AUTO_DEPOSIT_ACCOUNT_BANK = 0x2F02E6,
- CMSG_AUTO_DEPOSIT_CHARACTER_BANK = 0x2F02EE,
+ CMSG_AUTO_DEPOSIT_ACCOUNT_BANK = 0x2F02E7,
+ CMSG_AUTO_DEPOSIT_CHARACTER_BANK = 0x2F02EF,
CMSG_AUTO_EQUIP_ITEM = 0x310004,
CMSG_AUTO_EQUIP_ITEM_SLOT = 0x310009,
CMSG_AUTO_GUILD_BANK_ITEM = 0x300048,
CMSG_AUTO_STORE_BAG_ITEM = 0x310005,
CMSG_AUTO_STORE_GUILD_BANK_ITEM = 0x300051,
- CMSG_AZERITE_EMPOWERED_ITEM_SELECT_POWER = 0x2F0256,
- CMSG_AZERITE_EMPOWERED_ITEM_VIEWED = 0x2F0237,
- CMSG_AZERITE_ESSENCE_ACTIVATE_ESSENCE = 0x2F0258,
- CMSG_AZERITE_ESSENCE_UNLOCK_MILESTONE = 0x2F0257,
+ CMSG_AZERITE_EMPOWERED_ITEM_SELECT_POWER = 0x2F0257,
+ CMSG_AZERITE_EMPOWERED_ITEM_VIEWED = 0x2F0238,
+ CMSG_AZERITE_ESSENCE_ACTIVATE_ESSENCE = 0x2F0259,
+ CMSG_AZERITE_ESSENCE_UNLOCK_MILESTONE = 0x2F0258,
CMSG_BANKER_ACTIVATE = 0x300046,
CMSG_BATTLEFIELD_LEAVE = 0x2F001F,
CMSG_BATTLEFIELD_LIST = 0x2F002A,
CMSG_BATTLEFIELD_PORT = 0x3000C3,
- CMSG_BATTLEMASTER_HELLO = 0x2F018F,
+ CMSG_BATTLEMASTER_HELLO = 0x2F0190,
CMSG_BATTLEMASTER_JOIN = 0x3000BA,
CMSG_BATTLEMASTER_JOIN_ARENA = 0x3000BB,
CMSG_BATTLEMASTER_JOIN_BRAWL = 0x3000C1,
CMSG_BATTLEMASTER_JOIN_RATED_BG_BLITZ = 0x3000BD,
CMSG_BATTLEMASTER_JOIN_RATED_SOLO_SHUFFLE = 0x3000BC,
CMSG_BATTLEMASTER_JOIN_SKIRMISH = 0x3000BE,
- CMSG_BATTLENET_CHALLENGE_RESPONSE = 0x340101,
- CMSG_BATTLENET_REQUEST = 0x340122,
+ CMSG_BATTLENET_CHALLENGE_RESPONSE = 0x340102,
+ CMSG_BATTLENET_REQUEST = 0x340123,
CMSG_BATTLE_PAY_ACK_FAILED_RESPONSE = 0x3400FB,
- CMSG_BATTLE_PAY_CANCEL_OPEN_CHECKOUT = 0x34013E,
+ CMSG_BATTLE_PAY_CANCEL_OPEN_CHECKOUT = 0x340140,
CMSG_BATTLE_PAY_CONFIRM_PURCHASE_RESPONSE = 0x3400FA,
CMSG_BATTLE_PAY_DISTRIBUTION_ASSIGN_TO_TARGET = 0x3400F1,
- CMSG_BATTLE_PAY_DISTRIBUTION_ASSIGN_VAS = 0x340164,
+ CMSG_BATTLE_PAY_DISTRIBUTION_ASSIGN_VAS = 0x340166,
CMSG_BATTLE_PAY_GET_PRODUCT_LIST = 0x3400E8,
CMSG_BATTLE_PAY_GET_PURCHASE_LIST = 0x3400E9,
- CMSG_BATTLE_PAY_OPEN_CHECKOUT = 0x340137,
- CMSG_BATTLE_PAY_REQUEST_PRICE_INFO = 0x340133,
+ CMSG_BATTLE_PAY_OPEN_CHECKOUT = 0x340139,
+ CMSG_BATTLE_PAY_REQUEST_PRICE_INFO = 0x340134,
CMSG_BATTLE_PAY_START_PURCHASE = 0x3400F9,
- CMSG_BATTLE_PAY_START_VAS_PURCHASE = 0x340120,
+ CMSG_BATTLE_PAY_START_VAS_PURCHASE = 0x340121,
CMSG_BATTLE_PET_CLEAR_FANFARE = 0x290002,
CMSG_BATTLE_PET_DELETE_PET = 0x34004F,
CMSG_BATTLE_PET_DELETE_PET_CHEAT = 0x340050,
@@ -132,20 +132,20 @@ enum OpcodeClient : uint32
CMSG_BATTLE_PET_SET_BATTLE_SLOT = 0x340057,
CMSG_BATTLE_PET_SET_FLAGS = 0x34005A,
CMSG_BATTLE_PET_SUMMON = 0x340053,
- CMSG_BATTLE_PET_UPDATE_DISPLAY_NOTIFY = 0x2F0090,
- CMSG_BATTLE_PET_UPDATE_NOTIFY = 0x2F008F,
+ CMSG_BATTLE_PET_UPDATE_DISPLAY_NOTIFY = 0x2F0091,
+ CMSG_BATTLE_PET_UPDATE_NOTIFY = 0x2F0090,
CMSG_BEGIN_TRADE = 0x2F0001,
CMSG_BINDER_ACTIVATE = 0x300045,
CMSG_BLACK_MARKET_BID_ON_ITEM = 0x3000CB,
CMSG_BLACK_MARKET_OPEN = 0x3000C9,
CMSG_BLACK_MARKET_REQUEST_ITEMS = 0x3000CA,
- CMSG_BONUS_ROLL = 0x2F0259,
+ CMSG_BONUS_ROLL = 0x2F025A,
CMSG_BUG_REPORT = 0x3400B1,
CMSG_BUSY_TRADE = 0x2F0002,
CMSG_BUY_ACCOUNT_BANK_TAB = 0x300123,
CMSG_BUY_BACK_ITEM = 0x300037,
CMSG_BUY_ITEM = 0x300036,
- CMSG_CAGE_BATTLE_PET = 0x2F00A3,
+ CMSG_CAGE_BATTLE_PET = 0x2F00A4,
CMSG_CALENDAR_ADD_EVENT = 0x3400A9,
CMSG_CALENDAR_COMMUNITY_INVITE = 0x34009D,
CMSG_CALENDAR_COMPLAIN = 0x3400A5,
@@ -163,23 +163,23 @@ enum OpcodeClient : uint32
CMSG_CALENDAR_UPDATE_EVENT = 0x3400AA,
CMSG_CANCEL_AURA = 0x2F005A,
CMSG_CANCEL_AUTO_REPEAT_SPELL = 0x30007F,
- CMSG_CANCEL_CAST = 0x2F0177,
- CMSG_CANCEL_CHANNELLING = 0x2F0138,
- CMSG_CANCEL_GROWTH_AURA = 0x2F0140,
- CMSG_CANCEL_MASTER_LOOT_ROLL = 0x2F00CC,
+ CMSG_CANCEL_CAST = 0x2F0178,
+ CMSG_CANCEL_CHANNELLING = 0x2F0139,
+ CMSG_CANCEL_GROWTH_AURA = 0x2F0141,
+ CMSG_CANCEL_MASTER_LOOT_ROLL = 0x2F00CD,
CMSG_CANCEL_MOD_SPEED_NO_CONTROL_AURAS = 0x2F0059,
- CMSG_CANCEL_MOUNT_AURA = 0x2F0153,
+ CMSG_CANCEL_MOUNT_AURA = 0x2F0154,
CMSG_CANCEL_QUEUED_SPELL = 0x2F002B,
CMSG_CANCEL_TEMP_ENCHANTMENT = 0x30008A,
CMSG_CANCEL_TRADE = 0x2F0006,
CMSG_CAN_DUEL = 0x34008E,
- CMSG_CAN_REDEEM_TOKEN_FOR_BALANCE = 0x340132,
- CMSG_CAST_SPELL = 0x2F0174,
+ CMSG_CAN_REDEEM_TOKEN_FOR_BALANCE = 0x340133,
+ CMSG_CAST_SPELL = 0x2F0175,
CMSG_CHALLENGE_MODE_REQUEST_LEADERS = 0x2C0002,
- CMSG_CHANGE_BAG_SLOT_FLAG = 0x2F0211,
- CMSG_CHANGE_BANK_BAG_SLOT_FLAG = 0x2F0212,
- CMSG_CHANGE_MONUMENT_APPEARANCE = 0x2F01F2,
- CMSG_CHANGE_REALM_TICKET = 0x340127,
+ CMSG_CHANGE_BAG_SLOT_FLAG = 0x2F0212,
+ CMSG_CHANGE_BANK_BAG_SLOT_FLAG = 0x2F0213,
+ CMSG_CHANGE_MONUMENT_APPEARANCE = 0x2F01F3,
+ CMSG_CHANGE_REALM_TICKET = 0x340128,
CMSG_CHANGE_SUB_GROUP = 0x340078,
CMSG_CHARACTER_CHECK_UPGRADE = 0x3400F4,
CMSG_CHARACTER_RENAME_REQUEST = 0x3400EF,
@@ -232,36 +232,36 @@ enum OpcodeClient : uint32
CMSG_CHAT_SEND_CAUTIONARY_CHAT_MESSAGE = 0x2B0009,
CMSG_CHAT_UNREGISTER_ALL_ADDON_PREFIXES = 0x2B0006,
CMSG_CHECK_CHARACTER_NAME_AVAILABILITY = 0x340071,
- CMSG_CHECK_IS_ADVENTURE_MAP_POI_VALID = 0x2F010E,
- CMSG_CHOICE_RESPONSE = 0x2F017C,
- CMSG_CHROMIE_TIME_SELECT_EXPANSION = 0x2F0287,
- CMSG_CLAIM_WEEKLY_REWARD = 0x2F0264,
- CMSG_CLASS_TALENTS_DELETE_CONFIG = 0x2F02C1,
- CMSG_CLASS_TALENTS_NOTIFY_EMPTY_CONFIG = 0x2F00C3,
- CMSG_CLASS_TALENTS_NOTIFY_VALIDATION_FAILED = 0x2F02C3,
- CMSG_CLASS_TALENTS_RENAME_CONFIG = 0x2F02C0,
- CMSG_CLASS_TALENTS_REQUEST_NEW_CONFIG = 0x2F02BF,
- CMSG_CLASS_TALENTS_SET_STARTER_BUILD_ACTIVE = 0x2F02C4,
- CMSG_CLASS_TALENTS_SET_USES_SHARED_ACTION_BARS = 0x2F00C2,
+ CMSG_CHECK_IS_ADVENTURE_MAP_POI_VALID = 0x2F010F,
+ CMSG_CHOICE_RESPONSE = 0x2F017D,
+ CMSG_CHROMIE_TIME_SELECT_EXPANSION = 0x2F0288,
+ CMSG_CLAIM_WEEKLY_REWARD = 0x2F0265,
+ CMSG_CLASS_TALENTS_DELETE_CONFIG = 0x2F02C2,
+ CMSG_CLASS_TALENTS_NOTIFY_EMPTY_CONFIG = 0x2F00C4,
+ CMSG_CLASS_TALENTS_NOTIFY_VALIDATION_FAILED = 0x2F02C4,
+ CMSG_CLASS_TALENTS_RENAME_CONFIG = 0x2F02C1,
+ CMSG_CLASS_TALENTS_REQUEST_NEW_CONFIG = 0x2F02C0,
+ CMSG_CLASS_TALENTS_SET_STARTER_BUILD_ACTIVE = 0x2F02C5,
+ CMSG_CLASS_TALENTS_SET_USES_SHARED_ACTION_BARS = 0x2F00C3,
CMSG_CLEAR_NEW_APPEARANCE = 0x290005,
CMSG_CLEAR_RAID_MARKER = 0x2F0052,
CMSG_CLEAR_TRADE_ITEM = 0x2F0008,
CMSG_CLIENT_PORT_GRAVEYARD = 0x3000C5,
CMSG_CLOSE_INTERACTION = 0x300025,
- CMSG_CLOSE_QUEST_CHOICE = 0x2F017D,
- CMSG_CLOSE_RUNEFORGE_INTERACTION = 0x2F028F,
- CMSG_CLOSE_TRAIT_SYSTEM_INTERACTION = 0x2F02C5,
- CMSG_CLUB_FINDER_APPLICATION_RESPONSE = 0x340149,
- CMSG_CLUB_FINDER_GET_APPLICANTS_LIST = 0x340147,
- CMSG_CLUB_FINDER_POST = 0x340144,
- CMSG_CLUB_FINDER_REQUEST_CLUBS_DATA = 0x34014B,
- CMSG_CLUB_FINDER_REQUEST_CLUBS_LIST = 0x340145,
- CMSG_CLUB_FINDER_REQUEST_MEMBERSHIP_TO_CLUB = 0x340146,
- CMSG_CLUB_FINDER_REQUEST_PENDING_CLUBS_LIST = 0x34014A,
- CMSG_CLUB_FINDER_REQUEST_SUBSCRIBED_CLUB_POSTING_IDS = 0x34014C,
- CMSG_CLUB_FINDER_RESPOND_TO_APPLICANT = 0x340148,
- CMSG_CLUB_FINDER_WHISPER_APPLICANT_REQUEST = 0x340167,
- CMSG_CLUB_PRESENCE_SUBSCRIBE = 0x340124,
+ CMSG_CLOSE_QUEST_CHOICE = 0x2F017E,
+ CMSG_CLOSE_RUNEFORGE_INTERACTION = 0x2F0290,
+ CMSG_CLOSE_TRAIT_SYSTEM_INTERACTION = 0x2F02C6,
+ CMSG_CLUB_FINDER_APPLICATION_RESPONSE = 0x34014B,
+ CMSG_CLUB_FINDER_GET_APPLICANTS_LIST = 0x340149,
+ CMSG_CLUB_FINDER_POST = 0x340146,
+ CMSG_CLUB_FINDER_REQUEST_CLUBS_DATA = 0x34014D,
+ CMSG_CLUB_FINDER_REQUEST_CLUBS_LIST = 0x340147,
+ CMSG_CLUB_FINDER_REQUEST_MEMBERSHIP_TO_CLUB = 0x340148,
+ CMSG_CLUB_FINDER_REQUEST_PENDING_CLUBS_LIST = 0x34014C,
+ CMSG_CLUB_FINDER_REQUEST_SUBSCRIBED_CLUB_POSTING_IDS = 0x34014E,
+ CMSG_CLUB_FINDER_RESPOND_TO_APPLICANT = 0x34014A,
+ CMSG_CLUB_FINDER_WHISPER_APPLICANT_REQUEST = 0x340169,
+ CMSG_CLUB_PRESENCE_SUBSCRIBE = 0x340125,
CMSG_COLLECTION_ITEM_SET_FAVORITE = 0x34005D,
CMSG_COMMENTATOR_ENABLE = 0x34001C,
CMSG_COMMENTATOR_ENTER_INSTANCE = 0x340020,
@@ -269,31 +269,32 @@ enum OpcodeClient : uint32
CMSG_COMMENTATOR_GET_MAP_INFO = 0x34001D,
CMSG_COMMENTATOR_GET_PLAYER_COOLDOWNS = 0x34001F,
CMSG_COMMENTATOR_GET_PLAYER_INFO = 0x34001E,
- CMSG_COMMENTATOR_SPECTATE = 0x340165,
+ CMSG_COMMENTATOR_SPECTATE = 0x340167,
CMSG_COMMENTATOR_START_WARGAME = 0x34001B,
- CMSG_COMMERCE_TOKEN_GET_COUNT = 0x340112,
- CMSG_COMMERCE_TOKEN_GET_LOG = 0x34011C,
- CMSG_COMMERCE_TOKEN_GET_MARKET_PRICE = 0x340113,
+ CMSG_COMMERCE_TOKEN_GET_COUNT = 0x340113,
+ CMSG_COMMERCE_TOKEN_GET_LOG = 0x34011D,
+ CMSG_COMMERCE_TOKEN_GET_MARKET_PRICE = 0x340114,
CMSG_COMPLAINT = 0x340098,
CMSG_COMPLETE_CINEMATIC = 0x3000E3,
CMSG_COMPLETE_MOVIE = 0x300075,
CMSG_CONFIRM_ARTIFACT_RESPEC = 0x2F0057,
- CMSG_CONFIRM_PROFESSION_RESPEC = 0x2F00C6,
- CMSG_CONFIRM_RESPEC_WIPE = 0x2F00C5,
+ CMSG_CONFIRM_PROFESSION_RESPEC = 0x2F00C7,
+ CMSG_CONFIRM_RESPEC_WIPE = 0x2F00C6,
CMSG_CONNECT_TO_FAILED = 0x340000,
- CMSG_CONSUMABLE_TOKEN_BUY = 0x340117,
- CMSG_CONSUMABLE_TOKEN_BUY_AT_MARKET_PRICE = 0x340118,
- CMSG_CONSUMABLE_TOKEN_CAN_VETERAN_BUY = 0x340116,
- CMSG_CONSUMABLE_TOKEN_REDEEM = 0x34011A,
- CMSG_CONSUMABLE_TOKEN_REDEEM_CONFIRMATION = 0x34011B,
- CMSG_CONTENT_TRACKING_START_TRACKING = 0x2F02D5,
- CMSG_CONTENT_TRACKING_STOP_TRACKING = 0x2F02D6,
+ CMSG_CONSUMABLE_TOKEN_BUY = 0x340118,
+ CMSG_CONSUMABLE_TOKEN_BUY_AT_MARKET_PRICE = 0x340119,
+ CMSG_CONSUMABLE_TOKEN_CAN_VETERAN_BUY = 0x340117,
+ CMSG_CONSUMABLE_TOKEN_REDEEM = 0x34011B,
+ CMSG_CONSUMABLE_TOKEN_REDEEM_CONFIRMATION = 0x34011C,
+ CMSG_CONTENT_TRACKING_START_TRACKING = 0x2F02D6,
+ CMSG_CONTENT_TRACKING_STOP_TRACKING = 0x2F02D7,
CMSG_CONTRIBUTION_CONTRIBUTE = 0x3000FB,
CMSG_CONTRIBUTION_LAST_UPDATE_REQUEST = 0x3000FC,
CMSG_CONVERSATION_CINEMATIC_READY = 0x3000E5,
CMSG_CONVERSATION_LINE_STARTED = 0x3000E4,
- CMSG_CONVERT_ITEM_TO_BIND_TO_ACCOUNT = 0x2F02E5,
+ CMSG_CONVERT_ITEM_TO_BIND_TO_ACCOUNT = 0x2F02E6,
CMSG_CONVERT_RAID = 0x34007A,
+ CMSG_CONVERT_TIMERUNNING_CHARACTER = 0x34018C,
CMSG_COVENANT_RENOWN_REQUEST_CATCHUP_STATE = 0x30010F,
CMSG_CRAFTING_ORDER_CANCEL = 0x30011B,
CMSG_CRAFTING_ORDER_CLAIM = 0x300118,
@@ -307,15 +308,15 @@ enum OpcodeClient : uint32
CMSG_CRAFTING_ORDER_REPORT_PLAYER = 0x30011D,
CMSG_CRAFTING_ORDER_UPDATE_IGNORE_LIST = 0x30011E,
CMSG_CREATE_CHARACTER = 0x340070,
- CMSG_CREATE_SHIPMENT = 0x2F01DB,
+ CMSG_CREATE_SHIPMENT = 0x2F01DC,
CMSG_DB_QUERY_BULK = 0x340010,
CMSG_DECLINE_GUILD_INVITES = 0x3000B7,
CMSG_DECLINE_PETITION = 0x3000D2,
CMSG_DELETE_EQUIPMENT_SET = 0x3000A3,
CMSG_DELVE_TELEPORT_OUT = 0x30012B,
- CMSG_DEL_FRIEND = 0x3400FF,
- CMSG_DEL_IGNORE = 0x340103,
- CMSG_DESTROY_ITEM = 0x2F016A,
+ CMSG_DEL_FRIEND = 0x340100,
+ CMSG_DEL_IGNORE = 0x340104,
+ CMSG_DESTROY_ITEM = 0x2F016B,
CMSG_DF_BOOT_PLAYER_VOTE = 0x340044,
CMSG_DF_CONFIRM_EXPAND_SEARCH = 0x340036,
CMSG_DF_GET_JOIN_STATUS = 0x340042,
@@ -328,65 +329,65 @@ enum OpcodeClient : uint32
CMSG_DF_TELEPORT = 0x340045,
CMSG_DISCARDED_TIME_SYNC_ACKS = 0x32005E,
CMSG_DISMISS_CRITTER = 0x300091,
- CMSG_DO_COUNTDOWN = 0x340143,
- CMSG_DO_MASTER_LOOT_ROLL = 0x2F00CB,
+ CMSG_DO_COUNTDOWN = 0x340145,
+ CMSG_DO_MASTER_LOOT_ROLL = 0x2F00CC,
CMSG_DO_READY_CHECK = 0x34005E,
CMSG_DUEL_RESPONSE = 0x30007A,
- CMSG_EJECT_PASSENGER = 0x2F0103,
+ CMSG_EJECT_PASSENGER = 0x2F0104,
CMSG_EMOTE = 0x3000DF,
CMSG_ENABLE_NAGLE = 0x350007,
CMSG_ENABLE_TAXI_NODE = 0x30003C,
- CMSG_ENGINE_SURVEY = 0x340111,
+ CMSG_ENGINE_SURVEY = 0x340112,
CMSG_ENTER_ENCRYPTED_MODE_ACK = 0x350003,
CMSG_ENUM_CHARACTERS = 0x340014,
- CMSG_ENUM_CHARACTERS_DELETED_BY_CLIENT = 0x34010B,
+ CMSG_ENUM_CHARACTERS_DELETED_BY_CLIENT = 0x34010C,
CMSG_FAR_SIGHT = 0x300080,
CMSG_GAME_EVENT_DEBUG_DISABLE = 0x2F005E,
CMSG_GAME_EVENT_DEBUG_ENABLE = 0x2F005D,
CMSG_GAME_OBJ_REPORT_USE = 0x300087,
CMSG_GAME_OBJ_USE = 0x300086,
- CMSG_GARRISON_ADD_FOLLOWER_HEALTH = 0x2F01D6,
- CMSG_GARRISON_ASSIGN_FOLLOWER_TO_BUILDING = 0x2F01BC,
- CMSG_GARRISON_CANCEL_CONSTRUCTION = 0x2F01A9,
- CMSG_GARRISON_CHECK_UPGRADEABLE = 0x2F020D,
- CMSG_GARRISON_COMPLETE_MISSION = 0x2F01FF,
- CMSG_GARRISON_FULLY_HEAL_ALL_FOLLOWERS = 0x2F01D7,
- CMSG_GARRISON_GENERATE_RECRUITS = 0x2F01BF,
- CMSG_GARRISON_GET_CLASS_SPEC_CATEGORY_INFO = 0x2F01CE,
- CMSG_GARRISON_GET_MAP_DATA = 0x2F01D5,
- CMSG_GARRISON_GET_MISSION_REWARD = 0x2F022F,
- CMSG_GARRISON_LEARN_TALENT = 0x2F01CA,
- CMSG_GARRISON_MISSION_BONUS_ROLL = 0x2F0201,
- CMSG_GARRISON_PURCHASE_BUILDING = 0x2F01A5,
- CMSG_GARRISON_RECRUIT_FOLLOWER = 0x2F01C1,
- CMSG_GARRISON_REMOVE_FOLLOWER = 0x2F01F6,
- CMSG_GARRISON_REMOVE_FOLLOWER_FROM_BUILDING = 0x2F01BD,
- CMSG_GARRISON_RENAME_FOLLOWER = 0x2F01BE,
- CMSG_GARRISON_REQUEST_BLUEPRINT_AND_SPECIALIZATION_DATA = 0x2F01A4,
- CMSG_GARRISON_REQUEST_SHIPMENT_INFO = 0x2F01D9,
- CMSG_GARRISON_RESEARCH_TALENT = 0x2F01C2,
- CMSG_GARRISON_SET_BUILDING_ACTIVE = 0x2F01A6,
- CMSG_GARRISON_SET_FOLLOWER_FAVORITE = 0x2F01BA,
- CMSG_GARRISON_SET_FOLLOWER_INACTIVE = 0x2F01B2,
- CMSG_GARRISON_SET_RECRUITMENT_PREFERENCES = 0x2F01C0,
- CMSG_GARRISON_SOCKET_TALENT = 0x2F029C,
- CMSG_GARRISON_START_MISSION = 0x2F01FE,
- CMSG_GARRISON_SWAP_BUILDINGS = 0x2F01AA,
+ CMSG_GARRISON_ADD_FOLLOWER_HEALTH = 0x2F01D7,
+ CMSG_GARRISON_ASSIGN_FOLLOWER_TO_BUILDING = 0x2F01BD,
+ CMSG_GARRISON_CANCEL_CONSTRUCTION = 0x2F01AA,
+ CMSG_GARRISON_CHECK_UPGRADEABLE = 0x2F020E,
+ CMSG_GARRISON_COMPLETE_MISSION = 0x2F0200,
+ CMSG_GARRISON_FULLY_HEAL_ALL_FOLLOWERS = 0x2F01D8,
+ CMSG_GARRISON_GENERATE_RECRUITS = 0x2F01C0,
+ CMSG_GARRISON_GET_CLASS_SPEC_CATEGORY_INFO = 0x2F01CF,
+ CMSG_GARRISON_GET_MAP_DATA = 0x2F01D6,
+ CMSG_GARRISON_GET_MISSION_REWARD = 0x2F0230,
+ CMSG_GARRISON_LEARN_TALENT = 0x2F01CB,
+ CMSG_GARRISON_MISSION_BONUS_ROLL = 0x2F0202,
+ CMSG_GARRISON_PURCHASE_BUILDING = 0x2F01A6,
+ CMSG_GARRISON_RECRUIT_FOLLOWER = 0x2F01C2,
+ CMSG_GARRISON_REMOVE_FOLLOWER = 0x2F01F7,
+ CMSG_GARRISON_REMOVE_FOLLOWER_FROM_BUILDING = 0x2F01BE,
+ CMSG_GARRISON_RENAME_FOLLOWER = 0x2F01BF,
+ CMSG_GARRISON_REQUEST_BLUEPRINT_AND_SPECIALIZATION_DATA = 0x2F01A5,
+ CMSG_GARRISON_REQUEST_SHIPMENT_INFO = 0x2F01DA,
+ CMSG_GARRISON_RESEARCH_TALENT = 0x2F01C3,
+ CMSG_GARRISON_SET_BUILDING_ACTIVE = 0x2F01A7,
+ CMSG_GARRISON_SET_FOLLOWER_FAVORITE = 0x2F01BB,
+ CMSG_GARRISON_SET_FOLLOWER_INACTIVE = 0x2F01B3,
+ CMSG_GARRISON_SET_RECRUITMENT_PREFERENCES = 0x2F01C1,
+ CMSG_GARRISON_SOCKET_TALENT = 0x2F029D,
+ CMSG_GARRISON_START_MISSION = 0x2F01FF,
+ CMSG_GARRISON_SWAP_BUILDINGS = 0x2F01AB,
CMSG_GENERATE_RANDOM_CHARACTER_NAME = 0x340013,
CMSG_GET_ACCOUNT_CHARACTER_LIST = 0x3400E3,
- CMSG_GET_ACCOUNT_NOTIFICATIONS = 0x34015F,
- CMSG_GET_GARRISON_INFO = 0x2F019F,
+ CMSG_GET_ACCOUNT_NOTIFICATIONS = 0x340161,
+ CMSG_GET_GARRISON_INFO = 0x2F01A0,
CMSG_GET_ITEM_PURCHASE_DATA = 0x3000CD,
- CMSG_GET_LANDING_PAGE_SHIPMENTS = 0x2F01DA,
- CMSG_GET_MIRROR_IMAGE_DATA = 0x2F016E,
+ CMSG_GET_LANDING_PAGE_SHIPMENTS = 0x2F01DB,
+ CMSG_GET_MIRROR_IMAGE_DATA = 0x2F016F,
CMSG_GET_PVP_OPTIONS_ENABLED = 0x34001A,
- CMSG_GET_RAF_ACCOUNT_INFO = 0x34014D,
- CMSG_GET_REGIONWIDE_CHARACTER_RESTRICTION_AND_MAIL_DATA = 0x340190,
- CMSG_GET_REMAINING_GAME_TIME = 0x340119,
- CMSG_GET_TROPHY_LIST = 0x2F01EF,
- CMSG_GET_UNDELETE_CHARACTER_COOLDOWN_STATUS = 0x34010D,
- CMSG_GET_VAS_ACCOUNT_CHARACTER_LIST = 0x34011E,
- CMSG_GET_VAS_TRANSFER_TARGET_REALM_LIST = 0x34011F,
+ CMSG_GET_RAF_ACCOUNT_INFO = 0x34014F,
+ CMSG_GET_REGIONWIDE_CHARACTER_RESTRICTION_AND_MAIL_DATA = 0x340192,
+ CMSG_GET_REMAINING_GAME_TIME = 0x34011A,
+ CMSG_GET_TROPHY_LIST = 0x2F01F0,
+ CMSG_GET_UNDELETE_CHARACTER_COOLDOWN_STATUS = 0x34010E,
+ CMSG_GET_VAS_ACCOUNT_CHARACTER_LIST = 0x34011F,
+ CMSG_GET_VAS_TRANSFER_TARGET_REALM_LIST = 0x340120,
CMSG_GM_TICKET_ACKNOWLEDGE_SURVEY = 0x3400BC,
CMSG_GM_TICKET_GET_CASE_STATUS = 0x3400BB,
CMSG_GM_TICKET_GET_SYSTEM_STATUS = 0x3400BA,
@@ -439,7 +440,7 @@ enum OpcodeClient : uint32
CMSG_GUILD_UPDATE_INFO_TEXT = 0x2D0016,
CMSG_GUILD_UPDATE_MOTD_TEXT = 0x2D0015,
CMSG_HEARTH_AND_RESURRECT = 0x30009F,
- CMSG_HIDE_QUEST_CHOICE = 0x2F017E,
+ CMSG_HIDE_QUEST_CHOICE = 0x2F017F,
CMSG_HOTFIX_REQUEST = 0x340011,
CMSG_IGNORE_TRADE = 0x2F0003,
CMSG_INITIATE_ROLE_POLL = 0x340006,
@@ -447,68 +448,68 @@ enum OpcodeClient : uint32
CMSG_INSPECT = 0x3000C7,
CMSG_INSTANCE_ABANDON_VOTE_RESPONSE = 0x340061,
CMSG_INSTANCE_LOCK_RESPONSE = 0x3000A4,
- CMSG_ISLAND_QUEUE = 0x2F0260,
+ CMSG_ISLAND_QUEUE = 0x2F0261,
CMSG_ITEM_PURCHASE_REFUND = 0x3000CE,
- CMSG_ITEM_TEXT_QUERY = 0x2F020E,
- CMSG_JOIN_PET_BATTLE_QUEUE = 0x2F008D,
+ CMSG_ITEM_TEXT_QUERY = 0x2F020F,
+ CMSG_JOIN_PET_BATTLE_QUEUE = 0x2F008E,
CMSG_JOIN_RATED_BATTLEGROUND = 0x2F0025,
CMSG_KEEP_ALIVE = 0x3400AB,
- CMSG_KEYBOUND_OVERRIDE = 0x2F00E1,
+ CMSG_KEYBOUND_OVERRIDE = 0x2F00E2,
CMSG_LATENCY_REPORT = 0x35000D,
CMSG_LEARN_PVP_TALENTS = 0x3000FA,
CMSG_LEARN_TALENTS = 0x3000F8,
CMSG_LEAVE_GROUP = 0x340075,
- CMSG_LEAVE_PET_BATTLE_QUEUE = 0x2F008E,
+ CMSG_LEAVE_PET_BATTLE_QUEUE = 0x2F008F,
CMSG_LFG_LIST_APPLY_TO_GROUP = 0x34003B,
CMSG_LFG_LIST_CANCEL_APPLICATION = 0x34003C,
CMSG_LFG_LIST_DECLINE_APPLICANT = 0x34003D,
CMSG_LFG_LIST_GET_STATUS = 0x340039,
CMSG_LFG_LIST_INVITE_APPLICANT = 0x34003E,
CMSG_LFG_LIST_INVITE_RESPONSE = 0x34003F,
- CMSG_LFG_LIST_JOIN = 0x2F0254,
+ CMSG_LFG_LIST_JOIN = 0x2F0255,
CMSG_LFG_LIST_LEAVE = 0x340038,
CMSG_LFG_LIST_SEARCH = 0x34003A,
- CMSG_LFG_LIST_UPDATE_REQUEST = 0x2F0255,
+ CMSG_LFG_LIST_UPDATE_REQUEST = 0x2F0256,
CMSG_LIST_INVENTORY = 0x300033,
CMSG_LIVE_REGION_ACCOUNT_RESTORE = 0x3400E6,
CMSG_LIVE_REGION_CHARACTER_COPY = 0x3400E5,
CMSG_LIVE_REGION_GET_ACCOUNT_CHARACTER_LIST = 0x3400E4,
CMSG_LIVE_REGION_KEY_BINDINGS_COPY = 0x3400E7,
CMSG_LOADING_SCREEN_NOTIFY = 0x340024,
- CMSG_LOAD_SELECTED_TROPHY = 0x2F01F0,
- CMSG_LOBBY_MATCHMAKER_ABANDON_QUEUE = 0x340172,
- CMSG_LOBBY_MATCHMAKER_ACCEPT_PARTY_INVITE = 0x340169,
- CMSG_LOBBY_MATCHMAKER_CREATE_CHARACTER = 0x34017B,
- CMSG_LOBBY_MATCHMAKER_ENTER_QUEUE = 0x340170,
- CMSG_LOBBY_MATCHMAKER_LEAVE_PARTY = 0x34016C,
- CMSG_LOBBY_MATCHMAKER_PARTY_INVITE = 0x340168,
- CMSG_LOBBY_MATCHMAKER_PARTY_UNINVITE = 0x34016B,
- CMSG_LOBBY_MATCHMAKER_QUEUE_PROPSAL_RESPONSE = 0x340171,
- CMSG_LOBBY_MATCHMAKER_REJECT_PARTY_INVITE = 0x34016A,
- CMSG_LOBBY_MATCHMAKER_SET_PARTY_PLAYLIST_ENTRY = 0x34016D,
- CMSG_LOBBY_MATCHMAKER_SET_PLAYER_READY = 0x34016E,
+ CMSG_LOAD_SELECTED_TROPHY = 0x2F01F1,
+ CMSG_LOBBY_MATCHMAKER_ABANDON_QUEUE = 0x340174,
+ CMSG_LOBBY_MATCHMAKER_ACCEPT_PARTY_INVITE = 0x34016B,
+ CMSG_LOBBY_MATCHMAKER_CREATE_CHARACTER = 0x34017D,
+ CMSG_LOBBY_MATCHMAKER_ENTER_QUEUE = 0x340172,
+ CMSG_LOBBY_MATCHMAKER_LEAVE_PARTY = 0x34016E,
+ CMSG_LOBBY_MATCHMAKER_PARTY_INVITE = 0x34016A,
+ CMSG_LOBBY_MATCHMAKER_PARTY_UNINVITE = 0x34016D,
+ CMSG_LOBBY_MATCHMAKER_QUEUE_PROPSAL_RESPONSE = 0x340173,
+ CMSG_LOBBY_MATCHMAKER_REJECT_PARTY_INVITE = 0x34016C,
+ CMSG_LOBBY_MATCHMAKER_SET_PARTY_PLAYLIST_ENTRY = 0x34016F,
+ CMSG_LOBBY_MATCHMAKER_SET_PLAYER_READY = 0x340170,
CMSG_LOGOUT_CANCEL = 0x300070,
CMSG_LOGOUT_INSTANT = 0x300071,
CMSG_LOGOUT_LOBBY_MATCHMAKER = 0x300122,
CMSG_LOGOUT_REQUEST = 0x30006F,
CMSG_LOG_DISCONNECT = 0x350005,
CMSG_LOG_STREAMING_ERROR = 0x350009,
- CMSG_LOOT_ITEM = 0x2F00C9,
- CMSG_LOOT_MONEY = 0x2F00C8,
- CMSG_LOOT_RELEASE = 0x2F00CD,
- CMSG_LOOT_ROLL = 0x2F00CE,
- CMSG_LOOT_UNIT = 0x2F00C7,
+ CMSG_LOOT_ITEM = 0x2F00CA,
+ CMSG_LOOT_MONEY = 0x2F00C9,
+ CMSG_LOOT_RELEASE = 0x2F00CE,
+ CMSG_LOOT_ROLL = 0x2F00CF,
+ CMSG_LOOT_UNIT = 0x2F00C8,
CMSG_LOW_LEVEL_RAID1 = 0x3400CE,
CMSG_LOW_LEVEL_RAID2 = 0x3000AB,
CMSG_MAIL_CREATE_TEXT_ITEM = 0x3000D9,
- CMSG_MAIL_DELETE = 0x2F00E3,
+ CMSG_MAIL_DELETE = 0x2F00E4,
CMSG_MAIL_GET_LIST = 0x3000D4,
CMSG_MAIL_MARK_AS_READ = 0x3000D8,
CMSG_MAIL_RETURN_TO_SENDER = 0x340081,
CMSG_MAIL_TAKE_ITEM = 0x3000D6,
CMSG_MAIL_TAKE_MONEY = 0x3000D5,
- CMSG_MAKE_CONTITIONAL_APPEARANCE_PERMANENT = 0x2F00E4,
- CMSG_MASTER_LOOT_ITEM = 0x2F00CA,
+ CMSG_MAKE_CONTITIONAL_APPEARANCE_PERMANENT = 0x2F00E5,
+ CMSG_MASTER_LOOT_ITEM = 0x2F00CB,
CMSG_MERGE_GUILD_BANK_ITEM_WITH_GUILD_BANK_ITEM = 0x300052,
CMSG_MERGE_GUILD_BANK_ITEM_WITH_ITEM = 0x30004F,
CMSG_MERGE_ITEM_WITH_GUILD_BANK_ITEM = 0x30004D,
@@ -516,7 +517,7 @@ enum OpcodeClient : uint32
CMSG_MISSILE_TRAJECTORY_COLLISION = 0x2F0036,
CMSG_MOUNT_CLEAR_FANFARE = 0x290003,
CMSG_MOUNT_SET_FAVORITE = 0x34005C,
- CMSG_MOUNT_SPECIAL_ANIM = 0x2F0154,
+ CMSG_MOUNT_SPECIAL_ANIM = 0x2F0155,
CMSG_MOVE_ADD_IMPULSE_ACK = 0x32006D,
CMSG_MOVE_APPLY_INERTIA_ACK = 0x32006B,
CMSG_MOVE_APPLY_MOVEMENT_FORCE_ACK = 0x320031,
@@ -609,29 +610,29 @@ enum OpcodeClient : uint32
CMSG_MOVE_UPDATE_FALL_SPEED = 0x320036,
CMSG_MOVE_WATER_WALK_ACK = 0x320039,
CMSG_MYTHIC_PLUS_REQUEST_MAP_STATS = 0x2C0001,
- CMSG_NEUTRAL_PLAYER_SELECT_FACTION = 0x2F0083,
+ CMSG_NEUTRAL_PLAYER_SELECT_FACTION = 0x2F0084,
CMSG_NEXT_CINEMATIC_CAMERA = 0x3000E2,
CMSG_OBJECT_UPDATE_FAILED = 0x2F002C,
CMSG_OBJECT_UPDATE_RESCUED = 0x2F002D,
- CMSG_OFFER_PETITION = 0x2F0286,
+ CMSG_OFFER_PETITION = 0x2F0287,
CMSG_OPENING_CINEMATIC = 0x3000E1,
- CMSG_OPEN_ITEM = 0x2F020F,
- CMSG_OPEN_MISSION_NPC = 0x2F01D0,
- CMSG_OPEN_SHIPMENT_NPC = 0x2F01D8,
- CMSG_OPEN_TRADESKILL_NPC = 0x2F01E3,
+ CMSG_OPEN_ITEM = 0x2F0210,
+ CMSG_OPEN_MISSION_NPC = 0x2F01D1,
+ CMSG_OPEN_SHIPMENT_NPC = 0x2F01D9,
+ CMSG_OPEN_TRADESKILL_NPC = 0x2F01E4,
CMSG_OPT_OUT_OF_LOOT = 0x30008E,
CMSG_OVERRIDE_SCREEN_FLASH = 0x3000B8,
CMSG_PARTY_INVITE = 0x340030,
CMSG_PARTY_INVITE_RESPONSE = 0x340032,
CMSG_PARTY_UNINVITE = 0x340073,
- CMSG_PERFORM_ITEM_INTERACTION = 0x2F00EC,
- CMSG_PERKS_PROGRAM_ITEMS_REFRESHED = 0x2F02AE,
- CMSG_PERKS_PROGRAM_REQUEST_CART_CHECKOUT = 0x2F02B1,
+ CMSG_PERFORM_ITEM_INTERACTION = 0x2F00ED,
+ CMSG_PERKS_PROGRAM_ITEMS_REFRESHED = 0x2F02AF,
+ CMSG_PERKS_PROGRAM_REQUEST_CART_CHECKOUT = 0x2F02B2,
CMSG_PERKS_PROGRAM_REQUEST_PENDING_REWARDS = 0x290012,
- CMSG_PERKS_PROGRAM_REQUEST_PURCHASE = 0x2F02B0,
- CMSG_PERKS_PROGRAM_REQUEST_REFUND = 0x2F02B2,
- CMSG_PERKS_PROGRAM_SET_FROZEN_VENDOR_ITEM = 0x2F02B3,
- CMSG_PERKS_PROGRAM_STATUS_REQUEST = 0x2F02AF,
+ CMSG_PERKS_PROGRAM_REQUEST_PURCHASE = 0x2F02B1,
+ CMSG_PERKS_PROGRAM_REQUEST_REFUND = 0x2F02B3,
+ CMSG_PERKS_PROGRAM_SET_FROZEN_VENDOR_ITEM = 0x2F02B4,
+ CMSG_PERKS_PROGRAM_STATUS_REQUEST = 0x2F02B0,
CMSG_PETITION_BUY = 0x30005A,
CMSG_PETITION_RENAME_GUILD = 0x3400F7,
CMSG_PETITION_SHOW_LIST = 0x300059,
@@ -639,18 +640,18 @@ enum OpcodeClient : uint32
CMSG_PET_ABANDON = 0x30001E,
CMSG_PET_ABANDON_BY_NUMBER = 0x30001F,
CMSG_PET_ACTION = 0x30001C,
- CMSG_PET_BATTLE_FINAL_NOTIFY = 0x2F0092,
+ CMSG_PET_BATTLE_FINAL_NOTIFY = 0x2F0093,
CMSG_PET_BATTLE_INPUT = 0x34006D,
- CMSG_PET_BATTLE_QUEUE_PROPOSE_MATCH_RESULT = 0x2F00E2,
- CMSG_PET_BATTLE_QUIT_NOTIFY = 0x2F0091,
+ CMSG_PET_BATTLE_QUEUE_PROPOSE_MATCH_RESULT = 0x2F00E3,
+ CMSG_PET_BATTLE_QUIT_NOTIFY = 0x2F0092,
CMSG_PET_BATTLE_REPLACE_FRONT_PET = 0x34006E,
- CMSG_PET_BATTLE_REQUEST_PVP = 0x2F008B,
- CMSG_PET_BATTLE_REQUEST_UPDATE = 0x2F008C,
- CMSG_PET_BATTLE_REQUEST_WILD = 0x2F0089,
- CMSG_PET_BATTLE_SCRIPT_ERROR_NOTIFY = 0x2F0093,
- CMSG_PET_BATTLE_WILD_LOCATION_FAIL = 0x3D008A,
+ CMSG_PET_BATTLE_REQUEST_PVP = 0x2F008C,
+ CMSG_PET_BATTLE_REQUEST_UPDATE = 0x2F008D,
+ CMSG_PET_BATTLE_REQUEST_WILD = 0x2F008A,
+ CMSG_PET_BATTLE_SCRIPT_ERROR_NOTIFY = 0x2F0094,
+ CMSG_PET_BATTLE_WILD_LOCATION_FAIL = 0x2F008B,
CMSG_PET_CANCEL_AURA = 0x300020,
- CMSG_PET_CAST_SPELL = 0x2F0173,
+ CMSG_PET_CAST_SPELL = 0x2F0174,
CMSG_PET_RENAME = 0x3400B0,
CMSG_PET_SET_ACTION = 0x30001B,
CMSG_PET_SPELL_AUTOCAST = 0x300021,
@@ -659,32 +660,32 @@ enum OpcodeClient : uint32
CMSG_PLAYER_LOGIN = 0x340016,
CMSG_PUSH_QUEST_TO_PARTY = 0x300031,
CMSG_PVP_LOG_DATA = 0x2F0028,
- CMSG_QUERY_BATTLE_PET_NAME = 0x2F0147,
+ CMSG_QUERY_BATTLE_PET_NAME = 0x2F0148,
CMSG_QUERY_CORPSE_LOCATION_FROM_CLIENT = 0x34008C,
CMSG_QUERY_CORPSE_TRANSPORT = 0x34008D,
CMSG_QUERY_COUNTDOWN_TIMER = 0x2F0055,
- CMSG_QUERY_CREATURE = 0x2F0141,
- CMSG_QUERY_GAME_OBJECT = 0x2F0142,
- CMSG_QUERY_GARRISON_PET_NAME = 0x2F0148,
+ CMSG_QUERY_CREATURE = 0x2F0142,
+ CMSG_QUERY_GAME_OBJECT = 0x2F0143,
+ CMSG_QUERY_GARRISON_PET_NAME = 0x2F0149,
CMSG_QUERY_GUILD_INFO = 0x3400B6,
CMSG_QUERY_INSPECT_ACHIEVEMENTS = 0x300098,
CMSG_QUERY_NEXT_MAIL_TIME = 0x3000D7,
- CMSG_QUERY_NPC_TEXT = 0x2F0143,
- CMSG_QUERY_PAGE_TEXT = 0x2F0145,
- CMSG_QUERY_PETITION = 0x2F0149,
- CMSG_QUERY_PET_NAME = 0x2F0146,
+ CMSG_QUERY_NPC_TEXT = 0x2F0144,
+ CMSG_QUERY_PAGE_TEXT = 0x2F0146,
+ CMSG_QUERY_PETITION = 0x2F014A,
+ CMSG_QUERY_PET_NAME = 0x2F0147,
CMSG_QUERY_PLAYER_NAMES = 0x35000E,
CMSG_QUERY_PLAYER_NAMES_FOR_COMMUNITY = 0x35000C,
CMSG_QUERY_PLAYER_NAME_BY_COMMUNITY_ID = 0x35000B,
CMSG_QUERY_QUEST_COMPLETION_NPCS = 0x2F0021,
- CMSG_QUERY_QUEST_INFO = 0x2F0144,
+ CMSG_QUERY_QUEST_INFO = 0x2F0145,
CMSG_QUERY_QUEST_ITEM_USABILITY = 0x2F0022,
CMSG_QUERY_REALM_NAME = 0x3400B5,
CMSG_QUERY_SCENARIO_POI = 0x340082,
- CMSG_QUERY_SELECTED_WOW_LABS_AREA = 0x2F02EA,
+ CMSG_QUERY_SELECTED_WOW_LABS_AREA = 0x2F02EB,
CMSG_QUERY_TIME = 0x30006E,
- CMSG_QUERY_TREASURE_PICKER = 0x2F0232,
- CMSG_QUERY_WOW_LABS_AREA_INFO = 0x2F02EB,
+ CMSG_QUERY_TREASURE_PICKER = 0x2F0233,
+ CMSG_QUERY_WOW_LABS_AREA_INFO = 0x2F02EC,
CMSG_QUEST_CONFIRM_ACCEPT = 0x300030,
CMSG_QUEST_GIVER_ACCEPT_QUEST = 0x30002A,
CMSG_QUEST_GIVER_CHOOSE_REWARD = 0x30002C,
@@ -698,114 +699,118 @@ enum OpcodeClient : uint32
CMSG_QUEST_LOG_REMOVE_QUEST = 0x3000CC,
CMSG_QUEST_POI_QUERY = 0x3400DD,
CMSG_QUEST_PUSH_RESULT = 0x300032,
- CMSG_QUEST_SESSION_BEGIN_RESPONSE = 0x2F0278,
- CMSG_QUEST_SESSION_REQUEST_START = 0x2F0277,
- CMSG_QUEST_SESSION_REQUEST_STOP = 0x340158,
+ CMSG_QUEST_SESSION_BEGIN_RESPONSE = 0x2F0279,
+ CMSG_QUEST_SESSION_REQUEST_START = 0x2F0278,
+ CMSG_QUEST_SESSION_REQUEST_STOP = 0x34015A,
CMSG_QUEUED_MESSAGES_END = 0x350008,
- CMSG_QUICK_JOIN_AUTO_ACCEPT_REQUESTS = 0x340130,
- CMSG_QUICK_JOIN_REQUEST_INVITE = 0x34012F,
- CMSG_QUICK_JOIN_REQUEST_INVITE_WITH_CONFIRMATION = 0x34015D,
- CMSG_QUICK_JOIN_RESPOND_TO_INVITE = 0x34012E,
- CMSG_QUICK_JOIN_SIGNAL_TOAST_DISPLAYED = 0x34012D,
+ CMSG_QUICK_JOIN_AUTO_ACCEPT_REQUESTS = 0x340131,
+ CMSG_QUICK_JOIN_REQUEST_INVITE = 0x340130,
+ CMSG_QUICK_JOIN_REQUEST_INVITE_WITH_CONFIRMATION = 0x34015F,
+ CMSG_QUICK_JOIN_RESPOND_TO_INVITE = 0x34012F,
+ CMSG_QUICK_JOIN_SIGNAL_TOAST_DISPLAYED = 0x34012E,
CMSG_RAF_CLAIM_ACTIVITY_REWARD = 0x30009C,
- CMSG_RAF_CLAIM_NEXT_REWARD = 0x34014E,
- CMSG_RAF_GENERATE_RECRUITMENT_LINK = 0x340150,
- CMSG_RAF_UPDATE_RECRUITMENT_INFO = 0x34014F,
+ CMSG_RAF_CLAIM_NEXT_REWARD = 0x340150,
+ CMSG_RAF_GENERATE_RECRUITMENT_LINK = 0x340152,
+ CMSG_RAF_UPDATE_RECRUITMENT_INFO = 0x340151,
CMSG_RANDOM_ROLL = 0x340080,
CMSG_READY_CHECK_RESPONSE = 0x34005F,
- CMSG_READ_ITEM = 0x2F0210,
+ CMSG_READ_ITEM = 0x2F0211,
+ CMSG_RECENT_ALLY_REQUEST_DATA = 0x340197,
+ CMSG_RECENT_ALLY_SET_NOTE = 0x340198,
CMSG_RECLAIM_CORPSE = 0x300073,
- CMSG_REMOVE_NEW_ITEM = 0x2F0236,
- CMSG_REMOVE_RAF_RECRUIT = 0x340151,
+ CMSG_REMOVE_NEW_ITEM = 0x2F0237,
+ CMSG_REMOVE_RAF_RECRUIT = 0x340153,
CMSG_REORDER_CHARACTERS = 0x340015,
CMSG_REPAIR_ITEM = 0x300084,
- CMSG_REPLACE_TROPHY = 0x2F01F1,
+ CMSG_REPLACE_TROPHY = 0x2F01F2,
CMSG_REPOP_REQUEST = 0x3000C4,
CMSG_REPORT_PVP_PLAYER_AFK = 0x30008C,
- CMSG_REPORT_SERVER_LAG = 0x2F0270,
- CMSG_REPORT_STUCK_IN_COMBAT = 0x2F0271,
+ CMSG_REPORT_SERVER_LAG = 0x2F0271,
+ CMSG_REPORT_STUCK_IN_COMBAT = 0x2F0272,
CMSG_REQUEST_ACCOUNT_DATA = 0x3400C2,
- CMSG_REQUEST_AREA_POI_UPDATE = 0x2F0234,
+ CMSG_REQUEST_AREA_POI_UPDATE = 0x2F0235,
CMSG_REQUEST_BATTLEFIELD_STATUS = 0x340008,
CMSG_REQUEST_CEMETERY_LIST = 0x2F0023,
CMSG_REQUEST_CHARACTER_GUILD_FOLLOW_INFO = 0x3400B7,
- CMSG_REQUEST_COVENANT_CALLINGS = 0x2F0262,
+ CMSG_REQUEST_COVENANT_CALLINGS = 0x2F0263,
CMSG_REQUEST_CROWD_CONTROL_SPELL = 0x3000C8,
CMSG_REQUEST_CURRENCY_DATA_FOR_ACCOUNT_CHARACTERS = 0x290019,
- CMSG_REQUEST_GARRISON_TALENT_WORLD_QUEST_UNLOCKS = 0x2F029B,
+ CMSG_REQUEST_GARRISON_TALENT_WORLD_QUEST_UNLOCKS = 0x2F029C,
CMSG_REQUEST_GUILD_PARTY_STATE = 0x2F0054,
CMSG_REQUEST_GUILD_REWARDS_LIST = 0x2F0053,
- CMSG_REQUEST_LATEST_SPLASH_SCREEN = 0x2F0272,
- CMSG_REQUEST_LFG_LIST_BLACKLIST = 0x2F017F,
- CMSG_REQUEST_MYTHIC_PLUS_AFFIXES = 0x2F00B7,
- CMSG_REQUEST_MYTHIC_PLUS_SEASON_DATA = 0x2F00B8,
- CMSG_REQUEST_PARTY_ELIGIBILITY_FOR_DELVE_TIERS = 0x2F02E9,
+ CMSG_REQUEST_LATEST_SPLASH_SCREEN = 0x2F0273,
+ CMSG_REQUEST_LFG_LIST_BLACKLIST = 0x2F0180,
+ CMSG_REQUEST_MYTHIC_PLUS_AFFIXES = 0x2F00B8,
+ CMSG_REQUEST_MYTHIC_PLUS_SEASON_DATA = 0x2F00B9,
+ CMSG_REQUEST_PARTY_ELIGIBILITY_FOR_DELVE_TIERS = 0x2F02EA,
CMSG_REQUEST_PARTY_JOIN_UPDATES = 0x340023,
CMSG_REQUEST_PARTY_MEMBER_STATS = 0x34007F,
CMSG_REQUEST_PET_INFO = 0x300022,
- CMSG_REQUEST_PLAYED_TIME = 0x2F014C,
+ CMSG_REQUEST_PLAYED_TIME = 0x2F014D,
CMSG_REQUEST_PVP_REWARDS = 0x2F0041,
CMSG_REQUEST_RAID_INFO = 0x3400F8,
CMSG_REQUEST_RATED_PVP_INFO = 0x34000F,
- CMSG_REQUEST_REALM_GUILD_MASTER_INFO = 0x340193,
- CMSG_REQUEST_SCHEDULED_AREA_POI_UPDATE = 0x2F0235,
+ CMSG_REQUEST_REALM_GUILD_MASTER_INFO = 0x340195,
+ CMSG_REQUEST_SCHEDULED_AREA_POI_UPDATE = 0x2F0236,
CMSG_REQUEST_SCHEDULED_PVP_INFO = 0x2F0042,
CMSG_REQUEST_STABLED_PETS = 0x300023,
CMSG_REQUEST_STORE_FRONT_INFO_UPDATE = 0x29001E,
- CMSG_REQUEST_VEHICLE_EXIT = 0x2F00FE,
- CMSG_REQUEST_VEHICLE_NEXT_SEAT = 0x2F0100,
- CMSG_REQUEST_VEHICLE_PREV_SEAT = 0x2F00FF,
- CMSG_REQUEST_VEHICLE_SWITCH_SEAT = 0x2F0101,
- CMSG_REQUEST_WEEKLY_REWARDS = 0x2F0265,
- CMSG_REQUEST_WORLD_QUEST_UPDATE = 0x2F0233,
- CMSG_RESET_CHALLENGE_MODE = 0x2F00B5,
- CMSG_RESET_CHALLENGE_MODE_CHEAT = 0x2F00B6,
+ CMSG_REQUEST_SURVEY = 0x2F02FD,
+ CMSG_REQUEST_VEHICLE_EXIT = 0x2F00FF,
+ CMSG_REQUEST_VEHICLE_NEXT_SEAT = 0x2F0101,
+ CMSG_REQUEST_VEHICLE_PREV_SEAT = 0x2F0100,
+ CMSG_REQUEST_VEHICLE_SWITCH_SEAT = 0x2F0102,
+ CMSG_REQUEST_WEEKLY_REWARDS = 0x2F0266,
+ CMSG_REQUEST_WORLD_QUEST_UPDATE = 0x2F0234,
+ CMSG_RESET_CHALLENGE_MODE = 0x2F00B6,
+ CMSG_RESET_CHALLENGE_MODE_CHEAT = 0x2F00B7,
CMSG_RESET_INSTANCES = 0x340094,
CMSG_RESURRECT_RESPONSE = 0x3400AF,
- CMSG_REVERT_MONUMENT_APPEARANCE = 0x2F01F3,
- CMSG_RIDE_VEHICLE_INTERACT = 0x2F0102,
- CMSG_RPE_RESET_CHARACTER = 0x34017E,
- CMSG_SAVE_ACCOUNT_DATA_EXPORT = 0x340178,
+ CMSG_REVERT_MONUMENT_APPEARANCE = 0x2F01F4,
+ CMSG_RIDE_VEHICLE_INTERACT = 0x2F0103,
+ CMSG_RPE_RESET_CHARACTER = 0x340180,
+ CMSG_SAVE_ACCOUNT_DATA_EXPORT = 0x34017A,
CMSG_SAVE_CUF_PROFILES = 0x2F0037,
CMSG_SAVE_EQUIPMENT_SET = 0x3000A2,
- CMSG_SAVE_GUILD_EMBLEM = 0x2F0184,
- CMSG_SAVE_PERSONAL_EMBLEM = 0x2F0185,
- CMSG_SCENE_PLAYBACK_CANCELED = 0x2F00DE,
- CMSG_SCENE_PLAYBACK_COMPLETE = 0x2F00DD,
- CMSG_SCENE_TRIGGER_EVENT = 0x2F00DF,
- CMSG_SEAMLESS_TRANSFER_COMPLETE = 0x2F02D8,
- CMSG_SELECT_WOW_LABS_AREA = 0x2F02EC,
+ CMSG_SAVE_GUILD_EMBLEM = 0x2F0185,
+ CMSG_SAVE_PERSONAL_EMBLEM = 0x2F0186,
+ CMSG_SCENE_PLAYBACK_CANCELED = 0x2F00DF,
+ CMSG_SCENE_PLAYBACK_COMPLETE = 0x2F00DE,
+ CMSG_SCENE_TRIGGER_EVENT = 0x2F00E0,
+ CMSG_SEAMLESS_TRANSFER_COMPLETE = 0x2F02D9,
+ CMSG_SELECT_WOW_LABS_AREA = 0x2F02ED,
CMSG_SELF_RES = 0x3000CF,
CMSG_SELL_ALL_JUNK_ITEMS = 0x300035,
CMSG_SELL_ITEM = 0x300034,
- CMSG_SEND_CHARACTER_CLUB_INVITATION = 0x340126,
- CMSG_SEND_CONTACT_LIST = 0x3400FD,
+ CMSG_SEND_CHARACTER_CLUB_INVITATION = 0x340127,
+ CMSG_SEND_CONTACT_LIST = 0x3400FE,
CMSG_SEND_MAIL = 0x340026,
- CMSG_SEND_PING_UNIT = 0x2F02DA,
- CMSG_SEND_PING_WORLD_POINT = 0x2F02DB,
+ CMSG_SEND_PING_UNIT = 0x2F02DB,
+ CMSG_SEND_PING_WORLD_POINT = 0x2F02DC,
CMSG_SEND_TEXT_EMOTE = 0x300019,
CMSG_SERVER_TIME_OFFSET_REQUEST = 0x3400C9,
- CMSG_SETUP_WARBAND_GROUPS = 0x34018C,
+ CMSG_SETUP_WARBAND_GROUPS = 0x34018E,
CMSG_SET_ACTION_BAR_TOGGLES = 0x3000D0,
CMSG_SET_ACTION_BUTTON = 0x340062,
CMSG_SET_ACTIVE_MOVER = 0x320059,
- CMSG_SET_ADVANCED_COMBAT_LOGGING = 0x2F0192,
+ CMSG_SET_ADVANCED_COMBAT_LOGGING = 0x2F0193,
+ CMSG_SET_ALLOW_RECENT_ALLIES_SEE_LOCATION = 0x2F02FE,
CMSG_SET_ASSISTANT_LEADER = 0x34007B,
- CMSG_SET_BACKPACK_AUTOSORT_DISABLED = 0x2F0213,
- CMSG_SET_BACKPACK_SELL_JUNK_DISABLED = 0x2F0214,
- CMSG_SET_BANK_AUTOSORT_DISABLED = 0x2F0215,
- CMSG_SET_CONTACT_NOTES = 0x340100,
+ CMSG_SET_BACKPACK_AUTOSORT_DISABLED = 0x2F0214,
+ CMSG_SET_BACKPACK_SELL_JUNK_DISABLED = 0x2F0215,
+ CMSG_SET_BANK_AUTOSORT_DISABLED = 0x2F0216,
+ CMSG_SET_CONTACT_NOTES = 0x340101,
CMSG_SET_CURRENCY_FLAGS = 0x2F0015,
- CMSG_SET_DIFFICULTY_ID = 0x2F00E0,
+ CMSG_SET_DIFFICULTY_ID = 0x2F00E1,
CMSG_SET_DUNGEON_DIFFICULTY = 0x3400AE,
- CMSG_SET_EMPOWER_MIN_HOLD_STAGE_PERCENT = 0x2F013B,
+ CMSG_SET_EMPOWER_MIN_HOLD_STAGE_PERCENT = 0x2F013C,
CMSG_SET_EVERYONE_IS_ASSISTANT = 0x340046,
- CMSG_SET_EXCLUDED_CHAT_CENSOR_SOURCES = 0x340131,
+ CMSG_SET_EXCLUDED_CHAT_CENSOR_SOURCES = 0x340132,
CMSG_SET_FACTION_AT_WAR = 0x300076,
CMSG_SET_FACTION_INACTIVE = 0x300078,
CMSG_SET_FACTION_NOT_AT_WAR = 0x300077,
CMSG_SET_GAME_EVENT_DEBUG_VIEW_STATE = 0x2F0065,
- CMSG_SET_INSERT_ITEMS_LEFT_TO_RIGHT = 0x2F0217,
+ CMSG_SET_INSERT_ITEMS_LEFT_TO_RIGHT = 0x2F0218,
CMSG_SET_LOOT_METHOD = 0x340074,
CMSG_SET_LOOT_SPECIALIZATION = 0x3000DD,
CMSG_SET_PARTY_ASSIGNMENT = 0x34007D,
@@ -815,35 +820,35 @@ enum OpcodeClient : uint32
CMSG_SET_PET_SPECIALIZATION = 0x2F0013,
CMSG_SET_PLAYER_DECLINED_NAMES = 0x3400B4,
CMSG_SET_PREFERRED_CEMETERY = 0x2F0024,
- CMSG_SET_PVP = 0x2F0189,
- CMSG_SET_RAID_DIFFICULTY = 0x340109,
+ CMSG_SET_PVP = 0x2F018A,
+ CMSG_SET_RAID_DIFFICULTY = 0x34010A,
CMSG_SET_RESTRICT_PINGS_TO_ASSISTANTS = 0x340047,
CMSG_SET_ROLE = 0x340005,
CMSG_SET_SAVED_INSTANCE_EXTEND = 0x3400B2,
CMSG_SET_SELECTION = 0x3000C6,
CMSG_SET_SHEATHED = 0x30001A,
- CMSG_SET_SORT_BAGS_RIGHT_TO_LEFT = 0x2F0216,
+ CMSG_SET_SORT_BAGS_RIGHT_TO_LEFT = 0x2F0217,
CMSG_SET_TAXI_BENCHMARK_MODE = 0x30008B,
- CMSG_SET_TITLE = 0x2F0152,
+ CMSG_SET_TITLE = 0x2F0153,
CMSG_SET_TRADE_CURRENCY = 0x2F000A,
CMSG_SET_TRADE_GOLD = 0x2F0009,
CMSG_SET_TRADE_ITEM = 0x2F0007,
- CMSG_SET_USING_PARTY_GARRISON = 0x2F01D2,
- CMSG_SET_WAR_MODE = 0x2F018A,
+ CMSG_SET_USING_PARTY_GARRISON = 0x2F01D3,
+ CMSG_SET_WAR_MODE = 0x2F018B,
CMSG_SET_WATCHED_FACTION = 0x300079,
CMSG_SHOW_TRADE_SKILL = 0x3400F0,
CMSG_SIGN_PETITION = 0x3000D1,
CMSG_SILENCE_PARTY_TALKER = 0x34007E,
- CMSG_SOCIAL_CONTRACT_REQUEST = 0x340173,
+ CMSG_SOCIAL_CONTRACT_REQUEST = 0x340175,
CMSG_SOCKET_GEMS = 0x300083,
- CMSG_SORT_ACCOUNT_BANK_BAGS = 0x2F02DE,
- CMSG_SORT_BAGS = 0x2F0218,
- CMSG_SORT_BANK_BAGS = 0x2F0219,
- CMSG_SPAWN_TRACKING_UPDATE = 0x2F0167,
- CMSG_SPECTATE_CHANGE = 0x2F02D1,
+ CMSG_SORT_ACCOUNT_BANK_BAGS = 0x2F02DF,
+ CMSG_SORT_BAGS = 0x2F0219,
+ CMSG_SORT_BANK_BAGS = 0x2F021A,
+ CMSG_SPAWN_TRACKING_UPDATE = 0x2F0168,
+ CMSG_SPECTATE_CHANGE = 0x2F02D2,
CMSG_SPELL_CLICK = 0x300027,
- CMSG_SPELL_EMPOWER_RELEASE = 0x2F0139,
- CMSG_SPELL_EMPOWER_RESTART = 0x2F013A,
+ CMSG_SPELL_EMPOWER_RELEASE = 0x2F013A,
+ CMSG_SPELL_EMPOWER_RESTART = 0x2F013B,
CMSG_SPIRIT_HEALER_ACTIVATE = 0x300042,
CMSG_SPLIT_GUILD_BANK_ITEM = 0x300053,
CMSG_SPLIT_GUILD_BANK_ITEM_TO_INVENTORY = 0x300050,
@@ -856,7 +861,7 @@ enum OpcodeClient : uint32
CMSG_START_WAR_GAME = 0x34000A,
CMSG_STORE_GUILD_BANK_ITEM = 0x300049,
CMSG_SUBMIT_USER_FEEDBACK = 0x3400C1,
- CMSG_SUBSCRIPTION_INTERSTITIAL_RESPONSE = 0x2F0290,
+ CMSG_SUBSCRIPTION_INTERSTITIAL_RESPONSE = 0x2F0291,
CMSG_SUMMON_RESPONSE = 0x340096,
CMSG_SUPPORT_TICKET_SUBMIT_COMPLAINT = 0x340072,
CMSG_SURRENDER_ARENA = 0x2F0020,
@@ -867,7 +872,7 @@ enum OpcodeClient : uint32
CMSG_SWAP_ITEM = 0x310006,
CMSG_SWAP_ITEM_WITH_GUILD_BANK_ITEM = 0x30004A,
CMSG_SWAP_SUB_GROUPS = 0x340079,
- CMSG_TABARD_VENDOR_ACTIVATE = 0x2F0186,
+ CMSG_TABARD_VENDOR_ACTIVATE = 0x2F0187,
CMSG_TALK_TO_GOSSIP = 0x300024,
CMSG_TAXI_NODE_STATUS_QUERY = 0x30003B,
CMSG_TAXI_QUERY_AVAILABLE_NODES = 0x30003D,
@@ -877,56 +882,56 @@ enum OpcodeClient : uint32
CMSG_TIME_SYNC_RESPONSE_DROPPED = 0x32005C,
CMSG_TIME_SYNC_RESPONSE_FAILED = 0x32005B,
CMSG_TOGGLE_DIFFICULTY = 0x340083,
- CMSG_TOGGLE_PVP = 0x2F0188,
+ CMSG_TOGGLE_PVP = 0x2F0189,
CMSG_TOTEM_DESTROYED = 0x300090,
CMSG_TOY_CLEAR_FANFARE = 0x290004,
- CMSG_TRADE_SKILL_SET_FAVORITE = 0x2F0231,
+ CMSG_TRADE_SKILL_SET_FAVORITE = 0x2F0232,
CMSG_TRAINER_BUY_SPELL = 0x300041,
CMSG_TRAINER_LIST = 0x300040,
- CMSG_TRAITS_COMMIT_CONFIG = 0x2F02B9,
- CMSG_TRAITS_TALENT_TEST_UNLEARN_SPELLS = 0x2F02B7,
- CMSG_TRANSFER_CURRENCY_FROM_ACCOUNT_CHARACTER = 0x2F02E7,
+ CMSG_TRAITS_COMMIT_CONFIG = 0x2F02BA,
+ CMSG_TRAITS_TALENT_TEST_UNLEARN_SPELLS = 0x2F02B8,
+ CMSG_TRANSFER_CURRENCY_FROM_ACCOUNT_CHARACTER = 0x2F02E8,
CMSG_TRANSMOGRIFY_ITEMS = 0x2F0043,
CMSG_TURN_IN_PETITION = 0x3000D3,
- CMSG_TUTORIAL = 0x34010A,
- CMSG_UI_MAP_QUEST_LINES_REQUEST = 0x2F0261,
+ CMSG_TUTORIAL = 0x34010B,
+ CMSG_UI_MAP_QUEST_LINES_REQUEST = 0x2F0262,
CMSG_UNACCEPT_TRADE = 0x2F0005,
- CMSG_UNDELETE_CHARACTER = 0x34010C,
+ CMSG_UNDELETE_CHARACTER = 0x34010D,
CMSG_UNLEARN_SKILL = 0x30007D,
CMSG_UNLEARN_SPECIALIZATION = 0x2F0051,
- CMSG_UPDATE_AADC_STATUS = 0x340163,
+ CMSG_UPDATE_AADC_STATUS = 0x340165,
CMSG_UPDATE_ACCOUNT_BANK_TAB_SETTINGS = 0x30012A,
CMSG_UPDATE_ACCOUNT_DATA = 0x3400C3,
- CMSG_UPDATE_AREA_TRIGGER_VISUAL = 0x2F0176,
+ CMSG_UPDATE_AREA_TRIGGER_VISUAL = 0x2F0177,
CMSG_UPDATE_CLIENT_SETTINGS = 0x340090,
- CMSG_UPDATE_CRAFTING_NPC_RECIPES = 0x2F01E4,
+ CMSG_UPDATE_CRAFTING_NPC_RECIPES = 0x2F01E5,
CMSG_UPDATE_MISSILE_TRAJECTORY = 0x320060,
CMSG_UPDATE_RAID_TARGET = 0x34007C,
- CMSG_UPDATE_SPELL_VISUAL = 0x2F0175,
- CMSG_UPDATE_VAS_PURCHASE_STATES = 0x340121,
- CMSG_UPGRADE_GARRISON = 0x2F019A,
- CMSG_UPGRADE_RUNEFORGE_LEGENDARY = 0x2F028E,
+ CMSG_UPDATE_SPELL_VISUAL = 0x2F0176,
+ CMSG_UPDATE_VAS_PURCHASE_STATES = 0x340122,
+ CMSG_UPGRADE_GARRISON = 0x2F019B,
+ CMSG_UPGRADE_RUNEFORGE_LEGENDARY = 0x2F028F,
CMSG_USED_FOLLOW = 0x2F0032,
- CMSG_USE_CRITTER_ITEM = 0x2F0108,
+ CMSG_USE_CRITTER_ITEM = 0x2F0109,
CMSG_USE_EQUIPMENT_SET = 0x310001,
- CMSG_USE_ITEM = 0x2F016F,
- CMSG_USE_TOY = 0x2F0172,
- CMSG_VAS_CHECK_TRANSFER_OK = 0x340136,
- CMSG_VAS_GET_QUEUE_MINUTES = 0x340135,
- CMSG_VAS_GET_SERVICE_STATUS = 0x340134,
+ CMSG_USE_ITEM = 0x2F0170,
+ CMSG_USE_TOY = 0x2F0173,
+ CMSG_VAS_CHECK_TRANSFER_OK = 0x340138,
+ CMSG_VAS_GET_QUEUE_MINUTES = 0x340137,
+ CMSG_VAS_GET_SERVICE_STATUS = 0x340136,
CMSG_VIOLENCE_LEVEL = 0x2F0030,
- CMSG_VOICE_CHANNEL_STT_TOKEN_REQUEST = 0x34013A,
- CMSG_VOICE_CHAT_JOIN_CHANNEL = 0x34013B,
- CMSG_VOICE_CHAT_LOGIN = 0x340139,
+ CMSG_VOICE_CHANNEL_STT_TOKEN_REQUEST = 0x34013C,
+ CMSG_VOICE_CHAT_JOIN_CHANNEL = 0x34013D,
+ CMSG_VOICE_CHAT_LOGIN = 0x34013B,
CMSG_WARDEN3_DATA = 0x340018,
CMSG_WHO = 0x3400AD,
CMSG_WHO_IS = 0x3400AC,
- CMSG_WORLD_LOOT_OBJECT_CLICK = 0x2F02D4,
+ CMSG_WORLD_LOOT_OBJECT_CLICK = 0x2F02D5,
CMSG_WORLD_PORT_RESPONSE = 0x340025,
CMSG_WRAP_ITEM = 0x310000,
};
-inline constexpr std::size_t NUM_CMSG_OPCODES = 1735;
+inline constexpr std::size_t NUM_CMSG_OPCODES = 1758;
inline constexpr std::ptrdiff_t GetOpcodeArrayIndex(OpcodeClient opcode)
{
@@ -937,12 +942,12 @@ inline constexpr std::ptrdiff_t GetOpcodeArrayIndex(OpcodeClient opcode)
case 0x2B: return idInGroup < 51 ? idInGroup + 31 : -1;
case 0x2C: return idInGroup < 3 ? idInGroup + 82 : -1;
case 0x2D: return idInGroup < 37 ? idInGroup + 85 : -1;
- case 0x2F: return idInGroup < 751 ? idInGroup + 122 : -1;
- case 0x30: return idInGroup < 301 ? idInGroup + 873 : -1;
- case 0x31: return idInGroup < 10 ? idInGroup + 1174 : -1;
- case 0x32: return idInGroup < 132 ? idInGroup + 1184 : -1;
- case 0x34: return idInGroup < 404 ? idInGroup + 1316 : -1;
- case 0x35: return idInGroup < 15 ? idInGroup + 1720 : -1;
+ case 0x2F: return idInGroup < 767 ? idInGroup + 122 : -1;
+ case 0x30: return idInGroup < 301 ? idInGroup + 889 : -1;
+ case 0x31: return idInGroup < 10 ? idInGroup + 1190 : -1;
+ case 0x32: return idInGroup < 132 ? idInGroup + 1200 : -1;
+ case 0x34: return idInGroup < 411 ? idInGroup + 1332 : -1;
+ case 0x35: return idInGroup < 15 ? idInGroup + 1743 : -1;
default: return -1;
}
}
@@ -950,20 +955,20 @@ inline constexpr std::ptrdiff_t GetOpcodeArrayIndex(OpcodeClient opcode)
enum OpcodeServer : uint32
{
SMSG_ABORT_NEW_WORLD = 0x360030,
- SMSG_ACCOUNT_CHARACTER_CURRENCY_LISTS = 0x360346,
- SMSG_ACCOUNT_CONVERSION_STATE_UPDATE = 0x36034B,
- SMSG_ACCOUNT_COSMETIC_ADDED = 0x3602FF,
- SMSG_ACCOUNT_CRITERIA_UPDATE = 0x3602E7,
+ SMSG_ACCOUNT_CHARACTER_CURRENCY_LISTS = 0x360347,
+ SMSG_ACCOUNT_CONVERSION_STATE_UPDATE = 0x36034C,
+ SMSG_ACCOUNT_COSMETIC_ADDED = 0x360300,
+ SMSG_ACCOUNT_CRITERIA_UPDATE = 0x3602E8,
SMSG_ACCOUNT_DATA_TIMES = 0x3601A8,
- SMSG_ACCOUNT_EXPORT_RESPONSE = 0x360337,
- SMSG_ACCOUNT_ITEM_COLLECTION_DATA = 0x360351,
+ SMSG_ACCOUNT_EXPORT_RESPONSE = 0x360338,
+ SMSG_ACCOUNT_ITEM_COLLECTION_DATA = 0x360352,
SMSG_ACCOUNT_MOUNT_REMOVED = 0x360047,
SMSG_ACCOUNT_MOUNT_UPDATE = 0x360046,
- SMSG_ACCOUNT_NOTIFICATIONS_RESPONSE = 0x3602FE,
- SMSG_ACCOUNT_STORE_CURRENCY_UPDATE = 0x360320,
- SMSG_ACCOUNT_STORE_FRONT_UPDATE = 0x360321,
- SMSG_ACCOUNT_STORE_ITEM_STATE_CHANGED = 0x360322,
- SMSG_ACCOUNT_STORE_RESULT = 0x360323,
+ SMSG_ACCOUNT_NOTIFICATIONS_RESPONSE = 0x3602FF,
+ SMSG_ACCOUNT_STORE_CURRENCY_UPDATE = 0x360321,
+ SMSG_ACCOUNT_STORE_FRONT_UPDATE = 0x360322,
+ SMSG_ACCOUNT_STORE_ITEM_STATE_CHANGED = 0x360323,
+ SMSG_ACCOUNT_STORE_RESULT = 0x360324,
SMSG_ACCOUNT_TOY_UPDATE = 0x360048,
SMSG_ACCOUNT_TRANSMOG_SET_FAVORITES_UPDATE = 0x36004C,
SMSG_ACCOUNT_TRANSMOG_UPDATE = 0x36004B,
@@ -981,8 +986,8 @@ enum OpcodeServer : uint32
SMSG_ADD_LOSS_OF_CONTROL = 0x36010F,
SMSG_ADD_RUNE_POWER = 0x360156,
SMSG_ADJUST_SPLINE_DURATION = 0x360069,
- SMSG_ADVANCED_COMBAT_LOG = 0x3602FC,
- SMSG_ADVENTURE_JOURNAL_DATA_RESPONSE = 0x3602F7,
+ SMSG_ADVANCED_COMBAT_LOG = 0x3602FD,
+ SMSG_ADVENTURE_JOURNAL_DATA_RESPONSE = 0x3602F8,
SMSG_AE_LOOT_TARGETS = 0x3600B5,
SMSG_AE_LOOT_TARGET_ACK = 0x3600B6,
SMSG_AI_REACTION = 0x360153,
@@ -990,7 +995,7 @@ enum OpcodeServer : uint32
SMSG_ALL_ACCOUNT_CRITERIA = 0x360005,
SMSG_ALL_ACHIEVEMENT_DATA = 0x360004,
SMSG_ALL_GUILD_ACHIEVEMENTS = 0x420000,
- SMSG_APPLY_MOUNT_EQUIPMENT_RESULT = 0x3602D4,
+ SMSG_APPLY_MOUNT_EQUIPMENT_RESULT = 0x3602D5,
SMSG_ARCHAEOLOGY_SURVERY_CAST = 0x36001D,
SMSG_AREA_POI_UPDATE_RESPONSE = 0x4A0018,
SMSG_AREA_SPIRIT_HEALER_TIME = 0x3601DC,
@@ -1015,14 +1020,14 @@ enum OpcodeServer : uint32
SMSG_AUCTIONABLE_TOKEN_SELL_CONFIRM_REQUIRED = 0x36026B,
SMSG_AUCTION_CLOSED_NOTIFICATION = 0x360190,
SMSG_AUCTION_COMMAND_RESULT = 0x36018D,
- SMSG_AUCTION_DISABLE_NEW_POSTINGS = 0x360324,
- SMSG_AUCTION_FAVORITE_LIST = 0x3602EE,
- SMSG_AUCTION_GET_COMMODITY_QUOTE_RESULT = 0x3602E6,
+ SMSG_AUCTION_DISABLE_NEW_POSTINGS = 0x360325,
+ SMSG_AUCTION_FAVORITE_LIST = 0x3602EF,
+ SMSG_AUCTION_GET_COMMODITY_QUOTE_RESULT = 0x3602E7,
SMSG_AUCTION_HELLO_RESPONSE = 0x36018B,
- SMSG_AUCTION_LIST_BIDDED_ITEMS_RESULT = 0x3602E5,
- SMSG_AUCTION_LIST_BUCKETS_RESULT = 0x3602E1,
- SMSG_AUCTION_LIST_ITEMS_RESULT = 0x3602E2,
- SMSG_AUCTION_LIST_OWNED_ITEMS_RESULT = 0x3602E4,
+ SMSG_AUCTION_LIST_BIDDED_ITEMS_RESULT = 0x3602E6,
+ SMSG_AUCTION_LIST_BUCKETS_RESULT = 0x3602E2,
+ SMSG_AUCTION_LIST_ITEMS_RESULT = 0x3602E3,
+ SMSG_AUCTION_LIST_OWNED_ITEMS_RESULT = 0x3602E5,
SMSG_AUCTION_OUTBID_NOTIFICATION = 0x36018F,
SMSG_AUCTION_OWNER_BID_NOTIFICATION = 0x360191,
SMSG_AUCTION_REPLICATE_RESPONSE = 0x36018C,
@@ -1033,10 +1038,10 @@ enum OpcodeServer : uint32
SMSG_AUTH_FAILED = 0x360000,
SMSG_AUTH_RESPONSE = 0x360001,
SMSG_AVAILABLE_HOTFIXES = 0x3A0001,
- SMSG_BACKPACK_DEFAULT_SIZE_CHANGED = 0x360325,
+ SMSG_BACKPACK_DEFAULT_SIZE_CHANGED = 0x360326,
SMSG_BAG_CLEANUP_FINISHED = 0x4E0007,
SMSG_BARBER_SHOP_RESULT = 0x36015B,
- SMSG_BATCH_PRESENCE_SUBSCRIPTION = 0x3602C5,
+ SMSG_BATCH_PRESENCE_SUBSCRIPTION = 0x3602C6,
SMSG_BATTLEFIELD_LIST = 0x3C0005,
SMSG_BATTLEFIELD_PORT_DENIED = 0x3C000B,
SMSG_BATTLEFIELD_STATUS_ACTIVE = 0x3C0001,
@@ -1063,7 +1068,7 @@ enum OpcodeServer : uint32
SMSG_BATTLE_PAY_CONFIRM_PURCHASE = 0x360220,
SMSG_BATTLE_PAY_DELIVERY_ENDED = 0x360214,
SMSG_BATTLE_PAY_DELIVERY_STARTED = 0x360213,
- SMSG_BATTLE_PAY_DISTRIBUTION_ASSIGN_VAS_RESPONSE = 0x360304,
+ SMSG_BATTLE_PAY_DISTRIBUTION_ASSIGN_VAS_RESPONSE = 0x360305,
SMSG_BATTLE_PAY_DISTRIBUTION_UNREVOKED = 0x360211,
SMSG_BATTLE_PAY_DISTRIBUTION_UPDATE = 0x360212,
SMSG_BATTLE_PAY_GET_DISTRIBUTION_LIST_RESPONSE = 0x360210,
@@ -1071,7 +1076,7 @@ enum OpcodeServer : uint32
SMSG_BATTLE_PAY_GET_PURCHASE_LIST_RESPONSE = 0x36020F,
SMSG_BATTLE_PAY_MOUNT_DELIVERED = 0x360215,
SMSG_BATTLE_PAY_PURCHASE_UPDATE = 0x36021F,
- SMSG_BATTLE_PAY_START_CHECKOUT = 0x3602B9,
+ SMSG_BATTLE_PAY_START_CHECKOUT = 0x3602BA,
SMSG_BATTLE_PAY_START_DISTRIBUTION_ASSIGN_TO_TARGET_RESPONSE = 0x36021D,
SMSG_BATTLE_PAY_START_PURCHASE_RESPONSE = 0x36021C,
SMSG_BATTLE_PAY_VALIDATE_PURCHASE_RESPONSE = 0x3602AD,
@@ -1095,8 +1100,8 @@ enum OpcodeServer : uint32
SMSG_BOSS_KILL = 0x3C002B,
SMSG_BREAK_TARGET = 0x3C0016,
SMSG_BROADCAST_ACHIEVEMENT = 0x3B0012,
- SMSG_BROADCAST_SUMMON_CAST = 0x3602C7,
- SMSG_BROADCAST_SUMMON_RESPONSE = 0x3602C8,
+ SMSG_BROADCAST_SUMMON_CAST = 0x3602C8,
+ SMSG_BROADCAST_SUMMON_RESPONSE = 0x3602C9,
SMSG_BUY_FAILED = 0x360164,
SMSG_BUY_SUCCEEDED = 0x360163,
SMSG_CACHE_INFO = 0x3A000F,
@@ -1135,6 +1140,9 @@ enum OpcodeServer : uint32
SMSG_CAPTURE_POINT_REMOVED = 0x3C0008,
SMSG_CAST_FAILED = 0x4D0048,
SMSG_CAS_REFRESH_REMOTE_DATA = 0x360115,
+ SMSG_CATALOG_SHOP_LICENSE_DATA = 0x3602AE,
+ SMSG_CATALOG_SHOP_OBTAIN_LICENSE = 0x360358,
+ SMSG_CATALOG_SHOP_OPEN_CHECKOUT_RESULT = 0x360353,
SMSG_CAUTIONARY_CHANNEL_MESSAGE = 0x3B0009,
SMSG_CAUTIONARY_CHAT_MESSAGE = 0x3B0008,
SMSG_CHAIN_MISSILE_BOUNCE = 0x360061,
@@ -1181,8 +1189,8 @@ enum OpcodeServer : uint32
SMSG_CHECK_ABANDON_NPE = 0x4A0023,
SMSG_CHECK_CHARACTER_NAME_AVAILABILITY_RESULT = 0x36001B,
SMSG_CHECK_WARGAME_ENTRY = 0x360027,
- SMSG_CHROMIE_TIME_SELECT_EXPANSION_SUCCESS = 0x3602F1,
- SMSG_CLAIM_RAF_REWARD_RESPONSE = 0x3602D8,
+ SMSG_CHROMIE_TIME_SELECT_EXPANSION_SUCCESS = 0x3602F2,
+ SMSG_CLAIM_RAF_REWARD_RESPONSE = 0x3602D9,
SMSG_CLEAR_ALL_SPELL_CHARGES = 0x4D0016,
SMSG_CLEAR_BOSS_EMOTES = 0x360054,
SMSG_CLEAR_COOLDOWN = 0x360158,
@@ -1192,13 +1200,13 @@ enum OpcodeServer : uint32
SMSG_CLEAR_TARGET = 0x3C0022,
SMSG_CLEAR_TREASURE_PICKER_CACHE = 0x4B0022,
SMSG_CLOSE_ARTIFACT_FORGE = 0x36023B,
- SMSG_CLUB_FINDER_ERROR_MESSAGE = 0x3602D0,
- SMSG_CLUB_FINDER_GET_CLUB_POSTING_IDS_RESPONSE = 0x3602D3,
- SMSG_CLUB_FINDER_LOOKUP_CLUB_POSTINGS_LIST = 0x3602D1,
- SMSG_CLUB_FINDER_RESPONSE_CHARACTER_APPLICATION_LIST = 0x3602CE,
- SMSG_CLUB_FINDER_RESPONSE_POST_RECRUITMENT_MESSAGE = 0x3602D2,
- SMSG_CLUB_FINDER_UPDATE_APPLICATIONS = 0x3602CF,
- SMSG_CLUB_FINDER_WHISPER_APPLICANT_RESPONSE = 0x360310,
+ SMSG_CLUB_FINDER_ERROR_MESSAGE = 0x3602D1,
+ SMSG_CLUB_FINDER_GET_CLUB_POSTING_IDS_RESPONSE = 0x3602D4,
+ SMSG_CLUB_FINDER_LOOKUP_CLUB_POSTINGS_LIST = 0x3602D2,
+ SMSG_CLUB_FINDER_RESPONSE_CHARACTER_APPLICATION_LIST = 0x3602CF,
+ SMSG_CLUB_FINDER_RESPONSE_POST_RECRUITMENT_MESSAGE = 0x3602D3,
+ SMSG_CLUB_FINDER_UPDATE_APPLICATIONS = 0x3602D0,
+ SMSG_CLUB_FINDER_WHISPER_APPLICANT_RESPONSE = 0x360311,
SMSG_COIN_REMOVED = 0x3600B4,
SMSG_COMBAT_EVENT_FAILED = 0x3C0019,
SMSG_COMMENTATOR_MAP_INFO = 0x3601A4,
@@ -1219,9 +1227,9 @@ enum OpcodeServer : uint32
SMSG_CONSUMABLE_TOKEN_REDEEM_CONFIRM_REQUIRED = 0x360272,
SMSG_CONSUMABLE_TOKEN_REDEEM_RESPONSE = 0x360273,
SMSG_CONTACT_LIST = 0x360222,
- SMSG_CONTRIBUTION_LAST_UPDATE_RESPONSE = 0x3602B2,
+ SMSG_CONTRIBUTION_LAST_UPDATE_RESPONSE = 0x3602B3,
SMSG_CONTROL_UPDATE = 0x3600E4,
- SMSG_CONVERT_ITEMS_TO_CURRENCY_VALUE = 0x3602FA,
+ SMSG_CONVERT_ITEMS_TO_CURRENCY_VALUE = 0x3602FB,
SMSG_COOLDOWN_CHEAT = 0x3601D5,
SMSG_COOLDOWN_EVENT = 0x360157,
SMSG_CORPSE_LOCATION = 0x3600EB,
@@ -1229,27 +1237,27 @@ enum OpcodeServer : uint32
SMSG_CORPSE_TRANSPORT_QUERY = 0x3601B0,
SMSG_COVENANT_CALLINGS_AVAILABILITY_RESPONSE = 0x4B0024,
SMSG_COVENANT_PREVIEW_OPEN_NPC = 0x360294,
- SMSG_COVENANT_RENOWN_SEND_CATCHUP_STATE = 0x3602FB,
- SMSG_CRAFTING_HOUSE_HELLO_RESPONSE = 0x360331,
- SMSG_CRAFTING_ORDER_CANCEL_RESULT = 0x36032D,
- SMSG_CRAFTING_ORDER_CLAIM_RESULT = 0x360329,
- SMSG_CRAFTING_ORDER_CRAFT_RESULT = 0x36032B,
- SMSG_CRAFTING_ORDER_CREATE_RESULT = 0x360327,
- SMSG_CRAFTING_ORDER_FULFILL_RESULT = 0x36032C,
- SMSG_CRAFTING_ORDER_LIST_ORDERS_RESPONSE = 0x360328,
- SMSG_CRAFTING_ORDER_NPC_REWARD_INFO = 0x360333,
- SMSG_CRAFTING_ORDER_REJECT_RESULT = 0x36032F,
- SMSG_CRAFTING_ORDER_RELEASE_RESULT = 0x36032A,
- SMSG_CRAFTING_ORDER_UPDATE_STATE = 0x360332,
- SMSG_CRAFT_ENCHANT_RESULT = 0x360330,
+ SMSG_COVENANT_RENOWN_SEND_CATCHUP_STATE = 0x3602FC,
+ SMSG_CRAFTING_HOUSE_HELLO_RESPONSE = 0x360332,
+ SMSG_CRAFTING_ORDER_CANCEL_RESULT = 0x36032E,
+ SMSG_CRAFTING_ORDER_CLAIM_RESULT = 0x36032A,
+ SMSG_CRAFTING_ORDER_CRAFT_RESULT = 0x36032C,
+ SMSG_CRAFTING_ORDER_CREATE_RESULT = 0x360328,
+ SMSG_CRAFTING_ORDER_FULFILL_RESULT = 0x36032D,
+ SMSG_CRAFTING_ORDER_LIST_ORDERS_RESPONSE = 0x360329,
+ SMSG_CRAFTING_ORDER_NPC_REWARD_INFO = 0x360334,
+ SMSG_CRAFTING_ORDER_REJECT_RESULT = 0x360330,
+ SMSG_CRAFTING_ORDER_RELEASE_RESULT = 0x36032B,
+ SMSG_CRAFTING_ORDER_UPDATE_STATE = 0x360333,
+ SMSG_CRAFT_ENCHANT_RESULT = 0x360331,
SMSG_CREATE_CHAR = 0x36019E,
SMSG_CREATE_SHIPMENT_RESPONSE = 0x360233,
- SMSG_CREATOR_VISUALS_OVERRIDE = 0x360336,
+ SMSG_CREATOR_VISUALS_OVERRIDE = 0x360337,
SMSG_CRITERIA_DELETED = 0x360184,
SMSG_CRITERIA_UPDATE = 0x36017E,
SMSG_CROSSED_INEBRIATION_THRESHOLD = 0x36015F,
- SMSG_CURRENCY_TRANSFER_LOG = 0x360348,
- SMSG_CURRENCY_TRANSFER_RESULT = 0x360347,
+ SMSG_CURRENCY_TRANSFER_LOG = 0x360349,
+ SMSG_CURRENCY_TRANSFER_RESULT = 0x360348,
SMSG_CUSTOM_LOAD_SCREEN = 0x360064,
SMSG_DAILY_QUESTS_RESET = 0x4B0000,
SMSG_DAMAGE_CALC_LOG = 0x4D0054,
@@ -1259,7 +1267,7 @@ enum OpcodeServer : uint32
SMSG_DEFENSE_MESSAGE = 0x3B000C,
SMSG_DELETE_CHAR = 0x36019F,
SMSG_DELETE_EXPIRED_MISSIONS_RESULT = 0x400022,
- SMSG_DELVES_ACCOUNT_DATA_ELEMENT_CHANGED = 0x36034D,
+ SMSG_DELVES_ACCOUNT_DATA_ELEMENT_CHANGED = 0x36034E,
SMSG_DESTROY_ARENA_UNIT = 0x3601DE,
SMSG_DESTRUCTIBLE_BUILDING_DAMAGE = 0x360196,
SMSG_DIFFERENT_INSTANCE_FROM_PARTY = 0x360020,
@@ -1297,12 +1305,12 @@ enum OpcodeServer : uint32
SMSG_EXPECTED_SPAM_RECORDS = 0x3B0005,
SMSG_EXPLORATION_EXPERIENCE = 0x3601FB,
SMSG_EXPORT_ACCOUNT_PROFILE = 0x3600F0,
- SMSG_EXTERNAL_TRANSACTION_ID_GENERATED = 0x3602F8,
+ SMSG_EXTERNAL_TRANSACTION_ID_GENERATED = 0x3602F9,
SMSG_FACTION_BONUS_INFO = 0x3601C1,
SMSG_FAILED_PLAYER_CONDITION = 0x4A0002,
SMSG_FAILED_QUEST_TURN_IN = 0x3602A8,
SMSG_FEATURE_SYSTEM_STATUS = 0x360058,
- SMSG_FEATURE_SYSTEM_STATUS2 = 0x360345,
+ SMSG_FEATURE_SYSTEM_STATUS2 = 0x360346,
SMSG_FEATURE_SYSTEM_STATUS_GLUE_SCREEN = 0x360059,
SMSG_FEIGN_DEATH_RESISTED = 0x3601E0,
SMSG_FISH_ESCAPED = 0x36016E,
@@ -1317,11 +1325,11 @@ enum OpcodeServer : uint32
SMSG_FRIEND_STATUS = 0x360223,
SMSG_GAIN_MAW_POWER = 0x360279,
SMSG_GAME_OBJECT_ACTIVATE_ANIM_KIT = 0x36005C,
- SMSG_GAME_OBJECT_BASE = 0x3602BF,
- SMSG_GAME_OBJECT_CLOSE_INTERACTION = 0x36030F,
+ SMSG_GAME_OBJECT_BASE = 0x3602C0,
+ SMSG_GAME_OBJECT_CLOSE_INTERACTION = 0x360310,
SMSG_GAME_OBJECT_CUSTOM_ANIM = 0x36005D,
SMSG_GAME_OBJECT_DESPAWN = 0x36005E,
- SMSG_GAME_OBJECT_INTERACTION = 0x36030E,
+ SMSG_GAME_OBJECT_INTERACTION = 0x36030F,
SMSG_GAME_OBJECT_PLAY_SPELL_VISUAL = 0x4D003C,
SMSG_GAME_OBJECT_PLAY_SPELL_VISUAL_KIT = 0x4D003B,
SMSG_GAME_OBJECT_RESET_STATE = 0x3601BB,
@@ -1400,11 +1408,11 @@ enum OpcodeServer : uint32
SMSG_GARRISON_UPGRADE_RESULT = 0x40000D,
SMSG_GARRISON_USE_RECALL_PORTAL_RESULT = 0x40001F,
SMSG_GENERATE_RANDOM_CHARACTER_NAME_RESULT = 0x36001C,
- SMSG_GENERATE_SSO_TOKEN_RESPONSE = 0x3602B3,
+ SMSG_GENERATE_SSO_TOKEN_RESPONSE = 0x3602B4,
SMSG_GET_ACCOUNT_CHARACTER_LIST_RESULT = 0x3601FD,
SMSG_GET_GARRISON_INFO_RESULT = 0x400000,
SMSG_GET_LANDING_PAGE_SHIPMENTS_RESPONSE = 0x360236,
- SMSG_GET_REALM_HIDDEN_RESULT = 0x36033C,
+ SMSG_GET_REALM_HIDDEN_RESULT = 0x36033D,
SMSG_GET_REMAINING_GAME_TIME_RESPONSE = 0x360271,
SMSG_GET_SELECTED_TROPHY_ID_RESPONSE = 0x36025E,
SMSG_GET_SHIPMENTS_OF_TYPE_RESPONSE = 0x360235,
@@ -1487,7 +1495,7 @@ enum OpcodeServer : uint32
SMSG_GUILD_REWARD_LIST = 0x420008,
SMSG_GUILD_ROSTER = 0x420003,
SMSG_GUILD_SEND_RANK_CHANGE = 0x420001,
- SMSG_HARDCORE_DEATH_ALERT = 0x360344,
+ SMSG_HARDCORE_DEATH_ALERT = 0x360345,
SMSG_HEALTH_UPDATE = 0x36016F,
SMSG_HIGHEST_THREAT_UPDATE = 0x360177,
SMSG_HOTFIX_CONNECT = 0x3A0003,
@@ -1525,7 +1533,7 @@ enum OpcodeServer : uint32
SMSG_INVALID_PROMOTION_CODE = 0x3601EF,
SMSG_INVENTORY_CHANGE_FAILURE = 0x4E0005,
SMSG_INVENTORY_FIXUP_COMPLETE = 0x3602AA,
- SMSG_INVENTORY_FULL_OVERFLOW = 0x3602BB,
+ SMSG_INVENTORY_FULL_OVERFLOW = 0x3602BC,
SMSG_ISLAND_AZERITE_GAIN = 0x3601F8,
SMSG_ISLAND_COMPLETE = 0x3601F9,
SMSG_IS_QUEST_COMPLETE_RESPONSE = 0x4B0004,
@@ -1533,17 +1541,17 @@ enum OpcodeServer : uint32
SMSG_ITEM_COOLDOWN = 0x36025F,
SMSG_ITEM_ENCHANT_TIME_UPDATE = 0x3601F1,
SMSG_ITEM_EXPIRE_PURCHASE_REFUND = 0x360034,
- SMSG_ITEM_INTERACTION_COMPLETE = 0x3602F0,
+ SMSG_ITEM_INTERACTION_COMPLETE = 0x3602F1,
SMSG_ITEM_PURCHASE_REFUND_RESULT = 0x360032,
SMSG_ITEM_PUSH_RESULT = 0x3600C0,
SMSG_ITEM_TIME_UPDATE = 0x3601F0,
SMSG_KICK_REASON = 0x360128,
- SMSG_LATENCY_REPORT_PING = 0x360300,
+ SMSG_LATENCY_REPORT_PING = 0x360301,
SMSG_LEARNED_SPELLS = 0x4D003E,
SMSG_LEARN_PVP_TALENT_FAILED = 0x36006D,
SMSG_LEARN_TALENT_FAILED = 0x36006C,
- SMSG_LEGACY_LOOT_RULES = 0x3602C0,
- SMSG_LEVEL_LINKING_RESULT = 0x3602D6,
+ SMSG_LEGACY_LOOT_RULES = 0x3602C1,
+ SMSG_LEVEL_LINKING_RESULT = 0x3602D7,
SMSG_LEVEL_UP_INFO = 0x360186,
SMSG_LFG_BOOT_PLAYER = 0x440019,
SMSG_LFG_DISABLED = 0x440017,
@@ -1579,12 +1587,12 @@ enum OpcodeServer : uint32
SMSG_LIVE_REGION_KEY_BINDINGS_COPY_RESULT = 0x36020C,
SMSG_LOAD_CUF_PROFILES = 0x360055,
SMSG_LOAD_EQUIPMENT_SET = 0x3601AC,
- SMSG_LOBBY_MATCHMAKER_LOBBY_ACQUIRED_SERVER = 0x360311,
- SMSG_LOBBY_MATCHMAKER_PARTY_INFO = 0x360312,
- SMSG_LOBBY_MATCHMAKER_PARTY_INVITE_REJECTED = 0x360313,
- SMSG_LOBBY_MATCHMAKER_QUEUE_PROPOSED = 0x360315,
- SMSG_LOBBY_MATCHMAKER_QUEUE_RESULT = 0x360316,
- SMSG_LOBBY_MATCHMAKER_RECEIVE_INVITE = 0x360314,
+ SMSG_LOBBY_MATCHMAKER_LOBBY_ACQUIRED_SERVER = 0x360312,
+ SMSG_LOBBY_MATCHMAKER_PARTY_INFO = 0x360313,
+ SMSG_LOBBY_MATCHMAKER_PARTY_INVITE_REJECTED = 0x360314,
+ SMSG_LOBBY_MATCHMAKER_QUEUE_PROPOSED = 0x360316,
+ SMSG_LOBBY_MATCHMAKER_QUEUE_RESULT = 0x360317,
+ SMSG_LOBBY_MATCHMAKER_RECEIVE_INVITE = 0x360315,
SMSG_LOGIN_SET_TIME_SPEED = 0x3601AB,
SMSG_LOGIN_VERIFY_WORLD = 0x36002F,
SMSG_LOGOUT_CANCEL_ACK = 0x360124,
@@ -1608,17 +1616,17 @@ enum OpcodeServer : uint32
SMSG_MAP_OBJECTIVES_INIT = 0x3C002A,
SMSG_MAP_OBJ_EVENTS = 0x36005F,
SMSG_MASTER_LOOT_CANDIDATE_LIST = 0x3600BC,
- SMSG_MEETING_STONE_FAILED = 0x360317,
+ SMSG_MEETING_STONE_FAILED = 0x360318,
SMSG_MESSAGE_BOX = 0x36000A,
SMSG_MINIMAP_PING = 0x36016C,
SMSG_MIRROR_IMAGE_COMPONENTED_DATA = 0x4D0004,
SMSG_MIRROR_IMAGE_CREATURE_DATA = 0x4D0003,
- SMSG_MIRROR_VARS = 0x360355,
+ SMSG_MIRROR_VARS = 0x360359,
SMSG_MISSILE_CANCEL = 0x360060,
SMSG_MODIFY_COOLDOWN = 0x360200,
SMSG_MOTD = 0x3B0003,
SMSG_MOUNT_RESULT = 0x36000F,
- SMSG_MOVEMENT_ENFORCEMENT_ALERT = 0x3602C6,
+ SMSG_MOVEMENT_ENFORCEMENT_ALERT = 0x3602C7,
SMSG_MOVE_ADD_IMPULSE = 0x480062,
SMSG_MOVE_APPLY_INERTIA = 0x48005E,
SMSG_MOVE_APPLY_MOVEMENT_FORCE = 0x480045,
@@ -1739,14 +1747,14 @@ enum OpcodeServer : uint32
SMSG_MYTHIC_PLUS_NEW_WEEK_RECORD = 0x3600AF,
SMSG_MYTHIC_PLUS_SEASON_DATA = 0x3600A9,
SMSG_NEUTRAL_PLAYER_FACTION_SELECT_RESULT = 0x360074,
- SMSG_NEW_DATA_BUILD = 0x36033B,
+ SMSG_NEW_DATA_BUILD = 0x36033C,
SMSG_NEW_TAXI_PATH = 0x36011D,
SMSG_NEW_WORLD = 0x36002B,
SMSG_NOTIFY_DEST_LOC_SPELL_CAST = 0x4D0034,
SMSG_NOTIFY_MISSILE_TRAJECTORY_COLLISION = 0x360149,
SMSG_NOTIFY_MONEY = 0x360031,
SMSG_NOTIFY_RECEIVED_MAIL = 0x3600D9,
- SMSG_NPC_INTERACTION_OPEN_RESULT = 0x36030D,
+ SMSG_NPC_INTERACTION_OPEN_RESULT = 0x36030E,
SMSG_OFFER_PETITION_ERROR = 0x360154,
SMSG_ON_CANCEL_EXPECTED_RIDE_VEHICLE_AURA = 0x360183,
SMSG_ON_MONSTER_MOVE = 0x480002,
@@ -1757,21 +1765,21 @@ enum OpcodeServer : uint32
SMSG_OVERRIDE_LIGHT = 0x360159,
SMSG_PAGE_TEXT = 0x3601B7,
SMSG_PARTY_COMMAND_RESULT = 0x36022C,
- SMSG_PARTY_ELIGIBILITY_FOR_DELVE_TIERS_RESPONSE = 0x360350,
+ SMSG_PARTY_ELIGIBILITY_FOR_DELVE_TIERS_RESPONSE = 0x360351,
SMSG_PARTY_INVITE = 0x360056,
SMSG_PARTY_KILL_LOG = 0x3601F6,
SMSG_PARTY_MEMBER_FULL_STATE = 0x3601F5,
SMSG_PARTY_MEMBER_PARTIAL_STATE = 0x3601F4,
- SMSG_PARTY_NOTIFY_LFG_LEADER_CHANGE = 0x3602F6,
+ SMSG_PARTY_NOTIFY_LFG_LEADER_CHANGE = 0x3602F7,
SMSG_PARTY_UPDATE = 0x36008C,
SMSG_PAST_TIME_EVENTS = 0x36005B,
SMSG_PAUSE_MIRROR_TIMER = 0x3601AE,
SMSG_PENDING_RAID_LOCK = 0x360195,
- SMSG_PERKS_PROGRAM_ACTIVITY_COMPLETE = 0x36030A,
- SMSG_PERKS_PROGRAM_ACTIVITY_UPDATE = 0x360306,
- SMSG_PERKS_PROGRAM_DISABLED = 0x36030B,
- SMSG_PERKS_PROGRAM_RESULT = 0x360307,
- SMSG_PERKS_PROGRAM_VENDOR_UPDATE = 0x360305,
+ SMSG_PERKS_PROGRAM_ACTIVITY_COMPLETE = 0x36030B,
+ SMSG_PERKS_PROGRAM_ACTIVITY_UPDATE = 0x360307,
+ SMSG_PERKS_PROGRAM_DISABLED = 0x36030C,
+ SMSG_PERKS_PROGRAM_RESULT = 0x360308,
+ SMSG_PERKS_PROGRAM_VENDOR_UPDATE = 0x360306,
SMSG_PETITION_ALREADY_SIGNED = 0x360037,
SMSG_PETITION_RENAME_GUILD_RESPONSE = 0x420042,
SMSG_PETITION_SHOW_LIST = 0x36015C,
@@ -1844,7 +1852,7 @@ enum OpcodeServer : uint32
SMSG_POWER_UPDATE = 0x360170,
SMSG_PRELOAD_CHILD_MAP = 0x36000D,
SMSG_PRELOAD_WORLD = 0x36002C,
- SMSG_PREPOPULATE_NAME_CACHE = 0x3602C9,
+ SMSG_PREPOPULATE_NAME_CACHE = 0x3602CA,
SMSG_PRE_RESSURECT = 0x360203,
SMSG_PRINT_NOTIFICATION = 0x360063,
SMSG_PROC_RESIST = 0x3601F7,
@@ -1857,7 +1865,7 @@ enum OpcodeServer : uint32
SMSG_PVP_MATCH_START = 0x3C002D,
SMSG_PVP_MATCH_STATISTICS = 0x3C0010,
SMSG_PVP_OPTIONS_ENABLED = 0x3C0013,
- SMSG_PVP_TIER_RECORD = 0x360301,
+ SMSG_PVP_TIER_RECORD = 0x360302,
SMSG_QUERY_BATTLE_PET_NAME_RESPONSE = 0x3A000C,
SMSG_QUERY_CREATURE_RESPONSE = 0x3A0006,
SMSG_QUERY_GAME_OBJECT_RESPONSE = 0x3A0007,
@@ -1892,10 +1900,10 @@ enum OpcodeServer : uint32
SMSG_QUEST_POI_QUERY_RESPONSE = 0x4B001D,
SMSG_QUEST_POI_UPDATE_RESPONSE = 0x4B001F,
SMSG_QUEST_PUSH_RESULT = 0x4B0010,
- SMSG_QUEST_SESSION_INFO_RESPONSE = 0x3602EC,
- SMSG_QUEST_SESSION_READY_CHECK = 0x3602DA,
- SMSG_QUEST_SESSION_READY_CHECK_RESPONSE = 0x3602DB,
- SMSG_QUEST_SESSION_RESULT = 0x3602D9,
+ SMSG_QUEST_SESSION_INFO_RESPONSE = 0x3602ED,
+ SMSG_QUEST_SESSION_READY_CHECK = 0x3602DB,
+ SMSG_QUEST_SESSION_READY_CHECK_RESPONSE = 0x3602DC,
+ SMSG_QUEST_SESSION_RESULT = 0x3602DA,
SMSG_QUEST_UPDATE_ADD_CREDIT = 0x4B000C,
SMSG_QUEST_UPDATE_ADD_CREDIT_SIMPLE = 0x4B000D,
SMSG_QUEST_UPDATE_ADD_PVP_CREDIT = 0x4B000E,
@@ -1903,9 +1911,9 @@ enum OpcodeServer : uint32
SMSG_QUEST_UPDATE_FAILED = 0x4B000A,
SMSG_QUEST_UPDATE_FAILED_TIMER = 0x4B000B,
SMSG_QUEUE_SUMMARY_UPDATE = 0x3602A9,
- SMSG_RAF_ACCOUNT_INFO = 0x3602D7,
- SMSG_RAF_ACTIVITY_STATE_CHANGED = 0x3602E8,
- SMSG_RAF_DEBUG_FRIEND_MONTHS = 0x360338,
+ SMSG_RAF_ACCOUNT_INFO = 0x3602D8,
+ SMSG_RAF_ACTIVITY_STATE_CHANGED = 0x3602E9,
+ SMSG_RAF_DEBUG_FRIEND_MONTHS = 0x360339,
SMSG_RAID_DIFFICULTY_SET = 0x360244,
SMSG_RAID_GROUP_ONLY = 0x360246,
SMSG_RAID_INSTANCE_MESSAGE = 0x3B000A,
@@ -1921,7 +1929,9 @@ enum OpcodeServer : uint32
SMSG_REATTACH_RESURRECT = 0x3601E7,
SMSG_RECEIVE_PING_UNIT = 0x360039,
SMSG_RECEIVE_PING_WORLD_POINT = 0x36003A,
- SMSG_RECRAFT_ITEM_RESULT = 0x36032E,
+ SMSG_RECENT_ALLY_DATA_RESPONSE = 0x360354,
+ SMSG_RECENT_ALLY_NOTE_UPDATED = 0x360355,
+ SMSG_RECRAFT_ITEM_RESULT = 0x36032F,
SMSG_RECRUIT_A_FRIEND_FAILURE = 0x36015E,
SMSG_REFRESH_COMPONENT = 0x3600ED,
SMSG_REGIONWIDE_CHARACTER_MAIL_DATA = 0x36001A,
@@ -1935,14 +1945,14 @@ enum OpcodeServer : uint32
SMSG_REQUEST_SCHEDULED_PVP_INFO_RESPONSE = 0x3C0015,
SMSG_RESET_COMPRESSION_CONTEXT = 0x3D0007,
SMSG_RESET_FAILED_NOTIFY = 0x360155,
- SMSG_RESET_LAST_LOADED_CONFIG_CVARS = 0x360335,
+ SMSG_RESET_LAST_LOADED_CONFIG_CVARS = 0x360336,
SMSG_RESET_QUEST_POI = 0x4B0020,
SMSG_RESET_RANGED_COMBAT_TIMER = 0x3C0023,
SMSG_RESET_WEEKLY_CURRENCY = 0x360009,
SMSG_RESPEC_WIPE_CONFIRM = 0x3600B0,
SMSG_RESPOND_INSPECT_ACHIEVEMENTS = 0x360006,
- SMSG_RESPONSE_PERK_PENDING_REWARDS = 0x360308,
- SMSG_RESPONSE_PERK_RECENT_PURCHASES = 0x360309,
+ SMSG_RESPONSE_PERK_PENDING_REWARDS = 0x360309,
+ SMSG_RESPONSE_PERK_RECENT_PURCHASES = 0x36030A,
SMSG_RESTART_GLOBAL_COOLDOWN = 0x4D0052,
SMSG_RESTRICTED_ACCOUNT_WARNING = 0x360052,
SMSG_RESUME_CAST = 0x4D002C,
@@ -1952,8 +1962,8 @@ enum OpcodeServer : uint32
SMSG_RESURRECT_REQUEST = 0x360012,
SMSG_RESYNC_RUNES = 0x4D0050,
SMSG_RETURNING_PLAYER_PROMPT = 0x36023F,
- SMSG_RETURN_APPLICANT_LIST = 0x3602CD,
- SMSG_RETURN_RECRUITING_CLUBS = 0x3602CC,
+ SMSG_RETURN_APPLICANT_LIST = 0x3602CE,
+ SMSG_RETURN_RECRUITING_CLUBS = 0x3602CD,
SMSG_ROLE_CHANGED_INFORM = 0x360021,
SMSG_ROLE_CHOSEN = 0x44001D,
SMSG_ROLE_POLL_INFORM = 0x360022,
@@ -2000,7 +2010,7 @@ enum OpcodeServer : uint32
SMSG_SET_FACTION_STANDING = 0x3601C8,
SMSG_SET_FACTION_VISIBLE = 0x3601C6,
SMSG_SET_FLAT_SPELL_MODIFIER = 0x4D0027,
- SMSG_SET_INSTANCE_LEAVER = 0x360356,
+ SMSG_SET_INSTANCE_LEAVER = 0x36035A,
SMSG_SET_ITEM_PURCHASE_DATA = 0x360033,
SMSG_SET_LOOT_METHOD_FAILED = 0x360267,
SMSG_SET_MAX_WEEKLY_QUANTITY = 0x360036,
@@ -2011,25 +2021,25 @@ enum OpcodeServer : uint32
SMSG_SET_PLAYER_DECLINED_NAMES_RESULT = 0x4A000B,
SMSG_SET_PLAY_HOVER_ANIM = 0x360053,
SMSG_SET_PROFICIENCY = 0x3601D1,
- SMSG_SET_QUEST_REPLAY_COOLDOWN_OVERRIDE = 0x3602E0,
+ SMSG_SET_QUEST_REPLAY_COOLDOWN_OVERRIDE = 0x3602E1,
SMSG_SET_SHIPMENT_READY_RESPONSE = 0x40003A,
SMSG_SET_SPELL_CHARGES = 0x4D0018,
SMSG_SET_TIME_ZONE_INFORMATION = 0x360116,
SMSG_SET_VEHICLE_REC_ID = 0x360194,
- SMSG_SHADOWLANDS_CAPACITANCE_UPDATE = 0x36030C,
+ SMSG_SHADOWLANDS_CAPACITANCE_UPDATE = 0x36030D,
SMSG_SHIPMENT_FACTION_UPDATE_RESULT = 0x40003B,
- SMSG_SHOW_DELVES_COMPANION_CONFIGURATION_UI = 0x36034E,
- SMSG_SHOW_DELVES_DISPLAY_UI = 0x36034C,
+ SMSG_SHOW_DELVES_COMPANION_CONFIGURATION_UI = 0x36034F,
+ SMSG_SHOW_DELVES_DISPLAY_UI = 0x36034D,
SMSG_SHOW_NEUTRAL_PLAYER_FACTION_SELECT_UI = 0x360073,
SMSG_SHOW_QUEST_COMPLETION_TEXT = 0x4B0015,
SMSG_SHOW_TAXI_NODES = 0x36016B,
SMSG_SHOW_TRADE_SKILL_RESPONSE = 0x36020D,
- SMSG_SOCIAL_CONTRACT_REQUEST_RESPONSE = 0x360318,
+ SMSG_SOCIAL_CONTRACT_REQUEST_RESPONSE = 0x360319,
SMSG_SOCKET_GEMS_FAILURE = 0x3601C4,
SMSG_SOCKET_GEMS_SUCCESS = 0x3601C3,
SMSG_SPECIAL_MOUNT_ANIM = 0x36013E,
- SMSG_SPECTATE_END = 0x36033A,
- SMSG_SPECTATE_PLAYER = 0x360339,
+ SMSG_SPECTATE_END = 0x36033B,
+ SMSG_SPECTATE_PLAYER = 0x36033A,
SMSG_SPEC_INVOLUNTARILY_CHANGED = 0x3601B6,
SMSG_SPELL_ABSORB_LOG = 0x4D000C,
SMSG_SPELL_CATEGORY_COOLDOWN = 0x4D0006,
@@ -2059,7 +2069,7 @@ enum OpcodeServer : uint32
SMSG_SPELL_PREPARE = 0x4D0029,
SMSG_SPELL_START = 0x4D002B,
SMSG_SPELL_VISUAL_LOAD_SCREEN = 0x360065,
- SMSG_SPLASH_SCREEN_SHOW_LATEST = 0x3602F2,
+ SMSG_SPLASH_SCREEN_SHOW_LATEST = 0x3602F3,
SMSG_STAND_STATE_UPDATE = 0x3601BA,
SMSG_STARTER_BUILD_ACTIVATE_FAILED = 0x36006B,
SMSG_START_ELAPSED_TIMER = 0x3600A0,
@@ -2078,16 +2088,17 @@ enum OpcodeServer : uint32
SMSG_SUMMON_RAID_MEMBER_VALIDATE_FAILED = 0x360023,
SMSG_SUMMON_REQUEST = 0x3601BE,
SMSG_SUPERCEDED_SPELLS = 0x4D003D,
+ SMSG_SURVEY_DELIVERED = 0x360357,
SMSG_SUSPEND_COMMS = 0x3D0002,
SMSG_SUSPEND_TOKEN = 0x360040,
- SMSG_SYNC_WOW_ENTITLEMENTS = 0x3602EA,
+ SMSG_SYNC_WOW_ENTITLEMENTS = 0x3602EB,
SMSG_TALENTS_INVOLUNTARILY_RESET = 0x3601B5,
SMSG_TAXI_NODE_STATUS = 0x36011B,
SMSG_TEXT_EMOTE = 0x360119,
SMSG_THREAT_CLEAR = 0x36017A,
SMSG_THREAT_REMOVE = 0x360179,
SMSG_THREAT_UPDATE = 0x360178,
- SMSG_TIMERUNNING_SEASON_ENDED = 0x36034F,
+ SMSG_TIMERUNNING_SEASON_ENDED = 0x360350,
SMSG_TIME_ADJUSTMENT = 0x480001,
SMSG_TIME_SYNC_REQUEST = 0x480000,
SMSG_TITLE_EARNED = 0x360175,
@@ -2114,21 +2125,21 @@ enum OpcodeServer : uint32
SMSG_UNDELETE_COOLDOWN_STATUS_RESPONSE = 0x360263,
SMSG_UNLEARNED_SPELLS = 0x4D003F,
SMSG_UNLOAD_CHILD_MAP = 0x36000E,
- SMSG_UNSET_INSTANCE_LEAVER = 0x360357,
- SMSG_UPDATE_AADC_STATUS_RESPONSE = 0x360302,
+ SMSG_UNSET_INSTANCE_LEAVER = 0x36035B,
+ SMSG_UPDATE_AADC_STATUS_RESPONSE = 0x360303,
SMSG_UPDATE_ACCOUNT_DATA = 0x3601A6,
SMSG_UPDATE_ACCOUNT_DATA_COMPLETE = 0x3601A7,
SMSG_UPDATE_ACTION_BUTTONS = 0x360078,
- SMSG_UPDATE_BNET_SESSION_KEY = 0x3602BA,
+ SMSG_UPDATE_BNET_SESSION_KEY = 0x3602BB,
SMSG_UPDATE_CAPTURE_POINT = 0x3C0007,
- SMSG_UPDATE_CELESTIAL_BODY = 0x3602B6,
+ SMSG_UPDATE_CELESTIAL_BODY = 0x3602B7,
SMSG_UPDATE_CHARACTER_FLAGS = 0x36025B,
SMSG_UPDATE_CHARGE_CATEGORY_COOLDOWN = 0x360202,
SMSG_UPDATE_COOLDOWN = 0x360201,
SMSG_UPDATE_CRAFTING_NPC_RECIPES = 0x400038,
SMSG_UPDATE_DAILY_MISSION_COUNTER = 0x400021,
SMSG_UPDATE_EXPANSION_LEVEL = 0x3600E3,
- SMSG_UPDATE_GAME_TIME_STATE = 0x3602BD,
+ SMSG_UPDATE_GAME_TIME_STATE = 0x3602BE,
SMSG_UPDATE_INSTANCE_OWNERSHIP = 0x360148,
SMSG_UPDATE_LAST_INSTANCE = 0x360127,
SMSG_UPDATE_OBJECT = 0x460000,
@@ -2140,16 +2151,16 @@ enum OpcodeServer : uint32
SMSG_USERLIST_REMOVE = 0x3B0010,
SMSG_USERLIST_UPDATE = 0x3B0011,
SMSG_USE_EQUIPMENT_SET_RESULT = 0x3601EB,
- SMSG_VAS_CHECK_TRANSFER_OK_RESPONSE = 0x3602B1,
- SMSG_VAS_GET_QUEUE_MINUTES_RESPONSE = 0x3602AF,
- SMSG_VAS_GET_SERVICE_STATUS_RESPONSE = 0x3602AE,
+ SMSG_VAS_CHECK_TRANSFER_OK_RESPONSE = 0x3602B2,
+ SMSG_VAS_GET_QUEUE_MINUTES_RESPONSE = 0x3602B0,
+ SMSG_VAS_GET_SERVICE_STATUS_RESPONSE = 0x3602AF,
SMSG_VAS_PURCHASE_COMPLETE = 0x360289,
SMSG_VAS_PURCHASE_STATE_UPDATE = 0x360288,
SMSG_VENDOR_INVENTORY = 0x360051,
SMSG_VIGNETTE_UPDATE = 0x4A0010,
- SMSG_VOICE_CHANNEL_INFO_RESPONSE = 0x3602B5,
- SMSG_VOICE_CHANNEL_STT_TOKEN_RESPONSE = 0x3602FD,
- SMSG_VOICE_LOGIN_RESPONSE = 0x3602B4,
+ SMSG_VOICE_CHANNEL_INFO_RESPONSE = 0x3602B6,
+ SMSG_VOICE_CHANNEL_STT_TOKEN_RESPONSE = 0x3602FE,
+ SMSG_VOICE_LOGIN_RESPONSE = 0x3602B5,
SMSG_VOID_ITEM_SWAP_RESPONSE = 0x4E0004,
SMSG_VOID_STORAGE_CONTENTS = 0x4E0001,
SMSG_VOID_STORAGE_FAILED = 0x4E0000,
@@ -2158,29 +2169,29 @@ enum OpcodeServer : uint32
SMSG_WAIT_QUEUE_FINISH = 0x360003,
SMSG_WAIT_QUEUE_UPDATE = 0x360002,
SMSG_WARDEN3_DATA = 0x36000B,
- SMSG_WARDEN3_DISABLED = 0x3602B8,
- SMSG_WARDEN3_ENABLED = 0x3602B7,
+ SMSG_WARDEN3_DISABLED = 0x3602B9,
+ SMSG_WARDEN3_ENABLED = 0x3602B8,
SMSG_WARFRONT_COMPLETE = 0x3601FA,
SMSG_WARGAME_REQUEST_OPPONENT_RESPONSE = 0x3C0012,
SMSG_WARGAME_REQUEST_SUCCESSFULLY_SENT_TO_OPPONENT = 0x3C0011,
SMSG_WEATHER = 0x360145,
- SMSG_WEEKLY_REWARDS_PROGRESS_RESULT = 0x3602F5,
- SMSG_WEEKLY_REWARDS_RESULT = 0x3602F3,
- SMSG_WEEKLY_REWARD_CLAIM_RESULT = 0x3602F4,
+ SMSG_WEEKLY_REWARDS_PROGRESS_RESULT = 0x3602F6,
+ SMSG_WEEKLY_REWARDS_RESULT = 0x3602F4,
+ SMSG_WEEKLY_REWARD_CLAIM_RESULT = 0x3602F5,
SMSG_WHO = 0x3B0002,
SMSG_WHO_IS = 0x360144,
- SMSG_WILL_BE_KICKED_FOR_ADDED_SUBSCRIPTION_TIME = 0x3602BC,
+ SMSG_WILL_BE_KICKED_FOR_ADDED_SUBSCRIPTION_TIME = 0x3602BD,
SMSG_WORLD_QUEST_UPDATE_RESPONSE = 0x4A0017,
SMSG_WORLD_SERVER_INFO = 0x360045,
- SMSG_WOW_ENTITLEMENT_NOTIFICATION = 0x3602EB,
- SMSG_WOW_LABS_AREA_INFO = 0x36031D,
- SMSG_WOW_LABS_NOTIFY_PLAYERS_MATCH_END = 0x360319,
- SMSG_WOW_LABS_NOTIFY_PLAYERS_MATCH_STATE_CHANGED = 0x36031A,
- SMSG_WOW_LABS_PARTY_ERROR = 0x360326,
- SMSG_WOW_LABS_SET_AREA_ID_RESULT = 0x36031B,
- SMSG_WOW_LABS_SET_PREDICTION_CIRCLE = 0x36031F,
- SMSG_WOW_LABS_SET_SELECTED_AREA_ID = 0x36031C,
- SMSG_XP_AWARDED_FROM_CURRENCY = 0x360334,
+ SMSG_WOW_ENTITLEMENT_NOTIFICATION = 0x3602EC,
+ SMSG_WOW_LABS_AREA_INFO = 0x36031E,
+ SMSG_WOW_LABS_NOTIFY_PLAYERS_MATCH_END = 0x36031A,
+ SMSG_WOW_LABS_NOTIFY_PLAYERS_MATCH_STATE_CHANGED = 0x36031B,
+ SMSG_WOW_LABS_PARTY_ERROR = 0x360327,
+ SMSG_WOW_LABS_SET_AREA_ID_RESULT = 0x36031C,
+ SMSG_WOW_LABS_SET_PREDICTION_CIRCLE = 0x360320,
+ SMSG_WOW_LABS_SET_SELECTED_AREA_ID = 0x36031D,
+ SMSG_XP_AWARDED_FROM_CURRENCY = 0x360335,
SMSG_XP_GAIN_ABORTED = 0x360062,
SMSG_XP_GAIN_ENABLED = 0x360245,
SMSG_ZONE_UNDER_ATTACK = 0x3B000B,
@@ -2194,30 +2205,30 @@ enum OpcodeServer : uint32
SMSG_ARENA_TEAM_STATS = UNKNOWN_OPCODE,
};
-inline constexpr std::size_t NUM_SMSG_OPCODES = 1479;
+inline constexpr std::size_t NUM_SMSG_OPCODES = 1484;
inline constexpr std::ptrdiff_t GetOpcodeArrayIndex(OpcodeServer opcode)
{
uint32 idInGroup = opcode & 0xFFFF;
switch (opcode >> 16)
{
- case 0x36: return idInGroup < 857 ? idInGroup + 0 : -1;
- case 0x37: return idInGroup < 5 ? idInGroup + 857 : -1;
- case 0x3A: return idInGroup < 18 ? idInGroup + 862 : -1;
- case 0x3B: return idInGroup < 36 ? idInGroup + 880 : -1;
- case 0x3C: return idInGroup < 49 ? idInGroup + 916 : -1;
- case 0x3D: return idInGroup < 11 ? idInGroup + 965 : -1;
- case 0x3E: return idInGroup < 12 ? idInGroup + 976 : -1;
- case 0x40: return idInGroup < 82 ? idInGroup + 988 : -1;
- case 0x42: return idInGroup < 71 ? idInGroup + 1070 : -1;
- case 0x44: return idInGroup < 33 ? idInGroup + 1141 : -1;
- case 0x46: return idInGroup < 1 ? idInGroup + 1174 : -1;
- case 0x48: return idInGroup < 120 ? idInGroup + 1175 : -1;
- case 0x4A: return idInGroup < 49 ? idInGroup + 1295 : -1;
- case 0x4B: return idInGroup < 41 ? idInGroup + 1344 : -1;
- case 0x4D: return idInGroup < 85 ? idInGroup + 1385 : -1;
- case 0x4E: return idInGroup < 8 ? idInGroup + 1470 : -1;
- case 0x50: return idInGroup < 1 ? idInGroup + 1478 : -1;
+ case 0x36: return idInGroup < 862 ? idInGroup + 0 : -1;
+ case 0x37: return idInGroup < 5 ? idInGroup + 862 : -1;
+ case 0x3A: return idInGroup < 18 ? idInGroup + 867 : -1;
+ case 0x3B: return idInGroup < 36 ? idInGroup + 885 : -1;
+ case 0x3C: return idInGroup < 49 ? idInGroup + 921 : -1;
+ case 0x3D: return idInGroup < 11 ? idInGroup + 970 : -1;
+ case 0x3E: return idInGroup < 12 ? idInGroup + 981 : -1;
+ case 0x40: return idInGroup < 82 ? idInGroup + 993 : -1;
+ case 0x42: return idInGroup < 71 ? idInGroup + 1075 : -1;
+ case 0x44: return idInGroup < 33 ? idInGroup + 1146 : -1;
+ case 0x46: return idInGroup < 1 ? idInGroup + 1179 : -1;
+ case 0x48: return idInGroup < 120 ? idInGroup + 1180 : -1;
+ case 0x4A: return idInGroup < 49 ? idInGroup + 1300 : -1;
+ case 0x4B: return idInGroup < 41 ? idInGroup + 1349 : -1;
+ case 0x4D: return idInGroup < 85 ? idInGroup + 1390 : -1;
+ case 0x4E: return idInGroup < 8 ? idInGroup + 1475 : -1;
+ case 0x50: return idInGroup < 1 ? idInGroup + 1483 : -1;
default: return -1;
}
}
diff --git a/src/server/game/Server/WorldSession.h b/src/server/game/Server/WorldSession.h
index 442e1495da3..409696dafe4 100644
--- a/src/server/game/Server/WorldSession.h
+++ b/src/server/game/Server/WorldSession.h
@@ -869,14 +869,17 @@ enum AccountDataType
GLOBAL_EDIT_MODE_CACHE = 13,
PER_CHARACTER_EDIT_MODE_CACHE = 14,
GLOBAL_FRONTEND_CHAT_SETTINGS = 15,
- GLOBAL_CHARACTER_LIST_ORDER = 16
+ GLOBAL_CHARACTER_LIST_ORDER = 16,
+ GLOBAL_COOLDOWN_MANAGER = 17,
+ PER_CHARACTER_COOLDOWN_MANAGER2 = 18,
+ GLOBAL_SHOP2_PENDING_ORDERS = 19
};
-#define NUM_ACCOUNT_DATA_TYPES 17
+#define NUM_ACCOUNT_DATA_TYPES 20
-#define ALL_ACCOUNT_DATA_CACHE_MASK 0x0001FFFFu
-#define GLOBAL_CACHE_MASK 0x0001A515u
-#define PER_CHARACTER_CACHE_MASK 0x00005AEAu
+#define ALL_ACCOUNT_DATA_CACHE_MASK 0x000FFFFFu
+#define GLOBAL_CACHE_MASK 0x000BA515u
+#define PER_CHARACTER_CACHE_MASK 0x00045AEAu
struct AccountData
{