/* * Copyright (C) 2012-2017 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 * Time.InMilliseconds; 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 struct PhaseMasks { public const uint Normal = 0x00000001; public const uint Anywhere = 0xFFFFFFFF; } 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 { 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, Max = 27, 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))), RaceMaskAlliance = ((1 << (Human - 1)) | (1 << (Dwarf - 1)) | (1 << (NightElf - 1)) | (1 << (Gnome - 1)) | (1 << (Draenei - 1)) | (1 << (Worgen - 1)) | (1 << (PandarenAlliance - 1))), RaceMaskHorde = RaceMaskAllPlayable & ~RaceMaskAlliance } public enum Expansion { LevelCurrent = -1, Classic = 0, BurningCrusade = 1, WrathOfTheLichKing = 2, Cataclysm = 3, MistsOfPandaria = 4, WarlordsOfDraenor = 5, Legion = 6, Max } public enum PowerType : byte { 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 = 0xFE, // (-2 as signed value) MaxPerClass = 6 } public enum Stats { Strength = 0, Agility = 1, Stamina = 2, Intellect = 3, Max = 4 } public enum TrainerType { Class = 0, Mounts = 1, Tradeskills = 2, Pets = 3 } public enum TrainerSpellState { Gray = 0, Green = 1, Red = 2, GreenDisabled = 10 } 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, 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, AllowPlayerCommands, 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, CharacterCreatingMinLevelForDeathKnight, 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, DeathKnightsPerRealm, 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, LfgJoinedList = 771, LfgLeftQueue = 772, LfgLeftList = 773, LfgRoleCheckAborted = 774, LfgReadyCheckAborted = 775, LfgCantUseBattleground = 776, LfgCantUseDungeons = 777, LfgReasonTooManyLfg = 778, InvalidTeleportLocation = 779, TooFarToInteract = 780, BattlegroundPlayersFromDifferentRealms = 781, DifficultyChangeCooldownS = 782, DifficultyChangeCombatCooldownS = 783, DifficultyChangeWorldstate = 784, DifficultyChangeEncounter = 785, DifficultyChangeCombat = 786, DifficultyChangePlayerBusy = 787, DifficultyChangeAlreadyStarted = 788, DifficultyChangeOtherHeroicS = 789, DifficultyChangeHeroicInstanceAlreadyRunning = 790, ArenaTeamPartySize = 791, QuestForceRemovedS = 792, AttackNoActions = 793, InRandomBg = 794, InNonRandomBg = 795, AuctionEnoughItems = 796, BnFriendSelf = 797, BnFriendAlready = 798, BnFriendBlocked = 799, BnFriendListFull = 800, BnFriendRequestSent = 801, BnBroadcastThrottle = 802, BgDeveloperOnly = 803, CurrencySpellSlotMismatch = 804, CurrencyNotTradable = 805, RequiresExpansionS = 806, QuestFailedSpell = 807, TalentFailedNotEnoughTalentsInPrimaryTree = 808, TalentFailedNoPrimaryTreeSelected = 809, TalentFailedCantRemoveTalent = 810, TalentFailedUnknown = 811, WargameRequestFailure = 812, RankRequiresAuthenticator = 813, GuildBankVoucherFailed = 814, WargameRequestSent = 815, RequiresAchievementI = 816, RefundResultExceedMaxCurrency = 817, CantBuyQuantity = 818, ItemIsBattlePayLocked = 819, PartyAlreadyInBattlegroundQueue = 820, PartyConfirmingBattlegroundQueue = 821, BattlefieldTeamPartySize = 822, InsuffTrackedCurrencyIs = 823, NotOnTournamentRealm = 824, GuildTrialAccountTrial = 825, GuildTrialAccountVeteran = 826, GuildUndeletableDueToLevel = 827, CantDoThatInAGroup = 828, GuildLeaderReplaced = 829, TransmogrifyCantEquip = 830, TransmogrifyInvalidItemType = 831, TransmogrifyNotSoulbound = 832, TransmogrifyInvalidSource = 833, TransmogrifyInvalidDestination = 834, TransmogrifyMismatch = 835, TransmogrifyLegendary = 836, TransmogrifySameItem = 837, TransmogrifySameAppearance = 838, TransmogrifyNotEquipped = 839, VoidDepositFull = 840, VoidWithdrawFull = 841, VoidStorageWrapped = 842, VoidStorageStackable = 843, VoidStorageUnbound = 844, VoidStorageRepair = 845, VoidStorageCharges = 846, VoidStorageQuest = 847, VoidStorageConjured = 848, VoidStorageMail = 849, VoidStorageBag = 850, VoidTransferStorageFull = 851, VoidTransferInvFull = 852, VoidTransferInternalError = 853, VoidTransferItemInvalid = 854, DifficultyDisabledInLfg = 855, VoidStorageUnique = 856, VoidStorageLoot = 857, VoidStorageHoliday = 858, VoidStorageDuration = 859, VoidStorageLoadFailed = 860, VoidStorageInvalidItem = 861, ParentalControlsChatMuted = 862, SorStartExperienceIncomplete = 863, SorInvalidEmail = 864, SorInvalidComment = 865, ChallengeModeResetCooldownS = 866, ChallengeModeResetKeystone = 867, PetJournalAlreadyInLoadout = 868, ReportSubmittedSuccessfully = 869, ReportSubmissionFailed = 870, SuggestionSubmittedSuccessfully = 871, BugSubmittedSuccessfully = 872, ChallengeModeEnabled = 873, ChallengeModeDisabled = 874, PetbattleCreateFailed = 875, PetbattleNotHere = 876, PetbattleNotHereOnTransport = 877, PetbattleNotHereUnevenGround = 878, PetbattleNotHereObstructed = 879, PetbattleNotWhileInCombat = 880, PetbattleNotWhileDead = 881, PetbattleNotWhileFlying = 882, PetbattleTargetInvalid = 883, PetbattleTargetOutOfRange = 884, PetbattleTargetNotCapturable = 885, PetbattleNotATrainer = 886, PetbattleDeclined = 887, PetbattleInBattle = 888, PetbattleInvalidLoadout = 889, PetbattleAllPetsDead = 890, PetbattleNoPetsInSlots = 891, PetbattleNoAccountLock = 892, PetbattleWildPetTapped = 893, PetbattleRestrictedAccount = 894, PetbattleNotWhileInMatchedBattle = 895, CantHaveMorePetsOfThatType = 896, CantHaveMorePets = 897, PvpMapNotFound = 898, PvpMapNotSet = 899, PetbattleQueueQueued = 900, PetbattleQueueAlreadyQueued = 901, PetbattleQueueJoinFailed = 902, PetbattleQueueJournalLock = 903, PetbattleQueueRemoved = 904, PetbattleQueueProposalDeclined = 905, PetbattleQueueProposalTimeout = 906, PetbattleQueueOpponentDeclined = 907, PetbattleQueueRequeuedInternal = 908, PetbattleQueueRequeuedRemoved = 909, PetbattleQueueSlotLocked = 910, PetbattleQueueSlotEmpty = 911, PetbattleQueueSlotNoTracker = 912, PetbattleQueueSlotNoSpecies = 913, PetbattleQueueSlotCantBattle = 914, PetbattleQueueSlotRevoked = 915, PetbattleQueueSlotDead = 916, PetbattleQueueSlotNoPet = 917, PetbattleQueueNotWhileNeutral = 918, PetbattleGameTimeLimitWarning = 919, PetbattleGameRoundsLimitWarning = 920, HasRestriction = 921, ItemUpgradeItemTooLowLevel = 922, ItemUpgradeNoPath = 923, ItemUpgradeNoMoreUpgrades = 924, BonusRollEmpty = 925, ChallengeModeFull = 926, ChallengeModeInProgress = 927, ChallengeModeIncorrectKeystone = 928, BattletagFriendNotFound = 929, BattletagFriendNotValid = 930, BattletagFriendNotAllowed = 931, BattletagFriendThrottled = 932, BattletagFriendSuccess = 933, PetTooHighLevelToUncage = 934, PetbattleInternal = 935, CantCagePetYet = 936, NoLootInChallengeMode = 937, QuestPetBattleVictoriesPvpIi = 938, RoleCheckAlreadyInProgress = 939, RecruitAFriendAccountLimit = 940, RecruitAFriendFailed = 941, SetLootPersonal = 942, SetLootMethodFailedCombat = 943, ReagentBankFull = 944, ReagentBankLocked = 945, GarrisonBuildingExists = 946, GarrisonInvalidPlot = 947, GarrisonInvalidBuildingid = 948, GarrisonInvalidPlotBuilding = 949, GarrisonRequiresBlueprint = 950, GarrisonNotEnoughCurrency = 951, GarrisonNotEnoughGold = 952, GarrisonCompleteMissionWrongFollowerType = 953, AlreadyUsingLfgList = 954, RestrictedAccountLfgListTrial = 955, ToyUseLimitReached = 956, ToyAlreadyKnown = 957, TransmogSetAlreadyKnown = 958, NotEnoughCurrency = 959, SpecIsDisabled = 960, FeatureRestrictedTrial = 961, CantBeObliterated = 962, ArtifactRelicDoesNotMatchArtifact = 963, MustEquipArtifact = 964, CantDoThatRightNow = 965, AffectingCombat = 966, EquipmentManagerCombatSwapS = 967, EquipmentManagerBagsFull = 968, EquipmentManagerMissingItemS = 969, MovieRecordingWarningPerf = 970, MovieRecordingWarningDiskFull = 971, MovieRecordingWarningNoMovie = 972, MovieRecordingWarningRequirements = 973, MovieRecordingWarningCompressing = 974, NoChallengeModeReward = 975, ClaimedChallengeModeReward = 976, ChallengeModePeriodResetSs = 977, CantDoThatChallengeModeActive = 978, TalentFailedRestArea = 979, CannotAbandonLastPet = 980, TestCvarSetSss = 981, QuestTurnInFailReason = 982, ClaimedChallengeModeRewardOld = 983, TalentGrantedByAura = 984 } public enum SceneFlags { Unk1 = 0x01, CancelAtEnd = 0x02, NotCancelable = 0x04, Unk8 = 0x08, Unk16 = 0x10, // 16, most common value Unk32 = 0x20 } }