diff options
author | Shauren <shauren.trinity@gmail.com> | 2017-11-11 17:11:00 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2017-12-30 00:23:43 +0100 |
commit | 20a3c9eed2b201e36333a83e3b2d28d6f16d69bd (patch) | |
tree | 3b2709f61f841d9b32ced513f7bc5abc04649ff2 | |
parent | 90834606a23a673080c17795f605298835c728af (diff) |
Core/PacketIO: Update opcodes to 7.3.2
23 files changed, 1154 insertions, 1104 deletions
diff --git a/sql/base/auth_database.sql b/sql/base/auth_database.sql index 0506047fb8d..38b67fdb93b 100644 --- a/sql/base/auth_database.sql +++ b/sql/base/auth_database.sql @@ -26,7 +26,7 @@ CREATE TABLE `account` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'Identifier', `username` varchar(32) NOT NULL DEFAULT '', `sha_pass_hash` varchar(40) NOT NULL DEFAULT '', - `sessionkey` varchar(80) NOT NULL DEFAULT '', + `sessionkey` varchar(128) NOT NULL DEFAULT '', `v` varchar(64) NOT NULL DEFAULT '', `s` varchar(64) NOT NULL DEFAULT '', `token_key` varchar(100) NOT NULL DEFAULT '', diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 6983f0b8c49..321402ccce3 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -1620,6 +1620,7 @@ bool Player::TeleportTo(uint32 mapid, float x, float y, float z, float orientati // send transfer packets WorldPackets::Movement::TransferPending transferPending; transferPending.MapID = mapid; + transferPending.OldMapPosition = GetPosition(); if (Transport* transport = GetTransport()) { transferPending.Ship = boost::in_place(); diff --git a/src/server/game/Entities/Player/PlayerTaxi.cpp b/src/server/game/Entities/Player/PlayerTaxi.cpp index 1b6accbc88a..36b9b688929 100644 --- a/src/server/game/Entities/Player/PlayerTaxi.cpp +++ b/src/server/game/Entities/Player/PlayerTaxi.cpp @@ -110,9 +110,15 @@ void PlayerTaxi::LoadTaxiMask(std::string const &data) void PlayerTaxi::AppendTaximaskTo(WorldPackets::Taxi::ShowTaxiNodes& data, bool all) { if (all) - data.Nodes = &sTaxiNodesMask; // all existed nodes + { + data.CanLandNodes = &sTaxiNodesMask; // all existed nodes + data.CanUseNodes = &sTaxiNodesMask; + } else - data.Nodes = &m_taximask; // known nodes + { + data.CanLandNodes = &m_taximask; // known nodes + data.CanUseNodes = &m_taximask; + } } bool PlayerTaxi::LoadTaxiDestinationsFromString(const std::string& values, uint32 team) diff --git a/src/server/game/Handlers/HotfixHandler.cpp b/src/server/game/Handlers/HotfixHandler.cpp index 59295e2ecb6..01fe2cf9b61 100644 --- a/src/server/game/Handlers/HotfixHandler.cpp +++ b/src/server/game/Handlers/HotfixHandler.cpp @@ -54,15 +54,15 @@ void WorldSession::HandleDBQueryBulk(WorldPackets::Hotfix::DBQueryBulk& dbQuery) } } -void WorldSession::SendHotfixList(int32 version) +void WorldSession::SendAvailableHotfixes(int32 version) { - SendPacket(WorldPackets::Hotfix::HotfixList(version, sDB2Manager.GetHotfixData()).Write()); + SendPacket(WorldPackets::Hotfix::AvailableHotfixes(version, sDB2Manager.GetHotfixData()).Write()); } -void WorldSession::HandleHotfixQuery(WorldPackets::Hotfix::HotfixQuery& hotfixQuery) +void WorldSession::HandleHotfixRequest(WorldPackets::Hotfix::HotfixRequest& hotfixQuery) { std::map<uint64, int32> const& hotfixes = sDB2Manager.GetHotfixData(); - WorldPackets::Hotfix::HotfixQueryResponse hotfixQueryResponse; + WorldPackets::Hotfix::HotfixResponse hotfixQueryResponse; hotfixQueryResponse.Hotfixes.reserve(hotfixQuery.Hotfixes.size()); for (uint64 hotfixId : hotfixQuery.Hotfixes) { @@ -70,7 +70,7 @@ void WorldSession::HandleHotfixQuery(WorldPackets::Hotfix::HotfixQuery& hotfixQu { DB2StorageBase const* storage = sDB2Manager.GetStorage(PAIR64_HIPART(hotfixId)); - WorldPackets::Hotfix::HotfixQueryResponse::HotfixData hotfixData; + WorldPackets::Hotfix::HotfixResponse::HotfixData hotfixData; hotfixData.ID = hotfixId; hotfixData.RecordID = *hotfix; if (storage->HasRecord(hotfixData.RecordID)) diff --git a/src/server/game/Handlers/ToyHandler.cpp b/src/server/game/Handlers/ToyHandler.cpp index 7e1348417e8..58b67c36f0b 100644 --- a/src/server/game/Handlers/ToyHandler.cpp +++ b/src/server/game/Handlers/ToyHandler.cpp @@ -53,11 +53,12 @@ void WorldSession::HandleAddToy(WorldPackets::Toy::AddToy& packet) void WorldSession::HandleUseToy(WorldPackets::Toy::UseToy& packet) { - ItemTemplate const* item = sObjectMgr->GetItemTemplate(packet.ItemID); + uint32 itemId = packet.Cast.Misc[0]; + ItemTemplate const* item = sObjectMgr->GetItemTemplate(itemId); if (!item) return; - if (!_collectionMgr->HasToy(packet.ItemID)) + if (!_collectionMgr->HasToy(itemId)) return; auto effect = std::find_if(item->Effects.begin(), item->Effects.end(), [&packet](ItemEffectEntry const* effect) @@ -71,7 +72,7 @@ void WorldSession::HandleUseToy(WorldPackets::Toy::UseToy& packet) SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(packet.Cast.SpellID); if (!spellInfo) { - TC_LOG_ERROR("network", "HandleUseToy: unknown spell id: %u used by Toy Item entry %u", packet.Cast.SpellID, packet.ItemID); + TC_LOG_ERROR("network", "HandleUseToy: unknown spell id: %u used by Toy Item entry %u", packet.Cast.SpellID, itemId); return; } @@ -88,7 +89,7 @@ void WorldSession::HandleUseToy(WorldPackets::Toy::UseToy& packet) SendPacket(spellPrepare.Write()); spell->m_fromClient = true; - spell->m_castItemEntry = packet.ItemID; + spell->m_castItemEntry = itemId; spell->m_misc.Raw.Data[0] = packet.Cast.Misc[0]; spell->m_misc.Raw.Data[1] = packet.Cast.Misc[1]; spell->m_castFlagsEx |= CAST_FLAG_EX_USE_TOY_SPELL; diff --git a/src/server/game/Server/Packets/HotfixPackets.cpp b/src/server/game/Server/Packets/HotfixPackets.cpp index 43517ad8146..f7a0d27808c 100644 --- a/src/server/game/Server/Packets/HotfixPackets.cpp +++ b/src/server/game/Server/Packets/HotfixPackets.cpp @@ -44,7 +44,7 @@ WorldPacket const* WorldPackets::Hotfix::DBReply::Write() return &_worldPacket; } -WorldPacket const* WorldPackets::Hotfix::HotfixList::Write() +WorldPacket const* WorldPackets::Hotfix::AvailableHotfixes::Write() { _worldPacket << int32(HotfixCacheVersion); _worldPacket << uint32(Hotfixes.size()); @@ -54,7 +54,7 @@ WorldPacket const* WorldPackets::Hotfix::HotfixList::Write() return &_worldPacket; } -void WorldPackets::Hotfix::HotfixQuery::Read() +void WorldPackets::Hotfix::HotfixRequest::Read() { uint32 hotfixCount = _worldPacket.read<uint32>(); if (hotfixCount > sDB2Manager.GetHotfixData().size()) @@ -65,7 +65,7 @@ void WorldPackets::Hotfix::HotfixQuery::Read() _worldPacket >> hotfixId; } -ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Hotfix::HotfixQueryResponse::HotfixData const& hotfixData) +ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Hotfix::HotfixResponse::HotfixData const& hotfixData) { data << uint64(hotfixData.ID); data << int32(hotfixData.RecordID); @@ -81,7 +81,7 @@ ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Hotfix::HotfixQueryRespon return data; } -WorldPacket const* WorldPackets::Hotfix::HotfixQueryResponse::Write() +WorldPacket const* WorldPackets::Hotfix::HotfixResponse::Write() { _worldPacket << uint32(Hotfixes.size()); for (HotfixData const& hotfix : Hotfixes) diff --git a/src/server/game/Server/Packets/HotfixPackets.h b/src/server/game/Server/Packets/HotfixPackets.h index c0c0cb4232d..d3873c3309f 100644 --- a/src/server/game/Server/Packets/HotfixPackets.h +++ b/src/server/game/Server/Packets/HotfixPackets.h @@ -59,11 +59,11 @@ namespace WorldPackets ByteBuffer Data; }; - class HotfixList final : public ServerPacket + class AvailableHotfixes final : public ServerPacket { public: - HotfixList(int32 hotfixCacheVersion, std::map<uint64, int32> const& hotfixes) - : ServerPacket(SMSG_HOTFIX_LIST), HotfixCacheVersion(hotfixCacheVersion), Hotfixes(hotfixes) { } + AvailableHotfixes(int32 hotfixCacheVersion, std::map<uint64, int32> const& hotfixes) + : ServerPacket(SMSG_AVAILABLE_HOTFIXES), HotfixCacheVersion(hotfixCacheVersion), Hotfixes(hotfixes) { } WorldPacket const* Write() override; @@ -71,17 +71,17 @@ namespace WorldPackets std::map<uint64, int32> const& Hotfixes; }; - class HotfixQuery final : public ClientPacket + class HotfixRequest final : public ClientPacket { public: - HotfixQuery(WorldPacket&& packet) : ClientPacket(CMSG_HOTFIX_QUERY, std::move(packet)) { } + HotfixRequest(WorldPacket&& packet) : ClientPacket(CMSG_HOTFIX_REQUEST, std::move(packet)) { } void Read() override; std::vector<uint64> Hotfixes; }; - class HotfixQueryResponse final : public ServerPacket + class HotfixResponse final : public ServerPacket { public: struct HotfixData @@ -91,7 +91,7 @@ namespace WorldPackets Optional<ByteBuffer> Data; }; - HotfixQueryResponse() : ServerPacket(SMSG_HOTFIX_QUERY_RESPONSE) { } + HotfixResponse() : ServerPacket(SMSG_HOTFIX_RESPONSE) { } WorldPacket const* Write() override; diff --git a/src/server/game/Server/Packets/LFGPackets.cpp b/src/server/game/Server/Packets/LFGPackets.cpp index ddc18719815..77bdc988229 100644 --- a/src/server/game/Server/Packets/LFGPackets.cpp +++ b/src/server/game/Server/Packets/LFGPackets.cpp @@ -378,6 +378,7 @@ WorldPacket const* WorldPackets::LFG::LFGProposalUpdate::Write() _worldPacket << uint32(Slot); _worldPacket << int8(State); _worldPacket << uint32(CompletedMask); + _worldPacket << uint32(EncounterMask); _worldPacket << uint32(Players.size()); _worldPacket << uint8(Unused); _worldPacket.WriteBit(ValidCompletedMask); diff --git a/src/server/game/Server/Packets/LFGPackets.h b/src/server/game/Server/Packets/LFGPackets.h index a7900c3509c..fb7b4971648 100644 --- a/src/server/game/Server/Packets/LFGPackets.h +++ b/src/server/game/Server/Packets/LFGPackets.h @@ -395,6 +395,7 @@ namespace WorldPackets uint32 Slot = 0; int8 State = 0; uint32 CompletedMask = 0; + uint32 EncounterMask = 0; uint8 Unused = 0; bool ValidCompletedMask = false; bool ProposalSilent = false; diff --git a/src/server/game/Server/Packets/MovementPackets.h b/src/server/game/Server/Packets/MovementPackets.h index 51687f75e74..36de074dd28 100644 --- a/src/server/game/Server/Packets/MovementPackets.h +++ b/src/server/game/Server/Packets/MovementPackets.h @@ -199,6 +199,7 @@ namespace WorldPackets WorldPacket const* Write() override; int32 MapID = -1; + TaggedPosition<Position::XYZ> OldMapPosition; Optional<ShipTransferPending> Ship; Optional<int32> TransferSpellID; }; diff --git a/src/server/game/Server/Packets/SpellPackets.cpp b/src/server/game/Server/Packets/SpellPackets.cpp index 30a2f7e2b73..36f567a357b 100644 --- a/src/server/game/Server/Packets/SpellPackets.cpp +++ b/src/server/game/Server/Packets/SpellPackets.cpp @@ -372,7 +372,7 @@ ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Spells::SpellCastData con data << uint8(spellCastData.DestLocSpellCastIndex); data << spellCastData.Immunities; data << spellCastData.Predict; - data.WriteBits(spellCastData.CastFlagsEx, 22); + data.WriteBits(spellCastData.CastFlagsEx, 23); data.WriteBits(spellCastData.HitTargets.size(), 16); data.WriteBits(spellCastData.MissTargets.size(), 16); data.WriteBits(spellCastData.MissStatus.size(), 16); diff --git a/src/server/game/Server/Packets/SystemPackets.cpp b/src/server/game/Server/Packets/SystemPackets.cpp index 1b85ba77e31..7bbc6576504 100644 --- a/src/server/game/Server/Packets/SystemPackets.cpp +++ b/src/server/game/Server/Packets/SystemPackets.cpp @@ -35,6 +35,8 @@ WorldPacket const* WorldPackets::System::FeatureSystemStatus::Write() _worldPacket << uint32(TokenRedeemIndex); _worldPacket << int64(TokenBalanceAmount); + _worldPacket << uint32(BpayStoreProductDeliveryDelay); + _worldPacket.WriteBit(VoiceEnabled); _worldPacket.WriteBit(EuropaTicketSystemStatus.is_initialized()); _worldPacket.WriteBit(ScrollOfResurrectionEnabled); @@ -131,11 +133,15 @@ WorldPacket const* WorldPackets::System::FeatureSystemStatusGlueScreen::Write() _worldPacket.WriteBit(false); // not accessed in handler _worldPacket.WriteBit(TrialBoostEnabled); _worldPacket.WriteBit(TokenBalanceEnabled); + _worldPacket.WriteBit(LiveRegionCharacterListEnabled); + _worldPacket.WriteBit(LiveRegionCharacterCopyEnabled); + _worldPacket.WriteBit(LiveRegionAccountCopyEnabled); _worldPacket.FlushBits(); _worldPacket << int32(TokenPollTimeSeconds); _worldPacket << int32(TokenRedeemIndex); _worldPacket << int64(TokenBalanceAmount); + _worldPacket << uint32(BpayStoreProductDeliveryDelay); return &_worldPacket; } diff --git a/src/server/game/Server/Packets/SystemPackets.h b/src/server/game/Server/Packets/SystemPackets.h index 7440bebd853..cbacafa7820 100644 --- a/src/server/game/Server/Packets/SystemPackets.h +++ b/src/server/game/Server/Packets/SystemPackets.h @@ -102,6 +102,7 @@ namespace WorldPackets uint32 TokenPollTimeSeconds = 0; uint32 TokenRedeemIndex = 0; int64 TokenBalanceAmount = 0; + uint32 BpayStoreProductDeliveryDelay = 0; bool ItemRestorationButtonEnabled = false; bool CharUndeleteEnabled = false; ///< Implemented bool BpayStoreDisabledByParentalControls = false; @@ -140,9 +141,13 @@ namespace WorldPackets bool CompetitiveModeEnabled = false; // NYI bool TrialBoostEnabled = false; // NYI bool TokenBalanceEnabled = false; // NYI + bool LiveRegionCharacterListEnabled = false; // NYI + bool LiveRegionCharacterCopyEnabled = false; // NYI + bool LiveRegionAccountCopyEnabled = false; // NYI int32 TokenPollTimeSeconds = 0; // NYI int32 TokenRedeemIndex = 0; // NYI int64 TokenBalanceAmount = 0; // NYI + uint32 BpayStoreProductDeliveryDelay = 0; // NYI }; class MOTD final : public ServerPacket diff --git a/src/server/game/Server/Packets/TaxiPackets.cpp b/src/server/game/Server/Packets/TaxiPackets.cpp index d270347605d..85d68b30da4 100644 --- a/src/server/game/Server/Packets/TaxiPackets.cpp +++ b/src/server/game/Server/Packets/TaxiPackets.cpp @@ -36,7 +36,8 @@ WorldPacket const* WorldPackets::Taxi::ShowTaxiNodes::Write() _worldPacket.WriteBit(WindowInfo.is_initialized()); _worldPacket.FlushBits(); - _worldPacket << uint32(Nodes->size()); + _worldPacket << uint32(CanLandNodes->size()); + _worldPacket << uint32(CanUseNodes->size()); if (WindowInfo.is_initialized()) { @@ -44,7 +45,8 @@ WorldPacket const* WorldPackets::Taxi::ShowTaxiNodes::Write() _worldPacket << uint32(WindowInfo->CurrentNode); } - _worldPacket.append(Nodes->data(), Nodes->size()); + _worldPacket.append(CanLandNodes->data(), CanLandNodes->size()); + _worldPacket.append(CanUseNodes->data(), CanUseNodes->size()); return &_worldPacket; } diff --git a/src/server/game/Server/Packets/TaxiPackets.h b/src/server/game/Server/Packets/TaxiPackets.h index 0acba3d2f73..8e94f3c1f60 100644 --- a/src/server/game/Server/Packets/TaxiPackets.h +++ b/src/server/game/Server/Packets/TaxiPackets.h @@ -62,7 +62,8 @@ namespace WorldPackets WorldPacket const* Write() override; Optional<ShowTaxiNodesWindowInfo> WindowInfo; - TaxiMask const* Nodes = nullptr; + TaxiMask const* CanLandNodes = nullptr; // Nodes known by player + TaxiMask const* CanUseNodes = nullptr; // Nodes available for use - this can temporarily disable a known node }; class EnableTaxiNode final : public ClientPacket diff --git a/src/server/game/Server/Packets/ToyPackets.cpp b/src/server/game/Server/Packets/ToyPackets.cpp index 520511e36b9..188ab3b500a 100644 --- a/src/server/game/Server/Packets/ToyPackets.cpp +++ b/src/server/game/Server/Packets/ToyPackets.cpp @@ -24,7 +24,6 @@ void WorldPackets::Toy::AddToy::Read() void WorldPackets::Toy::UseToy::Read() { - _worldPacket >> ItemID; _worldPacket >> Cast; } diff --git a/src/server/game/Server/Packets/ToyPackets.h b/src/server/game/Server/Packets/ToyPackets.h index 37f79fbe803..caa73d879b0 100644 --- a/src/server/game/Server/Packets/ToyPackets.h +++ b/src/server/game/Server/Packets/ToyPackets.h @@ -43,7 +43,6 @@ namespace WorldPackets void Read() override; WorldPackets::Spells::SpellCastRequest Cast; - uint32 ItemID = 0; }; class AccountToysUpdate final : public ServerPacket diff --git a/src/server/game/Server/Protocol/Opcodes.cpp b/src/server/game/Server/Protocol/Opcodes.cpp index e098e3effa4..5796215cbe8 100644 --- a/src/server/game/Server/Protocol/Opcodes.cpp +++ b/src/server/game/Server/Protocol/Opcodes.cpp @@ -161,6 +161,9 @@ void OpcodeTable::Initialize() DEFINE_HANDLER(CMSG_AREA_SPIRIT_HEALER_QUEUE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAreaSpiritHealerQueueOpcode); DEFINE_HANDLER(CMSG_AREA_TRIGGER, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAreaTriggerOpcode); DEFINE_HANDLER(CMSG_ARTIFACT_ADD_POWER, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleArtifactAddPower); + DEFINE_HANDLER(CMSG_ARTIFACT_ADD_RELIC_TALENT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); + DEFINE_HANDLER(CMSG_ARTIFACT_ATTUNE_PREVIEW_RELIC, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); + DEFINE_HANDLER(CMSG_ARTIFACT_ATTUNE_SOCKETED_RELIC, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_ARTIFACT_SET_APPEARANCE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleArtifactSetAppearance); DEFINE_HANDLER(CMSG_ATTACK_STOP, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleAttackStopOpcode); DEFINE_HANDLER(CMSG_ATTACK_SWING, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleAttackSwingOpcode); @@ -461,7 +464,7 @@ void OpcodeTable::Initialize() DEFINE_HANDLER(CMSG_GUILD_UPDATE_INFO_TEXT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleGuildUpdateInfoText); DEFINE_HANDLER(CMSG_GUILD_UPDATE_MOTD_TEXT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleGuildUpdateMotdText); DEFINE_HANDLER(CMSG_HEARTH_AND_RESURRECT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleHearthAndResurrect); - DEFINE_HANDLER(CMSG_HOTFIX_QUERY, STATUS_AUTHED, PROCESS_THREADUNSAFE, &WorldSession::HandleHotfixQuery); + DEFINE_HANDLER(CMSG_HOTFIX_REQUEST, STATUS_AUTHED, PROCESS_THREADUNSAFE, &WorldSession::HandleHotfixRequest); DEFINE_HANDLER(CMSG_IGNORE_TRADE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleIgnoreTradeOpcode); DEFINE_HANDLER(CMSG_INITIATE_ROLE_POLL, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleInitiateRolePoll); DEFINE_HANDLER(CMSG_INITIATE_TRADE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleInitiateTradeOpcode); @@ -682,6 +685,9 @@ void OpcodeTable::Initialize() DEFINE_HANDLER(CMSG_REPAIR_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleRepairItemOpcode); DEFINE_HANDLER(CMSG_REPLACE_TROPHY, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_REPOP_REQUEST, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleRepopRequest); + DEFINE_HANDLER(CMSG_REPORT_CLIENT_VARIABLES, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); + DEFINE_HANDLER(CMSG_REPORT_ENABLED_ADDONS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); + DEFINE_HANDLER(CMSG_REPORT_KEYBINDING_EXECUTION_COUNTS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_REPORT_PVP_PLAYER_AFK, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleReportPvPAFK); DEFINE_HANDLER(CMSG_REQUEST_ACCOUNT_DATA, STATUS_AUTHED, PROCESS_THREADUNSAFE, &WorldSession::HandleRequestAccountData); DEFINE_HANDLER(CMSG_REQUEST_AREA_POI_UPDATE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); @@ -718,9 +724,7 @@ void OpcodeTable::Initialize() DEFINE_HANDLER(CMSG_RESURRECT_RESPONSE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleResurrectResponse); DEFINE_HANDLER(CMSG_REVERT_MONUMENT_APPEARANCE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_RIDE_VEHICLE_INTERACT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleRideVehicleInteract); - DEFINE_HANDLER(CMSG_SAVE_CLIENT_VARIABLES, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_SAVE_CUF_PROFILES, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleSaveCUFProfiles); - DEFINE_HANDLER(CMSG_SAVE_ENABLED_ADDONS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_SAVE_EQUIPMENT_SET, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleEquipmentSetSave); DEFINE_HANDLER(CMSG_SAVE_GUILD_EMBLEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSaveGuildEmblem); DEFINE_HANDLER(CMSG_SCENE_PLAYBACK_CANCELED, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleScenePlaybackCanceled); @@ -889,6 +893,7 @@ void OpcodeTable::Initialize() DEFINE_SERVER_OPCODE_HANDLER(SMSG_ARENA_ERROR, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_ARENA_PREP_OPPONENT_SPECIALIZATIONS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_ARTIFACT_FORGE_OPENED, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_ARTIFACT_KNOWLEDGE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_ARTIFACT_RESPEC_CONFIRM, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_ARTIFACT_TRAITS_REFUNDED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_ARTIFACT_XP_GAIN, STATUS_NEVER, CONNECTION_TYPE_REALM); @@ -912,6 +917,7 @@ void OpcodeTable::Initialize() DEFINE_SERVER_OPCODE_HANDLER(SMSG_AURA_UPDATE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_AUTH_CHALLENGE, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_AUTH_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_AVAILABLE_HOTFIXES, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_BAN_REASON, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_BARBER_SHOP_RESULT, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLEFIELD_LIST, STATUS_NEVER, CONNECTION_TYPE_REALM); @@ -1090,7 +1096,6 @@ void OpcodeTable::Initialize() DEFINE_SERVER_OPCODE_HANDLER(SMSG_CUSTOM_LOAD_SCREEN, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_DAILY_QUESTS_RESET, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_DAMAGE_CALC_LOG, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_DANCE_STUDIO_CREATE_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_DB_REPLY, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_DEATH_RELEASE_LOC, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_DEFENSE_MESSAGE, STATUS_NEVER, CONNECTION_TYPE_REALM); @@ -1268,9 +1273,8 @@ void OpcodeTable::Initialize() DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_SEND_RANK_CHANGE, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_HEALTH_UPDATE, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_HIGHEST_THREAT_UPDATE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_HOTFIXES, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_HOTFIX_LIST, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_HOTFIX_QUERY_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_HOTFIX_MESSAGE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_HOTFIX_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_INITIALIZE_FACTIONS, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_INITIAL_SETUP, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_INIT_WORLD_STATES, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); diff --git a/src/server/game/Server/Protocol/Opcodes.h b/src/server/game/Server/Protocol/Opcodes.h index 552d5e6ef43..710ec3a1b6b 100644 --- a/src/server/game/Server/Protocol/Opcodes.h +++ b/src/server/game/Server/Protocol/Opcodes.h @@ -45,36 +45,39 @@ enum OpcodeMisc : uint16 enum OpcodeClient : uint16 { - CMSG_ACCEPT_GUILD_INVITE = 0x35FD, - CMSG_ACCEPT_LEVEL_GRANT = 0x34EF, + CMSG_ACCEPT_GUILD_INVITE = 0x35FC, + CMSG_ACCEPT_LEVEL_GRANT = 0x34FD, CMSG_ACCEPT_TRADE = 0x315A, CMSG_ACCEPT_WARGAME_INVITE = 0x35E0, - CMSG_ACTIVATE_TAXI = 0x34AC, + CMSG_ACTIVATE_TAXI = 0x34AE, CMSG_ADDON_LIST = 0x35D8, - CMSG_ADD_BATTLENET_FRIEND = 0x365D, - CMSG_ADD_FRIEND = 0x36D2, - CMSG_ADD_IGNORE = 0x36D6, - CMSG_ADD_TOY = 0x327D, - CMSG_ADVENTURE_JOURNAL_OPEN_QUEST = 0x31EF, - CMSG_ADVENTURE_JOURNAL_START_QUEST = 0x3325, - CMSG_ALTER_APPEARANCE = 0x34EB, - CMSG_AREA_SPIRIT_HEALER_QUERY = 0x34B1, - CMSG_AREA_SPIRIT_HEALER_QUEUE = 0x34B2, - CMSG_AREA_TRIGGER = 0x31C5, + CMSG_ADD_BATTLENET_FRIEND = 0x365C, + CMSG_ADD_FRIEND = 0x36D1, + CMSG_ADD_IGNORE = 0x36D5, + CMSG_ADD_TOY = 0x3287, + CMSG_ADVENTURE_JOURNAL_OPEN_QUEST = 0x31F7, + CMSG_ADVENTURE_JOURNAL_START_QUEST = 0x332B, + CMSG_ALTER_APPEARANCE = 0x34F9, + CMSG_AREA_SPIRIT_HEALER_QUERY = 0x34B3, + CMSG_AREA_SPIRIT_HEALER_QUEUE = 0x34B4, + CMSG_AREA_TRIGGER = 0x31CC, CMSG_ARTIFACT_ADD_POWER = 0x31A5, + CMSG_ARTIFACT_ADD_RELIC_TALENT = 0x31A8, + CMSG_ARTIFACT_ATTUNE_PREVIEW_RELIC = 0x31A9, + CMSG_ARTIFACT_ATTUNE_SOCKETED_RELIC = 0x31AA, CMSG_ARTIFACT_SET_APPEARANCE = 0x31A7, - CMSG_ASSIGN_EQUIPMENT_SET_SPEC = 0x31F6, - CMSG_ATTACK_STOP = 0x3240, - CMSG_ATTACK_SWING = 0x323F, - CMSG_AUCTION_HELLO_REQUEST = 0x34C1, - CMSG_AUCTION_LIST_BIDDER_ITEMS = 0x34C7, - CMSG_AUCTION_LIST_ITEMS = 0x34C4, - CMSG_AUCTION_LIST_OWNER_ITEMS = 0x34C6, - CMSG_AUCTION_LIST_PENDING_SALES = 0x34C9, - CMSG_AUCTION_PLACE_BID = 0x34C8, - CMSG_AUCTION_REMOVE_ITEM = 0x34C3, - CMSG_AUCTION_REPLICATE_ITEMS = 0x34C5, - CMSG_AUCTION_SELL_ITEM = 0x34C2, + CMSG_ASSIGN_EQUIPMENT_SET_SPEC = 0x31FE, + CMSG_ATTACK_STOP = 0x3249, + CMSG_ATTACK_SWING = 0x3248, + CMSG_AUCTION_HELLO_REQUEST = 0x34CF, + CMSG_AUCTION_LIST_BIDDER_ITEMS = 0x34D5, + CMSG_AUCTION_LIST_ITEMS = 0x34D2, + CMSG_AUCTION_LIST_OWNER_ITEMS = 0x34D4, + CMSG_AUCTION_LIST_PENDING_SALES = 0x34D7, + CMSG_AUCTION_PLACE_BID = 0x34D6, + CMSG_AUCTION_REMOVE_ITEM = 0x34D1, + CMSG_AUCTION_REPLICATE_ITEMS = 0x34D3, + CMSG_AUCTION_SELL_ITEM = 0x34D0, CMSG_AUTH_CONTINUED_SESSION = 0x3766, CMSG_AUTH_SESSION = 0x3765, CMSG_AUTOBANK_ITEM = 0x3996, @@ -84,94 +87,94 @@ enum OpcodeClient : uint16 CMSG_AUTO_EQUIP_ITEM = 0x399A, CMSG_AUTO_EQUIP_ITEM_SLOT = 0x399F, CMSG_AUTO_STORE_BAG_ITEM = 0x399B, - CMSG_BANKER_ACTIVATE = 0x34B4, + CMSG_BANKER_ACTIVATE = 0x34B6, CMSG_BATTLEFIELD_LEAVE = 0x3171, CMSG_BATTLEFIELD_LIST = 0x317D, - CMSG_BATTLEFIELD_PORT = 0x351B, - CMSG_BATTLEMASTER_HELLO = 0x3293, - CMSG_BATTLEMASTER_JOIN = 0x3516, - CMSG_BATTLEMASTER_JOIN_ARENA = 0x3517, - CMSG_BATTLEMASTER_JOIN_BRAWL = 0x3519, - CMSG_BATTLEMASTER_JOIN_SKIRMISH = 0x3518, - CMSG_BATTLENET_CHALLENGE_RESPONSE = 0x36D5, - CMSG_BATTLENET_REQUEST = 0x36F9, - CMSG_BATTLENET_REQUEST_REALM_LIST_TICKET = 0x36FA, - CMSG_BATTLE_PAY_ACK_FAILED_RESPONSE = 0x36CD, - CMSG_BATTLE_PAY_CONFIRM_PURCHASE_RESPONSE = 0x36CC, - CMSG_BATTLE_PAY_DISTRIBUTION_ASSIGN_TO_TARGET = 0x36C3, - CMSG_BATTLE_PAY_GET_PRODUCT_LIST = 0x36BE, - CMSG_BATTLE_PAY_GET_PURCHASE_LIST = 0x36BF, - CMSG_BATTLE_PAY_QUERY_CLASS_TRIAL_BOOST_RESULT = 0x36C6, - CMSG_BATTLE_PAY_REQUEST_CHARACTER_BOOST_UNREVOKE = 0x36C4, + CMSG_BATTLEFIELD_PORT = 0x3529, + CMSG_BATTLEMASTER_HELLO = 0x329D, + CMSG_BATTLEMASTER_JOIN = 0x3524, + CMSG_BATTLEMASTER_JOIN_ARENA = 0x3525, + CMSG_BATTLEMASTER_JOIN_BRAWL = 0x3527, + CMSG_BATTLEMASTER_JOIN_SKIRMISH = 0x3526, + CMSG_BATTLENET_CHALLENGE_RESPONSE = 0x36D4, + CMSG_BATTLENET_REQUEST = 0x36F8, + CMSG_BATTLENET_REQUEST_REALM_LIST_TICKET = 0x36F9, + CMSG_BATTLE_PAY_ACK_FAILED_RESPONSE = 0x36CC, + CMSG_BATTLE_PAY_CONFIRM_PURCHASE_RESPONSE = 0x36CB, + CMSG_BATTLE_PAY_DISTRIBUTION_ASSIGN_TO_TARGET = 0x36C2, + CMSG_BATTLE_PAY_GET_PRODUCT_LIST = 0x36BC, + CMSG_BATTLE_PAY_GET_PURCHASE_LIST = 0x36BD, + CMSG_BATTLE_PAY_QUERY_CLASS_TRIAL_BOOST_RESULT = 0x36C5, + CMSG_BATTLE_PAY_REQUEST_CHARACTER_BOOST_UNREVOKE = 0x36C3, CMSG_BATTLE_PAY_REQUEST_CURRENT_VAS_TRANSFER_QUEUES = 0x370A, CMSG_BATTLE_PAY_REQUEST_PRICE_INFO = 0x3709, CMSG_BATTLE_PAY_REQUEST_VAS_CHARACTER_QUEUE_TIME = 0x370B, - CMSG_BATTLE_PAY_START_PURCHASE = 0x36F5, - CMSG_BATTLE_PAY_START_VAS_PURCHASE = 0x36F6, - CMSG_BATTLE_PAY_TRIAL_BOOST_CHARACTER = 0x36C5, + CMSG_BATTLE_PAY_START_PURCHASE = 0x36F4, + CMSG_BATTLE_PAY_START_VAS_PURCHASE = 0x36F5, + CMSG_BATTLE_PAY_TRIAL_BOOST_CHARACTER = 0x36C4, CMSG_BATTLE_PAY_VALIDATE_BNET_VAS_TRANSFER = 0x370C, CMSG_BATTLE_PET_CLEAR_FANFARE = 0x312C, - CMSG_BATTLE_PET_DELETE_PET = 0x3627, - CMSG_BATTLE_PET_DELETE_PET_CHEAT = 0x3628, - CMSG_BATTLE_PET_MODIFY_NAME = 0x362A, - CMSG_BATTLE_PET_REQUEST_JOURNAL = 0x3626, - CMSG_BATTLE_PET_REQUEST_JOURNAL_LOCK = 0x3625, - CMSG_BATTLE_PET_SET_BATTLE_SLOT = 0x362E, - CMSG_BATTLE_PET_SET_FLAGS = 0x3632, - CMSG_BATTLE_PET_SUMMON = 0x362B, - CMSG_BATTLE_PET_UPDATE_NOTIFY = 0x31CE, + CMSG_BATTLE_PET_DELETE_PET = 0x3626, + CMSG_BATTLE_PET_DELETE_PET_CHEAT = 0x3627, + CMSG_BATTLE_PET_MODIFY_NAME = 0x3629, + CMSG_BATTLE_PET_REQUEST_JOURNAL = 0x3625, + CMSG_BATTLE_PET_REQUEST_JOURNAL_LOCK = 0x3624, + CMSG_BATTLE_PET_SET_BATTLE_SLOT = 0x362D, + CMSG_BATTLE_PET_SET_FLAGS = 0x3631, + CMSG_BATTLE_PET_SUMMON = 0x362A, + CMSG_BATTLE_PET_UPDATE_NOTIFY = 0x31D5, CMSG_BEGIN_TRADE = 0x3157, - CMSG_BINDER_ACTIVATE = 0x34B3, - CMSG_BLACK_MARKET_BID_ON_ITEM = 0x3523, - CMSG_BLACK_MARKET_OPEN = 0x3521, - CMSG_BLACK_MARKET_REQUEST_ITEMS = 0x3522, - CMSG_BUG_REPORT = 0x3689, + CMSG_BINDER_ACTIVATE = 0x34B5, + CMSG_BLACK_MARKET_BID_ON_ITEM = 0x3531, + CMSG_BLACK_MARKET_OPEN = 0x352F, + CMSG_BLACK_MARKET_REQUEST_ITEMS = 0x3530, + CMSG_BUG_REPORT = 0x3688, CMSG_BUSY_TRADE = 0x3158, - CMSG_BUY_BACK_ITEM = 0x34A5, - CMSG_BUY_BANK_SLOT = 0x34B5, - CMSG_BUY_ITEM = 0x34A4, - CMSG_BUY_REAGENT_BANK = 0x34B6, - CMSG_BUY_WOW_TOKEN_CONFIRM = 0x36EE, - CMSG_BUY_WOW_TOKEN_START = 0x36ED, - CMSG_CAGE_BATTLE_PET = 0x31DF, - CMSG_CALENDAR_ADD_EVENT = 0x3680, - CMSG_CALENDAR_COMPLAIN = 0x367C, - CMSG_CALENDAR_COPY_EVENT = 0x367B, - CMSG_CALENDAR_EVENT_INVITE = 0x3675, - CMSG_CALENDAR_EVENT_MODERATOR_STATUS = 0x3679, - CMSG_CALENDAR_EVENT_RSVP = 0x3677, - CMSG_CALENDAR_EVENT_SIGN_UP = 0x367E, - CMSG_CALENDAR_EVENT_STATUS = 0x3678, - CMSG_CALENDAR_GET = 0x3672, - CMSG_CALENDAR_GET_EVENT = 0x3673, - CMSG_CALENDAR_GET_NUM_PENDING = 0x367D, - CMSG_CALENDAR_GUILD_FILTER = 0x3674, - CMSG_CALENDAR_REMOVE_EVENT = 0x367A, - CMSG_CALENDAR_REMOVE_INVITE = 0x3676, - CMSG_CALENDAR_UPDATE_EVENT = 0x3681, - CMSG_CANCEL_AURA = 0x31A9, - CMSG_CANCEL_AUTO_REPEAT_SPELL = 0x34DD, - CMSG_CANCEL_CAST = 0x3283, - CMSG_CANCEL_CHANNELLING = 0x324F, - CMSG_CANCEL_GROWTH_AURA = 0x3254, - CMSG_CANCEL_MASTER_LOOT_ROLL = 0x31FE, - CMSG_CANCEL_MOD_SPEED_NO_CONTROL_AURAS = 0x31A8, - CMSG_CANCEL_MOUNT_AURA = 0x3265, + CMSG_BUY_BACK_ITEM = 0x34A7, + CMSG_BUY_BANK_SLOT = 0x34B7, + CMSG_BUY_ITEM = 0x34A6, + CMSG_BUY_REAGENT_BANK = 0x34B8, + CMSG_BUY_WOW_TOKEN_CONFIRM = 0x36ED, + CMSG_BUY_WOW_TOKEN_START = 0x36EC, + CMSG_CAGE_BATTLE_PET = 0x31E6, + CMSG_CALENDAR_ADD_EVENT = 0x367F, + CMSG_CALENDAR_COMPLAIN = 0x367B, + CMSG_CALENDAR_COPY_EVENT = 0x367A, + CMSG_CALENDAR_EVENT_INVITE = 0x3674, + CMSG_CALENDAR_EVENT_MODERATOR_STATUS = 0x3678, + CMSG_CALENDAR_EVENT_RSVP = 0x3676, + CMSG_CALENDAR_EVENT_SIGN_UP = 0x367D, + CMSG_CALENDAR_EVENT_STATUS = 0x3677, + CMSG_CALENDAR_GET = 0x3671, + CMSG_CALENDAR_GET_EVENT = 0x3672, + CMSG_CALENDAR_GET_NUM_PENDING = 0x367C, + CMSG_CALENDAR_GUILD_FILTER = 0x3673, + CMSG_CALENDAR_REMOVE_EVENT = 0x3679, + CMSG_CALENDAR_REMOVE_INVITE = 0x3675, + CMSG_CALENDAR_UPDATE_EVENT = 0x3680, + CMSG_CANCEL_AURA = 0x31AC, + CMSG_CANCEL_AUTO_REPEAT_SPELL = 0x34EB, + CMSG_CANCEL_CAST = 0x328D, + CMSG_CANCEL_CHANNELLING = 0x3258, + CMSG_CANCEL_GROWTH_AURA = 0x325D, + CMSG_CANCEL_MASTER_LOOT_ROLL = 0x3206, + CMSG_CANCEL_MOD_SPEED_NO_CONTROL_AURAS = 0x31AB, + CMSG_CANCEL_MOUNT_AURA = 0x326E, CMSG_CANCEL_QUEUED_SPELL = 0x317E, - CMSG_CANCEL_TEMP_ENCHANTMENT = 0x34E8, + CMSG_CANCEL_TEMP_ENCHANTMENT = 0x34F6, CMSG_CANCEL_TRADE = 0x315C, - CMSG_CAN_DUEL = 0x3665, + CMSG_CAN_DUEL = 0x3664, CMSG_CAN_REDEEM_WOW_TOKEN_FOR_BALANCE = 0x3708, - CMSG_CAST_SPELL = 0x3280, + CMSG_CAST_SPELL = 0x328A, CMSG_CHALLENGE_MODE_REQUEST_LEADERS = 0x308F, CMSG_CHALLENGE_MODE_REQUEST_MAP_STATS = 0x308E, - CMSG_CHANGE_BAG_SLOT_FLAG = 0x3308, - CMSG_CHANGE_MONUMENT_APPEARANCE = 0x32E8, - CMSG_CHANGE_SUB_GROUP = 0x364F, - CMSG_CHARACTER_RENAME_REQUEST = 0x36C1, - CMSG_CHAR_CUSTOMIZE = 0x3691, - CMSG_CHAR_DELETE = 0x369E, - CMSG_CHAR_RACE_OR_FACTION_CHANGE = 0x3697, + CMSG_CHANGE_BAG_SLOT_FLAG = 0x330E, + CMSG_CHANGE_MONUMENT_APPEARANCE = 0x32F0, + CMSG_CHANGE_SUB_GROUP = 0x364E, + CMSG_CHARACTER_RENAME_REQUEST = 0x36C0, + CMSG_CHAR_CUSTOMIZE = 0x3690, + CMSG_CHAR_DELETE = 0x369D, + CMSG_CHAR_RACE_OR_FACTION_CHANGE = 0x3696, CMSG_CHAT_ADDON_MESSAGE_CHANNEL = 0x37D0, CMSG_CHAT_ADDON_MESSAGE_GUILD = 0x37D4, CMSG_CHAT_ADDON_MESSAGE_INSTANCE_CHAT = 0x37F3, @@ -216,119 +219,119 @@ enum OpcodeClient : uint16 CMSG_CHAT_REPORT_FILTERED = 0x37CC, CMSG_CHAT_REPORT_IGNORED = 0x37CB, CMSG_CHAT_UNREGISTER_ALL_ADDON_PREFIXES = 0x37CE, - CMSG_CHECK_RAF_EMAIL_ENABLED = 0x36CE, - CMSG_CHECK_WOW_TOKEN_VETERAN_ELIGIBILITY = 0x36EC, - CMSG_CHOICE_RESPONSE = 0x3285, + CMSG_CHECK_RAF_EMAIL_ENABLED = 0x36CD, + CMSG_CHECK_WOW_TOKEN_VETERAN_ELIGIBILITY = 0x36EB, + CMSG_CHOICE_RESPONSE = 0x328F, CMSG_CLEAR_RAID_MARKER = 0x31A1, CMSG_CLEAR_TRADE_ITEM = 0x315E, - CMSG_CLIENT_PORT_GRAVEYARD = 0x351D, - CMSG_CLOSE_INTERACTION = 0x3492, - CMSG_COLLECTION_ITEM_SET_FAVORITE = 0x3635, - CMSG_COMMENTATOR_ENABLE = 0x35F1, - CMSG_COMMENTATOR_ENTER_INSTANCE = 0x35F5, - CMSG_COMMENTATOR_EXIT_INSTANCE = 0x35F6, - CMSG_COMMENTATOR_GET_MAP_INFO = 0x35F2, - CMSG_COMMENTATOR_GET_PLAYER_COOLDOWNS = 0x35F4, - CMSG_COMMENTATOR_GET_PLAYER_INFO = 0x35F3, - CMSG_COMMENTATOR_START_WARGAME = 0x35F0, - CMSG_COMPLAINT = 0x366F, - CMSG_COMPLETE_CINEMATIC = 0x353B, - CMSG_COMPLETE_MOVIE = 0x34D3, + CMSG_CLIENT_PORT_GRAVEYARD = 0x352B, + CMSG_CLOSE_INTERACTION = 0x3496, + CMSG_COLLECTION_ITEM_SET_FAVORITE = 0x3634, + CMSG_COMMENTATOR_ENABLE = 0x35F0, + CMSG_COMMENTATOR_ENTER_INSTANCE = 0x35F4, + CMSG_COMMENTATOR_EXIT_INSTANCE = 0x35F5, + CMSG_COMMENTATOR_GET_MAP_INFO = 0x35F1, + CMSG_COMMENTATOR_GET_PLAYER_COOLDOWNS = 0x35F3, + CMSG_COMMENTATOR_GET_PLAYER_INFO = 0x35F2, + CMSG_COMMENTATOR_START_WARGAME = 0x35EF, + CMSG_COMPLAINT = 0x366E, + CMSG_COMPLETE_CINEMATIC = 0x3549, + CMSG_COMPLETE_MOVIE = 0x34E1, CMSG_CONFIRM_ARTIFACT_RESPEC = 0x31A6, - CMSG_CONFIRM_RESPEC_WIPE = 0x31F8, + CMSG_CONFIRM_RESPEC_WIPE = 0x3200, CMSG_CONNECT_TO_FAILED = 0x35D4, - CMSG_CONTRIBUTION_CONTRIBUTE = 0x354A, - CMSG_CONTRIBUTION_GET_STATE = 0x354B, - CMSG_CONVERT_CONSUMPTION_TIME = 0x36FC, - CMSG_CONVERT_RAID = 0x3651, - CMSG_CREATE_CHARACTER = 0x3646, - CMSG_CREATE_SHIPMENT = 0x32D4, + CMSG_CONTRIBUTION_CONTRIBUTE = 0x3558, + CMSG_CONTRIBUTION_GET_STATE = 0x3559, + CMSG_CONVERT_CONSUMPTION_TIME = 0x36FB, + CMSG_CONVERT_RAID = 0x3650, + CMSG_CREATE_CHARACTER = 0x3645, + CMSG_CREATE_SHIPMENT = 0x32DC, CMSG_DB_QUERY_BULK = 0x35E4, - CMSG_DECLINE_GUILD_INVITES = 0x3514, - CMSG_DECLINE_PETITION = 0x352A, - CMSG_DELETE_EQUIPMENT_SET = 0x3502, - CMSG_DEL_FRIEND = 0x36D3, - CMSG_DEL_IGNORE = 0x36D7, - CMSG_DEPOSIT_REAGENT_BANK = 0x3311, - CMSG_DESTROY_ITEM = 0x3277, - CMSG_DF_BOOT_PLAYER_VOTE = 0x3618, - CMSG_DF_GET_JOIN_STATUS = 0x3616, - CMSG_DF_GET_SYSTEM_INFO = 0x3615, - CMSG_DF_JOIN = 0x3609, - CMSG_DF_LEAVE = 0x3614, - CMSG_DF_PROPOSAL_RESPONSE = 0x3608, - CMSG_DF_READY_CHECK_RESPONSE = 0x361B, - CMSG_DF_SET_ROLES = 0x3617, - CMSG_DF_TELEPORT = 0x3619, + CMSG_DECLINE_GUILD_INVITES = 0x3522, + CMSG_DECLINE_PETITION = 0x3538, + CMSG_DELETE_EQUIPMENT_SET = 0x3510, + CMSG_DEL_FRIEND = 0x36D2, + CMSG_DEL_IGNORE = 0x36D6, + CMSG_DEPOSIT_REAGENT_BANK = 0x3317, + CMSG_DESTROY_ITEM = 0x3281, + CMSG_DF_BOOT_PLAYER_VOTE = 0x3617, + CMSG_DF_GET_JOIN_STATUS = 0x3615, + CMSG_DF_GET_SYSTEM_INFO = 0x3614, + CMSG_DF_JOIN = 0x3608, + CMSG_DF_LEAVE = 0x3613, + CMSG_DF_PROPOSAL_RESPONSE = 0x3607, + CMSG_DF_READY_CHECK_RESPONSE = 0x361A, + CMSG_DF_SET_ROLES = 0x3616, + CMSG_DF_TELEPORT = 0x3618, CMSG_DISCARDED_TIME_SYNC_ACKS = 0x3A3C, - CMSG_DISMISS_CRITTER = 0x34F1, - CMSG_DO_MASTER_LOOT_ROLL = 0x31FD, - CMSG_DO_READY_CHECK = 0x3636, - CMSG_DUEL_RESPONSE = 0x34D8, - CMSG_EJECT_PASSENGER = 0x3226, - CMSG_EMOTE = 0x3537, + CMSG_DISMISS_CRITTER = 0x34FF, + CMSG_DO_MASTER_LOOT_ROLL = 0x3205, + CMSG_DO_READY_CHECK = 0x3635, + CMSG_DUEL_RESPONSE = 0x34E6, + CMSG_EJECT_PASSENGER = 0x322E, + CMSG_EMOTE = 0x3545, CMSG_ENABLE_ENCRYPTION_ACK = 0x3767, CMSG_ENABLE_NAGLE = 0x376B, - CMSG_ENABLE_TAXI_NODE = 0x34AA, - CMSG_ENGINE_SURVEY = 0x36E6, + CMSG_ENABLE_TAXI_NODE = 0x34AC, + CMSG_ENGINE_SURVEY = 0x36E5, CMSG_ENUM_CHARACTERS = 0x35E8, - CMSG_ENUM_CHARACTERS_DELETED_BY_CLIENT = 0x36E0, - CMSG_FAR_SIGHT = 0x34DE, - CMSG_GAME_OBJ_REPORT_USE = 0x34E5, - CMSG_GAME_OBJ_USE = 0x34E4, - CMSG_GARRISON_ASSIGN_FOLLOWER_TO_BUILDING = 0x32BF, - CMSG_GARRISON_CANCEL_CONSTRUCTION = 0x32B0, - CMSG_GARRISON_CHECK_UPGRADEABLE = 0x3304, - CMSG_GARRISON_COMPLETE_MISSION = 0x32F5, - CMSG_GARRISON_GENERATE_RECRUITS = 0x32C2, - CMSG_GARRISON_GET_BUILDING_LANDMARKS = 0x32D0, - CMSG_GARRISON_GET_MISSION_REWARD = 0x332B, - CMSG_GARRISON_MISSION_BONUS_ROLL = 0x32F7, - CMSG_GARRISON_PURCHASE_BUILDING = 0x32AC, - CMSG_GARRISON_RECRUIT_FOLLOWER = 0x32C4, - CMSG_GARRISON_REMOVE_FOLLOWER = 0x32EC, - CMSG_GARRISON_REMOVE_FOLLOWER_FROM_BUILDING = 0x32C0, - CMSG_GARRISON_RENAME_FOLLOWER = 0x32C1, - CMSG_GARRISON_REQUEST_BLUEPRINT_AND_SPECIALIZATION_DATA = 0x32AB, - CMSG_GARRISON_REQUEST_CLASS_SPEC_CATEGORY_INFO = 0x32C9, - CMSG_GARRISON_REQUEST_LANDING_PAGE_SHIPMENT_INFO = 0x32D3, - CMSG_GARRISON_REQUEST_SHIPMENT_INFO = 0x32D2, - CMSG_GARRISON_RESEARCH_TALENT = 0x32C5, - CMSG_GARRISON_SET_BUILDING_ACTIVE = 0x32AD, - CMSG_GARRISON_SET_FOLLOWER_FAVORITE = 0x32BD, - CMSG_GARRISON_SET_FOLLOWER_INACTIVE = 0x32B9, - CMSG_GARRISON_SET_RECRUITMENT_PREFERENCES = 0x32C3, - CMSG_GARRISON_START_MISSION = 0x32F4, - CMSG_GARRISON_SWAP_BUILDINGS = 0x32B1, + CMSG_ENUM_CHARACTERS_DELETED_BY_CLIENT = 0x36DF, + CMSG_FAR_SIGHT = 0x34EC, + CMSG_GAME_OBJ_REPORT_USE = 0x34F3, + CMSG_GAME_OBJ_USE = 0x34F2, + CMSG_GARRISON_ASSIGN_FOLLOWER_TO_BUILDING = 0x32C7, + CMSG_GARRISON_CANCEL_CONSTRUCTION = 0x32B8, + CMSG_GARRISON_CHECK_UPGRADEABLE = 0x330A, + CMSG_GARRISON_COMPLETE_MISSION = 0x32FD, + CMSG_GARRISON_GENERATE_RECRUITS = 0x32CA, + CMSG_GARRISON_GET_BUILDING_LANDMARKS = 0x32D8, + CMSG_GARRISON_GET_MISSION_REWARD = 0x3331, + CMSG_GARRISON_MISSION_BONUS_ROLL = 0x32FF, + CMSG_GARRISON_PURCHASE_BUILDING = 0x32B4, + CMSG_GARRISON_RECRUIT_FOLLOWER = 0x32CC, + CMSG_GARRISON_REMOVE_FOLLOWER = 0x32F4, + CMSG_GARRISON_REMOVE_FOLLOWER_FROM_BUILDING = 0x32C8, + CMSG_GARRISON_RENAME_FOLLOWER = 0x32C9, + CMSG_GARRISON_REQUEST_BLUEPRINT_AND_SPECIALIZATION_DATA = 0x32B3, + CMSG_GARRISON_REQUEST_CLASS_SPEC_CATEGORY_INFO = 0x32D1, + CMSG_GARRISON_REQUEST_LANDING_PAGE_SHIPMENT_INFO = 0x32DB, + CMSG_GARRISON_REQUEST_SHIPMENT_INFO = 0x32DA, + CMSG_GARRISON_RESEARCH_TALENT = 0x32CD, + CMSG_GARRISON_SET_BUILDING_ACTIVE = 0x32B5, + CMSG_GARRISON_SET_FOLLOWER_FAVORITE = 0x32C5, + CMSG_GARRISON_SET_FOLLOWER_INACTIVE = 0x32C1, + CMSG_GARRISON_SET_RECRUITMENT_PREFERENCES = 0x32CB, + CMSG_GARRISON_START_MISSION = 0x32FC, + CMSG_GARRISON_SWAP_BUILDINGS = 0x32B9, CMSG_GENERATE_RANDOM_CHARACTER_NAME = 0x35E7, - CMSG_GET_CHALLENGE_MODE_REWARDS = 0x3686, - CMSG_GET_GARRISON_INFO = 0x32A6, - CMSG_GET_ITEM_PURCHASE_DATA = 0x3525, - CMSG_GET_MIRROR_IMAGE_DATA = 0x327B, - CMSG_GET_PVP_OPTIONS_ENABLED = 0x35EF, - CMSG_GET_REMAINING_GAME_TIME = 0x36EF, - CMSG_GET_TROPHY_LIST = 0x32E5, - CMSG_GET_UNDELETE_CHARACTER_COOLDOWN_STATUS = 0x36E2, - CMSG_GM_TICKET_ACKNOWLEDGE_SURVEY = 0x3695, - CMSG_GM_TICKET_GET_CASE_STATUS = 0x3694, - CMSG_GM_TICKET_GET_SYSTEM_STATUS = 0x3693, - CMSG_GOSSIP_SELECT_OPTION = 0x3493, - CMSG_GRANT_LEVEL = 0x34ED, + CMSG_GET_CHALLENGE_MODE_REWARDS = 0x3685, + CMSG_GET_GARRISON_INFO = 0x32AE, + CMSG_GET_ITEM_PURCHASE_DATA = 0x3533, + CMSG_GET_MIRROR_IMAGE_DATA = 0x3285, + CMSG_GET_PVP_OPTIONS_ENABLED = 0x35EE, + CMSG_GET_REMAINING_GAME_TIME = 0x36EE, + CMSG_GET_TROPHY_LIST = 0x32ED, + CMSG_GET_UNDELETE_CHARACTER_COOLDOWN_STATUS = 0x36E1, + CMSG_GM_TICKET_ACKNOWLEDGE_SURVEY = 0x3694, + CMSG_GM_TICKET_GET_CASE_STATUS = 0x3693, + CMSG_GM_TICKET_GET_SYSTEM_STATUS = 0x3692, + CMSG_GOSSIP_SELECT_OPTION = 0x3497, + CMSG_GRANT_LEVEL = 0x34FB, CMSG_GUILD_ADD_BATTLENET_FRIEND = 0x308D, CMSG_GUILD_ADD_RANK = 0x3064, CMSG_GUILD_ASSIGN_MEMBER_RANK = 0x305F, CMSG_GUILD_AUTO_DECLINE_INVITATION = 0x3061, - CMSG_GUILD_BANK_ACTIVATE = 0x34B7, - CMSG_GUILD_BANK_BUY_TAB = 0x34BA, - CMSG_GUILD_BANK_DEPOSIT_MONEY = 0x34BC, + CMSG_GUILD_BANK_ACTIVATE = 0x34B9, + CMSG_GUILD_BANK_BUY_TAB = 0x34C8, + CMSG_GUILD_BANK_DEPOSIT_MONEY = 0x34CA, CMSG_GUILD_BANK_LOG_QUERY = 0x3082, - CMSG_GUILD_BANK_QUERY_TAB = 0x34B9, + CMSG_GUILD_BANK_QUERY_TAB = 0x34C7, CMSG_GUILD_BANK_REMAINING_WITHDRAW_MONEY_QUERY = 0x3083, CMSG_GUILD_BANK_SET_TAB_TEXT = 0x3086, - CMSG_GUILD_BANK_SWAP_ITEMS = 0x34B8, + CMSG_GUILD_BANK_SWAP_ITEMS = 0x34BA, CMSG_GUILD_BANK_TEXT_QUERY = 0x3087, - CMSG_GUILD_BANK_UPDATE_TAB = 0x34BB, - CMSG_GUILD_BANK_WITHDRAW_MONEY = 0x34BD, + CMSG_GUILD_BANK_UPDATE_TAB = 0x34C9, + CMSG_GUILD_BANK_WITHDRAW_MONEY = 0x34CB, CMSG_GUILD_CHALLENGE_UPDATE_REQUEST = 0x307B, CMSG_GUILD_CHANGE_NAME_REQUEST = 0x307E, CMSG_GUILD_DECLINE_INVITATION = 0x3060, @@ -339,7 +342,7 @@ enum OpcodeClient : uint16 CMSG_GUILD_GET_ACHIEVEMENT_MEMBERS = 0x3071, CMSG_GUILD_GET_RANKS = 0x306D, CMSG_GUILD_GET_ROSTER = 0x3073, - CMSG_GUILD_INVITE_BY_NAME = 0x3607, + CMSG_GUILD_INVITE_BY_NAME = 0x3606, CMSG_GUILD_LEAVE = 0x3062, CMSG_GUILD_MEMBER_SEND_SOR_REQUEST = 0x308C, CMSG_GUILD_NEWS_UPDATE_STICKY = 0x306E, @@ -353,79 +356,79 @@ enum OpcodeClient : uint16 CMSG_GUILD_REPLACE_GUILD_MASTER = 0x3088, CMSG_GUILD_SET_ACHIEVEMENT_TRACKING = 0x306F, CMSG_GUILD_SET_FOCUSED_ACHIEVEMENT = 0x3070, - CMSG_GUILD_SET_GUILD_MASTER = 0x36C8, + CMSG_GUILD_SET_GUILD_MASTER = 0x36C7, CMSG_GUILD_SET_MEMBER_NOTE = 0x3072, CMSG_GUILD_SET_RANK_PERMISSIONS = 0x3067, CMSG_GUILD_SHIFT_RANK = 0x3066, CMSG_GUILD_UPDATE_INFO_TEXT = 0x3075, CMSG_GUILD_UPDATE_MOTD_TEXT = 0x3074, - CMSG_HEARTH_AND_RESURRECT = 0x34FE, - CMSG_HOTFIX_QUERY = 0x35E5, + CMSG_HEARTH_AND_RESURRECT = 0x350C, + CMSG_HOTFIX_REQUEST = 0x35E5, CMSG_IGNORE_TRADE = 0x3159, CMSG_INITIATE_ROLE_POLL = 0x35DA, CMSG_INITIATE_TRADE = 0x3156, - CMSG_INSPECT = 0x351F, - CMSG_INSPECT_PVP = 0x36A4, - CMSG_INSTANCE_LOCK_RESPONSE = 0x3503, - CMSG_ITEM_PURCHASE_REFUND = 0x3526, - CMSG_ITEM_TEXT_QUERY = 0x3305, - CMSG_JOIN_PET_BATTLE_QUEUE = 0x31CC, + CMSG_INSPECT = 0x352D, + CMSG_INSPECT_PVP = 0x36A3, + CMSG_INSTANCE_LOCK_RESPONSE = 0x3511, + CMSG_ITEM_PURCHASE_REFUND = 0x3534, + CMSG_ITEM_TEXT_QUERY = 0x330B, + CMSG_JOIN_PET_BATTLE_QUEUE = 0x31D3, CMSG_JOIN_RATED_BATTLEGROUND = 0x3176, - CMSG_KEEP_ALIVE = 0x3682, - CMSG_KEYBOUND_OVERRIDE = 0x320F, - CMSG_LEARN_PVP_TALENTS = 0x3549, - CMSG_LEARN_TALENTS = 0x3548, - CMSG_LEAVE_GROUP = 0x364C, - CMSG_LEAVE_PET_BATTLE_QUEUE = 0x31CD, - CMSG_LFG_LIST_APPLY_TO_GROUP = 0x360F, - CMSG_LFG_LIST_CANCEL_APPLICATION = 0x3610, - CMSG_LFG_LIST_DECLINE_APPLICANT = 0x3611, - CMSG_LFG_LIST_GET_STATUS = 0x360D, - CMSG_LFG_LIST_INVITE_APPLICANT = 0x3612, - CMSG_LFG_LIST_INVITE_RESPONSE = 0x3613, - CMSG_LFG_LIST_JOIN = 0x360A, - CMSG_LFG_LIST_LEAVE = 0x360C, - CMSG_LFG_LIST_SEARCH = 0x360E, - CMSG_LFG_LIST_UPDATE_REQUEST = 0x360B, - CMSG_LF_GUILD_ADD_RECRUIT = 0x361E, - CMSG_LF_GUILD_BROWSE = 0x3620, + CMSG_KEEP_ALIVE = 0x3681, + CMSG_KEYBOUND_OVERRIDE = 0x3217, + CMSG_LEARN_PVP_TALENTS = 0x3557, + CMSG_LEARN_TALENTS = 0x3556, + CMSG_LEAVE_GROUP = 0x364B, + CMSG_LEAVE_PET_BATTLE_QUEUE = 0x31D4, + CMSG_LFG_LIST_APPLY_TO_GROUP = 0x360E, + CMSG_LFG_LIST_CANCEL_APPLICATION = 0x360F, + CMSG_LFG_LIST_DECLINE_APPLICANT = 0x3610, + CMSG_LFG_LIST_GET_STATUS = 0x360C, + CMSG_LFG_LIST_INVITE_APPLICANT = 0x3611, + CMSG_LFG_LIST_INVITE_RESPONSE = 0x3612, + CMSG_LFG_LIST_JOIN = 0x3609, + CMSG_LFG_LIST_LEAVE = 0x360B, + CMSG_LFG_LIST_SEARCH = 0x360D, + CMSG_LFG_LIST_UPDATE_REQUEST = 0x360A, + CMSG_LF_GUILD_ADD_RECRUIT = 0x361D, + CMSG_LF_GUILD_BROWSE = 0x361F, CMSG_LF_GUILD_DECLINE_RECRUIT = 0x3078, CMSG_LF_GUILD_GET_APPLICATIONS = 0x3079, CMSG_LF_GUILD_GET_GUILD_POST = 0x3076, CMSG_LF_GUILD_GET_RECRUITS = 0x3077, CMSG_LF_GUILD_REMOVE_RECRUIT = 0x307A, - CMSG_LF_GUILD_SET_GUILD_POST = 0x361F, - CMSG_LIST_INVENTORY = 0x34A2, - CMSG_LIVE_REGION_ACCOUNT_RESTORE = 0x36BD, - CMSG_LIVE_REGION_CHARACTER_COPY = 0x36BC, - CMSG_LIVE_REGION_GET_ACCOUNT_CHARACTER_LIST = 0x36BB, - CMSG_LOADING_SCREEN_NOTIFY = 0x35F9, - CMSG_LOAD_SELECTED_TROPHY = 0x32E6, - CMSG_LOGOUT_CANCEL = 0x34CE, - CMSG_LOGOUT_INSTANT = 0x34CF, - CMSG_LOGOUT_REQUEST = 0x34CD, + CMSG_LF_GUILD_SET_GUILD_POST = 0x361E, + CMSG_LIST_INVENTORY = 0x34A4, + CMSG_LIVE_REGION_ACCOUNT_RESTORE = 0x36BB, + CMSG_LIVE_REGION_CHARACTER_COPY = 0x36BA, + CMSG_LIVE_REGION_GET_ACCOUNT_CHARACTER_LIST = 0x36B9, + CMSG_LOADING_SCREEN_NOTIFY = 0x35F8, + CMSG_LOAD_SELECTED_TROPHY = 0x32EE, + CMSG_LOGOUT_CANCEL = 0x34DC, + CMSG_LOGOUT_INSTANT = 0x34DD, + CMSG_LOGOUT_REQUEST = 0x34DB, CMSG_LOG_DISCONNECT = 0x3769, CMSG_LOG_STREAMING_ERROR = 0x376D, - CMSG_LOOT_ITEM = 0x31FB, - CMSG_LOOT_MONEY = 0x31FA, - CMSG_LOOT_RELEASE = 0x31FF, - CMSG_LOOT_ROLL = 0x3200, - CMSG_LOOT_UNIT = 0x31F9, - CMSG_LOW_LEVEL_RAID1 = 0x36A2, - CMSG_LOW_LEVEL_RAID2 = 0x350A, - CMSG_MAIL_CREATE_TEXT_ITEM = 0x3531, - CMSG_MAIL_DELETE = 0x3211, - CMSG_MAIL_GET_LIST = 0x352C, - CMSG_MAIL_MARK_AS_READ = 0x3530, - CMSG_MAIL_RETURN_TO_SENDER = 0x3658, - CMSG_MAIL_TAKE_ITEM = 0x352E, - CMSG_MAIL_TAKE_MONEY = 0x352D, - CMSG_MASTER_LOOT_ITEM = 0x31FC, - CMSG_MINIMAP_PING = 0x364E, + CMSG_LOOT_ITEM = 0x3203, + CMSG_LOOT_MONEY = 0x3202, + CMSG_LOOT_RELEASE = 0x3207, + CMSG_LOOT_ROLL = 0x3208, + CMSG_LOOT_UNIT = 0x3201, + CMSG_LOW_LEVEL_RAID1 = 0x36A1, + CMSG_LOW_LEVEL_RAID2 = 0x3518, + CMSG_MAIL_CREATE_TEXT_ITEM = 0x353F, + CMSG_MAIL_DELETE = 0x3219, + CMSG_MAIL_GET_LIST = 0x353A, + CMSG_MAIL_MARK_AS_READ = 0x353E, + CMSG_MAIL_RETURN_TO_SENDER = 0x3657, + CMSG_MAIL_TAKE_ITEM = 0x353C, + CMSG_MAIL_TAKE_MONEY = 0x353B, + CMSG_MASTER_LOOT_ITEM = 0x3204, + CMSG_MINIMAP_PING = 0x364D, CMSG_MISSILE_TRAJECTORY_COLLISION = 0x3189, CMSG_MOUNT_CLEAR_FANFARE = 0x312D, - CMSG_MOUNT_SET_FAVORITE = 0x3634, - CMSG_MOUNT_SPECIAL_ANIM = 0x3266, + CMSG_MOUNT_SET_FAVORITE = 0x3633, + CMSG_MOUNT_SPECIAL_ANIM = 0x326F, CMSG_MOVE_APPLY_MOVEMENT_FORCE_ACK = 0x3A12, CMSG_MOVE_CHANGE_TRANSPORT = 0x3A2C, CMSG_MOVE_CHANGE_VEHICLE_SEATS = 0x3A31, @@ -487,267 +490,268 @@ enum OpcodeClient : uint16 CMSG_MOVE_TIME_SKIPPED = 0x3A18, CMSG_MOVE_TOGGLE_COLLISION_CHEAT = 0x3A05, CMSG_MOVE_WATER_WALK_ACK = 0x3A1A, - CMSG_NEUTRAL_PLAYER_SELECT_FACTION = 0x31C2, - CMSG_NEXT_CINEMATIC_CAMERA = 0x353A, + CMSG_NEUTRAL_PLAYER_SELECT_FACTION = 0x31C9, + CMSG_NEXT_CINEMATIC_CAMERA = 0x3548, CMSG_OBJECT_UPDATE_FAILED = 0x317F, CMSG_OBJECT_UPDATE_RESCUED = 0x3180, - CMSG_OFFER_PETITION = 0x36B2, - CMSG_OPENING_CINEMATIC = 0x3539, - CMSG_OPEN_ITEM = 0x3306, - CMSG_OPEN_MISSION_NPC = 0x32CB, - CMSG_OPEN_SHIPMENT_NPC = 0x32D1, - CMSG_OPEN_TRADESKILL_NPC = 0x32DC, - CMSG_OPT_OUT_OF_LOOT = 0x34EC, - CMSG_PARTY_INVITE = 0x3603, - CMSG_PARTY_INVITE_RESPONSE = 0x3604, - CMSG_PARTY_UNINVITE = 0x364A, - CMSG_PETITION_BUY = 0x34BF, - CMSG_PETITION_RENAME_GUILD = 0x36C9, - CMSG_PETITION_SHOW_LIST = 0x34BE, - CMSG_PETITION_SHOW_SIGNATURES = 0x34C0, - CMSG_PET_ABANDON = 0x348C, - CMSG_PET_ACTION = 0x348A, - CMSG_PET_BATTLE_FINAL_NOTIFY = 0x31D0, - CMSG_PET_BATTLE_INPUT = 0x3643, - CMSG_PET_BATTLE_QUEUE_PROPOSE_MATCH_RESULT = 0x3210, - CMSG_PET_BATTLE_QUIT_NOTIFY = 0x31CF, - CMSG_PET_BATTLE_REPLACE_FRONT_PET = 0x3644, - CMSG_PET_BATTLE_REQUEST_PVP = 0x31CA, - CMSG_PET_BATTLE_REQUEST_UPDATE = 0x31CB, - CMSG_PET_BATTLE_REQUEST_WILD = 0x31C8, - CMSG_PET_BATTLE_SCRIPT_ERROR_NOTIFY = 0x31D1, - CMSG_PET_BATTLE_WILD_LOCATION_FAIL = 0x31C9, - CMSG_PET_CANCEL_AURA = 0x348D, - CMSG_PET_CAST_SPELL = 0x327F, - CMSG_PET_RENAME = 0x3688, - CMSG_PET_SET_ACTION = 0x3489, - CMSG_PET_SPELL_AUTOCAST = 0x348E, - CMSG_PET_STOP_ATTACK = 0x348B, + CMSG_OFFER_PETITION = 0x36B1, + CMSG_OPENING_CINEMATIC = 0x3547, + CMSG_OPEN_ITEM = 0x330C, + CMSG_OPEN_MISSION_NPC = 0x32D3, + CMSG_OPEN_SHIPMENT_NPC = 0x32D9, + CMSG_OPEN_TRADESKILL_NPC = 0x32E4, + CMSG_OPT_OUT_OF_LOOT = 0x34FA, + CMSG_PARTY_INVITE = 0x3602, + CMSG_PARTY_INVITE_RESPONSE = 0x3603, + CMSG_PARTY_UNINVITE = 0x3649, + CMSG_PETITION_BUY = 0x34CD, + CMSG_PETITION_RENAME_GUILD = 0x36C8, + CMSG_PETITION_SHOW_LIST = 0x34CC, + CMSG_PETITION_SHOW_SIGNATURES = 0x34CE, + CMSG_PET_ABANDON = 0x3490, + CMSG_PET_ACTION = 0x348E, + CMSG_PET_BATTLE_FINAL_NOTIFY = 0x31D7, + CMSG_PET_BATTLE_INPUT = 0x3642, + CMSG_PET_BATTLE_QUEUE_PROPOSE_MATCH_RESULT = 0x3218, + CMSG_PET_BATTLE_QUIT_NOTIFY = 0x31D6, + CMSG_PET_BATTLE_REPLACE_FRONT_PET = 0x3643, + CMSG_PET_BATTLE_REQUEST_PVP = 0x31D1, + CMSG_PET_BATTLE_REQUEST_UPDATE = 0x31D2, + CMSG_PET_BATTLE_REQUEST_WILD = 0x31CF, + CMSG_PET_BATTLE_SCRIPT_ERROR_NOTIFY = 0x31D8, + CMSG_PET_BATTLE_WILD_LOCATION_FAIL = 0x31D0, + CMSG_PET_CANCEL_AURA = 0x3491, + CMSG_PET_CAST_SPELL = 0x3289, + CMSG_PET_RENAME = 0x3687, + CMSG_PET_SET_ACTION = 0x348D, + CMSG_PET_SPELL_AUTOCAST = 0x3492, + CMSG_PET_STOP_ATTACK = 0x348F, CMSG_PING = 0x3768, CMSG_PLAYER_LOGIN = 0x35EA, CMSG_PROTOCOL_MISMATCH = 0x376E, - CMSG_PUSH_QUEST_TO_PARTY = 0x34A0, + CMSG_PUSH_QUEST_TO_PARTY = 0x34A2, CMSG_PVP_LOG_DATA = 0x317A, - CMSG_PVP_PRESTIGE_RANK_UP = 0x3329, - CMSG_QUERY_BATTLE_PET_NAME = 0x325B, - CMSG_QUERY_CORPSE_LOCATION_FROM_CLIENT = 0x3663, - CMSG_QUERY_CORPSE_TRANSPORT = 0x3664, + CMSG_PVP_PRESTIGE_RANK_UP = 0x332F, + CMSG_QUERY_BATTLE_PET_NAME = 0x3264, + CMSG_QUERY_CORPSE_LOCATION_FROM_CLIENT = 0x3662, + CMSG_QUERY_CORPSE_TRANSPORT = 0x3663, CMSG_QUERY_COUNTDOWN_TIMER = 0x31A4, - CMSG_QUERY_CREATURE = 0x3255, - CMSG_QUERY_GAME_OBJECT = 0x3256, - CMSG_QUERY_GARRISON_CREATURE_NAME = 0x325C, - CMSG_QUERY_GUILD_INFO = 0x3690, - CMSG_QUERY_INSPECT_ACHIEVEMENTS = 0x34F8, - CMSG_QUERY_NEXT_MAIL_TIME = 0x352F, - CMSG_QUERY_NPC_TEXT = 0x3257, - CMSG_QUERY_PAGE_TEXT = 0x3259, - CMSG_QUERY_PETITION = 0x325D, - CMSG_QUERY_PET_NAME = 0x325A, - CMSG_QUERY_PLAYER_NAME = 0x368E, + CMSG_QUERY_CREATURE = 0x325E, + CMSG_QUERY_GAME_OBJECT = 0x325F, + CMSG_QUERY_GARRISON_CREATURE_NAME = 0x3265, + CMSG_QUERY_GUILD_INFO = 0x368F, + CMSG_QUERY_INSPECT_ACHIEVEMENTS = 0x3506, + CMSG_QUERY_NEXT_MAIL_TIME = 0x353D, + CMSG_QUERY_NPC_TEXT = 0x3260, + CMSG_QUERY_PAGE_TEXT = 0x3262, + CMSG_QUERY_PETITION = 0x3266, + CMSG_QUERY_PET_NAME = 0x3263, + CMSG_QUERY_PLAYER_NAME = 0x368D, CMSG_QUERY_QUEST_COMPLETION_NPCS = 0x3173, - CMSG_QUERY_QUEST_INFO = 0x3258, - CMSG_QUERY_QUEST_REWARDS = 0x332D, - CMSG_QUERY_REALM_NAME = 0x368F, - CMSG_QUERY_SCENARIO_POI = 0x3659, - CMSG_QUERY_TIME = 0x34CC, + CMSG_QUERY_QUEST_INFO = 0x3261, + CMSG_QUERY_QUEST_REWARDS = 0x3333, + CMSG_QUERY_REALM_NAME = 0x368E, + CMSG_QUERY_SCENARIO_POI = 0x3658, + CMSG_QUERY_TIME = 0x34DA, CMSG_QUERY_VOID_STORAGE = 0x319D, - CMSG_QUEST_CONFIRM_ACCEPT = 0x349F, - CMSG_QUEST_GIVER_ACCEPT_QUEST = 0x3498, - CMSG_QUEST_GIVER_CHOOSE_REWARD = 0x349B, - CMSG_QUEST_GIVER_COMPLETE_QUEST = 0x3499, - CMSG_QUEST_GIVER_HELLO = 0x3495, - CMSG_QUEST_GIVER_QUERY_QUEST = 0x3496, - CMSG_QUEST_GIVER_REQUEST_REWARD = 0x349C, - CMSG_QUEST_GIVER_STATUS_MULTIPLE_QUERY = 0x349E, - CMSG_QUEST_GIVER_STATUS_QUERY = 0x349D, - CMSG_QUEST_LOG_REMOVE_QUEST = 0x3524, - CMSG_QUEST_POI_QUERY = 0x36B3, - CMSG_QUEST_PUSH_RESULT = 0x34A1, + CMSG_QUEST_CONFIRM_ACCEPT = 0x34A1, + CMSG_QUEST_GIVER_ACCEPT_QUEST = 0x349B, + CMSG_QUEST_GIVER_CHOOSE_REWARD = 0x349D, + CMSG_QUEST_GIVER_COMPLETE_QUEST = 0x349C, + CMSG_QUEST_GIVER_HELLO = 0x3499, + CMSG_QUEST_GIVER_QUERY_QUEST = 0x349A, + CMSG_QUEST_GIVER_REQUEST_REWARD = 0x349E, + CMSG_QUEST_GIVER_STATUS_MULTIPLE_QUERY = 0x34A0, + CMSG_QUEST_GIVER_STATUS_QUERY = 0x349F, + CMSG_QUEST_LOG_REMOVE_QUEST = 0x3532, + CMSG_QUEST_POI_QUERY = 0x36B2, + CMSG_QUEST_PUSH_RESULT = 0x34A3, CMSG_QUEUED_MESSAGES_END = 0x376C, CMSG_QUICK_JOIN_AUTO_ACCEPT_REQUESTS = 0x3707, CMSG_QUICK_JOIN_REQUEST_INVITE = 0x3706, CMSG_QUICK_JOIN_RESPOND_TO_INVITE = 0x3705, CMSG_QUICK_JOIN_SIGNAL_TOAST_DISPLAYED = 0x3704, - CMSG_RAID_OR_BATTLEGROUND_ENGINE_SURVEY = 0x36E7, - CMSG_RANDOM_ROLL = 0x3657, - CMSG_READY_CHECK_RESPONSE = 0x3637, - CMSG_READ_ITEM = 0x3307, - CMSG_RECLAIM_CORPSE = 0x34D1, - CMSG_RECRUIT_A_FRIEND = 0x36CF, - CMSG_REDEEM_WOW_TOKEN_CONFIRM = 0x36F1, - CMSG_REDEEM_WOW_TOKEN_START = 0x36F0, - CMSG_REMOVE_NEW_ITEM = 0x3330, + CMSG_RAID_OR_BATTLEGROUND_ENGINE_SURVEY = 0x36E6, + CMSG_RANDOM_ROLL = 0x3656, + CMSG_READY_CHECK_RESPONSE = 0x3636, + CMSG_READ_ITEM = 0x330D, + CMSG_RECLAIM_CORPSE = 0x34DF, + CMSG_RECRUIT_A_FRIEND = 0x36CE, + CMSG_REDEEM_WOW_TOKEN_CONFIRM = 0x36F0, + CMSG_REDEEM_WOW_TOKEN_START = 0x36EF, + CMSG_REMOVE_NEW_ITEM = 0x3336, CMSG_REORDER_CHARACTERS = 0x35E9, - CMSG_REPAIR_ITEM = 0x34E2, - CMSG_REPLACE_TROPHY = 0x32E7, - CMSG_REPOP_REQUEST = 0x351C, - CMSG_REPORT_PVP_PLAYER_AFK = 0x34EA, - CMSG_REQUEST_ACCOUNT_DATA = 0x3698, - CMSG_REQUEST_AREA_POI_UPDATE = 0x332F, + CMSG_REPAIR_ITEM = 0x34F0, + CMSG_REPLACE_TROPHY = 0x32EF, + CMSG_REPOP_REQUEST = 0x352A, + CMSG_REPORT_CLIENT_VARIABLES = 0x3701, + CMSG_REPORT_ENABLED_ADDONS = 0x3700, + CMSG_REPORT_KEYBINDING_EXECUTION_COUNTS = 0x3702, + CMSG_REPORT_PVP_PLAYER_AFK = 0x34F8, + CMSG_REQUEST_ACCOUNT_DATA = 0x3697, + CMSG_REQUEST_AREA_POI_UPDATE = 0x3335, CMSG_REQUEST_BATTLEFIELD_STATUS = 0x35DC, CMSG_REQUEST_CATEGORY_COOLDOWNS = 0x317C, CMSG_REQUEST_CEMETERY_LIST = 0x3174, - CMSG_REQUEST_CONQUEST_FORMULA_CONSTANTS = 0x3296, - CMSG_REQUEST_CONSUMPTION_CONVERSION_INFO = 0x36FB, - CMSG_REQUEST_CROWD_CONTROL_SPELL = 0x3520, - CMSG_REQUEST_FORCED_REACTIONS = 0x31F4, + CMSG_REQUEST_CONQUEST_FORMULA_CONSTANTS = 0x32A0, + CMSG_REQUEST_CONSUMPTION_CONVERSION_INFO = 0x36FA, + CMSG_REQUEST_CROWD_CONTROL_SPELL = 0x352E, + CMSG_REQUEST_FORCED_REACTIONS = 0x31FC, CMSG_REQUEST_GUILD_PARTY_STATE = 0x31A3, CMSG_REQUEST_GUILD_REWARDS_LIST = 0x31A2, CMSG_REQUEST_HONOR_STATS = 0x3179, - CMSG_REQUEST_LFG_LIST_BLACKLIST = 0x3287, - CMSG_REQUEST_PARTY_JOIN_UPDATES = 0x35F8, - CMSG_REQUEST_PARTY_MEMBER_STATS = 0x3656, - CMSG_REQUEST_PET_INFO = 0x348F, - CMSG_REQUEST_PLAYED_TIME = 0x3260, + CMSG_REQUEST_LFG_LIST_BLACKLIST = 0x3291, + CMSG_REQUEST_PARTY_JOIN_UPDATES = 0x35F7, + CMSG_REQUEST_PARTY_MEMBER_STATS = 0x3655, + CMSG_REQUEST_PET_INFO = 0x3493, + CMSG_REQUEST_PLAYED_TIME = 0x3269, CMSG_REQUEST_PVP_BRAWL_INFO = 0x3191, CMSG_REQUEST_PVP_REWARDS = 0x3190, - CMSG_REQUEST_RAID_INFO = 0x36CA, + CMSG_REQUEST_RAID_INFO = 0x36C9, CMSG_REQUEST_RATED_BATTLEFIELD_INFO = 0x35E3, CMSG_REQUEST_RESEARCH_HISTORY = 0x3167, - CMSG_REQUEST_STABLED_PETS = 0x3490, - CMSG_REQUEST_VEHICLE_EXIT = 0x3221, - CMSG_REQUEST_VEHICLE_NEXT_SEAT = 0x3223, - CMSG_REQUEST_VEHICLE_PREV_SEAT = 0x3222, - CMSG_REQUEST_VEHICLE_SWITCH_SEAT = 0x3224, - CMSG_REQUEST_WORLD_QUEST_UPDATE = 0x332E, - CMSG_REQUEST_WOW_TOKEN_MARKET_PRICE = 0x36E9, - CMSG_RESET_CHALLENGE_MODE = 0x31F1, - CMSG_RESET_CHALLENGE_MODE_CHEAT = 0x31F2, - CMSG_RESET_INSTANCES = 0x366B, - CMSG_RESURRECT_RESPONSE = 0x3687, - CMSG_REVERT_MONUMENT_APPEARANCE = 0x32E9, - CMSG_RIDE_VEHICLE_INTERACT = 0x3225, - CMSG_SAVE_CLIENT_VARIABLES = 0x3702, + CMSG_REQUEST_STABLED_PETS = 0x3494, + CMSG_REQUEST_VEHICLE_EXIT = 0x3229, + CMSG_REQUEST_VEHICLE_NEXT_SEAT = 0x322B, + CMSG_REQUEST_VEHICLE_PREV_SEAT = 0x322A, + CMSG_REQUEST_VEHICLE_SWITCH_SEAT = 0x322C, + CMSG_REQUEST_WORLD_QUEST_UPDATE = 0x3334, + CMSG_REQUEST_WOW_TOKEN_MARKET_PRICE = 0x36E8, + CMSG_RESET_CHALLENGE_MODE = 0x31F9, + CMSG_RESET_CHALLENGE_MODE_CHEAT = 0x31FA, + CMSG_RESET_INSTANCES = 0x366A, + CMSG_RESURRECT_RESPONSE = 0x3686, + CMSG_REVERT_MONUMENT_APPEARANCE = 0x32F1, + CMSG_RIDE_VEHICLE_INTERACT = 0x322D, CMSG_SAVE_CUF_PROFILES = 0x318A, - CMSG_SAVE_ENABLED_ADDONS = 0x3701, - CMSG_SAVE_EQUIPMENT_SET = 0x3501, - CMSG_SAVE_GUILD_EMBLEM = 0x328B, - CMSG_SCENE_PLAYBACK_CANCELED = 0x320C, - CMSG_SCENE_PLAYBACK_COMPLETE = 0x320B, - CMSG_SCENE_TRIGGER_EVENT = 0x320D, - CMSG_SELF_RES = 0x3527, - CMSG_SELL_ITEM = 0x34A3, - CMSG_SELL_WOW_TOKEN_CONFIRM = 0x36EB, - CMSG_SELL_WOW_TOKEN_START = 0x36EA, - CMSG_SEND_CONTACT_LIST = 0x36D1, - CMSG_SEND_MAIL = 0x35FB, - CMSG_SEND_SOR_REQUEST_VIA_ADDRESS = 0x3623, - CMSG_SEND_TEXT_EMOTE = 0x3486, - CMSG_SET_ACHIEVEMENTS_HIDDEN = 0x3212, - CMSG_SET_ACTION_BAR_TOGGLES = 0x3528, - CMSG_SET_ACTION_BUTTON = 0x3638, + CMSG_SAVE_EQUIPMENT_SET = 0x350F, + CMSG_SAVE_GUILD_EMBLEM = 0x3295, + CMSG_SCENE_PLAYBACK_CANCELED = 0x3214, + CMSG_SCENE_PLAYBACK_COMPLETE = 0x3213, + CMSG_SCENE_TRIGGER_EVENT = 0x3215, + CMSG_SELF_RES = 0x3535, + CMSG_SELL_ITEM = 0x34A5, + CMSG_SELL_WOW_TOKEN_CONFIRM = 0x36EA, + CMSG_SELL_WOW_TOKEN_START = 0x36E9, + CMSG_SEND_CONTACT_LIST = 0x36D0, + CMSG_SEND_MAIL = 0x35FA, + CMSG_SEND_SOR_REQUEST_VIA_ADDRESS = 0x3622, + CMSG_SEND_TEXT_EMOTE = 0x348A, + CMSG_SET_ACHIEVEMENTS_HIDDEN = 0x321A, + CMSG_SET_ACTION_BAR_TOGGLES = 0x3536, + CMSG_SET_ACTION_BUTTON = 0x3637, CMSG_SET_ACTIVE_MOVER = 0x3A37, - CMSG_SET_ADVANCED_COMBAT_LOGGING = 0x3297, - CMSG_SET_ASSISTANT_LEADER = 0x3652, - CMSG_SET_BACKPACK_AUTOSORT_DISABLED = 0x330A, - CMSG_SET_BANK_AUTOSORT_DISABLED = 0x330B, - CMSG_SET_BANK_BAG_SLOT_FLAG = 0x3309, - CMSG_SET_CONTACT_NOTES = 0x36D4, + CMSG_SET_ADVANCED_COMBAT_LOGGING = 0x32A1, + CMSG_SET_ASSISTANT_LEADER = 0x3651, + CMSG_SET_BACKPACK_AUTOSORT_DISABLED = 0x3310, + CMSG_SET_BANK_AUTOSORT_DISABLED = 0x3311, + CMSG_SET_BANK_BAG_SLOT_FLAG = 0x330F, + CMSG_SET_CONTACT_NOTES = 0x36D3, CMSG_SET_CURRENCY_FLAGS = 0x3169, - CMSG_SET_DIFFICULTY_ID = 0x320E, - CMSG_SET_DUNGEON_DIFFICULTY = 0x3685, - CMSG_SET_EVERYONE_IS_ASSISTANT = 0x361A, - CMSG_SET_FACTION_AT_WAR = 0x34D4, - CMSG_SET_FACTION_INACTIVE = 0x34D6, - CMSG_SET_FACTION_NOT_AT_WAR = 0x34D5, - CMSG_SET_INSERT_ITEMS_LEFT_TO_RIGHT = 0x330D, - CMSG_SET_LFG_BONUS_FACTION_ID = 0x3286, - CMSG_SET_LOOT_METHOD = 0x364B, - CMSG_SET_LOOT_SPECIALIZATION = 0x3535, - CMSG_SET_PARTY_ASSIGNMENT = 0x3654, - CMSG_SET_PARTY_LEADER = 0x364D, + CMSG_SET_DIFFICULTY_ID = 0x3216, + CMSG_SET_DUNGEON_DIFFICULTY = 0x3684, + CMSG_SET_EVERYONE_IS_ASSISTANT = 0x3619, + CMSG_SET_FACTION_AT_WAR = 0x34E2, + CMSG_SET_FACTION_INACTIVE = 0x34E4, + CMSG_SET_FACTION_NOT_AT_WAR = 0x34E3, + CMSG_SET_INSERT_ITEMS_LEFT_TO_RIGHT = 0x3313, + CMSG_SET_LFG_BONUS_FACTION_ID = 0x3290, + CMSG_SET_LOOT_METHOD = 0x364A, + CMSG_SET_LOOT_SPECIALIZATION = 0x3543, + CMSG_SET_PARTY_ASSIGNMENT = 0x3653, + CMSG_SET_PARTY_LEADER = 0x364C, CMSG_SET_PET_SLOT = 0x3168, - CMSG_SET_PLAYER_DECLINED_NAMES = 0x368D, + CMSG_SET_PLAYER_DECLINED_NAMES = 0x368C, CMSG_SET_PREFERRED_CEMETERY = 0x3175, - CMSG_SET_PVP = 0x328F, - CMSG_SET_RAID_DIFFICULTY = 0x36DE, + CMSG_SET_PVP = 0x3299, + CMSG_SET_RAID_DIFFICULTY = 0x36DD, CMSG_SET_ROLE = 0x35D9, - CMSG_SET_SAVED_INSTANCE_EXTEND = 0x368B, - CMSG_SET_SELECTION = 0x351E, - CMSG_SET_SHEATHED = 0x3487, - CMSG_SET_SORT_BAGS_RIGHT_TO_LEFT = 0x330C, - CMSG_SET_TAXI_BENCHMARK_MODE = 0x34E9, - CMSG_SET_TITLE = 0x3264, + CMSG_SET_SAVED_INSTANCE_EXTEND = 0x368A, + CMSG_SET_SELECTION = 0x352C, + CMSG_SET_SHEATHED = 0x348B, + CMSG_SET_SORT_BAGS_RIGHT_TO_LEFT = 0x3312, + CMSG_SET_TAXI_BENCHMARK_MODE = 0x34F7, + CMSG_SET_TITLE = 0x326D, CMSG_SET_TRADE_CURRENCY = 0x3160, CMSG_SET_TRADE_GOLD = 0x315F, CMSG_SET_TRADE_ITEM = 0x315D, - CMSG_SET_USING_PARTY_GARRISON = 0x32CD, - CMSG_SET_WATCHED_FACTION = 0x34D7, - CMSG_SHOW_TRADE_SKILL = 0x36C2, - CMSG_SIGN_PETITION = 0x3529, - CMSG_SILENCE_PARTY_TALKER = 0x3655, - CMSG_SOCKET_GEMS = 0x34E1, - CMSG_SORT_BAGS = 0x330E, - CMSG_SORT_BANK_BAGS = 0x330F, - CMSG_SORT_REAGENT_BANK_BAGS = 0x3310, - CMSG_SPELL_CLICK = 0x3494, - CMSG_SPIRIT_HEALER_ACTIVATE = 0x34B0, + CMSG_SET_USING_PARTY_GARRISON = 0x32D5, + CMSG_SET_WATCHED_FACTION = 0x34E5, + CMSG_SHOW_TRADE_SKILL = 0x36C1, + CMSG_SIGN_PETITION = 0x3537, + CMSG_SILENCE_PARTY_TALKER = 0x3654, + CMSG_SOCKET_GEMS = 0x34EF, + CMSG_SORT_BAGS = 0x3314, + CMSG_SORT_BANK_BAGS = 0x3315, + CMSG_SORT_REAGENT_BANK_BAGS = 0x3316, + CMSG_SPELL_CLICK = 0x3498, + CMSG_SPIRIT_HEALER_ACTIVATE = 0x34B2, CMSG_SPLIT_ITEM = 0x399E, CMSG_STAND_STATE_CHANGE = 0x3188, - CMSG_START_CHALLENGE_MODE = 0x3540, + CMSG_START_CHALLENGE_MODE = 0x354E, CMSG_START_SPECTATOR_WAR_GAME = 0x35DF, CMSG_START_WAR_GAME = 0x35DE, - CMSG_SUMMON_RESPONSE = 0x366D, - CMSG_SUPPORT_TICKET_SUBMIT_BUG = 0x3648, - CMSG_SUPPORT_TICKET_SUBMIT_COMPLAINT = 0x3647, - CMSG_SUPPORT_TICKET_SUBMIT_SUGGESTION = 0x3649, + CMSG_SUMMON_RESPONSE = 0x366C, + CMSG_SUPPORT_TICKET_SUBMIT_BUG = 0x3647, + CMSG_SUPPORT_TICKET_SUBMIT_COMPLAINT = 0x3646, + CMSG_SUPPORT_TICKET_SUBMIT_SUGGESTION = 0x3648, CMSG_SURRENDER_ARENA = 0x3172, CMSG_SUSPEND_COMMS_ACK = 0x3764, CMSG_SUSPEND_TOKEN_RESPONSE = 0x376A, CMSG_SWAP_INV_ITEM = 0x399D, CMSG_SWAP_ITEM = 0x399C, - CMSG_SWAP_SUB_GROUPS = 0x3650, + CMSG_SWAP_SUB_GROUPS = 0x364F, CMSG_SWAP_VOID_ITEM = 0x319F, - CMSG_TABARD_VENDOR_ACTIVATE = 0x328C, - CMSG_TALK_TO_GOSSIP = 0x3491, - CMSG_TAXI_NODE_STATUS_QUERY = 0x34A9, - CMSG_TAXI_QUERY_AVAILABLE_NODES = 0x34AB, - CMSG_TAXI_REQUEST_EARLY_LANDING = 0x34AD, + CMSG_TABARD_VENDOR_ACTIVATE = 0x3296, + CMSG_TALK_TO_GOSSIP = 0x3495, + CMSG_TAXI_NODE_STATUS_QUERY = 0x34AB, + CMSG_TAXI_QUERY_AVAILABLE_NODES = 0x34AD, + CMSG_TAXI_REQUEST_EARLY_LANDING = 0x34AF, CMSG_TIME_ADJUSTMENT_RESPONSE = 0x3A3B, CMSG_TIME_SYNC_RESPONSE = 0x3A38, CMSG_TIME_SYNC_RESPONSE_DROPPED = 0x3A3A, CMSG_TIME_SYNC_RESPONSE_FAILED = 0x3A39, - CMSG_TOGGLE_DIFFICULTY = 0x365A, - CMSG_TOGGLE_PVP = 0x328E, - CMSG_TOTEM_DESTROYED = 0x34F0, - CMSG_TRADE_SKILL_SET_FAVORITE = 0x332C, - CMSG_TRAINER_BUY_SPELL = 0x34AF, - CMSG_TRAINER_LIST = 0x34AE, + CMSG_TOGGLE_DIFFICULTY = 0x3659, + CMSG_TOGGLE_PVP = 0x3298, + CMSG_TOTEM_DESTROYED = 0x34FE, + CMSG_TRADE_SKILL_SET_FAVORITE = 0x3332, + CMSG_TRAINER_BUY_SPELL = 0x34B1, + CMSG_TRAINER_LIST = 0x34B0, CMSG_TRANSMOGRIFY_ITEMS = 0x3192, - CMSG_TURN_IN_PETITION = 0x352B, - CMSG_TUTORIAL = 0x36DF, + CMSG_TURN_IN_PETITION = 0x3539, + CMSG_TUTORIAL = 0x36DE, CMSG_TWITTER_CHECK_STATUS = 0x312A, CMSG_TWITTER_CONNECT = 0x3127, CMSG_TWITTER_DISCONNECT = 0x312B, - CMSG_TWITTER_POST = 0x3312, - CMSG_UI_TIME_REQUEST = 0x369D, + CMSG_TWITTER_POST = 0x3318, + CMSG_UI_TIME_REQUEST = 0x369C, CMSG_UNACCEPT_TRADE = 0x315B, - CMSG_UNDELETE_CHARACTER = 0x36E1, - CMSG_UNLEARN_SKILL = 0x34DB, + CMSG_UNDELETE_CHARACTER = 0x36E0, + CMSG_UNLEARN_SKILL = 0x34E9, CMSG_UNLEARN_SPECIALIZATION = 0x31A0, CMSG_UNLOCK_VOID_STORAGE = 0x319C, - CMSG_UPDATE_ACCOUNT_DATA = 0x3699, - CMSG_UPDATE_AREA_TRIGGER_VISUAL = 0x3282, - CMSG_UPDATE_CLIENT_SETTINGS = 0x3667, + CMSG_UPDATE_ACCOUNT_DATA = 0x3698, + CMSG_UPDATE_AREA_TRIGGER_VISUAL = 0x328C, + CMSG_UPDATE_CLIENT_SETTINGS = 0x3666, CMSG_UPDATE_MISSILE_TRAJECTORY = 0x3A3E, - CMSG_UPDATE_RAID_TARGET = 0x3653, - CMSG_UPDATE_SPELL_VISUAL = 0x3281, - CMSG_UPDATE_VAS_PURCHASE_STATES = 0x36F7, - CMSG_UPDATE_WOW_TOKEN_AUCTIONABLE_LIST = 0x36F2, - CMSG_UPDATE_WOW_TOKEN_COUNT = 0x36E8, - CMSG_UPGRADE_GARRISON = 0x329F, - CMSG_UPGRADE_ITEM = 0x3213, + CMSG_UPDATE_RAID_TARGET = 0x3652, + CMSG_UPDATE_SPELL_VISUAL = 0x328B, + CMSG_UPDATE_VAS_PURCHASE_STATES = 0x36F6, + CMSG_UPDATE_WOW_TOKEN_AUCTIONABLE_LIST = 0x36F1, + CMSG_UPDATE_WOW_TOKEN_COUNT = 0x36E7, + CMSG_UPGRADE_GARRISON = 0x32A9, + CMSG_UPGRADE_ITEM = 0x321B, CMSG_USED_FOLLOW = 0x3185, - CMSG_USE_CRITTER_ITEM = 0x322C, + CMSG_USE_CRITTER_ITEM = 0x3234, CMSG_USE_EQUIPMENT_SET = 0x3995, - CMSG_USE_ITEM = 0x327C, - CMSG_USE_TOY = 0x327E, + CMSG_USE_ITEM = 0x3286, + CMSG_USE_TOY = 0x3288, CMSG_VIOLENCE_LEVEL = 0x3183, CMSG_VOID_STORAGE_TRANSFER = 0x319E, CMSG_WARDEN_DATA = 0x35EC, - CMSG_WHO = 0x3684, - CMSG_WHO_IS = 0x3683, - CMSG_WORLD_PORT_RESPONSE = 0x35FA, + CMSG_WHO = 0x3683, + CMSG_WHO_IS = 0x3682, + CMSG_WORLD_PORT_RESPONSE = 0x35F9, CMSG_WRAP_ITEM = 0x3994, CMSG_BF_MGR_ENTRY_INVITE_RESPONSE = 0xBADD, @@ -757,188 +761,190 @@ enum OpcodeClient : uint16 enum OpcodeServer : uint16 { - SMSG_ABORT_NEW_WORLD = 0x25AE, - SMSG_ACCOUNT_CRITERIA_UPDATE = 0x2654, - SMSG_ACCOUNT_DATA_TIMES = 0x274B, - SMSG_ACCOUNT_MOUNT_UPDATE = 0x25C4, - SMSG_ACCOUNT_TOYS_UPDATE = 0x25C5, - SMSG_ACHIEVEMENT_DELETED = 0x2720, - SMSG_ACHIEVEMENT_EARNED = 0x2662, - SMSG_ACTIVATE_TAXI_REPLY = 0x26A8, + SMSG_ABORT_NEW_WORLD = 0x25AD, + SMSG_ACCOUNT_CRITERIA_UPDATE = 0x2653, + SMSG_ACCOUNT_DATA_TIMES = 0x274A, + SMSG_ACCOUNT_MOUNT_UPDATE = 0x25C3, + SMSG_ACCOUNT_TOYS_UPDATE = 0x25C4, + SMSG_ACHIEVEMENT_DELETED = 0x271F, + SMSG_ACHIEVEMENT_EARNED = 0x2661, + SMSG_ACTIVATE_TAXI_REPLY = 0x26A7, SMSG_ACTIVE_GLYPHS = 0x2C52, - SMSG_ADD_BATTLENET_FRIEND_RESPONSE = 0x265C, - SMSG_ADD_ITEM_PASSIVE = 0x25C0, - SMSG_ADD_LOSS_OF_CONTROL = 0x2698, - SMSG_ADD_RUNE_POWER = 0x26E4, - SMSG_ADJUST_SPLINE_DURATION = 0x25E9, - SMSG_AE_LOOT_TARGETS = 0x262D, - SMSG_AE_LOOT_TARGET_ACK = 0x262E, - SMSG_AI_REACTION = 0x26E1, + SMSG_ADD_BATTLENET_FRIEND_RESPONSE = 0x265B, + SMSG_ADD_ITEM_PASSIVE = 0x25BF, + SMSG_ADD_LOSS_OF_CONTROL = 0x2697, + SMSG_ADD_RUNE_POWER = 0x26E3, + SMSG_ADJUST_SPLINE_DURATION = 0x25E8, + SMSG_AE_LOOT_TARGETS = 0x262C, + SMSG_AE_LOOT_TARGET_ACK = 0x262D, + SMSG_AI_REACTION = 0x26E0, SMSG_ALL_ACCOUNT_CRITERIA = 0x2570, SMSG_ALL_ACHIEVEMENT_DATA = 0x256F, SMSG_ALL_GUILD_ACHIEVEMENTS = 0x29B8, - SMSG_ARCHAEOLOGY_SURVERY_CAST = 0x2587, - SMSG_AREA_POI_UPDATE = 0x2844, - SMSG_AREA_SPIRIT_HEALER_TIME = 0x2784, - SMSG_AREA_TRIGGER_DENIED = 0x269F, - SMSG_AREA_TRIGGER_NO_CORPSE = 0x2757, - SMSG_AREA_TRIGGER_RE_PATH = 0x2641, - SMSG_AREA_TRIGGER_RE_SHAPE = 0x263E, - SMSG_ARENA_CROWD_CONTROL_SPELLS = 0x2650, - SMSG_ARENA_ERROR = 0x2713, - SMSG_ARENA_PREP_OPPONENT_SPECIALIZATIONS = 0x2667, - SMSG_ARTIFACT_FORGE_OPENED = 0x27E5, - SMSG_ARTIFACT_RESPEC_CONFIRM = 0x27E8, - SMSG_ARTIFACT_TRAITS_REFUNDED = 0x27E9, - SMSG_ARTIFACT_XP_GAIN = 0x282A, - SMSG_ATTACKER_STATE_UPDATE = 0x27D2, - SMSG_ATTACK_START = 0x266F, - SMSG_ATTACK_STOP = 0x2670, - SMSG_ATTACK_SWING_ERROR = 0x2735, - SMSG_ATTACK_SWING_LANDED_LOG = 0x2736, - SMSG_AUCTION_CLOSED_NOTIFICATION = 0x272A, - SMSG_AUCTION_COMMAND_RESULT = 0x2727, - SMSG_AUCTION_HELLO_RESPONSE = 0x2725, - SMSG_AUCTION_LIST_BIDDER_ITEMS_RESULT = 0x272E, - SMSG_AUCTION_LIST_ITEMS_RESULT = 0x272C, - SMSG_AUCTION_LIST_OWNER_ITEMS_RESULT = 0x272D, - SMSG_AUCTION_LIST_PENDING_SALES_RESULT = 0x272F, - SMSG_AUCTION_OUTBID_NOTIFICATION = 0x2729, - SMSG_AUCTION_OWNER_BID_NOTIFICATION = 0x272B, - SMSG_AUCTION_REPLICATE_RESPONSE = 0x2726, - SMSG_AUCTION_WON_NOTIFICATION = 0x2728, + SMSG_ARCHAEOLOGY_SURVERY_CAST = 0x2586, + SMSG_AREA_POI_UPDATE = 0x2848, + SMSG_AREA_SPIRIT_HEALER_TIME = 0x2783, + SMSG_AREA_TRIGGER_DENIED = 0x269E, + SMSG_AREA_TRIGGER_NO_CORPSE = 0x2756, + SMSG_AREA_TRIGGER_RE_PATH = 0x2640, + SMSG_AREA_TRIGGER_RE_SHAPE = 0x263D, + SMSG_ARENA_CROWD_CONTROL_SPELLS = 0x264F, + SMSG_ARENA_ERROR = 0x2712, + SMSG_ARENA_PREP_OPPONENT_SPECIALIZATIONS = 0x2666, + SMSG_ARTIFACT_FORGE_OPENED = 0x27E3, + SMSG_ARTIFACT_KNOWLEDGE = 0x27EB, + SMSG_ARTIFACT_RESPEC_CONFIRM = 0x27E6, + SMSG_ARTIFACT_TRAITS_REFUNDED = 0x27E7, + SMSG_ARTIFACT_XP_GAIN = 0x282E, + SMSG_ATTACKER_STATE_UPDATE = 0x27D0, + SMSG_ATTACK_START = 0x266E, + SMSG_ATTACK_STOP = 0x266F, + SMSG_ATTACK_SWING_ERROR = 0x2734, + SMSG_ATTACK_SWING_LANDED_LOG = 0x2735, + SMSG_AUCTION_CLOSED_NOTIFICATION = 0x2729, + SMSG_AUCTION_COMMAND_RESULT = 0x2726, + SMSG_AUCTION_HELLO_RESPONSE = 0x2724, + SMSG_AUCTION_LIST_BIDDER_ITEMS_RESULT = 0x272D, + SMSG_AUCTION_LIST_ITEMS_RESULT = 0x272B, + SMSG_AUCTION_LIST_OWNER_ITEMS_RESULT = 0x272C, + SMSG_AUCTION_LIST_PENDING_SALES_RESULT = 0x272E, + SMSG_AUCTION_OUTBID_NOTIFICATION = 0x2728, + SMSG_AUCTION_OWNER_BID_NOTIFICATION = 0x272A, + SMSG_AUCTION_REPLICATE_RESPONSE = 0x2725, + SMSG_AUCTION_WON_NOTIFICATION = 0x2727, SMSG_AURA_POINTS_DEPLETED = 0x2C23, SMSG_AURA_UPDATE = 0x2C22, SMSG_AUTH_CHALLENGE = 0x3048, SMSG_AUTH_RESPONSE = 0x256C, - SMSG_BAN_REASON = 0x26B4, - SMSG_BARBER_SHOP_RESULT = 0x26EA, - SMSG_BATTLEFIELD_LIST = 0x2595, - SMSG_BATTLEFIELD_PORT_DENIED = 0x259B, - SMSG_BATTLEFIELD_STATUS_ACTIVE = 0x2591, - SMSG_BATTLEFIELD_STATUS_FAILED = 0x2594, - SMSG_BATTLEFIELD_STATUS_NEED_CONFIRMATION = 0x2590, - SMSG_BATTLEFIELD_STATUS_NONE = 0x2593, - SMSG_BATTLEFIELD_STATUS_QUEUED = 0x2592, - SMSG_BATTLEFIELD_STATUS_WAIT_FOR_GROUPS = 0x25A6, - SMSG_BATTLEGROUND_INFO_THROTTLED = 0x259C, - SMSG_BATTLEGROUND_INIT = 0x27A2, - SMSG_BATTLEGROUND_PLAYER_JOINED = 0x2599, - SMSG_BATTLEGROUND_PLAYER_LEFT = 0x259A, - SMSG_BATTLEGROUND_PLAYER_POSITIONS = 0x2596, - SMSG_BATTLEGROUND_POINTS = 0x27A1, - SMSG_BATTLENET_CHALLENGE_ABORT = 0x27D1, - SMSG_BATTLENET_CHALLENGE_START = 0x27D0, - SMSG_BATTLENET_NOTIFICATION = 0x283F, - SMSG_BATTLENET_REALM_LIST_TICKET = 0x2841, - SMSG_BATTLENET_RESPONSE = 0x283E, - SMSG_BATTLENET_SET_SESSION_STATE = 0x2840, - SMSG_BATTLE_PAY_ACK_FAILED = 0x27C9, - SMSG_BATTLE_PAY_BATTLE_PET_DELIVERED = 0x27BE, - SMSG_BATTLE_PAY_CONFIRM_PURCHASE = 0x27C8, - SMSG_BATTLE_PAY_DELIVERY_ENDED = 0x27BC, - SMSG_BATTLE_PAY_DELIVERY_STARTED = 0x27BB, - SMSG_BATTLE_PAY_DISTRIBUTION_UPDATE = 0x27BA, - SMSG_BATTLE_PAY_GET_DISTRIBUTION_LIST_RESPONSE = 0x27B8, - SMSG_BATTLE_PAY_GET_PRODUCT_LIST_RESPONSE = 0x27B6, - SMSG_BATTLE_PAY_GET_PURCHASE_LIST_RESPONSE = 0x27B7, - SMSG_BATTLE_PAY_MOUNT_DELIVERED = 0x27BD, - SMSG_BATTLE_PAY_PURCHASE_UPDATE = 0x27C7, - SMSG_BATTLE_PAY_START_DISTRIBUTION_ASSIGN_TO_TARGET_RESPONSE = 0x27C5, - SMSG_BATTLE_PAY_START_PURCHASE_RESPONSE = 0x27C4, - SMSG_BATTLE_PAY_VAS_BNET_TRANSFER_VALIDATION_RESULT = 0x2856, - SMSG_BATTLE_PAY_VAS_BOOST_CONSUMED = 0x27B9, - SMSG_BATTLE_PAY_VAS_CHARACTER_LIST = 0x282D, - SMSG_BATTLE_PAY_VAS_CHARACTER_QUEUE_STATUS = 0x2855, - SMSG_BATTLE_PAY_VAS_PURCHASE_COMPLETE = 0x2830, - SMSG_BATTLE_PAY_VAS_PURCHASE_LIST = 0x2831, - SMSG_BATTLE_PAY_VAS_PURCHASE_STARTED = 0x282F, - SMSG_BATTLE_PAY_VAS_REALM_LIST = 0x282E, - SMSG_BATTLE_PAY_VAS_TRANSFER_QUEUE_STATUS = 0x2854, - SMSG_BATTLE_PETS_HEALED = 0x260A, - SMSG_BATTLE_PET_CAGE_DATE_ERROR = 0x26A2, - SMSG_BATTLE_PET_DELETED = 0x2607, - SMSG_BATTLE_PET_ERROR = 0x2657, - SMSG_BATTLE_PET_JOURNAL = 0x2606, - SMSG_BATTLE_PET_JOURNAL_LOCK_ACQUIRED = 0x2604, - SMSG_BATTLE_PET_JOURNAL_LOCK_DENIED = 0x2605, - SMSG_BATTLE_PET_LICENSE_CHANGED = 0x260B, - SMSG_BATTLE_PET_MAX_COUNT_CHANGED = 0x2602, - SMSG_BATTLE_PET_RESTORED = 0x2609, - SMSG_BATTLE_PET_REVOKED = 0x2608, - SMSG_BATTLE_PET_TRAP_LEVEL = 0x2601, - SMSG_BATTLE_PET_UPDATES = 0x2600, - SMSG_BINDER_CONFIRM = 0x273B, - SMSG_BIND_POINT_UPDATE = 0x257D, - SMSG_BLACK_MARKET_BID_ON_ITEM_RESULT = 0x2646, - SMSG_BLACK_MARKET_OPEN_RESULT = 0x2644, - SMSG_BLACK_MARKET_OUTBID = 0x2647, - SMSG_BLACK_MARKET_REQUEST_ITEMS_RESULT = 0x2645, - SMSG_BLACK_MARKET_WON = 0x2648, - SMSG_BONUS_ROLL_EMPTY = 0x2664, - SMSG_BOSS_KILL_CREDIT = 0x27C3, - SMSG_BREAK_TARGET = 0x266E, - SMSG_BUY_FAILED = 0x26F3, - SMSG_BUY_SUCCEEDED = 0x26F2, - SMSG_CACHE_INFO = 0x2745, - SMSG_CACHE_VERSION = 0x2744, - SMSG_CALENDAR_CLEAR_PENDING_ACTION = 0x26C8, - SMSG_CALENDAR_COMMAND_RESULT = 0x26C9, - SMSG_CALENDAR_EVENT_INITIAL_INVITES = 0x26B8, - SMSG_CALENDAR_EVENT_INVITE = 0x26B9, - SMSG_CALENDAR_EVENT_INVITE_ALERT = 0x26BA, - SMSG_CALENDAR_EVENT_INVITE_MODERATOR_STATUS = 0x26BD, - SMSG_CALENDAR_EVENT_INVITE_NOTES = 0x26C2, - SMSG_CALENDAR_EVENT_INVITE_NOTES_ALERT = 0x26C3, - SMSG_CALENDAR_EVENT_INVITE_REMOVED = 0x26BE, - SMSG_CALENDAR_EVENT_INVITE_REMOVED_ALERT = 0x26BF, - SMSG_CALENDAR_EVENT_INVITE_STATUS = 0x26BB, - SMSG_CALENDAR_EVENT_INVITE_STATUS_ALERT = 0x26BC, - SMSG_CALENDAR_EVENT_REMOVED_ALERT = 0x26C0, - SMSG_CALENDAR_EVENT_UPDATED_ALERT = 0x26C1, - SMSG_CALENDAR_RAID_LOCKOUT_ADDED = 0x26C4, - SMSG_CALENDAR_RAID_LOCKOUT_REMOVED = 0x26C5, - SMSG_CALENDAR_RAID_LOCKOUT_UPDATED = 0x26C6, - SMSG_CALENDAR_SEND_CALENDAR = 0x26B6, - SMSG_CALENDAR_SEND_EVENT = 0x26B7, - SMSG_CALENDAR_SEND_NUM_PENDING = 0x26C7, - SMSG_CAMERA_EFFECT = 0x2769, - SMSG_CANCEL_AUTO_REPEAT = 0x2714, - SMSG_CANCEL_COMBAT = 0x2733, + SMSG_AVAILABLE_HOTFIXES = 0x25A1, + SMSG_BAN_REASON = 0x26B3, + SMSG_BARBER_SHOP_RESULT = 0x26E9, + SMSG_BATTLEFIELD_LIST = 0x2594, + SMSG_BATTLEFIELD_PORT_DENIED = 0x259A, + SMSG_BATTLEFIELD_STATUS_ACTIVE = 0x2590, + SMSG_BATTLEFIELD_STATUS_FAILED = 0x2593, + SMSG_BATTLEFIELD_STATUS_NEED_CONFIRMATION = 0x258F, + SMSG_BATTLEFIELD_STATUS_NONE = 0x2592, + SMSG_BATTLEFIELD_STATUS_QUEUED = 0x2591, + SMSG_BATTLEFIELD_STATUS_WAIT_FOR_GROUPS = 0x25A5, + SMSG_BATTLEGROUND_INFO_THROTTLED = 0x259B, + SMSG_BATTLEGROUND_INIT = 0x27A1, + SMSG_BATTLEGROUND_PLAYER_JOINED = 0x2598, + SMSG_BATTLEGROUND_PLAYER_LEFT = 0x2599, + SMSG_BATTLEGROUND_PLAYER_POSITIONS = 0x2595, + SMSG_BATTLEGROUND_POINTS = 0x27A0, + SMSG_BATTLENET_CHALLENGE_ABORT = 0x27CF, + SMSG_BATTLENET_CHALLENGE_START = 0x27CE, + SMSG_BATTLENET_NOTIFICATION = 0x2843, + SMSG_BATTLENET_REALM_LIST_TICKET = 0x2845, + SMSG_BATTLENET_RESPONSE = 0x2842, + SMSG_BATTLENET_SET_SESSION_STATE = 0x2844, + SMSG_BATTLE_PAY_ACK_FAILED = 0x27C7, + SMSG_BATTLE_PAY_BATTLE_PET_DELIVERED = 0x27BC, + SMSG_BATTLE_PAY_CONFIRM_PURCHASE = 0x27C6, + SMSG_BATTLE_PAY_DELIVERY_ENDED = 0x27BA, + SMSG_BATTLE_PAY_DELIVERY_STARTED = 0x27B9, + SMSG_BATTLE_PAY_DISTRIBUTION_UPDATE = 0x27B8, + SMSG_BATTLE_PAY_GET_DISTRIBUTION_LIST_RESPONSE = 0x27B6, + SMSG_BATTLE_PAY_GET_PRODUCT_LIST_RESPONSE = 0x27B4, + SMSG_BATTLE_PAY_GET_PURCHASE_LIST_RESPONSE = 0x27B5, + SMSG_BATTLE_PAY_MOUNT_DELIVERED = 0x27BB, + SMSG_BATTLE_PAY_PURCHASE_UPDATE = 0x27C5, + SMSG_BATTLE_PAY_START_DISTRIBUTION_ASSIGN_TO_TARGET_RESPONSE = 0x27C3, + SMSG_BATTLE_PAY_START_PURCHASE_RESPONSE = 0x27C2, + SMSG_BATTLE_PAY_VAS_BNET_TRANSFER_VALIDATION_RESULT = 0x285B, + SMSG_BATTLE_PAY_VAS_BOOST_CONSUMED = 0x27B7, + SMSG_BATTLE_PAY_VAS_CHARACTER_LIST = 0x2831, + SMSG_BATTLE_PAY_VAS_CHARACTER_QUEUE_STATUS = 0x2859, + SMSG_BATTLE_PAY_VAS_PURCHASE_COMPLETE = 0x2834, + SMSG_BATTLE_PAY_VAS_PURCHASE_LIST = 0x2835, + SMSG_BATTLE_PAY_VAS_PURCHASE_STARTED = 0x2833, + SMSG_BATTLE_PAY_VAS_REALM_LIST = 0x2832, + SMSG_BATTLE_PAY_VAS_TRANSFER_QUEUE_STATUS = 0x2858, + SMSG_BATTLE_PETS_HEALED = 0x2609, + SMSG_BATTLE_PET_CAGE_DATE_ERROR = 0x26A1, + SMSG_BATTLE_PET_DELETED = 0x2606, + SMSG_BATTLE_PET_ERROR = 0x2656, + SMSG_BATTLE_PET_JOURNAL = 0x2605, + SMSG_BATTLE_PET_JOURNAL_LOCK_ACQUIRED = 0x2603, + SMSG_BATTLE_PET_JOURNAL_LOCK_DENIED = 0x2604, + SMSG_BATTLE_PET_LICENSE_CHANGED = 0x260A, + SMSG_BATTLE_PET_MAX_COUNT_CHANGED = 0x2601, + SMSG_BATTLE_PET_RESTORED = 0x2608, + SMSG_BATTLE_PET_REVOKED = 0x2607, + SMSG_BATTLE_PET_TRAP_LEVEL = 0x2600, + SMSG_BATTLE_PET_UPDATES = 0x25FF, + SMSG_BINDER_CONFIRM = 0x273A, + SMSG_BIND_POINT_UPDATE = 0x257C, + SMSG_BLACK_MARKET_BID_ON_ITEM_RESULT = 0x2645, + SMSG_BLACK_MARKET_OPEN_RESULT = 0x2643, + SMSG_BLACK_MARKET_OUTBID = 0x2646, + SMSG_BLACK_MARKET_REQUEST_ITEMS_RESULT = 0x2644, + SMSG_BLACK_MARKET_WON = 0x2647, + SMSG_BONUS_ROLL_EMPTY = 0x2663, + SMSG_BOSS_KILL_CREDIT = 0x27C1, + SMSG_BREAK_TARGET = 0x266D, + SMSG_BUY_FAILED = 0x26F2, + SMSG_BUY_SUCCEEDED = 0x26F1, + SMSG_CACHE_INFO = 0x2744, + SMSG_CACHE_VERSION = 0x2743, + SMSG_CALENDAR_CLEAR_PENDING_ACTION = 0x26C7, + SMSG_CALENDAR_COMMAND_RESULT = 0x26C8, + SMSG_CALENDAR_EVENT_INITIAL_INVITES = 0x26B7, + SMSG_CALENDAR_EVENT_INVITE = 0x26B8, + SMSG_CALENDAR_EVENT_INVITE_ALERT = 0x26B9, + SMSG_CALENDAR_EVENT_INVITE_MODERATOR_STATUS = 0x26BC, + SMSG_CALENDAR_EVENT_INVITE_NOTES = 0x26C1, + SMSG_CALENDAR_EVENT_INVITE_NOTES_ALERT = 0x26C2, + SMSG_CALENDAR_EVENT_INVITE_REMOVED = 0x26BD, + SMSG_CALENDAR_EVENT_INVITE_REMOVED_ALERT = 0x26BE, + SMSG_CALENDAR_EVENT_INVITE_STATUS = 0x26BA, + SMSG_CALENDAR_EVENT_INVITE_STATUS_ALERT = 0x26BB, + SMSG_CALENDAR_EVENT_REMOVED_ALERT = 0x26BF, + SMSG_CALENDAR_EVENT_UPDATED_ALERT = 0x26C0, + SMSG_CALENDAR_RAID_LOCKOUT_ADDED = 0x26C3, + SMSG_CALENDAR_RAID_LOCKOUT_REMOVED = 0x26C4, + SMSG_CALENDAR_RAID_LOCKOUT_UPDATED = 0x26C5, + SMSG_CALENDAR_SEND_CALENDAR = 0x26B5, + SMSG_CALENDAR_SEND_EVENT = 0x26B6, + SMSG_CALENDAR_SEND_NUM_PENDING = 0x26C6, + SMSG_CAMERA_EFFECT = 0x2768, + SMSG_CANCEL_AUTO_REPEAT = 0x2713, + SMSG_CANCEL_COMBAT = 0x2732, SMSG_CANCEL_ORPHAN_SPELL_VISUAL = 0x2C45, - SMSG_CANCEL_SCENE = 0x2656, + SMSG_CANCEL_SCENE = 0x2655, SMSG_CANCEL_SPELL_VISUAL = 0x2C43, SMSG_CANCEL_SPELL_VISUAL_KIT = 0x2C47, - SMSG_CAN_DUEL_RESULT = 0x2678, + SMSG_CAN_DUEL_RESULT = 0x2677, SMSG_CAST_FAILED = 0x2C55, SMSG_CATEGORY_COOLDOWN = 0x2C16, - SMSG_CHALLENGE_MODE_ALL_MAP_STATS = 0x2623, - SMSG_CHALLENGE_MODE_COMPLETE = 0x2621, - SMSG_CHALLENGE_MODE_MAP_STATS_UPDATE = 0x2624, - SMSG_CHALLENGE_MODE_NEW_PLAYER_RECORD = 0x2626, - SMSG_CHALLENGE_MODE_REQUEST_LEADERS_RESULT = 0x2625, - SMSG_CHALLENGE_MODE_RESET = 0x2620, - SMSG_CHALLENGE_MODE_REWARDS = 0x2622, - SMSG_CHALLENGE_MODE_START = 0x261E, - SMSG_CHALLENGE_MODE_UPDATE_DEATH_COUNT = 0x261F, - SMSG_CHANGE_PLAYER_DIFFICULTY_RESULT = 0x2737, + SMSG_CHALLENGE_MODE_ALL_MAP_STATS = 0x2622, + SMSG_CHALLENGE_MODE_COMPLETE = 0x2620, + SMSG_CHALLENGE_MODE_MAP_STATS_UPDATE = 0x2623, + SMSG_CHALLENGE_MODE_NEW_PLAYER_RECORD = 0x2625, + SMSG_CHALLENGE_MODE_REQUEST_LEADERS_RESULT = 0x2624, + SMSG_CHALLENGE_MODE_RESET = 0x261F, + SMSG_CHALLENGE_MODE_REWARDS = 0x2621, + SMSG_CHALLENGE_MODE_START = 0x261D, + SMSG_CHALLENGE_MODE_UPDATE_DEATH_COUNT = 0x261E, + SMSG_CHANGE_PLAYER_DIFFICULTY_RESULT = 0x2736, SMSG_CHANNEL_LIST = 0x2BC3, SMSG_CHANNEL_NOTIFY = 0x2BC0, SMSG_CHANNEL_NOTIFY_JOINED = 0x2BC1, SMSG_CHANNEL_NOTIFY_LEFT = 0x2BC2, - SMSG_CHARACTER_CLASS_TRIAL_CREATE = 0x2802, - SMSG_CHARACTER_ITEM_FIXUP = 0x2850, - SMSG_CHARACTER_LOGIN_FAILED = 0x2746, - SMSG_CHARACTER_OBJECT_TEST_RESPONSE = 0x27CF, - SMSG_CHARACTER_RENAME_RESULT = 0x27A8, - SMSG_CHARACTER_UPGRADE_COMPLETE = 0x2801, - SMSG_CHARACTER_UPGRADE_QUEUED = 0x2800, - SMSG_CHARACTER_UPGRADE_SPELL_TIER_SET = 0x25F5, - SMSG_CHARACTER_UPGRADE_STARTED = 0x27FF, - SMSG_CHARACTER_UPGRADE_UNREVOKE_RESULT = 0x2803, - SMSG_CHAR_CUSTOMIZE = 0x271B, - SMSG_CHAR_CUSTOMIZE_FAILED = 0x271A, - SMSG_CHAR_FACTION_CHANGE_RESULT = 0x27ED, + SMSG_CHARACTER_CLASS_TRIAL_CREATE = 0x2805, + SMSG_CHARACTER_ITEM_FIXUP = 0x2854, + SMSG_CHARACTER_LOGIN_FAILED = 0x2745, + SMSG_CHARACTER_OBJECT_TEST_RESPONSE = 0x27CD, + SMSG_CHARACTER_RENAME_RESULT = 0x27A6, + SMSG_CHARACTER_UPGRADE_COMPLETE = 0x2804, + SMSG_CHARACTER_UPGRADE_QUEUED = 0x2803, + SMSG_CHARACTER_UPGRADE_SPELL_TIER_SET = 0x25F4, + SMSG_CHARACTER_UPGRADE_STARTED = 0x2802, + SMSG_CHARACTER_UPGRADE_UNREVOKE_RESULT = 0x2806, + SMSG_CHAR_CUSTOMIZE = 0x271A, + SMSG_CHAR_CUSTOMIZE_FAILED = 0x2719, + SMSG_CHAR_FACTION_CHANGE_RESULT = 0x27EF, SMSG_CHAT = 0x2BAD, SMSG_CHAT_AUTO_RESPONDED = 0x2BB8, SMSG_CHAT_DOWN = 0x2BBD, @@ -951,101 +957,100 @@ enum OpcodeServer : uint16 SMSG_CHAT_RESTRICTED = 0x2BB3, SMSG_CHAT_SERVER_MESSAGE = 0x2BC4, SMSG_CHEAT_IGNORE_DIMISHING_RETURNS = 0x2C12, - SMSG_CHECK_WARGAME_ENTRY = 0x259F, + SMSG_CHECK_WARGAME_ENTRY = 0x259E, SMSG_CLEAR_ALL_SPELL_CHARGES = 0x2C27, - SMSG_CLEAR_BOSS_EMOTES = 0x25CE, - SMSG_CLEAR_COOLDOWN = 0x26E6, + SMSG_CLEAR_BOSS_EMOTES = 0x25CD, + SMSG_CLEAR_COOLDOWN = 0x26E5, SMSG_CLEAR_COOLDOWNS = 0x2C26, - SMSG_CLEAR_LOSS_OF_CONTROL = 0x269A, + SMSG_CLEAR_LOSS_OF_CONTROL = 0x2699, SMSG_CLEAR_SPELL_CHARGES = 0x2C28, - SMSG_CLEAR_TARGET = 0x26DD, - SMSG_COIN_REMOVED = 0x262C, - SMSG_COMBAT_EVENT_FAILED = 0x2671, - SMSG_COMMENTATOR_MAP_INFO = 0x2748, - SMSG_COMMENTATOR_PLAYER_INFO = 0x2749, - SMSG_COMMENTATOR_STATE_CHANGED = 0x2747, - SMSG_COMPLAINT_RESULT = 0x26D5, - SMSG_COMPLETE_SHIPMENT_RESPONSE = 0x27E1, + SMSG_CLEAR_TARGET = 0x26DC, + SMSG_COIN_REMOVED = 0x262B, + SMSG_COMBAT_EVENT_FAILED = 0x2670, + SMSG_COMMENTATOR_MAP_INFO = 0x2747, + SMSG_COMMENTATOR_PLAYER_INFO = 0x2748, + SMSG_COMMENTATOR_STATE_CHANGED = 0x2746, + SMSG_COMPLAINT_RESULT = 0x26D4, + SMSG_COMPLETE_SHIPMENT_RESPONSE = 0x27DF, SMSG_CONNECT_TO = 0x304D, - SMSG_CONQUEST_FORMULA_CONSTANTS = 0x27CA, - SMSG_CONSOLE_WRITE = 0x2653, - SMSG_CONSUMPTION_CONVERSION_INFO_RESPONSE = 0x2845, - SMSG_CONSUMPTION_CONVERSION_RESULT = 0x2846, - SMSG_CONTACT_LIST = 0x27CD, - SMSG_CONTROL_UPDATE = 0x2666, - SMSG_COOLDOWN_CHEAT = 0x277D, - SMSG_COOLDOWN_EVENT = 0x26E5, - SMSG_CORPSE_LOCATION = 0x266D, - SMSG_CORPSE_RECLAIM_DELAY = 0x2790, - SMSG_CORPSE_TRANSPORT_QUERY = 0x2753, - SMSG_CREATE_CHAR = 0x2740, - SMSG_CREATE_SHIPMENT_RESPONSE = 0x27E0, - SMSG_CRITERIA_DELETED = 0x271F, - SMSG_CRITERIA_UPDATE = 0x2719, - SMSG_CROSSED_INEBRIATION_THRESHOLD = 0x26EE, - SMSG_CUSTOM_LOAD_SCREEN = 0x25E4, + SMSG_CONQUEST_FORMULA_CONSTANTS = 0x27C8, + SMSG_CONSOLE_WRITE = 0x2652, + SMSG_CONSUMPTION_CONVERSION_INFO_RESPONSE = 0x2849, + SMSG_CONSUMPTION_CONVERSION_RESULT = 0x284A, + SMSG_CONTACT_LIST = 0x27CB, + SMSG_CONTROL_UPDATE = 0x2665, + SMSG_COOLDOWN_CHEAT = 0x277C, + SMSG_COOLDOWN_EVENT = 0x26E4, + SMSG_CORPSE_LOCATION = 0x266C, + SMSG_CORPSE_RECLAIM_DELAY = 0x278F, + SMSG_CORPSE_TRANSPORT_QUERY = 0x2752, + SMSG_CREATE_CHAR = 0x273F, + SMSG_CREATE_SHIPMENT_RESPONSE = 0x27DE, + SMSG_CRITERIA_DELETED = 0x271E, + SMSG_CRITERIA_UPDATE = 0x2718, + SMSG_CROSSED_INEBRIATION_THRESHOLD = 0x26ED, + SMSG_CUSTOM_LOAD_SCREEN = 0x25E3, SMSG_DAILY_QUESTS_RESET = 0x2A80, - SMSG_DAMAGE_CALC_LOG = 0x280A, - SMSG_DANCE_STUDIO_CREATE_RESULT = 0x27A5, - SMSG_DB_REPLY = 0x25A1, - SMSG_DEATH_RELEASE_LOC = 0x2707, + SMSG_DAMAGE_CALC_LOG = 0x280D, + SMSG_DB_REPLY = 0x25A0, + SMSG_DEATH_RELEASE_LOC = 0x2706, SMSG_DEFENSE_MESSAGE = 0x2BB6, - SMSG_DELETE_CHAR = 0x2741, - SMSG_DESTROY_ARENA_UNIT = 0x2786, - SMSG_DESTRUCTIBLE_BUILDING_DAMAGE = 0x2734, - SMSG_DIFFERENT_INSTANCE_FROM_PARTY = 0x258B, - SMSG_DISENCHANT_CREDIT = 0x25BD, - SMSG_DISMOUNT = 0x26DC, - SMSG_DISMOUNT_RESULT = 0x257C, + SMSG_DELETE_CHAR = 0x2740, + SMSG_DESTROY_ARENA_UNIT = 0x2785, + SMSG_DESTRUCTIBLE_BUILDING_DAMAGE = 0x2733, + SMSG_DIFFERENT_INSTANCE_FROM_PARTY = 0x258A, + SMSG_DISENCHANT_CREDIT = 0x25BC, + SMSG_DISMOUNT = 0x26DB, + SMSG_DISMOUNT_RESULT = 0x257B, SMSG_DISPEL_FAILED = 0x2C30, - SMSG_DISPLAY_GAME_ERROR = 0x25B6, - SMSG_DISPLAY_PLAYER_CHOICE = 0x26A3, - SMSG_DISPLAY_PROMOTION = 0x266A, + SMSG_DISPLAY_GAME_ERROR = 0x25B5, + SMSG_DISPLAY_PLAYER_CHOICE = 0x26A2, + SMSG_DISPLAY_PROMOTION = 0x2669, SMSG_DISPLAY_QUEST_POPUP = 0x2A9D, - SMSG_DISPLAY_TOAST = 0x263A, - SMSG_DONT_AUTO_PUSH_SPELLS_TO_ACTION_BAR = 0x25F7, + SMSG_DISPLAY_TOAST = 0x2639, + SMSG_DONT_AUTO_PUSH_SPELLS_TO_ACTION_BAR = 0x25F6, SMSG_DROP_NEW_CONNECTION = 0x304C, - SMSG_DUEL_COMPLETE = 0x2676, - SMSG_DUEL_COUNTDOWN = 0x2675, - SMSG_DUEL_IN_BOUNDS = 0x2674, - SMSG_DUEL_OUT_OF_BOUNDS = 0x2673, - SMSG_DUEL_REQUESTED = 0x2672, - SMSG_DUEL_WINNER = 0x2677, - SMSG_DURABILITY_DAMAGE_DEATH = 0x278C, - SMSG_EMOTE = 0x280B, - SMSG_ENABLE_BARBER_SHOP = 0x26E9, + SMSG_DUEL_COMPLETE = 0x2675, + SMSG_DUEL_COUNTDOWN = 0x2674, + SMSG_DUEL_IN_BOUNDS = 0x2673, + SMSG_DUEL_OUT_OF_BOUNDS = 0x2672, + SMSG_DUEL_REQUESTED = 0x2671, + SMSG_DUEL_WINNER = 0x2676, + SMSG_DURABILITY_DAMAGE_DEATH = 0x278B, + SMSG_EMOTE = 0x280E, + SMSG_ENABLE_BARBER_SHOP = 0x26E8, SMSG_ENABLE_ENCRYPTION = 0x3049, - SMSG_ENCHANTMENT_LOG = 0x2754, - SMSG_ENCOUNTER_END = 0x27C2, - SMSG_ENCOUNTER_START = 0x27C1, - SMSG_ENUM_CHARACTERS_RESULT = 0x2583, + SMSG_ENCHANTMENT_LOG = 0x2753, + SMSG_ENCOUNTER_END = 0x27C0, + SMSG_ENCOUNTER_START = 0x27BF, + SMSG_ENUM_CHARACTERS_RESULT = 0x2582, SMSG_ENVIRONMENTAL_DAMAGE_LOG = 0x2C21, - SMSG_EQUIPMENT_SET_ID = 0x26DE, + SMSG_EQUIPMENT_SET_ID = 0x26DD, SMSG_EXPECTED_SPAM_RECORDS = 0x2BB1, - SMSG_EXPLORATION_EXPERIENCE = 0x27A4, - SMSG_FACTION_BONUS_INFO = 0x2768, - SMSG_FAILED_PLAYER_CONDITION = 0x25E3, - SMSG_FEATURE_SYSTEM_STATUS = 0x25D2, - SMSG_FEATURE_SYSTEM_STATUS_GLUE_SCREEN = 0x25D3, - SMSG_FEIGN_DEATH_RESISTED = 0x2789, - SMSG_FISH_ESCAPED = 0x26FB, - SMSG_FISH_NOT_HOOKED = 0x26FA, + SMSG_EXPLORATION_EXPERIENCE = 0x27A3, + SMSG_FACTION_BONUS_INFO = 0x2767, + SMSG_FAILED_PLAYER_CONDITION = 0x25E2, + SMSG_FEATURE_SYSTEM_STATUS = 0x25D1, + SMSG_FEATURE_SYSTEM_STATUS_GLUE_SCREEN = 0x25D2, + SMSG_FEIGN_DEATH_RESISTED = 0x2788, + SMSG_FISH_ESCAPED = 0x26FA, + SMSG_FISH_NOT_HOOKED = 0x26F9, SMSG_FLIGHT_SPLINE_SYNC = 0x2DF7, - SMSG_FORCED_DEATH_UPDATE = 0x2708, - SMSG_FORCE_ANIM = 0x2796, - SMSG_FORCE_OBJECT_RELINK = 0x2669, - SMSG_FRIEND_STATUS = 0x27CE, - SMSG_GAME_OBJECT_ACTIVATE_ANIM_KIT = 0x25D7, - SMSG_GAME_OBJECT_CUSTOM_ANIM = 0x25D8, - SMSG_GAME_OBJECT_DESPAWN = 0x25D9, + SMSG_FORCED_DEATH_UPDATE = 0x2707, + SMSG_FORCE_ANIM = 0x2795, + SMSG_FORCE_OBJECT_RELINK = 0x2668, + SMSG_FRIEND_STATUS = 0x27CC, + SMSG_GAME_OBJECT_ACTIVATE_ANIM_KIT = 0x25D6, + SMSG_GAME_OBJECT_CUSTOM_ANIM = 0x25D7, + SMSG_GAME_OBJECT_DESPAWN = 0x25D8, SMSG_GAME_OBJECT_PLAY_SPELL_VISUAL = 0x2C4A, SMSG_GAME_OBJECT_PLAY_SPELL_VISUAL_KIT = 0x2C49, - SMSG_GAME_OBJECT_RESET_STATE = 0x275F, - SMSG_GAME_OBJECT_SET_STATE = 0x283D, - SMSG_GAME_OBJECT_UI_ACTION = 0x275C, - SMSG_GAME_SPEED_SET = 0x26AC, - SMSG_GAME_TIME_SET = 0x274D, - SMSG_GAME_TIME_UPDATE = 0x274C, + SMSG_GAME_OBJECT_RESET_STATE = 0x275E, + SMSG_GAME_OBJECT_SET_STATE = 0x2841, + SMSG_GAME_OBJECT_UI_ACTION = 0x275B, + SMSG_GAME_SPEED_SET = 0x26AB, + SMSG_GAME_TIME_SET = 0x274C, + SMSG_GAME_TIME_UPDATE = 0x274B, SMSG_GARRISON_ADD_FOLLOWER_RESULT = 0x2902, SMSG_GARRISON_ADD_MISSION_RESULT = 0x2906, SMSG_GARRISON_ASSIGN_FOLLOWER_TO_BUILDING_RESULT = 0x2918, @@ -1063,7 +1068,7 @@ enum OpcodeServer : uint16 SMSG_GARRISON_FOLLOWER_CHANGED_STATUS = 0x2915, SMSG_GARRISON_FOLLOWER_CHANGED_XP = 0x2912, SMSG_GARRISON_IS_UPGRADEABLE_RESULT = 0x2929, - SMSG_GARRISON_LANDING_PAGE_SHIPMENT_INFO = 0x27E3, + SMSG_GARRISON_LANDING_PAGE_SHIPMENT_INFO = 0x27E1, SMSG_GARRISON_LEARN_BLUEPRINT_RESULT = 0x28F7, SMSG_GARRISON_LEARN_SPECIALIZATION_RESULT = 0x28F5, SMSG_GARRISON_LIST_FOLLOWERS_CHEAT_RESULT = 0x2905, @@ -1092,27 +1097,27 @@ enum OpcodeServer : uint16 SMSG_GARRISON_START_MISSION_RESULT = 0x2907, SMSG_GARRISON_UNLEARN_BLUEPRINT_RESULT = 0x28F8, SMSG_GARRISON_UPGRADE_RESULT = 0x28FD, - SMSG_GENERATE_RANDOM_CHARACTER_NAME_RESULT = 0x2584, - SMSG_GET_ACCOUNT_CHARACTER_LIST_RESULT = 0x27A6, + SMSG_GENERATE_RANDOM_CHARACTER_NAME_RESULT = 0x2583, + SMSG_GET_ACCOUNT_CHARACTER_LIST_RESULT = 0x27A4, SMSG_GET_DISPLAYED_TROPHY_LIST_RESPONSE = 0x2928, SMSG_GET_GARRISON_INFO_RESULT = 0x28F0, - SMSG_GET_SHIPMENTS_OF_TYPE_RESPONSE = 0x27E2, - SMSG_GET_SHIPMENT_INFO_RESPONSE = 0x27DE, - SMSG_GET_TROPHY_LIST_RESPONSE = 0x2806, - SMSG_GM_PLAYER_INFO = 0x277C, - SMSG_GM_REQUEST_PLAYER_INFO = 0x25EE, - SMSG_GM_TICKET_CASE_STATUS = 0x26CE, - SMSG_GM_TICKET_SYSTEM_STATUS = 0x26CD, - SMSG_GOD_MODE = 0x273A, + SMSG_GET_SHIPMENTS_OF_TYPE_RESPONSE = 0x27E0, + SMSG_GET_SHIPMENT_INFO_RESPONSE = 0x27DC, + SMSG_GET_TROPHY_LIST_RESPONSE = 0x2809, + SMSG_GM_PLAYER_INFO = 0x277B, + SMSG_GM_REQUEST_PLAYER_INFO = 0x25ED, + SMSG_GM_TICKET_CASE_STATUS = 0x26CD, + SMSG_GM_TICKET_SYSTEM_STATUS = 0x26CC, + SMSG_GOD_MODE = 0x2739, SMSG_GOSSIP_COMPLETE = 0x2A96, SMSG_GOSSIP_MESSAGE = 0x2A97, - SMSG_GOSSIP_POI = 0x27DB, - SMSG_GROUP_ACTION_THROTTLED = 0x259D, - SMSG_GROUP_DECLINE = 0x27D6, - SMSG_GROUP_DESTROYED = 0x27D8, - SMSG_GROUP_INVITE_CONFIRMATION = 0x2851, - SMSG_GROUP_NEW_LEADER = 0x264B, - SMSG_GROUP_UNINVITE = 0x27D7, + SMSG_GOSSIP_POI = 0x27D9, + SMSG_GROUP_ACTION_THROTTLED = 0x259C, + SMSG_GROUP_DECLINE = 0x27D4, + SMSG_GROUP_DESTROYED = 0x27D6, + SMSG_GROUP_INVITE_CONFIRMATION = 0x2855, + SMSG_GROUP_NEW_LEADER = 0x264A, + SMSG_GROUP_UNINVITE = 0x27D5, SMSG_GUILD_ACHIEVEMENT_DELETED = 0x29C5, SMSG_GUILD_ACHIEVEMENT_EARNED = 0x29C4, SMSG_GUILD_ACHIEVEMENT_MEMBERS = 0x29C7, @@ -1165,53 +1170,53 @@ enum OpcodeServer : uint16 SMSG_GUILD_ROSTER = 0x29BB, SMSG_GUILD_ROSTER_UPDATE = 0x29BC, SMSG_GUILD_SEND_RANK_CHANGE = 0x29B9, - SMSG_HEALTH_UPDATE = 0x26FE, - SMSG_HIGHEST_THREAT_UPDATE = 0x270E, - SMSG_HOTFIXES = 0x25A3, - SMSG_HOTFIX_LIST = 0x25A2, - SMSG_HOTFIX_QUERY_RESPONSE = 0x25A4, - SMSG_INITIALIZE_FACTIONS = 0x2767, - SMSG_INITIAL_SETUP = 0x2580, - SMSG_INIT_WORLD_STATES = 0x278D, - SMSG_INSPECT_HONOR_STATS = 0x25B3, - SMSG_INSPECT_PVP = 0x2763, - SMSG_INSPECT_RESULT = 0x264F, - SMSG_INSTANCE_ENCOUNTER_CHANGE_PRIORITY = 0x27F3, - SMSG_INSTANCE_ENCOUNTER_DISENGAGE_UNIT = 0x27F2, - SMSG_INSTANCE_ENCOUNTER_END = 0x27FA, - SMSG_INSTANCE_ENCOUNTER_ENGAGE_UNIT = 0x27F1, - SMSG_INSTANCE_ENCOUNTER_GAIN_COMBAT_RESURRECTION_CHARGE = 0x27FC, - SMSG_INSTANCE_ENCOUNTER_IN_COMBAT_RESURRECTION = 0x27FB, - SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_COMPLETE = 0x27F6, - SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_START = 0x27F5, - SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_UPDATE = 0x27F9, - SMSG_INSTANCE_ENCOUNTER_PHASE_SHIFT_CHANGED = 0x27FD, - SMSG_INSTANCE_ENCOUNTER_SET_SUPPRESSING_RELEASE = 0x27F8, - SMSG_INSTANCE_ENCOUNTER_START = 0x27F7, - SMSG_INSTANCE_ENCOUNTER_TIMER_START = 0x27F4, - SMSG_INSTANCE_GROUP_SIZE_CHANGED = 0x2738, - SMSG_INSTANCE_INFO = 0x2652, - SMSG_INSTANCE_RESET = 0x26B1, - SMSG_INSTANCE_RESET_FAILED = 0x26B2, - SMSG_INSTANCE_SAVE_CREATED = 0x27C0, - SMSG_INVALIDATE_PAGE_TEXT = 0x2703, - SMSG_INVALIDATE_PLAYER = 0x26D4, - SMSG_INVALID_PROMOTION_CODE = 0x2797, - SMSG_INVENTORY_CHANGE_FAILURE = 0x2765, + SMSG_HEALTH_UPDATE = 0x26FD, + SMSG_HIGHEST_THREAT_UPDATE = 0x270D, + SMSG_HOTFIX_MESSAGE = 0x25A2, + SMSG_HOTFIX_RESPONSE = 0x25A3, + SMSG_INITIALIZE_FACTIONS = 0x2766, + SMSG_INITIAL_SETUP = 0x257F, + SMSG_INIT_WORLD_STATES = 0x278C, + SMSG_INSPECT_HONOR_STATS = 0x25B2, + SMSG_INSPECT_PVP = 0x2762, + SMSG_INSPECT_RESULT = 0x264E, + SMSG_INSTANCE_ENCOUNTER_CHANGE_PRIORITY = 0x27F5, + SMSG_INSTANCE_ENCOUNTER_DISENGAGE_UNIT = 0x27F4, + SMSG_INSTANCE_ENCOUNTER_END = 0x27FD, + SMSG_INSTANCE_ENCOUNTER_ENGAGE_UNIT = 0x27F3, + SMSG_INSTANCE_ENCOUNTER_GAIN_COMBAT_RESURRECTION_CHARGE = 0x27FF, + SMSG_INSTANCE_ENCOUNTER_IN_COMBAT_RESURRECTION = 0x27FE, + SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_COMPLETE = 0x27F8, + SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_START = 0x27F7, + SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_UPDATE = 0x27FC, + SMSG_INSTANCE_ENCOUNTER_PHASE_SHIFT_CHANGED = 0x2800, + SMSG_INSTANCE_ENCOUNTER_SET_ALLOWING_RELEASE = 0x27FB, + SMSG_INSTANCE_ENCOUNTER_SET_SUPPRESSING_RELEASE = 0x27FA, + SMSG_INSTANCE_ENCOUNTER_START = 0x27F9, + SMSG_INSTANCE_ENCOUNTER_TIMER_START = 0x27F6, + SMSG_INSTANCE_GROUP_SIZE_CHANGED = 0x2737, + SMSG_INSTANCE_INFO = 0x2651, + SMSG_INSTANCE_RESET = 0x26B0, + SMSG_INSTANCE_RESET_FAILED = 0x26B1, + SMSG_INSTANCE_SAVE_CREATED = 0x27BE, + SMSG_INVALIDATE_PAGE_TEXT = 0x2702, + SMSG_INVALIDATE_PLAYER = 0x26D3, + SMSG_INVALID_PROMOTION_CODE = 0x2796, + SMSG_INVENTORY_CHANGE_FAILURE = 0x2764, SMSG_IS_QUEST_COMPLETE_RESPONSE = 0x2A83, - SMSG_ITEM_CHANGED = 0x2722, - SMSG_ITEM_COOLDOWN = 0x2809, - SMSG_ITEM_ENCHANT_TIME_UPDATE = 0x2799, - SMSG_ITEM_EXPIRE_PURCHASE_REFUND = 0x25B2, - SMSG_ITEM_PURCHASE_REFUND_RESULT = 0x25B0, - SMSG_ITEM_PUSH_RESULT = 0x2639, - SMSG_ITEM_TIME_UPDATE = 0x2798, - SMSG_KICK_REASON = 0x282C, + SMSG_ITEM_CHANGED = 0x2721, + SMSG_ITEM_COOLDOWN = 0x280C, + SMSG_ITEM_ENCHANT_TIME_UPDATE = 0x2798, + SMSG_ITEM_EXPIRE_PURCHASE_REFUND = 0x25B1, + SMSG_ITEM_PURCHASE_REFUND_RESULT = 0x25AF, + SMSG_ITEM_PUSH_RESULT = 0x2638, + SMSG_ITEM_TIME_UPDATE = 0x2797, + SMSG_KICK_REASON = 0x2830, SMSG_LEARNED_SPELLS = 0x2C4C, - SMSG_LEARN_PVP_TALENTS_FAILED = 0x25EB, - SMSG_LEARN_TALENTS_FAILED = 0x25EA, - SMSG_LEVEL_UPDATE = 0x2588, - SMSG_LEVEL_UP_INFO = 0x2721, + SMSG_LEARN_PVP_TALENTS_FAILED = 0x25EA, + SMSG_LEARN_TALENTS_FAILED = 0x25E9, + SMSG_LEVEL_UPDATE = 0x2587, + SMSG_LEVEL_UP_INFO = 0x2720, SMSG_LFG_BOOT_PLAYER = 0x2A36, SMSG_LFG_DISABLED = 0x2A34, SMSG_LFG_INSTANCE_SHUTDOWN_COUNTDOWN = 0x2A25, @@ -1240,47 +1245,47 @@ enum OpcodeServer : uint16 SMSG_LF_GUILD_COMMAND_RESULT = 0x29D0, SMSG_LF_GUILD_POST = 0x29CD, SMSG_LF_GUILD_RECRUITS = 0x29CF, - SMSG_LIVE_REGION_ACCOUNT_RESTORE_RESULT = 0x27B4, - SMSG_LIVE_REGION_CHARACTER_COPY_RESULT = 0x27B2, - SMSG_LIVE_REGION_GET_ACCOUNT_CHARACTER_LIST_RESULT = 0x27A7, - SMSG_LOAD_CUF_PROFILES = 0x25CF, - SMSG_LOAD_EQUIPMENT_SET = 0x274F, - SMSG_LOAD_SELECTED_TROPHY_RESULT = 0x2807, - SMSG_LOGIN_SET_TIME_SPEED = 0x274E, - SMSG_LOGIN_VERIFY_WORLD = 0x25AD, - SMSG_LOGOUT_CANCEL_ACK = 0x26B0, - SMSG_LOGOUT_COMPLETE = 0x26AF, - SMSG_LOGOUT_RESPONSE = 0x26AE, - SMSG_LOG_XP_GAIN = 0x271D, - SMSG_LOOT_ALL_PASSED = 0x2637, - SMSG_LOOT_ITEM_LIST = 0x2635, - SMSG_LOOT_LIST = 0x2785, - SMSG_LOOT_MONEY_NOTIFY = 0x2631, - SMSG_LOOT_RELEASE = 0x2630, - SMSG_LOOT_RELEASE_ALL = 0x262F, - SMSG_LOOT_REMOVED = 0x262A, - SMSG_LOOT_RESPONSE = 0x2629, - SMSG_LOOT_ROLL = 0x2633, - SMSG_LOOT_ROLLS_COMPLETE = 0x2636, - SMSG_LOOT_ROLL_WON = 0x2638, - SMSG_LOSS_OF_CONTROL_AURA_UPDATE = 0x2697, - SMSG_MAIL_COMMAND_RESULT = 0x265A, - SMSG_MAIL_LIST_RESULT = 0x279A, - SMSG_MAIL_QUERY_NEXT_TIME_RESULT = 0x279B, - SMSG_MAP_OBJECTIVES_INIT = 0x27A3, - SMSG_MAP_OBJ_EVENTS = 0x25DA, - SMSG_MASTER_LOOT_CANDIDATE_LIST = 0x2634, + SMSG_LIVE_REGION_ACCOUNT_RESTORE_RESULT = 0x27B2, + SMSG_LIVE_REGION_CHARACTER_COPY_RESULT = 0x27B0, + SMSG_LIVE_REGION_GET_ACCOUNT_CHARACTER_LIST_RESULT = 0x27A5, + SMSG_LOAD_CUF_PROFILES = 0x25CE, + SMSG_LOAD_EQUIPMENT_SET = 0x274E, + SMSG_LOAD_SELECTED_TROPHY_RESULT = 0x280A, + SMSG_LOGIN_SET_TIME_SPEED = 0x274D, + SMSG_LOGIN_VERIFY_WORLD = 0x25AC, + SMSG_LOGOUT_CANCEL_ACK = 0x26AF, + SMSG_LOGOUT_COMPLETE = 0x26AE, + SMSG_LOGOUT_RESPONSE = 0x26AD, + SMSG_LOG_XP_GAIN = 0x271C, + SMSG_LOOT_ALL_PASSED = 0x2636, + SMSG_LOOT_ITEM_LIST = 0x2634, + SMSG_LOOT_LIST = 0x2784, + SMSG_LOOT_MONEY_NOTIFY = 0x2630, + SMSG_LOOT_RELEASE = 0x262F, + SMSG_LOOT_RELEASE_ALL = 0x262E, + SMSG_LOOT_REMOVED = 0x2629, + SMSG_LOOT_RESPONSE = 0x2628, + SMSG_LOOT_ROLL = 0x2632, + SMSG_LOOT_ROLLS_COMPLETE = 0x2635, + SMSG_LOOT_ROLL_WON = 0x2637, + SMSG_LOSS_OF_CONTROL_AURA_UPDATE = 0x2696, + SMSG_MAIL_COMMAND_RESULT = 0x2659, + SMSG_MAIL_LIST_RESULT = 0x2799, + SMSG_MAIL_QUERY_NEXT_TIME_RESULT = 0x279A, + SMSG_MAP_OBJECTIVES_INIT = 0x27A2, + SMSG_MAP_OBJ_EVENTS = 0x25D9, + SMSG_MASTER_LOOT_CANDIDATE_LIST = 0x2633, SMSG_MESSAGE_BOX = 0x2575, - SMSG_MINIMAP_PING = 0x26F9, + SMSG_MINIMAP_PING = 0x26F8, SMSG_MIRROR_IMAGE_COMPONENTED_DATA = 0x2C14, SMSG_MIRROR_IMAGE_CREATURE_DATA = 0x2C13, - SMSG_MISSILE_CANCEL = 0x25DB, - SMSG_MODIFY_CHARGE_RECOVERY_SPEED = 0x27AB, - SMSG_MODIFY_COOLDOWN = 0x27A9, - SMSG_MODIFY_COOLDOWN_RECOVERY_SPEED = 0x27AA, - SMSG_MODIFY_PARTY_RANGE = 0x2788, + SMSG_MISSILE_CANCEL = 0x25DA, + SMSG_MODIFY_CHARGE_RECOVERY_SPEED = 0x27A9, + SMSG_MODIFY_COOLDOWN = 0x27A7, + SMSG_MODIFY_COOLDOWN_RECOVERY_SPEED = 0x27A8, + SMSG_MODIFY_PARTY_RANGE = 0x2787, SMSG_MOTD = 0x2BAF, - SMSG_MOUNT_RESULT = 0x257B, + SMSG_MOUNT_RESULT = 0x257A, SMSG_MOVE_APPLY_MOVEMENT_FORCE = 0x2DE1, SMSG_MOVE_DISABLE_COLLISION = 0x2DDD, SMSG_MOVE_DISABLE_DOUBLE_JUMP = 0x2DCB, @@ -1363,110 +1368,110 @@ enum OpcodeServer : uint16 SMSG_MOVE_UPDATE_TELEPORT = 0x2DAF, SMSG_MOVE_UPDATE_TURN_RATE = 0x2DAB, SMSG_MOVE_UPDATE_WALK_SPEED = 0x2DA6, - SMSG_NEUTRAL_PLAYER_FACTION_SELECT_RESULT = 0x25F2, - SMSG_NEW_TAXI_PATH = 0x26A9, - SMSG_NEW_WORLD = 0x25AC, + SMSG_NEUTRAL_PLAYER_FACTION_SELECT_RESULT = 0x25F1, + SMSG_NEW_TAXI_PATH = 0x26A8, + SMSG_NEW_WORLD = 0x25AB, SMSG_NOTIFY_DEST_LOC_SPELL_CAST = 0x2C42, - SMSG_NOTIFY_MISSILE_TRAJECTORY_COLLISION = 0x26D3, - SMSG_NOTIFY_MONEY = 0x25AF, - SMSG_NOTIFY_RECEIVED_MAIL = 0x265B, - SMSG_OFFER_PETITION_ERROR = 0x26E2, - SMSG_ON_CANCEL_EXPECTED_RIDE_VEHICLE_AURA = 0x271E, + SMSG_NOTIFY_MISSILE_TRAJECTORY_COLLISION = 0x26D2, + SMSG_NOTIFY_MONEY = 0x25AE, + SMSG_NOTIFY_RECEIVED_MAIL = 0x265A, + SMSG_OFFER_PETITION_ERROR = 0x26E1, + SMSG_ON_CANCEL_EXPECTED_RIDE_VEHICLE_AURA = 0x271D, SMSG_ON_MONSTER_MOVE = 0x2DA2, - SMSG_OPEN_CONTAINER = 0x2766, + SMSG_OPEN_CONTAINER = 0x2765, SMSG_OPEN_LFG_DUNGEON_FINDER = 0x2A32, - SMSG_OPEN_SHIPMENT_NPC_FROM_GOSSIP = 0x27DD, - SMSG_OPEN_SHIPMENT_NPC_RESULT = 0x27DF, - SMSG_OPEN_TRANSMOGRIFIER = 0x2833, - SMSG_OVERRIDE_LIGHT = 0x26E8, - SMSG_PAGE_TEXT = 0x275B, - SMSG_PARTY_COMMAND_RESULT = 0x27DA, - SMSG_PARTY_INVITE = 0x25D0, - SMSG_PARTY_KILL_LOG = 0x279F, - SMSG_PARTY_MEMBER_STATE = 0x279D, - SMSG_PARTY_MEMBER_STATE_UPDATE = 0x279C, - SMSG_PARTY_UPDATE = 0x260C, - SMSG_PAUSE_MIRROR_TIMER = 0x2751, - SMSG_PENDING_RAID_LOCK = 0x2732, - SMSG_PETITION_ALREADY_SIGNED = 0x25B9, + SMSG_OPEN_SHIPMENT_NPC_FROM_GOSSIP = 0x27DB, + SMSG_OPEN_SHIPMENT_NPC_RESULT = 0x27DD, + SMSG_OPEN_TRANSMOGRIFIER = 0x2837, + SMSG_OVERRIDE_LIGHT = 0x26E7, + SMSG_PAGE_TEXT = 0x275A, + SMSG_PARTY_COMMAND_RESULT = 0x27D8, + SMSG_PARTY_INVITE = 0x25CF, + SMSG_PARTY_KILL_LOG = 0x279E, + SMSG_PARTY_MEMBER_STATE = 0x279C, + SMSG_PARTY_MEMBER_STATE_UPDATE = 0x279B, + SMSG_PARTY_UPDATE = 0x260B, + SMSG_PAUSE_MIRROR_TIMER = 0x2750, + SMSG_PENDING_RAID_LOCK = 0x2731, + SMSG_PETITION_ALREADY_SIGNED = 0x25B8, SMSG_PETITION_RENAME_GUILD_RESPONSE = 0x29F7, - SMSG_PETITION_SHOW_LIST = 0x26EB, - SMSG_PETITION_SHOW_SIGNATURES = 0x26EC, - SMSG_PETITION_SIGN_RESULTS = 0x2791, - SMSG_PET_ACTION_FEEDBACK = 0x278F, - SMSG_PET_ACTION_SOUND = 0x26CB, - SMSG_PET_ADDED = 0x25A9, - SMSG_PET_BATTLE_CHAT_RESTRICTED = 0x2619, - SMSG_PET_BATTLE_DEBUG_QUEUE_DUMP_RESPONSE = 0x269E, - SMSG_PET_BATTLE_FINALIZE_LOCATION = 0x2612, - SMSG_PET_BATTLE_FINAL_ROUND = 0x2617, - SMSG_PET_BATTLE_FINISHED = 0x2618, - SMSG_PET_BATTLE_FIRST_ROUND = 0x2614, - SMSG_PET_BATTLE_INITIAL_UPDATE = 0x2613, - SMSG_PET_BATTLE_MAX_GAME_LENGTH_WARNING = 0x261A, - SMSG_PET_BATTLE_PVP_CHALLENGE = 0x2611, - SMSG_PET_BATTLE_QUEUE_PROPOSE_MATCH = 0x2658, - SMSG_PET_BATTLE_QUEUE_STATUS = 0x2659, - SMSG_PET_BATTLE_REPLACEMENTS_MADE = 0x2616, - SMSG_PET_BATTLE_REQUEST_FAILED = 0x2610, - SMSG_PET_BATTLE_ROUND_RESULT = 0x2615, - SMSG_PET_BATTLE_SLOT_UPDATES = 0x2603, + SMSG_PETITION_SHOW_LIST = 0x26EA, + SMSG_PETITION_SHOW_SIGNATURES = 0x26EB, + SMSG_PETITION_SIGN_RESULTS = 0x2790, + SMSG_PET_ACTION_FEEDBACK = 0x278E, + SMSG_PET_ACTION_SOUND = 0x26CA, + SMSG_PET_ADDED = 0x25A8, + SMSG_PET_BATTLE_CHAT_RESTRICTED = 0x2618, + SMSG_PET_BATTLE_DEBUG_QUEUE_DUMP_RESPONSE = 0x269D, + SMSG_PET_BATTLE_FINALIZE_LOCATION = 0x2611, + SMSG_PET_BATTLE_FINAL_ROUND = 0x2616, + SMSG_PET_BATTLE_FINISHED = 0x2617, + SMSG_PET_BATTLE_FIRST_ROUND = 0x2613, + SMSG_PET_BATTLE_INITIAL_UPDATE = 0x2612, + SMSG_PET_BATTLE_MAX_GAME_LENGTH_WARNING = 0x2619, + SMSG_PET_BATTLE_PVP_CHALLENGE = 0x2610, + SMSG_PET_BATTLE_QUEUE_PROPOSE_MATCH = 0x2657, + SMSG_PET_BATTLE_QUEUE_STATUS = 0x2658, + SMSG_PET_BATTLE_REPLACEMENTS_MADE = 0x2615, + SMSG_PET_BATTLE_REQUEST_FAILED = 0x260F, + SMSG_PET_BATTLE_ROUND_RESULT = 0x2614, + SMSG_PET_BATTLE_SLOT_UPDATES = 0x2602, SMSG_PET_CAST_FAILED = 0x2C56, SMSG_PET_CLEAR_SPELLS = 0x2C24, - SMSG_PET_DISMISS_SOUND = 0x26CC, - SMSG_PET_GOD_MODE = 0x26A6, - SMSG_PET_GUIDS = 0x2743, + SMSG_PET_DISMISS_SOUND = 0x26CB, + SMSG_PET_GOD_MODE = 0x26A5, + SMSG_PET_GUIDS = 0x2742, SMSG_PET_LEARNED_SPELLS = 0x2C4E, - SMSG_PET_MODE = 0x258A, - SMSG_PET_NAME_INVALID = 0x26F0, - SMSG_PET_SLOT_UPDATED = 0x2589, + SMSG_PET_MODE = 0x2589, + SMSG_PET_NAME_INVALID = 0x26EF, + SMSG_PET_SLOT_UPDATED = 0x2588, SMSG_PET_SPELLS_MESSAGE = 0x2C25, - SMSG_PET_STABLE_LIST = 0x25AA, - SMSG_PET_STABLE_RESULT = 0x25AB, - SMSG_PET_TAME_FAILURE = 0x26DF, + SMSG_PET_STABLE_LIST = 0x25A9, + SMSG_PET_STABLE_RESULT = 0x25AA, + SMSG_PET_TAME_FAILURE = 0x26DE, SMSG_PET_UNLEARNED_SPELLS = 0x2C4F, - SMSG_PHASE_SHIFT_CHANGE = 0x2578, - SMSG_PLAYED_TIME = 0x270A, - SMSG_PLAYER_BOUND = 0x257E, + SMSG_PHASE_SHIFT_CHANGE = 0x2577, + SMSG_PLAYED_TIME = 0x2709, + SMSG_PLAYER_BOUND = 0x257D, SMSG_PLAYER_SAVE_GUILD_EMBLEM = 0x29F6, - SMSG_PLAYER_SKINNED = 0x278A, - SMSG_PLAYER_TABARD_VENDOR_ACTIVATE = 0x279E, - SMSG_PLAY_MUSIC = 0x27AE, - SMSG_PLAY_OBJECT_SOUND = 0x27AF, - SMSG_PLAY_ONE_SHOT_ANIM_KIT = 0x2774, + SMSG_PLAYER_SKINNED = 0x2789, + SMSG_PLAYER_TABARD_VENDOR_ACTIVATE = 0x279D, + SMSG_PLAY_MUSIC = 0x27AC, + SMSG_PLAY_OBJECT_SOUND = 0x27AD, + SMSG_PLAY_ONE_SHOT_ANIM_KIT = 0x2773, SMSG_PLAY_ORPHAN_SPELL_VISUAL = 0x2C46, - SMSG_PLAY_SCENE = 0x2655, - SMSG_PLAY_SOUND = 0x27AD, - SMSG_PLAY_SPEAKERBOT_SOUND = 0x27B0, + SMSG_PLAY_SCENE = 0x2654, + SMSG_PLAY_SOUND = 0x27AB, + SMSG_PLAY_SPEAKERBOT_SOUND = 0x27AE, SMSG_PLAY_SPELL_VISUAL = 0x2C44, SMSG_PLAY_SPELL_VISUAL_KIT = 0x2C48, - SMSG_PLAY_TIME_WARNING = 0x273C, + SMSG_PLAY_TIME_WARNING = 0x273B, SMSG_PONG = 0x304E, - SMSG_POWER_UPDATE = 0x26FF, - SMSG_PRESTIGE_AND_HONOR_INVOLUNTARILY_CHANGED = 0x275A, - SMSG_PRE_RESSURECT = 0x27AC, - SMSG_PRINT_NOTIFICATION = 0x25E2, - SMSG_PROC_RESIST = 0x27A0, - SMSG_PROPOSE_LEVEL_GRANT = 0x2712, + SMSG_POWER_UPDATE = 0x26FE, + SMSG_PRESTIGE_AND_HONOR_INVOLUNTARILY_CHANGED = 0x2759, + SMSG_PRE_RESSURECT = 0x27AA, + SMSG_PRINT_NOTIFICATION = 0x25E1, + SMSG_PROC_RESIST = 0x279F, + SMSG_PROPOSE_LEVEL_GRANT = 0x2711, SMSG_PUSH_SPELL_TO_ACTION_BAR = 0x2C50, - SMSG_PVP_CREDIT = 0x2718, - SMSG_PVP_LOG_DATA = 0x25B4, - SMSG_PVP_OPTIONS_ENABLED = 0x25B7, - SMSG_PVP_SEASON = 0x25D4, - SMSG_QUERY_BATTLE_PET_NAME_RESPONSE = 0x2705, - SMSG_QUERY_CREATURE_RESPONSE = 0x26FC, - SMSG_QUERY_GAME_OBJECT_RESPONSE = 0x26FD, + SMSG_PVP_CREDIT = 0x2717, + SMSG_PVP_LOG_DATA = 0x25B3, + SMSG_PVP_OPTIONS_ENABLED = 0x25B6, + SMSG_PVP_SEASON = 0x25D3, + SMSG_QUERY_BATTLE_PET_NAME_RESPONSE = 0x2704, + SMSG_QUERY_CREATURE_RESPONSE = 0x26FB, + SMSG_QUERY_GAME_OBJECT_RESPONSE = 0x26FC, SMSG_QUERY_GARRISON_CREATURE_NAME_RESPONSE = 0x292B, SMSG_QUERY_GUILD_INFO_RESPONSE = 0x29E5, - SMSG_QUERY_ITEM_TEXT_RESPONSE = 0x2808, - SMSG_QUERY_NPC_TEXT_RESPONSE = 0x2700, - SMSG_QUERY_PAGE_TEXT_RESPONSE = 0x2702, - SMSG_QUERY_PETITION_RESPONSE = 0x2706, - SMSG_QUERY_PET_NAME_RESPONSE = 0x2704, - SMSG_QUERY_PLAYER_NAME_RESPONSE = 0x2701, + SMSG_QUERY_ITEM_TEXT_RESPONSE = 0x280B, + SMSG_QUERY_NPC_TEXT_RESPONSE = 0x26FF, + SMSG_QUERY_PAGE_TEXT_RESPONSE = 0x2701, + SMSG_QUERY_PETITION_RESPONSE = 0x2705, + SMSG_QUERY_PET_NAME_RESPONSE = 0x2703, + SMSG_QUERY_PLAYER_NAME_RESPONSE = 0x2700, SMSG_QUERY_QUEST_INFO_RESPONSE = 0x2A95, - SMSG_QUERY_QUEST_REWARD_RESPONSE = 0x2842, - SMSG_QUERY_TIME_RESPONSE = 0x271C, + SMSG_QUERY_QUEST_REWARD_RESPONSE = 0x2846, + SMSG_QUERY_TIME_RESPONSE = 0x271B, SMSG_QUEST_COMPLETION_NPC_RESPONSE = 0x2A81, SMSG_QUEST_CONFIRM_ACCEPT = 0x2A8E, SMSG_QUEST_FORCE_REMOVED = 0x2A9B, @@ -1476,7 +1481,7 @@ enum OpcodeServer : uint16 SMSG_QUEST_GIVER_QUEST_DETAILS = 0x2A91, SMSG_QUEST_GIVER_QUEST_FAILED = 0x2A85, SMSG_QUEST_GIVER_QUEST_LIST_MESSAGE = 0x2A99, - SMSG_QUEST_GIVER_QUEST_TURN_IN_FAILURE = 0x284E, + SMSG_QUEST_GIVER_QUEST_TURN_IN_FAILURE = 0x2852, SMSG_QUEST_GIVER_REQUEST_ITEMS = 0x2A92, SMSG_QUEST_GIVER_STATUS = 0x2A9A, SMSG_QUEST_GIVER_STATUS_MULTIPLE = 0x2A90, @@ -1492,116 +1497,116 @@ enum OpcodeServer : uint16 SMSG_QUEST_UPDATE_COMPLETE_BY_SPELL = 0x2A87, SMSG_QUEST_UPDATE_FAILED = 0x2A89, SMSG_QUEST_UPDATE_FAILED_TIMER = 0x2A8A, - SMSG_RAF_EMAIL_ENABLED_RESPONSE = 0x27CB, - SMSG_RAID_DIFFICULTY_SET = 0x27EE, - SMSG_RAID_GROUP_ONLY = 0x27F0, + SMSG_RAF_EMAIL_ENABLED_RESPONSE = 0x27C9, + SMSG_RAID_DIFFICULTY_SET = 0x27F0, + SMSG_RAID_GROUP_ONLY = 0x27F2, SMSG_RAID_INSTANCE_MESSAGE = 0x2BB4, - SMSG_RAID_MARKERS_CHANGED = 0x25BA, - SMSG_RANDOM_ROLL = 0x264E, - SMSG_RATED_BATTLEFIELD_INFO = 0x25A7, - SMSG_READY_CHECK_COMPLETED = 0x260F, - SMSG_READY_CHECK_RESPONSE = 0x260E, - SMSG_READY_CHECK_STARTED = 0x260D, - SMSG_READ_ITEM_RESULT_FAILED = 0x27EA, - SMSG_READ_ITEM_RESULT_OK = 0x27E4, - SMSG_REALM_QUERY_RESPONSE = 0x26E7, - SMSG_RECRUIT_A_FRIEND_RESPONSE = 0x27CC, - SMSG_REFER_A_FRIEND_EXPIRED = 0x2764, - SMSG_REFER_A_FRIEND_FAILURE = 0x26ED, - SMSG_REFRESH_COMPONENT = 0x267A, + SMSG_RAID_MARKERS_CHANGED = 0x25B9, + SMSG_RANDOM_ROLL = 0x264D, + SMSG_RATED_BATTLEFIELD_INFO = 0x25A6, + SMSG_READY_CHECK_COMPLETED = 0x260E, + SMSG_READY_CHECK_RESPONSE = 0x260D, + SMSG_READY_CHECK_STARTED = 0x260C, + SMSG_READ_ITEM_RESULT_FAILED = 0x27EC, + SMSG_READ_ITEM_RESULT_OK = 0x27E2, + SMSG_REALM_QUERY_RESPONSE = 0x26E6, + SMSG_RECRUIT_A_FRIEND_RESPONSE = 0x27CA, + SMSG_REFER_A_FRIEND_EXPIRED = 0x2763, + SMSG_REFER_A_FRIEND_FAILURE = 0x26EC, + SMSG_REFRESH_COMPONENT = 0x2679, SMSG_REFRESH_SPELL_HISTORY = 0x2C2C, - SMSG_REMOVE_ITEM_PASSIVE = 0x25C1, - SMSG_REMOVE_LOSS_OF_CONTROL = 0x2699, - SMSG_REPLACE_TROPHY_RESPONSE = 0x2805, - SMSG_REPORT_PVP_PLAYER_AFK_RESULT = 0x26DB, - SMSG_REQUEST_ADDON_LIST = 0x2661, - SMSG_REQUEST_CEMETERY_LIST_RESPONSE = 0x259E, - SMSG_REQUEST_PVP_BRAWL_INFO_RESPONSE = 0x25D6, - SMSG_REQUEST_PVP_REWARDS_RESPONSE = 0x25D5, - SMSG_RESEARCH_COMPLETE = 0x2586, - SMSG_RESET_AREA_TRIGGER = 0x2642, + SMSG_REMOVE_ITEM_PASSIVE = 0x25C0, + SMSG_REMOVE_LOSS_OF_CONTROL = 0x2698, + SMSG_REPLACE_TROPHY_RESPONSE = 0x2808, + SMSG_REPORT_PVP_PLAYER_AFK_RESULT = 0x26DA, + SMSG_REQUEST_ADDON_LIST = 0x2660, + SMSG_REQUEST_CEMETERY_LIST_RESPONSE = 0x259D, + SMSG_REQUEST_PVP_BRAWL_INFO_RESPONSE = 0x25D5, + SMSG_REQUEST_PVP_REWARDS_RESPONSE = 0x25D4, + SMSG_RESEARCH_COMPLETE = 0x2585, + SMSG_RESET_AREA_TRIGGER = 0x2641, SMSG_RESET_COMPRESSION_CONTEXT = 0x304F, - SMSG_RESET_FAILED_NOTIFY = 0x26E3, - SMSG_RESET_RANGED_COMBAT_TIMER = 0x2715, + SMSG_RESET_FAILED_NOTIFY = 0x26E2, + SMSG_RESET_RANGED_COMBAT_TIMER = 0x2714, SMSG_RESET_WEEKLY_CURRENCY = 0x2574, - SMSG_RESPEC_WIPE_CONFIRM = 0x2627, + SMSG_RESPEC_WIPE_CONFIRM = 0x2626, SMSG_RESPOND_INSPECT_ACHIEVEMENTS = 0x2571, SMSG_RESUME_CAST_BAR = 0x2C3D, SMSG_RESUME_COMMS = 0x304B, - SMSG_RESUME_TOKEN = 0x25BF, - SMSG_RESURRECT_REQUEST = 0x257F, - SMSG_RESYNC_RUNES = 0x273F, - SMSG_ROLE_CHANGED_INFORM = 0x258D, + SMSG_RESUME_TOKEN = 0x25BE, + SMSG_RESURRECT_REQUEST = 0x257E, + SMSG_RESYNC_RUNES = 0x273E, + SMSG_ROLE_CHANGED_INFORM = 0x258C, SMSG_ROLE_CHOSEN = 0x2A3A, - SMSG_ROLE_POLL_INFORM = 0x258E, - SMSG_RUNE_REGEN_DEBUG = 0x25C9, - SMSG_SCENARIO_BOOT = 0x27EB, - SMSG_SCENARIO_COMPLETED = 0x2829, - SMSG_SCENARIO_POIS = 0x2651, - SMSG_SCENARIO_PROGRESS_UPDATE = 0x264A, - SMSG_SCENARIO_SET_SHOULD_SHOW_CRITERIA = 0x2836, - SMSG_SCENARIO_SPELL_UPDATE = 0x2835, - SMSG_SCENARIO_STATE = 0x2649, - SMSG_SCENE_OBJECT_EVENT = 0x25F8, - SMSG_SCENE_OBJECT_PET_BATTLE_FINAL_ROUND = 0x25FD, - SMSG_SCENE_OBJECT_PET_BATTLE_FINISHED = 0x25FE, - SMSG_SCENE_OBJECT_PET_BATTLE_FIRST_ROUND = 0x25FA, - SMSG_SCENE_OBJECT_PET_BATTLE_INITIAL_UPDATE = 0x25F9, - SMSG_SCENE_OBJECT_PET_BATTLE_REPLACEMENTS_MADE = 0x25FC, - SMSG_SCENE_OBJECT_PET_BATTLE_ROUND_RESULT = 0x25FB, + SMSG_ROLE_POLL_INFORM = 0x258D, + SMSG_RUNE_REGEN_DEBUG = 0x25C8, + SMSG_SCENARIO_BOOT = 0x27ED, + SMSG_SCENARIO_COMPLETED = 0x282D, + SMSG_SCENARIO_POIS = 0x2650, + SMSG_SCENARIO_PROGRESS_UPDATE = 0x2649, + SMSG_SCENARIO_SET_SHOULD_SHOW_CRITERIA = 0x283A, + SMSG_SCENARIO_SPELL_UPDATE = 0x2839, + SMSG_SCENARIO_STATE = 0x2648, + SMSG_SCENE_OBJECT_EVENT = 0x25F7, + SMSG_SCENE_OBJECT_PET_BATTLE_FINAL_ROUND = 0x25FC, + SMSG_SCENE_OBJECT_PET_BATTLE_FINISHED = 0x25FD, + SMSG_SCENE_OBJECT_PET_BATTLE_FIRST_ROUND = 0x25F9, + SMSG_SCENE_OBJECT_PET_BATTLE_INITIAL_UPDATE = 0x25F8, + SMSG_SCENE_OBJECT_PET_BATTLE_REPLACEMENTS_MADE = 0x25FB, + SMSG_SCENE_OBJECT_PET_BATTLE_ROUND_RESULT = 0x25FA, SMSG_SCRIPT_CAST = 0x2C54, - SMSG_SELL_RESPONSE = 0x26F1, - SMSG_SEND_ITEM_PASSIVES = 0x25C2, + SMSG_SELL_RESPONSE = 0x26F0, + SMSG_SEND_ITEM_PASSIVES = 0x25C1, SMSG_SEND_KNOWN_SPELLS = 0x2C2A, - SMSG_SEND_RAID_TARGET_UPDATE_ALL = 0x264C, - SMSG_SEND_RAID_TARGET_UPDATE_SINGLE = 0x264D, + SMSG_SEND_RAID_TARGET_UPDATE_ALL = 0x264B, + SMSG_SEND_RAID_TARGET_UPDATE_SINGLE = 0x264C, SMSG_SEND_SPELL_CHARGES = 0x2C2D, SMSG_SEND_SPELL_HISTORY = 0x2C2B, SMSG_SEND_UNLEARN_SPELLS = 0x2C2E, SMSG_SERVER_FIRST_ACHIEVEMENT = 0x2BBC, - SMSG_SERVER_FIRST_ACHIEVEMENTS = 0x266C, - SMSG_SERVER_TIME = 0x26AD, + SMSG_SERVER_FIRST_ACHIEVEMENTS = 0x266B, + SMSG_SERVER_TIME = 0x26AC, SMSG_SETUP_CURRENCY = 0x2572, - SMSG_SETUP_RESEARCH_HISTORY = 0x2585, - SMSG_SET_AI_ANIM_KIT = 0x2773, - SMSG_SET_ALL_TASK_PROGRESS = 0x27D4, - SMSG_SET_ANIM_TIER = 0x2777, + SMSG_SETUP_RESEARCH_HISTORY = 0x2584, + SMSG_SET_AI_ANIM_KIT = 0x2772, + SMSG_SET_ALL_TASK_PROGRESS = 0x27D2, + SMSG_SET_ANIM_TIER = 0x2776, SMSG_SET_CURRENCY = 0x2573, SMSG_SET_DF_FAST_LAUNCH_RESULT = 0x2A2E, - SMSG_SET_DUNGEON_DIFFICULTY = 0x26CF, - SMSG_SET_FACTION_AT_WAR = 0x273E, - SMSG_SET_FACTION_NOT_VISIBLE = 0x276E, - SMSG_SET_FACTION_STANDING = 0x276F, - SMSG_SET_FACTION_VISIBLE = 0x276D, + SMSG_SET_DUNGEON_DIFFICULTY = 0x26CE, + SMSG_SET_FACTION_AT_WAR = 0x273D, + SMSG_SET_FACTION_NOT_VISIBLE = 0x276D, + SMSG_SET_FACTION_STANDING = 0x276E, + SMSG_SET_FACTION_VISIBLE = 0x276C, SMSG_SET_FLAT_SPELL_MODIFIER = 0x2C36, - SMSG_SET_FORCED_REACTIONS = 0x275E, - SMSG_SET_ITEM_PURCHASE_DATA = 0x25B1, - SMSG_SET_LOOT_METHOD_FAILED = 0x2814, - SMSG_SET_MAX_WEEKLY_QUANTITY = 0x25B8, - SMSG_SET_MELEE_ANIM_KIT = 0x2776, - SMSG_SET_MOVEMENT_ANIM_KIT = 0x2775, + SMSG_SET_FORCED_REACTIONS = 0x275D, + SMSG_SET_ITEM_PURCHASE_DATA = 0x25B0, + SMSG_SET_LOOT_METHOD_FAILED = 0x2817, + SMSG_SET_MAX_WEEKLY_QUANTITY = 0x25B7, + SMSG_SET_MELEE_ANIM_KIT = 0x2775, + SMSG_SET_MOVEMENT_ANIM_KIT = 0x2774, SMSG_SET_PCT_SPELL_MODIFIER = 0x2C37, - SMSG_SET_PET_SPECIALIZATION = 0x2643, - SMSG_SET_PLAYER_DECLINED_NAMES_RESULT = 0x2709, - SMSG_SET_PLAY_HOVER_ANIM = 0x25CD, - SMSG_SET_PROFICIENCY = 0x2778, + SMSG_SET_PET_SPECIALIZATION = 0x2642, + SMSG_SET_PLAYER_DECLINED_NAMES_RESULT = 0x2708, + SMSG_SET_PLAY_HOVER_ANIM = 0x25CC, + SMSG_SET_PROFICIENCY = 0x2777, SMSG_SET_SPELL_CHARGES = 0x2C29, - SMSG_SET_TASK_COMPLETE = 0x27D5, - SMSG_SET_TIME_ZONE_INFORMATION = 0x26A1, - SMSG_SET_VEHICLE_REC_ID = 0x2731, - SMSG_SHOW_ADVENTURE_MAP = 0x2832, - SMSG_SHOW_BANK = 0x26AA, - SMSG_SHOW_MAILBOX = 0x27EC, - SMSG_SHOW_NEUTRAL_PLAYER_FACTION_SELECT_UI = 0x25F1, - SMSG_SHOW_TAXI_NODES = 0x26F8, - SMSG_SHOW_TRADE_SKILL_RESPONSE = 0x27B5, - SMSG_SOCKET_GEMS = 0x276A, - SMSG_SOCKET_GEMS_FAILURE = 0x276B, - SMSG_SORT_BAGS_RESULT = 0x2822, - SMSG_SOR_START_EXPERIENCE_INCOMPLETE = 0x25F3, - SMSG_SPECIALIZATION_CHANGED = 0x25ED, - SMSG_SPECIAL_MOUNT_ANIM = 0x26CA, - SMSG_SPEC_INVOLUNTARILY_CHANGED = 0x2759, + SMSG_SET_TASK_COMPLETE = 0x27D3, + SMSG_SET_TIME_ZONE_INFORMATION = 0x26A0, + SMSG_SET_VEHICLE_REC_ID = 0x2730, + SMSG_SHOW_ADVENTURE_MAP = 0x2836, + SMSG_SHOW_BANK = 0x26A9, + SMSG_SHOW_MAILBOX = 0x27EE, + SMSG_SHOW_NEUTRAL_PLAYER_FACTION_SELECT_UI = 0x25F0, + SMSG_SHOW_TAXI_NODES = 0x26F7, + SMSG_SHOW_TRADE_SKILL_RESPONSE = 0x27B3, + SMSG_SOCKET_GEMS = 0x2769, + SMSG_SOCKET_GEMS_FAILURE = 0x276A, + SMSG_SORT_BAGS_RESULT = 0x2825, + SMSG_SOR_START_EXPERIENCE_INCOMPLETE = 0x25F2, + SMSG_SPECIALIZATION_CHANGED = 0x25EC, + SMSG_SPECIAL_MOUNT_ANIM = 0x26C9, + SMSG_SPEC_INVOLUNTARILY_CHANGED = 0x2758, SMSG_SPELL_ABSORB_LOG = 0x2C1F, SMSG_SPELL_CATEGORY_COOLDOWN = 0x2C17, SMSG_SPELL_CHANNEL_START = 0x2C34, @@ -1626,104 +1631,104 @@ enum OpcodeServer : uint16 SMSG_SPELL_PERIODIC_AURA_LOG = 0x2C1B, SMSG_SPELL_PREPARE = 0x2C38, SMSG_SPELL_START = 0x2C3A, - SMSG_SPIRIT_HEALER_CONFIRM = 0x2756, - SMSG_STAND_STATE_UPDATE = 0x275D, - SMSG_START_ELAPSED_TIMER = 0x261B, - SMSG_START_ELAPSED_TIMERS = 0x261D, - SMSG_START_LOOT_ROLL = 0x2632, - SMSG_START_MIRROR_TIMER = 0x2750, - SMSG_START_TIMER = 0x25BC, - SMSG_STOP_ELAPSED_TIMER = 0x261C, - SMSG_STOP_MIRROR_TIMER = 0x2752, - SMSG_STOP_SPEAKERBOT_SOUND = 0x27B1, - SMSG_STREAMING_MOVIES = 0x25BB, - SMSG_SUMMON_CANCEL = 0x26DA, - SMSG_SUMMON_RAID_MEMBER_VALIDATE_FAILED = 0x258F, - SMSG_SUMMON_REQUEST = 0x2762, + SMSG_SPIRIT_HEALER_CONFIRM = 0x2755, + SMSG_STAND_STATE_UPDATE = 0x275C, + SMSG_START_ELAPSED_TIMER = 0x261A, + SMSG_START_ELAPSED_TIMERS = 0x261C, + SMSG_START_LOOT_ROLL = 0x2631, + SMSG_START_MIRROR_TIMER = 0x274F, + SMSG_START_TIMER = 0x25BB, + SMSG_STOP_ELAPSED_TIMER = 0x261B, + SMSG_STOP_MIRROR_TIMER = 0x2751, + SMSG_STOP_SPEAKERBOT_SOUND = 0x27AF, + SMSG_STREAMING_MOVIES = 0x25BA, + SMSG_SUMMON_CANCEL = 0x26D9, + SMSG_SUMMON_RAID_MEMBER_VALIDATE_FAILED = 0x258E, + SMSG_SUMMON_REQUEST = 0x2761, SMSG_SUPERCEDED_SPELLS = 0x2C4B, SMSG_SUSPEND_COMMS = 0x304A, - SMSG_SUSPEND_TOKEN = 0x25BE, - SMSG_TALENTS_INVOLUNTARILY_RESET = 0x2758, - SMSG_TAXI_NODE_STATUS = 0x26A7, - SMSG_TEXT_EMOTE = 0x26A5, - SMSG_THREAT_CLEAR = 0x2711, - SMSG_THREAT_REMOVE = 0x2710, - SMSG_THREAT_UPDATE = 0x270F, + SMSG_SUSPEND_TOKEN = 0x25BD, + SMSG_TALENTS_INVOLUNTARILY_RESET = 0x2757, + SMSG_TAXI_NODE_STATUS = 0x26A6, + SMSG_TEXT_EMOTE = 0x26A4, + SMSG_THREAT_CLEAR = 0x2710, + SMSG_THREAT_REMOVE = 0x270F, + SMSG_THREAT_UPDATE = 0x270E, SMSG_TIME_ADJUSTMENT = 0x2DA1, SMSG_TIME_SYNC_REQUEST = 0x2DA0, - SMSG_TITLE_EARNED = 0x270C, - SMSG_TITLE_LOST = 0x270D, - SMSG_TOTEM_CREATED = 0x26F4, - SMSG_TOTEM_MOVED = 0x26F5, - SMSG_TRADE_STATUS = 0x2582, - SMSG_TRADE_UPDATED = 0x2581, - SMSG_TRAINER_BUY_FAILED = 0x2717, - SMSG_TRAINER_LIST = 0x2716, - SMSG_TRANSFER_ABORTED = 0x2742, - SMSG_TRANSFER_PENDING = 0x25E6, - SMSG_TRANSMOG_COLLECTION_UPDATE = 0x25C7, - SMSG_TRANSMOG_SET_COLLECTION_UPDATE = 0x25C8, - SMSG_TRIGGER_CINEMATIC = 0x280C, - SMSG_TRIGGER_MOVIE = 0x26F6, - SMSG_TURN_IN_PETITION_RESULT = 0x2793, - SMSG_TUTORIAL_FLAGS = 0x27FE, - SMSG_TUTORIAL_HIGHLIGHT_SPELL = 0x283C, - SMSG_TUTORIAL_UNHIGHLIGHT_SPELL = 0x283B, + SMSG_TITLE_EARNED = 0x270B, + SMSG_TITLE_LOST = 0x270C, + SMSG_TOTEM_CREATED = 0x26F3, + SMSG_TOTEM_MOVED = 0x26F4, + SMSG_TRADE_STATUS = 0x2581, + SMSG_TRADE_UPDATED = 0x2580, + SMSG_TRAINER_BUY_FAILED = 0x2716, + SMSG_TRAINER_LIST = 0x2715, + SMSG_TRANSFER_ABORTED = 0x2741, + SMSG_TRANSFER_PENDING = 0x25E5, + SMSG_TRANSMOG_COLLECTION_UPDATE = 0x25C6, + SMSG_TRANSMOG_SET_COLLECTION_UPDATE = 0x25C7, + SMSG_TRIGGER_CINEMATIC = 0x280F, + SMSG_TRIGGER_MOVIE = 0x26F5, + SMSG_TURN_IN_PETITION_RESULT = 0x2792, + SMSG_TUTORIAL_FLAGS = 0x2801, + SMSG_TUTORIAL_HIGHLIGHT_SPELL = 0x2840, + SMSG_TUTORIAL_UNHIGHLIGHT_SPELL = 0x283F, SMSG_TWITTER_STATUS = 0x2FFD, - SMSG_UI_TIME = 0x2755, - SMSG_UNDELETE_CHARACTER_RESPONSE = 0x280F, - SMSG_UNDELETE_COOLDOWN_STATUS_RESPONSE = 0x2810, + SMSG_UI_TIME = 0x2754, + SMSG_UNDELETE_CHARACTER_RESPONSE = 0x2812, + SMSG_UNDELETE_COOLDOWN_STATUS_RESPONSE = 0x2813, SMSG_UNLEARNED_SPELLS = 0x2C4D, - SMSG_UPDATE_ACCOUNT_DATA = 0x274A, - SMSG_UPDATE_ACTION_BUTTONS = 0x25F6, - SMSG_UPDATE_CHARACTER_FLAGS = 0x2804, + SMSG_UPDATE_ACCOUNT_DATA = 0x2749, + SMSG_UPDATE_ACTION_BUTTONS = 0x25F5, + SMSG_UPDATE_CHARACTER_FLAGS = 0x2807, SMSG_UPDATE_DUNGEON_ENCOUNTER_FOR_LOOT = 0x2A31, - SMSG_UPDATE_EXPANSION_LEVEL = 0x2665, - SMSG_UPDATE_INSTANCE_OWNERSHIP = 0x26D2, - SMSG_UPDATE_LAST_INSTANCE = 0x26B3, - SMSG_UPDATE_OBJECT = 0x280D, - SMSG_UPDATE_TALENT_DATA = 0x25EC, - SMSG_UPDATE_TASK_PROGRESS = 0x27D3, + SMSG_UPDATE_EXPANSION_LEVEL = 0x2664, + SMSG_UPDATE_INSTANCE_OWNERSHIP = 0x26D1, + SMSG_UPDATE_LAST_INSTANCE = 0x26B2, + SMSG_UPDATE_OBJECT = 0x2810, + SMSG_UPDATE_TALENT_DATA = 0x25EB, + SMSG_UPDATE_TASK_PROGRESS = 0x27D1, SMSG_UPDATE_WEEKLY_SPELL_USAGE = 0x2C19, - SMSG_UPDATE_WORLD_STATE = 0x278E, + SMSG_UPDATE_WORLD_STATE = 0x278D, SMSG_USERLIST_ADD = 0x2BB9, SMSG_USERLIST_REMOVE = 0x2BBA, SMSG_USERLIST_UPDATE = 0x2BBB, - SMSG_USE_EQUIPMENT_SET_RESULT = 0x2794, - SMSG_VENDOR_INVENTORY = 0x25CB, - SMSG_VIGNETTE_UPDATE = 0x27B3, - SMSG_VOID_ITEM_SWAP_RESPONSE = 0x25E0, - SMSG_VOID_STORAGE_CONTENTS = 0x25DD, - SMSG_VOID_STORAGE_FAILED = 0x25DC, - SMSG_VOID_STORAGE_TRANSFER_CHANGES = 0x25DE, - SMSG_VOID_TRANSFER_RESULT = 0x25DF, + SMSG_USE_EQUIPMENT_SET_RESULT = 0x2793, + SMSG_VENDOR_INVENTORY = 0x25CA, + SMSG_VIGNETTE_UPDATE = 0x27B1, + SMSG_VOID_ITEM_SWAP_RESPONSE = 0x25DF, + SMSG_VOID_STORAGE_CONTENTS = 0x25DC, + SMSG_VOID_STORAGE_FAILED = 0x25DB, + SMSG_VOID_STORAGE_TRANSFER_CHANGES = 0x25DD, + SMSG_VOID_TRANSFER_RESULT = 0x25DE, SMSG_WAIT_QUEUE_FINISH = 0x256E, SMSG_WAIT_QUEUE_UPDATE = 0x256D, SMSG_WARDEN_DATA = 0x2576, - SMSG_WARGAME_REQUEST_SUCCESSFULLY_SENT_TO_OPPONENT = 0x25B5, - SMSG_WEATHER = 0x26D1, + SMSG_WARGAME_REQUEST_SUCCESSFULLY_SENT_TO_OPPONENT = 0x25B4, + SMSG_WEATHER = 0x26D0, SMSG_WEEKLY_SPELL_USAGE = 0x2C18, SMSG_WHO = 0x2BAE, - SMSG_WHO_IS = 0x26D0, - SMSG_WORLD_QUEST_UPDATE = 0x2843, - SMSG_WORLD_SERVER_INFO = 0x25C3, - SMSG_WORLD_TEXT = 0x282B, - SMSG_WOW_TOKEN_AUCTION_SOLD = 0x281A, - SMSG_WOW_TOKEN_BUY_REQUEST_CONFIRMATION = 0x281C, - SMSG_WOW_TOKEN_BUY_RESULT_CONFIRMATION = 0x281D, - SMSG_WOW_TOKEN_CAN_REDEEM_FOR_BALANCE_RESULT = 0x2852, - SMSG_WOW_TOKEN_CAN_VETERAN_BUY_RESULT = 0x281B, - SMSG_WOW_TOKEN_DISTRIBUTION_GLUE_UPDATE = 0x2815, - SMSG_WOW_TOKEN_DISTRIBUTION_UPDATE = 0x2816, - SMSG_WOW_TOKEN_MARKET_PRICE_RESPONSE = 0x2817, - SMSG_WOW_TOKEN_REDEEM_GAME_TIME_UPDATED = 0x281E, - SMSG_WOW_TOKEN_REDEEM_REQUEST_CONFIRMATION = 0x281F, - SMSG_WOW_TOKEN_REDEEM_RESULT = 0x2820, - SMSG_WOW_TOKEN_SELL_REQUEST_CONFIRMATION = 0x2818, - SMSG_WOW_TOKEN_SELL_RESULT_CONFIRMATION = 0x2819, - SMSG_WOW_TOKEN_UPDATE_AUCTIONABLE_LIST_RESPONSE = 0x2821, - SMSG_XP_GAIN_ABORTED = 0x25E1, - SMSG_XP_GAIN_ENABLED = 0x27EF, + SMSG_WHO_IS = 0x26CF, + SMSG_WORLD_QUEST_UPDATE = 0x2847, + SMSG_WORLD_SERVER_INFO = 0x25C2, + SMSG_WORLD_TEXT = 0x282F, + SMSG_WOW_TOKEN_AUCTION_SOLD = 0x281D, + SMSG_WOW_TOKEN_BUY_REQUEST_CONFIRMATION = 0x281F, + SMSG_WOW_TOKEN_BUY_RESULT_CONFIRMATION = 0x2820, + SMSG_WOW_TOKEN_CAN_REDEEM_FOR_BALANCE_RESULT = 0x2856, + SMSG_WOW_TOKEN_CAN_VETERAN_BUY_RESULT = 0x281E, + SMSG_WOW_TOKEN_DISTRIBUTION_GLUE_UPDATE = 0x2818, + SMSG_WOW_TOKEN_DISTRIBUTION_UPDATE = 0x2819, + SMSG_WOW_TOKEN_MARKET_PRICE_RESPONSE = 0x281A, + SMSG_WOW_TOKEN_REDEEM_GAME_TIME_UPDATED = 0x2821, + SMSG_WOW_TOKEN_REDEEM_REQUEST_CONFIRMATION = 0x2822, + SMSG_WOW_TOKEN_REDEEM_RESULT = 0x2823, + SMSG_WOW_TOKEN_SELL_REQUEST_CONFIRMATION = 0x281B, + SMSG_WOW_TOKEN_SELL_RESULT_CONFIRMATION = 0x281C, + SMSG_WOW_TOKEN_UPDATE_AUCTIONABLE_LIST_RESPONSE = 0x2824, + SMSG_XP_GAIN_ABORTED = 0x25E0, + SMSG_XP_GAIN_ENABLED = 0x27F1, SMSG_ZONE_UNDER_ATTACK = 0x2BB5, // Opcodes that are not generated automatically diff --git a/src/server/game/Server/WorldSession.cpp b/src/server/game/Server/WorldSession.cpp index d19ebd5560d..df3c945780a 100644 --- a/src/server/game/Server/WorldSession.cpp +++ b/src/server/game/Server/WorldSession.cpp @@ -1055,7 +1055,7 @@ void WorldSession::InitializeSessionCallback(SQLQueryHolder* realmHolder, SQLQue SendSetTimeZoneInformation(); SendFeatureSystemStatusGlueScreen(); SendClientCacheVersion(sWorld->getIntConfig(CONFIG_CLIENTCACHE_VERSION)); - SendHotfixList(int32(sWorld->getIntConfig(CONFIG_HOTFIX_CACHE_VERSION))); + SendAvailableHotfixes(int32(sWorld->getIntConfig(CONFIG_HOTFIX_CACHE_VERSION))); SendTutorialsData(); if (PreparedQueryResult characterCountsResult = holder->GetPreparedResult(AccountInfoQueryHolder::GLOBAL_REALM_CHARACTER_COUNTS)) diff --git a/src/server/game/Server/WorldSession.h b/src/server/game/Server/WorldSession.h index 74791bc94c2..283a2dab146 100644 --- a/src/server/game/Server/WorldSession.h +++ b/src/server/game/Server/WorldSession.h @@ -355,7 +355,7 @@ namespace WorldPackets namespace Hotfix { class DBQueryBulk; - class HotfixQuery; + class HotfixRequest; } namespace Inspect @@ -911,7 +911,7 @@ class TC_GAME_API WorldSession void SendAuthResponse(uint32 code, bool queued, uint32 queuePos = 0); void SendClientCacheVersion(uint32 version); - void SendHotfixList(int32 version); + void SendAvailableHotfixes(int32 version); void InitializeSession(); void InitializeSessionCallback(SQLQueryHolder* realmHolder, SQLQueryHolder* holder); @@ -1221,7 +1221,7 @@ class TC_GAME_API WorldSession void HandleGameObjectQueryOpcode(WorldPackets::Query::QueryGameObject& packet); void HandleDBQueryBulk(WorldPackets::Hotfix::DBQueryBulk& dbQuery); - void HandleHotfixQuery(WorldPackets::Hotfix::HotfixQuery& hotfixQuery); + void HandleHotfixRequest(WorldPackets::Hotfix::HotfixRequest& hotfixQuery); void HandleMoveWorldportAckOpcode(WorldPackets::Movement::WorldPortResponse& packet); void HandleMoveWorldportAck(); // for server-side calls diff --git a/src/server/game/Server/WorldSocket.cpp b/src/server/game/Server/WorldSocket.cpp index 88a9b9daf0c..deb00290ca0 100644 --- a/src/server/game/Server/WorldSocket.cpp +++ b/src/server/game/Server/WorldSocket.cpp @@ -29,6 +29,7 @@ #include "ScriptMgr.h" #include "SessionKeyGeneration.h" #include "SHA256.h" +#include "Util.h" #include "World.h" #include "WorldPacket.h" #include "WorldSession.h" @@ -69,6 +70,10 @@ uint8 const WorldSocket::AuthCheckSeed[16] = { 0xC5, 0xC6, 0x98, 0x95, 0x76, 0x3 uint8 const WorldSocket::SessionKeySeed[16] = { 0x58, 0xCB, 0xCF, 0x40, 0xFE, 0x2E, 0xCE, 0xA6, 0x5A, 0x90, 0xB8, 0x01, 0x68, 0x6C, 0x28, 0x0B }; uint8 const WorldSocket::ContinuedSessionSeed[16] = { 0x16, 0xAD, 0x0C, 0xD4, 0x46, 0xF9, 0x4F, 0xB2, 0xEF, 0x7D, 0xEA, 0x2A, 0x17, 0x66, 0x4D, 0x2F }; +uint32 const ClientTypeSeed_Win[4] = { 0xC34F59FE, 0xFF9A7F5E, 0x8A9DD986, 0x97B24A36 }; +uint32 const ClientTypeSeed_Wn64[4] = { 0x4E625212, 0xFAD6CBD8, 0x5D3FD3C7, 0xF335A567 }; +uint32 const ClientTypeSeed_Mc64[4] = { 0x95EFC66, 0x266170B8, 0x3145F79, 0xD8C1C808 }; + WorldSocket::WorldSocket(tcp::socket&& socket) : Socket(std::move(socket)), _type(CONNECTION_TYPE_REALM), _key(0), _OverSpeedPings(0), _worldSession(nullptr), _authed(false), _sendBufferSize(4096), _compressionStream(nullptr) @@ -595,7 +600,7 @@ struct AccountInfo struct { uint32 Id; - BigNumber SessionKey; + std::array<uint8, 64> KeyData; uint8 Expansion; int64 MuteTime; uint32 Recruiter; @@ -617,7 +622,7 @@ struct AccountInfo // LEFT JOIN battlenet_account_bans bab ON ba.id = bab.id LEFT JOIN account_banned ab ON a.id = ab.id LEFT JOIN account r ON a.id = r.recruiter // WHERE a.username = ? ORDER BY aa.RealmID DESC LIMIT 1 Game.Id = fields[0].GetUInt32(); - Game.SessionKey.SetHexStr(fields[1].GetCString()); + HexStrToByteArray(fields[1].GetString(), Game.KeyData.data()); BattleNet.LastIP = fields[2].GetString(); BattleNet.IsLockedToIP = fields[3].GetBool(); BattleNet.LockCountry = fields[4].GetString(); @@ -667,7 +672,18 @@ void WorldSocket::HandleAuthSessionCallback(std::shared_ptr<WorldPackets::Auth:: // For hook purposes, we get Remoteaddress at this point. std::string address = GetRemoteIpAddress().to_string(); - HmacSha256 hmac(SHA256_DIGEST_LENGTH, account.Game.SessionKey.AsByteArray(SHA256_DIGEST_LENGTH).get()); + SHA256Hash digestKeyHash; + digestKeyHash.UpdateData(account.Game.KeyData.data(), account.Game.KeyData.size()); + if (account.Game.OS == "Win") + digestKeyHash.UpdateData(reinterpret_cast<uint8 const*>(ClientTypeSeed_Win), 16); + else if (account.Game.OS == "Wn64") + digestKeyHash.UpdateData(reinterpret_cast<uint8 const*>(ClientTypeSeed_Wn64), 16); + else if (account.Game.OS == "Mc64") + digestKeyHash.UpdateData(reinterpret_cast<uint8 const*>(ClientTypeSeed_Mc64), 16); + + digestKeyHash.Finalize(); + + HmacSha256 hmac(digestKeyHash.GetLength(), digestKeyHash.GetDigest()); hmac.UpdateData(authSession->LocalChallenge.data(), authSession->LocalChallenge.size()); hmac.UpdateData(_serverChallenge.AsByteArray(16).get(), 16); hmac.UpdateData(AuthCheckSeed, 16); @@ -681,7 +697,11 @@ void WorldSocket::HandleAuthSessionCallback(std::shared_ptr<WorldPackets::Auth:: return; } - HmacSha256 sessionKeyHmac(SHA256_DIGEST_LENGTH, account.Game.SessionKey.AsByteArray(SHA256_DIGEST_LENGTH).get()); + SHA256Hash keyData; + keyData.UpdateData(account.Game.KeyData.data(), account.Game.KeyData.size()); + keyData.Finalize(); + + HmacSha256 sessionKeyHmac(keyData.GetLength(), keyData.GetDigest()); sessionKeyHmac.UpdateData(_serverChallenge.AsByteArray(16).get(), 16); sessionKeyHmac.UpdateData(authSession->LocalChallenge.data(), authSession->LocalChallenge.size()); sessionKeyHmac.UpdateData(SessionKeySeed, 16); diff --git a/src/server/shared/Realm/RealmList.cpp b/src/server/shared/Realm/RealmList.cpp index 2135c1f26b8..aad2e29b0b4 100644 --- a/src/server/shared/Realm/RealmList.cpp +++ b/src/server/shared/Realm/RealmList.cpp @@ -23,7 +23,6 @@ #include "Errors.h" #include "Log.h" #include "ProtobufJSON.h" -#include "SHA256.h" #include "Util.h" #include "game_utilities_service.pb.h" #include "RealmList.pb.h" @@ -397,13 +396,12 @@ uint32 RealmList::JoinRealm(uint32 realmAddress, uint32 build, boost::asio::ip:: BigNumber serverSecret; serverSecret.SetRand(8 * 32); - SHA256Hash wowSessionKey; - wowSessionKey.UpdateData(clientSecret.data(), clientSecret.size()); - wowSessionKey.UpdateData(serverSecret.AsByteArray(32).get(), 32); - wowSessionKey.Finalize(); + std::array<uint8, 64> keyData; + memcpy(&keyData[0], clientSecret.data(), 32); + memcpy(&keyData[32], serverSecret.AsByteArray(32).get(), 32); PreparedStatement* stmt = LoginDatabase.GetPreparedStatement(LOGIN_UPD_BNET_GAME_ACCOUNT_LOGIN_INFO); - stmt->setString(0, ByteArrayToHexStr(wowSessionKey.GetDigest(), wowSessionKey.GetLength(), true)); + stmt->setString(0, ByteArrayToHexStr(keyData.data(), keyData.size())); stmt->setString(1, clientAddress.to_string()); stmt->setUInt8(2, locale); stmt->setString(3, os); |