aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/database/Database/Implementation/HotfixDatabase.cpp8
-rw-r--r--src/server/game/Battlegrounds/BattlegroundMgr.cpp8
-rw-r--r--src/server/game/Conditions/ConditionMgr.cpp27
-rw-r--r--src/server/game/DataStores/DB2LoadInfo.h16
-rw-r--r--src/server/game/DataStores/DB2Metadata.h150
-rw-r--r--src/server/game/DataStores/DB2Structure.h13
-rw-r--r--src/server/game/DataStores/DBCEnums.h6
-rw-r--r--src/server/game/Entities/Object/Object.cpp5
-rw-r--r--src/server/game/Entities/Object/Updates/UpdateFields.cpp423
-rw-r--r--src/server/game/Entities/Object/Updates/UpdateFields.h289
-rw-r--r--src/server/game/Entities/Player/Player.h1
-rw-r--r--src/server/game/Handlers/MiscHandler.cpp13
-rw-r--r--src/server/game/Miscellaneous/SharedDefines.h1633
-rw-r--r--src/server/game/Movement/Spline/MoveSpline.cpp16
-rw-r--r--src/server/game/Movement/Spline/MoveSpline.h2
-rw-r--r--src/server/game/Movement/Spline/MoveSplineFlag.h6
-rw-r--r--src/server/game/Movement/Spline/MoveSplineInit.cpp6
-rw-r--r--src/server/game/Movement/Spline/MoveSplineInit.h12
-rw-r--r--src/server/game/Movement/Spline/MoveSplineInitArgs.h8
-rw-r--r--src/server/game/Movement/Spline/enuminfo_MoveSplineFlag.cpp6
-rw-r--r--src/server/game/Server/Packets/AuthenticationPackets.cpp2
-rw-r--r--src/server/game/Server/Packets/AuthenticationPackets.h4
-rw-r--r--src/server/game/Server/Packets/CharacterPackets.cpp3
-rw-r--r--src/server/game/Server/Packets/CharacterPackets.h2
-rw-r--r--src/server/game/Server/Packets/ClientConfigPackets.cpp9
-rw-r--r--src/server/game/Server/Packets/ClientConfigPackets.h12
-rw-r--r--src/server/game/Server/Packets/CombatLogPacketsCommon.cpp9
-rw-r--r--src/server/game/Server/Packets/CombatLogPacketsCommon.h16
-rw-r--r--src/server/game/Server/Packets/GarrisonPackets.cpp2
-rw-r--r--src/server/game/Server/Packets/GarrisonPackets.h2
-rw-r--r--src/server/game/Server/Packets/GuildPackets.cpp5
-rw-r--r--src/server/game/Server/Packets/InstancePackets.cpp2
-rw-r--r--src/server/game/Server/Packets/MiscPackets.cpp4
-rw-r--r--src/server/game/Server/Packets/MiscPackets.h4
-rw-r--r--src/server/game/Server/Packets/MovementPackets.cpp39
-rw-r--r--src/server/game/Server/Packets/MovementPackets.h9
-rw-r--r--src/server/game/Server/Packets/PartyPackets.cpp2
-rw-r--r--src/server/game/Server/Packets/PartyPackets.h8
-rw-r--r--src/server/game/Server/Packets/SystemPackets.cpp9
-rw-r--r--src/server/game/Server/Packets/SystemPackets.h2
-rw-r--r--src/server/game/Server/Protocol/Opcodes.cpp1
-rw-r--r--src/server/game/Server/Protocol/Opcodes.h705
-rw-r--r--src/tools/map_extractor/loadlib/DBFilesClientList.h4
43 files changed, 1903 insertions, 1600 deletions
diff --git a/src/server/database/Database/Implementation/HotfixDatabase.cpp b/src/server/database/Database/Implementation/HotfixDatabase.cpp
index 24fb9700207..7e92324ec00 100644
--- a/src/server/database/Database/Implementation/HotfixDatabase.cpp
+++ b/src/server/database/Database/Implementation/HotfixDatabase.cpp
@@ -272,7 +272,7 @@ void HotfixDatabaseConnection::DoPrepareStatements()
PREPARE_MAX_ID_STMT(HOTFIX_SEL_BATTLE_PET_SPECIES_STATE, "SELECT MAX(ID) + 1 FROM battle_pet_species_state", CONNECTION_SYNCH);
// BattlemasterList.db2
- PrepareStatement(HOTFIX_SEL_BATTLEMASTER_LIST, "SELECT ID, Name, GameType, ShortDescription, LongDescription, InstanceType, MinLevel, MaxLevel, "
+ PrepareStatement(HOTFIX_SEL_BATTLEMASTER_LIST, "SELECT ID, Name, GameType, ShortDescription, LongDescription, PvpType, MinLevel, MaxLevel, "
"RatedPlayers, MinPlayers, MaxPlayers, GroupsAllowed, MaxGroupSize, HolidayWorldState, Flags, IconFileDataID, RequiredPlayerConditionID"
" FROM battlemaster_list WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
PREPARE_MAX_ID_STMT(HOTFIX_SEL_BATTLEMASTER_LIST, "SELECT MAX(ID) + 1 FROM battlemaster_list", CONNECTION_SYNCH);
@@ -463,9 +463,9 @@ void HotfixDatabaseConnection::DoPrepareStatements()
PREPARE_MAX_ID_STMT(HOTFIX_SEL_CONDITIONAL_CONTENT_TUNING, "SELECT MAX(ID) + 1 FROM conditional_content_tuning", CONNECTION_SYNCH);
// ContentTuning.db2
- PrepareStatement(HOTFIX_SEL_CONTENT_TUNING, "SELECT ID, Flags, ExpansionID, HealthItemLevelCurveID, DamageItemLevelCurveID, MinLevel, MaxLevel, "
- "MinLevelType, MaxLevelType, TargetLevelDelta, TargetLevelMaxDelta, TargetLevelMin, TargetLevelMax, MinItemLevel, QuestXpMultiplier"
- " FROM content_tuning WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
+ PrepareStatement(HOTFIX_SEL_CONTENT_TUNING, "SELECT ID, Flags, ExpansionID, HealthItemLevelCurveID, DamageItemLevelCurveID, "
+ "HealthPrimaryStatCurveID, DamagePrimaryStatCurveID, MinLevel, MaxLevel, MinLevelType, MaxLevelType, TargetLevelDelta, TargetLevelMaxDelta, "
+ "TargetLevelMin, TargetLevelMax, MinItemLevel, QuestXpMultiplier FROM content_tuning WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
PREPARE_MAX_ID_STMT(HOTFIX_SEL_CONTENT_TUNING, "SELECT MAX(ID) + 1 FROM content_tuning", CONNECTION_SYNCH);
// ContentTuningXExpected.db2
diff --git a/src/server/game/Battlegrounds/BattlegroundMgr.cpp b/src/server/game/Battlegrounds/BattlegroundMgr.cpp
index 61c0d01e2a7..ca21d466b37 100644
--- a/src/server/game/Battlegrounds/BattlegroundMgr.cpp
+++ b/src/server/game/Battlegrounds/BattlegroundMgr.cpp
@@ -34,7 +34,7 @@
bool BattlegroundTemplate::IsArena() const
{
- return BattlemasterEntry->InstanceType == MAP_ARENA;
+ return BattlemasterEntry->GetType() == BattlemasterType::Arena;
}
uint16 BattlegroundTemplate::GetMinPlayersPerTeam() const
@@ -518,13 +518,13 @@ bool BattlegroundMgr::IsValidQueueId(BattlegroundQueueTypeId bgQueueTypeId)
switch (BattlegroundQueueIdType(bgQueueTypeId.Type))
{
case BattlegroundQueueIdType::Battleground:
- if (battlemasterList->InstanceType != MAP_BATTLEGROUND)
+ if (battlemasterList->GetType() != BattlemasterType::Battleground)
return false;
if (bgQueueTypeId.TeamSize)
return false;
break;
case BattlegroundQueueIdType::Arena:
- if (battlemasterList->InstanceType != MAP_ARENA)
+ if (battlemasterList->GetType() != BattlemasterType::Arena)
return false;
if (!bgQueueTypeId.Rated)
return false;
@@ -536,7 +536,7 @@ bool BattlegroundMgr::IsValidQueueId(BattlegroundQueueTypeId bgQueueTypeId)
return false;
break;
case BattlegroundQueueIdType::ArenaSkirmish:
- if (battlemasterList->InstanceType != MAP_ARENA)
+ if (battlemasterList->GetType() != BattlemasterType::Arena)
return false;
if (!bgQueueTypeId.Rated)
return false;
diff --git a/src/server/game/Conditions/ConditionMgr.cpp b/src/server/game/Conditions/ConditionMgr.cpp
index d954214506f..a3d603474e3 100644
--- a/src/server/game/Conditions/ConditionMgr.cpp
+++ b/src/server/game/Conditions/ConditionMgr.cpp
@@ -21,6 +21,7 @@
#include "AreaTriggerDataStore.h"
#include "BattlePetMgr.h"
#include "BattlegroundScript.h"
+#include "CollectionMgr.h"
#include "Containers.h"
#include "ConversationDataStore.h"
#include "DB2Stores.h"
@@ -3062,8 +3063,32 @@ bool ConditionMgr::IsPlayerMeetingCondition(Player const* player, PlayerConditio
std::array<bool, std::tuple_size_v<decltype(condition->ItemID)>> results;
results.fill(true);
for (std::size_t i = 0; i < condition->ItemID.size(); ++i)
+ {
if (condition->ItemID[i])
- results[i] = player->GetItemCount(condition->ItemID[i], condition->ItemFlags != 0) >= condition->ItemCount[i];
+ {
+ EnumFlag<ItemSearchLocation> where = ItemSearchLocation::Equipment;
+ if ((condition->ItemFlags & 1) != 0) // include banks
+ where |= ItemSearchLocation::Bank | ItemSearchLocation::ReagentBank | ItemSearchLocation::AccountBank;
+ if ((condition->ItemFlags & 2) == 0) // ignore inventory
+ where |= ItemSearchLocation::Inventory;
+
+ uint32 foundCount = 0;
+ results[i] = !player->ForEachItem(where, [&](Item const* item)
+ {
+ if (item->GetEntry() == uint32(condition->ItemID[i]))
+ {
+ foundCount += item->GetCount();
+ if (foundCount >= condition->ItemCount[i])
+ return ItemSearchCallbackResult::Stop;
+ }
+
+ return ItemSearchCallbackResult::Continue;
+ });
+
+ if (!results[i] && condition->ItemCount[i] == 1 && sDB2Manager.IsToyItem(condition->ItemID[i]))
+ results[i] = player->GetSession()->GetCollectionMgr()->HasToy(condition->ItemID[i]);
+ }
+ }
if (!PlayerConditionLogic(condition->ItemLogic, results))
return false;
diff --git a/src/server/game/DataStores/DB2LoadInfo.h b/src/server/game/DataStores/DB2LoadInfo.h
index e903b611777..f14f8a85f97 100644
--- a/src/server/game/DataStores/DB2LoadInfo.h
+++ b/src/server/game/DataStores/DB2LoadInfo.h
@@ -733,7 +733,7 @@ struct BattlemasterListLoadInfo
{ .IsSigned = false, .Type = FT_STRING, .Name = "GameType" },
{ .IsSigned = false, .Type = FT_STRING, .Name = "ShortDescription" },
{ .IsSigned = false, .Type = FT_STRING, .Name = "LongDescription" },
- { .IsSigned = true, .Type = FT_BYTE, .Name = "InstanceType" },
+ { .IsSigned = true, .Type = FT_INT, .Name = "PvpType" },
{ .IsSigned = true, .Type = FT_BYTE, .Name = "MinLevel" },
{ .IsSigned = true, .Type = FT_BYTE, .Name = "MaxLevel" },
{ .IsSigned = true, .Type = FT_BYTE, .Name = "RatedPlayers" },
@@ -1306,13 +1306,15 @@ struct ConditionalContentTuningLoadInfo
struct ContentTuningLoadInfo
{
- static constexpr DB2FieldMeta Fields[15] =
+ static constexpr DB2FieldMeta Fields[17] =
{
{ .IsSigned = false, .Type = FT_INT, .Name = "ID" },
{ .IsSigned = true, .Type = FT_INT, .Name = "Flags" },
{ .IsSigned = true, .Type = FT_INT, .Name = "ExpansionID" },
{ .IsSigned = true, .Type = FT_INT, .Name = "HealthItemLevelCurveID" },
{ .IsSigned = true, .Type = FT_INT, .Name = "DamageItemLevelCurveID" },
+ { .IsSigned = true, .Type = FT_INT, .Name = "HealthPrimaryStatCurveID" },
+ { .IsSigned = true, .Type = FT_INT, .Name = "DamagePrimaryStatCurveID" },
{ .IsSigned = true, .Type = FT_INT, .Name = "MinLevel" },
{ .IsSigned = true, .Type = FT_INT, .Name = "MaxLevel" },
{ .IsSigned = true, .Type = FT_INT, .Name = "MinLevelType" },
@@ -1325,7 +1327,7 @@ struct ContentTuningLoadInfo
{ .IsSigned = false, .Type = FT_FLOAT, .Name = "QuestXpMultiplier" },
};
- static constexpr DB2LoadInfo Instance{ Fields, 15, &ContentTuningMeta::Instance, HOTFIX_SEL_CONTENT_TUNING };
+ static constexpr DB2LoadInfo Instance{ Fields, 17, &ContentTuningMeta::Instance, HOTFIX_SEL_CONTENT_TUNING };
};
struct ContentTuningXExpectedLoadInfo
@@ -4214,7 +4216,7 @@ struct PlayerConditionLoadInfo
{ .IsSigned = false, .Type = FT_INT, .Name = "CurrentCompletedQuestLogic" },
{ .IsSigned = false, .Type = FT_INT, .Name = "SpellLogic" },
{ .IsSigned = false, .Type = FT_INT, .Name = "ItemLogic" },
- { .IsSigned = false, .Type = FT_BYTE, .Name = "ItemFlags" },
+ { .IsSigned = true, .Type = FT_INT, .Name = "ItemFlags" },
{ .IsSigned = false, .Type = FT_INT, .Name = "AuraSpellLogic" },
{ .IsSigned = false, .Type = FT_SHORT, .Name = "WorldStateExpressionID" },
{ .IsSigned = true, .Type = FT_INT, .Name = "WeatherID" },
@@ -4627,7 +4629,7 @@ struct QuestV2LoadInfo
static constexpr DB2FieldMeta Fields[3] =
{
{ .IsSigned = false, .Type = FT_INT, .Name = "ID" },
- { .IsSigned = false, .Type = FT_SHORT, .Name = "UniqueBitFlag" },
+ { .IsSigned = true, .Type = FT_INT, .Name = "UniqueBitFlag" },
{ .IsSigned = true, .Type = FT_INT, .Name = "UiQuestDetailsTheme" },
};
@@ -5850,7 +5852,7 @@ struct TalentLoadInfo
{ .IsSigned = false, .Type = FT_INT, .Name = "ID" },
{ .IsSigned = false, .Type = FT_STRING, .Name = "Description" },
{ .IsSigned = false, .Type = FT_BYTE, .Name = "TierID" },
- { .IsSigned = false, .Type = FT_BYTE, .Name = "Flags" },
+ { .IsSigned = true, .Type = FT_INT, .Name = "Flags" },
{ .IsSigned = false, .Type = FT_BYTE, .Name = "ColumnIndex" },
{ .IsSigned = false, .Type = FT_SHORT, .Name = "TabID" },
{ .IsSigned = true, .Type = FT_BYTE, .Name = "ClassID" },
@@ -6772,7 +6774,7 @@ struct WmoAreaTableLoadInfo
{ .IsSigned = false, .Type = FT_SHORT, .Name = "IntroSound" },
{ .IsSigned = false, .Type = FT_SHORT, .Name = "UwIntroSound" },
{ .IsSigned = false, .Type = FT_SHORT, .Name = "AreaTableID" },
- { .IsSigned = false, .Type = FT_BYTE, .Name = "Flags" },
+ { .IsSigned = true, .Type = FT_INT, .Name = "Flags" },
};
static constexpr DB2LoadInfo Instance{ Fields, 15, &WMOAreaTableMeta::Instance, HOTFIX_SEL_WMO_AREA_TABLE };
diff --git a/src/server/game/DataStores/DB2Metadata.h b/src/server/game/DataStores/DB2Metadata.h
index c71bbabf68c..33da4246e1f 100644
--- a/src/server/game/DataStores/DB2Metadata.h
+++ b/src/server/game/DataStores/DB2Metadata.h
@@ -1425,6 +1425,74 @@ struct ArtifactUnlockMeta
};
};
+struct AssistedCombatMeta
+{
+ static constexpr DB2MetaField Fields[2] =
+ {
+ { .Type = FT_INT, .ArraySize = 1, .IsSigned = false },
+ { .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
+ };
+
+ static constexpr DB2Meta Instance =
+ {
+ .FileDataId = 6698666,
+ .IndexField = 0,
+ .ParentIndexField = 1,
+ .FieldCount = 2,
+ .FileFieldCount = 2,
+ .LayoutHash = 0x5A49E0BC,
+ .Fields = Fields
+ };
+};
+
+struct AssistedCombatRuleMeta
+{
+ static constexpr DB2MetaField Fields[8] =
+ {
+ { .Type = FT_INT, .ArraySize = 1, .IsSigned = false },
+ { .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
+ { .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
+ { .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
+ { .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
+ { .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
+ { .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
+ { .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
+ };
+
+ static constexpr DB2Meta Instance =
+ {
+ .FileDataId = 6698667,
+ .IndexField = 0,
+ .ParentIndexField = 7,
+ .FieldCount = 8,
+ .FileFieldCount = 7,
+ .LayoutHash = 0x43CDA4C0,
+ .Fields = Fields
+ };
+};
+
+struct AssistedCombatStepMeta
+{
+ static constexpr DB2MetaField Fields[4] =
+ {
+ { .Type = FT_INT, .ArraySize = 1, .IsSigned = false },
+ { .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
+ { .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
+ { .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
+ };
+
+ static constexpr DB2Meta Instance =
+ {
+ .FileDataId = 6698668,
+ .IndexField = 0,
+ .ParentIndexField = 2,
+ .FieldCount = 4,
+ .FileFieldCount = 4,
+ .LayoutHash = 0x89C93557,
+ .Fields = Fields
+ };
+};
+
struct AuctionHouseMeta
{
static constexpr DB2MetaField Fields[4] =
@@ -2176,7 +2244,7 @@ struct BattlemasterListMeta
{ .Type = FT_STRING, .ArraySize = 1, .IsSigned = true },
{ .Type = FT_STRING, .ArraySize = 1, .IsSigned = true },
{ .Type = FT_STRING, .ArraySize = 1, .IsSigned = true },
- { .Type = FT_BYTE, .ArraySize = 1, .IsSigned = true },
+ { .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
{ .Type = FT_BYTE, .ArraySize = 1, .IsSigned = true },
{ .Type = FT_BYTE, .ArraySize = 1, .IsSigned = true },
{ .Type = FT_BYTE, .ArraySize = 1, .IsSigned = true },
@@ -2197,7 +2265,7 @@ struct BattlemasterListMeta
.ParentIndexField = -1,
.FieldCount = 16,
.FileFieldCount = 16,
- .LayoutHash = 0x0063AE4C,
+ .LayoutHash = 0x764135B1,
.Fields = Fields
};
};
@@ -4866,7 +4934,7 @@ struct ContentRestrictionRuleSetMeta
struct ContentTuningMeta
{
- static constexpr DB2MetaField Fields[15] =
+ static constexpr DB2MetaField Fields[17] =
{
{ .Type = FT_INT, .ArraySize = 1, .IsSigned = false },
{ .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
@@ -4882,6 +4950,8 @@ struct ContentTuningMeta
{ .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
{ .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
{ .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
+ { .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
+ { .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
{ .Type = FT_FLOAT, .ArraySize = 1, .IsSigned = true },
};
@@ -4890,9 +4960,29 @@ struct ContentTuningMeta
.FileDataId = 1962930,
.IndexField = 0,
.ParentIndexField = -1,
- .FieldCount = 15,
- .FileFieldCount = 15,
- .LayoutHash = 0x7B58533B,
+ .FieldCount = 17,
+ .FileFieldCount = 17,
+ .LayoutHash = 0xCD32761B,
+ .Fields = Fields
+ };
+};
+
+struct ContentTuningXDifficultyMeta
+{
+ static constexpr DB2MetaField Fields[2] =
+ {
+ { .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
+ { .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
+ };
+
+ static constexpr DB2Meta Instance =
+ {
+ .FileDataId = 7001981,
+ .IndexField = -1,
+ .ParentIndexField = 1,
+ .FieldCount = 2,
+ .FileFieldCount = 1,
+ .LayoutHash = 0xD976173D,
.Fields = Fields
};
};
@@ -5763,7 +5853,7 @@ struct CreatureFamilyMeta
.ParentIndexField = -1,
.FieldCount = 9,
.FileFieldCount = 9,
- .LayoutHash = 0x126721A8,
+ .LayoutHash = 0x4EBC1C18,
.Fields = Fields
};
};
@@ -6505,7 +6595,7 @@ struct DifficultyMeta
.ParentIndexField = -1,
.FieldCount = 14,
.FileFieldCount = 14,
- .LayoutHash = 0x017A4F91,
+ .LayoutHash = 0x31965C41,
.Fields = Fields
};
};
@@ -7387,7 +7477,7 @@ struct GameObjectAnimGroupMemberMeta
{
{ .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
{ .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
- { .Type = FT_INT, .ArraySize = 1, .IsSigned = false },
+ { .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
{ .Type = FT_INT, .ArraySize = 1, .IsSigned = false },
};
@@ -7398,7 +7488,7 @@ struct GameObjectAnimGroupMemberMeta
.ParentIndexField = 0,
.FieldCount = 4,
.FileFieldCount = 4,
- .LayoutHash = 0xD36FC187,
+ .LayoutHash = 0xE5352F37,
.Fields = Fields
};
};
@@ -9443,7 +9533,7 @@ struct GroundEffectDoodadMeta
static constexpr DB2MetaField Fields[9] =
{
{ .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
- { .Type = FT_BYTE, .ArraySize = 1, .IsSigned = false },
+ { .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
{ .Type = FT_FLOAT, .ArraySize = 1, .IsSigned = true },
{ .Type = FT_FLOAT, .ArraySize = 1, .IsSigned = true },
{ .Type = FT_FLOAT, .ArraySize = 1, .IsSigned = true },
@@ -9460,7 +9550,7 @@ struct GroundEffectDoodadMeta
.ParentIndexField = -1,
.FieldCount = 9,
.FileFieldCount = 9,
- .LayoutHash = 0xD8C42C51,
+ .LayoutHash = 0xCFD94A21,
.Fields = Fields
};
};
@@ -12467,7 +12557,7 @@ struct LightSkyboxMeta
static constexpr DB2MetaField Fields[4] =
{
{ .Type = FT_STRING_NOT_LOCALIZED, .ArraySize = 1, .IsSigned = true },
- { .Type = FT_BYTE, .ArraySize = 1, .IsSigned = false },
+ { .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
{ .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
{ .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
};
@@ -12479,7 +12569,7 @@ struct LightSkyboxMeta
.ParentIndexField = -1,
.FieldCount = 4,
.FileFieldCount = 4,
- .LayoutHash = 0x407FEBCF,
+ .LayoutHash = 0x9D4956FF,
.Fields = Fields
};
};
@@ -13147,7 +13237,7 @@ struct MapMeta
.ParentIndexField = -1,
.FieldCount = 25,
.FileFieldCount = 25,
- .LayoutHash = 0xE0196C63,
+ .LayoutHash = 0x75863E23,
.Fields = Fields
};
};
@@ -15488,7 +15578,7 @@ struct PlayerConditionMeta
{ .Type = FT_INT, .ArraySize = 1, .IsSigned = false },
{ .Type = FT_INT, .ArraySize = 1, .IsSigned = false },
{ .Type = FT_INT, .ArraySize = 1, .IsSigned = false },
- { .Type = FT_BYTE, .ArraySize = 1, .IsSigned = false },
+ { .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
{ .Type = FT_INT, .ArraySize = 1, .IsSigned = false },
{ .Type = FT_SHORT, .ArraySize = 1, .IsSigned = false },
{ .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
@@ -15564,7 +15654,7 @@ struct PlayerConditionMeta
.ParentIndexField = -1,
.FieldCount = 86,
.FileFieldCount = 86,
- .LayoutHash = 0x91789B48,
+ .LayoutHash = 0x7A27D6F8,
.Fields = Fields
};
};
@@ -16710,7 +16800,7 @@ struct QuestV2Meta
static constexpr DB2MetaField Fields[3] =
{
{ .Type = FT_INT, .ArraySize = 1, .IsSigned = false },
- { .Type = FT_SHORT, .ArraySize = 1, .IsSigned = false },
+ { .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
{ .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
};
@@ -16721,7 +16811,7 @@ struct QuestV2Meta
.ParentIndexField = -1,
.FieldCount = 3,
.FileFieldCount = 3,
- .LayoutHash = 0x46207E09,
+ .LayoutHash = 0x1854BDB9,
.Fields = Fields
};
};
@@ -16733,7 +16823,7 @@ struct QuestV2CliTaskMeta
{ .Type = FT_LONG, .ArraySize = 1, .IsSigned = true },
{ .Type = FT_STRING, .ArraySize = 1, .IsSigned = true },
{ .Type = FT_STRING, .ArraySize = 1, .IsSigned = true },
- { .Type = FT_SHORT, .ArraySize = 1, .IsSigned = false },
+ { .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
{ .Type = FT_INT, .ArraySize = 1, .IsSigned = false },
{ .Type = FT_INT, .ArraySize = 1, .IsSigned = false },
{ .Type = FT_SHORT, .ArraySize = 1, .IsSigned = true },
@@ -16763,7 +16853,7 @@ struct QuestV2CliTaskMeta
.ParentIndexField = -1,
.FieldCount = 24,
.FileFieldCount = 24,
- .LayoutHash = 0xC8D602DB,
+ .LayoutHash = 0xC0E0D02B,
.Fields = Fields
};
};
@@ -17170,7 +17260,7 @@ struct ResistancesMeta
static constexpr DB2MetaField Fields[3] =
{
{ .Type = FT_STRING, .ArraySize = 1, .IsSigned = true },
- { .Type = FT_BYTE, .ArraySize = 1, .IsSigned = false },
+ { .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
{ .Type = FT_INT, .ArraySize = 1, .IsSigned = false },
};
@@ -17181,7 +17271,7 @@ struct ResistancesMeta
.ParentIndexField = -1,
.FieldCount = 3,
.FileFieldCount = 3,
- .LayoutHash = 0xF7AC4E26,
+ .LayoutHash = 0xED08F596,
.Fields = Fields
};
};
@@ -20670,7 +20760,7 @@ struct StationeryMeta
static constexpr DB2MetaField Fields[3] =
{
{ .Type = FT_INT, .ArraySize = 1, .IsSigned = false },
- { .Type = FT_BYTE, .ArraySize = 1, .IsSigned = false },
+ { .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
{ .Type = FT_INT, .ArraySize = 2, .IsSigned = true },
};
@@ -20681,7 +20771,7 @@ struct StationeryMeta
.ParentIndexField = -1,
.FieldCount = 3,
.FileFieldCount = 3,
- .LayoutHash = 0xF075ED96,
+ .LayoutHash = 0x071EF9E6,
.Fields = Fields
};
};
@@ -20753,7 +20843,7 @@ struct TalentMeta
{
{ .Type = FT_STRING, .ArraySize = 1, .IsSigned = true },
{ .Type = FT_BYTE, .ArraySize = 1, .IsSigned = false },
- { .Type = FT_BYTE, .ArraySize = 1, .IsSigned = false },
+ { .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
{ .Type = FT_BYTE, .ArraySize = 1, .IsSigned = false },
{ .Type = FT_SHORT, .ArraySize = 1, .IsSigned = false },
{ .Type = FT_BYTE, .ArraySize = 1, .IsSigned = true },
@@ -20774,7 +20864,7 @@ struct TalentMeta
.ParentIndexField = -1,
.FieldCount = 14,
.FileFieldCount = 14,
- .LayoutHash = 0x4D999D55,
+ .LayoutHash = 0x147B0045,
.Fields = Fields
};
};
@@ -23840,7 +23930,7 @@ struct WMOAreaTableMeta
{ .Type = FT_SHORT, .ArraySize = 1, .IsSigned = false },
{ .Type = FT_SHORT, .ArraySize = 1, .IsSigned = false },
{ .Type = FT_SHORT, .ArraySize = 1, .IsSigned = false },
- { .Type = FT_BYTE, .ArraySize = 1, .IsSigned = false },
+ { .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
};
static constexpr DB2Meta Instance =
@@ -23850,7 +23940,7 @@ struct WMOAreaTableMeta
.ParentIndexField = 2,
.FieldCount = 15,
.FileFieldCount = 15,
- .LayoutHash = 0x58247DE7,
+ .LayoutHash = 0xC5A7B977,
.Fields = Fields
};
};
@@ -24225,7 +24315,7 @@ struct WeaponImpactSoundsMeta
.ParentIndexField = -1,
.FieldCount = 7,
.FileFieldCount = 7,
- .LayoutHash = 0x21DD049D,
+ .LayoutHash = 0xA77CBD9D,
.Fields = Fields
};
};
diff --git a/src/server/game/DataStores/DB2Structure.h b/src/server/game/DataStores/DB2Structure.h
index 46e8346ca9f..bb9a5e55c43 100644
--- a/src/server/game/DataStores/DB2Structure.h
+++ b/src/server/game/DataStores/DB2Structure.h
@@ -512,7 +512,7 @@ struct BattlemasterListEntry
LocalizedString GameType;
LocalizedString ShortDescription;
LocalizedString LongDescription;
- int8 InstanceType;
+ int32 PvpType;
int8 MinLevel;
int8 MaxLevel;
int8 RatedPlayers;
@@ -525,6 +525,7 @@ struct BattlemasterListEntry
int32 IconFileDataID;
int32 RequiredPlayerConditionID;
+ BattlemasterType GetType() const { return static_cast<BattlemasterType>(PvpType); }
EnumFlag<BattlemasterListFlags> GetFlags() const { return static_cast<BattlemasterListFlags>(Flags); }
};
@@ -944,6 +945,8 @@ struct ContentTuningEntry
int32 ExpansionID;
int32 HealthItemLevelCurveID;
int32 DamageItemLevelCurveID;
+ int32 HealthPrimaryStatCurveID;
+ int32 DamagePrimaryStatCurveID;
int32 MinLevel;
int32 MaxLevel;
int32 MinLevelType;
@@ -3170,7 +3173,7 @@ struct PlayerConditionEntry
uint32 CurrentCompletedQuestLogic;
uint32 SpellLogic;
uint32 ItemLogic;
- uint8 ItemFlags;
+ int32 ItemFlags;
uint32 AuraSpellLogic;
uint16 WorldStateExpressionID;
int32 WeatherID;
@@ -3407,7 +3410,7 @@ struct QuestSortEntry
struct QuestV2Entry
{
uint32 ID;
- uint16 UniqueBitFlag;
+ int32 UniqueBitFlag;
int32 UiQuestDetailsTheme;
};
@@ -4182,7 +4185,7 @@ struct TalentEntry
uint32 ID;
LocalizedString Description;
uint8 TierID;
- uint8 Flags;
+ int32 Flags;
uint8 ColumnIndex;
uint16 TabID;
int8 ClassID;
@@ -4839,7 +4842,7 @@ struct WMOAreaTableEntry
uint16 IntroSound;
uint16 UwIntroSound;
uint16 AreaTableID;
- uint8 Flags;
+ int32 Flags;
};
struct WorldEffectEntry
diff --git a/src/server/game/DataStores/DBCEnums.h b/src/server/game/DataStores/DBCEnums.h
index b5537b643ba..951ca42004e 100644
--- a/src/server/game/DataStores/DBCEnums.h
+++ b/src/server/game/DataStores/DBCEnums.h
@@ -270,6 +270,12 @@ enum class BattlePetSpeciesFlags : int32
DEFINE_ENUM_FLAG(BattlePetSpeciesFlags);
+enum class BattlemasterType : int32
+{
+ Battleground = 0,
+ Arena = 1,
+};
+
enum class BattlemasterListFlags : uint32
{
InternalOnly = 0x01,
diff --git a/src/server/game/Entities/Object/Object.cpp b/src/server/game/Entities/Object/Object.cpp
index 058b59a3dff..9da68100476 100644
--- a/src/server/game/Entities/Object/Object.cpp
+++ b/src/server/game/Entities/Object/Object.cpp
@@ -404,10 +404,11 @@ void Object::BuildMovementUpdate(ByteBuffer* data, CreateObjectBits flags, Playe
if (HasDriveStatus)
{
- data->WriteBit(unit->m_movementInfo.driveStatus->accelerating);
- data->WriteBit(unit->m_movementInfo.driveStatus->drifting);
*data << float(unit->m_movementInfo.driveStatus->speed);
*data << float(unit->m_movementInfo.driveStatus->movementAngle);
+ data->WriteBit(unit->m_movementInfo.driveStatus->accelerating);
+ data->WriteBit(unit->m_movementInfo.driveStatus->drifting);
+ data->FlushBits();
}
*data << float(unit->GetSpeed(MOVE_WALK));
diff --git a/src/server/game/Entities/Object/Updates/UpdateFields.cpp b/src/server/game/Entities/Object/Updates/UpdateFields.cpp
index 49d9c52170b..7986d550120 100644
--- a/src/server/game/Entities/Object/Updates/UpdateFields.cpp
+++ b/src/server/game/Entities/Object/Updates/UpdateFields.cpp
@@ -4829,6 +4829,7 @@ void ActivePlayerData::WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> f
}
}
data << uint32(DailyQuestsCompleted.size());
+ data << uint32(Field_1328.size());
data << uint32(AvailableQuestLineXQuestIDs.size());
data << uint32(Heirlooms.size());
data << uint32(HeirloomFlags.size());
@@ -4889,6 +4890,10 @@ void ActivePlayerData::WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> f
{
data << int32(DailyQuestsCompleted[i]);
}
+ for (uint32 i = 0; i < Field_1328.size(); ++i)
+ {
+ data << int32(Field_1328[i]);
+ }
for (uint32 i = 0; i < AvailableQuestLineXQuestIDs.size(); ++i)
{
data << int32(AvailableQuestLineXQuestIDs[i]);
@@ -5108,11 +5113,11 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo
WriteCompleteDynamicFieldUpdateMask(PvpInfo.size(), data);
}
}
- if (changesMask[41])
+ if (changesMask[42])
{
for (uint32 i = 0; i < 1; ++i)
{
- if (changesMask[42])
+ if (changesMask[43])
{
if (!ignoreNestedChangesMask)
ResearchSites[i].WriteUpdateMask(data);
@@ -5121,11 +5126,11 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo
}
}
}
- if (changesMask[43])
+ if (changesMask[44])
{
for (uint32 i = 0; i < 1; ++i)
{
- if (changesMask[44])
+ if (changesMask[45])
{
if (!ignoreNestedChangesMask)
ResearchSiteProgress[i].WriteUpdateMask(data);
@@ -5134,11 +5139,11 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo
}
}
}
- if (changesMask[45])
+ if (changesMask[46])
{
for (uint32 i = 0; i < 1; ++i)
{
- if (changesMask[46])
+ if (changesMask[47])
{
if (!ignoreNestedChangesMask)
Research[i].WriteUpdateMask(data);
@@ -5147,11 +5152,11 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo
}
}
}
- if (changesMask[41])
+ if (changesMask[42])
{
for (uint32 i = 0; i < 1; ++i)
{
- if (changesMask[42])
+ if (changesMask[43])
{
for (uint32 j = 0; j < ResearchSites[i].size(); ++j)
{
@@ -5163,11 +5168,11 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo
}
}
}
- if (changesMask[43])
+ if (changesMask[44])
{
for (uint32 i = 0; i < 1; ++i)
{
- if (changesMask[44])
+ if (changesMask[45])
{
for (uint32 j = 0; j < ResearchSiteProgress[i].size(); ++j)
{
@@ -5179,11 +5184,11 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo
}
}
}
- if (changesMask[45])
+ if (changesMask[46])
{
for (uint32 i = 0; i < 1; ++i)
{
- if (changesMask[46])
+ if (changesMask[47])
{
for (uint32 j = 0; j < Research[i].size(); ++j)
{
@@ -5208,189 +5213,196 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo
if (changesMask[12])
{
if (!ignoreNestedChangesMask)
+ Field_1328.WriteUpdateMask(data);
+ else
+ WriteCompleteDynamicFieldUpdateMask(Field_1328.size(), data);
+ }
+ if (changesMask[13])
+ {
+ if (!ignoreNestedChangesMask)
AvailableQuestLineXQuestIDs.WriteUpdateMask(data);
else
WriteCompleteDynamicFieldUpdateMask(AvailableQuestLineXQuestIDs.size(), data);
}
- if (changesMask[13])
+ if (changesMask[14])
{
if (!ignoreNestedChangesMask)
Heirlooms.WriteUpdateMask(data);
else
WriteCompleteDynamicFieldUpdateMask(Heirlooms.size(), data);
}
- if (changesMask[14])
+ if (changesMask[15])
{
if (!ignoreNestedChangesMask)
HeirloomFlags.WriteUpdateMask(data);
else
WriteCompleteDynamicFieldUpdateMask(HeirloomFlags.size(), data);
}
- if (changesMask[15])
+ if (changesMask[16])
{
if (!ignoreNestedChangesMask)
Toys.WriteUpdateMask(data);
else
WriteCompleteDynamicFieldUpdateMask(Toys.size(), data);
}
- if (changesMask[16])
+ if (changesMask[17])
{
if (!ignoreNestedChangesMask)
ToyFlags.WriteUpdateMask(data);
else
WriteCompleteDynamicFieldUpdateMask(ToyFlags.size(), data);
}
- if (changesMask[17])
+ if (changesMask[18])
{
if (!ignoreNestedChangesMask)
Transmog.WriteUpdateMask(data);
else
WriteCompleteDynamicFieldUpdateMask(Transmog.size(), data);
}
- if (changesMask[18])
+ if (changesMask[19])
{
if (!ignoreNestedChangesMask)
ConditionalTransmog.WriteUpdateMask(data);
else
WriteCompleteDynamicFieldUpdateMask(ConditionalTransmog.size(), data);
}
- if (changesMask[19])
+ if (changesMask[20])
{
if (!ignoreNestedChangesMask)
SelfResSpells.WriteUpdateMask(data);
else
WriteCompleteDynamicFieldUpdateMask(SelfResSpells.size(), data);
}
- if (changesMask[20])
+ if (changesMask[21])
{
if (!ignoreNestedChangesMask)
RuneforgePowers.WriteUpdateMask(data);
else
WriteCompleteDynamicFieldUpdateMask(RuneforgePowers.size(), data);
}
- if (changesMask[21])
+ if (changesMask[22])
{
if (!ignoreNestedChangesMask)
TransmogIllusions.WriteUpdateMask(data);
else
WriteCompleteDynamicFieldUpdateMask(TransmogIllusions.size(), data);
}
- if (changesMask[22])
+ if (changesMask[23])
{
if (!ignoreNestedChangesMask)
WarbandScenes.WriteUpdateMask(data);
else
WriteCompleteDynamicFieldUpdateMask(WarbandScenes.size(), data);
}
- if (changesMask[23])
+ if (changesMask[24])
{
if (!ignoreNestedChangesMask)
CharacterRestrictions.WriteUpdateMask(data);
else
WriteCompleteDynamicFieldUpdateMask(CharacterRestrictions.size(), data);
}
- if (changesMask[24])
+ if (changesMask[25])
{
if (!ignoreNestedChangesMask)
SpellPctModByLabel.WriteUpdateMask(data);
else
WriteCompleteDynamicFieldUpdateMask(SpellPctModByLabel.size(), data);
}
- if (changesMask[25])
+ if (changesMask[26])
{
if (!ignoreNestedChangesMask)
SpellFlatModByLabel.WriteUpdateMask(data);
else
WriteCompleteDynamicFieldUpdateMask(SpellFlatModByLabel.size(), data);
}
- if (changesMask[26])
+ if (changesMask[27])
{
if (!ignoreNestedChangesMask)
MawPowers.WriteUpdateMask(data);
else
WriteCompleteDynamicFieldUpdateMask(MawPowers.size(), data);
}
- if (changesMask[27])
+ if (changesMask[28])
{
if (!ignoreNestedChangesMask)
MultiFloorExploration.WriteUpdateMask(data);
else
WriteCompleteDynamicFieldUpdateMask(MultiFloorExploration.size(), data);
}
- if (changesMask[28])
+ if (changesMask[29])
{
if (!ignoreNestedChangesMask)
RecipeProgression.WriteUpdateMask(data);
else
WriteCompleteDynamicFieldUpdateMask(RecipeProgression.size(), data);
}
- if (changesMask[29])
+ if (changesMask[30])
{
if (!ignoreNestedChangesMask)
ReplayedQuests.WriteUpdateMask(data);
else
WriteCompleteDynamicFieldUpdateMask(ReplayedQuests.size(), data);
}
- if (changesMask[30])
+ if (changesMask[31])
{
if (!ignoreNestedChangesMask)
TaskQuests.WriteUpdateMask(data);
else
WriteCompleteDynamicFieldUpdateMask(TaskQuests.size(), data);
}
- if (changesMask[31])
+ }
+ if (changesMask[32])
+ {
+ if (changesMask[33])
{
if (!ignoreNestedChangesMask)
DisabledSpells.WriteUpdateMask(data);
else
WriteCompleteDynamicFieldUpdateMask(DisabledSpells.size(), data);
}
- }
- if (changesMask[32])
- {
- if (changesMask[33])
+ if (changesMask[34])
{
if (!ignoreNestedChangesMask)
TraitConfigs.WriteUpdateMask(data);
else
WriteCompleteDynamicFieldUpdateMask(TraitConfigs.size(), data);
}
- if (changesMask[34])
+ if (changesMask[35])
{
if (!ignoreNestedChangesMask)
CraftingOrders.WriteUpdateMask(data);
else
WriteCompleteDynamicFieldUpdateMask(CraftingOrders.size(), data);
}
- if (changesMask[35])
+ if (changesMask[36])
{
if (!ignoreNestedChangesMask)
PersonalCraftingOrderCounts.WriteUpdateMask(data);
else
WriteCompleteDynamicFieldUpdateMask(PersonalCraftingOrderCounts.size(), data);
}
- if (changesMask[36])
+ if (changesMask[37])
{
if (!ignoreNestedChangesMask)
NpcCraftingOrders.WriteUpdateMask(data);
else
WriteCompleteDynamicFieldUpdateMask(NpcCraftingOrders.size(), data);
}
- if (changesMask[37])
+ if (changesMask[38])
{
if (!ignoreNestedChangesMask)
CategoryCooldownMods.WriteUpdateMask(data);
else
WriteCompleteDynamicFieldUpdateMask(CategoryCooldownMods.size(), data);
}
- if (changesMask[38])
+ if (changesMask[39])
{
if (!ignoreNestedChangesMask)
WeeklySpellUses.WriteUpdateMask(data);
else
WriteCompleteDynamicFieldUpdateMask(WeeklySpellUses.size(), data);
}
- if (changesMask[39])
+ if (changesMask[40])
{
if (!ignoreNestedChangesMask)
TrackedCollectableSources.WriteUpdateMask(data);
@@ -5443,6 +5455,16 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo
}
if (changesMask[12])
{
+ for (uint32 i = 0; i < Field_1328.size(); ++i)
+ {
+ if (Field_1328.HasChanged(i) || ignoreNestedChangesMask)
+ {
+ data << int32(Field_1328[i]);
+ }
+ }
+ }
+ if (changesMask[13])
+ {
for (uint32 i = 0; i < AvailableQuestLineXQuestIDs.size(); ++i)
{
if (AvailableQuestLineXQuestIDs.HasChanged(i) || ignoreNestedChangesMask)
@@ -5451,7 +5473,7 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo
}
}
}
- if (changesMask[13])
+ if (changesMask[14])
{
for (uint32 i = 0; i < Heirlooms.size(); ++i)
{
@@ -5461,7 +5483,7 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo
}
}
}
- if (changesMask[14])
+ if (changesMask[15])
{
for (uint32 i = 0; i < HeirloomFlags.size(); ++i)
{
@@ -5471,7 +5493,7 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo
}
}
}
- if (changesMask[15])
+ if (changesMask[16])
{
for (uint32 i = 0; i < Toys.size(); ++i)
{
@@ -5481,7 +5503,7 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo
}
}
}
- if (changesMask[16])
+ if (changesMask[17])
{
for (uint32 i = 0; i < ToyFlags.size(); ++i)
{
@@ -5491,7 +5513,7 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo
}
}
}
- if (changesMask[17])
+ if (changesMask[18])
{
for (uint32 i = 0; i < Transmog.size(); ++i)
{
@@ -5501,7 +5523,7 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo
}
}
}
- if (changesMask[18])
+ if (changesMask[19])
{
for (uint32 i = 0; i < ConditionalTransmog.size(); ++i)
{
@@ -5511,7 +5533,7 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo
}
}
}
- if (changesMask[19])
+ if (changesMask[20])
{
for (uint32 i = 0; i < SelfResSpells.size(); ++i)
{
@@ -5521,7 +5543,7 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo
}
}
}
- if (changesMask[20])
+ if (changesMask[21])
{
for (uint32 i = 0; i < RuneforgePowers.size(); ++i)
{
@@ -5531,7 +5553,7 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo
}
}
}
- if (changesMask[21])
+ if (changesMask[22])
{
for (uint32 i = 0; i < TransmogIllusions.size(); ++i)
{
@@ -5541,7 +5563,7 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo
}
}
}
- if (changesMask[22])
+ if (changesMask[23])
{
for (uint32 i = 0; i < WarbandScenes.size(); ++i)
{
@@ -5551,7 +5573,7 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo
}
}
}
- if (changesMask[24])
+ if (changesMask[25])
{
for (uint32 i = 0; i < SpellPctModByLabel.size(); ++i)
{
@@ -5561,7 +5583,7 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo
}
}
}
- if (changesMask[25])
+ if (changesMask[26])
{
for (uint32 i = 0; i < SpellFlatModByLabel.size(); ++i)
{
@@ -5571,7 +5593,7 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo
}
}
}
- if (changesMask[26])
+ if (changesMask[27])
{
for (uint32 i = 0; i < MawPowers.size(); ++i)
{
@@ -5581,7 +5603,7 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo
}
}
}
- if (changesMask[27])
+ if (changesMask[28])
{
for (uint32 i = 0; i < MultiFloorExploration.size(); ++i)
{
@@ -5591,7 +5613,7 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo
}
}
}
- if (changesMask[28])
+ if (changesMask[29])
{
for (uint32 i = 0; i < RecipeProgression.size(); ++i)
{
@@ -5601,7 +5623,7 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo
}
}
}
- if (changesMask[29])
+ if (changesMask[30])
{
for (uint32 i = 0; i < ReplayedQuests.size(); ++i)
{
@@ -5611,7 +5633,7 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo
}
}
}
- if (changesMask[30])
+ if (changesMask[31])
{
for (uint32 i = 0; i < TaskQuests.size(); ++i)
{
@@ -5621,7 +5643,10 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo
}
}
}
- if (changesMask[31])
+ }
+ if (changesMask[32])
+ {
+ if (changesMask[33])
{
for (uint32 i = 0; i < DisabledSpells.size(); ++i)
{
@@ -5631,10 +5656,7 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo
}
}
}
- }
- if (changesMask[32])
- {
- if (changesMask[35])
+ if (changesMask[36])
{
for (uint32 i = 0; i < PersonalCraftingOrderCounts.size(); ++i)
{
@@ -5644,7 +5666,7 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo
}
}
}
- if (changesMask[36])
+ if (changesMask[37])
{
for (uint32 i = 0; i < NpcCraftingOrders.size(); ++i)
{
@@ -5654,7 +5676,7 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo
}
}
}
- if (changesMask[37])
+ if (changesMask[38])
{
for (uint32 i = 0; i < CategoryCooldownMods.size(); ++i)
{
@@ -5664,7 +5686,7 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo
}
}
}
- if (changesMask[38])
+ if (changesMask[39])
{
for (uint32 i = 0; i < WeeklySpellUses.size(); ++i)
{
@@ -5674,7 +5696,7 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo
}
}
}
- if (changesMask[39])
+ if (changesMask[40])
{
for (uint32 i = 0; i < TrackedCollectableSources.size(); ++i)
{
@@ -5684,7 +5706,7 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo
}
}
}
- if (changesMask[40])
+ if (changesMask[41])
{
if (!ignoreNestedChangesMask)
AccountBankTabSettings.WriteUpdateMask(data, 3);
@@ -5704,7 +5726,7 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo
}
}
}
- if (changesMask[23])
+ if (changesMask[24])
{
for (uint32 i = 0; i < CharacterRestrictions.size(); ++i)
{
@@ -5717,7 +5739,7 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo
}
if (changesMask[32])
{
- if (changesMask[33])
+ if (changesMask[34])
{
for (uint32 i = 0; i < TraitConfigs.size(); ++i)
{
@@ -5727,7 +5749,7 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo
}
}
}
- if (changesMask[34])
+ if (changesMask[35])
{
for (uint32 i = 0; i < CraftingOrders.size(); ++i)
{
@@ -5737,7 +5759,7 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo
}
}
}
- if (changesMask[40])
+ if (changesMask[41])
{
for (uint32 i = 0; i < AccountBankTabSettings.size(); ++i)
{
@@ -5747,364 +5769,364 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo
}
}
}
- if (changesMask[47])
- {
- data << *FarsightObject;
- }
if (changesMask[48])
{
- data << *SummonedBattlePetGUID;
+ data << *FarsightObject;
}
if (changesMask[49])
{
- data << uint64(Coinage);
+ data << *SummonedBattlePetGUID;
}
if (changesMask[50])
{
- data << uint64(AccountBankCoinage);
+ data << uint64(Coinage);
}
if (changesMask[51])
{
- data << int32(XP);
+ data << uint64(AccountBankCoinage);
}
if (changesMask[52])
{
- data << int32(NextLevelXP);
+ data << int32(XP);
}
if (changesMask[53])
{
- data << int32(TrialXP);
+ data << int32(NextLevelXP);
}
if (changesMask[54])
{
- Skill->WriteUpdate(data, ignoreNestedChangesMask, owner, receiver);
+ data << int32(TrialXP);
}
if (changesMask[55])
{
- data << int32(CharacterPoints);
+ Skill->WriteUpdate(data, ignoreNestedChangesMask, owner, receiver);
}
if (changesMask[56])
{
- data << int32(MaxTalentTiers);
+ data << int32(CharacterPoints);
}
if (changesMask[57])
{
- data << uint32(TrackCreatureMask);
+ data << int32(MaxTalentTiers);
}
if (changesMask[58])
{
- data << float(MainhandExpertise);
+ data << uint32(TrackCreatureMask);
}
if (changesMask[59])
{
- data << float(OffhandExpertise);
+ data << float(MainhandExpertise);
}
if (changesMask[60])
{
- data << float(RangedExpertise);
+ data << float(OffhandExpertise);
}
if (changesMask[61])
{
- data << float(CombatRatingExpertise);
+ data << float(RangedExpertise);
}
if (changesMask[62])
{
- data << float(BlockPercentage);
+ data << float(CombatRatingExpertise);
}
if (changesMask[63])
{
- data << float(DodgePercentage);
+ data << float(BlockPercentage);
}
if (changesMask[64])
{
- data << float(DodgePercentageFromAttribute);
+ data << float(DodgePercentage);
}
if (changesMask[65])
{
- data << float(ParryPercentage);
+ data << float(DodgePercentageFromAttribute);
}
if (changesMask[66])
{
- data << float(ParryPercentageFromAttribute);
+ data << float(ParryPercentage);
}
if (changesMask[67])
{
- data << float(CritPercentage);
+ data << float(ParryPercentageFromAttribute);
}
if (changesMask[68])
{
- data << float(RangedCritPercentage);
+ data << float(CritPercentage);
}
if (changesMask[69])
{
- data << float(OffhandCritPercentage);
+ data << float(RangedCritPercentage);
}
}
if (changesMask[70])
{
if (changesMask[71])
{
- data << float(SpellCritPercentage);
+ data << float(OffhandCritPercentage);
}
if (changesMask[72])
{
- data << int32(ShieldBlock);
+ data << float(SpellCritPercentage);
}
if (changesMask[73])
{
- data << float(ShieldBlockCritPercentage);
+ data << int32(ShieldBlock);
}
if (changesMask[74])
{
- data << float(Mastery);
+ data << float(ShieldBlockCritPercentage);
}
if (changesMask[75])
{
- data << float(Speed);
+ data << float(Mastery);
}
if (changesMask[76])
{
- data << float(Avoidance);
+ data << float(Speed);
}
if (changesMask[77])
{
- data << float(Sturdiness);
+ data << float(Avoidance);
}
if (changesMask[78])
{
- data << int32(Versatility);
+ data << float(Sturdiness);
}
if (changesMask[79])
{
- data << float(VersatilityBonus);
+ data << int32(Versatility);
}
if (changesMask[80])
{
- data << float(PvpPowerDamage);
+ data << float(VersatilityBonus);
}
if (changesMask[81])
{
- data << float(PvpPowerHealing);
+ data << float(PvpPowerDamage);
}
if (changesMask[82])
{
- BitVectors->WriteUpdate(data, ignoreNestedChangesMask, owner, receiver);
+ data << float(PvpPowerHealing);
}
if (changesMask[83])
{
- data << int32(ModHealingDonePos);
+ BitVectors->WriteUpdate(data, ignoreNestedChangesMask, owner, receiver);
}
if (changesMask[84])
{
- data << float(ModHealingPercent);
+ data << int32(ModHealingDonePos);
}
if (changesMask[85])
{
- data << float(ModPeriodicHealingDonePercent);
+ data << float(ModHealingPercent);
}
if (changesMask[86])
{
- data << float(ModSpellPowerPercent);
+ data << float(ModPeriodicHealingDonePercent);
}
if (changesMask[87])
{
- data << float(ModResiliencePercent);
+ data << float(ModSpellPowerPercent);
}
if (changesMask[88])
{
- data << float(OverrideSpellPowerByAPPercent);
+ data << float(ModResiliencePercent);
}
if (changesMask[89])
{
- data << float(OverrideAPBySpellPowerPercent);
+ data << float(OverrideSpellPowerByAPPercent);
}
if (changesMask[90])
{
- data << int32(ModTargetResistance);
+ data << float(OverrideAPBySpellPowerPercent);
}
if (changesMask[91])
{
- data << int32(ModTargetPhysicalResistance);
+ data << int32(ModTargetResistance);
}
if (changesMask[92])
{
- data << uint32(LocalFlags);
+ data << int32(ModTargetPhysicalResistance);
}
if (changesMask[93])
{
- data << uint8(GrantableLevels);
+ data << uint32(LocalFlags);
}
if (changesMask[94])
{
- data << uint8(MultiActionBars);
+ data << uint8(GrantableLevels);
}
if (changesMask[95])
{
- data << uint8(LifetimeMaxRank);
+ data << uint8(MultiActionBars);
}
if (changesMask[96])
{
- data << uint8(NumRespecs);
+ data << uint8(LifetimeMaxRank);
}
if (changesMask[97])
{
- data << uint32(PvpMedals);
+ data << uint8(NumRespecs);
}
if (changesMask[98])
{
- data << uint16(TodayHonorableKills);
+ data << uint32(PvpMedals);
}
if (changesMask[99])
{
- data << uint16(YesterdayHonorableKills);
+ data << uint16(TodayHonorableKills);
}
if (changesMask[100])
{
- data << uint32(LifetimeHonorableKills);
+ data << uint16(YesterdayHonorableKills);
}
if (changesMask[101])
{
- data << int32(WatchedFactionIndex);
+ data << uint32(LifetimeHonorableKills);
}
}
if (changesMask[102])
{
if (changesMask[103])
{
- data << int32(MaxLevel);
+ data << int32(WatchedFactionIndex);
}
if (changesMask[104])
{
- data << int32(ScalingPlayerLevelDelta);
+ data << int32(MaxLevel);
}
if (changesMask[105])
{
- data << int32(MaxCreatureScalingLevel);
+ data << int32(ScalingPlayerLevelDelta);
}
if (changesMask[106])
{
- data << int32(PetSpellPower);
+ data << int32(MaxCreatureScalingLevel);
}
if (changesMask[107])
{
- data << float(UiHitModifier);
+ data << int32(PetSpellPower);
}
if (changesMask[108])
{
- data << float(UiSpellHitModifier);
+ data << float(UiHitModifier);
}
if (changesMask[109])
{
- data << int32(HomeRealmTimeOffset);
+ data << float(UiSpellHitModifier);
}
if (changesMask[110])
{
- data << float(ModPetHaste);
+ data << int32(HomeRealmTimeOffset);
}
if (changesMask[111])
{
- data << int8(JailersTowerLevelMax);
+ data << float(ModPetHaste);
}
if (changesMask[112])
{
- data << int8(JailersTowerLevel);
+ data << int8(JailersTowerLevelMax);
}
if (changesMask[113])
{
- data << uint8(LocalRegenFlags);
+ data << int8(JailersTowerLevel);
}
if (changesMask[114])
{
- data << uint8(AuraVision);
+ data << uint8(LocalRegenFlags);
}
if (changesMask[115])
{
- data << uint8(NumBackpackSlots);
+ data << uint8(AuraVision);
}
if (changesMask[116])
{
- data << int32(OverrideSpellsID);
+ data << uint8(NumBackpackSlots);
}
if (changesMask[117])
{
- data << uint16(LootSpecID);
+ data << int32(OverrideSpellsID);
}
if (changesMask[118])
{
- data << uint32(OverrideZonePVPType);
+ data << uint16(LootSpecID);
}
if (changesMask[119])
{
- data << int32(Honor);
+ data << uint32(OverrideZonePVPType);
}
if (changesMask[120])
{
- data << int32(HonorNextLevel);
+ data << int32(Honor);
}
if (changesMask[121])
{
- data << int32(PerksProgramCurrency);
+ data << int32(HonorNextLevel);
}
if (changesMask[122])
{
- data << uint8(NumBankSlots);
+ data << int32(PerksProgramCurrency);
}
if (changesMask[123])
{
+ data << uint8(NumBankSlots);
+ }
+ if (changesMask[124])
+ {
data << uint8(NumAccountBankTabs);
}
- if (changesMask[128])
+ if (changesMask[129])
{
data << int32(UiChromieTimeExpansionID);
}
- if (changesMask[129])
+ if (changesMask[130])
{
data << int32(TimerunningSeasonID);
}
- if (changesMask[130])
+ if (changesMask[131])
{
data << int32(TransportServerTime);
}
- if (changesMask[131])
+ if (changesMask[132])
{
data << uint32(WeeklyRewardsPeriodSinceOrigin);
}
- if (changesMask[132])
+ if (changesMask[133])
{
data << int16(DEBUGSoulbindConduitRank);
}
}
if (changesMask[134])
{
- if (changesMask[135])
+ if (changesMask[136])
{
data << uint32(ActiveCombatTraitConfigID);
}
- if (changesMask[136])
+ if (changesMask[137])
{
data << int32(ItemUpgradeHighOnehandWeaponItemID);
}
- if (changesMask[137])
+ if (changesMask[138])
{
data << int32(ItemUpgradeHighFingerItemID);
}
- if (changesMask[138])
+ if (changesMask[139])
{
data << float(ItemUpgradeHighFingerWatermark);
}
- if (changesMask[139])
+ if (changesMask[140])
{
data << int32(ItemUpgradeHighTrinketItemID);
}
- if (changesMask[140])
+ if (changesMask[141])
{
data << float(ItemUpgradeHighTrinketWatermark);
}
- if (changesMask[141])
+ if (changesMask[142])
{
data << uint64(LootHistoryInstanceID);
}
- if (changesMask[143])
+ if (changesMask[144])
{
data << uint8(RequiredMountCapabilityFlags);
}
@@ -6122,47 +6144,47 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo
data.FlushBits();
if (changesMask[102])
{
- if (changesMask[124])
+ if (changesMask[125])
{
ResearchHistory->WriteUpdate(data, ignoreNestedChangesMask, owner, receiver);
}
- if (changesMask[126])
+ if (changesMask[127])
{
if (QuestSession.has_value())
{
QuestSession->WriteUpdate(data, ignoreNestedChangesMask, owner, receiver);
}
}
- if (changesMask[125])
+ if (changesMask[126])
{
data << *FrozenPerksVendorItem;
}
- if (changesMask[127])
+ if (changesMask[128])
{
Field_1410->WriteUpdate(data, ignoreNestedChangesMask, owner, receiver);
}
- if (changesMask[133])
- {
- data << *DungeonScore;
- }
}
if (changesMask[134])
{
- if (changesMask[142])
+ if (changesMask[135])
+ {
+ data << *DungeonScore;
+ }
+ if (changesMask[143])
{
if (PetStable.has_value())
{
PetStable->WriteUpdate(data, ignoreNestedChangesMask, owner, receiver);
}
}
- if (changesMask[144])
+ if (changesMask[145])
{
if (WalkInData.has_value())
{
WalkInData->WriteUpdate(data, ignoreNestedChangesMask, owner, receiver);
}
}
- if (changesMask[145])
+ if (changesMask[146])
{
if (DelveData.has_value())
{
@@ -6170,131 +6192,131 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo
}
}
}
- if (changesMask[146])
+ if (changesMask[147])
{
for (uint32 i = 0; i < 232; ++i)
{
- if (changesMask[147 + i])
+ if (changesMask[148 + i])
{
data << InvSlots[i];
}
}
}
- if (changesMask[379])
+ if (changesMask[380])
{
for (uint32 i = 0; i < 2; ++i)
{
- if (changesMask[380 + i])
+ if (changesMask[381 + i])
{
RestInfo[i].WriteUpdate(data, ignoreNestedChangesMask, owner, receiver);
}
}
}
- if (changesMask[382])
+ if (changesMask[383])
{
for (uint32 i = 0; i < 7; ++i)
{
- if (changesMask[383 + i])
+ if (changesMask[384 + i])
{
data << int32(ModDamageDonePos[i]);
}
- if (changesMask[390 + i])
+ if (changesMask[391 + i])
{
data << int32(ModDamageDoneNeg[i]);
}
- if (changesMask[397 + i])
+ if (changesMask[398 + i])
{
data << float(ModDamageDonePercent[i]);
}
- if (changesMask[404 + i])
+ if (changesMask[405 + i])
{
data << float(ModHealingDonePercent[i]);
}
}
}
- if (changesMask[411])
+ if (changesMask[412])
{
for (uint32 i = 0; i < 3; ++i)
{
- if (changesMask[412 + i])
+ if (changesMask[413 + i])
{
data << float(WeaponDmgMultipliers[i]);
}
- if (changesMask[415 + i])
+ if (changesMask[416 + i])
{
data << float(WeaponAtkSpeedMultipliers[i]);
}
}
}
- if (changesMask[418])
+ if (changesMask[419])
{
for (uint32 i = 0; i < 12; ++i)
{
- if (changesMask[419 + i])
+ if (changesMask[420 + i])
{
data << uint32(BuybackPrice[i]);
}
- if (changesMask[431 + i])
+ if (changesMask[432 + i])
{
data << int64(BuybackTimestamp[i]);
}
}
}
- if (changesMask[443])
+ if (changesMask[444])
{
for (uint32 i = 0; i < 32; ++i)
{
- if (changesMask[444 + i])
+ if (changesMask[445 + i])
{
data << int32(CombatRatings[i]);
}
}
}
- if (changesMask[476])
+ if (changesMask[477])
{
for (uint32 i = 0; i < 4; ++i)
{
- if (changesMask[477 + i])
+ if (changesMask[478 + i])
{
data << uint32(NoReagentCostMask[i]);
}
}
}
- if (changesMask[481])
+ if (changesMask[482])
{
for (uint32 i = 0; i < 2; ++i)
{
- if (changesMask[482 + i])
+ if (changesMask[483 + i])
{
data << int32(ProfessionSkillLine[i]);
}
}
}
- if (changesMask[484])
+ if (changesMask[485])
{
for (uint32 i = 0; i < 5; ++i)
{
- if (changesMask[485 + i])
+ if (changesMask[486 + i])
{
data << uint32(BagSlotFlags[i]);
}
}
}
- if (changesMask[490])
+ if (changesMask[491])
{
for (uint32 i = 0; i < 7; ++i)
{
- if (changesMask[491 + i])
+ if (changesMask[492 + i])
{
data << uint32(BankBagSlotFlags[i]);
}
}
}
- if (changesMask[498])
+ if (changesMask[499])
{
for (uint32 i = 0; i < 17; ++i)
{
- if (changesMask[499 + i])
+ if (changesMask[500 + i])
{
data << float(ItemUpgradeHighWatermark[i]);
}
@@ -6318,6 +6340,7 @@ void ActivePlayerData::ClearChangesMask()
Base::ClearChangesMask(CharacterDataElements);
Base::ClearChangesMask(AccountDataElements);
Base::ClearChangesMask(DailyQuestsCompleted);
+ Base::ClearChangesMask(Field_1328);
Base::ClearChangesMask(AvailableQuestLineXQuestIDs);
Base::ClearChangesMask(Heirlooms);
Base::ClearChangesMask(HeirloomFlags);
diff --git a/src/server/game/Entities/Object/Updates/UpdateFields.h b/src/server/game/Entities/Object/Updates/UpdateFields.h
index d394afda2d9..853fc374f76 100644
--- a/src/server/game/Entities/Object/Updates/UpdateFields.h
+++ b/src/server/game/Entities/Object/Updates/UpdateFields.h
@@ -1034,7 +1034,7 @@ struct Research : public IsUpdateFieldStructureTag
bool operator!=(Research const& right) const { return !(*this == right); }
};
-struct ActivePlayerData : public IsUpdateFieldStructureTag, public HasChangesMask<516>
+struct ActivePlayerData : public IsUpdateFieldStructureTag, public HasChangesMask<517>
{
UpdateField<bool, 0, 1> BackpackAutoSortDisabled;
UpdateField<bool, 0, 2> BackpackSellJunkDisabled;
@@ -1042,154 +1042,155 @@ struct ActivePlayerData : public IsUpdateFieldStructureTag, public HasChangesMas
UpdateField<bool, 0, 4> SortBagsRightToLeft;
UpdateField<bool, 0, 5> InsertItemsLeftToRight;
UpdateField<bool, 0, 6> HasPerksProgramPendingReward;
- UpdateFieldArray<DynamicUpdateFieldBase<uint16>, 1, 41, 42> ResearchSites;
- UpdateFieldArray<DynamicUpdateFieldBase<uint32>, 1, 43, 44> ResearchSiteProgress;
- UpdateFieldArray<DynamicUpdateFieldBase<UF::Research>, 1, 45, 46> Research;
+ UpdateFieldArray<DynamicUpdateFieldBase<uint16>, 1, 42, 43> ResearchSites;
+ UpdateFieldArray<DynamicUpdateFieldBase<uint32>, 1, 44, 45> ResearchSiteProgress;
+ UpdateFieldArray<DynamicUpdateFieldBase<UF::Research>, 1, 46, 47> Research;
DynamicUpdateField<uint64, 0, 7> KnownTitles;
DynamicUpdateField<UF::PlayerDataElement, 0, 8> CharacterDataElements;
DynamicUpdateField<UF::PlayerDataElement, 0, 9> AccountDataElements;
DynamicUpdateField<int32, 0, 11> DailyQuestsCompleted;
- DynamicUpdateField<int32, 0, 12> AvailableQuestLineXQuestIDs;
- DynamicUpdateField<int32, 0, 13> Heirlooms;
- DynamicUpdateField<uint32, 0, 14> HeirloomFlags;
- DynamicUpdateField<int32, 0, 15> Toys;
- DynamicUpdateField<uint32, 0, 16> ToyFlags;
- DynamicUpdateField<uint32, 0, 17> Transmog;
- DynamicUpdateField<int32, 0, 18> ConditionalTransmog;
- DynamicUpdateField<int32, 0, 19> SelfResSpells;
- DynamicUpdateField<uint32, 0, 20> RuneforgePowers;
- DynamicUpdateField<uint32, 0, 21> TransmogIllusions;
- DynamicUpdateField<uint32, 0, 22> WarbandScenes;
- DynamicUpdateField<UF::SpellPctModByLabel, 0, 24> SpellPctModByLabel;
- DynamicUpdateField<UF::SpellFlatModByLabel, 0, 25> SpellFlatModByLabel;
- DynamicUpdateField<UF::MawPower, 0, 26> MawPowers;
- DynamicUpdateField<UF::MultiFloorExplore, 0, 27> MultiFloorExploration;
- DynamicUpdateField<UF::RecipeProgressionInfo, 0, 28> RecipeProgression;
- DynamicUpdateField<UF::ReplayedQuest, 0, 29> ReplayedQuests;
- DynamicUpdateField<UF::QuestLog, 0, 30> TaskQuests;
- DynamicUpdateField<int32, 0, 31> DisabledSpells;
- DynamicUpdateField<UF::PersonalCraftingOrderCount, 32, 35> PersonalCraftingOrderCounts;
- DynamicUpdateField<UF::NPCCraftingOrderInfo, 32, 36> NpcCraftingOrders;
- DynamicUpdateField<UF::CategoryCooldownMod, 32, 37> CategoryCooldownMods;
- DynamicUpdateField<UF::WeeklySpellUse, 32, 38> WeeklySpellUses;
- DynamicUpdateField<UF::CollectableSourceTrackedData, 32, 39> TrackedCollectableSources;
+ DynamicUpdateField<int32, 0, 12> Field_1328;
+ DynamicUpdateField<int32, 0, 13> AvailableQuestLineXQuestIDs;
+ DynamicUpdateField<int32, 0, 14> Heirlooms;
+ DynamicUpdateField<uint32, 0, 15> HeirloomFlags;
+ DynamicUpdateField<int32, 0, 16> Toys;
+ DynamicUpdateField<uint32, 0, 17> ToyFlags;
+ DynamicUpdateField<uint32, 0, 18> Transmog;
+ DynamicUpdateField<int32, 0, 19> ConditionalTransmog;
+ DynamicUpdateField<int32, 0, 20> SelfResSpells;
+ DynamicUpdateField<uint32, 0, 21> RuneforgePowers;
+ DynamicUpdateField<uint32, 0, 22> TransmogIllusions;
+ DynamicUpdateField<uint32, 0, 23> WarbandScenes;
+ DynamicUpdateField<UF::SpellPctModByLabel, 0, 25> SpellPctModByLabel;
+ DynamicUpdateField<UF::SpellFlatModByLabel, 0, 26> SpellFlatModByLabel;
+ DynamicUpdateField<UF::MawPower, 0, 27> MawPowers;
+ DynamicUpdateField<UF::MultiFloorExplore, 0, 28> MultiFloorExploration;
+ DynamicUpdateField<UF::RecipeProgressionInfo, 0, 29> RecipeProgression;
+ DynamicUpdateField<UF::ReplayedQuest, 0, 30> ReplayedQuests;
+ DynamicUpdateField<UF::QuestLog, 0, 31> TaskQuests;
+ DynamicUpdateField<int32, 32, 33> DisabledSpells;
+ DynamicUpdateField<UF::PersonalCraftingOrderCount, 32, 36> PersonalCraftingOrderCounts;
+ DynamicUpdateField<UF::NPCCraftingOrderInfo, 32, 37> NpcCraftingOrders;
+ DynamicUpdateField<UF::CategoryCooldownMod, 32, 38> CategoryCooldownMods;
+ DynamicUpdateField<UF::WeeklySpellUse, 32, 39> WeeklySpellUses;
+ DynamicUpdateField<UF::CollectableSourceTrackedData, 32, 40> TrackedCollectableSources;
DynamicUpdateField<UF::PVPInfo, 0, 10> PvpInfo;
- DynamicUpdateField<UF::CharacterRestriction, 0, 23> CharacterRestrictions;
- DynamicUpdateField<UF::TraitConfig, 32, 33> TraitConfigs;
- DynamicUpdateField<UF::CraftingOrder, 32, 34> CraftingOrders;
- DynamicUpdateField<UF::BankTabSettings, 32, 40> AccountBankTabSettings;
- UpdateField<ObjectGuid, 32, 47> FarsightObject;
- UpdateField<ObjectGuid, 32, 48> SummonedBattlePetGUID;
- UpdateField<uint64, 32, 49> Coinage;
- UpdateField<uint64, 32, 50> AccountBankCoinage;
- UpdateField<int32, 32, 51> XP;
- UpdateField<int32, 32, 52> NextLevelXP;
- UpdateField<int32, 32, 53> TrialXP;
- UpdateField<UF::SkillInfo, 32, 54> Skill;
- UpdateField<int32, 32, 55> CharacterPoints;
- UpdateField<int32, 32, 56> MaxTalentTiers;
- UpdateField<uint32, 32, 57> TrackCreatureMask;
- UpdateField<float, 32, 58> MainhandExpertise;
- UpdateField<float, 32, 59> OffhandExpertise;
- UpdateField<float, 32, 60> RangedExpertise;
- UpdateField<float, 32, 61> CombatRatingExpertise;
- UpdateField<float, 32, 62> BlockPercentage;
- UpdateField<float, 32, 63> DodgePercentage;
- UpdateField<float, 32, 64> DodgePercentageFromAttribute;
- UpdateField<float, 32, 65> ParryPercentage;
- UpdateField<float, 32, 66> ParryPercentageFromAttribute;
- UpdateField<float, 32, 67> CritPercentage;
- UpdateField<float, 32, 68> RangedCritPercentage;
- UpdateField<float, 32, 69> OffhandCritPercentage;
- UpdateField<float, 70, 71> SpellCritPercentage;
- UpdateField<int32, 70, 72> ShieldBlock;
- UpdateField<float, 70, 73> ShieldBlockCritPercentage;
- UpdateField<float, 70, 74> Mastery;
- UpdateField<float, 70, 75> Speed;
- UpdateField<float, 70, 76> Avoidance;
- UpdateField<float, 70, 77> Sturdiness;
- UpdateField<int32, 70, 78> Versatility;
- UpdateField<float, 70, 79> VersatilityBonus;
- UpdateField<float, 70, 80> PvpPowerDamage;
- UpdateField<float, 70, 81> PvpPowerHealing;
- UpdateField<UF::BitVectors, 70, 82> BitVectors;
- UpdateField<int32, 70, 83> ModHealingDonePos;
- UpdateField<float, 70, 84> ModHealingPercent;
- UpdateField<float, 70, 85> ModPeriodicHealingDonePercent;
- UpdateField<float, 70, 86> ModSpellPowerPercent;
- UpdateField<float, 70, 87> ModResiliencePercent;
- UpdateField<float, 70, 88> OverrideSpellPowerByAPPercent;
- UpdateField<float, 70, 89> OverrideAPBySpellPowerPercent;
- UpdateField<int32, 70, 90> ModTargetResistance;
- UpdateField<int32, 70, 91> ModTargetPhysicalResistance;
- UpdateField<uint32, 70, 92> LocalFlags;
- UpdateField<uint8, 70, 93> GrantableLevels;
- UpdateField<uint8, 70, 94> MultiActionBars;
- UpdateField<uint8, 70, 95> LifetimeMaxRank;
- UpdateField<uint8, 70, 96> NumRespecs;
- UpdateField<uint32, 70, 97> PvpMedals;
- UpdateField<uint16, 70, 98> TodayHonorableKills;
- UpdateField<uint16, 70, 99> YesterdayHonorableKills;
- UpdateField<uint32, 70, 100> LifetimeHonorableKills;
- UpdateField<int32, 70, 101> WatchedFactionIndex;
- UpdateField<int32, 102, 103> MaxLevel;
- UpdateField<int32, 102, 104> ScalingPlayerLevelDelta;
- UpdateField<int32, 102, 105> MaxCreatureScalingLevel;
- UpdateField<int32, 102, 106> PetSpellPower;
- UpdateField<float, 102, 107> UiHitModifier;
- UpdateField<float, 102, 108> UiSpellHitModifier;
- UpdateField<int32, 102, 109> HomeRealmTimeOffset;
- UpdateField<float, 102, 110> ModPetHaste;
- UpdateField<int8, 102, 111> JailersTowerLevelMax;
- UpdateField<int8, 102, 112> JailersTowerLevel;
- UpdateField<uint8, 102, 113> LocalRegenFlags;
- UpdateField<uint8, 102, 114> AuraVision;
- UpdateField<uint8, 102, 115> NumBackpackSlots;
- UpdateField<int32, 102, 116> OverrideSpellsID;
- UpdateField<uint16, 102, 117> LootSpecID;
- UpdateField<uint32, 102, 118> OverrideZonePVPType;
- UpdateField<int32, 102, 119> Honor;
- UpdateField<int32, 102, 120> HonorNextLevel;
- UpdateField<int32, 102, 121> PerksProgramCurrency;
- UpdateField<uint8, 102, 122> NumBankSlots;
- UpdateField<uint8, 102, 123> NumAccountBankTabs;
- UpdateField<UF::ResearchHistory, 102, 124> ResearchHistory;
- UpdateField<WorldPackets::PerksProgram::PerksVendorItem, 102, 125> FrozenPerksVendorItem;
- UpdateField<UF::ActivePlayerUnk901, 102, 127> Field_1410;
- OptionalUpdateField<UF::QuestSession, 102, 126> QuestSession;
- UpdateField<int32, 102, 128> UiChromieTimeExpansionID;
- UpdateField<int32, 102, 129> TimerunningSeasonID;
- UpdateField<int32, 102, 130> TransportServerTime;
- UpdateField<uint32, 102, 131> WeeklyRewardsPeriodSinceOrigin; // week count since Cfg_RegionsEntry::ChallengeOrigin
- UpdateField<int16, 102, 132> DEBUGSoulbindConduitRank;
- UpdateField<WorldPackets::MythicPlus::DungeonScoreData, 102, 133> DungeonScore;
- UpdateField<uint32, 134, 135> ActiveCombatTraitConfigID;
- UpdateField<int32, 134, 136> ItemUpgradeHighOnehandWeaponItemID;
- UpdateField<int32, 134, 137> ItemUpgradeHighFingerItemID;
- UpdateField<float, 134, 138> ItemUpgradeHighFingerWatermark;
- UpdateField<int32, 134, 139> ItemUpgradeHighTrinketItemID;
- UpdateField<float, 134, 140> ItemUpgradeHighTrinketWatermark;
- UpdateField<uint64, 134, 141> LootHistoryInstanceID;
- OptionalUpdateField<UF::StableInfo, 134, 142> PetStable;
- UpdateField<uint8, 134, 143> RequiredMountCapabilityFlags;
- OptionalUpdateField<UF::WalkInData, 134, 144> WalkInData;
- OptionalUpdateField<UF::DelveData, 134, 145> DelveData;
- UpdateFieldArray<ObjectGuid, 232, 146, 147> InvSlots;
- UpdateFieldArray<UF::RestInfo, 2, 379, 380> RestInfo;
- UpdateFieldArray<int32, 7, 382, 383> ModDamageDonePos;
- UpdateFieldArray<int32, 7, 382, 390> ModDamageDoneNeg;
- UpdateFieldArray<float, 7, 382, 397> ModDamageDonePercent;
- UpdateFieldArray<float, 7, 382, 404> ModHealingDonePercent;
- UpdateFieldArray<float, 3, 411, 412> WeaponDmgMultipliers;
- UpdateFieldArray<float, 3, 411, 415> WeaponAtkSpeedMultipliers;
- UpdateFieldArray<uint32, 12, 418, 419> BuybackPrice;
- UpdateFieldArray<int64, 12, 418, 431> BuybackTimestamp;
- UpdateFieldArray<int32, 32, 443, 444> CombatRatings;
- UpdateFieldArray<uint32, 4, 476, 477> NoReagentCostMask;
- UpdateFieldArray<int32, 2, 481, 482> ProfessionSkillLine;
- UpdateFieldArray<uint32, 5, 484, 485> BagSlotFlags;
- UpdateFieldArray<uint32, 7, 490, 491> BankBagSlotFlags;
- UpdateFieldArray<float, 17, 498, 499> ItemUpgradeHighWatermark;
+ DynamicUpdateField<UF::CharacterRestriction, 0, 24> CharacterRestrictions;
+ DynamicUpdateField<UF::TraitConfig, 32, 34> TraitConfigs;
+ DynamicUpdateField<UF::CraftingOrder, 32, 35> CraftingOrders;
+ DynamicUpdateField<UF::BankTabSettings, 32, 41> AccountBankTabSettings;
+ UpdateField<ObjectGuid, 32, 48> FarsightObject;
+ UpdateField<ObjectGuid, 32, 49> SummonedBattlePetGUID;
+ UpdateField<uint64, 32, 50> Coinage;
+ UpdateField<uint64, 32, 51> AccountBankCoinage;
+ UpdateField<int32, 32, 52> XP;
+ UpdateField<int32, 32, 53> NextLevelXP;
+ UpdateField<int32, 32, 54> TrialXP;
+ UpdateField<UF::SkillInfo, 32, 55> Skill;
+ UpdateField<int32, 32, 56> CharacterPoints;
+ UpdateField<int32, 32, 57> MaxTalentTiers;
+ UpdateField<uint32, 32, 58> TrackCreatureMask;
+ UpdateField<float, 32, 59> MainhandExpertise;
+ UpdateField<float, 32, 60> OffhandExpertise;
+ UpdateField<float, 32, 61> RangedExpertise;
+ UpdateField<float, 32, 62> CombatRatingExpertise;
+ UpdateField<float, 32, 63> BlockPercentage;
+ UpdateField<float, 32, 64> DodgePercentage;
+ UpdateField<float, 32, 65> DodgePercentageFromAttribute;
+ UpdateField<float, 32, 66> ParryPercentage;
+ UpdateField<float, 32, 67> ParryPercentageFromAttribute;
+ UpdateField<float, 32, 68> CritPercentage;
+ UpdateField<float, 32, 69> RangedCritPercentage;
+ UpdateField<float, 70, 71> OffhandCritPercentage;
+ UpdateField<float, 70, 72> SpellCritPercentage;
+ UpdateField<int32, 70, 73> ShieldBlock;
+ UpdateField<float, 70, 74> ShieldBlockCritPercentage;
+ UpdateField<float, 70, 75> Mastery;
+ UpdateField<float, 70, 76> Speed;
+ UpdateField<float, 70, 77> Avoidance;
+ UpdateField<float, 70, 78> Sturdiness;
+ UpdateField<int32, 70, 79> Versatility;
+ UpdateField<float, 70, 80> VersatilityBonus;
+ UpdateField<float, 70, 81> PvpPowerDamage;
+ UpdateField<float, 70, 82> PvpPowerHealing;
+ UpdateField<UF::BitVectors, 70, 83> BitVectors;
+ UpdateField<int32, 70, 84> ModHealingDonePos;
+ UpdateField<float, 70, 85> ModHealingPercent;
+ UpdateField<float, 70, 86> ModPeriodicHealingDonePercent;
+ UpdateField<float, 70, 87> ModSpellPowerPercent;
+ UpdateField<float, 70, 88> ModResiliencePercent;
+ UpdateField<float, 70, 89> OverrideSpellPowerByAPPercent;
+ UpdateField<float, 70, 90> OverrideAPBySpellPowerPercent;
+ UpdateField<int32, 70, 91> ModTargetResistance;
+ UpdateField<int32, 70, 92> ModTargetPhysicalResistance;
+ UpdateField<uint32, 70, 93> LocalFlags;
+ UpdateField<uint8, 70, 94> GrantableLevels;
+ UpdateField<uint8, 70, 95> MultiActionBars;
+ UpdateField<uint8, 70, 96> LifetimeMaxRank;
+ UpdateField<uint8, 70, 97> NumRespecs;
+ UpdateField<uint32, 70, 98> PvpMedals;
+ UpdateField<uint16, 70, 99> TodayHonorableKills;
+ UpdateField<uint16, 70, 100> YesterdayHonorableKills;
+ UpdateField<uint32, 70, 101> LifetimeHonorableKills;
+ UpdateField<int32, 102, 103> WatchedFactionIndex;
+ UpdateField<int32, 102, 104> MaxLevel;
+ UpdateField<int32, 102, 105> ScalingPlayerLevelDelta;
+ UpdateField<int32, 102, 106> MaxCreatureScalingLevel;
+ UpdateField<int32, 102, 107> PetSpellPower;
+ UpdateField<float, 102, 108> UiHitModifier;
+ UpdateField<float, 102, 109> UiSpellHitModifier;
+ UpdateField<int32, 102, 110> HomeRealmTimeOffset;
+ UpdateField<float, 102, 111> ModPetHaste;
+ UpdateField<int8, 102, 112> JailersTowerLevelMax;
+ UpdateField<int8, 102, 113> JailersTowerLevel;
+ UpdateField<uint8, 102, 114> LocalRegenFlags;
+ UpdateField<uint8, 102, 115> AuraVision;
+ UpdateField<uint8, 102, 116> NumBackpackSlots;
+ UpdateField<int32, 102, 117> OverrideSpellsID;
+ UpdateField<uint16, 102, 118> LootSpecID;
+ UpdateField<uint32, 102, 119> OverrideZonePVPType;
+ UpdateField<int32, 102, 120> Honor;
+ UpdateField<int32, 102, 121> HonorNextLevel;
+ UpdateField<int32, 102, 122> PerksProgramCurrency;
+ UpdateField<uint8, 102, 123> NumBankSlots;
+ UpdateField<uint8, 102, 124> NumAccountBankTabs;
+ UpdateField<UF::ResearchHistory, 102, 125> ResearchHistory;
+ UpdateField<WorldPackets::PerksProgram::PerksVendorItem, 102, 126> FrozenPerksVendorItem;
+ UpdateField<UF::ActivePlayerUnk901, 102, 128> Field_1410;
+ OptionalUpdateField<UF::QuestSession, 102, 127> QuestSession;
+ UpdateField<int32, 102, 129> UiChromieTimeExpansionID;
+ UpdateField<int32, 102, 130> TimerunningSeasonID;
+ UpdateField<int32, 102, 131> TransportServerTime;
+ UpdateField<uint32, 102, 132> WeeklyRewardsPeriodSinceOrigin; // week count since Cfg_RegionsEntry::ChallengeOrigin
+ UpdateField<int16, 102, 133> DEBUGSoulbindConduitRank;
+ UpdateField<WorldPackets::MythicPlus::DungeonScoreData, 134, 135> DungeonScore;
+ UpdateField<uint32, 134, 136> ActiveCombatTraitConfigID;
+ UpdateField<int32, 134, 137> ItemUpgradeHighOnehandWeaponItemID;
+ UpdateField<int32, 134, 138> ItemUpgradeHighFingerItemID;
+ UpdateField<float, 134, 139> ItemUpgradeHighFingerWatermark;
+ UpdateField<int32, 134, 140> ItemUpgradeHighTrinketItemID;
+ UpdateField<float, 134, 141> ItemUpgradeHighTrinketWatermark;
+ UpdateField<uint64, 134, 142> LootHistoryInstanceID;
+ OptionalUpdateField<UF::StableInfo, 134, 143> PetStable;
+ UpdateField<uint8, 134, 144> RequiredMountCapabilityFlags;
+ OptionalUpdateField<UF::WalkInData, 134, 145> WalkInData;
+ OptionalUpdateField<UF::DelveData, 134, 146> DelveData;
+ UpdateFieldArray<ObjectGuid, 232, 147, 148> InvSlots;
+ UpdateFieldArray<UF::RestInfo, 2, 380, 381> RestInfo;
+ UpdateFieldArray<int32, 7, 383, 384> ModDamageDonePos;
+ UpdateFieldArray<int32, 7, 383, 391> ModDamageDoneNeg;
+ UpdateFieldArray<float, 7, 383, 398> ModDamageDonePercent;
+ UpdateFieldArray<float, 7, 383, 405> ModHealingDonePercent;
+ UpdateFieldArray<float, 3, 412, 413> WeaponDmgMultipliers;
+ UpdateFieldArray<float, 3, 412, 416> WeaponAtkSpeedMultipliers;
+ UpdateFieldArray<uint32, 12, 419, 420> BuybackPrice;
+ UpdateFieldArray<int64, 12, 419, 432> BuybackTimestamp;
+ UpdateFieldArray<int32, 32, 444, 445> CombatRatings;
+ UpdateFieldArray<uint32, 4, 477, 478> NoReagentCostMask;
+ UpdateFieldArray<int32, 2, 482, 483> ProfessionSkillLine;
+ UpdateFieldArray<uint32, 5, 485, 486> BagSlotFlags;
+ UpdateFieldArray<uint32, 7, 491, 492> BankBagSlotFlags;
+ UpdateFieldArray<float, 17, 499, 500> ItemUpgradeHighWatermark;
void WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags, Player const* owner, Player const* receiver) const;
void WriteUpdate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags, Player const* owner, Player const* receiver) const;
diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h
index bdce5bc9b76..77c1e44f7dc 100644
--- a/src/server/game/Entities/Player/Player.h
+++ b/src/server/game/Entities/Player/Player.h
@@ -792,6 +792,7 @@ enum class ItemSearchLocation
Inventory = 0x02,
Bank = 0x04,
ReagentBank = 0x08,
+ AccountBank = 0x10, // NYI
Default = Equipment | Inventory,
Everywhere = Equipment | Inventory | Bank | ReagentBank
diff --git a/src/server/game/Handlers/MiscHandler.cpp b/src/server/game/Handlers/MiscHandler.cpp
index c60ba89ab6a..5a08d176f30 100644
--- a/src/server/game/Handlers/MiscHandler.cpp
+++ b/src/server/game/Handlers/MiscHandler.cpp
@@ -703,6 +703,13 @@ void WorldSession::HandleUpdateAccountData(WorldPackets::ClientConfig::UserClien
if (packet.Size == 0) // erase
{
SetAccountData(AccountDataType(packet.DataType), 0, "");
+
+ WorldPackets::ClientConfig::UpdateAccountDataComplete updateAccountDataComplete;
+ updateAccountDataComplete.Player = packet.PlayerGuid;
+ updateAccountDataComplete.DataType = packet.DataType;
+ updateAccountDataComplete.Result = 0;
+ SendPacket(updateAccountDataComplete.Write());
+
return;
}
@@ -723,6 +730,12 @@ void WorldSession::HandleUpdateAccountData(WorldPackets::ClientConfig::UserClien
}
SetAccountData(AccountDataType(packet.DataType), packet.Time, dest);
+
+ WorldPackets::ClientConfig::UpdateAccountDataComplete updateAccountDataComplete;
+ updateAccountDataComplete.Player = packet.PlayerGuid;
+ updateAccountDataComplete.DataType = packet.DataType;
+ updateAccountDataComplete.Result = 0;
+ SendPacket(updateAccountDataComplete.Write());
}
void WorldSession::HandleRequestAccountData(WorldPackets::ClientConfig::RequestAccountData& request)
diff --git a/src/server/game/Miscellaneous/SharedDefines.h b/src/server/game/Miscellaneous/SharedDefines.h
index 4a53a4ec4a9..3582aeec67a 100644
--- a/src/server/game/Miscellaneous/SharedDefines.h
+++ b/src/server/game/Miscellaneous/SharedDefines.h
@@ -7591,817 +7591,828 @@ enum class GameError : uint32
ERR_OUT_OF_FURY = 369,
ERR_OUT_OF_PAIN = 370,
ERR_OUT_OF_POWER_DISPLAY = 371,
- ERR_LOOT_GONE = 372,
- ERR_MOUNT_FORCEDDISMOUNT = 373,
- ERR_AUTOFOLLOW_TOO_FAR = 374,
- ERR_UNIT_NOT_FOUND = 375,
- ERR_INVALID_FOLLOW_TARGET = 376,
- ERR_INVALID_FOLLOW_PVP_COMBAT = 377,
- ERR_INVALID_FOLLOW_TARGET_PVP_COMBAT = 378,
- ERR_INVALID_INSPECT_TARGET = 379,
- ERR_GUILDEMBLEM_SUCCESS = 380,
- ERR_GUILDEMBLEM_INVALID_TABARD_COLORS = 381,
- ERR_GUILDEMBLEM_NOGUILD = 382,
- ERR_GUILDEMBLEM_NOTGUILDMASTER = 383,
- ERR_GUILDEMBLEM_NOTENOUGHMONEY = 384,
- ERR_GUILDEMBLEM_INVALIDVENDOR = 385,
- ERR_EMBLEMERROR_NOTABARDGEOSET = 386,
- ERR_SPELL_OUT_OF_RANGE = 387,
- ERR_COMMAND_NEEDS_TARGET = 388,
- ERR_NOAMMO_S = 389,
- ERR_TOOBUSYTOFOLLOW = 390,
- ERR_DUEL_REQUESTED = 391,
- ERR_DUEL_CANCELLED = 392,
- ERR_DEATHBINDALREADYBOUND = 393,
- ERR_DEATHBIND_SUCCESS_S = 394,
- ERR_NOEMOTEWHILERUNNING = 395,
- ERR_ZONE_EXPLORED = 396,
- ERR_ZONE_EXPLORED_XP = 397,
- ERR_INVALID_ITEM_TARGET = 398,
- ERR_INVALID_QUEST_TARGET = 399,
- ERR_IGNORING_YOU_S = 400,
- ERR_FISH_NOT_HOOKED = 401,
- ERR_FISH_ESCAPED = 402,
- ERR_SPELL_FAILED_NOTUNSHEATHED = 403,
- ERR_PETITION_OFFERED_S = 404,
- ERR_PETITION_SIGNED = 405,
- ERR_PETITION_SIGNED_S = 406,
- ERR_PETITION_DECLINED_S = 407,
- ERR_PETITION_ALREADY_SIGNED = 408,
- ERR_PETITION_RESTRICTED_ACCOUNT_TRIAL = 409,
- ERR_PETITION_ALREADY_SIGNED_OTHER = 410,
- ERR_PETITION_IN_GUILD = 411,
- ERR_PETITION_CREATOR = 412,
- ERR_PETITION_NOT_ENOUGH_SIGNATURES = 413,
- ERR_PETITION_NOT_SAME_SERVER = 414,
- ERR_PETITION_FULL = 415,
- ERR_PETITION_ALREADY_SIGNED_BY_S = 416,
- ERR_GUILD_NAME_INVALID = 417,
- ERR_SPELL_UNLEARNED_S = 418,
- ERR_PET_SPELL_ROOTED = 419,
- ERR_PET_SPELL_AFFECTING_COMBAT = 420,
- ERR_PET_SPELL_OUT_OF_RANGE = 421,
- ERR_PET_SPELL_NOT_BEHIND = 422,
- ERR_PET_SPELL_TARGETS_DEAD = 423,
- ERR_PET_SPELL_DEAD = 424,
- ERR_PET_SPELL_NOPATH = 425,
- ERR_ITEM_CANT_BE_DESTROYED = 426,
- ERR_TICKET_ALREADY_EXISTS = 427,
- ERR_TICKET_CREATE_ERROR = 428,
- ERR_TICKET_UPDATE_ERROR = 429,
- ERR_TICKET_DB_ERROR = 430,
- ERR_TICKET_NO_TEXT = 431,
- ERR_TICKET_TEXT_TOO_LONG = 432,
- ERR_OBJECT_IS_BUSY = 433,
- ERR_EXHAUSTION_WELLRESTED = 434,
- ERR_EXHAUSTION_RESTED = 435,
- ERR_EXHAUSTION_NORMAL = 436,
- ERR_EXHAUSTION_TIRED = 437,
- ERR_EXHAUSTION_EXHAUSTED = 438,
- ERR_NO_ITEMS_WHILE_SHAPESHIFTED = 439,
- ERR_CANT_INTERACT_SHAPESHIFTED = 440,
- ERR_REALM_NOT_FOUND = 441,
- ERR_MAIL_QUEST_ITEM = 442,
- ERR_MAIL_BOUND_ITEM = 443,
- ERR_MAIL_CONJURED_ITEM = 444,
- ERR_MAIL_BAG = 445,
- ERR_MAIL_TO_SELF = 446,
- ERR_MAIL_TARGET_NOT_FOUND = 447,
- ERR_MAIL_DATABASE_ERROR = 448,
- ERR_MAIL_DELETE_ITEM_ERROR = 449,
- ERR_MAIL_WRAPPED_COD = 450,
- ERR_MAIL_CANT_SEND_REALM = 451,
- ERR_MAIL_TEMP_RETURN_OUTAGE = 452,
- ERR_MAIL_RECEPIENT_CANT_RECEIVE_MAIL = 453,
- ERR_MAIL_SENT = 454,
- ERR_MAIL_TARGET_IS_TRIAL = 455,
- ERR_NOT_HAPPY_ENOUGH = 456,
- ERR_USE_CANT_IMMUNE = 457,
- ERR_CANT_BE_DISENCHANTED = 458,
- ERR_CANT_USE_DISARMED = 459,
- ERR_AUCTION_DATABASE_ERROR = 460,
- ERR_AUCTION_HIGHER_BID = 461,
- ERR_AUCTION_ALREADY_BID = 462,
- ERR_AUCTION_OUTBID_S = 463,
- ERR_AUCTION_WON_S = 464,
- ERR_AUCTION_REMOVED_S = 465,
- ERR_AUCTION_BID_PLACED = 466,
- ERR_LOGOUT_FAILED = 467,
- ERR_QUEST_PUSH_SUCCESS_S = 468,
- ERR_QUEST_PUSH_INVALID_S = 469,
- ERR_QUEST_PUSH_INVALID_TO_RECIPIENT_S = 470,
- ERR_QUEST_PUSH_ACCEPTED_S = 471,
- ERR_QUEST_PUSH_DECLINED_S = 472,
- ERR_QUEST_PUSH_BUSY_S = 473,
- ERR_QUEST_PUSH_DEAD_S = 474,
- ERR_QUEST_PUSH_DEAD_TO_RECIPIENT_S = 475,
- ERR_QUEST_PUSH_LOG_FULL_S = 476,
- ERR_QUEST_PUSH_LOG_FULL_TO_RECIPIENT_S = 477,
- ERR_QUEST_PUSH_ONQUEST_S = 478,
- ERR_QUEST_PUSH_ONQUEST_TO_RECIPIENT_S = 479,
- ERR_QUEST_PUSH_ALREADY_DONE_S = 480,
- ERR_QUEST_PUSH_ALREADY_DONE_TO_RECIPIENT_S = 481,
- ERR_QUEST_PUSH_NOT_DAILY_S = 482,
- ERR_QUEST_PUSH_TIMER_EXPIRED_S = 483,
- ERR_QUEST_PUSH_NOT_IN_PARTY_S = 484,
- ERR_QUEST_PUSH_DIFFERENT_SERVER_DAILY_S = 485,
- ERR_QUEST_PUSH_DIFFERENT_SERVER_DAILY_TO_RECIPIENT_S = 486,
- ERR_QUEST_PUSH_NOT_ALLOWED_S = 487,
- ERR_QUEST_PUSH_PREREQUISITE_S = 488,
- ERR_QUEST_PUSH_PREREQUISITE_TO_RECIPIENT_S = 489,
- ERR_QUEST_PUSH_LOW_LEVEL_S = 490,
- ERR_QUEST_PUSH_LOW_LEVEL_TO_RECIPIENT_S = 491,
- ERR_QUEST_PUSH_HIGH_LEVEL_S = 492,
- ERR_QUEST_PUSH_HIGH_LEVEL_TO_RECIPIENT_S = 493,
- ERR_QUEST_PUSH_CLASS_S = 494,
- ERR_QUEST_PUSH_CLASS_TO_RECIPIENT_S = 495,
- ERR_QUEST_PUSH_RACE_S = 496,
- ERR_QUEST_PUSH_RACE_TO_RECIPIENT_S = 497,
- ERR_QUEST_PUSH_LOW_FACTION_S = 498,
- ERR_QUEST_PUSH_LOW_FACTION_TO_RECIPIENT_S = 499,
- ERR_QUEST_PUSH_HIGH_FACTION_S = 500,
- ERR_QUEST_PUSH_HIGH_FACTION_TO_RECIPIENT_S = 501,
- ERR_QUEST_PUSH_EXPANSION_S = 502,
- ERR_QUEST_PUSH_EXPANSION_TO_RECIPIENT_S = 503,
- ERR_QUEST_PUSH_NOT_GARRISON_OWNER_S = 504,
- ERR_QUEST_PUSH_NOT_GARRISON_OWNER_TO_RECIPIENT_S = 505,
- ERR_QUEST_PUSH_WRONG_COVENANT_S = 506,
- ERR_QUEST_PUSH_WRONG_COVENANT_TO_RECIPIENT_S = 507,
- ERR_QUEST_PUSH_NEW_PLAYER_EXPERIENCE_S = 508,
- ERR_QUEST_PUSH_NEW_PLAYER_EXPERIENCE_TO_RECIPIENT_S = 509,
- ERR_QUEST_PUSH_WRONG_FACTION_S = 510,
- ERR_QUEST_PUSH_WRONG_FACTION_TO_RECIPIENT_S = 511,
- ERR_QUEST_PUSH_CROSS_FACTION_RESTRICTED_S = 512,
- ERR_RAID_GROUP_LOWLEVEL = 513,
- ERR_RAID_GROUP_ONLY = 514,
- ERR_RAID_GROUP_FULL = 515,
- ERR_RAID_GROUP_REQUIREMENTS_UNMATCH = 516,
- ERR_CORPSE_IS_NOT_IN_INSTANCE = 517,
- ERR_PVP_KILL_HONORABLE = 518,
- ERR_PVP_KILL_DISHONORABLE = 519,
- ERR_SPELL_FAILED_ALREADY_AT_FULL_HEALTH = 520,
- ERR_SPELL_FAILED_ALREADY_AT_FULL_MANA = 521,
- ERR_SPELL_FAILED_ALREADY_AT_FULL_POWER_S = 522,
- ERR_AUTOLOOT_MONEY_S = 523,
- ERR_GENERIC_STUNNED = 524,
- ERR_GENERIC_THROTTLE = 525,
- ERR_CLUB_FINDER_SEARCHING_TOO_FAST = 526,
- ERR_TARGET_STUNNED = 527,
- ERR_MUST_REPAIR_DURABILITY = 528,
- ERR_RAID_YOU_JOINED = 529,
- ERR_RAID_YOU_LEFT = 530,
- ERR_INSTANCE_GROUP_JOINED_WITH_PARTY = 531,
- ERR_INSTANCE_GROUP_JOINED_WITH_RAID = 532,
- ERR_RAID_MEMBER_ADDED_S = 533,
- ERR_RAID_MEMBER_REMOVED_S = 534,
- ERR_INSTANCE_GROUP_ADDED_S = 535,
- ERR_INSTANCE_GROUP_REMOVED_S = 536,
- ERR_CLICK_ON_ITEM_TO_FEED = 537,
- ERR_TOO_MANY_CHAT_CHANNELS = 538,
- ERR_LOOT_ROLL_PENDING = 539,
- ERR_LOOT_PLAYER_NOT_FOUND = 540,
- ERR_NOT_IN_RAID = 541,
- ERR_LOGGING_OUT = 542,
- ERR_TARGET_LOGGING_OUT = 543,
- ERR_NOT_WHILE_MOUNTED = 544,
- ERR_NOT_WHILE_SHAPESHIFTED = 545,
- ERR_NOT_IN_COMBAT = 546,
- ERR_NOT_WHILE_DISARMED = 547,
- ERR_PET_BROKEN = 548,
- ERR_TALENT_WIPE_ERROR = 549,
- ERR_SPEC_WIPE_ERROR = 550,
- ERR_GLYPH_WIPE_ERROR = 551,
- ERR_PET_SPEC_WIPE_ERROR = 552,
- ERR_FEIGN_DEATH_RESISTED = 553,
- ERR_MEETING_STONE_IN_QUEUE_S = 554,
- ERR_MEETING_STONE_LEFT_QUEUE_S = 555,
- ERR_MEETING_STONE_OTHER_MEMBER_LEFT = 556,
- ERR_MEETING_STONE_PARTY_KICKED_FROM_QUEUE = 557,
- ERR_MEETING_STONE_MEMBER_STILL_IN_QUEUE = 558,
- ERR_MEETING_STONE_SUCCESS = 559,
- ERR_MEETING_STONE_IN_PROGRESS = 560,
- ERR_MEETING_STONE_MEMBER_ADDED_S = 561,
- ERR_MEETING_STONE_GROUP_FULL = 562,
- ERR_MEETING_STONE_NOT_LEADER = 563,
- ERR_MEETING_STONE_INVALID_LEVEL = 564,
- ERR_MEETING_STONE_TARGET_NOT_IN_PARTY = 565,
- ERR_MEETING_STONE_TARGET_INVALID_LEVEL = 566,
- ERR_MEETING_STONE_MUST_BE_LEADER = 567,
- ERR_MEETING_STONE_NO_RAID_GROUP = 568,
- ERR_MEETING_STONE_NEED_PARTY = 569,
- ERR_MEETING_STONE_NOT_FOUND = 570,
- ERR_MEETING_STONE_TARGET_IN_VEHICLE = 571,
- ERR_GUILDEMBLEM_SAME = 572,
- ERR_EQUIP_TRADE_ITEM = 573,
- ERR_PVP_TOGGLE_ON = 574,
- ERR_PVP_TOGGLE_OFF = 575,
- ERR_GROUP_JOIN_BATTLEGROUND_DESERTERS = 576,
- ERR_GROUP_JOIN_BATTLEGROUND_DEAD = 577,
- ERR_GROUP_JOIN_BATTLEGROUND_S = 578,
- ERR_GROUP_JOIN_BATTLEGROUND_FAIL = 579,
- ERR_GROUP_JOIN_BATTLEGROUND_TOO_MANY = 580,
- ERR_SOLO_JOIN_BATTLEGROUND_S = 581,
- ERR_JOIN_SINGLE_SCENARIO_S = 582,
- ERR_BATTLEGROUND_TOO_MANY_QUEUES = 583,
- ERR_BATTLEGROUND_CANNOT_QUEUE_FOR_RATED = 584,
- ERR_BATTLEDGROUND_QUEUED_FOR_RATED = 585,
- ERR_BATTLEGROUND_TEAM_LEFT_QUEUE = 586,
- ERR_BATTLEGROUND_NOT_IN_BATTLEGROUND = 587,
- ERR_ALREADY_IN_ARENA_TEAM_S = 588,
- ERR_INVALID_PROMOTION_CODE = 589,
- ERR_BG_PLAYER_JOINED_SS = 590,
- ERR_BG_PLAYER_LEFT_S = 591,
- ERR_RESTRICTED_ACCOUNT = 592,
- ERR_RESTRICTED_ACCOUNT_TRIAL = 593,
- ERR_NOT_ENOUGH_PURCHASED_GAME_TIME = 594,
- ERR_PLAY_TIME_EXCEEDED = 595,
- ERR_APPROACHING_PARTIAL_PLAY_TIME = 596,
- ERR_APPROACHING_PARTIAL_PLAY_TIME_2 = 597,
- ERR_APPROACHING_NO_PLAY_TIME = 598,
- ERR_APPROACHING_NO_PLAY_TIME_2 = 599,
- ERR_UNHEALTHY_TIME = 600,
- ERR_CHAT_RESTRICTED_TRIAL = 601,
- ERR_CHAT_THROTTLED = 602,
- ERR_MAIL_REACHED_CAP = 603,
- ERR_INVALID_RAID_TARGET = 604,
- ERR_RAID_LEADER_READY_CHECK_START_S = 605,
- ERR_READY_CHECK_IN_PROGRESS = 606,
- ERR_READY_CHECK_THROTTLED = 607,
- ERR_DUNGEON_DIFFICULTY_FAILED = 608,
- ERR_DUNGEON_DIFFICULTY_CHANGED_S = 609,
- ERR_TRADE_WRONG_REALM = 610,
- ERR_TRADE_NOT_ON_TAPLIST = 611,
- ERR_CHAT_PLAYER_AMBIGUOUS_S = 612,
- ERR_LOOT_CANT_LOOT_THAT_NOW = 613,
- ERR_LOOT_MASTER_INV_FULL = 614,
- ERR_LOOT_MASTER_UNIQUE_ITEM = 615,
- ERR_LOOT_MASTER_OTHER = 616,
- ERR_FILTERING_YOU_S = 617,
- ERR_USE_PREVENTED_BY_MECHANIC_S = 618,
- ERR_ITEM_UNIQUE_EQUIPPABLE = 619,
- ERR_LFG_LEADER_IS_LFM_S = 620,
- ERR_LFG_PENDING = 621,
- ERR_CANT_SPEAK_LANGAGE = 622,
- ERR_VENDOR_MISSING_TURNINS = 623,
- ERR_BATTLEGROUND_NOT_IN_TEAM = 624,
- ERR_NOT_IN_BATTLEGROUND = 625,
- ERR_NOT_ENOUGH_HONOR_POINTS = 626,
- ERR_NOT_ENOUGH_ARENA_POINTS = 627,
- ERR_SOCKETING_REQUIRES_META_GEM = 628,
- ERR_SOCKETING_META_GEM_ONLY_IN_METASLOT = 629,
- ERR_SOCKETING_REQUIRES_HYDRAULIC_GEM = 630,
- ERR_SOCKETING_HYDRAULIC_GEM_ONLY_IN_HYDRAULICSLOT = 631,
- ERR_SOCKETING_REQUIRES_COGWHEEL_GEM = 632,
- ERR_SOCKETING_COGWHEEL_GEM_ONLY_IN_COGWHEELSLOT = 633,
- ERR_SOCKETING_ITEM_TOO_LOW_LEVEL = 634,
- ERR_ITEM_MAX_COUNT_SOCKETED = 635,
- ERR_SYSTEM_DISABLED = 636,
- ERR_QUEST_FAILED_TOO_MANY_DAILY_QUESTS_I = 637,
- ERR_ITEM_MAX_COUNT_EQUIPPED_SOCKETED = 638,
- ERR_ITEM_UNIQUE_EQUIPPABLE_SOCKETED = 639,
- ERR_USER_SQUELCHED = 640,
- ERR_ACCOUNT_SILENCED = 641,
- ERR_PARTY_MEMBER_SILENCED = 642,
- ERR_PARTY_MEMBER_SILENCED_LFG_DELIST = 643,
- ERR_TOO_MUCH_GOLD = 644,
- ERR_NOT_BARBER_SITTING = 645,
- ERR_QUEST_FAILED_CAIS = 646,
- ERR_INVITE_RESTRICTED_TRIAL = 647,
- ERR_VOICE_IGNORE_FULL = 648,
- ERR_VOICE_IGNORE_SELF = 649,
- ERR_VOICE_IGNORE_NOT_FOUND = 650,
- ERR_VOICE_IGNORE_ALREADY_S = 651,
- ERR_VOICE_IGNORE_ADDED_S = 652,
- ERR_VOICE_IGNORE_REMOVED_S = 653,
- ERR_VOICE_IGNORE_AMBIGUOUS = 654,
- ERR_VOICE_IGNORE_DELETED = 655,
- ERR_UNKNOWN_MACRO_OPTION_S = 656,
- ERR_NOT_DURING_ARENA_MATCH = 657,
- ERR_NOT_IN_RATED_BATTLEGROUND = 658,
- ERR_PLAYER_SILENCED = 659,
- ERR_PLAYER_UNSILENCED = 660,
- ERR_COMSAT_DISCONNECT = 661,
- ERR_COMSAT_RECONNECT_ATTEMPT = 662,
- ERR_COMSAT_CONNECT_FAIL = 663,
- ERR_MAIL_INVALID_ATTACHMENT_SLOT = 664,
- ERR_MAIL_TOO_MANY_ATTACHMENTS = 665,
- ERR_MAIL_INVALID_ATTACHMENT = 666,
- ERR_MAIL_ATTACHMENT_EXPIRED = 667,
- ERR_VOICE_CHAT_PARENTAL_DISABLE_MIC = 668,
- ERR_PROFANE_CHAT_NAME = 669,
- ERR_PLAYER_SILENCED_ECHO = 670,
- ERR_PLAYER_UNSILENCED_ECHO = 671,
- ERR_LOOT_CANT_LOOT_THAT = 672,
- ERR_ARENA_EXPIRED_CAIS = 673,
- ERR_GROUP_ACTION_THROTTLED = 674,
- ERR_ALREADY_PICKPOCKETED = 675,
- ERR_NAME_INVALID = 676,
- ERR_NAME_NO_NAME = 677,
- ERR_NAME_TOO_SHORT = 678,
- ERR_NAME_TOO_LONG = 679,
- ERR_NAME_MIXED_LANGUAGES = 680,
- ERR_NAME_PROFANE = 681,
- ERR_NAME_RESERVED = 682,
- ERR_NAME_THREE_CONSECUTIVE = 683,
- ERR_NAME_INVALID_SPACE = 684,
- ERR_NAME_CONSECUTIVE_SPACES = 685,
- ERR_NAME_RUSSIAN_CONSECUTIVE_SILENT_CHARACTERS = 686,
- ERR_NAME_RUSSIAN_SILENT_CHARACTER_AT_BEGINNING_OR_END = 687,
- ERR_NAME_DECLENSION_DOESNT_MATCH_BASE_NAME = 688,
- ERR_RECRUIT_A_FRIEND_NOT_LINKED = 689,
- ERR_RECRUIT_A_FRIEND_NOT_NOW = 690,
- ERR_RECRUIT_A_FRIEND_SUMMON_LEVEL_MAX = 691,
- ERR_RECRUIT_A_FRIEND_SUMMON_COOLDOWN = 692,
- ERR_RECRUIT_A_FRIEND_SUMMON_OFFLINE = 693,
- ERR_RECRUIT_A_FRIEND_INSUF_EXPAN_LVL = 694,
- ERR_RECRUIT_A_FRIEND_MAP_INCOMING_TRANSFER_NOT_ALLOWED = 695,
- ERR_NOT_SAME_ACCOUNT = 696,
- ERR_BAD_ON_USE_ENCHANT = 697,
- ERR_TRADE_SELF = 698,
- ERR_TOO_MANY_SOCKETS = 699,
- ERR_ITEM_MAX_LIMIT_CATEGORY_COUNT_EXCEEDED_IS = 700,
- ERR_TRADE_TARGET_MAX_LIMIT_CATEGORY_COUNT_EXCEEDED_IS = 701,
- ERR_ITEM_MAX_LIMIT_CATEGORY_SOCKETED_EXCEEDED_IS = 702,
- ERR_ITEM_MAX_LIMIT_CATEGORY_EQUIPPED_EXCEEDED_IS = 703,
- ERR_SHAPESHIFT_FORM_CANNOT_EQUIP = 704,
- ERR_ITEM_INVENTORY_FULL_SATCHEL = 705,
- ERR_SCALING_STAT_ITEM_LEVEL_EXCEEDED = 706,
- ERR_SCALING_STAT_ITEM_LEVEL_TOO_LOW = 707,
- ERR_PURCHASE_LEVEL_TOO_LOW = 708,
- ERR_GROUP_SWAP_FAILED = 709,
- ERR_INVITE_IN_COMBAT = 710,
- ERR_INVALID_GLYPH_SLOT = 711,
- ERR_GENERIC_NO_VALID_TARGETS = 712,
- ERR_CALENDAR_EVENT_ALERT_S = 713,
- ERR_PET_LEARN_SPELL_S = 714,
- ERR_PET_LEARN_ABILITY_S = 715,
- ERR_PET_SPELL_UNLEARNED_S = 716,
- ERR_INVITE_UNKNOWN_REALM = 717,
- ERR_INVITE_NO_PARTY_SERVER = 718,
- ERR_INVITE_PARTY_BUSY = 719,
- ERR_INVITE_PARTY_BUSY_PENDING_REQUEST = 720,
- ERR_INVITE_PARTY_BUSY_PENDING_SUGGEST = 721,
- ERR_PARTY_TARGET_AMBIGUOUS = 722,
- ERR_PARTY_LFG_INVITE_RAID_LOCKED = 723,
- ERR_PARTY_LFG_BOOT_LIMIT = 724,
- ERR_PARTY_LFG_BOOT_COOLDOWN_S = 725,
- ERR_PARTY_LFG_BOOT_NOT_ELIGIBLE_S = 726,
- ERR_PARTY_LFG_BOOT_INPATIENT_TIMER_S = 727,
- ERR_PARTY_LFG_BOOT_IN_PROGRESS = 728,
- ERR_PARTY_LFG_BOOT_TOO_FEW_PLAYERS = 729,
- ERR_PARTY_LFG_BOOT_VOTE_SUCCEEDED = 730,
- ERR_PARTY_LFG_BOOT_VOTE_FAILED = 731,
- ERR_PARTY_LFG_BOOT_DISALLOWED_BY_MAP = 732,
- ERR_PARTY_LFG_BOOT_DUNGEON_COMPLETE = 733,
- ERR_PARTY_LFG_BOOT_LOOT_ROLLS = 734,
- ERR_PARTY_LFG_BOOT_VOTE_REGISTERED = 735,
- ERR_PARTY_PRIVATE_GROUP_ONLY = 736,
- ERR_PARTY_LFG_TELEPORT_IN_COMBAT = 737,
- ERR_PARTY_TIME_RUNNING_SEASON_ID_MUST_MATCH = 738,
- ERR_RAID_DISALLOWED_BY_LEVEL = 739,
- ERR_RAID_DISALLOWED_BY_CROSS_REALM = 740,
- ERR_PARTY_ROLE_NOT_AVAILABLE = 741,
- ERR_JOIN_LFG_OBJECT_FAILED = 742,
- ERR_LFG_REMOVED_LEVELUP = 743,
- ERR_LFG_REMOVED_XP_TOGGLE = 744,
- ERR_LFG_REMOVED_FACTION_CHANGE = 745,
- ERR_BATTLEGROUND_INFO_THROTTLED = 746,
- ERR_BATTLEGROUND_ALREADY_IN = 747,
- ERR_ARENA_TEAM_CHANGE_FAILED_QUEUED = 748,
- ERR_ARENA_TEAM_PERMISSIONS = 749,
- ERR_NOT_WHILE_FALLING = 750,
- ERR_NOT_WHILE_MOVING = 751,
- ERR_NOT_WHILE_FATIGUED = 752,
- ERR_MAX_SOCKETS = 753,
- ERR_MULTI_CAST_ACTION_TOTEM_S = 754,
- ERR_BATTLEGROUND_JOIN_LEVELUP = 755,
- ERR_REMOVE_FROM_PVP_QUEUE_XP_GAIN = 756,
- ERR_BATTLEGROUND_JOIN_XP_GAIN = 757,
- ERR_BATTLEGROUND_JOIN_MERCENARY = 758,
- ERR_BATTLEGROUND_JOIN_TOO_MANY_HEALERS = 759,
- ERR_BATTLEGROUND_JOIN_RATED_TOO_MANY_HEALERS = 760,
- ERR_BATTLEGROUND_JOIN_TOO_MANY_TANKS = 761,
- ERR_BATTLEGROUND_JOIN_TOO_MANY_DAMAGE = 762,
- ERR_RAID_DIFFICULTY_FAILED = 763,
- ERR_RAID_DIFFICULTY_CHANGED_S = 764,
- ERR_LEGACY_RAID_DIFFICULTY_CHANGED_S = 765,
- ERR_RAID_LOCKOUT_CHANGED_S = 766,
- ERR_RAID_CONVERTED_TO_PARTY = 767,
- ERR_PARTY_CONVERTED_TO_RAID = 768,
- ERR_PLAYER_DIFFICULTY_CHANGED_S = 769,
- ERR_GMRESPONSE_DB_ERROR = 770,
- ERR_BATTLEGROUND_JOIN_RANGE_INDEX = 771,
- ERR_ARENA_JOIN_RANGE_INDEX = 772,
- ERR_REMOVE_FROM_PVP_QUEUE_FACTION_CHANGE = 773,
- ERR_BATTLEGROUND_JOIN_FAILED = 774,
- ERR_BATTLEGROUND_JOIN_NO_VALID_SPEC_FOR_ROLE = 775,
- ERR_BATTLEGROUND_JOIN_RESPEC = 776,
- ERR_BATTLEGROUND_INVITATION_DECLINED = 777,
- ERR_BATTLEGROUND_INVITATION_DECLINED_BY = 778,
- ERR_BATTLEGROUND_JOIN_TIMED_OUT = 779,
- ERR_BATTLEGROUND_DUPE_QUEUE = 780,
- ERR_BATTLEGROUND_JOIN_MUST_COMPLETE_QUEST = 781,
- ERR_IN_BATTLEGROUND_RESPEC = 782,
- ERR_MAIL_LIMITED_DURATION_ITEM = 783,
- ERR_YELL_RESTRICTED_TRIAL = 784,
- ERR_CHAT_RAID_RESTRICTED_TRIAL = 785,
- ERR_LFG_ROLE_CHECK_FAILED = 786,
- ERR_LFG_ROLE_CHECK_FAILED_TIMEOUT = 787,
- ERR_LFG_ROLE_CHECK_FAILED_NOT_VIABLE = 788,
- ERR_LFG_READY_CHECK_FAILED = 789,
- ERR_LFG_READY_CHECK_FAILED_TIMEOUT = 790,
- ERR_LFG_GROUP_FULL = 791,
- ERR_LFG_NO_LFG_OBJECT = 792,
- ERR_LFG_NO_SLOTS_PLAYER = 793,
- ERR_LFG_NO_SLOTS_PARTY = 794,
- ERR_LFG_NO_SPEC = 795,
- ERR_LFG_MISMATCHED_SLOTS = 796,
- ERR_LFG_MISMATCHED_SLOTS_LOCAL_XREALM = 797,
- ERR_LFG_PARTY_PLAYERS_FROM_DIFFERENT_REALMS = 798,
- ERR_LFG_MEMBERS_NOT_PRESENT = 799,
- ERR_LFG_GET_INFO_TIMEOUT = 800,
- ERR_LFG_INVALID_SLOT = 801,
- ERR_LFG_DESERTER_PLAYER = 802,
- ERR_LFG_DESERTER_PARTY = 803,
- ERR_LFG_DEAD = 804,
- ERR_LFG_RANDOM_COOLDOWN_PLAYER = 805,
- ERR_LFG_RANDOM_COOLDOWN_PARTY = 806,
- ERR_LFG_TOO_MANY_MEMBERS = 807,
- ERR_LFG_TOO_FEW_MEMBERS = 808,
- ERR_LFG_PROPOSAL_FAILED = 809,
- ERR_LFG_PROPOSAL_DECLINED_SELF = 810,
- ERR_LFG_PROPOSAL_DECLINED_PARTY = 811,
- ERR_LFG_NO_SLOTS_SELECTED = 812,
- ERR_LFG_NO_ROLES_SELECTED = 813,
- ERR_LFG_ROLE_CHECK_INITIATED = 814,
- ERR_LFG_READY_CHECK_INITIATED = 815,
- ERR_LFG_PLAYER_DECLINED_ROLE_CHECK = 816,
- ERR_LFG_PLAYER_DECLINED_READY_CHECK = 817,
- ERR_LFG_LOREWALKING = 818,
- ERR_LFG_JOINED_QUEUE = 819,
- ERR_LFG_JOINED_FLEX_QUEUE = 820,
- ERR_LFG_JOINED_RF_QUEUE = 821,
- ERR_LFG_JOINED_SCENARIO_QUEUE = 822,
- ERR_LFG_JOINED_WORLD_PVP_QUEUE = 823,
- ERR_LFG_JOINED_BATTLEFIELD_QUEUE = 824,
- ERR_LFG_JOINED_LIST = 825,
- ERR_QUEUED_PLUNDERSTORM = 826,
- ERR_LFG_LEFT_QUEUE = 827,
- ERR_LFG_LEFT_LIST = 828,
- ERR_LFG_ROLE_CHECK_ABORTED = 829,
- ERR_LFG_READY_CHECK_ABORTED = 830,
- ERR_LFG_CANT_USE_BATTLEGROUND = 831,
- ERR_LFG_CANT_USE_DUNGEONS = 832,
- ERR_LFG_REASON_TOO_MANY_LFG = 833,
- ERR_LFG_FARM_LIMIT = 834,
- ERR_LFG_NO_CROSS_FACTION_PARTIES = 835,
- ERR_INVALID_TELEPORT_LOCATION = 836,
- ERR_TOO_FAR_TO_INTERACT = 837,
- ERR_BATTLEGROUND_PLAYERS_FROM_DIFFERENT_REALMS = 838,
- ERR_DIFFICULTY_CHANGE_COOLDOWN_S = 839,
- ERR_DIFFICULTY_CHANGE_COMBAT_COOLDOWN_S = 840,
- ERR_DIFFICULTY_CHANGE_WORLDSTATE = 841,
- ERR_DIFFICULTY_CHANGE_ENCOUNTER = 842,
- ERR_DIFFICULTY_CHANGE_COMBAT = 843,
- ERR_DIFFICULTY_CHANGE_PLAYER_BUSY = 844,
- ERR_DIFFICULTY_CHANGE_PLAYER_ON_VEHICLE = 845,
- ERR_DIFFICULTY_CHANGE_ALREADY_STARTED = 846,
- ERR_DIFFICULTY_CHANGE_OTHER_HEROIC_S = 847,
- ERR_DIFFICULTY_CHANGE_HEROIC_INSTANCE_ALREADY_RUNNING = 848,
- ERR_ARENA_TEAM_PARTY_SIZE = 849,
- ERR_SOLO_SHUFFLE_WARGAME_GROUP_SIZE = 850,
- ERR_SOLO_SHUFFLE_WARGAME_GROUP_COMP = 851,
- ERR_SOLO_RBG_WARGAME_GROUP_SIZE = 852,
- ERR_SOLO_RBG_WARGAME_GROUP_COMP = 853,
- ERR_SOLO_MIN_ITEM_LEVEL = 854,
- ERR_PVP_PLAYER_ABANDONED = 855,
- ERR_BATTLEGROUND_JOIN_GROUP_QUEUE_WITHOUT_HEALER = 856,
- ERR_QUEST_FORCE_REMOVED_S = 857,
- ERR_ATTACK_NO_ACTIONS = 858,
- ERR_IN_RANDOM_BG = 859,
- ERR_IN_NON_RANDOM_BG = 860,
- ERR_BN_FRIEND_SELF = 861,
- ERR_BN_FRIEND_ALREADY = 862,
- ERR_BN_FRIEND_BLOCKED = 863,
- ERR_BN_FRIEND_LIST_FULL = 864,
- ERR_BN_FRIEND_REQUEST_SENT = 865,
- ERR_BN_BROADCAST_THROTTLE = 866,
- ERR_BG_DEVELOPER_ONLY = 867,
- ERR_CURRENCY_SPELL_SLOT_MISMATCH = 868,
- ERR_CURRENCY_NOT_TRADABLE = 869,
- ERR_REQUIRES_EXPANSION_S = 870,
- ERR_QUEST_FAILED_SPELL = 871,
- ERR_TALENT_FAILED_UNSPENT_TALENT_POINTS = 872,
- ERR_TALENT_FAILED_NOT_ENOUGH_TALENTS_IN_PRIMARY_TREE = 873,
- ERR_TALENT_FAILED_NO_PRIMARY_TREE_SELECTED = 874,
- ERR_TALENT_FAILED_CANT_REMOVE_TALENT = 875,
- ERR_TALENT_FAILED_UNKNOWN = 876,
- ERR_TALENT_FAILED_IN_COMBAT = 877,
- ERR_TALENT_FAILED_IN_PVP_MATCH = 878,
- ERR_TALENT_FAILED_IN_MYTHIC_PLUS = 879,
- ERR_WARGAME_REQUEST_FAILURE = 880,
- ERR_RANK_REQUIRES_AUTHENTICATOR = 881,
- ERR_GUILD_BANK_VOUCHER_FAILED = 882,
- ERR_WARGAME_REQUEST_SENT = 883,
- ERR_REQUIRES_ACHIEVEMENT_I = 884,
- ERR_REFUND_RESULT_EXCEED_MAX_CURRENCY = 885,
- ERR_CANT_BUY_QUANTITY = 886,
- ERR_ITEM_IS_BATTLE_PAY_LOCKED = 887,
- ERR_PARTY_ALREADY_IN_BATTLEGROUND_QUEUE = 888,
- ERR_PARTY_CONFIRMING_BATTLEGROUND_QUEUE = 889,
- ERR_BATTLEFIELD_TEAM_PARTY_SIZE = 890,
- ERR_INSUFF_TRACKED_CURRENCY_IS = 891,
- ERR_NOT_ON_TOURNAMENT_REALM = 892,
- ERR_GUILD_TRIAL_ACCOUNT_TRIAL = 893,
- ERR_GUILD_TRIAL_ACCOUNT_VETERAN = 894,
- ERR_GUILD_UNDELETABLE_DUE_TO_LEVEL = 895,
- ERR_CANT_DO_THAT_IN_A_GROUP = 896,
- ERR_GUILD_LEADER_REPLACED = 897,
- ERR_TRANSMOGRIFY_CANT_EQUIP = 898,
- ERR_TRANSMOGRIFY_INVALID_ITEM_TYPE = 899,
- ERR_TRANSMOGRIFY_NOT_SOULBOUND = 900,
- ERR_TRANSMOGRIFY_INVALID_SOURCE = 901,
- ERR_TRANSMOGRIFY_INVALID_DESTINATION = 902,
- ERR_TRANSMOGRIFY_MISMATCH = 903,
- ERR_TRANSMOGRIFY_LEGENDARY = 904,
- ERR_TRANSMOGRIFY_SAME_ITEM = 905,
- ERR_TRANSMOGRIFY_SAME_APPEARANCE = 906,
- ERR_TRANSMOGRIFY_NOT_EQUIPPED = 907,
- ERR_VOID_DEPOSIT_FULL = 908,
- ERR_VOID_WITHDRAW_FULL = 909,
- ERR_VOID_STORAGE_WRAPPED = 910,
- ERR_VOID_STORAGE_STACKABLE = 911,
- ERR_VOID_STORAGE_UNBOUND = 912,
- ERR_VOID_STORAGE_REPAIR = 913,
- ERR_VOID_STORAGE_CHARGES = 914,
- ERR_VOID_STORAGE_QUEST = 915,
- ERR_VOID_STORAGE_CONJURED = 916,
- ERR_VOID_STORAGE_MAIL = 917,
- ERR_VOID_STORAGE_BAG = 918,
- ERR_VOID_TRANSFER_STORAGE_FULL = 919,
- ERR_VOID_TRANSFER_INV_FULL = 920,
- ERR_VOID_TRANSFER_INTERNAL_ERROR = 921,
- ERR_VOID_TRANSFER_ITEM_INVALID = 922,
- ERR_DIFFICULTY_DISABLED_IN_LFG = 923,
- ERR_VOID_STORAGE_UNIQUE = 924,
- ERR_VOID_STORAGE_LOOT = 925,
- ERR_VOID_STORAGE_HOLIDAY = 926,
- ERR_VOID_STORAGE_DURATION = 927,
- ERR_VOID_STORAGE_LOAD_FAILED = 928,
- ERR_VOID_STORAGE_INVALID_ITEM = 929,
- ERR_VOID_STORAGE_ACCOUNT_ITEM = 930,
- ERR_PARENTAL_CONTROLS_CHAT_MUTED = 931,
- ERR_SOR_START_EXPERIENCE_INCOMPLETE = 932,
- ERR_SOR_INVALID_EMAIL = 933,
- ERR_SOR_INVALID_COMMENT = 934,
- ERR_CHALLENGE_MODE_RESET_COOLDOWN_S = 935,
- ERR_CHALLENGE_MODE_RESET_KEYSTONE = 936,
- ERR_PET_JOURNAL_ALREADY_IN_LOADOUT = 937,
- ERR_REPORT_SUBMITTED_SUCCESSFULLY = 938,
- ERR_REPORT_SUBMISSION_FAILED = 939,
- ERR_SUGGESTION_SUBMITTED_SUCCESSFULLY = 940,
- ERR_BUG_SUBMITTED_SUCCESSFULLY = 941,
- ERR_CHALLENGE_MODE_ENABLED = 942,
- ERR_CHALLENGE_MODE_DISABLED = 943,
- ERR_PETBATTLE_CREATE_FAILED = 944,
- ERR_PETBATTLE_NOT_HERE = 945,
- ERR_PETBATTLE_NOT_HERE_ON_TRANSPORT = 946,
- ERR_PETBATTLE_NOT_HERE_UNEVEN_GROUND = 947,
- ERR_PETBATTLE_NOT_HERE_OBSTRUCTED = 948,
- ERR_PETBATTLE_NOT_WHILE_IN_COMBAT = 949,
- ERR_PETBATTLE_NOT_WHILE_DEAD = 950,
- ERR_PETBATTLE_NOT_WHILE_FLYING = 951,
- ERR_PETBATTLE_TARGET_INVALID = 952,
- ERR_PETBATTLE_TARGET_OUT_OF_RANGE = 953,
- ERR_PETBATTLE_TARGET_NOT_CAPTURABLE = 954,
- ERR_PETBATTLE_NOT_A_TRAINER = 955,
- ERR_PETBATTLE_DECLINED = 956,
- ERR_PETBATTLE_IN_BATTLE = 957,
- ERR_PETBATTLE_INVALID_LOADOUT = 958,
- ERR_PETBATTLE_ALL_PETS_DEAD = 959,
- ERR_PETBATTLE_NO_PETS_IN_SLOTS = 960,
- ERR_PETBATTLE_NO_ACCOUNT_LOCK = 961,
- ERR_PETBATTLE_WILD_PET_TAPPED = 962,
- ERR_PETBATTLE_RESTRICTED_ACCOUNT = 963,
- ERR_PETBATTLE_OPPONENT_NOT_AVAILABLE = 964,
- ERR_PETBATTLE_NOT_WHILE_IN_MATCHED_BATTLE = 965,
- ERR_CANT_HAVE_MORE_PETS_OF_THAT_TYPE = 966,
- ERR_CANT_HAVE_MORE_PETS = 967,
- ERR_PVP_MAP_NOT_FOUND = 968,
- ERR_PVP_MAP_NOT_SET = 969,
- ERR_PETBATTLE_QUEUE_QUEUED = 970,
- ERR_PETBATTLE_QUEUE_ALREADY_QUEUED = 971,
- ERR_PETBATTLE_QUEUE_JOIN_FAILED = 972,
- ERR_PETBATTLE_QUEUE_JOURNAL_LOCK = 973,
- ERR_PETBATTLE_QUEUE_REMOVED = 974,
- ERR_PETBATTLE_QUEUE_PROPOSAL_DECLINED = 975,
- ERR_PETBATTLE_QUEUE_PROPOSAL_TIMEOUT = 976,
- ERR_PETBATTLE_QUEUE_OPPONENT_DECLINED = 977,
- ERR_PETBATTLE_QUEUE_REQUEUED_INTERNAL = 978,
- ERR_PETBATTLE_QUEUE_REQUEUED_REMOVED = 979,
- ERR_PETBATTLE_QUEUE_SLOT_LOCKED = 980,
- ERR_PETBATTLE_QUEUE_SLOT_EMPTY = 981,
- ERR_PETBATTLE_QUEUE_SLOT_NO_TRACKER = 982,
- ERR_PETBATTLE_QUEUE_SLOT_NO_SPECIES = 983,
- ERR_PETBATTLE_QUEUE_SLOT_CANT_BATTLE = 984,
- ERR_PETBATTLE_QUEUE_SLOT_REVOKED = 985,
- ERR_PETBATTLE_QUEUE_SLOT_DEAD = 986,
- ERR_PETBATTLE_QUEUE_SLOT_NO_PET = 987,
- ERR_PETBATTLE_QUEUE_NOT_WHILE_NEUTRAL = 988,
- ERR_PETBATTLE_GAME_TIME_LIMIT_WARNING = 989,
- ERR_PETBATTLE_GAME_ROUNDS_LIMIT_WARNING = 990,
- ERR_HAS_RESTRICTION = 991,
- ERR_ITEM_UPGRADE_ITEM_TOO_LOW_LEVEL = 992,
- ERR_ITEM_UPGRADE_NO_PATH = 993,
- ERR_ITEM_UPGRADE_NO_MORE_UPGRADES = 994,
- ERR_BONUS_ROLL_EMPTY = 995,
- ERR_CHALLENGE_MODE_FULL = 996,
- ERR_CHALLENGE_MODE_IN_PROGRESS = 997,
- ERR_CHALLENGE_MODE_INCORRECT_KEYSTONE = 998,
- ERR_BATTLETAG_FRIEND_NOT_FOUND = 999,
- ERR_BATTLETAG_FRIEND_NOT_VALID = 1000,
- ERR_BATTLETAG_FRIEND_NOT_ALLOWED = 1001,
- ERR_BATTLETAG_FRIEND_THROTTLED = 1002,
- ERR_BATTLETAG_FRIEND_SUCCESS = 1003,
- ERR_PET_TOO_HIGH_LEVEL_TO_UNCAGE = 1004,
- ERR_PETBATTLE_INTERNAL = 1005,
- ERR_CANT_CAGE_PET_YET = 1006,
- ERR_NO_LOOT_IN_CHALLENGE_MODE = 1007,
- ERR_QUEST_PET_BATTLE_VICTORIES_PVP_II = 1008,
- ERR_ROLE_CHECK_ALREADY_IN_PROGRESS = 1009,
- ERR_RECRUIT_A_FRIEND_ACCOUNT_LIMIT = 1010,
- ERR_RECRUIT_A_FRIEND_FAILED = 1011,
- ERR_SET_LOOT_PERSONAL = 1012,
- ERR_SET_LOOT_METHOD_FAILED_COMBAT = 1013,
- ERR_REAGENT_BANK_FULL = 1014,
- ERR_REAGENT_BANK_LOCKED = 1015,
- ERR_GARRISON_BUILDING_EXISTS = 1016,
- ERR_GARRISON_INVALID_PLOT = 1017,
- ERR_GARRISON_INVALID_BUILDINGID = 1018,
- ERR_GARRISON_INVALID_PLOT_BUILDING = 1019,
- ERR_GARRISON_REQUIRES_BLUEPRINT = 1020,
- ERR_GARRISON_NOT_ENOUGH_CURRENCY = 1021,
- ERR_GARRISON_NOT_ENOUGH_GOLD = 1022,
- ERR_GARRISON_COMPLETE_MISSION_WRONG_FOLLOWER_TYPE = 1023,
- ERR_ALREADY_USING_LFG_LIST = 1024,
- ERR_RESTRICTED_ACCOUNT_LFG_LIST_TRIAL = 1025,
- ERR_TOY_USE_LIMIT_REACHED = 1026,
- ERR_TOY_ALREADY_KNOWN = 1027,
- ERR_TRANSMOG_SET_ALREADY_KNOWN = 1028,
- ERR_NOT_ENOUGH_CURRENCY = 1029,
- ERR_SPEC_IS_DISABLED = 1030,
- ERR_FEATURE_RESTRICTED_TRIAL = 1031,
- ERR_CANT_BE_OBLITERATED = 1032,
- ERR_CANT_BE_SCRAPPED = 1033,
- ERR_CANT_BE_RECRAFTED = 1034,
- ERR_ARTIFACT_RELIC_DOES_NOT_MATCH_ARTIFACT = 1035,
- ERR_MUST_EQUIP_ARTIFACT = 1036,
- ERR_CANT_DO_THAT_RIGHT_NOW = 1037,
- ERR_AFFECTING_COMBAT = 1038,
- ERR_EQUIPMENT_MANAGER_COMBAT_SWAP_S = 1039,
- ERR_EQUIPMENT_MANAGER_BAGS_FULL = 1040,
- ERR_EQUIPMENT_MANAGER_MISSING_ITEM_S = 1041,
- ERR_MOVIE_RECORDING_WARNING_PERF = 1042,
- ERR_MOVIE_RECORDING_WARNING_DISK_FULL = 1043,
- ERR_MOVIE_RECORDING_WARNING_NO_MOVIE = 1044,
- ERR_MOVIE_RECORDING_WARNING_REQUIREMENTS = 1045,
- ERR_MOVIE_RECORDING_WARNING_COMPRESSING = 1046,
- ERR_NO_CHALLENGE_MODE_REWARD = 1047,
- ERR_CLAIMED_CHALLENGE_MODE_REWARD = 1048,
- ERR_CHALLENGE_MODE_PERIOD_RESET_SS = 1049,
- ERR_CANT_DO_THAT_CHALLENGE_MODE_ACTIVE = 1050,
- ERR_TALENT_FAILED_REST_AREA = 1051,
- ERR_CANNOT_ABANDON_LAST_PET = 1052,
- ERR_TEST_CVAR_SET_SSS = 1053,
- ERR_QUEST_TURN_IN_FAIL_REASON = 1054,
- ERR_CLAIMED_CHALLENGE_MODE_REWARD_OLD = 1055,
- ERR_TALENT_GRANTED_BY_AURA = 1056,
- ERR_CHALLENGE_MODE_ALREADY_COMPLETE = 1057,
- ERR_GLYPH_TARGET_NOT_AVAILABLE = 1058,
- ERR_PVP_WARMODE_TOGGLE_ON = 1059,
- ERR_PVP_WARMODE_TOGGLE_OFF = 1060,
- ERR_SPELL_FAILED_LEVEL_REQUIREMENT = 1061,
- ERR_SPELL_FAILED_CANT_FLY_HERE = 1062,
- ERR_BATTLEGROUND_JOIN_REQUIRES_LEVEL = 1063,
- ERR_BATTLEGROUND_JOIN_DISQUALIFIED = 1064,
- ERR_BATTLEGROUND_JOIN_DISQUALIFIED_NO_NAME = 1065,
- ERR_VOICE_CHAT_GENERIC_UNABLE_TO_CONNECT = 1066,
- ERR_VOICE_CHAT_SERVICE_LOST = 1067,
- ERR_VOICE_CHAT_CHANNEL_NAME_TOO_SHORT = 1068,
- ERR_VOICE_CHAT_CHANNEL_NAME_TOO_LONG = 1069,
- ERR_VOICE_CHAT_CHANNEL_ALREADY_EXISTS = 1070,
- ERR_VOICE_CHAT_TARGET_NOT_FOUND = 1071,
- ERR_VOICE_CHAT_TOO_MANY_REQUESTS = 1072,
- ERR_VOICE_CHAT_PLAYER_SILENCED = 1073,
- ERR_VOICE_CHAT_PARENTAL_DISABLE_ALL = 1074,
- ERR_VOICE_CHAT_DISABLED = 1075,
- ERR_NO_PVP_REWARD = 1076,
- ERR_CLAIMED_PVP_REWARD = 1077,
- ERR_AZERITE_ESSENCE_SELECTION_FAILED_ESSENCE_NOT_UNLOCKED = 1078,
- ERR_AZERITE_ESSENCE_SELECTION_FAILED_CANT_REMOVE_ESSENCE = 1079,
- ERR_AZERITE_ESSENCE_SELECTION_FAILED_CONDITION_FAILED = 1080,
- ERR_AZERITE_ESSENCE_SELECTION_FAILED_REST_AREA = 1081,
- ERR_AZERITE_ESSENCE_SELECTION_FAILED_SLOT_LOCKED = 1082,
- ERR_AZERITE_ESSENCE_SELECTION_FAILED_NOT_AT_FORGE = 1083,
- ERR_AZERITE_ESSENCE_SELECTION_FAILED_HEART_LEVEL_TOO_LOW = 1084,
- ERR_AZERITE_ESSENCE_SELECTION_FAILED_NOT_EQUIPPED = 1085,
- ERR_SOCKETING_REQUIRES_PUNCHCARDRED_GEM = 1086,
- ERR_SOCKETING_PUNCHCARDRED_GEM_ONLY_IN_PUNCHCARDREDSLOT = 1087,
- ERR_SOCKETING_REQUIRES_PUNCHCARDYELLOW_GEM = 1088,
- ERR_SOCKETING_PUNCHCARDYELLOW_GEM_ONLY_IN_PUNCHCARDYELLOWSLOT = 1089,
- ERR_SOCKETING_REQUIRES_PUNCHCARDBLUE_GEM = 1090,
- ERR_SOCKETING_PUNCHCARDBLUE_GEM_ONLY_IN_PUNCHCARDBLUESLOT = 1091,
- ERR_SOCKETING_REQUIRES_DOMINATION_SHARD = 1092,
- ERR_SOCKETING_DOMINATION_SHARD_ONLY_IN_DOMINATIONSLOT = 1093,
- ERR_SOCKETING_REQUIRES_CYPHER_GEM = 1094,
- ERR_SOCKETING_CYPHER_GEM_ONLY_IN_CYPHERSLOT = 1095,
- ERR_SOCKETING_REQUIRES_TINKER_GEM = 1096,
- ERR_SOCKETING_TINKER_GEM_ONLY_IN_TINKERSLOT = 1097,
- ERR_SOCKETING_REQUIRES_PRIMORDIAL_GEM = 1098,
- ERR_SOCKETING_PRIMORDIAL_GEM_ONLY_IN_PRIMORDIALSLOT = 1099,
- ERR_SOCKETING_REQUIRES_FRAGRANCE_GEM = 1100,
- ERR_SOCKETING_FRAGRANCE_GEM_ONLY_IN_FRAGRANCESLOT = 1101,
- ERR_SOCKETING_REQUIRES_SINGING_THUNDER_GEM = 1102,
- ERR_SOCKETING_SINGINGTHUNDER_GEM_ONLY_IN_SINGINGTHUNDERSLOT = 1103,
- ERR_SOCKETING_REQUIRES_SINGING_SEA_GEM = 1104,
- ERR_SOCKETING_SINGINGSEA_GEM_ONLY_IN_SINGINGSEASLOT = 1105,
- ERR_SOCKETING_REQUIRES_SINGING_WIND_GEM = 1106,
- ERR_SOCKETING_SINGINGWIND_GEM_ONLY_IN_SINGINGWINDSLOT = 1107,
- ERR_LEVEL_LINKING_RESULT_LINKED = 1108,
- ERR_LEVEL_LINKING_RESULT_UNLINKED = 1109,
- ERR_CLUB_FINDER_ERROR_POST_CLUB = 1110,
- ERR_CLUB_FINDER_ERROR_APPLY_CLUB = 1111,
- ERR_CLUB_FINDER_ERROR_RESPOND_APPLICANT = 1112,
- ERR_CLUB_FINDER_ERROR_CANCEL_APPLICATION = 1113,
- ERR_CLUB_FINDER_ERROR_TYPE_ACCEPT_APPLICATION = 1114,
- ERR_CLUB_FINDER_ERROR_TYPE_NO_INVITE_PERMISSIONS = 1115,
- ERR_CLUB_FINDER_ERROR_TYPE_NO_POSTING_PERMISSIONS = 1116,
- ERR_CLUB_FINDER_ERROR_TYPE_APPLICANT_LIST = 1117,
- ERR_CLUB_FINDER_ERROR_TYPE_APPLICANT_LIST_NO_PERM = 1118,
- ERR_CLUB_FINDER_ERROR_TYPE_FINDER_NOT_AVAILABLE = 1119,
- ERR_CLUB_FINDER_ERROR_TYPE_GET_POSTING_IDS = 1120,
- ERR_CLUB_FINDER_ERROR_TYPE_JOIN_APPLICATION = 1121,
- ERR_CLUB_FINDER_ERROR_TYPE_REALM_NOT_ELIGIBLE = 1122,
- ERR_CLUB_FINDER_ERROR_TYPE_FLAGGED_RENAME = 1123,
- ERR_CLUB_FINDER_ERROR_TYPE_FLAGGED_DESCRIPTION_CHANGE = 1124,
- ERR_ITEM_INTERACTION_NOT_ENOUGH_GOLD = 1125,
- ERR_ITEM_INTERACTION_NOT_ENOUGH_CURRENCY = 1126,
- ERR_ITEM_INTERACTION_NO_CONVERSION_OUTPUT = 1127,
- ERR_PLAYER_CHOICE_ERROR_PENDING_CHOICE = 1128,
- ERR_SOULBIND_INVALID_CONDUIT = 1129,
- ERR_SOULBIND_INVALID_CONDUIT_ITEM = 1130,
- ERR_SOULBIND_INVALID_TALENT = 1131,
- ERR_SOULBIND_DUPLICATE_CONDUIT = 1132,
- ERR_ACTIVATE_SOULBIND_S = 1133,
- ERR_ACTIVATE_SOULBIND_FAILED_REST_AREA = 1134,
- ERR_CANT_USE_PROFANITY = 1135,
- ERR_NOT_IN_PET_BATTLE = 1136,
- ERR_NOT_IN_NPE = 1137,
- ERR_NO_SPEC = 1138,
- ERR_NO_DOMINATIONSHARD_OVERWRITE = 1139,
- ERR_USE_WEEKLY_REWARDS_DISABLED = 1140,
- ERR_CROSS_FACTION_GROUP_JOINED = 1141,
- ERR_CANT_TARGET_UNFRIENDLY_IN_OVERWORLD = 1142,
- ERR_EQUIPABLESPELLS_SLOTS_FULL = 1143,
- ERR_ITEM_MOD_APPEARANCE_GROUP_ALREADY_KNOWN = 1144,
- ERR_CANT_BULK_SELL_ITEM_WITH_REFUND = 1145,
- ERR_NO_SOULBOUND_ITEM_IN_ACCOUNT_BANK = 1146,
- ERR_NO_REFUNDABLE_ITEM_IN_ACCOUNT_BANK = 1147,
- ERR_CANT_DELETE_IN_ACCOUNT_BANK = 1148,
- ERR_NO_IMMEDIATE_CONTAINER_IN_ACCOUNT_BANK = 1149,
- ERR_NO_OPEN_IMMEDIATE_CONTAINER_IN_ACCOUNT_BANK = 1150,
- ERR_CANT_TRADE_ACCOUNT_ITEM = 1151,
- ERR_NO_ACCOUNT_INVENTORY_LOCK = 1152,
- ERR_BANK_NOT_ACCESSIBLE = 1153,
- ERR_TOO_MANY_ACCOUNT_BANK_TABS = 1154,
- ERR_ACCOUNT_BANK_TAB_NOT_UNLOCKED = 1155,
- ERR_ACCOUNT_MONEY_LOCKED = 1156,
- ERR_BANK_TAB_INVALID_NAME = 1157,
- ERR_BANK_TAB_INVALID_TEXT = 1158,
- ERR_WOW_LABS_PARTY_ERROR_TYPE_PARTY_IS_FULL = 1159,
- ERR_WOW_LABS_PARTY_ERROR_TYPE_MAX_INVITE_SENT = 1160,
- ERR_WOW_LABS_PARTY_ERROR_TYPE_PLAYER_ALREADY_INVITED = 1161,
- ERR_WOW_LABS_PARTY_ERROR_TYPE_PARTY_INVITE_INVALID = 1162,
- ERR_WOW_LABS_LOBBY_MATCHMAKER_ERROR_ENTER_QUEUE_FAILED = 1163,
- ERR_WOW_LABS_LOBBY_MATCHMAKER_ERROR_LEAVE_QUEUE_FAILED = 1164,
- ERR_WOW_LABS_SET_WOW_LABS_AREA_ID_FAILED = 1165,
- ERR_PLUNDERSTORM_CANNOT_QUEUE = 1166,
- ERR_TARGET_IS_SELF_FOUND_CANNOT_TRADE = 1167,
- ERR_PLAYER_IS_SELF_FOUND_CANNOT_TRADE = 1168,
- ERR_MAIL_RECEPIENT_IS_SELF_FOUND_CANNOT_RECEIVE_MAIL = 1169,
- ERR_PLAYER_IS_SELF_FOUND_CANNOT_SEND_MAIL = 1170,
- ERR_PLAYER_IS_SELF_FOUND_CANNOT_USE_AUCTION_HOUSE = 1171,
- ERR_MAIL_TARGET_CANNOT_RECEIVE_MAIL = 1172,
- ERR_REMIX_INVALID_TRANSFER_REQUEST = 1173,
- ERR_CURRENCY_TRANSFER_INVALID_CHARACTER = 1174,
- ERR_CURRENCY_TRANSFER_INVALID_CURRENCY = 1175,
- ERR_CURRENCY_TRANSFER_INSUFFICIENT_CURRENCY = 1176,
- ERR_CURRENCY_TRANSFER_MAX_QUANTITY = 1177,
- ERR_CURRENCY_TRANSFER_NO_VALID_SOURCE = 1178,
- ERR_CURRENCY_TRANSFER_CHARACTER_LOGGED_IN = 1179,
- ERR_CURRENCY_TRANSFER_SERVER_ERROR = 1180,
- ERR_CURRENCY_TRANSFER_UNMET_REQUIREMENTS = 1181,
- ERR_CURRENCY_TRANSFER_TRANSACTION_IN_PROGRESS = 1182,
+ ERR_OUT_OF_RUNE_BLOOD = 372,
+ ERR_OUT_OF_RUNE_FROST = 373,
+ ERR_OUT_OF_RUNE_UNHOLY = 374,
+ ERR_OUT_OF_ALTERNATE_QUEST = 375,
+ ERR_OUT_OF_ALTERNATE_ENCOUNTER = 376,
+ ERR_OUT_OF_ALTERNATE_MOUNT = 377,
+ ERR_OUT_OF_BALANCE = 378,
+ ERR_OUT_OF_HAPPINESS = 379,
+ ERR_OUT_OF_SHADOW_ORBS = 380,
+ ERR_OUT_OF_RUNE_CHROMATIC = 381,
+ ERR_LOOT_GONE = 382,
+ ERR_MOUNT_FORCEDDISMOUNT = 383,
+ ERR_AUTOFOLLOW_TOO_FAR = 384,
+ ERR_UNIT_NOT_FOUND = 385,
+ ERR_INVALID_FOLLOW_TARGET = 386,
+ ERR_INVALID_FOLLOW_PVP_COMBAT = 387,
+ ERR_INVALID_FOLLOW_TARGET_PVP_COMBAT = 388,
+ ERR_INVALID_INSPECT_TARGET = 389,
+ ERR_GUILDEMBLEM_SUCCESS = 390,
+ ERR_GUILDEMBLEM_INVALID_TABARD_COLORS = 391,
+ ERR_GUILDEMBLEM_NOGUILD = 392,
+ ERR_GUILDEMBLEM_NOTGUILDMASTER = 393,
+ ERR_GUILDEMBLEM_NOTENOUGHMONEY = 394,
+ ERR_GUILDEMBLEM_INVALIDVENDOR = 395,
+ ERR_EMBLEMERROR_NOTABARDGEOSET = 396,
+ ERR_SPELL_OUT_OF_RANGE = 397,
+ ERR_COMMAND_NEEDS_TARGET = 398,
+ ERR_NOAMMO_S = 399,
+ ERR_TOOBUSYTOFOLLOW = 400,
+ ERR_DUEL_REQUESTED = 401,
+ ERR_DUEL_CANCELLED = 402,
+ ERR_DEATHBINDALREADYBOUND = 403,
+ ERR_DEATHBIND_SUCCESS_S = 404,
+ ERR_NOEMOTEWHILERUNNING = 405,
+ ERR_ZONE_EXPLORED = 406,
+ ERR_ZONE_EXPLORED_XP = 407,
+ ERR_INVALID_ITEM_TARGET = 408,
+ ERR_INVALID_QUEST_TARGET = 409,
+ ERR_IGNORING_YOU_S = 410,
+ ERR_FISH_NOT_HOOKED = 411,
+ ERR_FISH_ESCAPED = 412,
+ ERR_SPELL_FAILED_NOTUNSHEATHED = 413,
+ ERR_PETITION_OFFERED_S = 414,
+ ERR_PETITION_SIGNED = 415,
+ ERR_PETITION_SIGNED_S = 416,
+ ERR_PETITION_DECLINED_S = 417,
+ ERR_PETITION_ALREADY_SIGNED = 418,
+ ERR_PETITION_RESTRICTED_ACCOUNT_TRIAL = 419,
+ ERR_PETITION_ALREADY_SIGNED_OTHER = 420,
+ ERR_PETITION_IN_GUILD = 421,
+ ERR_PETITION_CREATOR = 422,
+ ERR_PETITION_NOT_ENOUGH_SIGNATURES = 423,
+ ERR_PETITION_NOT_SAME_SERVER = 424,
+ ERR_PETITION_FULL = 425,
+ ERR_PETITION_ALREADY_SIGNED_BY_S = 426,
+ ERR_GUILD_NAME_INVALID = 427,
+ ERR_SPELL_UNLEARNED_S = 428,
+ ERR_PET_SPELL_ROOTED = 429,
+ ERR_PET_SPELL_AFFECTING_COMBAT = 430,
+ ERR_PET_SPELL_OUT_OF_RANGE = 431,
+ ERR_PET_SPELL_NOT_BEHIND = 432,
+ ERR_PET_SPELL_TARGETS_DEAD = 433,
+ ERR_PET_SPELL_DEAD = 434,
+ ERR_PET_SPELL_NOPATH = 435,
+ ERR_ITEM_CANT_BE_DESTROYED = 436,
+ ERR_TICKET_ALREADY_EXISTS = 437,
+ ERR_TICKET_CREATE_ERROR = 438,
+ ERR_TICKET_UPDATE_ERROR = 439,
+ ERR_TICKET_DB_ERROR = 440,
+ ERR_TICKET_NO_TEXT = 441,
+ ERR_TICKET_TEXT_TOO_LONG = 442,
+ ERR_OBJECT_IS_BUSY = 443,
+ ERR_EXHAUSTION_WELLRESTED = 444,
+ ERR_EXHAUSTION_RESTED = 445,
+ ERR_EXHAUSTION_NORMAL = 446,
+ ERR_EXHAUSTION_TIRED = 447,
+ ERR_EXHAUSTION_EXHAUSTED = 448,
+ ERR_NO_ITEMS_WHILE_SHAPESHIFTED = 449,
+ ERR_CANT_INTERACT_SHAPESHIFTED = 450,
+ ERR_REALM_NOT_FOUND = 451,
+ ERR_MAIL_QUEST_ITEM = 452,
+ ERR_MAIL_BOUND_ITEM = 453,
+ ERR_MAIL_CONJURED_ITEM = 454,
+ ERR_MAIL_BAG = 455,
+ ERR_MAIL_TO_SELF = 456,
+ ERR_MAIL_TARGET_NOT_FOUND = 457,
+ ERR_MAIL_DATABASE_ERROR = 458,
+ ERR_MAIL_DELETE_ITEM_ERROR = 459,
+ ERR_MAIL_WRAPPED_COD = 460,
+ ERR_MAIL_CANT_SEND_REALM = 461,
+ ERR_MAIL_TEMP_RETURN_OUTAGE = 462,
+ ERR_MAIL_RECEPIENT_CANT_RECEIVE_MAIL = 463,
+ ERR_MAIL_SENT = 464,
+ ERR_MAIL_TARGET_IS_TRIAL = 465,
+ ERR_NOT_HAPPY_ENOUGH = 466,
+ ERR_USE_CANT_IMMUNE = 467,
+ ERR_CANT_BE_DISENCHANTED = 468,
+ ERR_CANT_USE_DISARMED = 469,
+ ERR_AUCTION_DATABASE_ERROR = 470,
+ ERR_AUCTION_HIGHER_BID = 471,
+ ERR_AUCTION_ALREADY_BID = 472,
+ ERR_AUCTION_OUTBID_S = 473,
+ ERR_AUCTION_WON_S = 474,
+ ERR_AUCTION_REMOVED_S = 475,
+ ERR_AUCTION_BID_PLACED = 476,
+ ERR_LOGOUT_FAILED = 477,
+ ERR_QUEST_PUSH_SUCCESS_S = 478,
+ ERR_QUEST_PUSH_INVALID_S = 479,
+ ERR_QUEST_PUSH_INVALID_TO_RECIPIENT_S = 480,
+ ERR_QUEST_PUSH_ACCEPTED_S = 481,
+ ERR_QUEST_PUSH_DECLINED_S = 482,
+ ERR_QUEST_PUSH_BUSY_S = 483,
+ ERR_QUEST_PUSH_DEAD_S = 484,
+ ERR_QUEST_PUSH_DEAD_TO_RECIPIENT_S = 485,
+ ERR_QUEST_PUSH_LOG_FULL_S = 486,
+ ERR_QUEST_PUSH_LOG_FULL_TO_RECIPIENT_S = 487,
+ ERR_QUEST_PUSH_ONQUEST_S = 488,
+ ERR_QUEST_PUSH_ONQUEST_TO_RECIPIENT_S = 489,
+ ERR_QUEST_PUSH_ALREADY_DONE_S = 490,
+ ERR_QUEST_PUSH_ALREADY_DONE_TO_RECIPIENT_S = 491,
+ ERR_QUEST_PUSH_NOT_DAILY_S = 492,
+ ERR_QUEST_PUSH_TIMER_EXPIRED_S = 493,
+ ERR_QUEST_PUSH_NOT_IN_PARTY_S = 494,
+ ERR_QUEST_PUSH_DIFFERENT_SERVER_DAILY_S = 495,
+ ERR_QUEST_PUSH_DIFFERENT_SERVER_DAILY_TO_RECIPIENT_S = 496,
+ ERR_QUEST_PUSH_NOT_ALLOWED_S = 497,
+ ERR_QUEST_PUSH_PREREQUISITE_S = 498,
+ ERR_QUEST_PUSH_PREREQUISITE_TO_RECIPIENT_S = 499,
+ ERR_QUEST_PUSH_LOW_LEVEL_S = 500,
+ ERR_QUEST_PUSH_LOW_LEVEL_TO_RECIPIENT_S = 501,
+ ERR_QUEST_PUSH_HIGH_LEVEL_S = 502,
+ ERR_QUEST_PUSH_HIGH_LEVEL_TO_RECIPIENT_S = 503,
+ ERR_QUEST_PUSH_CLASS_S = 504,
+ ERR_QUEST_PUSH_CLASS_TO_RECIPIENT_S = 505,
+ ERR_QUEST_PUSH_RACE_S = 506,
+ ERR_QUEST_PUSH_RACE_TO_RECIPIENT_S = 507,
+ ERR_QUEST_PUSH_LOW_FACTION_S = 508,
+ ERR_QUEST_PUSH_LOW_FACTION_TO_RECIPIENT_S = 509,
+ ERR_QUEST_PUSH_HIGH_FACTION_S = 510,
+ ERR_QUEST_PUSH_HIGH_FACTION_TO_RECIPIENT_S = 511,
+ ERR_QUEST_PUSH_EXPANSION_S = 512,
+ ERR_QUEST_PUSH_EXPANSION_TO_RECIPIENT_S = 513,
+ ERR_QUEST_PUSH_NOT_GARRISON_OWNER_S = 514,
+ ERR_QUEST_PUSH_NOT_GARRISON_OWNER_TO_RECIPIENT_S = 515,
+ ERR_QUEST_PUSH_WRONG_COVENANT_S = 516,
+ ERR_QUEST_PUSH_WRONG_COVENANT_TO_RECIPIENT_S = 517,
+ ERR_QUEST_PUSH_NEW_PLAYER_EXPERIENCE_S = 518,
+ ERR_QUEST_PUSH_NEW_PLAYER_EXPERIENCE_TO_RECIPIENT_S = 519,
+ ERR_QUEST_PUSH_WRONG_FACTION_S = 520,
+ ERR_QUEST_PUSH_WRONG_FACTION_TO_RECIPIENT_S = 521,
+ ERR_QUEST_PUSH_CROSS_FACTION_RESTRICTED_S = 522,
+ ERR_RAID_GROUP_LOWLEVEL = 523,
+ ERR_RAID_GROUP_ONLY = 524,
+ ERR_RAID_GROUP_FULL = 525,
+ ERR_RAID_GROUP_REQUIREMENTS_UNMATCH = 526,
+ ERR_CORPSE_IS_NOT_IN_INSTANCE = 527,
+ ERR_PVP_KILL_HONORABLE = 528,
+ ERR_PVP_KILL_DISHONORABLE = 529,
+ ERR_SPELL_FAILED_ALREADY_AT_FULL_HEALTH = 530,
+ ERR_SPELL_FAILED_ALREADY_AT_FULL_MANA = 531,
+ ERR_SPELL_FAILED_ALREADY_AT_FULL_POWER_S = 532,
+ ERR_AUTOLOOT_MONEY_S = 533,
+ ERR_GENERIC_STUNNED = 534,
+ ERR_GENERIC_THROTTLE = 535,
+ ERR_CLUB_FINDER_SEARCHING_TOO_FAST = 536,
+ ERR_TARGET_STUNNED = 537,
+ ERR_MUST_REPAIR_DURABILITY = 538,
+ ERR_RAID_YOU_JOINED = 539,
+ ERR_RAID_YOU_LEFT = 540,
+ ERR_INSTANCE_GROUP_JOINED_WITH_PARTY = 541,
+ ERR_INSTANCE_GROUP_JOINED_WITH_RAID = 542,
+ ERR_RAID_MEMBER_ADDED_S = 543,
+ ERR_RAID_MEMBER_REMOVED_S = 544,
+ ERR_INSTANCE_GROUP_ADDED_S = 545,
+ ERR_INSTANCE_GROUP_REMOVED_S = 546,
+ ERR_CLICK_ON_ITEM_TO_FEED = 547,
+ ERR_TOO_MANY_CHAT_CHANNELS = 548,
+ ERR_LOOT_ROLL_PENDING = 549,
+ ERR_LOOT_PLAYER_NOT_FOUND = 550,
+ ERR_NOT_IN_RAID = 551,
+ ERR_LOGGING_OUT = 552,
+ ERR_TARGET_LOGGING_OUT = 553,
+ ERR_NOT_WHILE_MOUNTED = 554,
+ ERR_NOT_WHILE_SHAPESHIFTED = 555,
+ ERR_NOT_IN_COMBAT = 556,
+ ERR_NOT_WHILE_DISARMED = 557,
+ ERR_PET_BROKEN = 558,
+ ERR_TALENT_WIPE_ERROR = 559,
+ ERR_SPEC_WIPE_ERROR = 560,
+ ERR_GLYPH_WIPE_ERROR = 561,
+ ERR_PET_SPEC_WIPE_ERROR = 562,
+ ERR_FEIGN_DEATH_RESISTED = 563,
+ ERR_MEETING_STONE_IN_QUEUE_S = 564,
+ ERR_MEETING_STONE_LEFT_QUEUE_S = 565,
+ ERR_MEETING_STONE_OTHER_MEMBER_LEFT = 566,
+ ERR_MEETING_STONE_PARTY_KICKED_FROM_QUEUE = 567,
+ ERR_MEETING_STONE_MEMBER_STILL_IN_QUEUE = 568,
+ ERR_MEETING_STONE_SUCCESS = 569,
+ ERR_MEETING_STONE_IN_PROGRESS = 570,
+ ERR_MEETING_STONE_MEMBER_ADDED_S = 571,
+ ERR_MEETING_STONE_GROUP_FULL = 572,
+ ERR_MEETING_STONE_NOT_LEADER = 573,
+ ERR_MEETING_STONE_INVALID_LEVEL = 574,
+ ERR_MEETING_STONE_TARGET_NOT_IN_PARTY = 575,
+ ERR_MEETING_STONE_TARGET_INVALID_LEVEL = 576,
+ ERR_MEETING_STONE_MUST_BE_LEADER = 577,
+ ERR_MEETING_STONE_NO_RAID_GROUP = 578,
+ ERR_MEETING_STONE_NEED_PARTY = 579,
+ ERR_MEETING_STONE_NOT_FOUND = 580,
+ ERR_MEETING_STONE_TARGET_IN_VEHICLE = 581,
+ ERR_GUILDEMBLEM_SAME = 582,
+ ERR_EQUIP_TRADE_ITEM = 583,
+ ERR_PVP_TOGGLE_ON = 584,
+ ERR_PVP_TOGGLE_OFF = 585,
+ ERR_GROUP_JOIN_BATTLEGROUND_DESERTERS = 586,
+ ERR_GROUP_JOIN_BATTLEGROUND_DEAD = 587,
+ ERR_GROUP_JOIN_BATTLEGROUND_S = 588,
+ ERR_GROUP_JOIN_BATTLEGROUND_FAIL = 589,
+ ERR_GROUP_JOIN_BATTLEGROUND_TOO_MANY = 590,
+ ERR_SOLO_JOIN_BATTLEGROUND_S = 591,
+ ERR_JOIN_SINGLE_SCENARIO_S = 592,
+ ERR_BATTLEGROUND_TOO_MANY_QUEUES = 593,
+ ERR_BATTLEGROUND_CANNOT_QUEUE_FOR_RATED = 594,
+ ERR_BATTLEDGROUND_QUEUED_FOR_RATED = 595,
+ ERR_BATTLEGROUND_TEAM_LEFT_QUEUE = 596,
+ ERR_BATTLEGROUND_NOT_IN_BATTLEGROUND = 597,
+ ERR_ALREADY_IN_ARENA_TEAM_S = 598,
+ ERR_INVALID_PROMOTION_CODE = 599,
+ ERR_BG_PLAYER_JOINED_SS = 600,
+ ERR_BG_PLAYER_LEFT_S = 601,
+ ERR_RESTRICTED_ACCOUNT = 602,
+ ERR_RESTRICTED_ACCOUNT_TRIAL = 603,
+ ERR_NOT_ENOUGH_PURCHASED_GAME_TIME = 604,
+ ERR_PLAY_TIME_EXCEEDED = 605,
+ ERR_APPROACHING_PARTIAL_PLAY_TIME = 606,
+ ERR_APPROACHING_PARTIAL_PLAY_TIME_2 = 607,
+ ERR_APPROACHING_NO_PLAY_TIME = 608,
+ ERR_APPROACHING_NO_PLAY_TIME_2 = 609,
+ ERR_UNHEALTHY_TIME = 610,
+ ERR_CHAT_RESTRICTED_TRIAL = 611,
+ ERR_CHAT_THROTTLED = 612,
+ ERR_MAIL_REACHED_CAP = 613,
+ ERR_INVALID_RAID_TARGET = 614,
+ ERR_RAID_LEADER_READY_CHECK_START_S = 615,
+ ERR_READY_CHECK_IN_PROGRESS = 616,
+ ERR_READY_CHECK_THROTTLED = 617,
+ ERR_DUNGEON_DIFFICULTY_FAILED = 618,
+ ERR_DUNGEON_DIFFICULTY_CHANGED_S = 619,
+ ERR_TRADE_WRONG_REALM = 620,
+ ERR_TRADE_NOT_ON_TAPLIST = 621,
+ ERR_CHAT_PLAYER_AMBIGUOUS_S = 622,
+ ERR_LOOT_CANT_LOOT_THAT_NOW = 623,
+ ERR_LOOT_MASTER_INV_FULL = 624,
+ ERR_LOOT_MASTER_UNIQUE_ITEM = 625,
+ ERR_LOOT_MASTER_OTHER = 626,
+ ERR_FILTERING_YOU_S = 627,
+ ERR_USE_PREVENTED_BY_MECHANIC_S = 628,
+ ERR_ITEM_UNIQUE_EQUIPPABLE = 629,
+ ERR_LFG_LEADER_IS_LFM_S = 630,
+ ERR_LFG_PENDING = 631,
+ ERR_CANT_SPEAK_LANGAGE = 632,
+ ERR_VENDOR_MISSING_TURNINS = 633,
+ ERR_BATTLEGROUND_NOT_IN_TEAM = 634,
+ ERR_NOT_IN_BATTLEGROUND = 635,
+ ERR_NOT_ENOUGH_HONOR_POINTS = 636,
+ ERR_NOT_ENOUGH_ARENA_POINTS = 637,
+ ERR_SOCKETING_REQUIRES_META_GEM = 638,
+ ERR_SOCKETING_META_GEM_ONLY_IN_METASLOT = 639,
+ ERR_SOCKETING_REQUIRES_HYDRAULIC_GEM = 640,
+ ERR_SOCKETING_HYDRAULIC_GEM_ONLY_IN_HYDRAULICSLOT = 641,
+ ERR_SOCKETING_REQUIRES_COGWHEEL_GEM = 642,
+ ERR_SOCKETING_COGWHEEL_GEM_ONLY_IN_COGWHEELSLOT = 643,
+ ERR_SOCKETING_ITEM_TOO_LOW_LEVEL = 644,
+ ERR_ITEM_MAX_COUNT_SOCKETED = 645,
+ ERR_SYSTEM_DISABLED = 646,
+ ERR_QUEST_FAILED_TOO_MANY_DAILY_QUESTS_I = 647,
+ ERR_ITEM_MAX_COUNT_EQUIPPED_SOCKETED = 648,
+ ERR_ITEM_UNIQUE_EQUIPPABLE_SOCKETED = 649,
+ ERR_USER_SQUELCHED = 650,
+ ERR_ACCOUNT_SILENCED = 651,
+ ERR_PARTY_MEMBER_SILENCED = 652,
+ ERR_PARTY_MEMBER_SILENCED_LFG_DELIST = 653,
+ ERR_TOO_MUCH_GOLD = 654,
+ ERR_NOT_BARBER_SITTING = 655,
+ ERR_QUEST_FAILED_CAIS = 656,
+ ERR_INVITE_RESTRICTED_TRIAL = 657,
+ ERR_VOICE_IGNORE_FULL = 658,
+ ERR_VOICE_IGNORE_SELF = 659,
+ ERR_VOICE_IGNORE_NOT_FOUND = 660,
+ ERR_VOICE_IGNORE_ALREADY_S = 661,
+ ERR_VOICE_IGNORE_ADDED_S = 662,
+ ERR_VOICE_IGNORE_REMOVED_S = 663,
+ ERR_VOICE_IGNORE_AMBIGUOUS = 664,
+ ERR_VOICE_IGNORE_DELETED = 665,
+ ERR_UNKNOWN_MACRO_OPTION_S = 666,
+ ERR_NOT_DURING_ARENA_MATCH = 667,
+ ERR_NOT_IN_RATED_BATTLEGROUND = 668,
+ ERR_PLAYER_SILENCED = 669,
+ ERR_PLAYER_UNSILENCED = 670,
+ ERR_COMSAT_DISCONNECT = 671,
+ ERR_COMSAT_RECONNECT_ATTEMPT = 672,
+ ERR_COMSAT_CONNECT_FAIL = 673,
+ ERR_MAIL_INVALID_ATTACHMENT_SLOT = 674,
+ ERR_MAIL_TOO_MANY_ATTACHMENTS = 675,
+ ERR_MAIL_INVALID_ATTACHMENT = 676,
+ ERR_MAIL_ATTACHMENT_EXPIRED = 677,
+ ERR_VOICE_CHAT_PARENTAL_DISABLE_MIC = 678,
+ ERR_PROFANE_CHAT_NAME = 679,
+ ERR_PLAYER_SILENCED_ECHO = 680,
+ ERR_PLAYER_UNSILENCED_ECHO = 681,
+ ERR_LOOT_CANT_LOOT_THAT = 682,
+ ERR_ARENA_EXPIRED_CAIS = 683,
+ ERR_GROUP_ACTION_THROTTLED = 684,
+ ERR_ALREADY_PICKPOCKETED = 685,
+ ERR_NAME_INVALID = 686,
+ ERR_NAME_NO_NAME = 687,
+ ERR_NAME_TOO_SHORT = 688,
+ ERR_NAME_TOO_LONG = 689,
+ ERR_NAME_MIXED_LANGUAGES = 690,
+ ERR_NAME_PROFANE = 691,
+ ERR_NAME_RESERVED = 692,
+ ERR_NAME_THREE_CONSECUTIVE = 693,
+ ERR_NAME_INVALID_SPACE = 694,
+ ERR_NAME_CONSECUTIVE_SPACES = 695,
+ ERR_NAME_RUSSIAN_CONSECUTIVE_SILENT_CHARACTERS = 696,
+ ERR_NAME_RUSSIAN_SILENT_CHARACTER_AT_BEGINNING_OR_END = 697,
+ ERR_NAME_DECLENSION_DOESNT_MATCH_BASE_NAME = 698,
+ ERR_RECRUIT_A_FRIEND_NOT_LINKED = 699,
+ ERR_RECRUIT_A_FRIEND_NOT_NOW = 700,
+ ERR_RECRUIT_A_FRIEND_SUMMON_LEVEL_MAX = 701,
+ ERR_RECRUIT_A_FRIEND_SUMMON_COOLDOWN = 702,
+ ERR_RECRUIT_A_FRIEND_SUMMON_OFFLINE = 703,
+ ERR_RECRUIT_A_FRIEND_INSUF_EXPAN_LVL = 704,
+ ERR_RECRUIT_A_FRIEND_MAP_INCOMING_TRANSFER_NOT_ALLOWED = 705,
+ ERR_NOT_SAME_ACCOUNT = 706,
+ ERR_BAD_ON_USE_ENCHANT = 707,
+ ERR_TRADE_SELF = 708,
+ ERR_TOO_MANY_SOCKETS = 709,
+ ERR_ITEM_MAX_LIMIT_CATEGORY_COUNT_EXCEEDED_IS = 710,
+ ERR_TRADE_TARGET_MAX_LIMIT_CATEGORY_COUNT_EXCEEDED_IS = 711,
+ ERR_ITEM_MAX_LIMIT_CATEGORY_SOCKETED_EXCEEDED_IS = 712,
+ ERR_ITEM_MAX_LIMIT_CATEGORY_EQUIPPED_EXCEEDED_IS = 713,
+ ERR_SHAPESHIFT_FORM_CANNOT_EQUIP = 714,
+ ERR_ITEM_INVENTORY_FULL_SATCHEL = 715,
+ ERR_SCALING_STAT_ITEM_LEVEL_EXCEEDED = 716,
+ ERR_SCALING_STAT_ITEM_LEVEL_TOO_LOW = 717,
+ ERR_PURCHASE_LEVEL_TOO_LOW = 718,
+ ERR_GROUP_SWAP_FAILED = 719,
+ ERR_INVITE_IN_COMBAT = 720,
+ ERR_INVALID_GLYPH_SLOT = 721,
+ ERR_GENERIC_NO_VALID_TARGETS = 722,
+ ERR_CALENDAR_EVENT_ALERT_S = 723,
+ ERR_PET_LEARN_SPELL_S = 724,
+ ERR_PET_LEARN_ABILITY_S = 725,
+ ERR_PET_SPELL_UNLEARNED_S = 726,
+ ERR_INVITE_UNKNOWN_REALM = 727,
+ ERR_INVITE_NO_PARTY_SERVER = 728,
+ ERR_INVITE_PARTY_BUSY = 729,
+ ERR_INVITE_PARTY_BUSY_PENDING_REQUEST = 730,
+ ERR_INVITE_PARTY_BUSY_PENDING_SUGGEST = 731,
+ ERR_PARTY_TARGET_AMBIGUOUS = 732,
+ ERR_PARTY_LFG_INVITE_RAID_LOCKED = 733,
+ ERR_PARTY_LFG_BOOT_LIMIT = 734,
+ ERR_PARTY_LFG_BOOT_COOLDOWN_S = 735,
+ ERR_PARTY_LFG_BOOT_NOT_ELIGIBLE_S = 736,
+ ERR_PARTY_LFG_BOOT_INPATIENT_TIMER_S = 737,
+ ERR_PARTY_LFG_BOOT_IN_PROGRESS = 738,
+ ERR_PARTY_LFG_BOOT_TOO_FEW_PLAYERS = 739,
+ ERR_PARTY_LFG_BOOT_VOTE_SUCCEEDED = 740,
+ ERR_PARTY_LFG_BOOT_VOTE_FAILED = 741,
+ ERR_PARTY_LFG_BOOT_DISALLOWED_BY_MAP = 742,
+ ERR_PARTY_LFG_BOOT_DUNGEON_COMPLETE = 743,
+ ERR_PARTY_LFG_BOOT_LOOT_ROLLS = 744,
+ ERR_PARTY_LFG_BOOT_VOTE_REGISTERED = 745,
+ ERR_PARTY_PRIVATE_GROUP_ONLY = 746,
+ ERR_PARTY_LFG_TELEPORT_IN_COMBAT = 747,
+ ERR_PARTY_TIME_RUNNING_SEASON_ID_MUST_MATCH = 748,
+ ERR_RAID_DISALLOWED_BY_LEVEL = 749,
+ ERR_RAID_DISALLOWED_BY_CROSS_REALM = 750,
+ ERR_PARTY_ROLE_NOT_AVAILABLE = 751,
+ ERR_JOIN_LFG_OBJECT_FAILED = 752,
+ ERR_LFG_REMOVED_LEVELUP = 753,
+ ERR_LFG_REMOVED_XP_TOGGLE = 754,
+ ERR_LFG_REMOVED_FACTION_CHANGE = 755,
+ ERR_BATTLEGROUND_INFO_THROTTLED = 756,
+ ERR_BATTLEGROUND_ALREADY_IN = 757,
+ ERR_ARENA_TEAM_CHANGE_FAILED_QUEUED = 758,
+ ERR_ARENA_TEAM_PERMISSIONS = 759,
+ ERR_NOT_WHILE_FALLING = 760,
+ ERR_NOT_WHILE_MOVING = 761,
+ ERR_NOT_WHILE_FATIGUED = 762,
+ ERR_MAX_SOCKETS = 763,
+ ERR_MULTI_CAST_ACTION_TOTEM_S = 764,
+ ERR_BATTLEGROUND_JOIN_LEVELUP = 765,
+ ERR_REMOVE_FROM_PVP_QUEUE_XP_GAIN = 766,
+ ERR_BATTLEGROUND_JOIN_XP_GAIN = 767,
+ ERR_BATTLEGROUND_JOIN_MERCENARY = 768,
+ ERR_BATTLEGROUND_JOIN_TOO_MANY_HEALERS = 769,
+ ERR_BATTLEGROUND_JOIN_RATED_TOO_MANY_HEALERS = 770,
+ ERR_BATTLEGROUND_JOIN_TOO_MANY_TANKS = 771,
+ ERR_BATTLEGROUND_JOIN_TOO_MANY_DAMAGE = 772,
+ ERR_RAID_DIFFICULTY_FAILED = 773,
+ ERR_RAID_DIFFICULTY_CHANGED_S = 774,
+ ERR_LEGACY_RAID_DIFFICULTY_CHANGED_S = 775,
+ ERR_RAID_LOCKOUT_CHANGED_S = 776,
+ ERR_RAID_CONVERTED_TO_PARTY = 777,
+ ERR_PARTY_CONVERTED_TO_RAID = 778,
+ ERR_PLAYER_DIFFICULTY_CHANGED_S = 779,
+ ERR_GMRESPONSE_DB_ERROR = 780,
+ ERR_BATTLEGROUND_JOIN_RANGE_INDEX = 781,
+ ERR_ARENA_JOIN_RANGE_INDEX = 782,
+ ERR_REMOVE_FROM_PVP_QUEUE_FACTION_CHANGE = 783,
+ ERR_BATTLEGROUND_JOIN_FAILED = 784,
+ ERR_BATTLEGROUND_JOIN_NO_VALID_SPEC_FOR_ROLE = 785,
+ ERR_BATTLEGROUND_JOIN_RESPEC = 786,
+ ERR_BATTLEGROUND_INVITATION_DECLINED = 787,
+ ERR_BATTLEGROUND_INVITATION_DECLINED_BY = 788,
+ ERR_BATTLEGROUND_JOIN_TIMED_OUT = 789,
+ ERR_BATTLEGROUND_DUPE_QUEUE = 790,
+ ERR_BATTLEGROUND_JOIN_MUST_COMPLETE_QUEST = 791,
+ ERR_IN_BATTLEGROUND_RESPEC = 792,
+ ERR_MAIL_LIMITED_DURATION_ITEM = 793,
+ ERR_YELL_RESTRICTED_TRIAL = 794,
+ ERR_CHAT_RAID_RESTRICTED_TRIAL = 795,
+ ERR_LFG_ROLE_CHECK_FAILED = 796,
+ ERR_LFG_ROLE_CHECK_FAILED_TIMEOUT = 797,
+ ERR_LFG_ROLE_CHECK_FAILED_NOT_VIABLE = 798,
+ ERR_LFG_READY_CHECK_FAILED = 799,
+ ERR_LFG_READY_CHECK_FAILED_TIMEOUT = 800,
+ ERR_LFG_GROUP_FULL = 801,
+ ERR_LFG_NO_LFG_OBJECT = 802,
+ ERR_LFG_NO_SLOTS_PLAYER = 803,
+ ERR_LFG_NO_SLOTS_PARTY = 804,
+ ERR_LFG_NO_SPEC = 805,
+ ERR_LFG_MISMATCHED_SLOTS = 806,
+ ERR_LFG_MISMATCHED_SLOTS_LOCAL_XREALM = 807,
+ ERR_LFG_PARTY_PLAYERS_FROM_DIFFERENT_REALMS = 808,
+ ERR_LFG_MEMBERS_NOT_PRESENT = 809,
+ ERR_LFG_GET_INFO_TIMEOUT = 810,
+ ERR_LFG_INVALID_SLOT = 811,
+ ERR_LFG_DESERTER_PLAYER = 812,
+ ERR_LFG_DESERTER_PARTY = 813,
+ ERR_LFG_DEAD = 814,
+ ERR_LFG_RANDOM_COOLDOWN_PLAYER = 815,
+ ERR_LFG_RANDOM_COOLDOWN_PARTY = 816,
+ ERR_LFG_TOO_MANY_MEMBERS = 817,
+ ERR_LFG_TOO_FEW_MEMBERS = 818,
+ ERR_LFG_PROPOSAL_FAILED = 819,
+ ERR_LFG_PROPOSAL_DECLINED_SELF = 820,
+ ERR_LFG_PROPOSAL_DECLINED_PARTY = 821,
+ ERR_LFG_NO_SLOTS_SELECTED = 822,
+ ERR_LFG_NO_ROLES_SELECTED = 823,
+ ERR_LFG_ROLE_CHECK_INITIATED = 824,
+ ERR_LFG_READY_CHECK_INITIATED = 825,
+ ERR_LFG_PLAYER_DECLINED_ROLE_CHECK = 826,
+ ERR_LFG_PLAYER_DECLINED_READY_CHECK = 827,
+ ERR_LFG_LOREWALKING = 828,
+ ERR_LFG_JOINED_QUEUE = 829,
+ ERR_LFG_JOINED_FLEX_QUEUE = 830,
+ ERR_LFG_JOINED_RF_QUEUE = 831,
+ ERR_LFG_JOINED_SCENARIO_QUEUE = 832,
+ ERR_LFG_JOINED_WORLD_PVP_QUEUE = 833,
+ ERR_LFG_JOINED_BATTLEFIELD_QUEUE = 834,
+ ERR_LFG_JOINED_LIST = 835,
+ ERR_QUEUED_PLUNDERSTORM = 836,
+ ERR_LFG_LEFT_QUEUE = 837,
+ ERR_LFG_LEFT_LIST = 838,
+ ERR_LFG_ROLE_CHECK_ABORTED = 839,
+ ERR_LFG_READY_CHECK_ABORTED = 840,
+ ERR_LFG_CANT_USE_BATTLEGROUND = 841,
+ ERR_LFG_CANT_USE_DUNGEONS = 842,
+ ERR_LFG_REASON_TOO_MANY_LFG = 843,
+ ERR_LFG_FARM_LIMIT = 844,
+ ERR_LFG_NO_CROSS_FACTION_PARTIES = 845,
+ ERR_INVALID_TELEPORT_LOCATION = 846,
+ ERR_TOO_FAR_TO_INTERACT = 847,
+ ERR_BATTLEGROUND_PLAYERS_FROM_DIFFERENT_REALMS = 848,
+ ERR_DIFFICULTY_CHANGE_COOLDOWN_S = 849,
+ ERR_DIFFICULTY_CHANGE_COMBAT_COOLDOWN_S = 850,
+ ERR_DIFFICULTY_CHANGE_WORLDSTATE = 851,
+ ERR_DIFFICULTY_CHANGE_ENCOUNTER = 852,
+ ERR_DIFFICULTY_CHANGE_COMBAT = 853,
+ ERR_DIFFICULTY_CHANGE_PLAYER_BUSY = 854,
+ ERR_DIFFICULTY_CHANGE_PLAYER_ON_VEHICLE = 855,
+ ERR_DIFFICULTY_CHANGE_ALREADY_STARTED = 856,
+ ERR_DIFFICULTY_CHANGE_OTHER_HEROIC_S = 857,
+ ERR_DIFFICULTY_CHANGE_HEROIC_INSTANCE_ALREADY_RUNNING = 858,
+ ERR_ARENA_TEAM_PARTY_SIZE = 859,
+ ERR_SOLO_SHUFFLE_WARGAME_GROUP_SIZE = 860,
+ ERR_SOLO_SHUFFLE_WARGAME_GROUP_COMP = 861,
+ ERR_SOLO_RBG_WARGAME_GROUP_SIZE = 862,
+ ERR_SOLO_RBG_WARGAME_GROUP_COMP = 863,
+ ERR_SOLO_MIN_ITEM_LEVEL = 864,
+ ERR_PVP_PLAYER_ABANDONED = 865,
+ ERR_BATTLEGROUND_JOIN_GROUP_QUEUE_WITHOUT_HEALER = 866,
+ ERR_QUEST_FORCE_REMOVED_S = 867,
+ ERR_ATTACK_NO_ACTIONS = 868,
+ ERR_IN_RANDOM_BG = 869,
+ ERR_IN_NON_RANDOM_BG = 870,
+ ERR_BN_FRIEND_SELF = 871,
+ ERR_BN_FRIEND_ALREADY = 872,
+ ERR_BN_FRIEND_BLOCKED = 873,
+ ERR_BN_FRIEND_LIST_FULL = 874,
+ ERR_BN_FRIEND_REQUEST_SENT = 875,
+ ERR_BN_BROADCAST_THROTTLE = 876,
+ ERR_BG_DEVELOPER_ONLY = 877,
+ ERR_CURRENCY_SPELL_SLOT_MISMATCH = 878,
+ ERR_CURRENCY_NOT_TRADABLE = 879,
+ ERR_REQUIRES_EXPANSION_S = 880,
+ ERR_QUEST_FAILED_SPELL = 881,
+ ERR_TALENT_FAILED_UNSPENT_TALENT_POINTS = 882,
+ ERR_TALENT_FAILED_NOT_ENOUGH_TALENTS_IN_PRIMARY_TREE = 883,
+ ERR_TALENT_FAILED_NO_PRIMARY_TREE_SELECTED = 884,
+ ERR_TALENT_FAILED_CANT_REMOVE_TALENT = 885,
+ ERR_TALENT_FAILED_UNKNOWN = 886,
+ ERR_TALENT_FAILED_IN_COMBAT = 887,
+ ERR_TALENT_FAILED_IN_PVP_MATCH = 888,
+ ERR_TALENT_FAILED_IN_MYTHIC_PLUS = 889,
+ ERR_WARGAME_REQUEST_FAILURE = 890,
+ ERR_RANK_REQUIRES_AUTHENTICATOR = 891,
+ ERR_GUILD_BANK_VOUCHER_FAILED = 892,
+ ERR_WARGAME_REQUEST_SENT = 893,
+ ERR_REQUIRES_ACHIEVEMENT_I = 894,
+ ERR_REFUND_RESULT_EXCEED_MAX_CURRENCY = 895,
+ ERR_CANT_BUY_QUANTITY = 896,
+ ERR_ITEM_IS_BATTLE_PAY_LOCKED = 897,
+ ERR_PARTY_ALREADY_IN_BATTLEGROUND_QUEUE = 898,
+ ERR_PARTY_CONFIRMING_BATTLEGROUND_QUEUE = 899,
+ ERR_BATTLEFIELD_TEAM_PARTY_SIZE = 900,
+ ERR_INSUFF_TRACKED_CURRENCY_IS = 901,
+ ERR_NOT_ON_TOURNAMENT_REALM = 902,
+ ERR_GUILD_TRIAL_ACCOUNT_TRIAL = 903,
+ ERR_GUILD_TRIAL_ACCOUNT_VETERAN = 904,
+ ERR_GUILD_UNDELETABLE_DUE_TO_LEVEL = 905,
+ ERR_CANT_DO_THAT_IN_A_GROUP = 906,
+ ERR_GUILD_LEADER_REPLACED = 907,
+ ERR_TRANSMOGRIFY_CANT_EQUIP = 908,
+ ERR_TRANSMOGRIFY_INVALID_ITEM_TYPE = 909,
+ ERR_TRANSMOGRIFY_NOT_SOULBOUND = 910,
+ ERR_TRANSMOGRIFY_INVALID_SOURCE = 911,
+ ERR_TRANSMOGRIFY_INVALID_DESTINATION = 912,
+ ERR_TRANSMOGRIFY_MISMATCH = 913,
+ ERR_TRANSMOGRIFY_LEGENDARY = 914,
+ ERR_TRANSMOGRIFY_SAME_ITEM = 915,
+ ERR_TRANSMOGRIFY_SAME_APPEARANCE = 916,
+ ERR_TRANSMOGRIFY_NOT_EQUIPPED = 917,
+ ERR_VOID_DEPOSIT_FULL = 918,
+ ERR_VOID_WITHDRAW_FULL = 919,
+ ERR_VOID_STORAGE_WRAPPED = 920,
+ ERR_VOID_STORAGE_STACKABLE = 921,
+ ERR_VOID_STORAGE_UNBOUND = 922,
+ ERR_VOID_STORAGE_REPAIR = 923,
+ ERR_VOID_STORAGE_CHARGES = 924,
+ ERR_VOID_STORAGE_QUEST = 925,
+ ERR_VOID_STORAGE_CONJURED = 926,
+ ERR_VOID_STORAGE_MAIL = 927,
+ ERR_VOID_STORAGE_BAG = 928,
+ ERR_VOID_TRANSFER_STORAGE_FULL = 929,
+ ERR_VOID_TRANSFER_INV_FULL = 930,
+ ERR_VOID_TRANSFER_INTERNAL_ERROR = 931,
+ ERR_VOID_TRANSFER_ITEM_INVALID = 932,
+ ERR_DIFFICULTY_DISABLED_IN_LFG = 933,
+ ERR_VOID_STORAGE_UNIQUE = 934,
+ ERR_VOID_STORAGE_LOOT = 935,
+ ERR_VOID_STORAGE_HOLIDAY = 936,
+ ERR_VOID_STORAGE_DURATION = 937,
+ ERR_VOID_STORAGE_LOAD_FAILED = 938,
+ ERR_VOID_STORAGE_INVALID_ITEM = 939,
+ ERR_VOID_STORAGE_ACCOUNT_ITEM = 940,
+ ERR_PARENTAL_CONTROLS_CHAT_MUTED = 941,
+ ERR_SOR_START_EXPERIENCE_INCOMPLETE = 942,
+ ERR_SOR_INVALID_EMAIL = 943,
+ ERR_SOR_INVALID_COMMENT = 944,
+ ERR_CHALLENGE_MODE_RESET_COOLDOWN_S = 945,
+ ERR_CHALLENGE_MODE_RESET_KEYSTONE = 946,
+ ERR_PET_JOURNAL_ALREADY_IN_LOADOUT = 947,
+ ERR_REPORT_SUBMITTED_SUCCESSFULLY = 948,
+ ERR_REPORT_SUBMISSION_FAILED = 949,
+ ERR_SUGGESTION_SUBMITTED_SUCCESSFULLY = 950,
+ ERR_BUG_SUBMITTED_SUCCESSFULLY = 951,
+ ERR_CHALLENGE_MODE_ENABLED = 952,
+ ERR_CHALLENGE_MODE_DISABLED = 953,
+ ERR_PETBATTLE_CREATE_FAILED = 954,
+ ERR_PETBATTLE_NOT_HERE = 955,
+ ERR_PETBATTLE_NOT_HERE_ON_TRANSPORT = 956,
+ ERR_PETBATTLE_NOT_HERE_UNEVEN_GROUND = 957,
+ ERR_PETBATTLE_NOT_HERE_OBSTRUCTED = 958,
+ ERR_PETBATTLE_NOT_WHILE_IN_COMBAT = 959,
+ ERR_PETBATTLE_NOT_WHILE_DEAD = 960,
+ ERR_PETBATTLE_NOT_WHILE_FLYING = 961,
+ ERR_PETBATTLE_TARGET_INVALID = 962,
+ ERR_PETBATTLE_TARGET_OUT_OF_RANGE = 963,
+ ERR_PETBATTLE_TARGET_NOT_CAPTURABLE = 964,
+ ERR_PETBATTLE_NOT_A_TRAINER = 965,
+ ERR_PETBATTLE_DECLINED = 966,
+ ERR_PETBATTLE_IN_BATTLE = 967,
+ ERR_PETBATTLE_INVALID_LOADOUT = 968,
+ ERR_PETBATTLE_ALL_PETS_DEAD = 969,
+ ERR_PETBATTLE_NO_PETS_IN_SLOTS = 970,
+ ERR_PETBATTLE_NO_ACCOUNT_LOCK = 971,
+ ERR_PETBATTLE_WILD_PET_TAPPED = 972,
+ ERR_PETBATTLE_RESTRICTED_ACCOUNT = 973,
+ ERR_PETBATTLE_OPPONENT_NOT_AVAILABLE = 974,
+ ERR_PETBATTLE_NOT_WHILE_IN_MATCHED_BATTLE = 975,
+ ERR_CANT_HAVE_MORE_PETS_OF_THAT_TYPE = 976,
+ ERR_CANT_HAVE_MORE_PETS = 977,
+ ERR_PVP_MAP_NOT_FOUND = 978,
+ ERR_PVP_MAP_NOT_SET = 979,
+ ERR_PETBATTLE_QUEUE_QUEUED = 980,
+ ERR_PETBATTLE_QUEUE_ALREADY_QUEUED = 981,
+ ERR_PETBATTLE_QUEUE_JOIN_FAILED = 982,
+ ERR_PETBATTLE_QUEUE_JOURNAL_LOCK = 983,
+ ERR_PETBATTLE_QUEUE_REMOVED = 984,
+ ERR_PETBATTLE_QUEUE_PROPOSAL_DECLINED = 985,
+ ERR_PETBATTLE_QUEUE_PROPOSAL_TIMEOUT = 986,
+ ERR_PETBATTLE_QUEUE_OPPONENT_DECLINED = 987,
+ ERR_PETBATTLE_QUEUE_REQUEUED_INTERNAL = 988,
+ ERR_PETBATTLE_QUEUE_REQUEUED_REMOVED = 989,
+ ERR_PETBATTLE_QUEUE_SLOT_LOCKED = 990,
+ ERR_PETBATTLE_QUEUE_SLOT_EMPTY = 991,
+ ERR_PETBATTLE_QUEUE_SLOT_NO_TRACKER = 992,
+ ERR_PETBATTLE_QUEUE_SLOT_NO_SPECIES = 993,
+ ERR_PETBATTLE_QUEUE_SLOT_CANT_BATTLE = 994,
+ ERR_PETBATTLE_QUEUE_SLOT_REVOKED = 995,
+ ERR_PETBATTLE_QUEUE_SLOT_DEAD = 996,
+ ERR_PETBATTLE_QUEUE_SLOT_NO_PET = 997,
+ ERR_PETBATTLE_QUEUE_NOT_WHILE_NEUTRAL = 998,
+ ERR_PETBATTLE_GAME_TIME_LIMIT_WARNING = 999,
+ ERR_PETBATTLE_GAME_ROUNDS_LIMIT_WARNING = 1000,
+ ERR_HAS_RESTRICTION = 1001,
+ ERR_ITEM_UPGRADE_ITEM_TOO_LOW_LEVEL = 1002,
+ ERR_ITEM_UPGRADE_NO_PATH = 1003,
+ ERR_ITEM_UPGRADE_NO_MORE_UPGRADES = 1004,
+ ERR_BONUS_ROLL_EMPTY = 1005,
+ ERR_CHALLENGE_MODE_FULL = 1006,
+ ERR_CHALLENGE_MODE_IN_PROGRESS = 1007,
+ ERR_CHALLENGE_MODE_INCORRECT_KEYSTONE = 1008,
+ ERR_BATTLETAG_FRIEND_NOT_FOUND = 1009,
+ ERR_BATTLETAG_FRIEND_NOT_VALID = 1010,
+ ERR_BATTLETAG_FRIEND_NOT_ALLOWED = 1011,
+ ERR_BATTLETAG_FRIEND_THROTTLED = 1012,
+ ERR_BATTLETAG_FRIEND_SUCCESS = 1013,
+ ERR_PET_TOO_HIGH_LEVEL_TO_UNCAGE = 1014,
+ ERR_PETBATTLE_INTERNAL = 1015,
+ ERR_CANT_CAGE_PET_YET = 1016,
+ ERR_NO_LOOT_IN_CHALLENGE_MODE = 1017,
+ ERR_QUEST_PET_BATTLE_VICTORIES_PVP_II = 1018,
+ ERR_ROLE_CHECK_ALREADY_IN_PROGRESS = 1019,
+ ERR_RECRUIT_A_FRIEND_ACCOUNT_LIMIT = 1020,
+ ERR_RECRUIT_A_FRIEND_FAILED = 1021,
+ ERR_SET_LOOT_PERSONAL = 1022,
+ ERR_SET_LOOT_METHOD_FAILED_COMBAT = 1023,
+ ERR_REAGENT_BANK_FULL = 1024,
+ ERR_REAGENT_BANK_LOCKED = 1025,
+ ERR_GARRISON_BUILDING_EXISTS = 1026,
+ ERR_GARRISON_INVALID_PLOT = 1027,
+ ERR_GARRISON_INVALID_BUILDINGID = 1028,
+ ERR_GARRISON_INVALID_PLOT_BUILDING = 1029,
+ ERR_GARRISON_REQUIRES_BLUEPRINT = 1030,
+ ERR_GARRISON_NOT_ENOUGH_CURRENCY = 1031,
+ ERR_GARRISON_NOT_ENOUGH_GOLD = 1032,
+ ERR_GARRISON_COMPLETE_MISSION_WRONG_FOLLOWER_TYPE = 1033,
+ ERR_ALREADY_USING_LFG_LIST = 1034,
+ ERR_RESTRICTED_ACCOUNT_LFG_LIST_TRIAL = 1035,
+ ERR_TOY_USE_LIMIT_REACHED = 1036,
+ ERR_TOY_ALREADY_KNOWN = 1037,
+ ERR_TRANSMOG_SET_ALREADY_KNOWN = 1038,
+ ERR_NOT_ENOUGH_CURRENCY = 1039,
+ ERR_SPEC_IS_DISABLED = 1040,
+ ERR_FEATURE_RESTRICTED_TRIAL = 1041,
+ ERR_CANT_BE_OBLITERATED = 1042,
+ ERR_CANT_BE_SCRAPPED = 1043,
+ ERR_CANT_BE_RECRAFTED = 1044,
+ ERR_ARTIFACT_RELIC_DOES_NOT_MATCH_ARTIFACT = 1045,
+ ERR_MUST_EQUIP_ARTIFACT = 1046,
+ ERR_CANT_DO_THAT_RIGHT_NOW = 1047,
+ ERR_AFFECTING_COMBAT = 1048,
+ ERR_EQUIPMENT_MANAGER_COMBAT_SWAP_S = 1049,
+ ERR_EQUIPMENT_MANAGER_BAGS_FULL = 1050,
+ ERR_EQUIPMENT_MANAGER_MISSING_ITEM_S = 1051,
+ ERR_MOVIE_RECORDING_WARNING_PERF = 1052,
+ ERR_MOVIE_RECORDING_WARNING_DISK_FULL = 1053,
+ ERR_MOVIE_RECORDING_WARNING_NO_MOVIE = 1054,
+ ERR_MOVIE_RECORDING_WARNING_REQUIREMENTS = 1055,
+ ERR_MOVIE_RECORDING_WARNING_COMPRESSING = 1056,
+ ERR_NO_CHALLENGE_MODE_REWARD = 1057,
+ ERR_CLAIMED_CHALLENGE_MODE_REWARD = 1058,
+ ERR_CHALLENGE_MODE_PERIOD_RESET_SS = 1059,
+ ERR_CANT_DO_THAT_CHALLENGE_MODE_ACTIVE = 1060,
+ ERR_TALENT_FAILED_REST_AREA = 1061,
+ ERR_CANNOT_ABANDON_LAST_PET = 1062,
+ ERR_TEST_CVAR_SET_SSS = 1063,
+ ERR_QUEST_TURN_IN_FAIL_REASON = 1064,
+ ERR_CLAIMED_CHALLENGE_MODE_REWARD_OLD = 1065,
+ ERR_TALENT_GRANTED_BY_AURA = 1066,
+ ERR_CHALLENGE_MODE_ALREADY_COMPLETE = 1067,
+ ERR_GLYPH_TARGET_NOT_AVAILABLE = 1068,
+ ERR_PVP_WARMODE_TOGGLE_ON = 1069,
+ ERR_PVP_WARMODE_TOGGLE_OFF = 1070,
+ ERR_SPELL_FAILED_LEVEL_REQUIREMENT = 1071,
+ ERR_SPELL_FAILED_CANT_FLY_HERE = 1072,
+ ERR_BATTLEGROUND_JOIN_REQUIRES_LEVEL = 1073,
+ ERR_BATTLEGROUND_JOIN_DISQUALIFIED = 1074,
+ ERR_BATTLEGROUND_JOIN_DISQUALIFIED_NO_NAME = 1075,
+ ERR_VOICE_CHAT_GENERIC_UNABLE_TO_CONNECT = 1076,
+ ERR_VOICE_CHAT_SERVICE_LOST = 1077,
+ ERR_VOICE_CHAT_CHANNEL_NAME_TOO_SHORT = 1078,
+ ERR_VOICE_CHAT_CHANNEL_NAME_TOO_LONG = 1079,
+ ERR_VOICE_CHAT_CHANNEL_ALREADY_EXISTS = 1080,
+ ERR_VOICE_CHAT_TARGET_NOT_FOUND = 1081,
+ ERR_VOICE_CHAT_TOO_MANY_REQUESTS = 1082,
+ ERR_VOICE_CHAT_PLAYER_SILENCED = 1083,
+ ERR_VOICE_CHAT_PARENTAL_DISABLE_ALL = 1084,
+ ERR_VOICE_CHAT_DISABLED = 1085,
+ ERR_NO_PVP_REWARD = 1086,
+ ERR_CLAIMED_PVP_REWARD = 1087,
+ ERR_AZERITE_ESSENCE_SELECTION_FAILED_ESSENCE_NOT_UNLOCKED = 1088,
+ ERR_AZERITE_ESSENCE_SELECTION_FAILED_CANT_REMOVE_ESSENCE = 1089,
+ ERR_AZERITE_ESSENCE_SELECTION_FAILED_CONDITION_FAILED = 1090,
+ ERR_AZERITE_ESSENCE_SELECTION_FAILED_REST_AREA = 1091,
+ ERR_AZERITE_ESSENCE_SELECTION_FAILED_SLOT_LOCKED = 1092,
+ ERR_AZERITE_ESSENCE_SELECTION_FAILED_NOT_AT_FORGE = 1093,
+ ERR_AZERITE_ESSENCE_SELECTION_FAILED_HEART_LEVEL_TOO_LOW = 1094,
+ ERR_AZERITE_ESSENCE_SELECTION_FAILED_NOT_EQUIPPED = 1095,
+ ERR_SOCKETING_REQUIRES_PUNCHCARDRED_GEM = 1096,
+ ERR_SOCKETING_PUNCHCARDRED_GEM_ONLY_IN_PUNCHCARDREDSLOT = 1097,
+ ERR_SOCKETING_REQUIRES_PUNCHCARDYELLOW_GEM = 1098,
+ ERR_SOCKETING_PUNCHCARDYELLOW_GEM_ONLY_IN_PUNCHCARDYELLOWSLOT = 1099,
+ ERR_SOCKETING_REQUIRES_PUNCHCARDBLUE_GEM = 1100,
+ ERR_SOCKETING_PUNCHCARDBLUE_GEM_ONLY_IN_PUNCHCARDBLUESLOT = 1101,
+ ERR_SOCKETING_REQUIRES_DOMINATION_SHARD = 1102,
+ ERR_SOCKETING_DOMINATION_SHARD_ONLY_IN_DOMINATIONSLOT = 1103,
+ ERR_SOCKETING_REQUIRES_CYPHER_GEM = 1104,
+ ERR_SOCKETING_CYPHER_GEM_ONLY_IN_CYPHERSLOT = 1105,
+ ERR_SOCKETING_REQUIRES_TINKER_GEM = 1106,
+ ERR_SOCKETING_TINKER_GEM_ONLY_IN_TINKERSLOT = 1107,
+ ERR_SOCKETING_REQUIRES_PRIMORDIAL_GEM = 1108,
+ ERR_SOCKETING_PRIMORDIAL_GEM_ONLY_IN_PRIMORDIALSLOT = 1109,
+ ERR_SOCKETING_REQUIRES_FRAGRANCE_GEM = 1110,
+ ERR_SOCKETING_FRAGRANCE_GEM_ONLY_IN_FRAGRANCESLOT = 1111,
+ ERR_SOCKETING_REQUIRES_SINGING_THUNDER_GEM = 1112,
+ ERR_SOCKETING_SINGINGTHUNDER_GEM_ONLY_IN_SINGINGTHUNDERSLOT = 1113,
+ ERR_SOCKETING_REQUIRES_SINGING_SEA_GEM = 1114,
+ ERR_SOCKETING_SINGINGSEA_GEM_ONLY_IN_SINGINGSEASLOT = 1115,
+ ERR_SOCKETING_REQUIRES_SINGING_WIND_GEM = 1116,
+ ERR_SOCKETING_SINGINGWIND_GEM_ONLY_IN_SINGINGWINDSLOT = 1117,
+ ERR_LEVEL_LINKING_RESULT_LINKED = 1118,
+ ERR_LEVEL_LINKING_RESULT_UNLINKED = 1119,
+ ERR_CLUB_FINDER_ERROR_POST_CLUB = 1120,
+ ERR_CLUB_FINDER_ERROR_APPLY_CLUB = 1121,
+ ERR_CLUB_FINDER_ERROR_RESPOND_APPLICANT = 1122,
+ ERR_CLUB_FINDER_ERROR_CANCEL_APPLICATION = 1123,
+ ERR_CLUB_FINDER_ERROR_TYPE_ACCEPT_APPLICATION = 1124,
+ ERR_CLUB_FINDER_ERROR_TYPE_NO_INVITE_PERMISSIONS = 1125,
+ ERR_CLUB_FINDER_ERROR_TYPE_NO_POSTING_PERMISSIONS = 1126,
+ ERR_CLUB_FINDER_ERROR_TYPE_APPLICANT_LIST = 1127,
+ ERR_CLUB_FINDER_ERROR_TYPE_APPLICANT_LIST_NO_PERM = 1128,
+ ERR_CLUB_FINDER_ERROR_TYPE_FINDER_NOT_AVAILABLE = 1129,
+ ERR_CLUB_FINDER_ERROR_TYPE_GET_POSTING_IDS = 1130,
+ ERR_CLUB_FINDER_ERROR_TYPE_JOIN_APPLICATION = 1131,
+ ERR_CLUB_FINDER_ERROR_TYPE_REALM_NOT_ELIGIBLE = 1132,
+ ERR_CLUB_FINDER_ERROR_TYPE_FLAGGED_RENAME = 1133,
+ ERR_CLUB_FINDER_ERROR_TYPE_FLAGGED_DESCRIPTION_CHANGE = 1134,
+ ERR_ITEM_INTERACTION_NOT_ENOUGH_GOLD = 1135,
+ ERR_ITEM_INTERACTION_NOT_ENOUGH_CURRENCY = 1136,
+ ERR_ITEM_INTERACTION_NO_CONVERSION_OUTPUT = 1137,
+ ERR_PLAYER_CHOICE_ERROR_PENDING_CHOICE = 1138,
+ ERR_SOULBIND_INVALID_CONDUIT = 1139,
+ ERR_SOULBIND_INVALID_CONDUIT_ITEM = 1140,
+ ERR_SOULBIND_INVALID_TALENT = 1141,
+ ERR_SOULBIND_DUPLICATE_CONDUIT = 1142,
+ ERR_ACTIVATE_SOULBIND_S = 1143,
+ ERR_ACTIVATE_SOULBIND_FAILED_REST_AREA = 1144,
+ ERR_CANT_USE_PROFANITY = 1145,
+ ERR_NOT_IN_PET_BATTLE = 1146,
+ ERR_NOT_IN_NPE = 1147,
+ ERR_NO_SPEC = 1148,
+ ERR_NO_DOMINATIONSHARD_OVERWRITE = 1149,
+ ERR_USE_WEEKLY_REWARDS_DISABLED = 1150,
+ ERR_CROSS_FACTION_GROUP_JOINED = 1151,
+ ERR_CANT_TARGET_UNFRIENDLY_IN_OVERWORLD = 1152,
+ ERR_EQUIPABLESPELLS_SLOTS_FULL = 1153,
+ ERR_ITEM_MOD_APPEARANCE_GROUP_ALREADY_KNOWN = 1154,
+ ERR_CANT_BULK_SELL_ITEM_WITH_REFUND = 1155,
+ ERR_NO_SOULBOUND_ITEM_IN_ACCOUNT_BANK = 1156,
+ ERR_NO_REFUNDABLE_ITEM_IN_ACCOUNT_BANK = 1157,
+ ERR_CANT_DELETE_IN_ACCOUNT_BANK = 1158,
+ ERR_NO_IMMEDIATE_CONTAINER_IN_ACCOUNT_BANK = 1159,
+ ERR_NO_OPEN_IMMEDIATE_CONTAINER_IN_ACCOUNT_BANK = 1160,
+ ERR_CANT_TRADE_ACCOUNT_ITEM = 1161,
+ ERR_NO_ACCOUNT_INVENTORY_LOCK = 1162,
+ ERR_BANK_NOT_ACCESSIBLE = 1163,
+ ERR_TOO_MANY_ACCOUNT_BANK_TABS = 1164,
+ ERR_ACCOUNT_BANK_TAB_NOT_UNLOCKED = 1165,
+ ERR_ACCOUNT_MONEY_LOCKED = 1166,
+ ERR_BANK_TAB_INVALID_NAME = 1167,
+ ERR_BANK_TAB_INVALID_TEXT = 1168,
+ ERR_WOW_LABS_PARTY_ERROR_TYPE_PARTY_IS_FULL = 1169,
+ ERR_WOW_LABS_PARTY_ERROR_TYPE_MAX_INVITE_SENT = 1170,
+ ERR_WOW_LABS_PARTY_ERROR_TYPE_PLAYER_ALREADY_INVITED = 1171,
+ ERR_WOW_LABS_PARTY_ERROR_TYPE_PARTY_INVITE_INVALID = 1172,
+ ERR_WOW_LABS_LOBBY_MATCHMAKER_ERROR_ENTER_QUEUE_FAILED = 1173,
+ ERR_WOW_LABS_LOBBY_MATCHMAKER_ERROR_LEAVE_QUEUE_FAILED = 1174,
+ ERR_WOW_LABS_SET_WOW_LABS_AREA_ID_FAILED = 1175,
+ ERR_PLUNDERSTORM_CANNOT_QUEUE = 1176,
+ ERR_TARGET_IS_SELF_FOUND_CANNOT_TRADE = 1177,
+ ERR_PLAYER_IS_SELF_FOUND_CANNOT_TRADE = 1178,
+ ERR_MAIL_RECEPIENT_IS_SELF_FOUND_CANNOT_RECEIVE_MAIL = 1179,
+ ERR_PLAYER_IS_SELF_FOUND_CANNOT_SEND_MAIL = 1180,
+ ERR_PLAYER_IS_SELF_FOUND_CANNOT_USE_AUCTION_HOUSE = 1181,
+ ERR_MAIL_TARGET_CANNOT_RECEIVE_MAIL = 1182,
+ ERR_REMIX_INVALID_TRANSFER_REQUEST = 1183,
+ ERR_CURRENCY_TRANSFER_INVALID_CHARACTER = 1184,
+ ERR_CURRENCY_TRANSFER_INVALID_CURRENCY = 1185,
+ ERR_CURRENCY_TRANSFER_INSUFFICIENT_CURRENCY = 1186,
+ ERR_CURRENCY_TRANSFER_MAX_QUANTITY = 1187,
+ ERR_CURRENCY_TRANSFER_NO_VALID_SOURCE = 1188,
+ ERR_CURRENCY_TRANSFER_CHARACTER_LOGGED_IN = 1189,
+ ERR_CURRENCY_TRANSFER_SERVER_ERROR = 1190,
+ ERR_CURRENCY_TRANSFER_UNMET_REQUIREMENTS = 1191,
+ ERR_CURRENCY_TRANSFER_TRANSACTION_IN_PROGRESS = 1192,
+ ERR_CURRENCY_TRANSFER_DISABLED = 1193,
};
enum class MountResult : uint32
diff --git a/src/server/game/Movement/Spline/MoveSpline.cpp b/src/server/game/Movement/Spline/MoveSpline.cpp
index d71287acf28..e5d9fb3d60b 100644
--- a/src/server/game/Movement/Spline/MoveSpline.cpp
+++ b/src/server/game/Movement/Spline/MoveSpline.cpp
@@ -29,9 +29,9 @@ Location MoveSpline::computePosition(int32 time_point, int32 point_index) const
ASSERT(Initialized());
float u = 1.0f;
- int32 seg_time = spline.length(point_index, point_index + 1);
+ float seg_time = float(spline.length(point_index, point_index + 1));
if (seg_time > 0)
- u = (time_point - spline.length(point_index)) / (float)seg_time;
+ u = std::min(float(time_point - spline.length(point_index)) / seg_time, 1.0f);
Location c;
c.orientation = initialOrientation;
@@ -52,6 +52,10 @@ Location MoveSpline::computePosition(int32 time_point, int32 point_index) const
c.orientation = std::atan2(facing.f.y - c.y, facing.f.x - c.x);
//nothing to do for MoveSplineFlag::Final_Target flag
}
+ else if (splineflags.Turning)
+ {
+ c.orientation = Position::NormalizeOrientation(turn->StartFacing + float(time_point) / float(IN_MILLISECONDS) * turn->RadsPerSec);
+ }
else
{
if (!splineflags.HasFlag(MoveSplineFlagEnum::OrientationFixed | MoveSplineFlagEnum::Falling | MoveSplineFlagEnum::JumpOrientationFixed))
@@ -171,6 +175,13 @@ void MoveSpline::init_spline(MoveSplineInitArgs const& args)
TC_LOG_ERROR("misc", "MoveSpline::init_spline: zero length spline, wrong input data?");
spline.set_length(spline.last(), spline.isCyclic() ? 1000 : 1);
}
+
+ if (turn)
+ {
+ MySpline::LengthType totalTurnTime = static_cast<MySpline::LengthType>(turn->TotalTurnRads / turn->RadsPerSec * float(IN_MILLISECONDS));
+ spline.set_length(spline.last(), std::max(spline.length(), totalTurnTime));
+ }
+
point_Idx = spline.first();
}
@@ -186,6 +197,7 @@ void MoveSpline::Initialize(MoveSplineInitArgs const& args)
vertical_acceleration = 0.f;
effect_start_time = 0;
spell_effect_extra = args.spellEffectExtra;
+ turn = args.turnData;
anim_tier = args.animTier;
splineIsFacingOnly = args.path.size() == 2 && args.facing.type != MONSTER_MOVE_NORMAL && ((args.path[1] - args.path[0]).length() < 0.1f);
diff --git a/src/server/game/Movement/Spline/MoveSpline.h b/src/server/game/Movement/Spline/MoveSpline.h
index 45b0609378d..683198160d7 100644
--- a/src/server/game/Movement/Spline/MoveSpline.h
+++ b/src/server/game/Movement/Spline/MoveSpline.h
@@ -84,6 +84,7 @@ namespace Movement
int32 point_Idx_offset;
float velocity;
Optional<SpellEffectExtraData> spell_effect_extra;
+ Optional<TurnData> turn;
Optional<AnimTierTransition> anim_tier;
void init_spline(MoveSplineInitArgs const& args);
@@ -138,6 +139,7 @@ namespace Movement
bool Finalized() const { return splineflags.Done; }
bool isCyclic() const { return splineflags.Cyclic; }
bool isFalling() const { return splineflags.Falling; }
+ bool isTurning() const { return splineflags.Turning; }
Vector3 const& FinalDestination() const { return Initialized() ? spline.getPoint(spline.last()) : Vector3::zero(); }
Vector3 const& CurrentDestination() const { return Initialized() ? spline.getPoint(point_Idx + 1) : Vector3::zero(); }
int32 currentPathIdx() const;
diff --git a/src/server/game/Movement/Spline/MoveSplineFlag.h b/src/server/game/Movement/Spline/MoveSplineFlag.h
index c33711c951c..62b8bb1cab0 100644
--- a/src/server/game/Movement/Spline/MoveSplineFlag.h
+++ b/src/server/game/Movement/Spline/MoveSplineFlag.h
@@ -42,7 +42,7 @@ namespace Movement
Catmullrom = 0x00000800, // Used Catmullrom interpolation mode
Cyclic = 0x00001000, // Movement by cycled spline
Enter_Cycle = 0x00002000, // Everytimes appears with cyclic flag in monster move packet, erases first spline vertex after first cycle done
- Frozen = 0x00004000, // Will never arrive
+ Turning = 0x00004000, // Turns in place
TransportEnter = 0x00008000,
TransportExit = 0x00010000,
Unknown_0x20000 = 0x00020000, // NOT VERIFIED
@@ -65,7 +65,7 @@ namespace Movement
// flags that shouldn't be appended into SMSG_MONSTER_MOVE\SMSG_MONSTER_MOVE_TRANSPORT packet, should be more probably
Mask_No_Monster_Move = Done, // SKIP
// Unused, not suported flags
- Mask_Unused = No_Spline | Frozen | Unknown_0x100 | Unknown_0x20000 | Unknown_0x40000
+ Mask_Unused = No_Spline | Unknown_0x100 | Unknown_0x20000 | Unknown_0x40000
| Unknown_0x800000 | FadeObject | UnlimitedSpeed | Unknown_0x40000000 | Unknown_0x80000000 // SKIP
};
@@ -142,7 +142,7 @@ namespace Movement
MAKE_FLAG_ACCESSOR_FIELD(Catmullrom);
MAKE_FLAG_ACCESSOR_FIELD(Cyclic);
MAKE_FLAG_ACCESSOR_FIELD(Enter_Cycle);
- MAKE_FLAG_ACCESSOR_FIELD(Frozen);
+ MAKE_FLAG_ACCESSOR_FIELD(Turning);
MAKE_FLAG_ACCESSOR_FIELD(TransportEnter);
MAKE_FLAG_ACCESSOR_FIELD(TransportExit);
MAKE_FLAG_ACCESSOR_FIELD(Unknown_0x20000);
diff --git a/src/server/game/Movement/Spline/MoveSplineInit.cpp b/src/server/game/Movement/Spline/MoveSplineInit.cpp
index 0396cf4f0ef..9eb54f0ce73 100644
--- a/src/server/game/Movement/Spline/MoveSplineInit.cpp
+++ b/src/server/game/Movement/Spline/MoveSplineInit.cpp
@@ -202,6 +202,9 @@ namespace Movement
loc.orientation = unit->GetOrientation();
}
+ if (move_spline.isTurning())
+ SetFacing(loc.orientation);
+
args.flags = MoveSplineFlagEnum::Done;
unit->m_movementInfo.RemoveMovementFlag(MOVEMENTFLAG_FORWARD);
move_spline.onTransport = transport;
@@ -212,6 +215,9 @@ namespace Movement
packet.Pos = Position(loc.x, loc.y, loc.z, loc.orientation);
packet.SplineData.StopSplineStyle = 2;
packet.SplineData.ID = move_spline.GetId();
+ packet.SplineData.StopUseFaceDirection = args.facing.type == MONSTER_MOVE_FACING_ANGLE;
+ packet.SplineData.Move.Face = args.facing.type;
+ packet.SplineData.Move.FaceDirection = args.facing.angle;
if (transport)
{
diff --git a/src/server/game/Movement/Spline/MoveSplineInit.h b/src/server/game/Movement/Spline/MoveSplineInit.h
index cea5adc4b83..5035bb38fb1 100644
--- a/src/server/game/Movement/Spline/MoveSplineInit.h
+++ b/src/server/game/Movement/Spline/MoveSplineInit.h
@@ -157,6 +157,8 @@ namespace Movement
void SetSpellEffectExtraData(SpellEffectExtraData const& spellEffectExtraData);
+ void SetTurning(float startFacing, float totalTurnRads, float radsPerSec);
+
PointsArray& Path() { return args.path; }
/* Disables transport coordinate transformations for cases where raw offsets are available
@@ -216,6 +218,16 @@ namespace Movement
args.spellEffectExtra = spellEffectExtraData;
}
+ inline void MoveSplineInit::SetTurning(float startFacing, float totalTurnRads, float radsPerSec)
+ {
+ args.flags.Turning = true;
+
+ TurnData& turn = args.turnData.emplace();
+ turn.StartFacing = startFacing;
+ turn.TotalTurnRads = totalTurnRads;
+ turn.RadsPerSec = radsPerSec;
+ }
+
struct MoveSplineInitFacingVisitor
{
explicit MoveSplineInitFacingVisitor(MoveSplineInit& init) : _init(init) { }
diff --git a/src/server/game/Movement/Spline/MoveSplineInitArgs.h b/src/server/game/Movement/Spline/MoveSplineInitArgs.h
index fe7bb527802..46cd0779e21 100644
--- a/src/server/game/Movement/Spline/MoveSplineInitArgs.h
+++ b/src/server/game/Movement/Spline/MoveSplineInitArgs.h
@@ -54,6 +54,13 @@ namespace Movement
uint32 ParabolicCurveId = 0;
};
+ struct TurnData
+ {
+ float StartFacing = 0.0f;
+ float TotalTurnRads = 0.0f;
+ float RadsPerSec = 0.0f;
+ };
+
struct AnimTierTransition
{
uint32 TierTransitionId = 0;
@@ -78,6 +85,7 @@ namespace Movement
uint32 splineId;
float initialOrientation;
Optional<SpellEffectExtraData> spellEffectExtra;
+ Optional<TurnData> turnData;
Optional<AnimTierTransition> animTier;
bool walk;
bool HasVelocity;
diff --git a/src/server/game/Movement/Spline/enuminfo_MoveSplineFlag.cpp b/src/server/game/Movement/Spline/enuminfo_MoveSplineFlag.cpp
index 7e404624732..1984e9c3eb8 100644
--- a/src/server/game/Movement/Spline/enuminfo_MoveSplineFlag.cpp
+++ b/src/server/game/Movement/Spline/enuminfo_MoveSplineFlag.cpp
@@ -48,7 +48,7 @@ TC_API_EXPORT EnumText EnumUtils<MoveSplineFlagEnum>::ToString(MoveSplineFlagEnu
case MoveSplineFlagEnum::Catmullrom: return { "Catmullrom", "Catmullrom", "Used Catmullrom interpolation mode" };
case MoveSplineFlagEnum::Cyclic: return { "Cyclic", "Cyclic", "Movement by cycled spline" };
case MoveSplineFlagEnum::Enter_Cycle: return { "Enter_Cycle", "Enter_Cycle", "Everytimes appears with cyclic flag in monster move packet, erases first spline vertex after first cycle done" };
- case MoveSplineFlagEnum::Frozen: return { "Frozen", "Frozen", "Will never arrive" };
+ case MoveSplineFlagEnum::Turning: return { "Turning", "Turning", "Turns in place" };
case MoveSplineFlagEnum::TransportEnter: return { "TransportEnter", "TransportEnter", "" };
case MoveSplineFlagEnum::TransportExit: return { "TransportExit", "TransportExit", "" };
case MoveSplineFlagEnum::Unknown_0x20000: return { "Unknown_0x20000", "Unknown_0x20000", "NOT VERIFIED" };
@@ -93,7 +93,7 @@ TC_API_EXPORT MoveSplineFlagEnum EnumUtils<MoveSplineFlagEnum>::FromIndex(size_t
case 12: return MoveSplineFlagEnum::Catmullrom;
case 13: return MoveSplineFlagEnum::Cyclic;
case 14: return MoveSplineFlagEnum::Enter_Cycle;
- case 15: return MoveSplineFlagEnum::Frozen;
+ case 15: return MoveSplineFlagEnum::Turning;
case 16: return MoveSplineFlagEnum::TransportEnter;
case 17: return MoveSplineFlagEnum::TransportExit;
case 18: return MoveSplineFlagEnum::Unknown_0x20000;
@@ -135,7 +135,7 @@ TC_API_EXPORT size_t EnumUtils<MoveSplineFlagEnum>::ToIndex(MoveSplineFlagEnum v
case MoveSplineFlagEnum::Catmullrom: return 12;
case MoveSplineFlagEnum::Cyclic: return 13;
case MoveSplineFlagEnum::Enter_Cycle: return 14;
- case MoveSplineFlagEnum::Frozen: return 15;
+ case MoveSplineFlagEnum::Turning: return 15;
case MoveSplineFlagEnum::TransportEnter: return 16;
case MoveSplineFlagEnum::TransportExit: return 17;
case MoveSplineFlagEnum::Unknown_0x20000: return 18;
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;
}
}
diff --git a/src/tools/map_extractor/loadlib/DBFilesClientList.h b/src/tools/map_extractor/loadlib/DBFilesClientList.h
index d36c88f4384..4590a7fab8f 100644
--- a/src/tools/map_extractor/loadlib/DBFilesClientList.h
+++ b/src/tools/map_extractor/loadlib/DBFilesClientList.h
@@ -84,6 +84,9 @@ constexpr DB2FileInfo DBFilesClientList[] =
{ .FileDataId = 1036203, .Name = "ArtifactQuestXP.db2" },
{ .FileDataId = 1600114, .Name = "ArtifactTier.db2" },
{ .FileDataId = 1094540, .Name = "ArtifactUnlock.db2" },
+ { .FileDataId = 6698666, .Name = "AssistedCombat.db2" },
+ { .FileDataId = 6698667, .Name = "AssistedCombatRule.db2" },
+ { .FileDataId = 6698668, .Name = "AssistedCombatStep.db2" },
{ .FileDataId = 1237439, .Name = "AuctionHouse.db2" },
{ .FileDataId = 4366440, .Name = "AuctionHouseCategory.db2" },
{ .FileDataId = 1846046, .Name = "AzeriteEmpoweredItem.db2" },
@@ -229,6 +232,7 @@ constexpr DB2FileInfo DBFilesClientList[] =
{ .FileDataId = 4668112, .Name = "ContentRestrictionRule.db2" },
{ .FileDataId = 4281307, .Name = "ContentRestrictionRuleSet.db2" },
{ .FileDataId = 1962930, .Name = "ContentTuning.db2" },
+ { .FileDataId = 7001981, .Name = "ContentTuningXDifficulty.db2" },
{ .FileDataId = 2976765, .Name = "ContentTuningXExpected.db2" },
{ .FileDataId = 4659576, .Name = "ContentTuningXLabel.db2" },
{ .FileDataId = 1587153, .Name = "Contribution.db2" },