aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/database/Database/Implementation/CharacterDatabase.cpp6
-rw-r--r--src/server/game/Entities/Object/Updates/UpdateFields.cpp4
-rw-r--r--src/server/game/Entities/Object/Updates/UpdateFields.h2
-rw-r--r--src/server/game/Entities/Player/Player.cpp4
-rw-r--r--src/server/game/Entities/Player/Player.h2
-rw-r--r--src/server/game/Groups/Group.cpp5
-rw-r--r--src/server/game/Groups/Group.h2
-rw-r--r--src/server/game/Guilds/Guild.cpp30
-rw-r--r--src/server/game/Guilds/Guild.h4
-rw-r--r--src/server/game/Guilds/GuildMgr.cpp4
-rw-r--r--src/server/game/Handlers/AuctionHouseHandler.cpp29
-rw-r--r--src/server/game/Handlers/CharacterHandler.cpp27
-rw-r--r--src/server/game/Handlers/SocialHandler.cpp7
-rw-r--r--src/server/game/Handlers/TicketHandler.cpp4
-rw-r--r--src/server/game/Server/Packets/AuctionHousePackets.h8
-rw-r--r--src/server/game/Server/Packets/GarrisonPackets.cpp63
-rw-r--r--src/server/game/Server/Packets/GarrisonPackets.h39
-rw-r--r--src/server/game/Server/Packets/GuildPackets.cpp2
-rw-r--r--src/server/game/Server/Packets/GuildPackets.h2
-rw-r--r--src/server/game/Server/Packets/LFGPacketsCommon.cpp4
-rw-r--r--src/server/game/Server/Packets/LFGPacketsCommon.h1
-rw-r--r--src/server/game/Server/Packets/MovementPackets.cpp9
-rw-r--r--src/server/game/Server/Packets/PartyPackets.cpp1
-rw-r--r--src/server/game/Server/Packets/PartyPackets.h1
-rw-r--r--src/server/game/Server/Packets/SocialPackets.cpp8
-rw-r--r--src/server/game/Server/Packets/SocialPackets.h18
-rw-r--r--src/server/game/Server/Packets/TicketPackets.cpp4
-rw-r--r--src/server/game/Server/Packets/TicketPackets.h9
-rw-r--r--src/server/game/Server/Protocol/Opcodes.cpp8
-rw-r--r--src/server/game/Server/Protocol/Opcodes.h1362
-rw-r--r--src/server/game/Server/WorldSession.h5
-rw-r--r--src/server/game/Support/SupportMgr.cpp18
-rw-r--r--src/server/game/Support/SupportMgr.h67
33 files changed, 975 insertions, 784 deletions
diff --git a/src/server/database/Database/Implementation/CharacterDatabase.cpp b/src/server/database/Database/Implementation/CharacterDatabase.cpp
index 29c43f2871b..dc39e147e52 100644
--- a/src/server/database/Database/Implementation/CharacterDatabase.cpp
+++ b/src/server/database/Database/Implementation/CharacterDatabase.cpp
@@ -312,7 +312,7 @@ void CharacterDatabaseConnection::DoPrepareStatements()
PrepareStatement(CHAR_DEL_GUILD_MEMBER_WITHDRAW, "DELETE FROM guild_member_withdraw", CONNECTION_ASYNC);
// 0: uint32, 1: uint32, 2: uint32
- PrepareStatement(CHAR_SEL_CHAR_DATA_FOR_GUILD, "SELECT name, level, class, gender, zone, account FROM characters WHERE guid = ?", CONNECTION_SYNCH);
+ PrepareStatement(CHAR_SEL_CHAR_DATA_FOR_GUILD, "SELECT name, level, race, class, gender, zone, account FROM characters WHERE guid = ?", CONNECTION_SYNCH);
PrepareStatement(CHAR_DEL_GUILD_ACHIEVEMENT, "DELETE FROM guild_achievement WHERE guildId = ? AND achievement = ?", CONNECTION_ASYNC);
PrepareStatement(CHAR_INS_GUILD_ACHIEVEMENT, "INSERT INTO guild_achievement (guildId, achievement, date, guids) VALUES (?, ?, ?, ?)", CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_GUILD_ACHIEVEMENT_CRITERIA, "DELETE FROM guild_achievement_progress WHERE guildId = ? AND criteria = ?", CONNECTION_ASYNC);
@@ -447,8 +447,8 @@ void CharacterDatabaseConnection::DoPrepareStatements()
PrepareStatement(CHAR_DEL_ALL_GM_BUGS, "DELETE FROM gm_bug", CONNECTION_ASYNC);
// GM Complaint
- PrepareStatement(CHAR_SEL_GM_COMPLAINTS, "SELECT id, playerGuid, note, createTime, mapId, posX, posY, posZ, facing, targetCharacterGuid, complaintType, reportLineIndex, assignedTo, closedBy, comment FROM gm_complaint", CONNECTION_SYNCH);
- PrepareStatement(CHAR_REP_GM_COMPLAINT, "REPLACE INTO gm_complaint (id, playerGuid, note, createTime, mapId, posX, posY, posZ, facing, targetCharacterGuid, complaintType, reportLineIndex, assignedTo, closedBy, comment) VALUES (?, ?, ?, UNIX_TIMESTAMP(NOW()), ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", CONNECTION_ASYNC);
+ PrepareStatement(CHAR_SEL_GM_COMPLAINTS, "SELECT id, playerGuid, note, createTime, mapId, posX, posY, posZ, facing, targetCharacterGuid, reportType, reportMajorCategory, reportMinorCategoryFlags, reportLineIndex, assignedTo, closedBy, comment FROM gm_complaint", CONNECTION_SYNCH);
+ PrepareStatement(CHAR_REP_GM_COMPLAINT, "REPLACE INTO gm_complaint (id, playerGuid, note, createTime, mapId, posX, posY, posZ, facing, targetCharacterGuid, reportType, reportMajorCategory, reportMinorCategoryFlags, reportLineIndex, assignedTo, closedBy, comment) VALUES (?, ?, ?, UNIX_TIMESTAMP(NOW()), ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_GM_COMPLAINT, "DELETE FROM gm_complaint WHERE id = ?", CONNECTION_ASYNC);
PrepareStatement(CHAR_SEL_GM_COMPLAINT_CHATLINES, "SELECT timestamp, text FROM gm_complaint_chatlog WHERE complaintId = ? ORDER BY lineId ASC", CONNECTION_SYNCH);
PrepareStatement(CHAR_INS_GM_COMPLAINT_CHATLINE, "INSERT INTO gm_complaint_chatlog (complaintId, lineId, timestamp, text) VALUES (?, ?, ?, ?)", CONNECTION_ASYNC);
diff --git a/src/server/game/Entities/Object/Updates/UpdateFields.cpp b/src/server/game/Entities/Object/Updates/UpdateFields.cpp
index 591aeb657ac..70e228847b4 100644
--- a/src/server/game/Entities/Object/Updates/UpdateFields.cpp
+++ b/src/server/game/Entities/Object/Updates/UpdateFields.cpp
@@ -2998,7 +2998,7 @@ void ActivePlayerData::WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> f
for (uint32 i = 0; i < 12; ++i)
{
data << uint32(BuybackPrice[i]);
- data << uint32(BuybackTimestamp[i]);
+ data << int64(BuybackTimestamp[i]);
}
data << uint16(TodayHonorableKills);
data << uint16(YesterdayHonorableKills);
@@ -4036,7 +4036,7 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo
}
if (changesMask[605 + i])
{
- data << uint32(BuybackTimestamp[i]);
+ data << int64(BuybackTimestamp[i]);
}
}
}
diff --git a/src/server/game/Entities/Object/Updates/UpdateFields.h b/src/server/game/Entities/Object/Updates/UpdateFields.h
index e3cfb83fa40..a4fcd0b65dd 100644
--- a/src/server/game/Entities/Object/Updates/UpdateFields.h
+++ b/src/server/game/Entities/Object/Updates/UpdateFields.h
@@ -772,7 +772,7 @@ struct ActivePlayerData : public IsUpdateFieldStructureTag, public HasChangesMas
UpdateFieldArray<float, 3, 585, 586> WeaponDmgMultipliers;
UpdateFieldArray<float, 3, 585, 589> WeaponAtkSpeedMultipliers;
UpdateFieldArray<uint32, 12, 592, 593> BuybackPrice;
- UpdateFieldArray<uint32, 12, 592, 605> BuybackTimestamp;
+ UpdateFieldArray<int64, 12, 592, 605> BuybackTimestamp;
UpdateFieldArray<int32, 32, 617, 618> CombatRatings;
UpdateFieldArray<UF::PVPInfo, 6, 650, 651> PvpInfo;
UpdateFieldArray<uint32, 4, 657, 658> NoReagentCostMask;
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index 9a291f099f5..e35a3a80aa4 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -13727,7 +13727,7 @@ void Player::AddItemToBuyBackSlot(Item* pItem)
// if current back slot non-empty search oldest or free
if (m_items[slot])
{
- uint32 oldest_time = m_activePlayerData->BuybackTimestamp[0];
+ time_t oldest_time = m_activePlayerData->BuybackTimestamp[0];
uint32 oldest_slot = BUYBACK_SLOT_START;
for (uint32 i = BUYBACK_SLOT_START + 1; i < BUYBACK_SLOT_END; ++i)
@@ -13739,7 +13739,7 @@ void Player::AddItemToBuyBackSlot(Item* pItem)
break;
}
- uint32 i_time = m_activePlayerData->BuybackTimestamp[i - BUYBACK_SLOT_START];
+ time_t i_time = m_activePlayerData->BuybackTimestamp[i - BUYBACK_SLOT_START];
if (oldest_time > i_time)
{
diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h
index 0098e0742dd..969d3f3debf 100644
--- a/src/server/game/Entities/Player/Player.h
+++ b/src/server/game/Entities/Player/Player.h
@@ -1483,7 +1483,7 @@ class TC_GAME_API Player : public Unit, public GridObject<Player>
void SwapItem(uint16 src, uint16 dst);
void AddItemToBuyBackSlot(Item* pItem);
void SetBuybackPrice(uint32 slot, uint32 price) { SetUpdateFieldValue(m_values.ModifyValue(&Player::m_activePlayerData).ModifyValue(&UF::ActivePlayerData::BuybackPrice, slot), price); }
- void SetBuybackTimestamp(uint32 slot, uint32 timestamp) { SetUpdateFieldValue(m_values.ModifyValue(&Player::m_activePlayerData).ModifyValue(&UF::ActivePlayerData::BuybackTimestamp, slot), timestamp); }
+ void SetBuybackTimestamp(uint32 slot, time_t timestamp) { SetUpdateFieldValue(m_values.ModifyValue(&Player::m_activePlayerData).ModifyValue(&UF::ActivePlayerData::BuybackTimestamp, slot), timestamp); }
Item* GetItemFromBuyBackSlot(uint32 slot);
void RemoveItemFromBuyBackSlot(uint32 slot, bool del);
void SendEquipError(InventoryResult msg, Item const* item1 = nullptr, Item const* item2 = nullptr, uint32 itemId = 0) const;
diff --git a/src/server/game/Groups/Group.cpp b/src/server/game/Groups/Group.cpp
index 4dfa4dd7b7f..e886dfcee16 100644
--- a/src/server/game/Groups/Group.cpp
+++ b/src/server/game/Groups/Group.cpp
@@ -452,6 +452,7 @@ bool Group::AddMember(Player* player)
MemberSlot member;
member.guid = player->GetGUID();
member.name = player->GetName();
+ member.race = Races(player->GetRace());
member._class = player->GetClass();
member.group = subGroup;
member.flags = 0;
@@ -1551,6 +1552,10 @@ void Group::SendUpdateToPlayer(ObjectGuid playerGUID, MemberSlot* slot)
playerInfos.Name = citr->name;
playerInfos.Class = citr->_class;
+ ChrRacesEntry const* race = sChrRacesStore.AssertEntry(citr->race);
+ FactionTemplateEntry const* raceFaction = sFactionTemplateStore.AssertEntry(race->FactionID);
+ playerInfos.FactionGroup = raceFaction->FactionGroup;
+
playerInfos.Status = MEMBER_STATUS_OFFLINE;
if (member && member->GetSession() && !member->GetSession()->PlayerLogout())
playerInfos.Status = MEMBER_STATUS_ONLINE | (isBGGroup() || isBFGroup() ? MEMBER_STATUS_PVP : 0);
diff --git a/src/server/game/Groups/Group.h b/src/server/game/Groups/Group.h
index 95cb2fc00bc..7f72e6e8d6a 100644
--- a/src/server/game/Groups/Group.h
+++ b/src/server/game/Groups/Group.h
@@ -23,6 +23,7 @@
#include "GroupRefManager.h"
#include "Loot.h"
#include "Object.h"
+#include "RaceMask.h"
#include "SharedDefines.h"
#include "Timer.h"
#include <map>
@@ -224,6 +225,7 @@ class TC_GAME_API Group
{
ObjectGuid guid;
std::string name;
+ Races race;
uint8 _class;
uint8 group;
uint8 flags;
diff --git a/src/server/game/Guilds/Guild.cpp b/src/server/game/Guilds/Guild.cpp
index 83c8894fc82..d7e5bd9bf41 100644
--- a/src/server/game/Guilds/Guild.cpp
+++ b/src/server/game/Guilds/Guild.cpp
@@ -513,6 +513,7 @@ Guild::Member::Member(ObjectGuid::LowType guildId, ObjectGuid guid, GuildRankId
m_guid(guid),
m_zoneId(0),
m_level(0),
+ m_race(0),
m_class(0),
m_gender(0),
m_flags(GUILDMEMBER_STATUS_NONE),
@@ -531,6 +532,7 @@ void Guild::Member::SetStats(Player* player)
{
m_name = player->GetName();
m_level = player->GetLevel();
+ m_race = player->GetRace();
m_class = player->GetClass();
m_gender = player->GetNativeGender();
m_zoneId = player->GetZoneId();
@@ -538,10 +540,11 @@ void Guild::Member::SetStats(Player* player)
m_achievementPoints = player->GetAchievementPoints();
}
-void Guild::Member::SetStats(std::string_view name, uint8 level, uint8 _class, uint8 gender, uint32 zoneId, uint32 accountId, uint32 reputation)
+void Guild::Member::SetStats(std::string_view name, uint8 level, uint8 race, uint8 _class, uint8 gender, uint32 zoneId, uint32 accountId, uint32 reputation)
{
m_name = name;
m_level = level;
+ m_race = race;
m_class = _class;
m_gender = gender;
m_zoneId = zoneId;
@@ -620,12 +623,13 @@ bool Guild::Member::LoadFromDB(Field* fields)
SetStats(fields[14].GetString(),
fields[15].GetUInt8(), // characters.level
- fields[16].GetUInt8(), // characters.class
- fields[17].GetUInt8(), // characters.gender
- fields[18].GetUInt16(), // characters.zone
- fields[19].GetUInt32(), // characters.account
+ fields[16].GetUInt8(), // characters.race
+ fields[17].GetUInt8(), // characters.class
+ fields[18].GetUInt8(), // characters.gender
+ fields[19].GetUInt16(), // characters.zone
+ fields[20].GetUInt32(), // characters.account
0);
- m_logoutTime = fields[20].GetUInt64(); // characters.logout_time
+ m_logoutTime = fields[21].GetUInt64(); // characters.logout_time
m_totalActivity = 0;
m_weekActivity = 0;
m_weekReputation = 0;
@@ -652,7 +656,13 @@ bool Guild::Member::CheckStats() const
return false;
}
- if (m_class < CLASS_WARRIOR || m_class >= MAX_CLASSES)
+ if (!sChrRacesStore.LookupEntry(m_race))
+ {
+ TC_LOG_ERROR("guild", "%s has a broken data in field `characters`.`race`, deleting him from guild!", m_guid.ToString().c_str());
+ return false;
+ }
+
+ if (!sChrClassesStore.LookupEntry(m_class))
{
TC_LOG_ERROR("guild", "%s has a broken data in field `characters`.`class`, deleting him from guild!", m_guid.ToString().c_str());
return false;
@@ -1321,6 +1331,7 @@ void Guild::HandleRoster(WorldSession* session)
memberData.Level = member.GetLevel();
memberData.ClassID = member.GetClass();
memberData.Gender = member.GetGender();
+ memberData.RaceID = member.GetRace();
memberData.Authenticated = false;
memberData.SorEligible = false;
@@ -2776,8 +2787,9 @@ bool Guild::AddMember(CharacterDatabaseTransaction trans, ObjectGuid guid, Optio
fields[1].GetUInt8(),
fields[2].GetUInt8(),
fields[3].GetUInt8(),
- fields[4].GetUInt16(),
- fields[5].GetUInt32(),
+ fields[4].GetUInt8(),
+ fields[5].GetUInt16(),
+ fields[6].GetUInt32(),
0);
ok = member.CheckStats();
diff --git a/src/server/game/Guilds/Guild.h b/src/server/game/Guilds/Guild.h
index 179ee6073de..eb33be36bcb 100644
--- a/src/server/game/Guilds/Guild.h
+++ b/src/server/game/Guilds/Guild.h
@@ -312,7 +312,7 @@ class TC_GAME_API Guild
Member(ObjectGuid::LowType guildId, ObjectGuid guid, GuildRankId rankId);
void SetStats(Player* player);
- void SetStats(std::string_view name, uint8 level, uint8 _class, uint8 gender, uint32 zoneId, uint32 accountId, uint32 reputation);
+ void SetStats(std::string_view name, uint8 level, uint8 race, uint8 _class, uint8 gender, uint32 zoneId, uint32 accountId, uint32 reputation);
bool CheckStats() const;
void SetPublicNote(std::string_view publicNote);
@@ -336,6 +336,7 @@ class TC_GAME_API Guild
float GetInactiveDays() const;
std::string GetPublicNote() const { return m_publicNote; }
std::string GetOfficerNote() const { return m_officerNote; }
+ uint8 GetRace() const { return m_race; }
uint8 GetClass() const { return m_class; }
uint8 GetGender() const { return m_gender; }
uint8 GetLevel() const { return m_level; }
@@ -375,6 +376,7 @@ class TC_GAME_API Guild
std::string m_name;
uint32 m_zoneId;
uint8 m_level;
+ uint8 m_race;
uint8 m_class;
uint8 m_gender;
uint8 m_flags;
diff --git a/src/server/game/Guilds/GuildMgr.cpp b/src/server/game/Guilds/GuildMgr.cpp
index a95f47e55c9..155284130e7 100644
--- a/src/server/game/Guilds/GuildMgr.cpp
+++ b/src/server/game/Guilds/GuildMgr.cpp
@@ -201,8 +201,8 @@ void GuildMgr::LoadGuilds()
// 0 1 2 3 4 5 6 7 8 9 10
QueryResult result = CharacterDatabase.Query("SELECT gm.guildid, gm.guid, `rank`, pnote, offnote, w.tab0, w.tab1, w.tab2, w.tab3, w.tab4, w.tab5, "
- // 11 12 13 14 15 16 17 18 19 20
- "w.tab6, w.tab7, w.money, c.name, c.level, c.class, c.gender, c.zone, c.account, c.logout_time "
+ // 11 12 13 14 15 16 17 18 19 20 21
+ "w.tab6, w.tab7, w.money, c.name, c.level, c.race, c.class, c.gender, c.zone, c.account, c.logout_time "
"FROM guild_member gm "
"LEFT JOIN guild_member_withdraw w ON gm.guid = w.guid "
"LEFT JOIN characters c ON c.guid = gm.guid ORDER BY gm.guildid ASC");
diff --git a/src/server/game/Handlers/AuctionHouseHandler.cpp b/src/server/game/Handlers/AuctionHouseHandler.cpp
index 59ddbcbae8f..85e114a08ec 100644
--- a/src/server/game/Handlers/AuctionHouseHandler.cpp
+++ b/src/server/game/Handlers/AuctionHouseHandler.cpp
@@ -579,6 +579,35 @@ void WorldSession::HandleAuctionReplicateItems(WorldPackets::AuctionHouse::Aucti
SendPacket(response.Write());
}
+void WorldSession::HandleAuctionRequestFavoriteList(WorldPackets::AuctionHouse::AuctionRequestFavoriteList& /*requestFavoriteList*/)
+{
+ CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_SEL_CHARACTER_FAVORITE_AUCTIONS);
+ stmt->setUInt64(0, _player->GetGUID().GetCounter());
+ GetQueryProcessor().AddCallback(CharacterDatabase.AsyncQuery(stmt)).WithPreparedCallback([this](PreparedQueryResult favoriteAuctionResult)
+ {
+ WorldPackets::AuctionHouse::AuctionFavoriteList favoriteItems;
+ if (favoriteAuctionResult)
+ {
+ favoriteItems.Items.reserve(favoriteAuctionResult->GetRowCount());
+
+ do
+ {
+ Field* fields = favoriteAuctionResult->Fetch();
+
+ WorldPackets::AuctionHouse::AuctionFavoriteInfo& item = favoriteItems.Items.emplace_back();
+ item.Order = fields[0].GetUInt32();
+ item.ItemID = fields[1].GetUInt32();
+ item.ItemLevel = fields[2].GetUInt32();
+ item.BattlePetSpeciesID = fields[3].GetUInt32();
+ item.SuffixItemNameDescriptionID = fields[4].GetUInt32();
+
+ } while (favoriteAuctionResult->NextRow());
+
+ }
+ SendPacket(favoriteItems.Write());
+ });
+}
+
void WorldSession::HandleAuctionSellCommodity(WorldPackets::AuctionHouse::AuctionSellCommodity& sellCommodity)
{
AuctionThrottleResult throttle = sAuctionMgr->CheckThrottle(_player, sellCommodity.TaintedBy.has_value(), AuctionCommand::SellItem);
diff --git a/src/server/game/Handlers/CharacterHandler.cpp b/src/server/game/Handlers/CharacterHandler.cpp
index 609a1e2ff9f..214e6aefcaa 100644
--- a/src/server/game/Handlers/CharacterHandler.cpp
+++ b/src/server/game/Handlers/CharacterHandler.cpp
@@ -1235,33 +1235,6 @@ void WorldSession::HandlePlayerLogin(LoginQueryHolder const& holder)
// Place character in world (and load zone) before some object loading
pCurrChar->LoadCorpse(holder.GetPreparedResult(PLAYER_LOGIN_QUERY_LOAD_CORPSE_LOCATION));
- stmt = CharacterDatabase.GetPreparedStatement(CHAR_SEL_CHARACTER_FAVORITE_AUCTIONS);
- stmt->setUInt64(0, pCurrChar->GetGUID().GetCounter());
- GetQueryProcessor().AddCallback(CharacterDatabase.AsyncQuery(stmt)).WithPreparedCallback([this](PreparedQueryResult favoriteAuctionResult)
- {
- WorldPackets::AuctionHouse::AuctionFavoriteList favoriteItems;
- if (favoriteAuctionResult)
- {
- favoriteItems.Items.reserve(favoriteAuctionResult->GetRowCount());
-
- do
- {
- Field* fields = favoriteAuctionResult->Fetch();
-
- favoriteItems.Items.emplace_back();
- WorldPackets::AuctionHouse::AuctionFavoriteInfo& item = favoriteItems.Items.back();
- item.Order = fields[0].GetUInt32();
- item.ItemID = fields[1].GetUInt32();
- item.ItemLevel = fields[2].GetUInt32();
- item.BattlePetSpeciesID = fields[3].GetUInt32();
- item.SuffixItemNameDescriptionID = fields[4].GetUInt32();
-
- } while (favoriteAuctionResult->NextRow());
-
- }
- SendPacket(favoriteItems.Write());
- });
-
// setting Ghost+speed if dead
if (pCurrChar->m_deathState == DEAD)
{
diff --git a/src/server/game/Handlers/SocialHandler.cpp b/src/server/game/Handlers/SocialHandler.cpp
index 38a9dbb6279..21f025b848a 100644
--- a/src/server/game/Handlers/SocialHandler.cpp
+++ b/src/server/game/Handlers/SocialHandler.cpp
@@ -175,3 +175,10 @@ void WorldSession::HandleSetContactNotesOpcode(WorldPackets::Social::SetContactN
TC_LOG_DEBUG("network", "WorldSession::HandleSetContactNotesOpcode: Contact: %s, Notes: %s", packet.Player.Guid.ToString().c_str(), packet.Notes.c_str());
_player->GetSocial()->SetFriendNote(packet.Player.Guid, packet.Notes);
}
+
+void WorldSession::HandleSocialContractRequest(WorldPackets::Social::SocialContractRequest& /*socialContractRequest*/)
+{
+ WorldPackets::Social::SocialContractRequestResponse response;
+ response.ShowSocialContract = false;
+ SendPacket(response.Write());
+}
diff --git a/src/server/game/Handlers/TicketHandler.cpp b/src/server/game/Handlers/TicketHandler.cpp
index 2942c27ba3d..56eaac4623f 100644
--- a/src/server/game/Handlers/TicketHandler.cpp
+++ b/src/server/game/Handlers/TicketHandler.cpp
@@ -75,7 +75,9 @@ void WorldSession::HandleSupportTicketSubmitComplaint(WorldPackets::Ticket::Supp
comp->SetFacing(packet.Header.Facing);
comp->SetChatLog(packet.ChatLog);
comp->SetTargetCharacterGuid(packet.TargetCharacterGUID);
- comp->SetComplaintType(GMSupportComplaintType(packet.ComplaintType));
+ comp->SetReportType(ReportType(packet.ReportType));
+ comp->SetMajorCategory(ReportMajorCategory(packet.MajorCategory));
+ comp->SetMinorCategoryFlags(ReportMinorCategory(packet.MinorCategoryFlags));
comp->SetNote(packet.Note);
sSupportMgr->AddTicket(comp);
diff --git a/src/server/game/Server/Packets/AuctionHousePackets.h b/src/server/game/Server/Packets/AuctionHousePackets.h
index 4b9ef230450..6f441c4b281 100644
--- a/src/server/game/Server/Packets/AuctionHousePackets.h
+++ b/src/server/game/Server/Packets/AuctionHousePackets.h
@@ -305,6 +305,14 @@ namespace WorldPackets
Optional<Addon::AddOnInfo> TaintedBy;
};
+ class AuctionRequestFavoriteList final : public ClientPacket
+ {
+ public:
+ AuctionRequestFavoriteList(WorldPacket&& packet) : ClientPacket(CMSG_AUCTION_REQUEST_FAVORITE_LIST, std::move(packet)) { }
+
+ void Read() override { }
+ };
+
class AuctionSellCommodity final : public ClientPacket
{
public:
diff --git a/src/server/game/Server/Packets/GarrisonPackets.cpp b/src/server/game/Server/Packets/GarrisonPackets.cpp
index 9a268388696..0796748d877 100644
--- a/src/server/game/Server/Packets/GarrisonPackets.cpp
+++ b/src/server/game/Server/Packets/GarrisonPackets.cpp
@@ -37,7 +37,7 @@ WorldPacket const* GarrisonDeleteResult::Write()
return &_worldPacket;
}
-ByteBuffer& operator<<(ByteBuffer& data, GarrisonPlotInfo& plotInfo)
+ByteBuffer& operator<<(ByteBuffer& data, GarrisonPlotInfo const& plotInfo)
{
data << uint32(plotInfo.GarrPlotInstanceID);
data << plotInfo.PlotPos;
@@ -87,19 +87,18 @@ ByteBuffer& operator<<(ByteBuffer& data, GarrisonFollower const& follower)
return data;
}
-ByteBuffer& operator<<(ByteBuffer& data, GarrisonMission const& mission)
+ByteBuffer& operator<<(ByteBuffer& data, GarrisonEncounter const& encounter)
{
- data << uint64(mission.DbID);
- data << mission.OfferTime;
- data << mission.OfferDuration;
- data << mission.StartTime;
- data << mission.TravelDuration;
- data << mission.MissionDuration;
- data << uint32(mission.MissionRecID);
- data << uint32(mission.MissionState);
- data << uint32(mission.SuccessChance);
- data << uint32(mission.Flags);
- data << float(mission.MissionScalar);
+ data << int32(encounter.GarrEncounterID);
+ data << uint32(encounter.Mechanics.size());
+ data << int32(encounter.GarrAutoCombatantID);
+ data << int32(encounter.Health);
+ data << int32(encounter.MaxHealth);
+ data << int32(encounter.Attack);
+ data << int8(encounter.BoardIndex);
+
+ if (!encounter.Mechanics.empty())
+ data.append(encounter.Mechanics.data(), encounter.Mechanics.size());
return data;
}
@@ -122,6 +121,36 @@ ByteBuffer& operator<<(ByteBuffer& data, GarrisonMissionReward const& missionRew
return data;
}
+ByteBuffer& operator<<(ByteBuffer& data, GarrisonMission const& mission)
+{
+ data << uint64(mission.DbID);
+ data << int32(mission.MissionRecID);
+ data << mission.OfferTime;
+ data << mission.OfferDuration;
+ data << mission.StartTime;
+ data << mission.TravelDuration;
+ data << mission.MissionDuration;
+ data << int32(mission.MissionState);
+ data << int32(mission.SuccessChance);
+ data << uint32(mission.Flags);
+ data << float(mission.MissionScalar);
+ data << int32(mission.ContentTuningID);
+ data << uint32(mission.Encounters.size());
+ data << uint32(mission.Rewards.size());
+ data << uint32(mission.OvermaxRewards.size());
+
+ for (GarrisonEncounter const& encounter : mission.Encounters)
+ data << encounter;
+
+ for (GarrisonMissionReward const& missionRewardItem : mission.Rewards)
+ data << missionRewardItem;
+
+ for (GarrisonMissionReward const& missionRewardItem : mission.OvermaxRewards)
+ data << missionRewardItem;
+
+ return data;
+}
+
ByteBuffer& operator<<(ByteBuffer& data, GarrisonMissionBonusAbility const& areaBonus)
{
data << areaBonus.StartTime;
@@ -227,9 +256,6 @@ ByteBuffer& operator<<(ByteBuffer& data, GarrisonInfo const& garrison)
for (GarrisonPlotInfo* plot : garrison.Plots)
data << *plot;
- for (GarrisonMission const* mission : garrison.Missions)
- data << *mission;
-
for (std::vector<GarrisonMissionReward> const& missionReward : garrison.MissionRewards)
data << uint32(missionReward.size());
@@ -265,6 +291,9 @@ ByteBuffer& operator<<(ByteBuffer& data, GarrisonInfo const& garrison)
for (GarrisonFollower const* follower : garrison.AutoTroops)
data << *follower;
+ for (GarrisonMission const* mission : garrison.Missions)
+ data << *mission;
+
for (GarrisonTalent const& talent : garrison.Talents)
data << talent;
@@ -395,7 +424,7 @@ WorldPacket const* GarrisonRequestBlueprintAndSpecializationDataResult::Write()
return &_worldPacket;
}
-ByteBuffer& operator<<(ByteBuffer& data, GarrisonBuildingMapData& building)
+ByteBuffer& operator<<(ByteBuffer& data, GarrisonBuildingMapData const& building)
{
data << uint32(building.GarrBuildingPlotInstID);
data << building.Pos;
diff --git a/src/server/game/Server/Packets/GarrisonPackets.h b/src/server/game/Server/Packets/GarrisonPackets.h
index 08e56820c10..983982842f8 100644
--- a/src/server/game/Server/Packets/GarrisonPackets.h
+++ b/src/server/game/Server/Packets/GarrisonPackets.h
@@ -102,19 +102,15 @@ namespace WorldPackets
std::string CustomName;
};
- struct GarrisonMission
+ struct GarrisonEncounter
{
- uint64 DbID = 0;
- uint32 MissionRecID = 0;
- Timestamp<> OfferTime;
- Duration<Seconds> OfferDuration;
- Timestamp<> StartTime = time_t(2288912640);
- Duration<Seconds> TravelDuration;
- Duration<Seconds> MissionDuration;
- uint32 MissionState = 0;
- uint32 SuccessChance = 0;
- uint32 Flags = 0;
- float MissionScalar = 1.0f;
+ int32 GarrEncounterID = 0;
+ std::vector<int32> Mechanics;
+ int32 GarrAutoCombatantID = 0;
+ int32 Health = 0;
+ int32 MaxHealth = 0;
+ int32 Attack = 0;
+ int8 BoardIndex = 0;
};
struct GarrisonMissionReward
@@ -129,6 +125,25 @@ namespace WorldPackets
Optional<Item::ItemInstance> ItemInstance;
};
+ struct GarrisonMission
+ {
+ uint64 DbID = 0;
+ int32 MissionRecID = 0;
+ Timestamp<> OfferTime;
+ Duration<Seconds> OfferDuration;
+ Timestamp<> StartTime = time_t(2288912640);
+ Duration<Seconds> TravelDuration;
+ Duration<Seconds> MissionDuration;
+ int32 MissionState = 0;
+ int32 SuccessChance = 0;
+ uint32 Flags = 0;
+ float MissionScalar = 1.0f;
+ int32 ContentTuningID = 0;
+ std::vector<GarrisonEncounter> Encounters;
+ std::vector<GarrisonMissionReward> Rewards;
+ std::vector<GarrisonMissionReward> OvermaxRewards;
+ };
+
struct GarrisonMissionBonusAbility
{
uint32 GarrMssnBonusAbilityID = 0;
diff --git a/src/server/game/Server/Packets/GuildPackets.cpp b/src/server/game/Server/Packets/GuildPackets.cpp
index b37b438046c..a1c84ea74df 100644
--- a/src/server/game/Server/Packets/GuildPackets.cpp
+++ b/src/server/game/Server/Packets/GuildPackets.cpp
@@ -178,6 +178,8 @@ ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Guild::GuildRosterMemberD
data << uint8(rosterMemberData.Level);
data << uint8(rosterMemberData.ClassID);
data << uint8(rosterMemberData.Gender);
+ data << uint64(rosterMemberData.GuildClubMemberID);
+ data << uint8(rosterMemberData.RaceID);
data.WriteBits(rosterMemberData.Name.length(), 6);
data.WriteBits(rosterMemberData.Note.length(), 8);
diff --git a/src/server/game/Server/Packets/GuildPackets.h b/src/server/game/Server/Packets/GuildPackets.h
index 5fb9e2a3dbc..bd80498061e 100644
--- a/src/server/game/Server/Packets/GuildPackets.h
+++ b/src/server/game/Server/Packets/GuildPackets.h
@@ -112,6 +112,8 @@ namespace WorldPackets
uint8 Level = 0;
uint8 ClassID = 0;
uint8 Gender = 0;
+ uint64 GuildClubMemberID = 0;
+ uint8 RaceID = 0;
bool Authenticated = false;
bool SorEligible = false;
GuildRosterProfessionData Profession[2];
diff --git a/src/server/game/Server/Packets/LFGPacketsCommon.cpp b/src/server/game/Server/Packets/LFGPacketsCommon.cpp
index b10b76bb10a..a88cc08977e 100644
--- a/src/server/game/Server/Packets/LFGPacketsCommon.cpp
+++ b/src/server/game/Server/Packets/LFGPacketsCommon.cpp
@@ -23,6 +23,8 @@ ByteBuffer& operator>>(ByteBuffer& data, WorldPackets::LFG::RideTicket& ticket)
data >> ticket.Id;
ticket.Type = data.read<WorldPackets::LFG::RideType>();
data >> ticket.Time;
+ ticket.Unknown925 = data.ReadBit();
+ data.ResetBitPos();
return data;
}
@@ -33,6 +35,8 @@ ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::LFG::RideTicket const& ti
data << uint32(ticket.Id);
data << uint32(ticket.Type);
data << ticket.Time;
+ data.WriteBit(ticket.Unknown925);
+ data.FlushBits();
return data;
}
diff --git a/src/server/game/Server/Packets/LFGPacketsCommon.h b/src/server/game/Server/Packets/LFGPacketsCommon.h
index eb3b41ee538..2244b7dcd31 100644
--- a/src/server/game/Server/Packets/LFGPacketsCommon.h
+++ b/src/server/game/Server/Packets/LFGPacketsCommon.h
@@ -38,6 +38,7 @@ namespace WorldPackets
uint32 Id = 0;
RideType Type = RideType::None;
Timestamp<> Time;
+ bool Unknown925 = false;
};
}
}
diff --git a/src/server/game/Server/Packets/MovementPackets.cpp b/src/server/game/Server/Packets/MovementPackets.cpp
index 48dd1381785..98ce7ff6815 100644
--- a/src/server/game/Server/Packets/MovementPackets.cpp
+++ b/src/server/game/Server/Packets/MovementPackets.cpp
@@ -487,12 +487,9 @@ void WorldPackets::Movement::CommonMovement::WriteMovementForceWithDirection(Mov
data << uint32(movementForce.TransportID);
data << float(movementForce.Magnitude);
+ data << int32(movementForce.Unused910);
data.WriteBits(AsUnderlyingType(movementForce.Type), 2);
- data.WriteBit(movementForce.Unused910 != 0);
data.FlushBits();
-
- if (movementForce.Unused910)
- data << int32(movementForce.Unused910);
}
void WorldPackets::Movement::MonsterMove::InitializeSplineData(::Movement::MoveSpline const& moveSpline)
@@ -723,10 +720,8 @@ ByteBuffer& operator>>(ByteBuffer& data, MovementForce& movementForce)
data >> movementForce.Direction;
data >> movementForce.TransportID;
data >> movementForce.Magnitude;
+ data >> movementForce.Unused910;
movementForce.Type = MovementForceType(data.ReadBits(2));
- bool has910 = data.ReadBit();
- if (has910)
- data >> movementForce.Unused910;
return data;
}
diff --git a/src/server/game/Server/Packets/PartyPackets.cpp b/src/server/game/Server/Packets/PartyPackets.cpp
index 0a3f79fb39d..2c831e6db8d 100644
--- a/src/server/game/Server/Packets/PartyPackets.cpp
+++ b/src/server/game/Server/Packets/PartyPackets.cpp
@@ -431,6 +431,7 @@ ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Party::PartyPlayerInfo co
data << uint8(playerInfo.Flags);
data << uint8(playerInfo.RolesAssigned);
data << uint8(playerInfo.Class);
+ data << uint8(playerInfo.FactionGroup);
data.WriteString(playerInfo.Name);
if (!playerInfo.VoiceStateID.empty())
data << playerInfo.VoiceStateID;
diff --git a/src/server/game/Server/Packets/PartyPackets.h b/src/server/game/Server/Packets/PartyPackets.h
index a6576ecb440..d3dd89c06e3 100644
--- a/src/server/game/Server/Packets/PartyPackets.h
+++ b/src/server/game/Server/Packets/PartyPackets.h
@@ -510,6 +510,7 @@ namespace WorldPackets
uint8 Subgroup = 0u;
uint8 Flags = 0u;
uint8 RolesAssigned = 0u;
+ uint8 FactionGroup = 0u;
bool FromSocialQueue = false;
bool VoiceChatSilenced = false;
};
diff --git a/src/server/game/Server/Packets/SocialPackets.cpp b/src/server/game/Server/Packets/SocialPackets.cpp
index 61aea784296..09ac59d4128 100644
--- a/src/server/game/Server/Packets/SocialPackets.cpp
+++ b/src/server/game/Server/Packets/SocialPackets.cpp
@@ -138,3 +138,11 @@ void WorldPackets::Social::DelIgnore::Read()
{
_worldPacket >> Player;
}
+
+WorldPacket const* WorldPackets::Social::SocialContractRequestResponse::Write()
+{
+ _worldPacket.WriteBit(ShowSocialContract);
+ _worldPacket.FlushBits();
+
+ return &_worldPacket;
+}
diff --git a/src/server/game/Server/Packets/SocialPackets.h b/src/server/game/Server/Packets/SocialPackets.h
index e553aa692f8..3007cb3800b 100644
--- a/src/server/game/Server/Packets/SocialPackets.h
+++ b/src/server/game/Server/Packets/SocialPackets.h
@@ -146,6 +146,24 @@ namespace WorldPackets
QualifiedGUID Player;
};
+
+ class SocialContractRequest final : public ClientPacket
+ {
+ public:
+ SocialContractRequest(WorldPacket&& packet) : ClientPacket(CMSG_SOCIAL_CONTRACT_REQUEST, std::move(packet)) { }
+
+ void Read() override { }
+ };
+
+ class SocialContractRequestResponse final : public ServerPacket
+ {
+ public:
+ SocialContractRequestResponse() : ServerPacket(SMSG_SOCIAL_CONTRACT_REQUEST_RESPONSE, 1) { }
+
+ WorldPacket const* Write() override;
+
+ bool ShowSocialContract = false;
+ };
}
}
diff --git a/src/server/game/Server/Packets/TicketPackets.cpp b/src/server/game/Server/Packets/TicketPackets.cpp
index b9c3c797602..49343589912 100644
--- a/src/server/game/Server/Packets/TicketPackets.cpp
+++ b/src/server/game/Server/Packets/TicketPackets.cpp
@@ -265,8 +265,10 @@ void WorldPackets::Ticket::SupportTicketSubmitComplaint::Read()
{
_worldPacket >> Header;
_worldPacket >> TargetCharacterGUID;
+ _worldPacket >> ReportType;
+ _worldPacket >> MajorCategory;
+ _worldPacket >> MinorCategoryFlags;
_worldPacket >> ChatLog;
- ComplaintType = _worldPacket.ReadBits(5);
uint32 noteLength = _worldPacket.ReadBits(10);
bool hasMailInfo = _worldPacket.ReadBit();
diff --git a/src/server/game/Server/Packets/TicketPackets.h b/src/server/game/Server/Packets/TicketPackets.h
index db82d3af913..ec2b558dd41 100644
--- a/src/server/game/Server/Packets/TicketPackets.h
+++ b/src/server/game/Server/Packets/TicketPackets.h
@@ -32,6 +32,7 @@ namespace WorldPackets
int32 MapID = 0;
TaggedPosition<::Position::XYZ> Position;
float Facing = 0.0f;
+ int32 Program = 0;
};
class GMTicketGetSystemStatus final : public ClientPacket
@@ -115,7 +116,7 @@ namespace WorldPackets
struct SupportTicketChatLog
{
- std::vector<SupportTicketChatLine> Lines;
+ Array<SupportTicketChatLine, 255> Lines;
Optional<uint32> ReportLineIndex;
};
@@ -141,7 +142,7 @@ namespace WorldPackets
struct SupportTicketHorusChatLog
{
- std::vector<SupportTicketHorusChatLine> Lines;
+ Array<SupportTicketHorusChatLine, 255> Lines;
};
struct SupportTicketMailInfo
@@ -219,7 +220,9 @@ namespace WorldPackets
SupportTicketHeader Header;
SupportTicketChatLog ChatLog;
ObjectGuid TargetCharacterGUID;
- uint8 ComplaintType = 0;
+ int32 ReportType = 0;
+ int32 MajorCategory = 0;
+ int32 MinorCategoryFlags = 0;
SupportTicketHorusChatLog HorusChatLog;
std::string Note;
Optional<SupportTicketMailInfo> MailInfo;
diff --git a/src/server/game/Server/Protocol/Opcodes.cpp b/src/server/game/Server/Protocol/Opcodes.cpp
index bb64ab455fe..b48dbda21be 100644
--- a/src/server/game/Server/Protocol/Opcodes.cpp
+++ b/src/server/game/Server/Protocol/Opcodes.cpp
@@ -132,6 +132,7 @@ void OpcodeTable::Initialize()
DEFINE_HANDLER(CMSG_ABANDON_NPE_RESPONSE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_ACCEPT_GUILD_INVITE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleGuildAcceptInvite);
+ 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_NOTIFICATION_ACKNOWLEDGED, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
@@ -170,6 +171,7 @@ void OpcodeTable::Initialize()
DEFINE_HANDLER(CMSG_AUCTION_PLACE_BID, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAuctionPlaceBid);
DEFINE_HANDLER(CMSG_AUCTION_REMOVE_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAuctionRemoveItem);
DEFINE_HANDLER(CMSG_AUCTION_REPLICATE_ITEMS, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAuctionReplicateItems);
+ DEFINE_HANDLER(CMSG_AUCTION_REQUEST_FAVORITE_LIST, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAuctionRequestFavoriteList);
DEFINE_HANDLER(CMSG_AUCTION_SELL_COMMODITY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAuctionSellCommodity);
DEFINE_HANDLER(CMSG_AUCTION_SELL_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAuctionSellItem);
DEFINE_HANDLER(CMSG_AUCTION_SET_FAVORITE_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAuctionSetFavoriteItem);
@@ -333,6 +335,7 @@ void OpcodeTable::Initialize()
DEFINE_HANDLER(CMSG_CLUB_FINDER_REQUEST_PENDING_CLUBS_LIST, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_CLUB_FINDER_REQUEST_SUBSCRIBED_CLUB_POSTING_IDS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_CLUB_FINDER_RESPOND_TO_APPLICANT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
+ DEFINE_HANDLER(CMSG_CLUB_FINDER_WHISPER_APPLICANT_REQUEST, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_CLUB_PRESENCE_SUBSCRIBE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_COLLECTION_ITEM_SET_FAVORITE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleCollectionItemSetFavorite);
DEFINE_HANDLER(CMSG_COMMENTATOR_SPECTATE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL);
@@ -836,6 +839,7 @@ void OpcodeTable::Initialize()
DEFINE_HANDLER(CMSG_SHOW_TRADE_SKILL, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_SIGN_PETITION, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSignPetition);
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_BAGS, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleSortBags);
DEFINE_HANDLER(CMSG_SORT_BANK_BAGS, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleSortBankBags);
@@ -1169,6 +1173,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CLUB_FINDER_RESPONSE_CHARACTER_APPLICATION_LIST, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CLUB_FINDER_RESPONSE_POST_RECRUITMENT_MESSAGE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CLUB_FINDER_UPDATE_APPLICATIONS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_CLUB_FINDER_WHISPER_APPLICANT_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_COIN_REMOVED, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_COMBAT_EVENT_FAILED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_COMMENTATOR_MAP_INFO, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1544,6 +1549,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MAP_OBJECTIVES_INIT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MAP_OBJ_EVENTS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MASTER_LOOT_CANDIDATE_LIST, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_MEETING_STONE_FAILED, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MESSAGE_BOX, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MINIMAP_PING, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MIRROR_IMAGE_COMPONENTED_DATA, STATUS_NEVER, CONNECTION_TYPE_REALM);
@@ -1918,6 +1924,7 @@ void OpcodeTable::Initialize()
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);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SHOW_TRADE_SKILL_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_SOCIAL_CONTRACT_REQUEST_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SOCKET_GEMS_FAILURE, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SOCKET_GEMS_SUCCESS, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPECIAL_MOUNT_ANIM, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
@@ -2016,6 +2023,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_UPDATE_LAST_INSTANCE, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_UPDATE_OBJECT, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_UPDATE_PRIMARY_SPEC, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_UPDATE_RECENT_PLAYER_GUIDS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_UPDATE_TALENT_DATA, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_UPDATE_TASK_PROGRESS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_UPDATE_WEEKLY_SPELL_USAGE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
diff --git a/src/server/game/Server/Protocol/Opcodes.h b/src/server/game/Server/Protocol/Opcodes.h
index f8b1ab93db7..44494fd60bd 100644
--- a/src/server/game/Server/Protocol/Opcodes.h
+++ b/src/server/game/Server/Protocol/Opcodes.h
@@ -44,21 +44,22 @@ enum OpcodeMisc : uint16
enum OpcodeClient : uint16
{
- CMSG_ABANDON_NPE_RESPONSE = 0x33F2,
+ CMSG_ABANDON_NPE_RESPONSE = 0x33E1,
CMSG_ACCEPT_GUILD_INVITE = 0x35FC,
+ CMSG_ACCEPT_SOCIAL_CONTRACT = 0x373B,
CMSG_ACCEPT_TRADE = 0x315A,
CMSG_ACCEPT_WARGAME_INVITE = 0x35E0,
- CMSG_ACCOUNT_NOTIFICATION_ACKNOWLEDGED = 0x3732,
- CMSG_ACTIVATE_SOULBIND = 0x33E1,
+ CMSG_ACCOUNT_NOTIFICATION_ACKNOWLEDGED = 0x3731,
+ CMSG_ACTIVATE_SOULBIND = 0x33D0,
CMSG_ACTIVATE_TAXI = 0x34B1,
CMSG_ADDON_LIST = 0x35D8,
CMSG_ADD_ACCOUNT_COSMETIC = 0x32A9,
- CMSG_ADD_BATTLENET_FRIEND = 0x365A,
- CMSG_ADD_FRIEND = 0x36CD,
- CMSG_ADD_IGNORE = 0x36D1,
+ CMSG_ADD_BATTLENET_FRIEND = 0x3659,
+ CMSG_ADD_FRIEND = 0x36CC,
+ CMSG_ADD_IGNORE = 0x36D0,
CMSG_ADD_TOY = 0x32A8,
CMSG_ADVENTURE_JOURNAL_OPEN_QUEST = 0x3205,
- CMSG_ADVENTURE_JOURNAL_UPDATE_SUGGESTIONS = 0x33E4,
+ CMSG_ADVENTURE_JOURNAL_UPDATE_SUGGESTIONS = 0x33D3,
CMSG_ADVENTURE_MAP_START_QUEST = 0x3360,
CMSG_ALTER_APPEARANCE = 0x3503,
CMSG_AREA_SPIRIT_HEALER_QUERY = 0x34B6,
@@ -69,8 +70,8 @@ enum OpcodeClient : uint16
CMSG_ASSIGN_EQUIPMENT_SET_SPEC = 0x3211,
CMSG_ATTACK_STOP = 0x3260,
CMSG_ATTACK_SWING = 0x325F,
- CMSG_AUCTIONABLE_TOKEN_SELL = 0x36E3,
- CMSG_AUCTIONABLE_TOKEN_SELL_AT_MARKET_PRICE = 0x36E4,
+ CMSG_AUCTIONABLE_TOKEN_SELL = 0x36E2,
+ CMSG_AUCTIONABLE_TOKEN_SELL_AT_MARKET_PRICE = 0x36E3,
CMSG_AUCTION_BROWSE_QUERY = 0x34D6,
CMSG_AUCTION_CANCEL_COMMODITIES_PURCHASE = 0x34DE,
CMSG_AUCTION_CONFIRM_COMMODITIES_PURCHASE = 0x34DD,
@@ -84,9 +85,10 @@ enum OpcodeClient : uint16
CMSG_AUCTION_PLACE_BID = 0x34D5,
CMSG_AUCTION_REMOVE_ITEM = 0x34D3,
CMSG_AUCTION_REPLICATE_ITEMS = 0x34D4,
+ CMSG_AUCTION_REQUEST_FAVORITE_LIST = 0x3733,
CMSG_AUCTION_SELL_COMMODITY = 0x34DF,
CMSG_AUCTION_SELL_ITEM = 0x34D2,
- CMSG_AUCTION_SET_FAVORITE_ITEM = 0x3733,
+ CMSG_AUCTION_SET_FAVORITE_ITEM = 0x3732,
CMSG_AUTH_CONTINUED_SESSION = 0x3766,
CMSG_AUTH_SESSION = 0x3765,
CMSG_AUTOBANK_ITEM = 0x3997,
@@ -111,19 +113,19 @@ enum OpcodeClient : uint16
CMSG_BATTLEMASTER_JOIN_ARENA = 0x3531,
CMSG_BATTLEMASTER_JOIN_BRAWL = 0x3535,
CMSG_BATTLEMASTER_JOIN_SKIRMISH = 0x3532,
- CMSG_BATTLENET_CHALLENGE_RESPONSE = 0x36D0,
- CMSG_BATTLENET_REQUEST = 0x36F2,
- CMSG_BATTLE_PAY_ACK_FAILED_RESPONSE = 0x36CA,
- CMSG_BATTLE_PAY_CANCEL_OPEN_CHECKOUT = 0x3710,
- CMSG_BATTLE_PAY_CONFIRM_PURCHASE_RESPONSE = 0x36C9,
- CMSG_BATTLE_PAY_DISTRIBUTION_ASSIGN_TO_TARGET = 0x36C0,
+ CMSG_BATTLENET_CHALLENGE_RESPONSE = 0x36CF,
+ CMSG_BATTLENET_REQUEST = 0x36F1,
+ CMSG_BATTLE_PAY_ACK_FAILED_RESPONSE = 0x36C9,
+ CMSG_BATTLE_PAY_CANCEL_OPEN_CHECKOUT = 0x370F,
+ CMSG_BATTLE_PAY_CONFIRM_PURCHASE_RESPONSE = 0x36C8,
+ CMSG_BATTLE_PAY_DISTRIBUTION_ASSIGN_TO_TARGET = 0x36BF,
CMSG_BATTLE_PAY_DISTRIBUTION_ASSIGN_VAS = 0x3736,
- CMSG_BATTLE_PAY_GET_PRODUCT_LIST = 0x36B8,
- CMSG_BATTLE_PAY_GET_PURCHASE_LIST = 0x36B9,
- CMSG_BATTLE_PAY_OPEN_CHECKOUT = 0x3709,
- CMSG_BATTLE_PAY_REQUEST_PRICE_INFO = 0x3705,
- CMSG_BATTLE_PAY_START_PURCHASE = 0x36C8,
- CMSG_BATTLE_PAY_START_VAS_PURCHASE = 0x36EF,
+ CMSG_BATTLE_PAY_GET_PRODUCT_LIST = 0x36B7,
+ CMSG_BATTLE_PAY_GET_PURCHASE_LIST = 0x36B8,
+ CMSG_BATTLE_PAY_OPEN_CHECKOUT = 0x3708,
+ CMSG_BATTLE_PAY_REQUEST_PRICE_INFO = 0x3704,
+ CMSG_BATTLE_PAY_START_PURCHASE = 0x36C7,
+ CMSG_BATTLE_PAY_START_VAS_PURCHASE = 0x36EE,
CMSG_BATTLE_PET_CLEAR_FANFARE = 0x312C,
CMSG_BATTLE_PET_DELETE_PET = 0x3625,
CMSG_BATTLE_PET_DELETE_PET_CHEAT = 0x3626,
@@ -141,28 +143,28 @@ enum OpcodeClient : uint16
CMSG_BLACK_MARKET_OPEN = 0x353D,
CMSG_BLACK_MARKET_REQUEST_ITEMS = 0x353E,
CMSG_BONUS_ROLL = 0x338B,
- CMSG_BUG_REPORT = 0x3685,
+ CMSG_BUG_REPORT = 0x3684,
CMSG_BUSY_TRADE = 0x3158,
CMSG_BUY_BACK_ITEM = 0x34AA,
CMSG_BUY_BANK_SLOT = 0x34BA,
CMSG_BUY_ITEM = 0x34A9,
CMSG_BUY_REAGENT_BANK = 0x34BB,
CMSG_CAGE_BATTLE_PET = 0x31F4,
- CMSG_CALENDAR_ADD_EVENT = 0x367D,
- CMSG_CALENDAR_COMMUNITY_INVITE = 0x3671,
- CMSG_CALENDAR_COMPLAIN = 0x3679,
- CMSG_CALENDAR_COPY_EVENT = 0x3678,
- CMSG_CALENDAR_EVENT_SIGN_UP = 0x367B,
- CMSG_CALENDAR_GET = 0x366F,
- CMSG_CALENDAR_GET_EVENT = 0x3670,
- CMSG_CALENDAR_GET_NUM_PENDING = 0x367A,
- CMSG_CALENDAR_INVITE = 0x3672,
- CMSG_CALENDAR_MODERATOR_STATUS = 0x3676,
- CMSG_CALENDAR_REMOVE_EVENT = 0x3677,
- CMSG_CALENDAR_REMOVE_INVITE = 0x3673,
- CMSG_CALENDAR_RSVP = 0x3674,
- CMSG_CALENDAR_STATUS = 0x3675,
- CMSG_CALENDAR_UPDATE_EVENT = 0x367E,
+ CMSG_CALENDAR_ADD_EVENT = 0x367C,
+ CMSG_CALENDAR_COMMUNITY_INVITE = 0x3670,
+ CMSG_CALENDAR_COMPLAIN = 0x3678,
+ CMSG_CALENDAR_COPY_EVENT = 0x3677,
+ CMSG_CALENDAR_EVENT_SIGN_UP = 0x367A,
+ CMSG_CALENDAR_GET = 0x366E,
+ CMSG_CALENDAR_GET_EVENT = 0x366F,
+ CMSG_CALENDAR_GET_NUM_PENDING = 0x3679,
+ CMSG_CALENDAR_INVITE = 0x3671,
+ CMSG_CALENDAR_MODERATOR_STATUS = 0x3675,
+ CMSG_CALENDAR_REMOVE_EVENT = 0x3676,
+ CMSG_CALENDAR_REMOVE_INVITE = 0x3672,
+ CMSG_CALENDAR_RSVP = 0x3673,
+ CMSG_CALENDAR_STATUS = 0x3674,
+ CMSG_CALENDAR_UPDATE_EVENT = 0x367D,
CMSG_CANCEL_AURA = 0x31AF,
CMSG_CANCEL_AUTO_REPEAT_SPELL = 0x34F5,
CMSG_CANCEL_CAST = 0x32AF,
@@ -174,22 +176,22 @@ enum OpcodeClient : uint16
CMSG_CANCEL_QUEUED_SPELL = 0x3180,
CMSG_CANCEL_TEMP_ENCHANTMENT = 0x3500,
CMSG_CANCEL_TRADE = 0x315C,
- CMSG_CAN_DUEL = 0x3662,
- CMSG_CAN_REDEEM_TOKEN_FOR_BALANCE = 0x3704,
+ CMSG_CAN_DUEL = 0x3661,
+ CMSG_CAN_REDEEM_TOKEN_FOR_BALANCE = 0x3703,
CMSG_CAST_SPELL = 0x32AC,
CMSG_CHALLENGE_MODE_REQUEST_LEADERS = 0x3090,
CMSG_CHANGE_BAG_SLOT_FLAG = 0x3345,
CMSG_CHANGE_BANK_BAG_SLOT_FLAG = 0x3346,
CMSG_CHANGE_MONUMENT_APPEARANCE = 0x3326,
- CMSG_CHANGE_REALM_TICKET = 0x36F7,
- CMSG_CHANGE_SUB_GROUP = 0x364C,
- 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 = 0x368C,
- CMSG_CHAR_DELETE = 0x369B,
- CMSG_CHAR_RACE_OR_FACTION_CHANGE = 0x3692,
+ CMSG_CHANGE_REALM_TICKET = 0x36F6,
+ CMSG_CHANGE_SUB_GROUP = 0x364B,
+ CMSG_CHARACTER_CHECK_UPGRADE = 0x36C2,
+ CMSG_CHARACTER_RENAME_REQUEST = 0x36BD,
+ CMSG_CHARACTER_UPGRADE_MANUAL_UNREVOKE_REQUEST = 0x36C0,
+ CMSG_CHARACTER_UPGRADE_START = 0x36C1,
+ CMSG_CHAR_CUSTOMIZE = 0x368B,
+ CMSG_CHAR_DELETE = 0x369A,
+ CMSG_CHAR_RACE_OR_FACTION_CHANGE = 0x3691,
CMSG_CHAT_ADDON_MESSAGE = 0x37EE,
CMSG_CHAT_ADDON_MESSAGE_TARGETED = 0x37EF,
CMSG_CHAT_CHANNEL_ANNOUNCEMENTS = 0x37E3,
@@ -226,28 +228,29 @@ enum OpcodeClient : uint16
CMSG_CHAT_REPORT_FILTERED = 0x37CC,
CMSG_CHAT_REPORT_IGNORED = 0x37CB,
CMSG_CHAT_UNREGISTER_ALL_ADDON_PREFIXES = 0x37CE,
- CMSG_CHECK_CHARACTER_NAME_AVAILABILITY = 0x3645,
+ CMSG_CHECK_CHARACTER_NAME_AVAILABILITY = 0x3644,
CMSG_CHECK_IS_ADVENTURE_MAP_POI_VALID = 0x3251,
CMSG_CHOICE_RESPONSE = 0x32B4,
- CMSG_CHROMIE_TIME_SELECT_EXPANSION = 0x33E0,
- CMSG_CLAIM_WEEKLY_REWARD = 0x33BC,
+ CMSG_CHROMIE_TIME_SELECT_EXPANSION = 0x33CF,
+ CMSG_CLAIM_WEEKLY_REWARD = 0x33AB,
CMSG_CLEAR_NEW_APPEARANCE = 0x312F,
CMSG_CLEAR_RAID_MARKER = 0x31A7,
CMSG_CLEAR_TRADE_ITEM = 0x315E,
CMSG_CLIENT_PORT_GRAVEYARD = 0x3539,
CMSG_CLOSE_INTERACTION = 0x3499,
CMSG_CLOSE_QUEST_CHOICE = 0x32B5,
- CMSG_CLOSE_RUNEFORGE_INTERACTION = 0x33E8,
- CMSG_CLUB_FINDER_APPLICATION_RESPONSE = 0x371B,
- CMSG_CLUB_FINDER_GET_APPLICANTS_LIST = 0x3719,
- CMSG_CLUB_FINDER_POST = 0x3716,
- CMSG_CLUB_FINDER_REQUEST_CLUBS_DATA = 0x371D,
- CMSG_CLUB_FINDER_REQUEST_CLUBS_LIST = 0x3717,
- CMSG_CLUB_FINDER_REQUEST_MEMBERSHIP_TO_CLUB = 0x3718,
- CMSG_CLUB_FINDER_REQUEST_PENDING_CLUBS_LIST = 0x371C,
- CMSG_CLUB_FINDER_REQUEST_SUBSCRIBED_CLUB_POSTING_IDS = 0x371E,
- CMSG_CLUB_FINDER_RESPOND_TO_APPLICANT = 0x371A,
- CMSG_CLUB_PRESENCE_SUBSCRIBE = 0x36F4,
+ CMSG_CLOSE_RUNEFORGE_INTERACTION = 0x33D7,
+ 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 = 0x36F3,
CMSG_COLLECTION_ITEM_SET_FAVORITE = 0x3633,
CMSG_COMMENTATOR_ENABLE = 0x35F0,
CMSG_COMMENTATOR_ENTER_INSTANCE = 0x35F4,
@@ -257,34 +260,34 @@ enum OpcodeClient : uint16
CMSG_COMMENTATOR_GET_PLAYER_INFO = 0x35F2,
CMSG_COMMENTATOR_SPECTATE = 0x3737,
CMSG_COMMENTATOR_START_WARGAME = 0x35EF,
- CMSG_COMMERCE_TOKEN_GET_COUNT = 0x36E1,
- CMSG_COMMERCE_TOKEN_GET_LOG = 0x36EB,
- CMSG_COMMERCE_TOKEN_GET_MARKET_PRICE = 0x36E2,
- CMSG_COMPLAINT = 0x366C,
+ CMSG_COMMERCE_TOKEN_GET_COUNT = 0x36E0,
+ CMSG_COMMERCE_TOKEN_GET_LOG = 0x36EA,
+ CMSG_COMMERCE_TOKEN_GET_MARKET_PRICE = 0x36E1,
+ CMSG_COMPLAINT = 0x366B,
CMSG_COMPLETE_CINEMATIC = 0x3557,
CMSG_COMPLETE_MOVIE = 0x34EB,
CMSG_CONFIRM_ARTIFACT_RESPEC = 0x31AC,
CMSG_CONFIRM_RESPEC_WIPE = 0x3213,
CMSG_CONNECT_TO_FAILED = 0x35D4,
- 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_CONSUMABLE_TOKEN_BUY = 0x36E5,
+ CMSG_CONSUMABLE_TOKEN_BUY_AT_MARKET_PRICE = 0x36E6,
+ CMSG_CONSUMABLE_TOKEN_CAN_VETERAN_BUY = 0x36E4,
+ CMSG_CONSUMABLE_TOKEN_REDEEM = 0x36E8,
+ CMSG_CONSUMABLE_TOKEN_REDEEM_CONFIRMATION = 0x36E9,
CMSG_CONTRIBUTION_CONTRIBUTE = 0x356B,
CMSG_CONTRIBUTION_LAST_UPDATE_REQUEST = 0x356C,
CMSG_CONVERSATION_CINEMATIC_READY = 0x3559,
CMSG_CONVERSATION_LINE_STARTED = 0x3558,
- CMSG_CONVERT_RAID = 0x364E,
+ CMSG_CONVERT_RAID = 0x364D,
CMSG_COVENANT_RENOWN_REQUEST_CATCHUP_STATE = 0x357F,
- CMSG_CREATE_CHARACTER = 0x3644,
+ CMSG_CREATE_CHARACTER = 0x3643,
CMSG_CREATE_SHIPMENT = 0x3312,
CMSG_DB_QUERY_BULK = 0x35E4,
CMSG_DECLINE_GUILD_INVITES = 0x352D,
CMSG_DECLINE_PETITION = 0x3546,
CMSG_DELETE_EQUIPMENT_SET = 0x3519,
- CMSG_DEL_FRIEND = 0x36CE,
- CMSG_DEL_IGNORE = 0x36D2,
+ CMSG_DEL_FRIEND = 0x36CD,
+ CMSG_DEL_IGNORE = 0x36D1,
CMSG_DEPOSIT_REAGENT_BANK = 0x334E,
CMSG_DESTROY_ITEM = 0x32A2,
CMSG_DF_BOOT_PLAYER_VOTE = 0x3616,
@@ -299,7 +302,7 @@ enum OpcodeClient : uint16
CMSG_DF_TELEPORT = 0x3617,
CMSG_DISCARDED_TIME_SYNC_ACKS = 0x3A42,
CMSG_DISMISS_CRITTER = 0x3507,
- CMSG_DO_COUNTDOWN = 0x3715,
+ CMSG_DO_COUNTDOWN = 0x3714,
CMSG_DO_MASTER_LOOT_ROLL = 0x3218,
CMSG_DO_READY_CHECK = 0x3634,
CMSG_DUEL_RESPONSE = 0x34F0,
@@ -307,10 +310,10 @@ enum OpcodeClient : uint16
CMSG_EMOTE = 0x3553,
CMSG_ENABLE_NAGLE = 0x376B,
CMSG_ENABLE_TAXI_NODE = 0x34AF,
- CMSG_ENGINE_SURVEY = 0x36E0,
+ CMSG_ENGINE_SURVEY = 0x36DF,
CMSG_ENTER_ENCRYPTED_MODE_ACK = 0x3767,
CMSG_ENUM_CHARACTERS = 0x35E8,
- CMSG_ENUM_CHARACTERS_DELETED_BY_CLIENT = 0x36DA,
+ CMSG_ENUM_CHARACTERS_DELETED_BY_CLIENT = 0x36D9,
CMSG_FAR_SIGHT = 0x34F6,
CMSG_GAME_EVENT_DEBUG_DISABLE = 0x31B3,
CMSG_GAME_EVENT_DEBUG_ENABLE = 0x31B2,
@@ -340,26 +343,26 @@ enum OpcodeClient : uint16
CMSG_GARRISON_SET_FOLLOWER_FAVORITE = 0x32F1,
CMSG_GARRISON_SET_FOLLOWER_INACTIVE = 0x32E9,
CMSG_GARRISON_SET_RECRUITMENT_PREFERENCES = 0x32F7,
- CMSG_GARRISON_SOCKET_TALENT = 0x33F5,
+ CMSG_GARRISON_SOCKET_TALENT = 0x33E4,
CMSG_GARRISON_START_MISSION = 0x3332,
CMSG_GARRISON_SWAP_BUILDINGS = 0x32E1,
CMSG_GENERATE_RANDOM_CHARACTER_NAME = 0x35E7,
- CMSG_GET_ACCOUNT_CHARACTER_LIST = 0x36B3,
- CMSG_GET_ACCOUNT_NOTIFICATIONS = 0x3731,
+ CMSG_GET_ACCOUNT_CHARACTER_LIST = 0x36B2,
+ CMSG_GET_ACCOUNT_NOTIFICATIONS = 0x3730,
CMSG_GET_GARRISON_INFO = 0x32D6,
CMSG_GET_ITEM_PURCHASE_DATA = 0x3541,
CMSG_GET_LANDING_PAGE_SHIPMENTS = 0x3311,
CMSG_GET_MIRROR_IMAGE_DATA = 0x32A6,
CMSG_GET_PVP_OPTIONS_ENABLED = 0x35EE,
- CMSG_GET_RAF_ACCOUNT_INFO = 0x371F,
- CMSG_GET_REMAINING_GAME_TIME = 0x36E8,
+ CMSG_GET_RAF_ACCOUNT_INFO = 0x371E,
+ CMSG_GET_REMAINING_GAME_TIME = 0x36E7,
CMSG_GET_TROPHY_LIST = 0x3323,
- 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 = 0x3690,
- CMSG_GM_TICKET_GET_CASE_STATUS = 0x368F,
- CMSG_GM_TICKET_GET_SYSTEM_STATUS = 0x368E,
+ CMSG_GET_UNDELETE_CHARACTER_COOLDOWN_STATUS = 0x36DB,
+ CMSG_GET_VAS_ACCOUNT_CHARACTER_LIST = 0x36EC,
+ CMSG_GET_VAS_TRANSFER_TARGET_REALM_LIST = 0x36ED,
+ CMSG_GM_TICKET_ACKNOWLEDGE_SURVEY = 0x368F,
+ CMSG_GM_TICKET_GET_CASE_STATUS = 0x368E,
+ CMSG_GM_TICKET_GET_SYSTEM_STATUS = 0x368D,
CMSG_GOSSIP_REFRESH_OPTIONS = 0x357E,
CMSG_GOSSIP_SELECT_OPTION = 0x349A,
CMSG_GUILD_ADD_BATTLENET_FRIEND = 0x308E,
@@ -399,7 +402,7 @@ enum OpcodeClient : uint16
CMSG_GUILD_REPLACE_GUILD_MASTER = 0x3089,
CMSG_GUILD_SET_ACHIEVEMENT_TRACKING = 0x3070,
CMSG_GUILD_SET_FOCUSED_ACHIEVEMENT = 0x3071,
- CMSG_GUILD_SET_GUILD_MASTER = 0x36C5,
+ CMSG_GUILD_SET_GUILD_MASTER = 0x36C4,
CMSG_GUILD_SET_MEMBER_NOTE = 0x3073,
CMSG_GUILD_SET_RANK_PERMISSIONS = 0x3068,
CMSG_GUILD_SHIFT_RANK = 0x3067,
@@ -413,17 +416,17 @@ enum OpcodeClient : uint16
CMSG_INITIATE_TRADE = 0x3156,
CMSG_INSPECT = 0x353B,
CMSG_INSTANCE_LOCK_RESPONSE = 0x351A,
- CMSG_ISLAND_QUEUE = 0x33B8,
+ CMSG_ISLAND_QUEUE = 0x33A7,
CMSG_ITEM_PURCHASE_REFUND = 0x3542,
CMSG_ITEM_TEXT_QUERY = 0x3342,
CMSG_JOIN_PET_BATTLE_QUEUE = 0x31DF,
CMSG_JOIN_RATED_BATTLEGROUND = 0x3179,
- CMSG_KEEP_ALIVE = 0x367F,
+ CMSG_KEEP_ALIVE = 0x367E,
CMSG_KEYBOUND_OVERRIDE = 0x322B,
CMSG_LATENCY_REPORT = 0x3771,
CMSG_LEARN_PVP_TALENTS = 0x356A,
CMSG_LEARN_TALENTS = 0x3568,
- CMSG_LEAVE_GROUP = 0x3649,
+ CMSG_LEAVE_GROUP = 0x3648,
CMSG_LEAVE_PET_BATTLE_QUEUE = 0x31E0,
CMSG_LFG_LIST_APPLY_TO_GROUP = 0x360D,
CMSG_LFG_LIST_CANCEL_APPLICATION = 0x360E,
@@ -436,10 +439,10 @@ enum OpcodeClient : uint16
CMSG_LFG_LIST_SEARCH = 0x360C,
CMSG_LFG_LIST_UPDATE_REQUEST = 0x3387,
CMSG_LIST_INVENTORY = 0x34A7,
- 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_LIVE_REGION_ACCOUNT_RESTORE = 0x36B5,
+ CMSG_LIVE_REGION_CHARACTER_COPY = 0x36B4,
+ CMSG_LIVE_REGION_GET_ACCOUNT_CHARACTER_LIST = 0x36B3,
+ CMSG_LIVE_REGION_KEY_BINDINGS_COPY = 0x36B6,
CMSG_LOADING_SCREEN_NOTIFY = 0x35F8,
CMSG_LOAD_SELECTED_TROPHY = 0x3324,
CMSG_LOGOUT_CANCEL = 0x34E6,
@@ -452,13 +455,13 @@ enum OpcodeClient : uint16
CMSG_LOOT_RELEASE = 0x321A,
CMSG_LOOT_ROLL = 0x321B,
CMSG_LOOT_UNIT = 0x3214,
- CMSG_LOW_LEVEL_RAID1 = 0x369F,
+ CMSG_LOW_LEVEL_RAID1 = 0x369E,
CMSG_LOW_LEVEL_RAID2 = 0x3521,
CMSG_MAIL_CREATE_TEXT_ITEM = 0x354D,
CMSG_MAIL_DELETE = 0x322D,
CMSG_MAIL_GET_LIST = 0x3548,
CMSG_MAIL_MARK_AS_READ = 0x354C,
- CMSG_MAIL_RETURN_TO_SENDER = 0x3655,
+ CMSG_MAIL_RETURN_TO_SENDER = 0x3654,
CMSG_MAIL_TAKE_ITEM = 0x354A,
CMSG_MAIL_TAKE_MONEY = 0x3549,
CMSG_MAKE_CONTITIONAL_APPEARANCE_PERMANENT = 0x322F,
@@ -466,7 +469,7 @@ enum OpcodeClient : uint16
CMSG_MERGE_GUILD_BANK_ITEM_WITH_GUILD_BANK_ITEM = 0x34C7,
CMSG_MERGE_GUILD_BANK_ITEM_WITH_ITEM = 0x34C4,
CMSG_MERGE_ITEM_WITH_GUILD_BANK_ITEM = 0x34C2,
- CMSG_MINIMAP_PING = 0x364B,
+ CMSG_MINIMAP_PING = 0x364A,
CMSG_MISSILE_TRAJECTORY_COLLISION = 0x318B,
CMSG_MOUNT_CLEAR_FANFARE = 0x312D,
CMSG_MOUNT_SET_FAVORITE = 0x3632,
@@ -549,7 +552,7 @@ enum OpcodeClient : uint16
CMSG_NEXT_CINEMATIC_CAMERA = 0x3556,
CMSG_OBJECT_UPDATE_FAILED = 0x3181,
CMSG_OBJECT_UPDATE_RESCUED = 0x3182,
- CMSG_OFFER_PETITION = 0x33DF,
+ CMSG_OFFER_PETITION = 0x33CE,
CMSG_OPENING_CINEMATIC = 0x3555,
CMSG_OPEN_ITEM = 0x3343,
CMSG_OPEN_MISSION_NPC = 0x3307,
@@ -559,19 +562,19 @@ enum OpcodeClient : uint16
CMSG_OVERRIDE_SCREEN_FLASH = 0x352E,
CMSG_PARTY_INVITE = 0x3602,
CMSG_PARTY_INVITE_RESPONSE = 0x3604,
- CMSG_PARTY_UNINVITE = 0x3647,
+ CMSG_PARTY_UNINVITE = 0x3646,
CMSG_PERFORM_ITEM_INTERACTION = 0x3237,
CMSG_PETITION_BUY = 0x34CF,
- CMSG_PETITION_RENAME_GUILD = 0x36C6,
+ CMSG_PETITION_RENAME_GUILD = 0x36C5,
CMSG_PETITION_SHOW_LIST = 0x34CE,
CMSG_PETITION_SHOW_SIGNATURES = 0x34D0,
CMSG_PET_ABANDON = 0x3493,
CMSG_PET_ACTION = 0x3491,
CMSG_PET_BATTLE_FINAL_NOTIFY = 0x31E4,
- CMSG_PET_BATTLE_INPUT = 0x3641,
+ CMSG_PET_BATTLE_INPUT = 0x3640,
CMSG_PET_BATTLE_QUEUE_PROPOSE_MATCH_RESULT = 0x322C,
CMSG_PET_BATTLE_QUIT_NOTIFY = 0x31E3,
- CMSG_PET_BATTLE_REPLACE_FRONT_PET = 0x3642,
+ CMSG_PET_BATTLE_REPLACE_FRONT_PET = 0x3641,
CMSG_PET_BATTLE_REQUEST_PVP = 0x31DD,
CMSG_PET_BATTLE_REQUEST_UPDATE = 0x31DE,
CMSG_PET_BATTLE_REQUEST_WILD = 0x31DB,
@@ -579,7 +582,7 @@ enum OpcodeClient : uint16
CMSG_PET_BATTLE_WILD_LOCATION_FAIL = 0x31DC,
CMSG_PET_CANCEL_AURA = 0x3494,
CMSG_PET_CAST_SPELL = 0x32AB,
- CMSG_PET_RENAME = 0x3684,
+ CMSG_PET_RENAME = 0x3683,
CMSG_PET_SET_ACTION = 0x3490,
CMSG_PET_SPELL_AUTOCAST = 0x3495,
CMSG_PET_STOP_ATTACK = 0x3492,
@@ -588,13 +591,13 @@ enum OpcodeClient : uint16
CMSG_PUSH_QUEST_TO_PARTY = 0x34A5,
CMSG_PVP_LOG_DATA = 0x317C,
CMSG_QUERY_BATTLE_PET_NAME = 0x3284,
- CMSG_QUERY_CORPSE_LOCATION_FROM_CLIENT = 0x3660,
- CMSG_QUERY_CORPSE_TRANSPORT = 0x3661,
+ CMSG_QUERY_CORPSE_LOCATION_FROM_CLIENT = 0x365F,
+ CMSG_QUERY_CORPSE_TRANSPORT = 0x3660,
CMSG_QUERY_COUNTDOWN_TIMER = 0x31AA,
CMSG_QUERY_CREATURE = 0x327E,
CMSG_QUERY_GAME_OBJECT = 0x327F,
CMSG_QUERY_GARRISON_PET_NAME = 0x3285,
- CMSG_QUERY_GUILD_INFO = 0x368A,
+ CMSG_QUERY_GUILD_INFO = 0x3689,
CMSG_QUERY_INSPECT_ACHIEVEMENTS = 0x350E,
CMSG_QUERY_NEXT_MAIL_TIME = 0x354B,
CMSG_QUERY_NPC_TEXT = 0x3280,
@@ -606,8 +609,8 @@ enum OpcodeClient : uint16
CMSG_QUERY_PLAYER_NAME_BY_COMMUNITY_ID = 0x376F,
CMSG_QUERY_QUEST_COMPLETION_NPCS = 0x3175,
CMSG_QUERY_QUEST_INFO = 0x3281,
- CMSG_QUERY_REALM_NAME = 0x3689,
- CMSG_QUERY_SCENARIO_POI = 0x3656,
+ CMSG_QUERY_REALM_NAME = 0x3688,
+ CMSG_QUERY_SCENARIO_POI = 0x3655,
CMSG_QUERY_TIME = 0x34E3,
CMSG_QUERY_TREASURE_PICKER = 0x3367,
CMSG_QUERY_VOID_STORAGE = 0x31A3,
@@ -622,60 +625,60 @@ enum OpcodeClient : uint16
CMSG_QUEST_GIVER_STATUS_MULTIPLE_QUERY = 0x34A3,
CMSG_QUEST_GIVER_STATUS_QUERY = 0x34A2,
CMSG_QUEST_LOG_REMOVE_QUEST = 0x3540,
- CMSG_QUEST_POI_QUERY = 0x36AD,
+ CMSG_QUEST_POI_QUERY = 0x36AC,
CMSG_QUEST_PUSH_RESULT = 0x34A6,
- CMSG_QUEST_SESSION_BEGIN_RESPONSE = 0x33D0,
- CMSG_QUEST_SESSION_REQUEST_START = 0x33CF,
- CMSG_QUEST_SESSION_REQUEST_STOP = 0x372A,
+ CMSG_QUEST_SESSION_BEGIN_RESPONSE = 0x33BF,
+ CMSG_QUEST_SESSION_REQUEST_START = 0x33BE,
+ CMSG_QUEST_SESSION_REQUEST_STOP = 0x3729,
CMSG_QUEUED_MESSAGES_END = 0x376C,
- CMSG_QUICK_JOIN_AUTO_ACCEPT_REQUESTS = 0x3703,
- CMSG_QUICK_JOIN_REQUEST_INVITE = 0x3702,
- CMSG_QUICK_JOIN_REQUEST_INVITE_WITH_CONFIRMATION = 0x372F,
- CMSG_QUICK_JOIN_RESPOND_TO_INVITE = 0x3701,
- CMSG_QUICK_JOIN_SIGNAL_TOAST_DISPLAYED = 0x3700,
+ CMSG_QUICK_JOIN_AUTO_ACCEPT_REQUESTS = 0x3702,
+ CMSG_QUICK_JOIN_REQUEST_INVITE = 0x3701,
+ CMSG_QUICK_JOIN_REQUEST_INVITE_WITH_CONFIRMATION = 0x372E,
+ CMSG_QUICK_JOIN_RESPOND_TO_INVITE = 0x3700,
+ CMSG_QUICK_JOIN_SIGNAL_TOAST_DISPLAYED = 0x36FF,
CMSG_RAF_CLAIM_ACTIVITY_REWARD = 0x3512,
- CMSG_RAF_CLAIM_NEXT_REWARD = 0x3720,
- CMSG_RAF_GENERATE_RECRUITMENT_LINK = 0x3722,
- CMSG_RAF_UPDATE_RECRUITMENT_INFO = 0x3721,
- CMSG_RANDOM_ROLL = 0x3654,
+ CMSG_RAF_CLAIM_NEXT_REWARD = 0x371F,
+ CMSG_RAF_GENERATE_RECRUITMENT_LINK = 0x3721,
+ CMSG_RAF_UPDATE_RECRUITMENT_INFO = 0x3720,
+ CMSG_RANDOM_ROLL = 0x3653,
CMSG_READY_CHECK_RESPONSE = 0x3635,
CMSG_READ_ITEM = 0x3344,
CMSG_RECLAIM_CORPSE = 0x34E9,
CMSG_REMOVE_NEW_ITEM = 0x336A,
- CMSG_REMOVE_RAF_RECRUIT = 0x3723,
+ CMSG_REMOVE_RAF_RECRUIT = 0x3722,
CMSG_REORDER_CHARACTERS = 0x35E9,
CMSG_REPAIR_ITEM = 0x34FA,
CMSG_REPLACE_TROPHY = 0x3325,
CMSG_REPOP_REQUEST = 0x3538,
- CMSG_REPORT_CLIENT_VARIABLES = 0x36FD,
- CMSG_REPORT_ENABLED_ADDONS = 0x36FC,
- CMSG_REPORT_KEYBINDING_EXECUTION_COUNTS = 0x36FE,
+ CMSG_REPORT_CLIENT_VARIABLES = 0x36FC,
+ CMSG_REPORT_ENABLED_ADDONS = 0x36FB,
+ CMSG_REPORT_KEYBINDING_EXECUTION_COUNTS = 0x36FD,
CMSG_REPORT_PVP_PLAYER_AFK = 0x3502,
- CMSG_REPORT_SERVER_LAG = 0x33C8,
- CMSG_REPORT_STUCK_IN_COMBAT = 0x33C9,
- CMSG_REQUEST_ACCOUNT_DATA = 0x3694,
+ CMSG_REPORT_SERVER_LAG = 0x33B7,
+ CMSG_REPORT_STUCK_IN_COMBAT = 0x33B8,
+ CMSG_REQUEST_ACCOUNT_DATA = 0x3693,
CMSG_REQUEST_AREA_POI_UPDATE = 0x3369,
CMSG_REQUEST_BATTLEFIELD_STATUS = 0x35DC,
CMSG_REQUEST_CATEGORY_COOLDOWNS = 0x317E,
CMSG_REQUEST_CEMETERY_LIST = 0x3177,
- CMSG_REQUEST_CHARACTER_GUILD_FOLLOW_INFO = 0x368B,
+ CMSG_REQUEST_CHARACTER_GUILD_FOLLOW_INFO = 0x368A,
CMSG_REQUEST_CONQUEST_FORMULA_CONSTANTS = 0x32C8,
- CMSG_REQUEST_COVENANT_CALLINGS = 0x33BA,
+ CMSG_REQUEST_COVENANT_CALLINGS = 0x33A9,
CMSG_REQUEST_CROWD_CONTROL_SPELL = 0x353C,
CMSG_REQUEST_FORCED_REACTIONS = 0x320F,
- CMSG_REQUEST_GARRISON_TALENT_WORLD_QUEST_UNLOCKS = 0x33F4,
+ CMSG_REQUEST_GARRISON_TALENT_WORLD_QUEST_UNLOCKS = 0x33E3,
CMSG_REQUEST_GUILD_PARTY_STATE = 0x31A9,
CMSG_REQUEST_GUILD_REWARDS_LIST = 0x31A8,
- CMSG_REQUEST_LATEST_SPLASH_SCREEN = 0x33CA,
+ CMSG_REQUEST_LATEST_SPLASH_SCREEN = 0x33B9,
CMSG_REQUEST_LFG_LIST_BLACKLIST = 0x32B7,
CMSG_REQUEST_MYTHIC_PLUS_AFFIXES = 0x3209,
CMSG_REQUEST_MYTHIC_PLUS_SEASON_DATA = 0x320A,
CMSG_REQUEST_PARTY_JOIN_UPDATES = 0x35F7,
- CMSG_REQUEST_PARTY_MEMBER_STATS = 0x3653,
+ CMSG_REQUEST_PARTY_MEMBER_STATS = 0x3652,
CMSG_REQUEST_PET_INFO = 0x3496,
CMSG_REQUEST_PLAYED_TIME = 0x3289,
CMSG_REQUEST_PVP_REWARDS = 0x3196,
- CMSG_REQUEST_RAID_INFO = 0x36C7,
+ CMSG_REQUEST_RAID_INFO = 0x36C6,
CMSG_REQUEST_RATED_PVP_INFO = 0x35E3,
CMSG_REQUEST_REALM_GUILD_MASTER_INFO = 0x309B,
CMSG_REQUEST_RESEARCH_HISTORY = 0x3167,
@@ -685,12 +688,12 @@ enum OpcodeClient : uint16
CMSG_REQUEST_VEHICLE_NEXT_SEAT = 0x3243,
CMSG_REQUEST_VEHICLE_PREV_SEAT = 0x3242,
CMSG_REQUEST_VEHICLE_SWITCH_SEAT = 0x3244,
- CMSG_REQUEST_WEEKLY_REWARDS = 0x33BD,
+ CMSG_REQUEST_WEEKLY_REWARDS = 0x33AC,
CMSG_REQUEST_WORLD_QUEST_UPDATE = 0x3368,
CMSG_RESET_CHALLENGE_MODE = 0x3207,
CMSG_RESET_CHALLENGE_MODE_CHEAT = 0x3208,
- CMSG_RESET_INSTANCES = 0x3668,
- CMSG_RESURRECT_RESPONSE = 0x3683,
+ CMSG_RESET_INSTANCES = 0x3667,
+ CMSG_RESURRECT_RESPONSE = 0x3682,
CMSG_REVERT_MONUMENT_APPEARANCE = 0x3327,
CMSG_RIDE_VEHICLE_INTERACT = 0x3245,
CMSG_SAVE_CUF_PROFILES = 0x318C,
@@ -701,41 +704,41 @@ enum OpcodeClient : uint16
CMSG_SCENE_TRIGGER_EVENT = 0x3229,
CMSG_SELF_RES = 0x3543,
CMSG_SELL_ITEM = 0x34A8,
- CMSG_SEND_CHARACTER_CLUB_INVITATION = 0x36F6,
- CMSG_SEND_CONTACT_LIST = 0x36CC,
+ CMSG_SEND_CHARACTER_CLUB_INVITATION = 0x36F5,
+ CMSG_SEND_CONTACT_LIST = 0x36CB,
CMSG_SEND_MAIL = 0x35FA,
CMSG_SEND_TEXT_EMOTE = 0x348E,
- CMSG_SERVER_TIME_OFFSET_REQUEST = 0x369A,
+ CMSG_SERVER_TIME_OFFSET_REQUEST = 0x3699,
CMSG_SET_ACHIEVEMENTS_HIDDEN = 0x322E,
CMSG_SET_ACTION_BAR_TOGGLES = 0x3544,
CMSG_SET_ACTION_BUTTON = 0x3636,
CMSG_SET_ACTIVE_MOVER = 0x3A3D,
CMSG_SET_ADVANCED_COMBAT_LOGGING = 0x32C9,
- CMSG_SET_ASSISTANT_LEADER = 0x364F,
+ CMSG_SET_ASSISTANT_LEADER = 0x364E,
CMSG_SET_BACKPACK_AUTOSORT_DISABLED = 0x3347,
CMSG_SET_BANK_AUTOSORT_DISABLED = 0x3348,
CMSG_SET_CHAT_DISABLED = 0x3735,
- CMSG_SET_CONTACT_NOTES = 0x36CF,
+ CMSG_SET_CONTACT_NOTES = 0x36CE,
CMSG_SET_CURRENCY_FLAGS = 0x3169,
CMSG_SET_DIFFICULTY_ID = 0x322A,
- CMSG_SET_DUNGEON_DIFFICULTY = 0x3682,
+ CMSG_SET_DUNGEON_DIFFICULTY = 0x3681,
CMSG_SET_EVERYONE_IS_ASSISTANT = 0x3618,
CMSG_SET_FACTION_AT_WAR = 0x34EC,
CMSG_SET_FACTION_INACTIVE = 0x34EE,
CMSG_SET_FACTION_NOT_AT_WAR = 0x34ED,
CMSG_SET_GAME_EVENT_DEBUG_VIEW_STATE = 0x31BA,
CMSG_SET_INSERT_ITEMS_LEFT_TO_RIGHT = 0x334A,
- CMSG_SET_LOOT_METHOD = 0x3648,
+ CMSG_SET_LOOT_METHOD = 0x3647,
CMSG_SET_LOOT_SPECIALIZATION = 0x3551,
- CMSG_SET_PARTY_ASSIGNMENT = 0x3651,
- CMSG_SET_PARTY_LEADER = 0x364A,
+ CMSG_SET_PARTY_ASSIGNMENT = 0x3650,
+ CMSG_SET_PARTY_LEADER = 0x3649,
CMSG_SET_PET_SLOT = 0x3168,
- CMSG_SET_PLAYER_DECLINED_NAMES = 0x3688,
+ CMSG_SET_PLAYER_DECLINED_NAMES = 0x3687,
CMSG_SET_PREFERRED_CEMETERY = 0x3178,
CMSG_SET_PVP = 0x32BF,
- CMSG_SET_RAID_DIFFICULTY = 0x36D8,
+ CMSG_SET_RAID_DIFFICULTY = 0x36D7,
CMSG_SET_ROLE = 0x35D9,
- CMSG_SET_SAVED_INSTANCE_EXTEND = 0x3686,
+ CMSG_SET_SAVED_INSTANCE_EXTEND = 0x3685,
CMSG_SET_SELECTION = 0x353A,
CMSG_SET_SHEATHED = 0x348F,
CMSG_SET_SORT_BAGS_RIGHT_TO_LEFT = 0x3349,
@@ -747,9 +750,10 @@ enum OpcodeClient : uint16
CMSG_SET_USING_PARTY_GARRISON = 0x3309,
CMSG_SET_WAR_MODE = 0x32C0,
CMSG_SET_WATCHED_FACTION = 0x34EF,
- CMSG_SHOW_TRADE_SKILL = 0x36BF,
+ CMSG_SHOW_TRADE_SKILL = 0x36BE,
CMSG_SIGN_PETITION = 0x3545,
- CMSG_SILENCE_PARTY_TALKER = 0x3652,
+ CMSG_SILENCE_PARTY_TALKER = 0x3651,
+ CMSG_SOCIAL_CONTRACT_REQUEST = 0x373A,
CMSG_SOCKET_GEMS = 0x34F9,
CMSG_SORT_BAGS = 0x334B,
CMSG_SORT_BANK_BAGS = 0x334C,
@@ -765,10 +769,10 @@ enum OpcodeClient : uint16
CMSG_START_SPECTATOR_WAR_GAME = 0x35DF,
CMSG_START_WAR_GAME = 0x35DE,
CMSG_STORE_GUILD_BANK_ITEM = 0x34BE,
- CMSG_SUBMIT_USER_FEEDBACK = 0x3693,
- CMSG_SUBSCRIPTION_INTERSTITIAL_RESPONSE = 0x33E9,
- CMSG_SUMMON_RESPONSE = 0x366A,
- CMSG_SUPPORT_TICKET_SUBMIT_COMPLAINT = 0x3646,
+ CMSG_SUBMIT_USER_FEEDBACK = 0x3692,
+ CMSG_SUBSCRIPTION_INTERSTITIAL_RESPONSE = 0x33D8,
+ CMSG_SUMMON_RESPONSE = 0x3669,
+ CMSG_SUPPORT_TICKET_SUBMIT_COMPLAINT = 0x3645,
CMSG_SURRENDER_ARENA = 0x3174,
CMSG_SUSPEND_COMMS_ACK = 0x3764,
CMSG_SUSPEND_TOKEN_RESPONSE = 0x376A,
@@ -776,7 +780,7 @@ enum OpcodeClient : uint16
CMSG_SWAP_INV_ITEM = 0x399D,
CMSG_SWAP_ITEM = 0x399C,
CMSG_SWAP_ITEM_WITH_GUILD_BANK_ITEM = 0x34BF,
- CMSG_SWAP_SUB_GROUPS = 0x364D,
+ CMSG_SWAP_SUB_GROUPS = 0x364C,
CMSG_SWAP_VOID_ITEM = 0x31A5,
CMSG_TABARD_VENDOR_ACTIVATE = 0x32BC,
CMSG_TALK_TO_GOSSIP = 0x3498,
@@ -787,7 +791,7 @@ enum OpcodeClient : uint16
CMSG_TIME_SYNC_RESPONSE = 0x3A3E,
CMSG_TIME_SYNC_RESPONSE_DROPPED = 0x3A40,
CMSG_TIME_SYNC_RESPONSE_FAILED = 0x3A3F,
- CMSG_TOGGLE_DIFFICULTY = 0x3657,
+ CMSG_TOGGLE_DIFFICULTY = 0x3656,
CMSG_TOGGLE_PVP = 0x32BE,
CMSG_TOTEM_DESTROYED = 0x3506,
CMSG_TOY_CLEAR_FANFARE = 0x312E,
@@ -796,41 +800,41 @@ enum OpcodeClient : uint16
CMSG_TRAINER_LIST = 0x34B3,
CMSG_TRANSMOGRIFY_ITEMS = 0x3198,
CMSG_TURN_IN_PETITION = 0x3547,
- CMSG_TUTORIAL = 0x36D9,
+ CMSG_TUTORIAL = 0x36D8,
CMSG_TWITTER_CHECK_STATUS = 0x312A,
CMSG_TWITTER_CONNECT = 0x3127,
CMSG_TWITTER_DISCONNECT = 0x312B,
- CMSG_UI_MAP_QUEST_LINES_REQUEST = 0x33B9,
+ CMSG_UI_MAP_QUEST_LINES_REQUEST = 0x33A8,
CMSG_UNACCEPT_TRADE = 0x315B,
- CMSG_UNDELETE_CHARACTER = 0x36DB,
+ CMSG_UNDELETE_CHARACTER = 0x36DA,
CMSG_UNLEARN_SKILL = 0x34F3,
CMSG_UNLEARN_SPECIALIZATION = 0x31A6,
CMSG_UNLOCK_VOID_STORAGE = 0x31A2,
- CMSG_UPDATE_ACCOUNT_DATA = 0x3695,
+ CMSG_UPDATE_ACCOUNT_DATA = 0x3694,
CMSG_UPDATE_AREA_TRIGGER_VISUAL = 0x32AE,
- CMSG_UPDATE_CLIENT_SETTINGS = 0x3664,
+ CMSG_UPDATE_CLIENT_SETTINGS = 0x3663,
CMSG_UPDATE_MISSILE_TRAJECTORY = 0x3A44,
- CMSG_UPDATE_RAID_TARGET = 0x3650,
+ CMSG_UPDATE_RAID_TARGET = 0x364F,
CMSG_UPDATE_SPELL_VISUAL = 0x32AD,
- CMSG_UPDATE_VAS_PURCHASE_STATES = 0x36F0,
+ CMSG_UPDATE_VAS_PURCHASE_STATES = 0x36EF,
CMSG_UPGRADE_GARRISON = 0x32D1,
- CMSG_UPGRADE_RUNEFORGE_LEGENDARY = 0x33E7,
+ CMSG_UPGRADE_RUNEFORGE_LEGENDARY = 0x33D6,
CMSG_USED_FOLLOW = 0x3187,
CMSG_USE_CRITTER_ITEM = 0x324B,
CMSG_USE_EQUIPMENT_SET = 0x3995,
CMSG_USE_ITEM = 0x32A7,
CMSG_USE_TOY = 0x32AA,
- CMSG_VAS_CHECK_TRANSFER_OK = 0x3708,
- CMSG_VAS_GET_QUEUE_MINUTES = 0x3707,
- CMSG_VAS_GET_SERVICE_STATUS = 0x3706,
+ CMSG_VAS_CHECK_TRANSFER_OK = 0x3707,
+ CMSG_VAS_GET_QUEUE_MINUTES = 0x3706,
+ CMSG_VAS_GET_SERVICE_STATUS = 0x3705,
CMSG_VIOLENCE_LEVEL = 0x3185,
- CMSG_VOICE_CHANNEL_STT_TOKEN_REQUEST = 0x370C,
- CMSG_VOICE_CHAT_JOIN_CHANNEL = 0x370D,
- CMSG_VOICE_CHAT_LOGIN = 0x370B,
+ CMSG_VOICE_CHANNEL_STT_TOKEN_REQUEST = 0x370B,
+ CMSG_VOICE_CHAT_JOIN_CHANNEL = 0x370C,
+ CMSG_VOICE_CHAT_LOGIN = 0x370A,
CMSG_VOID_STORAGE_TRANSFER = 0x31A4,
CMSG_WARDEN3_DATA = 0x35EC,
- CMSG_WHO = 0x3681,
- CMSG_WHO_IS = 0x3680,
+ CMSG_WHO = 0x3680,
+ CMSG_WHO_IS = 0x367F,
CMSG_WORLD_PORT_RESPONSE = 0x35F9,
CMSG_WRAP_ITEM = 0x3994,
@@ -842,85 +846,85 @@ enum OpcodeClient : uint16
enum OpcodeServer : uint16
{
SMSG_ABORT_NEW_WORLD = 0x259A,
- SMSG_ACCOUNT_COSMETIC_ADDED = 0x2885,
- SMSG_ACCOUNT_CRITERIA_UPDATE = 0x286B,
- SMSG_ACCOUNT_DATA_TIMES = 0x26FD,
+ SMSG_ACCOUNT_COSMETIC_ADDED = 0x2872,
+ SMSG_ACCOUNT_CRITERIA_UPDATE = 0x2858,
+ SMSG_ACCOUNT_DATA_TIMES = 0x26FE,
SMSG_ACCOUNT_MOUNT_UPDATE = 0x25AC,
- SMSG_ACCOUNT_NOTIFICATIONS_RESPONSE = 0x2884,
+ SMSG_ACCOUNT_NOTIFICATIONS_RESPONSE = 0x2871,
SMSG_ACCOUNT_TOY_UPDATE = 0x25AD,
SMSG_ACCOUNT_TRANSMOG_SET_FAVORITES_UPDATE = 0x25B0,
SMSG_ACCOUNT_TRANSMOG_UPDATE = 0x25AF,
- SMSG_ACHIEVEMENT_DELETED = 0x26DC,
- SMSG_ACHIEVEMENT_EARNED = 0x263A,
+ SMSG_ACHIEVEMENT_DELETED = 0x26DD,
+ SMSG_ACHIEVEMENT_EARNED = 0x263B,
SMSG_ACTIVATE_ESSENCE_FAILED = 0x3015,
SMSG_ACTIVATE_SOULBIND_FAILED = 0x3017,
- SMSG_ACTIVATE_TAXI_REPLY = 0x2674,
+ SMSG_ACTIVATE_TAXI_REPLY = 0x2675,
SMSG_ACTIVE_GLYPHS = 0x2C54,
- SMSG_ADDON_LIST_REQUEST = 0x2639,
- SMSG_ADD_BATTLENET_FRIEND_RESPONSE = 0x2634,
+ SMSG_ADDON_LIST_REQUEST = 0x263A,
+ SMSG_ADD_BATTLENET_FRIEND_RESPONSE = 0x2635,
SMSG_ADD_ITEM_PASSIVE = 0x25A8,
- SMSG_ADD_LOSS_OF_CONTROL = 0x2668,
- SMSG_ADD_RUNE_POWER = 0x26AE,
+ SMSG_ADD_LOSS_OF_CONTROL = 0x2669,
+ SMSG_ADD_RUNE_POWER = 0x26AF,
SMSG_ADJUST_SPLINE_DURATION = 0x25CC,
- SMSG_ADVANCED_COMBAT_LOG = 0x2881,
- SMSG_ADVENTURE_JOURNAL_DATA_RESPONSE = 0x287B,
- SMSG_ADVENTURE_MAP_OPEN_NPC = 0x27E4,
- SMSG_AE_LOOT_TARGETS = 0x260F,
- SMSG_AE_LOOT_TARGET_ACK = 0x2610,
- SMSG_AI_REACTION = 0x26AB,
- SMSG_ALLIED_RACE_DETAILS = 0x27EA,
+ SMSG_ADVANCED_COMBAT_LOG = 0x286E,
+ SMSG_ADVENTURE_JOURNAL_DATA_RESPONSE = 0x2868,
+ SMSG_ADVENTURE_MAP_OPEN_NPC = 0x27E5,
+ SMSG_AE_LOOT_TARGETS = 0x2610,
+ SMSG_AE_LOOT_TARGET_ACK = 0x2611,
+ SMSG_AI_REACTION = 0x26AC,
+ SMSG_ALLIED_RACE_DETAILS = 0x27EB,
SMSG_ALL_ACCOUNT_CRITERIA = 0x2571,
SMSG_ALL_ACHIEVEMENT_DATA = 0x2570,
SMSG_ALL_GUILD_ACHIEVEMENTS = 0x29B8,
- SMSG_APPLY_MOUNT_EQUIPMENT_RESULT = 0x2858,
+ SMSG_APPLY_MOUNT_EQUIPMENT_RESULT = 0x2845,
SMSG_ARCHAEOLOGY_SURVERY_CAST = 0x2588,
SMSG_AREA_POI_UPDATE_RESPONSE = 0x3010,
- SMSG_AREA_SPIRIT_HEALER_TIME = 0x2732,
+ SMSG_AREA_SPIRIT_HEALER_TIME = 0x2733,
SMSG_AREA_TRIGGER_DENIED = 0x2902,
SMSG_AREA_TRIGGER_FORCE_SET_POSITION_AND_FACING = 0x28FF,
- SMSG_AREA_TRIGGER_NO_CORPSE = 0x2709,
+ SMSG_AREA_TRIGGER_NO_CORPSE = 0x270A,
SMSG_AREA_TRIGGER_PLAY_SPELL_VISUAL = 0x28FE,
SMSG_AREA_TRIGGER_RE_PATH = 0x28FD,
SMSG_AREA_TRIGGER_RE_SHAPE = 0x2901,
SMSG_AREA_TRIGGER_UNATTACH = 0x2900,
- SMSG_ARENA_CLEAR_OPPONENTS = 0x2640,
- SMSG_ARENA_CROWD_CONTROL_SPELL_RESULT = 0x2629,
- SMSG_ARENA_PREP_OPPONENT_SPECIALIZATIONS = 0x263F,
- SMSG_ARTIFACT_ENDGAME_POWERS_REFUNDED = 0x2795,
- SMSG_ARTIFACT_FORGE_ERROR = 0x2793,
- SMSG_ARTIFACT_RESPEC_PROMPT = 0x2794,
- SMSG_ARTIFACT_XP_GAIN = 0x27DD,
+ SMSG_ARENA_CLEAR_OPPONENTS = 0x2641,
+ SMSG_ARENA_CROWD_CONTROL_SPELL_RESULT = 0x262A,
+ SMSG_ARENA_PREP_OPPONENT_SPECIALIZATIONS = 0x2640,
+ SMSG_ARTIFACT_ENDGAME_POWERS_REFUNDED = 0x2796,
+ SMSG_ARTIFACT_FORGE_ERROR = 0x2794,
+ SMSG_ARTIFACT_RESPEC_PROMPT = 0x2795,
+ SMSG_ARTIFACT_XP_GAIN = 0x27DE,
SMSG_ATTACKER_STATE_UPDATE = 0x294D,
SMSG_ATTACK_START = 0x2938,
SMSG_ATTACK_STOP = 0x2939,
SMSG_ATTACK_SWING_ERROR = 0x2947,
SMSG_ATTACK_SWING_LANDED_LOG = 0x2948,
- SMSG_AUCTIONABLE_TOKEN_AUCTION_SOLD = 0x27C6,
- SMSG_AUCTIONABLE_TOKEN_SELL_AT_MARKET_PRICE_RESPONSE = 0x27C5,
- SMSG_AUCTIONABLE_TOKEN_SELL_CONFIRM_REQUIRED = 0x27C4,
- SMSG_AUCTION_CLOSED_NOTIFICATION = 0x26E6,
- SMSG_AUCTION_COMMAND_RESULT = 0x26E3,
- SMSG_AUCTION_FAVORITE_LIST = 0x2872,
- SMSG_AUCTION_GET_COMMODITY_QUOTE_RESULT = 0x2869,
- SMSG_AUCTION_HELLO_RESPONSE = 0x26E1,
- SMSG_AUCTION_LIST_BIDDED_ITEMS_RESULT = 0x2868,
- SMSG_AUCTION_LIST_BUCKETS_RESULT = 0x2865,
- SMSG_AUCTION_LIST_ITEMS_RESULT = 0x2866,
- SMSG_AUCTION_LIST_OWNED_ITEMS_RESULT = 0x2867,
- SMSG_AUCTION_OUTBID_NOTIFICATION = 0x26E5,
- SMSG_AUCTION_OWNER_BID_NOTIFICATION = 0x26E7,
- SMSG_AUCTION_REPLICATE_RESPONSE = 0x26E2,
- SMSG_AUCTION_WON_NOTIFICATION = 0x26E4,
+ SMSG_AUCTIONABLE_TOKEN_AUCTION_SOLD = 0x27C7,
+ SMSG_AUCTIONABLE_TOKEN_SELL_AT_MARKET_PRICE_RESPONSE = 0x27C6,
+ SMSG_AUCTIONABLE_TOKEN_SELL_CONFIRM_REQUIRED = 0x27C5,
+ SMSG_AUCTION_CLOSED_NOTIFICATION = 0x26E7,
+ SMSG_AUCTION_COMMAND_RESULT = 0x26E4,
+ SMSG_AUCTION_FAVORITE_LIST = 0x285F,
+ SMSG_AUCTION_GET_COMMODITY_QUOTE_RESULT = 0x2856,
+ SMSG_AUCTION_HELLO_RESPONSE = 0x26E2,
+ SMSG_AUCTION_LIST_BIDDED_ITEMS_RESULT = 0x2855,
+ SMSG_AUCTION_LIST_BUCKETS_RESULT = 0x2852,
+ SMSG_AUCTION_LIST_ITEMS_RESULT = 0x2853,
+ SMSG_AUCTION_LIST_OWNED_ITEMS_RESULT = 0x2854,
+ SMSG_AUCTION_OUTBID_NOTIFICATION = 0x26E6,
+ SMSG_AUCTION_OWNER_BID_NOTIFICATION = 0x26E8,
+ SMSG_AUCTION_REPLICATE_RESPONSE = 0x26E3,
+ SMSG_AUCTION_WON_NOTIFICATION = 0x26E5,
SMSG_AURA_POINTS_DEPLETED = 0x2C23,
SMSG_AURA_UPDATE = 0x2C22,
SMSG_AUTH_CHALLENGE = 0x3048,
SMSG_AUTH_FAILED = 0x256C,
SMSG_AUTH_RESPONSE = 0x256D,
SMSG_AVAILABLE_HOTFIXES = 0x290F,
- SMSG_AZERITE_RESPEC_NPC = 0x27E7,
+ SMSG_AZERITE_RESPEC_NPC = 0x27E8,
SMSG_BAG_CLEANUP_FINISHED = 0x2DA7,
- SMSG_BARBER_SHOP_RESULT = 0x26B3,
- SMSG_BATCH_PRESENCE_SUBSCRIPTION = 0x2849,
+ SMSG_BARBER_SHOP_RESULT = 0x26B4,
+ SMSG_BATCH_PRESENCE_SUBSCRIPTION = 0x2836,
SMSG_BATTLEFIELD_LIST = 0x2927,
SMSG_BATTLEFIELD_PORT_DENIED = 0x292D,
SMSG_BATTLEFIELD_STATUS_ACTIVE = 0x2923,
@@ -936,33 +940,33 @@ enum OpcodeServer : uint16
SMSG_BATTLEGROUND_PLAYER_LEFT = 0x292C,
SMSG_BATTLEGROUND_PLAYER_POSITIONS = 0x2928,
SMSG_BATTLEGROUND_POINTS = 0x2949,
- SMSG_BATTLENET_CHALLENGE_ABORT = 0x277C,
- SMSG_BATTLENET_CHALLENGE_START = 0x277B,
- SMSG_BATTLENET_NOTIFICATION = 0x27F5,
- SMSG_BATTLENET_RESPONSE = 0x27F4,
- SMSG_BATTLE_NET_CONNECTION_STATUS = 0x27F6,
- SMSG_BATTLE_PAY_ACK_FAILED = 0x2776,
- SMSG_BATTLE_PAY_BATTLE_PET_DELIVERED = 0x276B,
- SMSG_BATTLE_PAY_COLLECTION_ITEM_DELIVERED = 0x276C,
- SMSG_BATTLE_PAY_CONFIRM_PURCHASE = 0x2775,
- SMSG_BATTLE_PAY_DELIVERY_ENDED = 0x2769,
- SMSG_BATTLE_PAY_DELIVERY_STARTED = 0x2768,
- SMSG_BATTLE_PAY_DISTRIBUTION_ASSIGN_VAS_RESPONSE = 0x288A,
- SMSG_BATTLE_PAY_DISTRIBUTION_UNREVOKED = 0x2766,
- SMSG_BATTLE_PAY_DISTRIBUTION_UPDATE = 0x2767,
- SMSG_BATTLE_PAY_GET_DISTRIBUTION_LIST_RESPONSE = 0x2765,
- SMSG_BATTLE_PAY_GET_PRODUCT_LIST_RESPONSE = 0x2763,
- SMSG_BATTLE_PAY_GET_PURCHASE_LIST_RESPONSE = 0x2764,
- SMSG_BATTLE_PAY_MOUNT_DELIVERED = 0x276A,
- SMSG_BATTLE_PAY_PURCHASE_UPDATE = 0x2774,
- SMSG_BATTLE_PAY_START_CHECKOUT = 0x2811,
- SMSG_BATTLE_PAY_START_DISTRIBUTION_ASSIGN_TO_TARGET_RESPONSE = 0x2772,
- SMSG_BATTLE_PAY_START_PURCHASE_RESPONSE = 0x2771,
- SMSG_BATTLE_PAY_VALIDATE_PURCHASE_RESPONSE = 0x2805,
+ SMSG_BATTLENET_CHALLENGE_ABORT = 0x277D,
+ SMSG_BATTLENET_CHALLENGE_START = 0x277C,
+ SMSG_BATTLENET_NOTIFICATION = 0x27F6,
+ SMSG_BATTLENET_RESPONSE = 0x27F5,
+ SMSG_BATTLE_NET_CONNECTION_STATUS = 0x27F7,
+ SMSG_BATTLE_PAY_ACK_FAILED = 0x2777,
+ SMSG_BATTLE_PAY_BATTLE_PET_DELIVERED = 0x276C,
+ SMSG_BATTLE_PAY_COLLECTION_ITEM_DELIVERED = 0x276D,
+ SMSG_BATTLE_PAY_CONFIRM_PURCHASE = 0x2776,
+ SMSG_BATTLE_PAY_DELIVERY_ENDED = 0x276A,
+ SMSG_BATTLE_PAY_DELIVERY_STARTED = 0x2769,
+ SMSG_BATTLE_PAY_DISTRIBUTION_ASSIGN_VAS_RESPONSE = 0x2877,
+ SMSG_BATTLE_PAY_DISTRIBUTION_UNREVOKED = 0x2767,
+ SMSG_BATTLE_PAY_DISTRIBUTION_UPDATE = 0x2768,
+ SMSG_BATTLE_PAY_GET_DISTRIBUTION_LIST_RESPONSE = 0x2766,
+ SMSG_BATTLE_PAY_GET_PRODUCT_LIST_RESPONSE = 0x2764,
+ SMSG_BATTLE_PAY_GET_PURCHASE_LIST_RESPONSE = 0x2765,
+ SMSG_BATTLE_PAY_MOUNT_DELIVERED = 0x276B,
+ SMSG_BATTLE_PAY_PURCHASE_UPDATE = 0x2775,
+ SMSG_BATTLE_PAY_START_CHECKOUT = 0x2812,
+ SMSG_BATTLE_PAY_START_DISTRIBUTION_ASSIGN_TO_TARGET_RESPONSE = 0x2773,
+ SMSG_BATTLE_PAY_START_PURCHASE_RESPONSE = 0x2772,
+ SMSG_BATTLE_PAY_VALIDATE_PURCHASE_RESPONSE = 0x2806,
SMSG_BATTLE_PETS_HEALED = 0x25EC,
- SMSG_BATTLE_PET_CAGE_DATE_ERROR = 0x266F,
+ SMSG_BATTLE_PET_CAGE_DATE_ERROR = 0x2670,
SMSG_BATTLE_PET_DELETED = 0x25E9,
- SMSG_BATTLE_PET_ERROR = 0x262F,
+ SMSG_BATTLE_PET_ERROR = 0x2630,
SMSG_BATTLE_PET_JOURNAL = 0x25E8,
SMSG_BATTLE_PET_JOURNAL_LOCK_ACQUIRED = 0x25E6,
SMSG_BATTLE_PET_JOURNAL_LOCK_DENIED = 0x25E7,
@@ -971,78 +975,78 @@ enum OpcodeServer : uint16
SMSG_BATTLE_PET_REVOKED = 0x25EA,
SMSG_BATTLE_PET_TRAP_LEVEL = 0x25E4,
SMSG_BATTLE_PET_UPDATES = 0x25E3,
- SMSG_BINDER_CONFIRM = 0x26F0,
+ SMSG_BINDER_CONFIRM = 0x26F1,
SMSG_BIND_POINT_UPDATE = 0x257D,
- SMSG_BLACK_MARKET_BID_ON_ITEM_RESULT = 0x261F,
- SMSG_BLACK_MARKET_OPEN_RESULT = 0x261D,
- SMSG_BLACK_MARKET_OUTBID = 0x2620,
- SMSG_BLACK_MARKET_REQUEST_ITEMS_RESULT = 0x261E,
- SMSG_BLACK_MARKET_WON = 0x2621,
- SMSG_BONUS_ROLL_EMPTY = 0x263C,
+ SMSG_BLACK_MARKET_BID_ON_ITEM_RESULT = 0x2620,
+ SMSG_BLACK_MARKET_OPEN_RESULT = 0x261E,
+ SMSG_BLACK_MARKET_OUTBID = 0x2621,
+ SMSG_BLACK_MARKET_REQUEST_ITEMS_RESULT = 0x261F,
+ SMSG_BLACK_MARKET_WON = 0x2622,
+ SMSG_BONUS_ROLL_EMPTY = 0x263D,
SMSG_BOSS_KILL = 0x294C,
SMSG_BREAK_TARGET = 0x2937,
SMSG_BROADCAST_ACHIEVEMENT = 0x2BBC,
- SMSG_BROADCAST_SUMMON_CAST = 0x284B,
- SMSG_BROADCAST_SUMMON_RESPONSE = 0x284C,
- SMSG_BUY_FAILED = 0x26BC,
- SMSG_BUY_SUCCEEDED = 0x26BB,
+ SMSG_BROADCAST_SUMMON_CAST = 0x2838,
+ SMSG_BROADCAST_SUMMON_RESPONSE = 0x2839,
+ SMSG_BUY_FAILED = 0x26BD,
+ SMSG_BUY_SUCCEEDED = 0x26BC,
SMSG_CACHE_INFO = 0x291D,
SMSG_CACHE_VERSION = 0x291C,
- SMSG_CALENDAR_CLEAR_PENDING_ACTION = 0x2694,
- SMSG_CALENDAR_COMMAND_RESULT = 0x2695,
- SMSG_CALENDAR_COMMUNITY_INVITE = 0x2684,
- SMSG_CALENDAR_EVENT_REMOVED_ALERT = 0x268C,
- SMSG_CALENDAR_EVENT_UPDATED_ALERT = 0x268D,
- SMSG_CALENDAR_INVITE_ADDED = 0x2685,
- SMSG_CALENDAR_INVITE_ALERT = 0x2689,
- SMSG_CALENDAR_INVITE_NOTES = 0x268E,
- SMSG_CALENDAR_INVITE_NOTES_ALERT = 0x268F,
- SMSG_CALENDAR_INVITE_REMOVED = 0x2686,
- SMSG_CALENDAR_INVITE_REMOVED_ALERT = 0x268B,
- SMSG_CALENDAR_INVITE_STATUS = 0x2687,
- SMSG_CALENDAR_INVITE_STATUS_ALERT = 0x268A,
- SMSG_CALENDAR_MODERATOR_STATUS = 0x2688,
- SMSG_CALENDAR_RAID_LOCKOUT_ADDED = 0x2690,
- SMSG_CALENDAR_RAID_LOCKOUT_REMOVED = 0x2691,
- SMSG_CALENDAR_RAID_LOCKOUT_UPDATED = 0x2692,
- SMSG_CALENDAR_SEND_CALENDAR = 0x2682,
- SMSG_CALENDAR_SEND_EVENT = 0x2683,
- SMSG_CALENDAR_SEND_NUM_PENDING = 0x2693,
- SMSG_CAMERA_EFFECT = 0x2718,
- SMSG_CANCEL_AUTO_REPEAT = 0x26D2,
+ SMSG_CALENDAR_CLEAR_PENDING_ACTION = 0x2695,
+ SMSG_CALENDAR_COMMAND_RESULT = 0x2696,
+ SMSG_CALENDAR_COMMUNITY_INVITE = 0x2685,
+ SMSG_CALENDAR_EVENT_REMOVED_ALERT = 0x268D,
+ SMSG_CALENDAR_EVENT_UPDATED_ALERT = 0x268E,
+ SMSG_CALENDAR_INVITE_ADDED = 0x2686,
+ SMSG_CALENDAR_INVITE_ALERT = 0x268A,
+ SMSG_CALENDAR_INVITE_NOTES = 0x268F,
+ SMSG_CALENDAR_INVITE_NOTES_ALERT = 0x2690,
+ SMSG_CALENDAR_INVITE_REMOVED = 0x2687,
+ SMSG_CALENDAR_INVITE_REMOVED_ALERT = 0x268C,
+ SMSG_CALENDAR_INVITE_STATUS = 0x2688,
+ SMSG_CALENDAR_INVITE_STATUS_ALERT = 0x268B,
+ SMSG_CALENDAR_MODERATOR_STATUS = 0x2689,
+ SMSG_CALENDAR_RAID_LOCKOUT_ADDED = 0x2691,
+ SMSG_CALENDAR_RAID_LOCKOUT_REMOVED = 0x2692,
+ SMSG_CALENDAR_RAID_LOCKOUT_UPDATED = 0x2693,
+ SMSG_CALENDAR_SEND_CALENDAR = 0x2683,
+ SMSG_CALENDAR_SEND_EVENT = 0x2684,
+ SMSG_CALENDAR_SEND_NUM_PENDING = 0x2694,
+ SMSG_CAMERA_EFFECT = 0x2719,
+ SMSG_CANCEL_AUTO_REPEAT = 0x26D3,
SMSG_CANCEL_COMBAT = 0x2946,
SMSG_CANCEL_ORPHAN_SPELL_VISUAL = 0x2C46,
- SMSG_CANCEL_SCENE = 0x262E,
+ SMSG_CANCEL_SCENE = 0x262F,
SMSG_CANCEL_SPELL_VISUAL = 0x2C44,
SMSG_CANCEL_SPELL_VISUAL_KIT = 0x2C48,
SMSG_CAN_DUEL_RESULT = 0x2942,
- SMSG_CAN_REDEEM_TOKEN_FOR_BALANCE_RESPONSE = 0x2804,
+ SMSG_CAN_REDEEM_TOKEN_FOR_BALANCE_RESPONSE = 0x2805,
SMSG_CAPTURE_POINT_REMOVED = 0x292A,
SMSG_CAST_FAILED = 0x2C57,
SMSG_CATEGORY_COOLDOWN = 0x2C16,
SMSG_CHAIN_MISSILE_BOUNCE = 0x25C4,
- SMSG_CHALLENGE_MODE_COMPLETE = 0x2603,
- SMSG_CHALLENGE_MODE_REQUEST_LEADERS_RESULT = 0x2607,
- SMSG_CHALLENGE_MODE_RESET = 0x2602,
- SMSG_CHALLENGE_MODE_START = 0x2600,
- SMSG_CHALLENGE_MODE_UPDATE_DEATH_COUNT = 0x2601,
+ SMSG_CHALLENGE_MODE_COMPLETE = 0x2604,
+ SMSG_CHALLENGE_MODE_REQUEST_LEADERS_RESULT = 0x2608,
+ SMSG_CHALLENGE_MODE_RESET = 0x2603,
+ SMSG_CHALLENGE_MODE_START = 0x2601,
+ SMSG_CHALLENGE_MODE_UPDATE_DEATH_COUNT = 0x2602,
SMSG_CHANGE_PLAYER_DIFFICULTY_RESULT = 0x3004,
- SMSG_CHANGE_REALM_TICKET_RESPONSE = 0x27F7,
+ SMSG_CHANGE_REALM_TICKET_RESPONSE = 0x27F8,
SMSG_CHANNEL_LIST = 0x2BC3,
SMSG_CHANNEL_NOTIFY = 0x2BC0,
SMSG_CHANNEL_NOTIFY_JOINED = 0x2BC1,
SMSG_CHANNEL_NOTIFY_LEFT = 0x2BC2,
- SMSG_CHARACTER_CHECK_UPGRADE_RESULT = 0x27AF,
- SMSG_CHARACTER_LOGIN_FAILED = 0x26F8,
- SMSG_CHARACTER_OBJECT_TEST_RESPONSE = 0x277A,
- SMSG_CHARACTER_RENAME_RESULT = 0x2755,
- SMSG_CHARACTER_UPGRADE_ABORTED = 0x27AE,
- SMSG_CHARACTER_UPGRADE_COMPLETE = 0x27AD,
- SMSG_CHARACTER_UPGRADE_MANUAL_UNREVOKE_RESULT = 0x27B0,
- SMSG_CHARACTER_UPGRADE_STARTED = 0x27AC,
- SMSG_CHAR_CUSTOMIZE_FAILURE = 0x26D6,
- SMSG_CHAR_CUSTOMIZE_SUCCESS = 0x26D7,
- SMSG_CHAR_FACTION_CHANGE_RESULT = 0x2799,
+ SMSG_CHARACTER_CHECK_UPGRADE_RESULT = 0x27B0,
+ SMSG_CHARACTER_LOGIN_FAILED = 0x26F9,
+ SMSG_CHARACTER_OBJECT_TEST_RESPONSE = 0x277B,
+ SMSG_CHARACTER_RENAME_RESULT = 0x2756,
+ SMSG_CHARACTER_UPGRADE_ABORTED = 0x27AF,
+ SMSG_CHARACTER_UPGRADE_COMPLETE = 0x27AE,
+ SMSG_CHARACTER_UPGRADE_MANUAL_UNREVOKE_RESULT = 0x27B1,
+ SMSG_CHARACTER_UPGRADE_STARTED = 0x27AD,
+ SMSG_CHAR_CUSTOMIZE_FAILURE = 0x26D7,
+ SMSG_CHAR_CUSTOMIZE_SUCCESS = 0x26D8,
+ SMSG_CHAR_FACTION_CHANGE_RESULT = 0x279A,
SMSG_CHAT = 0x2BAD,
SMSG_CHAT_AUTO_RESPONDED = 0x2BB8,
SMSG_CHAT_DOWN = 0x2BBD,
@@ -1059,86 +1063,87 @@ enum OpcodeServer : uint16
SMSG_CHECK_ABANDON_NPE = 0x3018,
SMSG_CHECK_CHARACTER_NAME_AVAILABILITY_RESULT = 0x2584,
SMSG_CHECK_WARGAME_ENTRY = 0x2592,
- SMSG_CHROMIE_TIME_OPEN_NPC = 0x27EC,
- SMSG_CHROMIE_TIME_SELECT_EXPANSION_SUCCESS = 0x2875,
- SMSG_CLAIM_RAF_REWARD_RESPONSE = 0x285C,
+ SMSG_CHROMIE_TIME_OPEN_NPC = 0x27ED,
+ SMSG_CHROMIE_TIME_SELECT_EXPANSION_SUCCESS = 0x2862,
+ SMSG_CLAIM_RAF_REWARD_RESPONSE = 0x2849,
SMSG_CLEAR_ALL_SPELL_CHARGES = 0x2C27,
SMSG_CLEAR_BOSS_EMOTES = 0x25B7,
- SMSG_CLEAR_COOLDOWN = 0x26B0,
+ SMSG_CLEAR_COOLDOWN = 0x26B1,
SMSG_CLEAR_COOLDOWNS = 0x2C26,
SMSG_CLEAR_RESURRECT = 0x257F,
SMSG_CLEAR_SPELL_CHARGES = 0x2C28,
SMSG_CLEAR_TARGET = 0x2943,
SMSG_CLEAR_TREASURE_PICKER_CACHE = 0x2AA1,
- SMSG_CLOSE_ARTIFACT_FORGE = 0x2792,
- SMSG_CLOSE_HEART_FORGE = 0x2817,
- SMSG_CLOSE_ITEM_FORGE = 0x2790,
- SMSG_CLUB_FINDER_ERROR_MESSAGE = 0x2854,
- SMSG_CLUB_FINDER_GET_CLUB_POSTING_IDS_RESPONSE = 0x2857,
- SMSG_CLUB_FINDER_LOOKUP_CLUB_POSTINGS_LIST = 0x2855,
- SMSG_CLUB_FINDER_RESPONSE_CHARACTER_APPLICATION_LIST = 0x2852,
- SMSG_CLUB_FINDER_RESPONSE_POST_RECRUITMENT_MESSAGE = 0x2856,
- SMSG_CLUB_FINDER_UPDATE_APPLICATIONS = 0x2853,
- SMSG_COIN_REMOVED = 0x260E,
+ SMSG_CLOSE_ARTIFACT_FORGE = 0x2793,
+ SMSG_CLOSE_HEART_FORGE = 0x2818,
+ SMSG_CLOSE_ITEM_FORGE = 0x2791,
+ SMSG_CLUB_FINDER_ERROR_MESSAGE = 0x2841,
+ SMSG_CLUB_FINDER_GET_CLUB_POSTING_IDS_RESPONSE = 0x2844,
+ SMSG_CLUB_FINDER_LOOKUP_CLUB_POSTINGS_LIST = 0x2842,
+ SMSG_CLUB_FINDER_RESPONSE_CHARACTER_APPLICATION_LIST = 0x283F,
+ SMSG_CLUB_FINDER_RESPONSE_POST_RECRUITMENT_MESSAGE = 0x2843,
+ SMSG_CLUB_FINDER_UPDATE_APPLICATIONS = 0x2840,
+ SMSG_CLUB_FINDER_WHISPER_APPLICANT_RESPONSE = 0x287A,
+ SMSG_COIN_REMOVED = 0x260F,
SMSG_COMBAT_EVENT_FAILED = 0x293A,
- SMSG_COMMENTATOR_MAP_INFO = 0x26FA,
- SMSG_COMMENTATOR_PLAYER_INFO = 0x26FB,
- SMSG_COMMENTATOR_STATE_CHANGED = 0x26F9,
- SMSG_COMMERCE_TOKEN_GET_COUNT_RESPONSE = 0x27C1,
- SMSG_COMMERCE_TOKEN_GET_LOG_RESPONSE = 0x27CD,
- SMSG_COMMERCE_TOKEN_GET_MARKET_PRICE_RESPONSE = 0x27C3,
- SMSG_COMMERCE_TOKEN_UPDATE = 0x27C2,
- SMSG_COMPLAINT_RESULT = 0x26A2,
- SMSG_COMPLETE_SHIPMENT_RESPONSE = 0x278B,
- SMSG_CONFIRM_PARTY_INVITE = 0x2803,
+ SMSG_COMMENTATOR_MAP_INFO = 0x26FB,
+ SMSG_COMMENTATOR_PLAYER_INFO = 0x26FC,
+ SMSG_COMMENTATOR_STATE_CHANGED = 0x26FA,
+ SMSG_COMMERCE_TOKEN_GET_COUNT_RESPONSE = 0x27C2,
+ SMSG_COMMERCE_TOKEN_GET_LOG_RESPONSE = 0x27CE,
+ SMSG_COMMERCE_TOKEN_GET_MARKET_PRICE_RESPONSE = 0x27C4,
+ SMSG_COMMERCE_TOKEN_UPDATE = 0x27C3,
+ SMSG_COMPLAINT_RESULT = 0x26A3,
+ SMSG_COMPLETE_SHIPMENT_RESPONSE = 0x278C,
+ SMSG_CONFIRM_PARTY_INVITE = 0x2804,
SMSG_CONNECT_TO = 0x304D,
- SMSG_CONQUEST_FORMULA_CONSTANTS = 0x2777,
- SMSG_CONSOLE_WRITE = 0x262C,
- SMSG_CONSUMABLE_TOKEN_BUY_AT_MARKET_PRICE_RESPONSE = 0x27C9,
- SMSG_CONSUMABLE_TOKEN_BUY_CHOICE_REQUIRED = 0x27C8,
- SMSG_CONSUMABLE_TOKEN_CAN_VETERAN_BUY_RESPONSE = 0x27C7,
- SMSG_CONSUMABLE_TOKEN_REDEEM_CONFIRM_REQUIRED = 0x27CB,
- SMSG_CONSUMABLE_TOKEN_REDEEM_RESPONSE = 0x27CC,
- SMSG_CONTACT_LIST = 0x2778,
- SMSG_CONTRIBUTION_LAST_UPDATE_RESPONSE = 0x280A,
- SMSG_CONTROL_UPDATE = 0x263E,
- SMSG_CONVERT_ITEMS_TO_CURRENCY_VALUE = 0x287E,
- SMSG_COOLDOWN_CHEAT = 0x272B,
- SMSG_COOLDOWN_EVENT = 0x26AF,
- SMSG_CORPSE_LOCATION = 0x2646,
- SMSG_CORPSE_RECLAIM_DELAY = 0x273C,
- SMSG_CORPSE_TRANSPORT_QUERY = 0x2705,
+ SMSG_CONQUEST_FORMULA_CONSTANTS = 0x2778,
+ SMSG_CONSOLE_WRITE = 0x262D,
+ SMSG_CONSUMABLE_TOKEN_BUY_AT_MARKET_PRICE_RESPONSE = 0x27CA,
+ SMSG_CONSUMABLE_TOKEN_BUY_CHOICE_REQUIRED = 0x27C9,
+ SMSG_CONSUMABLE_TOKEN_CAN_VETERAN_BUY_RESPONSE = 0x27C8,
+ SMSG_CONSUMABLE_TOKEN_REDEEM_CONFIRM_REQUIRED = 0x27CC,
+ SMSG_CONSUMABLE_TOKEN_REDEEM_RESPONSE = 0x27CD,
+ SMSG_CONTACT_LIST = 0x2779,
+ SMSG_CONTRIBUTION_LAST_UPDATE_RESPONSE = 0x280B,
+ SMSG_CONTROL_UPDATE = 0x263F,
+ SMSG_CONVERT_ITEMS_TO_CURRENCY_VALUE = 0x286B,
+ SMSG_COOLDOWN_CHEAT = 0x272C,
+ SMSG_COOLDOWN_EVENT = 0x26B0,
+ SMSG_CORPSE_LOCATION = 0x2647,
+ SMSG_CORPSE_RECLAIM_DELAY = 0x273D,
+ SMSG_CORPSE_TRANSPORT_QUERY = 0x2706,
SMSG_COVENANT_CALLINGS_AVAILABILITY_RESPONSE = 0x2AA3,
- SMSG_COVENANT_PREVIEW_OPEN_NPC = 0x27ED,
- SMSG_COVENANT_RENOWN_OPEN_NPC = 0x287D,
- SMSG_COVENANT_RENOWN_SEND_CATCHUP_STATE = 0x287F,
- SMSG_CREATE_CHAR = 0x26F4,
- SMSG_CREATE_SHIPMENT_RESPONSE = 0x278A,
- SMSG_CRITERIA_DELETED = 0x26DB,
- SMSG_CRITERIA_UPDATE = 0x26D5,
- SMSG_CROSSED_INEBRIATION_THRESHOLD = 0x26B7,
+ SMSG_COVENANT_PREVIEW_OPEN_NPC = 0x27EE,
+ SMSG_COVENANT_RENOWN_OPEN_NPC = 0x286A,
+ SMSG_COVENANT_RENOWN_SEND_CATCHUP_STATE = 0x286C,
+ SMSG_CREATE_CHAR = 0x26F5,
+ SMSG_CREATE_SHIPMENT_RESPONSE = 0x278B,
+ SMSG_CRITERIA_DELETED = 0x26DC,
+ SMSG_CRITERIA_UPDATE = 0x26D6,
+ SMSG_CROSSED_INEBRIATION_THRESHOLD = 0x26B8,
SMSG_CUSTOM_LOAD_SCREEN = 0x25C7,
SMSG_DAILY_QUESTS_RESET = 0x2A80,
- SMSG_DAMAGE_CALC_LOG = 0x27B6,
+ SMSG_DAMAGE_CALC_LOG = 0x27B7,
SMSG_DB_REPLY = 0x290E,
- SMSG_DEATH_RELEASE_LOC = 0x26C8,
- SMSG_DEBUG_MENU_MANAGER_FULL_UPDATE = 0x264C,
+ SMSG_DEATH_RELEASE_LOC = 0x26C9,
+ SMSG_DEBUG_MENU_MANAGER_FULL_UPDATE = 0x264D,
SMSG_DEFENSE_MESSAGE = 0x2BB6,
- SMSG_DELETE_CHAR = 0x26F5,
+ SMSG_DELETE_CHAR = 0x26F6,
SMSG_DELETE_EXPIRED_MISSIONS_RESULT = 0x2980,
- SMSG_DESTROY_ARENA_UNIT = 0x2734,
- SMSG_DESTRUCTIBLE_BUILDING_DAMAGE = 0x26EC,
+ SMSG_DESTROY_ARENA_UNIT = 0x2735,
+ SMSG_DESTRUCTIBLE_BUILDING_DAMAGE = 0x26ED,
SMSG_DIFFERENT_INSTANCE_FROM_PARTY = 0x258C,
SMSG_DISENCHANT_CREDIT = 0x25A5,
SMSG_DISMOUNT_RESULT = 0x257C,
SMSG_DISPEL_FAILED = 0x2C30,
SMSG_DISPLAY_GAME_ERROR = 0x259F,
SMSG_DISPLAY_PLAYER_CHOICE = 0x2FFC,
- SMSG_DISPLAY_PROMOTION = 0x2643,
+ SMSG_DISPLAY_PROMOTION = 0x2644,
SMSG_DISPLAY_QUEST_POPUP = 0x2A9E,
- SMSG_DISPLAY_SOULBIND_UPDATE_MESSAGE = 0x2883,
- SMSG_DISPLAY_TOAST = 0x261B,
- SMSG_DISPLAY_WORLD_TEXT = 0x27DE,
+ SMSG_DISPLAY_SOULBIND_UPDATE_MESSAGE = 0x2870,
+ SMSG_DISPLAY_TOAST = 0x261C,
+ SMSG_DISPLAY_WORLD_TEXT = 0x27DF,
SMSG_DONT_AUTO_PUSH_SPELLS_TO_ACTION_BAR = 0x25DA,
SMSG_DROP_NEW_CONNECTION = 0x304C,
SMSG_DUEL_ARRANGED = 0x293C,
@@ -1148,48 +1153,48 @@ enum OpcodeServer : uint16
SMSG_DUEL_OUT_OF_BOUNDS = 0x293D,
SMSG_DUEL_REQUESTED = 0x293B,
SMSG_DUEL_WINNER = 0x2941,
- SMSG_DURABILITY_DAMAGE_DEATH = 0x2738,
- SMSG_EMOTE = 0x27B7,
- SMSG_ENABLE_BARBER_SHOP = 0x26B2,
- SMSG_ENCHANTMENT_LOG = 0x2706,
- SMSG_ENCOUNTER_END = 0x2770,
- SMSG_ENCOUNTER_START = 0x276F,
- SMSG_END_LIGHTNING_STORM = 0x269F,
+ SMSG_DURABILITY_DAMAGE_DEATH = 0x2739,
+ SMSG_EMOTE = 0x27B8,
+ SMSG_ENABLE_BARBER_SHOP = 0x26B3,
+ SMSG_ENCHANTMENT_LOG = 0x2707,
+ SMSG_ENCOUNTER_END = 0x2771,
+ SMSG_ENCOUNTER_START = 0x2770,
+ SMSG_END_LIGHTNING_STORM = 0x26A0,
SMSG_ENTER_ENCRYPTED_MODE = 0x3049,
SMSG_ENUM_CHARACTERS_RESULT = 0x2583,
- SMSG_ENUM_VAS_PURCHASE_STATES_RESPONSE = 0x27E3,
+ SMSG_ENUM_VAS_PURCHASE_STATES_RESPONSE = 0x27E4,
SMSG_ENVIRONMENTAL_DAMAGE_LOG = 0x2C21,
- SMSG_EQUIPMENT_SET_ID = 0x26A8,
+ SMSG_EQUIPMENT_SET_ID = 0x26A9,
SMSG_EXPECTED_SPAM_RECORDS = 0x2BB1,
- SMSG_EXPLORATION_EXPERIENCE = 0x2751,
- SMSG_EXTERNAL_TRANSACTION_ID_GENERATED = 0x287C,
- SMSG_FACTION_BONUS_INFO = 0x2717,
+ SMSG_EXPLORATION_EXPERIENCE = 0x2752,
+ SMSG_EXTERNAL_TRANSACTION_ID_GENERATED = 0x2869,
+ SMSG_FACTION_BONUS_INFO = 0x2718,
SMSG_FAILED_PLAYER_CONDITION = 0x2FFA,
- SMSG_FAILED_QUEST_TURN_IN = 0x2800,
+ SMSG_FAILED_QUEST_TURN_IN = 0x2801,
SMSG_FEATURE_SYSTEM_STATUS = 0x25BB,
SMSG_FEATURE_SYSTEM_STATUS_GLUE_SCREEN = 0x25BC,
- SMSG_FEIGN_DEATH_RESISTED = 0x2737,
- SMSG_FISH_ESCAPED = 0x26C5,
- SMSG_FISH_NOT_HOOKED = 0x26C4,
+ SMSG_FEIGN_DEATH_RESISTED = 0x2738,
+ SMSG_FISH_ESCAPED = 0x26C6,
+ SMSG_FISH_NOT_HOOKED = 0x26C5,
SMSG_FLIGHT_SPLINE_SYNC = 0x2E2B,
- SMSG_FORCED_DEATH_UPDATE = 0x26C9,
- SMSG_FORCE_ANIM = 0x2743,
- SMSG_FORCE_ANIMATIONS = 0x2744,
- SMSG_FORCE_OBJECT_RELINK = 0x2642,
- SMSG_FRIEND_STATUS = 0x2779,
- SMSG_GAIN_MAW_POWER = 0x27D2,
+ SMSG_FORCED_DEATH_UPDATE = 0x26CA,
+ SMSG_FORCE_ANIM = 0x2744,
+ SMSG_FORCE_ANIMATIONS = 0x2745,
+ SMSG_FORCE_OBJECT_RELINK = 0x2643,
+ SMSG_FRIEND_STATUS = 0x277A,
+ SMSG_GAIN_MAW_POWER = 0x27D3,
SMSG_GAME_OBJECT_ACTIVATE_ANIM_KIT = 0x25BF,
- SMSG_GAME_OBJECT_BASE = 0x2818,
+ SMSG_GAME_OBJECT_BASE = 0x2819,
SMSG_GAME_OBJECT_CUSTOM_ANIM = 0x25C0,
SMSG_GAME_OBJECT_DESPAWN = 0x25C1,
SMSG_GAME_OBJECT_PLAY_SPELL_VISUAL = 0x2C4B,
SMSG_GAME_OBJECT_PLAY_SPELL_VISUAL_KIT = 0x2C4A,
- SMSG_GAME_OBJECT_RESET_STATE = 0x2711,
- SMSG_GAME_OBJECT_SET_STATE_LOCAL = 0x27F3,
- SMSG_GAME_OBJECT_UI_LINK = 0x270D,
- SMSG_GAME_SPEED_SET = 0x2678,
- SMSG_GAME_TIME_SET = 0x26FF,
- SMSG_GAME_TIME_UPDATE = 0x26FE,
+ SMSG_GAME_OBJECT_RESET_STATE = 0x2712,
+ SMSG_GAME_OBJECT_SET_STATE_LOCAL = 0x27F4,
+ SMSG_GAME_OBJECT_UI_LINK = 0x270E,
+ SMSG_GAME_SPEED_SET = 0x2679,
+ SMSG_GAME_TIME_SET = 0x2700,
+ SMSG_GAME_TIME_UPDATE = 0x26FF,
SMSG_GARRISON_ACTIVATE_MISSION_BONUS_ABILITY = 0x2982,
SMSG_GARRISON_ADD_EVENT = 0x29A5,
SMSG_GARRISON_ADD_FOLLOWER_RESULT = 0x2974,
@@ -1264,33 +1269,33 @@ enum OpcodeServer : uint16
SMSG_GARRISON_UPGRADE_RESULT = 0x296B,
SMSG_GARRISON_USE_RECALL_PORTAL_RESULT = 0x297D,
SMSG_GENERATE_RANDOM_CHARACTER_NAME_RESULT = 0x2585,
- SMSG_GENERATE_SSO_TOKEN_RESPONSE = 0x280B,
- SMSG_GET_ACCOUNT_CHARACTER_LIST_RESULT = 0x2753,
+ SMSG_GENERATE_SSO_TOKEN_RESPONSE = 0x280C,
+ SMSG_GET_ACCOUNT_CHARACTER_LIST_RESULT = 0x2754,
SMSG_GET_GARRISON_INFO_RESULT = 0x295E,
- SMSG_GET_LANDING_PAGE_SHIPMENTS_RESPONSE = 0x278D,
- SMSG_GET_REMAINING_GAME_TIME_RESPONSE = 0x27CA,
- SMSG_GET_SELECTED_TROPHY_ID_RESPONSE = 0x27B4,
- SMSG_GET_SHIPMENTS_OF_TYPE_RESPONSE = 0x278C,
- SMSG_GET_SHIPMENT_INFO_RESPONSE = 0x2788,
- SMSG_GET_TROPHY_LIST_RESPONSE = 0x27B3,
- SMSG_GET_VAS_ACCOUNT_CHARACTER_LIST_RESULT = 0x27DF,
- SMSG_GET_VAS_TRANSFER_TARGET_REALM_LIST_RESULT = 0x27E0,
+ SMSG_GET_LANDING_PAGE_SHIPMENTS_RESPONSE = 0x278E,
+ SMSG_GET_REMAINING_GAME_TIME_RESPONSE = 0x27CB,
+ SMSG_GET_SELECTED_TROPHY_ID_RESPONSE = 0x27B5,
+ SMSG_GET_SHIPMENTS_OF_TYPE_RESPONSE = 0x278D,
+ SMSG_GET_SHIPMENT_INFO_RESPONSE = 0x2789,
+ SMSG_GET_TROPHY_LIST_RESPONSE = 0x27B4,
+ SMSG_GET_VAS_ACCOUNT_CHARACTER_LIST_RESULT = 0x27E0,
+ SMSG_GET_VAS_TRANSFER_TARGET_REALM_LIST_RESULT = 0x27E1,
SMSG_GM_PLAYER_INFO = 0x3005,
SMSG_GM_REQUEST_PLAYER_INFO = 0x2FFB,
- SMSG_GM_TICKET_CASE_STATUS = 0x269A,
- SMSG_GM_TICKET_SYSTEM_STATUS = 0x2699,
- SMSG_GOD_MODE = 0x26EF,
+ SMSG_GM_TICKET_CASE_STATUS = 0x269B,
+ SMSG_GM_TICKET_SYSTEM_STATUS = 0x269A,
+ SMSG_GOD_MODE = 0x26F0,
SMSG_GOSSIP_COMPLETE = 0x2A97,
SMSG_GOSSIP_MESSAGE = 0x2A98,
- SMSG_GOSSIP_POI = 0x2785,
+ SMSG_GOSSIP_POI = 0x2786,
SMSG_GOSSIP_QUEST_UPDATE = 0x2A99,
SMSG_GOSSIP_REFRESH_OPTIONS = 0x2AA6,
SMSG_GROUP_ACTION_THROTTLED = 0x2590,
- SMSG_GROUP_AUTO_KICK = 0x2783,
- SMSG_GROUP_DECLINE = 0x2780,
- SMSG_GROUP_DESTROYED = 0x2782,
- SMSG_GROUP_NEW_LEADER = 0x2624,
- SMSG_GROUP_UNINVITE = 0x2781,
+ SMSG_GROUP_AUTO_KICK = 0x2784,
+ SMSG_GROUP_DECLINE = 0x2781,
+ SMSG_GROUP_DESTROYED = 0x2783,
+ SMSG_GROUP_NEW_LEADER = 0x2625,
+ SMSG_GROUP_UNINVITE = 0x2782,
SMSG_GUILD_ACHIEVEMENT_DELETED = 0x29C5,
SMSG_GUILD_ACHIEVEMENT_EARNED = 0x29C4,
SMSG_GUILD_ACHIEVEMENT_MEMBERS = 0x29C7,
@@ -1344,60 +1349,60 @@ enum OpcodeServer : uint16
SMSG_GUILD_ROSTER = 0x29BB,
SMSG_GUILD_ROSTER_UPDATE = 0x29BC,
SMSG_GUILD_SEND_RANK_CHANGE = 0x29B9,
- SMSG_HEALTH_UPDATE = 0x26C6,
- SMSG_HIGHEST_THREAT_UPDATE = 0x26CE,
+ SMSG_HEALTH_UPDATE = 0x26C7,
+ SMSG_HIGHEST_THREAT_UPDATE = 0x26CF,
SMSG_HOTFIX_CONNECT = 0x2911,
SMSG_HOTFIX_MESSAGE = 0x2910,
- SMSG_INITIALIZE_FACTIONS = 0x2716,
+ SMSG_INITIALIZE_FACTIONS = 0x2717,
SMSG_INITIAL_SETUP = 0x2580,
- SMSG_INIT_WORLD_STATES = 0x2739,
- SMSG_INSPECT_RESULT = 0x2628,
- SMSG_INSTANCE_ENCOUNTER_CHANGE_PRIORITY = 0x279F,
- SMSG_INSTANCE_ENCOUNTER_DISENGAGE_UNIT = 0x279E,
- SMSG_INSTANCE_ENCOUNTER_END = 0x27A7,
- SMSG_INSTANCE_ENCOUNTER_ENGAGE_UNIT = 0x279D,
- SMSG_INSTANCE_ENCOUNTER_GAIN_COMBAT_RESURRECTION_CHARGE = 0x27A9,
- SMSG_INSTANCE_ENCOUNTER_IN_COMBAT_RESURRECTION = 0x27A8,
- SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_COMPLETE = 0x27A2,
- SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_START = 0x27A1,
- SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_UPDATE = 0x27A6,
- SMSG_INSTANCE_ENCOUNTER_PHASE_SHIFT_CHANGED = 0x27AA,
- SMSG_INSTANCE_ENCOUNTER_START = 0x27A3,
- SMSG_INSTANCE_ENCOUNTER_TIMER_START = 0x27A0,
- SMSG_INSTANCE_ENCOUNTER_UPDATE_ALLOW_RELEASE_IN_PROGRESS = 0x27A5,
- SMSG_INSTANCE_ENCOUNTER_UPDATE_SUPPRESS_RELEASE = 0x27A4,
- SMSG_INSTANCE_GROUP_SIZE_CHANGED = 0x26ED,
- SMSG_INSTANCE_INFO = 0x262B,
- SMSG_INSTANCE_RESET = 0x267D,
- SMSG_INSTANCE_RESET_FAILED = 0x267E,
- SMSG_INSTANCE_SAVE_CREATED = 0x276E,
+ SMSG_INIT_WORLD_STATES = 0x273A,
+ SMSG_INSPECT_RESULT = 0x2629,
+ SMSG_INSTANCE_ENCOUNTER_CHANGE_PRIORITY = 0x27A0,
+ SMSG_INSTANCE_ENCOUNTER_DISENGAGE_UNIT = 0x279F,
+ SMSG_INSTANCE_ENCOUNTER_END = 0x27A8,
+ SMSG_INSTANCE_ENCOUNTER_ENGAGE_UNIT = 0x279E,
+ SMSG_INSTANCE_ENCOUNTER_GAIN_COMBAT_RESURRECTION_CHARGE = 0x27AA,
+ SMSG_INSTANCE_ENCOUNTER_IN_COMBAT_RESURRECTION = 0x27A9,
+ SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_COMPLETE = 0x27A3,
+ SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_START = 0x27A2,
+ SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_UPDATE = 0x27A7,
+ SMSG_INSTANCE_ENCOUNTER_PHASE_SHIFT_CHANGED = 0x27AB,
+ SMSG_INSTANCE_ENCOUNTER_START = 0x27A4,
+ SMSG_INSTANCE_ENCOUNTER_TIMER_START = 0x27A1,
+ SMSG_INSTANCE_ENCOUNTER_UPDATE_ALLOW_RELEASE_IN_PROGRESS = 0x27A6,
+ SMSG_INSTANCE_ENCOUNTER_UPDATE_SUPPRESS_RELEASE = 0x27A5,
+ SMSG_INSTANCE_GROUP_SIZE_CHANGED = 0x26EE,
+ SMSG_INSTANCE_INFO = 0x262C,
+ SMSG_INSTANCE_RESET = 0x267E,
+ SMSG_INSTANCE_RESET_FAILED = 0x267F,
+ SMSG_INSTANCE_SAVE_CREATED = 0x276F,
SMSG_INTERRUPT_POWER_REGEN = 0x2C59,
SMSG_INVALIDATE_PAGE_TEXT = 0x2918,
SMSG_INVALIDATE_PLAYER = 0x2FFF,
- SMSG_INVALID_PROMOTION_CODE = 0x2745,
+ SMSG_INVALID_PROMOTION_CODE = 0x2746,
SMSG_INVENTORY_CHANGE_FAILURE = 0x2DA5,
- SMSG_INVENTORY_FIXUP_COMPLETE = 0x2802,
- SMSG_INVENTORY_FULL_OVERFLOW = 0x2813,
- SMSG_ISLANDS_MISSION_NPC = 0x27E9,
- SMSG_ISLAND_AZERITE_GAIN = 0x274E,
- SMSG_ISLAND_COMPLETE = 0x274F,
+ SMSG_INVENTORY_FIXUP_COMPLETE = 0x2803,
+ SMSG_INVENTORY_FULL_OVERFLOW = 0x2814,
+ SMSG_ISLANDS_MISSION_NPC = 0x27EA,
+ SMSG_ISLAND_AZERITE_GAIN = 0x274F,
+ SMSG_ISLAND_COMPLETE = 0x2750,
SMSG_IS_QUEST_COMPLETE_RESPONSE = 0x2A84,
- SMSG_ITEM_CHANGED = 0x26DE,
- SMSG_ITEM_COOLDOWN = 0x27B5,
- SMSG_ITEM_ENCHANT_TIME_UPDATE = 0x2747,
+ SMSG_ITEM_CHANGED = 0x26DF,
+ SMSG_ITEM_COOLDOWN = 0x27B6,
+ SMSG_ITEM_ENCHANT_TIME_UPDATE = 0x2748,
SMSG_ITEM_EXPIRE_PURCHASE_REFUND = 0x259E,
- SMSG_ITEM_INTERACTION_COMPLETE = 0x2874,
+ SMSG_ITEM_INTERACTION_COMPLETE = 0x2861,
SMSG_ITEM_PURCHASE_REFUND_RESULT = 0x259C,
- SMSG_ITEM_PUSH_RESULT = 0x261A,
- SMSG_ITEM_TIME_UPDATE = 0x2746,
- SMSG_KICK_REASON = 0x2680,
- SMSG_LATENCY_REPORT_PING = 0x2886,
+ SMSG_ITEM_PUSH_RESULT = 0x261B,
+ SMSG_ITEM_TIME_UPDATE = 0x2747,
+ SMSG_KICK_REASON = 0x2681,
+ SMSG_LATENCY_REPORT_PING = 0x2873,
SMSG_LEARNED_SPELLS = 0x2C4D,
SMSG_LEARN_PVP_TALENT_FAILED = 0x25CE,
SMSG_LEARN_TALENT_FAILED = 0x25CD,
- SMSG_LEGACY_LOOT_RULES = 0x2819,
- SMSG_LEVEL_LINKING_RESULT = 0x285A,
- SMSG_LEVEL_UP_INFO = 0x26DD,
+ SMSG_LEGACY_LOOT_RULES = 0x281A,
+ SMSG_LEVEL_LINKING_RESULT = 0x2847,
+ SMSG_LEVEL_UP_INFO = 0x26DE,
SMSG_LFG_BOOT_PLAYER = 0x2A35,
SMSG_LFG_DISABLED = 0x2A33,
SMSG_LFG_EXPAND_SEARCH_PROMPT = 0x2A3B,
@@ -1425,44 +1430,45 @@ enum OpcodeServer : uint16
SMSG_LFG_SLOT_INVALID = 0x2A30,
SMSG_LFG_TELEPORT_DENIED = 0x2A32,
SMSG_LFG_UPDATE_STATUS = 0x2A24,
- SMSG_LIVE_REGION_ACCOUNT_RESTORE_RESULT = 0x2760,
- SMSG_LIVE_REGION_CHARACTER_COPY_RESULT = 0x275F,
- SMSG_LIVE_REGION_GET_ACCOUNT_CHARACTER_LIST_RESULT = 0x2754,
- SMSG_LIVE_REGION_KEY_BINDINGS_COPY_RESULT = 0x2761,
+ SMSG_LIVE_REGION_ACCOUNT_RESTORE_RESULT = 0x2761,
+ SMSG_LIVE_REGION_CHARACTER_COPY_RESULT = 0x2760,
+ SMSG_LIVE_REGION_GET_ACCOUNT_CHARACTER_LIST_RESULT = 0x2755,
+ SMSG_LIVE_REGION_KEY_BINDINGS_COPY_RESULT = 0x2762,
SMSG_LOAD_CUF_PROFILES = 0x25B8,
- SMSG_LOAD_EQUIPMENT_SET = 0x2701,
- SMSG_LOGIN_SET_TIME_SPEED = 0x2700,
+ SMSG_LOAD_EQUIPMENT_SET = 0x2702,
+ SMSG_LOGIN_SET_TIME_SPEED = 0x2701,
SMSG_LOGIN_VERIFY_WORLD = 0x2599,
- SMSG_LOGOUT_CANCEL_ACK = 0x267C,
- SMSG_LOGOUT_COMPLETE = 0x267B,
- SMSG_LOGOUT_RESPONSE = 0x267A,
- SMSG_LOG_XP_GAIN = 0x26D9,
- SMSG_LOOT_ALL_PASSED = 0x2618,
- SMSG_LOOT_LIST = 0x2733,
- SMSG_LOOT_MONEY_NOTIFY = 0x2613,
- SMSG_LOOT_RELEASE = 0x2612,
- SMSG_LOOT_RELEASE_ALL = 0x2611,
- SMSG_LOOT_REMOVED = 0x260D,
- SMSG_LOOT_RESPONSE = 0x260C,
- SMSG_LOOT_ROLL = 0x2615,
- SMSG_LOOT_ROLLS_COMPLETE = 0x2617,
- SMSG_LOOT_ROLL_WON = 0x2619,
- SMSG_LOSS_OF_CONTROL_AURA_UPDATE = 0x2667,
- SMSG_MAIL_COMMAND_RESULT = 0x2632,
- SMSG_MAIL_LIST_RESULT = 0x2748,
- SMSG_MAIL_QUERY_NEXT_TIME_RESULT = 0x2749,
+ SMSG_LOGOUT_CANCEL_ACK = 0x267D,
+ SMSG_LOGOUT_COMPLETE = 0x267C,
+ SMSG_LOGOUT_RESPONSE = 0x267B,
+ SMSG_LOG_XP_GAIN = 0x26DA,
+ SMSG_LOOT_ALL_PASSED = 0x2619,
+ SMSG_LOOT_LIST = 0x2734,
+ SMSG_LOOT_MONEY_NOTIFY = 0x2614,
+ SMSG_LOOT_RELEASE = 0x2613,
+ SMSG_LOOT_RELEASE_ALL = 0x2612,
+ SMSG_LOOT_REMOVED = 0x260E,
+ SMSG_LOOT_RESPONSE = 0x260D,
+ SMSG_LOOT_ROLL = 0x2616,
+ SMSG_LOOT_ROLLS_COMPLETE = 0x2618,
+ SMSG_LOOT_ROLL_WON = 0x261A,
+ SMSG_LOSS_OF_CONTROL_AURA_UPDATE = 0x2668,
+ SMSG_MAIL_COMMAND_RESULT = 0x2633,
+ SMSG_MAIL_LIST_RESULT = 0x2749,
+ SMSG_MAIL_QUERY_NEXT_TIME_RESULT = 0x274A,
SMSG_MAP_OBJECTIVES_INIT = 0x294B,
SMSG_MAP_OBJ_EVENTS = 0x25C2,
- SMSG_MASTER_LOOT_CANDIDATE_LIST = 0x2616,
+ SMSG_MASTER_LOOT_CANDIDATE_LIST = 0x2617,
+ SMSG_MEETING_STONE_FAILED = 0x287C,
SMSG_MESSAGE_BOX = 0x2576,
- SMSG_MINIMAP_PING = 0x26C3,
+ SMSG_MINIMAP_PING = 0x26C4,
SMSG_MIRROR_IMAGE_COMPONENTED_DATA = 0x2C14,
SMSG_MIRROR_IMAGE_CREATURE_DATA = 0x2C13,
SMSG_MISSILE_CANCEL = 0x25C3,
- SMSG_MODIFY_COOLDOWN = 0x2756,
+ SMSG_MODIFY_COOLDOWN = 0x2757,
SMSG_MOTD = 0x2BAF,
SMSG_MOUNT_RESULT = 0x257B,
- SMSG_MOVEMENT_ENFORCEMENT_ALERT = 0x284A,
+ SMSG_MOVEMENT_ENFORCEMENT_ALERT = 0x2837,
SMSG_MOVE_APPLY_INERTIA = 0x2E2E,
SMSG_MOVE_APPLY_MOVEMENT_FORCE = 0x2E15,
SMSG_MOVE_DISABLE_COLLISION = 0x2E11,
@@ -1553,82 +1559,82 @@ 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 = 0x27CF,
- SMSG_MULTI_FLOOR_NEW_FLOOR = 0x27CE,
- SMSG_MYTHIC_PLUS_ALL_MAP_STATS = 0x2604,
- SMSG_MYTHIC_PLUS_CURRENT_AFFIXES = 0x2606,
- SMSG_MYTHIC_PLUS_NEW_WEEK_RECORD = 0x2609,
- SMSG_MYTHIC_PLUS_SEASON_DATA = 0x2605,
+ SMSG_MULTI_FLOOR_LEAVE_FLOOR = 0x27D0,
+ SMSG_MULTI_FLOOR_NEW_FLOOR = 0x27CF,
+ SMSG_MYTHIC_PLUS_ALL_MAP_STATS = 0x2605,
+ SMSG_MYTHIC_PLUS_CURRENT_AFFIXES = 0x2607,
+ SMSG_MYTHIC_PLUS_NEW_WEEK_RECORD = 0x260A,
+ SMSG_MYTHIC_PLUS_SEASON_DATA = 0x2606,
SMSG_NEUTRAL_PLAYER_FACTION_SELECT_RESULT = 0x25D5,
- SMSG_NEW_TAXI_PATH = 0x2675,
+ SMSG_NEW_TAXI_PATH = 0x2676,
SMSG_NEW_WORLD = 0x2598,
SMSG_NOTIFY_DEST_LOC_SPELL_CAST = 0x2C43,
- SMSG_NOTIFY_MISSILE_TRAJECTORY_COLLISION = 0x26A1,
+ SMSG_NOTIFY_MISSILE_TRAJECTORY_COLLISION = 0x26A2,
SMSG_NOTIFY_MONEY = 0x259B,
- SMSG_NOTIFY_RECEIVED_MAIL = 0x2633,
- SMSG_OFFER_PETITION_ERROR = 0x26AC,
- SMSG_ON_CANCEL_EXPECTED_RIDE_VEHICLE_AURA = 0x26DA,
+ SMSG_NOTIFY_RECEIVED_MAIL = 0x2634,
+ SMSG_OFFER_PETITION_ERROR = 0x26AD,
+ SMSG_ON_CANCEL_EXPECTED_RIDE_VEHICLE_AURA = 0x26DB,
SMSG_ON_MONSTER_MOVE = 0x2DD4,
- SMSG_OPEN_ANIMA_DIVERSION_UI = 0x270E,
- SMSG_OPEN_ARTIFACT_FORGE = 0x2791,
+ SMSG_OPEN_ANIMA_DIVERSION_UI = 0x270F,
+ SMSG_OPEN_ARTIFACT_FORGE = 0x2792,
SMSG_OPEN_CONTAINER = 0x2DA6,
- SMSG_OPEN_HEART_FORGE = 0x2816,
- SMSG_OPEN_ITEM_FORGE = 0x278F,
+ SMSG_OPEN_HEART_FORGE = 0x2817,
+ SMSG_OPEN_ITEM_FORGE = 0x2790,
SMSG_OPEN_LFG_DUNGEON_FINDER = 0x2A31,
- SMSG_OPEN_SHIPMENT_NPC_FROM_GOSSIP = 0x2787,
- SMSG_OPEN_SHIPMENT_NPC_RESULT = 0x2789,
- SMSG_OVERRIDE_LIGHT = 0x26B1,
- SMSG_PAGE_TEXT = 0x270C,
- SMSG_PARTY_COMMAND_RESULT = 0x2784,
+ SMSG_OPEN_SHIPMENT_NPC_FROM_GOSSIP = 0x2788,
+ SMSG_OPEN_SHIPMENT_NPC_RESULT = 0x278A,
+ SMSG_OVERRIDE_LIGHT = 0x26B2,
+ SMSG_PAGE_TEXT = 0x270D,
+ SMSG_PARTY_COMMAND_RESULT = 0x2785,
SMSG_PARTY_INVITE = 0x25B9,
- SMSG_PARTY_KILL_LOG = 0x274C,
- SMSG_PARTY_MEMBER_FULL_STATE = 0x274B,
- SMSG_PARTY_MEMBER_PARTIAL_STATE = 0x274A,
- SMSG_PARTY_NOTIFY_LFG_LEADER_CHANGE = 0x287A,
+ SMSG_PARTY_KILL_LOG = 0x274D,
+ SMSG_PARTY_MEMBER_FULL_STATE = 0x274C,
+ SMSG_PARTY_MEMBER_PARTIAL_STATE = 0x274B,
+ SMSG_PARTY_NOTIFY_LFG_LEADER_CHANGE = 0x2867,
SMSG_PARTY_UPDATE = 0x25EE,
SMSG_PAST_TIME_EVENTS = 0x25BE,
- SMSG_PAUSE_MIRROR_TIMER = 0x2703,
- SMSG_PENDING_RAID_LOCK = 0x26EB,
+ SMSG_PAUSE_MIRROR_TIMER = 0x2704,
+ SMSG_PENDING_RAID_LOCK = 0x26EC,
SMSG_PETITION_ALREADY_SIGNED = 0x25A1,
SMSG_PETITION_RENAME_GUILD_RESPONSE = 0x29FA,
- SMSG_PETITION_SHOW_LIST = 0x26B4,
- SMSG_PETITION_SHOW_SIGNATURES = 0x26B5,
- SMSG_PETITION_SIGN_RESULTS = 0x273E,
- SMSG_PET_ACTION_FEEDBACK = 0x273B,
- SMSG_PET_ACTION_SOUND = 0x2697,
+ SMSG_PETITION_SHOW_LIST = 0x26B5,
+ SMSG_PETITION_SHOW_SIGNATURES = 0x26B6,
+ SMSG_PETITION_SIGN_RESULTS = 0x273F,
+ SMSG_PET_ACTION_FEEDBACK = 0x273C,
+ SMSG_PET_ACTION_SOUND = 0x2698,
SMSG_PET_ADDED = 0x2595,
- SMSG_PET_BATTLE_CHAT_RESTRICTED = 0x25FB,
- SMSG_PET_BATTLE_DEBUG_QUEUE_DUMP_RESPONSE = 0x266C,
- SMSG_PET_BATTLE_FINALIZE_LOCATION = 0x25F4,
- SMSG_PET_BATTLE_FINAL_ROUND = 0x25F9,
- SMSG_PET_BATTLE_FINISHED = 0x25FA,
- SMSG_PET_BATTLE_FIRST_ROUND = 0x25F6,
- SMSG_PET_BATTLE_INITIAL_UPDATE = 0x25F5,
- SMSG_PET_BATTLE_MAX_GAME_LENGTH_WARNING = 0x25FC,
- SMSG_PET_BATTLE_PVP_CHALLENGE = 0x25F3,
- SMSG_PET_BATTLE_QUEUE_PROPOSE_MATCH = 0x2630,
- SMSG_PET_BATTLE_QUEUE_STATUS = 0x2631,
- SMSG_PET_BATTLE_REPLACEMENTS_MADE = 0x25F8,
- SMSG_PET_BATTLE_REQUEST_FAILED = 0x25F2,
- SMSG_PET_BATTLE_ROUND_RESULT = 0x25F7,
+ SMSG_PET_BATTLE_CHAT_RESTRICTED = 0x25FC,
+ SMSG_PET_BATTLE_DEBUG_QUEUE_DUMP_RESPONSE = 0x266D,
+ SMSG_PET_BATTLE_FINALIZE_LOCATION = 0x25F5,
+ SMSG_PET_BATTLE_FINAL_ROUND = 0x25FA,
+ SMSG_PET_BATTLE_FINISHED = 0x25FB,
+ SMSG_PET_BATTLE_FIRST_ROUND = 0x25F7,
+ SMSG_PET_BATTLE_INITIAL_UPDATE = 0x25F6,
+ SMSG_PET_BATTLE_MAX_GAME_LENGTH_WARNING = 0x25FD,
+ SMSG_PET_BATTLE_PVP_CHALLENGE = 0x25F4,
+ SMSG_PET_BATTLE_QUEUE_PROPOSE_MATCH = 0x2631,
+ SMSG_PET_BATTLE_QUEUE_STATUS = 0x2632,
+ SMSG_PET_BATTLE_REPLACEMENTS_MADE = 0x25F9,
+ SMSG_PET_BATTLE_REQUEST_FAILED = 0x25F3,
+ SMSG_PET_BATTLE_ROUND_RESULT = 0x25F8,
SMSG_PET_BATTLE_SLOT_UPDATES = 0x25E5,
SMSG_PET_CAST_FAILED = 0x2C58,
SMSG_PET_CLEAR_SPELLS = 0x2C24,
- SMSG_PET_DISMISS_SOUND = 0x2698,
- SMSG_PET_GOD_MODE = 0x2672,
- SMSG_PET_GUIDS = 0x26F7,
+ SMSG_PET_DISMISS_SOUND = 0x2699,
+ SMSG_PET_GOD_MODE = 0x2673,
+ SMSG_PET_GUIDS = 0x26F8,
SMSG_PET_LEARNED_SPELLS = 0x2C4F,
SMSG_PET_MODE = 0x258B,
- SMSG_PET_NAME_INVALID = 0x26B9,
+ SMSG_PET_NAME_INVALID = 0x26BA,
SMSG_PET_NEWLY_TAMED = 0x2589,
SMSG_PET_SLOT_UPDATED = 0x258A,
SMSG_PET_SPELLS_MESSAGE = 0x2C25,
SMSG_PET_STABLE_LIST = 0x2596,
SMSG_PET_STABLE_RESULT = 0x2597,
- SMSG_PET_TAME_FAILURE = 0x26A9,
+ SMSG_PET_TAME_FAILURE = 0x26AA,
SMSG_PET_UNLEARNED_SPELLS = 0x2C50,
SMSG_PHASE_SHIFT_CHANGE = 0x2578,
- SMSG_PLAYED_TIME = 0x26CA,
+ SMSG_PLAYED_TIME = 0x26CB,
SMSG_PLAYER_AZERITE_ITEM_EQUIPPED_STATUS_CHANGED = 0x3014,
SMSG_PLAYER_AZERITE_ITEM_GAINS = 0x3013,
SMSG_PLAYER_BONUS_ROLL_FAILED = 0x3016,
@@ -1644,23 +1650,23 @@ enum OpcodeServer : uint16
SMSG_PLAYER_TABARD_VENDOR_ACTIVATE = 0x3007,
SMSG_PLAYER_TUTORIAL_HIGHLIGHT_SPELL = 0x300D,
SMSG_PLAYER_TUTORIAL_UNHIGHLIGHT_SPELL = 0x300C,
- SMSG_PLAY_MUSIC = 0x275B,
- SMSG_PLAY_OBJECT_SOUND = 0x275C,
- SMSG_PLAY_ONE_SHOT_ANIM_KIT = 0x2723,
+ SMSG_PLAY_MUSIC = 0x275C,
+ SMSG_PLAY_OBJECT_SOUND = 0x275D,
+ SMSG_PLAY_ONE_SHOT_ANIM_KIT = 0x2724,
SMSG_PLAY_ORPHAN_SPELL_VISUAL = 0x2C47,
- SMSG_PLAY_SCENE = 0x262D,
- SMSG_PLAY_SOUND = 0x275A,
- SMSG_PLAY_SPEAKERBOT_SOUND = 0x275D,
+ SMSG_PLAY_SCENE = 0x262E,
+ SMSG_PLAY_SOUND = 0x275B,
+ SMSG_PLAY_SPEAKERBOT_SOUND = 0x275E,
SMSG_PLAY_SPELL_VISUAL = 0x2C45,
SMSG_PLAY_SPELL_VISUAL_KIT = 0x2C49,
- SMSG_PLAY_TIME_WARNING = 0x26F1,
+ SMSG_PLAY_TIME_WARNING = 0x26F2,
SMSG_PONG = 0x304E,
- SMSG_POWER_UPDATE = 0x26C7,
+ SMSG_POWER_UPDATE = 0x26C8,
SMSG_PRELOAD_CHILD_MAP = 0x2579,
- SMSG_PREPOPULATE_NAME_CACHE = 0x284D,
- SMSG_PRE_RESSURECT = 0x2759,
+ SMSG_PREPOPULATE_NAME_CACHE = 0x283A,
+ SMSG_PRE_RESSURECT = 0x275A,
SMSG_PRINT_NOTIFICATION = 0x25C6,
- SMSG_PROC_RESIST = 0x274D,
+ SMSG_PROC_RESIST = 0x274E,
SMSG_PUSH_SPELL_TO_ACTION_BAR = 0x2C51,
SMSG_PVP_CREDIT = 0x2945,
SMSG_PVP_MATCH_COMPLETE = 0x294F,
@@ -1668,7 +1674,7 @@ enum OpcodeServer : uint16
SMSG_PVP_MATCH_START = 0x294E,
SMSG_PVP_MATCH_STATISTICS = 0x2932,
SMSG_PVP_OPTIONS_ENABLED = 0x2934,
- SMSG_PVP_TIER_RECORD = 0x2887,
+ SMSG_PVP_TIER_RECORD = 0x2874,
SMSG_QUERY_BATTLE_PET_NAME_RESPONSE = 0x291A,
SMSG_QUERY_CREATURE_RESPONSE = 0x2914,
SMSG_QUERY_GAME_OBJECT_RESPONSE = 0x2915,
@@ -1684,7 +1690,7 @@ enum OpcodeServer : uint16
SMSG_QUERY_PLAYER_NAME_BY_COMMUNITY_ID_RESPONSE = 0x3002,
SMSG_QUERY_QUEST_INFO_RESPONSE = 0x2A96,
SMSG_QUERY_REALM_GUILD_MASTER_INFO_RESPONSE = 0x29E6,
- SMSG_QUERY_TIME_RESPONSE = 0x26D8,
+ SMSG_QUERY_TIME_RESPONSE = 0x26D9,
SMSG_QUEST_COMPLETION_NPC_RESPONSE = 0x2A81,
SMSG_QUEST_CONFIRM_ACCEPT = 0x2A8F,
SMSG_QUEST_FORCE_REMOVED = 0x2A9C,
@@ -1702,50 +1708,50 @@ 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 = 0x2870,
- SMSG_QUEST_SESSION_READY_CHECK = 0x285E,
- SMSG_QUEST_SESSION_READY_CHECK_RESPONSE = 0x285F,
- SMSG_QUEST_SESSION_RESULT = 0x285D,
+ SMSG_QUEST_SESSION_INFO_RESPONSE = 0x285D,
+ SMSG_QUEST_SESSION_READY_CHECK = 0x284B,
+ SMSG_QUEST_SESSION_READY_CHECK_RESPONSE = 0x284C,
+ SMSG_QUEST_SESSION_RESULT = 0x284A,
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 = 0x2801,
- SMSG_RAF_ACCOUNT_INFO = 0x285B,
- SMSG_RAF_ACTIVITY_STATE_CHANGED = 0x286C,
- SMSG_RAID_DIFFICULTY_SET = 0x279A,
- SMSG_RAID_GROUP_ONLY = 0x279C,
+ SMSG_QUEUE_SUMMARY_UPDATE = 0x2802,
+ SMSG_RAF_ACCOUNT_INFO = 0x2848,
+ SMSG_RAF_ACTIVITY_STATE_CHANGED = 0x2859,
+ SMSG_RAID_DIFFICULTY_SET = 0x279B,
+ SMSG_RAID_GROUP_ONLY = 0x279D,
SMSG_RAID_INSTANCE_MESSAGE = 0x2BB4,
SMSG_RAID_MARKERS_CHANGED = 0x25A2,
- SMSG_RANDOM_ROLL = 0x2627,
+ SMSG_RANDOM_ROLL = 0x2628,
SMSG_RATED_PVP_INFO = 0x2931,
- SMSG_READY_CHECK_COMPLETED = 0x25F1,
- SMSG_READY_CHECK_RESPONSE = 0x25F0,
- SMSG_READY_CHECK_STARTED = 0x25EF,
- SMSG_READ_ITEM_RESULT_FAILED = 0x2796,
- SMSG_READ_ITEM_RESULT_OK = 0x278E,
- SMSG_REALM_LOOKUP_INFO = 0x27BA,
+ SMSG_READY_CHECK_COMPLETED = 0x25F2,
+ SMSG_READY_CHECK_RESPONSE = 0x25F1,
+ SMSG_READY_CHECK_STARTED = 0x25F0,
+ SMSG_READ_ITEM_RESULT_FAILED = 0x2797,
+ SMSG_READ_ITEM_RESULT_OK = 0x278F,
+ SMSG_REALM_LOOKUP_INFO = 0x27BB,
SMSG_REALM_QUERY_RESPONSE = 0x2913,
- SMSG_REATTACH_RESURRECT = 0x273D,
- SMSG_RECRUIT_A_FRIEND_FAILURE = 0x26B6,
- SMSG_REFRESH_COMPONENT = 0x2648,
+ SMSG_REATTACH_RESURRECT = 0x273E,
+ SMSG_RECRUIT_A_FRIEND_FAILURE = 0x26B7,
+ SMSG_REFRESH_COMPONENT = 0x2649,
SMSG_REFRESH_SPELL_HISTORY = 0x2C2C,
SMSG_REMOVE_ITEM_PASSIVE = 0x25A9,
SMSG_REMOVE_SPELL_FROM_ACTION_BAR = 0x2C52,
- SMSG_REPLACE_TROPHY_RESPONSE = 0x27B2,
+ SMSG_REPLACE_TROPHY_RESPONSE = 0x27B3,
SMSG_REPORT_PVP_PLAYER_AFK_RESULT = 0x3001,
SMSG_REQUEST_CEMETERY_LIST_RESPONSE = 0x2591,
SMSG_REQUEST_PVP_REWARDS_RESPONSE = 0x2935,
SMSG_REQUEST_SCHEDULED_PVP_INFO_RESPONSE = 0x2936,
SMSG_RESEARCH_COMPLETE = 0x2587,
SMSG_RESET_COMPRESSION_CONTEXT = 0x304F,
- SMSG_RESET_FAILED_NOTIFY = 0x26AD,
+ SMSG_RESET_FAILED_NOTIFY = 0x26AE,
SMSG_RESET_QUEST_POI = 0x2AA0,
SMSG_RESET_RANGED_COMBAT_TIMER = 0x2944,
SMSG_RESET_WEEKLY_CURRENCY = 0x2575,
- SMSG_RESPEC_WIPE_CONFIRM = 0x260A,
+ SMSG_RESPEC_WIPE_CONFIRM = 0x260B,
SMSG_RESPOND_INSPECT_ACHIEVEMENTS = 0x2572,
SMSG_RESTART_GLOBAL_COOLDOWN = 0x2C60,
SMSG_RESTRICTED_ACCOUNT_WARNING = 0x25B5,
@@ -1755,20 +1761,20 @@ enum OpcodeServer : uint16
SMSG_RESUME_TOKEN = 0x25A7,
SMSG_RESURRECT_REQUEST = 0x257E,
SMSG_RESYNC_RUNES = 0x2C5F,
- SMSG_RETURN_APPLICANT_LIST = 0x2851,
- SMSG_RETURN_RECRUITING_CLUBS = 0x2850,
+ SMSG_RETURN_APPLICANT_LIST = 0x283E,
+ SMSG_RETURN_RECRUITING_CLUBS = 0x283D,
SMSG_ROLE_CHANGED_INFORM = 0x258D,
SMSG_ROLE_CHOSEN = 0x2A39,
SMSG_ROLE_POLL_INFORM = 0x258E,
- SMSG_RUNEFORGE_LEGENDARY_CRAFTING_OPEN_NPC = 0x27EE,
+ SMSG_RUNEFORGE_LEGENDARY_CRAFTING_OPEN_NPC = 0x27EF,
SMSG_RUNE_REGEN_DEBUG = 0x25B2,
- SMSG_SCENARIO_COMPLETED = 0x27DC,
- SMSG_SCENARIO_POIS = 0x262A,
- SMSG_SCENARIO_PROGRESS_UPDATE = 0x2623,
- SMSG_SCENARIO_SHOW_CRITERIA = 0x27F1,
- SMSG_SCENARIO_STATE = 0x2622,
- SMSG_SCENARIO_UI_UPDATE = 0x27F0,
- SMSG_SCENARIO_VACATE = 0x2797,
+ SMSG_SCENARIO_COMPLETED = 0x27DD,
+ SMSG_SCENARIO_POIS = 0x262B,
+ SMSG_SCENARIO_PROGRESS_UPDATE = 0x2624,
+ SMSG_SCENARIO_SHOW_CRITERIA = 0x27F2,
+ SMSG_SCENARIO_STATE = 0x2623,
+ SMSG_SCENARIO_UI_UPDATE = 0x27F1,
+ SMSG_SCENARIO_VACATE = 0x2798,
SMSG_SCENE_OBJECT_EVENT = 0x25DB,
SMSG_SCENE_OBJECT_PET_BATTLE_FINAL_ROUND = 0x25E0,
SMSG_SCENE_OBJECT_PET_BATTLE_FINISHED = 0x25E1,
@@ -1778,60 +1784,61 @@ enum OpcodeServer : uint16
SMSG_SCENE_OBJECT_PET_BATTLE_ROUND_RESULT = 0x25DE,
SMSG_SCRIPT_CAST = 0x2C56,
SMSG_SEASON_INFO = 0x25BD,
- SMSG_SELL_RESPONSE = 0x26BA,
+ SMSG_SELL_RESPONSE = 0x26BB,
SMSG_SEND_ITEM_PASSIVES = 0x25AA,
SMSG_SEND_KNOWN_SPELLS = 0x2C2A,
- SMSG_SEND_RAID_TARGET_UPDATE_ALL = 0x2625,
- SMSG_SEND_RAID_TARGET_UPDATE_SINGLE = 0x2626,
+ SMSG_SEND_RAID_TARGET_UPDATE_ALL = 0x2626,
+ SMSG_SEND_RAID_TARGET_UPDATE_SINGLE = 0x2627,
SMSG_SEND_SPELL_CHARGES = 0x2C2D,
SMSG_SEND_SPELL_HISTORY = 0x2C2B,
SMSG_SEND_UNLEARN_SPELLS = 0x2C2E,
- SMSG_SERVER_FIRST_ACHIEVEMENTS = 0x2645,
- SMSG_SERVER_TIME = 0x2679,
- SMSG_SERVER_TIME_OFFSET = 0x2707,
+ SMSG_SERVER_FIRST_ACHIEVEMENTS = 0x2646,
+ SMSG_SERVER_TIME = 0x267A,
+ SMSG_SERVER_TIME_OFFSET = 0x2708,
SMSG_SETUP_CURRENCY = 0x2573,
SMSG_SETUP_RESEARCH_HISTORY = 0x2586,
- SMSG_SET_AI_ANIM_KIT = 0x2722,
- SMSG_SET_ALL_TASK_PROGRESS = 0x277E,
- SMSG_SET_ANIM_TIER = 0x2726,
+ SMSG_SET_AI_ANIM_KIT = 0x2723,
+ SMSG_SET_ALL_TASK_PROGRESS = 0x277F,
+ SMSG_SET_ANIM_TIER = 0x2727,
SMSG_SET_CHR_UPGRADE_TIER = 0x25D8,
SMSG_SET_CURRENCY = 0x2574,
SMSG_SET_DF_FAST_LAUNCH_RESULT = 0x2A2E,
- SMSG_SET_DUNGEON_DIFFICULTY = 0x269B,
- SMSG_SET_FACTION_AT_WAR = 0x26F3,
- SMSG_SET_FACTION_NOT_VISIBLE = 0x271D,
- SMSG_SET_FACTION_STANDING = 0x271E,
- SMSG_SET_FACTION_VISIBLE = 0x271C,
+ SMSG_SET_DUNGEON_DIFFICULTY = 0x269C,
+ SMSG_SET_FACTION_AT_WAR = 0x26F4,
+ SMSG_SET_FACTION_NOT_VISIBLE = 0x271E,
+ SMSG_SET_FACTION_STANDING = 0x271F,
+ SMSG_SET_FACTION_VISIBLE = 0x271D,
SMSG_SET_FLAT_SPELL_MODIFIER = 0x2C36,
- SMSG_SET_FORCED_REACTIONS = 0x2710,
+ SMSG_SET_FORCED_REACTIONS = 0x2711,
SMSG_SET_ITEM_PURCHASE_DATA = 0x259D,
- SMSG_SET_LOOT_METHOD_FAILED = 0x27C0,
+ SMSG_SET_LOOT_METHOD_FAILED = 0x27C1,
SMSG_SET_MAX_WEEKLY_QUANTITY = 0x25A0,
- SMSG_SET_MELEE_ANIM_KIT = 0x2725,
- SMSG_SET_MOVEMENT_ANIM_KIT = 0x2724,
+ SMSG_SET_MELEE_ANIM_KIT = 0x2726,
+ SMSG_SET_MOVEMENT_ANIM_KIT = 0x2725,
SMSG_SET_PCT_SPELL_MODIFIER = 0x2C37,
- SMSG_SET_PET_SPECIALIZATION = 0x261C,
+ SMSG_SET_PET_SPECIALIZATION = 0x261D,
SMSG_SET_PLAYER_DECLINED_NAMES_RESULT = 0x3003,
SMSG_SET_PLAY_HOVER_ANIM = 0x25B6,
- SMSG_SET_PROFICIENCY = 0x2727,
- SMSG_SET_QUEST_REPLAY_COOLDOWN_OVERRIDE = 0x2864,
+ SMSG_SET_PROFICIENCY = 0x2728,
+ SMSG_SET_QUEST_REPLAY_COOLDOWN_OVERRIDE = 0x2851,
SMSG_SET_SHIPMENT_READY_RESPONSE = 0x2997,
SMSG_SET_SPELL_CHARGES = 0x2C29,
- SMSG_SET_TASK_COMPLETE = 0x277F,
- SMSG_SET_TIME_ZONE_INFORMATION = 0x266E,
- SMSG_SET_VEHICLE_REC_ID = 0x26EA,
- SMSG_SHADOWLANDS_CAPACITANCE_UPDATE = 0x288B,
+ SMSG_SET_TASK_COMPLETE = 0x2780,
+ SMSG_SET_TIME_ZONE_INFORMATION = 0x266F,
+ SMSG_SET_VEHICLE_REC_ID = 0x26EB,
+ SMSG_SHADOWLANDS_CAPACITANCE_UPDATE = 0x2878,
SMSG_SHIPMENT_FACTION_UPDATE_RESULT = 0x2998,
- SMSG_SHOW_BANK = 0x2676,
- SMSG_SHOW_MAILBOX = 0x2798,
+ SMSG_SHOW_BANK = 0x2677,
+ SMSG_SHOW_MAILBOX = 0x2799,
SMSG_SHOW_NEUTRAL_PLAYER_FACTION_SELECT_UI = 0x25D4,
SMSG_SHOW_QUEST_COMPLETION_TEXT = 0x2A95,
- SMSG_SHOW_TAXI_NODES = 0x26C2,
- SMSG_SHOW_TRADE_SKILL_RESPONSE = 0x2762,
- SMSG_SOCKET_GEMS_FAILURE = 0x271A,
- SMSG_SOCKET_GEMS_SUCCESS = 0x2719,
- SMSG_SPECIAL_MOUNT_ANIM = 0x2696,
- SMSG_SPEC_INVOLUNTARILY_CHANGED = 0x270B,
+ SMSG_SHOW_TAXI_NODES = 0x26C3,
+ SMSG_SHOW_TRADE_SKILL_RESPONSE = 0x2763,
+ SMSG_SOCIAL_CONTRACT_REQUEST_RESPONSE = 0x287D,
+ SMSG_SOCKET_GEMS_FAILURE = 0x271B,
+ SMSG_SOCKET_GEMS_SUCCESS = 0x271A,
+ SMSG_SPECIAL_MOUNT_ANIM = 0x2697,
+ SMSG_SPEC_INVOLUNTARILY_CHANGED = 0x270C,
SMSG_SPELL_ABSORB_LOG = 0x2C1F,
SMSG_SPELL_CATEGORY_COOLDOWN = 0x2C17,
SMSG_SPELL_CHANNEL_START = 0x2C34,
@@ -1857,93 +1864,94 @@ enum OpcodeServer : uint16
SMSG_SPELL_PREPARE = 0x2C38,
SMSG_SPELL_START = 0x2C3A,
SMSG_SPELL_VISUAL_LOAD_SCREEN = 0x25C8,
- SMSG_SPIRIT_HEALER_CONFIRM = 0x2708,
- SMSG_SPLASH_SCREEN_SHOW_LATEST = 0x2876,
- SMSG_STAND_STATE_UPDATE = 0x270F,
- SMSG_START_ELAPSED_TIMER = 0x25FD,
- SMSG_START_ELAPSED_TIMERS = 0x25FF,
- SMSG_START_LIGHTNING_STORM = 0x269E,
- SMSG_START_LOOT_ROLL = 0x2614,
- SMSG_START_MIRROR_TIMER = 0x2702,
+ SMSG_SPIRIT_HEALER_CONFIRM = 0x2709,
+ SMSG_SPLASH_SCREEN_SHOW_LATEST = 0x2863,
+ SMSG_STAND_STATE_UPDATE = 0x2710,
+ SMSG_START_ELAPSED_TIMER = 0x25FE,
+ SMSG_START_ELAPSED_TIMERS = 0x2600,
+ SMSG_START_LIGHTNING_STORM = 0x269F,
+ SMSG_START_LOOT_ROLL = 0x2615,
+ SMSG_START_MIRROR_TIMER = 0x2703,
SMSG_START_TIMER = 0x25A4,
- SMSG_STOP_ELAPSED_TIMER = 0x25FE,
- SMSG_STOP_MIRROR_TIMER = 0x2704,
- SMSG_STOP_SPEAKERBOT_SOUND = 0x275E,
+ SMSG_STOP_ELAPSED_TIMER = 0x25FF,
+ SMSG_STOP_MIRROR_TIMER = 0x2705,
+ SMSG_STOP_SPEAKERBOT_SOUND = 0x275F,
SMSG_STREAMING_MOVIES = 0x25A3,
- SMSG_SUMMON_CANCEL = 0x26A7,
+ SMSG_SUMMON_CANCEL = 0x26A8,
SMSG_SUMMON_RAID_MEMBER_VALIDATE_FAILED = 0x258F,
- SMSG_SUMMON_REQUEST = 0x2714,
+ SMSG_SUMMON_REQUEST = 0x2715,
SMSG_SUPERCEDED_SPELLS = 0x2C4C,
SMSG_SUSPEND_COMMS = 0x304A,
SMSG_SUSPEND_TOKEN = 0x25A6,
- SMSG_SYNC_WOW_ENTITLEMENTS = 0x286E,
- SMSG_TALENTS_INVOLUNTARILY_RESET = 0x270A,
- SMSG_TAXI_NODE_STATUS = 0x2673,
- SMSG_TEXT_EMOTE = 0x2671,
- SMSG_THREAT_CLEAR = 0x26D1,
- SMSG_THREAT_REMOVE = 0x26D0,
- SMSG_THREAT_UPDATE = 0x26CF,
+ SMSG_SYNC_WOW_ENTITLEMENTS = 0x285B,
+ SMSG_TALENTS_INVOLUNTARILY_RESET = 0x270B,
+ SMSG_TAXI_NODE_STATUS = 0x2674,
+ SMSG_TEXT_EMOTE = 0x2672,
+ SMSG_THREAT_CLEAR = 0x26D2,
+ SMSG_THREAT_REMOVE = 0x26D1,
+ SMSG_THREAT_UPDATE = 0x26D0,
SMSG_TIME_ADJUSTMENT = 0x2DD3,
SMSG_TIME_SYNC_REQUEST = 0x2DD2,
- SMSG_TITLE_EARNED = 0x26CC,
- SMSG_TITLE_LOST = 0x26CD,
- SMSG_TOTEM_CREATED = 0x26BD,
- SMSG_TOTEM_DURATION_CHANGED = 0x26BE,
- SMSG_TOTEM_MOVED = 0x26BF,
+ SMSG_TITLE_EARNED = 0x26CD,
+ SMSG_TITLE_LOST = 0x26CE,
+ SMSG_TOTEM_CREATED = 0x26BE,
+ SMSG_TOTEM_DURATION_CHANGED = 0x26BF,
+ SMSG_TOTEM_MOVED = 0x26C0,
SMSG_TRADE_STATUS = 0x2582,
SMSG_TRADE_UPDATED = 0x2581,
- SMSG_TRAINER_BUY_FAILED = 0x26D4,
- SMSG_TRAINER_LIST = 0x26D3,
- SMSG_TRANSFER_ABORTED = 0x26F6,
+ SMSG_TRAINER_BUY_FAILED = 0x26D5,
+ SMSG_TRAINER_LIST = 0x26D4,
+ SMSG_TRANSFER_ABORTED = 0x26F7,
SMSG_TRANSFER_PENDING = 0x25C9,
- SMSG_TRANSMOGRIFY_NPC = 0x27E6,
+ SMSG_TRANSMOGRIFY_NPC = 0x27E7,
SMSG_TREASURE_PICKER_RESPONSE = 0x291F,
- SMSG_TRIGGER_CINEMATIC = 0x27B8,
- SMSG_TRIGGER_MOVIE = 0x26C0,
- SMSG_TURN_IN_PETITION_RESULT = 0x2740,
- SMSG_TUTORIAL_FLAGS = 0x27AB,
+ SMSG_TRIGGER_CINEMATIC = 0x27B9,
+ SMSG_TRIGGER_MOVIE = 0x26C1,
+ SMSG_TURN_IN_PETITION_RESULT = 0x2741,
+ SMSG_TUTORIAL_FLAGS = 0x27AC,
SMSG_TWITTER_STATUS = 0x3043,
- SMSG_UI_HEALING_RANGE_MODIFIED = 0x2736,
- SMSG_UI_ITEM_INTERACTION_NPC = 0x27E8,
+ SMSG_UI_HEALING_RANGE_MODIFIED = 0x2737,
+ SMSG_UI_ITEM_INTERACTION_NPC = 0x27E9,
SMSG_UI_MAP_QUEST_LINES_RESPONSE = 0x2AA2,
- SMSG_UNDELETE_CHARACTER_RESPONSE = 0x27BB,
- SMSG_UNDELETE_COOLDOWN_STATUS_RESPONSE = 0x27BC,
+ SMSG_UNDELETE_CHARACTER_RESPONSE = 0x27BC,
+ SMSG_UNDELETE_COOLDOWN_STATUS_RESPONSE = 0x27BD,
SMSG_UNLEARNED_SPELLS = 0x2C4E,
SMSG_UNLOAD_CHILD_MAP = 0x257A,
- SMSG_UPDATE_AADC_STATUS_RESPONSE = 0x2888,
- SMSG_UPDATE_ACCOUNT_DATA = 0x26FC,
+ SMSG_UPDATE_AADC_STATUS_RESPONSE = 0x2875,
+ SMSG_UPDATE_ACCOUNT_DATA = 0x26FD,
SMSG_UPDATE_ACTION_BUTTONS = 0x25D9,
- SMSG_UPDATE_BNET_SESSION_KEY = 0x2812,
+ SMSG_UPDATE_BNET_SESSION_KEY = 0x2813,
SMSG_UPDATE_CAPTURE_POINT = 0x2929,
- SMSG_UPDATE_CELESTIAL_BODY = 0x280E,
- SMSG_UPDATE_CHARACTER_FLAGS = 0x27B1,
- SMSG_UPDATE_CHARGE_CATEGORY_COOLDOWN = 0x2758,
- SMSG_UPDATE_COOLDOWN = 0x2757,
+ SMSG_UPDATE_CELESTIAL_BODY = 0x280F,
+ SMSG_UPDATE_CHARACTER_FLAGS = 0x27B2,
+ SMSG_UPDATE_CHARGE_CATEGORY_COOLDOWN = 0x2759,
+ SMSG_UPDATE_COOLDOWN = 0x2758,
SMSG_UPDATE_DAILY_MISSION_COUNTER = 0x297F,
- SMSG_UPDATE_EXPANSION_LEVEL = 0x263D,
- SMSG_UPDATE_GAME_TIME_STATE = 0x2815,
- SMSG_UPDATE_INSTANCE_OWNERSHIP = 0x26A0,
- SMSG_UPDATE_LAST_INSTANCE = 0x267F,
- SMSG_UPDATE_OBJECT = 0x27B9,
+ SMSG_UPDATE_EXPANSION_LEVEL = 0x263E,
+ SMSG_UPDATE_GAME_TIME_STATE = 0x2816,
+ SMSG_UPDATE_INSTANCE_OWNERSHIP = 0x26A1,
+ SMSG_UPDATE_LAST_INSTANCE = 0x2680,
+ SMSG_UPDATE_OBJECT = 0x27BA,
SMSG_UPDATE_PRIMARY_SPEC = 0x25D1,
+ SMSG_UPDATE_RECENT_PLAYER_GUIDS = 0x25EF,
SMSG_UPDATE_TALENT_DATA = 0x25D0,
- SMSG_UPDATE_TASK_PROGRESS = 0x277D,
+ SMSG_UPDATE_TASK_PROGRESS = 0x277E,
SMSG_UPDATE_WEEKLY_SPELL_USAGE = 0x2C19,
- SMSG_UPDATE_WORLD_STATE = 0x273A,
+ SMSG_UPDATE_WORLD_STATE = 0x273B,
SMSG_USERLIST_ADD = 0x2BB9,
SMSG_USERLIST_REMOVE = 0x2BBA,
SMSG_USERLIST_UPDATE = 0x2BBB,
- SMSG_USE_EQUIPMENT_SET_RESULT = 0x2741,
- SMSG_VAS_CHECK_TRANSFER_OK_RESPONSE = 0x2809,
- SMSG_VAS_GET_QUEUE_MINUTES_RESPONSE = 0x2807,
- SMSG_VAS_GET_SERVICE_STATUS_RESPONSE = 0x2806,
- SMSG_VAS_PURCHASE_COMPLETE = 0x27E2,
- SMSG_VAS_PURCHASE_STATE_UPDATE = 0x27E1,
+ SMSG_USE_EQUIPMENT_SET_RESULT = 0x2742,
+ SMSG_VAS_CHECK_TRANSFER_OK_RESPONSE = 0x280A,
+ SMSG_VAS_GET_QUEUE_MINUTES_RESPONSE = 0x2808,
+ SMSG_VAS_GET_SERVICE_STATUS_RESPONSE = 0x2807,
+ SMSG_VAS_PURCHASE_COMPLETE = 0x27E3,
+ SMSG_VAS_PURCHASE_STATE_UPDATE = 0x27E2,
SMSG_VENDOR_INVENTORY = 0x25B4,
SMSG_VIGNETTE_UPDATE = 0x3008,
- SMSG_VOICE_CHANNEL_INFO_RESPONSE = 0x280D,
- SMSG_VOICE_CHANNEL_STT_TOKEN_RESPONSE = 0x2882,
- SMSG_VOICE_LOGIN_RESPONSE = 0x280C,
+ SMSG_VOICE_CHANNEL_INFO_RESPONSE = 0x280E,
+ SMSG_VOICE_CHANNEL_STT_TOKEN_RESPONSE = 0x286F,
+ SMSG_VOICE_LOGIN_RESPONSE = 0x280D,
SMSG_VOID_ITEM_SWAP_RESPONSE = 0x2DA4,
SMSG_VOID_STORAGE_CONTENTS = 0x2DA1,
SMSG_VOID_STORAGE_FAILED = 0x2DA0,
@@ -1952,24 +1960,24 @@ enum OpcodeServer : uint16
SMSG_WAIT_QUEUE_FINISH = 0x256F,
SMSG_WAIT_QUEUE_UPDATE = 0x256E,
SMSG_WARDEN3_DATA = 0x2577,
- SMSG_WARDEN3_DISABLED = 0x2810,
- SMSG_WARDEN3_ENABLED = 0x280F,
- SMSG_WARFRONT_COMPLETE = 0x2750,
+ SMSG_WARDEN3_DISABLED = 0x2811,
+ SMSG_WARDEN3_ENABLED = 0x2810,
+ SMSG_WARFRONT_COMPLETE = 0x2751,
SMSG_WARGAME_REQUEST_SUCCESSFULLY_SENT_TO_OPPONENT = 0x2933,
- SMSG_WEATHER = 0x269D,
- SMSG_WEEKLY_REWARDS_PROGRESS_RESULT = 0x2879,
- SMSG_WEEKLY_REWARDS_RESULT = 0x2877,
- SMSG_WEEKLY_REWARD_CLAIM_RESULT = 0x2878,
+ SMSG_WEATHER = 0x269E,
+ SMSG_WEEKLY_REWARDS_PROGRESS_RESULT = 0x2866,
+ SMSG_WEEKLY_REWARDS_RESULT = 0x2864,
+ SMSG_WEEKLY_REWARD_CLAIM_RESULT = 0x2865,
SMSG_WEEKLY_SPELL_USAGE = 0x2C18,
SMSG_WHO = 0x2BAE,
- SMSG_WHO_IS = 0x269C,
- SMSG_WILL_BE_KICKED_FOR_ADDED_SUBSCRIPTION_TIME = 0x2814,
- SMSG_WORLD_MAP_OPEN_NPC = 0x27E5,
+ SMSG_WHO_IS = 0x269D,
+ SMSG_WILL_BE_KICKED_FOR_ADDED_SUBSCRIPTION_TIME = 0x2815,
+ SMSG_WORLD_MAP_OPEN_NPC = 0x27E6,
SMSG_WORLD_QUEST_UPDATE_RESPONSE = 0x300F,
SMSG_WORLD_SERVER_INFO = 0x25AB,
- SMSG_WOW_ENTITLEMENT_NOTIFICATION = 0x286F,
+ SMSG_WOW_ENTITLEMENT_NOTIFICATION = 0x285C,
SMSG_XP_GAIN_ABORTED = 0x25C5,
- SMSG_XP_GAIN_ENABLED = 0x279B,
+ SMSG_XP_GAIN_ENABLED = 0x279C,
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 8762b3d0899..886be10727b 100644
--- a/src/server/game/Server/WorldSession.h
+++ b/src/server/game/Server/WorldSession.h
@@ -137,6 +137,7 @@ namespace WorldPackets
class AuctionPlaceBid;
class AuctionRemoveItem;
class AuctionReplicateItems;
+ class AuctionRequestFavoriteList;
class AuctionSellCommodity;
class AuctionSellItem;
class AuctionSetFavoriteItem;
@@ -697,6 +698,7 @@ namespace WorldPackets
class DelIgnore;
class SendContactList;
class SetContactNotes;
+ class SocialContractRequest;
}
namespace Spells
@@ -1443,6 +1445,7 @@ class TC_GAME_API WorldSession
void HandleAuctionPlaceBid(WorldPackets::AuctionHouse::AuctionPlaceBid& placeBid);
void HandleAuctionRemoveItem(WorldPackets::AuctionHouse::AuctionRemoveItem& removeItem);
void HandleAuctionReplicateItems(WorldPackets::AuctionHouse::AuctionReplicateItems& replicateItems);
+ void HandleAuctionRequestFavoriteList(WorldPackets::AuctionHouse::AuctionRequestFavoriteList& requestFavoriteList);
void HandleAuctionSellCommodity(WorldPackets::AuctionHouse::AuctionSellCommodity& sellCommodity);
void HandleAuctionSellItem(WorldPackets::AuctionHouse::AuctionSellItem& sellItem);
void HandleAuctionSetFavoriteItem(WorldPackets::AuctionHouse::AuctionSetFavoriteItem& setFavoriteItem);
@@ -1820,6 +1823,8 @@ class TC_GAME_API WorldSession
void HandleRequestLatestSplashScreen(WorldPackets::Misc::RequestLatestSplashScreen& requestLatestSplashScreen);
+ void HandleSocialContractRequest(WorldPackets::Social::SocialContractRequest& socialContractRequest);
+
union ConnectToKey
{
struct
diff --git a/src/server/game/Support/SupportMgr.cpp b/src/server/game/Support/SupportMgr.cpp
index e72f9098ad0..eca5ee4da0c 100644
--- a/src/server/game/Support/SupportMgr.cpp
+++ b/src/server/game/Support/SupportMgr.cpp
@@ -175,14 +175,18 @@ std::string BugTicket::FormatViewMessageString(ChatHandler& handler, bool detail
return ss.str();
}
-ComplaintTicket::ComplaintTicket() : _complaintType(GMTICKET_SUPPORT_COMPLAINT_TYPE_NONE) { }
+ComplaintTicket::ComplaintTicket() : _reportType(ReportType::Chat), _majorCategory(ReportMajorCategory::InappropriateCommunication),
+ _minorCategoryFlags(ReportMinorCategory::TextChat)
+{
+}
-ComplaintTicket::ComplaintTicket(Player* player) : Ticket(player), _complaintType(GMTICKET_SUPPORT_COMPLAINT_TYPE_NONE)
+ComplaintTicket::ComplaintTicket(Player* player) : Ticket(player), _reportType(ReportType::Chat), _majorCategory(ReportMajorCategory::InappropriateCommunication),
+ _minorCategoryFlags(ReportMinorCategory::TextChat)
{
_id = sSupportMgr->GenerateComplaintId();
}
-ComplaintTicket::~ComplaintTicket() { }
+ComplaintTicket::~ComplaintTicket() = default;
void ComplaintTicket::LoadFromDB(Field* fields)
{
@@ -197,7 +201,9 @@ void ComplaintTicket::LoadFromDB(Field* fields)
_pos.m_positionZ = fields[++idx].GetFloat();
_pos.SetOrientation(fields[++idx].GetFloat());
_targetCharacterGuid = ObjectGuid::Create<HighGuid::Player>(fields[++idx].GetUInt64());
- _complaintType = GMSupportComplaintType(fields[++idx].GetUInt8());
+ _reportType = ReportType(fields[++idx].GetInt32());
+ _majorCategory = ReportMajorCategory(fields[++idx].GetInt32());
+ _minorCategoryFlags = ReportMinorCategory(fields[++idx].GetInt32());
int32 reportLineIndex = fields[++idx].GetInt32();
if (reportLineIndex != -1)
_chatLog.ReportLineIndex = reportLineIndex;
@@ -240,7 +246,9 @@ void ComplaintTicket::SaveToDB() const
stmt->setFloat(++idx, _pos.GetPositionZ());
stmt->setFloat(++idx, _pos.GetOrientation());
stmt->setUInt64(++idx, _targetCharacterGuid.GetCounter());
- stmt->setUInt8(++idx, _complaintType);
+ stmt->setInt32(++idx, AsUnderlyingType(_reportType));
+ stmt->setInt32(++idx, AsUnderlyingType(_majorCategory));
+ stmt->setInt32(++idx, AsUnderlyingType(_minorCategoryFlags));
if (_chatLog.ReportLineIndex)
stmt->setInt32(++idx, *_chatLog.ReportLineIndex);
else
diff --git a/src/server/game/Support/SupportMgr.h b/src/server/game/Support/SupportMgr.h
index f1a141c7474..f8582ebb6d0 100644
--- a/src/server/game/Support/SupportMgr.h
+++ b/src/server/game/Support/SupportMgr.h
@@ -25,6 +25,51 @@ class ChatHandler;
class Field;
class Player;
+enum class ReportType : int32
+{
+ Chat = 0,
+ InWorld = 1,
+ ClubFinderPosting = 2,
+ ClubFinderApplicant = 3,
+ GroupFinderPosting = 4,
+ GroupFinderApplicant = 5,
+ ClubMember = 6,
+ GroupMember = 7,
+ Friend = 8,
+ Pet = 9,
+ BattlePet = 10,
+ Calendar = 11,
+ Mail = 12,
+ PvP = 13,
+};
+
+enum class ReportMajorCategory : int32
+{
+ InappropriateCommunication = 0,
+ GameplaySabotage = 1,
+ Cheating = 2,
+ InappropriateName = 3,
+};
+
+enum class ReportMinorCategory : int32
+{
+ TextChat = 0x0001,
+ Boosting = 0x0002,
+ Spam = 0x0004,
+ Afk = 0x0008,
+ IntentionallyFeeding = 0x0010,
+ BlockingProgress = 0x0020,
+ Hacking = 0x0040,
+ Botting = 0x0080,
+ Advertisement = 0x0100,
+ BTag = 0x0200,
+ GroupName = 0x0400,
+ CharacterName = 0x0800,
+ GuildName = 0x1000,
+ Description = 0x2000,
+ Name = 0x4000,
+};
+
// from blizzard lua
enum GMTicketSystemStatus
{
@@ -32,16 +77,6 @@ enum GMTicketSystemStatus
GMTICKET_QUEUE_STATUS_ENABLED = 1
};
-enum GMSupportComplaintType
-{
- GMTICKET_SUPPORT_COMPLAINT_TYPE_NONE = 0,
- GMTICKET_SUPPORT_COMPLAINT_TYPE_LANGUAGE = 2,
- GMTICKET_SUPPORT_COMPLAINT_TYPE_PLAYERNAME = 4,
- GMTICKET_SUPPORT_COMPLAINT_TYPE_CHEAT = 15,
- GMTICKET_SUPPORT_COMPLAINT_TYPE_GUILDNAME = 23,
- GMTICKET_SUPPORT_COMPLAINT_TYPE_SPAMMING = 24
-};
-
enum SupportSpamType
{
SUPPORT_SPAM_TYPE_MAIL = 0,
@@ -134,14 +169,18 @@ public:
~ComplaintTicket();
ObjectGuid GetTargetCharacterGuid() const { return _targetCharacterGuid; }
- GMSupportComplaintType GetComplaintType() const { return _complaintType; }
+ ReportType GetReportType() const { return _reportType; }
+ ReportMajorCategory GetMajorCategory() const { return _majorCategory; }
+ ReportMinorCategory GetMinorCategoryFlags() const { return _minorCategoryFlags; }
std::string const& GetNote() const { return _note; }
void SetTargetCharacterGuid(ObjectGuid targetCharacterGuid)
{
_targetCharacterGuid = targetCharacterGuid;
}
- void SetComplaintType(GMSupportComplaintType type) { _complaintType = type; }
+ void SetReportType(ReportType reportType) { _reportType = reportType; }
+ void SetMajorCategory(ReportMajorCategory majorCategory) { _majorCategory = majorCategory; }
+ void SetMinorCategoryFlags(ReportMinorCategory minorCategoryFlags) { _minorCategoryFlags = minorCategoryFlags; }
void SetChatLog(ChatLog const& log) { _chatLog = log; }
void SetNote(std::string const& note) { _note = note; }
@@ -155,7 +194,9 @@ public:
private:
ObjectGuid _targetCharacterGuid;
- GMSupportComplaintType _complaintType;
+ ReportType _reportType;
+ ReportMajorCategory _majorCategory;
+ ReportMinorCategory _minorCategoryFlags;
ChatLog _chatLog;
std::string _note;
};