aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Server
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2024-08-02 13:25:41 +0200
committerShauren <shauren.trinity@gmail.com>2024-08-02 13:25:41 +0200
commite59eef5432c7b70679d33f4911c88d0f7d75fd39 (patch)
treefe9bce9c82496589facec3719b3f2943d8295e76 /src/server/game/Server
parent7fb9168d57f378075b0f6692ea7ad822c1d8e43d (diff)
Core/PacketIO: Updated to 11.0.0
Diffstat (limited to 'src/server/game/Server')
-rw-r--r--src/server/game/Server/Packets/AreaTriggerPackets.cpp1
-rw-r--r--src/server/game/Server/Packets/AreaTriggerPackets.h1
-rw-r--r--src/server/game/Server/Packets/AuctionHousePackets.cpp38
-rw-r--r--src/server/game/Server/Packets/AuthenticationPackets.cpp2
-rw-r--r--src/server/game/Server/Packets/AzeritePackets.cpp4
-rw-r--r--src/server/game/Server/Packets/AzeritePackets.h2
-rw-r--r--src/server/game/Server/Packets/BankPackets.cpp8
-rw-r--r--src/server/game/Server/Packets/BankPackets.h14
-rw-r--r--src/server/game/Server/Packets/CalendarPackets.cpp9
-rw-r--r--src/server/game/Server/Packets/CalendarPackets.h11
-rw-r--r--src/server/game/Server/Packets/CharacterPackets.cpp139
-rw-r--r--src/server/game/Server/Packets/CharacterPackets.h60
-rw-r--r--src/server/game/Server/Packets/CombatLogPackets.cpp2
-rw-r--r--src/server/game/Server/Packets/CombatLogPacketsCommon.cpp6
-rw-r--r--src/server/game/Server/Packets/CombatLogPacketsCommon.h4
-rw-r--r--src/server/game/Server/Packets/CombatPackets.cpp4
-rw-r--r--src/server/game/Server/Packets/CombatPackets.h2
-rw-r--r--src/server/game/Server/Packets/CraftingPacketsCommon.cpp5
-rw-r--r--src/server/game/Server/Packets/CraftingPacketsCommon.h5
-rw-r--r--src/server/game/Server/Packets/EquipmentSetPackets.cpp4
-rw-r--r--src/server/game/Server/Packets/EquipmentSetPackets.h2
-rw-r--r--src/server/game/Server/Packets/GarrisonPackets.cpp24
-rw-r--r--src/server/game/Server/Packets/GarrisonPackets.h30
-rw-r--r--src/server/game/Server/Packets/GuildPackets.cpp6
-rw-r--r--src/server/game/Server/Packets/GuildPackets.h5
-rw-r--r--src/server/game/Server/Packets/InstancePackets.cpp4
-rw-r--r--src/server/game/Server/Packets/InstancePackets.h4
-rw-r--r--src/server/game/Server/Packets/ItemPackets.cpp3
-rw-r--r--src/server/game/Server/Packets/ItemPackets.h15
-rw-r--r--src/server/game/Server/Packets/ItemPacketsCommon.cpp4
-rw-r--r--src/server/game/Server/Packets/MovementPackets.cpp1
-rw-r--r--src/server/game/Server/Packets/MovementPackets.h1
-rw-r--r--src/server/game/Server/Packets/NPCPackets.cpp8
-rw-r--r--src/server/game/Server/Packets/NPCPackets.h7
-rw-r--r--src/server/game/Server/Packets/PartyPackets.cpp7
-rw-r--r--src/server/game/Server/Packets/PartyPackets.h6
-rw-r--r--src/server/game/Server/Packets/QueryPackets.cpp2
-rw-r--r--src/server/game/Server/Packets/QuestPackets.cpp71
-rw-r--r--src/server/game/Server/Packets/QuestPackets.h32
-rw-r--r--src/server/game/Server/Packets/ReputationPackets.cpp35
-rw-r--r--src/server/game/Server/Packets/ReputationPackets.h20
-rw-r--r--src/server/game/Server/Packets/ScenePackets.cpp1
-rw-r--r--src/server/game/Server/Packets/ScenePackets.h1
-rw-r--r--src/server/game/Server/Packets/SocialPackets.cpp2
-rw-r--r--src/server/game/Server/Packets/SocialPackets.h2
-rw-r--r--src/server/game/Server/Packets/SpellPackets.cpp4
-rw-r--r--src/server/game/Server/Packets/SpellPackets.h2
-rw-r--r--src/server/game/Server/Packets/SystemPackets.cpp22
-rw-r--r--src/server/game/Server/Packets/SystemPackets.h12
-rw-r--r--src/server/game/Server/Packets/TraitPacketsCommon.cpp55
-rw-r--r--src/server/game/Server/Packets/TraitPacketsCommon.h14
-rw-r--r--src/server/game/Server/Protocol/Opcodes.cpp34
-rw-r--r--src/server/game/Server/Protocol/Opcodes.h2499
-rw-r--r--src/server/game/Server/WorldSession.h34
-rw-r--r--src/server/game/Server/WorldSocket.cpp2
55 files changed, 1862 insertions, 1430 deletions
diff --git a/src/server/game/Server/Packets/AreaTriggerPackets.cpp b/src/server/game/Server/Packets/AreaTriggerPackets.cpp
index ae6dfddb134..c03ddb7d058 100644
--- a/src/server/game/Server/Packets/AreaTriggerPackets.cpp
+++ b/src/server/game/Server/Packets/AreaTriggerPackets.cpp
@@ -82,6 +82,7 @@ WorldPacket const* WorldPackets::AreaTrigger::AreaTriggerDenied::Write()
WorldPacket const* WorldPackets::AreaTrigger::AreaTriggerRePath::Write()
{
_worldPacket << TriggerGUID;
+ _worldPacket << Unused_1100;
_worldPacket.WriteBit(AreaTriggerSpline.has_value());
_worldPacket.WriteBit(AreaTriggerOrbit.has_value());
diff --git a/src/server/game/Server/Packets/AreaTriggerPackets.h b/src/server/game/Server/Packets/AreaTriggerPackets.h
index 2af22e72d2c..1186b772b60 100644
--- a/src/server/game/Server/Packets/AreaTriggerPackets.h
+++ b/src/server/game/Server/Packets/AreaTriggerPackets.h
@@ -82,6 +82,7 @@ namespace WorldPackets
Optional<AreaTriggerOrbitInfo> AreaTriggerOrbit;
Optional<AreaTriggerMovementScriptInfo> AreaTriggerMovementScript;
ObjectGuid TriggerGUID;
+ ObjectGuid Unused_1100;
};
class AreaTriggerPlaySpellVisual final : public ServerPacket
diff --git a/src/server/game/Server/Packets/AuctionHousePackets.cpp b/src/server/game/Server/Packets/AuctionHousePackets.cpp
index ed6aea45f77..3ede64d39c0 100644
--- a/src/server/game/Server/Packets/AuctionHousePackets.cpp
+++ b/src/server/game/Server/Packets/AuctionHousePackets.cpp
@@ -99,7 +99,7 @@ ByteBuffer& operator>>(ByteBuffer& data, AuctionListFilterClass& filterClass)
ByteBuffer& operator>>(ByteBuffer& data, AuctionSortDef& sortDef)
{
data.ResetBitPos();
- data >> Bits<4>(sortDef.SortOrder);
+ data >> As<uint8>(sortDef.SortOrder);
data >> Bits<1>(sortDef.ReverseSort);
return data;
@@ -302,15 +302,15 @@ void AuctionBrowseQuery::Read()
ItemClassFilters.resize(_worldPacket.ReadBits(3));
Sorts.resize(_worldPacket.ReadBits(2));
- for (AuctionSortDef& sortDef : Sorts)
- _worldPacket >> sortDef;
-
if (TaintedBy)
_worldPacket >> *TaintedBy;
Name = _worldPacket.ReadString(nameLength);
for (AuctionListFilterClass& filterClass : ItemClassFilters)
_worldPacket >> filterClass;
+
+ for (AuctionSortDef& sortDef : Sorts)
+ _worldPacket >> sortDef;
}
void AuctionCancelCommoditiesPurchase::Read()
@@ -351,14 +351,14 @@ void AuctionListBiddedItems::Read()
AuctionIDs.resize(_worldPacket.ReadBits(7));
Sorts.resize(_worldPacket.ReadBits(2));
- for (AuctionSortDef& sortDef : Sorts)
- _worldPacket >> sortDef;
-
if (TaintedBy)
_worldPacket >> *TaintedBy;
for (uint32& auctionID : AuctionIDs)
_worldPacket >> auctionID;
+
+ for (AuctionSortDef& sortDef : Sorts)
+ _worldPacket >> sortDef;
}
void AuctionListBucketsByBucketKeys::Read()
@@ -371,14 +371,14 @@ void AuctionListBucketsByBucketKeys::Read()
BucketKeys.resize(_worldPacket.ReadBits(7));
Sorts.resize(_worldPacket.ReadBits(2));
- for (AuctionSortDef& sortDef : Sorts)
- _worldPacket >> sortDef;
-
if (TaintedBy)
_worldPacket >> *TaintedBy;
for (AuctionBucketKey& bucketKey : BucketKeys)
_worldPacket >> bucketKey;
+
+ for (AuctionSortDef& sortDef : Sorts)
+ _worldPacket >> sortDef;
}
void AuctionListItemsByBucketKey::Read()
@@ -392,13 +392,13 @@ void AuctionListItemsByBucketKey::Read()
Sorts.resize(_worldPacket.ReadBits(2));
- for (AuctionSortDef& sortDef : Sorts)
- _worldPacket >> sortDef;
-
_worldPacket >> BucketKey;
if (TaintedBy)
_worldPacket >> *TaintedBy;
+
+ for (AuctionSortDef& sortDef : Sorts)
+ _worldPacket >> sortDef;
}
void AuctionListItemsByItemID::Read()
@@ -413,11 +413,11 @@ void AuctionListItemsByItemID::Read()
Sorts.resize(_worldPacket.ReadBits(2));
- for (AuctionSortDef& sortDef : Sorts)
- _worldPacket >> sortDef;
-
if (TaintedBy)
_worldPacket >> *TaintedBy;
+
+ for (AuctionSortDef& sortDef : Sorts)
+ _worldPacket >> sortDef;
}
void AuctionListOwnedItems::Read()
@@ -430,11 +430,11 @@ void AuctionListOwnedItems::Read()
Sorts.resize(_worldPacket.ReadBits(2));
- for (AuctionSortDef& sortDef : Sorts)
- _worldPacket >> sortDef;
-
if (TaintedBy)
_worldPacket >> *TaintedBy;
+
+ for (AuctionSortDef& sortDef : Sorts)
+ _worldPacket >> sortDef;
}
void AuctionPlaceBid::Read()
diff --git a/src/server/game/Server/Packets/AuthenticationPackets.cpp b/src/server/game/Server/Packets/AuthenticationPackets.cpp
index 5ae68849569..4a948e6ca35 100644
--- a/src/server/game/Server/Packets/AuthenticationPackets.cpp
+++ b/src/server/game/Server/Packets/AuthenticationPackets.cpp
@@ -327,8 +327,8 @@ void WorldPackets::Auth::AuthContinuedSession::Read()
void WorldPackets::Auth::ConnectToFailed::Read()
{
- _worldPacket >> As<uint32>(Serial);
_worldPacket >> Con;
+ _worldPacket >> As<uint32>(Serial);
}
bool WorldPackets::Auth::EnterEncryptedMode::InitializeEncryption()
diff --git a/src/server/game/Server/Packets/AzeritePackets.cpp b/src/server/game/Server/Packets/AzeritePackets.cpp
index 87406b757dc..bbaf9668d01 100644
--- a/src/server/game/Server/Packets/AzeritePackets.cpp
+++ b/src/server/game/Server/Packets/AzeritePackets.cpp
@@ -56,10 +56,10 @@ void WorldPackets::Azerite::AzeriteEmpoweredItemViewed::Read()
void WorldPackets::Azerite::AzeriteEmpoweredItemSelectPower::Read()
{
- _worldPacket >> Tier;
- _worldPacket >> AzeritePowerID;
_worldPacket >> ContainerSlot;
_worldPacket >> Slot;
+ _worldPacket >> Tier;
+ _worldPacket >> AzeritePowerID;
}
WorldPacket const* WorldPackets::Azerite::PlayerAzeriteItemEquippedStatusChanged::Write()
diff --git a/src/server/game/Server/Packets/AzeritePackets.h b/src/server/game/Server/Packets/AzeritePackets.h
index 0a0204c61e7..4d76a83884e 100644
--- a/src/server/game/Server/Packets/AzeritePackets.h
+++ b/src/server/game/Server/Packets/AzeritePackets.h
@@ -89,7 +89,7 @@ namespace WorldPackets
void Read() override;
- int32 Tier = 0;
+ uint8 Tier = 0;
int32 AzeritePowerID = 0;
uint8 ContainerSlot = 0;
uint8 Slot = 0;
diff --git a/src/server/game/Server/Packets/BankPackets.cpp b/src/server/game/Server/Packets/BankPackets.cpp
index 63f9300c31d..74f24cb7519 100644
--- a/src/server/game/Server/Packets/BankPackets.cpp
+++ b/src/server/game/Server/Packets/BankPackets.cpp
@@ -16,10 +16,12 @@
*/
#include "BankPackets.h"
+#include "DBCEnums.h"
void WorldPackets::Bank::AutoBankItem::Read()
{
_worldPacket >> Inv
+ >> As<int8>(BankType)
>> Bag
>> Slot;
}
@@ -54,3 +56,9 @@ void WorldPackets::Bank::ReagentBank::Read()
{
_worldPacket >> Banker;
}
+
+void WorldPackets::Bank::BankerActivate::Read()
+{
+ _worldPacket >> Banker;
+ _worldPacket >> As<int32>(InteractionType);
+}
diff --git a/src/server/game/Server/Packets/BankPackets.h b/src/server/game/Server/Packets/BankPackets.h
index f43f672bc95..f81a1c02bfe 100644
--- a/src/server/game/Server/Packets/BankPackets.h
+++ b/src/server/game/Server/Packets/BankPackets.h
@@ -22,6 +22,8 @@
#include "ItemPacketsCommon.h"
#include "ObjectGuid.h"
+enum class PlayerInteractionType : int32;
+
namespace WorldPackets
{
namespace Bank
@@ -34,6 +36,7 @@ namespace WorldPackets
void Read() override;
WorldPackets::Item::InvUpdate Inv;
+ ::BankType BankType = ::BankType::Character;
uint8 Bag = 0;
uint8 Slot = 0;
};
@@ -95,6 +98,17 @@ namespace WorldPackets
ObjectGuid Banker;
};
+
+ class BankerActivate final : public ClientPacket
+ {
+ public:
+ explicit BankerActivate(WorldPacket&& packet) : ClientPacket(CMSG_BANKER_ACTIVATE, std::move(packet)) { }
+
+ void Read() override;
+
+ ObjectGuid Banker;
+ PlayerInteractionType InteractionType = { };
+ };
}
}
#endif // BankPackets_h__
diff --git a/src/server/game/Server/Packets/CalendarPackets.cpp b/src/server/game/Server/Packets/CalendarPackets.cpp
index 07cb5393c06..8d1dd199bb4 100644
--- a/src/server/game/Server/Packets/CalendarPackets.cpp
+++ b/src/server/game/Server/Packets/CalendarPackets.cpp
@@ -22,7 +22,7 @@ ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Calendar::CalendarSendCal
data << uint64(eventInfo.EventID);
data << uint8(eventInfo.EventType);
data << eventInfo.Date;
- data << uint32(eventInfo.Flags);
+ data << uint16(eventInfo.Flags);
data << int32(eventInfo.TextureID);
data << uint64(eventInfo.EventClubID);
data << eventInfo.OwnerGuid;
@@ -285,7 +285,7 @@ WorldPacket const* WorldPackets::Calendar::CalendarSendEvent::Write()
_worldPacket << uint64(EventID);
_worldPacket << uint8(GetEventType);
_worldPacket << int32(TextureID);
- _worldPacket << uint32(Flags);
+ _worldPacket << uint16(Flags);
_worldPacket << Date;
_worldPacket << LockDate;
_worldPacket << uint64(EventClubID);
@@ -307,7 +307,7 @@ WorldPacket const* WorldPackets::Calendar::CalendarInviteAlert::Write()
{
_worldPacket << uint64(EventID);
_worldPacket << Date;
- _worldPacket << uint32(Flags);
+ _worldPacket << uint16(Flags);
_worldPacket << uint8(EventType);
_worldPacket << int32(TextureID);
_worldPacket << uint64(EventClubID);
@@ -320,6 +320,7 @@ WorldPacket const* WorldPackets::Calendar::CalendarInviteAlert::Write()
_worldPacket << OwnerGuid;
_worldPacket << BitsSize<8>(EventName);
+ _worldPacket << Bits<1>(Unknown_1100);
_worldPacket.FlushBits();
_worldPacket.WriteString(EventName);
@@ -383,7 +384,7 @@ WorldPacket const* WorldPackets::Calendar::CalendarEventUpdatedAlert::Write()
_worldPacket << OriginalDate;
_worldPacket << Date;
_worldPacket << LockDate;
- _worldPacket << uint32(Flags);
+ _worldPacket << uint16(Flags);
_worldPacket << uint32(TextureID);
_worldPacket << uint8(EventType);
diff --git a/src/server/game/Server/Packets/CalendarPackets.h b/src/server/game/Server/Packets/CalendarPackets.h
index e76b4162f02..1d1ae538fac 100644
--- a/src/server/game/Server/Packets/CalendarPackets.h
+++ b/src/server/game/Server/Packets/CalendarPackets.h
@@ -103,7 +103,7 @@ namespace WorldPackets
uint8 EventType = 0;
uint32 TextureID = 0;
WowTime Time;
- uint32 Flags = 0;
+ uint16 Flags = 0;
};
class CalendarUpdateEvent final : public ClientPacket
@@ -185,7 +185,7 @@ namespace WorldPackets
std::string EventName;
uint8 EventType = 0;
WowTime Date;
- uint32 Flags = 0;
+ uint16 Flags = 0;
int32 TextureID = 0;
uint64 EventClubID = 0;
ObjectGuid OwnerGuid;
@@ -228,7 +228,7 @@ namespace WorldPackets
uint64 EventID = 0;
WowTime Date;
WowTime LockDate;
- uint32 Flags = 0;
+ uint16 Flags = 0;
int32 TextureID = 0;
uint8 GetEventType = 0;
uint8 EventType = 0;
@@ -249,13 +249,14 @@ namespace WorldPackets
ObjectGuid InvitedByGuid;
uint64 InviteID = 0;
uint64 EventID = 0;
- uint32 Flags = 0;
+ uint16 Flags = 0;
WowTime Date;
int32 TextureID = 0;
uint8 Status = 0;
uint8 EventType = 0;
uint8 ModeratorStatus = 0;
std::string EventName;
+ bool Unknown_1100 = false;
};
class CalendarInvite final : public ClientPacket
@@ -358,7 +359,7 @@ namespace WorldPackets
uint64 EventClubID = 0;
uint64 EventID = 0;
WowTime Date;
- uint32 Flags = 0;
+ uint16 Flags = 0;
WowTime LockDate;
WowTime OriginalDate;
int32 TextureID = 0;
diff --git a/src/server/game/Server/Packets/CharacterPackets.cpp b/src/server/game/Server/Packets/CharacterPackets.cpp
index 5dd7ba275cf..1fd503aa176 100644
--- a/src/server/game/Server/Packets/CharacterPackets.cpp
+++ b/src/server/game/Server/Packets/CharacterPackets.cpp
@@ -79,7 +79,7 @@ EnumCharacters::EnumCharacters(WorldPacket&& packet) : ClientPacket(std::move(pa
ASSERT(GetOpcode() == CMSG_ENUM_CHARACTERS || GetOpcode() == CMSG_ENUM_CHARACTERS_DELETED_BY_CLIENT);
}
-EnumCharactersResult::CharacterInfo::CharacterInfo(Field const* fields)
+EnumCharactersResult::CharacterInfoBasic::CharacterInfoBasic(Field const* fields)
{
// 0 1 2 3 4 5
// "SELECT characters.guid, characters.name, characters.race, characters.class, characters.gender, characters.level, "
@@ -95,6 +95,7 @@ EnumCharactersResult::CharacterInfo::CharacterInfo(Field const* fields)
// "character_declinedname.genitive"
Guid = ObjectGuid::Create<HighGuid::Player>(fields[0].GetUInt64());
+ VirtualRealmAddress = GetVirtualRealmAddress();
GuildClubMemberID = ::Battlenet::Services::Clubs::CreateClubMemberId(Guid);
Name = fields[1].GetString();
RaceID = fields[2].GetUInt8();
@@ -137,7 +138,6 @@ EnumCharactersResult::CharacterInfo::CharacterInfo(Field const* fields)
Flags2 = CHAR_CUSTOMIZE_FLAG_RACE;
Flags3 = 0;
- Flags4 = 0;
FirstLogin = (atLoginFlags & AT_LOGIN_FIRST) != 0;
// show pet at selection character in character list only for non-ghost character
@@ -151,7 +151,6 @@ EnumCharactersResult::CharacterInfo::CharacterInfo(Field const* fields)
}
}
- BoostInProgress = false;
ProfessionIds[0] = 0;
ProfessionIds[1] = 0;
@@ -182,80 +181,114 @@ EnumCharactersResult::CharacterInfo::CharacterInfo(Field const* fields)
}
}
-ByteBuffer& operator<<(ByteBuffer& data, EnumCharactersResult::CharacterInfo::VisualItemInfo const& visualItem)
+ByteBuffer& operator<<(ByteBuffer& data, EnumCharactersResult::CharacterInfoBasic::VisualItemInfo const& visualItem)
{
data << uint32(visualItem.DisplayID);
- data << uint32(visualItem.DisplayEnchantID);
- data << int32(visualItem.SecondaryItemModifiedAppearanceID);
data << uint8(visualItem.InvType);
+ data << uint32(visualItem.DisplayEnchantID);
data << uint8(visualItem.Subclass);
+ data << int32(visualItem.SecondaryItemModifiedAppearanceID);
+ data << uint32(visualItem.ItemID);
return data;
}
-ByteBuffer& operator<<(ByteBuffer& data, EnumCharactersResult::CharacterInfo const& charInfo)
+ByteBuffer& operator<<(ByteBuffer& data, EnumCharactersResult::CharacterInfoBasic const& charInfo)
{
- ASSERT(charInfo.MailSenders.size() == charInfo.MailSenderTypes.size());
-
data << charInfo.Guid;
- data << uint64(charInfo.GuildClubMemberID);
+ data << uint32(charInfo.VirtualRealmAddress);
data << uint8(charInfo.ListPosition);
data << uint8(charInfo.RaceID);
- data << uint8(charInfo.ClassID);
data << uint8(charInfo.SexID);
+ data << uint8(charInfo.ClassID);
+ data << int16(charInfo.SpecID);
data << uint32(charInfo.Customizations.size());
data << uint8(charInfo.ExperienceLevel);
- data << int32(charInfo.ZoneID);
data << int32(charInfo.MapID);
+ data << int32(charInfo.ZoneID);
data << charInfo.PreloadPos;
+ data << uint64(charInfo.GuildClubMemberID);
data << charInfo.GuildGUID;
data << uint32(charInfo.Flags);
data << uint32(charInfo.Flags2);
data << uint32(charInfo.Flags3);
+ data << uint8(charInfo.unkWod61x);
+
data << uint32(charInfo.PetCreatureDisplayID);
data << uint32(charInfo.PetExperienceLevel);
data << uint32(charInfo.PetCreatureFamilyID);
- data << uint32(charInfo.ProfessionIds[0]);
- data << uint32(charInfo.ProfessionIds[1]);
-
- for (EnumCharactersResult::CharacterInfo::VisualItemInfo const& visualItem : charInfo.VisualItems)
+ for (EnumCharactersResult::CharacterInfoBasic::VisualItemInfo const& visualItem : charInfo.VisualItems)
data << visualItem;
- data << charInfo.LastPlayedTime;
- data << int16(charInfo.SpecID);
data << int32(charInfo.Unknown703);
+ data << charInfo.LastPlayedTime;
data << int32(charInfo.LastLoginVersion);
- data << uint32(charInfo.Flags4);
- data << uint32(charInfo.MailSenders.size());
- data << uint32(charInfo.MailSenderTypes.size());
- data << uint32(charInfo.OverrideSelectScreenFileDataID);
data << charInfo.PersonalTabard;
+
+ data << uint32(charInfo.ProfessionIds[0]);
+ data << uint32(charInfo.ProfessionIds[1]);
+
data << int32(charInfo.TimerunningSeasonID);
+ data << uint32(charInfo.OverrideSelectScreenFileDataID);
for (ChrCustomizationChoice const& customization : charInfo.Customizations)
data << customization;
- if (!charInfo.MailSenderTypes.empty())
- data.append(charInfo.MailSenderTypes.data(), charInfo.MailSenderTypes.size());
-
data << BitsSize<6>(charInfo.Name);
data << Bits<1>(charInfo.FirstLogin);
- data << Bits<1>(charInfo.BoostInProgress);
- data << Bits<5>(charInfo.unkWod61x);
- data << Bits<1>(charInfo.RpeResetAvailable);
- data << Bits<1>(charInfo.RpeResetQuestClearAvailable);
- for (std::string const& str : charInfo.MailSenders)
+ data.FlushBits();
+
+ data.WriteString(charInfo.Name);
+
+ return data;
+}
+
+ByteBuffer& operator<<(ByteBuffer& data, EnumCharactersResult::CharacterRestrictionAndMailData const& restrictionsAndMails)
+{
+ ASSERT(restrictionsAndMails.MailSenders.size() == restrictionsAndMails.MailSenderTypes.size());
+
+ data << Bits<1>(restrictionsAndMails.BoostInProgress);
+ data << Bits<1>(restrictionsAndMails.RpeResetAvailable);
+ data << Bits<1>(restrictionsAndMails.RpeResetQuestClearAvailable);
+ data.FlushBits();
+
+ data << uint32(restrictionsAndMails.Flags4);
+ data << uint32(restrictionsAndMails.MailSenders.size());
+ data << uint32(restrictionsAndMails.MailSenderTypes.size());
+
+ if (!restrictionsAndMails.MailSenderTypes.empty())
+ data.append(restrictionsAndMails.MailSenderTypes.data(), restrictionsAndMails.MailSenderTypes.size());
+
+ for (std::string const& str : restrictionsAndMails.MailSenders)
data << Bits<6>(str.length() + 1);
data.FlushBits();
- for (std::string const& str : charInfo.MailSenders)
+ for (std::string const& str : restrictionsAndMails.MailSenders)
if (!str.empty())
data << str;
- data.WriteString(charInfo.Name);
+ return data;
+}
+
+ByteBuffer& operator<<(ByteBuffer& data, EnumCharactersResult::CharacterInfo const& charInfo)
+{
+ data << charInfo.Basic;
+ data << charInfo.RestrictionsAndMails;
+
+ return data;
+}
+
+ByteBuffer& operator<<(ByteBuffer& data, EnumCharactersResult::RegionwideCharacterListEntry const& charInfo)
+{
+ data << charInfo.Basic;
+ data << uint64(charInfo.Money);
+ data << float(charInfo.CurrentSeasonMythicPlusOverallScore);
+ data << int32(charInfo.CurrentSeasonBestPvpRating);
+ data << int8(charInfo.PvpRatingBracket);
+ data << int16(charInfo.PvpRatingAssociatedSpecID);
return data;
}
@@ -289,22 +322,57 @@ ByteBuffer& operator<<(ByteBuffer& data, EnumCharactersResult::RaceLimitDisableI
return data;
}
+ByteBuffer& operator<<(ByteBuffer& data, WarbandGroupMember const& warbandGroupMember)
+{
+ data << int32(warbandGroupMember.WarbandScenePlacementID);
+ data << int32(warbandGroupMember.Type);
+ if (warbandGroupMember.Type == 0)
+ data << warbandGroupMember.Guid;
+
+ return data;
+}
+
+ByteBuffer& operator<<(ByteBuffer& data, WarbandGroup const& warbandGroup)
+{
+ data << uint64(warbandGroup.GroupID);
+ data << uint8(warbandGroup.Unknown_1100);
+ data << int32(warbandGroup.Flags);
+ data << uint32(warbandGroup.Members.size());
+
+ for (WarbandGroupMember const& member : warbandGroup.Members)
+ data << member;
+
+ return data;
+}
+
+EnumCharactersResult::CharacterInfo::CharacterInfo(Field const* fields) : Basic(fields)
+{
+}
+
+EnumCharactersResult::RegionwideCharacterListEntry::RegionwideCharacterListEntry(Field const* fields) : Basic(fields)
+{
+}
+
WorldPacket const* EnumCharactersResult::Write()
{
_worldPacket.reserve(9 + Characters.size() * sizeof(CharacterInfo) + RaceUnlockData.size() * sizeof(RaceUnlock));
_worldPacket << Bits<1>(Success);
+ _worldPacket << Bits<1>(Realmless);
_worldPacket << Bits<1>(IsDeletedCharacters);
_worldPacket << Bits<1>(IsNewPlayerRestrictionSkipped);
_worldPacket << Bits<1>(IsNewPlayerRestricted);
_worldPacket << Bits<1>(IsNewPlayer);
_worldPacket << Bits<1>(IsTrialAccountRestricted);
_worldPacket << OptionalInit(DisabledClassesMask);
+ _worldPacket << Bits<1>(DontCreateCharacterDisplays);
_worldPacket << uint32(Characters.size());
+ _worldPacket << uint32(RegionwideCharacters.size());
_worldPacket << int32(MaxCharacterLevel);
_worldPacket << uint32(RaceUnlockData.size());
_worldPacket << uint32(UnlockedConditionalAppearances.size());
_worldPacket << uint32(RaceLimitDisables.size());
+ _worldPacket << uint32(WarbandGroups.size());
if (DisabledClassesMask)
_worldPacket << uint32(*DisabledClassesMask);
@@ -315,9 +383,15 @@ WorldPacket const* EnumCharactersResult::Write()
for (RaceLimitDisableInfo const& raceLimitDisableInfo : RaceLimitDisables)
_worldPacket << raceLimitDisableInfo;
+ for (WarbandGroup const& warbandGroup : WarbandGroups)
+ _worldPacket << warbandGroup;
+
for (CharacterInfo const& charInfo : Characters)
_worldPacket << charInfo;
+ for (RegionwideCharacterListEntry const& charInfo : RegionwideCharacters)
+ _worldPacket << charInfo;
+
for (RaceUnlock const& raceUnlock : RaceUnlockData)
_worldPacket << raceUnlock;
@@ -590,6 +664,7 @@ void AlterApperance::Read()
_worldPacket >> NewSex;
_worldPacket >> CustomizedRace;
_worldPacket >> CustomizedChrModelID;
+ _worldPacket >> UnalteredVisualRaceID;
for (ChrCustomizationChoice& customization : Customizations)
_worldPacket >> customization;
diff --git a/src/server/game/Server/Packets/CharacterPackets.h b/src/server/game/Server/Packets/CharacterPackets.h
index 89d4312a6fc..e061ce3f7fa 100644
--- a/src/server/game/Server/Packets/CharacterPackets.h
+++ b/src/server/game/Server/Packets/CharacterPackets.h
@@ -116,10 +116,25 @@ namespace WorldPackets
int32 BackgroundColor = -1;
};
+ struct WarbandGroupMember
+ {
+ int32 WarbandScenePlacementID = 0;
+ int32 Type = 0;
+ ObjectGuid Guid;
+ };
+
+ struct WarbandGroup
+ {
+ uint64 GroupID = 0;
+ uint8 Unknown_1100 = 0;
+ int32 Flags = 0; ///< enum WarbandGroupFlags { Collapsed = 1 }
+ std::vector<WarbandGroupMember> Members;
+ };
+
class EnumCharactersResult final : public ServerPacket
{
public:
- struct CharacterInfo
+ struct CharacterInfoBasic
{
/**
* @fn void WorldPackets::Character::EnumCharactersResult::CharacterInfo::CharacterInfo(Field* fields);
@@ -128,9 +143,10 @@ namespace WorldPackets
*
* @param fields Field set of CharacterDatabaseStatements::CHAR_SEL_ENUM
*/
- CharacterInfo(Field const* fields);
+ CharacterInfoBasic(Field const* fields);
ObjectGuid Guid;
+ uint32 VirtualRealmAddress = 0;
uint64 GuildClubMemberID = 0; ///< same as bgs.protocol.club.v1.MemberId.unique_id, guessed basing on SMSG_QUERY_PLAYER_NAME_RESPONSE (that one is known)
std::string Name;
uint8 ListPosition = 0; ///< Order of the characters in list
@@ -146,7 +162,6 @@ namespace WorldPackets
uint32 Flags = 0; ///< Character flag @see enum CharacterFlags
uint32 Flags2 = 0; ///< Character customization flags @see enum CharacterCustomizeFlags
uint32 Flags3 = 0; ///< Character flags 3 @todo research
- uint32 Flags4 = 0;
bool FirstLogin = false;
uint8 unkWod61x = 0;
Timestamp<> LastPlayedTime;
@@ -160,7 +175,6 @@ namespace WorldPackets
uint32 PetExperienceLevel = 0;
uint32 PetCreatureFamilyID = 0;
- bool BoostInProgress = false; ///< @todo
int32 ProfessionIds[2] = { }; ///< @todo
struct VisualItemInfo
@@ -170,14 +184,41 @@ namespace WorldPackets
int32 SecondaryItemModifiedAppearanceID = 0; // also -1 is some special value
uint8 InvType = 0;
uint8 Subclass = 0;
+ uint32 ItemID = 0;
};
std::array<VisualItemInfo, 19> VisualItems = { };
+ CustomTabardInfo PersonalTabard;
+ };
+
+ struct CharacterRestrictionAndMailData
+ {
+ bool BoostInProgress = false; ///< @todo
+ uint32 Flags4 = 0;
std::vector<std::string> MailSenders;
std::vector<uint32> MailSenderTypes;
bool RpeResetAvailable = false;
bool RpeResetQuestClearAvailable = false;
- CustomTabardInfo PersonalTabard;
+ };
+
+ struct CharacterInfo
+ {
+ CharacterInfo(Field const* fields);
+
+ CharacterInfoBasic Basic;
+ CharacterRestrictionAndMailData RestrictionsAndMails;
+ };
+
+ struct RegionwideCharacterListEntry
+ {
+ RegionwideCharacterListEntry(Field const* fields);
+
+ CharacterInfoBasic Basic;
+ uint64 Money = 0;
+ float CurrentSeasonMythicPlusOverallScore = 0.0f;
+ uint32 CurrentSeasonBestPvpRating = 0;
+ int8 PvpRatingBracket = 0;
+ int16 PvpRatingAssociatedSpecID = 0;
};
struct RaceUnlock
@@ -212,20 +253,24 @@ namespace WorldPackets
WorldPacket const* Write() override;
- bool Success = false; ///<
+ bool Success = false;
+ bool Realmless = false;
bool IsDeletedCharacters = false; ///< used for character undelete list
bool IsNewPlayerRestrictionSkipped = false; ///< allows client to skip new player restrictions
bool IsNewPlayerRestricted = false; ///< forbids using level boost and class trials
bool IsNewPlayer = false; ///< forbids hero classes and allied races
bool IsTrialAccountRestricted = false;
+ bool DontCreateCharacterDisplays = false;
int32 MaxCharacterLevel = 1;
Optional<uint32> DisabledClassesMask;
std::vector<CharacterInfo> Characters; ///< all characters on the list
- std::vector<RaceUnlock> RaceUnlockData; ///<
+ std::vector<RegionwideCharacterListEntry> RegionwideCharacters;
+ std::vector<RaceUnlock> RaceUnlockData;
std::vector<UnlockedConditionalAppearance> UnlockedConditionalAppearances;
std::vector<RaceLimitDisableInfo> RaceLimitDisables;
+ std::vector<WarbandGroup> WarbandGroups;
};
class CheckCharacterNameAvailability final : public ClientPacket
@@ -656,6 +701,7 @@ namespace WorldPackets
Array<ChrCustomizationChoice, 250> Customizations;
int32 CustomizedRace = 0;
int32 CustomizedChrModelID = 0;
+ int32 UnalteredVisualRaceID = 0;
};
class BarberShopResult final : public ServerPacket
diff --git a/src/server/game/Server/Packets/CombatLogPackets.cpp b/src/server/game/Server/Packets/CombatLogPackets.cpp
index 9ba99eb837e..6a7e93a32fa 100644
--- a/src/server/game/Server/Packets/CombatLogPackets.cpp
+++ b/src/server/game/Server/Packets/CombatLogPackets.cpp
@@ -110,7 +110,7 @@ WorldPacket const* SpellExecuteLog::Write()
{
*this << powerDrainTarget.Victim;
*this << uint32(powerDrainTarget.Points);
- *this << uint32(powerDrainTarget.PowerType);
+ *this << int8(powerDrainTarget.PowerType);
*this << float(powerDrainTarget.Amplitude);
}
}
diff --git a/src/server/game/Server/Packets/CombatLogPacketsCommon.cpp b/src/server/game/Server/Packets/CombatLogPacketsCommon.cpp
index 11b66971073..3be80ecc4ce 100644
--- a/src/server/game/Server/Packets/CombatLogPacketsCommon.cpp
+++ b/src/server/game/Server/Packets/CombatLogPacketsCommon.cpp
@@ -49,13 +49,13 @@ void SpellCastLogData::Initialize(Spell const* spell)
bool primaryPowerAdded = false;
for (SpellPowerCost const& cost : spell->GetPowerCost())
{
- PowerData.emplace_back(int32(cost.Power), unitCaster->GetPower(Powers(cost.Power)), int32(cost.Amount));
+ PowerData.emplace_back(int8(cost.Power), unitCaster->GetPower(Powers(cost.Power)), int32(cost.Amount));
if (cost.Power == primaryPowerType)
primaryPowerAdded = true;
}
if (!primaryPowerAdded)
- PowerData.emplace(PowerData.begin(), int32(primaryPowerType), unitCaster->GetPower(primaryPowerType), 0);
+ PowerData.emplace(PowerData.begin(), int8(primaryPowerType), unitCaster->GetPower(primaryPowerType), 0);
}
}
@@ -165,7 +165,7 @@ ByteBuffer& operator<<(ByteBuffer& data, SpellCastLogData const& spellCastLogDat
for (SpellLogPowerData const& powerData : spellCastLogData.PowerData)
{
- data << int32(powerData.PowerType);
+ data << int8(powerData.PowerType);
data << int32(powerData.Amount);
data << int32(powerData.Cost);
}
diff --git a/src/server/game/Server/Packets/CombatLogPacketsCommon.h b/src/server/game/Server/Packets/CombatLogPacketsCommon.h
index 084d3851555..feda3b7afda 100644
--- a/src/server/game/Server/Packets/CombatLogPacketsCommon.h
+++ b/src/server/game/Server/Packets/CombatLogPacketsCommon.h
@@ -30,9 +30,9 @@ namespace WorldPackets
{
struct SpellLogPowerData
{
- SpellLogPowerData(int32 powerType, int32 amount, int32 cost) : PowerType(powerType), Amount(amount), Cost(cost) { }
+ SpellLogPowerData(int8 powerType, int32 amount, int32 cost) : PowerType(powerType), Amount(amount), Cost(cost) { }
- int32 PowerType = 0;
+ int8 PowerType = 0;
int32 Amount = 0;
int32 Cost = 0;
};
diff --git a/src/server/game/Server/Packets/CombatPackets.cpp b/src/server/game/Server/Packets/CombatPackets.cpp
index 33dd2c9a64a..51de6ecde50 100644
--- a/src/server/game/Server/Packets/CombatPackets.cpp
+++ b/src/server/game/Server/Packets/CombatPackets.cpp
@@ -107,8 +107,8 @@ WorldPacket const* WorldPackets::Combat::PowerUpdate::Write()
_worldPacket << uint32(Powers.size());
for (PowerUpdatePower const& power : Powers)
{
- _worldPacket << int32(power.Power);
_worldPacket << uint8(power.PowerType);
+ _worldPacket << int32(power.Power);
}
return &_worldPacket;
@@ -116,7 +116,7 @@ WorldPacket const* WorldPackets::Combat::PowerUpdate::Write()
WorldPacket const* WorldPackets::Combat::InterruptPowerRegen::Write()
{
- _worldPacket << int32(PowerType);
+ _worldPacket << int8(PowerType);
return &_worldPacket;
}
diff --git a/src/server/game/Server/Packets/CombatPackets.h b/src/server/game/Server/Packets/CombatPackets.h
index 27dc7ec44ad..42424d8f18b 100644
--- a/src/server/game/Server/Packets/CombatPackets.h
+++ b/src/server/game/Server/Packets/CombatPackets.h
@@ -163,7 +163,7 @@ namespace WorldPackets
class InterruptPowerRegen final : public ServerPacket
{
public:
- explicit InterruptPowerRegen(Powers powerType) : ServerPacket(SMSG_INTERRUPT_POWER_REGEN, 4), PowerType(powerType) { }
+ explicit InterruptPowerRegen(Powers powerType) : ServerPacket(SMSG_INTERRUPT_POWER_REGEN, 1), PowerType(powerType) { }
WorldPacket const* Write() override;
diff --git a/src/server/game/Server/Packets/CraftingPacketsCommon.cpp b/src/server/game/Server/Packets/CraftingPacketsCommon.cpp
index d5518dda79e..ee03eedbb75 100644
--- a/src/server/game/Server/Packets/CraftingPacketsCommon.cpp
+++ b/src/server/game/Server/Packets/CraftingPacketsCommon.cpp
@@ -44,6 +44,9 @@ ByteBuffer& operator<<(ByteBuffer& data, CraftingData const& craftingData)
data << craftingData.ItemGUID;
data << int32(craftingData.Quantity);
data << int32(craftingData.EnchantID);
+ data << int32(craftingData.ConcentrationCurrencyID);
+ data << int32(craftingData.ConcentrationSpent);
+ data << int32(craftingData.IngenuityRefund);
for (SpellReducedReagent const& spellReducedReagent : craftingData.ResourcesReturned)
data << spellReducedReagent;
@@ -52,6 +55,8 @@ ByteBuffer& operator<<(ByteBuffer& data, CraftingData const& craftingData)
data << Bits<1>(craftingData.field_29);
data << Bits<1>(craftingData.field_2A);
data << Bits<1>(craftingData.BonusCraft);
+ data << Bits<1>(craftingData.HasIngenuityProc);
+ data << Bits<1>(craftingData.ApplyConcentration);
data.FlushBits();
data << craftingData.OldItem;
diff --git a/src/server/game/Server/Packets/CraftingPacketsCommon.h b/src/server/game/Server/Packets/CraftingPacketsCommon.h
index 9426662d460..2182a28627b 100644
--- a/src/server/game/Server/Packets/CraftingPacketsCommon.h
+++ b/src/server/game/Server/Packets/CraftingPacketsCommon.h
@@ -52,6 +52,11 @@ struct CraftingData
Item::ItemInstance OldItem;
Item::ItemInstance NewItem;
int32 EnchantID = 0;
+ int32 ConcentrationCurrencyID = 0;
+ int32 ConcentrationSpent = 0;
+ int32 IngenuityRefund = 0;
+ bool HasIngenuityProc = false;
+ bool ApplyConcentration = false;
};
ByteBuffer& operator<<(ByteBuffer& data, SpellReducedReagent const& spellReducedReagent);
diff --git a/src/server/game/Server/Packets/EquipmentSetPackets.cpp b/src/server/game/Server/Packets/EquipmentSetPackets.cpp
index 7d7fa640b9a..f8423393343 100644
--- a/src/server/game/Server/Packets/EquipmentSetPackets.cpp
+++ b/src/server/game/Server/Packets/EquipmentSetPackets.cpp
@@ -19,9 +19,9 @@
WorldPacket const* WorldPackets::EquipmentSet::EquipmentSetID::Write()
{
- _worldPacket << uint64(GUID);
_worldPacket << int32(Type);
_worldPacket << uint32(SetID);
+ _worldPacket << uint64(GUID);
return &_worldPacket;
}
@@ -119,8 +119,8 @@ void WorldPackets::EquipmentSet::UseEquipmentSet::Read()
WorldPacket const* WorldPackets::EquipmentSet::UseEquipmentSetResult::Write()
{
+ _worldPacket << int32(Reason);
_worldPacket << uint64(GUID);
- _worldPacket << uint8(Reason);
return &_worldPacket;
}
diff --git a/src/server/game/Server/Packets/EquipmentSetPackets.h b/src/server/game/Server/Packets/EquipmentSetPackets.h
index a36c95829e0..ed4165b4236 100644
--- a/src/server/game/Server/Packets/EquipmentSetPackets.h
+++ b/src/server/game/Server/Packets/EquipmentSetPackets.h
@@ -94,7 +94,7 @@ namespace WorldPackets
WorldPacket const* Write() override;
uint64 GUID = 0; ///< Set Identifier
- uint8 Reason = 0;
+ int32 Reason = 0;
};
}
}
diff --git a/src/server/game/Server/Packets/GarrisonPackets.cpp b/src/server/game/Server/Packets/GarrisonPackets.cpp
index c3212ea899c..20f14eaa47e 100644
--- a/src/server/game/Server/Packets/GarrisonPackets.cpp
+++ b/src/server/game/Server/Packets/GarrisonPackets.cpp
@@ -41,7 +41,7 @@ ByteBuffer& operator<<(ByteBuffer& data, GarrisonPlotInfo const& plotInfo)
{
data << uint32(plotInfo.GarrPlotInstanceID);
data << plotInfo.PlotPos;
- data << uint32(plotInfo.PlotType);
+ data << uint8(plotInfo.PlotType);
return data;
}
@@ -232,7 +232,7 @@ ByteBuffer& operator<<(ByteBuffer& data, GarrisonInfo const& garrison)
ASSERT(garrison.Missions.size() == garrison.MissionOvermaxRewards.size());
ASSERT(garrison.Missions.size() == garrison.CanStartMission.size());
- data << int32(garrison.GarrTypeID);
+ data << uint8(garrison.GarrTypeID);
data << int32(garrison.GarrSiteID);
data << int32(garrison.GarrSiteLevelID);
data << uint32(garrison.Buildings.size());
@@ -310,7 +310,7 @@ ByteBuffer& operator<<(ByteBuffer& data, GarrisonInfo const& garrison)
ByteBuffer& operator<<(ByteBuffer& data, FollowerSoftCapInfo const& followerSoftCapInfo)
{
- data << int32(followerSoftCapInfo.GarrFollowerTypeID);
+ data << uint8(followerSoftCapInfo.GarrFollowerTypeID);
data << uint32(followerSoftCapInfo.Count);
return data;
}
@@ -365,7 +365,7 @@ void GarrisonPurchaseBuilding::Read()
WorldPacket const* GarrisonPlaceBuildingResult::Write()
{
- _worldPacket << int32(GarrTypeID);
+ _worldPacket << uint8(GarrTypeID);
_worldPacket << uint32(Result);
_worldPacket << BuildingInfo;
_worldPacket.WriteBit(PlayActivationCinematic);
@@ -382,7 +382,7 @@ void GarrisonCancelConstruction::Read()
WorldPacket const* GarrisonBuildingRemoved::Write()
{
- _worldPacket << int32(GarrTypeID);
+ _worldPacket << uint8(GarrTypeID);
_worldPacket << uint32(Result);
_worldPacket << uint32(GarrPlotInstanceID);
_worldPacket << uint32(GarrBuildingID);
@@ -392,7 +392,7 @@ WorldPacket const* GarrisonBuildingRemoved::Write()
WorldPacket const* GarrisonLearnBlueprintResult::Write()
{
- _worldPacket << int32(GarrTypeID);
+ _worldPacket << uint8(GarrTypeID);
_worldPacket << uint32(Result);
_worldPacket << uint32(BuildingID);
@@ -401,7 +401,7 @@ WorldPacket const* GarrisonLearnBlueprintResult::Write()
WorldPacket const* GarrisonUnlearnBlueprintResult::Write()
{
- _worldPacket << int32(GarrTypeID);
+ _worldPacket << uint8(GarrTypeID);
_worldPacket << uint32(Result);
_worldPacket << uint32(BuildingID);
@@ -410,7 +410,7 @@ WorldPacket const* GarrisonUnlearnBlueprintResult::Write()
WorldPacket const* GarrisonRequestBlueprintAndSpecializationDataResult::Write()
{
- _worldPacket << int32(GarrTypeID);
+ _worldPacket << uint8(GarrTypeID);
_worldPacket << uint32(BlueprintsKnown ? BlueprintsKnown->size() : 0);
_worldPacket << uint32(SpecializationsKnown ? SpecializationsKnown->size() : 0);
if (BlueprintsKnown)
@@ -443,7 +443,7 @@ WorldPacket const* GarrisonMapDataResponse::Write()
WorldPacket const* GarrisonPlotPlaced::Write()
{
- _worldPacket << int32(GarrTypeID);
+ _worldPacket << uint8(GarrTypeID);
_worldPacket << *PlotInfo;
return &_worldPacket;
@@ -458,7 +458,7 @@ WorldPacket const* GarrisonPlotRemoved::Write()
WorldPacket const* GarrisonAddFollowerResult::Write()
{
- _worldPacket << int32(GarrTypeID);
+ _worldPacket << uint8(GarrTypeID);
_worldPacket << uint32(Result);
_worldPacket << Follower;
@@ -467,9 +467,9 @@ WorldPacket const* GarrisonAddFollowerResult::Write()
WorldPacket const* GarrisonRemoveFollowerResult::Write()
{
- _worldPacket << uint64(FollowerDBID);
- _worldPacket << int32(GarrTypeID);
+ _worldPacket << uint8(GarrTypeID);
_worldPacket << uint32(Result);
+ _worldPacket << uint64(FollowerDBID);
_worldPacket << uint32(Destroyed);
return &_worldPacket;
diff --git a/src/server/game/Server/Packets/GarrisonPackets.h b/src/server/game/Server/Packets/GarrisonPackets.h
index 983982842f8..4053c784582 100644
--- a/src/server/game/Server/Packets/GarrisonPackets.h
+++ b/src/server/game/Server/Packets/GarrisonPackets.h
@@ -68,7 +68,7 @@ namespace WorldPackets
{
uint32 GarrPlotInstanceID = 0;
TaggedPosition<Position::XYZO> PlotPos;
- uint32 PlotType = 0;
+ uint8 PlotType = 0;
};
struct GarrisonBuildingInfo
@@ -197,7 +197,7 @@ namespace WorldPackets
struct GarrisonInfo
{
- int32 GarrTypeID = 0;
+ uint8 GarrTypeID = 0;
uint32 GarrSiteID = 0;
uint32 GarrSiteLevelID = 0;
uint32 NumFollowerActivationsRemaining = 0;
@@ -221,7 +221,7 @@ namespace WorldPackets
struct FollowerSoftCapInfo
{
- int32 GarrFollowerTypeID;
+ uint8 GarrFollowerTypeID;
uint32 Count;
};
@@ -281,7 +281,7 @@ namespace WorldPackets
WorldPacket const* Write() override;
- int32 GarrTypeID = 0;
+ uint8 GarrTypeID = 0;
uint32 Result = 0;
GarrisonBuildingInfo BuildingInfo;
bool PlayActivationCinematic = false;
@@ -305,7 +305,7 @@ namespace WorldPackets
WorldPacket const* Write() override;
- int32 GarrTypeID = 0;
+ uint8 GarrTypeID = 0;
uint32 Result = 0;
uint32 GarrPlotInstanceID = 0;
uint32 GarrBuildingID = 0;
@@ -318,7 +318,7 @@ namespace WorldPackets
WorldPacket const* Write() override;
- int32 GarrTypeID = 0;
+ uint8 GarrTypeID = 0;
uint32 BuildingID = 0;
uint32 Result = 0;
};
@@ -330,9 +330,9 @@ namespace WorldPackets
WorldPacket const* Write() override;
- int32 GarrTypeID = 0;
- uint32 BuildingID = 0;
+ uint8 GarrTypeID = 0;
uint32 Result = 0;
+ uint32 BuildingID = 0;
};
class GarrisonRequestBlueprintAndSpecializationData final : public ClientPacket
@@ -350,9 +350,9 @@ namespace WorldPackets
WorldPacket const* Write() override;
- int32 GarrTypeID = 0;
- std::unordered_set<uint32> const* SpecializationsKnown = nullptr;
+ uint8 GarrTypeID = 0;
std::unordered_set<uint32> const* BlueprintsKnown = nullptr;
+ std::unordered_set<uint32> const* SpecializationsKnown = nullptr;
};
class GarrisonGetMapData final : public ClientPacket
@@ -389,7 +389,7 @@ namespace WorldPackets
WorldPacket const* Write() override;
- int32 GarrTypeID = 0;
+ uint8 GarrTypeID = 0;
GarrisonPlotInfo* PlotInfo = nullptr;
};
@@ -410,7 +410,7 @@ namespace WorldPackets
WorldPacket const* Write() override;
- int32 GarrTypeID = 0;
+ uint8 GarrTypeID = 0;
GarrisonFollower Follower;
uint32 Result = 0;
};
@@ -418,13 +418,13 @@ namespace WorldPackets
class GarrisonRemoveFollowerResult final : public ServerPacket
{
public:
- GarrisonRemoveFollowerResult() : ServerPacket(SMSG_GARRISON_REMOVE_FOLLOWER_RESULT, 8 + 4 + 4 + 4) { }
+ GarrisonRemoveFollowerResult() : ServerPacket(SMSG_GARRISON_REMOVE_FOLLOWER_RESULT, 1 + 4 + 8 + 4) { }
WorldPacket const* Write() override;
- uint64 FollowerDBID = 0;
- int32 GarrTypeID = 0;
+ uint8 GarrTypeID = 0;
uint32 Result = 0;
+ uint64 FollowerDBID = 0;
uint32 Destroyed = 0;
};
diff --git a/src/server/game/Server/Packets/GuildPackets.cpp b/src/server/game/Server/Packets/GuildPackets.cpp
index 88c971c8ae7..db54693206f 100644
--- a/src/server/game/Server/Packets/GuildPackets.cpp
+++ b/src/server/game/Server/Packets/GuildPackets.cpp
@@ -109,6 +109,11 @@ WorldPacket const* WorldPackets::Guild::GuildCommandResult::Write()
return &_worldPacket;
}
+void WorldPackets::Guild::AcceptGuildInvite::Read()
+{
+ _worldPacket >> GuildGuid;
+}
+
void WorldPackets::Guild::DeclineGuildInvites::Read()
{
Allow = _worldPacket.ReadBit();
@@ -214,7 +219,6 @@ WorldPacket const* WorldPackets::Guild::GuildEventPresenceChange::Write()
_worldPacket.WriteBits(Name.length(), 6);
_worldPacket.WriteBit(LoggedOn);
- _worldPacket.WriteBit(Mobile);
_worldPacket.FlushBits();
_worldPacket.WriteString(Name);
diff --git a/src/server/game/Server/Packets/GuildPackets.h b/src/server/game/Server/Packets/GuildPackets.h
index 31f9c6ba62d..f78d582c83f 100644
--- a/src/server/game/Server/Packets/GuildPackets.h
+++ b/src/server/game/Server/Packets/GuildPackets.h
@@ -173,7 +173,9 @@ namespace WorldPackets
public:
AcceptGuildInvite(WorldPacket&& packet) : ClientPacket(CMSG_ACCEPT_GUILD_INVITE, std::move(packet)) { }
- void Read() override { }
+ void Read() override;
+
+ ObjectGuid GuildGuid;
};
class GuildDeclineInvitation final : public ClientPacket
@@ -250,7 +252,6 @@ namespace WorldPackets
ObjectGuid Guid;
uint32 VirtualRealmAddress = 0;
std::string Name;
- bool Mobile = false;
bool LoggedOn = false;
};
diff --git a/src/server/game/Server/Packets/InstancePackets.cpp b/src/server/game/Server/Packets/InstancePackets.cpp
index 41e73128573..86caa86b6ee 100644
--- a/src/server/game/Server/Packets/InstancePackets.cpp
+++ b/src/server/game/Server/Packets/InstancePackets.cpp
@@ -108,9 +108,11 @@ WorldPacket const* WorldPackets::Instance::PendingRaidLock::Write()
WorldPacket const* WorldPackets::Instance::RaidInstanceMessage::Write()
{
- _worldPacket << uint8(Type);
+ _worldPacket << int32(Type);
_worldPacket << uint32(MapID);
_worldPacket << uint32(DifficultyID);
+ _worldPacket << int32(TimeLeft);
+ _worldPacket << BitsSize<8>(WarningMessage);
_worldPacket << Bits<1>(Locked);
_worldPacket << Bits<1>(Extended);
_worldPacket.FlushBits();
diff --git a/src/server/game/Server/Packets/InstancePackets.h b/src/server/game/Server/Packets/InstancePackets.h
index 86f6838946f..ab980ca148f 100644
--- a/src/server/game/Server/Packets/InstancePackets.h
+++ b/src/server/game/Server/Packets/InstancePackets.h
@@ -157,9 +157,11 @@ namespace WorldPackets
WorldPacket const* Write() override;
- uint8 Type = 0;
+ int32 Type = 0;
uint32 MapID = 0;
uint32 DifficultyID = 0;
+ int32 TimeLeft = 0;
+ std::string_view WarningMessage; // GlobalStrings tag
bool Locked = false;
bool Extended = false;
};
diff --git a/src/server/game/Server/Packets/ItemPackets.cpp b/src/server/game/Server/Packets/ItemPackets.cpp
index 7dc3dc23138..5dccbe3e1c9 100644
--- a/src/server/game/Server/Packets/ItemPackets.cpp
+++ b/src/server/game/Server/Packets/ItemPackets.cpp
@@ -254,10 +254,11 @@ WorldPacket const* WorldPackets::Item::ItemPushResult::Write()
_worldPacket << int32(QuestLogItemID);
_worldPacket << int32(Quantity);
_worldPacket << int32(QuantityInInventory);
+ _worldPacket << int32(QuantityInQuestLog);
_worldPacket << int32(DungeonEncounterID);
_worldPacket << int32(BattlePetSpeciesID);
_worldPacket << int32(BattlePetBreedID);
- _worldPacket << uint32(BattlePetBreedQuality);
+ _worldPacket << uint8(BattlePetBreedQuality);
_worldPacket << int32(BattlePetLevel);
_worldPacket << ItemGUID;
_worldPacket << uint32(Toasts.size());
diff --git a/src/server/game/Server/Packets/ItemPackets.h b/src/server/game/Server/Packets/ItemPackets.h
index 60287883441..e1b33cc99db 100644
--- a/src/server/game/Server/Packets/ItemPackets.h
+++ b/src/server/game/Server/Packets/ItemPackets.h
@@ -347,10 +347,11 @@ namespace WorldPackets
// only set if different than real ID (similar to CreatureTemplate.KillCredit)
int32 Quantity = 0;
int32 QuantityInInventory = 0;
+ int32 QuantityInQuestLog = 0;
int32 DungeonEncounterID = 0;
int32 BattlePetSpeciesID = 0;
int32 BattlePetBreedID = 0;
- uint32 BattlePetBreedQuality = 0;
+ uint8 BattlePetBreedQuality = 0;
int32 BattlePetLevel = 0;
ObjectGuid ItemGUID;
std::vector<UiEventToast> Toasts;
@@ -488,6 +489,14 @@ namespace WorldPackets
ObjectGuid Item;
};
+ class SortAccountBankBags final : public ClientPacket
+ {
+ public:
+ explicit SortAccountBankBags(WorldPacket&& packet) : ClientPacket(CMSG_SORT_ACCOUNT_BANK_BAGS, std::move(packet)) { }
+
+ void Read() override { }
+ };
+
class SortBags final : public ClientPacket
{
public:
@@ -545,7 +554,7 @@ namespace WorldPackets
void Read() override;
- uint32 BagIndex = 0;
+ uint8 BagIndex = 0;
BagSlotFlags FlagToChange = { };
bool On = false;
};
@@ -557,7 +566,7 @@ namespace WorldPackets
void Read() override;
- uint32 BagIndex = 0;
+ uint8 BagIndex = 0;
BagSlotFlags FlagToChange = { };
bool On = false;
};
diff --git a/src/server/game/Server/Packets/ItemPacketsCommon.cpp b/src/server/game/Server/Packets/ItemPacketsCommon.cpp
index e68a6f35dca..9fdc43bc91b 100644
--- a/src/server/game/Server/Packets/ItemPacketsCommon.cpp
+++ b/src/server/game/Server/Packets/ItemPacketsCommon.cpp
@@ -163,16 +163,16 @@ ByteBuffer& operator>>(ByteBuffer& data, ItemBonuses& itemBonusInstanceData)
ByteBuffer& operator<<(ByteBuffer& data, ItemMod const& itemMod)
{
- data << int32(itemMod.Value);
data << uint8(itemMod.Type);
+ data << int32(itemMod.Value);
return data;
}
ByteBuffer& operator>>(ByteBuffer& data, ItemMod& itemMod)
{
- data >> itemMod.Value;
data >> As<uint8>(itemMod.Type);
+ data >> itemMod.Value;
return data;
}
diff --git a/src/server/game/Server/Packets/MovementPackets.cpp b/src/server/game/Server/Packets/MovementPackets.cpp
index 895c12fb704..242a0c0594b 100644
--- a/src/server/game/Server/Packets/MovementPackets.cpp
+++ b/src/server/game/Server/Packets/MovementPackets.cpp
@@ -691,6 +691,7 @@ WorldPacket const* WorldPackets::Movement::NewWorld::Write()
_worldPacket << Loc;
_worldPacket << uint32(Reason);
_worldPacket << MovementOffset;
+ _worldPacket << int32(Counter);
return &_worldPacket;
}
diff --git a/src/server/game/Server/Packets/MovementPackets.h b/src/server/game/Server/Packets/MovementPackets.h
index 77cc00d71c7..ed05e244c19 100644
--- a/src/server/game/Server/Packets/MovementPackets.h
+++ b/src/server/game/Server/Packets/MovementPackets.h
@@ -283,6 +283,7 @@ namespace WorldPackets
uint32 Reason = 0;
TeleportLocation Loc;
TaggedPosition<Position::XYZ> MovementOffset; // Adjusts all pending movement events by this offset
+ int32 Counter = 0;
};
class WorldPortResponse final : public ClientPacket
diff --git a/src/server/game/Server/Packets/NPCPackets.cpp b/src/server/game/Server/Packets/NPCPackets.cpp
index 4a81fef3f0b..7ba4257f4f1 100644
--- a/src/server/game/Server/Packets/NPCPackets.cpp
+++ b/src/server/game/Server/Packets/NPCPackets.cpp
@@ -51,6 +51,7 @@ ByteBuffer& operator<<(ByteBuffer& data, ClientGossipOptions const& gossipOption
data << Bits<2>(gossipOption.Status);
data << OptionalInit(gossipOption.SpellID);
data << OptionalInit(gossipOption.OverrideIconID);
+ data << Bits<8>(gossipOption.FailureDescription.length() + 1);
data.FlushBits();
data << gossipOption.Treasure;
@@ -64,6 +65,9 @@ ByteBuffer& operator<<(ByteBuffer& data, ClientGossipOptions const& gossipOption
if (gossipOption.OverrideIconID)
data << int32(*gossipOption.OverrideIconID);
+ if (!gossipOption.FailureDescription.empty())
+ data << gossipOption.FailureDescription;
+
return data;
}
@@ -74,9 +78,12 @@ ByteBuffer& operator<<(ByteBuffer& data, ClientGossipText const& gossipText)
data << int32(gossipText.QuestType);
data << int32(gossipText.QuestFlags[0]);
data << int32(gossipText.QuestFlags[1]);
+ data << int32(gossipText.QuestFlags[2]);
data << Bits<1>(gossipText.Repeatable);
+ data << Bits<1>(gossipText.ResetByScheduler);
data << Bits<1>(gossipText.Important);
+ data << Bits<1>(gossipText.Meta);
data << BitsSize<9>(gossipText.QuestTitle);
data.FlushBits();
@@ -104,6 +111,7 @@ WorldPacket const* GossipMessage::Write()
{
_worldPacket << GossipGUID;
_worldPacket << int32(GossipID);
+ _worldPacket << int32(LfgDungeonsID);
_worldPacket << int32(FriendshipFactionID);
_worldPacket << uint32(GossipOptions.size());
_worldPacket << uint32(GossipText.size());
diff --git a/src/server/game/Server/Packets/NPCPackets.h b/src/server/game/Server/Packets/NPCPackets.h
index 79b2bd45625..41b96bfc763 100644
--- a/src/server/game/Server/Packets/NPCPackets.h
+++ b/src/server/game/Server/Packets/NPCPackets.h
@@ -34,7 +34,6 @@ namespace WorldPackets
{
namespace NPC
{
- // CMSG_BANKER_ACTIVATE
// CMSG_BINDER_ACTIVATE
// CMSG_BINDER_CONFIRM
// CMSG_GOSSIP_HELLO
@@ -90,6 +89,7 @@ namespace WorldPackets
TreasureLootList Treasure;
Optional<int32> SpellID;
Optional<int32> OverrideIconID;
+ std::string FailureDescription;
};
struct ClientGossipText
@@ -98,9 +98,11 @@ namespace WorldPackets
int32 ContentTuningID = 0;
int32 QuestType = 0;
bool Repeatable = false;
+ bool ResetByScheduler = false;
bool Important = false;
+ bool Meta = false;
std::string QuestTitle;
- std::array<int32, 2> QuestFlags = { };
+ std::array<int32, 3> QuestFlags = { };
};
ByteBuffer& operator<<(ByteBuffer& data, ClientGossipText const& gossipText);
@@ -119,6 +121,7 @@ namespace WorldPackets
Optional<int32> TextID; // in classic variants this still holds npc_text id
Optional<int32> BroadcastTextID;
int32 GossipID = 0;
+ int32 LfgDungeonsID = 0;
};
class GossipSelectOption final : public ClientPacket
diff --git a/src/server/game/Server/Packets/PartyPackets.cpp b/src/server/game/Server/Packets/PartyPackets.cpp
index fc8365dd507..5b7e79a164b 100644
--- a/src/server/game/Server/Packets/PartyPackets.cpp
+++ b/src/server/game/Server/Packets/PartyPackets.cpp
@@ -508,6 +508,7 @@ WorldPacket const* WorldPackets::Party::PartyUpdate::Write()
_worldPacket << uint32(SequenceNum);
_worldPacket << LeaderGUID;
_worldPacket << uint8(LeaderFactionGroup);
+ _worldPacket << int32(PingRestriction);
_worldPacket << uint32(PlayerList.size());
_worldPacket.WriteBit(LfgInfos.has_value());
_worldPacket.WriteBit(LootSettings.has_value());
@@ -736,7 +737,7 @@ WorldPacket const* WorldPackets::Party::BroadcastSummonResponse::Write()
void WorldPackets::Party::SetRestrictPingsToAssistants::Read()
{
_worldPacket >> OptionalInit(PartyIndex);
- _worldPacket >> Bits<1>(RestrictPingsToAssistants);
+ _worldPacket >> As<int32>(RestrictTo);
if (PartyIndex)
_worldPacket >> PartyIndex.emplace();
}
@@ -764,8 +765,9 @@ void WorldPackets::Party::SendPingWorldPoint::Read()
_worldPacket >> SenderGUID;
_worldPacket >> MapID;
_worldPacket >> Point;
- _worldPacket >> As<uint8>(Type);
+ _worldPacket >> As<int32>(Type);
_worldPacket >> PinFrameID;
+ _worldPacket >> Transport;
}
WorldPacket const* WorldPackets::Party::ReceivePingWorldPoint::Write()
@@ -775,6 +777,7 @@ WorldPacket const* WorldPackets::Party::ReceivePingWorldPoint::Write()
_worldPacket << Point;
_worldPacket << uint8(Type);
_worldPacket << PinFrameID;
+ _worldPacket << Transport;
return &_worldPacket;
}
diff --git a/src/server/game/Server/Packets/PartyPackets.h b/src/server/game/Server/Packets/PartyPackets.h
index a865f1f1e7c..1adaa3d33dd 100644
--- a/src/server/game/Server/Packets/PartyPackets.h
+++ b/src/server/game/Server/Packets/PartyPackets.h
@@ -561,6 +561,8 @@ namespace WorldPackets
int32 MyIndex = 0;
int32 SequenceNum = 0;
+ RestrictPingsTo PingRestriction = RestrictPingsTo::None;
+
std::vector<PartyPlayerInfo> PlayerList;
Optional<PartyLFGInfo> LfgInfos;
@@ -674,7 +676,7 @@ namespace WorldPackets
void Read() override;
Optional<uint8> PartyIndex;
- bool RestrictPingsToAssistants = false;
+ RestrictPingsTo RestrictTo = RestrictPingsTo::None;
};
class SendPingUnit final : public ClientPacket
@@ -715,6 +717,7 @@ namespace WorldPackets
TaggedPosition<Position::XYZ> Point;
PingSubjectType Type = PingSubjectType::Max;
uint32 PinFrameID = 0;
+ ObjectGuid Transport;
};
class ReceivePingWorldPoint final : public ServerPacket
@@ -729,6 +732,7 @@ namespace WorldPackets
TaggedPosition<Position::XYZ> Point;
PingSubjectType Type = PingSubjectType::Max;
uint32 PinFrameID = 0;
+ ObjectGuid Transport;
};
class CancelPingPin final : public ServerPacket
diff --git a/src/server/game/Server/Packets/QueryPackets.cpp b/src/server/game/Server/Packets/QueryPackets.cpp
index 72bde99ff5d..3e1f6aefd51 100644
--- a/src/server/game/Server/Packets/QueryPackets.cpp
+++ b/src/server/game/Server/Packets/QueryPackets.cpp
@@ -374,9 +374,9 @@ WorldPacket const* CorpseLocation::Write()
_worldPacket << Player;
_worldPacket << ActualMapID;
- _worldPacket << Position;
_worldPacket << MapID;
_worldPacket << Transport;
+ _worldPacket << Position;
return &_worldPacket;
}
diff --git a/src/server/game/Server/Packets/QuestPackets.cpp b/src/server/game/Server/Packets/QuestPackets.cpp
index 1d8dc537de5..d1f31ccc7a7 100644
--- a/src/server/game/Server/Packets/QuestPackets.cpp
+++ b/src/server/game/Server/Packets/QuestPackets.cpp
@@ -182,7 +182,7 @@ WorldPacket const* QueryQuestInfoResponse::Write()
_worldPacket << uint32(Info.Objectives.size());
_worldPacket << uint64(Info.AllowableRaces.RawValue);
- _worldPacket << int32(Info.TreasurePickerID);
+ _worldPacket << uint32(Info.TreasurePickerID.size());
_worldPacket << int32(Info.Expansion);
_worldPacket << int32(Info.ManagedWorldStateID);
_worldPacket << int32(Info.QuestSessionBonus);
@@ -194,6 +194,9 @@ WorldPacket const* QueryQuestInfoResponse::Write()
for (QuestCompleteDisplaySpell const& rewardDisplaySpell : Info.RewardDisplaySpell)
_worldPacket << rewardDisplaySpell;
+ if (!Info.TreasurePickerID.empty())
+ _worldPacket.append(Info.TreasurePickerID.data(), Info.TreasurePickerID.size());
+
_worldPacket << BitsSize<9>(Info.LogTitle);
_worldPacket << BitsSize<12>(Info.LogDescription);
_worldPacket << BitsSize<12>(Info.QuestDescription);
@@ -204,12 +207,13 @@ WorldPacket const* QueryQuestInfoResponse::Write()
_worldPacket << BitsSize<8>(Info.PortraitTurnInName);
_worldPacket << BitsSize<11>(Info.QuestCompletionLog);
_worldPacket << Bits<1>(Info.ReadyForTranslation);
+ _worldPacket << Bits<1>(Info.ResetByScheduler);
_worldPacket.FlushBits();
for (QuestObjective const& questObjective : Info.Objectives)
{
_worldPacket << uint32(questObjective.ID);
- _worldPacket << uint8(questObjective.Type);
+ _worldPacket << int32(questObjective.Type);
_worldPacket << int8(questObjective.StorageIndex);
_worldPacket << int32(questObjective.ObjectID);
_worldPacket << int32(questObjective.Amount);
@@ -276,11 +280,26 @@ WorldPacket const* QuestUpdateAddPvPCredit::Write()
return &_worldPacket;
}
+ByteBuffer& operator<<(ByteBuffer& data, QuestRewardItem const& questRewardItem)
+{
+ data << int32(questRewardItem.ItemID);
+ data << int32(questRewardItem.ItemQty);
+ data << OptionalInit(questRewardItem.ContextFlags);
+ data.FlushBits();
+ if (questRewardItem.ContextFlags)
+ data << As<int32>(*questRewardItem.ContextFlags);
+
+ return data;
+}
+
ByteBuffer& operator<<(ByteBuffer& data, QuestChoiceItem const& questChoiceItem)
{
data << Bits<2>(questChoiceItem.LootItemType);
+ data << OptionalInit(questChoiceItem.ContextFlags);
data << questChoiceItem.Item;
data << int32(questChoiceItem.Quantity);
+ if (questChoiceItem.ContextFlags)
+ data << As<int32>(*questChoiceItem.ContextFlags);
return data;
}
@@ -289,23 +308,35 @@ ByteBuffer& operator>>(ByteBuffer& data, QuestChoiceItem& questChoiceItem)
{
data.ResetBitPos();
data >> Bits<2>(questChoiceItem.LootItemType);
+ data >> OptionalInit(questChoiceItem.ContextFlags);
data >> questChoiceItem.Item;
data >> questChoiceItem.Quantity;
+ if (questChoiceItem.ContextFlags)
+ data >> As<int32>(*questChoiceItem.ContextFlags);
+
+ return data;
+}
+
+ByteBuffer& operator<<(ByteBuffer& data, QuestRewardCurrency const& questRewardCurrency)
+{
+ data << int32(questRewardCurrency.CurrencyID);
+ data << int32(questRewardCurrency.CurrencyQty);
+ data << int32(questRewardCurrency.BonusQty);
+ data << OptionalInit(questRewardCurrency.ContextFlags);
+ data.FlushBits();
+ if (questRewardCurrency.ContextFlags)
+ data << As<int32>(*questRewardCurrency.ContextFlags);
return data;
}
ByteBuffer& operator<<(ByteBuffer& data, QuestRewards const& questRewards)
{
+ for (QuestRewardItem const& item : questRewards.Items)
+ data << item;
+
data << int32(questRewards.ChoiceItemCount);
data << int32(questRewards.ItemCount);
-
- for (uint32 i = 0; i < QUEST_REWARD_ITEM_COUNT; ++i)
- {
- data << int32(questRewards.ItemID[i]);
- data << int32(questRewards.ItemQty[i]);
- }
-
data << int32(questRewards.Money);
data << int32(questRewards.XP);
data << int64(questRewards.ArtifactXP);
@@ -326,22 +357,21 @@ ByteBuffer& operator<<(ByteBuffer& data, QuestRewards const& questRewards)
data << int32(questRewards.SpellCompletionID);
- for (uint32 i = 0; i < QUEST_REWARD_CURRENCY_COUNT; ++i)
- {
- data << int32(questRewards.CurrencyID[i]);
- data << int32(questRewards.CurrencyQty[i]);
- }
-
data << int32(questRewards.SkillLineID);
data << int32(questRewards.NumSkillUps);
- data << int32(questRewards.TreasurePickerID);
+ data << uint32(questRewards.TreasurePickerID.size());
+ if (!questRewards.TreasurePickerID.empty())
+ data.append(questRewards.TreasurePickerID.data(), questRewards.TreasurePickerID.size());
- for (QuestChoiceItem const& choiceItem : questRewards.ChoiceItems)
- data << choiceItem;
+ for (QuestRewardCurrency const& currency : questRewards.Currencies)
+ data << currency;
data << Bits<1>(questRewards.IsBoostSpell);
data.FlushBits();
+ for (QuestChoiceItem const& choiceItem : questRewards.ChoiceItems)
+ data << choiceItem;
+
return data;
}
@@ -354,6 +384,7 @@ ByteBuffer& operator<<(ByteBuffer& data, QuestGiverOfferReward const& offer)
data << int32(offer.QuestFlags[1]); // FlagsEx
data << int32(offer.QuestFlags[2]); // FlagsEx2
data << int32(offer.SuggestedPartyMembers);
+ data << int32(offer.QuestInfoID);
data << int32(offer.Emotes.size());
for (QuestDescEmote const& emote : offer.Emotes)
{
@@ -456,6 +487,7 @@ WorldPacket const* QuestGiverQuestDetails::Write()
_worldPacket << uint32(DescEmotes.size());
_worldPacket << uint32(Objectives.size());
_worldPacket << int32(QuestStartItemID);
+ _worldPacket << int32(QuestInfoID);
_worldPacket << int32(QuestSessionBonus);
_worldPacket << int32(QuestGiverCreatureID);
_worldPacket << uint32(ConditionalDescriptionText.size());
@@ -472,9 +504,9 @@ WorldPacket const* QuestGiverQuestDetails::Write()
for (QuestObjectiveSimple const& obj : Objectives)
{
_worldPacket << int32(obj.ID);
+ _worldPacket << int32(obj.Type);
_worldPacket << int32(obj.ObjectID);
_worldPacket << int32(obj.Amount);
- _worldPacket << uint8(obj.Type);
}
_worldPacket << BitsSize<9>(QuestTitle);
@@ -521,6 +553,7 @@ WorldPacket const* QuestGiverRequestItems::Write()
_worldPacket << int32(Collect.size());
_worldPacket << int32(Currency.size());
_worldPacket << int32(StatusFlags);
+ _worldPacket << int32(QuestInfoID);
for (QuestObjectiveCollect const& obj : Collect)
{
diff --git a/src/server/game/Server/Packets/QuestPackets.h b/src/server/game/Server/Packets/QuestPackets.h
index a6c89c0cd69..f119eac4e31 100644
--- a/src/server/game/Server/Packets/QuestPackets.h
+++ b/src/server/game/Server/Packets/QuestPackets.h
@@ -185,7 +185,7 @@ namespace WorldPackets
int32 CompleteSoundKitID = 0;
int32 AreaGroupID = 0;
int64 TimeAllowed = 0;
- int32 TreasurePickerID = 0;
+ std::span<int32 const> TreasurePickerID;
int32 Expansion = 0;
int32 ManagedWorldStateID = 0;
int32 QuestSessionBonus = 0;
@@ -205,6 +205,7 @@ namespace WorldPackets
int32 RewardCurrencyID[QUEST_REWARD_CURRENCY_COUNT] = { };
int32 RewardCurrencyQty[QUEST_REWARD_CURRENCY_COUNT] = { };
bool ReadyForTranslation = false;
+ bool ResetByScheduler = false;
};
class QueryQuestInfoResponse final : public ServerPacket
@@ -257,11 +258,27 @@ namespace WorldPackets
uint16 Count = 0;
};
+ struct QuestRewardItem
+ {
+ int32 ItemID = 0;
+ int32 ItemQty = 0;
+ Optional<QuestRewardContextFlags> ContextFlags;
+ };
+
struct QuestChoiceItem
{
::LootItemType LootItemType = ::LootItemType::Item;
Item::ItemInstance Item;
int32 Quantity = 0;
+ Optional<QuestRewardContextFlags> ContextFlags;
+ };
+
+ struct QuestRewardCurrency
+ {
+ int32 CurrencyID = 0;
+ int32 CurrencyQty = 0;
+ int32 BonusQty = 0;
+ Optional<QuestRewardContextFlags> ContextFlags;
};
struct QuestRewards
@@ -279,16 +296,14 @@ namespace WorldPackets
int32 SpellCompletionID = 0;
int32 SkillLineID = 0;
int32 NumSkillUps = 0;
- int32 TreasurePickerID = 0;
+ std::span<int32 const> TreasurePickerID;
std::array<QuestChoiceItem, QUEST_REWARD_CHOICES_COUNT> ChoiceItems = { };
- std::array<int32, QUEST_REWARD_ITEM_COUNT> ItemID = { };
- std::array<int32, QUEST_REWARD_ITEM_COUNT> ItemQty = { };
+ std::array<QuestRewardItem, QUEST_REWARD_ITEM_COUNT> Items = { };
std::array<int32, QUEST_REWARD_REPUTATIONS_COUNT> FactionID = { };
std::array<int32, QUEST_REWARD_REPUTATIONS_COUNT> FactionValue = { };
std::array<int32, QUEST_REWARD_REPUTATIONS_COUNT> FactionOverride = { };
std::array<int32, QUEST_REWARD_REPUTATIONS_COUNT> FactionCapIn = { };
- std::array<int32, QUEST_REWARD_CURRENCY_COUNT> CurrencyID = { };
- std::array<int32, QUEST_REWARD_CURRENCY_COUNT> CurrencyQty = { };
+ std::array<QuestRewardCurrency, QUEST_REWARD_CURRENCY_COUNT> Currencies = { };
bool IsBoostSpell = false;
};
@@ -309,6 +324,7 @@ namespace WorldPackets
QuestRewards Rewards;
std::vector<QuestDescEmote> Emotes;
std::array<int32, 3> QuestFlags = { };
+ int32 QuestInfoID = 0;
};
class QuestGiverOfferRewardMessage final : public ServerPacket
@@ -390,9 +406,9 @@ namespace WorldPackets
struct QuestObjectiveSimple
{
int32 ID = 0;
+ int32 Type = 0;
int32 ObjectID = 0;
int32 Amount = 0;
- uint8 Type = 0;
};
class QuestGiverQuestDetails final : public ServerPacket
@@ -417,6 +433,7 @@ namespace WorldPackets
int32 PortraitGiverMount = 0;
int32 PortraitGiverModelSceneID = 0;
int32 QuestStartItemID = 0;
+ int32 QuestInfoID = 0;
int32 QuestSessionBonus = 0;
int32 QuestGiverCreatureID = 0;
std::string PortraitGiverText;
@@ -466,6 +483,7 @@ namespace WorldPackets
std::vector<QuestObjectiveCollect> Collect;
std::vector<QuestCurrency> Currency;
int32 StatusFlags = 0;
+ int32 QuestInfoID = 0;
uint32 QuestFlags[3] = { };
std::string QuestTitle;
std::string CompletionText;
diff --git a/src/server/game/Server/Packets/ReputationPackets.cpp b/src/server/game/Server/Packets/ReputationPackets.cpp
index aff39c3bbde..fece28f80b7 100644
--- a/src/server/game/Server/Packets/ReputationPackets.cpp
+++ b/src/server/game/Server/Packets/ReputationPackets.cpp
@@ -18,18 +18,37 @@
#include "ReputationPackets.h"
#include "PacketUtilities.h"
+namespace WorldPackets::Reputation
+{
+ByteBuffer& operator<<(ByteBuffer& data, FactionData const& factionData)
+{
+ data << int32(factionData.FactionID);
+ data << uint16(factionData.Flags);
+ data << int32(factionData.Standing);
+
+ return data;
+}
+
+ByteBuffer& operator<<(ByteBuffer& data, FactionBonusData const& factionBonusData)
+{
+ data << int32(factionBonusData.FactionID);
+ data << Bits<1>(factionBonusData.FactionHasBonus);
+ data.FlushBits();
+
+ return data;
+}
+}
+
WorldPacket const* WorldPackets::Reputation::InitializeFactions::Write()
{
- for (uint16 i = 0; i < FactionCount; ++i)
- {
- _worldPacket << uint16(FactionFlags[i]);
- _worldPacket << int32(FactionStandings[i]);
- }
+ _worldPacket << uint32(Factions.size());
+ _worldPacket << uint32(Bonuses.size());
- for (uint16 i = 0; i < FactionCount; ++i)
- _worldPacket.WriteBit(FactionHasBonus[i]);
+ for (FactionData const& faction : Factions)
+ _worldPacket << faction;
- _worldPacket.FlushBits();
+ for (FactionBonusData const& bonus : Bonuses)
+ _worldPacket << bonus;
return &_worldPacket;
}
diff --git a/src/server/game/Server/Packets/ReputationPackets.h b/src/server/game/Server/Packets/ReputationPackets.h
index c38c4235914..98b0146e9b4 100644
--- a/src/server/game/Server/Packets/ReputationPackets.h
+++ b/src/server/game/Server/Packets/ReputationPackets.h
@@ -25,18 +25,28 @@ namespace WorldPackets
{
namespace Reputation
{
- static constexpr uint16 FactionCount = 1000;
+ struct FactionData
+ {
+ int32 FactionID = 0;
+ uint16 Flags = 0;
+ int32 Standing = 0;
+ };
+
+ struct FactionBonusData
+ {
+ int32 FactionID = 0;
+ bool FactionHasBonus = false;
+ };
class InitializeFactions final : public ServerPacket
{
public:
- InitializeFactions() : ServerPacket(SMSG_INITIALIZE_FACTIONS, FactionCount * (4 + 2) + FactionCount / 8) { }
+ InitializeFactions() : ServerPacket(SMSG_INITIALIZE_FACTIONS, 0x1000) { }
WorldPacket const* Write() override;
- std::array<int32, FactionCount> FactionStandings = { };
- std::array<bool, FactionCount> FactionHasBonus = { }; ///< @todo: implement faction bonus
- std::array<uint16, FactionCount> FactionFlags = { }; ///< @see enum FactionFlags
+ std::vector<FactionData> Factions;
+ std::vector<FactionBonusData> Bonuses;
};
class RequestForcedReactions final : public ClientPacket
diff --git a/src/server/game/Server/Packets/ScenePackets.cpp b/src/server/game/Server/Packets/ScenePackets.cpp
index 98ead11342e..bab779d2fb0 100644
--- a/src/server/game/Server/Packets/ScenePackets.cpp
+++ b/src/server/game/Server/Packets/ScenePackets.cpp
@@ -26,6 +26,7 @@ WorldPacket const* WorldPackets::Scenes::PlayScene::Write()
_worldPacket << int32(SceneScriptPackageID);
_worldPacket << TransportGUID;
_worldPacket << Location;
+ _worldPacket << int32(MovieID);
_worldPacket << Bits<1>(Encrypted);
_worldPacket.FlushBits();
diff --git a/src/server/game/Server/Packets/ScenePackets.h b/src/server/game/Server/Packets/ScenePackets.h
index af33a9e68ab..f5c091d6803 100644
--- a/src/server/game/Server/Packets/ScenePackets.h
+++ b/src/server/game/Server/Packets/ScenePackets.h
@@ -37,6 +37,7 @@ namespace WorldPackets
uint32 PlaybackFlags = 0;
uint32 SceneInstanceID = 0;
int32 SceneScriptPackageID = 0;
+ int32 MovieID = 0;
ObjectGuid TransportGUID;
TaggedPosition<Position::XYZO> Location;
bool Encrypted = false;
diff --git a/src/server/game/Server/Packets/SocialPackets.cpp b/src/server/game/Server/Packets/SocialPackets.cpp
index 7e7d7e188e5..839a9ea91f0 100644
--- a/src/server/game/Server/Packets/SocialPackets.cpp
+++ b/src/server/game/Server/Packets/SocialPackets.cpp
@@ -50,7 +50,6 @@ ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Social::ContactInfo const
data << uint32(contact.Level);
data << uint32(contact.ClassID);
data.WriteBits(contact.Notes.length(), 10);
- data.WriteBit(contact.Mobile);
data.FlushBits();
data.WriteString(contact.Notes);
@@ -93,7 +92,6 @@ WorldPacket const* WorldPackets::Social::FriendStatus::Write()
_worldPacket << uint32(Level);
_worldPacket << uint32(ClassID);
_worldPacket.WriteBits(Notes.length(), 10);
- _worldPacket.WriteBit(Mobile);
_worldPacket.FlushBits();
_worldPacket.WriteString(Notes);
diff --git a/src/server/game/Server/Packets/SocialPackets.h b/src/server/game/Server/Packets/SocialPackets.h
index 3007cb3800b..9ee43e163b1 100644
--- a/src/server/game/Server/Packets/SocialPackets.h
+++ b/src/server/game/Server/Packets/SocialPackets.h
@@ -53,7 +53,6 @@ namespace WorldPackets
uint32 AreaID = 0;
uint32 Level = 0;
uint32 ClassID = CLASS_NONE;
- bool Mobile = false;
};
class ContactList final : public ServerPacket
@@ -85,7 +84,6 @@ namespace WorldPackets
uint32 Level = 0;
uint32 AreaID = 0;
uint8 FriendResult = 0; ///< @see enum FriendsResult
- bool Mobile = false;
};
struct QualifiedGUID
diff --git a/src/server/game/Server/Packets/SpellPackets.cpp b/src/server/game/Server/Packets/SpellPackets.cpp
index e4a06ff214f..486ac112d34 100644
--- a/src/server/game/Server/Packets/SpellPackets.cpp
+++ b/src/server/game/Server/Packets/SpellPackets.cpp
@@ -225,6 +225,7 @@ ByteBuffer& operator>>(ByteBuffer& buffer, SpellCastRequest& request)
request.OptionalCurrencies.resize(buffer.read<uint32>());
request.OptionalReagents.resize(buffer.read<uint32>());
request.RemovedModifications.resize(buffer.read<uint32>());
+ buffer >> request.CraftingFlags;
for (SpellExtraCurrencyCost& optionalCurrency : request.OptionalCurrencies)
buffer >> optionalCurrency;
@@ -339,8 +340,8 @@ ByteBuffer& operator<<(ByteBuffer& data, SpellHitStatus const& spellHitStatus)
ByteBuffer& operator<<(ByteBuffer& data, SpellPowerData const& spellPowerData)
{
- data << int32(spellPowerData.Cost);
data << int8(spellPowerData.Type);
+ data << int32(spellPowerData.Cost);
return data;
}
@@ -750,6 +751,7 @@ WorldPacket const* PlayOrphanSpellVisual::Write()
_worldPacket << SourceRotation;
_worldPacket << TargetLocation;
_worldPacket << Target;
+ _worldPacket << TargetTransport;
_worldPacket << int32(SpellVisualID);
_worldPacket << float(TravelSpeed);
_worldPacket << float(LaunchDelay);
diff --git a/src/server/game/Server/Packets/SpellPackets.h b/src/server/game/Server/Packets/SpellPackets.h
index 42c58e35772..c5efa757a5a 100644
--- a/src/server/game/Server/Packets/SpellPackets.h
+++ b/src/server/game/Server/Packets/SpellPackets.h
@@ -251,6 +251,7 @@ namespace WorldPackets
Array<SpellCraftingReagent, 6> RemovedModifications;
Array<SpellExtraCurrencyCost, 5 /*MAX_ITEM_EXT_COST_CURRENCIES*/> OptionalCurrencies;
Optional<uint64> CraftingOrderID;
+ uint8 CraftingFlags = 0; // 1 = ApplyConcentration
ObjectGuid CraftingNPC;
int32 Misc[2] = { };
};
@@ -713,6 +714,7 @@ namespace WorldPackets
WorldPacket const* Write() override;
ObjectGuid Target; // Exclusive with TargetLocation
+ ObjectGuid TargetTransport;
TaggedPosition<Position::XYZ> SourceLocation;
int32 SpellVisualID = 0;
bool SpeedAsTime = false;
diff --git a/src/server/game/Server/Packets/SystemPackets.cpp b/src/server/game/Server/Packets/SystemPackets.cpp
index 3e0bee090bb..c14bc777465 100644
--- a/src/server/game/Server/Packets/SystemPackets.cpp
+++ b/src/server/game/Server/Packets/SystemPackets.cpp
@@ -82,6 +82,8 @@ WorldPacket const* FeatureSystemStatus::Write()
_worldPacket << int32(ActiveSeason);
_worldPacket << uint32(GameRuleValues.size());
+ _worldPacket << int32(ActiveTimerunningSeasonID);
+ _worldPacket << int32(RemainingTimerunningSeasonSeconds);
_worldPacket << int16(MaxPlayerNameQueriesPerPacket);
_worldPacket << int16(PlayerNameQueryTelemetryInterval);
@@ -134,19 +136,25 @@ WorldPacket const* FeatureSystemStatus::Write()
_worldPacket << Bits<1>(ChatDisabledByPlayer);
_worldPacket << Bits<1>(LFGListCustomRequiresAuthenticator);
_worldPacket << Bits<1>(AddonsDisabled);
+ _worldPacket << Bits<1>(TimerunningEnabled);
_worldPacket << Bits<1>(WarGamesEnabled);
_worldPacket << Bits<1>(ContentTrackingEnabled);
_worldPacket << Bits<1>(IsSellAllJunkEnabled);
- _worldPacket << Bits<1>(IsGroupFinderEnabled);
+ _worldPacket << Bits<1>(IsGroupFinderEnabled);
_worldPacket << Bits<1>(IsLFDEnabled);
_worldPacket << Bits<1>(IsLFREnabled);
_worldPacket << Bits<1>(IsPremadeGroupEnabled);
_worldPacket << Bits<1>(CanShowSetRoleButton);
_worldPacket << Bits<1>(false); // unused 10.2.7
- _worldPacket << Bits<1>(false); // unused 10.2.7
+ _worldPacket << Bits<1>(GuildEventsEditsEnabled);
+ _worldPacket << Bits<1>(GuildTradeSkillsEnabled);
_worldPacket << BitsSize<7>(Unknown1027);
+ _worldPacket << Bits<1>(BNSendWhisperUseV2Services);
+
+ _worldPacket << Bits<1>(BNSendGameDataUseV2Services);
+ _worldPacket << Bits<1>(IsAccountCurrencyTransferEnabled);
_worldPacket.FlushBits();
@@ -213,10 +221,11 @@ WorldPacket const* FeatureSystemStatusGlueScreen::Write()
_worldPacket << Bits<1>(IsBoostEnabled);
_worldPacket << Bits<1>(TrialBoostEnabled);
_worldPacket << Bits<1>(TokenBalanceEnabled);
+ _worldPacket << Bits<1>(PaidCharacterTransfersBetweenBnetAccountsEnabled);
_worldPacket << Bits<1>(LiveRegionCharacterListEnabled);
_worldPacket << Bits<1>(LiveRegionCharacterCopyEnabled);
- _worldPacket << Bits<1>(LiveRegionAccountCopyEnabled);
+ _worldPacket << Bits<1>(LiveRegionAccountCopyEnabled);
_worldPacket << Bits<1>(LiveRegionKeyBindingsCopyEnabled);
_worldPacket << Bits<1>(Unknown901CheckoutRelated);
_worldPacket << Bits<1>(false); // unused, 10.0.2
@@ -224,14 +233,19 @@ WorldPacket const* FeatureSystemStatusGlueScreen::Write()
_worldPacket << Bits<1>(IsNameReservationEnabled);
_worldPacket << OptionalInit(LaunchETA);
_worldPacket << Bits<1>(TimerunningEnabled);
- _worldPacket << Bits<1>(AddonsDisabled);
+ _worldPacket << Bits<1>(AddonsDisabled);
_worldPacket << Bits<1>(Unused1000);
_worldPacket << Bits<1>(AccountSaveDataExportEnabled);
_worldPacket << Bits<1>(AccountLockedByExport);
_worldPacket << Bits<11>(RealmHiddenAlert.length() + 1);
+ _worldPacket << Bits<1>(BNSendWhisperUseV2Services);
+
+ _worldPacket << Bits<1>(BNSendGameDataUseV2Services);
+ _worldPacket << Bits<1>(CharacterSelectListModeRealmless);
+
_worldPacket.FlushBits();
if (EuropaTicketSystemStatus)
diff --git a/src/server/game/Server/Packets/SystemPackets.h b/src/server/game/Server/Packets/SystemPackets.h
index 4a326f33206..8c1ff5f18e5 100644
--- a/src/server/game/Server/Packets/SystemPackets.h
+++ b/src/server/game/Server/Packets/SystemPackets.h
@@ -165,6 +165,7 @@ namespace WorldPackets
bool ChatDisabledByPlayer = false;
bool LFGListCustomRequiresAuthenticator = false;
bool AddonsDisabled = false;
+ bool TimerunningEnabled = false;
bool WarGamesEnabled = false; // classic only
bool ContentTrackingEnabled = false;
bool IsSellAllJunkEnabled = false;
@@ -173,11 +174,18 @@ namespace WorldPackets
bool IsLFREnabled = true; // classic only
bool IsPremadeGroupEnabled = true; // classic only
bool CanShowSetRoleButton = true;
+ bool GuildEventsEditsEnabled = true;
+ bool GuildTradeSkillsEnabled = true;
+ bool BNSendWhisperUseV2Services = true; ///< BNSendWhisper will send to v2.WhisperService instead of v1.NotificationService
+ bool BNSendGameDataUseV2Services = true; ///< BNSendGameData will send to v2.NotificationService instead of v1.NotificationService
+ bool IsAccountCurrencyTransferEnabled = false;
SocialQueueConfig QuickJoinConfig;
SquelchInfo Squelch;
RafSystemFeatureInfo RAFSystem;
std::vector<GameRuleValuePair> GameRuleValues;
+ int32 ActiveTimerunningSeasonID = 0;
+ int32 RemainingTimerunningSeasonSeconds = 0;
std::string Unknown1027; // related to movement lua functions used by keybinds
AddonChatThrottleParams AddonChatThrottle;
};
@@ -208,6 +216,7 @@ namespace WorldPackets
bool IsBoostEnabled = false; // classic only
bool TrialBoostEnabled = false; // NYI
bool TokenBalanceEnabled = false; // NYI
+ bool PaidCharacterTransfersBetweenBnetAccountsEnabled = false;
bool LiveRegionCharacterListEnabled = false; // NYI
bool LiveRegionCharacterCopyEnabled = false; // NYI
bool LiveRegionAccountCopyEnabled = false; // NYI
@@ -219,6 +228,9 @@ namespace WorldPackets
bool Unused1000 = false;
bool AccountSaveDataExportEnabled = false;
bool AccountLockedByExport = false;
+ bool BNSendWhisperUseV2Services = true; ///< BNSendWhisper will send to v2.WhisperService instead of v1.NotificationService
+ bool BNSendGameDataUseV2Services = true; ///< BNSendGameData will send to v2.NotificationService instead of v1.NotificationService
+ bool CharacterSelectListModeRealmless = false;
Optional<EuropaTicketConfig> EuropaTicketSystemStatus;
std::vector<int32> LiveRegionCharacterCopySourceRegions;
uint32 TokenPollTimeSeconds = 0; // NYI
diff --git a/src/server/game/Server/Packets/TraitPacketsCommon.cpp b/src/server/game/Server/Packets/TraitPacketsCommon.cpp
index aa8d6ca5e6f..0d3158ef4b9 100644
--- a/src/server/game/Server/Packets/TraitPacketsCommon.cpp
+++ b/src/server/game/Server/Packets/TraitPacketsCommon.cpp
@@ -31,6 +31,16 @@ TraitEntry::TraitEntry(UF::TraitEntry const& ufEntry)
GrantedRanks = ufEntry.GrantedRanks;
}
+TraitSubTreeCache::TraitSubTreeCache() = default;
+
+TraitSubTreeCache::TraitSubTreeCache(UF::TraitSubTreeCache const& ufSubTreeCache)
+{
+ TraitSubTreeID = ufSubTreeCache.TraitSubTreeID;
+ for (UF::TraitEntry const& ufEntry : ufSubTreeCache.Entries)
+ Entries.emplace_back(ufEntry);
+ Active = ufSubTreeCache.Active;
+}
+
TraitConfig::TraitConfig() = default;
TraitConfig::TraitConfig(UF::TraitConfig const& ufConfig)
@@ -67,6 +77,35 @@ ByteBuffer& operator<<(ByteBuffer& data, TraitEntry const& traitEntry)
return data;
}
+ByteBuffer& operator>>(ByteBuffer& data, TraitSubTreeCache& traitSubTreeCache)
+{
+ data >> traitSubTreeCache.TraitSubTreeID;
+ uint32 entriesSize = data.read<uint32>();
+ if (entriesSize > 100)
+ throw PacketArrayMaxCapacityException(entriesSize, 100);
+
+ for (TraitEntry& traitEntry : traitSubTreeCache.Entries)
+ data >> traitEntry;
+
+ data >> Bits<1>(traitSubTreeCache.Active);
+
+ return data;
+}
+
+ByteBuffer& operator<<(ByteBuffer& data, TraitSubTreeCache const& traitSubTreeCache)
+{
+ data << int32(traitSubTreeCache.TraitSubTreeID);
+ data << uint32(traitSubTreeCache.Entries.size());
+
+ for (TraitEntry const& traitEntry : traitSubTreeCache.Entries)
+ data << traitEntry;
+
+ data << Bits<1>(traitSubTreeCache.Active);
+ data.FlushBits();
+
+ return data;
+}
+
ByteBuffer& operator>>(ByteBuffer& data, TraitConfig& traitConfig)
{
data >> traitConfig.ID;
@@ -76,6 +115,13 @@ ByteBuffer& operator>>(ByteBuffer& data, TraitConfig& traitConfig)
throw PacketArrayMaxCapacityException(entriesSize, 100);
traitConfig.Entries.resize(entriesSize);
+
+ uint32 subtreesSize = data.read<uint32>();
+ if (subtreesSize > 10)
+ throw PacketArrayMaxCapacityException(subtreesSize, 10);
+
+ traitConfig.SubTrees.resize(subtreesSize);
+
switch (traitConfig.Type)
{
case TraitConfigType::Combat:
@@ -97,6 +143,10 @@ ByteBuffer& operator>>(ByteBuffer& data, TraitConfig& traitConfig)
data >> traitEntry;
uint32 nameLength = data.ReadBits(9);
+
+ for (TraitSubTreeCache& traitSubTreeCache : traitConfig.SubTrees)
+ data >> traitSubTreeCache;
+
traitConfig.Name = data.ReadString(nameLength, false);
return data;
@@ -107,6 +157,7 @@ ByteBuffer& operator<<(ByteBuffer& data, TraitConfig const& traitConfig)
data << int32(traitConfig.ID);
data << int32(traitConfig.Type);
data << uint32(traitConfig.Entries.size());
+ data << uint32(traitConfig.SubTrees.size());
switch (traitConfig.Type)
{
case TraitConfigType::Combat:
@@ -128,6 +179,10 @@ ByteBuffer& operator<<(ByteBuffer& data, TraitConfig const& traitConfig)
data << traitEntry;
data.WriteBits(traitConfig.Name.length(), 9);
+
+ for (TraitSubTreeCache const& traitSubTreeCache : traitConfig.SubTrees)
+ data << traitSubTreeCache;
+
data.FlushBits();
data.WriteString(static_cast<std::string const&>(traitConfig.Name));
diff --git a/src/server/game/Server/Packets/TraitPacketsCommon.h b/src/server/game/Server/Packets/TraitPacketsCommon.h
index b6d143e7baf..8cf075bc7a8 100644
--- a/src/server/game/Server/Packets/TraitPacketsCommon.h
+++ b/src/server/game/Server/Packets/TraitPacketsCommon.h
@@ -27,6 +27,7 @@ namespace UF
{
struct TraitConfig;
struct TraitEntry;
+struct TraitSubTreeCache;
}
namespace WorldPackets::Traits
@@ -42,6 +43,16 @@ struct TraitEntry
int32 GrantedRanks = 0;
};
+struct TraitSubTreeCache
+{
+ TraitSubTreeCache();
+ explicit TraitSubTreeCache(UF::TraitSubTreeCache const& ufSubTreeCache);
+
+ int32 TraitSubTreeID = 0;
+ std::vector<TraitEntry> Entries;
+ bool Active = false;
+};
+
struct TraitConfig
{
TraitConfig();
@@ -55,11 +66,14 @@ struct TraitConfig
int32 SkillLineID = 0;
int32 TraitSystemID = 0;
std::vector<TraitEntry> Entries;
+ std::vector<TraitSubTreeCache> SubTrees;
String<259> Name;
};
ByteBuffer& operator>>(ByteBuffer& data, TraitEntry& traitEntry);
ByteBuffer& operator<<(ByteBuffer& data, TraitEntry const& traitEntry);
+ByteBuffer& operator>>(ByteBuffer& data, TraitSubTreeCache& traitSubTreeCache);
+ByteBuffer& operator<<(ByteBuffer& data, TraitSubTreeCache const& traitSubTreeCache);
ByteBuffer& operator>>(ByteBuffer& data, TraitConfig& traitConfig);
ByteBuffer& operator<<(ByteBuffer& data, TraitConfig const& traitConfig);
}
diff --git a/src/server/game/Server/Protocol/Opcodes.cpp b/src/server/game/Server/Protocol/Opcodes.cpp
index d8de9ca04d1..9df1813dc0c 100644
--- a/src/server/game/Server/Protocol/Opcodes.cpp
+++ b/src/server/game/Server/Protocol/Opcodes.cpp
@@ -146,6 +146,8 @@ void OpcodeTable::InitializeClientOpcodes()
DEFINE_HANDLER(CMSG_ACCEPT_SOCIAL_CONTRACT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_ACCEPT_TRADE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAcceptTradeOpcode);
DEFINE_HANDLER(CMSG_ACCEPT_WARGAME_INVITE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL);
+ DEFINE_HANDLER(CMSG_ACCOUNT_BANK_DEPOSIT_MONEY, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
+ DEFINE_HANDLER(CMSG_ACCOUNT_BANK_WITHDRAW_MONEY, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_ACCOUNT_NOTIFICATION_ACKNOWLEDGED, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_ACTIVATE_SOULBIND, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_ACTIVATE_TAXI, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleActivateTaxiOpcode);
@@ -192,6 +194,7 @@ void OpcodeTable::InitializeClientOpcodes()
DEFINE_HANDLER(CMSG_AUTOBANK_REAGENT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAutoBankReagentOpcode);
DEFINE_HANDLER(CMSG_AUTOSTORE_BANK_ITEM, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleAutoStoreBankItemOpcode);
DEFINE_HANDLER(CMSG_AUTOSTORE_BANK_REAGENT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAutoStoreBankReagentOpcode);
+ DEFINE_HANDLER(CMSG_AUTO_DEPOSIT_ACCOUNT_BANK, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_AUTO_EQUIP_ITEM, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleAutoEquipItemOpcode);
DEFINE_HANDLER(CMSG_AUTO_EQUIP_ITEM_SLOT, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleAutoEquipItemSlotOpcode);
DEFINE_HANDLER(CMSG_AUTO_GUILD_BANK_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAutoGuildBankItem);
@@ -209,6 +212,7 @@ void OpcodeTable::InitializeClientOpcodes()
DEFINE_HANDLER(CMSG_BATTLEMASTER_JOIN, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleBattlemasterJoinOpcode);
DEFINE_HANDLER(CMSG_BATTLEMASTER_JOIN_ARENA, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleBattlemasterJoinArena);
DEFINE_HANDLER(CMSG_BATTLEMASTER_JOIN_BRAWL, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
+ DEFINE_HANDLER(CMSG_BATTLEMASTER_JOIN_RATED_BG_BLITZ, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_BATTLEMASTER_JOIN_RATED_SOLO_SHUFFLE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_BATTLEMASTER_JOIN_SKIRMISH, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_BATTLENET_CHALLENGE_RESPONSE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
@@ -243,6 +247,7 @@ void OpcodeTable::InitializeClientOpcodes()
DEFINE_HANDLER(CMSG_BONUS_ROLL, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_BUG_REPORT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleBugReportOpcode);
DEFINE_HANDLER(CMSG_BUSY_TRADE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleBusyTradeOpcode);
+ DEFINE_HANDLER(CMSG_BUY_ACCOUNT_BANK_TAB, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_BUY_BACK_ITEM, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleBuybackItem);
DEFINE_HANDLER(CMSG_BUY_BANK_SLOT, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleBuyBankSlotOpcode);
DEFINE_HANDLER(CMSG_BUY_ITEM, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleBuyItemOpcode);
@@ -389,6 +394,7 @@ void OpcodeTable::InitializeClientOpcodes()
DEFINE_HANDLER(CMSG_CONTRIBUTION_LAST_UPDATE_REQUEST, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_CONVERSATION_CINEMATIC_READY, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
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_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);
@@ -407,6 +413,7 @@ void OpcodeTable::InitializeClientOpcodes()
DEFINE_HANDLER(CMSG_DECLINE_GUILD_INVITES, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleDeclineGuildInvites);
DEFINE_HANDLER(CMSG_DECLINE_PETITION, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleDeclinePetition);
DEFINE_HANDLER(CMSG_DELETE_EQUIPMENT_SET, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleDeleteEquipmentSet);
+ DEFINE_HANDLER(CMSG_DELVE_TELEPORT_OUT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_DEL_FRIEND, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleDelFriendOpcode);
DEFINE_HANDLER(CMSG_DEL_IGNORE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleDelIgnoreOpcode);
DEFINE_HANDLER(CMSG_DEPOSIT_REAGENT_BANK, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleReagentBankDepositOpcode);
@@ -476,6 +483,7 @@ void OpcodeTable::InitializeClientOpcodes()
DEFINE_HANDLER(CMSG_GET_MIRROR_IMAGE_DATA, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleMirrorImageDataRequest);
DEFINE_HANDLER(CMSG_GET_PVP_OPTIONS_ENABLED, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleGetPVPOptionsEnabled);
DEFINE_HANDLER(CMSG_GET_RAF_ACCOUNT_INFO, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
+ DEFINE_HANDLER(CMSG_GET_REGIONWIDE_CHARACTER_RESTRICTION_AND_MAIL_DATA, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_GET_REMAINING_GAME_TIME, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_GET_TROPHY_LIST, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_GET_UNDELETE_CHARACTER_COOLDOWN_STATUS, STATUS_AUTHED, PROCESS_THREADUNSAFE, &WorldSession::HandleGetUndeleteCooldownStatus);
@@ -489,7 +497,6 @@ void OpcodeTable::InitializeClientOpcodes()
DEFINE_HANDLER(CMSG_GUILD_ADD_BATTLENET_FRIEND, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_GUILD_ADD_RANK, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleGuildAddRank);
DEFINE_HANDLER(CMSG_GUILD_ASSIGN_MEMBER_RANK, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleGuildAssignRank);
- DEFINE_HANDLER(CMSG_GUILD_AUTO_DECLINE_INVITATION, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_GUILD_BANK_ACTIVATE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleGuildBankActivate);
DEFINE_HANDLER(CMSG_GUILD_BANK_BUY_TAB, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleGuildBankBuyTab);
DEFINE_HANDLER(CMSG_GUILD_BANK_DEPOSIT_MONEY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleGuildBankDepositMoney);
@@ -614,6 +621,7 @@ void OpcodeTable::InitializeClientOpcodes()
DEFINE_HANDLER(CMSG_MOVE_DISMISS_VEHICLE, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleMoveDismissVehicle);
DEFINE_HANDLER(CMSG_MOVE_DOUBLE_JUMP, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleMovementOpcodes);
DEFINE_HANDLER(CMSG_MOVE_ENABLE_DOUBLE_JUMP_ACK, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleMovementAckMessage);
+ DEFINE_HANDLER(CMSG_MOVE_ENABLE_FULL_SPEED_TURNING_ACK, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleMovementAckMessage);
DEFINE_HANDLER(CMSG_MOVE_ENABLE_SWIM_TO_FLY_TRANS_ACK, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleMovementAckMessage);
DEFINE_HANDLER(CMSG_MOVE_FALL_LAND, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleMovementOpcodes);
DEFINE_HANDLER(CMSG_MOVE_FALL_RESET, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleMovementOpcodes);
@@ -642,7 +650,6 @@ void OpcodeTable::InitializeClientOpcodes()
DEFINE_HANDLER(CMSG_MOVE_REMOVE_INERTIA_ACK, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_MOVE_REMOVE_MOVEMENT_FORCES, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_MOVE_REMOVE_MOVEMENT_FORCE_ACK, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleMoveRemoveMovementForceAck);
- DEFINE_HANDLER(CMSG_MOVE_SEAMLESS_TRANSFER_COMPLETE, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_MOVE_SET_ADV_FLY, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_MOVE_SET_ADV_FLYING_ADD_IMPULSE_MAX_SPEED_ACK, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_MOVE_SET_ADV_FLYING_AIR_FRICTION_ACK, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::Handle_NULL);
@@ -807,7 +814,6 @@ void OpcodeTable::InitializeClientOpcodes()
DEFINE_HANDLER(CMSG_REPOP_REQUEST, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleRepopRequest);
DEFINE_HANDLER(CMSG_REPORT_CLIENT_VARIABLES, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_REPORT_ENABLED_ADDONS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
- DEFINE_HANDLER(CMSG_REPORT_FROZEN_WHILE_LOADING_MAP, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_REPORT_KEYBINDING_EXECUTION_COUNTS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_REPORT_PVP_PLAYER_AFK, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleReportPvPAFK);
DEFINE_HANDLER(CMSG_REPORT_SERVER_LAG, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
@@ -819,6 +825,7 @@ void OpcodeTable::InitializeClientOpcodes()
DEFINE_HANDLER(CMSG_REQUEST_CHARACTER_GUILD_FOLLOW_INFO, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_REQUEST_COVENANT_CALLINGS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_REQUEST_CROWD_CONTROL_SPELL, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
+ DEFINE_HANDLER(CMSG_REQUEST_CURRENCY_DATA_FOR_ACCOUNT_CHARACTERS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_REQUEST_FORCED_REACTIONS, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleRequestForcedReactionsOpcode);
DEFINE_HANDLER(CMSG_REQUEST_GARRISON_TALENT_WORLD_QUEST_UNLOCKS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_REQUEST_GUILD_PARTY_STATE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleGuildRequestPartyState);
@@ -858,6 +865,7 @@ void OpcodeTable::InitializeClientOpcodes()
DEFINE_HANDLER(CMSG_SCENE_PLAYBACK_CANCELED, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleScenePlaybackCanceled);
DEFINE_HANDLER(CMSG_SCENE_PLAYBACK_COMPLETE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleScenePlaybackComplete);
DEFINE_HANDLER(CMSG_SCENE_TRIGGER_EVENT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSceneTriggerEvent);
+ DEFINE_HANDLER(CMSG_SEAMLESS_TRANSFER_COMPLETE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_SELF_RES, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSelfResOpcode);
DEFINE_HANDLER(CMSG_SELL_ALL_JUNK_ITEMS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_SELL_ITEM, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleSellItemOpcode);
@@ -868,6 +876,7 @@ void OpcodeTable::InitializeClientOpcodes()
DEFINE_HANDLER(CMSG_SEND_PING_WORLD_POINT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSendPingWorldPoint);
DEFINE_HANDLER(CMSG_SEND_TEXT_EMOTE, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleTextEmoteOpcode);
DEFINE_HANDLER(CMSG_SERVER_TIME_OFFSET_REQUEST, STATUS_AUTHED, PROCESS_INPLACE, &WorldSession::HandleServerTimeOffsetRequest);
+ DEFINE_HANDLER(CMSG_SETUP_WARBAND_GROUPS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_SET_ACHIEVEMENTS_HIDDEN, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_SET_ACTION_BAR_TOGGLES, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSetActionBarToggles);
DEFINE_HANDLER(CMSG_SET_ACTION_BUTTON, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSetActionButtonOpcode);
@@ -918,6 +927,7 @@ void OpcodeTable::InitializeClientOpcodes()
DEFINE_HANDLER(CMSG_SILENCE_PARTY_TALKER, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_SOCIAL_CONTRACT_REQUEST, STATUS_AUTHED, PROCESS_THREADUNSAFE, &WorldSession::HandleSocialContractRequest);
DEFINE_HANDLER(CMSG_SOCKET_GEMS, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleSocketGems);
+ DEFINE_HANDLER(CMSG_SORT_ACCOUNT_BANK_BAGS, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleSortAccountBankBags);
DEFINE_HANDLER(CMSG_SORT_BAGS, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleSortBags);
DEFINE_HANDLER(CMSG_SORT_BANK_BAGS, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleSortBankBags);
DEFINE_HANDLER(CMSG_SORT_REAGENT_BANK_BAGS, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleSortReagentBankBags);
@@ -967,6 +977,7 @@ void OpcodeTable::InitializeClientOpcodes()
DEFINE_HANDLER(CMSG_TRAINER_LIST, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleTrainerListOpcode);
DEFINE_HANDLER(CMSG_TRAITS_COMMIT_CONFIG, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleTraitsCommitConfig);
DEFINE_HANDLER(CMSG_TRAITS_TALENT_TEST_UNLEARN_SPELLS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL);
+ DEFINE_HANDLER(CMSG_TRANSFER_CURRENCY_FROM_ACCOUNT_CHARACTER, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_TRANSMOGRIFY_ITEMS, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleTransmogrifyItems);
DEFINE_HANDLER(CMSG_TURN_IN_PETITION, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleTurnInPetition);
DEFINE_HANDLER(CMSG_TUTORIAL, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleTutorialFlag);
@@ -977,6 +988,7 @@ void OpcodeTable::InitializeClientOpcodes()
DEFINE_HANDLER(CMSG_UNLEARN_SPECIALIZATION, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_UNLOCK_VOID_STORAGE, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleVoidStorageUnlock);
DEFINE_HANDLER(CMSG_UPDATE_AADC_STATUS, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleChatUpdateAADCStatus);
+ DEFINE_HANDLER(CMSG_UPDATE_ACCOUNT_BANK_TAB_SETTINGS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_UPDATE_ACCOUNT_DATA, STATUS_AUTHED, PROCESS_THREADUNSAFE, &WorldSession::HandleUpdateAccountData);
DEFINE_HANDLER(CMSG_UPDATE_AREA_TRIGGER_VISUAL, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_UPDATE_CLIENT_SETTINGS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL);
@@ -1017,6 +1029,8 @@ void OpcodeTable::InitializeServerOpcodes()
ValidateAndSetServerOpcode(opcode, #opcode, status, con)
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ABORT_NEW_WORLD, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_ACCOUNT_CHARACTER_CURRENCY_LISTS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_ACCOUNT_CONVERSION_STATE_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ACCOUNT_COSMETIC_ADDED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ACCOUNT_CRITERIA_UPDATE, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ACCOUNT_DATA_TIMES, STATUS_NEVER, CONNECTION_TYPE_REALM);
@@ -1198,6 +1212,7 @@ void OpcodeTable::InitializeServerOpcodes()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CAN_REDEEM_TOKEN_FOR_BALANCE_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
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_CHAIN_MISSILE_BOUNCE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHALLENGE_MODE_COMPLETE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHALLENGE_MODE_REQUEST_LEADERS_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1227,6 +1242,7 @@ void OpcodeTable::InitializeServerOpcodes()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHAT_DOWN, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHAT_IGNORED_ACCOUNT_MUTED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHAT_IS_DOWN, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHAT_NOT_IN_GUILD, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHAT_NOT_IN_PARTY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHAT_PLAYER_AMBIGUOUS, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHAT_PLAYER_NOTFOUND, STATUS_NEVER, CONNECTION_TYPE_REALM);
@@ -1294,6 +1310,7 @@ void OpcodeTable::InitializeServerOpcodes()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CRAFTING_ORDER_CREATE_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CRAFTING_ORDER_FULFILL_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CRAFTING_ORDER_LIST_ORDERS_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_CRAFTING_ORDER_NPC_REWARD_INFO, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CRAFTING_ORDER_REJECT_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CRAFTING_ORDER_RELEASE_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CRAFTING_ORDER_UPDATE_STATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1304,6 +1321,8 @@ void OpcodeTable::InitializeServerOpcodes()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CRITERIA_DELETED, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CRITERIA_UPDATE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CROSSED_INEBRIATION_THRESHOLD, STATUS_NEVER, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_CURRENCY_TRANSFER_LOG, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_CURRENCY_TRANSFER_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CUSTOM_LOAD_SCREEN, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_DAILY_QUESTS_RESET, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_DAMAGE_CALC_LOG, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1343,7 +1362,6 @@ void OpcodeTable::InitializeServerOpcodes()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ENCOUNTER_END, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ENCOUNTER_START, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_END_LIGHTNING_STORM, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_ENSURE_WORLD_LOADED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ENTER_ENCRYPTED_MODE, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ENUM_CHARACTERS_RESULT, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ENUM_VAS_PURCHASE_STATES_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1368,6 +1386,7 @@ void OpcodeTable::InitializeServerOpcodes()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_FORCE_ANIMATIONS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_FORCE_OBJECT_RELINK, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_FORCE_RANDOM_TRANSMOG_TOAST, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_FORCE_SPAWN_TRACKING_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_FRIEND_STATUS, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GAIN_MAW_POWER, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GAME_OBJECT_ACTIVATE_ANIM_KIT, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
@@ -1537,6 +1556,7 @@ void OpcodeTable::InitializeServerOpcodes()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_ROSTER, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_ROSTER_UPDATE, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_SEND_RANK_CHANGE, STATUS_NEVER, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_HARDCORE_DEATH_ALERT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_HEALTH_UPDATE, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_HIGHEST_THREAT_UPDATE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_HOTFIX_CONNECT, STATUS_NEVER, CONNECTION_TYPE_REALM);
@@ -1664,11 +1684,13 @@ void OpcodeTable::InitializeServerOpcodes()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_APPLY_MOVEMENT_FORCE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_DISABLE_COLLISION, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_DISABLE_DOUBLE_JUMP, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_DISABLE_FULL_SPEED_TURNING, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_DISABLE_INERTIA, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_DISABLE_GRAVITY, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_DISABLE_TRANSITION_BETWEEN_SWIM_AND_FLY, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_ENABLE_COLLISION, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_ENABLE_DOUBLE_JUMP, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_ENABLE_FULL_SPEED_TURNING, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_ENABLE_INERTIA, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_ENABLE_GRAVITY, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_ENABLE_TRANSITION_BETWEEN_SWIM_AND_FLY, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
@@ -1957,6 +1979,8 @@ void OpcodeTable::InitializeServerOpcodes()
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);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_REFRESH_SPELL_HISTORY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_REGIONWIDE_CHARACTER_MAIL_DATA, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_REGIONWIDE_CHARACTER_RESTRICTIONS_DATA, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_REMOVE_ITEM_PASSIVE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_REMOVE_SPELL_FROM_ACTION_BAR, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_REPLACE_TROPHY_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -2048,6 +2072,7 @@ void OpcodeTable::InitializeServerOpcodes()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_VEHICLE_REC_ID, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SHADOWLANDS_CAPACITANCE_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SHIPMENT_FACTION_UPDATE_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_SHOW_DELVES_DISPLAY_UI, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SHOW_NEUTRAL_PLAYER_FACTION_SELECT_UI, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SHOW_QUEST_COMPLETION_TEXT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SHOW_TAXI_NODES, STATUS_NEVER, CONNECTION_TYPE_REALM);
@@ -2115,6 +2140,7 @@ void OpcodeTable::InitializeServerOpcodes()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_THREAT_CLEAR, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_THREAT_REMOVE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_THREAT_UPDATE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_TIMERUNNING_SEASON_ENDED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_TIME_ADJUSTMENT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_TIME_SYNC_REQUEST, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_TITLE_EARNED, STATUS_NEVER, CONNECTION_TYPE_REALM);
diff --git a/src/server/game/Server/Protocol/Opcodes.h b/src/server/game/Server/Protocol/Opcodes.h
index ff4ecf3df72..e6dbc884121 100644
--- a/src/server/game/Server/Protocol/Opcodes.h
+++ b/src/server/game/Server/Protocol/Opcodes.h
@@ -48,35 +48,37 @@ constexpr uint16 UNKNOWN_OPCODE = 0xBADD; // special marker value for uninitia
enum OpcodeClient : uint16
{
- CMSG_ABANDON_NPE_RESPONSE = 0x33F2,
+ CMSG_ABANDON_NPE_RESPONSE = 0x33E9,
CMSG_ACCEPT_GUILD_INVITE = 0x35FD,
- CMSG_ACCEPT_RETURNING_PLAYER_PROMPT = 0x339D,
- CMSG_ACCEPT_SOCIAL_CONTRACT = 0x3742,
+ CMSG_ACCEPT_RETURNING_PLAYER_PROMPT = 0x33AA,
+ CMSG_ACCEPT_SOCIAL_CONTRACT = 0x3744,
CMSG_ACCEPT_TRADE = 0x315A,
CMSG_ACCEPT_WARGAME_INVITE = 0x35E0,
- CMSG_ACCOUNT_NOTIFICATION_ACKNOWLEDGED = 0x3731,
- CMSG_ACTIVATE_SOULBIND = 0x33E1,
+ CMSG_ACCOUNT_BANK_DEPOSIT_MONEY = 0x342B,
+ CMSG_ACCOUNT_BANK_WITHDRAW_MONEY = 0x342C,
+ CMSG_ACCOUNT_NOTIFICATION_ACKNOWLEDGED = 0x3733,
+ CMSG_ACTIVATE_SOULBIND = 0x33D8,
CMSG_ACTIVATE_TAXI = 0x34B3,
CMSG_ADDON_LIST = 0x35D8,
- CMSG_ADD_ACCOUNT_COSMETIC = 0x32B7,
- CMSG_ADD_BATTLENET_FRIEND = 0x3657,
- CMSG_ADD_FRIEND = 0x36CB,
- CMSG_ADD_IGNORE = 0x36CF,
- CMSG_ADD_TOY = 0x32B6,
- CMSG_ADVENTURE_JOURNAL_OPEN_QUEST = 0x3203,
- CMSG_ADVENTURE_JOURNAL_UPDATE_SUGGESTIONS = 0x33E4,
- CMSG_ADVENTURE_MAP_START_QUEST = 0x3370,
- CMSG_ALTER_APPEARANCE = 0x3505,
+ CMSG_ADD_ACCOUNT_COSMETIC = 0x32C2,
+ CMSG_ADD_BATTLENET_FRIEND = 0x3658,
+ CMSG_ADD_FRIEND = 0x36CD,
+ CMSG_ADD_IGNORE = 0x36D1,
+ CMSG_ADD_TOY = 0x32C1,
+ CMSG_ADVENTURE_JOURNAL_OPEN_QUEST = 0x3206,
+ CMSG_ADVENTURE_JOURNAL_UPDATE_SUGGESTIONS = 0x33DB,
+ CMSG_ADVENTURE_MAP_START_QUEST = 0x337D,
+ CMSG_ALTER_APPEARANCE = 0x3504,
CMSG_AREA_SPIRIT_HEALER_QUERY = 0x34B8,
CMSG_AREA_SPIRIT_HEALER_QUEUE = 0x34B9,
- CMSG_AREA_TRIGGER = 0x31D7,
+ CMSG_AREA_TRIGGER = 0x31D9,
CMSG_ARTIFACT_ADD_POWER = 0x31AA,
CMSG_ARTIFACT_SET_APPEARANCE = 0x31AC,
- CMSG_ASSIGN_EQUIPMENT_SET_SPEC = 0x320F,
- CMSG_ATTACK_STOP = 0x3268,
- CMSG_ATTACK_SWING = 0x3267,
- CMSG_AUCTIONABLE_TOKEN_SELL = 0x36E1,
- CMSG_AUCTIONABLE_TOKEN_SELL_AT_MARKET_PRICE = 0x36E2,
+ CMSG_ASSIGN_EQUIPMENT_SET_SPEC = 0x3212,
+ CMSG_ATTACK_STOP = 0x3270,
+ CMSG_ATTACK_SWING = 0x326F,
+ CMSG_AUCTIONABLE_TOKEN_SELL = 0x36E3,
+ CMSG_AUCTIONABLE_TOKEN_SELL_AT_MARKET_PRICE = 0x36E4,
CMSG_AUCTION_BROWSE_QUERY = 0x34D8,
CMSG_AUCTION_CANCEL_COMMODITIES_PURCHASE = 0x34E0,
CMSG_AUCTION_CONFIRM_COMMODITIES_PURCHASE = 0x34DF,
@@ -90,114 +92,117 @@ enum OpcodeClient : uint16
CMSG_AUCTION_PLACE_BID = 0x34D7,
CMSG_AUCTION_REMOVE_ITEM = 0x34D5,
CMSG_AUCTION_REPLICATE_ITEMS = 0x34D6,
- CMSG_AUCTION_REQUEST_FAVORITE_LIST = 0x3733,
+ CMSG_AUCTION_REQUEST_FAVORITE_LIST = 0x3735,
CMSG_AUCTION_SELL_COMMODITY = 0x34E1,
CMSG_AUCTION_SELL_ITEM = 0x34D4,
- CMSG_AUCTION_SET_FAVORITE_ITEM = 0x3732,
+ CMSG_AUCTION_SET_FAVORITE_ITEM = 0x3734,
CMSG_AUTH_CONTINUED_SESSION = 0x377A,
CMSG_AUTH_SESSION = 0x3779,
CMSG_AUTOBANK_ITEM = 0x3997,
CMSG_AUTOBANK_REAGENT = 0x3999,
CMSG_AUTOSTORE_BANK_ITEM = 0x3996,
CMSG_AUTOSTORE_BANK_REAGENT = 0x3998,
+ CMSG_AUTO_DEPOSIT_ACCOUNT_BANK = 0x3436,
CMSG_AUTO_EQUIP_ITEM = 0x399A,
CMSG_AUTO_EQUIP_ITEM_SLOT = 0x399F,
CMSG_AUTO_GUILD_BANK_ITEM = 0x34BF,
CMSG_AUTO_STORE_BAG_ITEM = 0x399B,
CMSG_AUTO_STORE_GUILD_BANK_ITEM = 0x34C8,
- CMSG_AZERITE_EMPOWERED_ITEM_SELECT_POWER = 0x3399,
- CMSG_AZERITE_EMPOWERED_ITEM_VIEWED = 0x337B,
- CMSG_AZERITE_ESSENCE_ACTIVATE_ESSENCE = 0x339B,
- CMSG_AZERITE_ESSENCE_UNLOCK_MILESTONE = 0x339A,
+ CMSG_AZERITE_EMPOWERED_ITEM_SELECT_POWER = 0x33A6,
+ CMSG_AZERITE_EMPOWERED_ITEM_VIEWED = 0x3388,
+ CMSG_AZERITE_ESSENCE_ACTIVATE_ESSENCE = 0x33A8,
+ CMSG_AZERITE_ESSENCE_UNLOCK_MILESTONE = 0x33A7,
CMSG_BANKER_ACTIVATE = 0x34BB,
CMSG_BATTLEFIELD_LEAVE = 0x3173,
CMSG_BATTLEFIELD_LIST = 0x317E,
CMSG_BATTLEFIELD_PORT = 0x353A,
- CMSG_BATTLEMASTER_HELLO = 0x32D4,
- CMSG_BATTLEMASTER_JOIN = 0x3532,
- CMSG_BATTLEMASTER_JOIN_ARENA = 0x3533,
+ CMSG_BATTLEMASTER_HELLO = 0x32DF,
+ CMSG_BATTLEMASTER_JOIN = 0x3531,
+ CMSG_BATTLEMASTER_JOIN_ARENA = 0x3532,
CMSG_BATTLEMASTER_JOIN_BRAWL = 0x3538,
- CMSG_BATTLEMASTER_JOIN_RATED_SOLO_SHUFFLE = 0x3534,
+ CMSG_BATTLEMASTER_JOIN_RATED_BG_BLITZ = 0x3534,
+ CMSG_BATTLEMASTER_JOIN_RATED_SOLO_SHUFFLE = 0x3533,
CMSG_BATTLEMASTER_JOIN_SKIRMISH = 0x3535,
- CMSG_BATTLENET_CHALLENGE_RESPONSE = 0x36CE,
- CMSG_BATTLENET_REQUEST = 0x36F0,
- CMSG_BATTLE_PAY_ACK_FAILED_RESPONSE = 0x36C8,
- CMSG_BATTLE_PAY_CANCEL_OPEN_CHECKOUT = 0x370F,
- CMSG_BATTLE_PAY_CONFIRM_PURCHASE_RESPONSE = 0x36C7,
- CMSG_BATTLE_PAY_DISTRIBUTION_ASSIGN_TO_TARGET = 0x36BE,
- CMSG_BATTLE_PAY_DISTRIBUTION_ASSIGN_VAS = 0x3736,
- CMSG_BATTLE_PAY_GET_PRODUCT_LIST = 0x36B6,
- CMSG_BATTLE_PAY_GET_PURCHASE_LIST = 0x36B7,
- CMSG_BATTLE_PAY_OPEN_CHECKOUT = 0x3708,
- CMSG_BATTLE_PAY_REQUEST_PRICE_INFO = 0x3704,
- CMSG_BATTLE_PAY_START_PURCHASE = 0x36C6,
- CMSG_BATTLE_PAY_START_VAS_PURCHASE = 0x36ED,
+ CMSG_BATTLENET_CHALLENGE_RESPONSE = 0x36D0,
+ CMSG_BATTLENET_REQUEST = 0x36F2,
+ CMSG_BATTLE_PAY_ACK_FAILED_RESPONSE = 0x36CA,
+ CMSG_BATTLE_PAY_CANCEL_OPEN_CHECKOUT = 0x3711,
+ CMSG_BATTLE_PAY_CONFIRM_PURCHASE_RESPONSE = 0x36C9,
+ CMSG_BATTLE_PAY_DISTRIBUTION_ASSIGN_TO_TARGET = 0x36C0,
+ CMSG_BATTLE_PAY_DISTRIBUTION_ASSIGN_VAS = 0x3738,
+ CMSG_BATTLE_PAY_GET_PRODUCT_LIST = 0x36B8,
+ CMSG_BATTLE_PAY_GET_PURCHASE_LIST = 0x36B9,
+ CMSG_BATTLE_PAY_OPEN_CHECKOUT = 0x370A,
+ CMSG_BATTLE_PAY_REQUEST_PRICE_INFO = 0x3706,
+ CMSG_BATTLE_PAY_START_PURCHASE = 0x36C8,
+ CMSG_BATTLE_PAY_START_VAS_PURCHASE = 0x36EF,
CMSG_BATTLE_PET_CLEAR_FANFARE = 0x3126,
- CMSG_BATTLE_PET_DELETE_PET = 0x3622,
- CMSG_BATTLE_PET_DELETE_PET_CHEAT = 0x3623,
- CMSG_BATTLE_PET_MODIFY_NAME = 0x3625,
- CMSG_BATTLE_PET_REQUEST_JOURNAL = 0x3621,
- CMSG_BATTLE_PET_REQUEST_JOURNAL_LOCK = 0x3620,
- CMSG_BATTLE_PET_SET_BATTLE_SLOT = 0x362A,
- CMSG_BATTLE_PET_SET_FLAGS = 0x362D,
- CMSG_BATTLE_PET_SUMMON = 0x3626,
- CMSG_BATTLE_PET_UPDATE_DISPLAY_NOTIFY = 0x31E1,
- CMSG_BATTLE_PET_UPDATE_NOTIFY = 0x31E0,
+ CMSG_BATTLE_PET_DELETE_PET = 0x3623,
+ CMSG_BATTLE_PET_DELETE_PET_CHEAT = 0x3624,
+ CMSG_BATTLE_PET_MODIFY_NAME = 0x3626,
+ CMSG_BATTLE_PET_REQUEST_JOURNAL = 0x3622,
+ CMSG_BATTLE_PET_REQUEST_JOURNAL_LOCK = 0x3621,
+ CMSG_BATTLE_PET_SET_BATTLE_SLOT = 0x362B,
+ CMSG_BATTLE_PET_SET_FLAGS = 0x362E,
+ CMSG_BATTLE_PET_SUMMON = 0x3627,
+ CMSG_BATTLE_PET_UPDATE_DISPLAY_NOTIFY = 0x31E3,
+ CMSG_BATTLE_PET_UPDATE_NOTIFY = 0x31E2,
CMSG_BEGIN_TRADE = 0x3157,
CMSG_BINDER_ACTIVATE = 0x34BA,
CMSG_BLACK_MARKET_BID_ON_ITEM = 0x3542,
CMSG_BLACK_MARKET_OPEN = 0x3540,
CMSG_BLACK_MARKET_REQUEST_ITEMS = 0x3541,
- CMSG_BONUS_ROLL = 0x339C,
- CMSG_BUG_REPORT = 0x3682,
+ CMSG_BONUS_ROLL = 0x33A9,
+ CMSG_BUG_REPORT = 0x3683,
CMSG_BUSY_TRADE = 0x3158,
+ CMSG_BUY_ACCOUNT_BANK_TAB = 0x3597,
CMSG_BUY_BACK_ITEM = 0x34AC,
CMSG_BUY_BANK_SLOT = 0x34BC,
CMSG_BUY_ITEM = 0x34AB,
CMSG_BUY_REAGENT_BANK = 0x34BD,
- CMSG_CAGE_BATTLE_PET = 0x31F3,
- CMSG_CALENDAR_ADD_EVENT = 0x367A,
- CMSG_CALENDAR_COMMUNITY_INVITE = 0x366E,
- CMSG_CALENDAR_COMPLAIN = 0x3676,
- CMSG_CALENDAR_COPY_EVENT = 0x3675,
- CMSG_CALENDAR_EVENT_SIGN_UP = 0x3678,
- CMSG_CALENDAR_GET = 0x366C,
- CMSG_CALENDAR_GET_EVENT = 0x366D,
- CMSG_CALENDAR_GET_NUM_PENDING = 0x3677,
- CMSG_CALENDAR_INVITE = 0x366F,
- CMSG_CALENDAR_MODERATOR_STATUS = 0x3673,
- CMSG_CALENDAR_REMOVE_EVENT = 0x3674,
- CMSG_CALENDAR_REMOVE_INVITE = 0x3670,
- CMSG_CALENDAR_RSVP = 0x3671,
- CMSG_CALENDAR_STATUS = 0x3672,
- CMSG_CALENDAR_UPDATE_EVENT = 0x367B,
+ CMSG_CAGE_BATTLE_PET = 0x31F6,
+ CMSG_CALENDAR_ADD_EVENT = 0x367B,
+ CMSG_CALENDAR_COMMUNITY_INVITE = 0x366F,
+ CMSG_CALENDAR_COMPLAIN = 0x3677,
+ CMSG_CALENDAR_COPY_EVENT = 0x3676,
+ CMSG_CALENDAR_EVENT_SIGN_UP = 0x3679,
+ CMSG_CALENDAR_GET = 0x366D,
+ CMSG_CALENDAR_GET_EVENT = 0x366E,
+ CMSG_CALENDAR_GET_NUM_PENDING = 0x3678,
+ CMSG_CALENDAR_INVITE = 0x3670,
+ CMSG_CALENDAR_MODERATOR_STATUS = 0x3674,
+ CMSG_CALENDAR_REMOVE_EVENT = 0x3675,
+ CMSG_CALENDAR_REMOVE_INVITE = 0x3671,
+ CMSG_CALENDAR_RSVP = 0x3672,
+ CMSG_CALENDAR_STATUS = 0x3673,
+ CMSG_CALENDAR_UPDATE_EVENT = 0x367C,
CMSG_CANCEL_AURA = 0x31AE,
- CMSG_CANCEL_AUTO_REPEAT_SPELL = 0x34F7,
- CMSG_CANCEL_CAST = 0x32BD,
- CMSG_CANCEL_CHANNELLING = 0x3280,
- CMSG_CANCEL_GROWTH_AURA = 0x3288,
- CMSG_CANCEL_MASTER_LOOT_ROLL = 0x321B,
+ CMSG_CANCEL_AUTO_REPEAT_SPELL = 0x34F6,
+ CMSG_CANCEL_CAST = 0x32C8,
+ CMSG_CANCEL_CHANNELLING = 0x3289,
+ CMSG_CANCEL_GROWTH_AURA = 0x3291,
+ CMSG_CANCEL_MASTER_LOOT_ROLL = 0x321E,
CMSG_CANCEL_MOD_SPEED_NO_CONTROL_AURAS = 0x31AD,
- CMSG_CANCEL_MOUNT_AURA = 0x329B,
+ CMSG_CANCEL_MOUNT_AURA = 0x32A4,
CMSG_CANCEL_QUEUED_SPELL = 0x317F,
- CMSG_CANCEL_TEMP_ENCHANTMENT = 0x3502,
+ CMSG_CANCEL_TEMP_ENCHANTMENT = 0x3501,
CMSG_CANCEL_TRADE = 0x315C,
- CMSG_CAN_DUEL = 0x365F,
- CMSG_CAN_REDEEM_TOKEN_FOR_BALANCE = 0x3703,
- CMSG_CAST_SPELL = 0x32BA,
+ CMSG_CAN_DUEL = 0x3660,
+ CMSG_CAN_REDEEM_TOKEN_FOR_BALANCE = 0x3705,
+ CMSG_CAST_SPELL = 0x32C5,
CMSG_CHALLENGE_MODE_REQUEST_LEADERS = 0x305E,
- CMSG_CHANGE_BAG_SLOT_FLAG = 0x3354,
- CMSG_CHANGE_BANK_BAG_SLOT_FLAG = 0x3355,
- CMSG_CHANGE_MONUMENT_APPEARANCE = 0x3335,
- CMSG_CHANGE_REALM_TICKET = 0x36F5,
- CMSG_CHANGE_SUB_GROUP = 0x3649,
- CMSG_CHARACTER_CHECK_UPGRADE = 0x36C1,
- CMSG_CHARACTER_RENAME_REQUEST = 0x36BC,
- CMSG_CHARACTER_UPGRADE_MANUAL_UNREVOKE_REQUEST = 0x36BF,
- CMSG_CHARACTER_UPGRADE_START = 0x36C0,
- CMSG_CHAR_CUSTOMIZE = 0x3689,
- CMSG_CHAR_DELETE = 0x3699,
- CMSG_CHAR_RACE_OR_FACTION_CHANGE = 0x368F,
+ CMSG_CHANGE_BAG_SLOT_FLAG = 0x3361,
+ CMSG_CHANGE_BANK_BAG_SLOT_FLAG = 0x3362,
+ CMSG_CHANGE_MONUMENT_APPEARANCE = 0x3342,
+ CMSG_CHANGE_REALM_TICKET = 0x36F7,
+ CMSG_CHANGE_SUB_GROUP = 0x364A,
+ CMSG_CHARACTER_CHECK_UPGRADE = 0x36C3,
+ CMSG_CHARACTER_RENAME_REQUEST = 0x36BE,
+ CMSG_CHARACTER_UPGRADE_MANUAL_UNREVOKE_REQUEST = 0x36C1,
+ CMSG_CHARACTER_UPGRADE_START = 0x36C2,
+ CMSG_CHAR_CUSTOMIZE = 0x368A,
+ CMSG_CHAR_DELETE = 0x369B,
+ CMSG_CHAR_RACE_OR_FACTION_CHANGE = 0x3690,
CMSG_CHAT_ADDON_MESSAGE = 0x3802,
CMSG_CHAT_ADDON_MESSAGE_TARGETED = 0x3803,
CMSG_CHAT_CAN_LOCAL_WHISPER_TARGET_REQUEST = 0x380A,
@@ -237,298 +242,301 @@ enum OpcodeClient : uint16
CMSG_CHAT_REPORT_FILTERED = 0x37E0,
CMSG_CHAT_REPORT_IGNORED = 0x37DF,
CMSG_CHAT_UNREGISTER_ALL_ADDON_PREFIXES = 0x37E2,
- CMSG_CHECK_CHARACTER_NAME_AVAILABILITY = 0x3642,
- CMSG_CHECK_IS_ADVENTURE_MAP_POI_VALID = 0x3259,
- CMSG_CHOICE_RESPONSE = 0x32C2,
- CMSG_CHROMIE_TIME_SELECT_EXPANSION = 0x33E0,
- CMSG_CLAIM_WEEKLY_REWARD = 0x33BC,
- CMSG_CLASS_TALENTS_DELETE_CONFIG = 0x341B,
- CMSG_CLASS_TALENTS_NOTIFY_EMPTY_CONFIG = 0x3213,
- CMSG_CLASS_TALENTS_NOTIFY_VALIDATION_FAILED = 0x341D,
- CMSG_CLASS_TALENTS_RENAME_CONFIG = 0x341A,
- CMSG_CLASS_TALENTS_REQUEST_NEW_CONFIG = 0x3419,
- CMSG_CLASS_TALENTS_SET_STARTER_BUILD_ACTIVE = 0x341E,
- CMSG_CLASS_TALENTS_SET_USES_SHARED_ACTION_BARS = 0x3212,
+ CMSG_CHECK_CHARACTER_NAME_AVAILABILITY = 0x3643,
+ CMSG_CHECK_IS_ADVENTURE_MAP_POI_VALID = 0x3261,
+ CMSG_CHOICE_RESPONSE = 0x32CD,
+ CMSG_CHROMIE_TIME_SELECT_EXPANSION = 0x33D7,
+ CMSG_CLAIM_WEEKLY_REWARD = 0x33B4,
+ CMSG_CLASS_TALENTS_DELETE_CONFIG = 0x3410,
+ CMSG_CLASS_TALENTS_NOTIFY_EMPTY_CONFIG = 0x3216,
+ CMSG_CLASS_TALENTS_NOTIFY_VALIDATION_FAILED = 0x3412,
+ CMSG_CLASS_TALENTS_RENAME_CONFIG = 0x340F,
+ CMSG_CLASS_TALENTS_REQUEST_NEW_CONFIG = 0x340E,
+ CMSG_CLASS_TALENTS_SET_STARTER_BUILD_ACTIVE = 0x3413,
+ CMSG_CLASS_TALENTS_SET_USES_SHARED_ACTION_BARS = 0x3215,
CMSG_CLEAR_NEW_APPEARANCE = 0x3129,
CMSG_CLEAR_RAID_MARKER = 0x31A6,
CMSG_CLEAR_TRADE_ITEM = 0x315E,
CMSG_CLIENT_PORT_GRAVEYARD = 0x353C,
CMSG_CLOSE_INTERACTION = 0x349A,
- CMSG_CLOSE_QUEST_CHOICE = 0x32C3,
- CMSG_CLOSE_RUNEFORGE_INTERACTION = 0x33E8,
- CMSG_CLOSE_TRAIT_SYSTEM_INTERACTION = 0x341F,
- CMSG_CLUB_FINDER_APPLICATION_RESPONSE = 0x371A,
- CMSG_CLUB_FINDER_GET_APPLICANTS_LIST = 0x3718,
- CMSG_CLUB_FINDER_POST = 0x3715,
- CMSG_CLUB_FINDER_REQUEST_CLUBS_DATA = 0x371C,
- CMSG_CLUB_FINDER_REQUEST_CLUBS_LIST = 0x3716,
- CMSG_CLUB_FINDER_REQUEST_MEMBERSHIP_TO_CLUB = 0x3717,
- CMSG_CLUB_FINDER_REQUEST_PENDING_CLUBS_LIST = 0x371B,
- CMSG_CLUB_FINDER_REQUEST_SUBSCRIBED_CLUB_POSTING_IDS = 0x371D,
- CMSG_CLUB_FINDER_RESPOND_TO_APPLICANT = 0x3719,
- CMSG_CLUB_FINDER_WHISPER_APPLICANT_REQUEST = 0x3739,
- CMSG_CLUB_PRESENCE_SUBSCRIBE = 0x36F2,
- CMSG_COLLECTION_ITEM_SET_FAVORITE = 0x3630,
+ CMSG_CLOSE_QUEST_CHOICE = 0x32CE,
+ CMSG_CLOSE_RUNEFORGE_INTERACTION = 0x33DF,
+ CMSG_CLOSE_TRAIT_SYSTEM_INTERACTION = 0x3414,
+ CMSG_CLUB_FINDER_APPLICATION_RESPONSE = 0x371C,
+ CMSG_CLUB_FINDER_GET_APPLICANTS_LIST = 0x371A,
+ CMSG_CLUB_FINDER_POST = 0x3717,
+ CMSG_CLUB_FINDER_REQUEST_CLUBS_DATA = 0x371E,
+ CMSG_CLUB_FINDER_REQUEST_CLUBS_LIST = 0x3718,
+ CMSG_CLUB_FINDER_REQUEST_MEMBERSHIP_TO_CLUB = 0x3719,
+ CMSG_CLUB_FINDER_REQUEST_PENDING_CLUBS_LIST = 0x371D,
+ CMSG_CLUB_FINDER_REQUEST_SUBSCRIBED_CLUB_POSTING_IDS = 0x371F,
+ CMSG_CLUB_FINDER_RESPOND_TO_APPLICANT = 0x371B,
+ CMSG_CLUB_FINDER_WHISPER_APPLICANT_REQUEST = 0x373B,
+ CMSG_CLUB_PRESENCE_SUBSCRIBE = 0x36F4,
+ CMSG_COLLECTION_ITEM_SET_FAVORITE = 0x3631,
CMSG_COMMENTATOR_ENABLE = 0x35F0,
CMSG_COMMENTATOR_ENTER_INSTANCE = 0x35F4,
CMSG_COMMENTATOR_EXIT_INSTANCE = 0x35F5,
CMSG_COMMENTATOR_GET_MAP_INFO = 0x35F1,
CMSG_COMMENTATOR_GET_PLAYER_COOLDOWNS = 0x35F3,
CMSG_COMMENTATOR_GET_PLAYER_INFO = 0x35F2,
- CMSG_COMMENTATOR_SPECTATE = 0x3737,
+ CMSG_COMMENTATOR_SPECTATE = 0x3739,
CMSG_COMMENTATOR_START_WARGAME = 0x35EF,
- CMSG_COMMERCE_TOKEN_GET_COUNT = 0x36DF,
- CMSG_COMMERCE_TOKEN_GET_LOG = 0x36E9,
- CMSG_COMMERCE_TOKEN_GET_MARKET_PRICE = 0x36E0,
- CMSG_COMPLAINT = 0x3669,
+ CMSG_COMMERCE_TOKEN_GET_COUNT = 0x36E1,
+ CMSG_COMMERCE_TOKEN_GET_LOG = 0x36EB,
+ CMSG_COMMERCE_TOKEN_GET_MARKET_PRICE = 0x36E2,
+ CMSG_COMPLAINT = 0x366A,
CMSG_COMPLETE_CINEMATIC = 0x355A,
- CMSG_COMPLETE_MOVIE = 0x34ED,
+ CMSG_COMPLETE_MOVIE = 0x34EC,
CMSG_CONFIRM_ARTIFACT_RESPEC = 0x31AB,
- CMSG_CONFIRM_RESPEC_WIPE = 0x3215,
+ CMSG_CONFIRM_RESPEC_WIPE = 0x3218,
CMSG_CONNECT_TO_FAILED = 0x35D4,
- CMSG_CONSUMABLE_TOKEN_BUY = 0x36E4,
- CMSG_CONSUMABLE_TOKEN_BUY_AT_MARKET_PRICE = 0x36E5,
- CMSG_CONSUMABLE_TOKEN_CAN_VETERAN_BUY = 0x36E3,
- CMSG_CONSUMABLE_TOKEN_REDEEM = 0x36E7,
- CMSG_CONSUMABLE_TOKEN_REDEEM_CONFIRMATION = 0x36E8,
- CMSG_CONTENT_TRACKING_START_TRACKING = 0x342F,
- CMSG_CONTENT_TRACKING_STOP_TRACKING = 0x3430,
+ CMSG_CONSUMABLE_TOKEN_BUY = 0x36E6,
+ CMSG_CONSUMABLE_TOKEN_BUY_AT_MARKET_PRICE = 0x36E7,
+ CMSG_CONSUMABLE_TOKEN_CAN_VETERAN_BUY = 0x36E5,
+ CMSG_CONSUMABLE_TOKEN_REDEEM = 0x36E9,
+ CMSG_CONSUMABLE_TOKEN_REDEEM_CONFIRMATION = 0x36EA,
+ CMSG_CONTENT_TRACKING_START_TRACKING = 0x3424,
+ CMSG_CONTENT_TRACKING_STOP_TRACKING = 0x3425,
CMSG_CONTRIBUTION_CONTRIBUTE = 0x356F,
CMSG_CONTRIBUTION_LAST_UPDATE_REQUEST = 0x3570,
CMSG_CONVERSATION_CINEMATIC_READY = 0x355C,
CMSG_CONVERSATION_LINE_STARTED = 0x355B,
- CMSG_CONVERT_RAID = 0x364B,
+ CMSG_CONVERT_ITEM_TO_BIND_TO_ACCOUNT = 0x3435,
+ CMSG_CONVERT_RAID = 0x364C,
CMSG_COVENANT_RENOWN_REQUEST_CATCHUP_STATE = 0x3583,
- CMSG_CRAFTING_ORDER_CANCEL = 0x358E,
- CMSG_CRAFTING_ORDER_CLAIM = 0x358B,
+ CMSG_CRAFTING_ORDER_CANCEL = 0x358F,
+ CMSG_CRAFTING_ORDER_CLAIM = 0x358C,
CMSG_CRAFTING_ORDER_CREATE = 0x3588,
- CMSG_CRAFTING_ORDER_FULFILL = 0x358D,
+ CMSG_CRAFTING_ORDER_FULFILL = 0x358E,
CMSG_CRAFTING_ORDER_LIST_CRAFTER_ORDERS = 0x358A,
CMSG_CRAFTING_ORDER_LIST_MY_ORDERS = 0x3589,
- CMSG_CRAFTING_ORDER_REJECT = 0x358F,
- CMSG_CRAFTING_ORDER_RELEASE = 0x358C,
- CMSG_CRAFTING_ORDER_REPORT_PLAYER = 0x3590,
- CMSG_CRAFTING_ORDER_UPDATE_IGNORE_LIST = 0x3591,
- CMSG_CREATE_CHARACTER = 0x3641,
- CMSG_CREATE_SHIPMENT = 0x3320,
+ CMSG_CRAFTING_ORDER_REJECT = 0x3590,
+ CMSG_CRAFTING_ORDER_RELEASE = 0x358D,
+ CMSG_CRAFTING_ORDER_REPORT_PLAYER = 0x3591,
+ CMSG_CRAFTING_ORDER_UPDATE_IGNORE_LIST = 0x3592,
+ CMSG_CREATE_CHARACTER = 0x3642,
+ CMSG_CREATE_SHIPMENT = 0x332B,
CMSG_DB_QUERY_BULK = 0x35E4,
- CMSG_DECLINE_GUILD_INVITES = 0x352F,
+ CMSG_DECLINE_GUILD_INVITES = 0x352E,
CMSG_DECLINE_PETITION = 0x3549,
- CMSG_DELETE_EQUIPMENT_SET = 0x351B,
- CMSG_DEL_FRIEND = 0x36CC,
- CMSG_DEL_IGNORE = 0x36D0,
- CMSG_DEPOSIT_REAGENT_BANK = 0x335E,
- CMSG_DESTROY_ITEM = 0x32B0,
- CMSG_DF_BOOT_PLAYER_VOTE = 0x3617,
- CMSG_DF_CONFIRM_EXPAND_SEARCH = 0x3609,
- CMSG_DF_GET_JOIN_STATUS = 0x3615,
- CMSG_DF_GET_SYSTEM_INFO = 0x3614,
- CMSG_DF_JOIN = 0x360A,
- CMSG_DF_LEAVE = 0x3613,
- CMSG_DF_PROPOSAL_RESPONSE = 0x3608,
- CMSG_DF_READY_CHECK_RESPONSE = 0x361B,
- CMSG_DF_SET_ROLES = 0x3616,
- CMSG_DF_TELEPORT = 0x3618,
- CMSG_DISCARDED_TIME_SYNC_ACKS = 0x3A41,
- CMSG_DISMISS_CRITTER = 0x3509,
- CMSG_DO_COUNTDOWN = 0x3714,
- CMSG_DO_MASTER_LOOT_ROLL = 0x321A,
- CMSG_DO_READY_CHECK = 0x3631,
- CMSG_DUEL_RESPONSE = 0x34F2,
- CMSG_EJECT_PASSENGER = 0x324E,
+ CMSG_DELETE_EQUIPMENT_SET = 0x351A,
+ CMSG_DELVE_TELEPORT_OUT = 0x359E,
+ CMSG_DEL_FRIEND = 0x36CE,
+ CMSG_DEL_IGNORE = 0x36D2,
+ CMSG_DEPOSIT_REAGENT_BANK = 0x336B,
+ CMSG_DESTROY_ITEM = 0x32BB,
+ CMSG_DF_BOOT_PLAYER_VOTE = 0x3618,
+ CMSG_DF_CONFIRM_EXPAND_SEARCH = 0x360A,
+ CMSG_DF_GET_JOIN_STATUS = 0x3616,
+ CMSG_DF_GET_SYSTEM_INFO = 0x3615,
+ CMSG_DF_JOIN = 0x360B,
+ CMSG_DF_LEAVE = 0x3614,
+ CMSG_DF_PROPOSAL_RESPONSE = 0x3609,
+ CMSG_DF_READY_CHECK_RESPONSE = 0x361C,
+ CMSG_DF_SET_ROLES = 0x3617,
+ CMSG_DF_TELEPORT = 0x3619,
+ CMSG_DISCARDED_TIME_SYNC_ACKS = 0x3A42,
+ CMSG_DISMISS_CRITTER = 0x3508,
+ CMSG_DO_COUNTDOWN = 0x3716,
+ CMSG_DO_MASTER_LOOT_ROLL = 0x321D,
+ CMSG_DO_READY_CHECK = 0x3632,
+ CMSG_DUEL_RESPONSE = 0x34F1,
+ CMSG_EJECT_PASSENGER = 0x3256,
CMSG_EMOTE = 0x3556,
CMSG_ENABLE_NAGLE = 0x377F,
CMSG_ENABLE_TAXI_NODE = 0x34B1,
- CMSG_ENGINE_SURVEY = 0x36DE,
+ CMSG_ENGINE_SURVEY = 0x36E0,
CMSG_ENTER_ENCRYPTED_MODE_ACK = 0x377B,
CMSG_ENUM_CHARACTERS = 0x35E8,
- CMSG_ENUM_CHARACTERS_DELETED_BY_CLIENT = 0x36D8,
- CMSG_FAR_SIGHT = 0x34F8,
+ CMSG_ENUM_CHARACTERS_DELETED_BY_CLIENT = 0x36DA,
+ CMSG_FAR_SIGHT = 0x34F7,
CMSG_GAME_EVENT_DEBUG_DISABLE = 0x31B2,
CMSG_GAME_EVENT_DEBUG_ENABLE = 0x31B1,
- CMSG_GAME_OBJ_REPORT_USE = 0x34FF,
- CMSG_GAME_OBJ_USE = 0x34FE,
- CMSG_GARRISON_ADD_FOLLOWER_HEALTH = 0x331B,
- CMSG_GARRISON_ASSIGN_FOLLOWER_TO_BUILDING = 0x3301,
- CMSG_GARRISON_CANCEL_CONSTRUCTION = 0x32EE,
- CMSG_GARRISON_CHECK_UPGRADEABLE = 0x3350,
- CMSG_GARRISON_COMPLETE_MISSION = 0x3342,
- CMSG_GARRISON_FULLY_HEAL_ALL_FOLLOWERS = 0x331C,
- CMSG_GARRISON_GENERATE_RECRUITS = 0x3304,
- CMSG_GARRISON_GET_CLASS_SPEC_CATEGORY_INFO = 0x3313,
- CMSG_GARRISON_GET_MAP_DATA = 0x331A,
- CMSG_GARRISON_GET_MISSION_REWARD = 0x3374,
- CMSG_GARRISON_LEARN_TALENT = 0x330F,
- CMSG_GARRISON_MISSION_BONUS_ROLL = 0x3344,
- CMSG_GARRISON_PURCHASE_BUILDING = 0x32EA,
- CMSG_GARRISON_RECRUIT_FOLLOWER = 0x3306,
- CMSG_GARRISON_REMOVE_FOLLOWER = 0x3339,
- CMSG_GARRISON_REMOVE_FOLLOWER_FROM_BUILDING = 0x3302,
- CMSG_GARRISON_RENAME_FOLLOWER = 0x3303,
- CMSG_GARRISON_REQUEST_BLUEPRINT_AND_SPECIALIZATION_DATA = 0x32E9,
- CMSG_GARRISON_REQUEST_SHIPMENT_INFO = 0x331E,
- CMSG_GARRISON_RESEARCH_TALENT = 0x3307,
- CMSG_GARRISON_SET_BUILDING_ACTIVE = 0x32EB,
- CMSG_GARRISON_SET_FOLLOWER_FAVORITE = 0x32FF,
- CMSG_GARRISON_SET_FOLLOWER_INACTIVE = 0x32F7,
- CMSG_GARRISON_SET_RECRUITMENT_PREFERENCES = 0x3305,
- CMSG_GARRISON_SOCKET_TALENT = 0x33F5,
- CMSG_GARRISON_START_MISSION = 0x3341,
- CMSG_GARRISON_SWAP_BUILDINGS = 0x32EF,
+ CMSG_GAME_OBJ_REPORT_USE = 0x34FE,
+ CMSG_GAME_OBJ_USE = 0x34FD,
+ CMSG_GARRISON_ADD_FOLLOWER_HEALTH = 0x3326,
+ CMSG_GARRISON_ASSIGN_FOLLOWER_TO_BUILDING = 0x330C,
+ CMSG_GARRISON_CANCEL_CONSTRUCTION = 0x32F9,
+ CMSG_GARRISON_CHECK_UPGRADEABLE = 0x335D,
+ CMSG_GARRISON_COMPLETE_MISSION = 0x334F,
+ CMSG_GARRISON_FULLY_HEAL_ALL_FOLLOWERS = 0x3327,
+ CMSG_GARRISON_GENERATE_RECRUITS = 0x330F,
+ CMSG_GARRISON_GET_CLASS_SPEC_CATEGORY_INFO = 0x331E,
+ CMSG_GARRISON_GET_MAP_DATA = 0x3325,
+ CMSG_GARRISON_GET_MISSION_REWARD = 0x3381,
+ CMSG_GARRISON_LEARN_TALENT = 0x331A,
+ CMSG_GARRISON_MISSION_BONUS_ROLL = 0x3351,
+ CMSG_GARRISON_PURCHASE_BUILDING = 0x32F5,
+ CMSG_GARRISON_RECRUIT_FOLLOWER = 0x3311,
+ CMSG_GARRISON_REMOVE_FOLLOWER = 0x3346,
+ CMSG_GARRISON_REMOVE_FOLLOWER_FROM_BUILDING = 0x330D,
+ CMSG_GARRISON_RENAME_FOLLOWER = 0x330E,
+ CMSG_GARRISON_REQUEST_BLUEPRINT_AND_SPECIALIZATION_DATA = 0x32F4,
+ CMSG_GARRISON_REQUEST_SHIPMENT_INFO = 0x3329,
+ CMSG_GARRISON_RESEARCH_TALENT = 0x3312,
+ CMSG_GARRISON_SET_BUILDING_ACTIVE = 0x32F6,
+ CMSG_GARRISON_SET_FOLLOWER_FAVORITE = 0x330A,
+ CMSG_GARRISON_SET_FOLLOWER_INACTIVE = 0x3302,
+ CMSG_GARRISON_SET_RECRUITMENT_PREFERENCES = 0x3310,
+ CMSG_GARRISON_SOCKET_TALENT = 0x33EC,
+ CMSG_GARRISON_START_MISSION = 0x334E,
+ CMSG_GARRISON_SWAP_BUILDINGS = 0x32FA,
CMSG_GENERATE_RANDOM_CHARACTER_NAME = 0x35E7,
- CMSG_GET_ACCOUNT_CHARACTER_LIST = 0x36B1,
- CMSG_GET_ACCOUNT_NOTIFICATIONS = 0x3730,
- CMSG_GET_GARRISON_INFO = 0x32E4,
+ CMSG_GET_ACCOUNT_CHARACTER_LIST = 0x36B3,
+ CMSG_GET_ACCOUNT_NOTIFICATIONS = 0x3732,
+ CMSG_GET_GARRISON_INFO = 0x32EF,
CMSG_GET_ITEM_PURCHASE_DATA = 0x3544,
- CMSG_GET_LANDING_PAGE_SHIPMENTS = 0x331F,
- CMSG_GET_MIRROR_IMAGE_DATA = 0x32B4,
+ CMSG_GET_LANDING_PAGE_SHIPMENTS = 0x332A,
+ CMSG_GET_MIRROR_IMAGE_DATA = 0x32BF,
CMSG_GET_PVP_OPTIONS_ENABLED = 0x35EE,
- CMSG_GET_RAF_ACCOUNT_INFO = 0x371E,
- CMSG_GET_REMAINING_GAME_TIME = 0x36E6,
- CMSG_GET_TROPHY_LIST = 0x3332,
- CMSG_GET_UNDELETE_CHARACTER_COOLDOWN_STATUS = 0x36DA,
- CMSG_GET_VAS_ACCOUNT_CHARACTER_LIST = 0x36EB,
- CMSG_GET_VAS_TRANSFER_TARGET_REALM_LIST = 0x36EC,
- CMSG_GM_TICKET_ACKNOWLEDGE_SURVEY = 0x368D,
- CMSG_GM_TICKET_GET_CASE_STATUS = 0x368C,
- CMSG_GM_TICKET_GET_SYSTEM_STATUS = 0x368B,
+ CMSG_GET_RAF_ACCOUNT_INFO = 0x3720,
+ CMSG_GET_REGIONWIDE_CHARACTER_RESTRICTION_AND_MAIL_DATA = 0x375E,
+ CMSG_GET_REMAINING_GAME_TIME = 0x36E8,
+ CMSG_GET_TROPHY_LIST = 0x333F,
+ CMSG_GET_UNDELETE_CHARACTER_COOLDOWN_STATUS = 0x36DC,
+ CMSG_GET_VAS_ACCOUNT_CHARACTER_LIST = 0x36ED,
+ CMSG_GET_VAS_TRANSFER_TARGET_REALM_LIST = 0x36EE,
+ CMSG_GM_TICKET_ACKNOWLEDGE_SURVEY = 0x368E,
+ CMSG_GM_TICKET_GET_CASE_STATUS = 0x368D,
+ CMSG_GM_TICKET_GET_SYSTEM_STATUS = 0x368C,
CMSG_GOSSIP_REFRESH_OPTIONS = 0x3582,
CMSG_GOSSIP_SELECT_OPTION = 0x349B,
- CMSG_GUILD_ADD_BATTLENET_FRIEND = 0x5036,
- CMSG_GUILD_ADD_RANK = 0x501B,
+ CMSG_GUILD_ADD_BATTLENET_FRIEND = 0x5034,
+ CMSG_GUILD_ADD_RANK = 0x5019,
CMSG_GUILD_ASSIGN_MEMBER_RANK = 0x5016,
- CMSG_GUILD_AUTO_DECLINE_INVITATION = 0x5018,
CMSG_GUILD_BANK_ACTIVATE = 0x34BE,
CMSG_GUILD_BANK_BUY_TAB = 0x34CC,
CMSG_GUILD_BANK_DEPOSIT_MONEY = 0x34CE,
- CMSG_GUILD_BANK_LOG_QUERY = 0x502F,
+ CMSG_GUILD_BANK_LOG_QUERY = 0x502D,
CMSG_GUILD_BANK_QUERY_TAB = 0x34CB,
- CMSG_GUILD_BANK_REMAINING_WITHDRAW_MONEY_QUERY = 0x5030,
- CMSG_GUILD_BANK_SET_TAB_TEXT = 0x5033,
- CMSG_GUILD_BANK_TEXT_QUERY = 0x5034,
+ CMSG_GUILD_BANK_REMAINING_WITHDRAW_MONEY_QUERY = 0x502E,
+ CMSG_GUILD_BANK_SET_TAB_TEXT = 0x5031,
+ CMSG_GUILD_BANK_TEXT_QUERY = 0x5032,
CMSG_GUILD_BANK_UPDATE_TAB = 0x34CD,
CMSG_GUILD_BANK_WITHDRAW_MONEY = 0x34CF,
- CMSG_GUILD_CHALLENGE_UPDATE_REQUEST = 0x502D,
- CMSG_GUILD_CHANGE_NAME_REQUEST = 0x502E,
- CMSG_GUILD_DECLINE_INVITATION = 0x5017,
- CMSG_GUILD_DELETE = 0x501F,
- CMSG_GUILD_DELETE_RANK = 0x501C,
+ CMSG_GUILD_CHALLENGE_UPDATE_REQUEST = 0x502B,
+ CMSG_GUILD_CHANGE_NAME_REQUEST = 0x502C,
+ CMSG_GUILD_DECLINE_INVITATION = 0x35FE,
+ CMSG_GUILD_DELETE = 0x501D,
+ CMSG_GUILD_DELETE_RANK = 0x501A,
CMSG_GUILD_DEMOTE_MEMBER = 0x5015,
- CMSG_GUILD_EVENT_LOG_QUERY = 0x5032,
- CMSG_GUILD_GET_ACHIEVEMENT_MEMBERS = 0x5028,
- CMSG_GUILD_GET_RANKS = 0x5024,
- CMSG_GUILD_GET_ROSTER = 0x502A,
- CMSG_GUILD_INVITE_BY_NAME = 0x3607,
- CMSG_GUILD_LEAVE = 0x5019,
- CMSG_GUILD_NEWS_UPDATE_STICKY = 0x5025,
- CMSG_GUILD_OFFICER_REMOVE_MEMBER = 0x501A,
- CMSG_GUILD_PERMISSIONS_QUERY = 0x5031,
+ CMSG_GUILD_EVENT_LOG_QUERY = 0x5030,
+ CMSG_GUILD_GET_ACHIEVEMENT_MEMBERS = 0x5026,
+ CMSG_GUILD_GET_RANKS = 0x5022,
+ CMSG_GUILD_GET_ROSTER = 0x5028,
+ CMSG_GUILD_INVITE_BY_NAME = 0x3608,
+ CMSG_GUILD_LEAVE = 0x5017,
+ CMSG_GUILD_NEWS_UPDATE_STICKY = 0x5023,
+ CMSG_GUILD_OFFICER_REMOVE_MEMBER = 0x5018,
+ CMSG_GUILD_PERMISSIONS_QUERY = 0x502F,
CMSG_GUILD_PROMOTE_MEMBER = 0x5014,
- CMSG_GUILD_QUERY_MEMBERS_FOR_RECIPE = 0x5022,
- CMSG_GUILD_QUERY_MEMBER_RECIPES = 0x5020,
- CMSG_GUILD_QUERY_NEWS = 0x5023,
- CMSG_GUILD_QUERY_RECIPES = 0x5021,
- CMSG_GUILD_REPLACE_GUILD_MASTER = 0x5035,
- CMSG_GUILD_SET_ACHIEVEMENT_TRACKING = 0x5026,
- CMSG_GUILD_SET_FOCUSED_ACHIEVEMENT = 0x5027,
- CMSG_GUILD_SET_GUILD_MASTER = 0x36C3,
- CMSG_GUILD_SET_MEMBER_NOTE = 0x5029,
- CMSG_GUILD_SET_RANK_PERMISSIONS = 0x501E,
- CMSG_GUILD_SHIFT_RANK = 0x501D,
- CMSG_GUILD_UPDATE_INFO_TEXT = 0x502C,
- CMSG_GUILD_UPDATE_MOTD_TEXT = 0x502B,
- CMSG_HEARTH_AND_RESURRECT = 0x3517,
- CMSG_HIDE_QUEST_CHOICE = 0x32C4,
+ CMSG_GUILD_QUERY_MEMBERS_FOR_RECIPE = 0x5020,
+ CMSG_GUILD_QUERY_MEMBER_RECIPES = 0x501E,
+ CMSG_GUILD_QUERY_NEWS = 0x5021,
+ CMSG_GUILD_QUERY_RECIPES = 0x501F,
+ CMSG_GUILD_REPLACE_GUILD_MASTER = 0x5033,
+ CMSG_GUILD_SET_ACHIEVEMENT_TRACKING = 0x5024,
+ CMSG_GUILD_SET_FOCUSED_ACHIEVEMENT = 0x5025,
+ CMSG_GUILD_SET_GUILD_MASTER = 0x36C5,
+ CMSG_GUILD_SET_MEMBER_NOTE = 0x5027,
+ CMSG_GUILD_SET_RANK_PERMISSIONS = 0x501C,
+ CMSG_GUILD_SHIFT_RANK = 0x501B,
+ CMSG_GUILD_UPDATE_INFO_TEXT = 0x502A,
+ CMSG_GUILD_UPDATE_MOTD_TEXT = 0x5029,
+ CMSG_HEARTH_AND_RESURRECT = 0x3516,
+ CMSG_HIDE_QUEST_CHOICE = 0x32CF,
CMSG_HOTFIX_REQUEST = 0x35E5,
CMSG_IGNORE_TRADE = 0x3159,
CMSG_INITIATE_ROLE_POLL = 0x35DA,
CMSG_INITIATE_TRADE = 0x3156,
CMSG_INSPECT = 0x353E,
- CMSG_INSTANCE_LOCK_RESPONSE = 0x351C,
- CMSG_ISLAND_QUEUE = 0x33B8,
+ CMSG_INSTANCE_LOCK_RESPONSE = 0x351B,
+ CMSG_ISLAND_QUEUE = 0x33B0,
CMSG_ITEM_PURCHASE_REFUND = 0x3545,
- CMSG_ITEM_TEXT_QUERY = 0x3351,
- CMSG_JOIN_PET_BATTLE_QUEUE = 0x31DE,
+ CMSG_ITEM_TEXT_QUERY = 0x335E,
+ CMSG_JOIN_PET_BATTLE_QUEUE = 0x31E0,
CMSG_JOIN_RATED_BATTLEGROUND = 0x3179,
- CMSG_KEEP_ALIVE = 0x367C,
- CMSG_KEYBOUND_OVERRIDE = 0x3230,
+ CMSG_KEEP_ALIVE = 0x367D,
+ CMSG_KEYBOUND_OVERRIDE = 0x3233,
CMSG_LATENCY_REPORT = 0x3785,
CMSG_LEARN_PVP_TALENTS = 0x356E,
CMSG_LEARN_TALENTS = 0x356C,
- CMSG_LEAVE_GROUP = 0x3646,
- CMSG_LEAVE_PET_BATTLE_QUEUE = 0x31DF,
- CMSG_LFG_LIST_APPLY_TO_GROUP = 0x360E,
- CMSG_LFG_LIST_CANCEL_APPLICATION = 0x360F,
- CMSG_LFG_LIST_DECLINE_APPLICANT = 0x3610,
- CMSG_LFG_LIST_GET_STATUS = 0x360C,
- CMSG_LFG_LIST_INVITE_APPLICANT = 0x3611,
- CMSG_LFG_LIST_INVITE_RESPONSE = 0x3612,
- CMSG_LFG_LIST_JOIN = 0x3397,
- CMSG_LFG_LIST_LEAVE = 0x360B,
- CMSG_LFG_LIST_SEARCH = 0x360D,
- CMSG_LFG_LIST_UPDATE_REQUEST = 0x3398,
+ CMSG_LEAVE_GROUP = 0x3647,
+ CMSG_LEAVE_PET_BATTLE_QUEUE = 0x31E1,
+ CMSG_LFG_LIST_APPLY_TO_GROUP = 0x360F,
+ CMSG_LFG_LIST_CANCEL_APPLICATION = 0x3610,
+ CMSG_LFG_LIST_DECLINE_APPLICANT = 0x3611,
+ CMSG_LFG_LIST_GET_STATUS = 0x360D,
+ CMSG_LFG_LIST_INVITE_APPLICANT = 0x3612,
+ CMSG_LFG_LIST_INVITE_RESPONSE = 0x3613,
+ CMSG_LFG_LIST_JOIN = 0x33A4,
+ CMSG_LFG_LIST_LEAVE = 0x360C,
+ CMSG_LFG_LIST_SEARCH = 0x360E,
+ CMSG_LFG_LIST_UPDATE_REQUEST = 0x33A5,
CMSG_LIST_INVENTORY = 0x34A8,
- CMSG_LIVE_REGION_ACCOUNT_RESTORE = 0x36B4,
- CMSG_LIVE_REGION_CHARACTER_COPY = 0x36B3,
- CMSG_LIVE_REGION_GET_ACCOUNT_CHARACTER_LIST = 0x36B2,
- CMSG_LIVE_REGION_KEY_BINDINGS_COPY = 0x36B5,
+ CMSG_LIVE_REGION_ACCOUNT_RESTORE = 0x36B6,
+ CMSG_LIVE_REGION_CHARACTER_COPY = 0x36B5,
+ CMSG_LIVE_REGION_GET_ACCOUNT_CHARACTER_LIST = 0x36B4,
+ CMSG_LIVE_REGION_KEY_BINDINGS_COPY = 0x36B7,
CMSG_LOADING_SCREEN_NOTIFY = 0x35F8,
- CMSG_LOAD_SELECTED_TROPHY = 0x3333,
- CMSG_LOBBY_MATCHMAKER_ACCEPT_PARTY_INVITE = 0x373B,
- CMSG_LOBBY_MATCHMAKER_CREATE_CHARACTER = 0x3749,
- CMSG_LOBBY_MATCHMAKER_LEAVE_PARTY = 0x373E,
- CMSG_LOBBY_MATCHMAKER_PARTY_INVITE = 0x373A,
- CMSG_LOBBY_MATCHMAKER_PARTY_UNINVITE = 0x373D,
- CMSG_LOBBY_MATCHMAKER_REJECT_PARTY_INVITE = 0x373C,
- CMSG_LOBBY_MATCHMAKER_SET_PARTY_PLAYLIST_ENTRY = 0x373F,
- CMSG_LOBBY_MATCHMAKER_SET_PLAYER_READY = 0x3740,
- CMSG_LOGOUT_CANCEL = 0x34E8,
- CMSG_LOGOUT_INSTANT = 0x34E9,
- CMSG_LOGOUT_LOBBY_MATCHMAKER = 0x3595,
+ CMSG_LOAD_SELECTED_TROPHY = 0x3340,
+ CMSG_LOBBY_MATCHMAKER_ACCEPT_PARTY_INVITE = 0x373D,
+ CMSG_LOBBY_MATCHMAKER_CREATE_CHARACTER = 0x374B,
+ CMSG_LOBBY_MATCHMAKER_LEAVE_PARTY = 0x3740,
+ CMSG_LOBBY_MATCHMAKER_PARTY_INVITE = 0x373C,
+ CMSG_LOBBY_MATCHMAKER_PARTY_UNINVITE = 0x373F,
+ CMSG_LOBBY_MATCHMAKER_REJECT_PARTY_INVITE = 0x373E,
+ CMSG_LOBBY_MATCHMAKER_SET_PARTY_PLAYLIST_ENTRY = 0x3741,
+ CMSG_LOBBY_MATCHMAKER_SET_PLAYER_READY = 0x3742,
+ CMSG_LOGOUT_CANCEL = 0x34E7,
+ CMSG_LOGOUT_INSTANT = 0x34E8,
+ CMSG_LOGOUT_LOBBY_MATCHMAKER = 0x3596,
CMSG_LOGOUT_REQUEST = 0x34E6,
CMSG_LOG_DISCONNECT = 0x377D,
CMSG_LOG_STREAMING_ERROR = 0x3781,
- CMSG_LOOT_ITEM = 0x3218,
- CMSG_LOOT_MONEY = 0x3217,
- CMSG_LOOT_RELEASE = 0x321C,
- CMSG_LOOT_ROLL = 0x321D,
- CMSG_LOOT_UNIT = 0x3216,
- CMSG_LOW_LEVEL_RAID1 = 0x369D,
- CMSG_LOW_LEVEL_RAID2 = 0x3523,
+ CMSG_LOOT_ITEM = 0x321B,
+ CMSG_LOOT_MONEY = 0x321A,
+ CMSG_LOOT_RELEASE = 0x321F,
+ CMSG_LOOT_ROLL = 0x3220,
+ CMSG_LOOT_UNIT = 0x3219,
+ CMSG_LOW_LEVEL_RAID1 = 0x369F,
+ CMSG_LOW_LEVEL_RAID2 = 0x3522,
CMSG_MAIL_CREATE_TEXT_ITEM = 0x3550,
- CMSG_MAIL_DELETE = 0x3232,
+ CMSG_MAIL_DELETE = 0x3235,
CMSG_MAIL_GET_LIST = 0x354B,
CMSG_MAIL_MARK_AS_READ = 0x354F,
- CMSG_MAIL_RETURN_TO_SENDER = 0x3652,
+ CMSG_MAIL_RETURN_TO_SENDER = 0x3653,
CMSG_MAIL_TAKE_ITEM = 0x354D,
CMSG_MAIL_TAKE_MONEY = 0x354C,
- CMSG_MAKE_CONTITIONAL_APPEARANCE_PERMANENT = 0x3234,
- CMSG_MASTER_LOOT_ITEM = 0x3219,
+ CMSG_MAKE_CONTITIONAL_APPEARANCE_PERMANENT = 0x3237,
+ CMSG_MASTER_LOOT_ITEM = 0x321C,
CMSG_MERGE_GUILD_BANK_ITEM_WITH_GUILD_BANK_ITEM = 0x34C9,
CMSG_MERGE_GUILD_BANK_ITEM_WITH_ITEM = 0x34C6,
CMSG_MERGE_ITEM_WITH_GUILD_BANK_ITEM = 0x34C4,
- CMSG_MINIMAP_PING = 0x3648,
+ CMSG_MINIMAP_PING = 0x3649,
CMSG_MISSILE_TRAJECTORY_COLLISION = 0x318A,
CMSG_MOUNT_CLEAR_FANFARE = 0x3127,
- CMSG_MOUNT_SET_FAVORITE = 0x362F,
- CMSG_MOUNT_SPECIAL_ANIM = 0x329C,
- CMSG_MOVE_ADD_IMPULSE_ACK = 0x3A50,
- CMSG_MOVE_APPLY_INERTIA_ACK = 0x3A4E,
+ CMSG_MOUNT_SET_FAVORITE = 0x3630,
+ CMSG_MOUNT_SPECIAL_ANIM = 0x32A5,
+ CMSG_MOVE_ADD_IMPULSE_ACK = 0x3A51,
+ CMSG_MOVE_APPLY_INERTIA_ACK = 0x3A4F,
CMSG_MOVE_APPLY_MOVEMENT_FORCE_ACK = 0x3A15,
- CMSG_MOVE_CHANGE_TRANSPORT = 0x3A2F,
- CMSG_MOVE_CHANGE_VEHICLE_SEATS = 0x3A34,
- CMSG_MOVE_COLLISION_DISABLE_ACK = 0x3A39,
- CMSG_MOVE_COLLISION_ENABLE_ACK = 0x3A3A,
- CMSG_MOVE_DISMISS_VEHICLE = 0x3A33,
+ CMSG_MOVE_CHANGE_TRANSPORT = 0x3A30,
+ CMSG_MOVE_CHANGE_VEHICLE_SEATS = 0x3A35,
+ CMSG_MOVE_COLLISION_DISABLE_ACK = 0x3A3A,
+ CMSG_MOVE_COLLISION_ENABLE_ACK = 0x3A3B,
+ CMSG_MOVE_DISMISS_VEHICLE = 0x3A34,
CMSG_MOVE_DOUBLE_JUMP = 0x39EB,
CMSG_MOVE_ENABLE_DOUBLE_JUMP_ACK = 0x3A1E,
+ CMSG_MOVE_ENABLE_FULL_SPEED_TURNING_ACK = 0x3A65,
CMSG_MOVE_ENABLE_SWIM_TO_FLY_TRANS_ACK = 0x3A24,
CMSG_MOVE_FALL_LAND = 0x39FB,
CMSG_MOVE_FALL_RESET = 0x3A19,
CMSG_MOVE_FEATHER_FALL_ACK = 0x3A1C,
- CMSG_MOVE_FORCE_FLIGHT_BACK_SPEED_CHANGE_ACK = 0x3A2E,
- CMSG_MOVE_FORCE_FLIGHT_SPEED_CHANGE_ACK = 0x3A2D,
- CMSG_MOVE_FORCE_PITCH_RATE_CHANGE_ACK = 0x3A32,
+ CMSG_MOVE_FORCE_FLIGHT_BACK_SPEED_CHANGE_ACK = 0x3A2F,
+ CMSG_MOVE_FORCE_FLIGHT_SPEED_CHANGE_ACK = 0x3A2E,
+ CMSG_MOVE_FORCE_PITCH_RATE_CHANGE_ACK = 0x3A33,
CMSG_MOVE_FORCE_ROOT_ACK = 0x3A0E,
CMSG_MOVE_FORCE_RUN_BACK_SPEED_CHANGE_ACK = 0x3A0C,
CMSG_MOVE_FORCE_RUN_SPEED_CHANGE_ACK = 0x3A0B,
@@ -537,52 +545,51 @@ enum OpcodeClient : uint16
CMSG_MOVE_FORCE_TURN_RATE_CHANGE_ACK = 0x3A23,
CMSG_MOVE_FORCE_UNROOT_ACK = 0x3A0F,
CMSG_MOVE_FORCE_WALK_SPEED_CHANGE_ACK = 0x3A21,
- CMSG_MOVE_GRAVITY_DISABLE_ACK = 0x3A35,
- CMSG_MOVE_GRAVITY_ENABLE_ACK = 0x3A36,
+ CMSG_MOVE_GRAVITY_DISABLE_ACK = 0x3A36,
+ CMSG_MOVE_GRAVITY_ENABLE_ACK = 0x3A37,
CMSG_MOVE_GUILD_BANK_ITEM = 0x34C3,
CMSG_MOVE_HEARTBEAT = 0x3A10,
CMSG_MOVE_HOVER_ACK = 0x3A13,
- CMSG_MOVE_INERTIA_DISABLE_ACK = 0x3A37,
- CMSG_MOVE_INERTIA_ENABLE_ACK = 0x3A38,
- CMSG_MOVE_INIT_ACTIVE_MOVER_COMPLETE = 0x3A46,
+ CMSG_MOVE_INERTIA_DISABLE_ACK = 0x3A38,
+ CMSG_MOVE_INERTIA_ENABLE_ACK = 0x3A39,
+ CMSG_MOVE_INIT_ACTIVE_MOVER_COMPLETE = 0x3A47,
CMSG_MOVE_JUMP = 0x39EA,
CMSG_MOVE_KNOCK_BACK_ACK = 0x3A12,
- CMSG_MOVE_REMOVE_INERTIA_ACK = 0x3A4F,
+ CMSG_MOVE_REMOVE_INERTIA_ACK = 0x3A50,
CMSG_MOVE_REMOVE_MOVEMENT_FORCES = 0x3A17,
CMSG_MOVE_REMOVE_MOVEMENT_FORCE_ACK = 0x3A16,
- CMSG_MOVE_SEAMLESS_TRANSFER_COMPLETE = 0x3A44,
- CMSG_MOVE_SET_ADV_FLY = 0x3A52,
- CMSG_MOVE_SET_ADV_FLYING_ADD_IMPULSE_MAX_SPEED_ACK = 0x3A58,
- CMSG_MOVE_SET_ADV_FLYING_AIR_FRICTION_ACK = 0x3A53,
- CMSG_MOVE_SET_ADV_FLYING_BANKING_RATE_ACK = 0x3A59,
- CMSG_MOVE_SET_ADV_FLYING_DOUBLE_JUMP_VEL_MOD_ACK = 0x3A56,
- CMSG_MOVE_SET_ADV_FLYING_GLIDE_START_MIN_HEIGHT_ACK = 0x3A57,
- CMSG_MOVE_SET_ADV_FLYING_LAUNCH_SPEED_COEFFICIENT_ACK = 0x3A60,
- CMSG_MOVE_SET_ADV_FLYING_LIFT_COEFFICIENT_ACK = 0x3A55,
- CMSG_MOVE_SET_ADV_FLYING_MAX_VEL_ACK = 0x3A54,
- CMSG_MOVE_SET_ADV_FLYING_OVER_MAX_DECELERATION_ACK = 0x3A5E,
- CMSG_MOVE_SET_ADV_FLYING_PITCHING_RATE_DOWN_ACK = 0x3A5A,
- CMSG_MOVE_SET_ADV_FLYING_PITCHING_RATE_UP_ACK = 0x3A5B,
- CMSG_MOVE_SET_ADV_FLYING_SURFACE_FRICTION_ACK = 0x3A5D,
- CMSG_MOVE_SET_ADV_FLYING_TURN_VELOCITY_THRESHOLD_ACK = 0x3A5C,
- CMSG_MOVE_SET_CAN_ADV_FLY_ACK = 0x3A51,
+ CMSG_MOVE_SET_ADV_FLY = 0x3A53,
+ CMSG_MOVE_SET_ADV_FLYING_ADD_IMPULSE_MAX_SPEED_ACK = 0x3A59,
+ CMSG_MOVE_SET_ADV_FLYING_AIR_FRICTION_ACK = 0x3A54,
+ CMSG_MOVE_SET_ADV_FLYING_BANKING_RATE_ACK = 0x3A5A,
+ CMSG_MOVE_SET_ADV_FLYING_DOUBLE_JUMP_VEL_MOD_ACK = 0x3A57,
+ CMSG_MOVE_SET_ADV_FLYING_GLIDE_START_MIN_HEIGHT_ACK = 0x3A58,
+ CMSG_MOVE_SET_ADV_FLYING_LAUNCH_SPEED_COEFFICIENT_ACK = 0x3A61,
+ CMSG_MOVE_SET_ADV_FLYING_LIFT_COEFFICIENT_ACK = 0x3A56,
+ CMSG_MOVE_SET_ADV_FLYING_MAX_VEL_ACK = 0x3A55,
+ CMSG_MOVE_SET_ADV_FLYING_OVER_MAX_DECELERATION_ACK = 0x3A5F,
+ CMSG_MOVE_SET_ADV_FLYING_PITCHING_RATE_DOWN_ACK = 0x3A5B,
+ CMSG_MOVE_SET_ADV_FLYING_PITCHING_RATE_UP_ACK = 0x3A5C,
+ CMSG_MOVE_SET_ADV_FLYING_SURFACE_FRICTION_ACK = 0x3A5E,
+ CMSG_MOVE_SET_ADV_FLYING_TURN_VELOCITY_THRESHOLD_ACK = 0x3A5D,
+ CMSG_MOVE_SET_CAN_ADV_FLY_ACK = 0x3A52,
CMSG_MOVE_SET_CAN_FLY_ACK = 0x3A27,
CMSG_MOVE_SET_CAN_TURN_WHILE_FALLING_ACK = 0x3A25,
- CMSG_MOVE_SET_COLLISION_HEIGHT_ACK = 0x3A3B,
+ CMSG_MOVE_SET_COLLISION_HEIGHT_ACK = 0x3A3C,
CMSG_MOVE_SET_FACING = 0x3A09,
- CMSG_MOVE_SET_FACING_HEARTBEAT = 0x3A5F,
- CMSG_MOVE_SET_FLY = 0x3A28,
+ CMSG_MOVE_SET_FACING_HEARTBEAT = 0x3A60,
+ CMSG_MOVE_SET_FLY = 0x3A29,
CMSG_MOVE_SET_IGNORE_MOVEMENT_FORCES_ACK = 0x3A26,
- CMSG_MOVE_SET_MOD_MOVEMENT_FORCE_MAGNITUDE_ACK = 0x3A42,
+ CMSG_MOVE_SET_MOD_MOVEMENT_FORCE_MAGNITUDE_ACK = 0x3A43,
CMSG_MOVE_SET_PITCH = 0x3A0A,
CMSG_MOVE_SET_RUN_MODE = 0x39F2,
CMSG_MOVE_SET_TURN_RATE_CHEAT = 0x3A06,
CMSG_MOVE_SET_VEHICLE_REC_ID_ACK = 0x3A14,
CMSG_MOVE_SET_WALK_MODE = 0x39F3,
CMSG_MOVE_SPLINE_DONE = 0x3A18,
- CMSG_MOVE_START_ASCEND = 0x3A29,
+ CMSG_MOVE_START_ASCEND = 0x3A2A,
CMSG_MOVE_START_BACKWARD = 0x39E5,
- CMSG_MOVE_START_DESCEND = 0x3A30,
+ CMSG_MOVE_START_DESCEND = 0x3A31,
CMSG_MOVE_START_FORWARD = 0x39E4,
CMSG_MOVE_START_PITCH_DOWN = 0x39F0,
CMSG_MOVE_START_PITCH_UP = 0x39EF,
@@ -592,7 +599,7 @@ enum OpcodeClient : uint16
CMSG_MOVE_START_TURN_LEFT = 0x39EC,
CMSG_MOVE_START_TURN_RIGHT = 0x39ED,
CMSG_MOVE_STOP = 0x39E6,
- CMSG_MOVE_STOP_ASCEND = 0x3A2A,
+ CMSG_MOVE_STOP_ASCEND = 0x3A2B,
CMSG_MOVE_STOP_PITCH = 0x39F1,
CMSG_MOVE_STOP_STRAFE = 0x39E9,
CMSG_MOVE_STOP_SWIM = 0x39FD,
@@ -602,48 +609,48 @@ enum OpcodeClient : uint16
CMSG_MOVE_UPDATE_FALL_SPEED = 0x3A1A,
CMSG_MOVE_WATER_WALK_ACK = 0x3A1D,
CMSG_MYTHIC_PLUS_REQUEST_MAP_STATS = 0x305D,
- CMSG_NEUTRAL_PLAYER_SELECT_FACTION = 0x31D4,
+ CMSG_NEUTRAL_PLAYER_SELECT_FACTION = 0x31D6,
CMSG_NEXT_CINEMATIC_CAMERA = 0x3559,
CMSG_OBJECT_UPDATE_FAILED = 0x3180,
CMSG_OBJECT_UPDATE_RESCUED = 0x3181,
- CMSG_OFFER_PETITION = 0x33DF,
+ CMSG_OFFER_PETITION = 0x33D6,
CMSG_OPENING_CINEMATIC = 0x3558,
- CMSG_OPEN_ITEM = 0x3352,
- CMSG_OPEN_MISSION_NPC = 0x3315,
- CMSG_OPEN_SHIPMENT_NPC = 0x331D,
- CMSG_OPEN_TRADESKILL_NPC = 0x3328,
- CMSG_OPT_OUT_OF_LOOT = 0x3506,
- CMSG_OVERRIDE_SCREEN_FLASH = 0x3530,
- CMSG_PARTY_INVITE = 0x3603,
- CMSG_PARTY_INVITE_RESPONSE = 0x3605,
- CMSG_PARTY_UNINVITE = 0x3644,
- CMSG_PERFORM_ITEM_INTERACTION = 0x323C,
- CMSG_PERKS_PROGRAM_ITEMS_REFRESHED = 0x3408,
+ CMSG_OPEN_ITEM = 0x335F,
+ CMSG_OPEN_MISSION_NPC = 0x3320,
+ CMSG_OPEN_SHIPMENT_NPC = 0x3328,
+ CMSG_OPEN_TRADESKILL_NPC = 0x3333,
+ CMSG_OPT_OUT_OF_LOOT = 0x3505,
+ CMSG_OVERRIDE_SCREEN_FLASH = 0x352F,
+ CMSG_PARTY_INVITE = 0x3604,
+ CMSG_PARTY_INVITE_RESPONSE = 0x3606,
+ CMSG_PARTY_UNINVITE = 0x3645,
+ CMSG_PERFORM_ITEM_INTERACTION = 0x323F,
+ CMSG_PERKS_PROGRAM_ITEMS_REFRESHED = 0x33FE,
CMSG_PERKS_PROGRAM_REQUEST_PENDING_REWARDS = 0x3135,
- CMSG_PERKS_PROGRAM_REQUEST_PURCHASE = 0x340A,
- CMSG_PERKS_PROGRAM_REQUEST_REFUND = 0x340B,
- CMSG_PERKS_PROGRAM_SET_FROZEN_VENDOR_ITEM = 0x340C,
- CMSG_PERKS_PROGRAM_STATUS_REQUEST = 0x3409,
+ CMSG_PERKS_PROGRAM_REQUEST_PURCHASE = 0x3400,
+ CMSG_PERKS_PROGRAM_REQUEST_REFUND = 0x3401,
+ CMSG_PERKS_PROGRAM_SET_FROZEN_VENDOR_ITEM = 0x3402,
+ CMSG_PERKS_PROGRAM_STATUS_REQUEST = 0x33FF,
CMSG_PETITION_BUY = 0x34D1,
- CMSG_PETITION_RENAME_GUILD = 0x36C4,
+ CMSG_PETITION_RENAME_GUILD = 0x36C6,
CMSG_PETITION_SHOW_LIST = 0x34D0,
CMSG_PETITION_SHOW_SIGNATURES = 0x34D2,
CMSG_PET_ABANDON = 0x3493,
CMSG_PET_ABANDON_BY_NUMBER = 0x3494,
CMSG_PET_ACTION = 0x3491,
- CMSG_PET_BATTLE_FINAL_NOTIFY = 0x31E3,
- CMSG_PET_BATTLE_INPUT = 0x363E,
- CMSG_PET_BATTLE_QUEUE_PROPOSE_MATCH_RESULT = 0x3231,
- CMSG_PET_BATTLE_QUIT_NOTIFY = 0x31E2,
- CMSG_PET_BATTLE_REPLACE_FRONT_PET = 0x363F,
- CMSG_PET_BATTLE_REQUEST_PVP = 0x31DC,
- CMSG_PET_BATTLE_REQUEST_UPDATE = 0x31DD,
- CMSG_PET_BATTLE_REQUEST_WILD = 0x31DA,
- CMSG_PET_BATTLE_SCRIPT_ERROR_NOTIFY = 0x31E4,
- CMSG_PET_BATTLE_WILD_LOCATION_FAIL = 0x31DB,
+ CMSG_PET_BATTLE_FINAL_NOTIFY = 0x31E5,
+ CMSG_PET_BATTLE_INPUT = 0x363F,
+ CMSG_PET_BATTLE_QUEUE_PROPOSE_MATCH_RESULT = 0x3234,
+ CMSG_PET_BATTLE_QUIT_NOTIFY = 0x31E4,
+ CMSG_PET_BATTLE_REPLACE_FRONT_PET = 0x3640,
+ CMSG_PET_BATTLE_REQUEST_PVP = 0x31DE,
+ CMSG_PET_BATTLE_REQUEST_UPDATE = 0x31DF,
+ CMSG_PET_BATTLE_REQUEST_WILD = 0x31DC,
+ CMSG_PET_BATTLE_SCRIPT_ERROR_NOTIFY = 0x31E6,
+ CMSG_PET_BATTLE_WILD_LOCATION_FAIL = 0x31DD,
CMSG_PET_CANCEL_AURA = 0x3495,
- CMSG_PET_CAST_SPELL = 0x32B9,
- CMSG_PET_RENAME = 0x3681,
+ CMSG_PET_CAST_SPELL = 0x32C4,
+ CMSG_PET_RENAME = 0x3682,
CMSG_PET_SET_ACTION = 0x3490,
CMSG_PET_SPELL_AUTOCAST = 0x3496,
CMSG_PET_STOP_ATTACK = 0x3492,
@@ -651,30 +658,30 @@ enum OpcodeClient : uint16
CMSG_PLAYER_LOGIN = 0x35EA,
CMSG_PUSH_QUEST_TO_PARTY = 0x34A6,
CMSG_PVP_LOG_DATA = 0x317C,
- CMSG_QUERY_BATTLE_PET_NAME = 0x328F,
- CMSG_QUERY_CORPSE_LOCATION_FROM_CLIENT = 0x365D,
- CMSG_QUERY_CORPSE_TRANSPORT = 0x365E,
+ CMSG_QUERY_BATTLE_PET_NAME = 0x3298,
+ CMSG_QUERY_CORPSE_LOCATION_FROM_CLIENT = 0x365E,
+ CMSG_QUERY_CORPSE_TRANSPORT = 0x365F,
CMSG_QUERY_COUNTDOWN_TIMER = 0x31A9,
- CMSG_QUERY_CREATURE = 0x3289,
- CMSG_QUERY_GAME_OBJECT = 0x328A,
- CMSG_QUERY_GARRISON_PET_NAME = 0x3290,
- CMSG_QUERY_GUILD_INFO = 0x3687,
- CMSG_QUERY_INSPECT_ACHIEVEMENTS = 0x3510,
+ CMSG_QUERY_CREATURE = 0x3292,
+ CMSG_QUERY_GAME_OBJECT = 0x3293,
+ CMSG_QUERY_GARRISON_PET_NAME = 0x3299,
+ CMSG_QUERY_GUILD_INFO = 0x3688,
+ CMSG_QUERY_INSPECT_ACHIEVEMENTS = 0x350F,
CMSG_QUERY_NEXT_MAIL_TIME = 0x354E,
- CMSG_QUERY_NPC_TEXT = 0x328B,
- CMSG_QUERY_PAGE_TEXT = 0x328D,
- CMSG_QUERY_PETITION = 0x3291,
- CMSG_QUERY_PET_NAME = 0x328E,
+ CMSG_QUERY_NPC_TEXT = 0x3294,
+ CMSG_QUERY_PAGE_TEXT = 0x3296,
+ CMSG_QUERY_PETITION = 0x329A,
+ CMSG_QUERY_PET_NAME = 0x3297,
CMSG_QUERY_PLAYER_NAMES = 0x3786,
CMSG_QUERY_PLAYER_NAMES_FOR_COMMUNITY = 0x3784,
CMSG_QUERY_PLAYER_NAME_BY_COMMUNITY_ID = 0x3783,
CMSG_QUERY_QUEST_COMPLETION_NPCS = 0x3175,
- CMSG_QUERY_QUEST_INFO = 0x328C,
+ CMSG_QUERY_QUEST_INFO = 0x3295,
CMSG_QUERY_QUEST_ITEM_USABILITY = 0x3176,
- CMSG_QUERY_REALM_NAME = 0x3686,
- CMSG_QUERY_SCENARIO_POI = 0x3653,
+ CMSG_QUERY_REALM_NAME = 0x3687,
+ CMSG_QUERY_SCENARIO_POI = 0x3654,
CMSG_QUERY_TIME = 0x34E5,
- CMSG_QUERY_TREASURE_PICKER = 0x3377,
+ CMSG_QUERY_TREASURE_PICKER = 0x3384,
CMSG_QUERY_VOID_STORAGE = 0x31A2,
CMSG_QUEST_CONFIRM_ACCEPT = 0x34A5,
CMSG_QUEST_GIVER_ACCEPT_QUEST = 0x349F,
@@ -686,154 +693,157 @@ enum OpcodeClient : uint16
CMSG_QUEST_GIVER_REQUEST_REWARD = 0x34A2,
CMSG_QUEST_GIVER_STATUS_MULTIPLE_QUERY = 0x34A4,
CMSG_QUEST_GIVER_STATUS_QUERY = 0x34A3,
- CMSG_QUEST_GIVER_STATUS_TRACKED_QUERY = 0x3593,
+ CMSG_QUEST_GIVER_STATUS_TRACKED_QUERY = 0x3594,
CMSG_QUEST_LOG_REMOVE_QUEST = 0x3543,
- CMSG_QUEST_POI_QUERY = 0x36AB,
+ CMSG_QUEST_POI_QUERY = 0x36AD,
CMSG_QUEST_PUSH_RESULT = 0x34A7,
- CMSG_QUEST_SESSION_BEGIN_RESPONSE = 0x33D0,
- CMSG_QUEST_SESSION_REQUEST_START = 0x33CF,
- CMSG_QUEST_SESSION_REQUEST_STOP = 0x3729,
+ CMSG_QUEST_SESSION_BEGIN_RESPONSE = 0x33C8,
+ CMSG_QUEST_SESSION_REQUEST_START = 0x33C7,
+ CMSG_QUEST_SESSION_REQUEST_STOP = 0x372B,
CMSG_QUEUED_MESSAGES_END = 0x3780,
- CMSG_QUICK_JOIN_AUTO_ACCEPT_REQUESTS = 0x3701,
- CMSG_QUICK_JOIN_REQUEST_INVITE = 0x3700,
- CMSG_QUICK_JOIN_REQUEST_INVITE_WITH_CONFIRMATION = 0x372E,
- CMSG_QUICK_JOIN_RESPOND_TO_INVITE = 0x36FF,
- CMSG_QUICK_JOIN_SIGNAL_TOAST_DISPLAYED = 0x36FE,
- CMSG_RAF_CLAIM_ACTIVITY_REWARD = 0x3514,
- CMSG_RAF_CLAIM_NEXT_REWARD = 0x371F,
- CMSG_RAF_GENERATE_RECRUITMENT_LINK = 0x3721,
- CMSG_RAF_UPDATE_RECRUITMENT_INFO = 0x3720,
- CMSG_RANDOM_ROLL = 0x3651,
- CMSG_READY_CHECK_RESPONSE = 0x3632,
- CMSG_READ_ITEM = 0x3353,
- CMSG_RECLAIM_CORPSE = 0x34EB,
- CMSG_REMOVE_NEW_ITEM = 0x337A,
- CMSG_REMOVE_RAF_RECRUIT = 0x3722,
+ CMSG_QUICK_JOIN_AUTO_ACCEPT_REQUESTS = 0x3703,
+ CMSG_QUICK_JOIN_REQUEST_INVITE = 0x3702,
+ CMSG_QUICK_JOIN_REQUEST_INVITE_WITH_CONFIRMATION = 0x3730,
+ CMSG_QUICK_JOIN_RESPOND_TO_INVITE = 0x3701,
+ CMSG_QUICK_JOIN_SIGNAL_TOAST_DISPLAYED = 0x3700,
+ CMSG_RAF_CLAIM_ACTIVITY_REWARD = 0x3513,
+ CMSG_RAF_CLAIM_NEXT_REWARD = 0x3721,
+ CMSG_RAF_GENERATE_RECRUITMENT_LINK = 0x3723,
+ CMSG_RAF_UPDATE_RECRUITMENT_INFO = 0x3722,
+ CMSG_RANDOM_ROLL = 0x3652,
+ CMSG_READY_CHECK_RESPONSE = 0x3633,
+ CMSG_READ_ITEM = 0x3360,
+ CMSG_RECLAIM_CORPSE = 0x34EA,
+ CMSG_REMOVE_NEW_ITEM = 0x3387,
+ CMSG_REMOVE_RAF_RECRUIT = 0x3724,
CMSG_REORDER_CHARACTERS = 0x35E9,
- CMSG_REPAIR_ITEM = 0x34FC,
- CMSG_REPLACE_TROPHY = 0x3334,
+ CMSG_REPAIR_ITEM = 0x34FB,
+ CMSG_REPLACE_TROPHY = 0x3341,
CMSG_REPOP_REQUEST = 0x353B,
- CMSG_REPORT_CLIENT_VARIABLES = 0x36FB,
- CMSG_REPORT_ENABLED_ADDONS = 0x36FA,
- CMSG_REPORT_FROZEN_WHILE_LOADING_MAP = 0x36A3,
- CMSG_REPORT_KEYBINDING_EXECUTION_COUNTS = 0x36FC,
- CMSG_REPORT_PVP_PLAYER_AFK = 0x3504,
- CMSG_REPORT_SERVER_LAG = 0x33C8,
- CMSG_REPORT_STUCK_IN_COMBAT = 0x33C9,
- CMSG_REQUEST_ACCOUNT_DATA = 0x3691,
- CMSG_REQUEST_AREA_POI_UPDATE = 0x3379,
+ CMSG_REPORT_CLIENT_VARIABLES = 0x36FD,
+ CMSG_REPORT_ENABLED_ADDONS = 0x36FC,
+ CMSG_REPORT_KEYBINDING_EXECUTION_COUNTS = 0x36FE,
+ CMSG_REPORT_PVP_PLAYER_AFK = 0x3503,
+ CMSG_REPORT_SERVER_LAG = 0x33C0,
+ CMSG_REPORT_STUCK_IN_COMBAT = 0x33C1,
+ CMSG_REQUEST_ACCOUNT_DATA = 0x3693,
+ CMSG_REQUEST_AREA_POI_UPDATE = 0x3386,
CMSG_REQUEST_BATTLEFIELD_STATUS = 0x35DC,
CMSG_REQUEST_CEMETERY_LIST = 0x3177,
- CMSG_REQUEST_CHARACTER_GUILD_FOLLOW_INFO = 0x3688,
- CMSG_REQUEST_COVENANT_CALLINGS = 0x33BA,
+ CMSG_REQUEST_CHARACTER_GUILD_FOLLOW_INFO = 0x3689,
+ CMSG_REQUEST_COVENANT_CALLINGS = 0x33B2,
CMSG_REQUEST_CROWD_CONTROL_SPELL = 0x353F,
- CMSG_REQUEST_FORCED_REACTIONS = 0x320D,
- CMSG_REQUEST_GARRISON_TALENT_WORLD_QUEST_UNLOCKS = 0x33F4,
+ CMSG_REQUEST_CURRENCY_DATA_FOR_ACCOUNT_CHARACTERS = 0x313C,
+ CMSG_REQUEST_FORCED_REACTIONS = 0x3210,
+ CMSG_REQUEST_GARRISON_TALENT_WORLD_QUEST_UNLOCKS = 0x33EB,
CMSG_REQUEST_GUILD_PARTY_STATE = 0x31A8,
CMSG_REQUEST_GUILD_REWARDS_LIST = 0x31A7,
- CMSG_REQUEST_LATEST_SPLASH_SCREEN = 0x33CA,
- CMSG_REQUEST_LFG_LIST_BLACKLIST = 0x32C5,
- CMSG_REQUEST_MYTHIC_PLUS_AFFIXES = 0x3207,
- CMSG_REQUEST_MYTHIC_PLUS_SEASON_DATA = 0x3208,
+ CMSG_REQUEST_LATEST_SPLASH_SCREEN = 0x33C2,
+ CMSG_REQUEST_LFG_LIST_BLACKLIST = 0x32D0,
+ CMSG_REQUEST_MYTHIC_PLUS_AFFIXES = 0x320A,
+ CMSG_REQUEST_MYTHIC_PLUS_SEASON_DATA = 0x320B,
CMSG_REQUEST_PARTY_JOIN_UPDATES = 0x35F7,
- CMSG_REQUEST_PARTY_MEMBER_STATS = 0x3650,
+ CMSG_REQUEST_PARTY_MEMBER_STATS = 0x3651,
CMSG_REQUEST_PET_INFO = 0x3497,
- CMSG_REQUEST_PLAYED_TIME = 0x3294,
+ CMSG_REQUEST_PLAYED_TIME = 0x329D,
CMSG_REQUEST_PVP_REWARDS = 0x3195,
- CMSG_REQUEST_RAID_INFO = 0x36C5,
+ CMSG_REQUEST_RAID_INFO = 0x36C7,
CMSG_REQUEST_RATED_PVP_INFO = 0x35E3,
- CMSG_REQUEST_REALM_GUILD_MASTER_INFO = 0x5037,
+ CMSG_REQUEST_REALM_GUILD_MASTER_INFO = 0x3761,
CMSG_REQUEST_SCHEDULED_PVP_INFO = 0x3196,
CMSG_REQUEST_STABLED_PETS = 0x3498,
- CMSG_REQUEST_VEHICLE_EXIT = 0x3249,
- CMSG_REQUEST_VEHICLE_NEXT_SEAT = 0x324B,
- CMSG_REQUEST_VEHICLE_PREV_SEAT = 0x324A,
- CMSG_REQUEST_VEHICLE_SWITCH_SEAT = 0x324C,
- CMSG_REQUEST_WEEKLY_REWARDS = 0x33BD,
- CMSG_REQUEST_WORLD_QUEST_UPDATE = 0x3378,
- CMSG_RESET_CHALLENGE_MODE = 0x3205,
- CMSG_RESET_CHALLENGE_MODE_CHEAT = 0x3206,
- CMSG_RESET_INSTANCES = 0x3665,
- CMSG_RESURRECT_RESPONSE = 0x3680,
- CMSG_REVERT_MONUMENT_APPEARANCE = 0x3336,
- CMSG_RIDE_VEHICLE_INTERACT = 0x324D,
- CMSG_RPE_RESET_CHARACTER = 0x374C,
- CMSG_SAVE_ACCOUNT_DATA_EXPORT = 0x3746,
+ CMSG_REQUEST_VEHICLE_EXIT = 0x3251,
+ CMSG_REQUEST_VEHICLE_NEXT_SEAT = 0x3253,
+ CMSG_REQUEST_VEHICLE_PREV_SEAT = 0x3252,
+ CMSG_REQUEST_VEHICLE_SWITCH_SEAT = 0x3254,
+ CMSG_REQUEST_WEEKLY_REWARDS = 0x33B5,
+ CMSG_REQUEST_WORLD_QUEST_UPDATE = 0x3385,
+ CMSG_RESET_CHALLENGE_MODE = 0x3208,
+ CMSG_RESET_CHALLENGE_MODE_CHEAT = 0x3209,
+ CMSG_RESET_INSTANCES = 0x3666,
+ CMSG_RESURRECT_RESPONSE = 0x3681,
+ CMSG_REVERT_MONUMENT_APPEARANCE = 0x3343,
+ CMSG_RIDE_VEHICLE_INTERACT = 0x3255,
+ CMSG_RPE_RESET_CHARACTER = 0x374E,
+ CMSG_SAVE_ACCOUNT_DATA_EXPORT = 0x3748,
CMSG_SAVE_CUF_PROFILES = 0x318B,
- CMSG_SAVE_EQUIPMENT_SET = 0x351A,
- CMSG_SAVE_GUILD_EMBLEM = 0x32C9,
- CMSG_SAVE_PERSONAL_EMBLEM = 0x32CA,
- CMSG_SCENE_PLAYBACK_CANCELED = 0x322D,
- CMSG_SCENE_PLAYBACK_COMPLETE = 0x322C,
- CMSG_SCENE_TRIGGER_EVENT = 0x322E,
+ CMSG_SAVE_EQUIPMENT_SET = 0x3519,
+ CMSG_SAVE_GUILD_EMBLEM = 0x32D4,
+ CMSG_SAVE_PERSONAL_EMBLEM = 0x32D5,
+ CMSG_SCENE_PLAYBACK_CANCELED = 0x3230,
+ CMSG_SCENE_PLAYBACK_COMPLETE = 0x322F,
+ CMSG_SCENE_TRIGGER_EVENT = 0x3231,
+ CMSG_SEAMLESS_TRANSFER_COMPLETE = 0x3427,
CMSG_SELF_RES = 0x3546,
CMSG_SELL_ALL_JUNK_ITEMS = 0x34AA,
CMSG_SELL_ITEM = 0x34A9,
- CMSG_SEND_CHARACTER_CLUB_INVITATION = 0x36F4,
- CMSG_SEND_CONTACT_LIST = 0x36CA,
+ CMSG_SEND_CHARACTER_CLUB_INVITATION = 0x36F6,
+ CMSG_SEND_CONTACT_LIST = 0x36CC,
CMSG_SEND_MAIL = 0x35FA,
- CMSG_SEND_PING_UNIT = 0x3433,
- CMSG_SEND_PING_WORLD_POINT = 0x3434,
+ CMSG_SEND_PING_UNIT = 0x3429,
+ CMSG_SEND_PING_WORLD_POINT = 0x342A,
CMSG_SEND_TEXT_EMOTE = 0x348E,
- CMSG_SERVER_TIME_OFFSET_REQUEST = 0x3698,
- CMSG_SET_ACHIEVEMENTS_HIDDEN = 0x3233,
+ CMSG_SERVER_TIME_OFFSET_REQUEST = 0x369A,
+ CMSG_SETUP_WARBAND_GROUPS = 0x375C,
+ CMSG_SET_ACHIEVEMENTS_HIDDEN = 0x3236,
CMSG_SET_ACTION_BAR_TOGGLES = 0x3547,
- CMSG_SET_ACTION_BUTTON = 0x3633,
- CMSG_SET_ACTIVE_MOVER = 0x3A3C,
- CMSG_SET_ADVANCED_COMBAT_LOGGING = 0x32D7,
- CMSG_SET_ASSISTANT_LEADER = 0x364C,
- CMSG_SET_BACKPACK_AUTOSORT_DISABLED = 0x3356,
- CMSG_SET_BACKPACK_SELL_JUNK_DISABLED = 0x3357,
- CMSG_SET_BANK_AUTOSORT_DISABLED = 0x3358,
- CMSG_SET_CONTACT_NOTES = 0x36CD,
+ CMSG_SET_ACTION_BUTTON = 0x3634,
+ CMSG_SET_ACTIVE_MOVER = 0x3A3D,
+ CMSG_SET_ADVANCED_COMBAT_LOGGING = 0x32E2,
+ CMSG_SET_ASSISTANT_LEADER = 0x364D,
+ CMSG_SET_BACKPACK_AUTOSORT_DISABLED = 0x3363,
+ CMSG_SET_BACKPACK_SELL_JUNK_DISABLED = 0x3364,
+ CMSG_SET_BANK_AUTOSORT_DISABLED = 0x3365,
+ CMSG_SET_CONTACT_NOTES = 0x36CF,
CMSG_SET_CURRENCY_FLAGS = 0x3169,
- CMSG_SET_DIFFICULTY_ID = 0x322F,
- CMSG_SET_DUNGEON_DIFFICULTY = 0x367F,
- CMSG_SET_EMPOWER_MIN_HOLD_STAGE_PERCENT = 0x3283,
- CMSG_SET_EVERYONE_IS_ASSISTANT = 0x3619,
- CMSG_SET_EXCLUDED_CHAT_CENSOR_SOURCES = 0x3702,
- CMSG_SET_FACTION_AT_WAR = 0x34EE,
- CMSG_SET_FACTION_INACTIVE = 0x34F0,
- CMSG_SET_FACTION_NOT_AT_WAR = 0x34EF,
+ CMSG_SET_DIFFICULTY_ID = 0x3232,
+ CMSG_SET_DUNGEON_DIFFICULTY = 0x3680,
+ CMSG_SET_EMPOWER_MIN_HOLD_STAGE_PERCENT = 0x328C,
+ CMSG_SET_EVERYONE_IS_ASSISTANT = 0x361A,
+ CMSG_SET_EXCLUDED_CHAT_CENSOR_SOURCES = 0x3704,
+ CMSG_SET_FACTION_AT_WAR = 0x34ED,
+ CMSG_SET_FACTION_INACTIVE = 0x34EF,
+ CMSG_SET_FACTION_NOT_AT_WAR = 0x34EE,
CMSG_SET_GAME_EVENT_DEBUG_VIEW_STATE = 0x31B9,
- CMSG_SET_INSERT_ITEMS_LEFT_TO_RIGHT = 0x335A,
- CMSG_SET_LOOT_METHOD = 0x3645,
+ CMSG_SET_INSERT_ITEMS_LEFT_TO_RIGHT = 0x3367,
+ CMSG_SET_LOOT_METHOD = 0x3646,
CMSG_SET_LOOT_SPECIALIZATION = 0x3554,
- CMSG_SET_PARTY_ASSIGNMENT = 0x364E,
- CMSG_SET_PARTY_LEADER = 0x3647,
+ CMSG_SET_PARTY_ASSIGNMENT = 0x364F,
+ CMSG_SET_PARTY_LEADER = 0x3648,
CMSG_SET_PET_FAVORITE = 0x3168,
CMSG_SET_PET_SLOT = 0x3167,
- CMSG_SET_PLAYER_DECLINED_NAMES = 0x3685,
+ CMSG_SET_PLAYER_DECLINED_NAMES = 0x3686,
CMSG_SET_PREFERRED_CEMETERY = 0x3178,
- CMSG_SET_PVP = 0x32CE,
- CMSG_SET_RAID_DIFFICULTY = 0x36D6,
- CMSG_SET_RESTRICT_PINGS_TO_ASSISTANTS = 0x361A,
+ CMSG_SET_PVP = 0x32D9,
+ CMSG_SET_RAID_DIFFICULTY = 0x36D8,
+ CMSG_SET_RESTRICT_PINGS_TO_ASSISTANTS = 0x361B,
CMSG_SET_ROLE = 0x35D9,
- CMSG_SET_SAVED_INSTANCE_EXTEND = 0x3683,
+ CMSG_SET_SAVED_INSTANCE_EXTEND = 0x3684,
CMSG_SET_SELECTION = 0x353D,
CMSG_SET_SHEATHED = 0x348F,
- CMSG_SET_SORT_BAGS_RIGHT_TO_LEFT = 0x3359,
- CMSG_SET_TAXI_BENCHMARK_MODE = 0x3503,
- CMSG_SET_TITLE = 0x329A,
+ CMSG_SET_SORT_BAGS_RIGHT_TO_LEFT = 0x3366,
+ CMSG_SET_TAXI_BENCHMARK_MODE = 0x3502,
+ CMSG_SET_TITLE = 0x32A3,
CMSG_SET_TRADE_CURRENCY = 0x3160,
CMSG_SET_TRADE_GOLD = 0x315F,
CMSG_SET_TRADE_ITEM = 0x315D,
- CMSG_SET_USING_PARTY_GARRISON = 0x3317,
- CMSG_SET_WAR_MODE = 0x32CF,
- CMSG_SET_WATCHED_FACTION = 0x34F1,
- CMSG_SHOW_TRADE_SKILL = 0x36BD,
+ CMSG_SET_USING_PARTY_GARRISON = 0x3322,
+ CMSG_SET_WAR_MODE = 0x32DA,
+ CMSG_SET_WATCHED_FACTION = 0x34F0,
+ CMSG_SHOW_TRADE_SKILL = 0x36BF,
CMSG_SIGN_PETITION = 0x3548,
- CMSG_SILENCE_PARTY_TALKER = 0x364F,
- CMSG_SOCIAL_CONTRACT_REQUEST = 0x3741,
- CMSG_SOCKET_GEMS = 0x34FB,
- CMSG_SORT_BAGS = 0x335B,
- CMSG_SORT_BANK_BAGS = 0x335C,
- CMSG_SORT_REAGENT_BANK_BAGS = 0x335D,
- CMSG_SPAWN_TRACKING_UPDATE = 0x32AF,
- CMSG_SPECTATE_CHANGE = 0x342B,
+ CMSG_SILENCE_PARTY_TALKER = 0x3650,
+ CMSG_SOCIAL_CONTRACT_REQUEST = 0x3743,
+ CMSG_SOCKET_GEMS = 0x34FA,
+ CMSG_SORT_ACCOUNT_BANK_BAGS = 0x342D,
+ CMSG_SORT_BAGS = 0x3368,
+ CMSG_SORT_BANK_BAGS = 0x3369,
+ CMSG_SORT_REAGENT_BANK_BAGS = 0x336A,
+ CMSG_SPAWN_TRACKING_UPDATE = 0x32B8,
+ CMSG_SPECTATE_CHANGE = 0x3420,
CMSG_SPELL_CLICK = 0x349C,
- CMSG_SPELL_EMPOWER_RELEASE = 0x3281,
- CMSG_SPELL_EMPOWER_RESTART = 0x3282,
+ CMSG_SPELL_EMPOWER_RELEASE = 0x328A,
+ CMSG_SPELL_EMPOWER_RESTART = 0x328B,
CMSG_SPIRIT_HEALER_ACTIVATE = 0x34B7,
CMSG_SPLIT_GUILD_BANK_ITEM = 0x34CA,
CMSG_SPLIT_GUILD_BANK_ITEM_TO_INVENTORY = 0x34C7,
@@ -844,10 +854,10 @@ enum OpcodeClient : uint16
CMSG_START_SPECTATOR_WAR_GAME = 0x35DF,
CMSG_START_WAR_GAME = 0x35DE,
CMSG_STORE_GUILD_BANK_ITEM = 0x34C0,
- CMSG_SUBMIT_USER_FEEDBACK = 0x3690,
- CMSG_SUBSCRIPTION_INTERSTITIAL_RESPONSE = 0x33E9,
- CMSG_SUMMON_RESPONSE = 0x3667,
- CMSG_SUPPORT_TICKET_SUBMIT_COMPLAINT = 0x3643,
+ CMSG_SUBMIT_USER_FEEDBACK = 0x3692,
+ CMSG_SUBSCRIPTION_INTERSTITIAL_RESPONSE = 0x33E0,
+ CMSG_SUMMON_RESPONSE = 0x3668,
+ CMSG_SUPPORT_TICKET_SUBMIT_COMPLAINT = 0x3644,
CMSG_SURRENDER_ARENA = 0x3174,
CMSG_SUSPEND_COMMS_ACK = 0x3778,
CMSG_SUSPEND_TOKEN_RESPONSE = 0x377E,
@@ -855,153 +865,157 @@ enum OpcodeClient : uint16
CMSG_SWAP_INV_ITEM = 0x399D,
CMSG_SWAP_ITEM = 0x399C,
CMSG_SWAP_ITEM_WITH_GUILD_BANK_ITEM = 0x34C1,
- CMSG_SWAP_SUB_GROUPS = 0x364A,
+ CMSG_SWAP_SUB_GROUPS = 0x364B,
CMSG_SWAP_VOID_ITEM = 0x31A4,
- CMSG_TABARD_VENDOR_ACTIVATE = 0x32CB,
+ CMSG_TABARD_VENDOR_ACTIVATE = 0x32D6,
CMSG_TALK_TO_GOSSIP = 0x3499,
CMSG_TAXI_NODE_STATUS_QUERY = 0x34B0,
CMSG_TAXI_QUERY_AVAILABLE_NODES = 0x34B2,
CMSG_TAXI_REQUEST_EARLY_LANDING = 0x34B4,
- CMSG_TIME_ADJUSTMENT_RESPONSE = 0x3A40,
- CMSG_TIME_SYNC_RESPONSE = 0x3A3D,
- CMSG_TIME_SYNC_RESPONSE_DROPPED = 0x3A3F,
- CMSG_TIME_SYNC_RESPONSE_FAILED = 0x3A3E,
- CMSG_TOGGLE_DIFFICULTY = 0x3654,
- CMSG_TOGGLE_PVP = 0x32CD,
- CMSG_TOTEM_DESTROYED = 0x3508,
+ CMSG_TIME_ADJUSTMENT_RESPONSE = 0x3A41,
+ CMSG_TIME_SYNC_RESPONSE = 0x3A3E,
+ CMSG_TIME_SYNC_RESPONSE_DROPPED = 0x3A40,
+ CMSG_TIME_SYNC_RESPONSE_FAILED = 0x3A3F,
+ CMSG_TOGGLE_DIFFICULTY = 0x3655,
+ CMSG_TOGGLE_PVP = 0x32D8,
+ CMSG_TOTEM_DESTROYED = 0x3507,
CMSG_TOY_CLEAR_FANFARE = 0x3128,
- CMSG_TRADE_SKILL_SET_FAVORITE = 0x3376,
+ CMSG_TRADE_SKILL_SET_FAVORITE = 0x3383,
CMSG_TRAINER_BUY_SPELL = 0x34B6,
CMSG_TRAINER_LIST = 0x34B5,
- CMSG_TRAITS_COMMIT_CONFIG = 0x3413,
- CMSG_TRAITS_TALENT_TEST_UNLEARN_SPELLS = 0x3411,
+ CMSG_TRAITS_COMMIT_CONFIG = 0x3408,
+ CMSG_TRAITS_TALENT_TEST_UNLEARN_SPELLS = 0x3406,
+ CMSG_TRANSFER_CURRENCY_FROM_ACCOUNT_CHARACTER = 0x3437,
CMSG_TRANSMOGRIFY_ITEMS = 0x3197,
CMSG_TURN_IN_PETITION = 0x354A,
- CMSG_TUTORIAL = 0x36D7,
- CMSG_UI_MAP_QUEST_LINES_REQUEST = 0x33B9,
+ CMSG_TUTORIAL = 0x36D9,
+ CMSG_UI_MAP_QUEST_LINES_REQUEST = 0x33B1,
CMSG_UNACCEPT_TRADE = 0x315B,
- CMSG_UNDELETE_CHARACTER = 0x36D9,
- CMSG_UNLEARN_SKILL = 0x34F5,
+ CMSG_UNDELETE_CHARACTER = 0x36DB,
+ CMSG_UNLEARN_SKILL = 0x34F4,
CMSG_UNLEARN_SPECIALIZATION = 0x31A5,
CMSG_UNLOCK_VOID_STORAGE = 0x31A1,
- CMSG_UPDATE_AADC_STATUS = 0x3735,
- CMSG_UPDATE_ACCOUNT_DATA = 0x3692,
- CMSG_UPDATE_AREA_TRIGGER_VISUAL = 0x32BC,
- CMSG_UPDATE_CLIENT_SETTINGS = 0x3661,
- CMSG_UPDATE_CRAFTING_NPC_RECIPES = 0x3329,
- CMSG_UPDATE_MISSILE_TRAJECTORY = 0x3A43,
- CMSG_UPDATE_RAID_TARGET = 0x364D,
- CMSG_UPDATE_SPELL_VISUAL = 0x32BB,
- CMSG_UPDATE_VAS_PURCHASE_STATES = 0x36EE,
- CMSG_UPGRADE_GARRISON = 0x32DF,
- CMSG_UPGRADE_RUNEFORGE_LEGENDARY = 0x33E7,
+ CMSG_UPDATE_AADC_STATUS = 0x3737,
+ CMSG_UPDATE_ACCOUNT_BANK_TAB_SETTINGS = 0x359D,
+ CMSG_UPDATE_ACCOUNT_DATA = 0x3694,
+ CMSG_UPDATE_AREA_TRIGGER_VISUAL = 0x32C7,
+ CMSG_UPDATE_CLIENT_SETTINGS = 0x3662,
+ CMSG_UPDATE_CRAFTING_NPC_RECIPES = 0x3334,
+ CMSG_UPDATE_MISSILE_TRAJECTORY = 0x3A44,
+ CMSG_UPDATE_RAID_TARGET = 0x364E,
+ CMSG_UPDATE_SPELL_VISUAL = 0x32C6,
+ CMSG_UPDATE_VAS_PURCHASE_STATES = 0x36F0,
+ CMSG_UPGRADE_GARRISON = 0x32EA,
+ CMSG_UPGRADE_RUNEFORGE_LEGENDARY = 0x33DE,
CMSG_USED_FOLLOW = 0x3186,
- CMSG_USE_CRITTER_ITEM = 0x3253,
+ CMSG_USE_CRITTER_ITEM = 0x325B,
CMSG_USE_EQUIPMENT_SET = 0x3995,
- CMSG_USE_ITEM = 0x32B5,
- CMSG_USE_TOY = 0x32B8,
- CMSG_VAS_CHECK_TRANSFER_OK = 0x3707,
- CMSG_VAS_GET_QUEUE_MINUTES = 0x3706,
- CMSG_VAS_GET_SERVICE_STATUS = 0x3705,
+ CMSG_USE_ITEM = 0x32C0,
+ CMSG_USE_TOY = 0x32C3,
+ CMSG_VAS_CHECK_TRANSFER_OK = 0x3709,
+ CMSG_VAS_GET_QUEUE_MINUTES = 0x3708,
+ CMSG_VAS_GET_SERVICE_STATUS = 0x3707,
CMSG_VIOLENCE_LEVEL = 0x3184,
- CMSG_VOICE_CHANNEL_STT_TOKEN_REQUEST = 0x370B,
- CMSG_VOICE_CHAT_JOIN_CHANNEL = 0x370C,
- CMSG_VOICE_CHAT_LOGIN = 0x370A,
+ CMSG_VOICE_CHANNEL_STT_TOKEN_REQUEST = 0x370D,
+ CMSG_VOICE_CHAT_JOIN_CHANNEL = 0x370E,
+ CMSG_VOICE_CHAT_LOGIN = 0x370C,
CMSG_VOID_STORAGE_TRANSFER = 0x31A3,
CMSG_WARDEN3_DATA = 0x35EC,
- CMSG_WHO = 0x367E,
- CMSG_WHO_IS = 0x367D,
- CMSG_WORLD_LOOT_OBJECT_CLICK = 0x342E,
+ CMSG_WHO = 0x367F,
+ CMSG_WHO_IS = 0x367E,
+ CMSG_WORLD_LOOT_OBJECT_CLICK = 0x3423,
CMSG_WORLD_PORT_RESPONSE = 0x35F9,
CMSG_WRAP_ITEM = 0x3994,
};
enum OpcodeServer : uint16
{
- SMSG_ABORT_NEW_WORLD = 0x2599,
- SMSG_ACCOUNT_COSMETIC_ADDED = 0x2879,
- SMSG_ACCOUNT_CRITERIA_UPDATE = 0x285F,
- SMSG_ACCOUNT_DATA_TIMES = 0x2709,
- SMSG_ACCOUNT_EXPORT_RESPONSE = 0x28B6,
- SMSG_ACCOUNT_MOUNT_REMOVED = 0x25B0,
- SMSG_ACCOUNT_MOUNT_UPDATE = 0x25AF,
- SMSG_ACCOUNT_NOTIFICATIONS_RESPONSE = 0x2878,
- SMSG_ACCOUNT_TOY_UPDATE = 0x25B1,
- SMSG_ACCOUNT_TRANSMOG_SET_FAVORITES_UPDATE = 0x25B5,
- SMSG_ACCOUNT_TRANSMOG_UPDATE = 0x25B4,
- SMSG_ACHIEVEMENT_DELETED = 0x26E7,
- SMSG_ACHIEVEMENT_EARNED = 0x2642,
- SMSG_ACTIVATE_ESSENCE_FAILED = 0x3015,
- SMSG_ACTIVATE_SOULBIND_FAILED = 0x3017,
- SMSG_ACTIVATE_TAXI_REPLY = 0x267E,
+ SMSG_ABORT_NEW_WORLD = 0x259B,
+ SMSG_ACCOUNT_CHARACTER_CURRENCY_LISTS = 0x28A1,
+ SMSG_ACCOUNT_CONVERSION_STATE_UPDATE = 0x28A6,
+ SMSG_ACCOUNT_COSMETIC_ADDED = 0x2864,
+ SMSG_ACCOUNT_CRITERIA_UPDATE = 0x284B,
+ SMSG_ACCOUNT_DATA_TIMES = 0x270C,
+ SMSG_ACCOUNT_EXPORT_RESPONSE = 0x2892,
+ SMSG_ACCOUNT_MOUNT_REMOVED = 0x25B2,
+ SMSG_ACCOUNT_MOUNT_UPDATE = 0x25B1,
+ SMSG_ACCOUNT_NOTIFICATIONS_RESPONSE = 0x2863,
+ SMSG_ACCOUNT_TOY_UPDATE = 0x25B3,
+ SMSG_ACCOUNT_TRANSMOG_SET_FAVORITES_UPDATE = 0x25B7,
+ SMSG_ACCOUNT_TRANSMOG_UPDATE = 0x25B6,
+ SMSG_ACHIEVEMENT_DELETED = 0x26EA,
+ SMSG_ACHIEVEMENT_EARNED = 0x2644,
+ SMSG_ACTIVATE_ESSENCE_FAILED = 0x3017,
+ SMSG_ACTIVATE_SOULBIND_FAILED = 0x3019,
+ SMSG_ACTIVATE_TAXI_REPLY = 0x2681,
SMSG_ACTIVE_GLYPHS = 0x2C56,
- SMSG_ACTIVE_SCHEDULED_WORLD_STATE_INFO = 0x2745,
- SMSG_ADDON_LIST_REQUEST = 0x2641,
- SMSG_ADD_BATTLENET_FRIEND_RESPONSE = 0x263C,
- SMSG_ADD_ITEM_PASSIVE = 0x25AB,
- SMSG_ADD_LOSS_OF_CONTROL = 0x2672,
- SMSG_ADD_RUNE_POWER = 0x26B8,
- SMSG_ADJUST_SPLINE_DURATION = 0x25D1,
- SMSG_ADVANCED_COMBAT_LOG = 0x2875,
- SMSG_ADVENTURE_JOURNAL_DATA_RESPONSE = 0x286F,
- SMSG_AE_LOOT_TARGETS = 0x2617,
- SMSG_AE_LOOT_TARGET_ACK = 0x2618,
- SMSG_AI_REACTION = 0x26B5,
- SMSG_ALLIED_RACE_DETAILS = 0x27F3,
+ SMSG_ACTIVE_SCHEDULED_WORLD_STATE_INFO = 0x2748,
+ SMSG_ADDON_LIST_REQUEST = 0x2643,
+ SMSG_ADD_BATTLENET_FRIEND_RESPONSE = 0x263E,
+ SMSG_ADD_ITEM_PASSIVE = 0x25AD,
+ SMSG_ADD_LOSS_OF_CONTROL = 0x2674,
+ SMSG_ADD_RUNE_POWER = 0x26BB,
+ SMSG_ADJUST_SPLINE_DURATION = 0x25D3,
+ SMSG_ADVANCED_COMBAT_LOG = 0x2860,
+ SMSG_ADVENTURE_JOURNAL_DATA_RESPONSE = 0x285B,
+ SMSG_AE_LOOT_TARGETS = 0x2619,
+ SMSG_AE_LOOT_TARGET_ACK = 0x261A,
+ SMSG_AI_REACTION = 0x26B8,
+ SMSG_ALLIED_RACE_DETAILS = 0x27F6,
SMSG_ALL_ACCOUNT_CRITERIA = 0x2571,
SMSG_ALL_ACHIEVEMENT_DATA = 0x2570,
SMSG_ALL_GUILD_ACHIEVEMENTS = 0x29B8,
- SMSG_APPLY_MOUNT_EQUIPMENT_RESULT = 0x284C,
- SMSG_ARCHAEOLOGY_SURVERY_CAST = 0x2587,
+ SMSG_APPLY_MOUNT_EQUIPMENT_RESULT = 0x2839,
+ SMSG_ARCHAEOLOGY_SURVERY_CAST = 0x2589,
SMSG_AREA_POI_UPDATE_RESPONSE = 0x3010,
- SMSG_AREA_SPIRIT_HEALER_TIME = 0x273E,
+ SMSG_AREA_SPIRIT_HEALER_TIME = 0x2741,
SMSG_AREA_TRIGGER_DENIED = 0x2903,
SMSG_AREA_TRIGGER_FORCE_SET_POSITION_AND_FACING = 0x2900,
- SMSG_AREA_TRIGGER_NO_CORPSE = 0x2715,
+ SMSG_AREA_TRIGGER_NO_CORPSE = 0x2718,
SMSG_AREA_TRIGGER_PLAY_SPELL_VISUAL = 0x28FE,
SMSG_AREA_TRIGGER_RE_PATH = 0x28FD,
SMSG_AREA_TRIGGER_RE_SHAPE = 0x2902,
SMSG_AREA_TRIGGER_UNATTACH = 0x2901,
SMSG_AREA_TRIGGER_UPDATE_DECAL_PROPERTIES = 0x28FF,
- SMSG_ARENA_CLEAR_OPPONENTS = 0x2648,
- SMSG_ARENA_CROWD_CONTROL_SPELL_RESULT = 0x2631,
- SMSG_ARENA_PREP_OPPONENT_SPECIALIZATIONS = 0x2647,
- SMSG_ARTIFACT_ENDGAME_POWERS_REFUNDED = 0x279F,
- SMSG_ARTIFACT_FORGE_ERROR = 0x279D,
- SMSG_ARTIFACT_RESPEC_PROMPT = 0x279E,
- SMSG_ARTIFACT_XP_GAIN = 0x27E6,
+ SMSG_ARENA_CLEAR_OPPONENTS = 0x264A,
+ SMSG_ARENA_CROWD_CONTROL_SPELL_RESULT = 0x2633,
+ SMSG_ARENA_PREP_OPPONENT_SPECIALIZATIONS = 0x2649,
+ SMSG_ARTIFACT_ENDGAME_POWERS_REFUNDED = 0x27A2,
+ SMSG_ARTIFACT_FORGE_ERROR = 0x27A0,
+ SMSG_ARTIFACT_RESPEC_PROMPT = 0x27A1,
+ SMSG_ARTIFACT_XP_GAIN = 0x27E9,
SMSG_ATTACKER_STATE_UPDATE = 0x294E,
SMSG_ATTACK_START = 0x2939,
SMSG_ATTACK_STOP = 0x293A,
SMSG_ATTACK_SWING_ERROR = 0x2948,
SMSG_ATTACK_SWING_LANDED_LOG = 0x2949,
- SMSG_AUCTIONABLE_TOKEN_AUCTION_SOLD = 0x27CF,
- SMSG_AUCTIONABLE_TOKEN_SELL_AT_MARKET_PRICE_RESPONSE = 0x27CE,
- SMSG_AUCTIONABLE_TOKEN_SELL_CONFIRM_REQUIRED = 0x27CD,
- SMSG_AUCTION_CLOSED_NOTIFICATION = 0x26F2,
- SMSG_AUCTION_COMMAND_RESULT = 0x26EF,
- SMSG_AUCTION_DISABLE_NEW_POSTINGS = 0x2896,
- SMSG_AUCTION_FAVORITE_LIST = 0x2866,
- SMSG_AUCTION_GET_COMMODITY_QUOTE_RESULT = 0x285D,
- SMSG_AUCTION_HELLO_RESPONSE = 0x26ED,
- SMSG_AUCTION_LIST_BIDDED_ITEMS_RESULT = 0x285C,
- SMSG_AUCTION_LIST_BUCKETS_RESULT = 0x2859,
- SMSG_AUCTION_LIST_ITEMS_RESULT = 0x285A,
- SMSG_AUCTION_LIST_OWNED_ITEMS_RESULT = 0x285B,
- SMSG_AUCTION_OUTBID_NOTIFICATION = 0x26F1,
- SMSG_AUCTION_OWNER_BID_NOTIFICATION = 0x26F3,
- SMSG_AUCTION_REPLICATE_RESPONSE = 0x26EE,
- SMSG_AUCTION_WON_NOTIFICATION = 0x26F0,
+ SMSG_AUCTIONABLE_TOKEN_AUCTION_SOLD = 0x27D2,
+ SMSG_AUCTIONABLE_TOKEN_SELL_AT_MARKET_PRICE_RESPONSE = 0x27D1,
+ SMSG_AUCTIONABLE_TOKEN_SELL_CONFIRM_REQUIRED = 0x27D0,
+ SMSG_AUCTION_CLOSED_NOTIFICATION = 0x26F5,
+ SMSG_AUCTION_COMMAND_RESULT = 0x26F2,
+ SMSG_AUCTION_DISABLE_NEW_POSTINGS = 0x287F,
+ SMSG_AUCTION_FAVORITE_LIST = 0x2852,
+ SMSG_AUCTION_GET_COMMODITY_QUOTE_RESULT = 0x284A,
+ SMSG_AUCTION_HELLO_RESPONSE = 0x26F0,
+ SMSG_AUCTION_LIST_BIDDED_ITEMS_RESULT = 0x2849,
+ SMSG_AUCTION_LIST_BUCKETS_RESULT = 0x2846,
+ SMSG_AUCTION_LIST_ITEMS_RESULT = 0x2847,
+ SMSG_AUCTION_LIST_OWNED_ITEMS_RESULT = 0x2848,
+ SMSG_AUCTION_OUTBID_NOTIFICATION = 0x26F4,
+ SMSG_AUCTION_OWNER_BID_NOTIFICATION = 0x26F6,
+ SMSG_AUCTION_REPLICATE_RESPONSE = 0x26F1,
+ SMSG_AUCTION_WON_NOTIFICATION = 0x26F3,
SMSG_AURA_POINTS_DEPLETED = 0x2C22,
SMSG_AURA_UPDATE = 0x2C21,
SMSG_AUTH_CHALLENGE = 0x3048,
SMSG_AUTH_FAILED = 0x256C,
SMSG_AUTH_RESPONSE = 0x256D,
SMSG_AVAILABLE_HOTFIXES = 0x290F,
- SMSG_BACKPACK_DEFAULT_SIZE_CHANGED = 0x289B,
+ SMSG_BACKPACK_DEFAULT_SIZE_CHANGED = 0x2880,
SMSG_BAG_CLEANUP_FINISHED = 0x2DA7,
- SMSG_BARBER_SHOP_RESULT = 0x26BD,
- SMSG_BATCH_PRESENCE_SUBSCRIPTION = 0x283D,
+ SMSG_BARBER_SHOP_RESULT = 0x26C0,
+ SMSG_BATCH_PRESENCE_SUBSCRIPTION = 0x282A,
SMSG_BATTLEFIELD_LIST = 0x2927,
SMSG_BATTLEFIELD_PORT_DENIED = 0x292D,
SMSG_BATTLEFIELD_STATUS_ACTIVE = 0x2923,
@@ -1017,117 +1031,119 @@ enum OpcodeServer : uint16
SMSG_BATTLEGROUND_PLAYER_LEFT = 0x292C,
SMSG_BATTLEGROUND_PLAYER_POSITIONS = 0x2928,
SMSG_BATTLEGROUND_POINTS = 0x294A,
- SMSG_BATTLENET_CHALLENGE_ABORT = 0x2787,
- SMSG_BATTLENET_CHALLENGE_START = 0x2786,
- SMSG_BATTLENET_NOTIFICATION = 0x27FF,
- SMSG_BATTLENET_RESPONSE = 0x27FE,
- SMSG_BATTLE_NET_CONNECTION_STATUS = 0x2800,
- SMSG_BATTLE_PAY_ACK_FAILED = 0x2782,
- SMSG_BATTLE_PAY_BATTLE_PET_DELIVERED = 0x2777,
- SMSG_BATTLE_PAY_COLLECTION_ITEM_DELIVERED = 0x2778,
- SMSG_BATTLE_PAY_CONFIRM_PURCHASE = 0x2781,
- SMSG_BATTLE_PAY_DELIVERY_ENDED = 0x2775,
- SMSG_BATTLE_PAY_DELIVERY_STARTED = 0x2774,
- SMSG_BATTLE_PAY_DISTRIBUTION_ASSIGN_VAS_RESPONSE = 0x287E,
- SMSG_BATTLE_PAY_DISTRIBUTION_UNREVOKED = 0x2772,
- SMSG_BATTLE_PAY_DISTRIBUTION_UPDATE = 0x2773,
- SMSG_BATTLE_PAY_GET_DISTRIBUTION_LIST_RESPONSE = 0x2771,
- SMSG_BATTLE_PAY_GET_PRODUCT_LIST_RESPONSE = 0x276F,
- SMSG_BATTLE_PAY_GET_PURCHASE_LIST_RESPONSE = 0x2770,
- SMSG_BATTLE_PAY_MOUNT_DELIVERED = 0x2776,
- SMSG_BATTLE_PAY_PURCHASE_UPDATE = 0x2780,
- SMSG_BATTLE_PAY_START_CHECKOUT = 0x281B,
- SMSG_BATTLE_PAY_START_DISTRIBUTION_ASSIGN_TO_TARGET_RESPONSE = 0x277E,
- SMSG_BATTLE_PAY_START_PURCHASE_RESPONSE = 0x277D,
- SMSG_BATTLE_PAY_VALIDATE_PURCHASE_RESPONSE = 0x280F,
- SMSG_BATTLE_PETS_HEALED = 0x25F3,
- SMSG_BATTLE_PET_CAGE_DATE_ERROR = 0x2679,
- SMSG_BATTLE_PET_DELETED = 0x25F0,
- SMSG_BATTLE_PET_ERROR = 0x2637,
- SMSG_BATTLE_PET_JOURNAL = 0x25EF,
- SMSG_BATTLE_PET_JOURNAL_LOCK_ACQUIRED = 0x25ED,
- SMSG_BATTLE_PET_JOURNAL_LOCK_DENIED = 0x25EE,
- SMSG_BATTLE_PET_RESTORED = 0x25F2,
- SMSG_BATTLE_PET_REVOKED = 0x25F1,
- SMSG_BATTLE_PET_TRAP_LEVEL = 0x25EB,
- SMSG_BATTLE_PET_UPDATES = 0x25EA,
+ SMSG_BATTLENET_CHALLENGE_ABORT = 0x278A,
+ SMSG_BATTLENET_CHALLENGE_START = 0x2789,
+ SMSG_BATTLENET_NOTIFICATION = 0x2802,
+ SMSG_BATTLENET_RESPONSE = 0x2801,
+ SMSG_BATTLE_NET_CONNECTION_STATUS = 0x2803,
+ SMSG_BATTLE_PAY_ACK_FAILED = 0x2785,
+ SMSG_BATTLE_PAY_BATTLE_PET_DELIVERED = 0x277A,
+ SMSG_BATTLE_PAY_COLLECTION_ITEM_DELIVERED = 0x277B,
+ SMSG_BATTLE_PAY_CONFIRM_PURCHASE = 0x2784,
+ SMSG_BATTLE_PAY_DELIVERY_ENDED = 0x2778,
+ SMSG_BATTLE_PAY_DELIVERY_STARTED = 0x2777,
+ SMSG_BATTLE_PAY_DISTRIBUTION_ASSIGN_VAS_RESPONSE = 0x2869,
+ SMSG_BATTLE_PAY_DISTRIBUTION_UNREVOKED = 0x2775,
+ SMSG_BATTLE_PAY_DISTRIBUTION_UPDATE = 0x2776,
+ SMSG_BATTLE_PAY_GET_DISTRIBUTION_LIST_RESPONSE = 0x2774,
+ SMSG_BATTLE_PAY_GET_PRODUCT_LIST_RESPONSE = 0x2772,
+ SMSG_BATTLE_PAY_GET_PURCHASE_LIST_RESPONSE = 0x2773,
+ SMSG_BATTLE_PAY_MOUNT_DELIVERED = 0x2779,
+ SMSG_BATTLE_PAY_PURCHASE_UPDATE = 0x2783,
+ SMSG_BATTLE_PAY_START_CHECKOUT = 0x281E,
+ SMSG_BATTLE_PAY_START_DISTRIBUTION_ASSIGN_TO_TARGET_RESPONSE = 0x2781,
+ SMSG_BATTLE_PAY_START_PURCHASE_RESPONSE = 0x2780,
+ SMSG_BATTLE_PAY_VALIDATE_PURCHASE_RESPONSE = 0x2812,
+ SMSG_BATTLE_PETS_HEALED = 0x25F5,
+ SMSG_BATTLE_PET_CAGE_DATE_ERROR = 0x267C,
+ SMSG_BATTLE_PET_DELETED = 0x25F2,
+ SMSG_BATTLE_PET_ERROR = 0x2639,
+ SMSG_BATTLE_PET_JOURNAL = 0x25F1,
+ SMSG_BATTLE_PET_JOURNAL_LOCK_ACQUIRED = 0x25EF,
+ SMSG_BATTLE_PET_JOURNAL_LOCK_DENIED = 0x25F0,
+ SMSG_BATTLE_PET_RESTORED = 0x25F4,
+ SMSG_BATTLE_PET_REVOKED = 0x25F3,
+ SMSG_BATTLE_PET_TRAP_LEVEL = 0x25ED,
+ SMSG_BATTLE_PET_UPDATES = 0x25EC,
SMSG_BIND_POINT_UPDATE = 0x257D,
- SMSG_BLACK_MARKET_BID_ON_ITEM_RESULT = 0x2627,
- SMSG_BLACK_MARKET_OUTBID = 0x2628,
- SMSG_BLACK_MARKET_REQUEST_ITEMS_RESULT = 0x2626,
- SMSG_BLACK_MARKET_WON = 0x2629,
- SMSG_BONUS_ROLL_EMPTY = 0x2644,
+ SMSG_BLACK_MARKET_BID_ON_ITEM_RESULT = 0x2629,
+ SMSG_BLACK_MARKET_OUTBID = 0x262A,
+ SMSG_BLACK_MARKET_REQUEST_ITEMS_RESULT = 0x2628,
+ SMSG_BLACK_MARKET_WON = 0x262B,
+ SMSG_BONUS_ROLL_EMPTY = 0x2646,
SMSG_BOSS_KILL = 0x294D,
SMSG_BREAK_TARGET = 0x2938,
SMSG_BROADCAST_ACHIEVEMENT = 0x2BBC,
- SMSG_BROADCAST_SUMMON_CAST = 0x283F,
- SMSG_BROADCAST_SUMMON_RESPONSE = 0x2840,
- SMSG_BUY_FAILED = 0x26C6,
- SMSG_BUY_SUCCEEDED = 0x26C5,
+ SMSG_BROADCAST_SUMMON_CAST = 0x282C,
+ SMSG_BROADCAST_SUMMON_RESPONSE = 0x282D,
+ SMSG_BUY_FAILED = 0x26C9,
+ SMSG_BUY_SUCCEEDED = 0x26C8,
SMSG_CACHE_INFO = 0x291D,
SMSG_CACHE_VERSION = 0x291C,
- SMSG_CALENDAR_CLEAR_PENDING_ACTION = 0x269E,
- SMSG_CALENDAR_COMMAND_RESULT = 0x269F,
- SMSG_CALENDAR_COMMUNITY_INVITE = 0x268E,
- SMSG_CALENDAR_EVENT_REMOVED_ALERT = 0x2696,
- SMSG_CALENDAR_EVENT_UPDATED_ALERT = 0x2697,
- SMSG_CALENDAR_INVITE_ADDED = 0x268F,
- SMSG_CALENDAR_INVITE_ALERT = 0x2693,
- SMSG_CALENDAR_INVITE_NOTES = 0x2698,
- SMSG_CALENDAR_INVITE_NOTES_ALERT = 0x2699,
- SMSG_CALENDAR_INVITE_REMOVED = 0x2690,
- SMSG_CALENDAR_INVITE_REMOVED_ALERT = 0x2695,
- SMSG_CALENDAR_INVITE_STATUS = 0x2691,
- SMSG_CALENDAR_INVITE_STATUS_ALERT = 0x2694,
- SMSG_CALENDAR_MODERATOR_STATUS = 0x2692,
- SMSG_CALENDAR_RAID_LOCKOUT_ADDED = 0x269A,
- SMSG_CALENDAR_RAID_LOCKOUT_REMOVED = 0x269B,
- SMSG_CALENDAR_RAID_LOCKOUT_UPDATED = 0x269C,
- SMSG_CALENDAR_SEND_CALENDAR = 0x268C,
- SMSG_CALENDAR_SEND_EVENT = 0x268D,
- SMSG_CALENDAR_SEND_NUM_PENDING = 0x269D,
- SMSG_CAMERA_EFFECT = 0x2724,
- SMSG_CANCEL_AUTO_REPEAT = 0x26DD,
+ SMSG_CALENDAR_CLEAR_PENDING_ACTION = 0x26A1,
+ SMSG_CALENDAR_COMMAND_RESULT = 0x26A2,
+ SMSG_CALENDAR_COMMUNITY_INVITE = 0x2691,
+ SMSG_CALENDAR_EVENT_REMOVED_ALERT = 0x2699,
+ SMSG_CALENDAR_EVENT_UPDATED_ALERT = 0x269A,
+ SMSG_CALENDAR_INVITE_ADDED = 0x2692,
+ SMSG_CALENDAR_INVITE_ALERT = 0x2696,
+ SMSG_CALENDAR_INVITE_NOTES = 0x269B,
+ SMSG_CALENDAR_INVITE_NOTES_ALERT = 0x269C,
+ SMSG_CALENDAR_INVITE_REMOVED = 0x2693,
+ SMSG_CALENDAR_INVITE_REMOVED_ALERT = 0x2698,
+ SMSG_CALENDAR_INVITE_STATUS = 0x2694,
+ SMSG_CALENDAR_INVITE_STATUS_ALERT = 0x2697,
+ SMSG_CALENDAR_MODERATOR_STATUS = 0x2695,
+ SMSG_CALENDAR_RAID_LOCKOUT_ADDED = 0x269D,
+ SMSG_CALENDAR_RAID_LOCKOUT_REMOVED = 0x269E,
+ SMSG_CALENDAR_RAID_LOCKOUT_UPDATED = 0x269F,
+ SMSG_CALENDAR_SEND_CALENDAR = 0x268F,
+ SMSG_CALENDAR_SEND_EVENT = 0x2690,
+ SMSG_CALENDAR_SEND_NUM_PENDING = 0x26A0,
+ SMSG_CAMERA_EFFECT = 0x2727,
+ SMSG_CANCEL_AUTO_REPEAT = 0x26E0,
SMSG_CANCEL_COMBAT = 0x2947,
SMSG_CANCEL_ORPHAN_SPELL_VISUAL = 0x2C48,
- SMSG_CANCEL_PING_PIN = 0x25A4,
- SMSG_CANCEL_PRELOAD_WORLD = 0x2597,
- SMSG_CANCEL_SCENE = 0x2636,
+ SMSG_CANCEL_PING_PIN = 0x25A6,
+ SMSG_CANCEL_PRELOAD_WORLD = 0x2599,
+ SMSG_CANCEL_SCENE = 0x2638,
SMSG_CANCEL_SPELL_VISUAL = 0x2C46,
SMSG_CANCEL_SPELL_VISUAL_KIT = 0x2C4A,
SMSG_CAN_DUEL_RESULT = 0x2943,
- SMSG_CAN_REDEEM_TOKEN_FOR_BALANCE_RESPONSE = 0x280E,
+ SMSG_CAN_REDEEM_TOKEN_FOR_BALANCE_RESPONSE = 0x2811,
SMSG_CAPTURE_POINT_REMOVED = 0x292A,
SMSG_CAST_FAILED = 0x2C59,
- SMSG_CHAIN_MISSILE_BOUNCE = 0x25C9,
- SMSG_CHALLENGE_MODE_COMPLETE = 0x260A,
- SMSG_CHALLENGE_MODE_REQUEST_LEADERS_RESULT = 0x260F,
- SMSG_CHALLENGE_MODE_RESET = 0x2609,
- SMSG_CHALLENGE_MODE_START = 0x2607,
- SMSG_CHALLENGE_MODE_UPDATE_DEATH_COUNT = 0x2608,
+ SMSG_CAS_REFRESH_REMOTE_DATA = 0x267A,
+ SMSG_CHAIN_MISSILE_BOUNCE = 0x25CB,
+ SMSG_CHALLENGE_MODE_COMPLETE = 0x260C,
+ SMSG_CHALLENGE_MODE_REQUEST_LEADERS_RESULT = 0x2611,
+ SMSG_CHALLENGE_MODE_RESET = 0x260B,
+ SMSG_CHALLENGE_MODE_START = 0x2609,
+ SMSG_CHALLENGE_MODE_UPDATE_DEATH_COUNT = 0x260A,
SMSG_CHANGE_PLAYER_DIFFICULTY_RESULT = 0x3004,
- SMSG_CHANGE_REALM_TICKET_RESPONSE = 0x2801,
+ SMSG_CHANGE_REALM_TICKET_RESPONSE = 0x2804,
SMSG_CHANNEL_LIST = 0x2BC4,
SMSG_CHANNEL_NOTIFY = 0x2BC1,
SMSG_CHANNEL_NOTIFY_JOINED = 0x2BC2,
SMSG_CHANNEL_NOTIFY_LEFT = 0x2BC3,
- SMSG_CHARACTER_CHECK_UPGRADE_RESULT = 0x27BA,
- SMSG_CHARACTER_LOGIN_FAILED = 0x2704,
- SMSG_CHARACTER_OBJECT_TEST_RESPONSE = 0x2785,
- SMSG_CHARACTER_RENAME_RESULT = 0x2761,
- SMSG_CHARACTER_UPGRADE_ABORTED = 0x27B9,
- SMSG_CHARACTER_UPGRADE_COMPLETE = 0x27B8,
- SMSG_CHARACTER_UPGRADE_MANUAL_UNREVOKE_RESULT = 0x27BB,
- SMSG_CHARACTER_UPGRADE_STARTED = 0x27B7,
- SMSG_CHAR_CUSTOMIZE_FAILURE = 0x26E1,
- SMSG_CHAR_CUSTOMIZE_SUCCESS = 0x26E2,
- SMSG_CHAR_FACTION_CHANGE_RESULT = 0x27A4,
+ SMSG_CHARACTER_CHECK_UPGRADE_RESULT = 0x27BD,
+ SMSG_CHARACTER_LOGIN_FAILED = 0x2707,
+ SMSG_CHARACTER_OBJECT_TEST_RESPONSE = 0x2788,
+ SMSG_CHARACTER_RENAME_RESULT = 0x2764,
+ SMSG_CHARACTER_UPGRADE_ABORTED = 0x27BC,
+ SMSG_CHARACTER_UPGRADE_COMPLETE = 0x27BB,
+ SMSG_CHARACTER_UPGRADE_MANUAL_UNREVOKE_RESULT = 0x27BE,
+ SMSG_CHARACTER_UPGRADE_STARTED = 0x27BA,
+ SMSG_CHAR_CUSTOMIZE_FAILURE = 0x26E4,
+ SMSG_CHAR_CUSTOMIZE_SUCCESS = 0x26E5,
+ SMSG_CHAR_FACTION_CHANGE_RESULT = 0x27A7,
SMSG_CHAT = 0x2BAD,
SMSG_CHAT_AUTO_RESPONDED = 0x2BB8,
SMSG_CHAT_CAN_LOCAL_WHISPER_TARGET_RESPONSE = 0x2BCB,
SMSG_CHAT_DOWN = 0x2BBE,
SMSG_CHAT_IGNORED_ACCOUNT_MUTED = 0x2BAC,
SMSG_CHAT_IS_DOWN = 0x2BBF,
+ SMSG_CHAT_NOT_IN_GUILD = 0x2BCC,
SMSG_CHAT_NOT_IN_PARTY = 0x2BB2,
SMSG_CHAT_PLAYER_AMBIGUOUS = 0x2BB0,
SMSG_CHAT_PLAYER_NOTFOUND = 0x2BB7,
@@ -1136,99 +1152,102 @@ enum OpcodeServer : uint16
SMSG_CHAT_RESTRICTED = 0x2BB3,
SMSG_CHAT_SERVER_MESSAGE = 0x2BC5,
SMSG_CHEAT_IGNORE_DIMISHING_RETURNS = 0x2C12,
- SMSG_CHECK_ABANDON_NPE = 0x3018,
- SMSG_CHECK_CHARACTER_NAME_AVAILABILITY_RESULT = 0x2585,
- SMSG_CHECK_WARGAME_ENTRY = 0x2591,
- SMSG_CHROMIE_TIME_SELECT_EXPANSION_SUCCESS = 0x2869,
- SMSG_CLAIM_RAF_REWARD_RESPONSE = 0x2850,
+ SMSG_CHECK_ABANDON_NPE = 0x301A,
+ SMSG_CHECK_CHARACTER_NAME_AVAILABILITY_RESULT = 0x2587,
+ SMSG_CHECK_WARGAME_ENTRY = 0x2593,
+ SMSG_CHROMIE_TIME_SELECT_EXPANSION_SUCCESS = 0x2855,
+ SMSG_CLAIM_RAF_REWARD_RESPONSE = 0x283D,
SMSG_CLEAR_ALL_SPELL_CHARGES = 0x2C26,
- SMSG_CLEAR_BOSS_EMOTES = 0x25BC,
- SMSG_CLEAR_COOLDOWN = 0x26BA,
+ SMSG_CLEAR_BOSS_EMOTES = 0x25BE,
+ SMSG_CLEAR_COOLDOWN = 0x26BD,
SMSG_CLEAR_COOLDOWNS = 0x2C25,
SMSG_CLEAR_RESURRECT = 0x257F,
SMSG_CLEAR_SPELL_CHARGES = 0x2C27,
SMSG_CLEAR_TARGET = 0x2944,
- SMSG_CLEAR_TREASURE_PICKER_CACHE = 0x2AA1,
- SMSG_CLOSE_ARTIFACT_FORGE = 0x279C,
- SMSG_CLUB_FINDER_ERROR_MESSAGE = 0x2848,
- SMSG_CLUB_FINDER_GET_CLUB_POSTING_IDS_RESPONSE = 0x284B,
- SMSG_CLUB_FINDER_LOOKUP_CLUB_POSTINGS_LIST = 0x2849,
- SMSG_CLUB_FINDER_RESPONSE_CHARACTER_APPLICATION_LIST = 0x2846,
- SMSG_CLUB_FINDER_RESPONSE_POST_RECRUITMENT_MESSAGE = 0x284A,
- SMSG_CLUB_FINDER_UPDATE_APPLICATIONS = 0x2847,
- SMSG_CLUB_FINDER_WHISPER_APPLICANT_RESPONSE = 0x288C,
- SMSG_COIN_REMOVED = 0x2616,
+ SMSG_CLEAR_TREASURE_PICKER_CACHE = 0x2AA2,
+ SMSG_CLOSE_ARTIFACT_FORGE = 0x279F,
+ SMSG_CLUB_FINDER_ERROR_MESSAGE = 0x2835,
+ SMSG_CLUB_FINDER_GET_CLUB_POSTING_IDS_RESPONSE = 0x2838,
+ SMSG_CLUB_FINDER_LOOKUP_CLUB_POSTINGS_LIST = 0x2836,
+ SMSG_CLUB_FINDER_RESPONSE_CHARACTER_APPLICATION_LIST = 0x2833,
+ SMSG_CLUB_FINDER_RESPONSE_POST_RECRUITMENT_MESSAGE = 0x2837,
+ SMSG_CLUB_FINDER_UPDATE_APPLICATIONS = 0x2834,
+ SMSG_CLUB_FINDER_WHISPER_APPLICANT_RESPONSE = 0x2875,
+ SMSG_COIN_REMOVED = 0x2618,
SMSG_COMBAT_EVENT_FAILED = 0x293B,
- SMSG_COMMENTATOR_MAP_INFO = 0x2706,
- SMSG_COMMENTATOR_PLAYER_INFO = 0x2707,
- SMSG_COMMENTATOR_STATE_CHANGED = 0x2705,
- SMSG_COMMERCE_TOKEN_GET_COUNT_RESPONSE = 0x27CA,
- SMSG_COMMERCE_TOKEN_GET_LOG_RESPONSE = 0x27D6,
- SMSG_COMMERCE_TOKEN_GET_MARKET_PRICE_RESPONSE = 0x27CC,
- SMSG_COMMERCE_TOKEN_UPDATE = 0x27CB,
- SMSG_COMPLAINT_RESULT = 0x26AC,
- SMSG_COMPLETE_SHIPMENT_RESPONSE = 0x2795,
- SMSG_CONFIRM_PARTY_INVITE = 0x280D,
+ SMSG_COMMENTATOR_MAP_INFO = 0x2709,
+ SMSG_COMMENTATOR_PLAYER_INFO = 0x270A,
+ SMSG_COMMENTATOR_STATE_CHANGED = 0x2708,
+ SMSG_COMMERCE_TOKEN_GET_COUNT_RESPONSE = 0x27CD,
+ SMSG_COMMERCE_TOKEN_GET_LOG_RESPONSE = 0x27D9,
+ SMSG_COMMERCE_TOKEN_GET_MARKET_PRICE_RESPONSE = 0x27CF,
+ SMSG_COMMERCE_TOKEN_UPDATE = 0x27CE,
+ SMSG_COMPLAINT_RESULT = 0x26AF,
+ SMSG_COMPLETE_SHIPMENT_RESPONSE = 0x2798,
+ SMSG_CONFIRM_PARTY_INVITE = 0x2810,
SMSG_CONNECT_TO = 0x304D,
- SMSG_CONSOLE_WRITE = 0x2634,
- SMSG_CONSUMABLE_TOKEN_BUY_AT_MARKET_PRICE_RESPONSE = 0x27D2,
- SMSG_CONSUMABLE_TOKEN_BUY_CHOICE_REQUIRED = 0x27D1,
- SMSG_CONSUMABLE_TOKEN_CAN_VETERAN_BUY_RESPONSE = 0x27D0,
- SMSG_CONSUMABLE_TOKEN_REDEEM_CONFIRM_REQUIRED = 0x27D4,
- SMSG_CONSUMABLE_TOKEN_REDEEM_RESPONSE = 0x27D5,
- SMSG_CONTACT_LIST = 0x2783,
- SMSG_CONTRIBUTION_LAST_UPDATE_RESPONSE = 0x2814,
- SMSG_CONTROL_UPDATE = 0x2646,
- SMSG_CONVERT_ITEMS_TO_CURRENCY_VALUE = 0x2872,
- SMSG_COOLDOWN_CHEAT = 0x2737,
- SMSG_COOLDOWN_EVENT = 0x26B9,
- SMSG_CORPSE_LOCATION = 0x264E,
- SMSG_CORPSE_RECLAIM_DELAY = 0x2748,
- SMSG_CORPSE_TRANSPORT_QUERY = 0x2711,
- SMSG_COVENANT_CALLINGS_AVAILABILITY_RESPONSE = 0x2AA3,
- SMSG_COVENANT_PREVIEW_OPEN_NPC = 0x27F6,
- SMSG_COVENANT_RENOWN_SEND_CATCHUP_STATE = 0x2873,
- SMSG_CRAFTING_HOUSE_HELLO_RESPONSE = 0x28A9,
- SMSG_CRAFTING_ORDER_CANCEL_RESULT = 0x28A5,
- SMSG_CRAFTING_ORDER_CLAIM_RESULT = 0x28A1,
- SMSG_CRAFTING_ORDER_CRAFT_RESULT = 0x28A3,
- SMSG_CRAFTING_ORDER_CREATE_RESULT = 0x289F,
- SMSG_CRAFTING_ORDER_FULFILL_RESULT = 0x28A4,
- SMSG_CRAFTING_ORDER_LIST_ORDERS_RESPONSE = 0x28A0,
- SMSG_CRAFTING_ORDER_REJECT_RESULT = 0x28A7,
- SMSG_CRAFTING_ORDER_RELEASE_RESULT = 0x28A2,
- SMSG_CRAFTING_ORDER_UPDATE_STATE = 0x28AA,
- SMSG_CRAFT_ENCHANT_RESULT = 0x28A8,
- SMSG_CREATE_CHAR = 0x2700,
- SMSG_CREATE_SHIPMENT_RESPONSE = 0x2794,
- SMSG_CREATOR_VISUALS_OVERRIDE = 0x28AD,
- SMSG_CRITERIA_DELETED = 0x26E6,
- SMSG_CRITERIA_UPDATE = 0x26E0,
- SMSG_CROSSED_INEBRIATION_THRESHOLD = 0x26C1,
- SMSG_CUSTOM_LOAD_SCREEN = 0x25CC,
+ SMSG_CONSOLE_WRITE = 0x2636,
+ SMSG_CONSUMABLE_TOKEN_BUY_AT_MARKET_PRICE_RESPONSE = 0x27D5,
+ SMSG_CONSUMABLE_TOKEN_BUY_CHOICE_REQUIRED = 0x27D4,
+ SMSG_CONSUMABLE_TOKEN_CAN_VETERAN_BUY_RESPONSE = 0x27D3,
+ SMSG_CONSUMABLE_TOKEN_REDEEM_CONFIRM_REQUIRED = 0x27D7,
+ SMSG_CONSUMABLE_TOKEN_REDEEM_RESPONSE = 0x27D8,
+ SMSG_CONTACT_LIST = 0x2786,
+ SMSG_CONTRIBUTION_LAST_UPDATE_RESPONSE = 0x2817,
+ SMSG_CONTROL_UPDATE = 0x2648,
+ SMSG_CONVERT_ITEMS_TO_CURRENCY_VALUE = 0x285E,
+ SMSG_COOLDOWN_CHEAT = 0x273A,
+ SMSG_COOLDOWN_EVENT = 0x26BC,
+ SMSG_CORPSE_LOCATION = 0x2650,
+ SMSG_CORPSE_RECLAIM_DELAY = 0x274B,
+ SMSG_CORPSE_TRANSPORT_QUERY = 0x2714,
+ SMSG_COVENANT_CALLINGS_AVAILABILITY_RESPONSE = 0x2AA4,
+ SMSG_COVENANT_PREVIEW_OPEN_NPC = 0x27F9,
+ SMSG_COVENANT_RENOWN_SEND_CATCHUP_STATE = 0x285F,
+ SMSG_CRAFTING_HOUSE_HELLO_RESPONSE = 0x288C,
+ SMSG_CRAFTING_ORDER_CANCEL_RESULT = 0x2888,
+ SMSG_CRAFTING_ORDER_CLAIM_RESULT = 0x2884,
+ SMSG_CRAFTING_ORDER_CRAFT_RESULT = 0x2886,
+ SMSG_CRAFTING_ORDER_CREATE_RESULT = 0x2882,
+ SMSG_CRAFTING_ORDER_FULFILL_RESULT = 0x2887,
+ SMSG_CRAFTING_ORDER_LIST_ORDERS_RESPONSE = 0x2883,
+ SMSG_CRAFTING_ORDER_NPC_REWARD_INFO = 0x288E,
+ SMSG_CRAFTING_ORDER_REJECT_RESULT = 0x288A,
+ SMSG_CRAFTING_ORDER_RELEASE_RESULT = 0x2885,
+ SMSG_CRAFTING_ORDER_UPDATE_STATE = 0x288D,
+ SMSG_CRAFT_ENCHANT_RESULT = 0x288B,
+ SMSG_CREATE_CHAR = 0x2703,
+ SMSG_CREATE_SHIPMENT_RESPONSE = 0x2797,
+ SMSG_CREATOR_VISUALS_OVERRIDE = 0x2891,
+ SMSG_CRITERIA_DELETED = 0x26E9,
+ SMSG_CRITERIA_UPDATE = 0x26E3,
+ SMSG_CROSSED_INEBRIATION_THRESHOLD = 0x26C4,
+ SMSG_CURRENCY_TRANSFER_LOG = 0x28A3,
+ SMSG_CURRENCY_TRANSFER_RESULT = 0x28A2,
+ SMSG_CUSTOM_LOAD_SCREEN = 0x25CE,
SMSG_DAILY_QUESTS_RESET = 0x2A80,
SMSG_DAMAGE_CALC_LOG = 0x2C65,
SMSG_DB_REPLY = 0x290E,
- SMSG_DEATH_RELEASE_LOC = 0x26D3,
- SMSG_DEBUG_MENU_MANAGER_FULL_UPDATE = 0x2656,
+ SMSG_DEATH_RELEASE_LOC = 0x26D6,
+ SMSG_DEBUG_MENU_MANAGER_FULL_UPDATE = 0x2658,
SMSG_DEFENSE_MESSAGE = 0x2BB6,
- SMSG_DELETE_CHAR = 0x2701,
+ SMSG_DELETE_CHAR = 0x2704,
SMSG_DELETE_EXPIRED_MISSIONS_RESULT = 0x2980,
- SMSG_DESTROY_ARENA_UNIT = 0x2740,
- SMSG_DESTRUCTIBLE_BUILDING_DAMAGE = 0x26F8,
- SMSG_DIFFERENT_INSTANCE_FROM_PARTY = 0x258A,
- SMSG_DISENCHANT_CREDIT = 0x25A8,
+ SMSG_DESTROY_ARENA_UNIT = 0x2743,
+ SMSG_DESTRUCTIBLE_BUILDING_DAMAGE = 0x26FB,
+ SMSG_DIFFERENT_INSTANCE_FROM_PARTY = 0x258C,
+ SMSG_DISENCHANT_CREDIT = 0x25AA,
SMSG_DISMOUNT_RESULT = 0x257C,
SMSG_DISPEL_FAILED = 0x2C2F,
- SMSG_DISPLAY_GAME_ERROR = 0x259E,
+ SMSG_DISPLAY_GAME_ERROR = 0x25A0,
SMSG_DISPLAY_PLAYER_CHOICE = 0x2FFC,
- SMSG_DISPLAY_PROMOTION = 0x264B,
+ SMSG_DISPLAY_PROMOTION = 0x264D,
SMSG_DISPLAY_QUEST_POPUP = 0x2A9E,
- SMSG_DISPLAY_SOULBIND_UPDATE_MESSAGE = 0x2877,
- SMSG_DISPLAY_TOAST = 0x2623,
- SMSG_DISPLAY_WORLD_TEXT = 0x27E7,
+ SMSG_DISPLAY_SOULBIND_UPDATE_MESSAGE = 0x2862,
+ SMSG_DISPLAY_TOAST = 0x2625,
+ SMSG_DISPLAY_WORLD_TEXT = 0x27EA,
SMSG_DISPLAY_WORLD_TEXT_ON_TARGET = 0x2C64,
- SMSG_DONT_AUTO_PUSH_SPELLS_TO_ACTION_BAR = 0x25E1,
+ SMSG_DONT_AUTO_PUSH_SPELLS_TO_ACTION_BAR = 0x25E3,
SMSG_DROP_NEW_CONNECTION = 0x304C,
SMSG_DUEL_ARRANGED = 0x293D,
SMSG_DUEL_COMPLETE = 0x2941,
@@ -1237,53 +1256,53 @@ enum OpcodeServer : uint16
SMSG_DUEL_OUT_OF_BOUNDS = 0x293E,
SMSG_DUEL_REQUESTED = 0x293C,
SMSG_DUEL_WINNER = 0x2942,
- SMSG_DURABILITY_DAMAGE_DEATH = 0x2743,
- SMSG_EMOTE = 0x27C1,
- SMSG_ENABLE_BARBER_SHOP = 0x26BC,
- SMSG_ENCHANTMENT_LOG = 0x2712,
- SMSG_ENCOUNTER_END = 0x277C,
- SMSG_ENCOUNTER_START = 0x277B,
- SMSG_END_LIGHTNING_STORM = 0x26A9,
- SMSG_ENSURE_WORLD_LOADED = 0x2886,
+ SMSG_DURABILITY_DAMAGE_DEATH = 0x2746,
+ SMSG_EMOTE = 0x27C4,
+ SMSG_ENABLE_BARBER_SHOP = 0x26BF,
+ SMSG_ENCHANTMENT_LOG = 0x2715,
+ SMSG_ENCOUNTER_END = 0x277F,
+ SMSG_ENCOUNTER_START = 0x277E,
+ SMSG_END_LIGHTNING_STORM = 0x26AC,
SMSG_ENTER_ENCRYPTED_MODE = 0x3049,
SMSG_ENUM_CHARACTERS_RESULT = 0x2584,
- SMSG_ENUM_VAS_PURCHASE_STATES_RESPONSE = 0x27EC,
+ SMSG_ENUM_VAS_PURCHASE_STATES_RESPONSE = 0x27EF,
SMSG_ENVIRONMENTAL_DAMAGE_LOG = 0x2C1E,
- SMSG_EQUIPMENT_SET_ID = 0x26B2,
+ SMSG_EQUIPMENT_SET_ID = 0x26B5,
SMSG_EXPECTED_SPAM_RECORDS = 0x2BB1,
- SMSG_EXPLORATION_EXPERIENCE = 0x275D,
- SMSG_EXTERNAL_TRANSACTION_ID_GENERATED = 0x2870,
- SMSG_FACTION_BONUS_INFO = 0x2723,
+ SMSG_EXPLORATION_EXPERIENCE = 0x2760,
+ SMSG_EXTERNAL_TRANSACTION_ID_GENERATED = 0x285C,
+ SMSG_FACTION_BONUS_INFO = 0x2726,
SMSG_FAILED_PLAYER_CONDITION = 0x2FFA,
- SMSG_FAILED_QUEST_TURN_IN = 0x280A,
- SMSG_FEATURE_SYSTEM_STATUS = 0x25C0,
- SMSG_FEATURE_SYSTEM_STATUS2 = 0x28C1,
- SMSG_FEATURE_SYSTEM_STATUS_GLUE_SCREEN = 0x25C1,
- SMSG_FEIGN_DEATH_RESISTED = 0x2742,
- SMSG_FISH_ESCAPED = 0x26D0,
- SMSG_FISH_NOT_HOOKED = 0x26CF,
- SMSG_FLIGHT_SPLINE_SYNC = 0x2E2B,
+ SMSG_FAILED_QUEST_TURN_IN = 0x280D,
+ SMSG_FEATURE_SYSTEM_STATUS = 0x25C2,
+ SMSG_FEATURE_SYSTEM_STATUS2 = 0x28A0,
+ SMSG_FEATURE_SYSTEM_STATUS_GLUE_SCREEN = 0x25C3,
+ SMSG_FEIGN_DEATH_RESISTED = 0x2745,
+ SMSG_FISH_ESCAPED = 0x26D3,
+ SMSG_FISH_NOT_HOOKED = 0x26D2,
+ SMSG_FLIGHT_SPLINE_SYNC = 0x2E2D,
SMSG_FLUSH_COMBAT_LOG_FILE = 0x2C20,
- SMSG_FORCED_DEATH_UPDATE = 0x26D4,
- SMSG_FORCE_ANIM = 0x274F,
- SMSG_FORCE_ANIMATIONS = 0x2750,
- SMSG_FORCE_OBJECT_RELINK = 0x264A,
- SMSG_FORCE_RANDOM_TRANSMOG_TOAST = 0x25B3,
- SMSG_FRIEND_STATUS = 0x2784,
- SMSG_GAIN_MAW_POWER = 0x27DB,
- SMSG_GAME_OBJECT_ACTIVATE_ANIM_KIT = 0x25C4,
- SMSG_GAME_OBJECT_BASE = 0x2821,
- SMSG_GAME_OBJECT_CLOSE_INTERACTION = 0x288A,
- SMSG_GAME_OBJECT_CUSTOM_ANIM = 0x25C5,
- SMSG_GAME_OBJECT_DESPAWN = 0x25C6,
- SMSG_GAME_OBJECT_INTERACTION = 0x2889,
+ SMSG_FORCED_DEATH_UPDATE = 0x26D7,
+ SMSG_FORCE_ANIM = 0x2752,
+ SMSG_FORCE_ANIMATIONS = 0x2753,
+ SMSG_FORCE_OBJECT_RELINK = 0x264C,
+ SMSG_FORCE_RANDOM_TRANSMOG_TOAST = 0x25B5,
+ SMSG_FORCE_SPAWN_TRACKING_UPDATE = 0x2AA1,
+ SMSG_FRIEND_STATUS = 0x2787,
+ SMSG_GAIN_MAW_POWER = 0x27DE,
+ SMSG_GAME_OBJECT_ACTIVATE_ANIM_KIT = 0x25C6,
+ SMSG_GAME_OBJECT_BASE = 0x2824,
+ SMSG_GAME_OBJECT_CLOSE_INTERACTION = 0x2874,
+ SMSG_GAME_OBJECT_CUSTOM_ANIM = 0x25C7,
+ SMSG_GAME_OBJECT_DESPAWN = 0x25C8,
+ SMSG_GAME_OBJECT_INTERACTION = 0x2873,
SMSG_GAME_OBJECT_PLAY_SPELL_VISUAL = 0x2C4D,
SMSG_GAME_OBJECT_PLAY_SPELL_VISUAL_KIT = 0x2C4C,
- SMSG_GAME_OBJECT_RESET_STATE = 0x271D,
- SMSG_GAME_OBJECT_SET_STATE_LOCAL = 0x27FD,
- SMSG_GAME_SPEED_SET = 0x2682,
- SMSG_GAME_TIME_SET = 0x270B,
- SMSG_GAME_TIME_UPDATE = 0x270A,
+ SMSG_GAME_OBJECT_RESET_STATE = 0x2720,
+ SMSG_GAME_OBJECT_SET_STATE_LOCAL = 0x2800,
+ SMSG_GAME_SPEED_SET = 0x2685,
+ SMSG_GAME_TIME_SET = 0x270E,
+ SMSG_GAME_TIME_UPDATE = 0x270D,
SMSG_GARRISON_ACTIVATE_MISSION_BONUS_ABILITY = 0x2982,
SMSG_GARRISON_ADD_EVENT = 0x29A6,
SMSG_GARRISON_ADD_FOLLOWER_RESULT = 0x2974,
@@ -1354,37 +1373,37 @@ enum OpcodeServer : uint16
SMSG_GARRISON_UPDATE_MISSION_CHEAT_RESULT = 0x29AE,
SMSG_GARRISON_UPGRADE_RESULT = 0x296B,
SMSG_GARRISON_USE_RECALL_PORTAL_RESULT = 0x297D,
- SMSG_GENERATE_RANDOM_CHARACTER_NAME_RESULT = 0x2586,
- SMSG_GENERATE_SSO_TOKEN_RESPONSE = 0x2815,
- SMSG_GET_ACCOUNT_CHARACTER_LIST_RESULT = 0x275F,
+ SMSG_GENERATE_RANDOM_CHARACTER_NAME_RESULT = 0x2588,
+ SMSG_GENERATE_SSO_TOKEN_RESPONSE = 0x2818,
+ SMSG_GET_ACCOUNT_CHARACTER_LIST_RESULT = 0x2762,
SMSG_GET_GARRISON_INFO_RESULT = 0x295E,
- SMSG_GET_LANDING_PAGE_SHIPMENTS_RESPONSE = 0x2797,
- SMSG_GET_REALM_HIDDEN_RESULT = 0x28BB,
- SMSG_GET_REMAINING_GAME_TIME_RESPONSE = 0x27D3,
- SMSG_GET_SELECTED_TROPHY_ID_RESPONSE = 0x27BF,
- SMSG_GET_SHIPMENTS_OF_TYPE_RESPONSE = 0x2796,
- SMSG_GET_SHIPMENT_INFO_RESPONSE = 0x2792,
- SMSG_GET_TROPHY_LIST_RESPONSE = 0x27BE,
- SMSG_GET_VAS_ACCOUNT_CHARACTER_LIST_RESULT = 0x27E8,
- SMSG_GET_VAS_TRANSFER_TARGET_REALM_LIST_RESULT = 0x27E9,
+ SMSG_GET_LANDING_PAGE_SHIPMENTS_RESPONSE = 0x279A,
+ SMSG_GET_REALM_HIDDEN_RESULT = 0x2897,
+ SMSG_GET_REMAINING_GAME_TIME_RESPONSE = 0x27D6,
+ SMSG_GET_SELECTED_TROPHY_ID_RESPONSE = 0x27C2,
+ SMSG_GET_SHIPMENTS_OF_TYPE_RESPONSE = 0x2799,
+ SMSG_GET_SHIPMENT_INFO_RESPONSE = 0x2795,
+ SMSG_GET_TROPHY_LIST_RESPONSE = 0x27C1,
+ SMSG_GET_VAS_ACCOUNT_CHARACTER_LIST_RESULT = 0x27EB,
+ SMSG_GET_VAS_TRANSFER_TARGET_REALM_LIST_RESULT = 0x27EC,
SMSG_GM_PLAYER_INFO = 0x3005,
SMSG_GM_REQUEST_PLAYER_INFO = 0x2FFB,
- SMSG_GM_TICKET_CASE_STATUS = 0x26A4,
- SMSG_GM_TICKET_SYSTEM_STATUS = 0x26A3,
- SMSG_GOD_MODE = 0x26FB,
+ SMSG_GM_TICKET_CASE_STATUS = 0x26A7,
+ SMSG_GM_TICKET_SYSTEM_STATUS = 0x26A6,
+ SMSG_GOD_MODE = 0x26FE,
SMSG_GOSSIP_COMPLETE = 0x2A97,
SMSG_GOSSIP_MESSAGE = 0x2A98,
- SMSG_GOSSIP_OPTION_NPC_INTERACTION = 0x2AA7,
- SMSG_GOSSIP_POI = 0x278F,
+ SMSG_GOSSIP_OPTION_NPC_INTERACTION = 0x2AA8,
+ SMSG_GOSSIP_POI = 0x2792,
SMSG_GOSSIP_QUEST_UPDATE = 0x2A99,
- SMSG_GOSSIP_REFRESH_OPTIONS = 0x2AA6,
- SMSG_GROUP_ACTION_THROTTLED = 0x258E,
- SMSG_GROUP_AUTO_KICK = 0x278C,
- SMSG_GROUP_DECLINE = 0x2788,
- SMSG_GROUP_DESTROYED = 0x278B,
- SMSG_GROUP_NEW_LEADER = 0x262C,
- SMSG_GROUP_REQUEST_DECLINE = 0x2789,
- SMSG_GROUP_UNINVITE = 0x278A,
+ SMSG_GOSSIP_REFRESH_OPTIONS = 0x2AA7,
+ SMSG_GROUP_ACTION_THROTTLED = 0x2590,
+ SMSG_GROUP_AUTO_KICK = 0x278F,
+ SMSG_GROUP_DECLINE = 0x278B,
+ SMSG_GROUP_DESTROYED = 0x278E,
+ SMSG_GROUP_NEW_LEADER = 0x262E,
+ SMSG_GROUP_REQUEST_DECLINE = 0x278C,
+ SMSG_GROUP_UNINVITE = 0x278D,
SMSG_GUILD_ACHIEVEMENT_DELETED = 0x29C6,
SMSG_GUILD_ACHIEVEMENT_EARNED = 0x29C5,
SMSG_GUILD_ACHIEVEMENT_MEMBERS = 0x29C8,
@@ -1415,6 +1434,7 @@ enum OpcodeServer : uint16
SMSG_GUILD_EVENT_TAB_MODIFIED = 0x29F6,
SMSG_GUILD_EVENT_TAB_TEXT_CHANGED = 0x29F7,
SMSG_GUILD_FLAGGED_FOR_RENAME = 0x29DD,
+ SMSG_GUILD_HARDCORE_MEMBER_DEATH = 0x29BD,
SMSG_GUILD_INVITE = 0x29CB,
SMSG_GUILD_INVITE_DECLINED = 0x29E9,
SMSG_GUILD_INVITE_EXPIRED = 0x29EA,
@@ -1438,59 +1458,60 @@ enum OpcodeServer : uint16
SMSG_GUILD_ROSTER = 0x29BB,
SMSG_GUILD_ROSTER_UPDATE = 0x29BC,
SMSG_GUILD_SEND_RANK_CHANGE = 0x29B9,
- SMSG_HEALTH_UPDATE = 0x26D1,
- SMSG_HIGHEST_THREAT_UPDATE = 0x26D9,
+ SMSG_HARDCORE_DEATH_ALERT = 0x289F,
+ SMSG_HEALTH_UPDATE = 0x26D4,
+ SMSG_HIGHEST_THREAT_UPDATE = 0x26DC,
SMSG_HOTFIX_CONNECT = 0x2911,
SMSG_HOTFIX_MESSAGE = 0x2910,
- SMSG_INITIALIZE_FACTIONS = 0x2722,
+ SMSG_INITIALIZE_FACTIONS = 0x2725,
SMSG_INITIAL_SETUP = 0x2580,
- SMSG_INIT_WORLD_STATES = 0x2744,
- SMSG_INSPECT_RESULT = 0x2630,
- SMSG_INSTANCE_ENCOUNTER_CHANGE_PRIORITY = 0x27AA,
- SMSG_INSTANCE_ENCOUNTER_DISENGAGE_UNIT = 0x27A9,
- SMSG_INSTANCE_ENCOUNTER_END = 0x27B2,
- SMSG_INSTANCE_ENCOUNTER_ENGAGE_UNIT = 0x27A8,
- SMSG_INSTANCE_ENCOUNTER_GAIN_COMBAT_RESURRECTION_CHARGE = 0x27B4,
- SMSG_INSTANCE_ENCOUNTER_IN_COMBAT_RESURRECTION = 0x27B3,
- SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_COMPLETE = 0x27AD,
- SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_START = 0x27AC,
- SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_UPDATE = 0x27B1,
- SMSG_INSTANCE_ENCOUNTER_PHASE_SHIFT_CHANGED = 0x27B5,
- SMSG_INSTANCE_ENCOUNTER_START = 0x27AE,
- SMSG_INSTANCE_ENCOUNTER_TIMER_START = 0x27AB,
- SMSG_INSTANCE_ENCOUNTER_UPDATE_ALLOW_RELEASE_IN_PROGRESS = 0x27B0,
- SMSG_INSTANCE_ENCOUNTER_UPDATE_SUPPRESS_RELEASE = 0x27AF,
- SMSG_INSTANCE_GROUP_SIZE_CHANGED = 0x26F9,
- SMSG_INSTANCE_INFO = 0x2633,
- SMSG_INSTANCE_RESET = 0x2687,
- SMSG_INSTANCE_RESET_FAILED = 0x2688,
- SMSG_INSTANCE_SAVE_CREATED = 0x277A,
+ SMSG_INIT_WORLD_STATES = 0x2747,
+ SMSG_INSPECT_RESULT = 0x2632,
+ SMSG_INSTANCE_ENCOUNTER_CHANGE_PRIORITY = 0x27AD,
+ SMSG_INSTANCE_ENCOUNTER_DISENGAGE_UNIT = 0x27AC,
+ SMSG_INSTANCE_ENCOUNTER_END = 0x27B5,
+ SMSG_INSTANCE_ENCOUNTER_ENGAGE_UNIT = 0x27AB,
+ SMSG_INSTANCE_ENCOUNTER_GAIN_COMBAT_RESURRECTION_CHARGE = 0x27B7,
+ SMSG_INSTANCE_ENCOUNTER_IN_COMBAT_RESURRECTION = 0x27B6,
+ SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_COMPLETE = 0x27B0,
+ SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_START = 0x27AF,
+ SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_UPDATE = 0x27B4,
+ SMSG_INSTANCE_ENCOUNTER_PHASE_SHIFT_CHANGED = 0x27B8,
+ SMSG_INSTANCE_ENCOUNTER_START = 0x27B1,
+ SMSG_INSTANCE_ENCOUNTER_TIMER_START = 0x27AE,
+ SMSG_INSTANCE_ENCOUNTER_UPDATE_ALLOW_RELEASE_IN_PROGRESS = 0x27B3,
+ SMSG_INSTANCE_ENCOUNTER_UPDATE_SUPPRESS_RELEASE = 0x27B2,
+ SMSG_INSTANCE_GROUP_SIZE_CHANGED = 0x26FC,
+ SMSG_INSTANCE_INFO = 0x2635,
+ SMSG_INSTANCE_RESET = 0x268A,
+ SMSG_INSTANCE_RESET_FAILED = 0x268B,
+ SMSG_INSTANCE_SAVE_CREATED = 0x277D,
SMSG_INTERRUPT_POWER_REGEN = 0x2C5B,
SMSG_INVALIDATE_PAGE_TEXT = 0x2918,
SMSG_INVALIDATE_PLAYER = 0x2FFF,
- SMSG_INVALID_PROMOTION_CODE = 0x2751,
+ SMSG_INVALID_PROMOTION_CODE = 0x2754,
SMSG_INVENTORY_CHANGE_FAILURE = 0x2DA5,
- SMSG_INVENTORY_FIXUP_COMPLETE = 0x280C,
- SMSG_INVENTORY_FULL_OVERFLOW = 0x281D,
- SMSG_ISLAND_AZERITE_GAIN = 0x275A,
- SMSG_ISLAND_COMPLETE = 0x275B,
+ SMSG_INVENTORY_FIXUP_COMPLETE = 0x280F,
+ SMSG_INVENTORY_FULL_OVERFLOW = 0x2820,
+ SMSG_ISLAND_AZERITE_GAIN = 0x275D,
+ SMSG_ISLAND_COMPLETE = 0x275E,
SMSG_IS_QUEST_COMPLETE_RESPONSE = 0x2A84,
- SMSG_ITEM_CHANGED = 0x26EA,
- SMSG_ITEM_COOLDOWN = 0x27C0,
- SMSG_ITEM_ENCHANT_TIME_UPDATE = 0x2753,
- SMSG_ITEM_EXPIRE_PURCHASE_REFUND = 0x259D,
- SMSG_ITEM_INTERACTION_COMPLETE = 0x2868,
- SMSG_ITEM_PURCHASE_REFUND_RESULT = 0x259B,
- SMSG_ITEM_PUSH_RESULT = 0x2622,
- SMSG_ITEM_TIME_UPDATE = 0x2752,
- SMSG_KICK_REASON = 0x268A,
- SMSG_LATENCY_REPORT_PING = 0x287A,
+ SMSG_ITEM_CHANGED = 0x26ED,
+ SMSG_ITEM_COOLDOWN = 0x27C3,
+ SMSG_ITEM_ENCHANT_TIME_UPDATE = 0x2756,
+ SMSG_ITEM_EXPIRE_PURCHASE_REFUND = 0x259F,
+ SMSG_ITEM_INTERACTION_COMPLETE = 0x2854,
+ SMSG_ITEM_PURCHASE_REFUND_RESULT = 0x259D,
+ SMSG_ITEM_PUSH_RESULT = 0x2624,
+ SMSG_ITEM_TIME_UPDATE = 0x2755,
+ SMSG_KICK_REASON = 0x268D,
+ SMSG_LATENCY_REPORT_PING = 0x2865,
SMSG_LEARNED_SPELLS = 0x2C4F,
- SMSG_LEARN_PVP_TALENT_FAILED = 0x25D5,
- SMSG_LEARN_TALENT_FAILED = 0x25D4,
- SMSG_LEGACY_LOOT_RULES = 0x2822,
- SMSG_LEVEL_LINKING_RESULT = 0x284E,
- SMSG_LEVEL_UP_INFO = 0x26E8,
+ SMSG_LEARN_PVP_TALENT_FAILED = 0x25D7,
+ SMSG_LEARN_TALENT_FAILED = 0x25D6,
+ SMSG_LEGACY_LOOT_RULES = 0x2825,
+ SMSG_LEVEL_LINKING_RESULT = 0x283B,
+ SMSG_LEVEL_UP_INFO = 0x26EB,
SMSG_LFG_BOOT_PLAYER = 0x2A35,
SMSG_LFG_DISABLED = 0x2A33,
SMSG_LFG_EXPAND_SEARCH_PROMPT = 0x2A3B,
@@ -1518,89 +1539,91 @@ enum OpcodeServer : uint16
SMSG_LFG_SLOT_INVALID = 0x2A30,
SMSG_LFG_TELEPORT_DENIED = 0x2A32,
SMSG_LFG_UPDATE_STATUS = 0x2A24,
- SMSG_LIVE_REGION_ACCOUNT_RESTORE_RESULT = 0x276C,
- SMSG_LIVE_REGION_CHARACTER_COPY_RESULT = 0x276B,
- SMSG_LIVE_REGION_GET_ACCOUNT_CHARACTER_LIST_RESULT = 0x2760,
- SMSG_LIVE_REGION_KEY_BINDINGS_COPY_RESULT = 0x276D,
- SMSG_LOAD_CUF_PROFILES = 0x25BD,
- SMSG_LOAD_EQUIPMENT_SET = 0x270D,
- SMSG_LOBBY_MATCHMAKER_LOBBY_ACQUIRED_SERVER = 0x288D,
- SMSG_LOBBY_MATCHMAKER_PARTY_INFO = 0x288E,
- SMSG_LOBBY_MATCHMAKER_PARTY_INVITE_REJECTED = 0x288F,
- SMSG_LOBBY_MATCHMAKER_RECEIVE_INVITE = 0x2890,
- SMSG_LOGIN_SET_TIME_SPEED = 0x270C,
- SMSG_LOGIN_VERIFY_WORLD = 0x2598,
- SMSG_LOGOUT_CANCEL_ACK = 0x2686,
- SMSG_LOGOUT_COMPLETE = 0x2685,
- SMSG_LOGOUT_RESPONSE = 0x2684,
- SMSG_LOG_XP_GAIN = 0x26E4,
- SMSG_LOOT_ALL_PASSED = 0x2620,
- SMSG_LOOT_LIST = 0x273F,
- SMSG_LOOT_MONEY_NOTIFY = 0x261B,
- SMSG_LOOT_RELEASE = 0x261A,
- SMSG_LOOT_RELEASE_ALL = 0x2619,
- SMSG_LOOT_REMOVED = 0x2615,
- SMSG_LOOT_RESPONSE = 0x2614,
- SMSG_LOOT_ROLL = 0x261D,
- SMSG_LOOT_ROLLS_COMPLETE = 0x261F,
- SMSG_LOOT_ROLL_WON = 0x2621,
- SMSG_LOSS_OF_CONTROL_AURA_UPDATE = 0x2671,
- SMSG_MAIL_COMMAND_RESULT = 0x263A,
- SMSG_MAIL_LIST_RESULT = 0x2754,
- SMSG_MAIL_QUERY_NEXT_TIME_RESULT = 0x2755,
+ SMSG_LIVE_REGION_ACCOUNT_RESTORE_RESULT = 0x276F,
+ SMSG_LIVE_REGION_CHARACTER_COPY_RESULT = 0x276E,
+ SMSG_LIVE_REGION_GET_ACCOUNT_CHARACTER_LIST_RESULT = 0x2763,
+ SMSG_LIVE_REGION_KEY_BINDINGS_COPY_RESULT = 0x2770,
+ SMSG_LOAD_CUF_PROFILES = 0x25BF,
+ SMSG_LOAD_EQUIPMENT_SET = 0x2710,
+ SMSG_LOBBY_MATCHMAKER_LOBBY_ACQUIRED_SERVER = 0x2876,
+ SMSG_LOBBY_MATCHMAKER_PARTY_INFO = 0x2877,
+ SMSG_LOBBY_MATCHMAKER_PARTY_INVITE_REJECTED = 0x2878,
+ SMSG_LOBBY_MATCHMAKER_RECEIVE_INVITE = 0x2879,
+ SMSG_LOGIN_SET_TIME_SPEED = 0x270F,
+ SMSG_LOGIN_VERIFY_WORLD = 0x259A,
+ SMSG_LOGOUT_CANCEL_ACK = 0x2689,
+ SMSG_LOGOUT_COMPLETE = 0x2688,
+ SMSG_LOGOUT_RESPONSE = 0x2687,
+ SMSG_LOG_XP_GAIN = 0x26E7,
+ SMSG_LOOT_ALL_PASSED = 0x2622,
+ SMSG_LOOT_LIST = 0x2742,
+ SMSG_LOOT_MONEY_NOTIFY = 0x261D,
+ SMSG_LOOT_RELEASE = 0x261C,
+ SMSG_LOOT_RELEASE_ALL = 0x261B,
+ SMSG_LOOT_REMOVED = 0x2617,
+ SMSG_LOOT_RESPONSE = 0x2616,
+ SMSG_LOOT_ROLL = 0x261F,
+ SMSG_LOOT_ROLLS_COMPLETE = 0x2621,
+ SMSG_LOOT_ROLL_WON = 0x2623,
+ SMSG_LOSS_OF_CONTROL_AURA_UPDATE = 0x2673,
+ SMSG_MAIL_COMMAND_RESULT = 0x263C,
+ SMSG_MAIL_LIST_RESULT = 0x2757,
+ SMSG_MAIL_QUERY_NEXT_TIME_RESULT = 0x2758,
SMSG_MAP_OBJECTIVES_INIT = 0x294C,
- SMSG_MAP_OBJ_EVENTS = 0x25C7,
- SMSG_MASTER_LOOT_CANDIDATE_LIST = 0x261E,
- SMSG_MEETING_STONE_FAILED = 0x2891,
+ SMSG_MAP_OBJ_EVENTS = 0x25C9,
+ SMSG_MASTER_LOOT_CANDIDATE_LIST = 0x2620,
+ SMSG_MEETING_STONE_FAILED = 0x287A,
SMSG_MESSAGE_BOX = 0x2576,
- SMSG_MINIMAP_PING = 0x26CE,
+ SMSG_MINIMAP_PING = 0x26D1,
SMSG_MIRROR_IMAGE_COMPONENTED_DATA = 0x2C14,
SMSG_MIRROR_IMAGE_CREATURE_DATA = 0x2C13,
- SMSG_MISSILE_CANCEL = 0x25C8,
- SMSG_MODIFY_COOLDOWN = 0x2762,
+ SMSG_MISSILE_CANCEL = 0x25CA,
+ SMSG_MODIFY_COOLDOWN = 0x2765,
SMSG_MOUNT_RESULT = 0x257B,
- SMSG_MOVEMENT_ENFORCEMENT_ALERT = 0x283E,
- SMSG_MOVE_ADD_IMPULSE = 0x2E32,
- SMSG_MOVE_APPLY_INERTIA = 0x2E2E,
- SMSG_MOVE_APPLY_MOVEMENT_FORCE = 0x2E15,
- SMSG_MOVE_DISABLE_COLLISION = 0x2E11,
+ SMSG_MOVEMENT_ENFORCEMENT_ALERT = 0x282B,
+ SMSG_MOVE_ADD_IMPULSE = 0x2E34,
+ SMSG_MOVE_APPLY_INERTIA = 0x2E30,
+ SMSG_MOVE_APPLY_MOVEMENT_FORCE = 0x2E17,
+ SMSG_MOVE_DISABLE_COLLISION = 0x2E13,
SMSG_MOVE_DISABLE_DOUBLE_JUMP = 0x2DFD,
- SMSG_MOVE_DISABLE_GRAVITY = 0x2E0D,
- SMSG_MOVE_DISABLE_INERTIA = 0x2E0F,
- SMSG_MOVE_DISABLE_TRANSITION_BETWEEN_SWIM_AND_FLY = 0x2E0C,
- SMSG_MOVE_ENABLE_COLLISION = 0x2E12,
+ SMSG_MOVE_DISABLE_FULL_SPEED_TURNING = 0x2E47,
+ SMSG_MOVE_DISABLE_GRAVITY = 0x2E0F,
+ SMSG_MOVE_DISABLE_INERTIA = 0x2E11,
+ SMSG_MOVE_DISABLE_TRANSITION_BETWEEN_SWIM_AND_FLY = 0x2E0E,
+ SMSG_MOVE_ENABLE_COLLISION = 0x2E14,
SMSG_MOVE_ENABLE_DOUBLE_JUMP = 0x2DFC,
- SMSG_MOVE_ENABLE_GRAVITY = 0x2E0E,
- SMSG_MOVE_ENABLE_INERTIA = 0x2E10,
- SMSG_MOVE_ENABLE_TRANSITION_BETWEEN_SWIM_AND_FLY = 0x2E0B,
+ SMSG_MOVE_ENABLE_FULL_SPEED_TURNING = 0x2E46,
+ SMSG_MOVE_ENABLE_GRAVITY = 0x2E10,
+ SMSG_MOVE_ENABLE_INERTIA = 0x2E12,
+ SMSG_MOVE_ENABLE_TRANSITION_BETWEEN_SWIM_AND_FLY = 0x2E0D,
SMSG_MOVE_KNOCK_BACK = 0x2E03,
- SMSG_MOVE_REMOVE_INERTIA = 0x2E2F,
- SMSG_MOVE_REMOVE_MOVEMENT_FORCE = 0x2E16,
+ SMSG_MOVE_REMOVE_INERTIA = 0x2E31,
+ SMSG_MOVE_REMOVE_MOVEMENT_FORCE = 0x2E18,
SMSG_MOVE_ROOT = 0x2DF9,
SMSG_MOVE_SET_ACTIVE_MOVER = 0x2DD5,
- SMSG_MOVE_SET_ADV_FLYING_ADD_IMPULSE_MAX_SPEED = 0x2E3B,
- SMSG_MOVE_SET_ADV_FLYING_AIR_FRICTION = 0x2E36,
- SMSG_MOVE_SET_ADV_FLYING_BANKING_RATE = 0x2E3C,
- SMSG_MOVE_SET_ADV_FLYING_DOUBLE_JUMP_VEL_MOD = 0x2E39,
- SMSG_MOVE_SET_ADV_FLYING_GLIDE_START_MIN_HEIGHT = 0x2E3A,
- SMSG_MOVE_SET_ADV_FLYING_LAUNCH_SPEED_COEFFICIENT = 0x2E42,
- SMSG_MOVE_SET_ADV_FLYING_LIFT_COEFFICIENT = 0x2E38,
- SMSG_MOVE_SET_ADV_FLYING_MAX_VEL = 0x2E37,
- SMSG_MOVE_SET_ADV_FLYING_OVER_MAX_DECELERATION = 0x2E41,
- SMSG_MOVE_SET_ADV_FLYING_PITCHING_RATE_DOWN = 0x2E3D,
- SMSG_MOVE_SET_ADV_FLYING_PITCHING_RATE_UP = 0x2E3E,
- SMSG_MOVE_SET_ADV_FLYING_SURFACE_FRICTION = 0x2E40,
- SMSG_MOVE_SET_ADV_FLYING_TURN_VELOCITY_THRESHOLD = 0x2E3F,
- SMSG_MOVE_SET_CAN_ADV_FLY = 0x2E34,
+ SMSG_MOVE_SET_ADV_FLYING_ADD_IMPULSE_MAX_SPEED = 0x2E3D,
+ SMSG_MOVE_SET_ADV_FLYING_AIR_FRICTION = 0x2E38,
+ SMSG_MOVE_SET_ADV_FLYING_BANKING_RATE = 0x2E3E,
+ SMSG_MOVE_SET_ADV_FLYING_DOUBLE_JUMP_VEL_MOD = 0x2E3B,
+ SMSG_MOVE_SET_ADV_FLYING_GLIDE_START_MIN_HEIGHT = 0x2E3C,
+ SMSG_MOVE_SET_ADV_FLYING_LAUNCH_SPEED_COEFFICIENT = 0x2E44,
+ SMSG_MOVE_SET_ADV_FLYING_LIFT_COEFFICIENT = 0x2E3A,
+ SMSG_MOVE_SET_ADV_FLYING_MAX_VEL = 0x2E39,
+ SMSG_MOVE_SET_ADV_FLYING_OVER_MAX_DECELERATION = 0x2E43,
+ SMSG_MOVE_SET_ADV_FLYING_PITCHING_RATE_DOWN = 0x2E3F,
+ SMSG_MOVE_SET_ADV_FLYING_PITCHING_RATE_UP = 0x2E40,
+ SMSG_MOVE_SET_ADV_FLYING_SURFACE_FRICTION = 0x2E42,
+ SMSG_MOVE_SET_ADV_FLYING_TURN_VELOCITY_THRESHOLD = 0x2E41,
+ SMSG_MOVE_SET_CAN_ADV_FLY = 0x2E36,
SMSG_MOVE_SET_CAN_FLY = 0x2E05,
- SMSG_MOVE_SET_CAN_TURN_WHILE_FALLING = 0x2E07,
- SMSG_MOVE_SET_COLLISION_HEIGHT = 0x2E13,
- SMSG_MOVE_SET_COMPOUND_STATE = 0x2E17,
+ SMSG_MOVE_SET_CAN_TURN_WHILE_FALLING = 0x2E09,
+ SMSG_MOVE_SET_COLLISION_HEIGHT = 0x2E15,
+ SMSG_MOVE_SET_COMPOUND_STATE = 0x2E19,
SMSG_MOVE_SET_FEATHER_FALL = 0x2DFF,
SMSG_MOVE_SET_FLIGHT_BACK_SPEED = 0x2DF5,
SMSG_MOVE_SET_FLIGHT_SPEED = 0x2DF4,
SMSG_MOVE_SET_HOVERING = 0x2E01,
- SMSG_MOVE_SET_IGNORE_MOVEMENT_FORCES = 0x2E09,
+ SMSG_MOVE_SET_IGNORE_MOVEMENT_FORCES = 0x2E0B,
SMSG_MOVE_SET_LAND_WALK = 0x2DFE,
SMSG_MOVE_SET_MOD_MOVEMENT_FORCE_MAGNITUDE = 0x2DE6,
SMSG_MOVE_SET_NORMAL_FALL = 0x2E00,
@@ -1610,47 +1633,47 @@ enum OpcodeServer : uint16
SMSG_MOVE_SET_SWIM_BACK_SPEED = 0x2DF3,
SMSG_MOVE_SET_SWIM_SPEED = 0x2DF2,
SMSG_MOVE_SET_TURN_RATE = 0x2DF7,
- SMSG_MOVE_SET_VEHICLE_REC_ID = 0x2E14,
+ SMSG_MOVE_SET_VEHICLE_REC_ID = 0x2E16,
SMSG_MOVE_SET_WALK_SPEED = 0x2DF6,
SMSG_MOVE_SET_WATER_WALK = 0x2DFB,
- SMSG_MOVE_SKIP_TIME = 0x2E18,
- SMSG_MOVE_SPLINE_DISABLE_COLLISION = 0x2E1D,
- SMSG_MOVE_SPLINE_DISABLE_GRAVITY = 0x2E1B,
- SMSG_MOVE_SPLINE_ENABLE_COLLISION = 0x2E1E,
- SMSG_MOVE_SPLINE_ENABLE_GRAVITY = 0x2E1C,
- SMSG_MOVE_SPLINE_ROOT = 0x2E19,
- SMSG_MOVE_SPLINE_SET_FEATHER_FALL = 0x2E1F,
+ SMSG_MOVE_SKIP_TIME = 0x2E1A,
+ SMSG_MOVE_SPLINE_DISABLE_COLLISION = 0x2E1F,
+ SMSG_MOVE_SPLINE_DISABLE_GRAVITY = 0x2E1D,
+ SMSG_MOVE_SPLINE_ENABLE_COLLISION = 0x2E20,
+ SMSG_MOVE_SPLINE_ENABLE_GRAVITY = 0x2E1E,
+ SMSG_MOVE_SPLINE_ROOT = 0x2E1B,
+ SMSG_MOVE_SPLINE_SET_FEATHER_FALL = 0x2E21,
SMSG_MOVE_SPLINE_SET_FLIGHT_BACK_SPEED = 0x2DEC,
SMSG_MOVE_SPLINE_SET_FLIGHT_SPEED = 0x2DEB,
- SMSG_MOVE_SPLINE_SET_FLYING = 0x2E29,
- SMSG_MOVE_SPLINE_SET_HOVER = 0x2E21,
- SMSG_MOVE_SPLINE_SET_LAND_WALK = 0x2E24,
- SMSG_MOVE_SPLINE_SET_NORMAL_FALL = 0x2E20,
+ SMSG_MOVE_SPLINE_SET_FLYING = 0x2E2B,
+ SMSG_MOVE_SPLINE_SET_HOVER = 0x2E23,
+ SMSG_MOVE_SPLINE_SET_LAND_WALK = 0x2E26,
+ SMSG_MOVE_SPLINE_SET_NORMAL_FALL = 0x2E22,
SMSG_MOVE_SPLINE_SET_PITCH_RATE = 0x2DEF,
SMSG_MOVE_SPLINE_SET_RUN_BACK_SPEED = 0x2DE8,
- SMSG_MOVE_SPLINE_SET_RUN_MODE = 0x2E27,
+ SMSG_MOVE_SPLINE_SET_RUN_MODE = 0x2E29,
SMSG_MOVE_SPLINE_SET_RUN_SPEED = 0x2DE7,
SMSG_MOVE_SPLINE_SET_SWIM_BACK_SPEED = 0x2DEA,
SMSG_MOVE_SPLINE_SET_SWIM_SPEED = 0x2DE9,
SMSG_MOVE_SPLINE_SET_TURN_RATE = 0x2DEE,
- SMSG_MOVE_SPLINE_SET_WALK_MODE = 0x2E28,
+ SMSG_MOVE_SPLINE_SET_WALK_MODE = 0x2E2A,
SMSG_MOVE_SPLINE_SET_WALK_SPEED = 0x2DED,
- SMSG_MOVE_SPLINE_SET_WATER_WALK = 0x2E23,
- SMSG_MOVE_SPLINE_START_SWIM = 0x2E25,
- SMSG_MOVE_SPLINE_STOP_SWIM = 0x2E26,
- SMSG_MOVE_SPLINE_UNROOT = 0x2E1A,
- SMSG_MOVE_SPLINE_UNSET_FLYING = 0x2E2A,
- SMSG_MOVE_SPLINE_UNSET_HOVER = 0x2E22,
+ SMSG_MOVE_SPLINE_SET_WATER_WALK = 0x2E25,
+ SMSG_MOVE_SPLINE_START_SWIM = 0x2E27,
+ SMSG_MOVE_SPLINE_STOP_SWIM = 0x2E28,
+ SMSG_MOVE_SPLINE_UNROOT = 0x2E1C,
+ SMSG_MOVE_SPLINE_UNSET_FLYING = 0x2E2C,
+ SMSG_MOVE_SPLINE_UNSET_HOVER = 0x2E24,
SMSG_MOVE_TELEPORT = 0x2E04,
SMSG_MOVE_UNROOT = 0x2DFA,
- SMSG_MOVE_UNSET_CAN_ADV_FLY = 0x2E35,
+ SMSG_MOVE_UNSET_CAN_ADV_FLY = 0x2E37,
SMSG_MOVE_UNSET_CAN_FLY = 0x2E06,
- SMSG_MOVE_UNSET_CAN_TURN_WHILE_FALLING = 0x2E08,
+ SMSG_MOVE_UNSET_CAN_TURN_WHILE_FALLING = 0x2E0A,
SMSG_MOVE_UNSET_HOVERING = 0x2E02,
- SMSG_MOVE_UNSET_IGNORE_MOVEMENT_FORCES = 0x2E0A,
+ SMSG_MOVE_UNSET_IGNORE_MOVEMENT_FORCES = 0x2E0C,
SMSG_MOVE_UPDATE = 0x2DE0,
- SMSG_MOVE_UPDATE_ADD_IMPULSE = 0x2E33,
- SMSG_MOVE_UPDATE_APPLY_INERTIA = 0x2E30,
+ SMSG_MOVE_UPDATE_ADD_IMPULSE = 0x2E35,
+ SMSG_MOVE_UPDATE_APPLY_INERTIA = 0x2E32,
SMSG_MOVE_UPDATE_APPLY_MOVEMENT_FORCE = 0x2DE4,
SMSG_MOVE_UPDATE_COLLISION_HEIGHT = 0x2DDF,
SMSG_MOVE_UPDATE_FLIGHT_BACK_SPEED = 0x2DDC,
@@ -1658,7 +1681,7 @@ enum OpcodeServer : uint16
SMSG_MOVE_UPDATE_KNOCK_BACK = 0x2DE2,
SMSG_MOVE_UPDATE_MOD_MOVEMENT_FORCE_MAGNITUDE = 0x2DE3,
SMSG_MOVE_UPDATE_PITCH_RATE = 0x2DDE,
- SMSG_MOVE_UPDATE_REMOVE_INERTIA = 0x2E31,
+ SMSG_MOVE_UPDATE_REMOVE_INERTIA = 0x2E33,
SMSG_MOVE_UPDATE_REMOVE_MOVEMENT_FORCE = 0x2DE5,
SMSG_MOVE_UPDATE_RUN_BACK_SPEED = 0x2DD7,
SMSG_MOVE_UPDATE_RUN_SPEED = 0x2DD6,
@@ -1667,121 +1690,121 @@ enum OpcodeServer : uint16
SMSG_MOVE_UPDATE_TELEPORT = 0x2DE1,
SMSG_MOVE_UPDATE_TURN_RATE = 0x2DDD,
SMSG_MOVE_UPDATE_WALK_SPEED = 0x2DD8,
- SMSG_MULTI_FLOOR_LEAVE_FLOOR = 0x27D8,
- SMSG_MULTI_FLOOR_NEW_FLOOR = 0x27D7,
- SMSG_MYTHIC_PLUS_ALL_MAP_STATS = 0x260B,
- SMSG_MYTHIC_PLUS_CURRENT_AFFIXES = 0x260D,
- SMSG_MYTHIC_PLUS_NEW_WEEK_RECORD = 0x2611,
- SMSG_MYTHIC_PLUS_SEASON_DATA = 0x260C,
- SMSG_NEUTRAL_PLAYER_FACTION_SELECT_RESULT = 0x25DC,
- SMSG_NEW_DATA_BUILD = 0x28BA,
- SMSG_NEW_TAXI_PATH = 0x267F,
- SMSG_NEW_WORLD = 0x2595,
+ SMSG_MULTI_FLOOR_LEAVE_FLOOR = 0x27DB,
+ SMSG_MULTI_FLOOR_NEW_FLOOR = 0x27DA,
+ SMSG_MYTHIC_PLUS_ALL_MAP_STATS = 0x260D,
+ SMSG_MYTHIC_PLUS_CURRENT_AFFIXES = 0x260F,
+ SMSG_MYTHIC_PLUS_NEW_WEEK_RECORD = 0x2613,
+ SMSG_MYTHIC_PLUS_SEASON_DATA = 0x260E,
+ SMSG_NEUTRAL_PLAYER_FACTION_SELECT_RESULT = 0x25DE,
+ SMSG_NEW_DATA_BUILD = 0x2896,
+ SMSG_NEW_TAXI_PATH = 0x2682,
+ SMSG_NEW_WORLD = 0x2597,
SMSG_NOTIFY_DEST_LOC_SPELL_CAST = 0x2C45,
- SMSG_NOTIFY_MISSILE_TRAJECTORY_COLLISION = 0x26AB,
- SMSG_NOTIFY_MONEY = 0x259A,
- SMSG_NOTIFY_RECEIVED_MAIL = 0x263B,
- SMSG_NPC_INTERACTION_OPEN_RESULT = 0x2888,
- SMSG_OFFER_PETITION_ERROR = 0x26B6,
- SMSG_ON_CANCEL_EXPECTED_RIDE_VEHICLE_AURA = 0x26E5,
+ SMSG_NOTIFY_MISSILE_TRAJECTORY_COLLISION = 0x26AE,
+ SMSG_NOTIFY_MONEY = 0x259C,
+ SMSG_NOTIFY_RECEIVED_MAIL = 0x263D,
+ SMSG_NPC_INTERACTION_OPEN_RESULT = 0x2872,
+ SMSG_OFFER_PETITION_ERROR = 0x26B9,
+ SMSG_ON_CANCEL_EXPECTED_RIDE_VEHICLE_AURA = 0x26E8,
SMSG_ON_MONSTER_MOVE = 0x2DD4,
- SMSG_OPEN_ARTIFACT_FORGE = 0x279B,
+ SMSG_OPEN_ARTIFACT_FORGE = 0x279E,
SMSG_OPEN_CONTAINER = 0x2DA6,
SMSG_OPEN_LFG_DUNGEON_FINDER = 0x2A31,
- SMSG_OPEN_SHIPMENT_NPC_RESULT = 0x2793,
- SMSG_OVERRIDE_LIGHT = 0x26BB,
- SMSG_PAGE_TEXT = 0x2718,
- SMSG_PARTY_COMMAND_RESULT = 0x278D,
- SMSG_PARTY_INVITE = 0x25BE,
- SMSG_PARTY_KILL_LOG = 0x2758,
- SMSG_PARTY_MEMBER_FULL_STATE = 0x2757,
- SMSG_PARTY_MEMBER_PARTIAL_STATE = 0x2756,
- SMSG_PARTY_NOTIFY_LFG_LEADER_CHANGE = 0x286E,
- SMSG_PARTY_UPDATE = 0x25F4,
- SMSG_PAST_TIME_EVENTS = 0x25C3,
- SMSG_PAUSE_MIRROR_TIMER = 0x270F,
- SMSG_PENDING_RAID_LOCK = 0x26F7,
- SMSG_PERKS_PROGRAM_ACTIVITY_COMPLETE = 0x2884,
- SMSG_PERKS_PROGRAM_ACTIVITY_UPDATE = 0x2880,
- SMSG_PERKS_PROGRAM_DISABLED = 0x2885,
- SMSG_PERKS_PROGRAM_RESULT = 0x2881,
- SMSG_PERKS_PROGRAM_VENDOR_UPDATE = 0x287F,
- SMSG_PETITION_ALREADY_SIGNED = 0x25A0,
+ SMSG_OPEN_SHIPMENT_NPC_RESULT = 0x2796,
+ SMSG_OVERRIDE_LIGHT = 0x26BE,
+ SMSG_PAGE_TEXT = 0x271B,
+ SMSG_PARTY_COMMAND_RESULT = 0x2790,
+ SMSG_PARTY_INVITE = 0x25C0,
+ SMSG_PARTY_KILL_LOG = 0x275B,
+ SMSG_PARTY_MEMBER_FULL_STATE = 0x275A,
+ SMSG_PARTY_MEMBER_PARTIAL_STATE = 0x2759,
+ SMSG_PARTY_NOTIFY_LFG_LEADER_CHANGE = 0x285A,
+ SMSG_PARTY_UPDATE = 0x25F6,
+ SMSG_PAST_TIME_EVENTS = 0x25C5,
+ SMSG_PAUSE_MIRROR_TIMER = 0x2712,
+ SMSG_PENDING_RAID_LOCK = 0x26FA,
+ SMSG_PERKS_PROGRAM_ACTIVITY_COMPLETE = 0x286F,
+ SMSG_PERKS_PROGRAM_ACTIVITY_UPDATE = 0x286B,
+ SMSG_PERKS_PROGRAM_DISABLED = 0x2870,
+ SMSG_PERKS_PROGRAM_RESULT = 0x286C,
+ SMSG_PERKS_PROGRAM_VENDOR_UPDATE = 0x286A,
+ SMSG_PETITION_ALREADY_SIGNED = 0x25A2,
SMSG_PETITION_RENAME_GUILD_RESPONSE = 0x29FB,
- SMSG_PETITION_SHOW_LIST = 0x26BE,
- SMSG_PETITION_SHOW_SIGNATURES = 0x26BF,
- SMSG_PETITION_SIGN_RESULTS = 0x274A,
- SMSG_PET_ACTION_FEEDBACK = 0x2747,
- SMSG_PET_ACTION_SOUND = 0x26A1,
- SMSG_PET_BATTLE_CHAT_RESTRICTED = 0x2602,
- SMSG_PET_BATTLE_DEBUG_QUEUE_DUMP_RESPONSE = 0x2676,
- SMSG_PET_BATTLE_FINALIZE_LOCATION = 0x25FB,
- SMSG_PET_BATTLE_FINAL_ROUND = 0x2600,
- SMSG_PET_BATTLE_FINISHED = 0x2601,
- SMSG_PET_BATTLE_FIRST_ROUND = 0x25FD,
- SMSG_PET_BATTLE_INITIAL_UPDATE = 0x25FC,
- SMSG_PET_BATTLE_MAX_GAME_LENGTH_WARNING = 0x2603,
- SMSG_PET_BATTLE_PVP_CHALLENGE = 0x25FA,
- SMSG_PET_BATTLE_QUEUE_PROPOSE_MATCH = 0x2638,
- SMSG_PET_BATTLE_QUEUE_STATUS = 0x2639,
- SMSG_PET_BATTLE_REPLACEMENTS_MADE = 0x25FF,
- SMSG_PET_BATTLE_REQUEST_FAILED = 0x25F9,
- SMSG_PET_BATTLE_ROUND_RESULT = 0x25FE,
- SMSG_PET_BATTLE_SLOT_UPDATES = 0x25EC,
+ SMSG_PETITION_SHOW_LIST = 0x26C1,
+ SMSG_PETITION_SHOW_SIGNATURES = 0x26C2,
+ SMSG_PETITION_SIGN_RESULTS = 0x274D,
+ SMSG_PET_ACTION_FEEDBACK = 0x274A,
+ SMSG_PET_ACTION_SOUND = 0x26A4,
+ SMSG_PET_BATTLE_CHAT_RESTRICTED = 0x2604,
+ SMSG_PET_BATTLE_DEBUG_QUEUE_DUMP_RESPONSE = 0x2678,
+ SMSG_PET_BATTLE_FINALIZE_LOCATION = 0x25FD,
+ SMSG_PET_BATTLE_FINAL_ROUND = 0x2602,
+ SMSG_PET_BATTLE_FINISHED = 0x2603,
+ SMSG_PET_BATTLE_FIRST_ROUND = 0x25FF,
+ SMSG_PET_BATTLE_INITIAL_UPDATE = 0x25FE,
+ SMSG_PET_BATTLE_MAX_GAME_LENGTH_WARNING = 0x2605,
+ SMSG_PET_BATTLE_PVP_CHALLENGE = 0x25FC,
+ SMSG_PET_BATTLE_QUEUE_PROPOSE_MATCH = 0x263A,
+ SMSG_PET_BATTLE_QUEUE_STATUS = 0x263B,
+ SMSG_PET_BATTLE_REPLACEMENTS_MADE = 0x2601,
+ SMSG_PET_BATTLE_REQUEST_FAILED = 0x25FB,
+ SMSG_PET_BATTLE_ROUND_RESULT = 0x2600,
+ SMSG_PET_BATTLE_SLOT_UPDATES = 0x25EE,
SMSG_PET_CAST_FAILED = 0x2C5A,
SMSG_PET_CLEAR_SPELLS = 0x2C23,
- SMSG_PET_DISMISS_SOUND = 0x26A2,
- SMSG_PET_GOD_MODE = 0x267C,
- SMSG_PET_GUIDS = 0x2703,
+ SMSG_PET_DISMISS_SOUND = 0x26A5,
+ SMSG_PET_GOD_MODE = 0x267F,
+ SMSG_PET_GUIDS = 0x2706,
SMSG_PET_LEARNED_SPELLS = 0x2C51,
- SMSG_PET_MODE = 0x2589,
- SMSG_PET_NAME_INVALID = 0x26C3,
- SMSG_PET_NEWLY_TAMED = 0x2588,
+ SMSG_PET_MODE = 0x258B,
+ SMSG_PET_NAME_INVALID = 0x26C6,
+ SMSG_PET_NEWLY_TAMED = 0x258A,
SMSG_PET_SPELLS_MESSAGE = 0x2C24,
- SMSG_PET_STABLE_RESULT = 0x2594,
- SMSG_PET_TAME_FAILURE = 0x26B3,
+ SMSG_PET_STABLE_RESULT = 0x2596,
+ SMSG_PET_TAME_FAILURE = 0x26B6,
SMSG_PET_UNLEARNED_SPELLS = 0x2C52,
SMSG_PHASE_SHIFT_CHANGE = 0x2578,
- SMSG_PLAYED_TIME = 0x26D5,
- SMSG_PLAYER_ACKOWLEDGE_ARROW_CALLOUT = 0x3022,
- SMSG_PLAYER_AZERITE_ITEM_EQUIPPED_STATUS_CHANGED = 0x3014,
- SMSG_PLAYER_AZERITE_ITEM_GAINS = 0x3013,
- SMSG_PLAYER_BONUS_ROLL_FAILED = 0x3016,
+ SMSG_PLAYED_TIME = 0x26D8,
+ SMSG_PLAYER_ACKOWLEDGE_ARROW_CALLOUT = 0x3024,
+ SMSG_PLAYER_AZERITE_ITEM_EQUIPPED_STATUS_CHANGED = 0x3016,
+ SMSG_PLAYER_AZERITE_ITEM_GAINS = 0x3015,
+ SMSG_PLAYER_BONUS_ROLL_FAILED = 0x3018,
SMSG_PLAYER_BOUND = 0x2FF8,
SMSG_PLAYER_CHOICE_CLEAR = 0x2FFE,
SMSG_PLAYER_CHOICE_DISPLAY_ERROR = 0x2FFD,
SMSG_PLAYER_CONDITION_RESULT = 0x300A,
- SMSG_PLAYER_HIDE_ARROW_CALLOUT = 0x3021,
+ SMSG_PLAYER_HIDE_ARROW_CALLOUT = 0x3023,
SMSG_PLAYER_IS_ADVENTURE_MAP_POI_VALID = 0x3009,
SMSG_PLAYER_OPEN_SUBSCRIPTION_INTERSTITIAL = 0x300E,
SMSG_PLAYER_SAVE_GUILD_EMBLEM = 0x29FA,
- SMSG_PLAYER_SAVE_PERSONAL_EMBLEM = 0x3023,
- SMSG_PLAYER_SHOW_ARROW_CALLOUT = 0x3020,
- SMSG_PLAYER_SHOW_GENERIC_WIDGET_DISPLAY = 0x301E,
- SMSG_PLAYER_SHOW_PARTY_POSE_UI = 0x301F,
- SMSG_PLAYER_SHOW_UI_EVENT_TOAST = 0x3019,
+ SMSG_PLAYER_SAVE_PERSONAL_EMBLEM = 0x3025,
+ SMSG_PLAYER_SHOW_ARROW_CALLOUT = 0x3022,
+ SMSG_PLAYER_SHOW_GENERIC_WIDGET_DISPLAY = 0x3020,
+ SMSG_PLAYER_SHOW_PARTY_POSE_UI = 0x3021,
+ SMSG_PLAYER_SHOW_UI_EVENT_TOAST = 0x301B,
SMSG_PLAYER_SKINNED = 0x3006,
SMSG_PLAYER_TUTORIAL_HIGHLIGHT_SPELL = 0x300D,
SMSG_PLAYER_TUTORIAL_UNHIGHLIGHT_SPELL = 0x300C,
- SMSG_PLAY_MUSIC = 0x2767,
- SMSG_PLAY_OBJECT_SOUND = 0x2768,
- SMSG_PLAY_ONE_SHOT_ANIM_KIT = 0x272F,
+ SMSG_PLAY_MUSIC = 0x276A,
+ SMSG_PLAY_OBJECT_SOUND = 0x276B,
+ SMSG_PLAY_ONE_SHOT_ANIM_KIT = 0x2732,
SMSG_PLAY_ORPHAN_SPELL_VISUAL = 0x2C49,
- SMSG_PLAY_SCENE = 0x2635,
- SMSG_PLAY_SOUND = 0x2766,
- SMSG_PLAY_SPEAKERBOT_SOUND = 0x2769,
+ SMSG_PLAY_SCENE = 0x2637,
+ SMSG_PLAY_SOUND = 0x2769,
+ SMSG_PLAY_SPEAKERBOT_SOUND = 0x276C,
SMSG_PLAY_SPELL_VISUAL = 0x2C47,
SMSG_PLAY_SPELL_VISUAL_KIT = 0x2C4B,
- SMSG_PLAY_TIME_WARNING = 0x26FD,
+ SMSG_PLAY_TIME_WARNING = 0x2700,
SMSG_PONG = 0x304E,
- SMSG_POWER_UPDATE = 0x26D2,
+ SMSG_POWER_UPDATE = 0x26D5,
SMSG_PRELOAD_CHILD_MAP = 0x2579,
- SMSG_PRELOAD_WORLD = 0x2596,
- SMSG_PREPOPULATE_NAME_CACHE = 0x2841,
- SMSG_PRE_RESSURECT = 0x2765,
- SMSG_PRINT_NOTIFICATION = 0x25CB,
- SMSG_PROC_RESIST = 0x2759,
- SMSG_PROFESSION_GOSSIP = 0x27F8,
+ SMSG_PRELOAD_WORLD = 0x2598,
+ SMSG_PREPOPULATE_NAME_CACHE = 0x282E,
+ SMSG_PRE_RESSURECT = 0x2768,
+ SMSG_PRINT_NOTIFICATION = 0x25CD,
+ SMSG_PROC_RESIST = 0x275C,
+ SMSG_PROFESSION_GOSSIP = 0x27FB,
SMSG_PUSH_SPELL_TO_ACTION_BAR = 0x2C53,
SMSG_PVP_CREDIT = 0x2946,
SMSG_PVP_MATCH_COMPLETE = 0x2951,
@@ -1790,7 +1813,7 @@ enum OpcodeServer : uint16
SMSG_PVP_MATCH_START = 0x294F,
SMSG_PVP_MATCH_STATISTICS = 0x2932,
SMSG_PVP_OPTIONS_ENABLED = 0x2935,
- SMSG_PVP_TIER_RECORD = 0x287B,
+ SMSG_PVP_TIER_RECORD = 0x2866,
SMSG_QUERY_BATTLE_PET_NAME_RESPONSE = 0x291A,
SMSG_QUERY_CREATURE_RESPONSE = 0x2914,
SMSG_QUERY_GAME_OBJECT_RESPONSE = 0x2915,
@@ -1802,11 +1825,11 @@ enum OpcodeServer : uint16
SMSG_QUERY_PAGE_TEXT_RESPONSE = 0x2917,
SMSG_QUERY_PETITION_RESPONSE = 0x291B,
SMSG_QUERY_PET_NAME_RESPONSE = 0x2919,
- SMSG_QUERY_PLAYER_NAMES_RESPONSE = 0x301B,
+ SMSG_QUERY_PLAYER_NAMES_RESPONSE = 0x301D,
SMSG_QUERY_PLAYER_NAME_BY_COMMUNITY_ID_RESPONSE = 0x3002,
SMSG_QUERY_QUEST_INFO_RESPONSE = 0x2A96,
SMSG_QUERY_REALM_GUILD_MASTER_INFO_RESPONSE = 0x29E7,
- SMSG_QUERY_TIME_RESPONSE = 0x26E3,
+ SMSG_QUERY_TIME_RESPONSE = 0x26E6,
SMSG_QUEST_COMPLETION_NPC_RESPONSE = 0x2A81,
SMSG_QUEST_CONFIRM_ACCEPT = 0x2A8F,
SMSG_QUEST_FORCE_REMOVED = 0x2A9C,
@@ -1825,141 +1848,144 @@ enum OpcodeServer : uint16
SMSG_QUEST_POI_QUERY_RESPONSE = 0x2A9D,
SMSG_QUEST_POI_UPDATE_RESPONSE = 0x2A9F,
SMSG_QUEST_PUSH_RESULT = 0x2A90,
- SMSG_QUEST_SESSION_INFO_RESPONSE = 0x2864,
- SMSG_QUEST_SESSION_READY_CHECK = 0x2852,
- SMSG_QUEST_SESSION_READY_CHECK_RESPONSE = 0x2853,
- SMSG_QUEST_SESSION_RESULT = 0x2851,
+ SMSG_QUEST_SESSION_INFO_RESPONSE = 0x2850,
+ SMSG_QUEST_SESSION_READY_CHECK = 0x283F,
+ SMSG_QUEST_SESSION_READY_CHECK_RESPONSE = 0x2840,
+ SMSG_QUEST_SESSION_RESULT = 0x283E,
SMSG_QUEST_UPDATE_ADD_CREDIT = 0x2A8C,
SMSG_QUEST_UPDATE_ADD_CREDIT_SIMPLE = 0x2A8D,
SMSG_QUEST_UPDATE_ADD_PVP_CREDIT = 0x2A8E,
SMSG_QUEST_UPDATE_COMPLETE = 0x2A89,
SMSG_QUEST_UPDATE_FAILED = 0x2A8A,
SMSG_QUEST_UPDATE_FAILED_TIMER = 0x2A8B,
- SMSG_QUEUE_SUMMARY_UPDATE = 0x280B,
- SMSG_RAF_ACCOUNT_INFO = 0x284F,
- SMSG_RAF_ACTIVITY_STATE_CHANGED = 0x2860,
- SMSG_RAF_DEBUG_FRIEND_MONTHS = 0x28B7,
- SMSG_RAID_DIFFICULTY_SET = 0x27A5,
- SMSG_RAID_GROUP_ONLY = 0x27A7,
+ SMSG_QUEUE_SUMMARY_UPDATE = 0x280E,
+ SMSG_RAF_ACCOUNT_INFO = 0x283C,
+ SMSG_RAF_ACTIVITY_STATE_CHANGED = 0x284C,
+ SMSG_RAF_DEBUG_FRIEND_MONTHS = 0x2893,
+ SMSG_RAID_DIFFICULTY_SET = 0x27A8,
+ SMSG_RAID_GROUP_ONLY = 0x27AA,
SMSG_RAID_INSTANCE_MESSAGE = 0x2BB4,
- SMSG_RAID_MARKERS_CHANGED = 0x25A1,
- SMSG_RANDOM_ROLL = 0x262F,
+ SMSG_RAID_MARKERS_CHANGED = 0x25A3,
+ SMSG_RANDOM_ROLL = 0x2631,
SMSG_RATED_PVP_INFO = 0x2931,
- SMSG_READY_CHECK_COMPLETED = 0x25F8,
- SMSG_READY_CHECK_RESPONSE = 0x25F7,
- SMSG_READY_CHECK_STARTED = 0x25F6,
- SMSG_READ_ITEM_RESULT_FAILED = 0x27A1,
- SMSG_READ_ITEM_RESULT_OK = 0x2798,
+ SMSG_READY_CHECK_COMPLETED = 0x25FA,
+ SMSG_READY_CHECK_RESPONSE = 0x25F9,
+ SMSG_READY_CHECK_STARTED = 0x25F8,
+ SMSG_READ_ITEM_RESULT_FAILED = 0x27A4,
+ SMSG_READ_ITEM_RESULT_OK = 0x279B,
SMSG_REALM_QUERY_RESPONSE = 0x2913,
- SMSG_REATTACH_RESURRECT = 0x2749,
- SMSG_RECEIVE_PING_UNIT = 0x25A2,
- SMSG_RECEIVE_PING_WORLD_POINT = 0x25A3,
- SMSG_RECRAFT_ITEM_RESULT = 0x28A6,
- SMSG_RECRUIT_A_FRIEND_FAILURE = 0x26C0,
- SMSG_REFRESH_COMPONENT = 0x2650,
+ SMSG_REATTACH_RESURRECT = 0x274C,
+ SMSG_RECEIVE_PING_UNIT = 0x25A4,
+ SMSG_RECEIVE_PING_WORLD_POINT = 0x25A5,
+ SMSG_RECRAFT_ITEM_RESULT = 0x2889,
+ SMSG_RECRUIT_A_FRIEND_FAILURE = 0x26C3,
+ SMSG_REFRESH_COMPONENT = 0x2652,
SMSG_REFRESH_SPELL_HISTORY = 0x2C2B,
- SMSG_REMOVE_ITEM_PASSIVE = 0x25AC,
+ SMSG_REGIONWIDE_CHARACTER_MAIL_DATA = 0x2586,
+ SMSG_REGIONWIDE_CHARACTER_RESTRICTIONS_DATA = 0x2585,
+ SMSG_REMOVE_ITEM_PASSIVE = 0x25AE,
SMSG_REMOVE_SPELL_FROM_ACTION_BAR = 0x2C54,
- SMSG_REPLACE_TROPHY_RESPONSE = 0x27BD,
+ SMSG_REPLACE_TROPHY_RESPONSE = 0x27C0,
SMSG_REPORT_PVP_PLAYER_AFK_RESULT = 0x3001,
- SMSG_REQUEST_CEMETERY_LIST_RESPONSE = 0x258F,
+ SMSG_REQUEST_CEMETERY_LIST_RESPONSE = 0x2591,
SMSG_REQUEST_PVP_REWARDS_RESPONSE = 0x2936,
SMSG_REQUEST_SCHEDULED_PVP_INFO_RESPONSE = 0x2937,
SMSG_RESET_COMPRESSION_CONTEXT = 0x304F,
- SMSG_RESET_FAILED_NOTIFY = 0x26B7,
- SMSG_RESET_LAST_LOADED_CONFIG_CVARS = 0x28AC,
+ SMSG_RESET_FAILED_NOTIFY = 0x26BA,
+ SMSG_RESET_LAST_LOADED_CONFIG_CVARS = 0x2890,
SMSG_RESET_QUEST_POI = 0x2AA0,
SMSG_RESET_RANGED_COMBAT_TIMER = 0x2945,
SMSG_RESET_WEEKLY_CURRENCY = 0x2575,
- SMSG_RESPEC_WIPE_CONFIRM = 0x2612,
+ SMSG_RESPEC_WIPE_CONFIRM = 0x2614,
SMSG_RESPOND_INSPECT_ACHIEVEMENTS = 0x2572,
- SMSG_RESPONSE_PERK_PENDING_REWARDS = 0x2882,
- SMSG_RESPONSE_PERK_RECENT_PURCHASES = 0x2883,
+ SMSG_RESPONSE_PERK_PENDING_REWARDS = 0x286D,
+ SMSG_RESPONSE_PERK_RECENT_PURCHASES = 0x286E,
SMSG_RESTART_GLOBAL_COOLDOWN = 0x2C63,
- SMSG_RESTRICTED_ACCOUNT_WARNING = 0x25BA,
+ SMSG_RESTRICTED_ACCOUNT_WARNING = 0x25BC,
SMSG_RESUME_CAST = 0x2C3D,
SMSG_RESUME_CAST_BAR = 0x2C40,
SMSG_RESUME_COMMS = 0x304B,
- SMSG_RESUME_TOKEN = 0x25AA,
+ SMSG_RESUME_TOKEN = 0x25AC,
SMSG_RESURRECT_REQUEST = 0x257E,
SMSG_RESYNC_RUNES = 0x2C61,
- SMSG_RETURNING_PLAYER_PROMPT = 0x27A0,
- SMSG_RETURN_APPLICANT_LIST = 0x2845,
- SMSG_RETURN_RECRUITING_CLUBS = 0x2844,
- SMSG_ROLE_CHANGED_INFORM = 0x258B,
+ SMSG_RETURNING_PLAYER_PROMPT = 0x27A3,
+ SMSG_RETURN_APPLICANT_LIST = 0x2832,
+ SMSG_RETURN_RECRUITING_CLUBS = 0x2831,
+ SMSG_ROLE_CHANGED_INFORM = 0x258D,
SMSG_ROLE_CHOSEN = 0x2A39,
- SMSG_ROLE_POLL_INFORM = 0x258C,
- SMSG_RUNEFORGE_LEGENDARY_CRAFTING_OPEN_NPC = 0x27F7,
- SMSG_RUNE_REGEN_DEBUG = 0x25B7,
- SMSG_SCENARIO_COMPLETED = 0x27E5,
- SMSG_SCENARIO_POIS = 0x2632,
- SMSG_SCENARIO_PROGRESS_UPDATE = 0x262B,
- SMSG_SCENARIO_SHOW_CRITERIA = 0x27FB,
- SMSG_SCENARIO_STATE = 0x262A,
- SMSG_SCENARIO_UI_UPDATE = 0x27FA,
- SMSG_SCENARIO_VACATE = 0x27A2,
- SMSG_SCENE_OBJECT_EVENT = 0x25E2,
- SMSG_SCENE_OBJECT_PET_BATTLE_FINAL_ROUND = 0x25E7,
- SMSG_SCENE_OBJECT_PET_BATTLE_FINISHED = 0x25E8,
- SMSG_SCENE_OBJECT_PET_BATTLE_FIRST_ROUND = 0x25E4,
- SMSG_SCENE_OBJECT_PET_BATTLE_INITIAL_UPDATE = 0x25E3,
- SMSG_SCENE_OBJECT_PET_BATTLE_REPLACEMENTS_MADE = 0x25E6,
- SMSG_SCENE_OBJECT_PET_BATTLE_ROUND_RESULT = 0x25E5,
+ SMSG_ROLE_POLL_INFORM = 0x258E,
+ SMSG_RUNEFORGE_LEGENDARY_CRAFTING_OPEN_NPC = 0x27FA,
+ SMSG_RUNE_REGEN_DEBUG = 0x25B9,
+ SMSG_SCENARIO_COMPLETED = 0x27E8,
+ SMSG_SCENARIO_POIS = 0x2634,
+ SMSG_SCENARIO_PROGRESS_UPDATE = 0x262D,
+ SMSG_SCENARIO_SHOW_CRITERIA = 0x27FE,
+ SMSG_SCENARIO_STATE = 0x262C,
+ SMSG_SCENARIO_UI_UPDATE = 0x27FD,
+ SMSG_SCENARIO_VACATE = 0x27A5,
+ SMSG_SCENE_OBJECT_EVENT = 0x25E4,
+ SMSG_SCENE_OBJECT_PET_BATTLE_FINAL_ROUND = 0x25E9,
+ SMSG_SCENE_OBJECT_PET_BATTLE_FINISHED = 0x25EA,
+ SMSG_SCENE_OBJECT_PET_BATTLE_FIRST_ROUND = 0x25E6,
+ SMSG_SCENE_OBJECT_PET_BATTLE_INITIAL_UPDATE = 0x25E5,
+ SMSG_SCENE_OBJECT_PET_BATTLE_REPLACEMENTS_MADE = 0x25E8,
+ SMSG_SCENE_OBJECT_PET_BATTLE_ROUND_RESULT = 0x25E7,
SMSG_SCRIPT_CAST = 0x2C58,
- SMSG_SEASON_INFO = 0x25C2,
- SMSG_SELL_RESPONSE = 0x26C4,
- SMSG_SEND_ITEM_PASSIVES = 0x25AD,
+ SMSG_SEASON_INFO = 0x25C4,
+ SMSG_SELL_RESPONSE = 0x26C7,
+ SMSG_SEND_ITEM_PASSIVES = 0x25AF,
SMSG_SEND_KNOWN_SPELLS = 0x2C29,
- SMSG_SEND_RAID_TARGET_UPDATE_ALL = 0x262D,
- SMSG_SEND_RAID_TARGET_UPDATE_SINGLE = 0x262E,
+ SMSG_SEND_RAID_TARGET_UPDATE_ALL = 0x262F,
+ SMSG_SEND_RAID_TARGET_UPDATE_SINGLE = 0x2630,
SMSG_SEND_SPELL_CHARGES = 0x2C2C,
SMSG_SEND_SPELL_HISTORY = 0x2C2A,
SMSG_SEND_UNLEARN_SPELLS = 0x2C2D,
- SMSG_SERVER_FIRST_ACHIEVEMENTS = 0x264D,
- SMSG_SERVER_TIME = 0x2683,
- SMSG_SERVER_TIME_OFFSET = 0x2713,
+ SMSG_SERVER_FIRST_ACHIEVEMENTS = 0x264F,
+ SMSG_SERVER_TIME = 0x2686,
+ SMSG_SERVER_TIME_OFFSET = 0x2716,
SMSG_SETUP_COMBAT_LOG_FILE_FLUSH = 0x2C1F,
SMSG_SETUP_CURRENCY = 0x2573,
- SMSG_SET_AI_ANIM_KIT = 0x272E,
- SMSG_SET_ANIM_TIER = 0x2732,
- SMSG_SET_CHR_UPGRADE_TIER = 0x25DF,
+ SMSG_SET_AI_ANIM_KIT = 0x2731,
+ SMSG_SET_ANIM_TIER = 0x2735,
+ SMSG_SET_CHR_UPGRADE_TIER = 0x25E1,
SMSG_SET_CURRENCY = 0x2574,
SMSG_SET_DF_FAST_LAUNCH_RESULT = 0x2A2E,
- SMSG_SET_DUNGEON_DIFFICULTY = 0x26A5,
- SMSG_SET_FACTION_AT_WAR = 0x26FF,
- SMSG_SET_FACTION_NOT_VISIBLE = 0x2729,
- SMSG_SET_FACTION_STANDING = 0x272A,
- SMSG_SET_FACTION_VISIBLE = 0x2728,
+ SMSG_SET_DUNGEON_DIFFICULTY = 0x26A8,
+ SMSG_SET_FACTION_AT_WAR = 0x2702,
+ SMSG_SET_FACTION_NOT_VISIBLE = 0x272C,
+ SMSG_SET_FACTION_STANDING = 0x272D,
+ SMSG_SET_FACTION_VISIBLE = 0x272B,
SMSG_SET_FLAT_SPELL_MODIFIER = 0x2C38,
- SMSG_SET_FORCED_REACTIONS = 0x271C,
- SMSG_SET_ITEM_PURCHASE_DATA = 0x259C,
- SMSG_SET_LOOT_METHOD_FAILED = 0x27C9,
- SMSG_SET_MAX_WEEKLY_QUANTITY = 0x259F,
- SMSG_SET_MELEE_ANIM_KIT = 0x2731,
- SMSG_SET_MOVEMENT_ANIM_KIT = 0x2730,
+ SMSG_SET_FORCED_REACTIONS = 0x271F,
+ SMSG_SET_ITEM_PURCHASE_DATA = 0x259E,
+ SMSG_SET_LOOT_METHOD_FAILED = 0x27CC,
+ SMSG_SET_MAX_WEEKLY_QUANTITY = 0x25A1,
+ SMSG_SET_MELEE_ANIM_KIT = 0x2734,
+ SMSG_SET_MOVEMENT_ANIM_KIT = 0x2733,
SMSG_SET_PCT_SPELL_MODIFIER = 0x2C39,
- SMSG_SET_PET_SPECIALIZATION = 0x2624,
+ SMSG_SET_PET_SPECIALIZATION = 0x2626,
SMSG_SET_PLAYER_DECLINED_NAMES_RESULT = 0x3003,
- SMSG_SET_PLAY_HOVER_ANIM = 0x25BB,
- SMSG_SET_PROFICIENCY = 0x2733,
- SMSG_SET_QUEST_REPLAY_COOLDOWN_OVERRIDE = 0x2858,
+ SMSG_SET_PLAY_HOVER_ANIM = 0x25BD,
+ SMSG_SET_PROFICIENCY = 0x2736,
+ SMSG_SET_QUEST_REPLAY_COOLDOWN_OVERRIDE = 0x2845,
SMSG_SET_SHIPMENT_READY_RESPONSE = 0x2998,
SMSG_SET_SPELL_CHARGES = 0x2C28,
- SMSG_SET_TIME_ZONE_INFORMATION = 0x2678,
- SMSG_SET_VEHICLE_REC_ID = 0x26F6,
- SMSG_SHADOWLANDS_CAPACITANCE_UPDATE = 0x2887,
+ SMSG_SET_TIME_ZONE_INFORMATION = 0x267B,
+ SMSG_SET_VEHICLE_REC_ID = 0x26F9,
+ SMSG_SHADOWLANDS_CAPACITANCE_UPDATE = 0x2871,
SMSG_SHIPMENT_FACTION_UPDATE_RESULT = 0x2999,
- SMSG_SHOW_NEUTRAL_PLAYER_FACTION_SELECT_UI = 0x25DB,
+ SMSG_SHOW_DELVES_DISPLAY_UI = 0x28A7,
+ SMSG_SHOW_NEUTRAL_PLAYER_FACTION_SELECT_UI = 0x25DD,
SMSG_SHOW_QUEST_COMPLETION_TEXT = 0x2A95,
- SMSG_SHOW_TAXI_NODES = 0x26CD,
- SMSG_SHOW_TRADE_SKILL_RESPONSE = 0x276E,
- SMSG_SOCIAL_CONTRACT_REQUEST_RESPONSE = 0x2892,
- SMSG_SOCKET_GEMS_FAILURE = 0x2726,
- SMSG_SOCKET_GEMS_SUCCESS = 0x2725,
- SMSG_SPECIAL_MOUNT_ANIM = 0x26A0,
- SMSG_SPECTATE_END = 0x28B9,
- SMSG_SPECTATE_PLAYER = 0x28B8,
- SMSG_SPEC_INVOLUNTARILY_CHANGED = 0x2717,
+ SMSG_SHOW_TAXI_NODES = 0x26D0,
+ SMSG_SHOW_TRADE_SKILL_RESPONSE = 0x2771,
+ SMSG_SOCIAL_CONTRACT_REQUEST_RESPONSE = 0x287B,
+ SMSG_SOCKET_GEMS_FAILURE = 0x2729,
+ SMSG_SOCKET_GEMS_SUCCESS = 0x2728,
+ SMSG_SPECIAL_MOUNT_ANIM = 0x26A3,
+ SMSG_SPECTATE_END = 0x2895,
+ SMSG_SPECTATE_PLAYER = 0x2894,
+ SMSG_SPEC_INVOLUNTARILY_CHANGED = 0x271A,
SMSG_SPELL_ABSORB_LOG = 0x2C1C,
SMSG_SPELL_CATEGORY_COOLDOWN = 0x2C16,
SMSG_SPELL_CHANNEL_START = 0x2C33,
@@ -1987,94 +2013,95 @@ enum OpcodeServer : uint16
SMSG_SPELL_PERIODIC_AURA_LOG = 0x2C18,
SMSG_SPELL_PREPARE = 0x2C3A,
SMSG_SPELL_START = 0x2C3C,
- SMSG_SPELL_VISUAL_LOAD_SCREEN = 0x25CD,
- SMSG_SPLASH_SCREEN_SHOW_LATEST = 0x286A,
- SMSG_STAND_STATE_UPDATE = 0x271B,
- SMSG_STARTER_BUILD_ACTIVATE_FAILED = 0x25D3,
- SMSG_START_ELAPSED_TIMER = 0x2604,
- SMSG_START_ELAPSED_TIMERS = 0x2606,
- SMSG_START_LIGHTNING_STORM = 0x26A8,
- SMSG_START_LOOT_ROLL = 0x261C,
- SMSG_START_MIRROR_TIMER = 0x270E,
- SMSG_START_TIMER = 0x25A6,
- SMSG_STOP_ELAPSED_TIMER = 0x2605,
- SMSG_STOP_MIRROR_TIMER = 0x2710,
- SMSG_STOP_SPEAKERBOT_SOUND = 0x276A,
- SMSG_STOP_TIMER = 0x25A7,
- SMSG_STREAMING_MOVIES = 0x25A5,
- SMSG_SUGGEST_INVITE_INFORM = 0x278E,
- SMSG_SUMMON_CANCEL = 0x26B1,
- SMSG_SUMMON_RAID_MEMBER_VALIDATE_FAILED = 0x258D,
- SMSG_SUMMON_REQUEST = 0x2720,
+ SMSG_SPELL_VISUAL_LOAD_SCREEN = 0x25CF,
+ SMSG_SPLASH_SCREEN_SHOW_LATEST = 0x2856,
+ SMSG_STAND_STATE_UPDATE = 0x271E,
+ SMSG_STARTER_BUILD_ACTIVATE_FAILED = 0x25D5,
+ SMSG_START_ELAPSED_TIMER = 0x2606,
+ SMSG_START_ELAPSED_TIMERS = 0x2608,
+ SMSG_START_LIGHTNING_STORM = 0x26AB,
+ SMSG_START_LOOT_ROLL = 0x261E,
+ SMSG_START_MIRROR_TIMER = 0x2711,
+ SMSG_START_TIMER = 0x25A8,
+ SMSG_STOP_ELAPSED_TIMER = 0x2607,
+ SMSG_STOP_MIRROR_TIMER = 0x2713,
+ SMSG_STOP_SPEAKERBOT_SOUND = 0x276D,
+ SMSG_STOP_TIMER = 0x25A9,
+ SMSG_STREAMING_MOVIES = 0x25A7,
+ SMSG_SUGGEST_INVITE_INFORM = 0x2791,
+ SMSG_SUMMON_CANCEL = 0x26B4,
+ SMSG_SUMMON_RAID_MEMBER_VALIDATE_FAILED = 0x258F,
+ SMSG_SUMMON_REQUEST = 0x2723,
SMSG_SUPERCEDED_SPELLS = 0x2C4E,
SMSG_SUSPEND_COMMS = 0x304A,
- SMSG_SUSPEND_TOKEN = 0x25A9,
- SMSG_SYNC_WOW_ENTITLEMENTS = 0x2862,
- SMSG_TALENTS_INVOLUNTARILY_RESET = 0x2716,
- SMSG_TAXI_NODE_STATUS = 0x267D,
- SMSG_TEXT_EMOTE = 0x267B,
- SMSG_THREAT_CLEAR = 0x26DC,
- SMSG_THREAT_REMOVE = 0x26DB,
- SMSG_THREAT_UPDATE = 0x26DA,
+ SMSG_SUSPEND_TOKEN = 0x25AB,
+ SMSG_SYNC_WOW_ENTITLEMENTS = 0x284E,
+ SMSG_TALENTS_INVOLUNTARILY_RESET = 0x2719,
+ SMSG_TAXI_NODE_STATUS = 0x2680,
+ SMSG_TEXT_EMOTE = 0x267E,
+ SMSG_THREAT_CLEAR = 0x26DF,
+ SMSG_THREAT_REMOVE = 0x26DE,
+ SMSG_THREAT_UPDATE = 0x26DD,
+ SMSG_TIMERUNNING_SEASON_ENDED = 0x28AA,
SMSG_TIME_ADJUSTMENT = 0x2DD3,
SMSG_TIME_SYNC_REQUEST = 0x2DD2,
- SMSG_TITLE_EARNED = 0x26D7,
- SMSG_TITLE_LOST = 0x26D8,
- SMSG_TOTEM_CREATED = 0x26C7,
- SMSG_TOTEM_DURATION_CHANGED = 0x26C9,
- SMSG_TOTEM_MOVED = 0x26CA,
- SMSG_TOTEM_REMOVED = 0x26C8,
+ SMSG_TITLE_EARNED = 0x26DA,
+ SMSG_TITLE_LOST = 0x26DB,
+ SMSG_TOTEM_CREATED = 0x26CA,
+ SMSG_TOTEM_DURATION_CHANGED = 0x26CC,
+ SMSG_TOTEM_MOVED = 0x26CD,
+ SMSG_TOTEM_REMOVED = 0x26CB,
SMSG_TRADE_STATUS = 0x2583,
SMSG_TRADE_UPDATED = 0x2582,
- SMSG_TRAINER_BUY_FAILED = 0x26DF,
- SMSG_TRAINER_LIST = 0x26DE,
- SMSG_TRAIT_CONFIG_COMMIT_FAILED = 0x25D2,
- SMSG_TRANSFER_ABORTED = 0x2702,
- SMSG_TRANSFER_PENDING = 0x25CE,
+ SMSG_TRAINER_BUY_FAILED = 0x26E2,
+ SMSG_TRAINER_LIST = 0x26E1,
+ SMSG_TRAIT_CONFIG_COMMIT_FAILED = 0x25D4,
+ SMSG_TRANSFER_ABORTED = 0x2705,
+ SMSG_TRANSFER_PENDING = 0x25D0,
SMSG_TREASURE_PICKER_RESPONSE = 0x291F,
- SMSG_TRIGGER_CINEMATIC = 0x27C2,
- SMSG_TRIGGER_MOVIE = 0x26CB,
- SMSG_TURN_IN_PETITION_RESULT = 0x274C,
- SMSG_TUTORIAL_FLAGS = 0x27B6,
- SMSG_UI_MAP_QUEST_LINES_RESPONSE = 0x2AA2,
- SMSG_UNDELETE_CHARACTER_RESPONSE = 0x27C4,
- SMSG_UNDELETE_COOLDOWN_STATUS_RESPONSE = 0x27C5,
+ SMSG_TRIGGER_CINEMATIC = 0x27C5,
+ SMSG_TRIGGER_MOVIE = 0x26CE,
+ SMSG_TURN_IN_PETITION_RESULT = 0x274F,
+ SMSG_TUTORIAL_FLAGS = 0x27B9,
+ SMSG_UI_MAP_QUEST_LINES_RESPONSE = 0x2AA3,
+ SMSG_UNDELETE_CHARACTER_RESPONSE = 0x27C7,
+ SMSG_UNDELETE_COOLDOWN_STATUS_RESPONSE = 0x27C8,
SMSG_UNLEARNED_SPELLS = 0x2C50,
SMSG_UNLOAD_CHILD_MAP = 0x257A,
- SMSG_UPDATE_AADC_STATUS_RESPONSE = 0x287C,
- SMSG_UPDATE_ACCOUNT_DATA = 0x2708,
- SMSG_UPDATE_ACTION_BUTTONS = 0x25E0,
- SMSG_UPDATE_BNET_SESSION_KEY = 0x281C,
+ SMSG_UPDATE_AADC_STATUS_RESPONSE = 0x2867,
+ SMSG_UPDATE_ACCOUNT_DATA = 0x270B,
+ SMSG_UPDATE_ACTION_BUTTONS = 0x25E2,
+ SMSG_UPDATE_BNET_SESSION_KEY = 0x281F,
SMSG_UPDATE_CAPTURE_POINT = 0x2929,
- SMSG_UPDATE_CELESTIAL_BODY = 0x2818,
- SMSG_UPDATE_CHARACTER_FLAGS = 0x27BC,
- SMSG_UPDATE_CHARGE_CATEGORY_COOLDOWN = 0x2764,
- SMSG_UPDATE_COOLDOWN = 0x2763,
+ SMSG_UPDATE_CELESTIAL_BODY = 0x281B,
+ SMSG_UPDATE_CHARACTER_FLAGS = 0x27BF,
+ SMSG_UPDATE_CHARGE_CATEGORY_COOLDOWN = 0x2767,
+ SMSG_UPDATE_COOLDOWN = 0x2766,
SMSG_UPDATE_CRAFTING_NPC_RECIPES = 0x2996,
SMSG_UPDATE_DAILY_MISSION_COUNTER = 0x297F,
- SMSG_UPDATE_EXPANSION_LEVEL = 0x2645,
- SMSG_UPDATE_GAME_TIME_STATE = 0x281F,
- SMSG_UPDATE_INSTANCE_OWNERSHIP = 0x26AA,
- SMSG_UPDATE_LAST_INSTANCE = 0x2689,
- SMSG_UPDATE_OBJECT = 0x27C3,
- SMSG_UPDATE_PRIMARY_SPEC = 0x25D8,
- SMSG_UPDATE_RECENT_PLAYER_GUIDS = 0x25F5,
- SMSG_UPDATE_TALENT_DATA = 0x25D7,
- SMSG_UPDATE_WORLD_STATE = 0x2746,
+ SMSG_UPDATE_EXPANSION_LEVEL = 0x2647,
+ SMSG_UPDATE_GAME_TIME_STATE = 0x2822,
+ SMSG_UPDATE_INSTANCE_OWNERSHIP = 0x26AD,
+ SMSG_UPDATE_LAST_INSTANCE = 0x268C,
+ SMSG_UPDATE_OBJECT = 0x27C6,
+ SMSG_UPDATE_PRIMARY_SPEC = 0x25DA,
+ SMSG_UPDATE_RECENT_PLAYER_GUIDS = 0x25F7,
+ SMSG_UPDATE_TALENT_DATA = 0x25D9,
+ SMSG_UPDATE_WORLD_STATE = 0x2749,
SMSG_USERLIST_ADD = 0x2BB9,
SMSG_USERLIST_REMOVE = 0x2BBA,
SMSG_USERLIST_UPDATE = 0x2BBB,
- SMSG_USE_EQUIPMENT_SET_RESULT = 0x274D,
- SMSG_VAS_CHECK_TRANSFER_OK_RESPONSE = 0x2813,
- SMSG_VAS_GET_QUEUE_MINUTES_RESPONSE = 0x2811,
- SMSG_VAS_GET_SERVICE_STATUS_RESPONSE = 0x2810,
- SMSG_VAS_PURCHASE_COMPLETE = 0x27EB,
- SMSG_VAS_PURCHASE_STATE_UPDATE = 0x27EA,
- SMSG_VENDOR_INVENTORY = 0x25B9,
+ SMSG_USE_EQUIPMENT_SET_RESULT = 0x2750,
+ SMSG_VAS_CHECK_TRANSFER_OK_RESPONSE = 0x2816,
+ SMSG_VAS_GET_QUEUE_MINUTES_RESPONSE = 0x2814,
+ SMSG_VAS_GET_SERVICE_STATUS_RESPONSE = 0x2813,
+ SMSG_VAS_PURCHASE_COMPLETE = 0x27EE,
+ SMSG_VAS_PURCHASE_STATE_UPDATE = 0x27ED,
+ SMSG_VENDOR_INVENTORY = 0x25BB,
SMSG_VIGNETTE_UPDATE = 0x3008,
- SMSG_VOICE_CHANNEL_INFO_RESPONSE = 0x2817,
- SMSG_VOICE_CHANNEL_STT_TOKEN_RESPONSE = 0x2876,
- SMSG_VOICE_LOGIN_RESPONSE = 0x2816,
+ SMSG_VOICE_CHANNEL_INFO_RESPONSE = 0x281A,
+ SMSG_VOICE_CHANNEL_STT_TOKEN_RESPONSE = 0x2861,
+ SMSG_VOICE_LOGIN_RESPONSE = 0x2819,
SMSG_VOID_ITEM_SWAP_RESPONSE = 0x2DA4,
SMSG_VOID_STORAGE_CONTENTS = 0x2DA1,
SMSG_VOID_STORAGE_FAILED = 0x2DA0,
@@ -2083,28 +2110,28 @@ enum OpcodeServer : uint16
SMSG_WAIT_QUEUE_FINISH = 0x256F,
SMSG_WAIT_QUEUE_UPDATE = 0x256E,
SMSG_WARDEN3_DATA = 0x2577,
- SMSG_WARDEN3_DISABLED = 0x281A,
- SMSG_WARDEN3_ENABLED = 0x2819,
- SMSG_WARFRONT_COMPLETE = 0x275C,
+ SMSG_WARDEN3_DISABLED = 0x281D,
+ SMSG_WARDEN3_ENABLED = 0x281C,
+ SMSG_WARFRONT_COMPLETE = 0x275F,
SMSG_WARGAME_REQUEST_OPPONENT_RESPONSE = 0x2934,
SMSG_WARGAME_REQUEST_SUCCESSFULLY_SENT_TO_OPPONENT = 0x2933,
- SMSG_WEATHER = 0x26A7,
- SMSG_WEEKLY_REWARDS_PROGRESS_RESULT = 0x286D,
- SMSG_WEEKLY_REWARDS_RESULT = 0x286B,
- SMSG_WEEKLY_REWARD_CLAIM_RESULT = 0x286C,
+ SMSG_WEATHER = 0x26AA,
+ SMSG_WEEKLY_REWARDS_PROGRESS_RESULT = 0x2859,
+ SMSG_WEEKLY_REWARDS_RESULT = 0x2857,
+ SMSG_WEEKLY_REWARD_CLAIM_RESULT = 0x2858,
SMSG_WHO = 0x2BAE,
- SMSG_WHO_IS = 0x26A6,
- SMSG_WILL_BE_KICKED_FOR_ADDED_SUBSCRIPTION_TIME = 0x281E,
+ SMSG_WHO_IS = 0x26A9,
+ SMSG_WILL_BE_KICKED_FOR_ADDED_SUBSCRIPTION_TIME = 0x2821,
SMSG_WORLD_QUEST_UPDATE_RESPONSE = 0x300F,
- SMSG_WORLD_SERVER_INFO = 0x25AE,
- SMSG_WOW_ENTITLEMENT_NOTIFICATION = 0x2863,
- SMSG_WOW_LABS_NOTIFY_PLAYERS_MATCH_END = 0x2893,
- SMSG_WOW_LABS_NOTIFY_PLAYERS_MATCH_STATE_CHANGED = 0x2894,
- SMSG_WOW_LABS_PARTY_ERROR = 0x289C,
- SMSG_WOW_LABS_SET_PREDICTION_CIRCLE = 0x2895,
- SMSG_XP_AWARDED_FROM_CURRENCY = 0x28AB,
- SMSG_XP_GAIN_ABORTED = 0x25CA,
- SMSG_XP_GAIN_ENABLED = 0x27A6,
+ SMSG_WORLD_SERVER_INFO = 0x25B0,
+ SMSG_WOW_ENTITLEMENT_NOTIFICATION = 0x284F,
+ SMSG_WOW_LABS_NOTIFY_PLAYERS_MATCH_END = 0x287C,
+ SMSG_WOW_LABS_NOTIFY_PLAYERS_MATCH_STATE_CHANGED = 0x287D,
+ SMSG_WOW_LABS_PARTY_ERROR = 0x2881,
+ SMSG_WOW_LABS_SET_PREDICTION_CIRCLE = 0x287E,
+ SMSG_XP_AWARDED_FROM_CURRENCY = 0x288F,
+ SMSG_XP_GAIN_ABORTED = 0x25CC,
+ SMSG_XP_GAIN_ENABLED = 0x27A9,
SMSG_ZONE_UNDER_ATTACK = 0x2BB5,
// Opcodes that are not generated automatically
diff --git a/src/server/game/Server/WorldSession.h b/src/server/game/Server/WorldSession.h
index fb344305d75..fb05eeeb24a 100644
--- a/src/server/game/Server/WorldSession.h
+++ b/src/server/game/Server/WorldSession.h
@@ -65,6 +65,7 @@ struct Petition;
struct Position;
enum class AuctionCommand : int8;
enum class AuctionResult : int8;
+enum class PlayerInteractionType : int32;
enum InventoryResult : uint8;
enum class StableResult : uint8;
enum class TabardVendorType : int32;
@@ -170,6 +171,7 @@ namespace WorldPackets
class AutoBankReagent;
class AutoStoreBankReagent;
class ReagentBank;
+ class BankerActivate;
}
namespace Battleground
@@ -447,6 +449,7 @@ namespace WorldPackets
class CancelTempEnchantment;
class UseCritterItem;
class SocketGems;
+ class SortAccountBankBags;
class SortBags;
class SortBankBags;
class SortReagentBankBags;
@@ -860,14 +863,14 @@ namespace pb = google::protobuf;
enum AccountDataType
{
- GLOBAL_CONFIG_CACHE = 0, // 0x01 g
- PER_CHARACTER_CONFIG_CACHE = 1, // 0x02 p
- GLOBAL_BINDINGS_CACHE = 2, // 0x04 g
- PER_CHARACTER_BINDINGS_CACHE = 3, // 0x08 p
- GLOBAL_MACROS_CACHE = 4, // 0x10 g
- PER_CHARACTER_MACROS_CACHE = 5, // 0x20 p
- PER_CHARACTER_LAYOUT_CACHE = 6, // 0x40 p
- PER_CHARACTER_CHAT_CACHE = 7, // 0x80 p
+ GLOBAL_CONFIG_CACHE = 0,
+ PER_CHARACTER_CONFIG_CACHE = 1,
+ GLOBAL_BINDINGS_CACHE = 2,
+ PER_CHARACTER_BINDINGS_CACHE = 3,
+ GLOBAL_MACROS_CACHE = 4,
+ PER_CHARACTER_MACROS_CACHE = 5,
+ PER_CHARACTER_LAYOUT_CACHE = 6,
+ PER_CHARACTER_CHAT_CACHE = 7,
GLOBAL_TTS_CACHE = 8,
PER_CHARACTER_TTS_CACHE = 9,
GLOBAL_FLAGGED_CACHE = 10,
@@ -875,13 +878,15 @@ enum AccountDataType
PER_CHARACTER_CLICK_BINDINGS_CACHE = 12,
GLOBAL_EDIT_MODE_CACHE = 13,
PER_CHARACTER_EDIT_MODE_CACHE = 14,
+ GLOBAL_FRONTEND_CHAT_SETTINGS = 15,
+ GLOBAL_CHARACTER_LIST_ORDER = 16
};
-#define NUM_ACCOUNT_DATA_TYPES 15
+#define NUM_ACCOUNT_DATA_TYPES 17
-#define ALL_ACCOUNT_DATA_CACHE_MASK 0x7FFF
-#define GLOBAL_CACHE_MASK 0x2515
-#define PER_CHARACTER_CACHE_MASK 0x5AEA
+#define ALL_ACCOUNT_DATA_CACHE_MASK 0x0001FFFFu
+#define GLOBAL_CACHE_MASK 0x0001A515u
+#define PER_CHARACTER_CACHE_MASK 0x00005AEAu
struct AccountData
{
@@ -1070,7 +1075,7 @@ class TC_GAME_API WorldSession
void SendTrainerList(Creature* npc, uint32 trainerId);
void SendListInventory(ObjectGuid guid);
- void SendShowBank(ObjectGuid guid);
+ void SendShowBank(ObjectGuid guid, PlayerInteractionType interactionType);
bool CanOpenMailBox(ObjectGuid guid);
void SendShowMailBox(ObjectGuid guid);
void SendTabardVendorActivate(ObjectGuid guid, TabardVendorType type);
@@ -1422,7 +1427,7 @@ class TC_GAME_API WorldSession
void HandleTaxiRequestEarlyLanding(WorldPackets::Taxi::TaxiRequestEarlyLanding& taxiRequestEarlyLanding);
void HandleTabardVendorActivateOpcode(WorldPackets::NPC::TabardVendorActivate const& tabardVendorActivate);
- void HandleBankerActivateOpcode(WorldPackets::NPC::Hello& packet);
+ void HandleBankerActivateOpcode(WorldPackets::Bank::BankerActivate const& bankerActivate);
void HandleTrainerListOpcode(WorldPackets::NPC::Hello& packet);
void HandleTrainerBuySpellOpcode(WorldPackets::NPC::TrainerBuySpell& packet);
void HandlePetitionShowList(WorldPackets::Petition::PetitionShowList& packet);
@@ -1683,6 +1688,7 @@ class TC_GAME_API WorldSession
// Socket gem
void HandleSocketGems(WorldPackets::Item::SocketGems& socketGems);
+ void HandleSortAccountBankBags(WorldPackets::Item::SortAccountBankBags& sortBankBags);
void HandleSortBags(WorldPackets::Item::SortBags& sortBags);
void HandleSortBankBags(WorldPackets::Item::SortBankBags& sortBankBags);
void HandleSortReagentBankBags(WorldPackets::Item::SortReagentBankBags& sortReagentBankBags);
diff --git a/src/server/game/Server/WorldSocket.cpp b/src/server/game/Server/WorldSocket.cpp
index 6aa746ebef7..688c8c5aed0 100644
--- a/src/server/game/Server/WorldSocket.cpp
+++ b/src/server/game/Server/WorldSocket.cpp
@@ -151,7 +151,7 @@ void WorldSocket::InitializeHandler(boost::system::error_code const& error, std:
try
{
ByteBuffer buffer(std::move(_packetBuffer));
- std::string initializer = buffer.ReadString(ClientConnectionInitialize.length());
+ std::string initializer(buffer.ReadString(ClientConnectionInitialize.length()));
if (initializer != ClientConnectionInitialize)
{
CloseSocket();