diff options
-rw-r--r-- | sql/updates/hotfixes/master/2019_07_14_00_hotfixes.sql | 74 | ||||
-rw-r--r-- | src/server/database/Database/Implementation/HotfixDatabase.cpp | 29 | ||||
-rw-r--r-- | src/server/database/Database/Implementation/HotfixDatabase.h | 2 | ||||
-rw-r--r-- | src/server/game/DataStores/DB2LoadInfo.h | 37 | ||||
-rw-r--r-- | src/server/game/DataStores/DB2Metadata.h | 528 | ||||
-rw-r--r-- | src/server/game/DataStores/DB2Stores.cpp | 88 | ||||
-rw-r--r-- | src/server/game/DataStores/DB2Structure.h | 43 | ||||
-rw-r--r-- | src/server/game/DataStores/DBCEnums.h | 5 | ||||
-rw-r--r-- | src/server/game/DataStores/GameTables.h | 3 | ||||
-rw-r--r-- | src/server/game/Entities/Unit/Unit.cpp | 5 | ||||
-rw-r--r-- | src/server/game/Miscellaneous/SharedDefines.h | 1977 | ||||
-rw-r--r-- | src/server/game/Spells/SpellInfo.cpp | 12 | ||||
-rw-r--r-- | src/server/game/Spells/SpellInfo.h | 1 | ||||
-rw-r--r-- | src/tools/map_extractor/loadlib/DBFilesClientList.h | 23 |
14 files changed, 1698 insertions, 1129 deletions
diff --git a/sql/updates/hotfixes/master/2019_07_14_00_hotfixes.sql b/sql/updates/hotfixes/master/2019_07_14_00_hotfixes.sql new file mode 100644 index 00000000000..ac39fc76248 --- /dev/null +++ b/sql/updates/hotfixes/master/2019_07_14_00_hotfixes.sql @@ -0,0 +1,74 @@ +-- +-- Table structure for table `cfg_regions` +-- +ALTER TABLE `cfg_regions` + DROP `ChallengeTimeOffset1`, + DROP `ChallengeTimeOffset2`; + +-- +-- Table structure for table `content_tuning` +-- +ALTER TABLE `content_tuning` + ADD `ExpansionID` int(11) NOT NULL DEFAULT '0' AFTER `Flags`, + DROP `ExpectedStatModID`, + DROP `DifficultyESMID`; + +-- +-- Table structure for table `content_tuning_x_expected` +-- +DROP TABLE IF EXISTS `content_tuning_x_expected`; +CREATE TABLE `content_tuning_x_expected` ( + `ID` int(10) unsigned NOT NULL DEFAULT '0', + `ExpectedStatModID` int(11) NOT NULL DEFAULT '0', + `ContentTuningID` int(11) NOT NULL DEFAULT '0', + `VerifiedBuild` smallint(6) NOT NULL DEFAULT '0', + PRIMARY KEY (`ID`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; + +-- +-- Table structure for table `creature_model_data` +-- +ALTER TABLE `creature_model_data` + ADD `Unknown820_1` tinyint(4) NOT NULL DEFAULT '0' AFTER `TamedPetBaseScale`, + ADD `Unknown820_2` float NOT NULL DEFAULT '0' AFTER `Unknown820_1`, + ADD `Unknown820_31` float NOT NULL DEFAULT '0' AFTER `Unknown820_2`, + ADD `Unknown820_32` float NOT NULL DEFAULT '0' AFTER `Unknown820_31`; + +-- +-- Table structure for table `garr_follower` +-- +ALTER TABLE `garr_follower` MODIFY `HordeGarrClassSpecID` int(11) NOT NULL DEFAULT '0' AFTER `AllianceGarrFollRaceID`; +ALTER TABLE `garr_follower` MODIFY `AllianceGarrClassSpecID` int(11) NOT NULL DEFAULT '0' AFTER `HordeGarrClassSpecID`; + +-- +-- Table structure for table `glyph_properties` +-- +ALTER TABLE `glyph_properties` ADD `SpellIconFileDataID` int(11) NOT NULL DEFAULT '0' AFTER `GlyphExclusiveCategoryID`; +ALTER TABLE `glyph_properties` DROP `SpellIconID`; + +-- +-- Table structure for table `modifier_tree` +-- +ALTER TABLE `modifier_tree` MODIFY `Type` int(11) NOT NULL DEFAULT '0' AFTER `Amount`; + +-- +-- Table structure for table `mount_capability` +-- +ALTER TABLE `mount_capability` ADD `PlayerConditionID` int(11) NOT NULL DEFAULT '0' AFTER `ReqMapID`; + +-- +-- Table structure for table `rand_prop_points` +-- +ALTER TABLE `rand_prop_points` ADD `DamageSecondary` int(11) NOT NULL DEFAULT '0' AFTER `DamageReplaceStat`; + +-- +-- Table structure for table `spell_misc` +-- +ALTER TABLE `spell_misc` ADD `ContentTuningID` int(11) NOT NULL DEFAULT '0' AFTER `ActiveIconFileDataID`; + +-- +-- Table structure for table `ui_map_link` +-- +ALTER TABLE `ui_map_link` + ADD `OverrideHighlightFileDataID` int(11) NOT NULL DEFAULT '0' AFTER `ChildUiMapID`, + ADD `OverrideHighlightAtlasID` int(11) NOT NULL DEFAULT '0' AFTER `OverrideHighlightFileDataID`; diff --git a/src/server/database/Database/Implementation/HotfixDatabase.cpp b/src/server/database/Database/Implementation/HotfixDatabase.cpp index 3e6e620d065..e93d72bfb08 100644 --- a/src/server/database/Database/Implementation/HotfixDatabase.cpp +++ b/src/server/database/Database/Implementation/HotfixDatabase.cpp @@ -151,8 +151,7 @@ void HotfixDatabaseConnection::DoPrepareStatements() PREPARE_LOCALE_STMT(HOTFIX_SEL_BROADCAST_TEXT, "SELECT ID, Text_lang, Text1_lang FROM broadcast_text_locale WHERE locale = ?", CONNECTION_SYNCH); // CfgRegions.db2 - PrepareStatement(HOTFIX_SEL_CFG_REGIONS, "SELECT ID, Tag, RegionID, Raidorigin, RegionGroupMask, ChallengeOrigin, ChallengeTimeOffset1, " - "ChallengeTimeOffset2 FROM cfg_regions ORDER BY ID DESC", CONNECTION_SYNCH); + PrepareStatement(HOTFIX_SEL_CFG_REGIONS, "SELECT ID, Tag, RegionID, Raidorigin, RegionGroupMask, ChallengeOrigin FROM cfg_regions ORDER BY ID DESC", CONNECTION_SYNCH); // CharacterFacialHairStyles.db2 PrepareStatement(HOTFIX_SEL_CHARACTER_FACIAL_HAIR_STYLES, "SELECT ID, Geoset1, Geoset2, Geoset3, Geoset4, Geoset5, RaceID, SexID, VariationID" @@ -218,7 +217,10 @@ void HotfixDatabaseConnection::DoPrepareStatements() " FROM cinematic_sequences ORDER BY ID DESC", CONNECTION_SYNCH); // ContentTuning.db2 - PrepareStatement(HOTFIX_SEL_CONTENT_TUNING, "SELECT ID, MinLevel, MaxLevel, Flags, ExpectedStatModID, DifficultyESMID FROM content_tuning" + PrepareStatement(HOTFIX_SEL_CONTENT_TUNING, "SELECT ID, MinLevel, MaxLevel, Flags, ExpansionID FROM content_tuning ORDER BY ID DESC", CONNECTION_SYNCH); + + // ContentTuningXExpected.db2 + PrepareStatement(HOTFIX_SEL_CONTENT_TUNING_X_EXPECTED, "SELECT ID, ExpectedStatModID, ContentTuningID FROM content_tuning_x_expected" " ORDER BY ID DESC", CONNECTION_SYNCH); // ConversationLine.db2 @@ -247,7 +249,8 @@ void HotfixDatabaseConnection::DoPrepareStatements() "FootprintTextureID, FootprintTextureLength, FootprintTextureWidth, FootprintParticleScale, FoleyMaterialID, FootstepCameraEffectID, " "DeathThudCameraEffectID, SoundID, SizeClass, CollisionWidth, CollisionHeight, WorldEffectScale, CreatureGeosetDataID, HoverHeight, " "AttachedEffectScale, ModelScale, MissileCollisionRadius, MissileCollisionPush, MissileCollisionRaise, MountHeight, OverrideLootEffectScale, " - "OverrideNameScale, OverrideSelectionRadius, TamedPetBaseScale FROM creature_model_data ORDER BY ID DESC", CONNECTION_SYNCH); + "OverrideNameScale, OverrideSelectionRadius, TamedPetBaseScale, Unknown820_1, Unknown820_2, Unknown820_31, Unknown820_32" + " FROM creature_model_data ORDER BY ID DESC", CONNECTION_SYNCH); // CreatureType.db2 PrepareStatement(HOTFIX_SEL_CREATURE_TYPE, "SELECT ID, Name, Flags FROM creature_type ORDER BY ID DESC", CONNECTION_SYNCH); @@ -404,7 +407,7 @@ void HotfixDatabaseConnection::DoPrepareStatements() PrepareStatement(HOTFIX_SEL_GLYPH_BINDABLE_SPELL, "SELECT ID, SpellID, GlyphPropertiesID FROM glyph_bindable_spell ORDER BY ID DESC", CONNECTION_SYNCH); // GlyphProperties.db2 - PrepareStatement(HOTFIX_SEL_GLYPH_PROPERTIES, "SELECT ID, SpellID, SpellIconID, GlyphType, GlyphExclusiveCategoryID FROM glyph_properties" + PrepareStatement(HOTFIX_SEL_GLYPH_PROPERTIES, "SELECT ID, SpellID, GlyphType, GlyphExclusiveCategoryID, SpellIconFileDataID FROM glyph_properties" " ORDER BY ID DESC", CONNECTION_SYNCH); // GlyphRequiredSpec.db2 @@ -657,7 +660,7 @@ void HotfixDatabaseConnection::DoPrepareStatements() // MountCapability.db2 PrepareStatement(HOTFIX_SEL_MOUNT_CAPABILITY, "SELECT ID, Flags, ReqRidingSkill, ReqAreaID, ReqSpellAuraID, ReqSpellKnownID, ModSpellAuraID, " - "ReqMapID FROM mount_capability ORDER BY ID DESC", CONNECTION_SYNCH); + "ReqMapID, PlayerConditionID FROM mount_capability ORDER BY ID DESC", CONNECTION_SYNCH); // MountTypeXCapability.db2 PrepareStatement(HOTFIX_SEL_MOUNT_TYPE_X_CAPABILITY, "SELECT ID, MountTypeID, MountCapabilityID, OrderIndex FROM mount_type_x_capability" @@ -768,8 +771,8 @@ void HotfixDatabaseConnection::DoPrepareStatements() "Difficulty8, Difficulty9, Difficulty10 FROM quest_xp ORDER BY ID DESC", CONNECTION_SYNCH); // RandPropPoints.db2 - PrepareStatement(HOTFIX_SEL_RAND_PROP_POINTS, "SELECT ID, DamageReplaceStat, Epic1, Epic2, Epic3, Epic4, Epic5, Superior1, Superior2, Superior3, " - "Superior4, Superior5, Good1, Good2, Good3, Good4, Good5 FROM rand_prop_points ORDER BY ID DESC", CONNECTION_SYNCH); + PrepareStatement(HOTFIX_SEL_RAND_PROP_POINTS, "SELECT ID, DamageReplaceStat, DamageSecondary, Epic1, Epic2, Epic3, Epic4, Epic5, Superior1, " + "Superior2, Superior3, Superior4, Superior5, Good1, Good2, Good3, Good4, Good5 FROM rand_prop_points ORDER BY ID DESC", CONNECTION_SYNCH); // RewardPack.db2 PrepareStatement(HOTFIX_SEL_REWARD_PACK, "SELECT ID, CharTitleID, Money, ArtifactXPDifficulty, ArtifactXPMultiplier, ArtifactXPCategoryID, " @@ -913,9 +916,9 @@ void HotfixDatabaseConnection::DoPrepareStatements() // SpellMisc.db2 PrepareStatement(HOTFIX_SEL_SPELL_MISC, "SELECT ID, DifficultyID, CastingTimeIndex, DurationIndex, RangeIndex, SchoolMask, Speed, LaunchDelay, " - "MinDuration, SpellIconFileDataID, ActiveIconFileDataID, Attributes1, Attributes2, Attributes3, Attributes4, Attributes5, Attributes6, " - "Attributes7, Attributes8, Attributes9, Attributes10, Attributes11, Attributes12, Attributes13, Attributes14, SpellID FROM spell_misc" - " ORDER BY ID DESC", CONNECTION_SYNCH); + "MinDuration, SpellIconFileDataID, ActiveIconFileDataID, ContentTuningID, Attributes1, Attributes2, Attributes3, Attributes4, Attributes5, " + "Attributes6, Attributes7, Attributes8, Attributes9, Attributes10, Attributes11, Attributes12, Attributes13, Attributes14, SpellID" + " FROM spell_misc ORDER BY ID DESC", CONNECTION_SYNCH); // SpellName.db2 PrepareStatement(HOTFIX_SEL_SPELL_NAME, "SELECT ID, Name FROM spell_name ORDER BY ID DESC", CONNECTION_SYNCH); @@ -1041,8 +1044,8 @@ void HotfixDatabaseConnection::DoPrepareStatements() "Region2Z, ID, UiMapID, OrderIndex, MapID, AreaID, WmoDoodadPlacementID, WmoGroupID FROM ui_map_assignment ORDER BY ID DESC", CONNECTION_SYNCH); // UiMapLink.db2 - PrepareStatement(HOTFIX_SEL_UI_MAP_LINK, "SELECT UiMinX, UiMinY, UiMaxX, UiMaxY, ID, ParentUiMapID, OrderIndex, ChildUiMapID FROM ui_map_link" - " ORDER BY ID DESC", CONNECTION_SYNCH); + PrepareStatement(HOTFIX_SEL_UI_MAP_LINK, "SELECT UiMinX, UiMinY, UiMaxX, UiMaxY, ID, ParentUiMapID, OrderIndex, ChildUiMapID, " + "OverrideHighlightFileDataID, OverrideHighlightAtlasID FROM ui_map_link ORDER BY ID DESC", CONNECTION_SYNCH); // UiMapXMapArt.db2 PrepareStatement(HOTFIX_SEL_UI_MAP_X_MAP_ART, "SELECT ID, PhaseID, UiMapArtID, UiMapID FROM ui_map_x_map_art ORDER BY ID DESC", CONNECTION_SYNCH); diff --git a/src/server/database/Database/Implementation/HotfixDatabase.h b/src/server/database/Database/Implementation/HotfixDatabase.h index 3406421a8fd..e31704bebe7 100644 --- a/src/server/database/Database/Implementation/HotfixDatabase.h +++ b/src/server/database/Database/Implementation/HotfixDatabase.h @@ -130,6 +130,8 @@ enum HotfixDatabaseStatements : uint32 HOTFIX_SEL_CONTENT_TUNING, + HOTFIX_SEL_CONTENT_TUNING_X_EXPECTED, + HOTFIX_SEL_CONVERSATION_LINE, HOTFIX_SEL_CREATURE_DISPLAY_INFO, diff --git a/src/server/game/DataStores/DB2LoadInfo.h b/src/server/game/DataStores/DB2LoadInfo.h index 0c4da4e2804..7e5a4c66c71 100644 --- a/src/server/game/DataStores/DB2LoadInfo.h +++ b/src/server/game/DataStores/DB2LoadInfo.h @@ -623,8 +623,6 @@ struct CfgRegionsLoadInfo { false, FT_INT, "Raidorigin" }, { false, FT_BYTE, "RegionGroupMask" }, { false, FT_INT, "ChallengeOrigin" }, - { true, FT_INT, "ChallengeTimeOffset1" }, - { true, FT_INT, "ChallengeTimeOffset2" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, Cfg_RegionsMeta::Instance(), HOTFIX_SEL_CFG_REGIONS); return &loadInfo; @@ -958,14 +956,28 @@ struct ContentTuningLoadInfo { true, FT_INT, "MinLevel" }, { true, FT_INT, "MaxLevel" }, { true, FT_INT, "Flags" }, - { true, FT_INT, "ExpectedStatModID" }, - { true, FT_INT, "DifficultyESMID" }, + { true, FT_INT, "ExpansionID" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, ContentTuningMeta::Instance(), HOTFIX_SEL_CONTENT_TUNING); return &loadInfo; } }; +struct ContentTuningXExpectedLoadInfo +{ + static DB2LoadInfo const* Instance() + { + static DB2FieldMeta const fields[] = + { + { false, FT_INT, "ID" }, + { true, FT_INT, "ExpectedStatModID" }, + { true, FT_INT, "ContentTuningID" }, + }; + static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, ContentTuningXExpectedMeta::Instance(), HOTFIX_SEL_CONTENT_TUNING_X_EXPECTED); + return &loadInfo; + } +}; + struct ConversationLineLoadInfo { static DB2LoadInfo const* Instance() @@ -1116,6 +1128,10 @@ struct CreatureModelDataLoadInfo { false, FT_FLOAT, "OverrideNameScale" }, { false, FT_FLOAT, "OverrideSelectionRadius" }, { false, FT_FLOAT, "TamedPetBaseScale" }, + { true, FT_BYTE, "Unknown820_1" }, + { false, FT_FLOAT, "Unknown820_2" }, + { false, FT_FLOAT, "Unknown820_31" }, + { false, FT_FLOAT, "Unknown820_32" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, CreatureModelDataMeta::Instance(), HOTFIX_SEL_CREATURE_MODEL_DATA); return &loadInfo; @@ -1720,8 +1736,8 @@ struct GarrFollowerLoadInfo { true, FT_INT, "AllianceCreatureID" }, { false, FT_BYTE, "HordeGarrFollRaceID" }, { false, FT_BYTE, "AllianceGarrFollRaceID" }, - { false, FT_BYTE, "HordeGarrClassSpecID" }, - { false, FT_BYTE, "AllianceGarrClassSpecID" }, + { true, FT_INT, "HordeGarrClassSpecID" }, + { true, FT_INT, "AllianceGarrClassSpecID" }, { false, FT_BYTE, "Quality" }, { false, FT_BYTE, "FollowerLevel" }, { false, FT_SHORT, "ItemLevelWeapon" }, @@ -1896,9 +1912,9 @@ struct GlyphPropertiesLoadInfo { { false, FT_INT, "ID" }, { false, FT_INT, "SpellID" }, - { false, FT_SHORT, "SpellIconID" }, { false, FT_BYTE, "GlyphType" }, { false, FT_BYTE, "GlyphExclusiveCategoryID" }, + { true, FT_INT, "SpellIconFileDataID" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, GlyphPropertiesMeta::Instance(), HOTFIX_SEL_GLYPH_PROPERTIES); return &loadInfo; @@ -3217,7 +3233,7 @@ struct ModifierTreeLoadInfo { false, FT_INT, "Parent" }, { true, FT_BYTE, "Operator" }, { true, FT_BYTE, "Amount" }, - { false, FT_BYTE, "Type" }, + { true, FT_INT, "Type" }, { true, FT_INT, "Asset" }, { true, FT_INT, "SecondaryAsset" }, { true, FT_BYTE, "TertiaryAsset" }, @@ -3264,6 +3280,7 @@ struct MountCapabilityLoadInfo { true, FT_INT, "ReqSpellKnownID" }, { true, FT_INT, "ModSpellAuraID" }, { true, FT_SHORT, "ReqMapID" }, + { true, FT_INT, "PlayerConditionID" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, MountCapabilityMeta::Instance(), HOTFIX_SEL_MOUNT_CAPABILITY); return &loadInfo; @@ -3876,6 +3893,7 @@ struct RandPropPointsLoadInfo { { false, FT_INT, "ID" }, { true, FT_INT, "DamageReplaceStat" }, + { true, FT_INT, "DamageSecondary" }, { false, FT_INT, "Epic1" }, { false, FT_INT, "Epic2" }, { false, FT_INT, "Epic3" }, @@ -4608,6 +4626,7 @@ struct SpellMiscLoadInfo { false, FT_FLOAT, "MinDuration" }, { true, FT_INT, "SpellIconFileDataID" }, { true, FT_INT, "ActiveIconFileDataID" }, + { true, FT_INT, "ContentTuningID" }, { true, FT_INT, "Attributes1" }, { true, FT_INT, "Attributes2" }, { true, FT_INT, "Attributes3" }, @@ -5265,6 +5284,8 @@ struct UiMapLinkLoadInfo { true, FT_INT, "ParentUiMapID" }, { true, FT_INT, "OrderIndex" }, { true, FT_INT, "ChildUiMapID" }, + { true, FT_INT, "OverrideHighlightFileDataID" }, + { true, FT_INT, "OverrideHighlightAtlasID" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, UiMapLinkMeta::Instance(), HOTFIX_SEL_UI_MAP_LINK); return &loadInfo; diff --git a/src/server/game/DataStores/DB2Metadata.h b/src/server/game/DataStores/DB2Metadata.h index 04fc9b76b97..efda3820af2 100644 --- a/src/server/game/DataStores/DB2Metadata.h +++ b/src/server/game/DataStores/DB2Metadata.h @@ -178,15 +178,14 @@ struct AnimKitBoneSetMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[5] = + static DB2MetaField const fields[4] = { { FT_STRING_NOT_LOCALIZED, 1, true }, { FT_BYTE, 1, true }, { FT_BYTE, 1, true }, - { FT_BYTE, 1, false }, { FT_BYTE, 1, true }, }; - static DB2Meta instance(1375433, -1, 5, 0x1C432613, fields, -1); + static DB2Meta instance(1375433, -1, 4, 0x19CF1290, fields, -1); return &instance; } }; @@ -839,6 +838,42 @@ struct AzeriteEmpoweredItemMeta } }; +struct AzeriteEssenceMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[4] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(2829665, 2, 4, 0x3239408B, fields, -1); + return &instance; + } +}; + +struct AzeriteEssencePowerMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[8] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(2829666, -1, 8, 0x57FBBD14, fields, -1); + return &instance; + } +}; + struct AzeriteItemMeta { static DB2Meta const* Instance() @@ -856,12 +891,15 @@ struct AzeriteItemMilestonePowerMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[2] = + static DB2MetaField const fields[5] = { - { FT_BYTE, 1, false }, - { FT_SHORT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, }; - static DB2Meta instance(1915395, -1, 2, 0x7C4DC43D, fields, -1); + static DB2Meta instance(1915395, 0, 5, 0x865A0628, fields, -1); return &instance; } }; @@ -888,13 +926,13 @@ struct AzeritePowerSetMemberMeta { static DB2MetaField const fields[5] = { - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, }; - static DB2Meta instance(1846040, -1, 5, 0x62C2D471, fields, 0); + static DB2Meta instance(1846040, -1, 5, 0x40886320, fields, 0); return &instance; } }; @@ -1500,13 +1538,14 @@ struct CampaignXConditionMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[3] = + static DB2MetaField const fields[4] = { - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, }; - static DB2Meta instance(2031611, -1, 3, 0x638FC159, fields, 2); + static DB2Meta instance(2031611, -1, 4, 0xA2180F5C, fields, 3); return &instance; } }; @@ -1604,16 +1643,33 @@ struct Cfg_RegionsMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[6] = + static DB2MetaField const fields[5] = { { FT_STRING_NOT_LOCALIZED, 1, true }, { FT_SHORT, 1, false }, { FT_INT, 1, false }, { FT_BYTE, 1, false }, { FT_INT, 1, false }, - { FT_INT, 2, true }, }; - static DB2Meta instance(1082876, -1, 6, 0xF85137B2, fields, -1); + static DB2Meta instance(1082876, -1, 5, 0x0125202F, fields, -1); + return &instance; + } +}; + +struct ChallengeModeItemBonusOverrideMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[6] = + { + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(2965645, -1, 6, 0x95841908, fields, 5); return &instance; } }; @@ -2394,16 +2450,29 @@ struct ContentTuningMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[6] = + static DB2MetaField const fields[5] = { { FT_INT, 1, false }, { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, + }; + static DB2Meta instance(1962930, 0, 5, 0x7B846412, fields, -1); + return &instance; + } +}; + +struct ContentTuningXExpectedMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[2] = + { + { FT_INT, 1, true }, { FT_INT, 1, true }, }; - static DB2Meta instance(1962930, 0, 6, 0xD1A210D1, fields, -1); + static DB2Meta instance(2976765, -1, 2, 0xA87DE567, fields, 1); return &instance; } }; @@ -2718,7 +2787,7 @@ struct CreatureModelDataMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[28] = + static DB2MetaField const fields[31] = { { FT_FLOAT, 6, true }, { FT_INT, 1, false }, @@ -2748,8 +2817,11 @@ struct CreatureModelDataMeta { FT_FLOAT, 1, true }, { FT_FLOAT, 1, true }, { FT_FLOAT, 1, true }, + { FT_BYTE, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 2, true }, }; - static DB2Meta instance(1365368, -1, 28, 0xF61D550A, fields, -1); + static DB2Meta instance(1365368, -1, 31, 0xBB89D456, fields, -1); return &instance; } }; @@ -3549,14 +3621,17 @@ struct FriendshipReputationMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[4] = + static DB2MetaField const fields[7] = { { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, { FT_INT, 1, false }, - { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, { FT_INT, 1, true }, }; - static DB2Meta instance(1237639, 1, 4, 0xECCE459C, fields, -1); + static DB2Meta instance(1237639, 3, 7, 0xD2DB04A4, fields, -1); return &instance; } }; @@ -3655,6 +3730,20 @@ struct GMSurveySurveysMeta } }; +struct GameClockDebugMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[2] = + { + { FT_INT, 1, false }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(2922072, 0, 2, 0xEC114D0F, fields, -1); + return &instance; + } +}; + struct GameObjectArtKitMeta { static DB2Meta const* Instance() @@ -3800,7 +3889,7 @@ struct GarrAbilityEffectMeta { FT_SHORT, 1, false }, { FT_BYTE, 1, false }, { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, + { FT_INT, 1, true }, { FT_FLOAT, 1, true }, { FT_FLOAT, 1, true }, { FT_FLOAT, 1, true }, @@ -3809,7 +3898,7 @@ struct GarrAbilityEffectMeta { FT_INT, 1, true }, { FT_BYTE, 1, false }, }; - static DB2Meta instance(966241, 0, 12, 0x682EE0E1, fields, 1); + static DB2Meta instance(966241, 0, 12, 0x39A97870, fields, 1); return &instance; } }; @@ -4020,8 +4109,8 @@ struct GarrFollowerMeta { FT_INT, 1, true }, { FT_BYTE, 1, false }, { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, { FT_BYTE, 1, false }, { FT_BYTE, 1, false }, { FT_SHORT, 1, false }, @@ -4043,7 +4132,7 @@ struct GarrFollowerMeta { FT_BYTE, 1, false }, { FT_BYTE, 1, false }, }; - static DB2Meta instance(949906, 3, 32, 0x7C5C19F1, fields, -1); + static DB2Meta instance(949906, 3, 32, 0x4938E823, fields, -1); return &instance; } }; @@ -4173,11 +4262,11 @@ struct GarrMechanicMeta { static DB2MetaField const fields[3] = { - { FT_BYTE, 1, false }, + { FT_INT, 1, true }, { FT_FLOAT, 1, true }, { FT_INT, 1, true }, }; - static DB2Meta instance(967963, -1, 3, 0xA83BF5A9, fields, -1); + static DB2Meta instance(967963, -1, 3, 0x062A9BA6, fields, -1); return &instance; } }; @@ -4537,14 +4626,14 @@ struct GarrUiAnimClassInfoMeta { static DB2MetaField const fields[6] = { - { FT_BYTE, 1, false }, + { FT_INT, 1, true }, { FT_BYTE, 1, false }, { FT_FLOAT, 1, true }, { FT_INT, 1, false }, { FT_INT, 1, false }, { FT_INT, 1, false }, }; - static DB2Meta instance(976037, -1, 6, 0xF6444415, fields, -1); + static DB2Meta instance(976037, -1, 6, 0x189AB008, fields, -1); return &instance; } }; @@ -4638,11 +4727,11 @@ struct GlyphPropertiesMeta static DB2MetaField const fields[4] = { { FT_INT, 1, false }, - { FT_SHORT, 1, false }, { FT_BYTE, 1, false }, { FT_BYTE, 1, false }, + { FT_INT, 1, true }, }; - static DB2Meta instance(1345274, -1, 4, 0x7C1C2F11, fields, -1); + static DB2Meta instance(1345274, -1, 4, 0x041F7972, fields, -1); return &instance; } }; @@ -4848,6 +4937,88 @@ struct GuildPerkSpellsMeta } }; +struct GuildShirtBackgroundMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[4] = + { + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(2921008, -1, 4, 0x40AC6717, fields, 3); + return &instance; + } +}; + +struct GuildShirtBorderMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[5] = + { + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(2921475, -1, 5, 0x5BF9BE36, fields, 4); + return &instance; + } +}; + +struct GuildTabardBackgroundMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[4] = + { + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(2909769, -1, 4, 0x9C37AA1A, fields, 3); + return &instance; + } +}; + +struct GuildTabardBorderMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[5] = + { + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(2920485, -1, 5, 0xD04624D4, fields, 4); + return &instance; + } +}; + +struct GuildTabardEmblemMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[4] = + { + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(2910470, -1, 4, 0x5203E472, fields, 3); + return &instance; + } +}; + struct HeirloomMeta { static DB2Meta const* Instance() @@ -5183,6 +5354,23 @@ struct ItemBonusMeta } }; +struct ItemBonusListGroupEntryMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[5] = + { + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(3025306, -1, 5, 0x87A0CA78, fields, 4); + return &instance; + } +}; + struct ItemBonusListLevelDeltaMeta { static DB2Meta const* Instance() @@ -5197,6 +5385,34 @@ struct ItemBonusListLevelDeltaMeta } }; +struct ItemBonusListWarforgeLevelDeltaMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[2] = + { + { FT_SHORT, 1, true }, + { FT_INT, 1, false }, + }; + static DB2Meta instance(2924997, 1, 2, 0x819C0CC1, fields, -1); + return &instance; + } +}; + +struct ItemBonusSequenceSpellMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[2] = + { + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(3026822, -1, 2, 0x9C79B1F6, fields, 1); + return &instance; + } +}; + struct ItemBonusTreeNodeMeta { static DB2Meta const* Instance() @@ -5373,7 +5589,6 @@ struct ItemDisplayInfoMeta { { FT_INT, 1, true }, { FT_INT, 1, true }, - { FT_INT, 1, true }, { FT_INT, 1, false }, { FT_INT, 1, false }, { FT_INT, 1, true }, @@ -5383,11 +5598,12 @@ struct ItemDisplayInfoMeta { FT_INT, 1, true }, { FT_INT, 2, false }, { FT_INT, 2, true }, + { FT_BYTE, 2, false }, { FT_INT, 6, true }, { FT_INT, 6, true }, { FT_INT, 2, true }, }; - static DB2Meta instance(1266429, -1, 15, 0x089404D9, fields, -1); + static DB2Meta instance(1266429, -1, 15, 0x6F891B61, fields, -1); return &instance; } }; @@ -6501,6 +6717,19 @@ struct LiquidTypeXTextureMeta } }; +struct LoadingScreenSkinMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[1] = + { + { FT_INT, 10, true }, + }; + static DB2Meta instance(2478235, -1, 1, 0x1D042CB7, fields, -1); + return &instance; + } +}; + struct LoadingScreenTaxiSplinesMeta { static DB2Meta const* Instance() @@ -7017,12 +7246,12 @@ struct ModifierTreeMeta { FT_INT, 1, false }, { FT_BYTE, 1, true }, { FT_BYTE, 1, true }, - { FT_BYTE, 1, false }, + { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_BYTE, 1, true }, }; - static DB2Meta instance(1267645, -1, 7, 0x643002AE, fields, -1); + static DB2Meta instance(1267645, -1, 7, 0xFF7054B3, fields, -1); return &instance; } }; @@ -7054,7 +7283,7 @@ struct MountCapabilityMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[8] = + static DB2MetaField const fields[9] = { { FT_INT, 1, false }, { FT_BYTE, 1, false }, @@ -7064,8 +7293,25 @@ struct MountCapabilityMeta { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_SHORT, 1, true }, + { FT_INT, 1, true }, }; - static DB2Meta instance(1114709, 0, 8, 0xD8A906D6, fields, -1); + static DB2Meta instance(1114709, 0, 9, 0x46ED6D7E, fields, -1); + return &instance; + } +}; + +struct MountEquipmentMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[4] = + { + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(2923510, -1, 4, 0x5182BFF6, fields, 3); return &instance; } }; @@ -7495,6 +7741,69 @@ struct PVPItemMeta } }; +struct PVPScoreboardCellInfoMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[4] = + { + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(2992916, 0, 4, 0xCD07D7DD, fields, 1); + return &instance; + } +}; + +struct PVPScoreboardColumnHeaderMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[4] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(2992917, 2, 4, 0x910EEE06, fields, -1); + return &instance; + } +}; + +struct PVPScoreboardLayoutMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[4] = + { + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(2992918, 0, 4, 0x6C8594A3, fields, 1); + return &instance; + } +}; + +struct PVPStatMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[3] = + { + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(2992919, 1, 3, 0x086BBFCF, fields, 2); + return &instance; + } +}; + struct PageTextMaterialMeta { static DB2Meta const* Instance() @@ -7915,6 +8224,23 @@ struct PrestigeLevelInfoMeta } }; +struct PvpBrawlMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[5] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(1585723, -1, 5, 0xB97DECC7, fields, -1); + return &instance; + } +}; + struct PvpScalingEffectMeta { static DB2Meta const* Instance() @@ -7943,6 +8269,20 @@ struct PvpScalingEffectTypeMeta } }; +struct PvpSeasonMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[2] = + { + { FT_INT, 1, false }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(2966426, 0, 2, 0xC8DCB4C5, fields, -1); + return &instance; + } +}; + struct PvpSeasonRewardLevelsMeta { static DB2Meta const* Instance() @@ -8222,7 +8562,7 @@ struct QuestV2CliTaskMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[24] = + static DB2MetaField const fields[25] = { { FT_LONG, 1, true }, { FT_STRING, 1, true }, @@ -8247,9 +8587,10 @@ struct QuestV2CliTaskMeta { FT_SHORT, 1, true }, { FT_INT, 1, false }, { FT_INT, 1, true }, + { FT_INT, 3, true }, { FT_INT, 3, false }, }; - static DB2Meta instance(1028735, 3, 24, 0xC0387D4E, fields, -1); + static DB2Meta instance(1028735, 3, 25, 0xD17937F0, fields, -1); return &instance; } }; @@ -8285,14 +8626,15 @@ struct RandPropPointsMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[4] = + static DB2MetaField const fields[5] = { { FT_INT, 1, true }, + { FT_INT, 1, true }, { FT_INT, 5, false }, { FT_INT, 5, false }, { FT_INT, 5, false }, }; - static DB2Meta instance(1310245, -1, 4, 0x7741F65C, fields, -1); + static DB2Meta instance(1310245, -1, 5, 0xD5752348, fields, -1); return &instance; } }; @@ -8506,6 +8848,23 @@ struct SDReplacementModelMeta } }; +struct SSAOSettingsMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[5] = + { + { FT_INT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + }; + static DB2Meta instance(2056369, 0, 5, 0x7F7B7D5B, fields, -1); + return &instance; + } +}; + struct ScalingStatDistributionMeta { static DB2Meta const* Instance() @@ -9080,7 +9439,7 @@ struct SoundKitAdvancedMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[47] = + static DB2MetaField const fields[49] = { { FT_INT, 1, false }, { FT_INT, 1, false }, @@ -9129,8 +9488,10 @@ struct SoundKitAdvancedMeta { FT_FLOAT, 1, true }, { FT_FLOAT, 1, true }, { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, }; - static DB2Meta instance(1237436, 0, 47, 0xF64439CE, fields, -1); + static DB2Meta instance(1237436, 0, 49, 0x2B12658B, fields, -1); return &instance; } }; @@ -10038,7 +10399,7 @@ struct SpellMiscMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[12] = + static DB2MetaField const fields[13] = { { FT_BYTE, 1, false }, { FT_SHORT, 1, false }, @@ -10050,10 +10411,11 @@ struct SpellMiscMeta { FT_FLOAT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, + { FT_INT, 1, true }, { FT_INT, 14, true }, { FT_INT, 1, true }, }; - static DB2Meta instance(1003144, -1, 12, 0x76E982BB, fields, 11); + static DB2Meta instance(1003144, -1, 13, 0x99BBFB8B, fields, 12); return &instance; } }; @@ -11398,7 +11760,7 @@ struct UiMapLinkMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[6] = + static DB2MetaField const fields[8] = { { FT_FLOAT, 2, true }, { FT_FLOAT, 2, true }, @@ -11406,8 +11768,10 @@ struct UiMapLinkMeta { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, }; - static DB2Meta instance(2030690, 2, 6, 0x1A2F1836, fields, 3); + static DB2Meta instance(2030690, 2, 8, 0x27E875F3, fields, 3); return &instance; } }; @@ -11675,14 +12039,16 @@ struct UiWidgetVisTypeDataReqMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[4] = + static DB2MetaField const fields[6] = { + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_INT, 1, false }, { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, }; - static DB2Meta instance(2740907, -1, 4, 0x21F50E85, fields, -1); + static DB2Meta instance(2740907, 1, 6, 0xAE3180D2, fields, 5); return &instance; } }; @@ -11691,14 +12057,17 @@ struct UiWidgetVisualizationMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[4] = + static DB2MetaField const fields[7] = { + { FT_STRING_NOT_LOCALIZED, 1, true }, { FT_BYTE, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_SHORT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, }; - static DB2Meta instance(1983276, -1, 4, 0x1DB32AF9, fields, -1); + static DB2Meta instance(1983276, -1, 7, 0xAE507BB8, fields, -1); return &instance; } }; @@ -12073,15 +12442,17 @@ struct WaypointNodeMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[5] = + static DB2MetaField const fields[7] = { { FT_STRING, 1, true }, { FT_INT, 1, false }, { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, }; - static DB2Meta instance(2565265, 1, 5, 0xF61E3EC2, fields, -1); + static DB2Meta instance(2565265, 1, 7, 0x67728573, fields, -1); return &instance; } }; @@ -12431,35 +12802,6 @@ struct WorldStateExpressionMeta } }; -struct WorldStateUIMeta -{ - static DB2Meta const* Instance() - { - static DB2MetaField const fields[17] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_INT, 1, false }, - { FT_SHORT, 1, true }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 3, false }, - }; - static DB2Meta instance(1343596, 5, 17, 0xE1F042FE, fields, 6); - return &instance; - } -}; - struct WorldStateZoneSoundsMeta { static DB2Meta const* Instance() @@ -12519,14 +12861,16 @@ struct ZoneLightMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[4] = + static DB2MetaField const fields[6] = { { FT_STRING_NOT_LOCALIZED, 1, true }, { FT_SHORT, 1, false }, { FT_SHORT, 1, false }, { FT_BYTE, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, }; - static DB2Meta instance(1310253, -1, 4, 0xD553DE84, fields, -1); + static DB2Meta instance(1310253, -1, 6, 0xD22C2131, fields, -1); return &instance; } }; diff --git a/src/server/game/DataStores/DB2Stores.cpp b/src/server/game/DataStores/DB2Stores.cpp index 72ea24adad6..6b5731d0bb9 100644 --- a/src/server/game/DataStores/DB2Stores.cpp +++ b/src/server/game/DataStores/DB2Stores.cpp @@ -78,6 +78,7 @@ DB2Storage<ChrSpecializationEntry> sChrSpecializationStore("ChrSpec DB2Storage<CinematicCameraEntry> sCinematicCameraStore("CinematicCamera.db2", CinematicCameraLoadInfo::Instance()); DB2Storage<CinematicSequencesEntry> sCinematicSequencesStore("CinematicSequences.db2", CinematicSequencesLoadInfo::Instance()); DB2Storage<ContentTuningEntry> sContentTuningStore("ContentTuning.db2", ContentTuningLoadInfo::Instance()); +DB2Storage<ContentTuningXExpectedEntry> sContentTuningXExpectedStore("ContentTuningXExpected.db2", ContentTuningXExpectedLoadInfo::Instance()); DB2Storage<ConversationLineEntry> sConversationLineStore("ConversationLine.db2", ConversationLineLoadInfo::Instance()); DB2Storage<CreatureDisplayInfoEntry> sCreatureDisplayInfoStore("CreatureDisplayInfo.db2", CreatureDisplayInfoLoadInfo::Instance()); DB2Storage<CreatureDisplayInfoExtraEntry> sCreatureDisplayInfoExtraStore("CreatureDisplayInfoExtra.db2", CreatureDisplayInfoExtraLoadInfo::Instance()); @@ -362,6 +363,7 @@ namespace CurvePointsContainer _curvePoints; EmotesTextSoundContainer _emoteTextSounds; std::unordered_map<std::pair<uint32 /*level*/, int32 /*expansion*/>, ExpectedStatEntry const*> _expectedStatsByLevel; + std::unordered_map<uint32 /*contentTuningId*/, std::vector<ExpectedStatModEntry const*>> _expectedStatModsByContentTuning; FactionTeamContainer _factionTeams; HeirloomItemsContainer _heirlooms; GlyphBindableSpellsContainer _glyphBindableSpells; @@ -534,6 +536,7 @@ void DB2Manager::LoadStores(std::string const& dataPath, uint32 defaultLocale) LOAD_DB2(sCinematicCameraStore); LOAD_DB2(sCinematicSequencesStore); LOAD_DB2(sContentTuningStore); + LOAD_DB2(sContentTuningXExpectedStore); LOAD_DB2(sConversationLineStore); LOAD_DB2(sCreatureDisplayInfoStore); LOAD_DB2(sCreatureDisplayInfoExtraStore); @@ -823,6 +826,10 @@ void DB2Manager::LoadStores(std::string const& dataPath, uint32 defaultLocale) _defaultChrSpecializationsByClass[chrSpec->ClassID] = chrSpec; } + for (ContentTuningXExpectedEntry const* contentTuningXExpectedStat : sContentTuningXExpectedStore) + if (ExpectedStatModEntry const* expectedStatMod = sExpectedStatModStore.LookupEntry(contentTuningXExpectedStat->ExpectedStatModID)) + _expectedStatModsByContentTuning[contentTuningXExpectedStat->ContentTuningID].push_back(expectedStatMod); + for (CurvePointEntry const* curvePoint : sCurvePointStore) if (sCurveStore.LookupEntry(curvePoint->CurveID)) _curvePoints[curvePoint->CurveID].push_back(curvePoint); @@ -1723,72 +1730,93 @@ float DB2Manager::EvaluateExpectedStat(ExpectedStatType stat, uint32 level, int3 if (expectedStatItr == _expectedStatsByLevel.end()) return 1.0f; - std::array<ExpectedStatModEntry const*, 3> mods; - mods.fill(nullptr); - if (ContentTuningEntry const* contentTuning = sContentTuningStore.LookupEntry(contentTuningId)) - { - mods[0] = sExpectedStatModStore.LookupEntry(contentTuning->ExpectedStatModID); - mods[1] = sExpectedStatModStore.LookupEntry(contentTuning->DifficultyESMID); - } - + ExpectedStatModEntry const* classMod = nullptr; switch (unitClass) { case CLASS_WARRIOR: - mods[2] = sExpectedStatModStore.LookupEntry(4); + classMod = sExpectedStatModStore.LookupEntry(4); break; case CLASS_PALADIN: - mods[2] = sExpectedStatModStore.LookupEntry(2); + classMod = sExpectedStatModStore.LookupEntry(2); break; case CLASS_ROGUE: - mods[2] = sExpectedStatModStore.LookupEntry(3); + classMod = sExpectedStatModStore.LookupEntry(3); break; case CLASS_MAGE: - mods[2] = sExpectedStatModStore.LookupEntry(1); + classMod = sExpectedStatModStore.LookupEntry(1); break; default: break; } + std::vector<ExpectedStatModEntry const*> const* contentTuningMods = Trinity::Containers::MapGetValuePtr(_expectedStatModsByContentTuning, contentTuningId); float value = 0.0f; switch (stat) { case ExpectedStatType::CreatureHealth: - value = std::accumulate(mods.begin(), mods.end(), expectedStatItr->second->CreatureHealth, - ExpectedStatModReducer<&ExpectedStatModEntry::CreatureHealthMod>()); + value = expectedStatItr->second->CreatureHealth; + if (contentTuningMods) + value *= std::accumulate(contentTuningMods->begin(), contentTuningMods->end(), 1.0f, ExpectedStatModReducer<&ExpectedStatModEntry::CreatureHealthMod>()); + if (classMod) + value *= classMod->CreatureHealthMod; break; case ExpectedStatType::PlayerHealth: - value = std::accumulate(mods.begin(), mods.end(), expectedStatItr->second->PlayerHealth, - ExpectedStatModReducer<&ExpectedStatModEntry::PlayerHealthMod>()); + value = expectedStatItr->second->PlayerHealth; + if (contentTuningMods) + value *= std::accumulate(contentTuningMods->begin(), contentTuningMods->end(), 1.0f, ExpectedStatModReducer<&ExpectedStatModEntry::PlayerHealthMod>()); + if (classMod) + value *= classMod->PlayerHealthMod; break; case ExpectedStatType::CreatureAutoAttackDps: - value = std::accumulate(mods.begin(), mods.end(), expectedStatItr->second->CreatureAutoAttackDps, - ExpectedStatModReducer<&ExpectedStatModEntry::CreatureAutoAttackDPSMod>()); + value = expectedStatItr->second->CreatureAutoAttackDps; + if (contentTuningMods) + value *= std::accumulate(contentTuningMods->begin(), contentTuningMods->end(), 1.0f, ExpectedStatModReducer<&ExpectedStatModEntry::CreatureAutoAttackDPSMod>()); + if (classMod) + value *= classMod->CreatureAutoAttackDPSMod; break; case ExpectedStatType::CreatureArmor: - value = std::accumulate(mods.begin(), mods.end(), expectedStatItr->second->CreatureArmor, - ExpectedStatModReducer<&ExpectedStatModEntry::CreatureArmorMod>()); + value = expectedStatItr->second->CreatureArmor; + if (contentTuningMods) + value *= std::accumulate(contentTuningMods->begin(), contentTuningMods->end(), 1.0f, ExpectedStatModReducer<&ExpectedStatModEntry::CreatureArmorMod>()); + if (classMod) + value *= classMod->CreatureArmorMod; break; case ExpectedStatType::PlayerMana: - value = std::accumulate(mods.begin(), mods.end(), expectedStatItr->second->PlayerMana, - ExpectedStatModReducer<&ExpectedStatModEntry::PlayerManaMod>()); + value = expectedStatItr->second->PlayerMana; + if (contentTuningMods) + value *= std::accumulate(contentTuningMods->begin(), contentTuningMods->end(), 1.0f, ExpectedStatModReducer<&ExpectedStatModEntry::PlayerManaMod>()); + if (classMod) + value *= classMod->PlayerManaMod; break; case ExpectedStatType::PlayerPrimaryStat: - value = std::accumulate(mods.begin(), mods.end(), expectedStatItr->second->PlayerPrimaryStat, - ExpectedStatModReducer<&ExpectedStatModEntry::PlayerPrimaryStatMod>()); + value = expectedStatItr->second->PlayerPrimaryStat; + if (contentTuningMods) + value *= std::accumulate(contentTuningMods->begin(), contentTuningMods->end(), 1.0f, ExpectedStatModReducer<&ExpectedStatModEntry::PlayerPrimaryStatMod>()); + if (classMod) + value *= classMod->PlayerPrimaryStatMod; break; case ExpectedStatType::PlayerSecondaryStat: - value = std::accumulate(mods.begin(), mods.end(), expectedStatItr->second->PlayerSecondaryStat, - ExpectedStatModReducer<&ExpectedStatModEntry::PlayerSecondaryStatMod>()); + value = expectedStatItr->second->PlayerSecondaryStat; + if (contentTuningMods) + value *= std::accumulate(contentTuningMods->begin(), contentTuningMods->end(), 1.0f, ExpectedStatModReducer<&ExpectedStatModEntry::PlayerSecondaryStatMod>()); + if (classMod) + value *= classMod->PlayerSecondaryStatMod; break; case ExpectedStatType::ArmorConstant: - value = std::accumulate(mods.begin(), mods.end(), expectedStatItr->second->ArmorConstant, - ExpectedStatModReducer<&ExpectedStatModEntry::ArmorConstantMod>()); + value = expectedStatItr->second->ArmorConstant; + if (contentTuningMods) + value *= std::accumulate(contentTuningMods->begin(), contentTuningMods->end(), 1.0f, ExpectedStatModReducer<&ExpectedStatModEntry::ArmorConstantMod>()); + if (classMod) + value *= classMod->ArmorConstantMod; break; case ExpectedStatType::None: break; case ExpectedStatType::CreatureSpellDamage: - value = std::accumulate(mods.begin(), mods.end(), expectedStatItr->second->CreatureSpellDamage, - ExpectedStatModReducer<&ExpectedStatModEntry::CreatureSpellDamageMod>()); + value = expectedStatItr->second->CreatureSpellDamage; + if (contentTuningMods) + value *= std::accumulate(contentTuningMods->begin(), contentTuningMods->end(), 1.0f, ExpectedStatModReducer<&ExpectedStatModEntry::CreatureSpellDamageMod>()); + if (classMod) + value *= classMod->CreatureSpellDamageMod; break; default: break; diff --git a/src/server/game/DataStores/DB2Structure.h b/src/server/game/DataStores/DB2Structure.h index 9ad7b8ed1eb..2abf0d78fd2 100644 --- a/src/server/game/DataStores/DB2Structure.h +++ b/src/server/game/DataStores/DB2Structure.h @@ -370,7 +370,6 @@ struct Cfg_RegionsEntry uint32 Raidorigin; // Date of first raid reset, all other resets are calculated as this date plus interval uint8 RegionGroupMask; uint32 ChallengeOrigin; - int32 ChallengeTimeOffset[2]; }; struct CharacterFacialHairStylesEntry @@ -562,8 +561,14 @@ struct ContentTuningEntry int32 MinLevel; int32 MaxLevel; int32 Flags; + int32 ExpansionID; +}; + +struct ContentTuningXExpectedEntry +{ + uint32 ID; int32 ExpectedStatModID; - int32 DifficultyESMID; + int32 ContentTuningID; }; struct ConversationLineEntry @@ -670,6 +675,9 @@ struct CreatureModelDataEntry float OverrideNameScale; float OverrideSelectionRadius; float TamedPetBaseScale; + int8 Unknown820_1; // scale related + float Unknown820_2; // scale related + float Unknown820_3[2]; // scale related }; struct CreatureTypeEntry @@ -1192,8 +1200,8 @@ struct GarrFollowerEntry int32 AllianceCreatureID; uint8 HordeGarrFollRaceID; uint8 AllianceGarrFollRaceID; - uint8 HordeGarrClassSpecID; - uint8 AllianceGarrClassSpecID; + int32 HordeGarrClassSpecID; + int32 AllianceGarrClassSpecID; uint8 Quality; uint8 FollowerLevel; uint16 ItemLevelWeapon; @@ -1293,9 +1301,9 @@ struct GlyphPropertiesEntry { uint32 ID; uint32 SpellID; - uint16 SpellIconID; uint8 GlyphType; uint8 GlyphExclusiveCategoryID; + int32 SpellIconFileDataID; }; struct GlyphRequiredSpecEntry @@ -1456,12 +1464,30 @@ struct ItemBonusEntry uint8 OrderIndex; }; +// new item upgrade system +//struct ItemBonusListGroupEntryEntry +//{ +// uint32 ID; +// int32 ItemBonusListID; +// int32 ItemLevelSelectorID; +// int32 OrderIndex; +// int32 ItemExtendedCostID; +// int32 ItemBonusListGroupID; +//}; + struct ItemBonusListLevelDeltaEntry { int16 ItemLevelDelta; uint32 ID; }; +//struct ItemBonusSequenceSpellEntry +//{ +// uint32 ID; +// int32 SpellID; +// int32 ItemID; +//}; + struct ItemBonusTreeNodeEntry { uint32 ID; @@ -1963,7 +1989,7 @@ struct ModifierTreeEntry uint32 Parent; int8 Operator; int8 Amount; - uint8 Type; + int32 Type; int32 Asset; int32 SecondaryAsset; int8 TertiaryAsset; @@ -1996,6 +2022,7 @@ struct MountCapabilityEntry int32 ReqSpellKnownID; int32 ModSpellAuraID; int16 ReqMapID; + int32 PlayerConditionID; }; struct MountTypeXCapabilityEntry @@ -2297,6 +2324,7 @@ struct RandPropPointsEntry { uint32 ID; int32 DamageReplaceStat; + int32 DamageSecondary; uint32 Epic[5]; uint32 Superior[5]; uint32 Good[5]; @@ -2709,6 +2737,7 @@ struct SpellMiscEntry float MinDuration; int32 SpellIconFileDataID; int32 ActiveIconFileDataID; + int32 ContentTuningID; int32 Attributes[14]; int32 SpellID; }; @@ -3047,6 +3076,8 @@ struct UiMapLinkEntry int32 ParentUiMapID; int32 OrderIndex; int32 ChildUiMapID; + int32 OverrideHighlightFileDataID; + int32 OverrideHighlightAtlasID; }; struct UiMapXMapArtEntry diff --git a/src/server/game/DataStores/DBCEnums.h b/src/server/game/DataStores/DBCEnums.h index 805b59841e2..e1ff83ea337 100644 --- a/src/server/game/DataStores/DBCEnums.h +++ b/src/server/game/DataStores/DBCEnums.h @@ -166,7 +166,7 @@ enum ArtifactPowerFlag : uint8 #define MAX_ARTIFACT_TIER 1 -#define BATTLE_PET_SPECIES_MAX_ID 2592 +#define BATTLE_PET_SPECIES_MAX_ID 2775 enum ChrSpecializationFlag { @@ -623,6 +623,7 @@ enum Difficulty : uint8 DIFFICULTY_MYTHIC_ISLAND = 40, DIFFICULTY_PVP_ISLAND = 45, DIFFICULTY_NORMAL_WARFRONT = 147, + DIFFICULTY_HEROIC_WARFRONT = 149, MAX_DIFFICULTY }; @@ -1008,7 +1009,7 @@ enum SpellShapeshiftFormFlags SHAPESHIFT_FORM_PREVENT_EMOTE_SOUNDS = 0x1000 }; -#define TaxiMaskSize 299 +#define TaxiMaskSize 311 typedef std::array<uint8, TaxiMaskSize> TaxiMask; enum TotemCategoryType diff --git a/src/server/game/DataStores/GameTables.h b/src/server/game/DataStores/GameTables.h index 314baab5dba..962f321496a 100644 --- a/src/server/game/DataStores/GameTables.h +++ b/src/server/game/DataStores/GameTables.h @@ -171,6 +171,7 @@ struct GtSpellScalingEntry float Gem3 = 0.0f; float Health = 0.0f; float DamageReplaceStat = 0.0f; + float DamageSecondary = 0.0f; }; struct GtXpEntry @@ -298,6 +299,8 @@ inline float GetSpellScalingColumnForClass(GtSpellScalingEntry const* row, int32 return row->Health; case -8: return row->DamageReplaceStat; + case -9: + return row->DamageSecondary; default: break; } diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 2dbef6af0dd..75f443223a8 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -7692,6 +7692,11 @@ MountCapabilityEntry const* Unit::GetMountCapability(uint32 mountType) const if (mountCapability->ReqSpellKnownID && !HasSpell(mountCapability->ReqSpellKnownID)) continue; + if (Player const* thisPlayer = ToPlayer()) + if (PlayerConditionEntry const* playerCondition = sPlayerConditionStore.LookupEntry(mountCapability->PlayerConditionID)) + if (!ConditionMgr::IsPlayerMeetingCondition(thisPlayer, playerCondition)) + continue; + return mountCapability; } diff --git a/src/server/game/Miscellaneous/SharedDefines.h b/src/server/game/Miscellaneous/SharedDefines.h index 014e6491e69..7dd25644c38 100644 --- a/src/server/game/Miscellaneous/SharedDefines.h +++ b/src/server/game/Miscellaneous/SharedDefines.h @@ -1346,6 +1346,13 @@ enum SpellEffectName SPELL_EFFECT_262 = 262, SPELL_EFFECT_REPAIR_ITEM = 263, SPELL_EFFECT_REMOVE_GEM = 264, + SPELL_EFFECT_LEARN_AZERITE_ESSENCE_POWER = 265, + SPELL_EFFECT_266 = 266, + SPELL_EFFECT_267 = 267, + SPELL_EFFECT_APPLY_MOUNT_EQUIPMENT = 268, + SPELL_EFFECT_UPGRADE_ITEM = 269, + SPELL_EFFECT_270 = 270, + SPELL_EFFECT_APPLY_AREA_AURA_PARTY_NONRANDOM = 271, TOTAL_SPELL_EFFECTS }; @@ -1646,7 +1653,8 @@ enum SpellCastResult SPELL_FAILED_WRONG_FACTION = 292, SPELL_FAILED_NOT_ENOUGH_CURRENCY = 293, SPELL_FAILED_BATTLE_FOR_AZEROTH_RIDING_REQUIREMENT = 294, - SPELL_FAILED_UNKNOWN = 295, + SPELL_FAILED_MOUNT_EQUIPMENT_ERROR = 295, + SPELL_FAILED_UNKNOWN = 296, // ok cast value - here in case a future version removes SPELL_FAILED_SUCCESS and we need to use a custom value (not sent to client either way) SPELL_CAST_OK = SPELL_FAILED_SUCCESS @@ -5489,979 +5497,1000 @@ enum class GameError : uint32 ERR_ITEM_LOCKED = 34, ERR_2HANDED_EQUIPPED = 35, ERR_VENDOR_NOT_INTERESTED = 36, - ERR_VENDOR_HATES_YOU = 37, - ERR_VENDOR_SOLD_OUT = 38, - ERR_VENDOR_TOO_FAR = 39, - ERR_VENDOR_DOESNT_BUY = 40, - ERR_NOT_ENOUGH_MONEY = 41, - ERR_RECEIVE_ITEM_S = 42, - ERR_DROP_BOUND_ITEM = 43, - ERR_TRADE_BOUND_ITEM = 44, - ERR_TRADE_QUEST_ITEM = 45, - ERR_TRADE_TEMP_ENCHANT_BOUND = 46, - ERR_TRADE_GROUND_ITEM = 47, - ERR_TRADE_BAG = 48, - ERR_SPELL_FAILED_S = 49, - ERR_ITEM_COOLDOWN = 50, - ERR_POTION_COOLDOWN = 51, - ERR_FOOD_COOLDOWN = 52, - ERR_SPELL_COOLDOWN = 53, - ERR_ABILITY_COOLDOWN = 54, - ERR_SPELL_ALREADY_KNOWN_S = 55, - ERR_PET_SPELL_ALREADY_KNOWN_S = 56, - ERR_PROFICIENCY_GAINED_S = 57, - ERR_SKILL_GAINED_S = 58, - ERR_SKILL_UP_SI = 59, - ERR_LEARN_SPELL_S = 60, - ERR_LEARN_ABILITY_S = 61, - ERR_LEARN_PASSIVE_S = 62, - ERR_LEARN_RECIPE_S = 63, - ERR_LEARN_COMPANION_S = 64, - ERR_LEARN_MOUNT_S = 65, - ERR_LEARN_TOY_S = 66, - ERR_LEARN_HEIRLOOM_S = 67, - ERR_LEARN_TRANSMOG_S = 68, - ERR_COMPLETED_TRANSMOG_SET_S = 69, - ERR_REVOKE_TRANSMOG_S = 70, - ERR_INVITE_PLAYER_S = 71, - ERR_INVITE_SELF = 72, - ERR_INVITED_TO_GROUP_SS = 73, - ERR_INVITED_ALREADY_IN_GROUP_SS = 74, - ERR_ALREADY_IN_GROUP_S = 75, - ERR_CROSS_REALM_RAID_INVITE = 76, - ERR_PLAYER_BUSY_S = 77, - ERR_NEW_LEADER_S = 78, - ERR_NEW_LEADER_YOU = 79, - ERR_NEW_GUIDE_S = 80, - ERR_NEW_GUIDE_YOU = 81, - ERR_LEFT_GROUP_S = 82, - ERR_LEFT_GROUP_YOU = 83, - ERR_GROUP_DISBANDED = 84, - ERR_DECLINE_GROUP_S = 85, - ERR_JOINED_GROUP_S = 86, - ERR_UNINVITE_YOU = 87, - ERR_BAD_PLAYER_NAME_S = 88, - ERR_NOT_IN_GROUP = 89, - ERR_TARGET_NOT_IN_GROUP_S = 90, - ERR_TARGET_NOT_IN_INSTANCE_S = 91, - ERR_NOT_IN_INSTANCE_GROUP = 92, - ERR_GROUP_FULL = 93, - ERR_NOT_LEADER = 94, - ERR_PLAYER_DIED_S = 95, - ERR_GUILD_CREATE_S = 96, - ERR_GUILD_INVITE_S = 97, - ERR_INVITED_TO_GUILD_SSS = 98, - ERR_ALREADY_IN_GUILD_S = 99, - ERR_ALREADY_INVITED_TO_GUILD_S = 100, - ERR_INVITED_TO_GUILD = 101, - ERR_ALREADY_IN_GUILD = 102, - ERR_GUILD_ACCEPT = 103, - ERR_GUILD_DECLINE_S = 104, - ERR_GUILD_DECLINE_AUTO_S = 105, - ERR_GUILD_PERMISSIONS = 106, - ERR_GUILD_JOIN_S = 107, - ERR_GUILD_FOUNDER_S = 108, - ERR_GUILD_PROMOTE_SSS = 109, - ERR_GUILD_DEMOTE_SS = 110, - ERR_GUILD_DEMOTE_SSS = 111, - ERR_GUILD_INVITE_SELF = 112, - ERR_GUILD_QUIT_S = 113, - ERR_GUILD_LEAVE_S = 114, - ERR_GUILD_REMOVE_SS = 115, - ERR_GUILD_REMOVE_SELF = 116, - ERR_GUILD_DISBAND_S = 117, - ERR_GUILD_DISBAND_SELF = 118, - ERR_GUILD_LEADER_S = 119, - ERR_GUILD_LEADER_SELF = 120, - ERR_GUILD_PLAYER_NOT_FOUND_S = 121, - ERR_GUILD_PLAYER_NOT_IN_GUILD_S = 122, - ERR_GUILD_PLAYER_NOT_IN_GUILD = 123, - ERR_GUILD_CANT_PROMOTE_S = 124, - ERR_GUILD_CANT_DEMOTE_S = 125, - ERR_GUILD_NOT_IN_A_GUILD = 126, - ERR_GUILD_INTERNAL = 127, - ERR_GUILD_LEADER_IS_S = 128, - ERR_GUILD_LEADER_CHANGED_SS = 129, - ERR_GUILD_DISBANDED = 130, - ERR_GUILD_NOT_ALLIED = 131, - ERR_GUILD_LEADER_LEAVE = 132, - ERR_GUILD_RANKS_LOCKED = 133, - ERR_GUILD_RANK_IN_USE = 134, - ERR_GUILD_RANK_TOO_HIGH_S = 135, - ERR_GUILD_RANK_TOO_LOW_S = 136, - ERR_GUILD_NAME_EXISTS_S = 137, - ERR_GUILD_WITHDRAW_LIMIT = 138, - ERR_GUILD_NOT_ENOUGH_MONEY = 139, - ERR_GUILD_TOO_MUCH_MONEY = 140, - ERR_GUILD_BANK_CONJURED_ITEM = 141, - ERR_GUILD_BANK_EQUIPPED_ITEM = 142, - ERR_GUILD_BANK_BOUND_ITEM = 143, - ERR_GUILD_BANK_QUEST_ITEM = 144, - ERR_GUILD_BANK_WRAPPED_ITEM = 145, - ERR_GUILD_BANK_FULL = 146, - ERR_GUILD_BANK_WRONG_TAB = 147, - ERR_NO_GUILD_CHARTER = 148, - ERR_OUT_OF_RANGE = 149, - ERR_PLAYER_DEAD = 150, - ERR_CLIENT_LOCKED_OUT = 151, - ERR_CLIENT_ON_TRANSPORT = 152, - ERR_KILLED_BY_S = 153, - ERR_LOOT_LOCKED = 154, - ERR_LOOT_TOO_FAR = 155, - ERR_LOOT_DIDNT_KILL = 156, - ERR_LOOT_BAD_FACING = 157, - ERR_LOOT_NOTSTANDING = 158, - ERR_LOOT_STUNNED = 159, - ERR_LOOT_NO_UI = 160, - ERR_LOOT_WHILE_INVULNERABLE = 161, - ERR_NO_LOOT = 162, - ERR_QUEST_ACCEPTED_S = 163, - ERR_QUEST_COMPLETE_S = 164, - ERR_QUEST_FAILED_S = 165, - ERR_QUEST_FAILED_BAG_FULL_S = 166, - ERR_QUEST_FAILED_MAX_COUNT_S = 167, - ERR_QUEST_FAILED_LOW_LEVEL = 168, - ERR_QUEST_FAILED_MISSING_ITEMS = 169, - ERR_QUEST_FAILED_WRONG_RACE = 170, - ERR_QUEST_FAILED_NOT_ENOUGH_MONEY = 171, - ERR_QUEST_FAILED_EXPANSION = 172, - ERR_QUEST_ONLY_ONE_TIMED = 173, - ERR_QUEST_NEED_PREREQS = 174, - ERR_QUEST_NEED_PREREQS_CUSTOM = 175, - ERR_QUEST_ALREADY_ON = 176, - ERR_QUEST_ALREADY_DONE = 177, - ERR_QUEST_ALREADY_DONE_DAILY = 178, - ERR_QUEST_HAS_IN_PROGRESS = 179, - ERR_QUEST_REWARD_EXP_I = 180, - ERR_QUEST_REWARD_MONEY_S = 181, - ERR_QUEST_MUST_CHOOSE = 182, - ERR_QUEST_LOG_FULL = 183, - ERR_COMBAT_DAMAGE_SSI = 184, - ERR_INSPECT_S = 185, - ERR_CANT_USE_ITEM = 186, - ERR_CANT_USE_ITEM_IN_ARENA = 187, - ERR_CANT_USE_ITEM_IN_RATED_BATTLEGROUND = 188, - ERR_MUST_EQUIP_ITEM = 189, - ERR_PASSIVE_ABILITY = 190, - ERR_2HSKILLNOTFOUND = 191, - ERR_NO_ATTACK_TARGET = 192, - ERR_INVALID_ATTACK_TARGET = 193, - ERR_ATTACK_PVP_TARGET_WHILE_UNFLAGGED = 194, - ERR_ATTACK_STUNNED = 195, - ERR_ATTACK_PACIFIED = 196, - ERR_ATTACK_MOUNTED = 197, - ERR_ATTACK_FLEEING = 198, - ERR_ATTACK_CONFUSED = 199, - ERR_ATTACK_CHARMED = 200, - ERR_ATTACK_DEAD = 201, - ERR_ATTACK_PREVENTED_BY_MECHANIC_S = 202, - ERR_ATTACK_CHANNEL = 203, - ERR_TAXISAMENODE = 204, - ERR_TAXINOSUCHPATH = 205, - ERR_TAXIUNSPECIFIEDSERVERERROR = 206, - ERR_TAXINOTENOUGHMONEY = 207, - ERR_TAXITOOFARAWAY = 208, - ERR_TAXINOVENDORNEARBY = 209, - ERR_TAXINOTVISITED = 210, - ERR_TAXIPLAYERBUSY = 211, - ERR_TAXIPLAYERALREADYMOUNTED = 212, - ERR_TAXIPLAYERSHAPESHIFTED = 213, - ERR_TAXIPLAYERMOVING = 214, - ERR_TAXINOPATHS = 215, - ERR_TAXINOTELIGIBLE = 216, - ERR_TAXINOTSTANDING = 217, - ERR_NO_REPLY_TARGET = 218, - ERR_GENERIC_NO_TARGET = 219, - ERR_INITIATE_TRADE_S = 220, - ERR_TRADE_REQUEST_S = 221, - ERR_TRADE_BLOCKED_S = 222, - ERR_TRADE_TARGET_DEAD = 223, - ERR_TRADE_TOO_FAR = 224, - ERR_TRADE_CANCELLED = 225, - ERR_TRADE_COMPLETE = 226, - ERR_TRADE_BAG_FULL = 227, - ERR_TRADE_TARGET_BAG_FULL = 228, - ERR_TRADE_MAX_COUNT_EXCEEDED = 229, - ERR_TRADE_TARGET_MAX_COUNT_EXCEEDED = 230, - ERR_ALREADY_TRADING = 231, - ERR_MOUNT_INVALIDMOUNTEE = 232, - ERR_MOUNT_TOOFARAWAY = 233, - ERR_MOUNT_ALREADYMOUNTED = 234, - ERR_MOUNT_NOTMOUNTABLE = 235, - ERR_MOUNT_NOTYOURPET = 236, - ERR_MOUNT_OTHER = 237, - ERR_MOUNT_LOOTING = 238, - ERR_MOUNT_RACECANTMOUNT = 239, - ERR_MOUNT_SHAPESHIFTED = 240, - ERR_MOUNT_NO_FAVORITES = 241, - ERR_DISMOUNT_NOPET = 242, - ERR_DISMOUNT_NOTMOUNTED = 243, - ERR_DISMOUNT_NOTYOURPET = 244, - ERR_SPELL_FAILED_TOTEMS = 245, - ERR_SPELL_FAILED_REAGENTS = 246, - ERR_SPELL_FAILED_REAGENTS_GENERIC = 247, - ERR_CANT_TRADE_GOLD = 248, - ERR_SPELL_FAILED_EQUIPPED_ITEM = 249, - ERR_SPELL_FAILED_EQUIPPED_ITEM_CLASS_S = 250, - ERR_SPELL_FAILED_SHAPESHIFT_FORM_S = 251, - ERR_SPELL_FAILED_ANOTHER_IN_PROGRESS = 252, - ERR_BADATTACKFACING = 253, - ERR_BADATTACKPOS = 254, - ERR_CHEST_IN_USE = 255, - ERR_USE_CANT_OPEN = 256, - ERR_USE_LOCKED = 257, - ERR_DOOR_LOCKED = 258, - ERR_BUTTON_LOCKED = 259, - ERR_USE_LOCKED_WITH_ITEM_S = 260, - ERR_USE_LOCKED_WITH_SPELL_S = 261, - ERR_USE_LOCKED_WITH_SPELL_KNOWN_SI = 262, - ERR_USE_TOO_FAR = 263, - ERR_USE_BAD_ANGLE = 264, - ERR_USE_OBJECT_MOVING = 265, - ERR_USE_SPELL_FOCUS = 266, - ERR_USE_DESTROYED = 267, - ERR_SET_LOOT_FREEFORALL = 268, - ERR_SET_LOOT_ROUNDROBIN = 269, - ERR_SET_LOOT_MASTER = 270, - ERR_SET_LOOT_GROUP = 271, - ERR_SET_LOOT_THRESHOLD_S = 272, - ERR_NEW_LOOT_MASTER_S = 273, - ERR_SPECIFY_MASTER_LOOTER = 274, - ERR_LOOT_SPEC_CHANGED_S = 275, - ERR_TAME_FAILED = 276, - ERR_CHAT_WHILE_DEAD = 277, - ERR_CHAT_PLAYER_NOT_FOUND_S = 278, - ERR_NEWTAXIPATH = 279, - ERR_NO_PET = 280, - ERR_NOTYOURPET = 281, - ERR_PET_NOT_RENAMEABLE = 282, - ERR_QUEST_OBJECTIVE_COMPLETE_S = 283, - ERR_QUEST_UNKNOWN_COMPLETE = 284, - ERR_QUEST_ADD_KILL_SII = 285, - ERR_QUEST_ADD_FOUND_SII = 286, - ERR_QUEST_ADD_ITEM_SII = 287, - ERR_QUEST_ADD_PLAYER_KILL_SII = 288, - ERR_CANNOTCREATEDIRECTORY = 289, - ERR_CANNOTCREATEFILE = 290, - ERR_PLAYER_WRONG_FACTION = 291, - ERR_PLAYER_IS_NEUTRAL = 292, - ERR_BANKSLOT_FAILED_TOO_MANY = 293, - ERR_BANKSLOT_INSUFFICIENT_FUNDS = 294, - ERR_BANKSLOT_NOTBANKER = 295, - ERR_FRIEND_DB_ERROR = 296, - ERR_FRIEND_LIST_FULL = 297, - ERR_FRIEND_ADDED_S = 298, - ERR_BATTLETAG_FRIEND_ADDED_S = 299, - ERR_FRIEND_ONLINE_SS = 300, - ERR_FRIEND_OFFLINE_S = 301, - ERR_FRIEND_NOT_FOUND = 302, - ERR_FRIEND_WRONG_FACTION = 303, - ERR_FRIEND_REMOVED_S = 304, - ERR_BATTLETAG_FRIEND_REMOVED_S = 305, - ERR_FRIEND_ERROR = 306, - ERR_FRIEND_ALREADY_S = 307, - ERR_FRIEND_SELF = 308, - ERR_FRIEND_DELETED = 309, - ERR_IGNORE_FULL = 310, - ERR_IGNORE_SELF = 311, - ERR_IGNORE_NOT_FOUND = 312, - ERR_IGNORE_ALREADY_S = 313, - ERR_IGNORE_ADDED_S = 314, - ERR_IGNORE_REMOVED_S = 315, - ERR_IGNORE_AMBIGUOUS = 316, - ERR_IGNORE_DELETED = 317, - ERR_ONLY_ONE_BOLT = 318, - ERR_ONLY_ONE_AMMO = 319, - ERR_SPELL_FAILED_EQUIPPED_SPECIFIC_ITEM = 320, - ERR_WRONG_BAG_TYPE_SUBCLASS = 321, - ERR_CANT_WRAP_STACKABLE = 322, - ERR_CANT_WRAP_EQUIPPED = 323, - ERR_CANT_WRAP_WRAPPED = 324, - ERR_CANT_WRAP_BOUND = 325, - ERR_CANT_WRAP_UNIQUE = 326, - ERR_CANT_WRAP_BAGS = 327, - ERR_OUT_OF_MANA = 328, - ERR_OUT_OF_RAGE = 329, - ERR_OUT_OF_FOCUS = 330, - ERR_OUT_OF_ENERGY = 331, - ERR_OUT_OF_CHI = 332, - ERR_OUT_OF_HEALTH = 333, - ERR_OUT_OF_RUNES = 334, - ERR_OUT_OF_RUNIC_POWER = 335, - ERR_OUT_OF_SOUL_SHARDS = 336, - ERR_OUT_OF_LUNAR_POWER = 337, - ERR_OUT_OF_HOLY_POWER = 338, - ERR_OUT_OF_MAELSTROM = 339, - ERR_OUT_OF_COMBO_POINTS = 340, - ERR_OUT_OF_INSANITY = 341, - ERR_OUT_OF_ARCANE_CHARGES = 342, - ERR_OUT_OF_FURY = 343, - ERR_OUT_OF_PAIN = 344, - ERR_OUT_OF_POWER_DISPLAY = 345, - ERR_LOOT_GONE = 346, - ERR_MOUNT_FORCEDDISMOUNT = 347, - ERR_AUTOFOLLOW_TOO_FAR = 348, - ERR_UNIT_NOT_FOUND = 349, - ERR_INVALID_FOLLOW_TARGET = 350, - ERR_INVALID_FOLLOW_PVP_COMBAT = 351, - ERR_INVALID_FOLLOW_TARGET_PVP_COMBAT = 352, - ERR_INVALID_INSPECT_TARGET = 353, - ERR_GUILDEMBLEM_SUCCESS = 354, - ERR_GUILDEMBLEM_INVALID_TABARD_COLORS = 355, - ERR_GUILDEMBLEM_NOGUILD = 356, - ERR_GUILDEMBLEM_NOTGUILDMASTER = 357, - ERR_GUILDEMBLEM_NOTENOUGHMONEY = 358, - ERR_GUILDEMBLEM_INVALIDVENDOR = 359, - ERR_EMBLEMERROR_NOTABARDGEOSET = 360, - ERR_SPELL_OUT_OF_RANGE = 361, - ERR_COMMAND_NEEDS_TARGET = 362, - ERR_NOAMMO_S = 363, - ERR_TOOBUSYTOFOLLOW = 364, - ERR_DUEL_REQUESTED = 365, - ERR_DUEL_CANCELLED = 366, - ERR_DEATHBINDALREADYBOUND = 367, - ERR_DEATHBIND_SUCCESS_S = 368, - ERR_NOEMOTEWHILERUNNING = 369, - ERR_ZONE_EXPLORED = 370, - ERR_ZONE_EXPLORED_XP = 371, - ERR_INVALID_ITEM_TARGET = 372, - ERR_INVALID_QUEST_TARGET = 373, - ERR_IGNORING_YOU_S = 374, - ERR_FISH_NOT_HOOKED = 375, - ERR_FISH_ESCAPED = 376, - ERR_SPELL_FAILED_NOTUNSHEATHED = 377, - ERR_PETITION_OFFERED_S = 378, - ERR_PETITION_SIGNED = 379, - ERR_PETITION_SIGNED_S = 380, - ERR_PETITION_DECLINED_S = 381, - ERR_PETITION_ALREADY_SIGNED = 382, - ERR_PETITION_RESTRICTED_ACCOUNT_TRIAL = 383, - ERR_PETITION_ALREADY_SIGNED_OTHER = 384, - ERR_PETITION_IN_GUILD = 385, - ERR_PETITION_CREATOR = 386, - ERR_PETITION_NOT_ENOUGH_SIGNATURES = 387, - ERR_PETITION_NOT_SAME_SERVER = 388, - ERR_PETITION_FULL = 389, - ERR_PETITION_ALREADY_SIGNED_BY_S = 390, - ERR_GUILD_NAME_INVALID = 391, - ERR_SPELL_UNLEARNED_S = 392, - ERR_PET_SPELL_ROOTED = 393, - ERR_PET_SPELL_AFFECTING_COMBAT = 394, - ERR_PET_SPELL_OUT_OF_RANGE = 395, - ERR_PET_SPELL_NOT_BEHIND = 396, - ERR_PET_SPELL_TARGETS_DEAD = 397, - ERR_PET_SPELL_DEAD = 398, - ERR_PET_SPELL_NOPATH = 399, - ERR_ITEM_CANT_BE_DESTROYED = 400, - ERR_TICKET_ALREADY_EXISTS = 401, - ERR_TICKET_CREATE_ERROR = 402, - ERR_TICKET_UPDATE_ERROR = 403, - ERR_TICKET_DB_ERROR = 404, - ERR_TICKET_NO_TEXT = 405, - ERR_TICKET_TEXT_TOO_LONG = 406, - ERR_OBJECT_IS_BUSY = 407, - ERR_EXHAUSTION_WELLRESTED = 408, - ERR_EXHAUSTION_RESTED = 409, - ERR_EXHAUSTION_NORMAL = 410, - ERR_EXHAUSTION_TIRED = 411, - ERR_EXHAUSTION_EXHAUSTED = 412, - ERR_NO_ITEMS_WHILE_SHAPESHIFTED = 413, - ERR_CANT_INTERACT_SHAPESHIFTED = 414, - ERR_REALM_NOT_FOUND = 415, - ERR_MAIL_QUEST_ITEM = 416, - ERR_MAIL_BOUND_ITEM = 417, - ERR_MAIL_CONJURED_ITEM = 418, - ERR_MAIL_BAG = 419, - ERR_MAIL_TO_SELF = 420, - ERR_MAIL_TARGET_NOT_FOUND = 421, - ERR_MAIL_DATABASE_ERROR = 422, - ERR_MAIL_DELETE_ITEM_ERROR = 423, - ERR_MAIL_WRAPPED_COD = 424, - ERR_MAIL_CANT_SEND_REALM = 425, - ERR_MAIL_SENT = 426, - ERR_NOT_HAPPY_ENOUGH = 427, - ERR_USE_CANT_IMMUNE = 428, - ERR_CANT_BE_DISENCHANTED = 429, - ERR_CANT_USE_DISARMED = 430, - ERR_AUCTION_QUEST_ITEM = 431, - ERR_AUCTION_BOUND_ITEM = 432, - ERR_AUCTION_CONJURED_ITEM = 433, - ERR_AUCTION_LIMITED_DURATION_ITEM = 434, - ERR_AUCTION_WRAPPED_ITEM = 435, - ERR_AUCTION_LOOT_ITEM = 436, - ERR_AUCTION_BAG = 437, - ERR_AUCTION_EQUIPPED_BAG = 438, - ERR_AUCTION_DATABASE_ERROR = 439, - ERR_AUCTION_BID_OWN = 440, - ERR_AUCTION_BID_INCREMENT = 441, - ERR_AUCTION_HIGHER_BID = 442, - ERR_AUCTION_MIN_BID = 443, - ERR_AUCTION_REPAIR_ITEM = 444, - ERR_AUCTION_USED_CHARGES = 445, - ERR_AUCTION_ALREADY_BID = 446, - ERR_AUCTION_STARTED = 447, - ERR_AUCTION_REMOVED = 448, - ERR_AUCTION_OUTBID_S = 449, - ERR_AUCTION_WON_S = 450, - ERR_AUCTION_SOLD_S = 451, - ERR_AUCTION_EXPIRED_S = 452, - ERR_AUCTION_REMOVED_S = 453, - ERR_AUCTION_BID_PLACED = 454, - ERR_LOGOUT_FAILED = 455, - ERR_QUEST_PUSH_SUCCESS_S = 456, - ERR_QUEST_PUSH_INVALID_S = 457, - ERR_QUEST_PUSH_ACCEPTED_S = 458, - ERR_QUEST_PUSH_DECLINED_S = 459, - ERR_QUEST_PUSH_BUSY_S = 460, - ERR_QUEST_PUSH_DEAD_S = 461, - ERR_QUEST_PUSH_LOG_FULL_S = 462, - ERR_QUEST_PUSH_ONQUEST_S = 463, - ERR_QUEST_PUSH_ALREADY_DONE_S = 464, - ERR_QUEST_PUSH_NOT_DAILY_S = 465, - ERR_QUEST_PUSH_TIMER_EXPIRED_S = 466, - ERR_QUEST_PUSH_NOT_IN_PARTY_S = 467, - ERR_QUEST_PUSH_DIFFERENT_SERVER_DAILY_S = 468, - ERR_QUEST_PUSH_NOT_ALLOWED_S = 469, - ERR_RAID_GROUP_LOWLEVEL = 470, - ERR_RAID_GROUP_ONLY = 471, - ERR_RAID_GROUP_FULL = 472, - ERR_RAID_GROUP_REQUIREMENTS_UNMATCH = 473, - ERR_CORPSE_IS_NOT_IN_INSTANCE = 474, - ERR_PVP_KILL_HONORABLE = 475, - ERR_PVP_KILL_DISHONORABLE = 476, - ERR_SPELL_FAILED_ALREADY_AT_FULL_HEALTH = 477, - ERR_SPELL_FAILED_ALREADY_AT_FULL_MANA = 478, - ERR_SPELL_FAILED_ALREADY_AT_FULL_POWER_S = 479, - ERR_AUTOLOOT_MONEY_S = 480, - ERR_GENERIC_STUNNED = 481, - ERR_TARGET_STUNNED = 482, - ERR_MUST_REPAIR_DURABILITY = 483, - ERR_RAID_YOU_JOINED = 484, - ERR_RAID_YOU_LEFT = 485, - ERR_INSTANCE_GROUP_JOINED_WITH_PARTY = 486, - ERR_INSTANCE_GROUP_JOINED_WITH_RAID = 487, - ERR_RAID_MEMBER_ADDED_S = 488, - ERR_RAID_MEMBER_REMOVED_S = 489, - ERR_INSTANCE_GROUP_ADDED_S = 490, - ERR_INSTANCE_GROUP_REMOVED_S = 491, - ERR_CLICK_ON_ITEM_TO_FEED = 492, - ERR_TOO_MANY_CHAT_CHANNELS = 493, - ERR_LOOT_ROLL_PENDING = 494, - ERR_LOOT_PLAYER_NOT_FOUND = 495, - ERR_NOT_IN_RAID = 496, - ERR_LOGGING_OUT = 497, - ERR_TARGET_LOGGING_OUT = 498, - ERR_NOT_WHILE_MOUNTED = 499, - ERR_NOT_WHILE_SHAPESHIFTED = 500, - ERR_NOT_IN_COMBAT = 501, - ERR_NOT_WHILE_DISARMED = 502, - ERR_PET_BROKEN = 503, - ERR_TALENT_WIPE_ERROR = 504, - ERR_SPEC_WIPE_ERROR = 505, - ERR_GLYPH_WIPE_ERROR = 506, - ERR_PET_SPEC_WIPE_ERROR = 507, - ERR_FEIGN_DEATH_RESISTED = 508, - ERR_MEETING_STONE_IN_QUEUE_S = 509, - ERR_MEETING_STONE_LEFT_QUEUE_S = 510, - ERR_MEETING_STONE_OTHER_MEMBER_LEFT = 511, - ERR_MEETING_STONE_PARTY_KICKED_FROM_QUEUE = 512, - ERR_MEETING_STONE_MEMBER_STILL_IN_QUEUE = 513, - ERR_MEETING_STONE_SUCCESS = 514, - ERR_MEETING_STONE_IN_PROGRESS = 515, - ERR_MEETING_STONE_MEMBER_ADDED_S = 516, - ERR_MEETING_STONE_GROUP_FULL = 517, - ERR_MEETING_STONE_NOT_LEADER = 518, - ERR_MEETING_STONE_INVALID_LEVEL = 519, - ERR_MEETING_STONE_TARGET_NOT_IN_PARTY = 520, - ERR_MEETING_STONE_TARGET_INVALID_LEVEL = 521, - ERR_MEETING_STONE_MUST_BE_LEADER = 522, - ERR_MEETING_STONE_NO_RAID_GROUP = 523, - ERR_MEETING_STONE_NEED_PARTY = 524, - ERR_MEETING_STONE_NOT_FOUND = 525, - ERR_GUILDEMBLEM_SAME = 526, - ERR_EQUIP_TRADE_ITEM = 527, - ERR_PVP_TOGGLE_ON = 528, - ERR_PVP_TOGGLE_OFF = 529, - ERR_GROUP_JOIN_BATTLEGROUND_DESERTERS = 530, - ERR_GROUP_JOIN_BATTLEGROUND_DEAD = 531, - ERR_GROUP_JOIN_BATTLEGROUND_S = 532, - ERR_GROUP_JOIN_BATTLEGROUND_FAIL = 533, - ERR_GROUP_JOIN_BATTLEGROUND_TOO_MANY = 534, - ERR_SOLO_JOIN_BATTLEGROUND_S = 535, - ERR_JOIN_SINGLE_SCENARIO_S = 536, - ERR_BATTLEGROUND_TOO_MANY_QUEUES = 537, - ERR_BATTLEGROUND_CANNOT_QUEUE_FOR_RATED = 538, - ERR_BATTLEDGROUND_QUEUED_FOR_RATED = 539, - ERR_BATTLEGROUND_TEAM_LEFT_QUEUE = 540, - ERR_BATTLEGROUND_NOT_IN_BATTLEGROUND = 541, - ERR_ALREADY_IN_ARENA_TEAM_S = 542, - ERR_INVALID_PROMOTION_CODE = 543, - ERR_BG_PLAYER_JOINED_SS = 544, - ERR_BG_PLAYER_LEFT_S = 545, - ERR_RESTRICTED_ACCOUNT = 546, - ERR_RESTRICTED_ACCOUNT_TRIAL = 547, - ERR_PLAY_TIME_EXCEEDED = 548, - ERR_APPROACHING_PARTIAL_PLAY_TIME = 549, - ERR_APPROACHING_PARTIAL_PLAY_TIME_2 = 550, - ERR_APPROACHING_NO_PLAY_TIME = 551, - ERR_APPROACHING_NO_PLAY_TIME_2 = 552, - ERR_UNHEALTHY_TIME = 553, - ERR_CHAT_RESTRICTED_TRIAL = 554, - ERR_CHAT_THROTTLED = 555, - ERR_MAIL_REACHED_CAP = 556, - ERR_INVALID_RAID_TARGET = 557, - ERR_RAID_LEADER_READY_CHECK_START_S = 558, - ERR_READY_CHECK_IN_PROGRESS = 559, - ERR_READY_CHECK_THROTTLED = 560, - ERR_DUNGEON_DIFFICULTY_FAILED = 561, - ERR_DUNGEON_DIFFICULTY_CHANGED_S = 562, - ERR_TRADE_WRONG_REALM = 563, - ERR_TRADE_NOT_ON_TAPLIST = 564, - ERR_CHAT_PLAYER_AMBIGUOUS_S = 565, - ERR_LOOT_CANT_LOOT_THAT_NOW = 566, - ERR_LOOT_MASTER_INV_FULL = 567, - ERR_LOOT_MASTER_UNIQUE_ITEM = 568, - ERR_LOOT_MASTER_OTHER = 569, - ERR_FILTERING_YOU_S = 570, - ERR_USE_PREVENTED_BY_MECHANIC_S = 571, - ERR_ITEM_UNIQUE_EQUIPPABLE = 572, - ERR_LFG_LEADER_IS_LFM_S = 573, - ERR_LFG_PENDING = 574, - ERR_CANT_SPEAK_LANGAGE = 575, - ERR_VENDOR_MISSING_TURNINS = 576, - ERR_BATTLEGROUND_NOT_IN_TEAM = 577, - ERR_NOT_IN_BATTLEGROUND = 578, - ERR_NOT_ENOUGH_HONOR_POINTS = 579, - ERR_NOT_ENOUGH_ARENA_POINTS = 580, - ERR_SOCKETING_REQUIRES_META_GEM = 581, - ERR_SOCKETING_META_GEM_ONLY_IN_METASLOT = 582, - ERR_SOCKETING_REQUIRES_HYDRAULIC_GEM = 583, - ERR_SOCKETING_HYDRAULIC_GEM_ONLY_IN_HYDRAULICSLOT = 584, - ERR_SOCKETING_REQUIRES_COGWHEEL_GEM = 585, - ERR_SOCKETING_COGWHEEL_GEM_ONLY_IN_COGWHEELSLOT = 586, - ERR_SOCKETING_ITEM_TOO_LOW_LEVEL = 587, - ERR_ITEM_MAX_COUNT_SOCKETED = 588, - ERR_SYSTEM_DISABLED = 589, - ERR_QUEST_FAILED_TOO_MANY_DAILY_QUESTS_I = 590, - ERR_ITEM_MAX_COUNT_EQUIPPED_SOCKETED = 591, - ERR_ITEM_UNIQUE_EQUIPPABLE_SOCKETED = 592, - ERR_USER_SQUELCHED = 593, - ERR_TOO_MUCH_GOLD = 594, - ERR_NOT_BARBER_SITTING = 595, - ERR_QUEST_FAILED_CAIS = 596, - ERR_INVITE_RESTRICTED_TRIAL = 597, - ERR_VOICE_IGNORE_FULL = 598, - ERR_VOICE_IGNORE_SELF = 599, - ERR_VOICE_IGNORE_NOT_FOUND = 600, - ERR_VOICE_IGNORE_ALREADY_S = 601, - ERR_VOICE_IGNORE_ADDED_S = 602, - ERR_VOICE_IGNORE_REMOVED_S = 603, - ERR_VOICE_IGNORE_AMBIGUOUS = 604, - ERR_VOICE_IGNORE_DELETED = 605, - ERR_UNKNOWN_MACRO_OPTION_S = 606, - ERR_NOT_DURING_ARENA_MATCH = 607, - ERR_PLAYER_SILENCED = 608, - ERR_PLAYER_UNSILENCED = 609, - ERR_COMSAT_DISCONNECT = 610, - ERR_COMSAT_RECONNECT_ATTEMPT = 611, - ERR_COMSAT_CONNECT_FAIL = 612, - ERR_MAIL_INVALID_ATTACHMENT_SLOT = 613, - ERR_MAIL_TOO_MANY_ATTACHMENTS = 614, - ERR_MAIL_INVALID_ATTACHMENT = 615, - ERR_MAIL_ATTACHMENT_EXPIRED = 616, - ERR_VOICE_CHAT_PARENTAL_DISABLE_MIC = 617, - ERR_PROFANE_CHAT_NAME = 618, - ERR_PLAYER_SILENCED_ECHO = 619, - ERR_PLAYER_UNSILENCED_ECHO = 620, - ERR_LOOT_CANT_LOOT_THAT = 621, - ERR_ARENA_EXPIRED_CAIS = 622, - ERR_GROUP_ACTION_THROTTLED = 623, - ERR_ALREADY_PICKPOCKETED = 624, - ERR_NAME_INVALID = 625, - ERR_NAME_NO_NAME = 626, - ERR_NAME_TOO_SHORT = 627, - ERR_NAME_TOO_LONG = 628, - ERR_NAME_MIXED_LANGUAGES = 629, - ERR_NAME_PROFANE = 630, - ERR_NAME_RESERVED = 631, - ERR_NAME_THREE_CONSECUTIVE = 632, - ERR_NAME_INVALID_SPACE = 633, - ERR_NAME_CONSECUTIVE_SPACES = 634, - ERR_NAME_RUSSIAN_CONSECUTIVE_SILENT_CHARACTERS = 635, - ERR_NAME_RUSSIAN_SILENT_CHARACTER_AT_BEGINNING_OR_END = 636, - ERR_NAME_DECLENSION_DOESNT_MATCH_BASE_NAME = 637, - ERR_REFER_A_FRIEND_NOT_REFERRED_BY = 638, - ERR_REFER_A_FRIEND_TARGET_TOO_HIGH = 639, - ERR_REFER_A_FRIEND_INSUFFICIENT_GRANTABLE_LEVELS = 640, - ERR_REFER_A_FRIEND_TOO_FAR = 641, - ERR_REFER_A_FRIEND_DIFFERENT_FACTION = 642, - ERR_REFER_A_FRIEND_NOT_NOW = 643, - ERR_REFER_A_FRIEND_GRANT_LEVEL_MAX_I = 644, - ERR_REFER_A_FRIEND_SUMMON_LEVEL_MAX_I = 645, - ERR_REFER_A_FRIEND_SUMMON_COOLDOWN = 646, - ERR_REFER_A_FRIEND_SUMMON_OFFLINE_S = 647, - ERR_REFER_A_FRIEND_INSUF_EXPAN_LVL = 648, - ERR_REFER_A_FRIEND_NOT_IN_LFG = 649, - ERR_REFER_A_FRIEND_NO_XREALM = 650, - ERR_REFER_A_FRIEND_MAP_INCOMING_TRANSFER_NOT_ALLOWED = 651, - ERR_NOT_SAME_ACCOUNT = 652, - ERR_BAD_ON_USE_ENCHANT = 653, - ERR_TRADE_SELF = 654, - ERR_TOO_MANY_SOCKETS = 655, - ERR_ITEM_MAX_LIMIT_CATEGORY_COUNT_EXCEEDED_IS = 656, - ERR_TRADE_TARGET_MAX_LIMIT_CATEGORY_COUNT_EXCEEDED_IS = 657, - ERR_ITEM_MAX_LIMIT_CATEGORY_SOCKETED_EXCEEDED_IS = 658, - ERR_ITEM_MAX_LIMIT_CATEGORY_EQUIPPED_EXCEEDED_IS = 659, - ERR_SHAPESHIFT_FORM_CANNOT_EQUIP = 660, - ERR_ITEM_INVENTORY_FULL_SATCHEL = 661, - ERR_SCALING_STAT_ITEM_LEVEL_EXCEEDED = 662, - ERR_SCALING_STAT_ITEM_LEVEL_TOO_LOW = 663, - ERR_PURCHASE_LEVEL_TOO_LOW = 664, - ERR_GROUP_SWAP_FAILED = 665, - ERR_INVITE_IN_COMBAT = 666, - ERR_INVALID_GLYPH_SLOT = 667, - ERR_GENERIC_NO_VALID_TARGETS = 668, - ERR_CALENDAR_EVENT_ALERT_S = 669, - ERR_PET_LEARN_SPELL_S = 670, - ERR_PET_LEARN_ABILITY_S = 671, - ERR_PET_SPELL_UNLEARNED_S = 672, - ERR_INVITE_UNKNOWN_REALM = 673, - ERR_INVITE_NO_PARTY_SERVER = 674, - ERR_INVITE_PARTY_BUSY = 675, - ERR_PARTY_TARGET_AMBIGUOUS = 676, - ERR_PARTY_LFG_INVITE_RAID_LOCKED = 677, - ERR_PARTY_LFG_BOOT_LIMIT = 678, - ERR_PARTY_LFG_BOOT_COOLDOWN_S = 679, - ERR_PARTY_LFG_BOOT_NOT_ELIGIBLE_S = 680, - ERR_PARTY_LFG_BOOT_INPATIENT_TIMER_S = 681, - ERR_PARTY_LFG_BOOT_IN_PROGRESS = 682, - ERR_PARTY_LFG_BOOT_TOO_FEW_PLAYERS = 683, - ERR_PARTY_LFG_BOOT_VOTE_SUCCEEDED = 684, - ERR_PARTY_LFG_BOOT_VOTE_FAILED = 685, - ERR_PARTY_LFG_BOOT_IN_COMBAT = 686, - ERR_PARTY_LFG_BOOT_DUNGEON_COMPLETE = 687, - ERR_PARTY_LFG_BOOT_LOOT_ROLLS = 688, - ERR_PARTY_LFG_BOOT_VOTE_REGISTERED = 689, - ERR_PARTY_PRIVATE_GROUP_ONLY = 690, - ERR_PARTY_LFG_TELEPORT_IN_COMBAT = 691, - ERR_RAID_DISALLOWED_BY_LEVEL = 692, - ERR_RAID_DISALLOWED_BY_CROSS_REALM = 693, - ERR_PARTY_ROLE_NOT_AVAILABLE = 694, - ERR_JOIN_LFG_OBJECT_FAILED = 695, - ERR_LFG_REMOVED_LEVELUP = 696, - ERR_LFG_REMOVED_XP_TOGGLE = 697, - ERR_LFG_REMOVED_FACTION_CHANGE = 698, - ERR_BATTLEGROUND_INFO_THROTTLED = 699, - ERR_BATTLEGROUND_ALREADY_IN = 700, - ERR_ARENA_TEAM_CHANGE_FAILED_QUEUED = 701, - ERR_ARENA_TEAM_PERMISSIONS = 702, - ERR_NOT_WHILE_FALLING = 703, - ERR_NOT_WHILE_MOVING = 704, - ERR_NOT_WHILE_FATIGUED = 705, - ERR_MAX_SOCKETS = 706, - ERR_MULTI_CAST_ACTION_TOTEM_S = 707, - ERR_BATTLEGROUND_JOIN_LEVELUP = 708, - ERR_REMOVE_FROM_PVP_QUEUE_XP_GAIN = 709, - ERR_BATTLEGROUND_JOIN_XP_GAIN = 710, - ERR_BATTLEGROUND_JOIN_MERCENARY = 711, - ERR_BATTLEGROUND_JOIN_TOO_MANY_HEALERS = 712, - ERR_BATTLEGROUND_JOIN_TOO_MANY_TANKS = 713, - ERR_BATTLEGROUND_JOIN_TOO_MANY_DAMAGE = 714, - ERR_RAID_DIFFICULTY_FAILED = 715, - ERR_RAID_DIFFICULTY_CHANGED_S = 716, - ERR_LEGACY_RAID_DIFFICULTY_CHANGED_S = 717, - ERR_RAID_LOCKOUT_CHANGED_S = 718, - ERR_RAID_CONVERTED_TO_PARTY = 719, - ERR_PARTY_CONVERTED_TO_RAID = 720, - ERR_PLAYER_DIFFICULTY_CHANGED_S = 721, - ERR_GMRESPONSE_DB_ERROR = 722, - ERR_BATTLEGROUND_JOIN_RANGE_INDEX = 723, - ERR_ARENA_JOIN_RANGE_INDEX = 724, - ERR_REMOVE_FROM_PVP_QUEUE_FACTION_CHANGE = 725, - ERR_BATTLEGROUND_JOIN_FAILED = 726, - ERR_BATTLEGROUND_JOIN_NO_VALID_SPEC_FOR_ROLE = 727, - ERR_BATTLEGROUND_JOIN_RESPEC = 728, - ERR_BATTLEGROUND_INVITATION_DECLINED = 729, - ERR_BATTLEGROUND_JOIN_TIMED_OUT = 730, - ERR_BATTLEGROUND_DUPE_QUEUE = 731, - ERR_BATTLEGROUND_JOIN_MUST_COMPLETE_QUEST = 732, - ERR_IN_BATTLEGROUND_RESPEC = 733, - ERR_MAIL_LIMITED_DURATION_ITEM = 734, - ERR_YELL_RESTRICTED_TRIAL = 735, - ERR_CHAT_RAID_RESTRICTED_TRIAL = 736, - ERR_LFG_ROLE_CHECK_FAILED = 737, - ERR_LFG_ROLE_CHECK_FAILED_TIMEOUT = 738, - ERR_LFG_ROLE_CHECK_FAILED_NOT_VIABLE = 739, - ERR_LFG_READY_CHECK_FAILED = 740, - ERR_LFG_READY_CHECK_FAILED_TIMEOUT = 741, - ERR_LFG_GROUP_FULL = 742, - ERR_LFG_NO_LFG_OBJECT = 743, - ERR_LFG_NO_SLOTS_PLAYER = 744, - ERR_LFG_NO_SLOTS_PARTY = 745, - ERR_LFG_NO_SPEC = 746, - ERR_LFG_MISMATCHED_SLOTS = 747, - ERR_LFG_MISMATCHED_SLOTS_LOCAL_XREALM = 748, - ERR_LFG_PARTY_PLAYERS_FROM_DIFFERENT_REALMS = 749, - ERR_LFG_MEMBERS_NOT_PRESENT = 750, - ERR_LFG_GET_INFO_TIMEOUT = 751, - ERR_LFG_INVALID_SLOT = 752, - ERR_LFG_DESERTER_PLAYER = 753, - ERR_LFG_DESERTER_PARTY = 754, - ERR_LFG_DEAD = 755, - ERR_LFG_RANDOM_COOLDOWN_PLAYER = 756, - ERR_LFG_RANDOM_COOLDOWN_PARTY = 757, - ERR_LFG_TOO_MANY_MEMBERS = 758, - ERR_LFG_TOO_FEW_MEMBERS = 759, - ERR_LFG_PROPOSAL_FAILED = 760, - ERR_LFG_PROPOSAL_DECLINED_SELF = 761, - ERR_LFG_PROPOSAL_DECLINED_PARTY = 762, - ERR_LFG_NO_SLOTS_SELECTED = 763, - ERR_LFG_NO_ROLES_SELECTED = 764, - ERR_LFG_ROLE_CHECK_INITIATED = 765, - ERR_LFG_READY_CHECK_INITIATED = 766, - ERR_LFG_PLAYER_DECLINED_ROLE_CHECK = 767, - ERR_LFG_PLAYER_DECLINED_READY_CHECK = 768, - ERR_LFG_JOINED_QUEUE = 769, - ERR_LFG_JOINED_FLEX_QUEUE = 770, - ERR_LFG_JOINED_RF_QUEUE = 771, - ERR_LFG_JOINED_SCENARIO_QUEUE = 772, - ERR_LFG_JOINED_WORLD_PVP_QUEUE = 773, - ERR_LFG_JOINED_BATTLEFIELD_QUEUE = 774, - ERR_LFG_JOINED_LIST = 775, - ERR_LFG_LEFT_QUEUE = 776, - ERR_LFG_LEFT_LIST = 777, - ERR_LFG_ROLE_CHECK_ABORTED = 778, - ERR_LFG_READY_CHECK_ABORTED = 779, - ERR_LFG_CANT_USE_BATTLEGROUND = 780, - ERR_LFG_CANT_USE_DUNGEONS = 781, - ERR_LFG_REASON_TOO_MANY_LFG = 782, - ERR_INVALID_TELEPORT_LOCATION = 783, - ERR_TOO_FAR_TO_INTERACT = 784, - ERR_BATTLEGROUND_PLAYERS_FROM_DIFFERENT_REALMS = 785, - ERR_DIFFICULTY_CHANGE_COOLDOWN_S = 786, - ERR_DIFFICULTY_CHANGE_COMBAT_COOLDOWN_S = 787, - ERR_DIFFICULTY_CHANGE_WORLDSTATE = 788, - ERR_DIFFICULTY_CHANGE_ENCOUNTER = 789, - ERR_DIFFICULTY_CHANGE_COMBAT = 790, - ERR_DIFFICULTY_CHANGE_PLAYER_BUSY = 791, - ERR_DIFFICULTY_CHANGE_ALREADY_STARTED = 792, - ERR_DIFFICULTY_CHANGE_OTHER_HEROIC_S = 793, - ERR_DIFFICULTY_CHANGE_HEROIC_INSTANCE_ALREADY_RUNNING = 794, - ERR_ARENA_TEAM_PARTY_SIZE = 795, - ERR_QUEST_FORCE_REMOVED_S = 796, - ERR_ATTACK_NO_ACTIONS = 797, - ERR_IN_RANDOM_BG = 798, - ERR_IN_NON_RANDOM_BG = 799, - ERR_AUCTION_ENOUGH_ITEMS = 800, - ERR_BN_FRIEND_SELF = 801, - ERR_BN_FRIEND_ALREADY = 802, - ERR_BN_FRIEND_BLOCKED = 803, - ERR_BN_FRIEND_LIST_FULL = 804, - ERR_BN_FRIEND_REQUEST_SENT = 805, - ERR_BN_BROADCAST_THROTTLE = 806, - ERR_BG_DEVELOPER_ONLY = 807, - ERR_CURRENCY_SPELL_SLOT_MISMATCH = 808, - ERR_CURRENCY_NOT_TRADABLE = 809, - ERR_REQUIRES_EXPANSION_S = 810, - ERR_QUEST_FAILED_SPELL = 811, - ERR_TALENT_FAILED_NOT_ENOUGH_TALENTS_IN_PRIMARY_TREE = 812, - ERR_TALENT_FAILED_NO_PRIMARY_TREE_SELECTED = 813, - ERR_TALENT_FAILED_CANT_REMOVE_TALENT = 814, - ERR_TALENT_FAILED_UNKNOWN = 815, - ERR_WARGAME_REQUEST_FAILURE = 816, - ERR_RANK_REQUIRES_AUTHENTICATOR = 817, - ERR_GUILD_BANK_VOUCHER_FAILED = 818, - ERR_WARGAME_REQUEST_SENT = 819, - ERR_REQUIRES_ACHIEVEMENT_I = 820, - ERR_REFUND_RESULT_EXCEED_MAX_CURRENCY = 821, - ERR_CANT_BUY_QUANTITY = 822, - ERR_ITEM_IS_BATTLE_PAY_LOCKED = 823, - ERR_PARTY_ALREADY_IN_BATTLEGROUND_QUEUE = 824, - ERR_PARTY_CONFIRMING_BATTLEGROUND_QUEUE = 825, - ERR_BATTLEFIELD_TEAM_PARTY_SIZE = 826, - ERR_INSUFF_TRACKED_CURRENCY_IS = 827, - ERR_NOT_ON_TOURNAMENT_REALM = 828, - ERR_GUILD_TRIAL_ACCOUNT_TRIAL = 829, - ERR_GUILD_TRIAL_ACCOUNT_VETERAN = 830, - ERR_GUILD_UNDELETABLE_DUE_TO_LEVEL = 831, - ERR_CANT_DO_THAT_IN_A_GROUP = 832, - ERR_GUILD_LEADER_REPLACED = 833, - ERR_TRANSMOGRIFY_CANT_EQUIP = 834, - ERR_TRANSMOGRIFY_INVALID_ITEM_TYPE = 835, - ERR_TRANSMOGRIFY_NOT_SOULBOUND = 836, - ERR_TRANSMOGRIFY_INVALID_SOURCE = 837, - ERR_TRANSMOGRIFY_INVALID_DESTINATION = 838, - ERR_TRANSMOGRIFY_MISMATCH = 839, - ERR_TRANSMOGRIFY_LEGENDARY = 840, - ERR_TRANSMOGRIFY_SAME_ITEM = 841, - ERR_TRANSMOGRIFY_SAME_APPEARANCE = 842, - ERR_TRANSMOGRIFY_NOT_EQUIPPED = 843, - ERR_VOID_DEPOSIT_FULL = 844, - ERR_VOID_WITHDRAW_FULL = 845, - ERR_VOID_STORAGE_WRAPPED = 846, - ERR_VOID_STORAGE_STACKABLE = 847, - ERR_VOID_STORAGE_UNBOUND = 848, - ERR_VOID_STORAGE_REPAIR = 849, - ERR_VOID_STORAGE_CHARGES = 850, - ERR_VOID_STORAGE_QUEST = 851, - ERR_VOID_STORAGE_CONJURED = 852, - ERR_VOID_STORAGE_MAIL = 853, - ERR_VOID_STORAGE_BAG = 854, - ERR_VOID_TRANSFER_STORAGE_FULL = 855, - ERR_VOID_TRANSFER_INV_FULL = 856, - ERR_VOID_TRANSFER_INTERNAL_ERROR = 857, - ERR_VOID_TRANSFER_ITEM_INVALID = 858, - ERR_DIFFICULTY_DISABLED_IN_LFG = 859, - ERR_VOID_STORAGE_UNIQUE = 860, - ERR_VOID_STORAGE_LOOT = 861, - ERR_VOID_STORAGE_HOLIDAY = 862, - ERR_VOID_STORAGE_DURATION = 863, - ERR_VOID_STORAGE_LOAD_FAILED = 864, - ERR_VOID_STORAGE_INVALID_ITEM = 865, - ERR_PARENTAL_CONTROLS_CHAT_MUTED = 866, - ERR_SOR_START_EXPERIENCE_INCOMPLETE = 867, - ERR_SOR_INVALID_EMAIL = 868, - ERR_SOR_INVALID_COMMENT = 869, - ERR_CHALLENGE_MODE_RESET_COOLDOWN_S = 870, - ERR_CHALLENGE_MODE_RESET_KEYSTONE = 871, - ERR_PET_JOURNAL_ALREADY_IN_LOADOUT = 872, - ERR_REPORT_SUBMITTED_SUCCESSFULLY = 873, - ERR_REPORT_SUBMISSION_FAILED = 874, - ERR_SUGGESTION_SUBMITTED_SUCCESSFULLY = 875, - ERR_BUG_SUBMITTED_SUCCESSFULLY = 876, - ERR_CHALLENGE_MODE_ENABLED = 877, - ERR_CHALLENGE_MODE_DISABLED = 878, - ERR_PETBATTLE_CREATE_FAILED = 879, - ERR_PETBATTLE_NOT_HERE = 880, - ERR_PETBATTLE_NOT_HERE_ON_TRANSPORT = 881, - ERR_PETBATTLE_NOT_HERE_UNEVEN_GROUND = 882, - ERR_PETBATTLE_NOT_HERE_OBSTRUCTED = 883, - ERR_PETBATTLE_NOT_WHILE_IN_COMBAT = 884, - ERR_PETBATTLE_NOT_WHILE_DEAD = 885, - ERR_PETBATTLE_NOT_WHILE_FLYING = 886, - ERR_PETBATTLE_TARGET_INVALID = 887, - ERR_PETBATTLE_TARGET_OUT_OF_RANGE = 888, - ERR_PETBATTLE_TARGET_NOT_CAPTURABLE = 889, - ERR_PETBATTLE_NOT_A_TRAINER = 890, - ERR_PETBATTLE_DECLINED = 891, - ERR_PETBATTLE_IN_BATTLE = 892, - ERR_PETBATTLE_INVALID_LOADOUT = 893, - ERR_PETBATTLE_ALL_PETS_DEAD = 894, - ERR_PETBATTLE_NO_PETS_IN_SLOTS = 895, - ERR_PETBATTLE_NO_ACCOUNT_LOCK = 896, - ERR_PETBATTLE_WILD_PET_TAPPED = 897, - ERR_PETBATTLE_RESTRICTED_ACCOUNT = 898, - ERR_PETBATTLE_OPPONENT_NOT_AVAILABLE = 899, - ERR_PETBATTLE_NOT_WHILE_IN_MATCHED_BATTLE = 900, - ERR_CANT_HAVE_MORE_PETS_OF_THAT_TYPE = 901, - ERR_CANT_HAVE_MORE_PETS = 902, - ERR_PVP_MAP_NOT_FOUND = 903, - ERR_PVP_MAP_NOT_SET = 904, - ERR_PETBATTLE_QUEUE_QUEUED = 905, - ERR_PETBATTLE_QUEUE_ALREADY_QUEUED = 906, - ERR_PETBATTLE_QUEUE_JOIN_FAILED = 907, - ERR_PETBATTLE_QUEUE_JOURNAL_LOCK = 908, - ERR_PETBATTLE_QUEUE_REMOVED = 909, - ERR_PETBATTLE_QUEUE_PROPOSAL_DECLINED = 910, - ERR_PETBATTLE_QUEUE_PROPOSAL_TIMEOUT = 911, - ERR_PETBATTLE_QUEUE_OPPONENT_DECLINED = 912, - ERR_PETBATTLE_QUEUE_REQUEUED_INTERNAL = 913, - ERR_PETBATTLE_QUEUE_REQUEUED_REMOVED = 914, - ERR_PETBATTLE_QUEUE_SLOT_LOCKED = 915, - ERR_PETBATTLE_QUEUE_SLOT_EMPTY = 916, - ERR_PETBATTLE_QUEUE_SLOT_NO_TRACKER = 917, - ERR_PETBATTLE_QUEUE_SLOT_NO_SPECIES = 918, - ERR_PETBATTLE_QUEUE_SLOT_CANT_BATTLE = 919, - ERR_PETBATTLE_QUEUE_SLOT_REVOKED = 920, - ERR_PETBATTLE_QUEUE_SLOT_DEAD = 921, - ERR_PETBATTLE_QUEUE_SLOT_NO_PET = 922, - ERR_PETBATTLE_QUEUE_NOT_WHILE_NEUTRAL = 923, - ERR_PETBATTLE_GAME_TIME_LIMIT_WARNING = 924, - ERR_PETBATTLE_GAME_ROUNDS_LIMIT_WARNING = 925, - ERR_HAS_RESTRICTION = 926, - ERR_ITEM_UPGRADE_ITEM_TOO_LOW_LEVEL = 927, - ERR_ITEM_UPGRADE_NO_PATH = 928, - ERR_ITEM_UPGRADE_NO_MORE_UPGRADES = 929, - ERR_BONUS_ROLL_EMPTY = 930, - ERR_CHALLENGE_MODE_FULL = 931, - ERR_CHALLENGE_MODE_IN_PROGRESS = 932, - ERR_CHALLENGE_MODE_INCORRECT_KEYSTONE = 933, - ERR_BATTLETAG_FRIEND_NOT_FOUND = 934, - ERR_BATTLETAG_FRIEND_NOT_VALID = 935, - ERR_BATTLETAG_FRIEND_NOT_ALLOWED = 936, - ERR_BATTLETAG_FRIEND_THROTTLED = 937, - ERR_BATTLETAG_FRIEND_SUCCESS = 938, - ERR_PET_TOO_HIGH_LEVEL_TO_UNCAGE = 939, - ERR_PETBATTLE_INTERNAL = 940, - ERR_CANT_CAGE_PET_YET = 941, - ERR_NO_LOOT_IN_CHALLENGE_MODE = 942, - ERR_QUEST_PET_BATTLE_VICTORIES_PVP_II = 943, - ERR_ROLE_CHECK_ALREADY_IN_PROGRESS = 944, - ERR_RECRUIT_A_FRIEND_ACCOUNT_LIMIT = 945, - ERR_RECRUIT_A_FRIEND_FAILED = 946, - ERR_SET_LOOT_PERSONAL = 947, - ERR_SET_LOOT_METHOD_FAILED_COMBAT = 948, - ERR_REAGENT_BANK_FULL = 949, - ERR_REAGENT_BANK_LOCKED = 950, - ERR_GARRISON_BUILDING_EXISTS = 951, - ERR_GARRISON_INVALID_PLOT = 952, - ERR_GARRISON_INVALID_BUILDINGID = 953, - ERR_GARRISON_INVALID_PLOT_BUILDING = 954, - ERR_GARRISON_REQUIRES_BLUEPRINT = 955, - ERR_GARRISON_NOT_ENOUGH_CURRENCY = 956, - ERR_GARRISON_NOT_ENOUGH_GOLD = 957, - ERR_GARRISON_COMPLETE_MISSION_WRONG_FOLLOWER_TYPE = 958, - ERR_ALREADY_USING_LFG_LIST = 959, - ERR_RESTRICTED_ACCOUNT_LFG_LIST_TRIAL = 960, - ERR_TOY_USE_LIMIT_REACHED = 961, - ERR_TOY_ALREADY_KNOWN = 962, - ERR_TRANSMOG_SET_ALREADY_KNOWN = 963, - ERR_NOT_ENOUGH_CURRENCY = 964, - ERR_SPEC_IS_DISABLED = 965, - ERR_FEATURE_RESTRICTED_TRIAL = 966, - ERR_CANT_BE_OBLITERATED = 967, - ERR_CANT_BE_SCRAPPED = 968, - ERR_ARTIFACT_RELIC_DOES_NOT_MATCH_ARTIFACT = 969, - ERR_MUST_EQUIP_ARTIFACT = 970, - ERR_CANT_DO_THAT_RIGHT_NOW = 971, - ERR_AFFECTING_COMBAT = 972, - ERR_EQUIPMENT_MANAGER_COMBAT_SWAP_S = 973, - ERR_EQUIPMENT_MANAGER_BAGS_FULL = 974, - ERR_EQUIPMENT_MANAGER_MISSING_ITEM_S = 975, - ERR_MOVIE_RECORDING_WARNING_PERF = 976, - ERR_MOVIE_RECORDING_WARNING_DISK_FULL = 977, - ERR_MOVIE_RECORDING_WARNING_NO_MOVIE = 978, - ERR_MOVIE_RECORDING_WARNING_REQUIREMENTS = 979, - ERR_MOVIE_RECORDING_WARNING_COMPRESSING = 980, - ERR_NO_CHALLENGE_MODE_REWARD = 981, - ERR_CLAIMED_CHALLENGE_MODE_REWARD = 982, - ERR_CHALLENGE_MODE_PERIOD_RESET_SS = 983, - ERR_CANT_DO_THAT_CHALLENGE_MODE_ACTIVE = 984, - ERR_TALENT_FAILED_REST_AREA = 985, - ERR_CANNOT_ABANDON_LAST_PET = 986, - ERR_TEST_CVAR_SET_SSS = 987, - ERR_QUEST_TURN_IN_FAIL_REASON = 988, - ERR_CLAIMED_CHALLENGE_MODE_REWARD_OLD = 989, - ERR_TALENT_GRANTED_BY_AURA = 990, - ERR_CHALLENGE_MODE_ALREADY_COMPLETE = 991, - ERR_GLYPH_TARGET_NOT_AVAILABLE = 992, - ERR_PVP_WARMODE_TOGGLE_ON = 993, - ERR_PVP_WARMODE_TOGGLE_OFF = 994, - ERR_SPELL_FAILED_LEVEL_REQUIREMENT = 995, - ERR_BATTLEGROUND_JOIN_REQUIRES_LEVEL = 996, - ERR_BATTLEGROUND_JOIN_DISQUALIFIED = 997, - ERR_VOICE_CHAT_GENERIC_UNABLE_TO_CONNECT = 998, - ERR_VOICE_CHAT_SERVICE_LOST = 999, - ERR_VOICE_CHAT_CHANNEL_NAME_TOO_SHORT = 1000, - ERR_VOICE_CHAT_CHANNEL_NAME_TOO_LONG = 1001, - ERR_VOICE_CHAT_CHANNEL_ALREADY_EXISTS = 1002, - ERR_VOICE_CHAT_TARGET_NOT_FOUND = 1003, - ERR_VOICE_CHAT_TOO_MANY_REQUESTS = 1004, - ERR_VOICE_CHAT_PLAYER_SILENCED = 1005, - ERR_VOICE_CHAT_PARENTAL_DISABLE_ALL = 1006, - ERR_VOICE_CHAT_DISABLED = 1007, - ERR_NO_PVP_REWARD = 1008, - ERR_CLAIMED_PVP_REWARD = 1009, + ERR_VENDOR_REFUSE_SCRAPPABLE_AZERITE = 37, + ERR_VENDOR_HATES_YOU = 38, + ERR_VENDOR_SOLD_OUT = 39, + ERR_VENDOR_TOO_FAR = 40, + ERR_VENDOR_DOESNT_BUY = 41, + ERR_NOT_ENOUGH_MONEY = 42, + ERR_RECEIVE_ITEM_S = 43, + ERR_DROP_BOUND_ITEM = 44, + ERR_TRADE_BOUND_ITEM = 45, + ERR_TRADE_QUEST_ITEM = 46, + ERR_TRADE_TEMP_ENCHANT_BOUND = 47, + ERR_TRADE_GROUND_ITEM = 48, + ERR_TRADE_BAG = 49, + ERR_SPELL_FAILED_S = 50, + ERR_ITEM_COOLDOWN = 51, + ERR_POTION_COOLDOWN = 52, + ERR_FOOD_COOLDOWN = 53, + ERR_SPELL_COOLDOWN = 54, + ERR_ABILITY_COOLDOWN = 55, + ERR_SPELL_ALREADY_KNOWN_S = 56, + ERR_PET_SPELL_ALREADY_KNOWN_S = 57, + ERR_PROFICIENCY_GAINED_S = 58, + ERR_SKILL_GAINED_S = 59, + ERR_SKILL_UP_SI = 60, + ERR_LEARN_SPELL_S = 61, + ERR_LEARN_ABILITY_S = 62, + ERR_LEARN_PASSIVE_S = 63, + ERR_LEARN_RECIPE_S = 64, + ERR_LEARN_COMPANION_S = 65, + ERR_LEARN_MOUNT_S = 66, + ERR_LEARN_TOY_S = 67, + ERR_LEARN_HEIRLOOM_S = 68, + ERR_LEARN_TRANSMOG_S = 69, + ERR_COMPLETED_TRANSMOG_SET_S = 70, + ERR_REVOKE_TRANSMOG_S = 71, + ERR_INVITE_PLAYER_S = 72, + ERR_INVITE_SELF = 73, + ERR_INVITED_TO_GROUP_SS = 74, + ERR_INVITED_ALREADY_IN_GROUP_SS = 75, + ERR_ALREADY_IN_GROUP_S = 76, + ERR_CROSS_REALM_RAID_INVITE = 77, + ERR_PLAYER_BUSY_S = 78, + ERR_NEW_LEADER_S = 79, + ERR_NEW_LEADER_YOU = 80, + ERR_NEW_GUIDE_S = 81, + ERR_NEW_GUIDE_YOU = 82, + ERR_LEFT_GROUP_S = 83, + ERR_LEFT_GROUP_YOU = 84, + ERR_GROUP_DISBANDED = 85, + ERR_DECLINE_GROUP_S = 86, + ERR_JOINED_GROUP_S = 87, + ERR_UNINVITE_YOU = 88, + ERR_BAD_PLAYER_NAME_S = 89, + ERR_NOT_IN_GROUP = 90, + ERR_TARGET_NOT_IN_GROUP_S = 91, + ERR_TARGET_NOT_IN_INSTANCE_S = 92, + ERR_NOT_IN_INSTANCE_GROUP = 93, + ERR_GROUP_FULL = 94, + ERR_NOT_LEADER = 95, + ERR_PLAYER_DIED_S = 96, + ERR_GUILD_CREATE_S = 97, + ERR_GUILD_INVITE_S = 98, + ERR_INVITED_TO_GUILD_SSS = 99, + ERR_ALREADY_IN_GUILD_S = 100, + ERR_ALREADY_INVITED_TO_GUILD_S = 101, + ERR_INVITED_TO_GUILD = 102, + ERR_ALREADY_IN_GUILD = 103, + ERR_GUILD_ACCEPT = 104, + ERR_GUILD_DECLINE_S = 105, + ERR_GUILD_DECLINE_AUTO_S = 106, + ERR_GUILD_PERMISSIONS = 107, + ERR_GUILD_JOIN_S = 108, + ERR_GUILD_FOUNDER_S = 109, + ERR_GUILD_PROMOTE_SSS = 110, + ERR_GUILD_DEMOTE_SS = 111, + ERR_GUILD_DEMOTE_SSS = 112, + ERR_GUILD_INVITE_SELF = 113, + ERR_GUILD_QUIT_S = 114, + ERR_GUILD_LEAVE_S = 115, + ERR_GUILD_REMOVE_SS = 116, + ERR_GUILD_REMOVE_SELF = 117, + ERR_GUILD_DISBAND_S = 118, + ERR_GUILD_DISBAND_SELF = 119, + ERR_GUILD_LEADER_S = 120, + ERR_GUILD_LEADER_SELF = 121, + ERR_GUILD_PLAYER_NOT_FOUND_S = 122, + ERR_GUILD_PLAYER_NOT_IN_GUILD_S = 123, + ERR_GUILD_PLAYER_NOT_IN_GUILD = 124, + ERR_GUILD_CANT_PROMOTE_S = 125, + ERR_GUILD_CANT_DEMOTE_S = 126, + ERR_GUILD_NOT_IN_A_GUILD = 127, + ERR_GUILD_INTERNAL = 128, + ERR_GUILD_LEADER_IS_S = 129, + ERR_GUILD_LEADER_CHANGED_SS = 130, + ERR_GUILD_DISBANDED = 131, + ERR_GUILD_NOT_ALLIED = 132, + ERR_GUILD_LEADER_LEAVE = 133, + ERR_GUILD_RANKS_LOCKED = 134, + ERR_GUILD_RANK_IN_USE = 135, + ERR_GUILD_RANK_TOO_HIGH_S = 136, + ERR_GUILD_RANK_TOO_LOW_S = 137, + ERR_GUILD_NAME_EXISTS_S = 138, + ERR_GUILD_WITHDRAW_LIMIT = 139, + ERR_GUILD_NOT_ENOUGH_MONEY = 140, + ERR_GUILD_TOO_MUCH_MONEY = 141, + ERR_GUILD_BANK_CONJURED_ITEM = 142, + ERR_GUILD_BANK_EQUIPPED_ITEM = 143, + ERR_GUILD_BANK_BOUND_ITEM = 144, + ERR_GUILD_BANK_QUEST_ITEM = 145, + ERR_GUILD_BANK_WRAPPED_ITEM = 146, + ERR_GUILD_BANK_FULL = 147, + ERR_GUILD_BANK_WRONG_TAB = 148, + ERR_NO_GUILD_CHARTER = 149, + ERR_OUT_OF_RANGE = 150, + ERR_PLAYER_DEAD = 151, + ERR_CLIENT_LOCKED_OUT = 152, + ERR_CLIENT_ON_TRANSPORT = 153, + ERR_KILLED_BY_S = 154, + ERR_LOOT_LOCKED = 155, + ERR_LOOT_TOO_FAR = 156, + ERR_LOOT_DIDNT_KILL = 157, + ERR_LOOT_BAD_FACING = 158, + ERR_LOOT_NOTSTANDING = 159, + ERR_LOOT_STUNNED = 160, + ERR_LOOT_NO_UI = 161, + ERR_LOOT_WHILE_INVULNERABLE = 162, + ERR_NO_LOOT = 163, + ERR_QUEST_ACCEPTED_S = 164, + ERR_QUEST_COMPLETE_S = 165, + ERR_QUEST_FAILED_S = 166, + ERR_QUEST_FAILED_BAG_FULL_S = 167, + ERR_QUEST_FAILED_MAX_COUNT_S = 168, + ERR_QUEST_FAILED_LOW_LEVEL = 169, + ERR_QUEST_FAILED_MISSING_ITEMS = 170, + ERR_QUEST_FAILED_WRONG_RACE = 171, + ERR_QUEST_FAILED_NOT_ENOUGH_MONEY = 172, + ERR_QUEST_FAILED_EXPANSION = 173, + ERR_QUEST_ONLY_ONE_TIMED = 174, + ERR_QUEST_NEED_PREREQS = 175, + ERR_QUEST_NEED_PREREQS_CUSTOM = 176, + ERR_QUEST_ALREADY_ON = 177, + ERR_QUEST_ALREADY_DONE = 178, + ERR_QUEST_ALREADY_DONE_DAILY = 179, + ERR_QUEST_HAS_IN_PROGRESS = 180, + ERR_QUEST_REWARD_EXP_I = 181, + ERR_QUEST_REWARD_MONEY_S = 182, + ERR_QUEST_MUST_CHOOSE = 183, + ERR_QUEST_LOG_FULL = 184, + ERR_COMBAT_DAMAGE_SSI = 185, + ERR_INSPECT_S = 186, + ERR_CANT_USE_ITEM = 187, + ERR_CANT_USE_ITEM_IN_ARENA = 188, + ERR_CANT_USE_ITEM_IN_RATED_BATTLEGROUND = 189, + ERR_MUST_EQUIP_ITEM = 190, + ERR_PASSIVE_ABILITY = 191, + ERR_2HSKILLNOTFOUND = 192, + ERR_NO_ATTACK_TARGET = 193, + ERR_INVALID_ATTACK_TARGET = 194, + ERR_ATTACK_PVP_TARGET_WHILE_UNFLAGGED = 195, + ERR_ATTACK_STUNNED = 196, + ERR_ATTACK_PACIFIED = 197, + ERR_ATTACK_MOUNTED = 198, + ERR_ATTACK_FLEEING = 199, + ERR_ATTACK_CONFUSED = 200, + ERR_ATTACK_CHARMED = 201, + ERR_ATTACK_DEAD = 202, + ERR_ATTACK_PREVENTED_BY_MECHANIC_S = 203, + ERR_ATTACK_CHANNEL = 204, + ERR_TAXISAMENODE = 205, + ERR_TAXINOSUCHPATH = 206, + ERR_TAXIUNSPECIFIEDSERVERERROR = 207, + ERR_TAXINOTENOUGHMONEY = 208, + ERR_TAXITOOFARAWAY = 209, + ERR_TAXINOVENDORNEARBY = 210, + ERR_TAXINOTVISITED = 211, + ERR_TAXIPLAYERBUSY = 212, + ERR_TAXIPLAYERALREADYMOUNTED = 213, + ERR_TAXIPLAYERSHAPESHIFTED = 214, + ERR_TAXIPLAYERMOVING = 215, + ERR_TAXINOPATHS = 216, + ERR_TAXINOTELIGIBLE = 217, + ERR_TAXINOTSTANDING = 218, + ERR_NO_REPLY_TARGET = 219, + ERR_GENERIC_NO_TARGET = 220, + ERR_INITIATE_TRADE_S = 221, + ERR_TRADE_REQUEST_S = 222, + ERR_TRADE_BLOCKED_S = 223, + ERR_TRADE_TARGET_DEAD = 224, + ERR_TRADE_TOO_FAR = 225, + ERR_TRADE_CANCELLED = 226, + ERR_TRADE_COMPLETE = 227, + ERR_TRADE_BAG_FULL = 228, + ERR_TRADE_TARGET_BAG_FULL = 229, + ERR_TRADE_MAX_COUNT_EXCEEDED = 230, + ERR_TRADE_TARGET_MAX_COUNT_EXCEEDED = 231, + ERR_ALREADY_TRADING = 232, + ERR_MOUNT_INVALIDMOUNTEE = 233, + ERR_MOUNT_TOOFARAWAY = 234, + ERR_MOUNT_ALREADYMOUNTED = 235, + ERR_MOUNT_NOTMOUNTABLE = 236, + ERR_MOUNT_NOTYOURPET = 237, + ERR_MOUNT_OTHER = 238, + ERR_MOUNT_LOOTING = 239, + ERR_MOUNT_RACECANTMOUNT = 240, + ERR_MOUNT_SHAPESHIFTED = 241, + ERR_MOUNT_NO_FAVORITES = 242, + ERR_DISMOUNT_NOPET = 243, + ERR_DISMOUNT_NOTMOUNTED = 244, + ERR_DISMOUNT_NOTYOURPET = 245, + ERR_SPELL_FAILED_TOTEMS = 246, + ERR_SPELL_FAILED_REAGENTS = 247, + ERR_SPELL_FAILED_REAGENTS_GENERIC = 248, + ERR_CANT_TRADE_GOLD = 249, + ERR_SPELL_FAILED_EQUIPPED_ITEM = 250, + ERR_SPELL_FAILED_EQUIPPED_ITEM_CLASS_S = 251, + ERR_SPELL_FAILED_SHAPESHIFT_FORM_S = 252, + ERR_SPELL_FAILED_ANOTHER_IN_PROGRESS = 253, + ERR_BADATTACKFACING = 254, + ERR_BADATTACKPOS = 255, + ERR_CHEST_IN_USE = 256, + ERR_USE_CANT_OPEN = 257, + ERR_USE_LOCKED = 258, + ERR_DOOR_LOCKED = 259, + ERR_BUTTON_LOCKED = 260, + ERR_USE_LOCKED_WITH_ITEM_S = 261, + ERR_USE_LOCKED_WITH_SPELL_S = 262, + ERR_USE_LOCKED_WITH_SPELL_KNOWN_SI = 263, + ERR_USE_TOO_FAR = 264, + ERR_USE_BAD_ANGLE = 265, + ERR_USE_OBJECT_MOVING = 266, + ERR_USE_SPELL_FOCUS = 267, + ERR_USE_DESTROYED = 268, + ERR_SET_LOOT_FREEFORALL = 269, + ERR_SET_LOOT_ROUNDROBIN = 270, + ERR_SET_LOOT_MASTER = 271, + ERR_SET_LOOT_GROUP = 272, + ERR_SET_LOOT_THRESHOLD_S = 273, + ERR_NEW_LOOT_MASTER_S = 274, + ERR_SPECIFY_MASTER_LOOTER = 275, + ERR_LOOT_SPEC_CHANGED_S = 276, + ERR_TAME_FAILED = 277, + ERR_CHAT_WHILE_DEAD = 278, + ERR_CHAT_PLAYER_NOT_FOUND_S = 279, + ERR_NEWTAXIPATH = 280, + ERR_NO_PET = 281, + ERR_NOTYOURPET = 282, + ERR_PET_NOT_RENAMEABLE = 283, + ERR_QUEST_OBJECTIVE_COMPLETE_S = 284, + ERR_QUEST_UNKNOWN_COMPLETE = 285, + ERR_QUEST_ADD_KILL_SII = 286, + ERR_QUEST_ADD_FOUND_SII = 287, + ERR_QUEST_ADD_ITEM_SII = 288, + ERR_QUEST_ADD_PLAYER_KILL_SII = 289, + ERR_CANNOTCREATEDIRECTORY = 290, + ERR_CANNOTCREATEFILE = 291, + ERR_PLAYER_WRONG_FACTION = 292, + ERR_PLAYER_IS_NEUTRAL = 293, + ERR_BANKSLOT_FAILED_TOO_MANY = 294, + ERR_BANKSLOT_INSUFFICIENT_FUNDS = 295, + ERR_BANKSLOT_NOTBANKER = 296, + ERR_FRIEND_DB_ERROR = 297, + ERR_FRIEND_LIST_FULL = 298, + ERR_FRIEND_ADDED_S = 299, + ERR_BATTLETAG_FRIEND_ADDED_S = 300, + ERR_FRIEND_ONLINE_SS = 301, + ERR_FRIEND_OFFLINE_S = 302, + ERR_FRIEND_NOT_FOUND = 303, + ERR_FRIEND_WRONG_FACTION = 304, + ERR_FRIEND_REMOVED_S = 305, + ERR_BATTLETAG_FRIEND_REMOVED_S = 306, + ERR_FRIEND_ERROR = 307, + ERR_FRIEND_ALREADY_S = 308, + ERR_FRIEND_SELF = 309, + ERR_FRIEND_DELETED = 310, + ERR_IGNORE_FULL = 311, + ERR_IGNORE_SELF = 312, + ERR_IGNORE_NOT_FOUND = 313, + ERR_IGNORE_ALREADY_S = 314, + ERR_IGNORE_ADDED_S = 315, + ERR_IGNORE_REMOVED_S = 316, + ERR_IGNORE_AMBIGUOUS = 317, + ERR_IGNORE_DELETED = 318, + ERR_ONLY_ONE_BOLT = 319, + ERR_ONLY_ONE_AMMO = 320, + ERR_SPELL_FAILED_EQUIPPED_SPECIFIC_ITEM = 321, + ERR_WRONG_BAG_TYPE_SUBCLASS = 322, + ERR_CANT_WRAP_STACKABLE = 323, + ERR_CANT_WRAP_EQUIPPED = 324, + ERR_CANT_WRAP_WRAPPED = 325, + ERR_CANT_WRAP_BOUND = 326, + ERR_CANT_WRAP_UNIQUE = 327, + ERR_CANT_WRAP_BAGS = 328, + ERR_OUT_OF_MANA = 329, + ERR_OUT_OF_RAGE = 330, + ERR_OUT_OF_FOCUS = 331, + ERR_OUT_OF_ENERGY = 332, + ERR_OUT_OF_CHI = 333, + ERR_OUT_OF_HEALTH = 334, + ERR_OUT_OF_RUNES = 335, + ERR_OUT_OF_RUNIC_POWER = 336, + ERR_OUT_OF_SOUL_SHARDS = 337, + ERR_OUT_OF_LUNAR_POWER = 338, + ERR_OUT_OF_HOLY_POWER = 339, + ERR_OUT_OF_MAELSTROM = 340, + ERR_OUT_OF_COMBO_POINTS = 341, + ERR_OUT_OF_INSANITY = 342, + ERR_OUT_OF_ARCANE_CHARGES = 343, + ERR_OUT_OF_FURY = 344, + ERR_OUT_OF_PAIN = 345, + ERR_OUT_OF_POWER_DISPLAY = 346, + ERR_LOOT_GONE = 347, + ERR_MOUNT_FORCEDDISMOUNT = 348, + ERR_AUTOFOLLOW_TOO_FAR = 349, + ERR_UNIT_NOT_FOUND = 350, + ERR_INVALID_FOLLOW_TARGET = 351, + ERR_INVALID_FOLLOW_PVP_COMBAT = 352, + ERR_INVALID_FOLLOW_TARGET_PVP_COMBAT = 353, + ERR_INVALID_INSPECT_TARGET = 354, + ERR_GUILDEMBLEM_SUCCESS = 355, + ERR_GUILDEMBLEM_INVALID_TABARD_COLORS = 356, + ERR_GUILDEMBLEM_NOGUILD = 357, + ERR_GUILDEMBLEM_NOTGUILDMASTER = 358, + ERR_GUILDEMBLEM_NOTENOUGHMONEY = 359, + ERR_GUILDEMBLEM_INVALIDVENDOR = 360, + ERR_EMBLEMERROR_NOTABARDGEOSET = 361, + ERR_SPELL_OUT_OF_RANGE = 362, + ERR_COMMAND_NEEDS_TARGET = 363, + ERR_NOAMMO_S = 364, + ERR_TOOBUSYTOFOLLOW = 365, + ERR_DUEL_REQUESTED = 366, + ERR_DUEL_CANCELLED = 367, + ERR_DEATHBINDALREADYBOUND = 368, + ERR_DEATHBIND_SUCCESS_S = 369, + ERR_NOEMOTEWHILERUNNING = 370, + ERR_ZONE_EXPLORED = 371, + ERR_ZONE_EXPLORED_XP = 372, + ERR_INVALID_ITEM_TARGET = 373, + ERR_INVALID_QUEST_TARGET = 374, + ERR_IGNORING_YOU_S = 375, + ERR_FISH_NOT_HOOKED = 376, + ERR_FISH_ESCAPED = 377, + ERR_SPELL_FAILED_NOTUNSHEATHED = 378, + ERR_PETITION_OFFERED_S = 379, + ERR_PETITION_SIGNED = 380, + ERR_PETITION_SIGNED_S = 381, + ERR_PETITION_DECLINED_S = 382, + ERR_PETITION_ALREADY_SIGNED = 383, + ERR_PETITION_RESTRICTED_ACCOUNT_TRIAL = 384, + ERR_PETITION_ALREADY_SIGNED_OTHER = 385, + ERR_PETITION_IN_GUILD = 386, + ERR_PETITION_CREATOR = 387, + ERR_PETITION_NOT_ENOUGH_SIGNATURES = 388, + ERR_PETITION_NOT_SAME_SERVER = 389, + ERR_PETITION_FULL = 390, + ERR_PETITION_ALREADY_SIGNED_BY_S = 391, + ERR_GUILD_NAME_INVALID = 392, + ERR_SPELL_UNLEARNED_S = 393, + ERR_PET_SPELL_ROOTED = 394, + ERR_PET_SPELL_AFFECTING_COMBAT = 395, + ERR_PET_SPELL_OUT_OF_RANGE = 396, + ERR_PET_SPELL_NOT_BEHIND = 397, + ERR_PET_SPELL_TARGETS_DEAD = 398, + ERR_PET_SPELL_DEAD = 399, + ERR_PET_SPELL_NOPATH = 400, + ERR_ITEM_CANT_BE_DESTROYED = 401, + ERR_TICKET_ALREADY_EXISTS = 402, + ERR_TICKET_CREATE_ERROR = 403, + ERR_TICKET_UPDATE_ERROR = 404, + ERR_TICKET_DB_ERROR = 405, + ERR_TICKET_NO_TEXT = 406, + ERR_TICKET_TEXT_TOO_LONG = 407, + ERR_OBJECT_IS_BUSY = 408, + ERR_EXHAUSTION_WELLRESTED = 409, + ERR_EXHAUSTION_RESTED = 410, + ERR_EXHAUSTION_NORMAL = 411, + ERR_EXHAUSTION_TIRED = 412, + ERR_EXHAUSTION_EXHAUSTED = 413, + ERR_NO_ITEMS_WHILE_SHAPESHIFTED = 414, + ERR_CANT_INTERACT_SHAPESHIFTED = 415, + ERR_REALM_NOT_FOUND = 416, + ERR_MAIL_QUEST_ITEM = 417, + ERR_MAIL_BOUND_ITEM = 418, + ERR_MAIL_CONJURED_ITEM = 419, + ERR_MAIL_BAG = 420, + ERR_MAIL_TO_SELF = 421, + ERR_MAIL_TARGET_NOT_FOUND = 422, + ERR_MAIL_DATABASE_ERROR = 423, + ERR_MAIL_DELETE_ITEM_ERROR = 424, + ERR_MAIL_WRAPPED_COD = 425, + ERR_MAIL_CANT_SEND_REALM = 426, + ERR_MAIL_TEMP_RETURN_OUTAGE = 427, + ERR_MAIL_SENT = 428, + ERR_NOT_HAPPY_ENOUGH = 429, + ERR_USE_CANT_IMMUNE = 430, + ERR_CANT_BE_DISENCHANTED = 431, + ERR_CANT_USE_DISARMED = 432, + ERR_AUCTION_QUEST_ITEM = 433, + ERR_AUCTION_BOUND_ITEM = 434, + ERR_AUCTION_CONJURED_ITEM = 435, + ERR_AUCTION_LIMITED_DURATION_ITEM = 436, + ERR_AUCTION_WRAPPED_ITEM = 437, + ERR_AUCTION_LOOT_ITEM = 438, + ERR_AUCTION_BAG = 439, + ERR_AUCTION_EQUIPPED_BAG = 440, + ERR_AUCTION_DATABASE_ERROR = 441, + ERR_AUCTION_BID_OWN = 442, + ERR_AUCTION_BID_INCREMENT = 443, + ERR_AUCTION_HIGHER_BID = 444, + ERR_AUCTION_MIN_BID = 445, + ERR_AUCTION_REPAIR_ITEM = 446, + ERR_AUCTION_USED_CHARGES = 447, + ERR_AUCTION_ALREADY_BID = 448, + ERR_AUCTION_HOUSE_UNAVAILABLE = 449, + ERR_AUCTION_HOUSE_BUSY = 450, + ERR_AUCTION_STARTED = 451, + ERR_AUCTION_REMOVED = 452, + ERR_AUCTION_OUTBID_S = 453, + ERR_AUCTION_WON_S = 454, + ERR_AUCTION_SOLD_S = 455, + ERR_AUCTION_EXPIRED_S = 456, + ERR_AUCTION_REMOVED_S = 457, + ERR_AUCTION_BID_PLACED = 458, + ERR_LOGOUT_FAILED = 459, + ERR_QUEST_PUSH_SUCCESS_S = 460, + ERR_QUEST_PUSH_INVALID_S = 461, + ERR_QUEST_PUSH_ACCEPTED_S = 462, + ERR_QUEST_PUSH_DECLINED_S = 463, + ERR_QUEST_PUSH_BUSY_S = 464, + ERR_QUEST_PUSH_DEAD_S = 465, + ERR_QUEST_PUSH_LOG_FULL_S = 466, + ERR_QUEST_PUSH_ONQUEST_S = 467, + ERR_QUEST_PUSH_ALREADY_DONE_S = 468, + ERR_QUEST_PUSH_NOT_DAILY_S = 469, + ERR_QUEST_PUSH_TIMER_EXPIRED_S = 470, + ERR_QUEST_PUSH_NOT_IN_PARTY_S = 471, + ERR_QUEST_PUSH_DIFFERENT_SERVER_DAILY_S = 472, + ERR_QUEST_PUSH_NOT_ALLOWED_S = 473, + ERR_RAID_GROUP_LOWLEVEL = 474, + ERR_RAID_GROUP_ONLY = 475, + ERR_RAID_GROUP_FULL = 476, + ERR_RAID_GROUP_REQUIREMENTS_UNMATCH = 477, + ERR_CORPSE_IS_NOT_IN_INSTANCE = 478, + ERR_PVP_KILL_HONORABLE = 479, + ERR_PVP_KILL_DISHONORABLE = 480, + ERR_SPELL_FAILED_ALREADY_AT_FULL_HEALTH = 481, + ERR_SPELL_FAILED_ALREADY_AT_FULL_MANA = 482, + ERR_SPELL_FAILED_ALREADY_AT_FULL_POWER_S = 483, + ERR_AUTOLOOT_MONEY_S = 484, + ERR_GENERIC_STUNNED = 485, + ERR_GENERIC_THROTTLE = 486, + ERR_TARGET_STUNNED = 487, + ERR_MUST_REPAIR_DURABILITY = 488, + ERR_RAID_YOU_JOINED = 489, + ERR_RAID_YOU_LEFT = 490, + ERR_INSTANCE_GROUP_JOINED_WITH_PARTY = 491, + ERR_INSTANCE_GROUP_JOINED_WITH_RAID = 492, + ERR_RAID_MEMBER_ADDED_S = 493, + ERR_RAID_MEMBER_REMOVED_S = 494, + ERR_INSTANCE_GROUP_ADDED_S = 495, + ERR_INSTANCE_GROUP_REMOVED_S = 496, + ERR_CLICK_ON_ITEM_TO_FEED = 497, + ERR_TOO_MANY_CHAT_CHANNELS = 498, + ERR_LOOT_ROLL_PENDING = 499, + ERR_LOOT_PLAYER_NOT_FOUND = 500, + ERR_NOT_IN_RAID = 501, + ERR_LOGGING_OUT = 502, + ERR_TARGET_LOGGING_OUT = 503, + ERR_NOT_WHILE_MOUNTED = 504, + ERR_NOT_WHILE_SHAPESHIFTED = 505, + ERR_NOT_IN_COMBAT = 506, + ERR_NOT_WHILE_DISARMED = 507, + ERR_PET_BROKEN = 508, + ERR_TALENT_WIPE_ERROR = 509, + ERR_SPEC_WIPE_ERROR = 510, + ERR_GLYPH_WIPE_ERROR = 511, + ERR_PET_SPEC_WIPE_ERROR = 512, + ERR_FEIGN_DEATH_RESISTED = 513, + ERR_MEETING_STONE_IN_QUEUE_S = 514, + ERR_MEETING_STONE_LEFT_QUEUE_S = 515, + ERR_MEETING_STONE_OTHER_MEMBER_LEFT = 516, + ERR_MEETING_STONE_PARTY_KICKED_FROM_QUEUE = 517, + ERR_MEETING_STONE_MEMBER_STILL_IN_QUEUE = 518, + ERR_MEETING_STONE_SUCCESS = 519, + ERR_MEETING_STONE_IN_PROGRESS = 520, + ERR_MEETING_STONE_MEMBER_ADDED_S = 521, + ERR_MEETING_STONE_GROUP_FULL = 522, + ERR_MEETING_STONE_NOT_LEADER = 523, + ERR_MEETING_STONE_INVALID_LEVEL = 524, + ERR_MEETING_STONE_TARGET_NOT_IN_PARTY = 525, + ERR_MEETING_STONE_TARGET_INVALID_LEVEL = 526, + ERR_MEETING_STONE_MUST_BE_LEADER = 527, + ERR_MEETING_STONE_NO_RAID_GROUP = 528, + ERR_MEETING_STONE_NEED_PARTY = 529, + ERR_MEETING_STONE_NOT_FOUND = 530, + ERR_MEETING_STONE_TARGET_IN_VEHICLE = 531, + ERR_GUILDEMBLEM_SAME = 532, + ERR_EQUIP_TRADE_ITEM = 533, + ERR_PVP_TOGGLE_ON = 534, + ERR_PVP_TOGGLE_OFF = 535, + ERR_GROUP_JOIN_BATTLEGROUND_DESERTERS = 536, + ERR_GROUP_JOIN_BATTLEGROUND_DEAD = 537, + ERR_GROUP_JOIN_BATTLEGROUND_S = 538, + ERR_GROUP_JOIN_BATTLEGROUND_FAIL = 539, + ERR_GROUP_JOIN_BATTLEGROUND_TOO_MANY = 540, + ERR_SOLO_JOIN_BATTLEGROUND_S = 541, + ERR_JOIN_SINGLE_SCENARIO_S = 542, + ERR_BATTLEGROUND_TOO_MANY_QUEUES = 543, + ERR_BATTLEGROUND_CANNOT_QUEUE_FOR_RATED = 544, + ERR_BATTLEDGROUND_QUEUED_FOR_RATED = 545, + ERR_BATTLEGROUND_TEAM_LEFT_QUEUE = 546, + ERR_BATTLEGROUND_NOT_IN_BATTLEGROUND = 547, + ERR_ALREADY_IN_ARENA_TEAM_S = 548, + ERR_INVALID_PROMOTION_CODE = 549, + ERR_BG_PLAYER_JOINED_SS = 550, + ERR_BG_PLAYER_LEFT_S = 551, + ERR_RESTRICTED_ACCOUNT = 552, + ERR_RESTRICTED_ACCOUNT_TRIAL = 553, + ERR_PLAY_TIME_EXCEEDED = 554, + ERR_APPROACHING_PARTIAL_PLAY_TIME = 555, + ERR_APPROACHING_PARTIAL_PLAY_TIME_2 = 556, + ERR_APPROACHING_NO_PLAY_TIME = 557, + ERR_APPROACHING_NO_PLAY_TIME_2 = 558, + ERR_UNHEALTHY_TIME = 559, + ERR_CHAT_RESTRICTED_TRIAL = 560, + ERR_CHAT_THROTTLED = 561, + ERR_MAIL_REACHED_CAP = 562, + ERR_INVALID_RAID_TARGET = 563, + ERR_RAID_LEADER_READY_CHECK_START_S = 564, + ERR_READY_CHECK_IN_PROGRESS = 565, + ERR_READY_CHECK_THROTTLED = 566, + ERR_DUNGEON_DIFFICULTY_FAILED = 567, + ERR_DUNGEON_DIFFICULTY_CHANGED_S = 568, + ERR_TRADE_WRONG_REALM = 569, + ERR_TRADE_NOT_ON_TAPLIST = 570, + ERR_CHAT_PLAYER_AMBIGUOUS_S = 571, + ERR_LOOT_CANT_LOOT_THAT_NOW = 572, + ERR_LOOT_MASTER_INV_FULL = 573, + ERR_LOOT_MASTER_UNIQUE_ITEM = 574, + ERR_LOOT_MASTER_OTHER = 575, + ERR_FILTERING_YOU_S = 576, + ERR_USE_PREVENTED_BY_MECHANIC_S = 577, + ERR_ITEM_UNIQUE_EQUIPPABLE = 578, + ERR_LFG_LEADER_IS_LFM_S = 579, + ERR_LFG_PENDING = 580, + ERR_CANT_SPEAK_LANGAGE = 581, + ERR_VENDOR_MISSING_TURNINS = 582, + ERR_BATTLEGROUND_NOT_IN_TEAM = 583, + ERR_NOT_IN_BATTLEGROUND = 584, + ERR_NOT_ENOUGH_HONOR_POINTS = 585, + ERR_NOT_ENOUGH_ARENA_POINTS = 586, + ERR_SOCKETING_REQUIRES_META_GEM = 587, + ERR_SOCKETING_META_GEM_ONLY_IN_METASLOT = 588, + ERR_SOCKETING_REQUIRES_HYDRAULIC_GEM = 589, + ERR_SOCKETING_HYDRAULIC_GEM_ONLY_IN_HYDRAULICSLOT = 590, + ERR_SOCKETING_REQUIRES_COGWHEEL_GEM = 591, + ERR_SOCKETING_COGWHEEL_GEM_ONLY_IN_COGWHEELSLOT = 592, + ERR_SOCKETING_ITEM_TOO_LOW_LEVEL = 593, + ERR_ITEM_MAX_COUNT_SOCKETED = 594, + ERR_SYSTEM_DISABLED = 595, + ERR_QUEST_FAILED_TOO_MANY_DAILY_QUESTS_I = 596, + ERR_ITEM_MAX_COUNT_EQUIPPED_SOCKETED = 597, + ERR_ITEM_UNIQUE_EQUIPPABLE_SOCKETED = 598, + ERR_USER_SQUELCHED = 599, + ERR_TOO_MUCH_GOLD = 600, + ERR_NOT_BARBER_SITTING = 601, + ERR_QUEST_FAILED_CAIS = 602, + ERR_INVITE_RESTRICTED_TRIAL = 603, + ERR_VOICE_IGNORE_FULL = 604, + ERR_VOICE_IGNORE_SELF = 605, + ERR_VOICE_IGNORE_NOT_FOUND = 606, + ERR_VOICE_IGNORE_ALREADY_S = 607, + ERR_VOICE_IGNORE_ADDED_S = 608, + ERR_VOICE_IGNORE_REMOVED_S = 609, + ERR_VOICE_IGNORE_AMBIGUOUS = 610, + ERR_VOICE_IGNORE_DELETED = 611, + ERR_UNKNOWN_MACRO_OPTION_S = 612, + ERR_NOT_DURING_ARENA_MATCH = 613, + ERR_PLAYER_SILENCED = 614, + ERR_PLAYER_UNSILENCED = 615, + ERR_COMSAT_DISCONNECT = 616, + ERR_COMSAT_RECONNECT_ATTEMPT = 617, + ERR_COMSAT_CONNECT_FAIL = 618, + ERR_MAIL_INVALID_ATTACHMENT_SLOT = 619, + ERR_MAIL_TOO_MANY_ATTACHMENTS = 620, + ERR_MAIL_INVALID_ATTACHMENT = 621, + ERR_MAIL_ATTACHMENT_EXPIRED = 622, + ERR_VOICE_CHAT_PARENTAL_DISABLE_MIC = 623, + ERR_PROFANE_CHAT_NAME = 624, + ERR_PLAYER_SILENCED_ECHO = 625, + ERR_PLAYER_UNSILENCED_ECHO = 626, + ERR_LOOT_CANT_LOOT_THAT = 627, + ERR_ARENA_EXPIRED_CAIS = 628, + ERR_GROUP_ACTION_THROTTLED = 629, + ERR_ALREADY_PICKPOCKETED = 630, + ERR_NAME_INVALID = 631, + ERR_NAME_NO_NAME = 632, + ERR_NAME_TOO_SHORT = 633, + ERR_NAME_TOO_LONG = 634, + ERR_NAME_MIXED_LANGUAGES = 635, + ERR_NAME_PROFANE = 636, + ERR_NAME_RESERVED = 637, + ERR_NAME_THREE_CONSECUTIVE = 638, + ERR_NAME_INVALID_SPACE = 639, + ERR_NAME_CONSECUTIVE_SPACES = 640, + ERR_NAME_RUSSIAN_CONSECUTIVE_SILENT_CHARACTERS = 641, + ERR_NAME_RUSSIAN_SILENT_CHARACTER_AT_BEGINNING_OR_END = 642, + ERR_NAME_DECLENSION_DOESNT_MATCH_BASE_NAME = 643, + ERR_REFER_A_FRIEND_NOT_REFERRED_BY = 644, + ERR_REFER_A_FRIEND_TARGET_TOO_HIGH = 645, + ERR_REFER_A_FRIEND_INSUFFICIENT_GRANTABLE_LEVELS = 646, + ERR_REFER_A_FRIEND_TOO_FAR = 647, + ERR_REFER_A_FRIEND_DIFFERENT_FACTION = 648, + ERR_REFER_A_FRIEND_NOT_NOW = 649, + ERR_REFER_A_FRIEND_GRANT_LEVEL_MAX_I = 650, + ERR_REFER_A_FRIEND_SUMMON_LEVEL_MAX_I = 651, + ERR_REFER_A_FRIEND_SUMMON_COOLDOWN = 652, + ERR_REFER_A_FRIEND_SUMMON_OFFLINE_S = 653, + ERR_REFER_A_FRIEND_INSUF_EXPAN_LVL = 654, + ERR_REFER_A_FRIEND_NOT_IN_LFG = 655, + ERR_REFER_A_FRIEND_NO_XREALM = 656, + ERR_REFER_A_FRIEND_MAP_INCOMING_TRANSFER_NOT_ALLOWED = 657, + ERR_NOT_SAME_ACCOUNT = 658, + ERR_BAD_ON_USE_ENCHANT = 659, + ERR_TRADE_SELF = 660, + ERR_TOO_MANY_SOCKETS = 661, + ERR_ITEM_MAX_LIMIT_CATEGORY_COUNT_EXCEEDED_IS = 662, + ERR_TRADE_TARGET_MAX_LIMIT_CATEGORY_COUNT_EXCEEDED_IS = 663, + ERR_ITEM_MAX_LIMIT_CATEGORY_SOCKETED_EXCEEDED_IS = 664, + ERR_ITEM_MAX_LIMIT_CATEGORY_EQUIPPED_EXCEEDED_IS = 665, + ERR_SHAPESHIFT_FORM_CANNOT_EQUIP = 666, + ERR_ITEM_INVENTORY_FULL_SATCHEL = 667, + ERR_SCALING_STAT_ITEM_LEVEL_EXCEEDED = 668, + ERR_SCALING_STAT_ITEM_LEVEL_TOO_LOW = 669, + ERR_PURCHASE_LEVEL_TOO_LOW = 670, + ERR_GROUP_SWAP_FAILED = 671, + ERR_INVITE_IN_COMBAT = 672, + ERR_INVALID_GLYPH_SLOT = 673, + ERR_GENERIC_NO_VALID_TARGETS = 674, + ERR_CALENDAR_EVENT_ALERT_S = 675, + ERR_PET_LEARN_SPELL_S = 676, + ERR_PET_LEARN_ABILITY_S = 677, + ERR_PET_SPELL_UNLEARNED_S = 678, + ERR_INVITE_UNKNOWN_REALM = 679, + ERR_INVITE_NO_PARTY_SERVER = 680, + ERR_INVITE_PARTY_BUSY = 681, + ERR_PARTY_TARGET_AMBIGUOUS = 682, + ERR_PARTY_LFG_INVITE_RAID_LOCKED = 683, + ERR_PARTY_LFG_BOOT_LIMIT = 684, + ERR_PARTY_LFG_BOOT_COOLDOWN_S = 685, + ERR_PARTY_LFG_BOOT_NOT_ELIGIBLE_S = 686, + ERR_PARTY_LFG_BOOT_INPATIENT_TIMER_S = 687, + ERR_PARTY_LFG_BOOT_IN_PROGRESS = 688, + ERR_PARTY_LFG_BOOT_TOO_FEW_PLAYERS = 689, + ERR_PARTY_LFG_BOOT_VOTE_SUCCEEDED = 690, + ERR_PARTY_LFG_BOOT_VOTE_FAILED = 691, + ERR_PARTY_LFG_BOOT_IN_COMBAT = 692, + ERR_PARTY_LFG_BOOT_DUNGEON_COMPLETE = 693, + ERR_PARTY_LFG_BOOT_LOOT_ROLLS = 694, + ERR_PARTY_LFG_BOOT_VOTE_REGISTERED = 695, + ERR_PARTY_PRIVATE_GROUP_ONLY = 696, + ERR_PARTY_LFG_TELEPORT_IN_COMBAT = 697, + ERR_RAID_DISALLOWED_BY_LEVEL = 698, + ERR_RAID_DISALLOWED_BY_CROSS_REALM = 699, + ERR_PARTY_ROLE_NOT_AVAILABLE = 700, + ERR_JOIN_LFG_OBJECT_FAILED = 701, + ERR_LFG_REMOVED_LEVELUP = 702, + ERR_LFG_REMOVED_XP_TOGGLE = 703, + ERR_LFG_REMOVED_FACTION_CHANGE = 704, + ERR_BATTLEGROUND_INFO_THROTTLED = 705, + ERR_BATTLEGROUND_ALREADY_IN = 706, + ERR_ARENA_TEAM_CHANGE_FAILED_QUEUED = 707, + ERR_ARENA_TEAM_PERMISSIONS = 708, + ERR_NOT_WHILE_FALLING = 709, + ERR_NOT_WHILE_MOVING = 710, + ERR_NOT_WHILE_FATIGUED = 711, + ERR_MAX_SOCKETS = 712, + ERR_MULTI_CAST_ACTION_TOTEM_S = 713, + ERR_BATTLEGROUND_JOIN_LEVELUP = 714, + ERR_REMOVE_FROM_PVP_QUEUE_XP_GAIN = 715, + ERR_BATTLEGROUND_JOIN_XP_GAIN = 716, + ERR_BATTLEGROUND_JOIN_MERCENARY = 717, + ERR_BATTLEGROUND_JOIN_TOO_MANY_HEALERS = 718, + ERR_BATTLEGROUND_JOIN_RATED_TOO_MANY_HEALERS = 719, + ERR_BATTLEGROUND_JOIN_TOO_MANY_TANKS = 720, + ERR_BATTLEGROUND_JOIN_TOO_MANY_DAMAGE = 721, + ERR_RAID_DIFFICULTY_FAILED = 722, + ERR_RAID_DIFFICULTY_CHANGED_S = 723, + ERR_LEGACY_RAID_DIFFICULTY_CHANGED_S = 724, + ERR_RAID_LOCKOUT_CHANGED_S = 725, + ERR_RAID_CONVERTED_TO_PARTY = 726, + ERR_PARTY_CONVERTED_TO_RAID = 727, + ERR_PLAYER_DIFFICULTY_CHANGED_S = 728, + ERR_GMRESPONSE_DB_ERROR = 729, + ERR_BATTLEGROUND_JOIN_RANGE_INDEX = 730, + ERR_ARENA_JOIN_RANGE_INDEX = 731, + ERR_REMOVE_FROM_PVP_QUEUE_FACTION_CHANGE = 732, + ERR_BATTLEGROUND_JOIN_FAILED = 733, + ERR_BATTLEGROUND_JOIN_NO_VALID_SPEC_FOR_ROLE = 734, + ERR_BATTLEGROUND_JOIN_RESPEC = 735, + ERR_BATTLEGROUND_INVITATION_DECLINED = 736, + ERR_BATTLEGROUND_JOIN_TIMED_OUT = 737, + ERR_BATTLEGROUND_DUPE_QUEUE = 738, + ERR_BATTLEGROUND_JOIN_MUST_COMPLETE_QUEST = 739, + ERR_IN_BATTLEGROUND_RESPEC = 740, + ERR_MAIL_LIMITED_DURATION_ITEM = 741, + ERR_YELL_RESTRICTED_TRIAL = 742, + ERR_CHAT_RAID_RESTRICTED_TRIAL = 743, + ERR_LFG_ROLE_CHECK_FAILED = 744, + ERR_LFG_ROLE_CHECK_FAILED_TIMEOUT = 745, + ERR_LFG_ROLE_CHECK_FAILED_NOT_VIABLE = 746, + ERR_LFG_READY_CHECK_FAILED = 747, + ERR_LFG_READY_CHECK_FAILED_TIMEOUT = 748, + ERR_LFG_GROUP_FULL = 749, + ERR_LFG_NO_LFG_OBJECT = 750, + ERR_LFG_NO_SLOTS_PLAYER = 751, + ERR_LFG_NO_SLOTS_PARTY = 752, + ERR_LFG_NO_SPEC = 753, + ERR_LFG_MISMATCHED_SLOTS = 754, + ERR_LFG_MISMATCHED_SLOTS_LOCAL_XREALM = 755, + ERR_LFG_PARTY_PLAYERS_FROM_DIFFERENT_REALMS = 756, + ERR_LFG_MEMBERS_NOT_PRESENT = 757, + ERR_LFG_GET_INFO_TIMEOUT = 758, + ERR_LFG_INVALID_SLOT = 759, + ERR_LFG_DESERTER_PLAYER = 760, + ERR_LFG_DESERTER_PARTY = 761, + ERR_LFG_DEAD = 762, + ERR_LFG_RANDOM_COOLDOWN_PLAYER = 763, + ERR_LFG_RANDOM_COOLDOWN_PARTY = 764, + ERR_LFG_TOO_MANY_MEMBERS = 765, + ERR_LFG_TOO_FEW_MEMBERS = 766, + ERR_LFG_PROPOSAL_FAILED = 767, + ERR_LFG_PROPOSAL_DECLINED_SELF = 768, + ERR_LFG_PROPOSAL_DECLINED_PARTY = 769, + ERR_LFG_NO_SLOTS_SELECTED = 770, + ERR_LFG_NO_ROLES_SELECTED = 771, + ERR_LFG_ROLE_CHECK_INITIATED = 772, + ERR_LFG_READY_CHECK_INITIATED = 773, + ERR_LFG_PLAYER_DECLINED_ROLE_CHECK = 774, + ERR_LFG_PLAYER_DECLINED_READY_CHECK = 775, + ERR_LFG_JOINED_QUEUE = 776, + ERR_LFG_JOINED_FLEX_QUEUE = 777, + ERR_LFG_JOINED_RF_QUEUE = 778, + ERR_LFG_JOINED_SCENARIO_QUEUE = 779, + ERR_LFG_JOINED_WORLD_PVP_QUEUE = 780, + ERR_LFG_JOINED_BATTLEFIELD_QUEUE = 781, + ERR_LFG_JOINED_LIST = 782, + ERR_LFG_LEFT_QUEUE = 783, + ERR_LFG_LEFT_LIST = 784, + ERR_LFG_ROLE_CHECK_ABORTED = 785, + ERR_LFG_READY_CHECK_ABORTED = 786, + ERR_LFG_CANT_USE_BATTLEGROUND = 787, + ERR_LFG_CANT_USE_DUNGEONS = 788, + ERR_LFG_REASON_TOO_MANY_LFG = 789, + ERR_INVALID_TELEPORT_LOCATION = 790, + ERR_TOO_FAR_TO_INTERACT = 791, + ERR_BATTLEGROUND_PLAYERS_FROM_DIFFERENT_REALMS = 792, + ERR_DIFFICULTY_CHANGE_COOLDOWN_S = 793, + ERR_DIFFICULTY_CHANGE_COMBAT_COOLDOWN_S = 794, + ERR_DIFFICULTY_CHANGE_WORLDSTATE = 795, + ERR_DIFFICULTY_CHANGE_ENCOUNTER = 796, + ERR_DIFFICULTY_CHANGE_COMBAT = 797, + ERR_DIFFICULTY_CHANGE_PLAYER_BUSY = 798, + ERR_DIFFICULTY_CHANGE_ALREADY_STARTED = 799, + ERR_DIFFICULTY_CHANGE_OTHER_HEROIC_S = 800, + ERR_DIFFICULTY_CHANGE_HEROIC_INSTANCE_ALREADY_RUNNING = 801, + ERR_ARENA_TEAM_PARTY_SIZE = 802, + ERR_QUEST_FORCE_REMOVED_S = 803, + ERR_ATTACK_NO_ACTIONS = 804, + ERR_IN_RANDOM_BG = 805, + ERR_IN_NON_RANDOM_BG = 806, + ERR_AUCTION_ENOUGH_ITEMS = 807, + ERR_BN_FRIEND_SELF = 808, + ERR_BN_FRIEND_ALREADY = 809, + ERR_BN_FRIEND_BLOCKED = 810, + ERR_BN_FRIEND_LIST_FULL = 811, + ERR_BN_FRIEND_REQUEST_SENT = 812, + ERR_BN_BROADCAST_THROTTLE = 813, + ERR_BG_DEVELOPER_ONLY = 814, + ERR_CURRENCY_SPELL_SLOT_MISMATCH = 815, + ERR_CURRENCY_NOT_TRADABLE = 816, + ERR_REQUIRES_EXPANSION_S = 817, + ERR_QUEST_FAILED_SPELL = 818, + ERR_TALENT_FAILED_NOT_ENOUGH_TALENTS_IN_PRIMARY_TREE = 819, + ERR_TALENT_FAILED_NO_PRIMARY_TREE_SELECTED = 820, + ERR_TALENT_FAILED_CANT_REMOVE_TALENT = 821, + ERR_TALENT_FAILED_UNKNOWN = 822, + ERR_WARGAME_REQUEST_FAILURE = 823, + ERR_RANK_REQUIRES_AUTHENTICATOR = 824, + ERR_GUILD_BANK_VOUCHER_FAILED = 825, + ERR_WARGAME_REQUEST_SENT = 826, + ERR_REQUIRES_ACHIEVEMENT_I = 827, + ERR_REFUND_RESULT_EXCEED_MAX_CURRENCY = 828, + ERR_CANT_BUY_QUANTITY = 829, + ERR_ITEM_IS_BATTLE_PAY_LOCKED = 830, + ERR_PARTY_ALREADY_IN_BATTLEGROUND_QUEUE = 831, + ERR_PARTY_CONFIRMING_BATTLEGROUND_QUEUE = 832, + ERR_BATTLEFIELD_TEAM_PARTY_SIZE = 833, + ERR_INSUFF_TRACKED_CURRENCY_IS = 834, + ERR_NOT_ON_TOURNAMENT_REALM = 835, + ERR_GUILD_TRIAL_ACCOUNT_TRIAL = 836, + ERR_GUILD_TRIAL_ACCOUNT_VETERAN = 837, + ERR_GUILD_UNDELETABLE_DUE_TO_LEVEL = 838, + ERR_CANT_DO_THAT_IN_A_GROUP = 839, + ERR_GUILD_LEADER_REPLACED = 840, + ERR_TRANSMOGRIFY_CANT_EQUIP = 841, + ERR_TRANSMOGRIFY_INVALID_ITEM_TYPE = 842, + ERR_TRANSMOGRIFY_NOT_SOULBOUND = 843, + ERR_TRANSMOGRIFY_INVALID_SOURCE = 844, + ERR_TRANSMOGRIFY_INVALID_DESTINATION = 845, + ERR_TRANSMOGRIFY_MISMATCH = 846, + ERR_TRANSMOGRIFY_LEGENDARY = 847, + ERR_TRANSMOGRIFY_SAME_ITEM = 848, + ERR_TRANSMOGRIFY_SAME_APPEARANCE = 849, + ERR_TRANSMOGRIFY_NOT_EQUIPPED = 850, + ERR_VOID_DEPOSIT_FULL = 851, + ERR_VOID_WITHDRAW_FULL = 852, + ERR_VOID_STORAGE_WRAPPED = 853, + ERR_VOID_STORAGE_STACKABLE = 854, + ERR_VOID_STORAGE_UNBOUND = 855, + ERR_VOID_STORAGE_REPAIR = 856, + ERR_VOID_STORAGE_CHARGES = 857, + ERR_VOID_STORAGE_QUEST = 858, + ERR_VOID_STORAGE_CONJURED = 859, + ERR_VOID_STORAGE_MAIL = 860, + ERR_VOID_STORAGE_BAG = 861, + ERR_VOID_TRANSFER_STORAGE_FULL = 862, + ERR_VOID_TRANSFER_INV_FULL = 863, + ERR_VOID_TRANSFER_INTERNAL_ERROR = 864, + ERR_VOID_TRANSFER_ITEM_INVALID = 865, + ERR_DIFFICULTY_DISABLED_IN_LFG = 866, + ERR_VOID_STORAGE_UNIQUE = 867, + ERR_VOID_STORAGE_LOOT = 868, + ERR_VOID_STORAGE_HOLIDAY = 869, + ERR_VOID_STORAGE_DURATION = 870, + ERR_VOID_STORAGE_LOAD_FAILED = 871, + ERR_VOID_STORAGE_INVALID_ITEM = 872, + ERR_PARENTAL_CONTROLS_CHAT_MUTED = 873, + ERR_SOR_START_EXPERIENCE_INCOMPLETE = 874, + ERR_SOR_INVALID_EMAIL = 875, + ERR_SOR_INVALID_COMMENT = 876, + ERR_CHALLENGE_MODE_RESET_COOLDOWN_S = 877, + ERR_CHALLENGE_MODE_RESET_KEYSTONE = 878, + ERR_PET_JOURNAL_ALREADY_IN_LOADOUT = 879, + ERR_REPORT_SUBMITTED_SUCCESSFULLY = 880, + ERR_REPORT_SUBMISSION_FAILED = 881, + ERR_SUGGESTION_SUBMITTED_SUCCESSFULLY = 882, + ERR_BUG_SUBMITTED_SUCCESSFULLY = 883, + ERR_CHALLENGE_MODE_ENABLED = 884, + ERR_CHALLENGE_MODE_DISABLED = 885, + ERR_PETBATTLE_CREATE_FAILED = 886, + ERR_PETBATTLE_NOT_HERE = 887, + ERR_PETBATTLE_NOT_HERE_ON_TRANSPORT = 888, + ERR_PETBATTLE_NOT_HERE_UNEVEN_GROUND = 889, + ERR_PETBATTLE_NOT_HERE_OBSTRUCTED = 890, + ERR_PETBATTLE_NOT_WHILE_IN_COMBAT = 891, + ERR_PETBATTLE_NOT_WHILE_DEAD = 892, + ERR_PETBATTLE_NOT_WHILE_FLYING = 893, + ERR_PETBATTLE_TARGET_INVALID = 894, + ERR_PETBATTLE_TARGET_OUT_OF_RANGE = 895, + ERR_PETBATTLE_TARGET_NOT_CAPTURABLE = 896, + ERR_PETBATTLE_NOT_A_TRAINER = 897, + ERR_PETBATTLE_DECLINED = 898, + ERR_PETBATTLE_IN_BATTLE = 899, + ERR_PETBATTLE_INVALID_LOADOUT = 900, + ERR_PETBATTLE_ALL_PETS_DEAD = 901, + ERR_PETBATTLE_NO_PETS_IN_SLOTS = 902, + ERR_PETBATTLE_NO_ACCOUNT_LOCK = 903, + ERR_PETBATTLE_WILD_PET_TAPPED = 904, + ERR_PETBATTLE_RESTRICTED_ACCOUNT = 905, + ERR_PETBATTLE_OPPONENT_NOT_AVAILABLE = 906, + ERR_PETBATTLE_NOT_WHILE_IN_MATCHED_BATTLE = 907, + ERR_CANT_HAVE_MORE_PETS_OF_THAT_TYPE = 908, + ERR_CANT_HAVE_MORE_PETS = 909, + ERR_PVP_MAP_NOT_FOUND = 910, + ERR_PVP_MAP_NOT_SET = 911, + ERR_PETBATTLE_QUEUE_QUEUED = 912, + ERR_PETBATTLE_QUEUE_ALREADY_QUEUED = 913, + ERR_PETBATTLE_QUEUE_JOIN_FAILED = 914, + ERR_PETBATTLE_QUEUE_JOURNAL_LOCK = 915, + ERR_PETBATTLE_QUEUE_REMOVED = 916, + ERR_PETBATTLE_QUEUE_PROPOSAL_DECLINED = 917, + ERR_PETBATTLE_QUEUE_PROPOSAL_TIMEOUT = 918, + ERR_PETBATTLE_QUEUE_OPPONENT_DECLINED = 919, + ERR_PETBATTLE_QUEUE_REQUEUED_INTERNAL = 920, + ERR_PETBATTLE_QUEUE_REQUEUED_REMOVED = 921, + ERR_PETBATTLE_QUEUE_SLOT_LOCKED = 922, + ERR_PETBATTLE_QUEUE_SLOT_EMPTY = 923, + ERR_PETBATTLE_QUEUE_SLOT_NO_TRACKER = 924, + ERR_PETBATTLE_QUEUE_SLOT_NO_SPECIES = 925, + ERR_PETBATTLE_QUEUE_SLOT_CANT_BATTLE = 926, + ERR_PETBATTLE_QUEUE_SLOT_REVOKED = 927, + ERR_PETBATTLE_QUEUE_SLOT_DEAD = 928, + ERR_PETBATTLE_QUEUE_SLOT_NO_PET = 929, + ERR_PETBATTLE_QUEUE_NOT_WHILE_NEUTRAL = 930, + ERR_PETBATTLE_GAME_TIME_LIMIT_WARNING = 931, + ERR_PETBATTLE_GAME_ROUNDS_LIMIT_WARNING = 932, + ERR_HAS_RESTRICTION = 933, + ERR_ITEM_UPGRADE_ITEM_TOO_LOW_LEVEL = 934, + ERR_ITEM_UPGRADE_NO_PATH = 935, + ERR_ITEM_UPGRADE_NO_MORE_UPGRADES = 936, + ERR_BONUS_ROLL_EMPTY = 937, + ERR_CHALLENGE_MODE_FULL = 938, + ERR_CHALLENGE_MODE_IN_PROGRESS = 939, + ERR_CHALLENGE_MODE_INCORRECT_KEYSTONE = 940, + ERR_BATTLETAG_FRIEND_NOT_FOUND = 941, + ERR_BATTLETAG_FRIEND_NOT_VALID = 942, + ERR_BATTLETAG_FRIEND_NOT_ALLOWED = 943, + ERR_BATTLETAG_FRIEND_THROTTLED = 944, + ERR_BATTLETAG_FRIEND_SUCCESS = 945, + ERR_PET_TOO_HIGH_LEVEL_TO_UNCAGE = 946, + ERR_PETBATTLE_INTERNAL = 947, + ERR_CANT_CAGE_PET_YET = 948, + ERR_NO_LOOT_IN_CHALLENGE_MODE = 949, + ERR_QUEST_PET_BATTLE_VICTORIES_PVP_II = 950, + ERR_ROLE_CHECK_ALREADY_IN_PROGRESS = 951, + ERR_RECRUIT_A_FRIEND_ACCOUNT_LIMIT = 952, + ERR_RECRUIT_A_FRIEND_FAILED = 953, + ERR_SET_LOOT_PERSONAL = 954, + ERR_SET_LOOT_METHOD_FAILED_COMBAT = 955, + ERR_REAGENT_BANK_FULL = 956, + ERR_REAGENT_BANK_LOCKED = 957, + ERR_GARRISON_BUILDING_EXISTS = 958, + ERR_GARRISON_INVALID_PLOT = 959, + ERR_GARRISON_INVALID_BUILDINGID = 960, + ERR_GARRISON_INVALID_PLOT_BUILDING = 961, + ERR_GARRISON_REQUIRES_BLUEPRINT = 962, + ERR_GARRISON_NOT_ENOUGH_CURRENCY = 963, + ERR_GARRISON_NOT_ENOUGH_GOLD = 964, + ERR_GARRISON_COMPLETE_MISSION_WRONG_FOLLOWER_TYPE = 965, + ERR_ALREADY_USING_LFG_LIST = 966, + ERR_RESTRICTED_ACCOUNT_LFG_LIST_TRIAL = 967, + ERR_TOY_USE_LIMIT_REACHED = 968, + ERR_TOY_ALREADY_KNOWN = 969, + ERR_TRANSMOG_SET_ALREADY_KNOWN = 970, + ERR_NOT_ENOUGH_CURRENCY = 971, + ERR_SPEC_IS_DISABLED = 972, + ERR_FEATURE_RESTRICTED_TRIAL = 973, + ERR_CANT_BE_OBLITERATED = 974, + ERR_CANT_BE_SCRAPPED = 975, + ERR_ARTIFACT_RELIC_DOES_NOT_MATCH_ARTIFACT = 976, + ERR_MUST_EQUIP_ARTIFACT = 977, + ERR_CANT_DO_THAT_RIGHT_NOW = 978, + ERR_AFFECTING_COMBAT = 979, + ERR_EQUIPMENT_MANAGER_COMBAT_SWAP_S = 980, + ERR_EQUIPMENT_MANAGER_BAGS_FULL = 981, + ERR_EQUIPMENT_MANAGER_MISSING_ITEM_S = 982, + ERR_MOVIE_RECORDING_WARNING_PERF = 983, + ERR_MOVIE_RECORDING_WARNING_DISK_FULL = 984, + ERR_MOVIE_RECORDING_WARNING_NO_MOVIE = 985, + ERR_MOVIE_RECORDING_WARNING_REQUIREMENTS = 986, + ERR_MOVIE_RECORDING_WARNING_COMPRESSING = 987, + ERR_NO_CHALLENGE_MODE_REWARD = 988, + ERR_CLAIMED_CHALLENGE_MODE_REWARD = 989, + ERR_CHALLENGE_MODE_PERIOD_RESET_SS = 990, + ERR_CANT_DO_THAT_CHALLENGE_MODE_ACTIVE = 991, + ERR_TALENT_FAILED_REST_AREA = 992, + ERR_CANNOT_ABANDON_LAST_PET = 993, + ERR_TEST_CVAR_SET_SSS = 994, + ERR_QUEST_TURN_IN_FAIL_REASON = 995, + ERR_CLAIMED_CHALLENGE_MODE_REWARD_OLD = 996, + ERR_TALENT_GRANTED_BY_AURA = 997, + ERR_CHALLENGE_MODE_ALREADY_COMPLETE = 998, + ERR_GLYPH_TARGET_NOT_AVAILABLE = 999, + ERR_PVP_WARMODE_TOGGLE_ON = 1000, + ERR_PVP_WARMODE_TOGGLE_OFF = 1001, + ERR_SPELL_FAILED_LEVEL_REQUIREMENT = 1002, + ERR_BATTLEGROUND_JOIN_REQUIRES_LEVEL = 1003, + ERR_BATTLEGROUND_JOIN_DISQUALIFIED = 1004, + ERR_VOICE_CHAT_GENERIC_UNABLE_TO_CONNECT = 1005, + ERR_VOICE_CHAT_SERVICE_LOST = 1006, + ERR_VOICE_CHAT_CHANNEL_NAME_TOO_SHORT = 1007, + ERR_VOICE_CHAT_CHANNEL_NAME_TOO_LONG = 1008, + ERR_VOICE_CHAT_CHANNEL_ALREADY_EXISTS = 1009, + ERR_VOICE_CHAT_TARGET_NOT_FOUND = 1010, + ERR_VOICE_CHAT_TOO_MANY_REQUESTS = 1011, + ERR_VOICE_CHAT_PLAYER_SILENCED = 1012, + ERR_VOICE_CHAT_PARENTAL_DISABLE_ALL = 1013, + ERR_VOICE_CHAT_DISABLED = 1014, + ERR_NO_PVP_REWARD = 1015, + ERR_CLAIMED_PVP_REWARD = 1016, + ERR_AZERITE_ESSENCE_SELECTION_FAILED_ESSENCE_NOT_UNLOCKED = 1017, + ERR_AZERITE_ESSENCE_SELECTION_FAILED_CANT_REMOVE_ESSENCE = 1018, + ERR_AZERITE_ESSENCE_SELECTION_FAILED_CONDITION_FAILED = 1019, + ERR_AZERITE_ESSENCE_SELECTION_FAILED_REST_AREA = 1020, + ERR_AZERITE_ESSENCE_SELECTION_FAILED_SLOT_LOCKED = 1021, + ERR_AZERITE_ESSENCE_SELECTION_FAILED_NOT_AT_FORGE = 1022, + ERR_AZERITE_ESSENCE_SELECTION_FAILED_HEART_LEVEL_TOO_LOW = 1023, + ERR_AZERITE_ESSENCE_SELECTION_FAILED_NOT_EQUIPPED = 1024, + ERR_SOCKETING_REQUIRES_PUNCHCARDRED_GEM = 1025, + ERR_SOCKETING_PUNCHCARDRED_GEM_ONLY_IN_PUNCHCARDREDSLOT = 1026, + ERR_SOCKETING_REQUIRES_PUNCHCARDYELLOW_GEM = 1027, + ERR_SOCKETING_PUNCHCARDYELLOW_GEM_ONLY_IN_PUNCHCARDYELLOWSLOT = 1028, + ERR_SOCKETING_REQUIRES_PUNCHCARDBLUE_GEM = 1029, + ERR_SOCKETING_PUNCHCARDBLUE_GEM_ONLY_IN_PUNCHCARDBLUESLOT = 1030, }; #endif diff --git a/src/server/game/Spells/SpellInfo.cpp b/src/server/game/Spells/SpellInfo.cpp index 3790ddb30de..f643d7b3a2f 100644 --- a/src/server/game/Spells/SpellInfo.cpp +++ b/src/server/game/Spells/SpellInfo.cpp @@ -541,13 +541,13 @@ int32 SpellEffectInfo::CalcBaseValue(Unit const* caster, Unit const* target, int if (_spellInfo->Scaling.ScalesFromItemLevel) effectiveItemLevel = _spellInfo->Scaling.ScalesFromItemLevel; - if (_spellInfo->Scaling.Class == -8) + if (_spellInfo->Scaling.Class == -8 || _spellInfo->Scaling.Class == -9) { RandPropPointsEntry const* randPropPoints = sRandPropPointsStore.LookupEntry(effectiveItemLevel); if (!randPropPoints) randPropPoints = sRandPropPointsStore.AssertEntry(sRandPropPointsStore.GetNumRows() - 1); - value = randPropPoints->DamageReplaceStat; + value = _spellInfo->Scaling.Class == -8 ? randPropPoints->DamageReplaceStat : randPropPoints->DamageSecondary; } else value = GetRandomPropertyPoints(effectiveItemLevel, ITEM_QUALITY_RARE, INVTYPE_CHEST, 0); @@ -579,8 +579,13 @@ int32 SpellEffectInfo::CalcBaseValue(Unit const* caster, Unit const* target, int stat = ExpectedStatType::CreatureAutoAttackDps; // TODO - add expansion and content tuning id args? + uint32 contentTuningId = _spellInfo->ContentTuningId; // content tuning should be passed as arg, the one stored in SpellInfo is fallback + int32 expansion = -2; + if (ContentTuningEntry const* contentTuning = sContentTuningStore.LookupEntry(contentTuningId)) + expansion = contentTuning->ExpansionID; + int32 level = caster ? int32(caster->getLevel()) : 1; - value = sDB2Manager.EvaluateExpectedStat(stat, level, -2, 0, CLASS_NONE) * BasePoints / 100.0f; + value = sDB2Manager.EvaluateExpectedStat(stat, level, expansion, 0, CLASS_NONE) * BasePoints / 100.0f; } return int32(round(value)); @@ -1078,6 +1083,7 @@ SpellInfo::SpellInfo(SpellInfoLoadHelper const& data, SpellEffectEntryMap const& AttributesCu = 0; IconFileDataId = _misc ? _misc->SpellIconFileDataID : 0; ActiveIconFileDataId = _misc ? _misc->ActiveIconFileDataID : 0; + ContentTuningId = _misc ? _misc->ContentTuningID : 0; _visuals = std::move(visuals); // sort all visuals so that the ones without a condition requirement are last on the list diff --git a/src/server/game/Spells/SpellInfo.h b/src/server/game/Spells/SpellInfo.h index 1194c303b50..3aec2be72d5 100644 --- a/src/server/game/Spells/SpellInfo.h +++ b/src/server/game/Spells/SpellInfo.h @@ -494,6 +494,7 @@ class TC_GAME_API SpellInfo uint32 TotemCategory[MAX_SPELL_TOTEMS]; uint32 IconFileDataId; uint32 ActiveIconFileDataId; + uint32 ContentTuningId; LocalizedString const* SpellName; float ConeAngle; float Width; diff --git a/src/tools/map_extractor/loadlib/DBFilesClientList.h b/src/tools/map_extractor/loadlib/DBFilesClientList.h index 18116d7ab8a..dae88cf4b28 100644 --- a/src/tools/map_extractor/loadlib/DBFilesClientList.h +++ b/src/tools/map_extractor/loadlib/DBFilesClientList.h @@ -71,6 +71,8 @@ DB2FileInfo const DBFilesClientList[] = { 1094540, "ArtifactUnlock.db2" }, { 1237439, "AuctionHouse.db2" }, { 1846046, "AzeriteEmpoweredItem.db2" }, + { 2829665, "AzeriteEssence.db2" }, + { 2829666, "AzeriteEssencePower.db2" }, { 1846048, "AzeriteItem.db2" }, { 1915395, "AzeriteItemMilestonePower.db2" }, { 1846044, "AzeritePower.db2" }, @@ -116,6 +118,7 @@ DB2FileInfo const DBFilesClientList[] = { 1068162, "Cfg_Categories.db2" }, { 1080949, "Cfg_Configs.db2" }, { 1082876, "Cfg_Regions.db2" }, + { 2965645, "ChallengeModeItemBonusOverride.db2" }, { 1343386, "CharBaseInfo.db2" }, { 1375798, "CharBaseSection.db2" }, { 1360262, "CharComponentTextureLayouts.db2" }, @@ -159,6 +162,7 @@ DB2FileInfo const DBFilesClientList[] = { 1278239, "ComponentTextureFileData.db2" }, { 1709409, "ConfigurationWarning.db2" }, { 1962930, "ContentTuning.db2" }, + { 2976765, "ContentTuningXExpected.db2" }, { 1587153, "Contribution.db2" }, { 2143633, "ContributionStyle.db2" }, { 2143634, "ContributionStyleContainer.db2" }, @@ -222,6 +226,7 @@ DB2FileInfo const DBFilesClientList[] = { 1278177, "GMSurveyCurrentSurvey.db2" }, { 1278178, "GMSurveyQuestions.db2" }, { 1283020, "GMSurveySurveys.db2" }, + { 2922072, "GameClockDebug.db2" }, { 1266737, "GameObjectArtKit.db2" }, { 1302847, "GameObjectDiffAnimMap.db2" }, { 1266277, "GameObjectDisplayInfo.db2" }, @@ -288,6 +293,11 @@ DB2FileInfo const DBFilesClientList[] = { 1286525, "GuildColorEmblem.db2" }, { 2734754, "GuildEmblem.db2" }, { 1135238, "GuildPerkSpells.db2" }, + { 2921008, "GuildShirtBackground.db2" }, + { 2921475, "GuildShirtBorder.db2" }, + { 2909769, "GuildTabardBackground.db2" }, + { 2920485, "GuildTabardBorder.db2" }, + { 2910470, "GuildTabardEmblem.db2" }, { 1097696, "Heirloom.db2" }, { 1348283, "HelmetAnimScaling.db2" }, { 2821752, "HelmetGeosetData.db2" }, @@ -309,7 +319,10 @@ DB2FileInfo const DBFilesClientList[] = { 1283022, "ItemArmorTotal.db2" }, { 1278179, "ItemBagFamily.db2" }, { 959070, "ItemBonus.db2" }, + { 3025306, "ItemBonusListGroupEntry.db2" }, { 1320358, "ItemBonusListLevelDelta.db2" }, + { 2924997, "ItemBonusListWarforgeLevelDelta.db2" }, + { 3026822, "ItemBonusSequenceSpell.db2" }, { 987134, "ItemBonusTreeNode.db2" }, { 1247926, "ItemChildEquipment.db2" }, { 1140189, "ItemClass.db2" }, @@ -379,6 +392,7 @@ DB2FileInfo const DBFilesClientList[] = { 1308058, "LiquidObject.db2" }, { 1371380, "LiquidType.db2" }, { 2261065, "LiquidTypeXTexture.db2" }, + { 2478235, "LoadingScreenSkin.db2" }, { 1302239, "LoadingScreenTaxiSplines.db2" }, { 1266541, "LoadingScreens.db2" }, { 801706, "Locale.db2" }, @@ -411,6 +425,7 @@ DB2FileInfo const DBFilesClientList[] = { 1267645, "ModifierTree.db2" }, { 921760, "Mount.db2" }, { 1114709, "MountCapability.db2" }, + { 2923510, "MountEquipment.db2" }, { 1114715, "MountTypeXCapability.db2" }, { 1576117, "MountXDisplay.db2" }, { 1332556, "Movie.db2" }, @@ -438,6 +453,10 @@ DB2FileInfo const DBFilesClientList[] = { 1394275, "PVPBracketTypes.db2" }, { 1339820, "PVPDifficulty.db2" }, { 972287, "PVPItem.db2" }, + { 2992916, "PVPScoreboardCellInfo.db2" }, + { 2992917, "PVPScoreboardColumnHeader.db2" }, + { 2992918, "PVPScoreboardLayout.db2" }, + { 2992919, "PVPStat.db2" }, { 1271600, "PageTextMaterial.db2" }, { 1252503, "PaperDollItemFrame.db2" }, { 1581183, "ParagonReputation.db2" }, @@ -458,8 +477,10 @@ DB2FileInfo const DBFilesClientList[] = { 1332557, "PowerDisplay.db2" }, { 1266022, "PowerType.db2" }, { 1275869, "PrestigeLevelInfo.db2" }, + { 1585723, "PvpBrawl.db2" }, { 1591100, "PvpScalingEffect.db2" }, { 1591098, "PvpScalingEffectType.db2" }, + { 2966426, "PvpSeason.db2" }, { 2470695, "PvpSeasonRewardLevels.db2" }, { 1302853, "PvpTalent.db2" }, { 1891534, "PvpTalentCategory.db2" }, @@ -494,6 +515,7 @@ DB2FileInfo const DBFilesClientList[] = { 1398908, "RibbonQuality.db2" }, { 801749, "RulesetItemUpgrade.db2" }, { 1712172, "SDReplacementModel.db2" }, + { 2056369, "SSAOSettings.db2" }, { 1141728, "ScalingStatDistribution.db2" }, { 1139062, "Scenario.db2" }, { 1141065, "ScenarioEventEntry.db2" }, @@ -706,7 +728,6 @@ DB2FileInfo const DBFilesClientList[] = { 1957212, "WorldMapOverlayTile.db2" }, { 1369425, "WorldSafeLocs.db2" }, { 1332558, "WorldStateExpression.db2" }, - { 1343596, "WorldStateUI.db2" }, { 1266941, "WorldStateZoneSounds.db2" }, { 1310255, "World_PVP_Area.db2" }, { 1310251, "ZoneIntroMusicTable.db2" }, |