diff options
| author | Shauren <shauren.trinity@gmail.com> | 2025-06-18 11:37:07 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2025-06-18 11:37:07 +0200 |
| commit | ceb8d561b44579118b109a9ff71ba415df53bbdc (patch) | |
| tree | b2a6b87afa6a2b83b8040b8632a87cb9a8308775 /src/server/game/Server | |
| parent | e02e8a474244c229cc34c4efb987e24b6dd417f5 (diff) | |
Core: Updated to 11.1.7
Diffstat (limited to 'src/server/game/Server')
22 files changed, 467 insertions, 384 deletions
diff --git a/src/server/game/Server/Packets/AuthenticationPackets.cpp b/src/server/game/Server/Packets/AuthenticationPackets.cpp index e5ab6678fd8..3c22fd4084d 100644 --- a/src/server/game/Server/Packets/AuthenticationPackets.cpp +++ b/src/server/game/Server/Packets/AuthenticationPackets.cpp @@ -360,8 +360,8 @@ WorldPacket const* EnterEncryptedMode::Write() ed25519.SignWithContext(toSign, { EnableEncryptionContext.begin(), EnableEncryptionContext.end() }, signature); - _worldPacket.append(signature.data(), signature.size()); _worldPacket << int32(RegionGroup); + _worldPacket.append(signature.data(), signature.size()); _worldPacket << Bits<1>(Enabled); _worldPacket.FlushBits(); diff --git a/src/server/game/Server/Packets/AuthenticationPackets.h b/src/server/game/Server/Packets/AuthenticationPackets.h index e6a7a96f8ae..0f6cb281373 100644 --- a/src/server/game/Server/Packets/AuthenticationPackets.h +++ b/src/server/game/Server/Packets/AuthenticationPackets.h @@ -307,15 +307,15 @@ namespace WorldPackets static bool InitializeEncryption(); static void ShutdownEncryption(); - explicit EnterEncryptedMode(std::array<uint8, 32> const& encryptionKey, bool enabled) : ServerPacket(SMSG_ENTER_ENCRYPTED_MODE, 256 + 1), + explicit EnterEncryptedMode(std::array<uint8, 32> const& encryptionKey, bool enabled) : ServerPacket(SMSG_ENTER_ENCRYPTED_MODE, 4 + 256 + 1), EncryptionKey(encryptionKey), Enabled(enabled) { } WorldPacket const* Write() override; - std::array<uint8, 32> const& EncryptionKey; int32 RegionGroup = 0; + std::array<uint8, 32> const& EncryptionKey; bool Enabled = false; }; diff --git a/src/server/game/Server/Packets/CharacterPackets.cpp b/src/server/game/Server/Packets/CharacterPackets.cpp index 7935dba4cde..88a897400aa 100644 --- a/src/server/game/Server/Packets/CharacterPackets.cpp +++ b/src/server/game/Server/Packets/CharacterPackets.cpp @@ -617,9 +617,10 @@ WorldPacket const* UndeleteCharacterResponse::Write() WorldPacket const* UndeleteCooldownStatusResponse::Write() { - _worldPacket << Bits<1>(OnCooldown); _worldPacket << uint32(MaxCooldown); _worldPacket << uint32(CurrentCooldown); + _worldPacket << Bits<1>(OnCooldown); + _worldPacket.FlushBits(); return &_worldPacket; } diff --git a/src/server/game/Server/Packets/CharacterPackets.h b/src/server/game/Server/Packets/CharacterPackets.h index d123b269406..5a78c17d976 100644 --- a/src/server/game/Server/Packets/CharacterPackets.h +++ b/src/server/game/Server/Packets/CharacterPackets.h @@ -532,9 +532,9 @@ namespace WorldPackets WorldPacket const* Write() override; - bool OnCooldown = false; ///< uint32 MaxCooldown = 0; ///< Max. cooldown until next free character restoration. Displayed in undelete confirm message. (in sec) uint32 CurrentCooldown = 0; ///< Current cooldown until next free character restoration. (in sec) + bool OnCooldown = false; ///< }; class PlayerLogin final : public ClientPacket diff --git a/src/server/game/Server/Packets/ClientConfigPackets.cpp b/src/server/game/Server/Packets/ClientConfigPackets.cpp index dd99efb4685..505f7f8e900 100644 --- a/src/server/game/Server/Packets/ClientConfigPackets.cpp +++ b/src/server/game/Server/Packets/ClientConfigPackets.cpp @@ -73,6 +73,15 @@ void UserClientUpdateAccountData::Read() _worldPacket.rpos(pos + compressedSize); } +WorldPacket const* UpdateAccountDataComplete::Write() +{ + _worldPacket << Player; + _worldPacket << int32(DataType); + _worldPacket << int32(Result); + + return &_worldPacket; +} + void SetAdvancedCombatLogging::Read() { _worldPacket >> Bits<1>(Enable); diff --git a/src/server/game/Server/Packets/ClientConfigPackets.h b/src/server/game/Server/Packets/ClientConfigPackets.h index 60e09afff52..22be7aaa1d1 100644 --- a/src/server/game/Server/Packets/ClientConfigPackets.h +++ b/src/server/game/Server/Packets/ClientConfigPackets.h @@ -87,6 +87,18 @@ namespace WorldPackets std::span<uint8 const> CompressedData; }; + class UpdateAccountDataComplete final : public ServerPacket + { + public: + explicit UpdateAccountDataComplete() : ServerPacket(SMSG_UPDATE_ACCOUNT_DATA_COMPLETE, 16 + 4 + 4) { } + + WorldPacket const* Write() override; + + ObjectGuid Player; + int32 DataType = 0; ///< @see enum AccountDataType + int32 Result = 0; + }; + class SetAdvancedCombatLogging final : public ClientPacket { public: diff --git a/src/server/game/Server/Packets/CombatLogPacketsCommon.cpp b/src/server/game/Server/Packets/CombatLogPacketsCommon.cpp index 72c67e33256..d3b01ea4f1c 100644 --- a/src/server/game/Server/Packets/CombatLogPacketsCommon.cpp +++ b/src/server/game/Server/Packets/CombatLogPacketsCommon.cpp @@ -77,6 +77,7 @@ bool ContentTuningParams::GenerateDataForUnits<Creature, Player>(Creature* attac if (ContentTuningEntry const* contentTuning = sContentTuningStore.LookupEntry(creatureDifficulty->ContentTuningID)) { ScalingHealthItemLevelCurveID = contentTuning->HealthItemLevelCurveID; + ScalingHealthPrimaryStatCurveID = contentTuning->HealthPrimaryStatCurveID; TargetContentTuningID = contentTuning->ID; } TargetLevel = target->GetLevel(); @@ -98,6 +99,7 @@ bool ContentTuningParams::GenerateDataForUnits<Player, Creature>(Player* attacke if (ContentTuningEntry const* contentTuning = sContentTuningStore.LookupEntry(creatureDifficulty->ContentTuningID)) { ScalingHealthItemLevelCurveID = contentTuning->HealthItemLevelCurveID; + ScalingHealthPrimaryStatCurveID = contentTuning->HealthPrimaryStatCurveID; TargetContentTuningID = contentTuning->ID; } TargetLevel = target->GetLevel(); @@ -179,14 +181,17 @@ ByteBuffer& operator<<(ByteBuffer& data, ContentTuningParams const& contentTunin data << float(contentTuningParams.PlayerItemLevel); data << float(contentTuningParams.TargetItemLevel); data << int16(contentTuningParams.PlayerLevelDelta); - data << uint32(contentTuningParams.ScalingHealthItemLevelCurveID); + data << int32(contentTuningParams.ScalingHealthItemLevelCurveID); + data << int32(contentTuningParams.Unused1117); + data << int32(contentTuningParams.ScalingHealthPrimaryStatCurveID); data << uint8(contentTuningParams.TargetLevel); data << uint8(contentTuningParams.Expansion); data << int8(contentTuningParams.TargetScalingLevelDelta); data << uint32(contentTuningParams.Flags); data << int32(contentTuningParams.PlayerContentTuningID); data << int32(contentTuningParams.TargetContentTuningID); - data << int32(contentTuningParams.Unused927); + data << int32(contentTuningParams.TargetHealingContentTuningID); + data << float(contentTuningParams.PlayerPrimaryStatToExpectedRatio); data << Bits<4>(contentTuningParams.Type); data.FlushBits(); diff --git a/src/server/game/Server/Packets/CombatLogPacketsCommon.h b/src/server/game/Server/Packets/CombatLogPacketsCommon.h index cc9294dfe4f..235bb50ac48 100644 --- a/src/server/game/Server/Packets/CombatLogPacketsCommon.h +++ b/src/server/game/Server/Packets/CombatLogPacketsCommon.h @@ -57,9 +57,12 @@ namespace WorldPackets { TYPE_CREATURE_TO_PLAYER_DAMAGE = 1, TYPE_PLAYER_TO_CREATURE_DAMAGE = 2, - TYPE_CREATURE_TO_CREATURE_DAMAGE = 4, - TYPE_PLAYER_TO_PLAYER_SANDBOX_SCALING = 7, // NYI - TYPE_PLAYER_TO_PLAYER_EXPECTED_STAT = 8, + TYPE_CREATURE_TO_PLAYER_HEALING = 3, + TYPE_PLAYER_TO_CREATURE_HEALING = 4, + TYPE_CREATURE_TO_CREATURE_DAMAGE = 5, + TYPE_CREATURE_TO_CREATURE_HEALING = 6, + TYPE_PLAYER_TO_PLAYER_DAMAGE = 7, // NYI + TYPE_PLAYER_TO_PLAYER_HEALING = 8, }; enum ContentTuningFlags : uint32 @@ -72,14 +75,17 @@ namespace WorldPackets int16 PlayerLevelDelta = 0; float PlayerItemLevel = 0; float TargetItemLevel = 0; - uint32 ScalingHealthItemLevelCurveID = 0; + int32 ScalingHealthItemLevelCurveID = 0; + int32 Unused1117 = 0; + int32 ScalingHealthPrimaryStatCurveID = 0; uint8 TargetLevel = 0; uint8 Expansion = 0; int8 TargetScalingLevelDelta = 0; uint32 Flags = NO_LEVEL_SCALING | NO_ITEM_LEVEL_SCALING; int32 PlayerContentTuningID = 0; int32 TargetContentTuningID = 0; - int32 Unused927 = 0; + int32 TargetHealingContentTuningID = 0; // direct heal only, not periodic + float PlayerPrimaryStatToExpectedRatio = 1.0f; template<class T, class U> bool GenerateDataForUnits(T* attacker, U* target); diff --git a/src/server/game/Server/Packets/GarrisonPackets.cpp b/src/server/game/Server/Packets/GarrisonPackets.cpp index b773a5d64c0..1e6bc914d05 100644 --- a/src/server/game/Server/Packets/GarrisonPackets.cpp +++ b/src/server/game/Server/Packets/GarrisonPackets.cpp @@ -49,9 +49,9 @@ ByteBuffer& operator<<(ByteBuffer& data, GarrisonPlotInfo const& plotInfo) ByteBuffer& operator<<(ByteBuffer& data, GarrisonBuildingInfo const& buildingInfo) { + data << buildingInfo.TimeBuilt; data << uint32(buildingInfo.GarrPlotInstanceID); data << uint32(buildingInfo.GarrBuildingID); - data << buildingInfo.TimeBuilt; data << uint32(buildingInfo.CurrentGarSpecID); data << buildingInfo.TimeSpecCooldown; data << Bits<1>(buildingInfo.Active); diff --git a/src/server/game/Server/Packets/GarrisonPackets.h b/src/server/game/Server/Packets/GarrisonPackets.h index 402c95f2704..3e2df57f33d 100644 --- a/src/server/game/Server/Packets/GarrisonPackets.h +++ b/src/server/game/Server/Packets/GarrisonPackets.h @@ -73,9 +73,9 @@ namespace WorldPackets struct GarrisonBuildingInfo { + Timestamp<> TimeBuilt; uint32 GarrPlotInstanceID = 0; uint32 GarrBuildingID = 0; - Timestamp<> TimeBuilt; uint32 CurrentGarSpecID = 0; Timestamp<> TimeSpecCooldown = time_t(2288912640); // 06/07/1906 18:35:44 - another in the series of magic blizz dates bool Active = false; diff --git a/src/server/game/Server/Packets/GuildPackets.cpp b/src/server/game/Server/Packets/GuildPackets.cpp index 06d654bef9a..e3701a7d09e 100644 --- a/src/server/game/Server/Packets/GuildPackets.cpp +++ b/src/server/game/Server/Packets/GuildPackets.cpp @@ -517,12 +517,11 @@ void RequestGuildPartyState::Read() WorldPacket const* GuildPartyState::Write() { - _worldPacket << Bits<1>(InGuildParty); - _worldPacket.FlushBits(); - _worldPacket << int32(NumMembers); _worldPacket << int32(NumRequired); _worldPacket << float(GuildXPEarnedMult); + _worldPacket << Bits<1>(InGuildParty); + _worldPacket.FlushBits(); return &_worldPacket; } diff --git a/src/server/game/Server/Packets/InstancePackets.cpp b/src/server/game/Server/Packets/InstancePackets.cpp index a1973f8a1ff..eafb7219b7b 100644 --- a/src/server/game/Server/Packets/InstancePackets.cpp +++ b/src/server/game/Server/Packets/InstancePackets.cpp @@ -36,9 +36,9 @@ WorldPacket const* UpdateInstanceOwnership::Write() ByteBuffer& operator<<(ByteBuffer& data, InstanceLock const& lockInfos) { + data << uint64(lockInfos.InstanceID); data << uint32(lockInfos.MapID); data << uint32(lockInfos.DifficultyID); - data << uint64(lockInfos.InstanceID); data << uint32(lockInfos.TimeRemaining); data << uint32(lockInfos.CompletedMask); diff --git a/src/server/game/Server/Packets/MiscPackets.cpp b/src/server/game/Server/Packets/MiscPackets.cpp index dc49cc30113..f6351382dd5 100644 --- a/src/server/game/Server/Packets/MiscPackets.cpp +++ b/src/server/game/Server/Packets/MiscPackets.cpp @@ -235,8 +235,8 @@ void SetDungeonDifficulty::Read() void SetRaidDifficulty::Read() { - _worldPacket >> DifficultyID; _worldPacket >> Legacy; + _worldPacket >> DifficultyID; } WorldPacket const* DungeonDifficultySet::Write() @@ -248,8 +248,8 @@ WorldPacket const* DungeonDifficultySet::Write() WorldPacket const* RaidDifficultySet::Write() { + _worldPacket << int32(Legacy); _worldPacket << int32(DifficultyID); - _worldPacket << uint8(Legacy); return &_worldPacket; } diff --git a/src/server/game/Server/Packets/MiscPackets.h b/src/server/game/Server/Packets/MiscPackets.h index 45a3ad386fa..83b4dfb3a74 100644 --- a/src/server/game/Server/Packets/MiscPackets.h +++ b/src/server/game/Server/Packets/MiscPackets.h @@ -284,8 +284,8 @@ namespace WorldPackets void Read() override; + int32 Legacy = 0; int32 DifficultyID = 0; - uint8 Legacy = 0; }; class DungeonDifficultySet final : public ServerPacket @@ -305,8 +305,8 @@ namespace WorldPackets WorldPacket const* Write() override; + int32 Legacy = 0; int32 DifficultyID = 0; - uint8 Legacy = 0; }; class CorpseReclaimDelay : public ServerPacket diff --git a/src/server/game/Server/Packets/MovementPackets.cpp b/src/server/game/Server/Packets/MovementPackets.cpp index 356e1c4c409..b9796743e6c 100644 --- a/src/server/game/Server/Packets/MovementPackets.cpp +++ b/src/server/game/Server/Packets/MovementPackets.cpp @@ -149,10 +149,11 @@ ByteBuffer& operator<<(ByteBuffer& data, MovementInfo const& movementInfo) if (hasDriveStatus) { - data.WriteBit(movementInfo.driveStatus->accelerating); - data.WriteBit(movementInfo.driveStatus->drifting); data << float(movementInfo.driveStatus->speed); data << float(movementInfo.driveStatus->movementAngle); + data.WriteBit(movementInfo.driveStatus->accelerating); + data.WriteBit(movementInfo.driveStatus->drifting); + data.FlushBits(); } return data; @@ -239,10 +240,10 @@ ByteBuffer& operator>>(ByteBuffer& data, MovementInfo& movementInfo) movementInfo.driveStatus.emplace(); - movementInfo.driveStatus->accelerating = data.ReadBit(); - movementInfo.driveStatus->drifting = data.ReadBit(); data >> movementInfo.driveStatus->speed; data >> movementInfo.driveStatus->movementAngle; + movementInfo.driveStatus->accelerating = data.ReadBit(); + movementInfo.driveStatus->drifting = data.ReadBit(); } return data; @@ -305,6 +306,15 @@ ByteBuffer& operator<<(ByteBuffer& data, MonsterSplineJumpExtraData const& jumpE return data; } +ByteBuffer& operator<<(ByteBuffer& data, MonsterSplineTurnData const& turnData) +{ + data << float(turnData.StartFacing); + data << float(turnData.TotalTurnRads); + data << float(turnData.RadsPerSec); + + return data; +} + ByteBuffer& operator<<(ByteBuffer& data, MonsterSplineAnimTierTransition const& animTierTransition) { data << int32(animTierTransition.TierTransitionID); @@ -344,6 +354,7 @@ ByteBuffer& operator<<(ByteBuffer& data, MovementSpline const& movementSpline) data << OptionalInit(movementSpline.SplineFilter); data << OptionalInit(movementSpline.SpellEffectExtraData); data << OptionalInit(movementSpline.JumpExtraData); + data << OptionalInit(movementSpline.TurnData); data << OptionalInit(movementSpline.AnimTierTransition); data << OptionalInit(movementSpline.Unknown901); data.FlushBits(); @@ -377,6 +388,9 @@ ByteBuffer& operator<<(ByteBuffer& data, MovementSpline const& movementSpline) if (movementSpline.JumpExtraData) data << *movementSpline.JumpExtraData; + if (movementSpline.TurnData) + data << *movementSpline.TurnData; + if (movementSpline.AnimTierTransition) data << *movementSpline.AnimTierTransition; @@ -390,6 +404,7 @@ ByteBuffer& operator<<(ByteBuffer& data, MovementMonsterSpline const& movementMo { data << movementMonsterSpline.ID; data << Bits<1>(movementMonsterSpline.CrzTeleport); + data << Bits<1>(movementMonsterSpline.StopUseFaceDirection); data << Bits<3>(movementMonsterSpline.StopSplineStyle); data << movementMonsterSpline.Move; @@ -434,6 +449,7 @@ void CommonMovement::WriteCreateObjectSplineDataBlock(::Movement::MoveSpline con data << OptionalInit(moveSpline.spell_effect_extra); // HasSpellEffectExtraData bool hasJumpExtraData = moveSpline.splineflags.Parabolic && (!moveSpline.spell_effect_extra || moveSpline.effect_start_time); data << Bits<1>(hasJumpExtraData); + data << OptionalInit(moveSpline.turn); // HasTurnData data << OptionalInit(moveSpline.anim_tier); // HasAnimTierTransition data.WriteBit(false); // HasUnknown901 data.FlushBits(); @@ -492,6 +508,13 @@ void CommonMovement::WriteCreateObjectSplineDataBlock(::Movement::MoveSpline con data << uint32(0); // Duration (override) } + if (moveSpline.turn) + { + data << float(moveSpline.turn->StartFacing); + data << float(moveSpline.turn->TotalTurnRads); + data << float(moveSpline.turn->RadsPerSec); + } + if (moveSpline.anim_tier) { data << int32(moveSpline.anim_tier->TierTransitionId); @@ -584,6 +607,14 @@ void MonsterMove::InitializeSplineData(::Movement::MoveSpline const& moveSpline) movementSpline.JumpExtraData->StartTime = moveSpline.effect_start_time; } + if (moveSpline.turn) + { + MonsterSplineTurnData& turn = movementSpline.TurnData.emplace(); + turn.StartFacing = moveSpline.turn->StartFacing; + turn.TotalTurnRads = moveSpline.turn->TotalTurnRads; + turn.RadsPerSec = moveSpline.turn->RadsPerSec; + } + if (splineFlags.FadeObject) movementSpline.FadeObjectTime = moveSpline.effect_start_time; diff --git a/src/server/game/Server/Packets/MovementPackets.h b/src/server/game/Server/Packets/MovementPackets.h index a6f628184d2..8ad8b641cf5 100644 --- a/src/server/game/Server/Packets/MovementPackets.h +++ b/src/server/game/Server/Packets/MovementPackets.h @@ -90,6 +90,13 @@ namespace WorldPackets uint32 Duration = 0; }; + struct MonsterSplineTurnData + { + float StartFacing = 0.0f; + float TotalTurnRads = 0.0f; + float RadsPerSec = 0.0f; + }; + struct MonsterSplineAnimTierTransition { int32 TierTransitionID = 0; @@ -127,6 +134,7 @@ namespace WorldPackets Optional<MonsterSplineFilter> SplineFilter; Optional<MonsterSplineSpellEffectExtraData> SpellEffectExtraData; Optional<MonsterSplineJumpExtraData> JumpExtraData; + Optional<MonsterSplineTurnData> TurnData; Optional<MonsterSplineAnimTierTransition> AnimTierTransition; Optional<MonsterSplineUnknown901> Unknown901; float FaceDirection = 0.0f; @@ -138,6 +146,7 @@ namespace WorldPackets { uint32 ID = 0; bool CrzTeleport = false; + bool StopUseFaceDirection = false; uint8 StopSplineStyle = 0; // Determines how far from spline destination the mover is allowed to stop in place 0, 0, 3.0, 2.76, numeric_limits<float>::max, 1.1, float(INT_MAX); default before this field existed was distance 3.0 (index 2) MovementSpline Move; }; diff --git a/src/server/game/Server/Packets/PartyPackets.cpp b/src/server/game/Server/Packets/PartyPackets.cpp index 496426b2a58..fa559dbef04 100644 --- a/src/server/game/Server/Packets/PartyPackets.cpp +++ b/src/server/game/Server/Packets/PartyPackets.cpp @@ -479,8 +479,8 @@ ByteBuffer& operator<<(ByteBuffer& data, PartyPlayerInfo const& playerInfo) ByteBuffer& operator<<(ByteBuffer& data, PartyLFGInfo const& lfgInfos) { - data << uint8(lfgInfos.MyFlags); data << uint32(lfgInfos.Slot); + data << uint8(lfgInfos.MyFlags); data << uint32(lfgInfos.MyRandomSlot); data << uint8(lfgInfos.MyPartialClear); data << float(lfgInfos.MyGearDiff); diff --git a/src/server/game/Server/Packets/PartyPackets.h b/src/server/game/Server/Packets/PartyPackets.h index 2dd627a32ac..8c287fe8b12 100644 --- a/src/server/game/Server/Packets/PartyPackets.h +++ b/src/server/game/Server/Packets/PartyPackets.h @@ -395,7 +395,7 @@ namespace WorldPackets explicit SetPartyAssignment(WorldPacket&& packet) : ClientPacket(CMSG_SET_PARTY_ASSIGNMENT, std::move(packet)) { } void Read() override; - uint8 Assignment = 0; + int32 Assignment = 0; Optional<uint8> PartyIndex; ObjectGuid Target; bool Set = false; @@ -525,15 +525,15 @@ namespace WorldPackets struct PartyLFGInfo { - uint8 MyFlags = 0; uint32 Slot = 0; - uint8 BootCount = 0; + uint8 MyFlags = 0; uint32 MyRandomSlot = 0; - bool Aborted = false; uint8 MyPartialClear = 0; float MyGearDiff = 0.0f; uint8 MyStrangerCount = 0; uint8 MyKickVoteCount = 0; + uint8 BootCount = 0; + bool Aborted = false; bool MyFirstReward = false; }; diff --git a/src/server/game/Server/Packets/SystemPackets.cpp b/src/server/game/Server/Packets/SystemPackets.cpp index 5bf9641f793..d3414c11436 100644 --- a/src/server/game/Server/Packets/SystemPackets.cpp +++ b/src/server/game/Server/Packets/SystemPackets.cpp @@ -22,7 +22,6 @@ namespace WorldPackets::System { ByteBuffer& operator<<(ByteBuffer& data, SocialQueueConfig const& socialQueueConfig) { - data << Bits<1>(socialQueueConfig.ToastsDisabled); data << float(socialQueueConfig.ToastDuration); data << float(socialQueueConfig.DelayDuration); data << float(socialQueueConfig.QueueMultiplier); @@ -45,6 +44,8 @@ ByteBuffer& operator<<(ByteBuffer& data, SocialQueueConfig const& socialQueueCon data << float(socialQueueConfig.ThrottleRfIlvlScalingAbove); data << float(socialQueueConfig.ThrottleDfMaxItemLevel); data << float(socialQueueConfig.ThrottleDfBestPriority); + data << Bits<1>(socialQueueConfig.ToastsDisabled); + data.FlushBits(); return data; } @@ -212,6 +213,8 @@ WorldPacket const* FeatureSystemStatus::Write() _worldPacket << Bits<1>(LobbyMatchmakerQueueFromMainlineEnabled); _worldPacket << Bits<1>(CanSendLobbyMatchmakerPartyCustomizations); _worldPacket << Bits<1>(AddonProfilerEnabled); + _worldPacket << Bits<1>(false); // unused 11.1.7 + _worldPacket << Bits<1>(false); // unused 11.1.7 _worldPacket.FlushBits(); @@ -270,6 +273,10 @@ WorldPacket const* FeatureSystemStatusGlueScreen::Write() _worldPacket << Bits<1>(BNSendGameDataUseV2Services); _worldPacket << Bits<1>(CharacterSelectListModeRealmless); + _worldPacket << Bits<1>(WowTokenLimitedMode); + _worldPacket << Bits<1>(false); // unused 11.1.7 + _worldPacket << Bits<1>(false); // unused 11.1.7 + _worldPacket << Bits<1>(PandarenLevelBoostAllowed); _worldPacket.FlushBits(); diff --git a/src/server/game/Server/Packets/SystemPackets.h b/src/server/game/Server/Packets/SystemPackets.h index 42d40c4cf60..9a3cd43350d 100644 --- a/src/server/game/Server/Packets/SystemPackets.h +++ b/src/server/game/Server/Packets/SystemPackets.h @@ -237,6 +237,8 @@ namespace WorldPackets bool BNSendWhisperUseV2Services = true; ///< BNSendWhisper will send to v2.WhisperService instead of v1.NotificationService bool BNSendGameDataUseV2Services = true; ///< BNSendGameData will send to v2.NotificationService instead of v1.NotificationService bool CharacterSelectListModeRealmless = false; + bool WowTokenLimitedMode = false; // classic only + bool PandarenLevelBoostAllowed = false; // classic only Optional<EuropaTicketConfig> EuropaTicketSystemStatus; std::vector<int32> LiveRegionCharacterCopySourceRegions; uint32 CommercePricePollTimeSeconds = 0; // NYI diff --git a/src/server/game/Server/Protocol/Opcodes.cpp b/src/server/game/Server/Protocol/Opcodes.cpp index 0ac8239950b..aee210a2a64 100644 --- a/src/server/game/Server/Protocol/Opcodes.cpp +++ b/src/server/game/Server/Protocol/Opcodes.cpp @@ -2210,6 +2210,7 @@ void OpcodeTable::InitializeServerOpcodes() DEFINE_SERVER_OPCODE_HANDLER(SMSG_UNLOAD_CHILD_MAP, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_UPDATE_AADC_STATUS_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_UPDATE_ACCOUNT_DATA, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_UPDATE_ACCOUNT_DATA_COMPLETE, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_UPDATE_ACTION_BUTTONS, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_UPDATE_BNET_SESSION_KEY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_UPDATE_CAPTURE_POINT, STATUS_NEVER, CONNECTION_TYPE_REALM); diff --git a/src/server/game/Server/Protocol/Opcodes.h b/src/server/game/Server/Protocol/Opcodes.h index fb6bab28936..abf04c9a6f4 100644 --- a/src/server/game/Server/Protocol/Opcodes.h +++ b/src/server/game/Server/Protocol/Opcodes.h @@ -961,20 +961,20 @@ inline constexpr std::ptrdiff_t GetOpcodeArrayIndex(OpcodeClient opcode) enum OpcodeServer : uint32 { SMSG_ABORT_NEW_WORLD = 0x380030, - SMSG_ACCOUNT_CHARACTER_CURRENCY_LISTS = 0x380341, - SMSG_ACCOUNT_CONVERSION_STATE_UPDATE = 0x380346, - SMSG_ACCOUNT_COSMETIC_ADDED = 0x3802FA, - SMSG_ACCOUNT_CRITERIA_UPDATE = 0x3802E2, - SMSG_ACCOUNT_DATA_TIMES = 0x3801A3, - SMSG_ACCOUNT_EXPORT_RESPONSE = 0x380332, - SMSG_ACCOUNT_ITEM_COLLECTION_DATA = 0x38034C, + SMSG_ACCOUNT_CHARACTER_CURRENCY_LISTS = 0x380342, + SMSG_ACCOUNT_CONVERSION_STATE_UPDATE = 0x380347, + SMSG_ACCOUNT_COSMETIC_ADDED = 0x3802FB, + SMSG_ACCOUNT_CRITERIA_UPDATE = 0x3802E3, + SMSG_ACCOUNT_DATA_TIMES = 0x3801A4, + SMSG_ACCOUNT_EXPORT_RESPONSE = 0x380333, + SMSG_ACCOUNT_ITEM_COLLECTION_DATA = 0x38034D, SMSG_ACCOUNT_MOUNT_REMOVED = 0x380047, SMSG_ACCOUNT_MOUNT_UPDATE = 0x380046, - SMSG_ACCOUNT_NOTIFICATIONS_RESPONSE = 0x3802F9, - SMSG_ACCOUNT_STORE_CURRENCY_UPDATE = 0x38031B, - SMSG_ACCOUNT_STORE_FRONT_UPDATE = 0x38031C, - SMSG_ACCOUNT_STORE_ITEM_STATE_CHANGED = 0x38031D, - SMSG_ACCOUNT_STORE_RESULT = 0x38031E, + SMSG_ACCOUNT_NOTIFICATIONS_RESPONSE = 0x3802FA, + SMSG_ACCOUNT_STORE_CURRENCY_UPDATE = 0x38031C, + SMSG_ACCOUNT_STORE_FRONT_UPDATE = 0x38031D, + SMSG_ACCOUNT_STORE_ITEM_STATE_CHANGED = 0x38031E, + SMSG_ACCOUNT_STORE_RESULT = 0x38031F, SMSG_ACCOUNT_TOY_UPDATE = 0x380048, SMSG_ACCOUNT_TRANSMOG_SET_FAVORITES_UPDATE = 0x38004C, SMSG_ACCOUNT_TRANSMOG_UPDATE = 0x38004B, @@ -985,29 +985,29 @@ enum OpcodeServer : uint32 SMSG_ACTIVATE_SOULBIND_FAILED = 0x4B0022, SMSG_ACTIVATE_TAXI_REPLY = 0x380118, SMSG_ACTIVE_GLYPHS = 0x4E0045, - SMSG_ACTIVE_SCHEDULED_WORLD_STATE_INFO = 0x3801DE, + SMSG_ACTIVE_SCHEDULED_WORLD_STATE_INFO = 0x3801DF, SMSG_ADDON_LIST_REQUEST = 0x3800DA, SMSG_ADD_BATTLENET_FRIEND_RESPONSE = 0x3800D5, SMSG_ADD_ITEM_PASSIVE = 0x380042, SMSG_ADD_LOSS_OF_CONTROL = 0x38010B, SMSG_ADD_RUNE_POWER = 0x380152, SMSG_ADJUST_SPLINE_DURATION = 0x380069, - SMSG_ADVANCED_COMBAT_LOG = 0x3802F7, - SMSG_ADVENTURE_JOURNAL_DATA_RESPONSE = 0x3802F2, + SMSG_ADVANCED_COMBAT_LOG = 0x3802F8, + SMSG_ADVENTURE_JOURNAL_DATA_RESPONSE = 0x3802F3, SMSG_AE_LOOT_TARGETS = 0x3800B0, SMSG_AE_LOOT_TARGET_ACK = 0x3800B1, SMSG_AI_REACTION = 0x38014F, - SMSG_ALLIED_RACE_DETAILS = 0x38028C, + SMSG_ALLIED_RACE_DETAILS = 0x38028D, SMSG_ALL_ACCOUNT_CRITERIA = 0x380005, SMSG_ALL_ACHIEVEMENT_DATA = 0x380004, SMSG_ALL_GUILD_ACHIEVEMENTS = 0x440000, - SMSG_APPLY_MOUNT_EQUIPMENT_RESULT = 0x3802CF, + SMSG_APPLY_MOUNT_EQUIPMENT_RESULT = 0x3802D0, SMSG_ARCHAEOLOGY_SURVERY_CAST = 0x38001D, SMSG_AREA_POI_UPDATE_RESPONSE = 0x4B0018, - SMSG_AREA_SPIRIT_HEALER_TIME = 0x3801D7, + SMSG_AREA_SPIRIT_HEALER_TIME = 0x3801D8, SMSG_AREA_TRIGGER_DENIED = 0x390009, SMSG_AREA_TRIGGER_FORCE_SET_POSITION_AND_FACING = 0x390006, - SMSG_AREA_TRIGGER_NO_CORPSE = 0x3801AF, + SMSG_AREA_TRIGGER_NO_CORPSE = 0x3801B0, SMSG_AREA_TRIGGER_PLAY_SPELL_VISUAL = 0x390004, SMSG_AREA_TRIGGER_RE_PATH = 0x390003, SMSG_AREA_TRIGGER_RE_SHAPE = 0x390008, @@ -1016,28 +1016,28 @@ enum OpcodeServer : uint32 SMSG_ARENA_CLEAR_OPPONENTS = 0x3800E1, SMSG_ARENA_CROWD_CONTROL_SPELL_RESULT = 0x3800CA, SMSG_ARENA_PREP_OPPONENT_SPECIALIZATIONS = 0x3800E0, - SMSG_ARTIFACT_ENDGAME_POWERS_REFUNDED = 0x380239, - SMSG_ARTIFACT_FORGE_ERROR = 0x380237, - SMSG_ARTIFACT_RESPEC_PROMPT = 0x380238, - SMSG_ARTIFACT_XP_GAIN = 0x38027F, + SMSG_ARTIFACT_ENDGAME_POWERS_REFUNDED = 0x38023A, + SMSG_ARTIFACT_FORGE_ERROR = 0x380238, + SMSG_ARTIFACT_RESPEC_PROMPT = 0x380239, + SMSG_ARTIFACT_XP_GAIN = 0x380280, SMSG_ATTACKER_STATE_UPDATE = 0x3E002C, SMSG_ATTACK_START = 0x3E0017, SMSG_ATTACK_STOP = 0x3E0018, SMSG_ATTACK_SWING_ERROR = 0x3E0026, SMSG_ATTACK_SWING_LANDED_LOG = 0x3E0027, - SMSG_AUCTIONABLE_TOKEN_AUCTION_SOLD = 0x380268, - SMSG_AUCTIONABLE_TOKEN_SELL_AT_MARKET_PRICE_RESPONSE = 0x380267, - SMSG_AUCTIONABLE_TOKEN_SELL_CONFIRM_REQUIRED = 0x380266, + SMSG_AUCTIONABLE_TOKEN_AUCTION_SOLD = 0x380269, + SMSG_AUCTIONABLE_TOKEN_SELL_AT_MARKET_PRICE_RESPONSE = 0x380268, + SMSG_AUCTIONABLE_TOKEN_SELL_CONFIRM_REQUIRED = 0x380267, SMSG_AUCTION_CLOSED_NOTIFICATION = 0x38018C, SMSG_AUCTION_COMMAND_RESULT = 0x380189, - SMSG_AUCTION_DISABLE_NEW_POSTINGS = 0x38031F, - SMSG_AUCTION_FAVORITE_LIST = 0x3802E9, - SMSG_AUCTION_GET_COMMODITY_QUOTE_RESULT = 0x3802E1, + SMSG_AUCTION_DISABLE_NEW_POSTINGS = 0x380320, + SMSG_AUCTION_FAVORITE_LIST = 0x3802EA, + SMSG_AUCTION_GET_COMMODITY_QUOTE_RESULT = 0x3802E2, SMSG_AUCTION_HELLO_RESPONSE = 0x380187, - SMSG_AUCTION_LIST_BIDDED_ITEMS_RESULT = 0x3802E0, - SMSG_AUCTION_LIST_BUCKETS_RESULT = 0x3802DC, - SMSG_AUCTION_LIST_ITEMS_RESULT = 0x3802DD, - SMSG_AUCTION_LIST_OWNED_ITEMS_RESULT = 0x3802DF, + SMSG_AUCTION_LIST_BIDDED_ITEMS_RESULT = 0x3802E1, + SMSG_AUCTION_LIST_BUCKETS_RESULT = 0x3802DD, + SMSG_AUCTION_LIST_ITEMS_RESULT = 0x3802DE, + SMSG_AUCTION_LIST_OWNED_ITEMS_RESULT = 0x3802E0, SMSG_AUCTION_OUTBID_NOTIFICATION = 0x38018B, SMSG_AUCTION_OWNER_BID_NOTIFICATION = 0x38018D, SMSG_AUCTION_REPLICATE_RESPONSE = 0x380188, @@ -1048,10 +1048,10 @@ enum OpcodeServer : uint32 SMSG_AUTH_FAILED = 0x380000, SMSG_AUTH_RESPONSE = 0x380001, SMSG_AVAILABLE_HOTFIXES = 0x3C0001, - SMSG_BACKPACK_DEFAULT_SIZE_CHANGED = 0x380320, + SMSG_BACKPACK_DEFAULT_SIZE_CHANGED = 0x380321, SMSG_BAG_CLEANUP_FINISHED = 0x4F0007, SMSG_BARBER_SHOP_RESULT = 0x380157, - SMSG_BATCH_PRESENCE_SUBSCRIPTION = 0x3802C0, + SMSG_BATCH_PRESENCE_SUBSCRIPTION = 0x3802C1, SMSG_BATTLEFIELD_LIST = 0x3E0005, SMSG_BATTLEFIELD_PORT_DENIED = 0x3E000B, SMSG_BATTLEFIELD_STATUS_ACTIVE = 0x3E0001, @@ -1067,29 +1067,29 @@ enum OpcodeServer : uint32 SMSG_BATTLEGROUND_PLAYER_LEFT = 0x3E000A, SMSG_BATTLEGROUND_PLAYER_POSITIONS = 0x3E0006, SMSG_BATTLEGROUND_POINTS = 0x3E0028, - SMSG_BATTLENET_CHALLENGE_ABORT = 0x380221, - SMSG_BATTLENET_CHALLENGE_START = 0x380220, - SMSG_BATTLENET_NOTIFICATION = 0x380298, - SMSG_BATTLENET_RESPONSE = 0x380297, - SMSG_BATTLE_NET_CONNECTION_STATUS = 0x380299, - SMSG_BATTLE_PAY_ACK_FAILED = 0x38021C, - SMSG_BATTLE_PAY_BATTLE_PET_DELIVERED = 0x380211, - SMSG_BATTLE_PAY_COLLECTION_ITEM_DELIVERED = 0x380212, - SMSG_BATTLE_PAY_CONFIRM_PURCHASE = 0x38021B, - SMSG_BATTLE_PAY_DELIVERY_ENDED = 0x38020F, - SMSG_BATTLE_PAY_DELIVERY_STARTED = 0x38020E, - SMSG_BATTLE_PAY_DISTRIBUTION_ASSIGN_VAS_RESPONSE = 0x3802FF, - SMSG_BATTLE_PAY_DISTRIBUTION_UNREVOKED = 0x38020C, - SMSG_BATTLE_PAY_DISTRIBUTION_UPDATE = 0x38020D, - SMSG_BATTLE_PAY_GET_DISTRIBUTION_LIST_RESPONSE = 0x38020B, - SMSG_BATTLE_PAY_GET_PRODUCT_LIST_RESPONSE = 0x380209, - SMSG_BATTLE_PAY_GET_PURCHASE_LIST_RESPONSE = 0x38020A, - SMSG_BATTLE_PAY_MOUNT_DELIVERED = 0x380210, - SMSG_BATTLE_PAY_PURCHASE_UPDATE = 0x38021A, - SMSG_BATTLE_PAY_START_CHECKOUT = 0x3802B4, - SMSG_BATTLE_PAY_START_DISTRIBUTION_ASSIGN_TO_TARGET_RESPONSE = 0x380218, - SMSG_BATTLE_PAY_START_PURCHASE_RESPONSE = 0x380217, - SMSG_BATTLE_PAY_VALIDATE_PURCHASE_RESPONSE = 0x3802A8, + SMSG_BATTLENET_CHALLENGE_ABORT = 0x380222, + SMSG_BATTLENET_CHALLENGE_START = 0x380221, + SMSG_BATTLENET_NOTIFICATION = 0x380299, + SMSG_BATTLENET_RESPONSE = 0x380298, + SMSG_BATTLE_NET_CONNECTION_STATUS = 0x38029A, + SMSG_BATTLE_PAY_ACK_FAILED = 0x38021D, + SMSG_BATTLE_PAY_BATTLE_PET_DELIVERED = 0x380212, + SMSG_BATTLE_PAY_COLLECTION_ITEM_DELIVERED = 0x380213, + SMSG_BATTLE_PAY_CONFIRM_PURCHASE = 0x38021C, + SMSG_BATTLE_PAY_DELIVERY_ENDED = 0x380210, + SMSG_BATTLE_PAY_DELIVERY_STARTED = 0x38020F, + SMSG_BATTLE_PAY_DISTRIBUTION_ASSIGN_VAS_RESPONSE = 0x380300, + SMSG_BATTLE_PAY_DISTRIBUTION_UNREVOKED = 0x38020D, + SMSG_BATTLE_PAY_DISTRIBUTION_UPDATE = 0x38020E, + SMSG_BATTLE_PAY_GET_DISTRIBUTION_LIST_RESPONSE = 0x38020C, + SMSG_BATTLE_PAY_GET_PRODUCT_LIST_RESPONSE = 0x38020A, + SMSG_BATTLE_PAY_GET_PURCHASE_LIST_RESPONSE = 0x38020B, + SMSG_BATTLE_PAY_MOUNT_DELIVERED = 0x380211, + SMSG_BATTLE_PAY_PURCHASE_UPDATE = 0x38021B, + SMSG_BATTLE_PAY_START_CHECKOUT = 0x3802B5, + SMSG_BATTLE_PAY_START_DISTRIBUTION_ASSIGN_TO_TARGET_RESPONSE = 0x380219, + SMSG_BATTLE_PAY_START_PURCHASE_RESPONSE = 0x380218, + SMSG_BATTLE_PAY_VALIDATE_PURCHASE_RESPONSE = 0x3802A9, SMSG_BATTLE_PETS_HEALED = 0x38008B, SMSG_BATTLE_PET_CAGE_DATE_ERROR = 0x380113, SMSG_BATTLE_PET_DELETED = 0x380088, @@ -1110,8 +1110,8 @@ enum OpcodeServer : uint32 SMSG_BOSS_KILL = 0x3E002B, SMSG_BREAK_TARGET = 0x3E0016, SMSG_BROADCAST_ACHIEVEMENT = 0x3D0012, - SMSG_BROADCAST_SUMMON_CAST = 0x3802C2, - SMSG_BROADCAST_SUMMON_RESPONSE = 0x3802C3, + SMSG_BROADCAST_SUMMON_CAST = 0x3802C3, + SMSG_BROADCAST_SUMMON_RESPONSE = 0x3802C4, SMSG_BUY_FAILED = 0x380160, SMSG_BUY_SUCCEEDED = 0x38015F, SMSG_CACHE_INFO = 0x3C000F, @@ -1136,7 +1136,7 @@ enum OpcodeServer : uint32 SMSG_CALENDAR_SEND_CALENDAR = 0x380126, SMSG_CALENDAR_SEND_EVENT = 0x380127, SMSG_CALENDAR_SEND_NUM_PENDING = 0x380137, - SMSG_CAMERA_EFFECT = 0x3801BD, + SMSG_CAMERA_EFFECT = 0x3801BE, SMSG_CANCEL_AUTO_REPEAT = 0x380177, SMSG_CANCEL_COMBAT = 0x3E0025, SMSG_CANCEL_ORPHAN_SPELL_VISUAL = 0x4E0037, @@ -1146,7 +1146,7 @@ enum OpcodeServer : uint32 SMSG_CANCEL_SPELL_VISUAL = 0x4E0035, SMSG_CANCEL_SPELL_VISUAL_KIT = 0x4E0039, SMSG_CAN_DUEL_RESULT = 0x3E0021, - SMSG_CAN_REDEEM_TOKEN_FOR_BALANCE_RESPONSE = 0x3802A7, + SMSG_CAN_REDEEM_TOKEN_FOR_BALANCE_RESPONSE = 0x3802A8, SMSG_CAPTURE_POINT_REMOVED = 0x3E0008, SMSG_CAST_FAILED = 0x4E0048, SMSG_CAS_REFRESH_REMOTE_DATA = 0x380111, @@ -1159,23 +1159,23 @@ enum OpcodeServer : uint32 SMSG_CHALLENGE_MODE_START = 0x38009F, SMSG_CHALLENGE_MODE_UPDATE_DEATH_COUNT = 0x3800A0, SMSG_CHANGE_PLAYER_DIFFICULTY_RESULT = 0x4B000C, - SMSG_CHANGE_REALM_TICKET_RESPONSE = 0x38029A, + SMSG_CHANGE_REALM_TICKET_RESPONSE = 0x38029B, SMSG_CHANNEL_LIST = 0x3D001B, SMSG_CHANNEL_NOTIFY = 0x3D0017, SMSG_CHANNEL_NOTIFY_JOINED = 0x3D0019, SMSG_CHANNEL_NOTIFY_LEFT = 0x3D001A, SMSG_CHANNEL_NOTIFY_NPE_JOINED_BATCH = 0x3D0018, - SMSG_CHARACTER_CHECK_UPGRADE_RESULT = 0x380254, + SMSG_CHARACTER_CHECK_UPGRADE_RESULT = 0x380255, SMSG_CHARACTER_LOGIN_FAILED = 0x38019E, - SMSG_CHARACTER_OBJECT_TEST_RESPONSE = 0x38021F, - SMSG_CHARACTER_RENAME_RESULT = 0x3801FA, - SMSG_CHARACTER_UPGRADE_ABORTED = 0x380253, - SMSG_CHARACTER_UPGRADE_COMPLETE = 0x380252, - SMSG_CHARACTER_UPGRADE_MANUAL_UNREVOKE_RESULT = 0x380255, - SMSG_CHARACTER_UPGRADE_STARTED = 0x380251, + SMSG_CHARACTER_OBJECT_TEST_RESPONSE = 0x380220, + SMSG_CHARACTER_RENAME_RESULT = 0x3801FB, + SMSG_CHARACTER_UPGRADE_ABORTED = 0x380254, + SMSG_CHARACTER_UPGRADE_COMPLETE = 0x380253, + SMSG_CHARACTER_UPGRADE_MANUAL_UNREVOKE_RESULT = 0x380256, + SMSG_CHARACTER_UPGRADE_STARTED = 0x380252, SMSG_CHAR_CUSTOMIZE_FAILURE = 0x38017B, SMSG_CHAR_CUSTOMIZE_SUCCESS = 0x38017C, - SMSG_CHAR_FACTION_CHANGE_RESULT = 0x38023E, + SMSG_CHAR_FACTION_CHANGE_RESULT = 0x38023F, SMSG_CHAT = 0x3D0001, SMSG_CHAT_AUTO_RESPONDED = 0x3D000E, SMSG_CHAT_CAN_LOCAL_WHISPER_TARGET_RESPONSE = 0x3D0022, @@ -1194,8 +1194,8 @@ enum OpcodeServer : uint32 SMSG_CHECK_ABANDON_NPE = 0x4B0023, SMSG_CHECK_CHARACTER_NAME_AVAILABILITY_RESULT = 0x38001B, SMSG_CHECK_WARGAME_ENTRY = 0x380027, - SMSG_CHROMIE_TIME_SELECT_EXPANSION_SUCCESS = 0x3802EC, - SMSG_CLAIM_RAF_REWARD_RESPONSE = 0x3802D3, + SMSG_CHROMIE_TIME_SELECT_EXPANSION_SUCCESS = 0x3802ED, + SMSG_CLAIM_RAF_REWARD_RESPONSE = 0x3802D4, SMSG_CLEAR_ALL_SPELL_CHARGES = 0x4E0016, SMSG_CLEAR_BOSS_EMOTES = 0x380054, SMSG_CLEAR_COOLDOWN = 0x380154, @@ -1204,65 +1204,65 @@ enum OpcodeServer : uint32 SMSG_CLEAR_SPELL_CHARGES = 0x4E0017, SMSG_CLEAR_TARGET = 0x3E0022, SMSG_CLEAR_TREASURE_PICKER_CACHE = 0x4C0022, - SMSG_CLOSE_ARTIFACT_FORGE = 0x380236, - SMSG_CLUB_FINDER_ERROR_MESSAGE = 0x3802CB, - SMSG_CLUB_FINDER_GET_CLUB_POSTING_IDS_RESPONSE = 0x3802CE, - SMSG_CLUB_FINDER_LOOKUP_CLUB_POSTINGS_LIST = 0x3802CC, - SMSG_CLUB_FINDER_RESPONSE_CHARACTER_APPLICATION_LIST = 0x3802C9, - SMSG_CLUB_FINDER_RESPONSE_POST_RECRUITMENT_MESSAGE = 0x3802CD, - SMSG_CLUB_FINDER_UPDATE_APPLICATIONS = 0x3802CA, - SMSG_CLUB_FINDER_WHISPER_APPLICANT_RESPONSE = 0x38030B, + SMSG_CLOSE_ARTIFACT_FORGE = 0x380237, + SMSG_CLUB_FINDER_ERROR_MESSAGE = 0x3802CC, + SMSG_CLUB_FINDER_GET_CLUB_POSTING_IDS_RESPONSE = 0x3802CF, + SMSG_CLUB_FINDER_LOOKUP_CLUB_POSTINGS_LIST = 0x3802CD, + SMSG_CLUB_FINDER_RESPONSE_CHARACTER_APPLICATION_LIST = 0x3802CA, + SMSG_CLUB_FINDER_RESPONSE_POST_RECRUITMENT_MESSAGE = 0x3802CE, + SMSG_CLUB_FINDER_UPDATE_APPLICATIONS = 0x3802CB, + SMSG_CLUB_FINDER_WHISPER_APPLICANT_RESPONSE = 0x38030C, SMSG_COIN_REMOVED = 0x3800AF, SMSG_COMBAT_EVENT_FAILED = 0x3E0019, SMSG_COMMENTATOR_MAP_INFO = 0x3801A0, SMSG_COMMENTATOR_PLAYER_INFO = 0x3801A1, SMSG_COMMENTATOR_STATE_CHANGED = 0x38019F, - SMSG_COMMERCE_TOKEN_GET_COUNT_RESPONSE = 0x380263, - SMSG_COMMERCE_TOKEN_GET_LOG_RESPONSE = 0x38026F, - SMSG_COMMERCE_TOKEN_GET_MARKET_PRICE_RESPONSE = 0x380265, - SMSG_COMMERCE_TOKEN_UPDATE = 0x380264, + SMSG_COMMERCE_TOKEN_GET_COUNT_RESPONSE = 0x380264, + SMSG_COMMERCE_TOKEN_GET_LOG_RESPONSE = 0x380270, + SMSG_COMMERCE_TOKEN_GET_MARKET_PRICE_RESPONSE = 0x380266, + SMSG_COMMERCE_TOKEN_UPDATE = 0x380265, SMSG_COMPLAINT_RESULT = 0x380146, - SMSG_COMPLETE_SHIPMENT_RESPONSE = 0x38022F, - SMSG_CONFIRM_PARTY_INVITE = 0x3802A6, + SMSG_COMPLETE_SHIPMENT_RESPONSE = 0x380230, + SMSG_CONFIRM_PARTY_INVITE = 0x3802A7, SMSG_CONNECT_TO = 0x3F0005, SMSG_CONSOLE_WRITE = 0x3800CD, - SMSG_CONSUMABLE_TOKEN_BUY_AT_MARKET_PRICE_RESPONSE = 0x38026B, - SMSG_CONSUMABLE_TOKEN_BUY_CHOICE_REQUIRED = 0x38026A, - SMSG_CONSUMABLE_TOKEN_CAN_VETERAN_BUY_RESPONSE = 0x380269, - SMSG_CONSUMABLE_TOKEN_REDEEM_CONFIRM_REQUIRED = 0x38026D, - SMSG_CONSUMABLE_TOKEN_REDEEM_RESPONSE = 0x38026E, - SMSG_CONTACT_LIST = 0x38021D, - SMSG_CONTRIBUTION_LAST_UPDATE_RESPONSE = 0x3802AD, + SMSG_CONSUMABLE_TOKEN_BUY_AT_MARKET_PRICE_RESPONSE = 0x38026C, + SMSG_CONSUMABLE_TOKEN_BUY_CHOICE_REQUIRED = 0x38026B, + SMSG_CONSUMABLE_TOKEN_CAN_VETERAN_BUY_RESPONSE = 0x38026A, + SMSG_CONSUMABLE_TOKEN_REDEEM_CONFIRM_REQUIRED = 0x38026E, + SMSG_CONSUMABLE_TOKEN_REDEEM_RESPONSE = 0x38026F, + SMSG_CONTACT_LIST = 0x38021E, + SMSG_CONTRIBUTION_LAST_UPDATE_RESPONSE = 0x3802AE, SMSG_CONTROL_UPDATE = 0x3800DF, - SMSG_CONVERT_ITEMS_TO_CURRENCY_VALUE = 0x3802F5, - SMSG_COOLDOWN_CHEAT = 0x3801D0, + SMSG_CONVERT_ITEMS_TO_CURRENCY_VALUE = 0x3802F6, + SMSG_COOLDOWN_CHEAT = 0x3801D1, SMSG_COOLDOWN_EVENT = 0x380153, SMSG_CORPSE_LOCATION = 0x3800E7, - SMSG_CORPSE_RECLAIM_DELAY = 0x3801E1, - SMSG_CORPSE_TRANSPORT_QUERY = 0x3801AB, + SMSG_CORPSE_RECLAIM_DELAY = 0x3801E2, + SMSG_CORPSE_TRANSPORT_QUERY = 0x3801AC, SMSG_COVENANT_CALLINGS_AVAILABILITY_RESPONSE = 0x4C0024, - SMSG_COVENANT_PREVIEW_OPEN_NPC = 0x38028F, - SMSG_COVENANT_RENOWN_SEND_CATCHUP_STATE = 0x3802F6, - SMSG_CRAFTING_HOUSE_HELLO_RESPONSE = 0x38032C, - SMSG_CRAFTING_ORDER_CANCEL_RESULT = 0x380328, - SMSG_CRAFTING_ORDER_CLAIM_RESULT = 0x380324, - SMSG_CRAFTING_ORDER_CRAFT_RESULT = 0x380326, - SMSG_CRAFTING_ORDER_CREATE_RESULT = 0x380322, - SMSG_CRAFTING_ORDER_FULFILL_RESULT = 0x380327, - SMSG_CRAFTING_ORDER_LIST_ORDERS_RESPONSE = 0x380323, - SMSG_CRAFTING_ORDER_NPC_REWARD_INFO = 0x38032E, - SMSG_CRAFTING_ORDER_REJECT_RESULT = 0x38032A, - SMSG_CRAFTING_ORDER_RELEASE_RESULT = 0x380325, - SMSG_CRAFTING_ORDER_UPDATE_STATE = 0x38032D, - SMSG_CRAFT_ENCHANT_RESULT = 0x38032B, + SMSG_COVENANT_PREVIEW_OPEN_NPC = 0x380290, + SMSG_COVENANT_RENOWN_SEND_CATCHUP_STATE = 0x3802F7, + SMSG_CRAFTING_HOUSE_HELLO_RESPONSE = 0x38032D, + SMSG_CRAFTING_ORDER_CANCEL_RESULT = 0x380329, + SMSG_CRAFTING_ORDER_CLAIM_RESULT = 0x380325, + SMSG_CRAFTING_ORDER_CRAFT_RESULT = 0x380327, + SMSG_CRAFTING_ORDER_CREATE_RESULT = 0x380323, + SMSG_CRAFTING_ORDER_FULFILL_RESULT = 0x380328, + SMSG_CRAFTING_ORDER_LIST_ORDERS_RESPONSE = 0x380324, + SMSG_CRAFTING_ORDER_NPC_REWARD_INFO = 0x38032F, + SMSG_CRAFTING_ORDER_REJECT_RESULT = 0x38032B, + SMSG_CRAFTING_ORDER_RELEASE_RESULT = 0x380326, + SMSG_CRAFTING_ORDER_UPDATE_STATE = 0x38032E, + SMSG_CRAFT_ENCHANT_RESULT = 0x38032C, SMSG_CREATE_CHAR = 0x38019A, - SMSG_CREATE_SHIPMENT_RESPONSE = 0x38022E, - SMSG_CREATOR_VISUALS_OVERRIDE = 0x380331, + SMSG_CREATE_SHIPMENT_RESPONSE = 0x38022F, + SMSG_CREATOR_VISUALS_OVERRIDE = 0x380332, SMSG_CRITERIA_DELETED = 0x380180, SMSG_CRITERIA_UPDATE = 0x38017A, SMSG_CROSSED_INEBRIATION_THRESHOLD = 0x38015B, - SMSG_CURRENCY_TRANSFER_LOG = 0x380343, - SMSG_CURRENCY_TRANSFER_RESULT = 0x380342, + SMSG_CURRENCY_TRANSFER_LOG = 0x380344, + SMSG_CURRENCY_TRANSFER_RESULT = 0x380343, SMSG_CUSTOM_LOAD_SCREEN = 0x380064, SMSG_DAILY_QUESTS_RESET = 0x4C0000, SMSG_DAMAGE_CALC_LOG = 0x4E0054, @@ -1272,8 +1272,8 @@ enum OpcodeServer : uint32 SMSG_DEFENSE_MESSAGE = 0x3D000C, SMSG_DELETE_CHAR = 0x38019B, SMSG_DELETE_EXPIRED_MISSIONS_RESULT = 0x420022, - SMSG_DELVES_ACCOUNT_DATA_ELEMENT_CHANGED = 0x380348, - SMSG_DESTROY_ARENA_UNIT = 0x3801D9, + SMSG_DELVES_ACCOUNT_DATA_ELEMENT_CHANGED = 0x380349, + SMSG_DESTROY_ARENA_UNIT = 0x3801DA, SMSG_DESTRUCTIBLE_BUILDING_DAMAGE = 0x380192, SMSG_DIFFERENT_INSTANCE_FROM_PARTY = 0x380020, SMSG_DISENCHANT_CREDIT = 0x38003F, @@ -1284,7 +1284,7 @@ enum OpcodeServer : uint32 SMSG_DISPLAY_PROMOTION = 0x3800E4, SMSG_DISPLAY_QUEST_POPUP = 0x4C001E, SMSG_DISPLAY_TOAST = 0x3800BC, - SMSG_DISPLAY_WORLD_TEXT = 0x380280, + SMSG_DISPLAY_WORLD_TEXT = 0x380281, SMSG_DISPLAY_WORLD_TEXT_ON_TARGET = 0x4E0053, SMSG_DONT_AUTO_PUSH_SPELLS_TO_ACTION_BAR = 0x380079, SMSG_DROP_NEW_CONNECTION = 0x3F0004, @@ -1295,54 +1295,54 @@ enum OpcodeServer : uint32 SMSG_DUEL_OUT_OF_BOUNDS = 0x3E001C, SMSG_DUEL_REQUESTED = 0x3E001A, SMSG_DUEL_WINNER = 0x3E0020, - SMSG_DURABILITY_DAMAGE_DEATH = 0x3801DC, - SMSG_EMOTE = 0x38025B, + SMSG_DURABILITY_DAMAGE_DEATH = 0x3801DD, + SMSG_EMOTE = 0x38025C, SMSG_ENABLE_BARBER_SHOP = 0x380156, - SMSG_ENCHANTMENT_LOG = 0x3801AC, - SMSG_ENCOUNTER_END = 0x380216, - SMSG_ENCOUNTER_START = 0x380215, + SMSG_ENCHANTMENT_LOG = 0x3801AD, + SMSG_ENCOUNTER_END = 0x380217, + SMSG_ENCOUNTER_START = 0x380216, SMSG_END_LIGHTNING_STORM = 0x380143, SMSG_ENTER_ENCRYPTED_MODE = 0x3F0001, SMSG_ENUM_CHARACTERS_RESULT = 0x380018, - SMSG_ENUM_VAS_PURCHASE_STATES_RESPONSE = 0x380285, + SMSG_ENUM_VAS_PURCHASE_STATES_RESPONSE = 0x380286, SMSG_ENVIRONMENTAL_DAMAGE_LOG = 0x4E000E, SMSG_EQUIPMENT_SET_ID = 0x38014C, SMSG_EXPECTED_SPAM_RECORDS = 0x3D0005, - SMSG_EXPLORATION_EXPERIENCE = 0x3801F6, + SMSG_EXPLORATION_EXPERIENCE = 0x3801F7, SMSG_EXPORT_ACCOUNT_PROFILE = 0x3800EC, - SMSG_EXTERNAL_TRANSACTION_ID_GENERATED = 0x3802F3, - SMSG_FACTION_BONUS_INFO = 0x3801BC, + SMSG_EXTERNAL_TRANSACTION_ID_GENERATED = 0x3802F4, + SMSG_FACTION_BONUS_INFO = 0x3801BD, SMSG_FAILED_PLAYER_CONDITION = 0x4B0002, - SMSG_FAILED_QUEST_TURN_IN = 0x3802A3, + SMSG_FAILED_QUEST_TURN_IN = 0x3802A4, SMSG_FEATURE_SYSTEM_STATUS = 0x380058, - SMSG_FEATURE_SYSTEM_STATUS2 = 0x380340, + SMSG_FEATURE_SYSTEM_STATUS2 = 0x380341, SMSG_FEATURE_SYSTEM_STATUS_GLUE_SCREEN = 0x380059, - SMSG_FEIGN_DEATH_RESISTED = 0x3801DB, + SMSG_FEIGN_DEATH_RESISTED = 0x3801DC, SMSG_FISH_ESCAPED = 0x38016A, SMSG_FISH_NOT_HOOKED = 0x380169, SMSG_FLIGHT_SPLINE_SYNC = 0x49005B, SMSG_FLUSH_COMBAT_LOG_FILE = 0x4E0010, SMSG_FORCED_DEATH_UPDATE = 0x38016E, - SMSG_FORCE_ANIM = 0x3801E8, - SMSG_FORCE_ANIMATIONS = 0x3801E9, + SMSG_FORCE_ANIM = 0x3801E9, + SMSG_FORCE_ANIMATIONS = 0x3801EA, SMSG_FORCE_OBJECT_RELINK = 0x3800E3, SMSG_FORCE_RANDOM_TRANSMOG_TOAST = 0x38004A, SMSG_FORCE_SPAWN_TRACKING_UPDATE = 0x4C0021, - SMSG_FRIEND_STATUS = 0x38021E, - SMSG_GAIN_MAW_POWER = 0x380274, + SMSG_FRIEND_STATUS = 0x38021F, + SMSG_GAIN_MAW_POWER = 0x380275, SMSG_GAME_OBJECT_ACTIVATE_ANIM_KIT = 0x38005C, - SMSG_GAME_OBJECT_BASE = 0x3802BA, - SMSG_GAME_OBJECT_CLOSE_INTERACTION = 0x38030A, + SMSG_GAME_OBJECT_BASE = 0x3802BB, + SMSG_GAME_OBJECT_CLOSE_INTERACTION = 0x38030B, SMSG_GAME_OBJECT_CUSTOM_ANIM = 0x38005D, SMSG_GAME_OBJECT_DESPAWN = 0x38005E, - SMSG_GAME_OBJECT_INTERACTION = 0x380309, + SMSG_GAME_OBJECT_INTERACTION = 0x38030A, SMSG_GAME_OBJECT_PLAY_SPELL_VISUAL = 0x4E003C, SMSG_GAME_OBJECT_PLAY_SPELL_VISUAL_KIT = 0x4E003B, - SMSG_GAME_OBJECT_RESET_STATE = 0x3801B6, - SMSG_GAME_OBJECT_SET_STATE_LOCAL = 0x380296, + SMSG_GAME_OBJECT_RESET_STATE = 0x3801B7, + SMSG_GAME_OBJECT_SET_STATE_LOCAL = 0x380297, SMSG_GAME_SPEED_SET = 0x38011C, - SMSG_GAME_TIME_SET = 0x3801A5, - SMSG_GAME_TIME_UPDATE = 0x3801A4, + SMSG_GAME_TIME_SET = 0x3801A6, + SMSG_GAME_TIME_UPDATE = 0x3801A5, SMSG_GARRISON_ACTIVATE_MISSION_BONUS_ABILITY = 0x420024, SMSG_GARRISON_ADD_EVENT = 0x420048, SMSG_GARRISON_ADD_FOLLOWER_RESULT = 0x420016, @@ -1414,18 +1414,18 @@ enum OpcodeServer : uint32 SMSG_GARRISON_UPGRADE_RESULT = 0x42000D, SMSG_GARRISON_USE_RECALL_PORTAL_RESULT = 0x42001F, SMSG_GENERATE_RANDOM_CHARACTER_NAME_RESULT = 0x38001C, - SMSG_GENERATE_SSO_TOKEN_RESPONSE = 0x3802AE, - SMSG_GET_ACCOUNT_CHARACTER_LIST_RESULT = 0x3801F8, + SMSG_GENERATE_SSO_TOKEN_RESPONSE = 0x3802AF, + SMSG_GET_ACCOUNT_CHARACTER_LIST_RESULT = 0x3801F9, SMSG_GET_GARRISON_INFO_RESULT = 0x420000, - SMSG_GET_LANDING_PAGE_SHIPMENTS_RESPONSE = 0x380231, - SMSG_GET_REALM_HIDDEN_RESULT = 0x380337, - SMSG_GET_REMAINING_GAME_TIME_RESPONSE = 0x38026C, - SMSG_GET_SELECTED_TROPHY_ID_RESPONSE = 0x380259, - SMSG_GET_SHIPMENTS_OF_TYPE_RESPONSE = 0x380230, - SMSG_GET_SHIPMENT_INFO_RESPONSE = 0x38022C, - SMSG_GET_TROPHY_LIST_RESPONSE = 0x380258, - SMSG_GET_VAS_ACCOUNT_CHARACTER_LIST_RESULT = 0x380281, - SMSG_GET_VAS_TRANSFER_TARGET_REALM_LIST_RESULT = 0x380282, + SMSG_GET_LANDING_PAGE_SHIPMENTS_RESPONSE = 0x380232, + SMSG_GET_REALM_HIDDEN_RESULT = 0x380338, + SMSG_GET_REMAINING_GAME_TIME_RESPONSE = 0x38026D, + SMSG_GET_SELECTED_TROPHY_ID_RESPONSE = 0x38025A, + SMSG_GET_SHIPMENTS_OF_TYPE_RESPONSE = 0x380231, + SMSG_GET_SHIPMENT_INFO_RESPONSE = 0x38022D, + SMSG_GET_TROPHY_LIST_RESPONSE = 0x380259, + SMSG_GET_VAS_ACCOUNT_CHARACTER_LIST_RESULT = 0x380282, + SMSG_GET_VAS_TRANSFER_TARGET_REALM_LIST_RESULT = 0x380283, SMSG_GM_PLAYER_INFO = 0x4B000D, SMSG_GM_REQUEST_PLAYER_INFO = 0x4B0003, SMSG_GM_TICKET_CASE_STATUS = 0x38013E, @@ -1434,16 +1434,16 @@ enum OpcodeServer : uint32 SMSG_GOSSIP_COMPLETE = 0x4C0017, SMSG_GOSSIP_MESSAGE = 0x4C0018, SMSG_GOSSIP_OPTION_NPC_INTERACTION = 0x4C0028, - SMSG_GOSSIP_POI = 0x380229, + SMSG_GOSSIP_POI = 0x38022A, SMSG_GOSSIP_QUEST_UPDATE = 0x4C0019, SMSG_GOSSIP_REFRESH_OPTIONS = 0x4C0027, SMSG_GROUP_ACTION_THROTTLED = 0x380024, - SMSG_GROUP_AUTO_KICK = 0x380226, - SMSG_GROUP_DECLINE = 0x380222, - SMSG_GROUP_DESTROYED = 0x380225, + SMSG_GROUP_AUTO_KICK = 0x380227, + SMSG_GROUP_DECLINE = 0x380223, + SMSG_GROUP_DESTROYED = 0x380226, SMSG_GROUP_NEW_LEADER = 0x3800C5, - SMSG_GROUP_REQUEST_DECLINE = 0x380223, - SMSG_GROUP_UNINVITE = 0x380224, + SMSG_GROUP_REQUEST_DECLINE = 0x380224, + SMSG_GROUP_UNINVITE = 0x380225, SMSG_GUILD_ACHIEVEMENT_DELETED = 0x44000D, SMSG_GUILD_ACHIEVEMENT_EARNED = 0x44000C, SMSG_GUILD_ACHIEVEMENT_MEMBERS = 0x44000F, @@ -1501,59 +1501,59 @@ enum OpcodeServer : uint32 SMSG_GUILD_REWARD_LIST = 0x440008, SMSG_GUILD_ROSTER = 0x440003, SMSG_GUILD_SEND_RANK_CHANGE = 0x440001, - SMSG_HARDCORE_DEATH_ALERT = 0x38033F, + SMSG_HARDCORE_DEATH_ALERT = 0x380340, SMSG_HEALTH_UPDATE = 0x38016B, SMSG_HIGHEST_THREAT_UPDATE = 0x380173, SMSG_HOTFIX_CONNECT = 0x3C0003, SMSG_HOTFIX_MESSAGE = 0x3C0002, - SMSG_INITIALIZE_FACTIONS = 0x3801BB, + SMSG_INITIALIZE_FACTIONS = 0x3801BC, SMSG_INITIAL_SETUP = 0x380014, - SMSG_INIT_WORLD_STATES = 0x3801DD, + SMSG_INIT_WORLD_STATES = 0x3801DE, SMSG_INSPECT_RESULT = 0x3800C9, - SMSG_INSTANCE_ENCOUNTER_CHANGE_PRIORITY = 0x380244, - SMSG_INSTANCE_ENCOUNTER_DISENGAGE_UNIT = 0x380243, - SMSG_INSTANCE_ENCOUNTER_END = 0x38024C, - SMSG_INSTANCE_ENCOUNTER_ENGAGE_UNIT = 0x380242, - SMSG_INSTANCE_ENCOUNTER_GAIN_COMBAT_RESURRECTION_CHARGE = 0x38024E, - SMSG_INSTANCE_ENCOUNTER_IN_COMBAT_RESURRECTION = 0x38024D, - SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_COMPLETE = 0x380247, - SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_START = 0x380246, - SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_UPDATE = 0x38024B, - SMSG_INSTANCE_ENCOUNTER_PHASE_SHIFT_CHANGED = 0x38024F, - SMSG_INSTANCE_ENCOUNTER_START = 0x380248, - SMSG_INSTANCE_ENCOUNTER_TIMER_START = 0x380245, - SMSG_INSTANCE_ENCOUNTER_UPDATE_ALLOW_RELEASE_IN_PROGRESS = 0x38024A, - SMSG_INSTANCE_ENCOUNTER_UPDATE_SUPPRESS_RELEASE = 0x380249, + SMSG_INSTANCE_ENCOUNTER_CHANGE_PRIORITY = 0x380245, + SMSG_INSTANCE_ENCOUNTER_DISENGAGE_UNIT = 0x380244, + SMSG_INSTANCE_ENCOUNTER_END = 0x38024D, + SMSG_INSTANCE_ENCOUNTER_ENGAGE_UNIT = 0x380243, + SMSG_INSTANCE_ENCOUNTER_GAIN_COMBAT_RESURRECTION_CHARGE = 0x38024F, + SMSG_INSTANCE_ENCOUNTER_IN_COMBAT_RESURRECTION = 0x38024E, + SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_COMPLETE = 0x380248, + SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_START = 0x380247, + SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_UPDATE = 0x38024C, + SMSG_INSTANCE_ENCOUNTER_PHASE_SHIFT_CHANGED = 0x380250, + SMSG_INSTANCE_ENCOUNTER_START = 0x380249, + SMSG_INSTANCE_ENCOUNTER_TIMER_START = 0x380246, + SMSG_INSTANCE_ENCOUNTER_UPDATE_ALLOW_RELEASE_IN_PROGRESS = 0x38024B, + SMSG_INSTANCE_ENCOUNTER_UPDATE_SUPPRESS_RELEASE = 0x38024A, SMSG_INSTANCE_GROUP_SIZE_CHANGED = 0x380193, SMSG_INSTANCE_INFO = 0x3800CC, SMSG_INSTANCE_RESET = 0x380121, SMSG_INSTANCE_RESET_FAILED = 0x380122, - SMSG_INSTANCE_SAVE_CREATED = 0x380214, + SMSG_INSTANCE_SAVE_CREATED = 0x380215, SMSG_INTERRUPT_POWER_REGEN = 0x4E004A, SMSG_INVALIDATE_PAGE_TEXT = 0x3C000A, SMSG_INVALIDATE_PLAYER = 0x4B0007, - SMSG_INVALID_PROMOTION_CODE = 0x3801EA, + SMSG_INVALID_PROMOTION_CODE = 0x3801EB, SMSG_INVENTORY_CHANGE_FAILURE = 0x4F0005, - SMSG_INVENTORY_FIXUP_COMPLETE = 0x3802A5, - SMSG_INVENTORY_FULL_OVERFLOW = 0x3802B6, - SMSG_ISLAND_AZERITE_GAIN = 0x3801F3, - SMSG_ISLAND_COMPLETE = 0x3801F4, + SMSG_INVENTORY_FIXUP_COMPLETE = 0x3802A6, + SMSG_INVENTORY_FULL_OVERFLOW = 0x3802B7, + SMSG_ISLAND_AZERITE_GAIN = 0x3801F4, + SMSG_ISLAND_COMPLETE = 0x3801F5, SMSG_IS_QUEST_COMPLETE_RESPONSE = 0x4C0004, SMSG_ITEM_CHANGED = 0x380184, - SMSG_ITEM_COOLDOWN = 0x38025A, - SMSG_ITEM_ENCHANT_TIME_UPDATE = 0x3801EC, + SMSG_ITEM_COOLDOWN = 0x38025B, + SMSG_ITEM_ENCHANT_TIME_UPDATE = 0x3801ED, SMSG_ITEM_EXPIRE_PURCHASE_REFUND = 0x380034, - SMSG_ITEM_INTERACTION_COMPLETE = 0x3802EB, + SMSG_ITEM_INTERACTION_COMPLETE = 0x3802EC, SMSG_ITEM_PURCHASE_REFUND_RESULT = 0x380032, SMSG_ITEM_PUSH_RESULT = 0x3800BB, - SMSG_ITEM_TIME_UPDATE = 0x3801EB, + SMSG_ITEM_TIME_UPDATE = 0x3801EC, SMSG_KICK_REASON = 0x380124, - SMSG_LATENCY_REPORT_PING = 0x3802FB, + SMSG_LATENCY_REPORT_PING = 0x3802FC, SMSG_LEARNED_SPELLS = 0x4E003E, SMSG_LEARN_PVP_TALENT_FAILED = 0x38006D, SMSG_LEARN_TALENT_FAILED = 0x38006C, - SMSG_LEGACY_LOOT_RULES = 0x3802BB, - SMSG_LEVEL_LINKING_RESULT = 0x3802D1, + SMSG_LEGACY_LOOT_RULES = 0x3802BC, + SMSG_LEVEL_LINKING_RESULT = 0x3802D2, SMSG_LEVEL_UP_INFO = 0x380182, SMSG_LFG_BOOT_PLAYER = 0x460019, SMSG_LFG_DISABLED = 0x460017, @@ -1583,26 +1583,26 @@ enum OpcodeServer : uint32 SMSG_LFG_SLOT_INVALID = 0x460014, SMSG_LFG_TELEPORT_DENIED = 0x460016, SMSG_LFG_UPDATE_STATUS = 0x460008, - SMSG_LIVE_REGION_ACCOUNT_RESTORE_RESULT = 0x380206, - SMSG_LIVE_REGION_CHARACTER_COPY_RESULT = 0x380205, - SMSG_LIVE_REGION_GET_ACCOUNT_CHARACTER_LIST_RESULT = 0x3801F9, - SMSG_LIVE_REGION_KEY_BINDINGS_COPY_RESULT = 0x380207, + SMSG_LIVE_REGION_ACCOUNT_RESTORE_RESULT = 0x380207, + SMSG_LIVE_REGION_CHARACTER_COPY_RESULT = 0x380206, + SMSG_LIVE_REGION_GET_ACCOUNT_CHARACTER_LIST_RESULT = 0x3801FA, + SMSG_LIVE_REGION_KEY_BINDINGS_COPY_RESULT = 0x380208, SMSG_LOAD_CUF_PROFILES = 0x380055, - SMSG_LOAD_EQUIPMENT_SET = 0x3801A7, - SMSG_LOBBY_MATCHMAKER_LOBBY_ACQUIRED_SERVER = 0x38030C, - SMSG_LOBBY_MATCHMAKER_PARTY_INFO = 0x38030D, - SMSG_LOBBY_MATCHMAKER_PARTY_INVITE_REJECTED = 0x38030E, - SMSG_LOBBY_MATCHMAKER_QUEUE_PROPOSED = 0x380310, - SMSG_LOBBY_MATCHMAKER_QUEUE_RESULT = 0x380311, - SMSG_LOBBY_MATCHMAKER_RECEIVE_INVITE = 0x38030F, - SMSG_LOGIN_SET_TIME_SPEED = 0x3801A6, + SMSG_LOAD_EQUIPMENT_SET = 0x3801A8, + SMSG_LOBBY_MATCHMAKER_LOBBY_ACQUIRED_SERVER = 0x38030D, + SMSG_LOBBY_MATCHMAKER_PARTY_INFO = 0x38030E, + SMSG_LOBBY_MATCHMAKER_PARTY_INVITE_REJECTED = 0x38030F, + SMSG_LOBBY_MATCHMAKER_QUEUE_PROPOSED = 0x380311, + SMSG_LOBBY_MATCHMAKER_QUEUE_RESULT = 0x380312, + SMSG_LOBBY_MATCHMAKER_RECEIVE_INVITE = 0x380310, + SMSG_LOGIN_SET_TIME_SPEED = 0x3801A7, SMSG_LOGIN_VERIFY_WORLD = 0x38002F, SMSG_LOGOUT_CANCEL_ACK = 0x380120, SMSG_LOGOUT_COMPLETE = 0x38011F, SMSG_LOGOUT_RESPONSE = 0x38011E, SMSG_LOG_XP_GAIN = 0x38017E, SMSG_LOOT_ALL_PASSED = 0x3800B9, - SMSG_LOOT_LIST = 0x3801D8, + SMSG_LOOT_LIST = 0x3801D9, SMSG_LOOT_MONEY_NOTIFY = 0x3800B4, SMSG_LOOT_RELEASE = 0x3800B3, SMSG_LOOT_RELEASE_ALL = 0x3800B2, @@ -1613,21 +1613,21 @@ enum OpcodeServer : uint32 SMSG_LOOT_ROLL_WON = 0x3800BA, SMSG_LOSS_OF_CONTROL_AURA_UPDATE = 0x38010A, SMSG_MAIL_COMMAND_RESULT = 0x3800D3, - SMSG_MAIL_LIST_RESULT = 0x3801ED, - SMSG_MAIL_QUERY_NEXT_TIME_RESULT = 0x3801EE, + SMSG_MAIL_LIST_RESULT = 0x3801EE, + SMSG_MAIL_QUERY_NEXT_TIME_RESULT = 0x3801EF, SMSG_MAP_OBJECTIVES_INIT = 0x3E002A, SMSG_MAP_OBJ_EVENTS = 0x38005F, SMSG_MASTER_LOOT_CANDIDATE_LIST = 0x3800B7, - SMSG_MEETING_STONE_FAILED = 0x380312, + SMSG_MEETING_STONE_FAILED = 0x380313, SMSG_MESSAGE_BOX = 0x38000A, SMSG_MINIMAP_PING = 0x380168, SMSG_MIRROR_IMAGE_COMPONENTED_DATA = 0x4E0004, SMSG_MIRROR_IMAGE_CREATURE_DATA = 0x4E0003, SMSG_MISSILE_CANCEL = 0x380060, - SMSG_MODIFY_COOLDOWN = 0x3801FB, + SMSG_MODIFY_COOLDOWN = 0x3801FC, SMSG_MOTD = 0x3D0003, SMSG_MOUNT_RESULT = 0x38000F, - SMSG_MOVEMENT_ENFORCEMENT_ALERT = 0x3802C1, + SMSG_MOVEMENT_ENFORCEMENT_ALERT = 0x3802C2, SMSG_MOVE_ADD_IMPULSE = 0x490062, SMSG_MOVE_APPLY_INERTIA = 0x49005E, SMSG_MOVE_APPLY_MOVEMENT_FORCE = 0x490045, @@ -1741,52 +1741,52 @@ enum OpcodeServer : uint32 SMSG_MOVE_UPDATE_TELEPORT = 0x49000F, SMSG_MOVE_UPDATE_TURN_RATE = 0x49000B, SMSG_MOVE_UPDATE_WALK_SPEED = 0x490006, - SMSG_MULTI_FLOOR_LEAVE_FLOOR = 0x380271, - SMSG_MULTI_FLOOR_NEW_FLOOR = 0x380270, + SMSG_MULTI_FLOOR_LEAVE_FLOOR = 0x380272, + SMSG_MULTI_FLOOR_NEW_FLOOR = 0x380271, SMSG_MYTHIC_PLUS_ALL_MAP_STATS = 0x3800A3, SMSG_MYTHIC_PLUS_CURRENT_AFFIXES = 0x3800A5, SMSG_MYTHIC_PLUS_NEW_WEEK_RECORD = 0x3800AA, SMSG_MYTHIC_PLUS_SEASON_DATA = 0x3800A4, SMSG_NEUTRAL_PLAYER_FACTION_SELECT_RESULT = 0x380074, - SMSG_NEW_DATA_BUILD = 0x380336, + SMSG_NEW_DATA_BUILD = 0x380337, SMSG_NEW_TAXI_PATH = 0x380119, SMSG_NEW_WORLD = 0x38002B, SMSG_NOTIFY_DEST_LOC_SPELL_CAST = 0x4E0034, SMSG_NOTIFY_MISSILE_TRAJECTORY_COLLISION = 0x380145, SMSG_NOTIFY_MONEY = 0x380031, SMSG_NOTIFY_RECEIVED_MAIL = 0x3800D4, - SMSG_NPC_INTERACTION_OPEN_RESULT = 0x380308, + SMSG_NPC_INTERACTION_OPEN_RESULT = 0x380309, SMSG_OFFER_PETITION_ERROR = 0x380150, SMSG_ON_CANCEL_EXPECTED_RIDE_VEHICLE_AURA = 0x38017F, SMSG_ON_MONSTER_MOVE = 0x490002, - SMSG_OPEN_ARTIFACT_FORGE = 0x380235, + SMSG_OPEN_ARTIFACT_FORGE = 0x380236, SMSG_OPEN_CONTAINER = 0x4F0006, SMSG_OPEN_LFG_DUNGEON_FINDER = 0x460015, - SMSG_OPEN_SHIPMENT_NPC_RESULT = 0x38022D, + SMSG_OPEN_SHIPMENT_NPC_RESULT = 0x38022E, SMSG_OVERRIDE_LIGHT = 0x380155, - SMSG_PAGE_TEXT = 0x3801B2, - SMSG_PARTY_COMMAND_RESULT = 0x380227, - SMSG_PARTY_ELIGIBILITY_FOR_DELVE_TIERS_RESPONSE = 0x38034B, + SMSG_PAGE_TEXT = 0x3801B3, + SMSG_PARTY_COMMAND_RESULT = 0x380228, + SMSG_PARTY_ELIGIBILITY_FOR_DELVE_TIERS_RESPONSE = 0x38034C, SMSG_PARTY_INVITE = 0x380056, - SMSG_PARTY_KILL_LOG = 0x3801F1, - SMSG_PARTY_MEMBER_FULL_STATE = 0x3801F0, - SMSG_PARTY_MEMBER_PARTIAL_STATE = 0x3801EF, - SMSG_PARTY_NOTIFY_LFG_LEADER_CHANGE = 0x3802F1, + SMSG_PARTY_KILL_LOG = 0x3801F2, + SMSG_PARTY_MEMBER_FULL_STATE = 0x3801F1, + SMSG_PARTY_MEMBER_PARTIAL_STATE = 0x3801F0, + SMSG_PARTY_NOTIFY_LFG_LEADER_CHANGE = 0x3802F2, SMSG_PARTY_UPDATE = 0x38008C, SMSG_PAST_TIME_EVENTS = 0x38005B, - SMSG_PAUSE_MIRROR_TIMER = 0x3801A9, + SMSG_PAUSE_MIRROR_TIMER = 0x3801AA, SMSG_PENDING_RAID_LOCK = 0x380191, - SMSG_PERKS_PROGRAM_ACTIVITY_COMPLETE = 0x380305, - SMSG_PERKS_PROGRAM_ACTIVITY_UPDATE = 0x380301, - SMSG_PERKS_PROGRAM_DISABLED = 0x380306, - SMSG_PERKS_PROGRAM_RESULT = 0x380302, - SMSG_PERKS_PROGRAM_VENDOR_UPDATE = 0x380300, + SMSG_PERKS_PROGRAM_ACTIVITY_COMPLETE = 0x380306, + SMSG_PERKS_PROGRAM_ACTIVITY_UPDATE = 0x380302, + SMSG_PERKS_PROGRAM_DISABLED = 0x380307, + SMSG_PERKS_PROGRAM_RESULT = 0x380303, + SMSG_PERKS_PROGRAM_VENDOR_UPDATE = 0x380301, SMSG_PETITION_ALREADY_SIGNED = 0x380037, SMSG_PETITION_RENAME_GUILD_RESPONSE = 0x440042, SMSG_PETITION_SHOW_LIST = 0x380158, SMSG_PETITION_SHOW_SIGNATURES = 0x380159, - SMSG_PETITION_SIGN_RESULTS = 0x3801E3, - SMSG_PET_ACTION_FEEDBACK = 0x3801E0, + SMSG_PETITION_SIGN_RESULTS = 0x3801E4, + SMSG_PET_ACTION_FEEDBACK = 0x3801E1, SMSG_PET_ACTION_SOUND = 0x38013B, SMSG_PET_BATTLE_CHAT_RESTRICTED = 0x38009A, SMSG_PET_BATTLE_DEBUG_QUEUE_DUMP_RESPONSE = 0x38010F, @@ -1839,13 +1839,13 @@ enum OpcodeServer : uint32 SMSG_PLAYER_SKINNED = 0x4B000E, SMSG_PLAYER_TUTORIAL_HIGHLIGHT_SPELL = 0x4B0015, SMSG_PLAYER_TUTORIAL_UNHIGHLIGHT_SPELL = 0x4B0014, - SMSG_PLAY_MUSIC = 0x380200, - SMSG_PLAY_OBJECT_SOUND = 0x380202, - SMSG_PLAY_ONE_SHOT_ANIM_KIT = 0x3801C8, + SMSG_PLAY_MUSIC = 0x380201, + SMSG_PLAY_OBJECT_SOUND = 0x380203, + SMSG_PLAY_ONE_SHOT_ANIM_KIT = 0x3801C9, SMSG_PLAY_ORPHAN_SPELL_VISUAL = 0x4E0038, SMSG_PLAY_SCENE = 0x3800CE, - SMSG_PLAY_SOUND = 0x3801FF, - SMSG_PLAY_SPEAKERBOT_SOUND = 0x380203, + SMSG_PLAY_SOUND = 0x380200, + SMSG_PLAY_SPEAKERBOT_SOUND = 0x380204, SMSG_PLAY_SPELL_VISUAL = 0x4E0036, SMSG_PLAY_SPELL_VISUAL_KIT = 0x4E003A, SMSG_PLAY_TIME_WARNING = 0x380197, @@ -1853,11 +1853,11 @@ enum OpcodeServer : uint32 SMSG_POWER_UPDATE = 0x38016C, SMSG_PRELOAD_CHILD_MAP = 0x38000D, SMSG_PRELOAD_WORLD = 0x38002C, - SMSG_PREPOPULATE_NAME_CACHE = 0x3802C4, - SMSG_PRE_RESSURECT = 0x3801FE, + SMSG_PREPOPULATE_NAME_CACHE = 0x3802C5, + SMSG_PRE_RESSURECT = 0x3801FF, SMSG_PRINT_NOTIFICATION = 0x380063, - SMSG_PROC_RESIST = 0x3801F2, - SMSG_PROFESSION_GOSSIP = 0x380291, + SMSG_PROC_RESIST = 0x3801F3, + SMSG_PROFESSION_GOSSIP = 0x380292, SMSG_PUSH_SPELL_TO_ACTION_BAR = 0x4E0042, SMSG_PVP_CREDIT = 0x3E0024, SMSG_PVP_MATCH_COMPLETE = 0x3E002F, @@ -1866,7 +1866,7 @@ enum OpcodeServer : uint32 SMSG_PVP_MATCH_START = 0x3E002D, SMSG_PVP_MATCH_STATISTICS = 0x3E0010, SMSG_PVP_OPTIONS_ENABLED = 0x3E0013, - SMSG_PVP_TIER_RECORD = 0x3802FC, + SMSG_PVP_TIER_RECORD = 0x3802FD, SMSG_QUERY_BATTLE_PET_NAME_RESPONSE = 0x3C000C, SMSG_QUERY_CREATURE_RESPONSE = 0x3C0006, SMSG_QUERY_GAME_OBJECT_RESPONSE = 0x3C0007, @@ -1901,22 +1901,22 @@ enum OpcodeServer : uint32 SMSG_QUEST_POI_QUERY_RESPONSE = 0x4C001D, SMSG_QUEST_POI_UPDATE_RESPONSE = 0x4C001F, SMSG_QUEST_PUSH_RESULT = 0x4C0010, - SMSG_QUEST_SESSION_INFO_RESPONSE = 0x3802E7, - SMSG_QUEST_SESSION_READY_CHECK = 0x3802D5, - SMSG_QUEST_SESSION_READY_CHECK_RESPONSE = 0x3802D6, - SMSG_QUEST_SESSION_RESULT = 0x3802D4, + SMSG_QUEST_SESSION_INFO_RESPONSE = 0x3802E8, + SMSG_QUEST_SESSION_READY_CHECK = 0x3802D6, + SMSG_QUEST_SESSION_READY_CHECK_RESPONSE = 0x3802D7, + SMSG_QUEST_SESSION_RESULT = 0x3802D5, SMSG_QUEST_UPDATE_ADD_CREDIT = 0x4C000C, SMSG_QUEST_UPDATE_ADD_CREDIT_SIMPLE = 0x4C000D, SMSG_QUEST_UPDATE_ADD_PVP_CREDIT = 0x4C000E, SMSG_QUEST_UPDATE_COMPLETE = 0x4C0009, SMSG_QUEST_UPDATE_FAILED = 0x4C000A, SMSG_QUEST_UPDATE_FAILED_TIMER = 0x4C000B, - SMSG_QUEUE_SUMMARY_UPDATE = 0x3802A4, - SMSG_RAF_ACCOUNT_INFO = 0x3802D2, - SMSG_RAF_ACTIVITY_STATE_CHANGED = 0x3802E3, - SMSG_RAF_DEBUG_FRIEND_MONTHS = 0x380333, - SMSG_RAID_DIFFICULTY_SET = 0x38023F, - SMSG_RAID_GROUP_ONLY = 0x380241, + SMSG_QUEUE_SUMMARY_UPDATE = 0x3802A5, + SMSG_RAF_ACCOUNT_INFO = 0x3802D3, + SMSG_RAF_ACTIVITY_STATE_CHANGED = 0x3802E4, + SMSG_RAF_DEBUG_FRIEND_MONTHS = 0x380334, + SMSG_RAID_DIFFICULTY_SET = 0x380240, + SMSG_RAID_GROUP_ONLY = 0x380242, SMSG_RAID_INSTANCE_MESSAGE = 0x3D000A, SMSG_RAID_MARKERS_CHANGED = 0x380038, SMSG_RANDOM_ROLL = 0x3800C8, @@ -1924,34 +1924,34 @@ enum OpcodeServer : uint32 SMSG_READY_CHECK_COMPLETED = 0x380090, SMSG_READY_CHECK_RESPONSE = 0x38008F, SMSG_READY_CHECK_STARTED = 0x38008E, - SMSG_READ_ITEM_RESULT_FAILED = 0x38023B, - SMSG_READ_ITEM_RESULT_OK = 0x380232, + SMSG_READ_ITEM_RESULT_FAILED = 0x38023C, + SMSG_READ_ITEM_RESULT_OK = 0x380233, SMSG_REALM_QUERY_RESPONSE = 0x3C0005, - SMSG_REATTACH_RESURRECT = 0x3801E2, + SMSG_REATTACH_RESURRECT = 0x3801E3, SMSG_RECEIVE_PING_UNIT = 0x380039, SMSG_RECEIVE_PING_WORLD_POINT = 0x38003A, - SMSG_RECRAFT_ITEM_RESULT = 0x380329, + SMSG_RECRAFT_ITEM_RESULT = 0x38032A, SMSG_RECRUIT_A_FRIEND_FAILURE = 0x38015A, SMSG_REFRESH_COMPONENT = 0x3800E9, SMSG_REGIONWIDE_CHARACTER_MAIL_DATA = 0x38001A, SMSG_REGIONWIDE_CHARACTER_RESTRICTIONS_DATA = 0x380019, SMSG_REMOVE_ITEM_PASSIVE = 0x380043, SMSG_REMOVE_SPELL_FROM_ACTION_BAR = 0x4E0043, - SMSG_REPLACE_TROPHY_RESPONSE = 0x380257, + SMSG_REPLACE_TROPHY_RESPONSE = 0x380258, SMSG_REPORT_PVP_PLAYER_AFK_RESULT = 0x4B0009, SMSG_REQUEST_CEMETERY_LIST_RESPONSE = 0x380025, SMSG_REQUEST_PVP_REWARDS_RESPONSE = 0x3E0014, SMSG_REQUEST_SCHEDULED_PVP_INFO_RESPONSE = 0x3E0015, SMSG_RESET_COMPRESSION_CONTEXT = 0x3F0007, SMSG_RESET_FAILED_NOTIFY = 0x380151, - SMSG_RESET_LAST_LOADED_CONFIG_CVARS = 0x380330, + SMSG_RESET_LAST_LOADED_CONFIG_CVARS = 0x380331, SMSG_RESET_QUEST_POI = 0x4C0020, SMSG_RESET_RANGED_COMBAT_TIMER = 0x3E0023, SMSG_RESET_WEEKLY_CURRENCY = 0x380009, SMSG_RESPEC_WIPE_CONFIRM = 0x3800AB, SMSG_RESPOND_INSPECT_ACHIEVEMENTS = 0x380006, - SMSG_RESPONSE_PERK_PENDING_REWARDS = 0x380303, - SMSG_RESPONSE_PERK_RECENT_PURCHASES = 0x380304, + SMSG_RESPONSE_PERK_PENDING_REWARDS = 0x380304, + SMSG_RESPONSE_PERK_RECENT_PURCHASES = 0x380305, SMSG_RESTART_GLOBAL_COOLDOWN = 0x4E0052, SMSG_RESTRICTED_ACCOUNT_WARNING = 0x380052, SMSG_RESUME_CAST = 0x4E002C, @@ -1960,21 +1960,21 @@ enum OpcodeServer : uint32 SMSG_RESUME_TOKEN = 0x380041, SMSG_RESURRECT_REQUEST = 0x380012, SMSG_RESYNC_RUNES = 0x4E0050, - SMSG_RETURNING_PLAYER_PROMPT = 0x38023A, - SMSG_RETURN_APPLICANT_LIST = 0x3802C8, - SMSG_RETURN_RECRUITING_CLUBS = 0x3802C7, + SMSG_RETURNING_PLAYER_PROMPT = 0x38023B, + SMSG_RETURN_APPLICANT_LIST = 0x3802C9, + SMSG_RETURN_RECRUITING_CLUBS = 0x3802C8, SMSG_ROLE_CHANGED_INFORM = 0x380021, SMSG_ROLE_CHOSEN = 0x46001D, SMSG_ROLE_POLL_INFORM = 0x380022, - SMSG_RUNEFORGE_LEGENDARY_CRAFTING_OPEN_NPC = 0x380290, + SMSG_RUNEFORGE_LEGENDARY_CRAFTING_OPEN_NPC = 0x380291, SMSG_RUNE_REGEN_DEBUG = 0x38004F, - SMSG_SCENARIO_COMPLETED = 0x38027E, + SMSG_SCENARIO_COMPLETED = 0x38027F, SMSG_SCENARIO_POIS = 0x3800CB, SMSG_SCENARIO_PROGRESS_UPDATE = 0x3800C4, - SMSG_SCENARIO_SHOW_CRITERIA = 0x380294, + SMSG_SCENARIO_SHOW_CRITERIA = 0x380295, SMSG_SCENARIO_STATE = 0x3800C3, - SMSG_SCENARIO_UI_UPDATE = 0x380293, - SMSG_SCENARIO_VACATE = 0x38023C, + SMSG_SCENARIO_UI_UPDATE = 0x380294, + SMSG_SCENARIO_VACATE = 0x38023D, SMSG_SCENE_OBJECT_EVENT = 0x38007A, SMSG_SCENE_OBJECT_PET_BATTLE_FINAL_ROUND = 0x38007F, SMSG_SCENE_OBJECT_PET_BATTLE_FINISHED = 0x380080, @@ -1995,50 +1995,50 @@ enum OpcodeServer : uint32 SMSG_SEND_UNLEARN_SPELLS = 0x4E001C, SMSG_SERVER_FIRST_ACHIEVEMENTS = 0x3800E6, SMSG_SERVER_TIME = 0x38011D, - SMSG_SERVER_TIME_OFFSET = 0x3801AD, + SMSG_SERVER_TIME_OFFSET = 0x3801AE, SMSG_SETUP_COMBAT_LOG_FILE_FLUSH = 0x4E000F, SMSG_SETUP_CURRENCY = 0x380007, - SMSG_SET_AI_ANIM_KIT = 0x3801C7, - SMSG_SET_ANIM_TIER = 0x3801CB, + SMSG_SET_AI_ANIM_KIT = 0x3801C8, + SMSG_SET_ANIM_TIER = 0x3801CC, SMSG_SET_CHR_UPGRADE_TIER = 0x380077, SMSG_SET_CURRENCY = 0x380008, SMSG_SET_DF_FAST_LAUNCH_RESULT = 0x460012, SMSG_SET_DUNGEON_DIFFICULTY = 0x38013F, SMSG_SET_FACTION_AT_WAR = 0x380199, - SMSG_SET_FACTION_NOT_VISIBLE = 0x3801C2, - SMSG_SET_FACTION_STANDING = 0x3801C3, - SMSG_SET_FACTION_VISIBLE = 0x3801C1, + SMSG_SET_FACTION_NOT_VISIBLE = 0x3801C3, + SMSG_SET_FACTION_STANDING = 0x3801C4, + SMSG_SET_FACTION_VISIBLE = 0x3801C2, SMSG_SET_FLAT_SPELL_MODIFIER = 0x4E0027, SMSG_SET_ITEM_PURCHASE_DATA = 0x380033, - SMSG_SET_LOOT_METHOD_FAILED = 0x380262, + SMSG_SET_LOOT_METHOD_FAILED = 0x380263, SMSG_SET_MAX_WEEKLY_QUANTITY = 0x380036, - SMSG_SET_MELEE_ANIM_KIT = 0x3801CA, - SMSG_SET_MOVEMENT_ANIM_KIT = 0x3801C9, + SMSG_SET_MELEE_ANIM_KIT = 0x3801CB, + SMSG_SET_MOVEMENT_ANIM_KIT = 0x3801CA, SMSG_SET_PCT_SPELL_MODIFIER = 0x4E0028, SMSG_SET_PET_SPECIALIZATION = 0x3800BD, SMSG_SET_PLAYER_DECLINED_NAMES_RESULT = 0x4B000B, SMSG_SET_PLAY_HOVER_ANIM = 0x380053, - SMSG_SET_PROFICIENCY = 0x3801CC, - SMSG_SET_QUEST_REPLAY_COOLDOWN_OVERRIDE = 0x3802DB, + SMSG_SET_PROFICIENCY = 0x3801CD, + SMSG_SET_QUEST_REPLAY_COOLDOWN_OVERRIDE = 0x3802DC, SMSG_SET_SHIPMENT_READY_RESPONSE = 0x42003A, SMSG_SET_SPELL_CHARGES = 0x4E0018, SMSG_SET_TIME_ZONE_INFORMATION = 0x380112, SMSG_SET_VEHICLE_REC_ID = 0x380190, - SMSG_SHADOWLANDS_CAPACITANCE_UPDATE = 0x380307, + SMSG_SHADOWLANDS_CAPACITANCE_UPDATE = 0x380308, SMSG_SHIPMENT_FACTION_UPDATE_RESULT = 0x42003B, - SMSG_SHOW_DELVES_COMPANION_CONFIGURATION_UI = 0x380349, - SMSG_SHOW_DELVES_DISPLAY_UI = 0x380347, + SMSG_SHOW_DELVES_COMPANION_CONFIGURATION_UI = 0x38034A, + SMSG_SHOW_DELVES_DISPLAY_UI = 0x380348, SMSG_SHOW_NEUTRAL_PLAYER_FACTION_SELECT_UI = 0x380073, SMSG_SHOW_QUEST_COMPLETION_TEXT = 0x4C0015, SMSG_SHOW_TAXI_NODES = 0x380167, - SMSG_SHOW_TRADE_SKILL_RESPONSE = 0x380208, - SMSG_SOCIAL_CONTRACT_REQUEST_RESPONSE = 0x380313, - SMSG_SOCKET_GEMS_FAILURE = 0x3801BF, - SMSG_SOCKET_GEMS_SUCCESS = 0x3801BE, + SMSG_SHOW_TRADE_SKILL_RESPONSE = 0x380209, + SMSG_SOCIAL_CONTRACT_REQUEST_RESPONSE = 0x380314, + SMSG_SOCKET_GEMS_FAILURE = 0x3801C0, + SMSG_SOCKET_GEMS_SUCCESS = 0x3801BF, SMSG_SPECIAL_MOUNT_ANIM = 0x38013A, - SMSG_SPECTATE_END = 0x380335, - SMSG_SPECTATE_PLAYER = 0x380334, - SMSG_SPEC_INVOLUNTARILY_CHANGED = 0x3801B1, + SMSG_SPECTATE_END = 0x380336, + SMSG_SPECTATE_PLAYER = 0x380335, + SMSG_SPEC_INVOLUNTARILY_CHANGED = 0x3801B2, SMSG_SPELL_ABSORB_LOG = 0x4E000C, SMSG_SPELL_CATEGORY_COOLDOWN = 0x4E0006, SMSG_SPELL_CHANNEL_START = 0x4E0022, @@ -2067,35 +2067,35 @@ enum OpcodeServer : uint32 SMSG_SPELL_PREPARE = 0x4E0029, SMSG_SPELL_START = 0x4E002B, SMSG_SPELL_VISUAL_LOAD_SCREEN = 0x380065, - SMSG_SPLASH_SCREEN_SHOW_LATEST = 0x3802ED, - SMSG_STAND_STATE_UPDATE = 0x3801B5, + SMSG_SPLASH_SCREEN_SHOW_LATEST = 0x3802EE, + SMSG_STAND_STATE_UPDATE = 0x3801B6, SMSG_STARTER_BUILD_ACTIVATE_FAILED = 0x38006B, SMSG_START_ELAPSED_TIMER = 0x38009C, SMSG_START_ELAPSED_TIMERS = 0x38009E, SMSG_START_LIGHTNING_STORM = 0x380142, SMSG_START_LOOT_ROLL = 0x3800B5, - SMSG_START_MIRROR_TIMER = 0x3801A8, + SMSG_START_MIRROR_TIMER = 0x3801A9, SMSG_START_TIMER = 0x38003D, SMSG_STOP_ELAPSED_TIMER = 0x38009D, - SMSG_STOP_MIRROR_TIMER = 0x3801AA, - SMSG_STOP_SPEAKERBOT_SOUND = 0x380204, + SMSG_STOP_MIRROR_TIMER = 0x3801AB, + SMSG_STOP_SPEAKERBOT_SOUND = 0x380205, SMSG_STOP_TIMER = 0x38003E, SMSG_STREAMING_MOVIES = 0x38003C, - SMSG_SUGGEST_INVITE_INFORM = 0x380228, + SMSG_SUGGEST_INVITE_INFORM = 0x380229, SMSG_SUMMON_CANCEL = 0x38014B, SMSG_SUMMON_RAID_MEMBER_VALIDATE_FAILED = 0x380023, - SMSG_SUMMON_REQUEST = 0x3801B9, + SMSG_SUMMON_REQUEST = 0x3801BA, SMSG_SUPERCEDED_SPELLS = 0x4E003D, SMSG_SUSPEND_COMMS = 0x3F0002, SMSG_SUSPEND_TOKEN = 0x380040, - SMSG_SYNC_WOW_ENTITLEMENTS = 0x3802E5, - SMSG_TALENTS_INVOLUNTARILY_RESET = 0x3801B0, + SMSG_SYNC_WOW_ENTITLEMENTS = 0x3802E6, + SMSG_TALENTS_INVOLUNTARILY_RESET = 0x3801B1, SMSG_TAXI_NODE_STATUS = 0x380117, SMSG_TEXT_EMOTE = 0x380115, SMSG_THREAT_CLEAR = 0x380176, SMSG_THREAT_REMOVE = 0x380175, SMSG_THREAT_UPDATE = 0x380174, - SMSG_TIMERUNNING_SEASON_ENDED = 0x38034A, + SMSG_TIMERUNNING_SEASON_ENDED = 0x38034B, SMSG_TIME_ADJUSTMENT = 0x490001, SMSG_TIME_SYNC_REQUEST = 0x490000, SMSG_TITLE_EARNED = 0x380171, @@ -2112,50 +2112,51 @@ enum OpcodeServer : uint32 SMSG_TRANSFER_ABORTED = 0x38019C, SMSG_TRANSFER_PENDING = 0x380066, SMSG_TREASURE_PICKER_RESPONSE = 0x3C0011, - SMSG_TRIGGER_CINEMATIC = 0x38025C, + SMSG_TRIGGER_CINEMATIC = 0x38025D, SMSG_TRIGGER_MOVIE = 0x380165, - SMSG_TURN_IN_PETITION_RESULT = 0x3801E5, - SMSG_TUTORIAL_FLAGS = 0x380250, - SMSG_UI_ACTION = 0x380201, + SMSG_TURN_IN_PETITION_RESULT = 0x3801E6, + SMSG_TUTORIAL_FLAGS = 0x380251, + SMSG_UI_ACTION = 0x380202, SMSG_UI_MAP_QUEST_LINES_RESPONSE = 0x4C0023, - SMSG_UNDELETE_CHARACTER_RESPONSE = 0x38025D, - SMSG_UNDELETE_COOLDOWN_STATUS_RESPONSE = 0x38025E, + SMSG_UNDELETE_CHARACTER_RESPONSE = 0x38025E, + SMSG_UNDELETE_COOLDOWN_STATUS_RESPONSE = 0x38025F, SMSG_UNLEARNED_SPELLS = 0x4E003F, SMSG_UNLOAD_CHILD_MAP = 0x38000E, - SMSG_UPDATE_AADC_STATUS_RESPONSE = 0x3802FD, + SMSG_UPDATE_AADC_STATUS_RESPONSE = 0x3802FE, SMSG_UPDATE_ACCOUNT_DATA = 0x3801A2, + SMSG_UPDATE_ACCOUNT_DATA_COMPLETE = 0x3801A3, SMSG_UPDATE_ACTION_BUTTONS = 0x380078, - SMSG_UPDATE_BNET_SESSION_KEY = 0x3802B5, + SMSG_UPDATE_BNET_SESSION_KEY = 0x3802B6, SMSG_UPDATE_CAPTURE_POINT = 0x3E0007, - SMSG_UPDATE_CELESTIAL_BODY = 0x3802B1, - SMSG_UPDATE_CHARACTER_FLAGS = 0x380256, - SMSG_UPDATE_CHARGE_CATEGORY_COOLDOWN = 0x3801FD, - SMSG_UPDATE_COOLDOWN = 0x3801FC, + SMSG_UPDATE_CELESTIAL_BODY = 0x3802B2, + SMSG_UPDATE_CHARACTER_FLAGS = 0x380257, + SMSG_UPDATE_CHARGE_CATEGORY_COOLDOWN = 0x3801FE, + SMSG_UPDATE_COOLDOWN = 0x3801FD, SMSG_UPDATE_CRAFTING_NPC_RECIPES = 0x420038, SMSG_UPDATE_DAILY_MISSION_COUNTER = 0x420021, SMSG_UPDATE_EXPANSION_LEVEL = 0x3800DE, - SMSG_UPDATE_GAME_TIME_STATE = 0x3802B8, + SMSG_UPDATE_GAME_TIME_STATE = 0x3802B9, SMSG_UPDATE_INSTANCE_OWNERSHIP = 0x380144, SMSG_UPDATE_LAST_INSTANCE = 0x380123, SMSG_UPDATE_OBJECT = 0x480000, SMSG_UPDATE_PRIMARY_SPEC = 0x380070, SMSG_UPDATE_RECENT_PLAYER_GUIDS = 0x38008D, SMSG_UPDATE_TALENT_DATA = 0x38006F, - SMSG_UPDATE_WORLD_STATE = 0x3801DF, + SMSG_UPDATE_WORLD_STATE = 0x3801E0, SMSG_USERLIST_ADD = 0x3D000F, SMSG_USERLIST_REMOVE = 0x3D0010, SMSG_USERLIST_UPDATE = 0x3D0011, - SMSG_USE_EQUIPMENT_SET_RESULT = 0x3801E6, - SMSG_VAS_CHECK_TRANSFER_OK_RESPONSE = 0x3802AC, - SMSG_VAS_GET_QUEUE_MINUTES_RESPONSE = 0x3802AA, - SMSG_VAS_GET_SERVICE_STATUS_RESPONSE = 0x3802A9, - SMSG_VAS_PURCHASE_COMPLETE = 0x380284, - SMSG_VAS_PURCHASE_STATE_UPDATE = 0x380283, + SMSG_USE_EQUIPMENT_SET_RESULT = 0x3801E7, + SMSG_VAS_CHECK_TRANSFER_OK_RESPONSE = 0x3802AD, + SMSG_VAS_GET_QUEUE_MINUTES_RESPONSE = 0x3802AB, + SMSG_VAS_GET_SERVICE_STATUS_RESPONSE = 0x3802AA, + SMSG_VAS_PURCHASE_COMPLETE = 0x380285, + SMSG_VAS_PURCHASE_STATE_UPDATE = 0x380284, SMSG_VENDOR_INVENTORY = 0x380051, SMSG_VIGNETTE_UPDATE = 0x4B0010, - SMSG_VOICE_CHANNEL_INFO_RESPONSE = 0x3802B0, - SMSG_VOICE_CHANNEL_STT_TOKEN_RESPONSE = 0x3802F8, - SMSG_VOICE_LOGIN_RESPONSE = 0x3802AF, + SMSG_VOICE_CHANNEL_INFO_RESPONSE = 0x3802B1, + SMSG_VOICE_CHANNEL_STT_TOKEN_RESPONSE = 0x3802F9, + SMSG_VOICE_LOGIN_RESPONSE = 0x3802B0, SMSG_VOID_ITEM_SWAP_RESPONSE = 0x4F0004, SMSG_VOID_STORAGE_CONTENTS = 0x4F0001, SMSG_VOID_STORAGE_FAILED = 0x4F0000, @@ -2164,31 +2165,31 @@ enum OpcodeServer : uint32 SMSG_WAIT_QUEUE_FINISH = 0x380003, SMSG_WAIT_QUEUE_UPDATE = 0x380002, SMSG_WARDEN3_DATA = 0x38000B, - SMSG_WARDEN3_DISABLED = 0x3802B3, - SMSG_WARDEN3_ENABLED = 0x3802B2, - SMSG_WARFRONT_COMPLETE = 0x3801F5, + SMSG_WARDEN3_DISABLED = 0x3802B4, + SMSG_WARDEN3_ENABLED = 0x3802B3, + SMSG_WARFRONT_COMPLETE = 0x3801F6, SMSG_WARGAME_REQUEST_OPPONENT_RESPONSE = 0x3E0012, SMSG_WARGAME_REQUEST_SUCCESSFULLY_SENT_TO_OPPONENT = 0x3E0011, SMSG_WEATHER = 0x380141, - SMSG_WEEKLY_REWARDS_PROGRESS_RESULT = 0x3802F0, - SMSG_WEEKLY_REWARDS_RESULT = 0x3802EE, - SMSG_WEEKLY_REWARD_CLAIM_RESULT = 0x3802EF, + SMSG_WEEKLY_REWARDS_PROGRESS_RESULT = 0x3802F1, + SMSG_WEEKLY_REWARDS_RESULT = 0x3802EF, + SMSG_WEEKLY_REWARD_CLAIM_RESULT = 0x3802F0, SMSG_WHO = 0x3D0002, SMSG_WHO_IS = 0x380140, - SMSG_WILL_BE_KICKED_FOR_ADDED_SUBSCRIPTION_TIME = 0x3802B7, + SMSG_WILL_BE_KICKED_FOR_ADDED_SUBSCRIPTION_TIME = 0x3802B8, SMSG_WORLD_QUEST_UPDATE_RESPONSE = 0x4B0017, SMSG_WORLD_SERVER_INFO = 0x380045, - SMSG_WOW_ENTITLEMENT_NOTIFICATION = 0x3802E6, - SMSG_WOW_LABS_AREA_INFO = 0x380318, - SMSG_WOW_LABS_NOTIFY_PLAYERS_MATCH_END = 0x380314, - SMSG_WOW_LABS_NOTIFY_PLAYERS_MATCH_STATE_CHANGED = 0x380315, - SMSG_WOW_LABS_PARTY_ERROR = 0x380321, - SMSG_WOW_LABS_SET_AREA_ID_RESULT = 0x380316, - SMSG_WOW_LABS_SET_PREDICTION_CIRCLE = 0x38031A, - SMSG_WOW_LABS_SET_SELECTED_AREA_ID = 0x380317, - SMSG_XP_AWARDED_FROM_CURRENCY = 0x38032F, + SMSG_WOW_ENTITLEMENT_NOTIFICATION = 0x3802E7, + SMSG_WOW_LABS_AREA_INFO = 0x380319, + SMSG_WOW_LABS_NOTIFY_PLAYERS_MATCH_END = 0x380315, + SMSG_WOW_LABS_NOTIFY_PLAYERS_MATCH_STATE_CHANGED = 0x380316, + SMSG_WOW_LABS_PARTY_ERROR = 0x380322, + SMSG_WOW_LABS_SET_AREA_ID_RESULT = 0x380317, + SMSG_WOW_LABS_SET_PREDICTION_CIRCLE = 0x38031B, + SMSG_WOW_LABS_SET_SELECTED_AREA_ID = 0x380318, + SMSG_XP_AWARDED_FROM_CURRENCY = 0x380330, SMSG_XP_GAIN_ABORTED = 0x380062, - SMSG_XP_GAIN_ENABLED = 0x380240, + SMSG_XP_GAIN_ENABLED = 0x380241, SMSG_ZONE_UNDER_ATTACK = 0x3D000B, // Opcodes that are not generated automatically @@ -2207,23 +2208,23 @@ inline constexpr std::ptrdiff_t GetOpcodeArrayIndex(OpcodeServer opcode) uint32 idInGroup = opcode & 0xFFFF; switch (opcode >> 16) { - case 0x38: return idInGroup < 847 ? idInGroup + 0 : -1; - case 0x39: return idInGroup < 10 ? idInGroup + 847 : -1; - case 0x3C: return idInGroup < 18 ? idInGroup + 857 : -1; - case 0x3D: return idInGroup < 36 ? idInGroup + 875 : -1; - case 0x3E: return idInGroup < 49 ? idInGroup + 911 : -1; - case 0x3F: return idInGroup < 11 ? idInGroup + 960 : -1; - case 0x40: return idInGroup < 12 ? idInGroup + 971 : -1; - case 0x42: return idInGroup < 82 ? idInGroup + 983 : -1; - case 0x44: return idInGroup < 71 ? idInGroup + 1065 : -1; - case 0x46: return idInGroup < 33 ? idInGroup + 1136 : -1; - case 0x48: return idInGroup < 1 ? idInGroup + 1169 : -1; - case 0x49: return idInGroup < 120 ? idInGroup + 1170 : -1; - case 0x4B: return idInGroup < 48 ? idInGroup + 1290 : -1; - case 0x4C: return idInGroup < 41 ? idInGroup + 1338 : -1; - case 0x4E: return idInGroup < 85 ? idInGroup + 1379 : -1; - case 0x4F: return idInGroup < 8 ? idInGroup + 1464 : -1; - case 0x51: return idInGroup < 1 ? idInGroup + 1472 : -1; + case 0x38: return idInGroup < 848 ? idInGroup + 0 : -1; + case 0x39: return idInGroup < 10 ? idInGroup + 848 : -1; + case 0x3C: return idInGroup < 18 ? idInGroup + 858 : -1; + case 0x3D: return idInGroup < 36 ? idInGroup + 876 : -1; + case 0x3E: return idInGroup < 49 ? idInGroup + 912 : -1; + case 0x3F: return idInGroup < 11 ? idInGroup + 961 : -1; + case 0x40: return idInGroup < 12 ? idInGroup + 972 : -1; + case 0x42: return idInGroup < 82 ? idInGroup + 984 : -1; + case 0x44: return idInGroup < 71 ? idInGroup + 1066 : -1; + case 0x46: return idInGroup < 33 ? idInGroup + 1137 : -1; + case 0x48: return idInGroup < 1 ? idInGroup + 1170 : -1; + case 0x49: return idInGroup < 120 ? idInGroup + 1171 : -1; + case 0x4B: return idInGroup < 48 ? idInGroup + 1291 : -1; + case 0x4C: return idInGroup < 41 ? idInGroup + 1339 : -1; + case 0x4E: return idInGroup < 85 ? idInGroup + 1380 : -1; + case 0x4F: return idInGroup < 8 ? idInGroup + 1465 : -1; + case 0x51: return idInGroup < 1 ? idInGroup + 1473 : -1; default: return -1; } } |
