/* * Copyright (C) 2012-2018 CypherCore * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ using System; namespace Framework.Constants { public class SharedConst { /// /// CliDB Const /// public const int GTMaxLevel = 100; // All Gt* DBC store data for 100 levels, some by 100 per class/race public const int GTMaxRating = 32; // gtOCTClassCombatRatingScalar.dbc stores data for 32 ratings, look at MAX_COMBAT_RATING for real used amount public const int ReputationCap = 42999; public const int ReputationBottom = -42000; public const int MaxMailItems = 12; public const int MaxDeclinedNameCases = 5; public const int MaxHolidayDurations = 10; public const int MaxHolidayDates = 16; public const int MaxHolidayFlags = 10; public const int DefaultMaxLevel = 110; public const int MaxLevel = 110; public const int StrongMaxLevel = 255; public const int MaxOverrideSpell = 10; public const int MaxWorldMapOverlayArea = 4; public const int MaxMountCapabilities = 24; public const int MaxLockCase = 8; /// /// BattlePets Const /// public const int MaxPetBattleSlots = 3; public const int MaxBattlePetsPerSpecies = 3; public const int BattlePetCageItemId = 82800; public const int DefaultSummonBattlePetSpell = 118301; /// /// Lfg Const /// public const uint LFGTimeRolecheck = 45; public const uint LFGTimeBoot = 120; public const uint LFGTimeProposal = 45; public const uint LFGQueueUpdateInterval = 15 * Time.InMilliseconds; public const uint LFGSpellDungeonCooldown = 71328; public const uint LFGSpellDungeonDeserter = 71041; public const uint LFGSpellLuckOfTheDraw = 72221; public const uint LFGKickVotesNeeded = 3; public const byte LFGMaxKicks = 3; public const int LFGTanksNeeded = 1; public const int LFGHealersNeeded = 1; public const int LFGDPSNeeded = 3; /// /// Loot Const /// public const int MaxNRLootItems = 16; public const int MaxNRQuestItems = 32; /// /// Movement Const /// public const double gravity = 19.29110527038574; public const float terminalVelocity = 60.148003f; public const float terminalSafefallVelocity = 7.0f; public const float terminal_length = (float)((terminalVelocity * terminalVelocity) / (2.0f * gravity)); public const float terminal_safeFall_length = (float)((terminalSafefallVelocity * terminalSafefallVelocity) / (2.0f * gravity)); public const float terminal_fallTime = (float)(terminalVelocity / gravity); // the time that needed to reach terminalVelocity public const float terminal_safeFall_fallTime = (float)(terminalSafefallVelocity / gravity); // the time that needed to reach terminalVelocity with safefall /// /// Vehicle Const /// public const int MaxSpellVehicle = 6; public const int VehicleSpellRideHardcoded = 46598; public const int VehicleSpellParachute = 45472; /// /// Quest Const /// public const int MaxQuestLogSize = 25; public const int MaxQuestCounts = 24; public const int QuestItemDropCount = 4; public const int QuestRewardChoicesCount = 6; public const int QuestRewardItemCount = 4; public const int QuestDeplinkCount = 10; public const int QuestRewardReputationsCount = 5; public const int QuestEmoteCount = 4; public const int QuestRewardCurrencyCount = 4; public const int QuestRewardDisplaySpellCount = 3; /// /// Smart AI Const /// public const int SmartEventParamCount = 4; public const int SmartActionParamCount = 6; public const uint SmartSummonCounter = 0xFFFFFF; public const uint SmartEscortTargets = 0xFFFFFF; /// /// BGs / Arena Const /// public const int BGTeamsCount = 2; public const uint CountOfPlayersToAverageWaitTime = 10; public const uint MaxPlayerBGQueues = 2; public const uint BGAwardArenaPointsMinLevel = 71; public const int ArenaTimeLimitPointsLoss = -16; public const int MaxArenaSlot = 3; /// /// Void Storage Const /// public const uint VoidStorageUnlockCost = 100 * MoneyConstants.Gold; public const uint VoidStorageStoreItemCost = 10 * MoneyConstants.Gold; public const uint VoidStorageMaxDeposit = 9; public const uint VoidStorageMaxWithdraw = 9; public const byte VoidStorageMaxSlot = 160; /// /// Misc Const /// public const uint CalendarMaxInvites = 100; public const uint CalendarDefaultResponseTime = 946684800; // 01/01/2000 00:00:00 public const LocaleConstant DefaultLocale = LocaleConstant.enUS; public const int MaxAccountTutorialValues = 8; public const int MinAuctionTime = (12 * Time.Hour); public const int MaxConditionTargets = 3; /// /// Unit Const /// public const float BaseMinDamage = 1.0f; public const float BaseMaxDamage = 2.0f; public const int BaseAttackTime = 2000; public const int MaxSummonSlot = 7; public const int MaxTotemSlot = 5; public const int MaxGameObjectSlot = 4; public const float MaxAggroRadius = 45.0f; // yards public const int MaxAggroResetTime = 10; public const int MaxVehicleSeats = 8; public const int AttackDisplayDelay = 200; public const float MaxPlayerStealthDetectRange = 30.0f; // max distance for detection targets by player public const uint MaxEquipmentItems = 3; /// /// Creature Const /// public const int MaxGossipMenuItems = 64; // client supported items unknown, but provided number must be enough public const int DefaultGossipMessage = 0xFFFFFF; public const int MaxGossipTextEmotes = 3; public const int MaxNpcTextOptions = 8; public const int MaxCreatureBaseHp = 4; public const int MaxCreatureSpells = 8; public const byte MaxVendorItems = 150; public const int CreatureAttackRangeZ = 3; public const int MaxCreatureKillCredit = 2; public const int MaxCreatureDifficulties = 3; public const int MaxCreatureSpellDataSlots = 4; public const int MaxCreatureNames = 4; public const int MaxCreatureModelIds = 4; public const int MaxTrainerspellAbilityReqs = 3; public const int CreatureRegenInterval = 2 * Time.InMilliseconds; public const int CreatureNoPathEvadeTime = 5 * Time.InMilliseconds; public const int PetFocusRegenInterval = 4 * Time.InMilliseconds; public const int BoundaryVisualizeCreature = 15425; public const float BoundaryVisualizeCreatureScale = 0.25f; public const int BoundaryVisualizeStepSize = 1; public const int BoundaryVisualizeFailsafeLimit = 750; public const int BoundaryVisualizeSpawnHeight = 5; /// /// GameObject Const /// public const int MaxGOData = 33; public const uint MaxTransportStopFrames = 9; /// /// AreaTrigger Const /// public const int MaxAreatriggerEntityData = 6; public const int MaxAreatriggerScale = 7; /// /// Pet Const /// public const int MaxPetStables = 4; public const float PetFollowDist = 1.0f; public const float PetFollowAngle = MathFunctions.PiOver2; public const int MaxSpellCharm = 4; public const int ActionBarIndexStart = 0; public const byte ActionBarIndexPetSpellStart = 3; public const int ActionBarIndexPetSpellEnd = 7; public const int ActionBarIndexEnd = 10; public const int MaxSpellControlBar = 10; public const int MaxPetTalentRank = 3; public const int ActionBarIndexMax = (ActionBarIndexEnd - ActionBarIndexStart); /// /// Object Const /// public const float DefaultWorldObjectSize = 0.388999998569489f; // player size, also currently used (correctly?) for any non Unit world objects public const float AttackDistance = 5.0f; public const float DefaultCombatReach = 1.5f; public const float MinMeleeReach = 2.0f; public const float NominalMeleeRange = 5.0f; public const float MeleeRange = NominalMeleeRange - MinMeleeReach * 2; //center to center for players public const float InspectDistance = 28.0f; public const float ContactDistance = 0.5f; public const float InteractionDistance = 5.0f; public const float MaxVisibilityDistance = MapConst.SizeofGrids; // max distance for visible objects public const float SightRangeUnit = 50.0f; public const float DefaultVisibilityDistance = 90.0f; // default visible distance, 90 yards on continents public const float DefaultVisibilityInstance = 170.0f; // default visible distance in instances, 170 yards public const float DefaultVisibilityBGAreans = 533.0f; // default visible distance in BG/Arenas, roughly 533 yards public const int DefaultVisibilityNotifyPeriod = 1000; public const int WorldTrigger = 12999; public static float[] baseMoveSpeed = { 2.5f, // MOVE_WALK 7.0f, // MOVE_RUN 4.5f, // MOVE_RUN_BACK 4.722222f, // MOVE_SWIM 2.5f, // MOVE_SWIM_BACK 3.141594f, // MOVE_TURN_RATE 7.0f, // MOVE_FLIGHT 4.5f, // MOVE_FLIGHT_BACK 3.14f // MOVE_PITCH_RATE }; public static float[] playerBaseMoveSpeed = { 2.5f, // MOVE_WALK 7.0f, // MOVE_RUN 4.5f, // MOVE_RUN_BACK 4.722222f, // MOVE_SWIM 2.5f, // MOVE_SWIM_BACK 3.141594f, // MOVE_TURN_RATE 7.0f, // MOVE_FLIGHT 4.5f, // MOVE_FLIGHT_BACK 3.14f // MOVE_PITCH_RATE }; //Todo move these else where /// /// Method Const /// public static SpellSchools GetFirstSchoolInMask(SpellSchoolMask mask) { for (SpellSchools i = 0; i < SpellSchools.Max; ++i) if (mask.HasAnyFlag((SpellSchoolMask)(1 << (int)i))) return i; return SpellSchools.Normal; } public static SkillType SkillByQuestSort(int sort) { switch ((QuestSort)sort) { case QuestSort.Herbalism: return SkillType.Herbalism; case QuestSort.Fishing: return SkillType.Fishing; case QuestSort.Blacksmithing: return SkillType.Blacksmithing; case QuestSort.Alchemy: return SkillType.Alchemy; case QuestSort.Leatherworking: return SkillType.Leatherworking; case QuestSort.Engineering: return SkillType.Engineering; case QuestSort.Tailoring: return SkillType.Tailoring; case QuestSort.Cooking: return SkillType.Cooking; case QuestSort.FirstAid: return SkillType.FirstAid; case QuestSort.Jewelcrafting: return SkillType.Jewelcrafting; case QuestSort.Inscription: return SkillType.Inscription; case QuestSort.Archaeology: return SkillType.Archaeology; } return SkillType.None; } public static SkillType SkillByLockType(LockType locktype) { switch (locktype) { case LockType.Herbalism: return SkillType.Herbalism; case LockType.Mining: return SkillType.Mining; case LockType.Fishing: return SkillType.Fishing; case LockType.Inscription: return SkillType.Inscription; case LockType.Archaelogy: return SkillType.Archaeology; case LockType.LumberMill: return SkillType.Logging; } return SkillType.None; } } public enum LocaleConstant { enUS = 0, koKR = 1, frFR = 2, deDE = 3, zhCN = 4, zhTW = 5, esES = 6, esMX = 7, ruRU = 8, None = 9, ptBR = 10, itIT = 11, Total = 12, Max = 11, OldTotal = 9// @todo convert in simple system } public enum ComparisionType { EQ = 0, High, Low, HighEQ, LowEQ, Max } public enum XPColorChar { Red, Orange, Yellow, Green, Gray } public enum ContentLevels { Content_1_60 = 0, Content_61_70 = 1, Content_71_80 = 2, Content_81_85 = 3, Max } public struct TeamId { public const int Alliance = 0; public const int Horde = 1; public const int Neutral = 2; } public enum Team { Horde = 67, Alliance = 469, //TEAM_STEAMWHEEDLE_CARTEL = 169, // not used in code //TEAM_ALLIANCE_FORCES = 891, //TEAM_HORDE_FORCES = 892, //TEAM_SANCTUARY = 936, //TEAM_OUTLAND = 980, Other = 0 // if ReputationListId > 0 && Flags != FACTION_FLAG_TEAM_HEADER } public enum FactionMasks { Player = 1, // any player Alliance = 2, // player or creature from alliance team Horde = 4, // player or creature from horde team Monster = 8 // aggressive creature from monster team // if none flags set then non-aggressive creature } public enum FactionTemplateFlags { EnemySpar = 0x20, // guessed, sparring with enemies? PVP = 0x800, // flagged for PvP ContestedGuard = 0x1000, // faction will attack players that were involved in PvP combats HostileByDefault = 0x2000 } public enum ReputationRank { None = -1, Hated = 0, Hostile = 1, Unfriendly = 2, Neutral = 3, Friendly = 4, Honored = 5, Revered = 6, Exalted = 7, Max = 8, Min = Hated } public enum ReputationSource { Kill, Quest, DailyQuest, WeeklyQuest, MonthlyQuest, RepeatableQuest, Spell } public enum FactionFlags { None = 0x00, // no faction flag Visible = 0x01, // makes visible in client (set or can be set at interaction with target of this faction) AtWar = 0x02, // enable AtWar-button in client. player controlled (except opposition team always war state), Flag only set on initial creation Hidden = 0x04, // hidden faction from reputation pane in client (player can gain reputation, but this update not sent to client) InvisibleForced = 0x08, // always overwrite FACTION_FLAG_VISIBLE and hide faction in rep.list, used for hide opposite team factions PeaceForced = 0x10, // always overwrite FACTION_FLAG_AT_WAR, used for prevent war with own team factions Inactive = 0x20, // player controlled, state stored in characters.data (CMSG_SET_FACTION_INACTIVE) Rival = 0x40, // flag for the two competing outland factions Special = 0x80 // horde and alliance home cities and their northrend allies have this flag } public enum Gender : sbyte { Unknown = -1, Male = 0, Female = 1, None = 2 } public enum Class { None = 0, Warrior = 1, Paladin = 2, Hunter = 3, Rogue = 4, Priest = 5, Deathknight = 6, Shaman = 7, Mage = 8, Warlock = 9, Monk = 10, Druid = 11, DemonHunter = 12, Max = 13, ClassMaskAllPlayable = ((1 << (Warrior - 1)) | (1 << (Paladin - 1)) | (1 << (Hunter - 1)) | (1 << (Rogue - 1)) | (1 << (Priest - 1)) | (1 << (Deathknight - 1)) | (1 << (Shaman - 1)) | (1 << (Mage - 1)) | (1 << (Warlock - 1)) | (1 << (Monk - 1)) | (1 << (Druid - 1)) | (1 << (DemonHunter - 1))), ClassMaskAllCreatures = ((1 << (Warrior - 1)) | (1 << (Paladin - 1)) | (1 << (Rogue - 1)) | (1 << (Mage - 1))), ClassMaskWandUsers = ((1 << (Priest - 1)) | (1 << (Mage - 1)) | (1 << (Warlock - 1))) } public enum Race { None = 0, Human = 1, Orc = 2, Dwarf = 3, NightElf = 4, Undead = 5, Tauren = 6, Gnome = 7, Troll = 8, Goblin = 9, BloodElf = 10, Draenei = 11, //FelOrc = 12, //Naga = 13, //Broken = 14, //Skeleton = 15, //Vrykul = 16, //Tuskarr = 17, //ForestTroll = 18, //Taunka = 19, //NorthrendSkeleton = 20, //IceTroll = 21, Worgen = 22, //HumanGilneas = 23, PandarenNeutral = 24, PandarenAlliance = 25, PandarenHorde = 26, Nightborne = 27, HighmountainTauren = 28, VoidElf = 29, LightforgedDraenei = 30, Max = 31, RaceMaskAllPlayable = ((1 << (Human - 1)) | (1 << (Orc - 1)) | (1 << (Dwarf - 1)) | (1 << (NightElf - 1)) | (1 << (Undead - 1)) | (1 << (Tauren - 1)) | (1 << (Gnome - 1)) | (1 << (Troll - 1)) | (1 << (BloodElf - 1)) | (1 << (Draenei - 1)) | (1 << (Goblin - 1)) | (1 << (Worgen - 1)) | (1 << (PandarenNeutral - 1)) | (1 << (PandarenAlliance - 1)) | (1 << (PandarenHorde - 1)) | (1 << (Nightborne - 1)) | (1 << (HighmountainTauren - 1)) | (1 << (VoidElf - 1)) | (1 << (LightforgedDraenei - 1))), RaceMaskAlliance = ((1 << (Human - 1)) | (1 << (Dwarf - 1)) | (1 << (NightElf - 1)) | (1 << (Gnome - 1)) | (1 << (Draenei - 1)) | (1 << (Worgen - 1)) | (1 << (PandarenAlliance - 1)) | (1 << (VoidElf - 1)) | (1<<(LightforgedDraenei - 1))), RaceMaskHorde = RaceMaskAllPlayable & ~RaceMaskAlliance } public enum Expansion { LevelCurrent = -1, Classic = 0, BurningCrusade = 1, WrathOfTheLichKing = 2, Cataclysm = 3, MistsOfPandaria = 4, WarlordsOfDraenor = 5, Legion = 6, Max, // future expansion BattleForAzeroth = 7, MaxAccountExpansions } public enum PowerType : sbyte { Mana = 0, Rage = 1, Focus = 2, Energy = 3, ComboPoints = 4, Runes = 5, RunicPower = 6, SoulShards = 7, LunarPower = 8, HolyPower = 9, AlternatePower = 10, // Used in some quests Maelstrom = 11, Chi = 12, Insanity = 13, BurningEmbers = 14, DemonicFury = 15, ArcaneCharges = 16, Fury = 17, Pain = 18, Max = 19, All = 127, // default for class? Health = -2, // (-2 as signed value) MaxPerClass = 6 } public enum Stats { Strength = 0, Agility = 1, Stamina = 2, Intellect = 3, Max = 4 } public enum TrainerType { None = 0, Talent = 1, Tradeskills = 2, Pets = 3 } public enum TrainerSpellState { Known = 0, Available = 1, Unavailable = 2, } public enum TrainerFailReason { Unavailable = 0, NotEnoughMoney = 1 } public enum ChatMsg : uint { Addon = 0xffffffff, // -1 System = 0x00, Say = 0x01, Party = 0x02, Raid = 0x03, Guild = 0x04, Officer = 0x05, Yell = 0x06, Whisper = 0x07, WhisperForeign = 0x08, WhisperInform = 0x09, Emote = 0x0a, TextEmote = 0x0b, MonsterSay = 0x0c, MonsterParty = 0x0d, MonsterYell = 0x0e, MonsterWhisper = 0x0f, MonsterEmote = 0x10, Channel = 0x11, ChannelJoin = 0x12, ChannelLeave = 0x13, ChannelList = 0x14, ChannelNotice = 0x15, ChannelNoticeUser = 0x16, Afk = 0x17, Dnd = 0x18, Ignored = 0x19, Skill = 0x1a, Loot = 0x1b, Money = 0x1c, Opening = 0x1d, Tradeskills = 0x1e, PetInfo = 0x1f, CombatMiscInfo = 0x20, CombatXpGain = 0x21, CombatHonorGain = 0x22, CombatFactionChange = 0x23, BgSystemNeutral = 0x24, BgSystemAlliance = 0x25, BgSystemHorde = 0x26, RaidLeader = 0x27, RaidWarning = 0x28, RaidBossEmote = 0x29, RaidBossWhisper = 0x2a, Filtered = 0x2b, Restricted = 0x2c, Battlenet = 0x2d, Achievement = 0x2e, GuildAchievement = 0x2f, ArenaPoints = 0x30, PartyLeader = 0x31, Targeticons = 0x32, BnWhisper = 0x33, BnWhisperInform = 0x34, BnConversation = 0x35, BnConversationNotice = 0x36, BnConversationList = 0x37, BnInlineToastAlert = 0x38, BnInlineToastBroadcast = 0x39, BnInlineToastBroadcastInform = 0x3a, BnInlineToastConversation = 0x3b, BnWhisperPlayerOffline = 0x3c, CombatGuildXpGain = 0x3d, Currency = 0x3e, QuestBossEmote = 0x3f, PetBattleCombatLog = 0x40, PetBattleInfo = 0x41, InstanceChat = 0x42, InstanceChatLeader = 0x43, Max = 0x44, } public enum ChatRestrictionType { Restricted = 0, Throttled = 1, Squelched = 2, YellRestricted = 3, RaidRestricted = 4 } public enum Difficulty : byte { None = 0, Normal = 1, Heroic = 2, Raid10N = 3, Raid25N = 4, Raid10HC = 5, Raid25HC = 6, LFR = 7, MythicKeystone = 8, Raid40 = 9, Scenario3ManHC = 11, Scenario3ManN = 12, NormalRaid = 14, HeroicRaid = 15, MythicRaid = 16, LFRNew = 17, EventRaid = 18, EventDungeon = 19, EventScenario = 20, Mythic = 23, Timewalking = 24, WorldPvPScenario = 25, Scenario5ManN = 26, Scenario20ManN = 27, PvEvPScenario = 29, EventScenario6 = 30, WorldPvPScenario2 = 32, TimewalkingRaid = 33, Pvp = 34, Max } public enum DifficultyFlags : byte { Heroic = 0x01, Default = 0x02, CanSelect = 0x04, // Player can select this difficulty in dropdown menu ChallengeMode = 0x08, Legacy = 0x20, DisplayHeroic = 0x40, // Controls icon displayed on minimap when inside the instance DisplayMythic = 0x80 // Controls icon displayed on minimap when inside the instance } public enum SpawnMask { Continent = (1 << Difficulty.None), // Any Maps Without Spawn Modes DungeonNormal = (1 << Difficulty.Normal), DungeonHeroic = (1 << Difficulty.Heroic), DungeonAll = (DungeonNormal | DungeonHeroic), Raid10Normal = (1 << Difficulty.Raid10N), Raid25Normal = (1 << Difficulty.Raid25N), RaidNormalAll = (Raid10Normal | Raid25Normal), Raid10Heroic = (1 << Difficulty.Raid10HC), Raid25Heroic = (1 << Difficulty.Raid25HC), RaidHeroicAll = (Raid10Heroic | Raid25Heroic), RaidAll = (RaidNormalAll | RaidHeroicAll) } public enum MapFlags { CanToggleDifficulty = 0x0100, FlexLocking = 0x8000, // All difficulties share completed encounters lock, not bound to a single instance id // heroic difficulty flag overrides it and uses instance id bind Garrison = 0x4000000 } public enum WorldStates { CurrencyResetTime = 20001, // Next currency reset time WeeklyQuestResetTime = 20002, // Next weekly reset time BGDailyResetTime = 20003, // Next daily BG reset time CleaningFlags = 20004, // Cleaning Flags GuildDailyResetTime = 20006, // Next guild cap reset time MonthlyQuestResetTime = 20007, // Next monthly reset time // Cata specific custom worldstates GuildWeeklyResetTime = 20050, // Next guild week reset time } // values based at Holidays.dbc public enum HolidayIds { None = 0, FireworksSpectacular = 62, FeastOfWinterVeil = 141, NobleGarden = 181, ChildrensWeek = 201, CallToArmsAv = 283, CallToArmsWs = 284, CallToArmsAb = 285, FishingExtravaganza = 301, HarvestFestival = 321, HallowsEnd = 324, LunarFestival = 327, LoveIsInTheAir = 335, FireFestival = 341, CallToArmsEy = 353, Brewfest = 372, DarkmoonFaireElwynn = 374, DarkmoonFaireThunder = 375, DarkmoonFaireShattrath = 376, PiratesDay = 398, CallToArmsSa = 400, PilgrimsBounty = 404, WotlkLaunch = 406, DayOfDead = 409, CallToArmsIc = 420, //LoveIsInTheAir = 423, KaluAkFishingDerby = 424, CallToArmsBfg = 435, CallToArmsTp = 436, RatedBg15Vs15 = 442, RatedBg25Vs25 = 443, Anniversary7Years = 467, DarkmoonFaireTerokkar = 479, Anniversary8Years = 484, CallToArmsSm = 488, CallToArmsTk = 489, //CallToArmsAv = 490, //CallToArmsAb = 491, //CallToArmsEy = 492, //CallToArmsAv = 493, //CallToArmsSm = 494, //CallToArmsSa = 495, //CallToArmsTk = 496, //CallToArmsBfg = 497, //CallToArmsTp = 498, //CallToArmsWs = 499, Anniversary9Years = 509, Anniversary10Years = 514, CallToArmsDg = 515, //CallToArmsDg = 516 TimewalkingOutlands = 559, ApexisBonusEvent = 560, ArenaSkirmishBonusEvent = 561, TimewalkingNorthrend = 562, BattlegroundBonusEvent = 563, DraenorDungeonEvent = 564, PetBattleBonusEvent = 565, Anniversary11Years = 566, TimewalkingCataclysm = 587 } public enum VoidTransferError { Ok = 0, InternalError1 = 1, InternalError2 = 2, Full = 3, InternalError3 = 4, InternalError4 = 5, NotEnoughMoney = 6, InventoryFull = 7, ItemInvalid = 8, TransferUnknown = 9 } public enum eScriptFlags { // Talk Flags TalkUsePlayer = 0x1, // Emote Flags EmoteUseState = 0x1, // Teleportto Flags TeleportUseCreature = 0x1, // Killcredit Flags KillcreditRewardGroup = 0x1, // Removeaura Flags RemoveauraReverse = 0x1, // Castspell Flags CastspellSourceToTarget = 0, CastspellSourceToSource = 1, CastspellTargetToTarget = 2, CastspellTargetToSource = 3, CastspellSearchCreature = 4, CastspellTriggered = 0x1, // Playsound Flags PlaysoundTargetPlayer = 0x1, PlaysoundDistanceSound = 0x2, // Orientation Flags OrientationFaceTarget = 0x1 } public enum ScriptsType { First = 1, Spell = First, Event, Waypoint, Last } // Db Scripting Commands public enum ScriptCommands { Talk = 0, // Source/Target = Creature, Target = Any, Datalong = Talk Type (0=Say, 1=Whisper, 2=Yell, 3=Emote Text, 4=Boss Emote Text), Datalong2 & 1 = Player Talk (Instead Of Creature), Dataint = StringId Emote = 1, // Source/Target = Creature, Datalong = Emote Id, Datalong2 = 0: Set Emote State; > 0: Play Emote State FieldSet = 2, // Source/Target = Creature, Datalong = Field Id, Datalog2 = Value MoveTo = 3, // Source/Target = Creature, Datalong2 = Time To Reach, X/Y/Z = Destination FlagSet = 4, // Source/Target = Creature, Datalong = Field Id, Datalog2 = Bitmask FlagRemove = 5, // Source/Target = Creature, Datalong = Field Id, Datalog2 = Bitmask TeleportTo = 6, // Source/Target = Creature/Player (See Datalong2), Datalong = MapId, Datalong2 = 0: Player; 1: Creature, X/Y/Z = Destination, O = Orientation QuestExplored = 7, // Target/Source = Player, Target/Source = Go/Creature, Datalong = Quest Id, Datalong2 = Distance Or 0 KillCredit = 8, // Target/Source = Player, Datalong = Creature Entry, Datalong2 = 0: Personal Credit, 1: Group Credit RespawnGameobject = 9, // Source = Worldobject (Summoner), Datalong = Go Guid, Datalong2 = Despawn Delay TempSummonCreature = 10, // Source = Worldobject (Summoner), Datalong = Creature Entry, Datalong2 = Despawn Delay, X/Y/Z = Summon Position, O = Orientation OpenDoor = 11, // Source = Unit, Datalong = Go Guid, Datalong2 = Reset Delay (Min 15) CloseDoor = 12, // Source = Unit, Datalong = Go Guid, Datalong2 = Reset Delay (Min 15) ActivateObject = 13, // Source = Unit, Target = Go RemoveAura = 14, // Source (Datalong2 != 0) Or Target (Datalong2 == 0) = Unit, Datalong = Spell Id CastSpell = 15, // Source And/Or Target = Unit, Datalong2 = Cast Direction (0: S.T 1: S.S 2: T.T 3: T.S 4: S.Creature With Dataint Entry), Dataint & 1 = Triggered Flag PlaySound = 16, // Source = Worldobject, Target = None/Player, Datalong = Sound Id, Datalong2 (Bitmask: 0/1=Anyone/Player, 0/2=Without/With Distance Dependency, So 1|2 = 3 Is Target With Distance Dependency) CreateItem = 17, // Target/Source = Player, Datalong = Item Entry, Datalong2 = Amount DespawnSelf = 18, // Target/Source = Creature, Datalong = Despawn Delay LoadPath = 20, // Source = Unit, Datalong = Path Id, Datalong2 = Is Repeatable CallscriptToUnit = 21, // Source = Worldobject (If Present Used As A Search Center), Datalong = Script Id, Datalong2 = Unit Lowguid, Dataint = Script Table To Use (See Scriptstype) Kill = 22, // Source/Target = Creature, Dataint = Remove Corpse Attribute // Cyphercore Only Orientation = 30, // Source = Unit, Target (Datalong > 0) = Unit, Datalong = > 0 Turn Source To Face Target, O = Orientation Equip = 31, // Soucre = Creature, Datalong = Equipment Id Model = 32, // Source = Creature, Datalong = Model Id CloseGossip = 33, // Source = Player Playmovie = 34, // Source = Player, Datalong = Movie Id Movement = 35, // Source = Creature, datalong = MovementType, datalong2 = MovementDistance (spawndist f.ex.), dataint = pathid PlayAnimkit = 36 // Source = Creature, datalong = AnimKit id } // Custom values public enum SpellClickUserTypes { Any = 0, Friend = 1, Raid = 2, Party = 3, Max = 4 } public enum TokenResult { Success = 1, Disabled = 2, Other = 3, NoneForSale = 4, TooManyTokens = 5, SuccessNo = 6, TransactionInProgress = 7, AuctionableTokenOwned = 8, TrialRestricted = 9 } public enum BanMode { Account, Character, IP } public enum BanReturn { Success, SyntaxError, Notfound } public enum WorldCfg { AccPasschangesec, AddonChannel, AhbotUpdateInterval, AllTaxiPaths, AllowGmGroup, AllowTrackBothResources, AllowTwoSideInteractionAuction, AllowTwoSideInteractionCalendar, AllowTwoSideInteractionChannel, AllowTwoSideInteractionGroup, AllowTwoSideInteractionGuild, AllowTwoSideTrade, AlwaysMaxskill, ArenaLogExtendedInfo, ArenaMaxRatingDifference, ArenaQueueAnnouncerEnable, ArenaRatedUpdateTimer, ArenaRatingDiscardTimer, ArenaSeasonId, ArenaSeasonInProgress, ArenaStartMatchmakerRating, ArenaStartPersonalRating, ArenaStartRating, ArenaWinRatingModifier1, ArenaWinRatingModifier2, ArenaLoseRatingModifier, ArenaMatchmakerRatingModifier, AuctionGetallDelay, AuctionLevelReq, AuctionSearchDelay, AutoBroadcast, AutoBroadcastCenter, AutoBroadcastInterval, BasemapLoadGrids, BattlegroundCastDeserter, BattlegroundInvitationType, BattlegroundPremadeGroupWaitForMatch, BattlegroundPrematureFinishTimer, BattlegroundQueueAnnouncerEnable, BattlegroundQueueAnnouncerPlayeronly, BattlegroundReportAfk, BattlegroundStoreStatisticsEnable, BgRewardLoserHonorFirst, BgRewardLoserHonorLast, BgRewardWinnerConquestFirst, BgRewardWinnerConquestLast, BgRewardWinnerHonorFirst, BgRewardWinnerHonorLast, BgXpForKill, BlackmarketEnabled, BlackmarketMaxAuctions, BlackmarketUpdatePeriod, CalculateCreatureZoneAreaData, CalculateGameobjectZoneAreaData, CastUnstuck, CharacterCreatingDisabled, CharacterCreatingDisabledClassmask, CharacterCreatingDisabledRacemask, CharacterCreatingMinLevelForDemonHunter, CharactersPerAccount, CharactersPerRealm, ChardeleteDeathKnightMinLevel, ChardeleteDemonHunterMinLevel, ChardeleteKeepDays, ChardeleteMethod, ChardeleteMinLevel, CharterCostArena2v2, CharterCostArena3v3, CharterCostArena5v5, CharterCostGuild, ChatChannelLevelReq, ChatFakeMessagePreventing, ChatSayLevelReq, ChatStrictLinkCheckingKick, ChatStrictLinkCheckingSeverity, ChatWhisperLevelReq, ChatEmoteLevelReq, ChatYellLevelReq, ChatfloodMessageCount, ChatfloodMessageDelay, ChatfloodMuteTime, CleanCharacterDb, ClientCacheVersion, Compression, CorpseDecayElite, CorpseDecayNormal, CorpseDecayRare, CorpseDecayRareelite, CorpseDecayWorldboss, CreatureCheckInvalidPostion, CreatureFamilyAssistanceDelay, CreatureFamilyAssistanceRadius, CreatureFamilyFleeAssistanceRadius, CreatureFamilyFleeDelay, CreaturePickpocketRefill, CreatureStopForPlayer, CurrencyMaxApexisCrystals, CurrencyMaxJusticePoints, CurrencyResetDay, CurrencyResetHour, CurrencyResetInterval, CurrencyStartApexisCrystals, CurrencyStartJusticePoints, DailyQuestResetTimeHour, DbcEnforceItemAttributes, DeathBonesBgOrArena, DeathBonesWorld, DeathCorpseReclaimDelayPve, DeathCorpseReclaimDelayPvp, DeathSicknessLevel, DeclinedNamesUsed, DemonHuntersPerRealm, DetectPosCollision, DieCommandMode, DisableBreathing, DurabilityLossInPvp, EnableMmaps, EnableSinfoLogin, EventAnnounce, Expansion, FeatureSystemBpayStoreEnabled, FeatureSystemCharacterUndeleteCooldown, FeatureSystemCharacterUndeleteEnabled, ForceShutdownThreshold, GameobjectCheckInvalidPostion, GameType, GmChat, GmFreezeDuration, GmLevelInGmList, GmLevelInWhoList, GmLoginState, GmLowerSecurity, GmVisibleState, GmWhisperingTo, GridUnload, GroupVisibility, GroupXpDistance, GuildBankEventLogCount, GuildEventLogCount, GuildNewsLogCount, GuildResetHour, GuildSaveInterval, HonorAfterDuel, HotfixCacheVersion, InstanceIgnoreLevel, InstanceIgnoreRaid, InstancemapLoadGrids, InstanceResetTimeHour, InstanceUnloadDelay, InstancesResetAnnounce, InstantLogout, InstantTaxi, IntervalChangeweather, IntervalDisconnectTolerance, IntervalGridclean, IntervalLogUpdate, IntervalMapupdate, IntervalSave, IpBasedActionLogging, LfgOptionsmask, ListenRangeSay, ListenRangeTextemote, ListenRangeYell, LogdbClearinterval, LogdbCleartime, MailDeliveryDelay, MailLevelReq, MaxInstancesPerHour, MaxOverspeedPings, MaxPlayerLevel, MaxPrimaryTradeSkill, MaxRecruitAFriendBonusPlayerLevel, MaxRecruitAFriendBonusPlayerLevelDifference, MaxRecruitAFriendDistance, MaxResultsLookupCommands, MaxWho, MinCharterName, MinDualspecLevel, MinLevelStatSave, MinLogUpdate, MinPetName, MinPetitionSigns, MinPlayerName, NoGrayAggroAbove, NoGrayAggroBelow, NoResetTalentCost, Numthreads, OffhandCheckAtSpellUnlearn, PacketSpoofBanduration, PacketSpoofBanmode, PacketSpoofPolicy, PartyLevelReq, PdumpNoOverwrite, PdumpNoPaths, PersistentCharacterCleanFlags, PlayerAllowCommands, PortInstance, PortWorld, PreserveCustomChannelDuration, PreserveCustomChannels, PreventRenameCustomization, PvpTokenCount, PvpTokenEnable, PvpTokenId, PvpTokenMapType, QuestEnableQuestTracker, QuestHighLevelHideDiff, QuestIgnoreAutoAccept, QuestIgnoreAutoComplete, QuestIgnoreRaid, QuestLowLevelHideDiff, RandomBgResetHour, RateAuctionCut, RateAuctionDeposit, RateAuctionTime, RateCorpseDecayLooted, RateCreatureAggro, RateCreatureEliteEliteDamage, RateCreatureEliteEliteHp, RateCreatureEliteEliteSpelldamage, RateCreatureEliteRareDamage, RateCreatureEliteRareHp, RateCreatureEliteRareSpelldamage, RateCreatureEliteRareeliteDamage, RateCreatureEliteRareeliteHp, RateCreatureEliteRareeliteSpelldamage, RateCreatureEliteWorldbossDamage, RateCreatureEliteWorldbossHp, RateCreatureEliteWorldbossSpelldamage, RateCreatureNormalDamage, RateCreatureNormalHp, RateCreatureNormalSpelldamage, RateDamageFall, RateDropItemArtifact, RateDropItemEpic, RateDropItemLegendary, RateDropItemNormal, RateDropItemPoor, RateDropItemRare, RateDropItemReferenced, RateDropItemReferencedAmount, RateDropItemUncommon, RateDropMoney, RateDurabilityLossAbsorb, RateDurabilityLossBlock, RateDurabilityLossDamage, RateDurabilityLossOnDeath, RateDurabilityLossParry, RateHealth, RateHonor, RateInstanceResetTime, RateMoneyMaxLevelQuest, RateMoneyQuest, RateMovespeed, RatePowerArcaneCharges, RatePowerChi, RatePowerComboPointsLoss, RatePowerEnergy, RatePowerFocus, RatePowerFury, RatePowerHolyPower, RatePowerInsanity, RatePowerLunarPower, RatePowerMaelstrom, RatePowerMana, RatePowerPain, RatePowerRageIncome, RatePowerRageLoss, RatePowerRunicPowerIncome, RatePowerRunicPowerLoss, RatePowerSoulShards, RateRepaircost, RateReputationGain, RateReputationLowLevelKill, RateReputationLowLevelQuest, RateReputationRecruitAFriendBonus, RateRestIngame, RateRestOfflineInTavernOrCity, RateRestOfflineInWilderness, RateSkillDiscovery, RateTalent, RateTargetPosRecalculationRange, RateXpExplore, RateXpGuildModifier, RateXpKill, RateXpBgKill, RateXpQuest, RealmZone, ResetDuelCooldowns, ResetDuelHealthMana, RestrictedLfgChannel, SaveRespawnTimeImmediately, SessionAddDelay, ShowBanInWorld, ShowKickInWorld, ShowMuteInWorld, SightMonster, SkillChanceGreen, SkillChanceGrey, SkillChanceMiningSteps, SkillChanceOrange, SkillChanceSkinningSteps, SkillChanceYellow, SkillGainCrafting, SkillGainGathering, SkillMilling, SkillProspecting, SkipCinematics, SocketTimeouttime, StartAllExplored, StartAllRep, StartAllSpells, StartDeathKnightPlayerLevel, StartDemonHunterPlayerLevel, StartGmLevel, StartPlayerLevel, StartPlayerMoney, StatsLimitsBlock, StatsLimitsCrit, StatsLimitsDodge, StatsLimitsEnable, StatsLimitsParry, StatsSaveOnlyOnLogout, StrictCharterNames, StrictPetNames, StrictPlayerNames, SupportBugsEnabled, SupportComplaintsEnabled, SupportEnabled, SupportSuggestionsEnabled, SupportTicketsEnabled, TalentsInspecting, ThreatRadius, TradeLevelReq, UiQuestLevelsInDialogs, // Should We Add Quest Levels To The Title In The Npc Dialogs? UptimeUpdate, VmapIndoorCheck, WardenClientBanDuration, WardenClientCheckHoldoff, WardenClientFailAction, WardenClientResponseDelay, WardenEnabled, WardenNumMemChecks, WardenNumOtherChecks, Weather, WintergraspBattletime, WintergraspEnable, WintergraspNobattletime, WintergraspPlrMax, WintergraspPlrMin, WintergraspPlrMinLvl, WintergraspRestartAfterCrash, WorldBossLevelDiff } public enum TimerType { Pvp = 0, ChallengerMode = 1 } public enum GameError : uint { System = 0, InvFull = 1, BankFull = 2, CantEquipLevelI = 3, CantEquipSkill = 4, CantEquipEver = 5, CantEquipRank = 6, CantEquipRating = 7, CantEquipReputation = 8, ProficiencyNeeded = 9, WrongSlot = 10, CantEquipNeedTalent = 11, BagFull = 12, InternalBagError = 13, DestroyNonemptyBag = 14, BagInBag = 15, TooManySpecialBags = 16, TradeEquippedBag = 17, AmmoOnly = 18, NoSlotAvailable = 19, WrongBagType = 20, ItemMaxCount = 21, NotEquippable = 22, CantStack = 23, CantSwap = 24, SlotEmpty = 25, ItemNotFound = 26, TooFewToSplit = 27, SplitFailed = 28, NotABag = 29, NotOwner = 30, OnlyOneQuiver = 31, NoBankSlot = 32, NoBankHere = 33, ItemLocked = 34, TwoHandedEquipped = 35, VendorNotInterested = 36, VendorHatesYou = 37, VendorSoldOut = 38, VendorTooFar = 39, VendorDoesntBuy = 40, NotEnoughMoney = 41, ReceiveItemS = 42, DropBoundItem = 43, TradeBoundItem = 44, TradeQuestItem = 45, TradeTempEnchantBound = 46, TradeGroundItem = 47, TradeBag = 48, SpellFailedS = 49, ItemCooldown = 50, PotionCooldown = 51, FoodCooldown = 52, SpellCooldown = 53, AbilityCooldown = 54, SpellAlreadyKnownS = 55, PetSpellAlreadyKnownS = 56, ProficiencyGainedS = 57, SkillGainedS = 58, SkillUpSi = 59, LearnSpellS = 60, LearnAbilityS = 61, LearnPassiveS = 62, LearnRecipeS = 63, LearnCompanionS = 64, LearnMountS = 65, LearnToyS = 66, LearnHeirloomS = 67, LearnTransmogS = 68, CompletedTransmogSetS = 69, RevokeTransmogS = 70, InvitePlayerS = 71, InviteSelf = 72, InvitedToGroupSs = 73, InvitedAlreadyInGroupSs = 74, AlreadyInGroupS = 75, CrossRealmRaidInvite = 76, PlayerBusyS = 77, NewLeaderS = 78, NewLeaderYou = 79, NewGuideS = 80, NewGuideYou = 81, LeftGroupS = 82, LeftGroupYou = 83, GroupDisbanded = 84, DeclineGroupS = 85, JoinedGroupS = 86, UninviteYou = 87, BadPlayerNameS = 88, NotInGroup = 89, TargetNotInGroupS = 90, TargetNotInInstanceS = 91, NotInInstanceGroup = 92, GroupFull = 93, NotLeader = 94, PlayerDiedS = 95, GuildCreateS = 96, GuildInviteS = 97, InvitedToGuildSss = 98, AlreadyInGuildS = 99, AlreadyInvitedToGuildS = 100, InvitedToGuild = 101, AlreadyInGuild = 102, GuildAccept = 103, GuildDeclineS = 104, GuildDeclineAutoS = 105, GuildPermissions = 106, GuildJoinS = 107, GuildFounderS = 108, GuildPromoteSss = 109, GuildDemoteSs = 110, GuildDemoteSss = 111, GuildInviteSelf = 112, GuildQuitS = 113, GuildLeaveS = 114, GuildRemoveSs = 115, GuildRemoveSelf = 116, GuildDisbandS = 117, GuildDisbandSelf = 118, GuildLeaderS = 119, GuildLeaderSelf = 120, GuildPlayerNotFoundS = 121, GuildPlayerNotInGuildS = 122, GuildPlayerNotInGuild = 123, GuildCantPromoteS = 124, GuildCantDemoteS = 125, GuildNotInAGuild = 126, GuildInternal = 127, GuildLeaderIsS = 128, GuildLeaderChangedSs = 129, GuildDisbanded = 130, GuildNotAllied = 131, GuildLeaderLeave = 132, GuildRanksLocked = 133, GuildRankInUse = 134, GuildRankTooHighS = 135, GuildRankTooLowS = 136, GuildNameExistsS = 137, GuildWithdrawLimit = 138, GuildNotEnoughMoney = 139, GuildTooMuchMoney = 140, GuildBankConjuredItem = 141, GuildBankEquippedItem = 142, GuildBankBoundItem = 143, GuildBankQuestItem = 144, GuildBankWrappedItem = 145, GuildBankFull = 146, GuildBankWrongTab = 147, NoGuildCharter = 148, OutOfRange = 149, PlayerDead = 150, ClientLockedOut = 151, KilledByS = 152, LootLocked = 153, LootTooFar = 154, LootDidntKill = 155, LootBadFacing = 156, LootNotstanding = 157, LootStunned = 158, LootNoUi = 159, LootWhileInvulnerable = 160, NoLoot = 161, QuestAcceptedS = 162, QuestCompleteS = 163, QuestFailedS = 164, QuestFailedBagFullS = 165, QuestFailedMaxCountS = 166, QuestFailedLowLevel = 167, QuestFailedMissingItems = 168, QuestFailedWrongRace = 169, QuestFailedNotEnoughMoney = 170, QuestFailedExpansion = 171, QuestOnlyOneTimed = 172, QuestNeedPrereqs = 173, QuestNeedPrereqsCustom = 174, QuestAlreadyOn = 175, QuestAlreadyDone = 176, QuestAlreadyDoneDaily = 177, QuestHasInProgress = 178, QuestRewardExpI = 179, QuestRewardMoneyS = 180, QuestMustChoose = 181, QuestLogFull = 182, CombatDamageSsi = 183, InspectS = 184, CantUseItem = 185, CantUseItemInArena = 186, CantUseItemInRatedBattleground = 187, MustEquipItem = 188, PassiveAbility = 189, Hand2SkillNotFound = 190, NoAttackTarget = 191, InvalidAttackTarget = 192, AttackPvpTargetWhileUnflagged = 193, AttackStunned = 194, AttackPacified = 195, AttackMounted = 196, AttackFleeing = 197, AttackConfused = 198, AttackCharmed = 199, AttackDead = 200, AttackPreventedByMechanicS = 201, AttackChannel = 202, Taxisamenode = 203, Taxinosuchpath = 204, Taxiunspecifiedservererror = 205, Taxinotenoughmoney = 206, Taxitoofaraway = 207, Taxinovendornearby = 208, Taxinotvisited = 209, Taxiplayerbusy = 210, Taxiplayeralreadymounted = 211, Taxiplayershapeshifted = 212, Taxiplayermoving = 213, Taxinopaths = 214, Taxinoteligible = 215, Taxinotstanding = 216, NoReplyTarget = 217, GenericNoTarget = 218, InitiateTradeS = 219, TradeRequestS = 220, TradeBlockedS = 221, TradeTargetDead = 222, TradeTooFar = 223, TradeCancelled = 224, TradeComplete = 225, TradeBagFull = 226, TradeTargetBagFull = 227, TradeMaxCountExceeded = 228, TradeTargetMaxCountExceeded = 229, AlreadyTrading = 230, MountInvalidmountee = 231, MountToofaraway = 232, MountAlreadymounted = 233, MountNotmountable = 234, MountNotyourpet = 235, MountOther = 236, MountLooting = 237, MountRacecantmount = 238, MountShapeshifted = 239, MountNoFavorites = 240, DismountNopet = 241, DismountNotmounted = 242, DismountNotyourpet = 243, SpellFailedTotems = 244, SpellFailedReagents = 245, SpellFailedReagentsGeneric = 246, SpellFailedEquippedItem = 247, SpellFailedEquippedItemClassS = 248, SpellFailedShapeshiftFormS = 249, SpellFailedAnotherInProgress = 250, Badattackfacing = 251, Badattackpos = 252, ChestInUse = 253, UseCantOpen = 254, UseLocked = 255, DoorLocked = 256, ButtonLocked = 257, UseLockedWithItemS = 258, UseLockedWithSpellS = 259, UseLockedWithSpellKnownSi = 260, UseTooFar = 261, UseBadAngle = 262, UseObjectMoving = 263, UseSpellFocus = 264, UseDestroyed = 265, SetLootFreeforall = 266, SetLootRoundrobin = 267, SetLootMaster = 268, SetLootGroup = 269, SetLootThresholdS = 270, NewLootMasterS = 271, SpecifyMasterLooter = 272, LootSpecChangedS = 273, TameFailed = 274, ChatWhileDead = 275, ChatPlayerNotFoundS = 276, Newtaxipath = 277, NoPet = 278, Notyourpet = 279, PetNotRenameable = 280, QuestObjectiveCompleteS = 281, QuestUnknownComplete = 282, QuestAddKillSii = 283, QuestAddFoundSii = 284, QuestAddItemSii = 285, QuestAddPlayerKillSii = 286, Cannotcreatedirectory = 287, Cannotcreatefile = 288, PlayerWrongFaction = 289, PlayerIsNeutral = 290, BankslotFailedTooMany = 291, BankslotInsufficientFunds = 292, BankslotNotbanker = 293, FriendDbError = 294, FriendListFull = 295, FriendAddedS = 296, BattletagFriendAddedS = 297, FriendOnlineSs = 298, FriendOfflineS = 299, FriendNotFound = 300, FriendWrongFaction = 301, FriendRemovedS = 302, BattletagFriendRemovedS = 303, FriendError = 304, FriendAlreadyS = 305, FriendSelf = 306, FriendDeleted = 307, IgnoreFull = 308, IgnoreSelf = 309, IgnoreNotFound = 310, IgnoreAlreadyS = 311, IgnoreAddedS = 312, IgnoreRemovedS = 313, IgnoreAmbiguous = 314, IgnoreDeleted = 315, OnlyOneBolt = 316, OnlyOneAmmo = 317, SpellFailedEquippedSpecificItem = 318, WrongBagTypeSubclass = 319, CantWrapStackable = 320, CantWrapEquipped = 321, CantWrapWrapped = 322, CantWrapBound = 323, CantWrapUnique = 324, CantWrapBags = 325, OutOfMana = 326, OutOfRage = 327, OutOfFocus = 328, OutOfEnergy = 329, OutOfChi = 330, OutOfHealth = 331, OutOfRunes = 332, OutOfRunicPower = 333, OutOfSoulShards = 334, OutOfLunarPower = 335, OutOfHolyPower = 336, OutOfMaelstrom = 337, OutOfComboPoints = 338, OutOfInsanity = 339, OutOfArcaneCharges = 340, OutOfFury = 341, OutOfPain = 342, OutOfPowerDisplay = 343, LootGone = 344, MountForceddismount = 345, AutofollowTooFar = 346, UnitNotFound = 347, InvalidFollowTarget = 348, InvalidInspectTarget = 349, GuildemblemSuccess = 350, GuildemblemInvalidTabardColors = 351, GuildemblemNoguild = 352, GuildemblemNotguildmaster = 353, GuildemblemNotenoughmoney = 354, GuildemblemInvalidvendor = 355, EmblemerrorNotabardgeoset = 356, SpellOutOfRange = 357, CommandNeedsTarget = 358, NoammoS = 359, Toobusytofollow = 360, DuelRequested = 361, DuelCancelled = 362, Deathbindalreadybound = 363, DeathbindSuccessS = 364, Noemotewhilerunning = 365, ZoneExplored = 366, ZoneExploredXp = 367, InvalidItemTarget = 368, InvalidQuestTarget = 369, IgnoringYouS = 370, FishNotHooked = 371, FishEscaped = 372, SpellFailedNotunsheathed = 373, PetitionOfferedS = 374, PetitionSigned = 375, PetitionSignedS = 376, PetitionDeclinedS = 377, PetitionAlreadySigned = 378, PetitionRestrictedAccountTrial = 379, PetitionAlreadySignedOther = 380, PetitionInGuild = 381, PetitionCreator = 382, PetitionNotEnoughSignatures = 383, PetitionNotSameServer = 384, PetitionFull = 385, PetitionAlreadySignedByS = 386, GuildNameInvalid = 387, SpellUnlearnedS = 388, PetSpellRooted = 389, PetSpellAffectingCombat = 390, PetSpellOutOfRange = 391, PetSpellNotBehind = 392, PetSpellTargetsDead = 393, PetSpellDead = 394, PetSpellNopath = 395, ItemCantBeDestroyed = 396, TicketAlreadyExists = 397, TicketCreateError = 398, TicketUpdateError = 399, TicketDbError = 400, TicketNoText = 401, TicketTextTooLong = 402, ObjectIsBusy = 403, ExhaustionWellrested = 404, ExhaustionRested = 405, ExhaustionNormal = 406, ExhaustionTired = 407, ExhaustionExhausted = 408, NoItemsWhileShapeshifted = 409, CantInteractShapeshifted = 410, RealmNotFound = 411, MailQuestItem = 412, MailBoundItem = 413, MailConjuredItem = 414, MailBag = 415, MailToSelf = 416, MailTargetNotFound = 417, MailDatabaseError = 418, MailDeleteItemError = 419, MailWrappedCod = 420, MailCantSendRealm = 421, MailSent = 422, NotHappyEnough = 423, UseCantImmune = 424, CantBeDisenchanted = 425, CantUseDisarmed = 426, AuctionQuestItem = 427, AuctionBoundItem = 428, AuctionConjuredItem = 429, AuctionLimitedDurationItem = 430, AuctionWrappedItem = 431, AuctionLootItem = 432, AuctionBag = 433, AuctionEquippedBag = 434, AuctionDatabaseError = 435, AuctionBidOwn = 436, AuctionBidIncrement = 437, AuctionHigherBid = 438, AuctionMinBid = 439, AuctionRepairItem = 440, AuctionUsedCharges = 441, AuctionAlreadyBid = 442, AuctionStarted = 443, AuctionRemoved = 444, AuctionOutbidS = 445, AuctionWonS = 446, AuctionSoldS = 447, AuctionExpiredS = 448, AuctionRemovedS = 449, AuctionBidPlaced = 450, LogoutFailed = 451, QuestPushSuccessS = 452, QuestPushInvalidS = 453, QuestPushAcceptedS = 454, QuestPushDeclinedS = 455, QuestPushBusyS = 456, QuestPushDeadS = 457, QuestPushLogFullS = 458, QuestPushOnquestS = 459, QuestPushAlreadyDoneS = 460, QuestPushNotDailyS = 461, QuestPushTimerExpiredS = 462, QuestPushNotInPartyS = 463, QuestPushDifferentServerDailyS = 464, QuestPushNotAllowedS = 465, RaidGroupLowlevel = 466, RaidGroupOnly = 467, RaidGroupFull = 468, RaidGroupRequirementsUnmatch = 469, CorpseIsNotInInstance = 470, PvpKillHonorable = 471, PvpKillDishonorable = 472, SpellFailedAlreadyAtFullHealth = 473, SpellFailedAlreadyAtFullMana = 474, SpellFailedAlreadyAtFullPowerS = 475, AutolootMoneyS = 476, GenericStunned = 477, TargetStunned = 478, MustRepairDurability = 479, RaidYouJoined = 480, RaidYouLeft = 481, InstanceGroupJoinedWithParty = 482, InstanceGroupJoinedWithRaid = 483, RaidMemberAddedS = 484, RaidMemberRemovedS = 485, InstanceGroupAddedS = 486, InstanceGroupRemovedS = 487, ClickOnItemToFeed = 488, TooManyChatChannels = 489, LootRollPending = 490, LootPlayerNotFound = 491, NotInRaid = 492, LoggingOut = 493, TargetLoggingOut = 494, NotWhileMounted = 495, NotWhileShapeshifted = 496, NotInCombat = 497, NotWhileDisarmed = 498, PetBroken = 499, TalentWipeError = 500, SpecWipeError = 501, GlyphWipeError = 502, PetSpecWipeError = 503, FeignDeathResisted = 504, MeetingStoneInQueueS = 505, MeetingStoneLeftQueueS = 506, MeetingStoneOtherMemberLeft = 507, MeetingStonePartyKickedFromQueue = 508, MeetingStoneMemberStillInQueue = 509, MeetingStoneSuccess = 510, MeetingStoneInProgress = 511, MeetingStoneMemberAddedS = 512, MeetingStoneGroupFull = 513, MeetingStoneNotLeader = 514, MeetingStoneInvalidLevel = 515, MeetingStoneTargetNotInParty = 516, MeetingStoneTargetInvalidLevel = 517, MeetingStoneMustBeLeader = 518, MeetingStoneNoRaidGroup = 519, MeetingStoneNeedParty = 520, MeetingStoneNotFound = 521, GuildemblemSame = 522, EquipTradeItem = 523, PvpToggleOn = 524, PvpToggleOff = 525, GroupJoinBattlegroundDeserters = 526, GroupJoinBattlegroundDead = 527, GroupJoinBattlegroundS = 528, GroupJoinBattlegroundFail = 529, GroupJoinBattlegroundTooMany = 530, SoloJoinBattlegroundS = 531, BattlegroundTooManyQueues = 532, BattlegroundCannotQueueForRated = 533, BattledgroundQueuedForRated = 534, BattlegroundTeamLeftQueue = 535, BattlegroundNotInBattleground = 536, AlreadyInArenaTeamS = 537, InvalidPromotionCode = 538, BgPlayerJoinedSs = 539, BgPlayerLeftS = 540, RestrictedAccount = 541, RestrictedAccountTrial = 542, PlayTimeExceeded = 543, ApproachingPartialPlayTime = 544, ApproachingPartialPlayTime2 = 545, ApproachingNoPlayTime = 546, ApproachingNoPlayTime2 = 547, UnhealthyTime = 548, ChatRestrictedTrial = 549, ChatThrottled = 550, MailReachedCap = 551, InvalidRaidTarget = 552, RaidLeaderReadyCheckStartS = 553, ReadyCheckInProgress = 554, ReadyCheckThrottled = 555, DungeonDifficultyFailed = 556, DungeonDifficultyChangedS = 557, TradeWrongRealm = 558, TradeNotOnTaplist = 559, ChatPlayerAmbiguousS = 560, LootCantLootThatNow = 561, LootMasterInvFull = 562, LootMasterUniqueItem = 563, LootMasterOther = 564, FilteringYouS = 565, UsePreventedByMechanicS = 566, ItemUniqueEquippable = 567, LfgLeaderIsLfmS = 568, LfgPending = 569, CantSpeakLangage = 570, VendorMissingTurnins = 571, BattlegroundNotInTeam = 572, NotInBattleground = 573, NotEnoughHonorPoints = 574, NotEnoughArenaPoints = 575, SocketingRequiresMetaGem = 576, SocketingMetaGemOnlyInMetaslot = 577, SocketingRequiresHydraulicGem = 578, SocketingHydraulicGemOnlyInHydraulicslot = 579, SocketingRequiresCogwheelGem = 580, SocketingCogwheelGemOnlyInCogwheelslot = 581, SocketingItemTooLowLevel = 582, ItemMaxCountSocketed = 583, SystemDisabled = 584, QuestFailedTooManyDailyQuestsI = 585, ItemMaxCountEquippedSocketed = 586, ItemUniqueEquippableSocketed = 587, UserSquelched = 588, TooMuchGold = 589, NotBarberSitting = 590, QuestFailedCais = 591, InviteRestrictedTrial = 592, VoiceIgnoreFull = 593, VoiceIgnoreSelf = 594, VoiceIgnoreNotFound = 595, VoiceIgnoreAlreadyS = 596, VoiceIgnoreAddedS = 597, VoiceIgnoreRemovedS = 598, VoiceIgnoreAmbiguous = 599, VoiceIgnoreDeleted = 600, UnknownMacroOptionS = 601, NotDuringArenaMatch = 602, PlayerSilenced = 603, PlayerUnsilenced = 604, ComsatDisconnect = 605, ComsatReconnectAttempt = 606, ComsatConnectFail = 607, MailInvalidAttachmentSlot = 608, MailTooManyAttachments = 609, MailInvalidAttachment = 610, MailAttachmentExpired = 611, VoiceChatParentalDisableAll = 612, VoiceChatParentalDisableMic = 613, ProfaneChatName = 614, PlayerSilencedEcho = 615, PlayerUnsilencedEcho = 616, VoicesessionFull = 617, LootCantLootThat = 618, ArenaExpiredCais = 619, GroupActionThrottled = 620, AlreadyPickpocketed = 621, NameInvalid = 622, NameNoName = 623, NameTooShort = 624, NameTooLong = 625, NameMixedLanguages = 626, NameProfane = 627, NameReserved = 628, NameThreeConsecutive = 629, NameInvalidSpace = 630, NameConsecutiveSpaces = 631, NameRussianConsecutiveSilentCharacters = 632, NameRussianSilentCharacterAtBeginningOrEnd = 633, NameDeclensionDoesntMatchBaseName = 634, ReferAFriendNotReferredBy = 635, ReferAFriendTargetTooHigh = 636, ReferAFriendInsufficientGrantableLevels = 637, ReferAFriendTooFar = 638, ReferAFriendDifferentFaction = 639, ReferAFriendNotNow = 640, ReferAFriendGrantLevelMaxI = 641, ReferAFriendSummonLevelMaxI = 642, ReferAFriendSummonCooldown = 643, ReferAFriendSummonOfflineS = 644, ReferAFriendInsufExpanLvl = 645, ReferAFriendNotInLfg = 646, ReferAFriendNoXrealm = 647, ReferAFriendMapIncomingTransferNotAllowed = 648, NotSameAccount = 649, BadOnUseEnchant = 650, TradeSelf = 651, TooManySockets = 652, ItemMaxLimitCategoryCountExceededIs = 653, TradeTargetMaxLimitCategoryCountExceededIs = 654, ItemMaxLimitCategorySocketedExceededIs = 655, ItemMaxLimitCategoryEquippedExceededIs = 656, ShapeshiftFormCannotEquip = 657, ItemInventoryFullSatchel = 658, ScalingStatItemLevelExceeded = 659, ScalingStatItemLevelTooLow = 660, PurchaseLevelTooLow = 661, GroupSwapFailed = 662, InviteInCombat = 663, InvalidGlyphSlot = 664, GenericNoValidTargets = 665, CalendarEventAlertS = 666, PetLearnSpellS = 667, PetLearnAbilityS = 668, PetSpellUnlearnedS = 669, InviteUnknownRealm = 670, InviteNoPartyServer = 671, InvitePartyBusy = 672, PartyTargetAmbiguous = 673, PartyLfgInviteRaidLocked = 674, PartyLfgBootLimit = 675, PartyLfgBootCooldownS = 676, PartyLfgBootNotEligibleS = 677, PartyLfgBootInpatientTimerS = 678, PartyLfgBootInProgress = 679, PartyLfgBootTooFewPlayers = 680, PartyLfgBootVoteSucceeded = 681, PartyLfgBootVoteFailed = 682, PartyLfgBootInCombat = 683, PartyLfgBootDungeonComplete = 684, PartyLfgBootLootRolls = 685, PartyLfgBootVoteRegistered = 686, PartyPrivateGroupOnly = 687, PartyLfgTeleportInCombat = 688, RaidDisallowedByLevel = 689, RaidDisallowedByCrossRealm = 690, PartyRoleNotAvailable = 691, JoinLfgObjectFailed = 692, LfgRemovedLevelup = 693, LfgRemovedXpToggle = 694, LfgRemovedFactionChange = 695, BattlegroundInfoThrottled = 696, BattlegroundAlreadyIn = 697, ArenaTeamChangeFailedQueued = 698, ArenaTeamPermissions = 699, NotWhileFalling = 700, NotWhileMoving = 701, NotWhileFatigued = 702, MaxSockets = 703, MultiCastActionTotemS = 704, BattlegroundJoinLevelup = 705, RemoveFromPvpQueueXpGain = 706, BattlegroundJoinXpGain = 707, BattlegroundJoinMercenary = 708, BattlegroundJoinTooManyHealers = 709, BattlegroundJoinTooManyTanks = 710, BattlegroundJoinTooManyDamage = 711, RaidDifficultyFailed = 712, RaidDifficultyChangedS = 713, LegacyRaidDifficultyChangedS = 714, RaidLockoutChangedS = 715, RaidConvertedToParty = 716, PartyConvertedToRaid = 717, PlayerDifficultyChangedS = 718, GmresponseDbError = 719, BattlegroundJoinRangeIndex = 720, ArenaJoinRangeIndex = 721, RemoveFromPvpQueueFactionChange = 722, BattlegroundJoinFailed = 723, BattlegroundJoinNoValidSpecForRole = 724, BattlegroundJoinRespec = 725, BattlegroundInvitationDeclined = 726, BattlegroundJoinTimedOut = 727, BattlegroundDupeQueue = 728, BattlegroundJoinMustCompleteQuest = 729, InBattlegroundRespec = 730, MailLimitedDurationItem = 731, YellRestrictedTrial = 732, ChatRaidRestrictedTrial = 733, LfgRoleCheckFailed = 734, LfgRoleCheckFailedTimeout = 735, LfgRoleCheckFailedNotViable = 736, LfgReadyCheckFailed = 737, LfgReadyCheckFailedTimeout = 738, LfgGroupFull = 739, LfgNoLfgObject = 740, LfgNoSlotsPlayer = 741, LfgNoSlotsParty = 742, LfgNoSpec = 743, LfgMismatchedSlots = 744, LfgMismatchedSlotsLocalXrealm = 745, LfgPartyPlayersFromDifferentRealms = 746, LfgMembersNotPresent = 747, LfgGetInfoTimeout = 748, LfgInvalidSlot = 749, LfgDeserterPlayer = 750, LfgDeserterParty = 751, LfgDead = 752, LfgRandomCooldownPlayer = 753, LfgRandomCooldownParty = 754, LfgTooManyMembers = 755, LfgTooFewMembers = 756, LfgProposalFailed = 757, LfgProposalDeclinedSelf = 758, LfgProposalDeclinedParty = 759, LfgNoSlotsSelected = 760, LfgNoRolesSelected = 761, LfgRoleCheckInitiated = 762, LfgReadyCheckInitiated = 763, LfgPlayerDeclinedRoleCheck = 764, LfgPlayerDeclinedReadyCheck = 765, LfgJoinedQueue = 766, LfgJoinedFlexQueue = 767, LfgJoinedRfQueue = 768, LfgJoinedScenarioQueue = 769, LfgJoinedWorldPvpQueue = 770, ErrLfgJoinedBattlefieldQueue = 771, LfgJoinedList = 772, LfgLeftQueue = 773, LfgLeftList = 774, LfgRoleCheckAborted = 775, LfgReadyCheckAborted = 776, LfgCantUseBattleground = 777, LfgCantUseDungeons = 778, LfgReasonTooManyLfg = 779, InvalidTeleportLocation = 780, TooFarToInteract = 781, BattlegroundPlayersFromDifferentRealms = 782, DifficultyChangeCooldownS = 783, DifficultyChangeCombatCooldownS = 784, DifficultyChangeWorldstate = 785, DifficultyChangeEncounter = 786, DifficultyChangeCombat = 787, DifficultyChangePlayerBusy = 788, DifficultyChangeAlreadyStarted = 789, DifficultyChangeOtherHeroicS = 790, DifficultyChangeHeroicInstanceAlreadyRunning = 791, ArenaTeamPartySize = 792, QuestForceRemovedS = 793, AttackNoActions = 794, InRandomBg = 795, InNonRandomBg = 796, AuctionEnoughItems = 797, BnFriendSelf = 798, BnFriendAlready = 799, BnFriendBlocked = 800, BnFriendListFull = 801, BnFriendRequestSent = 802, BnBroadcastThrottle = 803, BgDeveloperOnly = 804, CurrencySpellSlotMismatch = 805, CurrencyNotTradable = 806, RequiresExpansionS = 807, QuestFailedSpell = 808, TalentFailedNotEnoughTalentsInPrimaryTree = 809, TalentFailedNoPrimaryTreeSelected = 810, TalentFailedCantRemoveTalent = 811, TalentFailedUnknown = 812, WargameRequestFailure = 813, RankRequiresAuthenticator = 814, GuildBankVoucherFailed = 815, WargameRequestSent = 816, RequiresAchievementI = 817, RefundResultExceedMaxCurrency = 818, CantBuyQuantity = 819, ItemIsBattlePayLocked = 820, PartyAlreadyInBattlegroundQueue = 821, PartyConfirmingBattlegroundQueue = 822, BattlefieldTeamPartySize = 823, InsuffTrackedCurrencyIs = 824, NotOnTournamentRealm = 825, GuildTrialAccountTrial = 826, GuildTrialAccountVeteran = 827, GuildUndeletableDueToLevel = 828, CantDoThatInAGroup = 829, GuildLeaderReplaced = 830, TransmogrifyCantEquip = 831, TransmogrifyInvalidItemType = 832, TransmogrifyNotSoulbound = 833, TransmogrifyInvalidSource = 834, TransmogrifyInvalidDestination = 835, TransmogrifyMismatch = 836, TransmogrifyLegendary = 837, TransmogrifySameItem = 838, TransmogrifySameAppearance = 839, TransmogrifyNotEquipped = 840, VoidDepositFull = 841, VoidWithdrawFull = 842, VoidStorageWrapped = 843, VoidStorageStackable = 844, VoidStorageUnbound = 845, VoidStorageRepair = 846, VoidStorageCharges = 847, VoidStorageQuest = 848, VoidStorageConjured = 849, VoidStorageMail = 850, VoidStorageBag = 851, VoidTransferStorageFull = 852, VoidTransferInvFull = 853, VoidTransferInternalError = 854, VoidTransferItemInvalid = 855, DifficultyDisabledInLfg = 856, VoidStorageUnique = 857, VoidStorageLoot = 858, VoidStorageHoliday = 859, VoidStorageDuration = 860, VoidStorageLoadFailed = 861, VoidStorageInvalidItem = 862, ParentalControlsChatMuted = 863, SorStartExperienceIncomplete = 864, SorInvalidEmail = 865, SorInvalidComment = 866, ChallengeModeResetCooldownS = 867, ChallengeModeResetKeystone = 868, PetJournalAlreadyInLoadout = 869, ReportSubmittedSuccessfully = 870, ReportSubmissionFailed = 871, SuggestionSubmittedSuccessfully = 872, BugSubmittedSuccessfully = 873, ChallengeModeEnabled = 874, ChallengeModeDisabled = 875, PetbattleCreateFailed = 876, PetbattleNotHere = 877, PetbattleNotHereOnTransport = 878, PetbattleNotHereUnevenGround = 879, PetbattleNotHereObstructed = 880, PetbattleNotWhileInCombat = 881, PetbattleNotWhileDead = 882, PetbattleNotWhileFlying = 883, PetbattleTargetInvalid = 884, PetbattleTargetOutOfRange = 885, PetbattleTargetNotCapturable = 886, PetbattleNotATrainer = 887, PetbattleDeclined = 888, PetbattleInBattle = 889, PetbattleInvalidLoadout = 890, PetbattleAllPetsDead = 891, PetbattleNoPetsInSlots = 892, PetbattleNoAccountLock = 893, PetbattleWildPetTapped = 894, PetbattleRestrictedAccount = 895, PetbattleNotWhileInMatchedBattle = 896, CantHaveMorePetsOfThatType = 897, CantHaveMorePets = 898, PvpMapNotFound = 899, PvpMapNotSet = 900, PetbattleQueueQueued = 901, PetbattleQueueAlreadyQueued = 902, PetbattleQueueJoinFailed = 903, PetbattleQueueJournalLock = 904, PetbattleQueueRemoved = 905, PetbattleQueueProposalDeclined = 906, PetbattleQueueProposalTimeout = 907, PetbattleQueueOpponentDeclined = 908, PetbattleQueueRequeuedInternal = 909, PetbattleQueueRequeuedRemoved = 910, PetbattleQueueSlotLocked = 911, PetbattleQueueSlotEmpty = 912, PetbattleQueueSlotNoTracker = 913, PetbattleQueueSlotNoSpecies = 914, PetbattleQueueSlotCantBattle = 915, PetbattleQueueSlotRevoked = 916, PetbattleQueueSlotDead = 917, PetbattleQueueSlotNoPet = 918, PetbattleQueueNotWhileNeutral = 919, PetbattleGameTimeLimitWarning = 920, PetbattleGameRoundsLimitWarning = 921, HasRestriction = 922, ItemUpgradeItemTooLowLevel = 923, ItemUpgradeNoPath = 924, ItemUpgradeNoMoreUpgrades = 925, BonusRollEmpty = 926, ChallengeModeFull = 927, ChallengeModeInProgress = 928, ChallengeModeIncorrectKeystone = 929, BattletagFriendNotFound = 930, BattletagFriendNotValid = 931, BattletagFriendNotAllowed = 932, BattletagFriendThrottled = 933, BattletagFriendSuccess = 934, PetTooHighLevelToUncage = 935, PetbattleInternal = 936, CantCagePetYet = 937, NoLootInChallengeMode = 938, QuestPetBattleVictoriesPvpIi = 939, RoleCheckAlreadyInProgress = 940, RecruitAFriendAccountLimit = 941, RecruitAFriendFailed = 942, SetLootPersonal = 943, SetLootMethodFailedCombat = 944, ReagentBankFull = 945, ReagentBankLocked = 946, GarrisonBuildingExists = 947, GarrisonInvalidPlot = 948, GarrisonInvalidBuildingid = 949, GarrisonInvalidPlotBuilding = 950, GarrisonRequiresBlueprint = 951, GarrisonNotEnoughCurrency = 952, GarrisonNotEnoughGold = 953, GarrisonCompleteMissionWrongFollowerType = 954, AlreadyUsingLfgList = 955, RestrictedAccountLfgListTrial = 956, ToyUseLimitReached = 957, ToyAlreadyKnown = 958, TransmogSetAlreadyKnown = 959, NotEnoughCurrency = 960, SpecIsDisabled = 961, FeatureRestrictedTrial = 962, CantBeObliterated = 963, ArtifactRelicDoesNotMatchArtifact = 964, MustEquipArtifact = 965, CantDoThatRightNow = 966, AffectingCombat = 967, EquipmentManagerCombatSwapS = 968, EquipmentManagerBagsFull = 969, EquipmentManagerMissingItemS = 970, MovieRecordingWarningPerf = 971, MovieRecordingWarningDiskFull = 972, MovieRecordingWarningNoMovie = 973, MovieRecordingWarningRequirements = 974, MovieRecordingWarningCompressing = 975, NoChallengeModeReward = 976, ClaimedChallengeModeReward = 977, ChallengeModePeriodResetSs = 978, CantDoThatChallengeModeActive = 979, TalentFailedRestArea = 980, CannotAbandonLastPet = 981, TestCvarSetSss = 982, QuestTurnInFailReason = 983, ClaimedChallengeModeRewardOld = 984, TalentGrantedByAura = 985, ChallengeModeAlreadyComplete = 986, GlyphTargetNotAvailable = 987 } public enum SceneFlags { Unk1 = 0x01, CancelAtEnd = 0x02, NotCancelable = 0x04, Unk8 = 0x08, Unk16 = 0x10, // 16, most common value Unk32 = 0x20 } public enum WorldMapTransformsFlags { Dungeon = 0x04 } }