/*
* This file is part of the TrinityCore Project. See AUTHORS file for Copyright information
*
* 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 2 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 .
*/
#ifndef TRINITY_SHAREDDEFINES_H
#define TRINITY_SHAREDDEFINES_H
#include "Define.h"
#include "EnumFlag.h"
#include
float const GROUND_HEIGHT_TOLERANCE = 0.05f; // Extra tolerance to z position to check if it is in air or on ground.
constexpr float Z_OFFSET_FIND_HEIGHT = 0.5f;
enum SpellEffIndex : uint8
{
EFFECT_0 = 0,
EFFECT_1 = 1,
EFFECT_2 = 2,
EFFECT_3 = 3,
EFFECT_4 = 4,
EFFECT_5 = 5,
EFFECT_6 = 6,
EFFECT_7 = 7,
EFFECT_8 = 8,
EFFECT_9 = 9,
EFFECT_10 = 10,
EFFECT_11 = 11,
EFFECT_12 = 12,
EFFECT_13 = 13,
EFFECT_14 = 14,
EFFECT_15 = 15,
EFFECT_16 = 16,
EFFECT_17 = 17,
EFFECT_18 = 18,
EFFECT_19 = 19,
EFFECT_20 = 20,
EFFECT_21 = 21,
EFFECT_22 = 22,
EFFECT_23 = 23,
EFFECT_24 = 24,
EFFECT_25 = 25,
EFFECT_26 = 26,
EFFECT_27 = 27,
EFFECT_28 = 28,
EFFECT_29 = 29,
EFFECT_30 = 30,
EFFECT_31 = 31
};
enum class SpellTargetIndex : uint8
{
TargetA = 0,
TargetB = 1
};
// used in script definitions
#define EFFECT_FIRST_FOUND 254
#define EFFECT_ALL 255
// loot modes for creatures and gameobjects, bitmask!
enum LootModes
{
LOOT_MODE_DEFAULT = 0x1,
LOOT_MODE_HARD_MODE_1 = 0x2,
LOOT_MODE_HARD_MODE_2 = 0x4,
LOOT_MODE_HARD_MODE_3 = 0x8,
LOOT_MODE_HARD_MODE_4 = 0x10,
LOOT_MODE_JUNK_FISH = 0x8000
};
#define MAX_CHARACTERS_PER_REALM 200
enum Expansions
{
EXPANSION_LEVEL_CURRENT = -1,
EXPANSION_CLASSIC = 0,
EXPANSION_THE_BURNING_CRUSADE = 1,
EXPANSION_WRATH_OF_THE_LICH_KING = 2,
EXPANSION_CATACLYSM = 3,
EXPANSION_MISTS_OF_PANDARIA = 4,
EXPANSION_WARLORDS_OF_DRAENOR = 5,
EXPANSION_LEGION = 6,
EXPANSION_BATTLE_FOR_AZEROTH = 7,
EXPANSION_SHADOWLANDS = 8,
EXPANSION_DRAGONFLIGHT = 9,
EXPANSION_THE_WAR_WITHIN = 10,
MAX_EXPANSIONS,
MAX_ACCOUNT_EXPANSIONS
};
#define CURRENT_EXPANSION EXPANSION_THE_WAR_WITHIN
constexpr uint32 GetMaxLevelForExpansion(uint32 expansion)
{
switch (expansion)
{
case EXPANSION_CLASSIC:
return 30;
case EXPANSION_THE_BURNING_CRUSADE:
return 30;
case EXPANSION_WRATH_OF_THE_LICH_KING:
return 30;
case EXPANSION_CATACLYSM:
return 35;
case EXPANSION_MISTS_OF_PANDARIA:
return 35;
case EXPANSION_WARLORDS_OF_DRAENOR:
return 40;
case EXPANSION_LEGION:
return 45;
case EXPANSION_BATTLE_FOR_AZEROTH:
return 50;
case EXPANSION_SHADOWLANDS:
return 60;
case EXPANSION_DRAGONFLIGHT:
return 70;
case EXPANSION_THE_WAR_WITHIN:
return 80;
default:
break;
}
return 0;
}
enum Gender
{
GENDER_UNKNOWN = -1,
GENDER_MALE = 0,
GENDER_FEMALE = 1,
GENDER_NONE = 2
};
// Class value is index in ChrClasses.db2
// EnumUtils: DESCRIBE THIS
enum Classes : uint8
{
CLASS_NONE = 0, // SKIP
CLASS_WARRIOR = 1, // TITLE Warrior
CLASS_PALADIN = 2, // TITLE Paladin
CLASS_HUNTER = 3, // TITLE Hunter
CLASS_ROGUE = 4, // TITLE Rogue
CLASS_PRIEST = 5, // TITLE Priest
CLASS_DEATH_KNIGHT = 6, // TITLE Death Knight
CLASS_SHAMAN = 7, // TITLE Shaman
CLASS_MAGE = 8, // TITLE Mage
CLASS_WARLOCK = 9, // TITLE Warlock
CLASS_MONK = 10, // TITLE Monk
CLASS_DRUID = 11, // TITLE Druid
CLASS_DEMON_HUNTER = 12, // TITLE Demon Hunter
CLASS_EVOKER = 13, // TITLE Evoker
CLASS_ADVENTURER = 14 // TITLE Adventurer
};
// max+1 for player class
#define MAX_CLASSES 15
#define CLASSMASK_ALL_PLAYABLE \
((1<<(CLASS_WARRIOR-1)) | \
(1<<(CLASS_PALADIN-1)) | \
(1<<(CLASS_HUNTER-1)) | \
(1<<(CLASS_ROGUE-1)) | \
(1<<(CLASS_PRIEST-1)) | \
(1<<(CLASS_DEATH_KNIGHT-1)) | \
(1<<(CLASS_SHAMAN-1)) | \
(1<<(CLASS_MAGE-1)) | \
(1<<(CLASS_WARLOCK-1)) | \
(1<<(CLASS_MONK-1)) | \
(1<<(CLASS_DRUID-1)) | \
(1<<(CLASS_DEMON_HUNTER-1)) | \
(1<<(CLASS_EVOKER-1)))
// valid classes for creature_template.unit_class
enum UnitClass
{
UNIT_CLASS_WARRIOR = 1,
UNIT_CLASS_PALADIN = 2,
UNIT_CLASS_ROGUE = 4,
UNIT_CLASS_MAGE = 8
};
static constexpr uint8 MAX_UNIT_CLASSES = 4;
#define CLASSMASK_ALL_CREATURES ((1<<(UNIT_CLASS_WARRIOR-1)) | (1<<(UNIT_CLASS_PALADIN-1)) | (1<<(UNIT_CLASS_ROGUE-1)) | (1<<(UNIT_CLASS_MAGE-1)))
#define CLASSMASK_WAND_USERS ((1<<(CLASS_PRIEST-1)) | (1<<(CLASS_MAGE-1)) | (1<<(CLASS_WARLOCK-1)))
static constexpr uint8 PLAYER_MAX_BATTLEGROUND_QUEUES = 3;
enum ReputationRank
{
REP_HATED = 0,
REP_HOSTILE = 1,
REP_UNFRIENDLY = 2,
REP_NEUTRAL = 3,
REP_FRIENDLY = 4,
REP_HONORED = 5,
REP_REVERED = 6,
REP_EXALTED = 7
};
enum FactionTemplates
{
FACTION_NONE = 0,
FACTION_CREATURE = 7,
FACTION_ESCORTEE_A_NEUTRAL_PASSIVE = 10,
FACTION_MONSTER = 14,
FACTION_MONSTER_2 = 16,
FACTION_TROLL_BLOODSCALP = 28,
FACTION_PREY = 31,
FACTION_ESCORTEE_H_NEUTRAL_PASSIVE = 33,
FACTION_FRIENDLY = 35,
FACTION_TROLL_FROSTMANE = 37,
FACTION_OGRE = 45,
FACTION_ORC_DRAGONMAW = 62,
FACTION_HORDE_GENERIC = 83,
FACTION_ALLIANCE_GENERIC = 84,
FACTION_DEMON = 90,
FACTION_ELEMENTAL = 91,
FACTION_DRAGONFLIGHT_BLACK = 103,
FACTION_ESCORTEE_N_NEUTRAL_PASSIVE = 113,
FACTION_ENEMY = 168,
FACTION_ESCORTEE_A_NEUTRAL_ACTIVE = 231,
FACTION_ESCORTEE_H_NEUTRAL_ACTIVE = 232,
FACTION_ESCORTEE_N_NEUTRAL_ACTIVE = 250,
FACTION_ESCORTEE_N_FRIEND_PASSIVE = 290,
FACTION_TITAN = 415,
FACTION_ESCORTEE_N_FRIEND_ACTIVE = 495,
FACTION_RATCHET = 637,
FACTION_GOBLIN_DARK_IRON_BAR_PATRON = 736,
FACTION_DARK_IRON_DWARVES = 754,
FACTION_ESCORTEE_A_PASSIVE = 774,
FACTION_ESCORTEE_H_PASSIVE = 775,
FACTION_UNDEAD_SCOURGE = 974,
FACTION_EARTHEN_RING = 1726,
FACTION_ALLIANCE_GENERIC_WG = 1732,
FACTION_HORDE_GENERIC_WG = 1735,
FACTION_ARAKKOA = 1738,
FACTION_ASHTONGUE_DEATHSWORN = 1820,
FACTION_FLAYER_HUNTER = 1840,
FACTION_MONSTER_SPAR_BUDDY = 1868,
FACTION_ESCORTEE_N_ACTIVE = 1986,
FACTION_ESCORTEE_H_ACTIVE = 2046,
FACTION_UNDEAD_SCOURGE_2 = 2068,
FACTION_UNDEAD_SCOURGE_3 = 2084,
FACTION_SCARLET_CRUSADE = 2089,
FACTION_SCARLET_CRUSADE_2 = 2096
};
#define MIN_REPUTATION_RANK (REP_HATED)
#define MAX_REPUTATION_RANK 8
#define MAX_SPILLOVER_FACTIONS 5
enum MoneyConstants
{
COPPER = 1,
SILVER = COPPER*100,
GOLD = SILVER*100
};
enum Stats : uint16
{
STAT_STRENGTH = 0,
STAT_AGILITY = 1,
STAT_STAMINA = 2,
STAT_INTELLECT = 3,
};
#define MAX_STATS 4
// EnumUtils: DESCRIBE THIS
enum Powers : int8
{
POWER_HEALTH = -2, // TITLE Health
POWER_MANA = 0, // TITLE Mana
POWER_RAGE = 1, // TITLE Rage
POWER_FOCUS = 2, // TITLE Focus
POWER_ENERGY = 3, // TITLE Energy
POWER_COMBO_POINTS = 4, // TITLE Combo Points
POWER_RUNES = 5, // TITLE Runes
POWER_RUNIC_POWER = 6, // TITLE Runic Power
POWER_SOUL_SHARDS = 7, // TITLE Soul Shards
POWER_LUNAR_POWER = 8, // TITLE Lunar Power
POWER_HOLY_POWER = 9, // TITLE Holy Power
POWER_ALTERNATE_POWER = 10, // TITLE Alternate
POWER_MAELSTROM = 11, // TITLE Maelstrom
POWER_CHI = 12, // TITLE Chi
POWER_INSANITY = 13, // TITLE Insanity
POWER_BURNING_EMBERS = 14, // TITLE Burning Embers (Obsolete)
POWER_DEMONIC_FURY = 15, // TITLE Demonic Fury (Obsolete)
POWER_ARCANE_CHARGES = 16, // TITLE Arcane Charges
POWER_FURY = 17, // TITLE Fury
POWER_PAIN = 18, // TITLE Pain
POWER_ESSENCE = 19, // TITLE Essence
POWER_RUNE_BLOOD = 20, // TITLE Blood Runes
POWER_RUNE_FROST = 21, // TITLE Frost Runes
POWER_RUNE_UNHOLY = 22, // TITLE Unholy Runes
POWER_ALTERNATE_QUEST = 23, // TITLE Alternate (Quest)
POWER_ALTERNATE_ENCOUNTER = 24, // TITLE Alternate (Encounter)
POWER_ALTERNATE_MOUNT = 25, // TITLE Alternate (Mount)
MAX_POWERS = 26, // SKIP
POWER_ALL = 127 // SKIP
};
#define MAX_POWERS_PER_CLASS 10
// EnumUtils: DESCRIBE THIS
enum SpellSchools : uint16
{
SPELL_SCHOOL_NORMAL = 0, // TITLE Physical
SPELL_SCHOOL_HOLY = 1, // TITLE Holy
SPELL_SCHOOL_FIRE = 2, // TITLE Fire
SPELL_SCHOOL_NATURE = 3, // TITLE Nature
SPELL_SCHOOL_FROST = 4, // TITLE Frost
SPELL_SCHOOL_SHADOW = 5, // TITLE Shadow
SPELL_SCHOOL_ARCANE = 6, // TITLE Arcane
MAX_SPELL_SCHOOL = 7 // SKIP
};
enum SpellSchoolMask : uint32
{
SPELL_SCHOOL_MASK_NONE = 0x00, // not exist
SPELL_SCHOOL_MASK_NORMAL = (1 << SPELL_SCHOOL_NORMAL), // PHYSICAL (Armor)
SPELL_SCHOOL_MASK_HOLY = (1 << SPELL_SCHOOL_HOLY),
SPELL_SCHOOL_MASK_FIRE = (1 << SPELL_SCHOOL_FIRE),
SPELL_SCHOOL_MASK_NATURE = (1 << SPELL_SCHOOL_NATURE),
SPELL_SCHOOL_MASK_FROST = (1 << SPELL_SCHOOL_FROST),
SPELL_SCHOOL_MASK_SHADOW = (1 << SPELL_SCHOOL_SHADOW),
SPELL_SCHOOL_MASK_ARCANE = (1 << SPELL_SCHOOL_ARCANE),
// unions
// 124, not include normal and holy damage
SPELL_SCHOOL_MASK_SPELL = (SPELL_SCHOOL_MASK_FIRE |
SPELL_SCHOOL_MASK_NATURE | SPELL_SCHOOL_MASK_FROST |
SPELL_SCHOOL_MASK_SHADOW | SPELL_SCHOOL_MASK_ARCANE),
// 126
SPELL_SCHOOL_MASK_MAGIC = (SPELL_SCHOOL_MASK_HOLY | SPELL_SCHOOL_MASK_SPELL),
// 127
SPELL_SCHOOL_MASK_ALL = (SPELL_SCHOOL_MASK_NORMAL | SPELL_SCHOOL_MASK_MAGIC)
};
constexpr SpellSchoolMask GetMaskForSchool(SpellSchools school)
{
return SpellSchoolMask(1 << school);
}
inline SpellSchools GetFirstSchoolInMask(SpellSchoolMask mask)
{
// Do not use EnumUtils to iterate
// this can cause some compilers to instantiate Trinity::Impl::EnumUtils
// when compiling enuminfo_SharedDefines before their explicit specializations in that file
for (uint16 i = 0; i < MAX_SPELL_SCHOOL; ++i)
if (mask & (1 << i))
return SpellSchools(i);
return SPELL_SCHOOL_NORMAL;
}
enum ItemQualities : uint8
{
ITEM_QUALITY_POOR = 0, // GREY
ITEM_QUALITY_NORMAL = 1, // WHITE
ITEM_QUALITY_UNCOMMON = 2, // GREEN
ITEM_QUALITY_RARE = 3, // BLUE
ITEM_QUALITY_EPIC = 4, // PURPLE
ITEM_QUALITY_LEGENDARY = 5, // ORANGE
ITEM_QUALITY_ARTIFACT = 6, // LIGHT YELLOW
ITEM_QUALITY_HEIRLOOM = 7, // LIGHT BLUE
ITEM_QUALITY_WOW_TOKEN = 8, // LIGHT BLUE
MAX_ITEM_QUALITY
};
enum SpellCategory
{
SPELL_CATEGORY_FOOD = 11,
SPELL_CATEGORY_DRINK = 59
};
enum SpellVisualKit
{
SPELL_VISUAL_KIT_FOOD = 406,
SPELL_VISUAL_KIT_DRINK = 438
};
uint32 constexpr ItemQualityColors[MAX_ITEM_QUALITY] =
{
0xff9d9d9d, // GREY
0xffffffff, // WHITE
0xff1eff00, // GREEN
0xff0070dd, // BLUE
0xffa335ee, // PURPLE
0xffff8000, // ORANGE
0xffe6cc80, // LIGHT YELLOW
0xff00ccff, // LIGHT BLUE
0xff00ccff // LIGHT BLUE
};
size_t constexpr MAX_QUEST_DIFFICULTY = 5;
uint32 constexpr QuestDifficultyColors[MAX_QUEST_DIFFICULTY] =
{
0xff40c040,
0xff808080,
0xffffff00,
0xffff8040,
0xffff2020
};
// ***********************************
// Spell Attributes definitions
// ***********************************
// EnumUtils: DESCRIBE THIS
enum SpellAttr0 : uint32
{
SPELL_ATTR0_PROC_FAILURE_BURNS_CHARGE = 0x00000001, // TITLE Proc Failure Burns Charge
SPELL_ATTR0_USES_RANGED_SLOT = 0x00000002, // TITLE Uses Ranged Slot DESCRIPTION Use ammo, ranged attack range modifiers, ranged haste, etc.
SPELL_ATTR0_ON_NEXT_SWING_NO_DAMAGE = 0x00000004, // TITLE On Next Swing (No Damage) DESCRIPTION Both "on next swing" attributes have identical handling in server & client
SPELL_ATTR0_DO_NOT_LOG_IMMUNE_MISSES = 0x00000008, // TITLE Do Not Log Immune Misses (client only)
SPELL_ATTR0_IS_ABILITY = 0x00000010, // TITLE Is Ability DESCRIPTION Cannot be reflected, not affected by cast speed modifiers, etc.
SPELL_ATTR0_IS_TRADESKILL = 0x00000020, // TITLE Is Tradeskill DESCRIPTION Displayed in recipe list, not affected by cast speed modifiers
SPELL_ATTR0_PASSIVE = 0x00000040, // TITLE Passive DESCRIPTION Spell is automatically cast on self by core
SPELL_ATTR0_DO_NOT_DISPLAY_SPELLBOOK_AURA_ICON_COMBAT_LOG = 0x00000080, // TITLE Do Not Display (Spellbook, Aura Icon, Combat Log) (client only) DESCRIPTION Not visible in spellbook or aura bar
SPELL_ATTR0_DO_NOT_LOG = 0x00000100, // TITLE Do Not Log (client only) DESCRIPTION Spell will not appear in combat logs
SPELL_ATTR0_HELD_ITEM_ONLY = 0x00000200, // TITLE Held Item Only (client only) DESCRIPTION Client will automatically select main-hand item as cast target
SPELL_ATTR0_ON_NEXT_SWING = 0x00000400, // TITLE On Next Swing DESCRIPTION Both "on next swing" attributes have identical handling in server & client
SPELL_ATTR0_WEARER_CASTS_PROC_TRIGGER = 0x00000800, // TITLE Wearer Casts Proc Trigger DESCRIPTION Just a marker attribute to show auras that trigger another spell (either directly or with a script)
SPELL_ATTR0_SERVER_ONLY = 0x00001000, // TITLE Server Only
SPELL_ATTR0_ALLOW_ITEM_SPELL_IN_PVP = 0x00002000, // TITLE Allow Item Spell In PvP
SPELL_ATTR0_ONLY_INDOORS = 0x00004000, // TITLE Only Indoors
SPELL_ATTR0_ONLY_OUTDOORS = 0x00008000, // TITLE Only Outdoors
SPELL_ATTR0_NOT_SHAPESHIFTED = 0x00010000, // TITLE Not Shapeshifted
SPELL_ATTR0_ONLY_STEALTHED = 0x00020000, // TITLE Only Stealthed
SPELL_ATTR0_DO_NOT_SHEATH = 0x00040000, // TITLE Do Not Sheath (client only)
SPELL_ATTR0_SCALES_WITH_CREATURE_LEVEL = 0x00080000, // TITLE Scales w/ Creature Level DESCRIPTION For non-player casts, scale impact and power cost with caster's level
SPELL_ATTR0_CANCELS_AUTO_ATTACK_COMBAT = 0x00100000, // TITLE Cancels Auto Attack Combat DESCRIPTION After casting this, the current auto-attack will be interrupted
SPELL_ATTR0_NO_ACTIVE_DEFENSE = 0x00200000, // TITLE No Active Defense DESCRIPTION Spell cannot be dodged, parried or blocked
SPELL_ATTR0_TRACK_TARGET_IN_CAST_PLAYER_ONLY = 0x00400000, // TITLE Track Target in Cast (Player Only) (client only)
SPELL_ATTR0_ALLOW_CAST_WHILE_DEAD = 0x00800000, // TITLE Allow Cast While Dead DESCRIPTION Spells without this flag cannot be cast by dead units in non-triggered contexts
SPELL_ATTR0_ALLOW_WHILE_MOUNTED = 0x01000000, // TITLE Allow While Mounted
SPELL_ATTR0_COOLDOWN_ON_EVENT = 0x02000000, // TITLE Cooldown On Event DESCRIPTION Spell is unusable while already active, and cooldown does not begin until the effects have worn off
SPELL_ATTR0_AURA_IS_DEBUFF = 0x04000000, // TITLE Aura Is Debuff DESCRIPTION Forces the spell to be treated as a negative spell
SPELL_ATTR0_ALLOW_WHILE_SITTING = 0x08000000, // TITLE Allow While Sitting
SPELL_ATTR0_NOT_IN_COMBAT_ONLY_PEACEFUL = 0x10000000, // TITLE Not In Combat (Only Peaceful)
SPELL_ATTR0_NO_IMMUNITIES = 0x20000000, // TITLE No Immunities DESCRIPTION Allows spell to pierce invulnerability, unless the invulnerability spell also has this attribute
SPELL_ATTR0_HEARTBEAT_RESIST = 0x40000000, // TITLE Heartbeat Resist DESCRIPTION Periodically re-rolls against resistance to potentially expire aura early
SPELL_ATTR0_NO_AURA_CANCEL = 0x80000000 // TITLE No Aura Cancel DESCRIPTION Prevents the player from voluntarily canceling a positive aura
};
// EnumUtils: DESCRIBE THIS
enum SpellAttr1 : uint32
{
SPELL_ATTR1_DISMISS_PET_FIRST = 0x00000001, // TITLE Dismiss Pet First DESCRIPTION Without this attribute, summoning spells will fail if caster already has a pet
SPELL_ATTR1_USE_ALL_MANA = 0x00000002, // TITLE Use All Mana DESCRIPTION Ignores listed power cost and drains entire pool instead
SPELL_ATTR1_IS_CHANNELLED = 0x00000004, // TITLE Is Channelled DESCRIPTION Both "channeled" attributes have identical handling in server & client
SPELL_ATTR1_NO_REDIRECTION = 0x00000008, // TITLE No Redirection DESCRIPTION Spell will not be attracted by SPELL_MAGNET auras (Grounding Totem)
SPELL_ATTR1_NO_SKILL_INCREASE = 0x00000010, // TITLE No Skill Increase
SPELL_ATTR1_ALLOW_WHILE_STEALTHED = 0x00000020, // TITLE Allow While Stealthed
SPELL_ATTR1_IS_SELF_CHANNELLED = 0x00000040, // TITLE Is Self Channelled DESCRIPTION Both "channeled" attributes have identical handling in server & client
SPELL_ATTR1_NO_REFLECTION = 0x00000080, // TITLE No Reflection DESCRIPTION Spell will pierce through Spell Reflection and similar
SPELL_ATTR1_ONLY_PEACEFUL_TARGETS = 0x00000100, // TITLE Only Peaceful Targets DESCRIPTION Target cannot be in combat
SPELL_ATTR1_INITIATES_COMBAT_ENABLES_AUTO_ATTACK = 0x00000200, // TITLE Initiates Combat (Enables Auto-Attack) (client only) DESCRIPTION Caster will begin auto-attacking the target on cast
SPELL_ATTR1_NO_THREAT = 0x00000400, // TITLE No Threat DESCRIPTION Also does not cause target to engage
SPELL_ATTR1_AURA_UNIQUE = 0x00000800, // TITLE Aura Unique DESCRIPTION Aura will not refresh its duration when recast
SPELL_ATTR1_FAILURE_BREAKS_STEALTH = 0x00001000, // TITLE Failure Breaks Stealth
SPELL_ATTR1_TOGGLE_FAR_SIGHT = 0x00002000, // TITLE Toggle Far Sight (client only)
SPELL_ATTR1_TRACK_TARGET_IN_CHANNEL = 0x00004000, // TITLE Track Target in Channel DESCRIPTION While channeling, adjust facing to face target
SPELL_ATTR1_IMMUNITY_PURGES_EFFECT = 0x00008000, // TITLE Immunity Purges Effect DESCRIPTION For immunity spells, cancel all auras that this spell would make you immune to when the spell is applied
SPELL_ATTR1_IMMUNITY_TO_HOSTILE_AND_FRIENDLY_EFFECTS = 0x00010000, // TITLE Immunity to Hostile & Friendly Effects DESCRIPTION Immunity applied by this aura will also be checked for friendly spells (school immunity only) - used by Cyclone for example to cause friendly spells and healing over time to be immuned
SPELL_ATTR1_NO_AUTOCAST_AI = 0x00020000, // TITLE No AutoCast (AI)
SPELL_ATTR1_PREVENTS_ANIM = 0x00040000, /*NYI*/ // TITLE Prevents Anim DESCRIPTION Auras apply UNIT_FLAG_PREVENT_EMOTES_FROM_CHAT_TEXT
SPELL_ATTR1_EXCLUDE_CASTER = 0x00080000, // TITLE Exclude Caster
SPELL_ATTR1_FINISHING_MOVE_DAMAGE = 0x00100000, // TITLE Finishing Move - Damage
SPELL_ATTR1_THREAT_ONLY_ON_MISS = 0x00200000, /*NYI*/ // TITLE Threat only on Miss
SPELL_ATTR1_FINISHING_MOVE_DURATION = 0x00400000, // TITLE Finishing Move - Duration
SPELL_ATTR1_IGNORE_OWNERS_DEATH = 0x00800000, /*NYI*/ // TITLE Ignore Owner's Death
SPELL_ATTR1_SPECIAL_SKILLUP = 0x01000000, // TITLE Special Skillup
SPELL_ATTR1_AURA_STAYS_AFTER_COMBAT = 0x02000000, // TITLE Aura Stays After Combat
SPELL_ATTR1_REQUIRE_ALL_TARGETS = 0x04000000, // TITLE Require All Targets
SPELL_ATTR1_DISCOUNT_POWER_ON_MISS = 0x08000000, // TITLE Discount Power On Miss
SPELL_ATTR1_NO_AURA_ICON = 0x10000000, // TITLE No Aura Icon (client only)
SPELL_ATTR1_NAME_IN_CHANNEL_BAR = 0x20000000, // TITLE Name in Channel Bar (client only)
SPELL_ATTR1_DISPEL_ALL_STACKS = 0x40000000, // TITLE Dispel All Stacks
SPELL_ATTR1_CAST_WHEN_LEARNED = 0x80000000 // TITLE Cast When Learned
};
// EnumUtils: DESCRIBE THIS
enum SpellAttr2 : uint32
{
SPELL_ATTR2_ALLOW_DEAD_TARGET = 0x00000001, // TITLE Allow Dead Target
SPELL_ATTR2_NO_SHAPESHIFT_UI = 0x00000002, // TITLE No shapeshift UI (client only) DESCRIPTION Does not replace action bar when shapeshifted
SPELL_ATTR2_IGNORE_LINE_OF_SIGHT = 0x00000004, // TITLE Ignore Line of Sight
SPELL_ATTR2_ALLOW_LOW_LEVEL_BUFF = 0x00000008, // TITLE Allow Low Level Buff
SPELL_ATTR2_USE_SHAPESHIFT_BAR = 0x00000010, // TITLE Use Shapeshift Bar (client only)
SPELL_ATTR2_AUTO_REPEAT = 0x00000020, // TITLE Auto Repeat
SPELL_ATTR2_CANNOT_CAST_ON_TAPPED = 0x00000040, // TITLE Cannot cast on tapped DESCRIPTION Can only target untapped units, or those tapped by caster
SPELL_ATTR2_DO_NOT_REPORT_SPELL_FAILURE = 0x00000080, // TITLE Do Not Report Spell Failure
SPELL_ATTR2_INCLUDE_IN_ADVANCED_COMBAT_LOG = 0x00000100, // TITLE Include In Advanced Combat Log (client only) DESCRIPTION Determines whether to include this aura in list of auras in SMSG_ENCOUNTER_START
SPELL_ATTR2_ALWAYS_CAST_AS_UNIT = 0x00000200, /*NYI, UNK*/ // TITLE Always Cast As Unit
SPELL_ATTR2_SPECIAL_TAMING_FLAG = 0x00000400, // TITLE Special Taming Flag DESCRIPTION Related to taming?
SPELL_ATTR2_NO_TARGET_PER_SECOND_COSTS = 0x00000800, // TITLE No Target Per-Second Costs
SPELL_ATTR2_CHAIN_FROM_CASTER = 0x00001000, // TITLE Chain From Caster
SPELL_ATTR2_ENCHANT_OWN_ITEM_ONLY = 0x00002000, // TITLE Enchant own item only
SPELL_ATTR2_ALLOW_WHILE_INVISIBLE = 0x00004000, // TITLE Allow While Invisible
SPELL_ATTR2_DO_NOT_CONSUME_IF_GAINED_DURING_CAST = 0x00008000, // TITLE Do Not Consume if Gained During Cast
SPELL_ATTR2_NO_ACTIVE_PETS = 0x00010000, // TITLE No Active Pets
SPELL_ATTR2_DO_NOT_RESET_COMBAT_TIMERS = 0x00020000, // TITLE Do Not Reset Combat Timers DESCRIPTION Does not reset melee/ranged autoattack timer on cast
SPELL_ATTR2_NO_JUMP_WHILE_CAST_PENDING = 0x00040000, // TITLE No Jump While Cast Pending (client only)
SPELL_ATTR2_ALLOW_WHILE_NOT_SHAPESHIFTED_CASTER_FORM = 0x00080000, // TITLE Allow While Not Shapeshifted (caster form) DESCRIPTION Even if Stances are nonzero, allow spell to be cast outside of shapeshift (though not in a different shapeshift)
SPELL_ATTR2_INITIATE_COMBAT_POST_CAST_ENABLES_AUTO_ATTACK = 0x00100000, // TITLE Initiate Combat Post-Cast (Enables Auto-Attack)
SPELL_ATTR2_FAIL_ON_ALL_TARGETS_IMMUNE = 0x00200000, // TITLE Fail on all targets immune DESCRIPTION Causes BG flags to be dropped if combined with ATTR1_DISPEL_AURAS_ON_IMMUNITY
SPELL_ATTR2_NO_INITIAL_THREAT = 0x00400000, // TITLE No Initial Threat
SPELL_ATTR2_PROC_COOLDOWN_ON_FAILURE = 0x00800000, // TITLE Proc Cooldown On Failure
SPELL_ATTR2_ITEM_CAST_WITH_OWNER_SKILL = 0x01000000, // TITLE Item Cast With Owner Skill
SPELL_ATTR2_DONT_BLOCK_MANA_REGEN = 0x02000000, // TITLE Don't Block Mana Regen
SPELL_ATTR2_NO_SCHOOL_IMMUNITIES = 0x04000000, // TITLE No School Immunities DESCRIPTION Allow aura to be applied despite target being immune to new aura applications
SPELL_ATTR2_IGNORE_WEAPONSKILL = 0x08000000, // TITLE Ignore Weaponskill
SPELL_ATTR2_NOT_AN_ACTION = 0x10000000, // TITLE Not an Action
SPELL_ATTR2_CANT_CRIT = 0x20000000, // TITLE Can't Crit
SPELL_ATTR2_ACTIVE_THREAT = 0x40000000, // TITLE Active Threat
SPELL_ATTR2_RETAIN_ITEM_CAST = 0x80000000 // TITLE Retain Item Cast DESCRIPTION passes m_CastItem to triggered spells
};
// EnumUtils: DESCRIBE THIS
enum SpellAttr3 : uint32
{
SPELL_ATTR3_PVP_ENABLING = 0x00000001, // TITLE PvP Enabling
SPELL_ATTR3_NO_PROC_EQUIP_REQUIREMENT = 0x00000002, // TITLE No Proc Equip Requirement DESCRIPTION Ignores subclass mask check when checking proc
SPELL_ATTR3_NO_CASTING_BAR_TEXT = 0x00000004, // TITLE No Casting Bar Text
SPELL_ATTR3_COMPLETELY_BLOCKED = 0x00000008, // TITLE Completely Blocked
SPELL_ATTR3_NO_RES_TIMER = 0x00000010, // TITLE No Res Timer
SPELL_ATTR3_NO_DURABILITY_LOSS = 0x00000020, // TITLE No Durability Loss
SPELL_ATTR3_NO_AVOIDANCE = 0x00000040, // TITLE No Avoidance
SPELL_ATTR3_DOT_STACKING_RULE = 0x00000080, // TITLE DoT Stacking Rule DESCRIPTION Stack separately for each caster
SPELL_ATTR3_ONLY_ON_PLAYER = 0x00000100, // TITLE Only On Player
SPELL_ATTR3_NOT_A_PROC = 0x00000200, // TITLE Not a Proc DESCRIPTION Without this attribute, any triggered spell will be unable to trigger other auras' procs
SPELL_ATTR3_REQUIRES_MAIN_HAND_WEAPON = 0x00000400, // TITLE Requires Main-Hand Weapon
SPELL_ATTR3_ONLY_BATTLEGROUNDS = 0x00000800, // TITLE Only Battlegrounds
SPELL_ATTR3_ONLY_ON_GHOSTS = 0x00001000, // TITLE Only On Ghosts
SPELL_ATTR3_HIDE_CHANNEL_BAR = 0x00002000, // TITLE Hide Channel Bar (client only)
SPELL_ATTR3_HIDE_IN_RAID_FILTER = 0x00004000, // TITLE Hide In Raid Filter (client only)
SPELL_ATTR3_NORMAL_RANGED_ATTACK = 0x00008000, // TITLE Normal Ranged Attack DESCRIPTION Auto Shoot, Shoot, Throw - ranged normal attack attribute?
SPELL_ATTR3_SUPPRESS_CASTER_PROCS = 0x00010000, // TITLE Suppress Caster Procs
SPELL_ATTR3_SUPPRESS_TARGET_PROCS = 0x00020000, // TITLE Suppress Target Procs
SPELL_ATTR3_ALWAYS_HIT = 0x00040000, // TITLE Always Hit DESCRIPTION Spell cannot miss, or be dodged/parried/blocked
SPELL_ATTR3_INSTANT_TARGET_PROCS = 0x00080000, // TITLE Instant Target Procs DESCRIPTION Proc events are triggered before spell batching processes the spell hit on target
SPELL_ATTR3_ALLOW_AURA_WHILE_DEAD = 0x00100000, // TITLE Allow Aura While Dead
SPELL_ATTR3_ONLY_PROC_OUTDOORS = 0x00200000, // TITLE Only Proc Outdoors
SPELL_ATTR3_DO_NOT_TRIGGER_TARGET_STAND = 0x00400000, // TITLE Do Not Trigger Target Stand
SPELL_ATTR3_NO_DAMAGE_HISTORY = 0x00800000, /*NYI, no damage history implementation*/ // TITLE No Damage History
SPELL_ATTR3_REQUIRES_OFF_HAND_WEAPON = 0x01000000, // TITLE Requires Off-Hand Weapon
SPELL_ATTR3_TREAT_AS_PERIODIC = 0x02000000, // TITLE Treat As Periodic
SPELL_ATTR3_CAN_PROC_FROM_PROCS = 0x04000000, // TITLE Can Proc From Procs
SPELL_ATTR3_ONLY_PROC_ON_CASTER = 0x08000000, // TITLE Only Proc on Caster
SPELL_ATTR3_IGNORE_CASTER_AND_TARGET_RESTRICTIONS = 0x10000000, /*NYI*/ // TITLE Ignore Caster & Target Restrictions
SPELL_ATTR3_IGNORE_CASTER_MODIFIERS = 0x20000000, // TITLE Ignore Caster Modifiers
SPELL_ATTR3_DO_NOT_DISPLAY_RANGE = 0x40000000, // TITLE Do Not Display Range (client only)
SPELL_ATTR3_NOT_ON_AOE_IMMUNE = 0x80000000 // TITLE Not On AOE Immune
};
// EnumUtils: DESCRIBE THIS
enum SpellAttr4 : uint32
{
SPELL_ATTR4_NO_CAST_LOG = 0x00000001, // TITLE No Cast Log
SPELL_ATTR4_CLASS_TRIGGER_ONLY_ON_TARGET = 0x00000002, // TITLE Class Trigger Only On Target
SPELL_ATTR4_AURA_EXPIRES_OFFLINE = 0x00000004, // TITLE Aura Expires Offline DESCRIPTION Debuffs (except Resurrection Sickness) will automatically do this
SPELL_ATTR4_NO_HELPFUL_THREAT = 0x00000008, // TITLE No Helpful Threat
SPELL_ATTR4_NO_HARMFUL_THREAT = 0x00000010, // TITLE No Harmful Threat
SPELL_ATTR4_ALLOW_CLIENT_TARGETING = 0x00000020, // TITLE Allow Client Targeting DESCRIPTION Allows client to send spell targets for this spell. Applies only to pet spells, without this attribute CMSG_PET_ACTION is sent instead of CMSG_PET_CAST_SPELL
SPELL_ATTR4_CANNOT_BE_STOLEN = 0x00000040, // TITLE Cannot Be Stolen
SPELL_ATTR4_ALLOW_CAST_WHILE_CASTING = 0x00000080, // TITLE Allow Cast While Casting DESCRIPTION Ignores already in-progress cast and still casts
SPELL_ATTR4_IGNORE_DAMAGE_TAKEN_MODIFIERS = 0x00000100, // TITLE Ignore Damage Taken Modifiers
SPELL_ATTR4_COMBAT_FEEDBACK_WHEN_USABLE = 0x00000200, // TITLE Combat Feedback When Usable (client only)
SPELL_ATTR4_WEAPON_SPEED_COST_SCALING = 0x00000400, // TITLE Weapon Speed Cost Scaling DESCRIPTION Adds 10 to power cost for each 1s of weapon speed
SPELL_ATTR4_NO_PARTIAL_IMMUNITY = 0x00000800, // TITLE No Partial Immunity
SPELL_ATTR4_AURA_IS_BUFF = 0x00001000, // TITLE Aura Is Buff
SPELL_ATTR4_DO_NOT_LOG_CASTER = 0x00002000, // TITLE Do Not Log Caster
SPELL_ATTR4_REACTIVE_DAMAGE_PROC = 0x00004000, // TITLE Reactive Damage Proc DESCRIPTION Damage from spells with this attribute doesn't break auras that normally break on damage taken
SPELL_ATTR4_NOT_IN_SPELLBOOK = 0x00008000, // TITLE Not In Spellbook
SPELL_ATTR4_NOT_IN_ARENA_OR_RATED_BATTLEGROUND = 0x00010000, // TITLE Not In Arena or Rated Battleground DESCRIPTION Makes spell unusable despite CD <= 10min
SPELL_ATTR4_IGNORE_DEFAULT_ARENA_RESTRICTIONS = 0x00020000, // TITLE Ignore Default Arena Restrictions DESCRIPTION Makes spell usable despite CD > 10min
SPELL_ATTR4_BOUNCY_CHAIN_MISSILES = 0x00040000, // TITLE Bouncy Chain Missiles DESCRIPTION Hits area targets over time instead of all at once
SPELL_ATTR4_ALLOW_PROC_WHILE_SITTING = 0x00080000, // TITLE Allow Proc While Sitting
SPELL_ATTR4_AURA_NEVER_BOUNCES = 0x00100000, // TITLE Aura Never Bounces
SPELL_ATTR4_ALLOW_ENTERING_ARENA = 0x00200000, // TITLE Allow Entering Arena
SPELL_ATTR4_PROC_SUPPRESS_SWING_ANIM = 0x00400000, // TITLE Proc Suppress Swing Anim
SPELL_ATTR4_SUPPRESS_WEAPON_PROCS = 0x00800000, // TITLE Suppress Weapon Procs
SPELL_ATTR4_AUTO_RANGED_COMBAT = 0x01000000, // TITLE Auto Ranged Combat
SPELL_ATTR4_OWNER_POWER_SCALING = 0x02000000, // TITLE Owner Power Scaling
SPELL_ATTR4_ONLY_FLYING_AREAS = 0x04000000, // TITLE Only Flying Areas
SPELL_ATTR4_FORCE_DISPLAY_CASTBAR = 0x08000000, // TITLE Force Display Castbar
SPELL_ATTR4_IGNORE_COMBAT_TIMER = 0x10000000, // TITLE Ignore Combat Timer
SPELL_ATTR4_AURA_BOUNCE_FAILS_SPELL = 0x20000000, // TITLE Aura Bounce Fails Spell
SPELL_ATTR4_OBSOLETE = 0x40000000, // TITLE Obsolete
SPELL_ATTR4_USE_FACING_FROM_SPELL = 0x80000000 // TITLE Use Facing From Spell
};
// EnumUtils: DESCRIBE THIS
enum SpellAttr5 : uint32
{
SPELL_ATTR5_ALLOW_ACTIONS_DURING_CHANNEL = 0x00000001, // TITLE Allow Actions During Channel
SPELL_ATTR5_NO_REAGENT_COST_WITH_AURA = 0x00000002, // TITLE No Reagent Cost With Aura
SPELL_ATTR5_REMOVE_ENTERING_ARENA = 0x00000004, // TITLE Remove Entering Arena DESCRIPTION Force this aura to be removed on entering arena, regardless of other properties
SPELL_ATTR5_ALLOW_WHILE_STUNNED = 0x00000008, // TITLE Allow While Stunned
SPELL_ATTR5_TRIGGERS_CHANNELING = 0x00000010, // TITLE Triggers Channeling
SPELL_ATTR5_LIMIT_N = 0x00000020, // TITLE Limit N DESCRIPTION Remove previous application to another unit if applied
SPELL_ATTR5_IGNORE_AREA_EFFECT_PVP_CHECK = 0x00000040, // TITLE Ignore Area Effect PvP Check
SPELL_ATTR5_NOT_ON_PLAYER = 0x00000080, // TITLE Not On Player
SPELL_ATTR5_NOT_ON_PLAYER_CONTROLLED_NPC = 0x00000100, // TITLE Not On Player Controlled NPC
SPELL_ATTR5_EXTRA_INITIAL_PERIOD = 0x00000200, // TITLE Extra Initial Period DESCRIPTION Immediately do periodic tick on apply
SPELL_ATTR5_DO_NOT_DISPLAY_DURATION = 0x00000400, // TITLE Do Not Display Duration
SPELL_ATTR5_IMPLIED_TARGETING = 0x00000800, // TITLE Implied Targeting (client only)
SPELL_ATTR5_MELEE_CHAIN_TARGETING = 0x00001000, // TITLE Melee Chain Targeting
SPELL_ATTR5_SPELL_HASTE_AFFECTS_PERIODIC = 0x00002000, // TITLE Spell Haste Affects Periodic
SPELL_ATTR5_NOT_AVAILABLE_WHILE_CHARMED = 0x00004000, // TITLE Not Available While Charmed
SPELL_ATTR5_TREAT_AS_AREA_EFFECT = 0x00008000, // TITLE Treat as Area Effect
SPELL_ATTR5_AURA_AFFECTS_NOT_JUST_REQ_EQUIPPED_ITEM = 0x00010000, // TITLE Aura Affects Not Just Req. Equipped Item
SPELL_ATTR5_ALLOW_WHILE_FLEEING = 0x00020000, // TITLE Allow While Fleeing
SPELL_ATTR5_ALLOW_WHILE_CONFUSED = 0x00040000, // TITLE Allow While Confused
SPELL_ATTR5_AI_DOESNT_FACE_TARGET = 0x00080000, // TITLE AI Doesn't Face Target
SPELL_ATTR5_DO_NOT_ATTEMPT_A_PET_RESUMMON_WHEN_DISMOUNTING = 0x00100000, // TITLE Do Not Attempt a Pet Resummon When Dismounting DESCRIPTION No generic handling possible, used by scripted dismount spells
SPELL_ATTR5_IGNORE_TARGET_REQUIREMENTS = 0x00200000, /*NYI*/ // TITLE Ignore Target Requirements
SPELL_ATTR5_NOT_ON_TRIVIAL = 0x00400000, /*NYI*/ // TITLE Not On Trivial
SPELL_ATTR5_NO_PARTIAL_RESISTS = 0x00800000, /*NYI, resisting only some spell effects not implemented*/ // TITLE No Partial Resists
SPELL_ATTR5_IGNORE_CASTER_REQUIREMENTS = 0x01000000, /*NYI*/ // TITLE Ignore Caster Requirements
SPELL_ATTR5_ALWAYS_LINE_OF_SIGHT = 0x02000000, // TITLE Always Line of Sight
SPELL_ATTR5_ALWAYS_AOE_LINE_OF_SIGHT = 0x04000000, // TITLE Always AOE Line of Sight DESCRIPTION Requires line of sight between caster and target in addition to between dest and target
SPELL_ATTR5_NO_CASTER_AURA_ICON = 0x08000000, // TITLE No Caster Aura Icon (client only)
SPELL_ATTR5_NO_TARGET_AURA_ICON = 0x10000000, // TITLE No Target Aura Icon (client only)
SPELL_ATTR5_AURA_UNIQUE_PER_CASTER = 0x20000000, // TITLE Aura Unique Per Caster
SPELL_ATTR5_ALWAYS_SHOW_GROUND_TEXTURE = 0x40000000, // TITLE Always Show Ground Texture
SPELL_ATTR5_ADD_MELEE_HIT_RATING = 0x80000000 // TITLE Add Melee Hit Rating
};
// EnumUtils: DESCRIBE THIS
enum SpellAttr6 : uint32
{
SPELL_ATTR6_NO_COOLDOWN_ON_TOOLTIP = 0x00000001, // TITLE No Cooldown On Tooltip (client only)
SPELL_ATTR6_DO_NOT_RESET_COOLDOWN_IN_ARENA = 0x00000002, // TITLE Do Not Reset Cooldown In Arena
SPELL_ATTR6_NOT_AN_ATTACK = 0x00000004, /*NYI*/ // TITLE Not an Attack
SPELL_ATTR6_CAN_ASSIST_IMMUNE_PC = 0x00000008, // TITLE Can Assist Immune PC
SPELL_ATTR6_IGNORE_FOR_MOD_TIME_RATE = 0x00000010, /*NYI, time rate not implemented*/ // TITLE Ignore For Mod Time Rate
SPELL_ATTR6_DO_NOT_CONSUME_RESOURCES = 0x00000020, // TITLE Do Not Consume Resources DESCRIPTION Requires power/reagents to cast but doesn't consume them
SPELL_ATTR6_FLOATING_COMBAT_TEXT_ON_CAST = 0x00000040, // TITLE Floating Combat Text On Cast (client only)
SPELL_ATTR6_AURA_IS_WEAPON_PROC = 0x00000080, // TITLE Aura Is Weapon Proc
SPELL_ATTR6_DO_NOT_CHAIN_TO_CROWD_CONTROLLED_TARGETS = 0x00000100, // TITLE Do Not Chain To Crowd-Controlled Targets DESCRIPTION Implicit targeting (chaining and area targeting) will not impact crowd controlled targets
SPELL_ATTR6_ALLOW_ON_CHARMED_TARGETS = 0x00000200, /*NYI*/ // TITLE Allow On Charmed Targets
SPELL_ATTR6_NO_AURA_LOG = 0x00000400, // TITLE No Aura Log
SPELL_ATTR6_NOT_IN_RAID_INSTANCES = 0x00000800, // TITLE Not In Raid Instances
SPELL_ATTR6_ALLOW_WHILE_RIDING_VEHICLE = 0x00001000, // TITLE Allow While Riding Vehicle
SPELL_ATTR6_IGNORE_PHASE_SHIFT = 0x00002000, // TITLE Ignore Phase Shift
SPELL_ATTR6_AI_PRIMARY_RANGED_ATTACK = 0x00004000, /*NYI*/ // TITLE AI Primary Ranged Attack
SPELL_ATTR6_NO_PUSHBACK = 0x00008000, // TITLE No Pushback
SPELL_ATTR6_NO_JUMP_PATHING = 0x00010000, /*NYI, currently jumps dont path at all*/ // TITLE No Jump Pathing
SPELL_ATTR6_ALLOW_EQUIP_WHILE_CASTING = 0x00020000, // TITLE Allow Equip While Casting
SPELL_ATTR6_ORIGINATE_FROM_CONTROLLER = 0x00040000, // TITLE Originate From Controller DESCRIPTION Client will prevent casting if not possessed, charmer will be caster for all intents and purposes
SPELL_ATTR6_DELAY_COMBAT_TIMER_DURING_CAST = 0x00080000, // TITLE Delay Combat Timer During Cast
SPELL_ATTR6_AURA_ICON_ONLY_FOR_CASTER_LIMIT_10 = 0x00100000, // TITLE Aura Icon Only For Caster (Limit 10) (client only)
SPELL_ATTR6_SHOW_MECHANIC_AS_COMBAT_TEXT = 0x00200000, // TITLE Show Mechanic as Combat Text (client only)
SPELL_ATTR6_ABSORB_CANNOT_BE_IGNORE = 0x00400000, // TITLE Absorb Cannot Be Ignore
SPELL_ATTR6_TAPS_IMMEDIATELY = 0x00800000, // TITLE Taps immediately
SPELL_ATTR6_CAN_TARGET_UNTARGETABLE = 0x01000000, // TITLE Can Target Untargetable
SPELL_ATTR6_DOESNT_RESET_SWING_TIMER_IF_INSTANT = 0x02000000, // TITLE Doesn't Reset Swing Timer if Instant
SPELL_ATTR6_VEHICLE_IMMUNITY_CATEGORY = 0x04000000, /*NYI, immunity to some buffs for some vehicles*/ // TITLE Vehicle Immunity Category
SPELL_ATTR6_IGNORE_HEALING_MODIFIERS = 0x08000000, // TITLE Ignore Healing Modifiers DESCRIPTION This prevents certain healing modifiers from applying - see implementation if you really care about details
SPELL_ATTR6_DO_NOT_AUTO_SELECT_TARGET_WITH_INITIATES_COMBAT = 0x10000000, // TITLE Do Not Auto Select Target with Initiates Combat (client only)
SPELL_ATTR6_IGNORE_CASTER_DAMAGE_MODIFIERS = 0x20000000, // TITLE Ignore Caster Damage Modifiers DESCRIPTION This prevents certain damage modifiers from applying - see implementation if you really care about details
SPELL_ATTR6_DISABLE_TIED_EFFECT_POINTS = 0x40000000, /*NYI*/ // TITLE Disable Tied Effect Points
SPELL_ATTR6_NO_CATEGORY_COOLDOWN_MODS = 0x80000000 // TITLE No Category Cooldown Mods
};
// EnumUtils: DESCRIBE THIS
enum SpellAttr7 : uint32
{
SPELL_ATTR7_ALLOW_SPELL_REFLECTION = 0x00000001, // TITLE Allow Spell Reflection
SPELL_ATTR7_NO_TARGET_DURATION_MOD = 0x00000002, // TITLE No Target Duration Mod
SPELL_ATTR7_DISABLE_AURA_WHILE_DEAD = 0x00000004, // TITLE Disable Aura While Dead
SPELL_ATTR7_DEBUG_SPELL = 0x00000008, // TITLE Debug Spell DESCRIPTION Cannot cast if caster doesn't have UnitFlag2 & UNIT_FLAG2_ALLOW_CHEAT_SPELLS
SPELL_ATTR7_TREAT_AS_RAID_BUFF = 0x00000010, /*NYI*/ // TITLE Treat as Raid Buff
SPELL_ATTR7_CAN_BE_MULTI_CAST = 0x00000020, // TITLE Can Be Multi Cast
SPELL_ATTR7_DONT_CAUSE_SPELL_PUSHBACK = 0x00000040, // TITLE Don't Cause Spell Pushback DESCRIPTION Damage dealt by this does not cause spell pushback
SPELL_ATTR7_PREPARE_FOR_VEHICLE_CONTROL_END = 0x00000080, /*NYI*/ // TITLE Prepare for Vehicle Control End
SPELL_ATTR7_HORDE_SPECIFIC_SPELL = 0x00000100, /*NYI*/ // TITLE Horde Specific Spell
SPELL_ATTR7_ALLIANCE_SPECIFIC_SPELL = 0x00000200, /*NYI*/ // TITLE Alliance Specific Spell
SPELL_ATTR7_DISPEL_REMOVES_CHARGES = 0x00000400, // TITLE Dispel Removes Charges DESCRIPTION Dispel/Spellsteal remove individual charges
SPELL_ATTR7_CAN_CAUSE_INTERRUPT = 0x00000800, // TITLE Can Cause Interrupt DESCRIPTION Only interrupt non-player casting
SPELL_ATTR7_CAN_CAUSE_SILENCE = 0x00001000, /*NYI*/ // TITLE Can Cause Silence
SPELL_ATTR7_NO_UI_NOT_INTERRUPTIBLE = 0x00002000, // TITLE No UI Not Interruptible DESCRIPTION Can always be interrupted, even if caster is immune
SPELL_ATTR7_RECAST_ON_RESUMMON = 0x00004000, /*NYI - deprecated attribute, there is no SPELL_GO sent anymore on pet resummon*/ // TITLE Recast On Resummon
SPELL_ATTR7_RESET_SWING_TIMER_AT_SPELL_START = 0x00008000, // TITLE Reset Swing Timer at spell start
SPELL_ATTR7_ONLY_IN_SPELLBOOK_UNTIL_LEARNED = 0x00010000, // TITLE Only In Spellbook Until Learned DESCRIPTION After learning these spells become hidden in spellbook (but are visible when not learned for low level characters)
SPELL_ATTR7_DO_NOT_LOG_PVP_KILL = 0x00020000, /*NYI, only used by 1 spell that is already filtered out in pvp credits because its self targeting*/ // TITLE Do Not Log PvP Kill
SPELL_ATTR7_ATTACK_ON_CHARGE_TO_UNIT = 0x00040000, // TITLE Attack on Charge to Unit
SPELL_ATTR7_REPORT_SPELL_FAILURE_TO_UNIT_TARGET = 0x00080000, // TITLE Report Spell failure to unit target
SPELL_ATTR7_NO_CLIENT_FAIL_WHILE_STUNNED_FLEEING_CONFUSED = 0x00100000, // TITLE No Client Fail While Stunned, Fleeing, Confused DESCRIPTION Clientside - skips stunned/fleeing/confused checks
SPELL_ATTR7_RETAIN_COOLDOWN_THROUGH_LOAD = 0x00200000, /*NYI*/ // TITLE Retain Cooldown Through Load
SPELL_ATTR7_IGNORES_COLD_WEATHER_FLYING_REQUIREMENT = 0x00400000, /*NYI - deprecated attribute*/ // TITLE Ignores Cold Weather Flying Requirement
SPELL_ATTR7_NO_ATTACK_DODGE = 0x00800000, // TITLE No Attack Dodge
SPELL_ATTR7_NO_ATTACK_PARRY = 0x01000000, // TITLE No Attack Parry
SPELL_ATTR7_NO_ATTACK_MISS = 0x02000000, // TITLE No Attack Miss
SPELL_ATTR7_TREAT_AS_NPC_AOE = 0x04000000, // TITLE Treat as NPC AoE
SPELL_ATTR7_BYPASS_NO_RESURRECT_AURA = 0x08000000, // TITLE Bypass No Resurrect Aura
SPELL_ATTR7_DO_NOT_COUNT_FOR_PVP_SCOREBOARD = 0x10000000, // TITLE Do Not Count For PvP Scoreboard
SPELL_ATTR7_REFLECTION_ONLY_DEFENDS = 0x20000000, // TITLE Reflection Only Defends
SPELL_ATTR7_CAN_PROC_FROM_SUPPRESSED_TARGET_PROCS = 0x40000000, // TITLE Can Proc From Suppressed Target Procs
SPELL_ATTR7_ALWAYS_CAST_LOG = 0x80000000 // TITLE Always Cast Log
};
// EnumUtils: DESCRIBE THIS
enum SpellAttr8 : uint32
{
SPELL_ATTR8_NO_ATTACK_BLOCK = 0x00000001, // TITLE No Attack Block
SPELL_ATTR8_IGNORE_DYNAMIC_OBJECT_CASTER = 0x00000002, /*NYI*/ // TITLE Ignore Dynamic Object Caster
SPELL_ATTR8_REMOVE_OUTSIDE_DUNGEONS_AND_RAIDS = 0x00000004, // TITLE Remove Outside Dungeons and Raids
SPELL_ATTR8_ONLY_TARGET_IF_SAME_CREATOR = 0x00000008, // TITLE Only Target If Same Creator
SPELL_ATTR8_CAN_HIT_AOE_UNTARGETABLE = 0x00000010, // TITLE Can Hit AOE Untargetable
SPELL_ATTR8_ALLOW_WHILE_CHARMED = 0x00000020, /*NYI - not implementable currently, charming replaces AI*/ // TITLE Allow While Charmed
SPELL_ATTR8_AURA_REQUIRED_BY_CLIENT = 0x00000040, /*NYI - we send all auras to client*/ // TITLE Aura Required by Client
SPELL_ATTR8_IGNORE_SANCTUARY = 0x00000080, // TITLE Ignore Sanctuary
SPELL_ATTR8_USE_TARGETS_LEVEL_FOR_SPELL_SCALING = 0x00000100, // TITLE Use Target's Level for Spell Scaling
SPELL_ATTR8_PERIODIC_CAN_CRIT = 0x00000200, // TITLE Periodic Can Crit
SPELL_ATTR8_MIRROR_CREATURE_NAME = 0x00000400, // TITLE Mirror creature name DESCRIPTION Transform auras also override name (handled clientside)
SPELL_ATTR8_ONLY_PLAYERS_CAN_CAST_THIS_SPELL = 0x00000800, // TITLE Only Players Can Cast This Spell
SPELL_ATTR8_AURA_POINTS_ON_CLIENT = 0x00001000, // TITLE Aura Points On Client
SPELL_ATTR8_NOT_IN_SPELLBOOK_UNTIL_LEARNED = 0x00002000, // TITLE Not In Spellbook Until Learned DESCRIPTION Hides autolearned spell from spellbook before learning (handled clientside)
SPELL_ATTR8_TARGET_PROCS_ON_CASTER = 0x00004000, // TITLE Target Procs On Caster DESCRIPTION Target (taken) procs happen on caster (actor) instead of aura target (action target)
SPELL_ATTR8_REQUIRES_LOCATION_TO_BE_ON_LIQUID_SURFACE = 0x00008000, // TITLE Requires location to be on liquid surface
SPELL_ATTR8_ONLY_TARGET_OWN_SUMMONS = 0x00010000, // TITLE Only Target Own Summons
SPELL_ATTR8_HASTE_AFFECTS_DURATION = 0x00020000, // TITLE Haste Affects Duration
SPELL_ATTR8_IGNORE_SPELLCAST_OVERRIDE_COST = 0x00040000, // TTILE Ignore Spellcast Override Cost
SPELL_ATTR8_ALLOW_TARGETS_HIDDEN_BY_SPAWN_TRACKING = 0x00080000, // TITLE Allow Targets Hidden by Spawn Tracking
SPELL_ATTR8_REQUIRES_EQUIPPED_INV_TYPES = 0x00100000, // TITLE Requires Equipped Inv Types
SPELL_ATTR8_NO_SUMMON_DEST_FROM_CLIENT_TARGETING_PATHING_REQUIREMENT = 0x00200000, /*NYI - vald path to a spell dest is not required currently if the dest comes from client*/ // TITLE No 'Summon + Dest from Client' Targeting Pathing Requirement
SPELL_ATTR8_MELEE_HASTE_AFFECTS_PERIODIC = 0x00400000, // TITLE Melee Haste Affects Periodic
SPELL_ATTR8_ENFORCE_IN_COMBAT_RESSURECTION_LIMIT = 0x00800000, // TITLE Enforce In Combat Ressurection Limit DESCRIPTION Used to limit the number of resurrections in boss encounters
SPELL_ATTR8_HEAL_PREDICTION = 0x01000000, // TITLE Heal Prediction
SPELL_ATTR8_NO_LEVEL_UP_TOAST = 0x02000000, // TITLE No Level Up Toast
SPELL_ATTR8_SKIP_IS_KNOWN_CHECK = 0x04000000, // TITLE Skip Is Known Check
SPELL_ATTR8_AI_FACE_TARGET = 0x08000000, /*NYI - unknown facing conditions, needs research*/ // TITLE AI Face Target
SPELL_ATTR8_NOT_IN_BATTLEGROUND = 0x10000000, // TITLE Not in Battleground
SPELL_ATTR8_MASTERY_AFFECTS_POINTS = 0x20000000, // TITLE Mastery Affects Points
SPELL_ATTR8_DISPLAY_LARGE_AURA_ICON_ON_UNIT_FRAMES_BOSS_AURA = 0x40000000, // TITLE Display Large Aura Icon On Unit Frames (Boss Aura)
SPELL_ATTR8_CAN_ATTACK_IMMUNE_PC = 0x80000000 // TITLE Can Attack ImmunePC DESCRIPTION Do not check UNIT_FLAG_IMMUNE_TO_PC in IsValidAttackTarget
};
// EnumUtils: DESCRIBE THIS
enum SpellAttr9 : uint32
{
SPELL_ATTR9_FORCE_DEST_LOCATION = 0x00000001, // TITLE Force Dest Location DESCRIPTION Ignores collision with terrain (unsure if it also ignores terrain height and can go under map)
SPELL_ATTR9_MOD_INVIS_INCLUDES_PARTY = 0x00000002, // TITLE Mod Invis Includes Party 1@Attr9 DESCRIPTION Causes invisibility auras to ignore "can always see party member invis" rule
SPELL_ATTR9_ONLY_WHEN_ILLEGALLY_MOUNTED = 0x00000004, // TITLE Only When Illegally Mounted
SPELL_ATTR9_DO_NOT_LOG_AURA_REFRESH = 0x00000008, // TITLE Do Not Log Aura Refresh (client only)
SPELL_ATTR9_MISSILE_SPEED_IS_DELAY_IN_SEC = 0x00000010, // TITLE Missile Speed is Delay (in sec)
SPELL_ATTR9_IGNORE_TOTEM_REQUIREMENTS_FOR_CASTING = 0x00000020, // TITLE Ignore Totem Requirements for Casting
SPELL_ATTR9_ITEM_CAST_GRANTS_SKILL_GAIN = 0x00000040, // TITLE Item Cast Grants Skill Gain
SPELL_ATTR9_DO_NOT_ADD_TO_UNLEARN_LIST = 0x00000080, /* NYI - unlearn list not maintained SMSG_SEND_UNLEARN_SPELLS always empty */ // TITLE Do Not Add to Unlearn List
SPELL_ATTR9_COOLDOWN_IGNORES_RANGED_WEAPON = 0x00000100, // TITLE Cooldown Ignores Ranged Weapon
SPELL_ATTR9_NOT_IN_ARENA = 0x00000200, // TITLE Not In Arena
SPELL_ATTR9_TARGET_MUST_BE_GROUNDED = 0x00000400, // TITLE Target Must Be Grounded
SPELL_ATTR9_ALLOW_WHILE_BANISHED_AURA_STATE = 0x00000800, // TITLE Allow While Banished Aura State DESCRIPTION Doesn't seem to be doing anything, banish behaves like a regular stun now - tested on patch 10.2.7 with spell 17767 (doesn't have this attribute, only SPELL_ATTR5_ALLOW_WHILE_STUNNED and was castable while banished)
SPELL_ATTR9_FACE_UNIT_TARGET_UPON_COMPLETION_OF_JUMP_CHARGE = 0x00001000, // TITLE Face unit target upon completion of jump charge
SPELL_ATTR9_HASTE_AFFECTS_MELEE_ABILITY_CASTTIME = 0x00002000, // TITLE Haste Affects Melee Ability Casttime
SPELL_ATTR9_IGNORE_DEFAULT_RATED_BATTLEGROUND_RESTRICTIONS = 0x00004000, // TITLE Ignore Default Rated Battleground Restrictions
SPELL_ATTR9_DO_NOT_DISPLAY_POWER_COST = 0x00008000, // TITLE Do Not Display Power Cost (client only)
SPELL_ATTR9_NEXT_MODAL_SPELL_REQUIRES_SAME_UNIT_TARGET = 0x00010000, // TITLE Next modal spell requires same unit target DESCRIPTION Prevents automatically casting the spell from SpellClassOptions::ModalNextSpell after current spell if target was changed (client only)
SPELL_ATTR9_AUTOCAST_OFF_BY_DEFAULT = 0x00020000, // TITLE AutoCast Off By Default
SPELL_ATTR9_IGNORE_SCHOOL_LOCKOUT = 0x00040000, // TITLE Ignore School Lockout
SPELL_ATTR9_ALLOW_DARK_SIMULACRUM = 0x00080000, // TITLE Allow Dark Simulacrum
SPELL_ATTR9_ALLOW_CAST_WHILE_CHANNELING = 0x00100000, // TITLE Allow Cast While Channeling
SPELL_ATTR9_SUPPRESS_VISUAL_KIT_ERRORS = 0x00200000, // TITLE Suppress Visual Kit Errors (client only)
SPELL_ATTR9_SPELLCAST_OVERRIDE_IN_SPELLBOOK = 0x00400000, // TITLE Spellcast Override In Spellbook (client only)
SPELL_ATTR9_JUMPCHARGE__NO_FACING_CONTROL = 0x00800000, // TITLE JumpCharge - no facing control
SPELL_ATTR9_IGNORE_CASTER_HEALING_MODIFIERS = 0x01000000, // TITLE Ignore Caster Healing Modifiers
SPELL_ATTR9_DONT_CONSUME_CHARGE_IF_ITEM_DELETED = 0x02000000, /*NYI - some sort of bugfix attribute to prevent double item deletion?*/ // TITLE (Programmer Only) Don't consume charge if item deleted
SPELL_ATTR9_ITEM_PASSIVE_ON_CLIENT = 0x04000000, // TITLE Item Passive On Client
SPELL_ATTR9_FORCE_CORPSE_TARGET = 0x08000000, // TITLE Force Corpse Target DESCRIPTION Causes the spell to continue executing effects on the target even if one of them kills it
SPELL_ATTR9_CANNOT_KILL_TARGET = 0x10000000, // TITLE Cannot Kill Target
SPELL_ATTR9_LOG_PASSIVE = 0x20000000, // TITLE Log Passive (client only) DESCRIPTION Allows passive auras to trigger aura applied/refreshed/removed combat log events
SPELL_ATTR9_NO_MOVEMENT_RADIUS_BONUS = 0x40000000, // TITLE No Movement Radius Bonus
SPELL_ATTR9_CHANNEL_PERSISTS_ON_PET_FOLLOW = 0x80000000 // TITLE Channel Persists on Pet Follow
};
// EnumUtils: DESCRIBE THIS
enum SpellAttr10 : uint32
{
SPELL_ATTR10_UNK0 = 0x00000001, // TITLE Unknown attribute 0@Attr10
SPELL_ATTR10_UNK1 = 0x00000002, // TITLE Unknown attribute 1@Attr10
SPELL_ATTR10_USES_RANGED_SLOT_COSMETIC_ONLY = 0x00000004, // TITLE Uses Ranged Slot (Cosmetic Only)
SPELL_ATTR10_UNK3 = 0x00000008, // TITLE Unknown attribute 3@Attr10
SPELL_ATTR10_WATER_SPOUT = 0x00000010, // TITLE NPC Knockback - ignore doors
SPELL_ATTR10_UNK5 = 0x00000020, // TITLE Unknown attribute 5@Attr10
SPELL_ATTR10_UNK6 = 0x00000040, // TITLE Unknown attribute 6@Attr10
SPELL_ATTR10_TELEPORT_PLAYER = 0x00000080, // TITLE Ignore instance lock and farm limit on teleport
SPELL_ATTR10_UNK8 = 0x00000100, // TITLE Unknown attribute 8@Attr10
SPELL_ATTR10_UNK9 = 0x00000200, // TITLE Unknown attribute 9@Attr10
SPELL_ATTR10_UNK10 = 0x00000400, // TITLE Unknown attribute 10@Attr10
SPELL_ATTR10_HERB_GATHERING_MINING = 0x00000800, // TITLE Lock chest at precast
SPELL_ATTR10_USE_SPELL_BASE_LEVEL_FOR_SCALING= 0x00001000, // TITLE Use Spell Base Level For Scaling
SPELL_ATTR10_RESET_COOLDOWN_ON_ENCOUNTER_END = 0x00002000, // TITLE Reset cooldown upon ending an encounter
SPELL_ATTR10_ROLLING_PERIODIC = 0x00004000, // TITLE Rolling Periodic DESCRIPTION Add remaining periodic damage to new aura when refreshed
SPELL_ATTR10_UNK15 = 0x00008000, // TITLE Unknown attribute 15@Attr10
SPELL_ATTR10_UNK16 = 0x00010000, // TITLE Unknown attribute 16@Attr10
SPELL_ATTR10_CAN_DODGE_PARRY_WHILE_CASTING = 0x00020000, // TITLE Allow Defense While Casting
SPELL_ATTR10_UNK18 = 0x00040000, // TITLE Unknown attribute 18@Attr10
SPELL_ATTR10_UNK19 = 0x00080000, // TITLE Unknown attribute 19@Attr10
SPELL_ATTR10_UNK20 = 0x00100000, // TITLE Unknown attribute 20@Attr10
SPELL_ATTR10_UNK21 = 0x00200000, // TITLE Unknown attribute 21@Attr10
SPELL_ATTR10_UNK22 = 0x00400000, // TITLE Unknown attribute 22@Attr10
SPELL_ATTR10_UNK23 = 0x00800000, // TITLE Unknown attribute 23@Attr10
SPELL_ATTR10_UNK24 = 0x01000000, // TITLE Unknown attribute 24@Attr10
SPELL_ATTR10_UNK25 = 0x02000000, // TITLE Unknown attribute 25@Attr10
SPELL_ATTR10_UNK26 = 0x04000000, // TITLE Unknown attribute 26@Attr10
SPELL_ATTR10_UNK27 = 0x08000000, // TITLE Unknown attribute 27@Attr10
SPELL_ATTR10_UNK28 = 0x10000000, // TITLE Unknown attribute 28@Attr10
SPELL_ATTR10_MOUNT_IS_NOT_ACCOUNT_WIDE = 0x20000000, // TITLE This Mount is NOT at the account level
SPELL_ATTR10_UNK30 = 0x40000000, // TITLE Unknown attribute 30@Attr10
SPELL_ATTR10_UNK31 = 0x80000000 // TITLE Unknown attribute 31@Attr10
};
// EnumUtils: DESCRIBE THIS
enum SpellAttr11 : uint32
{
SPELL_ATTR11_UNK0 = 0x00000001, // TITLE Unknown attribute 0@Attr11
SPELL_ATTR11_UNK1 = 0x00000002, // TITLE Unknown attribute 1@Attr11
SPELL_ATTR11_SCALES_WITH_ITEM_LEVEL = 0x00000004, // TITLE Scales with Casting Item's Level
SPELL_ATTR11_UNK3 = 0x00000008, // TITLE Unknown attribute 3@Attr11
SPELL_ATTR11_UNK4 = 0x00000010, // TITLE Unknown attribute 4@Attr11
SPELL_ATTR11_ABSORB_ENVIRONMENTAL_DAMAGE = 0x00000020, // TITLE Absorb Falling Damage
SPELL_ATTR11_UNK6 = 0x00000040, // TITLE Unknown attribute 6@Attr11
SPELL_ATTR11_RANK_IGNORES_CASTER_LEVEL = 0x00000080, // TITLE Ignore Caster's spell level DESCRIPTION Spell_C_GetSpellRank returns SpellLevels->MaxLevel * 5 instead of std::min(SpellLevels->MaxLevel, caster->Level) * 5
SPELL_ATTR11_UNK8 = 0x00000100, // TITLE Unknown attribute 8@Attr11
SPELL_ATTR11_IGNORE_SPELLCAST_OVERRIDE_SHAPESHIFT_REQUIREMENTS = 0x00000200, // TITLE Ignore Spellcast Override Shapeshift Requirements
SPELL_ATTR11_UNK10 = 0x00000400, // TITLE Unknown attribute 10@Attr11
SPELL_ATTR11_NOT_USABLE_IN_INSTANCES = 0x00000800, // TITLE Not in Instances
SPELL_ATTR11_UNK12 = 0x00001000, // TITLE Unknown attribute 12@Attr11
SPELL_ATTR11_UNK13 = 0x00002000, // TITLE Unknown attribute 13@Attr11
SPELL_ATTR11_UNK14 = 0x00004000, // TITLE Unknown attribute 14@Attr11
SPELL_ATTR11_UNK15 = 0x00008000, // TITLE Unknown attribute 15@Attr11
SPELL_ATTR11_NOT_USABLE_IN_CHALLENGE_MODE = 0x00010000, // TITLE Not in Mythic+ Mode (Challenge Mode)
SPELL_ATTR11_UNK17 = 0x00020000, // TITLE Unknown attribute 17@Attr11
SPELL_ATTR11_UNK18 = 0x00040000, // TITLE Unknown attribute 18@Attr11
SPELL_ATTR11_UNK19 = 0x00080000, // TITLE Unknown attribute 19@Attr11
SPELL_ATTR11_UNK20 = 0x00100000, // TITLE Unknown attribute 20@Attr11
SPELL_ATTR11_UNK21 = 0x00200000, // TITLE Unknown attribute 21@Attr11
SPELL_ATTR11_UNK22 = 0x00400000, // TITLE Unknown attribute 22@Attr11
SPELL_ATTR11_UNK23 = 0x00800000, // TITLE Unknown attribute 23@Attr11
SPELL_ATTR11_UNK24 = 0x01000000, // TITLE Unknown attribute 24@Attr11
SPELL_ATTR11_UNK25 = 0x02000000, // TITLE Unknown attribute 25@Attr11
SPELL_ATTR11_UNK26 = 0x04000000, // TITLE Unknown attribute 26@Attr11
SPELL_ATTR11_UNK27 = 0x08000000, // TITLE Unknown attribute 27@Attr11
SPELL_ATTR11_UNK28 = 0x10000000, // TITLE Unknown attribute 28@Attr11
SPELL_ATTR11_UNK29 = 0x20000000, // TITLE Unknown attribute 29@Attr11
SPELL_ATTR11_UNK30 = 0x40000000, // TITLE Unknown attribute 30@Attr11
SPELL_ATTR11_UNK31 = 0x80000000 // TITLE Unknown attribute 31@Attr11
};
// EnumUtils: DESCRIBE THIS
enum SpellAttr12 : uint32
{
SPELL_ATTR12_ENABLE_PROCS_FROM_SUPPRESSED_CASTER_PROCS = 0x00000001, // TITLE Enable Procs from Suppressed Caster Procs
SPELL_ATTR12_CAN_PROC_FROM_SUPPRESSED_CASTER_PROCS = 0x00000002, // TITLE Can Proc from Suppressed Caster Procs
SPELL_ATTR12_UNK2 = 0x00000004, // TITLE Unknown attribute 2@Attr12
SPELL_ATTR12_UNK3 = 0x00000008, // TITLE Unknown attribute 3@Attr12
SPELL_ATTR12_UNK4 = 0x00000010, // TITLE Unknown attribute 4@Attr12
SPELL_ATTR12_UNK5 = 0x00000020, // TITLE Unknown attribute 5@Attr12
SPELL_ATTR12_UNK6 = 0x00000040, // TITLE Unknown attribute 6@Attr12
SPELL_ATTR12_UNK7 = 0x00000080, // TITLE Unknown attribute 7@Attr12
SPELL_ATTR12_UNK8 = 0x00000100, // TITLE Unknown attribute 8@Attr12
SPELL_ATTR12_IGNORE_CASTING_DISABLED = 0x00000200, // TITLE Active Passive DESCRIPTION Ignores aura 263 SPELL_AURA_DISABLE_CASTING_EXCEPT_ABILITIES
SPELL_ATTR12_UNK10 = 0x00000400, // TITLE Unknown attribute 10@Attr12
SPELL_ATTR12_UNK11 = 0x00000800, // TITLE Unknown attribute 11@Attr12
SPELL_ATTR12_UNK12 = 0x00001000, // TITLE Unknown attribute 12@Attr12
SPELL_ATTR12_UNK13 = 0x00002000, // TITLE Unknown attribute 13@Attr12
SPELL_ATTR12_UNK14 = 0x00004000, // TITLE Unknown attribute 14@Attr12
SPELL_ATTR12_UNK15 = 0x00008000, // TITLE Unknown attribute 15@Attr12
SPELL_ATTR12_UNK16 = 0x00010000, // TITLE Unknown attribute 16@Attr12
SPELL_ATTR12_UNK17 = 0x00020000, // TITLE Unknown attribute 17@Attr12
SPELL_ATTR12_UNK18 = 0x00040000, // TITLE Unknown attribute 18@Attr12
SPELL_ATTR12_UNK19 = 0x00080000, // TITLE Unknown attribute 19@Attr12
SPELL_ATTR12_UNK20 = 0x00100000, // TITLE Unknown attribute 20@Attr12
SPELL_ATTR12_UNK21 = 0x00200000, // TITLE Unknown attribute 21@Attr12
SPELL_ATTR12_UNK22 = 0x00400000, // TITLE Unknown attribute 22@Attr12
SPELL_ATTR12_START_COOLDOWN_ON_CAST_START = 0x00800000, // TITLE Trigger Cooldown On Spell Start
SPELL_ATTR12_IS_GARRISON_BUFF = 0x01000000, // TITLE Never Learn
SPELL_ATTR12_UNK25 = 0x02000000, // TITLE Unknown attribute 25@Attr12
SPELL_ATTR12_UNK26 = 0x04000000, // TITLE Unknown attribute 26@Attr12
SPELL_ATTR12_IS_READINESS_SPELL = 0x08000000, // TITLE Recompute Aura on Mercenary Mode
SPELL_ATTR12_UNK28 = 0x10000000, // TITLE Unknown attribute 28@Attr12
SPELL_ATTR12_UNK29 = 0x20000000, // TITLE Unknown attribute 29@Attr12
SPELL_ATTR12_UNK30 = 0x40000000, // TITLE Unknown attribute 30@Attr12
SPELL_ATTR12_ONLY_PROC_FROM_CLASS_ABILITIES = 0x80000000 // TITLE Only Proc From Class Abilities
};
// EnumUtils: DESCRIBE THIS
enum SpellAttr13 : uint32
{
SPELL_ATTR13_ALLOW_CLASS_ABILITY_PROCS = 0x00000001, // TITLE Allow Class Ability Procs
SPELL_ATTR13_UNK1 = 0x00000002, // TITLE Unknown attribute 0@Attr13
SPELL_ATTR13_PASSIVE_IS_UPGRADE = 0x00000004, // TITLE Is Upgrade DESCRIPTION Displays "Upgrade" in spell tooltip instead of "Passive"
SPELL_ATTR13_UNK3 = 0x00000008, // TITLE Unknown attribute 3@Attr13
SPELL_ATTR13_UNK4 = 0x00000010, // TITLE Unknown attribute 4@Attr13
SPELL_ATTR13_UNK5 = 0x00000020, // TITLE Unknown attribute 5@Attr13
SPELL_ATTR13_UNK6 = 0x00000040, // TITLE Unknown attribute 6@Attr13
SPELL_ATTR13_UNK7 = 0x00000080, // TITLE Unknown attribute 7@Attr13
SPELL_ATTR13_UNK8 = 0x00000100, // TITLE Unknown attribute 8@Attr13
SPELL_ATTR13_UNK9 = 0x00000200, // TITLE Unknown attribute 9@Attr13
SPELL_ATTR13_UNK10 = 0x00000400, // TITLE Unknown attribute 10@Attr13
SPELL_ATTR13_UNK11 = 0x00000800, // TITLE Unknown attribute 11@Attr13
SPELL_ATTR13_UNK12 = 0x00001000, // TITLE Unknown attribute 12@Attr13
SPELL_ATTR13_UNK13 = 0x00002000, // TITLE Unknown attribute 13@Attr13
SPELL_ATTR13_UNK14 = 0x00004000, // TITLE Unknown attribute 14@Attr13
SPELL_ATTR13_DO_NOT_FAIL_IF_NO_TARGET = 0x00008000, // TITLE Do Not Fail if No Target
SPELL_ATTR13_UNK16 = 0x00010000, // TITLE Unknown attribute 16@Attr13
SPELL_ATTR13_UNK17 = 0x00020000, // TITLE Unknown attribute 17@Attr13
SPELL_ATTR13_ACTIVATES_REQUIRED_SHAPESHIFT = 0x00040000, // TITLE Do Not Enforce Shapeshift Requirements
SPELL_ATTR13_UNK19 = 0x00080000, // TITLE Unknown attribute 19@Attr13
SPELL_ATTR13_PERIODIC_REFRESH_EXTENDS_DURATION = 0x00100000, // TITLE Periodic Refresh Extends Duration
SPELL_ATTR13_UNK21 = 0x00200000, // TITLE Unknown attribute 21@Attr13
SPELL_ATTR13_UNK22 = 0x00400000, // TITLE Unknown attribute 22@Attr13
SPELL_ATTR13_UNK23 = 0x00800000, // TITLE Unknown attribute 23@Attr13
SPELL_ATTR13_UNK24 = 0x01000000, // TITLE Unknown attribute 24@Attr13
SPELL_ATTR13_UNK25 = 0x02000000, // TITLE Unknown attribute 25@Attr13
SPELL_ATTR13_ALWAYS_ALLOW_NEGATIVE_HEALING_PERCENT_MODIFIERS = 0x04000000, // TITLE Always Allow Negative Healing Percent Modifiers
SPELL_ATTR13_DO_NOT_ALLOW_DISABLE_MOVEMENT_INTERRUPT = 0x08000000, // TITLE Do Not Allow "Disable Movement Interrupt"
SPELL_ATTR13_UNK28 = 0x10000000, // TITLE Unknown attribute 28@Attr13
SPELL_ATTR13_UNK29 = 0x20000000, // TITLE Unknown attribute 29@Attr13
SPELL_ATTR13_UNK30 = 0x40000000, // TITLE Unknown attribute 30@Attr13
SPELL_ATTR13_UNK31 = 0x80000000 // TITLE Unknown attribute 31@Attr13
};
// EnumUtils: DESCRIBE THIS
enum SpellAttr14 : uint32
{
SPELL_ATTR14_UNK0 = 0x00000001, // TITLE Unknown attribute 0@Attr14
SPELL_ATTR14_REAGENT_COST_CONSUMES_CHARGES = 0x00000002, // TITLE Reagent Consume Charges DESCRIPTION Consumes item charges for reagent costs instead of whole items
SPELL_ATTR14_UNK2 = 0x00000004, // TITLE Unknown attribute 2@Attr14
SPELL_ATTR14_HIDE_PASSIVE_FROM_TOOLTIP = 0x00000008, // TITLE Don't show "Passive" or "Upgrade" in tooltip
SPELL_ATTR14_UNK4 = 0x00000010, // TITLE Unknown attribute 4@Attr14
SPELL_ATTR14_UNK5 = 0x00000020, // TITLE Unknown attribute 5@Attr14
SPELL_ATTR14_UNK6 = 0x00000040, // TITLE Unknown attribute 6@Attr14
SPELL_ATTR14_UNK7 = 0x00000080, // TITLE Unknown attribute 7@Attr14
SPELL_ATTR14_UNK8 = 0x00000100, // TITLE Unknown attribute 8@Attr14
SPELL_ATTR14_UNK9 = 0x00000200, // TITLE Unknown attribute 9@Attr14
SPELL_ATTR14_UNK10 = 0x00000400, // TITLE Unknown attribute 10@Attr14
SPELL_ATTR14_UNK11 = 0x00000800, // TITLE Unknown attribute 11@Attr14
SPELL_ATTR14_UNK12 = 0x00001000, // TITLE Unknown attribute 12@Attr14
SPELL_ATTR14_UNK13 = 0x00002000, // TITLE Unknown attribute 13@Attr14
SPELL_ATTR14_UNK14 = 0x00004000, // TITLE Unknown attribute 14@Attr14
SPELL_ATTR14_UNK15 = 0x00008000, // TITLE Unknown attribute 15@Attr14
SPELL_ATTR14_UNK16 = 0x00010000, // TITLE Unknown attribute 16@Attr14
SPELL_ATTR14_UNK17 = 0x00020000, // TITLE Unknown attribute 17@Attr14
SPELL_ATTR14_UNK18 = 0x00040000, // TITLE Unknown attribute 18@Attr14
SPELL_ATTR14_UNK19 = 0x00080000, // TITLE Unknown attribute 19@Attr14
SPELL_ATTR14_AURA_IS_PRIVATE = 0x00100000, // TITLE Aura is private DESCRIPTION Clientside attribue that prevents the aura from being accessed by addons (but is still visible in UI)
SPELL_ATTR14_UNK21 = 0x00200000, // TITLE Unknown attribute 21@Attr14
SPELL_ATTR14_UNK22 = 0x00400000, // TITLE Unknown attribute 22@Attr14
SPELL_ATTR14_UNK23 = 0x00800000, // TITLE Unknown attribute 23@Attr14
SPELL_ATTR14_UNK24 = 0x01000000, // TITLE Unknown attribute 24@Attr14
SPELL_ATTR14_UNK25 = 0x02000000, // TITLE Unknown attribute 25@Attr14
SPELL_ATTR14_UNK26 = 0x04000000, // TITLE Unknown attribute 26@Attr14
SPELL_ATTR14_UNK27 = 0x08000000, // TITLE Unknown attribute 27@Attr14
SPELL_ATTR14_UNK28 = 0x10000000, // TITLE Unknown attribute 28@Attr14
SPELL_ATTR14_UNK29 = 0x20000000, // TITLE Unknown attribute 29@Attr14
SPELL_ATTR14_UNK30 = 0x40000000, // TITLE Unknown attribute 30@Attr14
SPELL_ATTR14_UNK31 = 0x80000000 // TITLE Unknown attribute 31@Attr14
};
// EnumUtils: DESCRIBE THIS
enum SpellAttr15 : uint32
{
SPELL_ATTR15_UNK0 = 0x00000001, // TITLE Unknown attribute 0@Attr15
SPELL_ATTR15_UNK1 = 0x00000002, // TITLE Unknown attribute 1@Attr15
SPELL_ATTR15_UNK2 = 0x00000004, // TITLE Unknown attribute 2@Attr15
SPELL_ATTR15_UNK3 = 0x00000008, // TITLE Unknown attribute 3@Attr15
SPELL_ATTR15_UNK4 = 0x00000010, // TITLE Unknown attribute 4@Attr15
SPELL_ATTR15_UNK5 = 0x00000020, // TITLE Unknown attribute 5@Attr15
SPELL_ATTR15_UNK6 = 0x00000040, // TITLE Unknown attribute 6@Attr15
SPELL_ATTR15_UNK7 = 0x00000080, // TITLE Unknown attribute 7@Attr15
SPELL_ATTR15_UNK8 = 0x00000100, // TITLE Unknown attribute 8@Attr15
SPELL_ATTR15_UNK9 = 0x00000200, // TITLE Unknown attribute 9@Attr15
SPELL_ATTR15_UNK10 = 0x00000400, // TITLE Unknown attribute 10@Attr15
SPELL_ATTR15_UNK11 = 0x00000800, // TITLE Unknown attribute 11@Attr15
SPELL_ATTR15_UNK12 = 0x00001000, // TITLE Unknown attribute 12@Attr15
SPELL_ATTR15_UNK13 = 0x00002000, // TITLE Unknown attribute 13@Attr15
SPELL_ATTR15_UNK14 = 0x00004000, // TITLE Unknown attribute 14@Attr15
SPELL_ATTR15_UNK15 = 0x00008000, // TITLE Unknown attribute 15@Attr15
SPELL_ATTR15_UNK16 = 0x00010000, // TITLE Unknown attribute 16@Attr15
SPELL_ATTR15_UNK17 = 0x00020000, // TITLE Unknown attribute 17@Attr15
SPELL_ATTR15_UNK18 = 0x00040000, // TITLE Unknown attribute 18@Attr15
SPELL_ATTR15_UNK19 = 0x00080000, // TITLE Unknown attribute 19@Attr15
SPELL_ATTR15_UNK20 = 0x00100000, // TITLE Unknown attribute 20@Attr15
SPELL_ATTR15_UNK21 = 0x00200000, // TITLE Unknown attribute 21@Attr15
SPELL_ATTR15_UNK22 = 0x00400000, // TITLE Unknown attribute 22@Attr15
SPELL_ATTR15_UNK23 = 0x00800000, // TITLE Unknown attribute 23@Attr15
SPELL_ATTR15_UNK24 = 0x01000000, // TITLE Unknown attribute 24@Attr15
SPELL_ATTR15_UNK25 = 0x02000000, // TITLE Unknown attribute 25@Attr15
SPELL_ATTR15_UNK26 = 0x04000000, // TITLE Unknown attribute 26@Attr15
SPELL_ATTR15_UNK27 = 0x08000000, // TITLE Unknown attribute 27@Attr15
SPELL_ATTR15_UNK28 = 0x10000000, // TITLE Unknown attribute 28@Attr15
SPELL_ATTR15_UNK29 = 0x20000000, // TITLE Unknown attribute 29@Attr15
SPELL_ATTR15_UNK30 = 0x40000000, // TITLE Unknown attribute 30@Attr15
SPELL_ATTR15_UNK31 = 0x80000000 // TITLE Unknown attribute 31@Attr15
};
#define MIN_SPECIALIZATION_LEVEL 10
#define MAX_SPECIALIZATIONS 5
#define PET_SPEC_OVERRIDE_CLASS_INDEX MAX_CLASSES
#define INITIAL_SPECIALIZATION_INDEX 4
// Custom values
enum SpellClickUserTypes
{
SPELL_CLICK_USER_ANY = 0,
SPELL_CLICK_USER_FRIEND = 1,
SPELL_CLICK_USER_RAID = 2,
SPELL_CLICK_USER_PARTY = 3,
SPELL_CLICK_USER_MAX = 4
};
enum SpellClickCastFlags
{
NPC_CLICK_CAST_CASTER_CLICKER = 0x01,
NPC_CLICK_CAST_TARGET_CLICKER = 0x02,
NPC_CLICK_CAST_ORIG_CASTER_OWNER = 0x04
};
enum SheathTypes
{
SHEATHETYPE_NONE = 0,
SHEATHETYPE_MAINHAND = 1,
SHEATHETYPE_OFFHAND = 2,
SHEATHETYPE_LARGEWEAPONLEFT = 3,
SHEATHETYPE_LARGEWEAPONRIGHT = 4,
SHEATHETYPE_HIPWEAPONLEFT = 5,
SHEATHETYPE_HIPWEAPONRIGHT = 6,
SHEATHETYPE_SHIELD = 7
};
#define MAX_SHEATHETYPE 8
enum CharacterFlags : int32
{
CHARACTER_FLAG_NONE = 0x00000000,
CHARACTER_FLAG_INVIS_GOD = 0x00000001, // Player has God Invis enabled
CHARACTER_FLAG_RESTING = 0x00000002, // Player is currently earning rest experience
CHARACTER_FLAG_LOCKED_FOR_TRANSFER = 0x00000004, // Player is locked - for paid character transfer
CHARACTER_FLAG_SILENCED = 0x00000008, // Player's chat is silenced (can talk to GMs)
CHARACTER_FLAG_UBERINVIS_GOD = 0x00000010, // Player has God Uberinvis enabled
CHARACTER_FLAG_BEASTMASTER = 0x00000020, // Beastmaster is on
CHARACTER_FLAG_PVP_ENABLED = 0x00000040, // PvP Enabled
CHARACTER_FLAG_PORT_AFTER_RESURRECT = 0x00000080, // World port after resurrect
CHARACTER_FLAG_RESET_TALENTS_ON_LOGIN = 0x00000100, // Clear Talents on login
CHARACTER_FLAG_HAS_PVP_RANK = 0x00000200, // Player has a PvP Rank
CHARACTER_FLAG_HIDE_HELM = 0x00000400, // Hide Helm
CHARACTER_FLAG_HIDE_CLOAK = 0x00000800, // Hide Cloak
CHARACTER_FLAG_SKINNABLE = 0x00001000, // Player is skinnable
CHARACTER_FLAG_GHOST = 0x00002000, // Player is a ghost
CHARACTER_FLAG_RENAME = 0x00004000, // Set to force a rename
CHARACTER_FLAG_RENAME_NEEDS_GM_REVIEW = 0x00008000, // Flag is set after rename for GM review
CHARACTER_FLAG_PVP_DESIRED = 0x00010000, // PvP desired flag
CHARACTER_FLAG_GM_MODE = 0x00020000, // GM Mode enabled
CHARACTER_FLAG_DELETED_BY_TRANSFER = 0x00040000, // Deleted by a character transfer
CHARACTER_FLAG_ON_UNSAFE_TRANSPORT = 0x00080000, // On unsafe transport (port to safe loc on log in)
CHARACTER_FLAG_RENAME_FAILED = 0x00100000, // Player unable to rename character
CHARACTER_FLAG_MOUNT_UPGRADED = 0x00200000, // Mount has been upgraded
CHARACTER_FLAG_FRIENDS_LIST_NEEDS_REPAIR = 0x00400000, // Friends list requires a repair
CHARACTER_FLAG_EXPLORATION_DATA_FIXED = 0x00800000, // character had their exploration data fixed
CHARACTER_FLAG_LOCKED_BY_BILLING = 0x01000000, // Locked due to billing
CHARACTER_FLAG_DECLINED = 0x02000000, // Player has Russian declined name forms
CHARACTER_FLAG_COMMENTATOR = 0x04000000, // Commentator mode enabled
CHARACTER_FLAG_UBER_COMMENTATOR = 0x08000000, // Uber Commentator mode enabled
CHARACTER_FLAG_XP_FIXED = 0x10000000, // Player's XP has been fixed (2.2.x->2.3.0)
CHARACTER_FLAG_LOG_PACKETS = 0x20000000, // Log player packets
CHARACTER_FLAG_COMPENSATE_FOR_SPELLS = 0x40000000 // Compensate for spells
};
enum CharacterFlags2 : int32
{
CHARACTER_FLAG_2_NONE = 0x00000000,
CHARACTER_FLAG_2_CUSTOMIZE = 0x00000001, // Player has paid for a character re-customization
CHARACTER_FLAG_2_GM_SUPPORTER_PROXY = 0x00000002, // GMSupportServer Proxy, NOT for GMTool use
CHARACTER_FLAG_2_CAN_LOAD_ON_NON_SHIP_TRANPORT = 0x00000004, // Character has been saved at least once since saving on non-ship transports was added
CHARACTER_FLAG_2_BATTLE_MASTER_MISC_IS_TAXI_ID = 0x00000008, // Battle Master Misc Field is a Taxi ID
CHARACTER_FLAG_2_TEMP_PET_AUTOCAST_SPELL_1 = 0x00000010, // Temp Pet Autocast Spell 1
CHARACTER_FLAG_2_TEMP_PET_AUTOCAST_SPELL_2 = 0x00000020, // Temp Pet Autocast Spell 2
CHARACTER_FLAG_2_TEMP_PET_AUTOCAST_SPELL_3 = 0x00000040, // Temp Pet Autocast Spell 3
CHARACTER_FLAG_2_TEMP_PET_AUTOCAST_SPELL_4 = 0x00000080, // Temp Pet Autocast Spell 4
CHARACTER_FLAG_2_TEMP_PET_AGGRESSIVE = 0x00000100, // Temp Pet Aggressive
CHARACTER_FLAG_2_TEMP_PET_PASSIVE = 0x00000200, // Temp Pet Passive
CHARACTER_FLAG_2_CAN_INTERACT_WITH_OTHER_REALMS_IN_SITE = 0x00000400, // Characters can interact with other realms in the site
CHARACTER_FLAG_2_CAN_INTERACT_WITH_OTHER_REALMS_IN_REGION = 0x00000800, // Characters can interact with other realms in the region
CHARACTER_FLAG_2_BATTLE_MASTER_MISC_IS_AREA_ID = 0x00001000, // Battle Master Misc Field is an Area ID
CHARACTER_FLAG_2_REEVALUATE_ACCOUNT_ITEM_LICENSES = 0x00002000, // Account Item Licenses must be reevaluated on next login
CHARACTER_FLAG_2_BATTLE_MASTER_MISC_IS_TRANSPORT = 0x00004000, // Battle Master Misc Field is a Transport
CHARACTER_FLAG_2_TALENTS_RESET_USING_TALENT_GROUP_DATA = 0x00008000, // Players talents have been reset using talent group data
CHARACTER_FLAG_2_FACTION_CHANGE = 0x00010000, // This character is eligible to change his faction
CHARACTER_FLAG_2_HAS_CHANGED_RACE_OR_FACTION = 0x00020000, // This character has changed his race/faction and now requires the world server to repair him
CHARACTER_FLAG_2_NO_XP_GAIN = 0x00040000, // This character has chosen to not gain XP by any means
CHARACTER_FLAG_2_RECAST_ON_RESUMMON = 0x00080000, // Recast on Resummon
CHARACTER_FLAG_2_RACE_CHANGE = 0x00100000, // This character is eligible to change his race
CHARACTER_FLAG_2_CHANGED_TEMP_PET_AUTOCAST_SPELL_1 = 0x00200000, // Player has changed Temp Pet Autocast Spell 1
CHARACTER_FLAG_2_CHANGED_TEMP_PET_AUTOCAST_SPELL_2 = 0x00400000, // Player has changed Temp Pet Autocast Spell 2
CHARACTER_FLAG_2_CHANGED_TEMP_PET_AUTOCAST_SPELL_3 = 0x00800000, // Player has changed Temp Pet Autocast Spell 3
CHARACTER_FLAG_2_CHANGED_TEMP_PET_AUTOCAST_SPELL_4 = 0x01000000, // Player has changed Temp Pet Autocast Spell 4
CHARACTER_FLAG_2_CHANGED_GUILD_DURING_CHARACTER_TRANSFER = 0x02000000, // Player has transferred guilds during a PCT
CHARACTER_FLAG_2_CAN_USE_VOID_STORAGE_FEATURE = 0x04000000, // Player is allowed to use the Void Storage feature
CHARACTER_FLAG_2_BATTLE_PETS_CONVERTED = 0x08000000, // Battle Pets Converted
CHARACTER_FLAG_2_QUESTS_FIXED = 0x10000000, // Player has had his quests fixed
CHARACTER_FLAG_2_LOW_LEVEL_RAID_ENABLED = 0x20000000, // The player can join raids even if he's below the min raid level
CHARACTER_FLAG_2_AUTO_DECLINE_GUILD = 0x40000000 // The player will automatically decline guild invites
};
enum CharacterFlags3 : int32
{
CHARACTER_FLAG_3_NONE = 0x00000000,
CHARACTER_FLAG_3_IS_BATTLE_PET_TRAIER = 0x00000001, // Player is a battle pet trainer
CHARACTER_FLAG_3_HIDE_ACCOUNT_ACHIEVEMENTS = 0x00000002, // Player has opted to hide his account and merged achievements
CHARACTER_FLAG_3_BATTLE_PETS_CONVERTED_AND_LOCKED = 0x00000004, // Battle pet conversion complete but pets still locked
CHARACTER_FLAG_3_TRANSFERRED_BETWEEN_BNET_ACCOUNTS = 0x00000008, // Player has performed a PCT between two bnet accounts
CHARACTER_FLAG_3_UPGRADE_IN_PROGRESS = 0x00000010, // Character upgrade in progress
CHARACTER_FLAG_3_BATTLE_MASTER_MISC_IS_LFG_DUNGEON = 0x00000020, // Battle Master Misc field is a LFGDungeons rec ID
CHARACTER_FLAG_3_NEW_PLAYER_GUIDE = 0x00000040, // New Player Guide
CHARACTER_FLAG_3_LOCKED_BY_REVOKED_CHARACTER_UPGRADE = 0x00000080, // Character locked due to revoked upgrade
CHARACTER_FLAG_3_NEEDS_FIRST_TIME_FIXUP = 0x00000100, // Character needs first time fix up
CHARACTER_FLAG_3_WAS_BOOSTED_AND_HAS_LIMITED_SPELLS = 0x00000200, // Character was upgraded and has limited access to spells
CHARACTER_FLAG_3_DID_QUEST_ITEM_CLEANUP = 0x00000400, // Did Quest Item Cleanup
CHARACTER_FLAG_3_REAGENT_BANK_UNLOCKED = 0x00000800, // Reagent Bank Unlocked
CHARACTER_FLAG_3_PET_BEASTMASTER = 0x00001000, // Pet Beastmaster is on
CHARACTER_FLAG_3_RECHARGE_ON_LOGIN = 0x00002000, // Recharge on login
CHARACTER_FLAG_3_FIXUP_WOD_FACTION_CHANGE_BUG = 0x00004000, // Fixup WoD faction change bug
CHARACTER_FLAG_3_FIXUP_WOD_XP = 0x00008000, // Fixup WoD XP to set to 0 for level 90
CHARACTER_FLAG_3_CHECK_FOR_RESTORABLE_DATA = 0x00010000, // Check for restorable data
CHARACTER_FLAG_3_HAS_BNET_TOKEN = 0x00020000, // Has a Battle.net token
CHARACTER_FLAG_3_BNET_TOKEN_TRANSACTION_IN_PROGRESS = 0x00040000, // Battle.net token transaction in progress
CHARACTER_FLAG_3_LEVEL_WAS_SCALED = 0x00080000, // Player's level was scaled at last save
CHARACTER_FLAG_3_LOCKED_BY_REVOKED_VAS_TRANSACTION = 0x00100000, // Character locked due to revoked VAS purchase
CHARACTER_FLAG_3_VAS_PRODUCT_APPLICATION_IN_PROGRESS = 0x00200000, // Character VAS product application in progress
CHARACTER_FLAG_3_WAS_RECENTLY_BOOSTED = 0x00400000, // Character was recently boosted
CHARACTER_FLAG_3_CURRENTLY_PROCESSING_VAS_PURCHASE = 0x00800000, // Character is currently processing a VAS purchase (disables web purchases)
CHARACTER_FLAG_3_LEGION_SPEC_WEAPON_FIXED_UP = 0x01000000, // Legion Spec Weapon Fixed up
CHARACTER_FLAG_3_SENT_ACHIEVEMENT_HISTORY_TO_BI = 0x02000000, // Sent Achievement History to BI
CHARACTER_FLAG_3_GRANTED_LEVELS_FROM_RAF = 0x04000000, // Character has been granted at least one single level boost from Recruit a friend system
CHARACTER_FLAG_3_WAR_MODE_DESIRED = 0x08000000, // Character has opted-in to Warmode
CHARACTER_FLAG_3_HONOR_CONVERTED_TO_ACCOUNT_WIDE = 0x10000000, // Honor has been converted to account wide
CHARACTER_FLAG_3_KEYSTONE_FIXED_UP_FOR_LEGION_ROLLOVER = 0x20000000, // Keystone has been fixed-up for Legion rollover
CHARACTER_FLAG_3_MYTHIC_PLUS_SEASON_1_ACHIEVEMENT_FIXED_UP = 0x40000000, // Mythic+ Season 1 achievement has been fixed-up
};
enum CharacterFlags4 : int32
{
CHARACTER_FLAG_4_NONE = 0x00000000,
CHARACTER_FLAG_4_USED_RPE_RESET = 0x00000001, // Character has used a rpe reset recently
CHARACTER_FLAG_4_ONLY_RPE_RESET_OR_TIMERUNNING_END_BOOST = 0x00000002, // Character has only ever used an rpe reset boost or timerunning-season-end boost
CHARACTER_FLAG_4_SELF_FOUND = 0x00000004, // Character is self-found, and cannot trade, use the auction house, or use most mail functions
CHARACTER_FLAG_4_TIMERUNNING_CONVERSION_DONE = 0x00000008, // Character has been updated to normal characters from a timerunning season
CHARACTER_FLAG_4_LOGGED_IN_BY_CRAWLER_OVERRIDING_LOCKS = 0x00000010, // Character is being logged in by crawler overriding locks.
CHARACTER_FLAG_4_PROCESSED_FOR_WARBANDS = 0x00000020, // Character has had their information added to account-wide warband tracking
CHARACTER_FLAG_4_LOGGED_OUT_WHILE_LOREWALKING = 0x00000040, // Character last logged out while actively Lorewalking
CHARACTER_FLAG_4_NO_NEIGHBORHOOD_INVITES = 0x00000080, // Character does not accept neighborhood invites
CHARACTER_FLAG_4_CHECKED_FOR_2ND_WAVE_ACCOUNT_WIDE_FACTIONS = 0x00000100, // Character has been checked for 2nd wave of account wide factions
CHARACTER_FLAG_4_WILL_BE_RESURRECTED_IN_HARDCORE = 0x00000200, // Character will be resurrected overriding hardcore game rule
};
enum CharacterRestrictionFlags : uint32
{
CHARACTER_RESTRICTION_FLAG_TRIAL_BOOST = 0x00000080,
CHARACTER_RESTRICTION_FLAG_TRIAL_BOOST_LOCKED = 0x00040000,
CHARACTER_RESTRICTION_FLAG_EXPANSION_TRIAL = 0x00080000,
};
// Languages.db2 (11.2.5.62687)
enum Language
{
LANG_UNIVERSAL = 0,
LANG_ORCISH = 1,
LANG_DARNASSIAN = 2,
LANG_TAURAHE = 3,
LANG_DWARVISH = 6,
LANG_COMMON = 7,
LANG_DEMONIC = 8,
LANG_TITAN = 9,
LANG_THALASSIAN = 10,
LANG_DRACONIC = 11,
LANG_KALIMAG = 12,
LANG_GNOMISH = 13,
LANG_TROLL = 14,
LANG_GUTTERSPEAK = 33,
LANG_DRAENEI = 35,
LANG_ZOMBIE = 36,
LANG_GNOMISH_BINARY = 37,
LANG_GOBLIN_BINARY = 38,
LANG_WORGEN = 39,
LANG_GOBLIN = 40,
LANG_PANDAREN_NEUTRAL = 42,
LANG_PANDAREN_ALLIANCE = 43,
LANG_PANDAREN_HORDE = 44,
LANG_SPRITE = 168,
LANG_SHATH_YAR = 178,
LANG_NERGLISH = 179,
LANG_MOONKIN = 180,
LANG_SHALASSIAN = 181,
LANG_THALASSIAN_2 = 182,
LANG_ADDON = 183,
LANG_ADDON_LOGGED = 184,
LANG_VULPERA = 285,
LANG_COMPLEX_CIPHER = 287,
LANG_BASIC_CYPHER = 288,
LANG_METRIAL = 290,
LANG_ALTONIAN = 291,
LANG_SOPRANIAN = 292,
LANG_AEALIC = 293,
LANG_DEALIC = 294,
LANG_TREBELIM = 295,
LANG_BASSALIM = 296,
LANG_EMBEDDED_LANGUAGES = 297,
LANG_UNKNOWABLE = 298,
LANG_FURBOLG = 303,
LANG_EARTHEN = 304,
LANG_NERUBIAN = 307,
LANG_TONGUES_OF_SANCTUARY = 308,
};
enum TeamId
{
TEAM_ALLIANCE = 0,
TEAM_HORDE,
TEAM_NEUTRAL
};
constexpr TeamId GetOtherTeam(TeamId team)
{
switch (team)
{
case TEAM_ALLIANCE:
return TEAM_HORDE;
case TEAM_HORDE:
return TEAM_ALLIANCE;
default:
break;
}
return TEAM_NEUTRAL;
}
enum Team
{
HORDE = 67,
ALLIANCE = 469,
PANDARIA_NEUTRAL = 1249, // Starting pandas should have this team
TEAM_OTHER = 0 // if ReputationListId > 0 && Flags != FACTION_FLAG_TEAM_HEADER
};
constexpr Team GetOtherTeam(Team team)
{
switch (team)
{
case HORDE:
return ALLIANCE;
case ALLIANCE:
return HORDE;
case PANDARIA_NEUTRAL:
return PANDARIA_NEUTRAL;
default:
break;
}
return TEAM_OTHER;
}
constexpr TeamId GetTeamIdForTeam(Team team)
{
switch (team)
{
case HORDE:
return TEAM_HORDE;
case ALLIANCE:
return TEAM_ALLIANCE;
default:
break;
}
return TEAM_NEUTRAL;
}
enum SpellEffectName
{
SPELL_EFFECT_NONE = 0,
SPELL_EFFECT_INSTAKILL = 1,
SPELL_EFFECT_SCHOOL_DAMAGE = 2,
SPELL_EFFECT_DUMMY = 3,
SPELL_EFFECT_PORTAL_TELEPORT = 4, // Unused (4.3.4)
SPELL_EFFECT_5 = 5,
SPELL_EFFECT_APPLY_AURA = 6,
SPELL_EFFECT_ENVIRONMENTAL_DAMAGE = 7,
SPELL_EFFECT_POWER_DRAIN = 8,
SPELL_EFFECT_HEALTH_LEECH = 9,
SPELL_EFFECT_HEAL = 10,
SPELL_EFFECT_BIND = 11,
SPELL_EFFECT_PORTAL = 12,
SPELL_EFFECT_TELEPORT_TO_RETURN_POINT = 13, // MiscValueA = spellid of the aura holding destination
SPELL_EFFECT_INCREASE_CURRENCY_CAP = 14,
SPELL_EFFECT_TELEPORT_WITH_SPELL_VISUAL_KIT_LOADING_SCREEN = 15, // MiscValueA = delay, MiscValueB = SpellVisualKitId
SPELL_EFFECT_QUEST_COMPLETE = 16,
SPELL_EFFECT_WEAPON_DAMAGE_NOSCHOOL = 17,
SPELL_EFFECT_RESURRECT = 18,
SPELL_EFFECT_ADD_EXTRA_ATTACKS = 19,
SPELL_EFFECT_DODGE = 20,
SPELL_EFFECT_EVADE = 21,
SPELL_EFFECT_PARRY = 22,
SPELL_EFFECT_BLOCK = 23,
SPELL_EFFECT_CREATE_ITEM = 24,
SPELL_EFFECT_WEAPON = 25,
SPELL_EFFECT_DEFENSE = 26,
SPELL_EFFECT_PERSISTENT_AREA_AURA = 27,
SPELL_EFFECT_SUMMON = 28,
SPELL_EFFECT_LEAP = 29,
SPELL_EFFECT_ENERGIZE = 30,
SPELL_EFFECT_WEAPON_PERCENT_DAMAGE = 31,
SPELL_EFFECT_TRIGGER_MISSILE = 32,
SPELL_EFFECT_OPEN_LOCK = 33,
SPELL_EFFECT_SUMMON_CHANGE_ITEM = 34,
SPELL_EFFECT_APPLY_AREA_AURA_PARTY = 35,
SPELL_EFFECT_LEARN_SPELL = 36,
SPELL_EFFECT_SPELL_DEFENSE = 37,
SPELL_EFFECT_DISPEL = 38,
SPELL_EFFECT_LANGUAGE = 39,
SPELL_EFFECT_DUAL_WIELD = 40,
SPELL_EFFECT_JUMP = 41,
SPELL_EFFECT_JUMP_DEST = 42,
SPELL_EFFECT_TELEPORT_UNITS_FACE_CASTER = 43,
SPELL_EFFECT_SKILL_STEP = 44,
SPELL_EFFECT_PLAY_MOVIE = 45,
SPELL_EFFECT_SPAWN = 46,
SPELL_EFFECT_TRADE_SKILL = 47,
SPELL_EFFECT_STEALTH = 48,
SPELL_EFFECT_DETECT = 49,
SPELL_EFFECT_TRANS_DOOR = 50,
SPELL_EFFECT_FORCE_CRITICAL_HIT = 51, // Unused (4.3.4)
SPELL_EFFECT_SET_MAX_BATTLE_PET_COUNT = 52,
SPELL_EFFECT_ENCHANT_ITEM = 53,
SPELL_EFFECT_ENCHANT_ITEM_TEMPORARY = 54,
SPELL_EFFECT_TAMECREATURE = 55,
SPELL_EFFECT_SUMMON_PET = 56,
SPELL_EFFECT_LEARN_PET_SPELL = 57,
SPELL_EFFECT_WEAPON_DAMAGE = 58,
SPELL_EFFECT_CREATE_RANDOM_ITEM = 59,
SPELL_EFFECT_PROFICIENCY = 60,
SPELL_EFFECT_SEND_EVENT = 61,
SPELL_EFFECT_POWER_BURN = 62,
SPELL_EFFECT_THREAT = 63,
SPELL_EFFECT_TRIGGER_SPELL = 64,
SPELL_EFFECT_APPLY_AREA_AURA_RAID = 65,
SPELL_EFFECT_RECHARGE_ITEM = 66,
SPELL_EFFECT_HEAL_MAX_HEALTH = 67,
SPELL_EFFECT_INTERRUPT_CAST = 68,
SPELL_EFFECT_DISTRACT = 69,
SPELL_EFFECT_COMPLETE_AND_REWARD_WORLD_QUEST = 70,
SPELL_EFFECT_PICKPOCKET = 71,
SPELL_EFFECT_ADD_FARSIGHT = 72,
SPELL_EFFECT_UNTRAIN_TALENTS = 73,
SPELL_EFFECT_APPLY_GLYPH = 74,
SPELL_EFFECT_HEAL_MECHANICAL = 75,
SPELL_EFFECT_SUMMON_OBJECT_WILD = 76,
SPELL_EFFECT_SCRIPT_EFFECT = 77,
SPELL_EFFECT_ATTACK = 78,
SPELL_EFFECT_SANCTUARY = 79,
SPELL_EFFECT_MODIFY_FOLLOWER_ITEM_LEVEL = 80,
SPELL_EFFECT_PUSH_ABILITY_TO_ACTION_BAR = 81,
SPELL_EFFECT_BIND_SIGHT = 82,
SPELL_EFFECT_DUEL = 83,
SPELL_EFFECT_STUCK = 84,
SPELL_EFFECT_SUMMON_PLAYER = 85,
SPELL_EFFECT_ACTIVATE_OBJECT = 86,
SPELL_EFFECT_GAMEOBJECT_DAMAGE = 87,
SPELL_EFFECT_GAMEOBJECT_REPAIR = 88,
SPELL_EFFECT_GAMEOBJECT_SET_DESTRUCTION_STATE = 89,
SPELL_EFFECT_KILL_CREDIT = 90,
SPELL_EFFECT_THREAT_ALL = 91,
SPELL_EFFECT_ENCHANT_HELD_ITEM = 92,
SPELL_EFFECT_FORCE_DESELECT = 93,
SPELL_EFFECT_SELF_RESURRECT = 94,
SPELL_EFFECT_SKINNING = 95,
SPELL_EFFECT_CHARGE = 96,
SPELL_EFFECT_CAST_BUTTON = 97,
SPELL_EFFECT_KNOCK_BACK = 98,
SPELL_EFFECT_DISENCHANT = 99,
SPELL_EFFECT_INEBRIATE = 100,
SPELL_EFFECT_FEED_PET = 101,
SPELL_EFFECT_DISMISS_PET = 102,
SPELL_EFFECT_REPUTATION = 103,
SPELL_EFFECT_SUMMON_OBJECT_SLOT1 = 104,
SPELL_EFFECT_SURVEY = 105,
SPELL_EFFECT_CHANGE_RAID_MARKER = 106,
SPELL_EFFECT_SHOW_CORPSE_LOOT = 107,
SPELL_EFFECT_DISPEL_MECHANIC = 108,
SPELL_EFFECT_RESURRECT_PET = 109,
SPELL_EFFECT_DESTROY_ALL_TOTEMS = 110,
SPELL_EFFECT_DURABILITY_DAMAGE = 111,
SPELL_EFFECT_112 = 112,
SPELL_EFFECT_CANCEL_CONVERSATION = 113,
SPELL_EFFECT_ATTACK_ME = 114,
SPELL_EFFECT_DURABILITY_DAMAGE_PCT = 115,
SPELL_EFFECT_SKIN_PLAYER_CORPSE = 116,
SPELL_EFFECT_SPIRIT_HEAL = 117,
SPELL_EFFECT_SKILL = 118,
SPELL_EFFECT_APPLY_AREA_AURA_PET = 119,
SPELL_EFFECT_TELEPORT_GRAVEYARD = 120,
SPELL_EFFECT_NORMALIZED_WEAPON_DMG = 121,
SPELL_EFFECT_122 = 122,
SPELL_EFFECT_SEND_TAXI = 123,
SPELL_EFFECT_PULL_TOWARDS = 124,
SPELL_EFFECT_MODIFY_THREAT_PERCENT = 125,
SPELL_EFFECT_STEAL_BENEFICIAL_BUFF = 126,
SPELL_EFFECT_PROSPECTING = 127,
SPELL_EFFECT_APPLY_AREA_AURA_FRIEND = 128,
SPELL_EFFECT_APPLY_AREA_AURA_ENEMY = 129,
SPELL_EFFECT_REDIRECT_THREAT = 130,
SPELL_EFFECT_PLAY_SOUND = 131,
SPELL_EFFECT_PLAY_MUSIC = 132,
SPELL_EFFECT_UNLEARN_SPECIALIZATION = 133,
SPELL_EFFECT_KILL_CREDIT2 = 134,
SPELL_EFFECT_CALL_PET = 135,
SPELL_EFFECT_HEAL_PCT = 136,
SPELL_EFFECT_ENERGIZE_PCT = 137,
SPELL_EFFECT_LEAP_BACK = 138,
SPELL_EFFECT_CLEAR_QUEST = 139,
SPELL_EFFECT_FORCE_CAST = 140,
SPELL_EFFECT_FORCE_CAST_WITH_VALUE = 141,
SPELL_EFFECT_TRIGGER_SPELL_WITH_VALUE = 142,
SPELL_EFFECT_APPLY_AREA_AURA_OWNER = 143,
SPELL_EFFECT_KNOCK_BACK_DEST = 144,
SPELL_EFFECT_PULL_TOWARDS_DEST = 145,
SPELL_EFFECT_RESTORE_GARRISON_TROOP_VITALITY = 146,
SPELL_EFFECT_QUEST_FAIL = 147,
SPELL_EFFECT_TRIGGER_MISSILE_SPELL_WITH_VALUE = 148,
SPELL_EFFECT_CHARGE_DEST = 149,
SPELL_EFFECT_QUEST_START = 150,
SPELL_EFFECT_TRIGGER_SPELL_2 = 151,
SPELL_EFFECT_SUMMON_RAF_FRIEND = 152,
SPELL_EFFECT_CREATE_TAMED_PET = 153,
SPELL_EFFECT_DISCOVER_TAXI = 154,
SPELL_EFFECT_TITAN_GRIP = 155,
SPELL_EFFECT_ENCHANT_ITEM_PRISMATIC = 156,
SPELL_EFFECT_CREATE_LOOT = 157, // crafting loot
SPELL_EFFECT_MILLING = 158,
SPELL_EFFECT_ALLOW_RENAME_PET = 159,
SPELL_EFFECT_FORCE_CAST_2 = 160,
SPELL_EFFECT_TALENT_SPEC_COUNT = 161,
SPELL_EFFECT_TALENT_SPEC_SELECT = 162,
SPELL_EFFECT_OBLITERATE_ITEM = 163,
SPELL_EFFECT_REMOVE_AURA = 164,
SPELL_EFFECT_DAMAGE_FROM_MAX_HEALTH_PCT = 165,
SPELL_EFFECT_GIVE_CURRENCY = 166,
SPELL_EFFECT_UPDATE_PLAYER_PHASE = 167,
SPELL_EFFECT_ALLOW_CONTROL_PET = 168, // NYI
SPELL_EFFECT_DESTROY_ITEM = 169,
SPELL_EFFECT_UPDATE_ZONE_AURAS_AND_PHASES = 170, // NYI
SPELL_EFFECT_SUMMON_PERSONAL_GAMEOBJECT = 171, // Summons gamebject
SPELL_EFFECT_RESURRECT_WITH_AURA = 172,
SPELL_EFFECT_UNLOCK_GUILD_VAULT_TAB = 173, // Guild tab unlocked (guild perk)
SPELL_EFFECT_APPLY_AURA_ON_PET = 174, // NYI
SPELL_EFFECT_175 = 175,
SPELL_EFFECT_SANCTUARY_2 = 176, // NYI
SPELL_EFFECT_DESPAWN_PERSISTENT_AREA_AURA = 177,
SPELL_EFFECT_178 = 178,
SPELL_EFFECT_CREATE_AREATRIGGER = 179,
SPELL_EFFECT_UPDATE_AREATRIGGER = 180, // NYI
SPELL_EFFECT_REMOVE_TALENT = 181,
SPELL_EFFECT_DESPAWN_AREATRIGGER = 182,
SPELL_EFFECT_183 = 183,
SPELL_EFFECT_REPUTATION_2 = 184,
SPELL_EFFECT_185 = 185,
SPELL_EFFECT_186 = 186,
SPELL_EFFECT_RANDOMIZE_ARCHAEOLOGY_DIGSITES = 187, // NYI
SPELL_EFFECT_SUMMON_STABLED_PET_AS_GUARDIAN = 188,
SPELL_EFFECT_LOOT = 189, // NYI, lootid in MiscValue ?
SPELL_EFFECT_CHANGE_PARTY_MEMBERS = 190, // MiscValueA = 1 is join, MiscValueA = 0 is leave - used by NPCs
SPELL_EFFECT_TELEPORT_TO_DIGSITE = 191, // NYI
SPELL_EFFECT_UNCAGE_BATTLEPET = 192,
SPELL_EFFECT_START_PET_BATTLE = 193,
SPELL_EFFECT_194 = 194,
SPELL_EFFECT_PLAY_SCENE_SCRIPT_PACKAGE = 195,
SPELL_EFFECT_CREATE_SCENE_OBJECT = 196, // MiscValueA = SceneId, goes into guid as entry, SceneScriptPackageId goes into ObjectData::Entry
SPELL_EFFECT_CREATE_PERSONAL_SCENE_OBJECT = 197, // MiscValueA = SceneId, goes into guid as entry, SceneScriptPackageId goes into ObjectData::Entry
SPELL_EFFECT_PLAY_SCENE = 198,
SPELL_EFFECT_DESPAWN_SUMMON = 199, // MiscValueA is some kind of unknown internal id
SPELL_EFFECT_HEAL_BATTLEPET_PCT = 200, // NYI
SPELL_EFFECT_ENABLE_BATTLE_PETS = 201, // NYI
SPELL_EFFECT_APPLY_AREA_AURA_SUMMONS = 202,
SPELL_EFFECT_REMOVE_AURA_2 = 203,
SPELL_EFFECT_CHANGE_BATTLEPET_QUALITY = 204,
SPELL_EFFECT_LAUNCH_QUEST_CHOICE = 205,
SPELL_EFFECT_ALTER_ITEM = 206, // NYI
SPELL_EFFECT_LAUNCH_QUEST_TASK = 207, // Starts one of the "progress bar" quests
SPELL_EFFECT_SET_REPUTATION = 208,
SPELL_EFFECT_209 = 209,
SPELL_EFFECT_LEARN_GARRISON_BUILDING = 210,
SPELL_EFFECT_LEARN_GARRISON_SPECIALIZATION = 211,
SPELL_EFFECT_REMOVE_AURA_BY_SPELL_LABEL = 212,
SPELL_EFFECT_JUMP_DEST_2 = 213,
SPELL_EFFECT_CREATE_GARRISON = 214,
SPELL_EFFECT_UPGRADE_CHARACTER_SPELLS = 215, // Unlocks boosted players' spells (ChrUpgrade*.db2)
SPELL_EFFECT_CREATE_SHIPMENT = 216,
SPELL_EFFECT_UPGRADE_GARRISON = 217,
SPELL_EFFECT_218 = 218,
SPELL_EFFECT_CREATE_CONVERSATION = 219,
SPELL_EFFECT_ADD_GARRISON_FOLLOWER = 220,
SPELL_EFFECT_ADD_GARRISON_MISSION = 221,
SPELL_EFFECT_CREATE_HEIRLOOM_ITEM = 222,
SPELL_EFFECT_CHANGE_ITEM_BONUSES = 223,
SPELL_EFFECT_ACTIVATE_GARRISON_BUILDING = 224,
SPELL_EFFECT_GRANT_BATTLEPET_LEVEL = 225,
SPELL_EFFECT_TRIGGER_ACTION_SET = 226,
SPELL_EFFECT_TELEPORT_TO_LFG_DUNGEON = 227,
SPELL_EFFECT_228 = 228,
SPELL_EFFECT_SET_FOLLOWER_QUALITY = 229,
SPELL_EFFECT_230 = 230,
SPELL_EFFECT_INCREASE_FOLLOWER_EXPERIENCE = 231,
SPELL_EFFECT_REMOVE_PHASE = 232,
SPELL_EFFECT_RANDOMIZE_FOLLOWER_ABILITIES = 233,
SPELL_EFFECT_234 = 234,
SPELL_EFFECT_235 = 235,
SPELL_EFFECT_GIVE_EXPERIENCE = 236, // Increases players XP
SPELL_EFFECT_GIVE_RESTED_EXPERIENCE_BONUS = 237,
SPELL_EFFECT_INCREASE_SKILL = 238,
SPELL_EFFECT_END_GARRISON_BUILDING_CONSTRUCTION = 239, // Instantly finishes building construction
SPELL_EFFECT_GIVE_ARTIFACT_POWER = 240,
SPELL_EFFECT_241 = 241,
SPELL_EFFECT_GIVE_ARTIFACT_POWER_NO_BONUS = 242, // Unaffected by Artifact Knowledge
SPELL_EFFECT_APPLY_ENCHANT_ILLUSION = 243,
SPELL_EFFECT_LEARN_FOLLOWER_ABILITY = 244,
SPELL_EFFECT_UPGRADE_HEIRLOOM = 245,
SPELL_EFFECT_FINISH_GARRISON_MISSION = 246,
SPELL_EFFECT_ADD_GARRISON_MISSION_SET = 247,
SPELL_EFFECT_FINISH_SHIPMENT = 248,
SPELL_EFFECT_FORCE_EQUIP_ITEM = 249,
SPELL_EFFECT_TAKE_SCREENSHOT = 250, // Serverside marker for selfie screenshot - achievement check
SPELL_EFFECT_SET_GARRISON_CACHE_SIZE = 251,
SPELL_EFFECT_TELEPORT_UNITS = 252,
SPELL_EFFECT_GIVE_HONOR = 253,
SPELL_EFFECT_JUMP_CHARGE = 254,
SPELL_EFFECT_LEARN_TRANSMOG_SET = 255,
SPELL_EFFECT_256 = 256,
SPELL_EFFECT_257 = 257,
SPELL_EFFECT_MODIFY_KEYSTONE = 258,
SPELL_EFFECT_RESPEC_AZERITE_EMPOWERED_ITEM = 259,
SPELL_EFFECT_SUMMON_STABLED_PET = 260,
SPELL_EFFECT_SCRAP_ITEM = 261,
SPELL_EFFECT_262 = 262,
SPELL_EFFECT_REPAIR_ITEM = 263,
SPELL_EFFECT_REMOVE_GEM = 264,
SPELL_EFFECT_LEARN_AZERITE_ESSENCE_POWER = 265,
SPELL_EFFECT_SET_ITEM_BONUS_LIST_GROUP_ENTRY = 266, // Sets item bonuses to specific ItemBonusListGroupEntry id
SPELL_EFFECT_CREATE_PRIVATE_CONVERSATION = 267,
SPELL_EFFECT_APPLY_MOUNT_EQUIPMENT = 268,
SPELL_EFFECT_INCREASE_ITEM_BONUS_LIST_GROUP_STEP= 269, // Advances ItemBonusListGroup bonuses to next rank
SPELL_EFFECT_270 = 270,
SPELL_EFFECT_APPLY_AREA_AURA_PARTY_NONRANDOM = 271,
SPELL_EFFECT_SET_COVENANT = 272,
SPELL_EFFECT_CRAFT_RUNEFORGE_LEGENDARY = 273,
SPELL_EFFECT_274 = 274,
SPELL_EFFECT_275 = 275,
SPELL_EFFECT_LEARN_TRANSMOG_ILLUSION = 276,
SPELL_EFFECT_SET_CHROMIE_TIME = 277,
SPELL_EFFECT_278 = 278,
SPELL_EFFECT_LEARN_GARR_TALENT = 279,
SPELL_EFFECT_280 = 280,
SPELL_EFFECT_LEARN_SOULBIND_CONDUIT = 281,
SPELL_EFFECT_CONVERT_ITEMS_TO_CURRENCY = 282,
SPELL_EFFECT_COMPLETE_CAMPAIGN = 283, // Flags all quests as completed that are assigned to campaign (MiscValueA)
SPELL_EFFECT_SEND_CHAT_MESSAGE = 284, // MiscValue[0] = BroadcastTextID, MiscValue[1] = ChatType
SPELL_EFFECT_MODIFY_KEYSTONE_2 = 285,
SPELL_EFFECT_GRANT_BATTLEPET_EXPERIENCE = 286,
SPELL_EFFECT_SET_GARRISON_FOLLOWER_LEVEL = 287,
SPELL_EFFECT_CRAFT_ITEM = 288, // MiscValue[0] = CraftingDataID
SPELL_EFFECT_MODIFY_AURA_STACKS = 289, // MiscValue[0] = 0 means add, = 1 means set
SPELL_EFFECT_MODIFY_COOLDOWN = 290,
SPELL_EFFECT_MODIFY_COOLDOWNS = 291, // MiscValue[0] = SpellFamily, MiscValue[1] = bit index for family flags
SPELL_EFFECT_MODIFY_COOLDOWNS_BY_CATEGORY = 292, // MiscValue[0] = category
SPELL_EFFECT_MODIFY_CHARGES = 293, // MiscValue[0] = charge category
SPELL_EFFECT_CRAFT_LOOT = 294, // MiscValue[0] = CraftingDataID
SPELL_EFFECT_SALVAGE_ITEM = 295, // MiscValue[0] = ItemSalvageID
SPELL_EFFECT_CRAFT_SALVAGE_ITEM = 296, // MiscValue[0] = ItemSalvageID, MiscValue[1] = CraftingDataID
SPELL_EFFECT_RECRAFT_ITEM = 297,
SPELL_EFFECT_CANCEL_ALL_PRIVATE_CONVERSATIONS = 298,
SPELL_EFFECT_299 = 299, // something with items, as of 10.0.2 all spells are named "Downgrading"
SPELL_EFFECT_300 = 300,
SPELL_EFFECT_CRAFT_ENCHANT = 301, // MiscValue[0] = CraftingDataID, MiscValue[1] = ?
SPELL_EFFECT_GATHERING = 302,
SPELL_EFFECT_CREATE_TRAIT_TREE_CONFIG = 303, // MiscValue[0] = TraitTreeID
SPELL_EFFECT_CHANGE_ACTIVE_COMBAT_TRAIT_CONFIG = 304,
SPELL_EFFECT_305 = 305,
SPELL_EFFECT_UPDATE_INTERACTIONS = 306,
SPELL_EFFECT_307 = 307,
SPELL_EFFECT_CANCEL_PRELOAD_WORLD = 308,
SPELL_EFFECT_PRELOAD_WORLD = 309,
SPELL_EFFECT_310 = 310,
SPELL_EFFECT_ENSURE_WORLD_LOADED = 311,
SPELL_EFFECT_312 = 312,
SPELL_EFFECT_CHANGE_ITEM_BONUSES_2 = 313, // MiscValue[0] = ItemBonusTreeID to preserve
SPELL_EFFECT_ADD_SOCKET_BONUS = 314, // MiscValue[0] = required ItemBonusTreeID
SPELL_EFFECT_LEARN_TRANSMOG_APPEARANCE_FROM_ITEM_MOD_APPEARANCE_GROUP = 315, // MiscValue[0] = ItemModAppearanceGroupID (not in db2)
SPELL_EFFECT_KILL_CREDIT_LABEL_1 = 316,
SPELL_EFFECT_KILL_CREDIT_LABEL_2 = 317,
SPELL_EFFECT_318 = 318,
SPELL_EFFECT_319 = 319,
SPELL_EFFECT_320 = 320,
SPELL_EFFECT_321 = 321,
SPELL_EFFECT_322 = 322,
SPELL_EFFECT_323 = 323,
SPELL_EFFECT_324 = 324,
SPELL_EFFECT_325 = 325,
SPELL_EFFECT_326 = 326,
SPELL_EFFECT_327 = 327,
SPELL_EFFECT_328 = 328,
SPELL_EFFECT_329 = 329,
SPELL_EFFECT_330 = 330,
SPELL_EFFECT_331 = 331,
SPELL_EFFECT_332 = 332,
SPELL_EFFECT_333 = 333,
SPELL_EFFECT_334 = 334,
SPELL_EFFECT_SET_PLAYER_DATA_ELEMENT_ACCOUNT = 335, // MiscValue[0] = PlayerDataElementAccount
SPELL_EFFECT_SET_PLAYER_DATA_ELEMENT_CHARACTER = 336, // MiscValue[0] = PlayerDataElementCharacter
SPELL_EFFECT_SET_PLAYER_DATA_FLAG_ACCOUNT = 337, // MiscValue[0] = PlayerDataFlagAccount
SPELL_EFFECT_SET_PLAYER_DATA_FLAG_CHARACTER = 338, // MiscValue[0] = PlayerDataFlagCharacter
SPELL_EFFECT_UI_ACTION = 339,
SPELL_EFFECT_340 = 340,
SPELL_EFFECT_LEARN_WARBAND_SCENE = 341,
SPELL_EFFECT_342 = 342,
SPELL_EFFECT_343 = 343,
SPELL_EFFECT_344 = 344, // some kind of teleport
SPELL_EFFECT_ASSIST_ACTION = 345, // MiscValue[0] = AssistActionType, MiscValue[1] = ID, depends on type
TOTAL_SPELL_EFFECTS
};
// EnumUtils: DESCRIBE THIS
enum SpellCastResult : int32
{
SPELL_FAILED_SUCCESS = 0,
SPELL_FAILED_AFFECTING_COMBAT = 1,
SPELL_FAILED_ALREADY_AT_FULL_HEALTH = 2,
SPELL_FAILED_ALREADY_AT_FULL_MANA = 3,
SPELL_FAILED_ALREADY_AT_FULL_POWER = 4,
SPELL_FAILED_ALREADY_BEING_TAMED = 5,
SPELL_FAILED_ALREADY_HAVE_CHARM = 6,
SPELL_FAILED_ALREADY_HAVE_SUMMON = 7,
SPELL_FAILED_ALREADY_HAVE_PET = 8,
SPELL_FAILED_ALREADY_OPEN = 9,
SPELL_FAILED_AURA_BOUNCED = 10,
SPELL_FAILED_AUTOTRACK_INTERRUPTED = 11,
SPELL_FAILED_BAD_IMPLICIT_TARGETS = 12,
SPELL_FAILED_BAD_TARGETS = 13,
SPELL_FAILED_PVP_TARGET_WHILE_UNFLAGGED = 14,
SPELL_FAILED_CANT_BE_CHARMED = 15,
SPELL_FAILED_CANT_BE_SALVAGED = 16,
SPELL_FAILED_CANT_BE_SALVAGED_SKILL = 17,
SPELL_FAILED_CANT_BE_ENCHANTED = 18,
SPELL_FAILED_CANT_BE_MILLED = 19,
SPELL_FAILED_CANT_BE_PROSPECTED = 20,
SPELL_FAILED_CANT_CAST_ON_TAPPED = 21,
SPELL_FAILED_CANT_DUEL_WHILE_INVISIBLE = 22,
SPELL_FAILED_CANT_DUEL_WHILE_STEALTHED = 23,
SPELL_FAILED_CANT_STEALTH = 24,
SPELL_FAILED_CANT_UNTALENT = 25,
SPELL_FAILED_CASTER_AURASTATE = 26,
SPELL_FAILED_CASTER_DEAD = 27,
SPELL_FAILED_CHARMED = 28,
SPELL_FAILED_CHEST_IN_USE = 29,
SPELL_FAILED_CONFUSED = 30,
SPELL_FAILED_DISABLED_BY_POWER_SCALING = 31,
SPELL_FAILED_DONT_REPORT = 32,
SPELL_FAILED_EQUIPPED_ITEM = 33,
SPELL_FAILED_EQUIPPED_ITEM_CLASS = 34,
SPELL_FAILED_EQUIPPED_ITEM_CLASS_MAINHAND = 35,
SPELL_FAILED_EQUIPPED_ITEM_CLASS_OFFHAND = 36,
SPELL_FAILED_ERROR = 37,
SPELL_FAILED_FALLING = 38,
SPELL_FAILED_FIZZLE = 39,
SPELL_FAILED_FLEEING = 40,
SPELL_FAILED_FOOD_LOWLEVEL = 41,
SPELL_FAILED_GARRISON_NOT_OWNED = 42,
SPELL_FAILED_GARRISON_OWNED = 43,
SPELL_FAILED_GARRISON_MAX_LEVEL = 44,
SPELL_FAILED_GARRISON_NOT_UPGRADEABLE = 45,
SPELL_FAILED_GARRISON_FOLLOWER_ON_MISSION = 46,
SPELL_FAILED_GARRISON_FOLLOWER_IN_BUILDING = 47,
SPELL_FAILED_GARRISON_FOLLOWER_MAX_LEVEL = 48,
SPELL_FAILED_GARRISON_FOLLOWER_MIN_ITEM_LEVEL = 49,
SPELL_FAILED_GARRISON_FOLLOWER_MAX_ITEM_LEVEL = 50,
SPELL_FAILED_GARRISON_FOLLOWER_MAX_QUALITY = 51,
SPELL_FAILED_GARRISON_FOLLOWER_NOT_MAX_LEVEL = 52,
SPELL_FAILED_GARRISON_FOLLOWER_HAS_ABILITY = 53,
SPELL_FAILED_GARRISON_FOLLOWER_HAS_SINGLE_MISSION_ABILITY = 54,
SPELL_FAILED_GARRISON_FOLLOWER_REQUIRES_EPIC = 55,
SPELL_FAILED_GARRISON_MISSION_NOT_IN_PROGRESS = 56,
SPELL_FAILED_GARRISON_MISSION_COMPLETE = 57,
SPELL_FAILED_GARRISON_NO_MISSIONS_AVAILABLE = 58,
SPELL_FAILED_HIGHLEVEL = 59,
SPELL_FAILED_HUNGER_SATIATED = 60,
SPELL_FAILED_IMMUNE = 61,
SPELL_FAILED_INCORRECT_AREA = 62,
SPELL_FAILED_INTERRUPTED = 63,
SPELL_FAILED_INTERRUPTED_COMBAT = 64,
SPELL_FAILED_ITEM_ALREADY_ENCHANTED = 65,
SPELL_FAILED_ITEM_GONE = 66,
SPELL_FAILED_ITEM_NOT_FOUND = 67,
SPELL_FAILED_ITEM_NOT_READY = 68,
SPELL_FAILED_LEGACY_SPELL = 69,
SPELL_FAILED_LEVEL_REQUIREMENT = 70,
SPELL_FAILED_LINE_OF_SIGHT = 71,
SPELL_FAILED_LOWLEVEL = 72,
SPELL_FAILED_LOW_CASTLEVEL = 73,
SPELL_FAILED_MAINHAND_EMPTY = 74,
SPELL_FAILED_MOVING = 75,
SPELL_FAILED_NEED_AMMO = 76,
SPELL_FAILED_NEED_AMMO_POUCH = 77,
SPELL_FAILED_NEED_EXOTIC_AMMO = 78,
SPELL_FAILED_NEED_MORE_ITEMS = 79,
SPELL_FAILED_NOPATH = 80,
SPELL_FAILED_NOT_BEHIND = 81,
SPELL_FAILED_NOT_FISHABLE = 82,
SPELL_FAILED_NOT_FLYING = 83,
SPELL_FAILED_NOT_HERE = 84,
SPELL_FAILED_NOT_INFRONT = 85,
SPELL_FAILED_NOT_IN_CONTROL = 86,
SPELL_FAILED_NOT_KNOWN = 87,
SPELL_FAILED_NOT_MOUNTED = 88,
SPELL_FAILED_NOT_ON_TAXI = 89,
SPELL_FAILED_NOT_ON_TRANSPORT = 90,
SPELL_FAILED_NOT_READY = 91,
SPELL_FAILED_NOT_SHAPESHIFT = 92,
SPELL_FAILED_NOT_STANDING = 93,
SPELL_FAILED_NOT_TRADEABLE = 94,
SPELL_FAILED_NOT_TRADING = 95,
SPELL_FAILED_NOT_UNSHEATHED = 96,
SPELL_FAILED_NOT_WHILE_GHOST = 97,
SPELL_FAILED_NOT_WHILE_LOOTING = 98,
SPELL_FAILED_NO_AMMO = 99,
SPELL_FAILED_NO_CHARGES_REMAIN = 100,
SPELL_FAILED_NO_COMBO_POINTS = 101,
SPELL_FAILED_NO_DUELING = 102,
SPELL_FAILED_NO_ENDURANCE = 103,
SPELL_FAILED_NO_FISH = 104,
SPELL_FAILED_NO_ITEMS_WHILE_SHAPESHIFTED = 105,
SPELL_FAILED_NO_MOUNTS_ALLOWED = 106,
SPELL_FAILED_NO_PET = 107,
SPELL_FAILED_NO_POWER = 108,
SPELL_FAILED_NOTHING_TO_DISPEL = 109,
SPELL_FAILED_NOTHING_TO_STEAL = 110,
SPELL_FAILED_ONLY_ABOVEWATER = 111,
SPELL_FAILED_ONLY_INDOORS = 112,
SPELL_FAILED_ONLY_MOUNTED = 113,
SPELL_FAILED_ONLY_OUTDOORS = 114,
SPELL_FAILED_ONLY_SHAPESHIFT = 115,
SPELL_FAILED_ONLY_STEALTHED = 116,
SPELL_FAILED_ONLY_UNDERWATER = 117,
SPELL_FAILED_OUT_OF_RANGE = 118,
SPELL_FAILED_PACIFIED = 119,
SPELL_FAILED_POSSESSED = 120,
SPELL_FAILED_REAGENTS = 121,
SPELL_FAILED_REQUIRES_AREA = 122,
SPELL_FAILED_REQUIRES_SPELL_FOCUS = 123,
SPELL_FAILED_ROOTED = 124,
SPELL_FAILED_SILENCED = 125,
SPELL_FAILED_SPELL_IN_PROGRESS = 126,
SPELL_FAILED_SPELL_LEARNED = 127,
SPELL_FAILED_SPELL_UNAVAILABLE = 128,
SPELL_FAILED_STUNNED = 129,
SPELL_FAILED_TARGETS_DEAD = 130,
SPELL_FAILED_TARGET_AFFECTING_COMBAT = 131,
SPELL_FAILED_TARGET_AURASTATE = 132,
SPELL_FAILED_TARGET_DUELING = 133,
SPELL_FAILED_TARGET_ENEMY = 134,
SPELL_FAILED_TARGET_ENRAGED = 135,
SPELL_FAILED_TARGET_FRIENDLY = 136,
SPELL_FAILED_TARGET_IN_COMBAT = 137,
SPELL_FAILED_TARGET_IN_PET_BATTLE = 138,
SPELL_FAILED_TARGET_IS_PLAYER = 139,
SPELL_FAILED_TARGET_IS_PLAYER_CONTROLLED = 140,
SPELL_FAILED_TARGET_NOT_DEAD = 141,
SPELL_FAILED_TARGET_NOT_IN_PARTY = 142,
SPELL_FAILED_TARGET_NOT_LOOTED = 143,
SPELL_FAILED_TARGET_NOT_PLAYER = 144,
SPELL_FAILED_TARGET_NO_POCKETS = 145,
SPELL_FAILED_TARGET_NO_WEAPONS = 146,
SPELL_FAILED_TARGET_NO_RANGED_WEAPONS = 147,
SPELL_FAILED_TARGET_UNSKINNABLE = 148,
SPELL_FAILED_THIRST_SATIATED = 149,
SPELL_FAILED_TOO_CLOSE = 150,
SPELL_FAILED_TOO_MANY_OF_ITEM = 151,
SPELL_FAILED_TOTEM_CATEGORY = 152,
SPELL_FAILED_TOTEMS = 153,
SPELL_FAILED_TRAINING_POINTS = 154,
SPELL_FAILED_TRY_AGAIN = 155,
SPELL_FAILED_UNIT_NOT_BEHIND = 156,
SPELL_FAILED_UNIT_NOT_INFRONT = 157,
SPELL_FAILED_VISION_OBSCURED = 158,
SPELL_FAILED_WRONG_PET_FOOD = 159,
SPELL_FAILED_NOT_WHILE_FATIGUED = 160,
SPELL_FAILED_TARGET_NOT_IN_INSTANCE = 161,
SPELL_FAILED_NOT_WHILE_TRADING = 162,
SPELL_FAILED_TARGET_NOT_IN_RAID = 163,
SPELL_FAILED_TARGET_FREEFORALL = 164,
SPELL_FAILED_NO_EDIBLE_CORPSES = 165,
SPELL_FAILED_ONLY_BATTLEGROUNDS = 166,
SPELL_FAILED_TARGET_NOT_GHOST = 167,
SPELL_FAILED_TOO_MANY_SKILLS = 168,
SPELL_FAILED_TRANSFORM_UNUSABLE = 169,
SPELL_FAILED_WRONG_WEATHER = 170,
SPELL_FAILED_DAMAGE_IMMUNE = 171,
SPELL_FAILED_PREVENTED_BY_MECHANIC = 172,
SPELL_FAILED_PLAY_TIME = 173,
SPELL_FAILED_REPUTATION = 174,
SPELL_FAILED_MIN_SKILL = 175,
SPELL_FAILED_NOT_IN_RATED_BATTLEGROUND = 176,
SPELL_FAILED_NOT_ON_SHAPESHIFT = 177,
SPELL_FAILED_NOT_ON_STEALTHED = 178,
SPELL_FAILED_NOT_ON_DAMAGE_IMMUNE = 179,
SPELL_FAILED_NOT_ON_MOUNTED = 180,
SPELL_FAILED_TOO_SHALLOW = 181,
SPELL_FAILED_TARGET_NOT_IN_SANCTUARY = 182,
SPELL_FAILED_TARGET_IS_TRIVIAL = 183,
SPELL_FAILED_BM_OR_INVISGOD = 184,
SPELL_FAILED_GROUND_MOUNT_NOT_ALLOWED = 185,
SPELL_FAILED_FLOATING_MOUNT_NOT_ALLOWED = 186,
SPELL_FAILED_UNDERWATER_MOUNT_NOT_ALLOWED = 187,
SPELL_FAILED_FLYING_MOUNT_NOT_ALLOWED = 188,
SPELL_FAILED_APPRENTICE_RIDING_REQUIREMENT = 189,
SPELL_FAILED_JOURNEYMAN_RIDING_REQUIREMENT = 190,
SPELL_FAILED_EXPERT_RIDING_REQUIREMENT = 191,
SPELL_FAILED_ARTISAN_RIDING_REQUIREMENT = 192,
SPELL_FAILED_MASTER_RIDING_REQUIREMENT = 193,
SPELL_FAILED_COLD_RIDING_REQUIREMENT = 194,
SPELL_FAILED_FLIGHT_MASTER_RIDING_REQUIREMENT = 195,
SPELL_FAILED_CS_RIDING_REQUIREMENT = 196,
SPELL_FAILED_PANDA_RIDING_REQUIREMENT = 197,
SPELL_FAILED_DRAENOR_RIDING_REQUIREMENT = 198,
SPELL_FAILED_BROKEN_ISLES_RIDING_REQUIREMENT = 199,
SPELL_FAILED_MOUNT_NO_FLOAT_HERE = 200,
SPELL_FAILED_MOUNT_NO_UNDERWATER_HERE = 201,
SPELL_FAILED_MOUNT_ABOVE_WATER_HERE = 202,
SPELL_FAILED_MOUNT_COLLECTED_ON_OTHER_CHAR = 203,
SPELL_FAILED_NOT_IDLE = 204,
SPELL_FAILED_NOT_INACTIVE = 205,
SPELL_FAILED_PARTIAL_PLAYTIME = 206,
SPELL_FAILED_NO_PLAYTIME = 207,
SPELL_FAILED_NOT_IN_BATTLEGROUND = 208,
SPELL_FAILED_NOT_IN_RAID_INSTANCE = 209,
SPELL_FAILED_ONLY_IN_ARENA = 210,
SPELL_FAILED_TARGET_LOCKED_TO_RAID_INSTANCE = 211,
SPELL_FAILED_ON_USE_ENCHANT = 212,
SPELL_FAILED_NOT_ON_GROUND = 213,
SPELL_FAILED_CUSTOM_ERROR = 214,
SPELL_FAILED_CANT_DO_THAT_RIGHT_NOW = 215,
SPELL_FAILED_TOO_MANY_SOCKETS = 216,
SPELL_FAILED_INVALID_GLYPH = 217,
SPELL_FAILED_UNIQUE_GLYPH = 218,
SPELL_FAILED_GLYPH_SOCKET_LOCKED = 219,
SPELL_FAILED_GLYPH_EXCLUSIVE_CATEGORY = 220,
SPELL_FAILED_GLYPH_INVALID_SPEC = 221,
SPELL_FAILED_GLYPH_NO_SPEC = 222,
SPELL_FAILED_NO_ACTIVE_GLYPHS = 223,
SPELL_FAILED_NO_VALID_TARGETS = 224,
SPELL_FAILED_ITEM_AT_MAX_CHARGES = 225,
SPELL_FAILED_NOT_IN_BARBERSHOP = 226,
SPELL_FAILED_FISHING_TOO_LOW = 227,
SPELL_FAILED_ITEM_ENCHANT_TRADE_WINDOW = 228,
SPELL_FAILED_SUMMON_PENDING = 229,
SPELL_FAILED_MAX_SOCKETS = 230,
SPELL_FAILED_PET_CAN_RENAME = 231,
SPELL_FAILED_TARGET_CANNOT_BE_RESURRECTED = 232,
SPELL_FAILED_TARGET_HAS_RESURRECT_PENDING = 233,
SPELL_FAILED_NO_ACTIONS = 234,
SPELL_FAILED_CURRENCY_WEIGHT_MISMATCH = 235,
SPELL_FAILED_WEIGHT_NOT_ENOUGH = 236,
SPELL_FAILED_WEIGHT_TOO_MUCH = 237,
SPELL_FAILED_NO_VACANT_SEAT = 238,
SPELL_FAILED_NO_LIQUID = 239,
SPELL_FAILED_ONLY_NOT_SWIMMING = 240,
SPELL_FAILED_BY_NOT_MOVING = 241,
SPELL_FAILED_IN_COMBAT_RES_LIMIT_REACHED = 242,
SPELL_FAILED_NOT_IN_ARENA = 243,
SPELL_FAILED_TARGET_NOT_GROUNDED = 244,
SPELL_FAILED_EXCEEDED_WEEKLY_USAGE = 245,
SPELL_FAILED_NOT_IN_LFG_DUNGEON = 246,
SPELL_FAILED_BAD_TARGET_FILTER = 247,
SPELL_FAILED_NOT_ENOUGH_TARGETS = 248,
SPELL_FAILED_NO_SPEC = 249,
SPELL_FAILED_CANT_ADD_BATTLE_PET = 250,
SPELL_FAILED_CANT_UPGRADE_BATTLE_PET = 251,
SPELL_FAILED_WRONG_BATTLE_PET_TYPE = 252,
SPELL_FAILED_NO_DUNGEON_ENCOUNTER = 253,
SPELL_FAILED_NO_TELEPORT_FROM_DUNGEON = 254,
SPELL_FAILED_MAX_LEVEL_TOO_LOW = 255,
SPELL_FAILED_CANT_REPLACE_ITEM_BONUS = 256,
GRANT_PET_LEVEL_FAIL = 257,
SPELL_FAILED_SKILL_LINE_NOT_KNOWN = 258,
SPELL_FAILED_BLUEPRINT_KNOWN = 259,
SPELL_FAILED_FOLLOWER_KNOWN = 260,
SPELL_FAILED_CANT_OVERRIDE_ENCHANT_VISUAL = 261,
SPELL_FAILED_ITEM_NOT_A_WEAPON = 262,
SPELL_FAILED_SAME_ENCHANT_VISUAL = 263,
SPELL_FAILED_TOY_USE_LIMIT_REACHED = 264,
SPELL_FAILED_TOY_ALREADY_KNOWN = 265,
SPELL_FAILED_SHIPMENTS_FULL = 266,
SPELL_FAILED_NO_SHIPMENTS_FOR_CONTAINER = 267,
SPELL_FAILED_NO_BUILDING_FOR_SHIPMENT = 268,
SPELL_FAILED_NOT_ENOUGH_SHIPMENTS_FOR_CONTAINER = 269,
SPELL_FAILED_HAS_MISSION = 270,
SPELL_FAILED_BUILDING_ACTIVATE_NOT_READY = 271,
SPELL_FAILED_NOT_SOULBOUND = 272,
SPELL_FAILED_RIDING_VEHICLE = 273,
SPELL_FAILED_VETERAN_TRIAL_ABOVE_SKILL_RANK_MAX = 274,
SPELL_FAILED_NOT_WHILE_MERCENARY = 275,
SPELL_FAILED_SPEC_DISABLED = 276,
SPELL_FAILED_CANT_BE_OBLITERATED = 277,
SPELL_FAILED_CANT_BE_SCRAPPED = 278,
SPELL_FAILED_FOLLOWER_CLASS_SPEC_CAP = 279,
SPELL_FAILED_TRANSPORT_NOT_READY = 280,
SPELL_FAILED_TRANSMOG_SET_ALREADY_KNOWN = 281,
SPELL_FAILED_DISABLED_BY_AURA_LABEL = 282,
SPELL_FAILED_DISABLED_BY_MAX_USABLE_LEVEL = 283,
SPELL_FAILED_SPELL_ALREADY_KNOWN = 284,
SPELL_FAILED_MUST_KNOW_SUPERCEDING_SPELL = 285,
SPELL_FAILED_YOU_CANNOT_USE_THAT_IN_PVP_INSTANCE = 286,
SPELL_FAILED_NO_ARTIFACT_EQUIPPED = 287,
SPELL_FAILED_WRONG_ARTIFACT_EQUIPPED = 288,
SPELL_FAILED_TARGET_IS_UNTARGETABLE_BY_ANYONE = 289,
SPELL_FAILED_SPELL_EFFECT_FAILED = 290,
SPELL_FAILED_NEED_ALL_PARTY_MEMBERS = 291,
SPELL_FAILED_ARTIFACT_AT_FULL_POWER = 292,
SPELL_FAILED_AP_ITEM_FROM_PREVIOUS_TIER = 293,
SPELL_FAILED_AREA_TRIGGER_CREATION = 294,
SPELL_FAILED_AZERITE_EMPOWERED_ONLY = 295,
SPELL_FAILED_AZERITE_EMPOWERED_NO_CHOICES_TO_UNDO = 296,
SPELL_FAILED_WRONG_FACTION = 297,
SPELL_FAILED_NOT_ENOUGH_CURRENCY = 298,
SPELL_FAILED_BATTLE_FOR_AZEROTH_RIDING_REQUIREMENT = 299,
SPELL_FAILED_MOUNT_EQUIPMENT_ERROR = 300,
SPELL_FAILED_NOT_WHILE_LEVEL_LINKED = 301,
SPELL_FAILED_LEVEL_LINKED_LOW_LEVEL = 302,
SPELL_FAILED_SUMMON_MAP_CONDITION = 303,
SPELL_FAILED_SET_COVENANT_ERROR = 304,
SPELL_FAILED_RUNEFORGE_LEGENDARY_UPGRADE = 305,
SPELL_FAILED_SET_CHROMIE_TIME_ERROR = 306,
SPELL_FAILED_INELIGIBLE_WEAPON_APPEARANCE = 307,
SPELL_FAILED_PLAYER_CONDITION = 308,
SPELL_FAILED_NOT_WHILE_CHROMIE_TIMED = 309,
SPELL_FAILED_CRAFTING_REAGENTS = 310,
SPELL_FAILED_SPECTATOR_OR_COMMENTATOR = 311,
SPELL_FAILED_SOULBIND_CONDUIT_LEARN_FAILED_INVALID_COVENANT = 312,
SPELL_FAILED_SHADOWLANDS_RIDING_REQUIREMENT = 313,
SPELL_FAILED_NOT_IN_MAGE_TOWER = 314,
SPELL_FAILED_GARRISON_FOLLOWER_AT_MIN_LEVEL = 315,
SPELL_FAILED_CANT_BE_RECRAFTED = 316,
SPELL_FAILED_PASSIVE_REPLACED = 317,
SPELL_FAILED_CANT_FLY_HERE = 318,
SPELL_FAILED_DRAGONRIDING_RIDING_REQUIREMENT = 319,
SPELL_FAILED_ITEM_MOD_APPEARANCE_GROUP_ALREADY_KNOWN = 320,
SPELL_FAILED_ITEM_CREATION_DISABLED_FOR_EVENT = 321,
SPELL_FAILED_WARBAND_SCENE_ALREADY_KNOWN = 322,
SPELL_FAILED_UNKNOWN = 323,
// ok cast value - here in case a future version removes SPELL_FAILED_SUCCESS and we need to use a custom value (not sent to client either way)
SPELL_CAST_OK = SPELL_FAILED_SUCCESS // SKIP
};
enum SpellCustomErrors
{
SPELL_CUSTOM_ERROR_NONE = 0,
SPELL_CUSTOM_ERROR_CUSTOM_MSG = 1, // Something bad happened, and we want to display a custom message!
SPELL_CUSTOM_ERROR_ALEX_BROKE_QUEST = 2, // Alex broke your quest! Thank him later!
SPELL_CUSTOM_ERROR_NEED_HELPLESS_VILLAGER = 3, // This spell may only be used on Helpless Wintergarde Villagers that have not been rescued.
SPELL_CUSTOM_ERROR_NEED_WARSONG_DISGUISE = 4, // Requires that you be wearing the Warsong Orc Disguise.
SPELL_CUSTOM_ERROR_REQUIRES_PLAGUE_WAGON = 5, // You must be closer to a plague wagon in order to drop off your 7th Legion Siege Engineer.
SPELL_CUSTOM_ERROR_CANT_TARGET_FRIENDLY_NONPARTY = 6, // You cannot target friendly units outside your party.
SPELL_CUSTOM_ERROR_NEED_CHILL_NYMPH = 7, // You must target a weakened chill nymph.
SPELL_CUSTOM_ERROR_MUST_BE_IN_ENKILAH = 8, // The Imbued Scourge Shroud will only work when equipped in the Temple City of En'kilah.
SPELL_CUSTOM_ERROR_REQUIRES_CORPSE_DUST = 9, // Requires Corpse Dust
SPELL_CUSTOM_ERROR_CANT_SUMMON_GARGOYLE = 10, // You cannot summon another gargoyle yet.
SPELL_CUSTOM_ERROR_NEED_CORPSE_DUST_IF_NO_TARGET = 11, // Requires Corpse Dust if the target is not dead and humanoid.
SPELL_CUSTOM_ERROR_MUST_BE_AT_SHATTERHORN = 12, // Can only be placed near Shatterhorn
SPELL_CUSTOM_ERROR_MUST_TARGET_PROTO_DRAKE_EGG = 13, // You must first select a Proto-Drake Egg.
SPELL_CUSTOM_ERROR_MUST_BE_CLOSE_TO_TREE = 14, // You must be close to a marked tree.
SPELL_CUSTOM_ERROR_MUST_TARGET_TURKEY = 15, // You must target a Fjord Turkey.
SPELL_CUSTOM_ERROR_MUST_TARGET_HAWK = 16, // You must target a Fjord Hawk.
SPELL_CUSTOM_ERROR_TOO_FAR_FROM_BOUY = 17, // You are too far from the bouy.
SPELL_CUSTOM_ERROR_MUST_BE_CLOSE_TO_OIL_SLICK = 18, // Must be used near an oil slick.
SPELL_CUSTOM_ERROR_MUST_BE_CLOSE_TO_BOUY = 19, // You must be closer to the buoy!
SPELL_CUSTOM_ERROR_WYRMREST_VANQUISHER = 20, // You may only call for the aid of a Wyrmrest Vanquisher in Wyrmrest Temple, The Dragon Wastes, Galakrond's Rest or The Wicked Coil.
SPELL_CUSTOM_ERROR_MUST_TARGET_ICE_HEART_JORMUNGAR = 21, // That can only be used on a Ice Heart Jormungar Spawn.
SPELL_CUSTOM_ERROR_MUST_BE_CLOSE_TO_SINKHOLE = 22, // You must be closer to a sinkhole to use your map.
SPELL_CUSTOM_ERROR_REQUIRES_HAROLD_LANE = 23, // You may only call down a stampede on Harold Lane.
SPELL_CUSTOM_ERROR_REQUIRES_GAMMOTH_MAGNATAUR = 24, // You may only use the Pouch of Crushed Bloodspore on Gammothra or other magnataur in the Bloodspore Plains and Gammoth.
SPELL_CUSTOM_ERROR_MUST_BE_IN_RESURRECTION_CHAMBER = 25, // Requires the magmawyrm resurrection chamber in the back of the Maw of Neltharion.
SPELL_CUSTOM_ERROR_CANT_CALL_WINTERGARDE_HERE = 26, // You may only call down a Wintergarde Gryphon in Wintergarde Keep or the Carrion Fields.
SPELL_CUSTOM_ERROR_MUST_TARGET_WILHELM = 27, // What are you doing? Only aim that thing at Wilhelm!
SPELL_CUSTOM_ERROR_NOT_ENOUGH_HEALTH = 28, // Not enough health!
SPELL_CUSTOM_ERROR_NO_NEARBY_CORPSES = 29, // There are no nearby corpses to use.
SPELL_CUSTOM_ERROR_TOO_MANY_GHOULS = 30, // You've created enough ghouls. Return to Gothik the Harvester at Death's Breach.
SPELL_CUSTOM_ERROR_GO_FURTHER_FROM_SUNDERED_SHARD = 31, // Your companion does not want to come here. Go further from the Sundered Shard.
SPELL_CUSTOM_ERROR_MUST_BE_IN_CAT_FORM = 32, // Must be in Cat Form
SPELL_CUSTOM_ERROR_MUST_BE_DEATH_KNIGHT = 33, // Only Death Knights may enter Ebon Hold.
SPELL_CUSTOM_ERROR_MUST_BE_IN_BEAR_FORM = 34, // Must be in Bear Form
SPELL_CUSTOM_ERROR_MUST_BE_NEAR_HELPLESS_VILLAGER = 35, // You must be within range of a Helpless Wintergarde Villager.
SPELL_CUSTOM_ERROR_CANT_TARGET_ELEMENTAL_MECHANICAL = 36, // You cannot target an elemental or mechanical corpse.
SPELL_CUSTOM_ERROR_MUST_HAVE_USED_DALARAN_CRYSTAL = 37, // This teleport crystal cannot be used until the teleport crystal in Dalaran has been used at least once.
SPELL_CUSTOM_ERROR_YOU_ALREADY_HOLD_SOMETHING = 38, // You are already holding something in your hand. You must throw the creature in your hand before picking up another.
SPELL_CUSTOM_ERROR_YOU_DONT_HOLD_ANYTHING = 39, // You don't have anything to throw! Find a Vargul and use Gymer Grab to pick one up!
SPELL_CUSTOM_ERROR_MUST_BE_CLOSE_TO_VALDURAN = 40, // Bouldercrag's War Horn can only be used within 10 yards of Valduran the Stormborn.
SPELL_CUSTOM_ERROR_NO_PASSENGER = 41, // You are not carrying a passenger. There is nobody to drop off.
SPELL_CUSTOM_ERROR_CANT_BUILD_MORE_VEHICLES = 42, // You cannot build any more siege vehicles.
SPELL_CUSTOM_ERROR_ALREADY_CARRYING_CRUSADER = 43, // You are already carrying a captured Argent Crusader. You must return to the Argent Vanguard infirmary and drop off your passenger before you may pick up another.
SPELL_CUSTOM_ERROR_CANT_DO_WHILE_ROOTED = 44, // You can't do that while rooted.
SPELL_CUSTOM_ERROR_REQUIRES_NEARBY_TARGET = 45, // Requires a nearby target.
SPELL_CUSTOM_ERROR_NOTHING_TO_DISCOVER = 46, // Nothing left to discover.
SPELL_CUSTOM_ERROR_NOT_ENOUGH_TARGETS = 47, // No targets close enough to bluff.
SPELL_CUSTOM_ERROR_CONSTRUCT_TOO_FAR = 48, // Your Iron Rune Construct is out of range.
SPELL_CUSTOM_ERROR_REQUIRES_GRAND_MASTER_ENGINEER = 49, // Requires Engineering (350)
SPELL_CUSTOM_ERROR_CANT_USE_THAT_MOUNT = 50, // You can't use that mount.
SPELL_CUSTOM_ERROR_NOONE_TO_EJECT = 51, // There is nobody to eject!
SPELL_CUSTOM_ERROR_TARGET_MUST_BE_BOUND = 52, // The target must be bound to you.
SPELL_CUSTOM_ERROR_TARGET_MUST_BE_UNDEAD = 53, // Target must be undead.
SPELL_CUSTOM_ERROR_TARGET_TOO_FAR = 54, // You have no target or your target is too far away.
SPELL_CUSTOM_ERROR_MISSING_DARK_MATTER = 55, // Missing Reagents: Dark Matter
SPELL_CUSTOM_ERROR_CANT_USE_THAT_ITEM = 56, // You can't use that item
SPELL_CUSTOM_ERROR_CANT_DO_WHILE_CYCYLONED = 57, // You can't do that while Cycloned
SPELL_CUSTOM_ERROR_TARGET_HAS_SCROLL = 58, // Target is already affected by a similar effect
SPELL_CUSTOM_ERROR_POISON_TOO_STRONG = 59, // That anti-venom is not strong enough to dispel that poison
SPELL_CUSTOM_ERROR_MUST_HAVE_LANCE_EQUIPPED = 60, // You must have a lance equipped.
SPELL_CUSTOM_ERROR_MUST_BE_CLOSE_TO_MAIDEN = 61, // You must be near the Maiden of Winter's Breath Lake.
SPELL_CUSTOM_ERROR_LEARNED_EVERYTHING = 62, // You have learned everything from that book
SPELL_CUSTOM_ERROR_PET_IS_DEAD = 63, // Your pet is dead
SPELL_CUSTOM_ERROR_NO_VALID_TARGETS = 64, // There are no valid targets within range.
SPELL_CUSTOM_ERROR_GM_ONLY = 65, // Only GMs may use that. Your account has been reported for investigation.
SPELL_CUSTOM_ERROR_REQUIRES_LEVEL_58 = 66, // You must reach level 58 to use this portal.
SPELL_CUSTOM_ERROR_AT_HONOR_CAP = 67, // You already have the maximum amount of honor.
SPELL_CUSTOM_ERROR_HAVE_HOT_ROD = 68, // You already have a Hot Rod.
SPELL_CUSTOM_ERROR_PARTYGOER_MORE_BUBBLY = 69, // This partygoer wants some more bubbly.
SPELL_CUSTOM_ERROR_PARTYGOER_NEED_BUCKET = 70, // This partygoer needs a bucket!
SPELL_CUSTOM_ERROR_PARTYGOER_WANT_TO_DANCE = 71, // This partygoer wants to dance with you.
SPELL_CUSTOM_ERROR_PARTYGOER_WANT_FIREWORKS = 72, // This partygoer wants to see some fireworks.
SPELL_CUSTOM_ERROR_PARTYGOER_WANT_APPETIZER = 73, // This partygoer wants some more hors d'oeuvres.
SPELL_CUSTOM_ERROR_GOBLIN_BATTERY_DEPLETED = 74, // The Goblin All-In-1-Der Belt's battery is depleted.
SPELL_CUSTOM_ERROR_MUST_HAVE_DEMONIC_CIRCLE = 75, // You must have a demonic circle active.
SPELL_CUSTOM_ERROR_AT_MAX_RAGE = 76, // You already have maximum rage
SPELL_CUSTOM_ERROR_REQUIRES_350_ENGINEERING = 77, // Requires Engineering (350)
SPELL_CUSTOM_ERROR_SOUL_BELONGS_TO_LICH_KING = 78, // Your soul belongs to the Lich King
SPELL_CUSTOM_ERROR_ATTENDANT_HAS_PONY = 79, // Your attendant already has an Argent Pony
SPELL_CUSTOM_ERROR_GOBLIN_STARTING_MISSION = 80, // First, Overload the Defective Generator, Activate the Leaky Stove, and Drop a Cigar on the Flammable Bed.
SPELL_CUSTOM_ERROR_GASBOT_ALREADY_SENT = 81, // You've already sent in the Gasbot and destroyed headquarters!
SPELL_CUSTOM_ERROR_GOBLIN_IS_PARTIED_OUT = 82, // This goblin is all partied out!
SPELL_CUSTOM_ERROR_MUST_HAVE_FIRE_TOTEM = 83, // You must have a Magma, Flametongue, or Fire Elemental Totem active.
SPELL_CUSTOM_ERROR_CANT_TARGET_VAMPIRES = 84, // You may not bite other vampires.
SPELL_CUSTOM_ERROR_PET_ALREADY_AT_YOUR_LEVEL = 85, // Your pet is already at your level.
SPELL_CUSTOM_ERROR_MISSING_ITEM_REQUIREMENS = 86, // You do not meet the level requirements for this item.
SPELL_CUSTOM_ERROR_TOO_MANY_ABOMINATIONS = 87, // There are too many Mutated Abominations.
SPELL_CUSTOM_ERROR_ALL_POTIONS_USED = 88, // The potions have all been depleted by Professor Putricide.
SPELL_CUSTOM_ERROR_DEFEATED_ENOUGH_ALREADY = 89, // You have already defeated enough of them.
SPELL_CUSTOM_ERROR_REQUIRES_LEVEL_65 = 90, // Requires level 65
SPELL_CUSTOM_ERROR_DESTROYED_KTC_OIL_PLATFORM = 91, // You have already destroyed the KTC Oil Platform.
SPELL_CUSTOM_ERROR_LAUNCHED_ENOUGH_CAGES = 92, // You have already launched enough cages.
SPELL_CUSTOM_ERROR_REQUIRES_BOOSTER_ROCKETS = 93, // Requires Single-Stage Booster Rockets. Return to Hobart Grapplehammer to get more.
SPELL_CUSTOM_ERROR_ENOUGH_WILD_CLUCKERS = 94, // You have already captured enough wild cluckers.
SPELL_CUSTOM_ERROR_REQUIRES_CONTROL_FIREWORKS = 95, // Requires Remote Control Fireworks. Return to Hobart Grapplehammer to get more.
SPELL_CUSTOM_ERROR_MAX_NUMBER_OF_RECRUITS = 96, // You already have the max number of recruits.
SPELL_CUSTOM_ERROR_MAX_NUMBER_OF_VOLUNTEERS = 97, // You already have the max number of volunteers.
SPELL_CUSTOM_ERROR_FROSTMOURNE_RENDERED_RESURRECT = 98, // Frostmourne has rendered you unable to resurrect.
SPELL_CUSTOM_ERROR_CANT_MOUNT_WITH_SHAPESHIFT = 99, // You can't mount while affected by that shapeshift.
SPELL_CUSTOM_ERROR_FAWNS_ALREADY_FOLLOWING = 100, // Three fawns are already following you!
SPELL_CUSTOM_ERROR_ALREADY_HAVE_RIVER_BOAT = 101, // You already have a River Boat.
SPELL_CUSTOM_ERROR_NO_ACTIVE_ENCHANTMENT = 102, // You have no active enchantment to unleash.
SPELL_CUSTOM_ERROR_ENOUGH_HIGHBOURNE_SOULS = 103, // You have bound enough Highborne souls. Return to Arcanist Valdurian.
SPELL_CUSTOM_ERROR_ATLEAST_40YD_FROM_OIL_DRILLING = 104, // You must be at least 40 yards away from all other Oil Drilling Rigs.
SPELL_CUSTOM_ERROR_ABOVE_ENSLAVED_PEARL_MINER = 106, // You must be above the Enslaved Pearl Miner.
SPELL_CUSTOM_ERROR_MUST_TARGET_CORPSE_SPECIAL_1 = 107, // You must target the corpse of a Seabrush Terrapin, Scourgut Remora, or Spinescale Hammerhead.
SPELL_CUSTOM_ERROR_SLAGHAMMER_ALREADY_PRISONER = 108, // Ambassador Slaghammer is already your prisoner.
SPELL_CUSTOM_ERROR_REQUIRE_ATTUNED_LOCATION_1 = 109, // Requires a location that is attuned with the Naz'jar Battlemaiden.
SPELL_CUSTOM_ERROR_NEED_TO_FREE_DRAKE_FIRST = 110, // Free the Drake from the net first!
SPELL_CUSTOM_ERROR_DRAGONMAW_ALLIES_ALREADY_FOLLOW = 111, // You already have three Dragonmaw allies following you.
SPELL_CUSTOM_ERROR_REQUIRE_OPPOSABLE_THUMBS = 112, // Requires Opposable Thumbs.
SPELL_CUSTOM_ERROR_NOT_ENOUGH_HEALTH_2 = 113, // Not enough health
SPELL_CUSTOM_ERROR_ENOUGH_FORSAKEN_TROOPERS = 114, // You already have enough Forsaken Troopers.
SPELL_CUSTOM_ERROR_CANNOT_JUMP_TO_BOULDER = 115, // You cannot jump to another boulder yet.
SPELL_CUSTOM_ERROR_SKILL_TOO_HIGH = 116, // Skill too high.
SPELL_CUSTOM_ERROR_ALREADY_6_SURVIVORS_RESCUED = 117, // You have already rescued 6 Survivors.
SPELL_CUSTOM_ERROR_MUST_FACE_SHIPS_FROM_BALLOON = 118, // You need to be facing the ships from the rescue balloon.
SPELL_CUSTOM_ERROR_CANNOT_SUPERVISE_MORE_CULTISTS = 119, // You cannot supervise more than 5 Arrested Cultists at a time.
SPELL_CUSTOM_ERROR_REQUIRES_LEVEL_85 = 120, // You must reach level 85 to use this portal.
SPELL_CUSTOM_ERROR_MUST_BE_BELOW_35_HEALTH = 121, // Your target must be below 35% health.
SPELL_CUSTOM_ERROR_MUST_SELECT_SPECIALIZATION = 122, // You must select a specialization first.
SPELL_CUSTOM_ERROR_TOO_WISE_AND_POWERFUL = 123, // You are too wise and powerful to gain any benefit from that item.
SPELL_CUSTOM_ERROR_TOO_CLOSE_ARGENT_LIGHTWELL = 124, // You are within 10 yards of another Argent Lightwell.
SPELL_CUSTOM_ERROR_NOT_WHILE_SHAPESHIFTED = 125, // You can't do that while shapeshifted.
SPELL_CUSTOM_ERROR_MANA_GEM_IN_BANK = 126, // You already have a Mana Gem in your bank.
SPELL_CUSTOM_ERROR_FLAME_SHOCK_NOT_ACTIVE = 127, // You must have at least one Flame Shock active.
SPELL_CUSTOM_ERROR_CANT_TRANSFORM = 128, // You cannot transform right now
SPELL_CUSTOM_ERROR_PET_MUST_BE_ATTACKING = 129, // Your pet must be attacking a target.
SPELL_CUSTOM_ERROR_GNOMISH_ENGINEERING = 130, // Requires Gnomish Engineering
SPELL_CUSTOM_ERROR_GOBLIN_ENGINEERING = 131, // Requires Goblin Engineering
SPELL_CUSTOM_ERROR_NO_TARGET = 132, // You have no target.
SPELL_CUSTOM_ERROR_PET_OUT_OF_RANGE = 133, // Your Pet is out of range of the target.
SPELL_CUSTOM_ERROR_HOLDING_FLAG = 134, // You can't do that while holding the flag.
SPELL_CUSTOM_ERROR_TARGET_HOLDING_FLAG = 135, // You can't do that to targets holding the flag.
SPELL_CUSTOM_ERROR_PORTAL_NOT_OPEN = 136, // The portal is not yet open. Continue helping the druids at the Sanctuary of Malorne.
SPELL_CUSTOM_ERROR_AGGRA_AIR_TOTEM = 137, // You need to be closer to Aggra's Air Totem, in the west.
SPELL_CUSTOM_ERROR_AGGRA_WATER_TOTEM = 138, // You need to be closer to Aggra's Water Totem, in the north.
SPELL_CUSTOM_ERROR_AGGRA_EARTH_TOTEM = 139, // You need to be closer to Aggra's Earth Totem, in the east.
SPELL_CUSTOM_ERROR_AGGRA_FIRE_TOTEM = 140, // You need to be closer to Aggra's Fire Totem, near Thrall.
SPELL_CUSTOM_ERROR_FACING_WRONG_WAY = 141, // You are facing the wrong way.
SPELL_CUSTOM_ERROR_TOO_CLOSE_TO_MAKESHIFT_DYNAMITE = 142, // You are within 10 yards of another Makeshift Dynamite.
SPELL_CUSTOM_ERROR_NOT_NEAR_SAPPHIRE_SUNKEN_SHIP = 143, // You must be near the sunken ship at Sapphire's End in the Jade Forest.
SPELL_CUSTOM_ERROR_DEMONS_HEALTH_FULL = 144, // That demon's health is already full.
SPELL_CUSTOM_ERROR_ONYX_SERPENT_NOT_OVERHEAD = 145, // Wait until the Onyx Serpent is directly overhead.
SPELL_CUSTOM_ERROR_OBJECTIVE_ALREADY_COMPLETE = 146, // Your objective is already complete.
SPELL_CUSTOM_ERROR_PUSH_SAD_PANDA_TOWARDS_TOWN = 147, // You can only push Sad Panda towards Sad Panda Town!
SPELL_CUSTOM_ERROR_TARGET_HAS_STARTDUST_2 = 148, // Target is already affected by Stardust No. 2.
SPELL_CUSTOM_ERROR_ELEMENTIUM_GEM_CLUSTERS = 149, // You cannot deconstruct Elementium Gem Clusters while collecting them!
SPELL_CUSTOM_ERROR_YOU_DONT_HAVE_ENOUGH_HEALTH = 150, // You don't have enough health.
SPELL_CUSTOM_ERROR_YOU_CANNOT_USE_THE_GATEWAY_YET = 151, // You cannot use the gateway yet.
SPELL_CUSTOM_ERROR_CHOOSE_SPEC_FOR_ASCENDANCE = 152, // You must choose a specialization to use Ascendance.
SPELL_CUSTOM_ERROR_INSUFFICIENT_BLOOD_CHARGES = 153, // You have insufficient Blood Charges.
SPELL_CUSTOM_ERROR_NO_FULLY_DEPLETED_RUNES = 154, // No fully depleted runes.
SPELL_CUSTOM_ERROR_NO_MORE_CHARGES = 155, // No more charges.
SPELL_CUSTOM_ERROR_STATUE_IS_OUT_OF_RANGE_OF_TARGET = 156, // Statue is out of range of the target.
SPELL_CUSTOM_ERROR_YOU_DONT_HAVE_A_STATUE_SUMMONED = 157, // You don't have a statue summoned.
SPELL_CUSTOM_ERROR_YOU_HAVE_NO_SPIRIT_ACTIVE = 158, // You have no spirit active.
SPELL_CUSTOM_ERROR_BOTH_DISESASES_MUST_BE_ON_TARGET = 159, // Both Frost Fever and Blood Plague must be present on the target.
SPELL_CUSTOM_ERROR_CANT_DO_THAT_WITH_ORB_OF_POWER = 160, // You can't do that while holding an Orb of Power.
SPELL_CUSTOM_ERROR_CANT_DO_THAT_WHILE_JUMPING_OR_FALLING = 161, // You can't do that while jumping or falling.
SPELL_CUSTOM_ERROR_MUST_BE_TRANSFORMED_BY_POLYFORMIC_ACID = 162, // You must be transformed by Polyformic Acid.
SPELL_CUSTOM_ERROR_NOT_ENOUGH_ACID_TO_STORE_TRANSFORMATION = 163, // There isn't enough acid left to store this transformation.
SPELL_CUSTOM_ERROR_MUST_HAVE_FLIGHT_MASTERS_LICENSE = 164, // You must obtain a Flight Master's License before using this spell.
SPELL_CUSTOM_ERROR_ALREADY_SAMPLED_SAP_FROM_FEEDER = 165, // You have already sampled sap from this Feeder.
SPELL_CUSTOM_ERROR_MUST_BE_NEWR_MANTID_FEEDER = 166, // Requires you to be near a Mantid Feeder in the Heart of Fear.
SPELL_CUSTOM_ERROR_TARGET_MUST_BE_IN_DIRECTLY_FRONT = 167, // Target must be directly in front of you.
SPELL_CUSTOM_ERROR_CANT_DO_THAT_WHILE_MYTHIC_KEYSTONE_IS_ACTIVE = 168, // You can't do that while a Mythic Keystone is active.
SPELL_CUSTOM_ERROR_WRONG_CLASS_FOR_MOUNT = 169, // You are not the correct class for that mount.
SPELL_CUSTOM_ERROR_NOTHING_LEFT_TO_DISCOVER = 170, // Nothing left to discover.
SPELL_CUSTOM_ERROR_NO_EXPLOSIVES_AVAILABLE = 171, // There are no explosives available.
SPELL_CUSTOM_ERROR_YOU_MUST_BE_FLAGGED_FOR_PVP = 172, // You must be flagged for PvP.
SPELL_CUSTOM_ERROR_REQUIRES_BATTLE_RATIONS = 173, // Requires Battle Rations or Meaty Haunch
SPELL_CUSTOM_ERROR_REQUIRES_BRITTLE_ROOT = 174, // Requires Brittle Root
SPELL_CUSTOM_ERROR_REQUIRES_LABORERS_TOOL = 175, // Requires Laborer's Tool
SPELL_CUSTOM_ERROR_REQUIRES_UNEXPLODED_CANNONBALL = 176, // Requires Unexploded Cannonball
SPELL_CUSTOM_ERROR_REQUIRES_MISPLACED_KEG = 177, // Requires Misplaced Keg
SPELL_CUSTOM_ERROR_REQUIRES_LIQUID_FIRE = 178, // Requires Liquid Fire, Jungle Hops, or Spirit-kissed Water
SPELL_CUSTOM_ERROR_REQUIRES_KRASARI_IRON = 179, // Requires Krasari Iron
SPELL_CUSTOM_ERROR_REQUIRES_SPIRIT_KISSED_WATER = 180, // Requires Spirit-Kissed Water
SPELL_CUSTOM_ERROR_REQUIRES_SNAKE_OIL = 181, // Requires Snake Oil
SPELL_CUSTOM_ERROR_SCENARIO_IS_IN_PROGRESS = 182, // You can't do that while a Scenario is in progress.
SPELL_CUSTOM_ERROR_REQUIRES_DARKMOON_FAIRE_OPEN = 183, // Requires the Darkmoon Faire to be open.
SPELL_CUSTOM_ERROR_ALREADY_AT_VALOR_CAP = 184, // Already at Valor cap
SPELL_CUSTOM_ERROR_ALREADY_COMMENDED_BY_THIS_FACTION = 185, // Already commended by this faction
SPELL_CUSTOM_ERROR_OUT_OF_COINS = 186, // Out of coins! Pickpocket humanoids to get more.
SPELL_CUSTOM_ERROR_ONLY_ONE_ELEMENTAL_SPIRIT = 187, // Only one elemental spirit on a target at a time.
SPELL_CUSTOM_ERROR_DONT_KNOW_HOW_TO_TAME_DIREHORNS = 188, // You do not know how to tame Direhorns.
SPELL_CUSTOM_ERROR_MUST_BE_NEAR_BLOODIED_COURT_GATE = 189, // You must be near the Bloodied Court gate.
SPELL_CUSTOM_ERROR_YOU_ARE_NOT_ELECTRIFIED = 190, // You are not Electrified.
SPELL_CUSTOM_ERROR_THERE_IS_NOTHING_TO_BE_FETCHED = 191, // There is nothing to be fetched.
SPELL_CUSTOM_ERROR_REQUIRES_THE_THUNDER_FORGE = 192, // Requires The Thunder Forge.
SPELL_CUSTOM_ERROR_CANNOT_USE_THE_DICE_AGAIN_YET = 193, // You cannot use the dice again yet.
SPELL_CUSTOM_ERROR_ALREADY_MEMBER_OF_BRAWLERS_GUILD = 194, // You are already a member of the Brawler's Guild.
SPELL_CUSTOM_ERROR_CANT_CHANGE_SPEC_IN_CELESTIAL_CHALLENGE = 195, // You may not change talent specializations during a celestial challenge.
SPELL_CUSTOM_ERROR_SPEC_DOES_MATCH_CHALLENGE = 196, // Your talent specialization does not match the selected challenge.
SPELL_CUSTOM_ERROR_YOU_DONT_HAVE_ENOUGH_CURRENCY = 197, // You don't have enough currency to do that.
SPELL_CUSTOM_ERROR_TARGET_CANNOT_BENEFIT_FROM_SPELL = 198, // Target cannot benefit from that spell
SPELL_CUSTOM_ERROR_YOU_CAN_ONLY_HAVE_ONE_HEALING_RAIN = 199, // You can only have one Healing Rain active at a time.
SPELL_CUSTOM_ERROR_THE_DOOR_IS_LOCKED = 200, // The door is locked.
SPELL_CUSTOM_ERROR_YOU_NEED_TO_SELECT_WAITING_CUSTOMER = 201, // You need to select a customer who is waiting in line first.
SPELL_CUSTOM_ERROR_CANT_CHANGE_SPEC_DURING_TRIAL = 202, // You may not change specialization while a trial is in progress.
SPELL_CUSTOM_ERROR_CUSTOMER_NEED_TO_GET_IN_LINE = 203, // You must wait for customers to get in line before you can select them to be seated.
SPELL_CUSTOM_ERROR_MUST_BE_CLOSER_TO_GAZLOWE_OBJECTIVE = 204, // Must be closer to one of Gazlowe's objectives to deploy!
SPELL_CUSTOM_ERROR_MUST_BE_CLOSER_TO_THAELIN_OBJECTIVE = 205, // Must be closer to one of Thaelin's objectives to deploy!
SPELL_CUSTOM_ERROR_YOUR_PACK_OF_VOLEN_IS_FULL = 206, // Your pack of volen is already full!
SPELL_CUSTOM_ERROR_REQUIRES_600_MINING_OR_BLACKSMITHING = 207, // Requires 600 Mining or Blacksmithing
SPELL_CUSTOM_ERROR_ARKONITE_PROTECTOR_NOT_IN_RANGE = 208, // The Arkonite Protector is not in range.
SPELL_CUSTOM_ERROR_TARGET_CANNOT_HAVE_BOTH_BEACONS = 209, // You are unable to have both Beacon of Light and Beacon of Faith on the same target.
SPELL_CUSTOM_ERROR_CAN_ONLY_USE_ON_AFK_PLAYER = 210, // Can only be used on AFK players.
SPELL_CUSTOM_ERROR_NO_LOOTABLE_CORPSES_IN_RANGE = 211, // No lootable corpse in range
SPELL_CUSTOM_ERROR_CHIMAERON_TOO_CALM_TO_TAME = 212, // Chimaeron is too calm to tame right now.
SPELL_CUSTOM_ERROR_CAN_ONLY_CARRY_ONE_TYPE_OF_MUNITIONS = 213, // You may only carry one type of Blackrock Munitions.
SPELL_CUSTOM_ERROR_OUT_OF_BLACKROCK_MUNITIONS = 214, // You have run out of Blackrock Munitions.
SPELL_CUSTOM_ERROR_CARRYING_MAX_AMOUNT_OF_MUNITIONS = 215, // You are carrying the maximum amount of Blackrock Munitions.
SPELL_CUSTOM_ERROR_TARGET_IS_TOO_FAR_AWAY = 216, // Target is too far away.
SPELL_CUSTOM_ERROR_CANNOT_USE_DURING_BOSS_ENCOUNTER = 217, // Cannot use during a boss encounter.
SPELL_CUSTOM_ERROR_MUST_HAVE_MELEE_WEAPON_IN_BOTH_HANDS = 218, // Must have a Melee Weapon equipped in both hands
SPELL_CUSTOM_ERROR_YOUR_WEAPON_HAS_OVERHEATED = 219, // Your weapon has overheated.
SPELL_CUSTOM_ERROR_MUST_BE_PARTY_LEADER_TO_QUEUE = 220, // You must be a party leader to queue your group.
SPELL_CUSTOM_ERROR_NOT_ENOUGH_FUEL = 221, // Not enough fuel
SPELL_CUSTOM_ERROR_YOU_ARE_ALREADY_DISGUISED = 222, // You are already disguised!
SPELL_CUSTOM_ERROR_YOU_NEED_TO_BE_IN_SHREDDER = 223, // You need to be in a Shredder to chop this up!
SPELL_CUSTOM_ERROR_FOOD_CANNOT_EAT_FOOD = 224, // Food cannot eat food
SPELL_CUSTOM_ERROR_MYSTERIOUS_FORCE_PREVENTS_OPENING_CHEST = 225, // A mysterious force prevents you from opening the chest.
SPELL_CUSTOM_ERROR_CANT_DO_THAT_WHILE_HOLDING_EMPOWERED_ORE = 226, // You can't do that while holding Empowered Ore.
SPELL_CUSTOM_ERROR_NOT_ENOUGH_AMMUNITION = 227, // Not enough Ammunition!
SPELL_CUSTOM_ERROR_YOU_NEED_BEATFACE_THE_GLADIATOR = 228, // You need Beatface the Sparring Arena gladiator to break this!
SPELL_CUSTOM_ERROR_YOU_CAN_ONLY_HAVE_ONE_WAYGATE = 229, // You can only have one waygate open. Disable an activated waygate first.
SPELL_CUSTOM_ERROR_YOU_CAN_ONLY_HAVE_TWO_WAYGATES = 230, // You can only have two waygates open. Disable an activated waygate first.
SPELL_CUSTOM_ERROR_YOU_CAN_ONLY_HAVE_THREE_WAYGATES = 231, // You can only have three waygates open. Disable an activated waygate first.
SPELL_CUSTOM_ERROR_REQUIRES_MAGE_TOWER = 232, // Requires Mage Tower
SPELL_CUSTOM_ERROR_REQUIRES_SPIRIT_LODGE = 233, // Requires Spirit Lodge
SPELL_CUSTOM_ERROR_FROST_WYRM_ALREADY_ACTIVE = 234, // A Frost Wyrm is already active.
SPELL_CUSTOM_ERROR_NOT_ENOUGH_RUNIC_POWER = 235, // Not enough Runic Power
SPELL_CUSTOM_ERROR_YOU_ARE_THE_PARTY_LEADER = 236, // You are the Party Leader.
SPELL_CUSTOM_ERROR_YULON_IS_ALREADY_ACTIVE = 237, // Yu'lon is already active.
SPELL_CUSTOM_ERROR_A_STAMPEDE_IS_ALREADY_ACTIVE = 238, // A Stampede is already active.
SPELL_CUSTOM_ERROR_YOU_ARE_ALREADY_WELL_FED = 239, // You are already Well Fed.
SPELL_CUSTOM_ERROR_CANT_DO_THAT_UNDER_SUPPRESSIVE_FIRE = 240, // You cannot do that while under Suppressive Fire.
SPELL_CUSTOM_ERROR_YOU_ALREADY_HAVE_MURLOC_SLOP = 241, // You already have a piece of Murloc Slop.
SPELL_CUSTOM_ERROR_YOU_DONT_HAVE_ARTIFACT_FRAGMENTS = 242, // You don't have any Artifact Fragments.
SPELL_CUSTOM_ERROR_YOU_ARENT_IN_A_PARTY = 243, // You aren't in a Party.
SPELL_CUSTOM_ERROR_REQUIRES_20_AMMUNITION = 244, // Requires 30 Ammunition!
SPELL_CUSTOM_ERROR_REQUIRES_30_AMMUNITION = 245, // Requires 20 Ammunition!
SPELL_CUSTOM_ERROR_YOU_ALREADY_HAVE_MAX_OUTCAST_FOLLOWERS = 246, // You already have the maximum amount of Outcasts following you.
SPELL_CUSTOM_ERROR_NOT_IN_WORLD_PVP_ZONE = 247, // Not in World PvP zone.
SPELL_CUSTOM_ERROR_ALREADY_AT_RESOURCE_CAP = 248, // Already at Resource cap
SPELL_CUSTOM_ERROR_APEXIS_SENTINEL_REQUIRES_ENERGY = 249, // This Apexis Sentinel requires energy from a nearby Apexis Pylon to be powered up.
SPELL_CUSTOM_ERROR_YOU_MUST_HAVE_3_OR_FEWER_PLAYER = 250, // You must have 3 or fewer players.
SPELL_CUSTOM_ERROR_YOU_ALREADY_READ_TREASURE_MAP = 251, // You have already read that treasure map.
SPELL_CUSTOM_ERROR_MAY_ONLY_USE_WHILE_GARRISON_UNDER_ATTACK = 252, // You may only use this item while your garrison is under attack.
SPELL_CUSTOM_ERROR_REQUIRES_ACTIVE_MUSHROOMS = 253, // This spell requires active mushrooms for you to detonate.
SPELL_CUSTOM_ERROR_REQUIRES_FASTER_TIME_WITH_RACER = 254, // Requires a faster time with the basic racer
SPELL_CUSTOM_ERROR_REQUIRES_INFERNO_SHOT_AMMO = 255, // Requires Inferno Shot Ammo!
SPELL_CUSTOM_ERROR_YOU_CANNOT_DO_THAT_RIGHT_NOW = 256, // You cannot do that right now.
SPELL_CUSTOM_ERROR_A_TRAP_IS_ALREADY_PLACED_THERE = 257, // A trap is already placed there.
SPELL_CUSTOM_ERROR_YOU_ARE_ALREADY_ON_THAT_QUEST = 258, // You are already on that quest.
SPELL_CUSTOM_ERROR_REQUIRES_FELFORGED_CUDGEL = 259, // Requires a Felforged Cudgel!
SPELL_CUSTOM_ERROR_CANT_TAKE_WHILE_BEING_DAMAGED = 260, // Can't take while being damaged!
SPELL_CUSTOM_ERROR_YOU_ARE_BOUND_TO_DRAENOR = 261, // You are bound to Draenor by Archimonde's magic.
SPELL_CUSTOM_ERROR_ALREAY_HAVE_MAX_NUMBER_OF_SHIPS = 262, // You already have the maximum number of ships your shipyard can support.
SPELL_CUSTOM_ERROR_MUST_BE_AT_SHIPYARD = 263, // You must be at your shipyard.
SPELL_CUSTOM_ERROR_REQUIRES_LEVEL_3_MAGE_TOWER = 264, // Requires a level 3 Mage Tower.
SPELL_CUSTOM_ERROR_REQUIRES_LEVEL_3_SPIRIT_LODGE = 265, // Requires a level 3 Spirit Lodge.
SPELL_CUSTOM_ERROR_YOU_DO_NOT_LIKE_FEL_EGGS_AND_HAM = 266, // You do not like Fel Eggs and Ham.
SPELL_CUSTOM_ERROR_ALREADY_ENTERED_IN_THIS_AGREEMENT = 267, // You have already entered in to this trade agreement.
SPELL_CUSTOM_ERROR_CANNOT_STEAL_THAT_WHILE_GUARDS_ARE_ON_DUTY = 268, // You cannot steal that while guards are on duty.
SPELL_CUSTOM_ERROR_YOU_ALREADY_USED_VANTUS_RUNE = 269, // You have already used a Vantus Rune this week.
SPELL_CUSTOM_ERROR_THAT_ITEM_CANNOT_BE_OBLITERATED = 270, // That item cannot be obliterated.
SPELL_CUSTOM_ERROR_NO_SKINNABLE_CORPSE_IN_RANGE = 271, // No skinnable corpse in range
SPELL_CUSTOM_ERROR_MUST_BE_MERCENARY_TO_USE_TRINKET = 272, // You must be a Mercenary to use this trinket.
SPELL_CUSTOM_ERROR_YOU_MUST_BE_IN_COMBAT = 273, // You must be in combat.
SPELL_CUSTOM_ERROR_NO_ENEMIES_NEAR_TARGET = 274, // No enemies near target.
SPELL_CUSTOM_ERROR_REQUIRES_LEYSPINE_MISSILE = 275, // Requires a Leyspine Missile
SPELL_CUSTOM_ERROR_REQUIRES_BOTH_CURRENTS_CONNECTED = 276, // Requires both currents connected.
SPELL_CUSTOM_ERROR_CANT_DO_THAT_IN_DEMON_FORM = 277, // Can't do that while in demon form (yet)
SPELL_CUSTOM_ERROR_YOU_DONT_KNOW_HOW_TO_TAME_MECHS = 278, // You do not know how to tame or obtain lore about Mechs.
SPELL_CUSTOM_ERROR_CANNOT_CHARM_ANY_MORE_WITHERED = 279, // You cannot charm any more withered.
SPELL_CUSTOM_ERROR_REQUIRES_ACTIVE_HEALING_RAIN = 280, // Requires an active Healing Rain.
SPELL_CUSTOM_ERROR_ALREADY_COLLECTED_APPEARANCES = 281, // You've already collected these appearances
SPELL_CUSTOM_ERROR_CANNOT_RESURRECT_SURRENDERED_TO_MADNESS = 282, // Cannot resurrect someone who has surrendered to madness
SPELL_CUSTOM_ERROR_YOU_MUST_BE_IN_CAT_FORM = 283, // You must be in Cat Form.
SPELL_CUSTOM_ERROR_YOU_CANNOT_RELEASE_SPIRIT_YET = 284, // You cannot Release Spirit yet.
SPELL_CUSTOM_ERROR_NO_FISHING_NODES_NEARBY = 285, // No fishing nodes nearby.
SPELL_CUSTOM_ERROR_YOU_ARE_NOT_IN_CORRECT_SPEC = 286, // You are not the correct specialization.
SPELL_CUSTOM_ERROR_ULTHALESH_HAS_NO_POWER_WITHOUT_SOULS = 287, // Ulthalesh has no power without souls.
SPELL_CUSTOM_ERROR_CANNOT_CAST_THAT_WITH_VOODOO_TOTEM = 288, // You cannot cast that while talented into Voodoo Totem.
SPELL_CUSTOM_ERROR_ALREADY_COLLECTED_THIS_APPEARANCE = 289, // You've already collected this appearance.
SPELL_CUSTOM_ERROR_YOUR_PET_MAXIMUM_IS_ALREADY_HIGH = 290, // Your total pet maximum is already this high.
SPELL_CUSTOM_ERROR_YOU_DONT_HAVE_ENOUGH_WITHERED = 291, // You do not have enough withered to do that.
SPELL_CUSTOM_ERROR_REQUIRES_NEARBY_SOUL_FRAGMENT = 292, // Requires a nearby Soul Fragment.
SPELL_CUSTOM_ERROR_REQUIRES_AT_LEAST_10_WITHERED = 293, // Requires at least 10 living withered
SPELL_CUSTOM_ERROR_REQUIRES_AT_LEAST_14_WITHERED = 294, // Requires at least 14 living withered
SPELL_CUSTOM_ERROR_REQUIRES_AT_LEAST_18_WITHERED = 295, // Requires at least 18 living withered
SPELL_CUSTOM_ERROR_REQUIRES_2_WITHERED_MANA_RAGERS = 296, // Requires 2 Withered Mana-Ragers
SPELL_CUSTOM_ERROR_REQUIRES_1_WITHERED_BERSERKE = 297, // Requires 1 Withered Berserker
SPELL_CUSTOM_ERROR_REQUIRES_2_WITHERED_BERSERKER = 298, // Requires 2 Withered Berserkers
SPELL_CUSTOM_ERROR_TARGET_HEALTH_IS_TOO_LOW = 299, // Target's health is too low
SPELL_CUSTOM_ERROR_CANNOT_SHAPESHIFT_WHILE_RIDING_STORMTALON = 300, // You cannot shapeshift while riding Stormtalon
SPELL_CUSTOM_ERROR_CANNOT_CHANGE_SPEC_IN_COMBAT_TRAINING = 301, // You can not change specializations while in Combat Training.
SPELL_CUSTOM_ERROR_UNKNOWN_PHENOMENON_PREVENTS_LEYLINE_CONNECTION = 302, // Unknown phenomenon is preventing a connection to the Leyline.
SPELL_CUSTOM_ERROR_THE_NIGHTMARE_OBSCURES_YOUR_VISION = 303, // The Nightmare obscures your vision.
SPELL_CUSTOM_ERROR_YOU_ARE_IN_WRONG_CLASS_SPEC = 304, // You are in the wrong class specialization.
SPELL_CUSTOM_ERROR_THERE_ARE_NO_VALID_CORPSES_NEARBY = 305, // There are no valid corpses nearby.
SPELL_CUSTOM_ERROR_CANT_CAST_THAT_RIGHT_NOW = 306, // Can't cast that right now.
SPELL_CUSTOM_ERROR_NOT_ENOUGH_ANCIENT_MAN = 307, // Not enough Ancient Mana.
SPELL_CUSTOM_ERROR_REQUIRES_SONG_SCROLL = 308, // Requires a Song Scroll to function.
SPELL_CUSTOM_ERROR_MUST_HAVE_ARTIFACT_EQUIPPED = 309, // You must have an artifact weapon equipped.
SPELL_CUSTOM_ERROR_REQUIRES_CAT_FORM = 310, // Requires Cat Form.
SPELL_CUSTOM_ERROR_REQUIRES_BEAR_FORM = 311, // Requires Bear Form.
SPELL_CUSTOM_ERROR_REQUIRES_CONJURED_FOOD = 312, // Requires either a Conjured Mana Pudding or Conjured Mana Fritter.
SPELL_CUSTOM_ERROR_REQUIRES_ARTIFACT_WEAPON = 313, // Requires an artifact weapon.
SPELL_CUSTOM_ERROR_YOU_CANT_CAST_THAT_HERE = 314, // You can't cast that here
SPELL_CUSTOM_ERROR_CANT_DO_THAT_ON_CLASS_TRIAL = 315, // You cannot do that while on a Class Trial.
SPELL_CUSTOM_ERROR_RITUAL_OF_DOOM_ONCE_PER_DAY = 316, // You can only benefit from the Ritual of Doom once per day.
SPELL_CUSTOM_ERROR_CANNOT_RITUAL_OF_DOOM_WHILE_SUMMONING_SITERS = 317, // You cannot perform the Ritual of Doom while attempting to summon the sisters.
SPELL_CUSTOM_ERROR_LEARNED_ALL_THAT_YOU_CAN_ABOUT_YOUR_ARTIFACT = 318, // You have learned all that you can about your artifact.
SPELL_CUSTOM_ERROR_CANT_CALL_PET_WITH_LONE_WOLF = 319, // You cannot use Call Pet while Lone Wolf is active.
SPELL_CUSTOM_ERROR_TARGET_CANNOT_ALREADY_HAVE_ORB_OF_POWER = 320, // Target cannot already have a Orb of Power.
SPELL_CUSTOM_ERROR_YOU_MUST_BE_IN_AN_INN_TO_STRUM_THAT_GUITAR = 321, // You must be in an inn to strum that guitar.
SPELL_CUSTOM_ERROR_YOU_CANNOT_REACH_THE_LATCH = 322, // You cannot reach the latch.
SPELL_CUSTOM_ERROR_REQUIRES_A_BRIMMING_KEYSTONE = 323, // Requires a Brimming Keystone.
SPELL_CUSTOM_ERROR_YOU_MUST_BE_WIELDING_THE_UNDERLIGHT_ANGLER = 324, // You must be wielding the Underlight Angler.
SPELL_CUSTOM_ERROR_YOUR_TARGET_MUST_BE_SHACKLED = 325, // Your target must be Shackled.
SPELL_CUSTOM_ERROR_YOU_ALREADY_POSSES_ALL_OF_THE_KNOWLEDGE_CONTAINED_IN_THOSE_PAGES = 326, // You already possess all of the knowledge contained in these pages.
SPELL_CUSTOM_ERROR_YOU_CANT_RISK_GETTING_THE_GRUMMELS_WET = 327, // You can't risk getting the grummels wet!
SPELL_CUSTOM_ERROR_YOU_CANNOT_CHANGE_SPECIALIZATION_RIGHT_NOW = 328, // You cannot change specializations right now.
SPELL_CUSTOM_ERROR_YOUVE_REACHED_THE_MAXIMUM_NUMBER_OF_ARTIFACT_RESEARCH_NOTES_AVAILABLE = 329, // You've reached the maximum number of Artifact Research Notes available.
SPELL_CUSTOM_ERROR_YOU_DONT_HAVE_ENOUGH_NETHERSHARDS = 330, // You don't have enough Nethershards.
SPELL_CUSTOM_ERROR_THE_SENTINAX_IS_NOT_PATROLLING_THIS_AREA = 331, // The Sentinax is not patrolling this area.
SPELL_CUSTOM_ERROR_THE_SENTINAX_CANNOT_OPEN_ANOTHER_PORTAL_RIGHT_NOW = 332, // The Sentinax cannot open another portal right now.
SPELL_CUSTOM_ERROR_YOU_CANNOT_GAIN_ADDITIONAL_REPUTATION_WITH_THIS_ITEM = 333, // You cannot gain additional reputation with this item.
SPELL_CUSTOM_ERROR_CANT_DO_THAT_WHILE_GHOST_WOLF_FORM = 334, // Can't do that while in Ghost Wolf form.
SPELL_CUSTOM_ERROR_YOUR_SUPPLIES_ARE_FROZEN = 335, // Your supplies are frozen.
SPELL_CUSTOM_ERROR_YOU_DO_NOT_KNOW_HOW_TO_TAME_FEATHERMANES = 336, // You do not know how to tame Feathermanes.
SPELL_CUSTOM_ERROR_YOU_MUST_REACH_ARTIFACT_KNOWLEDGE_LEVEL_25 = 337, // You must reach Artifact Knowledge level 25 to use the Tome.
SPELL_CUSTOM_ERROR_REQUIRES_A_NETHER_PORTAL_DISRUPTOR = 338, // Requires a Nether Portal Disruptor.
SPELL_CUSTOM_ERROR_YOU_ARE_NOT_THE_CORRECT_RANK_TO_USE_THIS_ITEM = 339, // You are not the correct Rank to use this item.
SPELL_CUSTOM_ERROR_MUST_BE_STANDING_NEAR_INJURED_CHROMIE_IN_MOUNT_HYJAL = 340, // Must be standing near the injured Chromie in Mount Hyjal.
SPELL_CUSTOM_ERROR_THERES_NOTHING_FURTHER_YOU_CAN_LEARN = 341, // There's nothing further you can learn.
SPELL_CUSTOM_ERROR_REMOVE_CANNONS_HEAVY_IRON_PLATING_FIRST = 342, // You should remove the cannon's Heavy Iron Plating first.
SPELL_CUSTOM_ERROR_REMOVE_CANNONS_ELECTROKINETIC_DEFENSE_GRID_FIRST = 343, // You should remove the cannon's Electrokinetic Defense Grid first.
SPELL_CUSTOM_ERROR_REQUIRES_THE_ARMORY_KEY_AND_DENDRITE_CLUSTERS = 344, // You are missing pieces of the Armory Key or do not have enough Dendrite Clusters.
SPELL_CUSTOM_ERROR_THIS_ITEM_REQUIRES_BASIC_OBLITERUM_TO_UPGRADE = 345, // This item requires basic Obliterum to upgrade.
SPELL_CUSTOM_ERROR_THIS_ITEM_REQUIRES_PRIMAL_OBLITERUM_TO_UPGRADE = 346, // This item requires Primal Obliterum to upgrade.
SPELL_CUSTOM_ERROR_THIS_ITEM_REQUIRES_FLIGHT_MASTERS_WHISTLE = 347, // This item requires a Flight Master's Whistle.
SPELL_CUSTOM_ERROR_REQUIRES_MORRISONS_MASTER_KEY = 348, // Requires Morrison's Master Key.
SPELL_CUSTOM_ERROR_REQUIRES_POWER_THAT_ECHOES_THAT_OF_THE_AUGARI = 349, // Will only open to one wielding the power that echoes that of the Augari.
SPELL_CUSTOM_ERROR_THAT_PLAYER_HAS_A_PENDING_TOTEMIC_REVIVAL = 350, // That player has a pending Totemic Revival.
SPELL_CUSTOM_ERROR_YOU_HAVE_NO_FIRE_MINES_DEPLOYED = 351, // You have no Fire Mines deployed.
SPELL_CUSTOM_ERROR_MUST_BE_AFFECTED_BY_SPIRIT_POWDER = 352, // You must be affected by the Spirit Powder to take the phylactery.
SPELL_CUSTOM_ERROR_YOU_ARE_BLOCKED_BY_A_STRUCTURE_ABOVE_YOU = 353, // You are blocked by a structure above you.
SPELL_CUSTOM_ERROR_REQUIRES_100_IMP_MEAT = 354, // Requires 100 Imp Meat.
SPELL_CUSTOM_ERROR_YOU_HAVE_NOT_OBTAINED_ANY_BACKGROUND_FILTERS = 355, // You have not obtained any background filters.
SPELL_CUSTOM_ERROR_NOTHING_INTERESTING_POSTED_HERE_RIGHT_NOW = 356, // There is nothing interesting posted here right now.
SPELL_CUSTOM_ERROR_PARAGON_REPUTATION_REQUIRES_HIGHER_LEVEL = 357, // Paragon Reputation is not available until a higher level.
SPELL_CUSTOM_ERROR_UUNA_IS_MISSING = 358, // Uuna is missing.
SPELL_CUSTOM_ERROR_ONLY_OTHER_HIVEMIND_MEMBERS_MAY_JOIN = 359, // Only other members of their Hivemind may join with them.
SPELL_CUSTOM_ERROR_NO_VALID_FLASK_PRESENT = 360, // No valid flask present.
SPELL_CUSTOM_ERROR_NO_WILD_IMPS_TO_SACRIFICE = 361, // There are no Wild Imps to sacrifice.
SPELL_CUSTOM_ERROR_YOU_ARE_CARRYING_TOO_MUCH_IRON = 362, // You are carrying too much Iron
SPELL_CUSTOM_ERROR_YOU_HAVE_NO_IRON_TO_COLLECT = 363, // You have no Iron to collect
SPELL_CUSTOM_ERROR_YOU_HAVE_NO_WILD_IMPS = 364, // You have no available Wild Imps.
SPELL_CUSTOM_ERROR_NEEDS_REPAIRS = 365, // Needs repairs.
SPELL_CUSTOM_ERROR_YOU_ARE_CARRYING_TOO_MUCH_WOOD = 366, // You're carrying too much wood.
SPELL_CUSTOM_ERROR_YOU_ARE_ALREADY_CARRYING_REPAIR_PARTS = 367, // You're already carrying repair parts.
SPELL_CUSTOM_ERROR_YOU_HAVE_NOT_UNLOCKED_FLIGHT_WHISTLE_FOR_ZONE = 368, // You have not unlocked the Flight Whistle for this zone.
SPELL_CUSTOM_ERROR_THERE_ARE_NO_UNLOCKED_FLIGHT_POINTS_NEARBY = 369, // There are no unlocked flight points nearby to take you to.
SPELL_CUSTOM_ERROR_YOU_MUST_HAVE_A_FELGUARD = 370, // You must have a Felguard.
SPELL_CUSTOM_ERROR_TARGET_HAS_NO_FESTERING_WOUNDS = 371, // The target has no Festering Wounds.
SPELL_CUSTOM_ERROR_YOU_DONT_HAVE_DEADLY_OR_WOUND_POISON_ACTIVE = 372, // You do not have Deadly Poison or Wound Poison active.
SPELL_CUSTOM_ERROR_CANNOT_READ_SOLDIER_DOG_TAG_WITHOUT_HEADLAMP_ON = 373, // You cannot read the soldier's dog tag without your headlamp on.
SPELL_CUSTOM_ERROR_YOU_HAVE_NO_WOOD_TO_COLLECT = 374, // You have no Wood to collect.
SPELL_CUSTOM_ERROR_YOU_ARE_NOT_WEARING_A_SHIRT = 375, // You are not wearing a shirt!
SPELL_CUSTOM_ERROR_TARGET_MUST_BE_DEAD = 376, // Target must be dead.
SPELL_CUSTOM_ERROR_YOUR_TARGET_IS_ALREADY_EMBIGGIFIED = 377, // Your target is already embiggified.
SPELL_CUSTOM_ERROR_YOU_MUST_TARGET_A_SINISTER_GLADIATOR_ITEM = 378, // You must target a Sinister Gladiator's item to upgrade.
SPELL_CUSTOM_ERROR_THIS_ITEM_LEVEL_IS_TOO_HIGH_FOR_THIS_UPGRADE = 379, // This item's level is too high for this upgrade.
SPELL_CUSTOM_ERROR_THE_BALLISTA_CANNOT_BE_USED_WHILE_ON_FIRE = 380, // The ballista cannot be used while on fire.
SPELL_CUSTOM_ERROR_YOU_MUST_TARGET_A_DREAD_GLADIATOR_ITEM = 381, // You must target a Dread Gladiator's item to upgrade.
SPELL_CUSTOM_ERROR_YOU_DO_KNOT_KNOW_HOW_TO_TAME_BLOOD_BEASTS = 382, // You do not know how to tame Blood Beasts.
SPELL_CUSTOM_ERROR_CAN_ONLY_BE_USED_IN_THE_EVENING = 385, // Can only be used in the evening.
SPELL_CUSTOM_ERROR_REQUIRES_PAKU_TO_BE_YOUR_CHOSEN_LOA = 386, // Requires Pa'ku to be your chosen loa.
SPELL_CUSTOM_ERROR_REQUIRES_VIGOR_ENGAGED = 387, // Requires V.I.G.O.R. Engaged.
SPELL_CUSTOM_ERROR_YOUR_TARGET_IS_NOT_HUNGRY = 388, // Your target is not hungry.
SPELL_CUSTOM_ERROR_YOU_CAN_ONLY_HAVE_ON_TREASURE_MAP_MISSION = 389, // You can only have one treasure map mission at a time.
SPELL_CUSTOM_ERROR_YOU_ALREADY_HAVE_A_SILAS_SPHERE_OF_TRANSMUTATION = 390, // You already have a Silas' Sphere of Transmuation.
SPELL_CUSTOM_ERROR_YOU_DO_NOT_HAVE_THE_MALLET_OF_THUNDEROUS_SKINS = 391, // You do not have the Mallet of Thunderous Skins.
SPELL_CUSTOM_ERROR_YOU_MUST_HAVE_AN_OPEN_STABLE_SLOT = 393, // You must have an open stable slot.
SPELL_CUSTOM_ERROR_DOES_NOT_WORK_ON_CRITTERS = 394, // Does not work on critters.
SPELL_CUSTOM_ERROR_CAN_ONLY_BE_USED_ON_HATI = 395, // Can only be used on Hati.
SPELL_CUSTOM_ERROR_YOU_ALREADY_HAVE_IWENS_ENCHANTING_ROD = 396, // You already have an Iwen's Enchanting Rod.
SPELL_CUSTOM_ERROR_YOU_ALREADY_HAVE_MALLET_OF_THUNDEROUS_SKINS = 397, // You already have a Mallet of Thunderous Skins.
SPELL_CUSTOM_ERROR_CAN_ONLY_BE_USED_ON_INERT_TIDE_WATCHERS_OR_VOODOO_MASKS = 398, // Can only be used on Inert Tide Watchers or Inert Voodoo Masks.
SPELL_CUSTOM_ERROR_YOU_MUST_BE_AT_SHRINE_TO_MAKE_OFFERING_TO_LOA = 399, // You must be at a Shrine to make an offering to a Loa.
SPELL_CUSTOM_ERROR_REQUIRES_EMERALD_EMPOWERMENT = 400, // Requires Emerald Empowerment.
SPELL_CUSTOM_ERROR_YOU_MUST_BE_AN_HONORED_TAUREN = 401, // You must be an honored tauren.
SPELL_CUSTOM_ERROR_REQUIRES_CHITTERSPINE_MEAT = 402, // Requires Chitterspine Meat.
SPELL_CUSTOM_ERROR_REQUIRES_HEART_FORGE = 403, // Requires Heart Forge.
SPELL_CUSTOM_ERROR_NOT_AUTHORIZED_TO_ACCESS_CHARGING_STATION = 405, // You are not authorized to access this Charging Station. Speak to Flux.
SPELL_CUSTOM_ERROR_REQUIRES_MARDIVAS_ARCANE_COFFER = 406, // Requires Mardivas's Arcane Coffer
SPELL_CUSTOM_ERROR_REQUIRES_HEART_OF_AZEROTH_ATOP_HEART_FORGE = 407, // Requires Heart of Azeroth placed atop Heart Forge.
SPELL_CUSTOM_ERROR_REQUIRES_BRINESTONE_PICKAXE = 408, // Requires a Brinestone Pickaxe.
SPELL_CUSTOM_ERROR_YOU_ALREADY_COLLECTED_DATA_ON_THIS_TARGET = 409, // You have already collected data on this target.
SPELL_CUSTOM_ERROR_YOU_ALREADY_HAVE_THIS_ESSENCE_FOR_CURRENT_SPEC = 410, // You already have this Essence for your current loot specialization
SPELL_CUSTOM_ERROR_YOU_CANNOT_SUMMON_ANOTHER_PET_WHILE_RIDING_HATI = 411, // You cannot summon another pet while riding Hati.
SPELL_CUSTOM_ERROR_YOU_HAVE_ALREADY_COLLECTED_THIS_AZEROTH_MINI = 422, // You have already collected this Azeroth Mini
SPELL_CUSTOM_ERROR_YOUR_TARGET_IS_ALREADY_AFFECTED_BY_TEA_TIME = 412, // Your target is already affected by Tea Time!
SPELL_CUSTOM_ERROR_YOU_MUST_COMPLETE_QUEST_THE_HEART_FORGE_TO_INFUSE_ESSENCE = 413, // You must complete the quest "The Heart Forge" to infuse an Essence
SPELL_CUSTOM_ERROR_THIS_TARGET_DOES_NOT_HAVE_YOUR_RAZOR_CORAL = 414, // This target does not have your Razor Coral.
SPELL_CUSTOM_ERROR_YOU_DO_NOT_HAVE_ENOUGH_OF_THAT_ITEM = 415, // You do not have enough of that item.
SPELL_CUSTOM_ERROR_YOUR_TARGET_IS_NOT_WEARING_UNBOUND_CURSED_LOVERS_RING = 417, // Your target is not wearing an unbound Cursed Lover's Ring
SPELL_CUSTOM_ERROR_YOUR_CURSED_LOVERS_RING_IS_ALREDY_BOUND = 418, // Your Cursed Lover's Ring is already bound
SPELL_CUSTOM_ERROR_YOU_MUST_TARGET_A_NOTORIUS_GLADIATOR_ITEM = 421, // You must target a Notorious Gladiator's item to upgrade.
SPELL_CUSTOM_ERROR_YOU_CANT_CARRY_MORE_PICKAXES_CHUM_SEEDS = 423, // You can't carry any more Brinestone Pickaxes, Chum, or Germinating Seeds.
SPELL_CUSTOM_ERROR_REQUIRES_HOLIDAY_FEAST_OF_WINTER_WEIL = 424, // Requires holiday: Feast of Winter Veil
SPELL_CUSTOM_ERROR_REQUIRES_ASHJRAKAMAS_SHROUD_OF_RESOLVE = 425, // Requires Ashjra'kamas, Shroud of Resolve.
SPELL_CUSTOM_ERROR_REQUIRES_WAR_MODE = 426, // Requires War Mode.
SPELL_CUSTOM_ERROR_ONLY_ONE_OF_THIS_MASK_MAY_BE_WORN = 427, // Only one of this mask may be worn.
SPELL_CUSTOM_ERROR_YOU_CANNOT_ASCEND_WHILE_THE_TARRAGRUE_IS_NEARBY = 428, // You cannot ascend while the Tarragrue is nearby.
SPELL_CUSTOM_ERROR_TARGET_DOES_NOT_HAVE_A_VALID_AZERITE_ESSENCE = 429, // Target does not have a valid Azerite Essence.
SPELL_CUSTOM_ERROR_YOUR_MIND_IS_STILL_RECOVERING_FROM_RECENT_VISION = 430, // Your mind is still recovering from a recent vision.
SPELL_CUSTOM_ERROR_REQUIRES_VESSEL_OF_HORRIFIC_VISIONS = 431, // Requires Vessel of Horrific Visions.
SPELL_CUSTOM_ERROR_REQUIRES_ALL_PARTY_MEMBERS_TO_BE_WEARING_ASHJRAKAMAS_SHROUD_OF_RESOLVE = 432, // Requires all party members to be wearing Ashjra'kamas, Shroud of Resolve.
SPELL_CUSTOM_ERROR_REQUIRES_ALL_PARTY_MEMBERS_TO_POSSESS_A_VESSEL_OF_HORRIFIC_VISIONS = 434, // Requires all party members to possess a Vessel of Horrific Visions.
SPELL_CUSTOM_ERROR_YOU_ALREADY_HAVE_THE_HIGHEST_RANKED_ESSENCE_AVAILABLE_FROM_THIS_SOURCE = 435, // You already have the highest ranked Essence available from this source.
SPELL_CUSTOM_ERROR_REQUIRES_DARKMOON_GAME_TOKEN = 436, // Requires Darkmoon Game Token.
SPELL_CUSTOM_ERROR_YOU_ARE_NOT_THE_RIGHT_PROFESSION = 437, // You are not the right profession.
SPELL_CUSTOM_ERROR_YOU_ALREADY_KNOW_HOW_TO_CRAFT_A_VOID_FOCUS = 438, // You already know how to craft a Void Focus.
SPELL_CUSTOM_ERROR_YOU_ALREADY_KNOW_THE_RECIPES_IN_THIS_BOOK = 439, // You already know the recipes in this book.
SPELL_CUSTOM_ERROR_YOU_MUST_TARGET_A_CORRUPTED_GLADIATORS_ITEM = 440, // You must target a Corrupted Gladiator's item to upgrade.
SPELL_CUSTOM_ERROR_REQUIRES_THE_FIX_IT_STICK = 441, // Requires the Fix-It-Stick.
SPELL_CUSTOM_ERROR_THAT_ITEM_CANNOT_RECEIVE_ADDITIONAL_SOCKETS = 442, // That item cannot receive additional sockets.
SPELL_CUSTOM_ERROR_YOU_ALREADY_HAVE_A_CONTRACTED_VETERAN_TROOP = 443, // You already have a contracted veteran troop.
SPELL_CUSTOM_ERROR_YOU_ARE_CURRENTLY_AT_YOUR_TROOP_CAPACITY = 444, // You are currently at your troop capacity.
SPELL_CUSTOM_ERROR_YOU_DONT_HAVE_ENOUGH_ANIMA = 445, // You don't have enough Anima
SPELL_CUSTOM_ERROR_TARGET_ALREADY_HOLDING_VOID_TOUCHED_SKULL = 446, // That player is already holding a void-touched skull.
SPELL_CUSTOM_ERROR_TARGETS_INVENTORY_IS_FULL = 447, // Target's inventory is full.
SPELL_CUSTOM_ERROR_TARGETS_MIND_IS_PROTECTED_BY_NEURAL_SILENCER = 448, // Your target's mind is protected by a neural silencer.
SPELL_CUSTOM_ERROR_ALL_TARGETS_MINDS_ARE_PROTECTED_BY_NEURAL_SILENCERS = 449, // All of your targets' minds are protected by neural silencers.
SPELL_CUSTOM_ERROR_YOU_MUST_FIND_A_MORE_POWERFUL_CORE_TO_PROGRESS_YOUR_CLOAK_RANKS_FURTHER = 450, // You must find a more powerful core to progress your cloak ranks further.
SPELL_CUSTOM_ERROR_YOU_CANNOT_USE_THIS_ITEM_IN_WAR_MODE = 451, // You cannot use this item in War Mode.
SPELL_CUSTOM_ERROR_YOU_CANNOT_MAKE_YOUR_CAMP_HERE = 452, // You cannot make your camp here.
SPELL_CUSTOM_ERROR_REQUIRES_TITANIC_BEACON = 453, // Requires Titanic Beacon
SPELL_CUSTOM_ERROR_THAT_OBJECT_IS_LOCKED = 454, // That Object is Locked.
SPELL_CUSTOM_ERROR_INVALID_COMBINATION = 455, // Invalid Combination.
SPELL_CUSTOM_ERROR_NO_NEARBY_ENEMY_PLAYERS_ARE_CORRUPTED = 456, // No nearby enemy players are corrupted.
SPELL_CUSTOM_ERROR_THAT_SPELL_IS_ALREADY_ACTIVE = 457, // That spell is already active
SPELL_CUSTOM_ERROR_YOU_CANNOT_USE_THIS_WHEN_THE_TARRAGRUE_HAS_BEEN_ALERTED = 458, // You cannot use this when the Tarragrue has been alerted.
SPELL_CUSTOM_ERROR_THAT_GUEST_ALREADY_HAS_TEA = 459, // That guest already has tea.
SPELL_CUSTOM_ERROR_REQUIRES_SHADOWLANDS_SKINNING = 460, // Requires Shadowlands Skinning.
SPELL_CUSTOM_ERROR_REQUIRES_HUNTERS_MARK_ON_A_TARGET = 461, // Requires Hunter's Mark on a target.
SPELL_CUSTOM_ERROR_HOUNDMASTER_LOKSEY_IS_BUSY = 462, // Houndmaster Loksey is busy.
SPELL_CUSTOM_ERROR_REQUIRES_COIL_OF_ROPE = 463, // Requires Coil of Rope.
SPELL_CUSTOM_ERROR_MUST_BE_IN_A_REST_AREA = 464, // Must be in a rest area.
SPELL_CUSTOM_ERROR_TARGET_IS_LINKED_TO_SOMEBODY_ELSE = 465, // Target is linked to somebody else.
SPELL_CUSTOM_ERROR_YOU_DONT_HAVE_A_SUMMONED_GHOUL = 466, // You don't have a summoned Ghoul.
SPELL_CUSTOM_ERROR_ONE_OF_YOUR_PARTY_MEMBERS_IS_AN_INELIGIBLE_CLASS = 467, // One of your party members is an ineligible class.
SPELL_CUSTOM_ERROR_YOU_MUST_SELECT_A_SOULBIND_BOSS_AND_TIER_FIRST = 468, // You must select a soulbind, boss, and tier first.
SPELL_CUSTOM_ERROR_THAT_GUEST_DOESNT_WANT_THIS = 469, // That guest doesn't want this.
SPELL_CUSTOM_ERROR_YOU_MUST_DEFEAT_THE_EMPOWERED_GUARD_TO_ASCEND = 470, // You must defeat the Empowered guard to ascend.
SPELL_CUSTOM_ERROR_REQUIRES_SOULSTEEL_FORGE = 471, // Requires Soulsteel Forge.
SPELL_CUSTOM_ERROR_REQUIRES_PROOF_OF_PURITY = 472, // Requires Proof of Purity
SPELL_CUSTOM_ERROR_REQUIRES_PROOF_OF_HUMILITY = 473, // Requires Proof of Humility
SPELL_CUSTOM_ERROR_REQUIRES_PROOF_OF_COURAGE = 474, // Requires Proof of Courage
SPELL_CUSTOM_ERROR_REQUIRES_PROOF_OF_WISDOM = 475, // Requires Proof of Wisdom
SPELL_CUSTOM_ERROR_REQUIRES_PROOF_OF_LOYALTY = 476, // Requires Proof of Loyalty
SPELL_CUSTOM_ERROR_REQUIRES_ARCANE_SPECILIZATION = 477, // Requires Arcane Specilization.
SPELL_CUSTOM_ERROR_PLEASE_GATHER_YOUR_PARTY_BEFORE_QUEUING = 478, // Please gather your party before queuing.
SPELL_CUSTOM_ERROR_YOU_DO_NOT_KNOW_HOW_TO_TAME_GARGON = 479, // You do not know how to tame Gargon.
SPELL_CUSTOM_ERROR_REQUIRES_DEAD_SPRIGGAN = 480, // Requires Dead Spriggan
SPELL_CUSTOM_ERROR_YOU_ALREADY_USED_A_PROFESSION_JOURNAL_THIS_WEEK = 481, // You have already used a Profession Journal this week.
SPELL_CUSTOM_ERROR_REQUIRES_MORDRETHAR_THE_DEATH_GATE = 482, // Requires Mord'rethar: The Death Gate.
SPELL_CUSTOM_ERROR_REQUIRES_PLAGUEFALLEN = 483, // Requires Plaguefallen
SPELL_CUSTOM_ERROR_YOU_CANNOT_FIT_THROUGH_THERE = 484, // You cannot fit through there.
SPELL_CUSTOM_ERROR_A_BINDING_RITUAL_PREVENTS_THIS_FROM_OPENING = 485, // A binding ritual prevents this from opening.
SPELL_CUSTOM_ERROR_THAT_CHARM_IS_ALREADY_APPLIED = 486, // That charm is already applied.
SPELL_CUSTOM_ERROR_THAT_SIGIL_IS_ALREADY_APPLIED = 487, // That sigil is already applied.
SPELL_CUSTOM_ERROR_AT_LEAST_ONE_GUEST_MUST_RSVP_BEFORE_YOU_OPEN_COURT = 488, // At least one guest must RSVP before you open court.
SPELL_CUSTOM_ERROR_THERE_IS_NO_TIME_LIMIT_TO_INCREASE = 489, // There is no time limit to increase.
SPELL_CUSTOM_ERROR_YOUR_HEART_OF_AZEROTH_IS_CURRENTLY_DISABLED = 490, // Your Heart of Azeroth is currently disabled.
SPELL_CUSTOM_ERROR_ESSENCE_YOU_ARE_TRYING_TO_ACTIVATE_IS_INVALID = 491, // The Essence you are trying to activate is invalid.
SPELL_CUSTOM_ERROR_REQUIRES_MEDALLION_OF_SERVICE = 492, // Requires Medallion of Service
SPELL_CUSTOM_ERROR_ALL_PLAYERS_MUST_HAVE_QUEST_TORGHAST_TOWER_OF_THE_DAMNED = 493, // All players must have quest - Torghast: Tower of the Damned.
SPELL_CUSTOM_ERROR_REQUIRES_SHADOWLANDS_ENGINEERING = 494, // Requires Shadowlands Engineering
SPELL_CUSTOM_ERROR_YOU_ARE_NOT_IN_DEEP_ENOUGH_WATER = 495, // You are not in deep enough water.
SPELL_CUSTOM_ERROR_REQUIRES_FRESH_WATERS_OF_ARDENWEALD_OR_BASTION = 496, // Requires the fresh waters of Ardenweald or Bastion
SPELL_CUSTOM_ERROR_REQUIRES_30_INFUSED_RUBIES = 497, // Requires 30 Infused Rubies
SPELL_CUSTOM_ERROR_THE_CURSE_OF_TERAMANIKS_LEGACY_IS_KEEPING_YOUR_MOUNTS_FROM_HEEDING_YOUR_CALL = 498, // The Curse of Teramanik's Legacy is keeping your mounts from heeding your call.
SPELL_CUSTOM_ERROR_YOU_DO_NOT_KNOW_HOW_TO_TAME_CLOUD_SERPENTS = 499, // You do not know how to tame Cloud Serpents.
SPELL_CUSTOM_ERROR_YOU_DO_NOT_KNOW_HOW_TO_TAME_UNDEAD_CREATURES = 500, // You do not know how to tame Undead creatures.
SPELL_CUSTOM_ERROR_REQUIRES_THE_FORGE_OF_BONDS = 501, // Requires the Forge of Bonds
SPELL_CUSTOM_ERROR_REQUIRES_GATAMATOS = 502, // Requires Gatamatos
SPELL_CUSTOM_ERROR_MUST_BE_CHANNELLING_MIND_SEAR = 503, // Must be channelling Mind Sear.
SPELL_CUSTOM_ERROR_YOU_DONT_HAVE_ANY_PERIODIC_EFFECTS_ACTIVE = 504, // You don't have any periodic effects active.
SPELL_CUSTOM_ERROR_YOU_ARE_NOT_BEST_FRIENDS_WITH_ANY_EMBER_COURT_GUESTS = 505, // You are not Best Friends with any Ember Court guests.
SPELL_CUSTOM_ERROR_YOU_MUST_OBTAIN_VENOMOUS_SOLVENTS = 506, // You must obtain Venomous Solvents.
SPELL_CUSTOM_ERROR_YOU_MUST_OBTAIN_DREAD_POLLEN = 507, // You must obtain Dread Pollen.
SPELL_CUSTOM_ERROR_A_PARTY_MEMBER_DOES_NOT_HAVE_THAT_LAYER_UNLOCKED = 508, // A party member does not have that layer unlocked
SPELL_CUSTOM_ERROR_INVENTORY_IS_FULL = 509, // Inventory is full.
SPELL_CUSTOM_ERROR_YOU_HAVE_NO_ANIMA_TO_DEPOSIT = 510, // You have no Anima to deposit
SPELL_CUSTOM_ERROR_YOUR_MOUNT_IGNORES_YOUR_CALL_WITHIN_THE_MAW = 511, // Your mount ignores your call within The Maw.
SPELL_CUSTOM_ERROR_YOUR_BUTLER_IS_ALREADY_PRESENT_SOMEWHERE_IN_THE_EMBER_COURT = 512, // Your butler is already present somewhere in the Ember Court.
SPELL_CUSTOM_ERROR_YOU_HAVE_ALREADY_BUILT_THIS_CONSTRUCT = 513, // You have already built this construct
SPELL_CUSTOM_ERROR_REQUIRES_INNER_ALTAR_OF_DOMINATION = 514, // Requires Inner Altar of Domination
SPELL_CUSTOM_ERROR_PARTY_MEMBER_DOES_NOT_MEET_REQUIREMENTS_TO_QUEUE = 515, // A party member does not meet the requirements to queue
SPELL_CUSTOM_ERROR_NO_CONSTRUCT_CURRENTLY_ACTIVE = 516, // No construct currently active
SPELL_CUSTOM_ERROR_COMPLETE_THE_QUEST_LINE_WELCOME_TO_ZANDALAR = 517, // Complete the quest line "Welcome to Zandalar" to use this spell.
SPELL_CUSTOM_ERROR_COMPLETE_THE_QUEST_LINE_A_NATION_DIVIDED = 518, // Complete the quest line "A Nation Divided" to use this spell.
SPELL_CUSTOM_ERROR_CANNOT_BE_USED_ON_COMMON_QUALITY_ITEMS = 519, // Cannot be used on Common quality items.
SPELL_CUSTOM_ERROR_YOU_MUST_BE_PLEDGED_TO_THE_VENTHYR = 520, // You must be pledged to the Venthyr.
SPELL_CUSTOM_ERROR_YOU_MUST_BE_PLEDGED_TO_THE_NIGHT_FAE = 521, // You must be pledged to the Night Fae.
SPELL_CUSTOM_ERROR_YOU_MUST_BE_PLEDGED_TO_THE_KYRIAN = 522, // You must be pledged to the Kyrian.
SPELL_CUSTOM_ERROR_YOU_MUST_BE_PLEDGED_TO_THE_NECROLORDS = 523, // You must be pledged to the Necrolords.
SPELL_CUSTOM_ERROR_YOU_MUST_BE_IN_THE_SHADOWLANDS = 524, // You must be in the Shadowlands.
SPELL_CUSTOM_ERROR_REQUIRES_SANCTUM_RESERVOIR = 525, // Requires Sanctum Reservoir.
SPELL_CUSTOM_ERROR_THIS_WILDSEED_OF_REGROWTH_IS_STILL_INCUBATING = 526, // This Wildseed of Regrowth is still incubating.
SPELL_CUSTOM_ERROR_THIS_WILDSEED_OF_REGROWTH_IS_STILL_GROWING = 527, // This Wildseed of Regrowth is still growing.
SPELL_CUSTOM_ERROR_YOU_MUST_BE_PARTY_LEADER_TO_START_THIS_ESCORT = 528, // You must be the party leader to start this escort.
SPELL_CUSTOM_ERROR_YOU_HAVE_FULLY_UPGRADED_ALL_OF_YOUR_CONDUITS = 529, // You have fully upgraded all of your Conduits.
SPELL_CUSTOM_ERROR_YOU_HAVE_ALREADY_ADDED_THAT_CONDUIT = 530, // You have already added that Conduit to the Forge of Bonds.
SPELL_CUSTOM_ERROR_TARGET_MUST_BE_WEAKENED = 531, // Target must be weakened.
SPELL_CUSTOM_ERROR_YOU_CANNOT_ADD_THAT_CONDUIT_TO_FORGE_OF_BONDS = 532, // You cannot add that Conduit to the Forge of Bonds.
SPELL_CUSTOM_ERROR_YOU_CANNOT_SOULSHAPE_DURING_LICHBORNE = 533, // You cannot Soulshape during Lichborne.
SPELL_CUSTOM_ERROR_YOU_CANT_DO_THAT_WHILE_CARRYING_AN_ANIMACONE = 534, // You can't do that while carrying an Animacone.
SPELL_CUSTOM_ERROR_NECESSARY_CONSTRUCT_NOT_PRESENT = 535, // Necessary construct not present.
SPELL_CUSTOM_ERROR_THAT_GUEST_IS_ALREADY_COVERED_IN_GELATIN = 536, // That guest is already covered in gelatin.
SPELL_CUSTOM_ERROR_YOU_NEED_TO_WAIT_TO_USE_THIS_ITEM = 537, // You need to wait to use this item.
SPELL_CUSTOM_ERROR_THAT_ALLY_ALREADY_HAS_TEA = 538, // That ally already has tea.
SPELL_CUSTOM_ERROR_TARGET_DOES_NOT_NEED_TEA = 539, // The target does not need tea.
SPELL_CUSTOM_ERROR_THEY_DONT_DESERVE_YOUR_FANCY_TEA = 540, // They don't deserve your fancy tea!
SPELL_CUSTOM_ERROR_YOUR_GORM_PREFERS_TO_EAT_DEAD_THINGS = 541, // Your gorm prefers to eat dead things.
SPELL_CUSTOM_ERROR_YOUR_GORM_HAS_ALREADY_EATEN_THAT_CORPSE = 542, // Your gorm has already eaten that corpse.
SPELL_CUSTOM_ERROR_YOU_NEED_A_GORMLING_FROM_NIYA_TO_DO_THAT = 543, // You need a gormling from Niya to do that.
SPELL_CUSTOM_ERROR_TARGET_IS_ALREADY_SHRUNKEN = 544, // Target is already shrunken.
SPELL_CUSTOM_ERROR_TARGET_IS_ALREADY_ENLARGED = 545, // Target is already enlarged.
SPELL_CUSTOM_ERROR_LADY_MOONBERRYS_WAND_IS_FOR_ENEMIES_AND_MAWRATS = 546, // Lady Moonberry's wand is meant for enemies and mawrats.
SPELL_CUSTOM_ERROR_LADY_MOONBERRYS_WAND_IS_FOR_ENEMIES = 547, // Lady Moonberry's wand is meant for enemies.
SPELL_CUSTOM_ERROR_TARGET_IS_ALREADY_TRANSFORMED_INTO_A_SNAIL = 548, // Target is already transformed into a snail.
SPELL_CUSTOM_ERROR_YOUR_TARGET_MUST_BE_BELOW_50_PCT_HEALTH = 549, // Your target must be below 50% health.
SPELL_CUSTOM_ERROR_LADY_MOONBERRYS_WAND_IS_DRAINED_OF_POWER = 550, // Lady Moonberry's wand is drained of power.
SPELL_CUSTOM_ERROR_THIS_BOOK_HOLDS_NO_RECIPES_FOR_YOUR_PROFESSION = 551, // This book holds no recipes for your profession.
SPELL_CUSTOM_ERROR_YOU_HAVE_NO_KORTHIAN_RELICS_IN_YOUR_INVENTORY = 552, // You have no Korthian Relics in your Inventory.
SPELL_CUSTOM_ERROR_YOU_MUST_BE_IN_THE_RIFT_TO_INTERACT_WITH_THIS = 553, // You must be in the Rift to interact with this.
SPELL_CUSTOM_ERROR_CANNOT_SUMMON_WHILE_IN_THE_RIFT = 554, // Cannot summon while in the Rift.
SPELL_CUSTOM_ERROR_YOU_NEED_AN_ACTIVE_ELEMENTAL_SHIELD = 600, // You need an active Elemental Shield.
SPELL_CUSTOM_ERROR_SPEAK_TO_ARCHIVIST_TO_TURN_IN_RELIC_FRAGMENTS = 601, // Speak to the Archivist to turn in relic fragments.
SPELL_CUSTOM_ERROR_REQUIRES_RESEARCH_REPORTS_ANCIENT_SHRINES = 602, // Requires knowledge from Research Reports: Ancient Shrines
SPELL_CUSTOM_ERROR_YOUR_STEWARD_IS_NOT_PRESENT = 603, // Your steward companion is not present.
SPELL_CUSTOM_ERROR_YOUR_STEWARD_HAS_ALREADY_BEEN_TRANSFORMED = 604, // Your steward companion has already been transformed.
SPELL_CUSTOM_ERROR_REQUIRES_KORTHIAN_RELICS = 605, // Requires Korthian Relics
SPELL_CUSTOM_ERROR_REQUIRES_FULL_EMPOWERED_BAR = 606, // Requires Full Empowered Bar
SPELL_CUSTOM_ERROR_REQUIRES_YOU_TO_BE_RIDING_A_YAK = 607, // Requires you to be riding a yak.
SPELL_CUSTOM_ERROR_JAITHYS_IS_NOT_A_CANNIBAL = 609, // Jaithys is many things, but Jaithys is not a cannibal.
SPELL_CUSTOM_ERROR_THAT_ITEM_IS_PUNY_UNWORTHY_FIND_ANOTHER = 610, // That item is puny. Unworthy. Find another.
SPELL_CUSTOM_ERROR_JAITHYS_HUNGERS_ONLY_FOR_WEAPONS = 611, // Jaithys hungers only for weapons. Only weapons will do.
SPELL_CUSTOM_ERROR_RETURN_TO_RELIQUARY_OF_REMEMBERANCE_TO_SUBMIT_KORTHIAN_RELICS = 612, // Return to the Reliquary of Rememberance to submit Korthian Relics to Archivist Roh-Suir.
SPELL_CUSTOM_ERROR_SHARDS_OF_DOMINATION_CAN_BE_REMOVED_BY_SOULFIRE_CHISEL = 615, // Shards of Domination can only be removed by the Soulfire Chisel.
SPELL_CUSTOM_ERROR_YOU_HAVE_LEARNED_EVERYTHING_FROM_THAT_MAP = 616, // You have learned everything from that map.
SPELL_CUSTOM_ERROR_YOU_MUST_TARGET_A_CRITTER_TO_HELP_IT_ATONE_FOR_ITS_SINS = 617, // You must target a critter to help it atone for its sins.
SPELL_CUSTOM_ERROR_YOU_MUST_BE_A_MEMBER_OF_THE_KYRIAN_COVENANT_OR_HAVE_REACHED_RENOWN_80_WITH_THE_KYRIAN = 619, // You must be a member of the Kyrian Covenant or have reached Renown 80 with the Kyrian.
SPELL_CUSTOM_ERROR_YOU_MUST_BE_A_MEMBER_OF_THE_NECROLORD_COVENANT_OR_HAVE_REACHED_RENOWN_80_WITH_THE_NECROLORDS = 620, // You must be a member of the Necrolord Covenant or have reached Renown 80 with the Necrolords.
SPELL_CUSTOM_ERROR_YOU_MUST_BE_A_MEMBER_OF_THE_NIGHT_FAE_COVENANT_OR_HAVE_REACHED_RENOWN_80_WITH_THE_NIGHT_FAE = 621, // You must be a member of the Night Fae Covenant or have reached Renown 80 with the Night Fae.
SPELL_CUSTOM_ERROR_YOU_MUST_BE_A_MEMBER_OF_THE_VENTHYR_COVENANT_OR_HAVE_REACHED_RENOWN_80_WITH_THE_VENTHYR = 622, // You must be a member of the Venthyr Covenant or have reached Renown 80 with the Venthyr.
SPELL_CUSTOM_ERROR_YOU_ALREADY_HAVE_THAT_MUCH_RENOWN_WITH_YOUR_ACTIVE_COVENANT = 627, // You already have that much Renown with your active Covenant.
SPELL_CUSTOM_ERROR_CANNOT_EXCEED_THE_MAXIMUM_FOR_THAT_CURRENCY = 628, // Cannot exceed the maximum for that currency.
SPELL_CUSTOM_ERROR_REQUIRES_ADDITIONAL_COSMIC_ENERGY = 629, // Requires additional Cosmic Energy.
SPELL_CUSTOM_ERROR_REQUIRES_ARCHITECT = 630, // Requires Architect.
SPELL_CUSTOM_ERROR_YOU_MUST_BE_SITTING_TO_DO_THAT = 631, // You must be sitting to do that.
SPELL_CUSTOM_ERROR_REQUIRES_POLLEN_CLOUD = 632, // Requires Pollen Cloud.
SPELL_CUSTOM_ERROR_REQUIRES_5_LOST_OVOIDS = 633, // Requires 5 Lost Ovoids.
SPELL_CUSTOM_ERROR_YOU_HAVE_TOO_MANY_TEMPORARY_ENHANCEMENTS = 634, // You have too many temporary enhancements.
SPELL_CUSTOM_ERROR_YOU_HAVE_OTHER_WAYS_TO_SUMMON_POCOPOC = 635, // You have other ways to summon Pocopoc while in Zereth Mortis.
SPELL_CUSTOM_ERROR_REQUIRES_MORE_SYLLABIC_RECALL = 636, // Requires more Syllabic Recall.
SPELL_CUSTOM_ERROR_THIS_BATTLE_PET_CANNOT_RIDE_ON_MAGIC_SAUCER = 637, // This battle pet is unable to ride on the Magic Saucer.
SPELL_CUSTOM_ERROR_YOU_CAN_ONLY_DO_THIS_WHILE_MIDAIR = 638, // You can only do this while midair.
SPELL_CUSTOM_ERROR_YOU_CANNOT_DO_THAT_WHILE_AIRBORNE = 639, // You cannot do that while airborne.
SPELL_CUSTOM_ERROR_POCOPOC_IS_UNAVAILABLE_ON_QUESTLINE = 640, // Pocopoc is unavailable to summon during the questline A Means to an End.
SPELL_CUSTOM_ERROR_CANNOT_CAST_THAT_WITH_AURA_OF_RECKONING_TALENT = 650, // You cannot cast that while Aura of Reckoning is talented.
SPELL_CUSTOM_ERROR_REQUIRES_SULFURON_SLAMMER = 711, // Requires Sulfuron Slammer
SPELL_CUSTOM_ERROR_NOT_READY_YET = 788, // Not ready yet.
SPELL_CUSTOM_ERROR_QUALITY_OF_TIERED_MEDALLION_SETTING_IS_TOO_LOW = 789, // The quality of your Tiered Medallion Setting is too low to add another socket to this item.
SPELL_CUSTOM_ERROR_YOU_HAVE_NOT_LEARNED_BARREL_ROLL = 790, // You have not learned Barrel Roll.
SPELL_CUSTOM_ERROR_TARGET_MUST_BE_AN_ELITE_ELEMENTAL = 791, // Target must be an Elite Elemental.
SPELL_CUSTOM_ERROR_SKILL_CHECK_ALREADY_FAILED = 792, // Skill check already failed.
SPELL_CUSTOM_ERROR_YOUR_TARGET_WAS_RECENTLY_FED = 793, // Your target was recently fed.
SPELL_CUSTOM_ERROR_CANNOT_LURE_ELUSIVE_CREATURE_TOWARDS_TOWN = 794, // You cannot lure an elusive creature towards a town.
SPELL_CUSTOM_ERROR_NO_WORTHWHILE_CREATURES_IN_AREA_TO_LURE_OUT = 795, // There are no worthwhile creatures in this area to lure out.
SPELL_CUSTOM_ERROR_CANNOT_LURE_WILD_BEAST = 796, // This is a daycare for whelps. Why would you try to lure a wild beast here...?
SPELL_CUSTOM_ERROR_YOU_HAVE_NO_ARCANE_ESSENCES_IN_YOUR_INVENTORY = 797, // You have no Arcane Essences in your inventory.
SPELL_CUSTOM_ERROR_THAT_PLAYER_IS_CURRENTLY_NOT_INTERESTED_IN_ENGAGING_WITH_YOUR_SHENANIGANS = 798, // That player is currently not interested in engaging with your shenanigans.
SPELL_CUSTOM_ERROR_CANT_BE_CAST_ON_NON_PLAYER_CHARACTERS = 799, // Can't be cast on Non Player Characters.
SPELL_CUSTOM_ERROR_A_SIGNAL_FLARE_WAS_RECENTLY_FIRED_AT_THIS_LOCATION = 800, // A signal flare was recently fired at this location.
SPELL_CUSTOM_ERROR_THIS_TINKER_IS_TOO_COMPLICATED_FOR_YOU = 801, // This tinker is too complicated for you.
SPELL_CUSTOM_ERROR_THE_DUCK_REFUSES_TO_PLAY_WHILE_ANOTHER_MAESTRO_IS_NEARBY = 802, // The duck refuses to play while another maestro is nearby.
SPELL_CUSTOM_ERROR_YOU_HAVE_STUDIED_THESE_NOTES_EXTENSIVELYAND_THERE_IS_NOTHING_NEW_TO_LEARN_FROM_THEM = 803, // You have studied these notes extensively and there is nothing new to learn from them.
SPELL_CUSTOM_ERROR_YOU_DONT_HAVE_ENOUGH_GOLD = 804, // You don't have enough gold.
SPELL_CUSTOM_ERROR_YOU_DO_NOT_KNOW_HOW_TO_TAME_OTTUK = 805, // You do not know how to tame Ottuk.
SPELL_CUSTOM_ERROR_CLAN_AYLAAG_IS_CURRENTLY_TRAVELLINGAND_CANNOT_BE_TELEPORTED_TO = 806, // Clan Aylaag is currently travelling and cannot be teleported to.
SPELL_CUSTOM_ERROR_NOT_ENOUGH_INSANITY = 807, // Not enough insanity
SPELL_CUSTOM_ERROR_YOU_MUST_WAIT_TO_ACCESS_THIS_AGAIN = 808, // You must wait to access this again.
SPELL_CUSTOM_ERROR_YOU_DO_NOT_KNOW_HOW_TO_TAME_DRAGONKIN = 809, // You do not know how to tame Dragonkin.
SPELL_CUSTOM_ERROR_REQUIRES_AN_EMPTY_SOUL_CAGE = 810, // Requires an Empty Soul Cage.
SPELL_CUSTOM_ERROR_YOU_ALREADY_HAVE_A_CAGED_SOUL_OF_THAT_TYPE = 811, // You already have a caged soul of that type.
SPELL_CUSTOM_ERROR_YOU_CANT_DO_THAT_HERE = 812, // You can't do that here.
SPELL_CUSTOM_ERROR_YOU_DO_NOT_HAVE_ANY_ELEMENTAL_GEMS_SOCKETED = 813, // You do not have any elemental gems socketed.
SPELL_CUSTOM_ERROR_YOU_MUST_BE_IN_THE_DRAGON_ISLES = 814, // You must be in the Dragon Isles.
SPELL_CUSTOM_ERROR_YOU_CANNOT_DO_THAT_WHILE_UNDERWATER = 815, // You cannot do that while underwater.
SPELL_CUSTOM_ERROR_YOU_MUST_BE_RIDING_A_STOLEN_TAME_MAGMAMMOTH = 816, // You must be riding a stolen Tame Magmammoth.
SPELL_CUSTOM_ERROR_YOU_MUST_BE_FLYING_ABOVE_WATER_INSIDE_AN_ACTIVE_TUSKARR_FISHING_HOLE = 817, // You must be flying above water inside an active Tuskarr Fishing Hole.
SPELL_CUSTOM_ERROR_YOU_ARE_ALREADY_BRAVE_ENOUGH_TO_CONTINUE_WITH_YOUR_EXPERIMENTATION = 818, // You are already brave enough to continue with your experimentation.
SPELL_CUSTOM_ERROR_YOU_DONT_KNOW_HOW_TO_REPAIR_THIS_ITEM = 819, // You don't know how to repair this item.
SPELL_CUSTOM_ERROR_THERE_IS_NO_MORE_ROOM_ON_THAT_HANDHOLD = 820, // There is no more room on that handhold.
SPELL_CUSTOM_ERROR_YOU_MUST_UNBLOCK_THIS_SPOT_BY_COMPLETING_A_DAILY_QUEST = 821, // You must unblock this spot by completing a daily quest.
SPELL_CUSTOM_ERROR_YOU_MUST_BE_CLOSER_TO_AN_ICE_HOLE_TO_DO_THAT = 822, // You must be closer to an ice hole to do that.
SPELL_CUSTOM_ERROR_SHADOWFLAME_IS_TOO_STRONG_TO_BEAR = 823, // The shadowflame is too strong to bear.
SPELL_CUSTOM_ERROR_SOMEONE_HAS_ALREADY_OVERLOADED_THIS = 824, // Someone has already overloaded this.
SPELL_CUSTOM_ERROR_REQUIRES_NOKHUD_TRAINING_COURSE = 825, // Requires Nokhud Training Course.
SPELL_CUSTOM_ERROR_THIS_RECIPE_IS_CURRENTLY_DISABLED = 826, // This recipe is currently disabled. Please try again later.
SPELL_CUSTOM_ERROR_YOU_DO_NOT_HAVE_THE_CORRECT_BATTLE_PET_SUMMONED = 827, // You do not have the correct battle pet summoned.
SPELL_CUSTOM_ERROR_YOU_ALREADY_HAVE_AT_LEAST_ONE_CONJURED_PHIAL = 828, // You already have at least one conjured phial.
SPELL_CUSTOM_ERROR_MARKED_TOO_MANY_TREASURES_IN_THE_FORBIDDEN_REACH = 830, // You have already marked too many treasures in the Forbidden Reach. Collect a few before unsealing more Forbidden Reach treasure scrolls.
SPELL_CUSTOM_ERROR_REQUIRES_A_DJARADIN_PILLAR_SHARD = 831, // Requires a Djaradin Pillar Shard.
SPELL_CUSTOM_ERROR_REQUIRES_A_RESILIENT_STONE = 832, // Requires a Resilient Stone.
SPELL_CUSTOM_ERROR_MYRRIT_CANNOT_CARRY_ANY_MORE_MAPS = 835, // Myrrit cannot carry any more maps. Go on a dig with him!
SPELL_CUSTOM_ERROR_SOME_GIFTSS_ARE_BETTER_LEFT_UNDELIVERED = 836, // Some gifts are better left undelivered.
SPELL_CUSTOM_ERROR_COMPANION_IS_UNCONSCIOUS = 837, // Companion is unconscious!
SPELL_CUSTOM_ERROR_REQUIRES_COMPANION = 838, // Requires companion.
SPELL_CUSTOM_ERROR_YOU_ATE_TOO_MANY_DESSERTS = 840, // You should not eat too many desserts if you wish to be invited to the next party.
SPELL_CUSTOM_ERROR_ONLY_USABLE_DURING_LOVE_IS_IN_THE_AIR = 841, // Only usable during Love is in the Air
SPELL_CUSTOM_ERROR_NO_SMELLS_NEARBY = 842, // No smells nearby!
SPELL_CUSTOM_ERROR_YOU_ALREADY_HAVE_A_CONJURED_FLASK = 845, // You already have a conjured flask.
SPELL_CUSTOM_ERROR_YOU_ALREADY_HAVE_SOME_CONJURED_POTIONS = 846, // You already have some conjured potions.
SPELL_CUSTOM_ERROR_REQUIRES_NIFFEN_CAVE_DIVE_KEYAND_SHIELD_DISABLED = 850, // Requires Niffen Cave Dive Key and shield disabled.
SPELL_CUSTOM_ERROR_ELUSIVE_CREATURE_BAIT_WAS_RECENTLY_USED = 851, // You cannot lure anything in this area for a few minutes. Elusive Creature Bait was recently used.
SPELL_CUSTOM_ERROR_MUST_BE_IN_QUIET_PLACE_WITHIN_CAER_DARROW = 852, // Must be in a suitably quiet place within Caer Darrow.
SPELL_CUSTOM_ERROR_YOU_NEED_SHADOWROOTED_GRIPPERS = 853, // You need Shadowrooted Grippers.
SPELL_CUSTOM_ERROR_YOU_DONT_HAVE_ANY_GLIMMER_OF_LIGHTS_ACTIVE = 856, // You don't have any Glimmer of Lights active.
SPELL_CUSTOM_ERROR_ONLY_THE_FORSAKEN_CAN_DISPLAY_THIS_HONOR = 857, // Only the Forsaken can display this honor.
SPELL_CUSTOM_ERROR_ENOUGH_MOONKIN_HATCHLINGS_ALREADY_FOLLOW_YOU = 858, // Enough Moonkin Hatchlings already follow you.
SPELL_CUSTOM_ERROR_YOU_CAN_ONLY_OPEN_THIS_CHEST_IN_YOUR_DREAMS = 859, // You can only open this chest in your dreams.
SPELL_CUSTOM_ERROR_YOU_HAVE_NOT_PROVEN_YOURSELF_TO_THIS_SPIRIT = 860, // You have not proven yourself to this spirit.
SPELL_CUSTOM_ERROR_NOT_ENOUGH_DELVE_EMPOWERMENT = 861, // Not enough delve empowerment.
SPELL_CUSTOM_ERROR_THIS_ITEM_CANNOT_BE_USED_IN_THE_CURRENT_SEASON = 870, // This item cannot be used in the current season.
SPELL_CUSTOM_ERROR_YOU_CANNOT_ENTER_A_DELVE_WHILE_IN_A_RAID_GROUP = 871, // You cannot enter a delve while in a raid group.
SPELL_CUSTOM_ERROR_YOUR_COMPANION_IS_IN_COMBAT = 872, // Your companion is in combat.
SPELL_CUSTOM_ERROR_THIS_DELVE_IS_NOT_AVAILABLE_FOR_TESTING = 873, // This Delve is not available for testing. Check back later!
SPELL_CUSTOM_ERROR_YOU_ARE_ALREADY_AT_FULL_VIGOR = 891, // You are already at full Vigor
SPELL_CUSTOM_ERROR_YOU_ALREADY_HAVE_AT_LEAST_ONE_CONJURED_FLASK = 892, // You already have at least one conjured flask.
SPELL_CUSTOM_ERROR_ACTIVE_FLASKS_CAN_ONLY_BE_CHANGED_OUTS_OF_COMBAT = 893, // Active flasks can only be changed outside of combat.
SPELL_CUSTOM_ERROR_THIS_CANNOT_BE_CRAFTED_DURING_EARLY_ACCESS = 900, // This cannot be crafted during early access.
SPELL_CUSTOM_ERROR_YOU_DONT_HAVE_THE_SWIRLING_MOJO_STONE = 999, // You don't have the Swirling Mojo Stone equipped.
SPELL_CUSTOM_ERROR_YOU_MUST_BE_NEAR_A_DRAGONFLIGHT_OATHSTONE = 1000, // You must be near one of the five dragonflight oathstones in the Dragon Isles.
SPELL_CUSTOM_ERROR_CAN_ONLY_USE_THIS_ITEM_WHILE_AIRBORNE = 1001, // You can only use this item while airborne.
SPELL_CUSTOM_ERROR_THIS_PLAYER_IS_NOT_OPPOSITE_FACTION = 1002, // This player is not of the opposite faction.
SPELL_CUSTOM_ERROR_THIS_PLAYER_ALREADY_HAS_THIS_MOUNT = 1003, // This player already has this mount.
SPELL_CUSTOM_ERROR_YOUR_TARGET_IS_IN_WAR_MODE = 1004, // Your target is in War Mode.
SPELL_CUSTOM_ERROR_COOLDOWN_RESET = 1005, // Cooldown Reset
SPELL_CUSTOM_ERROR_SOIL_NUTRIENTS_MUST_REPLENISH = 1006, // The nutrients of this soil must replenish before further growth.
SPELL_CUSTOM_ERROR_TARGET_ALREADY_HAD_SOME_FEATHERS_PLUCKED = 1007, // The target has already had some feathers plucked. It would be rude to take more.
SPELL_CUSTOM_ERROR_THIS_CREATURE_HAS_ALREADY_BEEN_ATTUNED_WITH = 1008, // This creature has already been attuned with recently.
SPELL_CUSTOM_ERROR_YOU_ALREADY_HAVE_SOME_MULCH_PREPARED = 1009, // You already have some mulch prepared. Use your current mulch first.
SPELL_CUSTOM_ERROR_YOU_DONT_KNOW_HOW_TO_GATHER_THIS = 1010, // You don't know how to gather this.
SPELL_CUSTOM_ERROR_YOU_DONT_HAVE_ANY_ITEMS_OF_THIS_TYPE = 1011, // You don't have any items of this type.
SPELL_CUSTOM_ERROR_YOU_DONT_HAVE_ANY_RADIANT_REMNANTS = 1012, // You don't have any Radiant Remnants.
SPELL_CUSTOM_ERROR_TARGETS_RING_IS_ALREADY_BOUND_TO_ANOTHER_PLAYER = 1013, // Your target's ring is already bound to another player.
SPELL_CUSTOM_ERROR_TARGET_IS_NOT_WEARING_THIS_RING = 1014, // Your target is not also wearing this ring.
SPELL_CUSTOM_ERROR_CAN_ONLY_BE_USED_ON_SOCKETABLE_PVP_TWW_ITEMS = 1015, // Can only be used on socket eligible PvP items from the War Within expansion.
SPELL_CUSTOM_ERROR_HARVESTBOTS_ALREADY_ACTIVE = 1016, // Harvestbots already active.
SPELL_CUSTOM_ERROR_AIRSHIP_DAUNTLESS_IS_ALREADY_ACTIVE = 1017, // The Airship Dauntless is already active.
SPELL_CUSTOM_ERROR_CANNOT_SWAP_SPELLS_ON_COOLDOWN_IN_COMBAT = 1026, // You cannot swap spells on cooldown while in combat.
SPELL_CUSTOM_ERROR_MUST_EQUIP_CLOAK_OF_INFINITE_POTENTIAL = 1027, // You must first equip the Cloak of Infinite Potential.
SPELL_CUSTOM_ERROR_INSUFFICIENT_BRONZE = 1028, // You have insufficient Bronze to make this trade.
SPELL_CUSTOM_ERROR_REQUIRES_SKYRIDING = 1029, // Requires Skyriding
SPELL_CUSTOM_ERROR_YOU_ALREADY_OVERLOADED_THIS_GATHERING_NODE = 1030, // You have already overloaded this gathering node.
SPELL_CUSTOM_ERROR_YOU_DONT_KNOW_HOW_TO_OVERLOAD_THIS_NODE = 1031, // You do not know how to Overload this gathering node.
SPELL_CUSTOM_ERROR_TIMERUNNERS_CANNOT_TELEPORT_OUT_OF_PANDARIA = 1032, // Timerunners cannot teleport outside of Pandaria.
SPELL_CUSTOM_ERROR_SPECIALIZE_FURTHER_FOR_THESE_NOTES = 1033, // Specialize further or improve your hasty handwriting to make sense of these notes.
SPELL_CUSTOM_ERROR_THERE_IS_NOTHING_LEFT_TO_INVENT = 1034, // There is nothing left to invent and you cannot be convinced otherwise.
SPELL_CUSTOM_ERROR_PLAYER_IN_PARTY_DOESNT_HAVE_THIS_TIER_UNLOCKED = 1035, // A player in your party does not have this tier unlocked
SPELL_CUSTOM_ERROR_YOU_DONT_HAVE_ANY_RADIANT_ECHOES = 1036, // You don't have any Radiant Echoes.
SPELL_CUSTOM_ERROR_REQUIRES_TWW_PATHFINDER_UNLOCKED = 1037, // Requires The War Within Pathfinder Unlocked to use in this area.
SPELL_CUSTOM_ERROR_YOU_DO_NOT_OWN_THAT_MOUNT = 1038, // You do not own that mount.
SPELL_CUSTOM_ERROR_CAN_ONLY_BE_USED_WHILE_IN_COMBAT = 1039, // Can only be used while in combat.
SPELL_CUSTOM_ERROR_NOT_HIGH_ENOUGH_LEVEL_TO_ENTER_A_DELVE = 1040, // You are not high enough level to enter a Delve.
SPELL_CUSTOM_ERROR_WONDROUS_WISDOMBALL_IS_NONRESPONSIVE = 1041, // For some reason the Wondrous Wisdomball is nonresponsive.
SPELL_CUSTOM_ERROR_YOU_ALREADY_HAVE_THIS_CURIO_IN_YOUR_COLLECTION = 1042, // You already have this curio in your collection.
SPELL_CUSTOM_ERROR_ALREADY_HAVE_IDENTIFIED_PROTOTYPE = 1043, // You must choose what to do with your current prototype before identifying new ones.
SPELL_CUSTOM_ERROR_YOU_ALREADY_USED_KHAZ_ALGAR_CONTRACT = 1044, // You have already used a Khaz Algar Contract this week.
SPELL_CUSTOM_ERROR_LOCKED = 1045, // Locked.
SPELL_CUSTOM_ERROR_MARKSMANSHIP_HUNTERS_CANNOT_USE_CALL_PET = 1050, // Marksmanship Hunters cannot use Call Pet.
SPELL_CUSTOM_ERROR_YOU_ALREADY_REVEALED_ALL_TODAY_PACT_LOCATIONS = 1051, // You have revealed or completed all of today's Pact locations.
SPELL_CUSTOM_ERROR_YOU_HAVE_NO_BLACKSTEEL_CANNONBALLS = 1052, // You have no Blacksteel Cannonballs
SPELL_CUSTOM_ERROR_TIMERUNNERS_CANNOT_CAST_THIS_SPELL = 1053, // Timerunners cannot cast this spell.
SPELL_CUSTOM_ERROR_THAT_CANT_BE_USED_HERE = 1054, // That can't be used here.
SPELL_CUSTOM_ERROR_YOU_ARE_NOT_YET_ELIGIBLE_TO_USE_THIS_ITEM = 1056, // You are not yet eligible to use this item.
SPELL_CUSTOM_ERROR_REQUIRES_SHADOWFORGE_TORCH = 1057, // Lighting the Shadowforge Brazier requires a Shadowforge Torch.
SPELL_CUSTOM_ERROR_THIS_SHADOWFORGE_BRAZIER_IS_ALREADY_BURNING = 1058, // This Shadowforge Brazier is already burning.
SPELL_CUSTOM_ERROR_FULL_BAGS = 1059, // Full Bags
SPELL_CUSTOM_ERROR_YOU_MUST_BE_A_RAT_TO_PASS_THROUGH_HERE = 1060, // You must be a rat to pass through here.
SPELL_CUSTOM_ERROR_YOUR_HANDS_ARE_FULL = 1061, // Your hands are full.
SPELL_CUSTOM_ERROR_MUST_REACH_EMPOWERED_RESTORATION_STONE = 1064, // Must reach Empowered Restoration Stone.
SPELL_CUSTOM_ERROR_CANT_DO_THIS_NOW = 1066, // Can't do this now.
SPELL_CUSTOM_ERROR_NO_ELIGIBLE_BOUNTIFUL_DELVES = 1067, // No eligible bountiful delves.
SPELL_CUSTOM_ERROR_ONLY_A_ROGUE_COULD_PICK_THIS_LOCK = 1068, // Only a rogue could pick this lock.
SPELL_CUSTOM_ERROR_THE_MEGA_MAGNET_MUST_BE_CHARGED_FIRST = 1070, // The Mega Magnet must be charged first!
SPELL_CUSTOM_ERROR_MUST_TARGET_ELIGIBLE_HEAD_CHEST_OR_LEG_SET_ITEM = 1071, // Must target an eligible head, chest, or leg class set item.
SPELL_CUSTOM_ERROR_MUST_TARGET_ELIGIBLE_SHOULDER_OR_HAND_SET_ITEM = 1072, // Must target an eligible shoulder or hand class set item.
SPELL_CUSTOM_ERROR_CANNOT_MOUNT_WHILE_DISGUISED = 1074, // Cannot mount while disguised.
SPELL_CUSTOM_ERROR_YOUR_TARGET_IS_PROTECTED_BY_DARKFUSE_MEDICHOPPER = 1075, // Your target is already protected by a Darkfuse Medichopper.
SPELL_CUSTOM_ERROR_THIS_EMBLEM_HAS_NO_MAGIC_STORED = 2001, // The emblem has no magic stored.
SPELL_CUSTOM_ERROR_YOU_MUST_BE_IN_VISAGE_FORM = 2222, // You must be in visage form to do this.
SPELL_CUSTOM_ERROR_A_TRIAL_IS_BEING_UNDERGONE_NEARBY = 2223, // A Trial is already being undergone nearby.
SPELL_CUSTOM_ERROR_YOU_CANNOT_USE_VANTUS_RUNE_IN_STORY_MODE = 2224, // You cannot use a Vantus Rune in Story Mode.
SPELL_CUSTOM_ERROR_TOO_CLOSE_TO_ANOTHER_MOLTEN_RITUAL = 2424, // You can't begin a molten ritual this close to another one.
SPELL_CUSTOM_ERROR_EARTHEN_CANNOT_CONSUME_REGULAR_FOOD_OR_DRINK = 2425, // Earthen cannot consume traditional food or drink.
SPELL_CUSTOM_ERROR_BARRIER_PROTECTS_THE_AMPLIFIER_FROM_LOSING_POWER = 2427, // A barrier protects the amplifier from losing power.
};
enum StealthType
{
STEALTH_GENERAL = 0,
STEALTH_TRAP = 1,
TOTAL_STEALTH_TYPES = 2
};
enum InvisibilityType
{
INVISIBILITY_GENERAL = 0,
INVISIBILITY_UNK1 = 1,
INVISIBILITY_UNK2 = 2,
INVISIBILITY_TRAP = 3,
INVISIBILITY_UNK4 = 4,
INVISIBILITY_UNK5 = 5,
INVISIBILITY_DRUNK = 6,
INVISIBILITY_QUEST_ZONE_SPECIFIC_1 = 7,
INVISIBILITY_QUEST_ZONE_SPECIFIC_2 = 8,
INVISIBILITY_QUEST_ZONE_SPECIFIC_3 = 9,
INVISIBILITY_UNK10 = 10,
INVISIBILITY_UNK11 = 11,
INVISIBILITY_QUEST_ZONE_SPECIFIC_4 = 12,
INVISIBILITY_QUEST_ZONE_SPECIFIC_5 = 13,
INVISIBILITY_QUEST_ZONE_SPECIFIC_6 = 14,
INVISIBILITY_QUEST_ZONE_SPECIFIC_7 = 15,
INVISIBILITY_QUEST_ZONE_SPECIFIC_8 = 16,
INVISIBILITY_QUEST_ZONE_SPECIFIC_9 = 17,
INVISIBILITY_QUEST_ZONE_SPECIFIC_10 = 18,
INVISIBILITY_QUEST_ZONE_SPECIFIC_11 = 19,
INVISIBILITY_QUEST_ZONE_SPECIFIC_12 = 20,
INVISIBILITY_QUEST_ZONE_SPECIFIC_13 = 21,
INVISIBILITY_QUEST_ZONE_SPECIFIC_14 = 22,
INVISIBILITY_QUEST_ZONE_SPECIFIC_15 = 23,
INVISIBILITY_QUEST_ZONE_SPECIFIC_16 = 24,
INVISIBILITY_QUEST_ZONE_SPECIFIC_17 = 25,
INVISIBILITY_QUEST_ZONE_SPECIFIC_18 = 26,
INVISIBILITY_QUEST_ZONE_SPECIFIC_19 = 27,
INVISIBILITY_QUEST_ZONE_SPECIFIC_20 = 28,
INVISIBILITY_QUEST_ZONE_SPECIFIC_21 = 29,
INVISIBILITY_QUEST_ZONE_SPECIFIC_22 = 30,
INVISIBILITY_QUEST_ZONE_SPECIFIC_23 = 31,
INVISIBILITY_QUEST_ZONE_SPECIFIC_24 = 32,
INVISIBILITY_QUEST_ZONE_SPECIFIC_25 = 33,
INVISIBILITY_QUEST_ZONE_SPECIFIC_26 = 34,
INVISIBILITY_QUEST_ZONE_SPECIFIC_27 = 35,
INVISIBILITY_QUEST_ZONE_SPECIFIC_28 = 36,
INVISIBILITY_QUEST_ZONE_SPECIFIC_29 = 37,
TOTAL_INVISIBILITY_TYPES = 38
};
enum ServerSideVisibilityType
{
SERVERSIDE_VISIBILITY_GM = 0,
SERVERSIDE_VISIBILITY_GHOST = 1,
TOTAL_SERVERSIDE_VISIBILITY_TYPES = 2
};
enum GhostVisibilityType
{
GHOST_VISIBILITY_ALIVE = 0x1,
GHOST_VISIBILITY_GHOST = 0x2
};
// Spell aura states
// EnumUtils: DESCRIBE THIS
enum AuraStateType
{ // (C) used in caster aura state (T) used in target aura state
// (c) used in caster aura state-not (t) used in target aura state-not
AURA_STATE_NONE = 0, // C |
AURA_STATE_DEFENSIVE = 1, // CcTt|
AURA_STATE_WOUNDED_20_PERCENT = 2, // CcT |
AURA_STATE_UNBALANCED = 3, // CcT | NYI
AURA_STATE_FROZEN = 4, // c t|
AURA_STATE_MARKED = 5, // C t| NYI
AURA_STATE_WOUNDED_25_PERCENT = 6, // T |
AURA_STATE_DEFENSIVE_2 = 7, // Cc | NYI
AURA_STATE_BANISHED = 8, // c |
AURA_STATE_DAZED = 9, // t|
AURA_STATE_VICTORIOUS = 10, // C |
AURA_STATE_RAMPAGE = 11, // | NYI
AURA_STATE_FAERIE_FIRE = 12, // c t|
AURA_STATE_WOUNDED_35_PERCENT = 13, // CcT |
AURA_STATE_RAID_ENCOUNTER_2 = 14, // cT |
AURA_STATE_DRUID_PERIODIC_HEAL = 15, // T |
AURA_STATE_ROGUE_POISONED = 16, // |
AURA_STATE_ENRAGED = 17, // C |
AURA_STATE_BLEED = 18, // T |
AURA_STATE_VULNERABLE = 19, // | NYI
AURA_STATE_ARENA_PREPARATION = 20, // c |
AURA_STATE_WOUND_HEALTH_20_80 = 21, // T |
AURA_STATE_RAID_ENCOUNTER = 22, // CcTt|
AURA_STATE_HEALTHY_75_PERCENT = 23, // C |
AURA_STATE_WOUND_HEALTH_35_80 = 24, // T |
AURA_STATE_WOUNDED_50_PERCENT = 25 // C T |
};
#define PER_CASTER_AURA_STATE_MASK (\
(1<<(AURA_STATE_RAID_ENCOUNTER_2-1))|(1<<(AURA_STATE_ROGUE_POISONED-1)))
// Spell mechanics
// EnumUtils: DESCRIBE THIS
enum Mechanics : uint32
{
MECHANIC_NONE = 0,
MECHANIC_CHARM = 1,
MECHANIC_DISORIENTED = 2,
MECHANIC_DISARM = 3,
MECHANIC_DISTRACT = 4,
MECHANIC_FEAR = 5,
MECHANIC_GRIP = 6,
MECHANIC_ROOT = 7,
MECHANIC_SLOW_ATTACK = 8,
MECHANIC_SILENCE = 9,
MECHANIC_SLEEP = 10,
MECHANIC_SNARE = 11,
MECHANIC_STUN = 12,
MECHANIC_FREEZE = 13,
MECHANIC_KNOCKOUT = 14,
MECHANIC_BLEED = 15,
MECHANIC_BANDAGE = 16,
MECHANIC_POLYMORPH = 17,
MECHANIC_BANISH = 18,
MECHANIC_SHIELD = 19,
MECHANIC_SHACKLE = 20,
MECHANIC_MOUNT = 21,
MECHANIC_INFECTED = 22,
MECHANIC_TURN = 23,
MECHANIC_HORROR = 24,
MECHANIC_INVULNERABILITY = 25,
MECHANIC_INTERRUPT = 26,
MECHANIC_DAZE = 27,
MECHANIC_DISCOVERY = 28,
MECHANIC_IMMUNE_SHIELD = 29, // Divine (Blessing) Shield/Protection and Ice Block
MECHANIC_SAPPED = 30,
MECHANIC_ENRAGED = 31,
MECHANIC_WOUNDED = 32,
MECHANIC_INFECTED_2 = 33,
MECHANIC_INFECTED_3 = 34,
MECHANIC_INFECTED_4 = 35,
MECHANIC_TAUNTED = 36,
MAX_MECHANIC = 37 // SKIP
};
// Used for spell 42292 Immune Movement Impairment and Loss of Control (0x49967ca6)
inline constexpr uint64 IMMUNE_TO_MOVEMENT_IMPAIRMENT_AND_LOSS_CONTROL_MASK(\
(1 << MECHANIC_CHARM) | (1 << MECHANIC_DISORIENTED) | (1 << MECHANIC_FEAR) | \
(1 << MECHANIC_ROOT) | (1 << MECHANIC_SLEEP) | (1 << MECHANIC_SNARE) | \
(1 << MECHANIC_STUN) | (1 << MECHANIC_FREEZE) | (1 << MECHANIC_SILENCE) | (1 << MECHANIC_DISARM) | (1 << MECHANIC_KNOCKOUT) | \
(1 << MECHANIC_POLYMORPH) | (1 << MECHANIC_BANISH) | (1 << MECHANIC_SHACKLE) | \
(1 << MECHANIC_TURN) | (1 << MECHANIC_HORROR) | (1 << MECHANIC_DAZE) | \
(1 << MECHANIC_SAPPED));
// Spell dispel type
enum DispelType
{
DISPEL_NONE = 0,
DISPEL_MAGIC = 1,
DISPEL_CURSE = 2,
DISPEL_DISEASE = 3,
DISPEL_POISON = 4,
DISPEL_STEALTH = 5,
DISPEL_INVISIBILITY = 6,
DISPEL_ALL = 7,
DISPEL_SPE_NPC_ONLY = 8,
DISPEL_ENRAGE = 9,
DISPEL_ZG_TICKET = 10,
DESPEL_OLD_UNUSED = 11,
DISPEL_MAX
};
#define DISPEL_ALL_MASK ((1<(only this effect in the spell) can't cast to it,
//some aura(related to Mechanics or ImmuneToState) can't apply to it.
enum SpellImmunity
{
IMMUNITY_EFFECT = 0, // enum SpellEffects
IMMUNITY_STATE = 1, // enum AuraType
IMMUNITY_SCHOOL = 2, // enum SpellSchoolMask
IMMUNITY_DAMAGE = 3, // enum SpellSchoolMask
IMMUNITY_DISPEL = 4, // enum DispelType
IMMUNITY_MECHANIC = 5, // enum Mechanics
IMMUNITY_ID = 6,
IMMUNITY_OTHER = 7, // enum SpellOtherImmunity
MAX_SPELL_IMMUNITY
};
// target enum name consist of:
// TARGET_[OBJECT_TYPE]_[REFERENCE_TYPE(skipped for caster)]_[SELECTION_TYPE(skipped for default)]_[additional specifiers(friendly, BACK_LEFT, etc.]
enum Targets
{
TARGET_UNIT_CASTER = 1,
TARGET_UNIT_NEARBY_ENEMY = 2,
TARGET_UNIT_NEARBY_ALLY = 3,
TARGET_UNIT_NEARBY_PARTY = 4,
TARGET_UNIT_PET = 5,
TARGET_UNIT_TARGET_ENEMY = 6,
TARGET_UNIT_SRC_AREA_ENTRY = 7,
TARGET_UNIT_DEST_AREA_ENTRY = 8,
TARGET_DEST_HOME = 9,
TARGET_UNIT_SRC_AREA_UNK_11 = 11,
TARGET_UNIT_SRC_AREA_ENEMY = 15,
TARGET_UNIT_DEST_AREA_ENEMY = 16,
TARGET_DEST_DB = 17,
TARGET_DEST_CASTER = 18,
TARGET_UNIT_CASTER_AREA_PARTY = 20,
TARGET_UNIT_TARGET_ALLY = 21,
TARGET_SRC_CASTER = 22,
TARGET_GAMEOBJECT_TARGET = 23,
TARGET_UNIT_CONE_ENEMY_24 = 24,
TARGET_UNIT_TARGET_ANY = 25,
TARGET_GAMEOBJECT_ITEM_TARGET = 26,
TARGET_UNIT_MASTER = 27,
TARGET_DEST_DYNOBJ_ENEMY = 28,
TARGET_DEST_DYNOBJ_ALLY = 29,
TARGET_UNIT_SRC_AREA_ALLY = 30,
TARGET_UNIT_DEST_AREA_ALLY = 31,
TARGET_DEST_CASTER_SUMMON = 32, // front left, doesn't use radius
TARGET_UNIT_SRC_AREA_PARTY = 33,
TARGET_UNIT_DEST_AREA_PARTY = 34,
TARGET_UNIT_TARGET_PARTY = 35,
TARGET_DEST_CASTER_UNK_36 = 36,
TARGET_UNIT_LASTTARGET_AREA_PARTY = 37,
TARGET_UNIT_NEARBY_ENTRY = 38,
TARGET_DEST_CASTER_FISHING = 39,
TARGET_GAMEOBJECT_NEARBY_ENTRY = 40,
TARGET_DEST_CASTER_FRONT_RIGHT = 41,
TARGET_DEST_CASTER_BACK_RIGHT = 42,
TARGET_DEST_CASTER_BACK_LEFT = 43,
TARGET_DEST_CASTER_FRONT_LEFT = 44,
TARGET_UNIT_TARGET_CHAINHEAL_ALLY = 45,
TARGET_DEST_NEARBY_ENTRY = 46,
TARGET_DEST_CASTER_FRONT = 47,
TARGET_DEST_CASTER_BACK = 48,
TARGET_DEST_CASTER_RIGHT = 49,
TARGET_DEST_CASTER_LEFT = 50,
TARGET_GAMEOBJECT_SRC_AREA = 51,
TARGET_GAMEOBJECT_DEST_AREA = 52,
TARGET_DEST_TARGET_ENEMY = 53,
TARGET_UNIT_CONE_180_DEG_ENEMY = 54, // Defaults to 180 if ConeDegrees is not set
TARGET_DEST_CASTER_FRONT_LEAP = 55, // for a leap spell
TARGET_UNIT_CASTER_AREA_RAID = 56,
TARGET_UNIT_TARGET_RAID = 57,
TARGET_UNIT_NEARBY_RAID = 58,
TARGET_UNIT_CONE_ALLY = 59,
TARGET_UNIT_CONE_ENTRY = 60,
TARGET_UNIT_TARGET_AREA_RAID_CLASS = 61,
TARGET_DEST_CASTER_GROUND = 62,
TARGET_DEST_TARGET_ANY = 63,
TARGET_DEST_TARGET_FRONT = 64,
TARGET_DEST_TARGET_BACK = 65,
TARGET_DEST_TARGET_RIGHT = 66,
TARGET_DEST_TARGET_LEFT = 67,
TARGET_DEST_TARGET_FRONT_RIGHT = 68,
TARGET_DEST_TARGET_BACK_RIGHT = 69,
TARGET_DEST_TARGET_BACK_LEFT = 70,
TARGET_DEST_TARGET_FRONT_LEFT = 71,
TARGET_DEST_CASTER_RANDOM = 72,
TARGET_DEST_CASTER_RADIUS = 73,
TARGET_DEST_TARGET_RANDOM = 74,
TARGET_DEST_TARGET_RADIUS = 75,
TARGET_DEST_CHANNEL_TARGET = 76,
TARGET_UNIT_CHANNEL_TARGET = 77,
TARGET_DEST_DEST_FRONT = 78,
TARGET_DEST_DEST_BACK = 79,
TARGET_DEST_DEST_RIGHT = 80,
TARGET_DEST_DEST_LEFT = 81,
TARGET_DEST_DEST_FRONT_RIGHT = 82,
TARGET_DEST_DEST_BACK_RIGHT = 83,
TARGET_DEST_DEST_BACK_LEFT = 84,
TARGET_DEST_DEST_FRONT_LEFT = 85,
TARGET_DEST_DEST_RANDOM = 86,
TARGET_DEST_DEST = 87,
TARGET_DEST_DYNOBJ_NONE = 88,
TARGET_DEST_TRAJ = 89,
TARGET_UNIT_TARGET_MINIPET = 90,
TARGET_DEST_DEST_RADIUS = 91,
TARGET_UNIT_SUMMONER = 92,
TARGET_CORPSE_SRC_AREA_ENEMY = 93, // NYI
TARGET_UNIT_VEHICLE = 94,
TARGET_UNIT_TARGET_PASSENGER = 95,
TARGET_UNIT_PASSENGER_0 = 96,
TARGET_UNIT_PASSENGER_1 = 97,
TARGET_UNIT_PASSENGER_2 = 98,
TARGET_UNIT_PASSENGER_3 = 99,
TARGET_UNIT_PASSENGER_4 = 100,
TARGET_UNIT_PASSENGER_5 = 101,
TARGET_UNIT_PASSENGER_6 = 102,
TARGET_UNIT_PASSENGER_7 = 103,
TARGET_UNIT_CONE_CASTER_TO_DEST_ENEMY = 104,
TARGET_UNIT_CASTER_AND_PASSENGERS = 105,
TARGET_DEST_NEARBY_DB = 106,
TARGET_DEST_NEARBY_ENTRY_2 = 107,
TARGET_GAMEOBJECT_CONE_CASTER_TO_DEST_ENEMY = 108,
TARGET_GAMEOBJECT_CONE_CASTER_TO_DEST_ALLY = 109,
TARGET_UNIT_CONE_CASTER_TO_DEST_ENTRY = 110,
TARGET_UNK_111 = 111, // NYI
TARGET_UNK_112 = 112, // NYI
TARGET_UNK_113 = 113, // NYI
TARGET_UNK_114 = 114, // NYI
TARGET_UNIT_SRC_AREA_FURTHEST_ENEMY = 115,
TARGET_UNIT_AND_DEST_LAST_ENEMY = 116,
TARGET_UNK_117 = 117,
TARGET_UNIT_TARGET_ALLY_OR_RAID = 118, // If target is in your party or raid, all party and raid members will be affected
TARGET_CORPSE_SRC_AREA_RAID = 119,
TARGET_UNIT_CASTER_AND_SUMMONS = 120,
TARGET_CORPSE_TARGET_ALLY = 121,
TARGET_UNIT_AREA_THREAT_LIST = 122, // any unit on threat list
TARGET_UNIT_AREA_TAP_LIST = 123,
TARGET_UNIT_TARGET_TAP_LIST = 124,
TARGET_DEST_CASTER_GROUND_2 = 125,
TARGET_UNIT_CASTER_AREA_ENEMY_CLUMP = 126, // NYI
TARGET_DEST_CASTER_ENEMY_CLUMP_CENTROID = 127, // NYI
TARGET_UNIT_RECT_CASTER_ALLY = 128,
TARGET_UNIT_RECT_CASTER_ENEMY = 129,
TARGET_UNIT_RECT_CASTER = 130,
TARGET_DEST_SUMMONER = 131,
TARGET_DEST_TARGET_ALLY = 132,
TARGET_UNIT_LINE_CASTER_TO_DEST_ALLY = 133,
TARGET_UNIT_LINE_CASTER_TO_DEST_ENEMY = 134,
TARGET_UNIT_LINE_CASTER_TO_DEST = 135,
TARGET_UNIT_CONE_CASTER_TO_DEST_ALLY = 136,
TARGET_DEST_CASTER_MOVEMENT_DIRECTION = 137,
TARGET_DEST_DEST_GROUND = 138,
TARGET_UNK_139 = 139,
TARGET_DEST_CASTER_CLUMP_CENTROID = 140, // NYI
TARGET_UNK_141 = 141,
TARGET_DEST_NEARBY_ENTRY_OR_DB = 142,
TARGET_UNK_143 = 143,
TARGET_UNK_144 = 144,
TARGET_UNK_145 = 145,
TARGET_UNK_146 = 146,
TARGET_UNK_147 = 147,
TARGET_DEST_DEST_TARGET_TOWARDS_CASTER = 148,
TARGET_UNK_149 = 149,
TARGET_UNIT_OWN_CRITTER = 150, // own battle pet from UNIT_FIELD_CRITTER
TARGET_UNK_151 = 151,
TARGET_UNK_152 = 152,
TOTAL_SPELL_TARGETS
};
enum SpellMissInfo : uint8
{
SPELL_MISS_NONE = 0,
SPELL_MISS_MISS = 1,
SPELL_MISS_RESIST = 2,
SPELL_MISS_DODGE = 3,
SPELL_MISS_PARRY = 4,
SPELL_MISS_BLOCK = 5,
SPELL_MISS_EVADE = 6,
SPELL_MISS_IMMUNE = 7,
SPELL_MISS_IMMUNE2 = 8, // one of these 2 is MISS_TEMPIMMUNE
SPELL_MISS_DEFLECT = 9,
SPELL_MISS_ABSORB = 10,
SPELL_MISS_REFLECT = 11
};
enum SpellHitType
{
SPELL_HIT_TYPE_CRIT_DEBUG = 0x01,
SPELL_HIT_TYPE_CRIT = 0x02,
SPELL_HIT_TYPE_HIT_DEBUG = 0x04,
SPELL_HIT_TYPE_SPLIT = 0x08,
SPELL_HIT_TYPE_VICTIM_IS_ATTACKER = 0x10,
SPELL_HIT_TYPE_ATTACK_TABLE_DEBUG = 0x20,
SPELL_HIT_TYPE_UNK = 0x40,
SPELL_HIT_TYPE_NO_ATTACKER = 0x80, // does the same as SPELL_ATTR4_COMBAT_LOG_NO_CASTER
};
// EnumUtils: DESCRIBE THIS
enum SpellDmgClass
{
SPELL_DAMAGE_CLASS_NONE = 0, // TITLE None
SPELL_DAMAGE_CLASS_MAGIC = 1, // TITLE Magic
SPELL_DAMAGE_CLASS_MELEE = 2, // TITLE Melee
SPELL_DAMAGE_CLASS_RANGED = 3 // TITLE Ranged
};
// EnumUtils: DESCRIBE THIS
enum SpellPreventionType
{
SPELL_PREVENTION_TYPE_NONE = 0, // TITLE None
SPELL_PREVENTION_TYPE_SILENCE = 1, // TITLE Silence
SPELL_PREVENTION_TYPE_PACIFY = 2, // TITLE Pacify
SPELL_PREVENTION_TYPE_NO_ACTIONS = 4 // TITLE No actions
};
enum GameobjectTypes : uint8
{
GAMEOBJECT_TYPE_DOOR = 0,
GAMEOBJECT_TYPE_BUTTON = 1,
GAMEOBJECT_TYPE_QUESTGIVER = 2,
GAMEOBJECT_TYPE_CHEST = 3,
GAMEOBJECT_TYPE_BINDER = 4,
GAMEOBJECT_TYPE_GENERIC = 5,
GAMEOBJECT_TYPE_TRAP = 6,
GAMEOBJECT_TYPE_CHAIR = 7,
GAMEOBJECT_TYPE_SPELL_FOCUS = 8,
GAMEOBJECT_TYPE_TEXT = 9,
GAMEOBJECT_TYPE_GOOBER = 10,
GAMEOBJECT_TYPE_TRANSPORT = 11,
GAMEOBJECT_TYPE_AREADAMAGE = 12,
GAMEOBJECT_TYPE_CAMERA = 13,
GAMEOBJECT_TYPE_MAP_OBJECT = 14,
GAMEOBJECT_TYPE_MAP_OBJ_TRANSPORT = 15,
GAMEOBJECT_TYPE_DUEL_ARBITER = 16,
GAMEOBJECT_TYPE_FISHINGNODE = 17,
GAMEOBJECT_TYPE_RITUAL = 18,
GAMEOBJECT_TYPE_MAILBOX = 19,
GAMEOBJECT_TYPE_DO_NOT_USE = 20,
GAMEOBJECT_TYPE_GUARDPOST = 21,
GAMEOBJECT_TYPE_SPELLCASTER = 22,
GAMEOBJECT_TYPE_MEETINGSTONE = 23,
GAMEOBJECT_TYPE_FLAGSTAND = 24,
GAMEOBJECT_TYPE_FISHINGHOLE = 25,
GAMEOBJECT_TYPE_FLAGDROP = 26,
GAMEOBJECT_TYPE_MINI_GAME = 27,
GAMEOBJECT_TYPE_DO_NOT_USE_2 = 28,
GAMEOBJECT_TYPE_CONTROL_ZONE = 29,
GAMEOBJECT_TYPE_AURA_GENERATOR = 30,
GAMEOBJECT_TYPE_DUNGEON_DIFFICULTY = 31,
GAMEOBJECT_TYPE_BARBER_CHAIR = 32,
GAMEOBJECT_TYPE_DESTRUCTIBLE_BUILDING = 33,
GAMEOBJECT_TYPE_GUILD_BANK = 34,
GAMEOBJECT_TYPE_TRAPDOOR = 35,
GAMEOBJECT_TYPE_NEW_FLAG = 36,
GAMEOBJECT_TYPE_NEW_FLAG_DROP = 37,
GAMEOBJECT_TYPE_GARRISON_BUILDING = 38,
GAMEOBJECT_TYPE_GARRISON_PLOT = 39,
GAMEOBJECT_TYPE_CLIENT_CREATURE = 40,
GAMEOBJECT_TYPE_CLIENT_ITEM = 41,
GAMEOBJECT_TYPE_CAPTURE_POINT = 42,
GAMEOBJECT_TYPE_PHASEABLE_MO = 43,
GAMEOBJECT_TYPE_GARRISON_MONUMENT = 44,
GAMEOBJECT_TYPE_GARRISON_SHIPMENT = 45,
GAMEOBJECT_TYPE_GARRISON_MONUMENT_PLAQUE = 46,
GAMEOBJECT_TYPE_ITEM_FORGE = 47,
GAMEOBJECT_TYPE_UI_LINK = 48,
GAMEOBJECT_TYPE_KEYSTONE_RECEPTACLE = 49,
GAMEOBJECT_TYPE_GATHERING_NODE = 50,
GAMEOBJECT_TYPE_CHALLENGE_MODE_REWARD = 51,
GAMEOBJECT_TYPE_MULTI = 52,
GAMEOBJECT_TYPE_SIEGEABLE_MULTI = 53,
GAMEOBJECT_TYPE_SIEGEABLE_MO = 54,
GAMEOBJECT_TYPE_PVP_REWARD = 55,
GAMEOBJECT_TYPE_PLAYER_CHOICE_CHEST = 56,
GAMEOBJECT_TYPE_LEGENDARY_FORGE = 57,
GAMEOBJECT_TYPE_GARR_TALENT_TREE = 58,
GAMEOBJECT_TYPE_WEEKLY_REWARD_CHEST = 59,
GAMEOBJECT_TYPE_CLIENT_MODEL = 60,
GAMEOBJECT_TYPE_CRAFTING_TABLE = 61,
GAMEOBJECT_TYPE_PERKS_PROGRAM_CHEST = 62,
GAMEOBJECT_TYPE_FUTURE_PATCH = 63,
GAMEOBJECT_TYPE_ASSIST_ACTION = 64,
};
#define MAX_GAMEOBJECT_TYPE 65 // sending to client this or greater value can crash client.
#define MAX_GAMEOBJECT_DATA 35 // Max number of uint32 vars in gameobject_template data field
enum GameObjectFlags
{
GO_FLAG_IN_USE = 0x00000001, // disables interaction while animated
GO_FLAG_LOCKED = 0x00000002, // require key, spell, event, etc to be opened. Makes "Locked" appear in tooltip
GO_FLAG_INTERACT_COND = 0x00000004, // cannot interact (condition to interact - requires GO_DYNFLAG_LO_ACTIVATE to enable interaction clientside)
GO_FLAG_TRANSPORT = 0x00000008, // any kind of transport? Object can transport (elevator, boat, car)
GO_FLAG_NOT_SELECTABLE = 0x00000010, // not selectable even in GM mode
GO_FLAG_NODESPAWN = 0x00000020, // never despawn, typically for doors, they just change state
GO_FLAG_AI_OBSTACLE = 0x00000040, // makes the client register the object in something called AIObstacleMgr, unknown what it does
GO_FLAG_FREEZE_ANIMATION = 0x00000080,
// for object types GAMEOBJECT_TYPE_GARRISON_BUILDING, GAMEOBJECT_TYPE_GARRISON_PLOT and GAMEOBJECT_TYPE_PHASEABLE_MO flag bits 8 to 12 are used as WMOAreaTable::NameSetID
GO_FLAG_DAMAGED = 0x00000200,
GO_FLAG_DESTROYED = 0x00000400,
GO_FLAG_IGNORE_CURRENT_STATE_FOR_USE_SPELL = 0x00004000, // Allows casting use spell without checking current state (opening open gameobjects, unlocking unlocked gameobjects and closing closed gameobjects)
GO_FLAG_INTERACT_DISTANCE_IGNORES_MODEL = 0x00008000, // Client completely ignores model bounds for interaction distance check
GO_FLAG_IGNORE_CURRENT_STATE_FOR_USE_SPELL_EXCEPT_UNLOCKED = 0x00040000, // Allows casting use spell without checking current state except unlocking unlocked gamobjets (opening open gameobjects and closing closed gameobjects)
GO_FLAG_INTERACT_DISTANCE_USES_TEMPLATE_MODEL = 0x00080000, // client checks interaction distance from model sent in SMSG_QUERY_GAMEOBJECT_RESPONSE instead of GAMEOBJECT_DISPLAYID
GO_FLAG_MAP_OBJECT = 0x00100000, // pre-7.0 model loading used to be controlled by file extension (wmo vs m2)
GO_FLAG_IN_MULTI_USE = 0x00200000, // GO_FLAG_IN_USE equivalent for objects usable by multiple players
GO_FLAG_LOW_PRIORITY_SELECTION = 0x04000000, // client will give lower cursor priority to this object when multiple objects overlap
};
DEFINE_ENUM_FLAG(GameObjectFlags);
enum GameObjectDynamicLowFlags : uint16
{
GO_DYNFLAG_LO_HIDE_MODEL = 0x0002, // Object model is not shown with this flag
GO_DYNFLAG_LO_ACTIVATE = 0x0004, // enables interaction with GO
GO_DYNFLAG_LO_ANIMATE = 0x0008, // possibly more distinct animation of GO
GO_DYNFLAG_LO_DEPLETED = 0x0010, // can no longer be interacted with (and for gathering nodes it forces "open" visual state)
GO_DYNFLAG_LO_SPARKLE = 0x0020, // makes GO sparkle
GO_DYNFLAG_LO_STOPPED = 0x0040, // Transport is stopped
GO_DYNFLAG_LO_NO_INTERACT = 0x0080,
GO_DYNFLAG_LO_INVERTED_MOVEMENT = 0x0100, // GAMEOBJECT_TYPE_TRANSPORT only
GO_DYNFLAG_LO_INTERACT_COND = 0x0200, // Cannot interact (requires GO_DYNFLAG_LO_ACTIVATE to enable interaction clientside)
GO_DYNFLAG_LO_HIGHLIGHT = 0x4000, // Allows object highlight when GO_DYNFLAG_LO_ACTIVATE are set, not only when player is on quest determined by Data fields
GO_DYNFLAG_LO_STATE_TRANSITION_ANIM_DONE = 0x8000, // don't play state transition anim on entering visibility
};
// client side GO show states
enum GOState : uint8
{
GO_STATE_ACTIVE = 0, // show in world as used and not reset (closed door open)
GO_STATE_READY = 1, // show in world as ready (closed door close)
GO_STATE_DESTROYED = 2, // show the object in-game as already used and not yet reset (e.g. door opened by a cannon blast)
GO_STATE_TRANSPORT_ACTIVE = 24,
GO_STATE_TRANSPORT_STOPPED = 25
};
#define MAX_GO_STATE 3
#define MAX_GO_STATE_TRANSPORT_STOP_FRAMES 9
enum GameObjectDestructibleState
{
GO_DESTRUCTIBLE_INTACT = 0,
GO_DESTRUCTIBLE_DAMAGED = 1,
GO_DESTRUCTIBLE_DESTROYED = 2,
GO_DESTRUCTIBLE_REBUILDING = 3
};
// EmotesText.db2 (11.2.5.62687)
enum TextEmotes
{
TEXT_EMOTE_AGREE = 1,
TEXT_EMOTE_AMAZE = 2,
TEXT_EMOTE_ANGRY = 3,
TEXT_EMOTE_APOLOGIZE = 4,
TEXT_EMOTE_APPLAUD = 5,
TEXT_EMOTE_BASHFUL = 6,
TEXT_EMOTE_BECKON = 7,
TEXT_EMOTE_BEG = 8,
TEXT_EMOTE_BITE = 9,
TEXT_EMOTE_BLEED = 10,
TEXT_EMOTE_BLINK = 11,
TEXT_EMOTE_BLUSH = 12,
TEXT_EMOTE_BONK = 13,
TEXT_EMOTE_BORED = 14,
TEXT_EMOTE_BOUNCE = 15,
TEXT_EMOTE_BRB = 16,
TEXT_EMOTE_BOW = 17,
TEXT_EMOTE_BURP = 18,
TEXT_EMOTE_BYE = 19,
TEXT_EMOTE_CACKLE = 20,
TEXT_EMOTE_CHEER = 21,
TEXT_EMOTE_CHICKEN = 22,
TEXT_EMOTE_CHUCKLE = 23,
TEXT_EMOTE_CLAP = 24,
TEXT_EMOTE_CONFUSED = 25,
TEXT_EMOTE_CONGRATULATE = 26,
TEXT_EMOTE_COUGH = 27,
TEXT_EMOTE_COWER = 28,
TEXT_EMOTE_CRACK = 29,
TEXT_EMOTE_CRINGE = 30,
TEXT_EMOTE_CRY = 31,
TEXT_EMOTE_CURIOUS = 32,
TEXT_EMOTE_CURTSEY = 33,
TEXT_EMOTE_DANCE = 34,
TEXT_EMOTE_DRINK = 35,
TEXT_EMOTE_DROOL = 36,
TEXT_EMOTE_EAT = 37,
TEXT_EMOTE_EYE = 38,
TEXT_EMOTE_FART = 39,
TEXT_EMOTE_FIDGET = 40,
TEXT_EMOTE_FLEX = 41,
TEXT_EMOTE_FROWN = 42,
TEXT_EMOTE_GASP = 43,
TEXT_EMOTE_GAZE = 44,
TEXT_EMOTE_GIGGLE = 45,
TEXT_EMOTE_GLARE = 46,
TEXT_EMOTE_GLOAT = 47,
TEXT_EMOTE_GREET = 48,
TEXT_EMOTE_GRIN = 49,
TEXT_EMOTE_GROAN = 50,
TEXT_EMOTE_GROVEL = 51,
TEXT_EMOTE_GUFFAW = 52,
TEXT_EMOTE_HAIL = 53,
TEXT_EMOTE_HAPPY = 54,
TEXT_EMOTE_HELLO = 55,
TEXT_EMOTE_HUG = 56,
TEXT_EMOTE_HUNGRY = 57,
TEXT_EMOTE_KISS = 58,
TEXT_EMOTE_KNEEL = 59,
TEXT_EMOTE_LAUGH = 60,
TEXT_EMOTE_LAYDOWN = 61,
TEXT_EMOTE_MESSAGE = 62,
TEXT_EMOTE_MOAN = 63,
TEXT_EMOTE_MOON = 64,
TEXT_EMOTE_MOURN = 65,
TEXT_EMOTE_NO = 66,
TEXT_EMOTE_NOD = 67,
TEXT_EMOTE_NOSEPICK = 68,
TEXT_EMOTE_PANIC = 69,
TEXT_EMOTE_PEER = 70,
TEXT_EMOTE_PLEAD = 71,
TEXT_EMOTE_POINT = 72,
TEXT_EMOTE_POKE = 73,
TEXT_EMOTE_PRAY = 74,
TEXT_EMOTE_ROAR = 75,
TEXT_EMOTE_ROFL = 76,
TEXT_EMOTE_RUDE = 77,
TEXT_EMOTE_SALUTE = 78,
TEXT_EMOTE_SCRATCH = 79,
TEXT_EMOTE_SEXY = 80,
TEXT_EMOTE_SHAKE = 81,
TEXT_EMOTE_SHOUT = 82,
TEXT_EMOTE_SHRUG = 83,
TEXT_EMOTE_SHY = 84,
TEXT_EMOTE_SIGH = 85,
TEXT_EMOTE_SIT = 86,
TEXT_EMOTE_SLEEP = 87,
TEXT_EMOTE_SNARL = 88,
TEXT_EMOTE_SPIT = 89,
TEXT_EMOTE_STARE = 90,
TEXT_EMOTE_SURPRISED = 91,
TEXT_EMOTE_SURRENDER = 92,
TEXT_EMOTE_TALK = 93,
TEXT_EMOTE_TALKEX = 94,
TEXT_EMOTE_TALKQ = 95,
TEXT_EMOTE_TAP = 96,
TEXT_EMOTE_THANK = 97,
TEXT_EMOTE_THREATEN = 98,
TEXT_EMOTE_TIRED = 99,
TEXT_EMOTE_VICTORY = 100,
TEXT_EMOTE_WAVE = 101,
TEXT_EMOTE_WELCOME = 102,
TEXT_EMOTE_WHINE = 103,
TEXT_EMOTE_WHISTLE = 104,
TEXT_EMOTE_WORK = 105,
TEXT_EMOTE_YAWN = 106,
TEXT_EMOTE_BOGGLE = 107,
TEXT_EMOTE_CALM = 108,
TEXT_EMOTE_COLD = 109,
TEXT_EMOTE_COMFORT = 110,
TEXT_EMOTE_CUDDLE = 111,
TEXT_EMOTE_DUCK = 112,
TEXT_EMOTE_INSULT = 113,
TEXT_EMOTE_INTRODUCE = 114,
TEXT_EMOTE_JK = 115,
TEXT_EMOTE_LICK = 116,
TEXT_EMOTE_LISTEN = 117,
TEXT_EMOTE_LOST = 118,
TEXT_EMOTE_MOCK = 119,
TEXT_EMOTE_PONDER = 120,
TEXT_EMOTE_POUNCE = 121,
TEXT_EMOTE_PRAISE = 122,
TEXT_EMOTE_PURR = 123,
TEXT_EMOTE_PUZZLE = 124,
TEXT_EMOTE_RAISE = 125,
TEXT_EMOTE_READY = 126,
TEXT_EMOTE_SHIMMY = 127,
TEXT_EMOTE_SHIVER = 128,
TEXT_EMOTE_SHOO = 129,
TEXT_EMOTE_SLAP = 130,
TEXT_EMOTE_SMIRK = 131,
TEXT_EMOTE_SNIFF = 132,
TEXT_EMOTE_SNUB = 133,
TEXT_EMOTE_SOOTHE = 134,
TEXT_EMOTE_STINK = 135,
TEXT_EMOTE_TAUNT = 136,
TEXT_EMOTE_TEASE = 137,
TEXT_EMOTE_THIRSTY = 138,
TEXT_EMOTE_VETO = 139,
TEXT_EMOTE_SNICKER = 140,
TEXT_EMOTE_STAND = 141,
TEXT_EMOTE_TICKLE = 142,
TEXT_EMOTE_VIOLIN = 143,
TEXT_EMOTE_SMILE = 163,
TEXT_EMOTE_RASP = 183,
TEXT_EMOTE_PITY = 203,
TEXT_EMOTE_GROWL = 204,
TEXT_EMOTE_BARK = 205,
TEXT_EMOTE_SCARED = 223,
TEXT_EMOTE_FLOP = 224,
TEXT_EMOTE_LOVE = 225,
TEXT_EMOTE_MOO = 226,
TEXT_EMOTE_COMMEND = 243,
TEXT_EMOTE_TRAIN = 264,
TEXT_EMOTE_HELPME = 303,
TEXT_EMOTE_INCOMING = 304,
TEXT_EMOTE_CHARGE = 305,
TEXT_EMOTE_FLEE = 306,
TEXT_EMOTE_ATTACKMYTARGET = 307,
TEXT_EMOTE_OOM = 323,
TEXT_EMOTE_FOLLOW = 324,
TEXT_EMOTE_WAIT = 325,
TEXT_EMOTE_HEALME = 326,
TEXT_EMOTE_OPENFIRE = 327,
TEXT_EMOTE_FLIRT = 328,
TEXT_EMOTE_JOKE = 329,
TEXT_EMOTE_GOLFCLAP = 343,
TEXT_EMOTE_WINK = 363,
TEXT_EMOTE_PAT = 364,
TEXT_EMOTE_SERIOUS = 365,
TEXT_EMOTE_MOUNT_SPECIAL = 366,
TEXT_EMOTE_GOODLUCK = 367,
TEXT_EMOTE_BLAME = 368,
TEXT_EMOTE_BLANK = 369,
TEXT_EMOTE_BRANDISH = 370,
TEXT_EMOTE_BREATH = 371,
TEXT_EMOTE_DISAGREE = 372,
TEXT_EMOTE_DOUBT = 373,
TEXT_EMOTE_EMBARRASS = 374,
TEXT_EMOTE_ENCOURAGE = 375,
TEXT_EMOTE_ENEMY = 376,
TEXT_EMOTE_EYEBROW = 377,
TEXT_EMOTE_TOAST = 378,
TEXT_EMOTE_FAIL = 379,
TEXT_EMOTE_HIGHFIVE = 380,
TEXT_EMOTE_ABSENT = 381,
TEXT_EMOTE_ARM = 382,
TEXT_EMOTE_AWE = 383,
TEXT_EMOTE_BACKPACK = 384,
TEXT_EMOTE_BADFEELING = 385,
TEXT_EMOTE_CHALLENGE = 386,
TEXT_EMOTE_CHUG = 387,
TEXT_EMOTE_DING = 389,
TEXT_EMOTE_FACEPALM = 390,
TEXT_EMOTE_FAINT = 391,
TEXT_EMOTE_GO = 392,
TEXT_EMOTE_GOING = 393,
TEXT_EMOTE_GLOWER = 394,
TEXT_EMOTE_HEADACHE = 395,
TEXT_EMOTE_HICCUP = 396,
TEXT_EMOTE_HISS = 398,
TEXT_EMOTE_HOLDHAND = 399,
TEXT_EMOTE_HURRY = 401,
TEXT_EMOTE_IDEA = 402,
TEXT_EMOTE_JEALOUS = 403,
TEXT_EMOTE_LUCK = 404,
TEXT_EMOTE_MAP = 405,
TEXT_EMOTE_MERCY = 406,
TEXT_EMOTE_MUTTER = 407,
TEXT_EMOTE_NERVOUS = 408,
TEXT_EMOTE_OFFER = 409,
TEXT_EMOTE_PET = 410,
TEXT_EMOTE_PINCH = 411,
TEXT_EMOTE_PROUD = 413,
TEXT_EMOTE_PROMISE = 414,
TEXT_EMOTE_PULSE = 415,
TEXT_EMOTE_PUNCH = 416,
TEXT_EMOTE_POUT = 417,
TEXT_EMOTE_REGRET = 418,
TEXT_EMOTE_REVENGE = 420,
TEXT_EMOTE_ROLLEYES = 421,
TEXT_EMOTE_RUFFLE = 422,
TEXT_EMOTE_SAD = 423,
TEXT_EMOTE_SCOFF = 424,
TEXT_EMOTE_SCOLD = 425,
TEXT_EMOTE_SCOWL = 426,
TEXT_EMOTE_SEARCH = 427,
TEXT_EMOTE_SHAKEFIST = 428,
TEXT_EMOTE_SHIFTY = 429,
TEXT_EMOTE_SHUDDER = 430,
TEXT_EMOTE_SIGNAL = 431,
TEXT_EMOTE_SILENCE = 432,
TEXT_EMOTE_SING = 433,
TEXT_EMOTE_SMACK = 434,
TEXT_EMOTE_SNEAK = 435,
TEXT_EMOTE_SNEEZE = 436,
TEXT_EMOTE_SNORT = 437,
TEXT_EMOTE_SQUEAL = 438,
TEXT_EMOTE_STOPATTACK = 439,
TEXT_EMOTE_SUSPICIOUS = 440,
TEXT_EMOTE_THINK = 441,
TEXT_EMOTE_TRUCE = 442,
TEXT_EMOTE_TWIDDLE = 443,
TEXT_EMOTE_WARN = 444,
TEXT_EMOTE_SNAP = 445,
TEXT_EMOTE_CHARM = 446,
TEXT_EMOTE_COVEREARS = 447,
TEXT_EMOTE_CROSSARMS = 448,
TEXT_EMOTE_LOOK = 449,
TEXT_EMOTE_OBJECT = 450,
TEXT_EMOTE_SWEAT = 451,
TEXT_EMOTE_YW = 453,
TEXT_EMOTE_READ = 456,
TEXT_EMOTE_BOOT = 506,
TEXT_EMOTE_FORTHEALLIANCE = 507,
TEXT_EMOTE_FORTTHEHORDE = 508,
TEXT_EMOTE_WHOA = 517,
TEXT_EMOTE_OOPS = 518,
TEXT_EMOTE_ALLIANCE = 519,
TEXT_EMOTE_HORDE = 520,
TEXT_EMOTE_MEOW = 521,
TEXT_EMOTE_BOOP = 522,
TEXT_EMOTE_WINCE = 623,
TEXT_EMOTE_HUZZAH = 624,
TEXT_EMOTE_IMPRESSED = 625,
TEXT_EMOTE_MAGNIFICENT = 626,
TEXT_EMOTE_QUACK = 627,
TEXT_EMOTE_LEAN = 628,
};
// Emotes.db2 (10.1.5.50232)
// EnumUtils: DESCRIBE THIS
enum Emote : uint32
{
EMOTE_ONESHOT_NONE = 0, // SKIP
EMOTE_ONESHOT_TALK = 1,
EMOTE_ONESHOT_BOW = 2,
EMOTE_ONESHOT_WAVE = 3,
EMOTE_ONESHOT_CHEER = 4,
EMOTE_ONESHOT_EXCLAMATION = 5,
EMOTE_ONESHOT_QUESTION = 6,
EMOTE_ONESHOT_EAT = 7,
EMOTE_STATE_DANCE = 10,
EMOTE_ONESHOT_LAUGH = 11,
EMOTE_STATE_SLEEP = 12,
EMOTE_STATE_SIT = 13,
EMOTE_ONESHOT_RUDE = 14,
EMOTE_ONESHOT_ROAR = 15,
EMOTE_ONESHOT_KNEEL = 16,
EMOTE_ONESHOT_KISS = 17,
EMOTE_ONESHOT_CRY = 18,
EMOTE_ONESHOT_CHICKEN = 19,
EMOTE_ONESHOT_BEG = 20,
EMOTE_ONESHOT_APPLAUD = 21,
EMOTE_ONESHOT_SHOUT = 22,
EMOTE_ONESHOT_FLEX = 23,
EMOTE_ONESHOT_SHY = 24,
EMOTE_ONESHOT_POINT = 25,
EMOTE_STATE_STAND = 26,
EMOTE_STATE_READY_UNARMED = 27,
EMOTE_STATE_WORK_SHEATHED = 28,
EMOTE_STATE_POINT = 29,
EMOTE_STATE_NONE = 30,
EMOTE_ONESHOT_WOUND = 33,
EMOTE_ONESHOT_WOUND_CRITICAL = 34,
EMOTE_ONESHOT_ATTACK_UNARMED = 35,
EMOTE_ONESHOT_ATTACK1H = 36,
EMOTE_ONESHOT_ATTACK2HTIGHT = 37,
EMOTE_ONESHOT_ATTACK2H_LOOSE = 38,
EMOTE_ONESHOT_PARRY_UNARMED = 39,
EMOTE_ONESHOT_PARRY_SHIELD = 43,
EMOTE_ONESHOT_READY_UNARMED = 44,
EMOTE_ONESHOT_READY1H = 45,
EMOTE_ONESHOT_READY_BOW = 48,
EMOTE_ONESHOT_SPELL_PRECAST = 50,
EMOTE_ONESHOT_SPELL_CAST = 51,
EMOTE_ONESHOT_BATTLE_ROAR = 53,
EMOTE_ONESHOT_SPECIALATTACK1H = 54,
EMOTE_ONESHOT_KICK = 60,
EMOTE_ONESHOT_ATTACK_THROWN = 61,
EMOTE_STATE_STUN = 64,
EMOTE_STATE_DEAD = 65,
EMOTE_ONESHOT_SALUTE = 66,
EMOTE_STATE_KNEEL = 68,
EMOTE_STATE_USE_STANDING = 69,
EMOTE_ONESHOT_WAVE_NO_SHEATHE = 70,
EMOTE_ONESHOT_CHEER_NO_SHEATHE = 71,
EMOTE_ONESHOT_EAT_NO_SHEATHE = 92,
EMOTE_STATE_STUN_NO_SHEATHE = 93,
EMOTE_ONESHOT_DANCE = 94,
EMOTE_ONESHOT_SALUTE_NO_SHEATH = 113,
EMOTE_STATE_USE_STANDING_NO_SHEATHE = 133,
EMOTE_ONESHOT_LAUGH_NO_SHEATHE = 153,
EMOTE_STATE_WORK = 173,
EMOTE_STATE_SPELL_PRECAST = 193,
EMOTE_ONESHOT_READY_RIFLE = 213,
EMOTE_STATE_READY_RIFLE = 214,
EMOTE_STATE_WORK_MINING = 233,
EMOTE_STATE_WORK_CHOPWOOD = 234,
EMOTE_STATE_APPLAUD = 253,
EMOTE_ONESHOT_LIFTOFF = 254,
EMOTE_ONESHOT_YES = 273,
EMOTE_ONESHOT_NO = 274,
EMOTE_ONESHOT_TRAIN = 275,
EMOTE_ONESHOT_LAND = 293,
EMOTE_STATE_AT_EASE = 313,
EMOTE_STATE_READY1H = 333,
EMOTE_STATE_SPELL_KNEEL_START = 353,
EMOTE_STATE_SUBMERGED = 373,
EMOTE_ONESHOT_SUBMERGE = 374,
EMOTE_STATE_READY2H = 375,
EMOTE_STATE_READY_BOW = 376,
EMOTE_ONESHOT_MOUNT_SPECIAL = 377,
EMOTE_STATE_TALK = 378,
EMOTE_STATE_FISHING = 379,
EMOTE_ONESHOT_FISHING = 380,
EMOTE_ONESHOT_LOOT = 381,
EMOTE_STATE_WHIRLWIND = 382,
EMOTE_STATE_DROWNED = 383,
EMOTE_STATE_HOLD_BOW = 384,
EMOTE_STATE_HOLD_RIFLE = 385,
EMOTE_STATE_HOLD_THROWN = 386,
EMOTE_ONESHOT_DROWN = 387,
EMOTE_ONESHOT_STOMP = 388,
EMOTE_ONESHOT_ATTACK_OFF = 389,
EMOTE_ONESHOT_ATTACK_OFF_PIERCE = 390,
EMOTE_STATE_ROAR = 391,
EMOTE_STATE_LAUGH = 392,
EMOTE_ONESHOT_CREATURE_SPECIAL = 393,
EMOTE_ONESHOT_JUMPLANDRUN = 394,
EMOTE_ONESHOT_JUMPEND = 395,
EMOTE_ONESHOT_TALK_NO_SHEATHE = 396,
EMOTE_ONESHOT_POINT_NO_SHEATHE = 397,
EMOTE_STATE_CANNIBALIZE = 398,
EMOTE_ONESHOT_JUMPSTART = 399,
EMOTE_STATE_DANCESPECIAL = 400,
EMOTE_ONESHOT_DANCESPECIAL = 401,
EMOTE_ONESHOT_CUSTOM_SPELL_01 = 402,
EMOTE_ONESHOT_CUSTOM_SPELL_02 = 403,
EMOTE_ONESHOT_CUSTOM_SPELL_03 = 404,
EMOTE_ONESHOT_CUSTOM_SPELL_04 = 405,
EMOTE_ONESHOT_CUSTOM_SPELL_05 = 406,
EMOTE_ONESHOT_CUSTOM_SPELL_06 = 407,
EMOTE_ONESHOT_CUSTOM_SPELL_07 = 408,
EMOTE_ONESHOT_CUSTOM_SPELL_08 = 409,
EMOTE_ONESHOT_CUSTOM_SPELL_09 = 410,
EMOTE_ONESHOT_CUSTOM_SPELL_10 = 411,
EMOTE_STATE_EXCLAIM = 412,
EMOTE_STATE_DANCE_CUSTOM = 413,
EMOTE_STATE_SIT_CHAIR_MED = 415,
EMOTE_STATE_CUSTOM_SPELL_01 = 416,
EMOTE_STATE_CUSTOM_SPELL_02 = 417,
EMOTE_STATE_EAT = 418,
EMOTE_STATE_CUSTOM_SPELL_04 = 419,
EMOTE_STATE_CUSTOM_SPELL_03 = 420,
EMOTE_STATE_CUSTOM_SPELL_05 = 421,
EMOTE_STATE_SPELLEFFECT_HOLD = 422,
EMOTE_STATE_EAT_NO_SHEATHE = 423,
EMOTE_STATE_MOUNT = 424,
EMOTE_STATE_READY2HL = 425,
EMOTE_STATE_SIT_CHAIR_HIGH = 426,
EMOTE_STATE_FALL = 427,
EMOTE_STATE_LOOT = 428,
EMOTE_STATE_SUBMERGED_NEW = 429,
EMOTE_ONESHOT_COWER = 430,
EMOTE_STATE_COWER = 431,
EMOTE_ONESHOT_USE_STANDING = 432,
EMOTE_STATE_STEALTH_STAND = 433,
EMOTE_ONESHOT_OMNICAST_GHOUL = 434,
EMOTE_ONESHOT_ATTACK_BOW = 435,
EMOTE_ONESHOT_ATTACK_RIFLE = 436,
EMOTE_STATE_SWIM_IDLE = 437,
EMOTE_STATE_ATTACK_UNARMED = 438,
EMOTE_ONESHOT_SPELL_CAST_W_SOUND = 439,
EMOTE_ONESHOT_DODGE = 440,
EMOTE_ONESHOT_PARRY1H = 441,
EMOTE_ONESHOT_PARRY2H = 442,
EMOTE_ONESHOT_PARRY2HL = 443,
EMOTE_STATE_FLYFALL = 444,
EMOTE_ONESHOT_FLYDEATH = 445,
EMOTE_STATE_FLY_FALL = 446,
EMOTE_ONESHOT_FLY_SIT_GROUND_DOWN = 447,
EMOTE_ONESHOT_FLY_SIT_GROUND_UP = 448,
EMOTE_ONESHOT_EMERGE = 449,
EMOTE_ONESHOT_DRAGON_SPIT = 450,
EMOTE_STATE_SPECIAL_UNARMED = 451,
EMOTE_ONESHOT_FLYGRAB = 452,
EMOTE_STATE_FLYGRABCLOSED = 453,
EMOTE_ONESHOT_FLYGRABTHROWN = 454,
EMOTE_STATE_FLY_SIT_GROUND = 455,
EMOTE_STATE_WALK_BACKWARDS = 456,
EMOTE_ONESHOT_FLYTALK = 457,
EMOTE_ONESHOT_FLYATTACK1H = 458,
EMOTE_STATE_CUSTOM_SPELL_08 = 459,
EMOTE_ONESHOT_FLY_DRAGON_SPIT = 460,
EMOTE_STATE_SIT_CHAIR_LOW = 461,
EMOTE_ONESHOT_STUN = 462,
EMOTE_ONESHOT_SPELL_CAST_OMNI = 463,
EMOTE_STATE_READY_THROWN = 465,
EMOTE_ONESHOT_WORK_CHOPWOOD = 466,
EMOTE_ONESHOT_WORK_MINING = 467,
EMOTE_STATE_SPELL_CHANNEL_OMNI = 468,
EMOTE_STATE_SPELL_CHANNEL_DIRECTED = 469,
EMOTE_STAND_STATE_NONE = 470,
EMOTE_STATE_READYJOUST = 471,
EMOTE_STATE_STRANGULATE = 472,
EMOTE_STATE_STRANGULATE2 = 473,
EMOTE_STATE_READY_SPELL_OMNI = 474,
EMOTE_STATE_HOLD_JOUST = 475,
EMOTE_ONESHOT_CRY_JAINA = 476,
EMOTE_ONESHOT_SPECIAL_UNARMED = 477,
EMOTE_STATE_DANCE_NOSHEATHE = 478,
EMOTE_ONESHOT_SNIFF = 479,
EMOTE_ONESHOT_DRAGONSTOMP = 480,
EMOTE_ONESHOT_KNOCKDOWN = 482,
EMOTE_STATE_READ = 483,
EMOTE_ONESHOT_FLYEMOTETALK = 485,
EMOTE_STATE_READ_ALLOWMOVEMENT = 492,
EMOTE_STATE_CUSTOM_SPELL_06 = 498,
EMOTE_STATE_CUSTOM_SPELL_07 = 499,
EMOTE_STATE_CUSTOM_SPELL_08_2 = 500,
EMOTE_STATE_CUSTOM_SPELL_09 = 501,
EMOTE_STATE_CUSTOM_SPELL_10 = 502,
EMOTE_STATE_READY1H_ALLOW_MOVEMENT = 505,
EMOTE_STATE_READY2H_ALLOW_MOVEMENT = 506,
EMOTE_ONESHOT_MONKOFFENSE_ATTACKUNARMED = 507,
EMOTE_ONESHOT_MONKOFFENSE_SPECIALUNARMED = 508,
EMOTE_ONESHOT_MONKOFFENSE_PARRYUNARMED = 509,
EMOTE_STATE_MONKOFFENSE_READYUNARMED = 510,
EMOTE_ONESHOT_PALMSTRIKE = 511,
EMOTE_STATE_CRANE = 512,
EMOTE_ONESHOT_OPEN = 517,
EMOTE_STATE_READ_CHRISTMAS = 518,
EMOTE_ONESHOT_FLYATTACK2HL = 526,
EMOTE_ONESHOT_FLYATTACKTHROWN = 527,
EMOTE_STATE_FLYREADYSPELLDIRECTED = 528,
EMOTE_STATE_FLY_READY_1H = 531,
EMOTE_STATE_MEDITATE = 533,
EMOTE_STATE_FLY_READY_2HL = 534,
EMOTE_ONESHOT_TOGROUND = 535,
EMOTE_ONESHOT_TOFLY = 536,
EMOTE_STATE_ATTACKTHROWN = 537,
EMOTE_STATE_SPELL_CHANNEL_DIRECTED_NOSOUND = 538,
EMOTE_ONESHOT_WORK = 539,
EMOTE_STATE_READYUNARMED_NOSOUND = 540,
EMOTE_ONESHOT_MONKOFFENSE_ATTACKUNARMEDOFF = 543,
EMOTE_RECLINED_MOUNT_PASSENGER = 546,
EMOTE_ONESHOT_QUESTION_2 = 547,
EMOTE_ONESHOT_SPELL_CHANNEL_DIRECTED_NOSOUND = 549,
EMOTE_STATE_KNEEL_2 = 550,
EMOTE_ONESHOT_FLYATTACKUNARMED = 551,
EMOTE_ONESHOT_FLYCOMBATWOUND = 552,
EMOTE_ONESHOT_MOUNTSELFSPECIAL = 553,
EMOTE_ONESHOT_ATTACKUNARMED_NOSOUND = 554,
EMOTE_STATE_WOUNDCRITICAL_DOESNT_WORK = 555,
EMOTE_ONESHOT_ATTACK1H_NO_SOUND = 556,
EMOTE_STATE_MOUNT_SELF_IDLE = 557,
EMOTE_ONESHOT_WALK = 558,
EMOTE_STATE_OPENED = 559,
EMOTE_STATE_CUSTOMSPELL03 = 564,
EMOTE_ONESHOT_BREATHOFFIRE = 565,
EMOTE_STATE_ATTACK1H = 567,
EMOTE_STATE_WORK_CHOPWOOD_2 = 568,
EMOTE_STATE_USESTANDING_LOOP = 569,
EMOTE_STATE_USESTANDING = 572,
EMOTE_ONESHOT_SHEATH = 573,
EMOTE_ONESHOT_LAUGH_NO_SOUND = 574,
EMOTE_RECLINED_MOUNT = 575,
EMOTE_ONESHOT_ATTACK1H_2 = 577,
EMOTE_STATE_CRY_NOSOUND = 578,
EMOTE_ONESHOT_CRY_NOSOUND = 579,
EMOTE_ONESHOT_COMBATCRITICAL = 584,
EMOTE_STATE_TRAIN = 585,
EMOTE_STATE_WORK_CHOPWOOD_LUMBER_AXE = 586,
EMOTE_ONESHOT_SPECIALATTACK2H = 587,
EMOTE_STATE_READ_AND_TALK = 588,
EMOTE_ONESHOT_STAND_VAR1 = 589,
EMOTE_REXXAR_STRANGLES_GOBLIN = 590,
EMOTE_ONESHOT_STAND_VAR2 = 591,
EMOTE_ONESHOT_DEATH = 592,
EMOTE_STATE_TALKONCE = 595,
EMOTE_STATE_ATTACK2H = 596,
EMOTE_STATE_SIT_GROUND = 598,
EMOTE_STATE_WORK_CHOPWOOD3 = 599,
EMOTE_STATE_CUSTOMSPELL01 = 601,
EMOTE_ONESHOT_COMBATWOUND = 602,
EMOTE_ONESHOT_TALK_EXCLAMATION = 603,
EMOTE_ONESHOT_QUESTION2 = 604,
EMOTE_STATE_CRY = 605,
EMOTE_STATE_USESTANDING_LOOP2 = 606,
EMOTE_STATE_WORK_SMITH = 613,
EMOTE_STATE_WORK_CHOPWOOD4 = 614,
EMOTE_STATE_CUSTOMSPELL02 = 615,
EMOTE_STATE_READ_AND_SIT = 616,
EMOTE_STATE_PARRY_UNARMED = 619,
EMOTE_STATE_BLOCK_SHIELD = 620,
EMOTE_STATE_SIT_GROUND_2 = 621,
EMOTE_ONESHOT_MOUNTSPECIAL = 628,
EMOTE_ONESHOT_SETTLE = 636,
EMOTE_STATE_ATTACK_UNARMED_STILL = 638,
EMOTE_STATE_READ_BOOK_AND_TALK = 641,
EMOTE_ONESHOT_SLAM = 642,
EMOTE_ONESHOT_GRABTHROWN = 643,
EMOTE_ONESHOT_READYSPELLDIRECTED_NOSOUND = 644,
EMOTE_STATE_READYSPELLOMNI_WITH_SOUND = 645,
EMOTE_ONESHOT_TALK_BARSERVER = 646,
EMOTE_ONESHOT_WAVE_BARSERVER = 647,
EMOTE_STATE_WORK_MINING2 = 648,
EMOTE_STATE_READY2HL_ALLOW_MOVEMENT = 654,
EMOTE_STATE_USESTANDING_NOSHEATHE_STILL = 655,
EMOTE_ONESHOT_WORK_STILL = 657,
EMOTE_STATE_HOLD_THROWN_INTERRUPTS = 658,
EMOTE_ONESHOT_CANNIBALIZE = 659,
EMOTE_ONESHOT_NO_NOT_SWIMMING = 661,
EMOTE_STATE_READYGLV = 663,
EMOTE_ONESHOT_COMBATABILITYGLV01 = 664,
EMOTE_ONESHOT_COMBATABILITYGLVOFF01 = 665,
EMOTE_ONESHOT_COMBATABILITYGLVBIG02 = 666,
EMOTE_ONESHOT_PARRYGLV = 667,
EMOTE_STATE_WORK_MINING3 = 668,
EMOTE_ONESHOT_TALK_NOSHEATHE = 669,
EMOTE_ONESHOT_STAND_VAR3 = 671,
EMOTE_STATE_KNEEL2 = 672,
EMOTE_ONESHOT_CUSTOM0 = 673,
EMOTE_ONESHOT_CUSTOM1 = 674,
EMOTE_ONESHOT_CUSTOM2 = 675,
EMOTE_ONESHOT_CUSTOM3 = 676,
EMOTE_STATE_FLY_READY_UNARMED = 677,
EMOTE_ONESHOT_CHEER_FORTHEALLIANCE = 679,
EMOTE_ONESHOT_CHEER_FORTHEHORDE = 680,
EMOTE_ONESHOT_STAND_VAR4 = 690,
EMOTE_ONESHOT_FLYEMOTEEXCLAMATION = 691,
EMOTE_STATE_EMOTEEAT = 700,
EMOTE_STATE_MONKHEAL_CHANNELOMNI = 705,
EMOTE_STATE_MONKDEFENSE_READYUNARMED = 706,
EMOTE_ONESHOT_STAND = 707,
EMOTE_STATE_WAPOURHOLD = 709,
EMOTE_STATE_READYBLOWDART = 710,
EMOTE_STATE_WORK_CHOPMEAT = 711,
EMOTE_STATE_MONK2HLIDLE = 712,
EMOTE_STATE_WAPERCH = 713,
EMOTE_STATE_WAGUARDSTAND01 = 714,
EMOTE_STATE_READ_AND_SIT_CHAIR_MED = 715,
EMOTE_STATE_WAGUARDSTAND02 = 716,
EMOTE_STATE_WAGUARDSTAND03 = 717,
EMOTE_STATE_WAGUARDSTAND04 = 718,
EMOTE_STATE_WACHANT02 = 719,
EMOTE_STATE_WALEAN01 = 720,
EMOTE_STATE_DRUNKWALK = 721,
EMOTE_STATE_WASCRUBBING = 722,
EMOTE_STATE_WACHANT01 = 723,
EMOTE_STATE_WACHANT03 = 724,
EMOTE_STATE_WASUMMON01 = 725,
EMOTE_STATE_WATRANCE01 = 726,
EMOTE_STATE_CUSTOMSPELL05 = 727,
EMOTE_STATE_WAHAMMERLOOP = 728,
EMOTE_STATE_WABOUND01 = 729,
EMOTE_STATE_WABOUND02 = 730,
EMOTE_STATE_WASACKHOLD = 731,
EMOTE_STATE_WASIT01 = 732,
EMOTE_STATE_WAROWINGSTANDLEFT = 733,
EMOTE_STATE_WAROWINGSTANDRIGHT = 734,
EMOTE_STATE_LOOT_BITE_SOUND = 735,
EMOTE_ONESHOT_WASUMMON01 = 736,
EMOTE_ONESHOT_STAND_VAR2_2 = 737,
EMOTE_ONESHOT_FALCONEER_START = 738,
EMOTE_STATE_FALCONEER_LOOP = 739,
EMOTE_ONESHOT_FALCONEER_END = 740,
EMOTE_STATE_WAPERCH_NOINTERACT = 741,
EMOTE_ONESHOT_WASTANDDRINK = 742,
EMOTE_STATE_WALEAN02 = 743,
EMOTE_ONESHOT_READ_END = 744,
EMOTE_STATE_WAGUARDSTAND04_ALLOW_MOVEMENT = 745,
EMOTE_STATE_READYCROSSBOW = 747,
EMOTE_ONESHOT_WASTANDDRINK_NOSHEATH = 748,
EMOTE_STATE_WAHANG01 = 749,
EMOTE_STATE_WABEGGARSTAND = 750,
EMOTE_STATE_WADRUNKSTAND = 751,
EMOTE_ONESHOT_WACRIERTALK = 753,
EMOTE_STATE_HOLD_CROSSBOW = 754,
EMOTE_STATE_WASIT02 = 757,
EMOTE_STATE_WACRANKSTAND = 761,
EMOTE_ONESHOT_READ_START = 762,
EMOTE_ONESHOT_READ_LOOP = 763,
EMOTE_ONESHOT_WADRUNKDRINK = 765,
EMOTE_STATE_SIT_CHAIR_MED_EAT = 766,
EMOTE_STATE_KNEEL_COPY = 867,
EMOTE_STATE_WORK_CHOPMEAT_NOSHEATHE = 868,
EMOTE_ONESHOT_BARPATRON_POINT = 870,
EMOTE_STATE_STAND_NOSOUND = 871,
EMOTE_STATE_MOUNT_FLIGHT_IDLE_NOSOUND = 872,
EMOTE_STATE_USESTANDING_LOOP3 = 873,
EMOTE_ONESHOT_VEHICLEGRAB = 874,
EMOTE_STATE_USESTANDING_LOOP4 = 875,
EMOTE_STATE_BARPATRON_STAND = 876,
EMOTE_ONESHOT_WABEGGARPOINT = 877,
EMOTE_STATE_WACRIERSTAND01 = 878,
EMOTE_ONESHOT_WABEGGARBEG = 879,
EMOTE_STATE_WABOATWHEELSTAND = 880,
EMOTE_STATE_WASIT03 = 882,
EMOTE_STATE_BARSWEEP_STAND = 883,
EMOTE_STATE_WAGUARDSTAND05 = 884,
EMOTE_STATE_WAGUARDSTAND06 = 885,
EMOTE_STATE_BARTENDSTAND = 886,
EMOTE_STATE_WAHAMMERLOOP2 = 887,
// EMOTE_STAND_STATE_STATE_READYTHROWN = 890, //< Doesn't work
EMOTE_STATE_WORK_MINING_NO_COMBAT = 893,
EMOTE_ONESHOT_CASTSTRONG = 894,
EMOTE_STATE_CUSTOMSPELL07 = 895,
EMOTE_STATE_WALK = 897,
EMOTE_ONESHOT_CLOSE = 898,
EMOTE_STATE_WACRATEHOLD = 900,
EMOTE_STATE_FLYCUSTOMSPELL02 = 901,
EMOTE_ONESHOT_SLEEP = 902,
EMOTE_STATE_STAND_SETEMOTESTATE = 903,
EMOTE_ONESHOT_WAWALKTALK = 904,
EMOTE_ONESHOT_TAKE_OFF_FINISH = 905,
EMOTE_ONESHOT_ATTACK2H = 906,
EMOTE_STATE_WA_BARREL_HOLD = 908,
EMOTE_STATE_WA_BARREL_WALK = 909,
EMOTE_STATE_CUSTOMSPELL04 = 910,
EMOTE_STATE_FLYWAPERCH01 = 912,
EMOTE_ONESHOT_PALSPELLCAST1HUP = 916,
EMOTE_ONESHOT_READYSPELLOMNI = 917,
EMOTE_ONESHOT_SPELLCAST_DIRECTED = 961,
EMOTE_STATE_FLYCUSTOMSPELL07 = 977,
EMOTE_STATE_FLYCHANNELCASTOMNI = 978,
EMOTE_STATE_CLOSED = 979,
EMOTE_STATE_CUSTOMSPELL10 = 980,
EMOTE_STATE_WAWHEELBARROWSTAND = 981,
EMOTE_STATE_CUSTOMSPELL06 = 982,
EMOTE_STATE_CUSTOM1 = 983,
EMOTE_STATE_WASIT04 = 986,
EMOTE_ONESHOT_BARSWEEP_STAND = 987,
EMOTE_TORGHAST_TALKING_HEAD_MAW_CAST_SOUND = 989,
EMOTE_TORGHAST_TALKING_HEAD_MAW_CAST_SOUND2 = 990,
EMOTE_ONESHOT_STAND_VAR0 = 991,
EMOTE_ONESHOT_FLYCUSTOMSPELL01 = 992,
EMOTE_ONESHOT_SPELLEFFECT_DECAY = 993,
EMOTE_STATE_CREATURE_SPECIAL = 994,
EMOTE_ONESHOT_WAREACT01 = 1001,
EMOTE_ONESHOT_FLYCUSTOMSPELL04 = 1004,
EMOTE_ONESHOT_TALK_SUBDUED = 1005,
EMOTE_STATE_EMOTETALK = 1006,
EMOTE_STATE_WAINTERACTION = 1007,
EMOTE_ONESHOT_TAKE_OFF_START = 1009,
EMOTE_ONESHOT_BATTLEROAR_NO_SOUND = 1010,
EMOTE_STATE_WAWEAPONSHARPEN = 1011,
EMOTE_ONESHOT_ROLLSTART = 1012,
EMOTE_ONESHOT_ROLLEND = 1013,
EMOTE_ONESHOT_WAREACT02 = 1014,
EMOTE_ONESHOT_WATHREATEN = 1015,
EMOTE_ARTOFFLOOP = 1016,
EMOTE_STATE_READYSPELLOMNI_NOSHEATH = 1017,
EMOTE_ONESHOT_ATTACKUNARMED_VAR1 = 1019,
EMOTE_STATE_SIT_CHAIR_MED_EAT_LOOP = 1021,
EMOTE_ONESHOT_TALK_FRUSTRATED = 1022,
EMOTE_STATE_WALEAN03 = 1023,
EMOTE_STATE_SHOVEL_WITH_SHOVEL = 1024,
EMOTE_STATE_HOLD = 1027,
EMOTE_STATE_WA2HIDLE = 1029,
EMOTE_ONESHOT_FLYATTACKUNARMED_VAR0 = 1031,
EMOTE_STATE_BARTENDEMOTETALK = 1033,
EMOTE_STATE_TALK_SUBDUED = 1034,
EMOTE_STATE_READYWEAPON = 1035,
EMOTE_STATE_READYWEAPON_ALLOW_MOVEMENT = 1036,
EMOTE_ONESHOT_FLYCOMBATCRITICAL = 1040,
EMOTE_ONESHOT_FLYBATTLEROAR = 1041,
EMOTE_STATE_WORK_HAMMER_SOUND = 1043,
EMOTE_STATE_WORK_HAMMER = 1044,
EMOTE_STATE_TALK_EXCLAMATION = 1048,
EMOTE_STATE_MOUNT_CROUCH = 1049,
EMOTE_STATE_WORK_HERBALISM_SCYTE = 1050,
EMOTE_STATE_WORK_COOK_FRYING_PAN = 1051,
EMOTE_STATE_WORK_LEATHERWORKING_KNIFE = 1052,
EMOTE_STATE_STAND_VAR1 = 1054,
EMOTE_STATE_STAND_VAR2 = 1055,
EMOTE_STATE_STAND_VAR3 = 1056,
EMOTE_STATE_STAND_VAR4 = 1057,
EMOTE_STATE_BARSERVERSTAND = 1058,
EMOTE_ONESHOT_BARSERVER_EMOTETALK = 1059,
EMOTE_STATE_STAND_VAR4_FORCEVARIANTTEST = 1060,
EMOTE_WADARTTARGETSTAND = 1062,
EMOTE_ONESHOT_THOUSANDFISTS = 1068,
EMOTE_ONESHOT_OFFER_START = 1069,
EMOTE_ONESHOT_OFFER_END = 1070,
EMOTE_STATE_OFFER_LOOP = 1071,
EMOTE_ONESHOT_DANCE_VAR2 = 1075,
EMOTE_STATE_KNEEL_INTERACT_INTERRUPT = 1081,
EMOTE_STATE_WA2HIDLE_UNSHEATH = 1082,
EMOTE_STATE_LEAN = 1084,
EMOTE_ONESHOT_WALEAN01_VAR1 = 1093,
EMOTE_ONESHOT_WALEAN01_VAR0 = 1094,
};
// AnimationData.db2 (6.0.2.18988)
enum Anim
{
ANIM_STAND = 0,
ANIM_DEATH = 1,
ANIM_SPELL = 2,
ANIM_STOP = 3,
ANIM_WALK = 4,
ANIM_RUN = 5,
ANIM_DEAD = 6,
ANIM_RISE = 7,
ANIM_STAND_WOUND = 8,
ANIM_COMBAT_WOUND = 9,
ANIM_COMBAT_CRITICAL = 10,
ANIM_SHUFFLE_LEFT = 11,
ANIM_SHUFFLE_RIGHT = 12,
ANIM_WALK_BACKWARDS = 13,
ANIM_STUN = 14,
ANIM_HANDS_CLOSED = 15,
ANIM_ATTACK_UNARMED = 16,
ANIM_ATTACK1H = 17,
ANIM_ATTACK2H = 18,
ANIM_ATTACK2HL = 19,
ANIM_PARRY_UNARMED = 20,
ANIM_PARRY1H = 21,
ANIM_PARRY2H = 22,
ANIM_PARRY2HL = 23,
ANIM_SHIELD_BLOCK = 24,
ANIM_READY_UNARMED = 25,
ANIM_READY1H = 26,
ANIM_READY2H = 27,
ANIM_READY2HL = 28,
ANIM_READY_BOW = 29,
ANIM_DODGE = 30,
ANIM_SPELL_PRECAST = 31,
ANIM_SPELL_CAST = 32,
ANIM_SPELL_CAST_AREA = 33,
ANIM_NPC_WELCOME = 34,
ANIM_NPC_GOODBYE = 35,
ANIM_BLOCK = 36,
ANIM_JUMP_START = 37,
ANIM_JUMP = 38,
ANIM_JUMP_END = 39,
ANIM_FALL = 40,
ANIM_SWIM_IDLE = 41,
ANIM_SWIM = 42,
ANIM_SWIM_LEFT = 43,
ANIM_SWIM_RIGHT = 44,
ANIM_SWIM_BACKWARDS = 45,
ANIM_ATTACK_BOW = 46,
ANIM_FIRE_BOW = 47,
ANIM_READY_RIFLE = 48,
ANIM_ATTACK_RIFLE = 49,
ANIM_LOOT = 50,
ANIM_READY_SPELL_DIRECTED = 51,
ANIM_READY_SPELL_OMNI = 52,
ANIM_SPELL_CAST_DIRECTED = 53,
ANIM_SPELL_CAST_OMNI = 54,
ANIM_BATTLE_ROAR = 55,
ANIM_READY_ABILITY = 56,
ANIM_SPECIAL1H = 57,
ANIM_SPECIAL2H = 58,
ANIM_SHIELD_BASH = 59,
ANIM_EMOTE_TALK = 60,
ANIM_EMOTE_EAT = 61,
ANIM_EMOTE_WORK = 62,
ANIM_EMOTE_USE_STANDING = 63,
ANIM_EMOTE_TALK_EXCLAMATION = 64,
ANIM_EMOTE_TALK_QUESTION = 65,
ANIM_EMOTE_BOW = 66,
ANIM_EMOTE_WAVE = 67,
ANIM_EMOTE_CHEER = 68,
ANIM_EMOTE_DANCE = 69,
ANIM_EMOTE_LAUGH = 70,
ANIM_EMOTE_SLEEP = 71,
ANIM_EMOTE_SIT_GROUND = 72,
ANIM_EMOTE_RUDE = 73,
ANIM_EMOTE_ROAR = 74,
ANIM_EMOTE_KNEEL = 75,
ANIM_EMOTE_KISS = 76,
ANIM_EMOTE_CRY = 77,
ANIM_EMOTE_CHICKEN = 78,
ANIM_EMOTE_BEG = 79,
ANIM_EMOTE_APPLAUD = 80,
ANIM_EMOTE_SHOUT = 81,
ANIM_EMOTE_FLEX = 82,
ANIM_EMOTE_SHY = 83,
ANIM_EMOTE_POINT = 84,
ANIM_ATTACK1H_PIERCE = 85,
ANIM_ATTACK2H_LOOSE_PIERCE = 86,
ANIM_ATTACK_OFF = 87,
ANIM_ATTACK_OFF_PIERCE = 88,
ANIM_SHEATHE = 89,
ANIM_HIP_SHEATHE = 90,
ANIM_MOUNT = 91,
ANIM_RUN_RIGHT = 92,
ANIM_RUN_LEFT = 93,
ANIM_MOUNT_SPECIAL = 94,
ANIM_KICK = 95,
ANIM_SIT_GROUND_DOWN = 96,
ANIM_SIT_GROUND = 97,
ANIM_SIT_GROUND_UP = 98,
ANIM_SLEEP_DOWN = 99,
ANIM_SLEEP = 100,
ANIM_SLEEP_UP = 101,
ANIM_SIT_CHAIR_LOW = 102,
ANIM_SIT_CHAIR_MED = 103,
ANIM_SIT_CHAIR_HIGH = 104,
ANIM_LOAD_BOW = 105,
ANIM_LOAD_RIFLE = 106,
ANIM_ATTACK_THROWN = 107,
ANIM_READY_THROWN = 108,
ANIM_HOLD_BOW = 109,
ANIM_HOLD_RIFLE = 110,
ANIM_HOLD_THROWN = 111,
ANIM_LOAD_THROWN = 112,
ANIM_EMOTE_SALUTE = 113,
ANIM_KNEEL_START = 114,
ANIM_KNEEL_LOOP = 115,
ANIM_KNEEL_END = 116,
ANIM_ATTACK_UNARMED_OFF = 117,
ANIM_SPECIAL_UNARMED = 118,
ANIM_STEALTH_WALK = 119,
ANIM_STEALTH_STAND = 120,
ANIM_KNOCKDOWN = 121,
ANIM_EATING_LOOP = 122,
ANIM_USE_STANDING_LOOP = 123,
ANIM_CHANNEL_CAST_DIRECTED = 124,
ANIM_CHANNEL_CAST_OMNI = 125,
ANIM_WHIRLWIND = 126,
ANIM_BIRTH = 127,
ANIM_USE_STANDING_START = 128,
ANIM_USE_STANDING_END = 129,
ANIM_CREATURE_SPECIAL = 130,
ANIM_DROWN = 131,
ANIM_DROWNED = 132,
ANIM_FISHING_CAST = 133,
ANIM_FISHING_LOOP = 134,
ANIM_FLY = 135,
ANIM_EMOTE_WORK_NO_SHEATHE = 136,
ANIM_EMOTE_STUN_NO_SHEATHE = 137,
ANIM_EMOTE_USE_STANDING_NO_SHEATHE = 138,
ANIM_SPELL_SLEEP_DOWN = 139,
ANIM_SPELL_KNEEL_START = 140,
ANIM_SPELL_KNEEL_LOOP = 141,
ANIM_SPELL_KNEEL_END = 142,
ANIM_SPRINT = 143,
ANIM_IN_FLIGHT = 144,
ANIM_SPAWN = 145,
ANIM_CLOSE = 146,
ANIM_CLOSED = 147,
ANIM_OPEN = 148,
ANIM_OPENED = 149,
ANIM_DESTROY = 150,
ANIM_DESTROYED = 151,
ANIM_REBUILD = 152,
ANIM_CUSTOM_0 = 153,
ANIM_CUSTOM_1 = 154,
ANIM_CUSTOM_2 = 155,
ANIM_CUSTOM_3 = 156,
ANIM_DESPAWN = 157,
ANIM_HOLD = 158,
ANIM_DECAY = 159,
ANIM_BOW_PULL = 160,
ANIM_BOW_RELEASE = 161,
ANIM_SHIP_START = 162,
ANIM_SHIP_MOVING = 163,
ANIM_SHIP_STOP = 164,
ANIM_GROUP_ARROW = 165,
ANIM_ARROW = 166,
ANIM_CORPSE_ARROW = 167,
ANIM_GUIDE_ARROW = 168,
ANIM_SWAY = 169,
ANIM_DRUID_CAT_POUNCE = 170,
ANIM_DRUID_CAT_RIP = 171,
ANIM_DRUID_CAT_RAKE = 172,
ANIM_DRUID_CAT_RAVAGE = 173,
ANIM_DRUID_CAT_CLAW = 174,
ANIM_DRUID_CAT_COWER = 175,
ANIM_DRUID_BEAR_SWIPE = 176,
ANIM_DRUID_BEAR_BITE = 177,
ANIM_DRUID_BEAR_MAUL = 178,
ANIM_DRUID_BEAR_BASH = 179,
ANIM_DRAGON_TAIL = 180,
ANIM_DRAGON_STOMP = 181,
ANIM_DRAGON_SPIT = 182,
ANIM_DRAGON_SPIT_HOVER = 183,
ANIM_DRAGON_SPIT_FLY = 184,
ANIM_EMOTE_YES = 185,
ANIM_EMOTE_NO = 186,
ANIM_JUMP_LAND_RUN = 187,
ANIM_LOOT_HOLD = 188,
ANIM_LOOT_UP = 189,
ANIM_STAND_HIGH = 190,
ANIM_IMPACT = 191,
ANIM_LIFTOFF = 192,
ANIM_HOVER = 193,
ANIM_SUCCUBUS_ENTICE = 194,
ANIM_EMOTE_TRAIN = 195,
ANIM_EMOTE_DEAD = 196,
ANIM_EMOTE_DANCE_ONCE = 197,
ANIM_DEFLECT = 198,
ANIM_EMOTE_EAT_NO_SHEATHE = 199,
ANIM_LAND = 200,
ANIM_SUBMERGE = 201,
ANIM_SUBMERGED = 202,
ANIM_CANNIBALIZE = 203,
ANIM_ARROW_BIRTH = 204,
ANIM_GROUP_ARROW_BIRTH = 205,
ANIM_CORPSE_ARROW_BIRTH = 206,
ANIM_GUIDE_ARROW_BIRTH = 207,
ANIM_EMOTE_TALK_NO_SHEATHE = 208,
ANIM_EMOTE_POINT_NO_SHEATHE = 209,
ANIM_EMOTE_SALUTE_NO_SHEATHE = 210,
ANIM_EMOTE_DANCE_SPECIAL = 211,
ANIM_MUTILATE = 212,
ANIM_CUSTOM_SPELL_01 = 213,
ANIM_CUSTOM_SPELL_02 = 214,
ANIM_CUSTOM_SPELL_03 = 215,
ANIM_CUSTOM_SPELL_04 = 216,
ANIM_CUSTOM_SPELL_05 = 217,
ANIM_CUSTOM_SPELL_06 = 218,
ANIM_CUSTOM_SPELL_07 = 219,
ANIM_CUSTOM_SPELL_08 = 220,
ANIM_CUSTOM_SPELL_09 = 221,
ANIM_CUSTOM_SPELL_10 = 222,
ANIM_STEALTH_RUN = 223,
ANIM_EMERGE = 224,
ANIM_COWER = 225,
ANIM_GRAB = 226,
ANIM_GRAB_CLOSED = 227,
ANIM_GRAB_THROWN = 228,
ANIM_FLY_STAND = 229,
ANIM_FLY_DEATH = 230,
ANIM_FLY_SPELL = 231,
ANIM_FLY_STOP = 232,
ANIM_FLY_WALK = 233,
ANIM_FLY_RUN = 234,
ANIM_FLY_DEAD = 235,
ANIM_FLY_RISE = 236,
ANIM_FLY_STAND_WOUND = 237,
ANIM_FLY_COMBAT_WOUND = 238,
ANIM_FLY_COMBAT_CRITICAL = 239,
ANIM_FLY_SHUFFLE_LEFT = 240,
ANIM_FLY_SHUFFLE_RIGHT = 241,
ANIM_FLY_WALK_BACKWARDS = 242,
ANIM_FLY_STUN = 243,
ANIM_FLY_HANDS_CLOSED = 244,
ANIM_FLY_ATTACK_UNARMED = 245,
ANIM_FLY_ATTACK1H = 246,
ANIM_FLY_ATTACK2H = 247,
ANIM_FLY_ATTACK2HL = 248,
ANIM_FLY_PARRY_UNARMED = 249,
ANIM_FLY_PARRY1H = 250,
ANIM_FLY_PARRY2H = 251,
ANIM_FLY_PARRY2HL = 252,
ANIM_FLY_SHIELD_BLOCK = 253,
ANIM_FLY_READY_UNARMED = 254,
ANIM_FLY_READY1H = 255,
ANIM_FLY_READY2H = 256,
ANIM_FLY_READY2HL = 257,
ANIM_FLY_READY_BOW = 258,
ANIM_FLY_DODGE = 259,
ANIM_FLY_SPELL_PRECAST = 260,
ANIM_FLY_SPELL_CAST = 261,
ANIM_FLY_SPELL_CAST_AREA = 262,
ANIM_FLY_NPC_WELCOME = 263,
ANIM_FLY_NPC_GOODBYE = 264,
ANIM_FLY_BLOCK = 265,
ANIM_FLY_JUMP_START = 266,
ANIM_FLY_JUMP = 267,
ANIM_FLY_JUMP_END = 268,
ANIM_FLY_FALL = 269,
ANIM_FLY_SWIM_IDLE = 270,
ANIM_FLY_SWIM = 271,
ANIM_FLY_SWIM_LEFT = 272,
ANIM_FLY_SWIM_RIGHT = 273,
ANIM_FLY_SWIM_BACKWARDS = 274,
ANIM_FLY_ATTACK_BOW = 275,
ANIM_FLY_FIRE_BOW = 276,
ANIM_FLY_READY_RIFLE = 277,
ANIM_FLY_ATTACK_RIFLE = 278,
ANIM_FLY_LOOT = 279,
ANIM_FLY_READY_SPELL_DIRECTED = 280,
ANIM_FLY_READY_SPELL_OMNI = 281,
ANIM_FLY_SPELL_CAST_DIRECTED = 282,
ANIM_FLY_SPELL_CAST_OMNI = 283,
ANIM_FLY_SPELL_BATTLE_ROAR = 284,
ANIM_FLY_READY_ABILITY = 285,
ANIM_FLY_SPECIAL1H = 286,
ANIM_FLY_SPECIAL2H = 287,
ANIM_FLY_SHIELD_BASH = 288,
ANIM_FLY_EMOTE_TALK = 289,
ANIM_FLY_EMOTE_EAT = 290,
ANIM_FLY_EMOTE_WORK = 291,
ANIM_FLY_USE_STANDING = 292,
ANIM_FLY_EMOTE_TALK_EXCLAMATION = 293,
ANIM_FLY_EMOTE_TALK_QUESTION = 294,
ANIM_FLY_EMOTE_BOW = 295,
ANIM_FLY_EMOTE_WAVE = 296,
ANIM_FLY_EMOTE_CHEER = 297,
ANIM_FLY_EMOTE_DANCE = 298,
ANIM_FLY_EMOTE_LAUGH = 299,
ANIM_FLY_EMOTE_SLEEP = 300,
ANIM_FLY_EMOTE_SIT_GROUND = 301,
ANIM_FLY_EMOTE_RUDE = 302,
ANIM_FLY_EMOTE_ROAR = 303,
ANIM_FLY_EMOTE_KNEEL = 304,
ANIM_FLY_EMOTE_KISS = 305,
ANIM_FLY_EMOTE_CRY = 306,
ANIM_FLY_EMOTE_CHICKEN = 307,
ANIM_FLY_EMOTE_BEG = 308,
ANIM_FLY_EMOTE_APPLAUD = 309,
ANIM_FLY_EMOTE_SHOUT = 310,
ANIM_FLY_EMOTE_FLEX = 311,
ANIM_FLY_EMOTE_SHY = 312,
ANIM_FLY_EMOTE_POINT = 313,
ANIM_FLY_ATTACK1H_PIERCE = 314,
ANIM_FLY_ATTACK2H_LOOSE_PIERCE = 315,
ANIM_FLY_ATTACK_OFF = 316,
ANIM_FLY_ATTACK_OFF_PIERCE = 317,
ANIM_FLY_SHEATH = 318,
ANIM_FLY_HIP_SHEATH = 319,
ANIM_FLY_MOUNT = 320,
ANIM_FLY_RUN_RIGHT = 321,
ANIM_FLY_RUN_LEFT = 322,
ANIM_FLY_MOUNT_SPECIAL = 323,
ANIM_FLY_KICK = 324,
ANIM_FLY_SIT_GROUND_DOWN = 325,
ANIM_FLY_SIT_GROUND = 326,
ANIM_FLY_SIT_GROUND_UP = 327,
ANIM_FLY_SLEEP_DOWN = 328,
ANIM_FLY_SLEEP = 329,
ANIM_FLY_SLEEP_UP = 330,
ANIM_FLY_SIT_CHAIR_LOW = 331,
ANIM_FLY_SIT_CHAIR_MED = 332,
ANIM_FLY_SIT_CHAIR_HIGH = 333,
ANIM_FLY_LOAD_BOW = 334,
ANIM_FLY_LOAD_RIFLE = 335,
ANIM_FLY_ATTACK_THROWN = 336,
ANIM_FLY_READY_THROWN = 337,
ANIM_FLY_HOLD_BOW = 338,
ANIM_FLY_HOLD_RIFLE = 339,
ANIM_FLY_HOLD_THROWN = 340,
ANIM_FLY_LOAD_THROWN = 341,
ANIM_FLY_EMOTE_SALUTE = 342,
ANIM_FLY_KNEEL_START = 343,
ANIM_FLY_KNEEL_LOOP = 344,
ANIM_FLY_KNEEL_END = 345,
ANIM_FLY_ATTACK_UNARMED_OFF = 346,
ANIM_FLY_SPECIAL_UNARMED = 347,
ANIM_FLY_STEALTH_WALK = 348,
ANIM_FLY_STEALTH_STAND = 349,
ANIM_FLY_KNOCKDOWN = 350,
ANIM_FLY_EATING_LOOP = 351,
ANIM_FLY_USE_STANDING_LOOP = 352,
ANIM_FLY_CHANNEL_CAST_DIRECTED = 353,
ANIM_FLY_CHANNEL_CAST_OMNI = 354,
ANIM_FLY_WHIRLWIND = 355,
ANIM_FLY_BIRTH = 356,
ANIM_FLY_USE_STANDING_START = 357,
ANIM_FLY_USE_STANDING_END = 358,
ANIM_FLY_CREATURE_SPECIAL = 359,
ANIM_FLY_DROWN = 360,
ANIM_FLY_DROWNED = 361,
ANIM_FLY_FISHING_CAST = 362,
ANIM_FLY_FISHING_LOOP = 363,
ANIM_FLY_FLY = 364,
ANIM_FLY_EMOTE_WORK_NO_SHEATHE = 365,
ANIM_FLY_EMOTE_STUN_NO_SHEATHE = 366,
ANIM_FLY_EMOTE_USE_STANDING_NO_SHEATHE = 367,
ANIM_FLY_SPELL_SLEEP_DOWN = 368,
ANIM_FLY_SPELL_KNEEL_START = 369,
ANIM_FLY_SPELL_KNEEL_LOOP = 370,
ANIM_FLY_SPELL_KNEEL_END = 371,
ANIM_FLY_SPRINT = 372,
ANIM_FLY_IN_FLIGHT = 373,
ANIM_FLY_SPAWN = 374,
ANIM_FLY_CLOSE = 375,
ANIM_FLY_CLOSED = 376,
ANIM_FLY_OPEN = 377,
ANIM_FLY_OPENED = 378,
ANIM_FLY_DESTROY = 379,
ANIM_FLY_DESTROYED = 380,
ANIM_FLY_REBUILD = 381,
ANIM_FLY_CUSTOM_0 = 382,
ANIM_FLY_CUSTOM_1 = 383,
ANIM_FLY_CUSTOM_2 = 384,
ANIM_FLY_CUSTOM_3 = 385,
ANIM_FLY_DESPAWN = 386,
ANIM_FLY_HOLD = 387,
ANIM_FLY_DECAY = 388,
ANIM_FLY_BOW_PULL = 389,
ANIM_FLY_BOW_RELEASE = 390,
ANIM_FLY_SHIP_START = 391,
ANIM_FLY_SHIP_MOVING = 392,
ANIM_FLY_SHIP_STOP = 393,
ANIM_FLY_GROUP_ARROW = 394,
ANIM_FLY_ARROW = 395,
ANIM_FLY_CORPSE_ARROW = 396,
ANIM_FLY_GUIDE_ARROW = 397,
ANIM_FLY_SWAY = 398,
ANIM_FLY_DRUID_CAT_POUNCE = 399,
ANIM_FLY_DRUID_CAT_RIP = 400,
ANIM_FLY_DRUID_CAT_RAKE = 401,
ANIM_FLY_DRUID_CAT_RAVAGE = 402,
ANIM_FLY_DRUID_CAT_CLAW = 403,
ANIM_FLY_DRUID_CAT_COWER = 404,
ANIM_FLY_DRUID_BEAR_SWIPE = 405,
ANIM_FLY_DRUID_BEAR_BITE = 406,
ANIM_FLY_DRUID_BEAR_MAUL = 407,
ANIM_FLY_DRUID_BEAR_BASH = 408,
ANIM_FLY_DRAGON_TAIL = 409,
ANIM_FLY_DRAGON_STOMP = 410,
ANIM_FLY_DRAGON_SPIT = 411,
ANIM_FLY_DRAGON_SPIT_HOVER = 412,
ANIM_FLY_DRAGON_SPIT_FLY = 413,
ANIM_FLY_EMOTE_YES = 414,
ANIM_FLY_EMOTE_NO = 415,
ANIM_FLY_JUMP_LAND_RUN = 416,
ANIM_FLY_LOOT_HOLD = 417,
ANIM_FLY_LOOT_UP = 418,
ANIM_FLY_STAND_HIGH = 419,
ANIM_FLY_IMPACT = 420,
ANIM_FLY_LIFTOFF = 421,
ANIM_FLY_HOVER = 422,
ANIM_FLY_SUCCUBUS_ENTICE = 423,
ANIM_FLY_EMOTE_TRAIN = 424,
ANIM_FLY_EMOTE_DEAD = 425,
ANIM_FLY_EMOTE_DANCE_ONCE = 426,
ANIM_FLY_DEFLECT = 427,
ANIM_FLY_EMOTE_EAT_NO_SHEATHE = 428,
ANIM_FLY_LAND = 429,
ANIM_FLY_SUBMERGE = 430,
ANIM_FLY_SUBMERGED = 431,
ANIM_FLY_CANNIBALIZE = 432,
ANIM_FLY_ARROW_BIRTH = 433,
ANIM_FLY_GROUP_ARROW_BIRTH = 434,
ANIM_FLY_CORPSE_ARROW_BIRTH = 435,
ANIM_FLY_GUIDE_ARROW_BIRTH = 436,
ANIM_FLY_EMOTE_TALK_NO_SHEATHE = 437,
ANIM_FLY_EMOTE_POINT_NO_SHEATHE = 438,
ANIM_FLY_EMOTE_SALUTE_NO_SHEATHE = 439,
ANIM_FLY_EMOTE_DANCE_SPECIAL = 440,
ANIM_FLY_MUTILATE = 441,
ANIM_FLY_CUSTOM_SPELL_01 = 442,
ANIM_FLY_CUSTOM_SPELL_02 = 443,
ANIM_FLY_CUSTOM_SPELL_03 = 444,
ANIM_FLY_CUSTOM_SPELL_04 = 445,
ANIM_FLY_CUSTOM_SPELL_05 = 446,
ANIM_FLY_CUSTOM_SPELL_06 = 447,
ANIM_FLY_CUSTOM_SPELL_07 = 448,
ANIM_FLY_CUSTOM_SPELL_08 = 449,
ANIM_FLY_CUSTOM_SPELL_09 = 450,
ANIM_FLY_CUSTOM_SPELL_10 = 451,
ANIM_FLY_STEALTH_RUN = 452,
ANIM_FLY_EMERGE = 453,
ANIM_FLY_COWER = 454,
ANIM_FLY_GRAB = 455,
ANIM_FLY_GRAB_CLOSED = 456,
ANIM_FLY_GRAB_THROWN = 457,
ANIM_TO_FLY = 458,
ANIM_TO_HOVER = 459,
ANIM_TO_GROUND = 460,
ANIM_FLY_TO_FLY = 461,
ANIM_FLY_TO_HOVER = 462,
ANIM_FLY_TO_GROUND = 463,
ANIM_SETTLE = 464,
ANIM_FLY_SETTLE = 465,
ANIM_DEATH_START = 466,
ANIM_DEATH_LOOP = 467,
ANIM_DEATH_END = 468,
ANIM_FLY_DEATH_START = 469,
ANIM_FLY_DEATH_LOOP = 470,
ANIM_FLY_DEATH_END = 471,
ANIM_DEATH_END_HOLD = 472,
ANIM_FLY_DEATH_END_HOLD = 473,
ANIM_STRANGULATE = 474,
ANIM_FLY_STRANGULATE = 475,
ANIM_READY_JOUST = 476,
ANIM_LOAD_JOUST = 477,
ANIM_HOLD_JOUST = 478,
ANIM_FLY_READY_JOUST = 479,
ANIM_FLY_LOAD_JOUST = 480,
ANIM_FLY_HOLD_JOUST = 481,
ANIM_ATTACK_JOUST = 482,
ANIM_FLY_ATTACK_JOUST = 483,
ANIM_RECLINED_MOUNT = 484,
ANIM_FLY_RECLINED_MOUNT = 485,
ANIM_TO_ALTERED = 486,
ANIM_FROM_ALTERED = 487,
ANIM_FLY_TO_ALTERED = 488,
ANIM_FLY_FROM_ALTERED = 489,
ANIM_IN_STOCKS = 490,
ANIM_FLY_IN_STOCKS = 491,
ANIM_VEHICLE_GRAB = 492,
ANIM_VEHICLE_THROW = 493,
ANIM_FLY_VEHICLE_GRAB = 494,
ANIM_FLY_VEHICLE_THROW = 495,
ANIM_TO_ALTERED_POST_SWAP = 496,
ANIM_FROM_ALTERED_POST_SWAP = 497,
ANIM_FLY_TO_ALTERED_POST_SWAP = 498,
ANIM_FLY_FROM_ALTERED_POST_SWAP = 499,
ANIM_RECLINED_MOUNT_PASSENGER = 500,
ANIM_FLY_RECLINED_MOUNT_PASSENGER = 501,
ANIM_CARRY2H = 502,
ANIM_CARRIED2H = 503,
ANIM_FLY_CARRY2H = 504,
ANIM_FLY_CARRIED2H = 505,
ANIM_EMOTE_SNIFF = 506,
ANIM_EMOTE_FLY_SNIFF = 507,
ANIM_ATTACK_FIST1H = 508,
ANIM_FLY_ATTACK_FIST1H = 509,
ANIM_ATTACK_FIST_1H_OFF = 510,
ANIM_FLY_ATTACK_FIST_1H_OFF = 511,
ANIM_PARRY_FIST1H = 512,
ANIM_FLY_PARRY_FIST1H = 513,
ANIM_READY_FIST1H = 514,
ANIM_FLY_READY_FIST1H = 515,
ANIM_SPECIAL_FIST1H = 516,
ANIM_FLY_SPECIAL_FIST1H = 517,
ANIM_EMOTE_READ_START = 518,
ANIM_FLY_EMOTE_READ_START = 519,
ANIM_EMOTE_READ_LOOP = 520,
ANIM_FLY_EMOTE_READ_LOOP = 521,
ANIM_EMOTE_READ_END = 522,
ANIM_FLY_EMOTE_READ_END = 523,
ANIM_SWIM_RUN = 524,
ANIM_FLY_SWIM_RUN = 525,
ANIM_SWIM_WALK = 526,
ANIM_FLY_SWIM_WALK = 527,
ANIM_SWIM_WALK_BACKWARDS = 528,
ANIM_FLY_SWIM_WALK_BACKWARDS = 529,
ANIM_SWIM_SPRINT = 530,
ANIM_FLY_SWIM_SPRINT = 531,
ANIM_MOUNT_SWIM_IDLE = 532,
ANIM_FLY_MOUNT_SWIM_IDLE = 533,
ANIM_MOUNT_SWIM_BACKWARDS = 534,
ANIM_FLY_MOUNT_SWIM_BACKWARDS = 535,
ANIM_MOUNT_SWIM_LEFT = 536,
ANIM_FLY_MOUNT_SWIM_LEFT = 537,
ANIM_MOUNT_SWIM_RIGHT = 538,
ANIM_FLY_MOUNT_SWIM_RIGHT = 539,
ANIM_MOUNT_SWIM_RUN = 540,
ANIM_FLY_MOUNT_SWIM_RUN = 541,
ANIM_MOUNT_SWIM_SPRINT = 542,
ANIM_FLY_MOUNT_SWIM_SPRINT = 543,
ANIM_MOUNT_SWIM_WALK = 544,
ANIM_FLY_MOUNT_SWIM_WALK = 545,
ANIM_MOUNT_SWIM_WALK_BACKWARDS = 546,
ANIM_FLY_MOUNT_SWIM_WALK_BACKWARDS = 547,
ANIM_MOUNT_FLIGHT_IDLE = 548,
ANIM_FLY_MOUNT_FLIGHT_IDLE = 549,
ANIM_MOUNT_FLIGHT_BACKWARDS = 550,
ANIM_FLY_MOUNT_FLIGHT_BACKWARDS = 551,
ANIM_MOUNT_FLIGHT_LEFT = 552,
ANIM_FLY_MOUNT_FLIGHT_LEFT = 553,
ANIM_MOUNT_FLIGHT_RIGHT = 554,
ANIM_FLY_MOUNT_FLIGHT_RIGHT = 555,
ANIM_MOUNT_FLIGHT_RUN = 556,
ANIM_FLY_MOUNT_FLIGHT_RUN = 557,
ANIM_MOUNT_FLIGHT_SPRINT = 558,
ANIM_FLY_MOUNT_FLIGHT_SPRINT = 559,
ANIM_MOUNT_FLIGHT_WALK = 560,
ANIM_FLY_MOUNT_FLIGHT_WALK = 561,
ANIM_MOUNT_FLIGHT_WALK_BACKWARDS = 562,
ANIM_FLY_MOUNT_FLIGHT_WALK_BACKWARDS = 563,
ANIM_MOUNT_FLIGHT_START = 564,
ANIM_FLY_MOUNT_FLIGHT_START = 565,
ANIM_MOUNT_SWIM_START = 566,
ANIM_FLY_MOUNT_SWIM_START = 567,
ANIM_MOUNT_SWIM_LAND = 568,
ANIM_FLY_MOUNT_SWIM_LAND = 569,
ANIM_MOUNT_SWIM_LAND_RUN = 570,
ANIM_FLY_MOUNT_SWIM_LAND_RUN = 571,
ANIM_MOUNT_FLIGHT_LAND = 572,
ANIM_FLY_MOUNT_FLIGHT_LAND = 573,
ANIM_MOUNT_FLIGHT_LAND_RUN = 574,
ANIM_FLY_MOUNT_FLIGHT_LAND_RUN = 575,
ANIM_READY_BLOW_DART = 576,
ANIM_FLY_READY_BLOW_DART = 577,
ANIM_LOAD_BLOW_DART = 578,
ANIM_FLY_LOAD_BLOW_DART = 579,
ANIM_HOLD_BLOW_DART = 580,
ANIM_FLY_HOLD_BLOW_DART = 581,
ANIM_ATTACK_BLOW_DART = 582,
ANIM_FLY_ATTACK_BLOW_DART = 583,
ANIM_CARRIAGE_MOUNT = 584,
ANIM_FLY_CARRIAGE_MOUNT = 585,
ANIM_CARRIAGE_PASSENGER_MOUNT = 586,
ANIM_FLY_CARRIAGE_PASSENGER_MOUNT = 587,
ANIM_CARRIAGE_MOUNT_ATTACK = 588,
ANIM_FLY_CARRIAGE_MOUNT_ATTACK = 589,
ANIM_BARTENDER_STAND = 590,
ANIM_FLY_BARTENDER_STAND = 591,
ANIM_BARTENDER_WALK = 592,
ANIM_FLY_BARTENDER_WALK = 593,
ANIM_BARTENDER_RUN = 594,
ANIM_FLY_BARTENDER_RUN = 595,
ANIM_BARTENDER_SHUFFLE_LEFT = 596,
ANIM_FLY_BARTENDER_SHUFFLE_LEFT = 597,
ANIM_BARTENDER_SHUFFLE_RIGHT = 598,
ANIM_FLY_BARTENDER_SHUFFLE_RIGHT = 599,
ANIM_BARTENDER_EMOTE_TALK = 600,
ANIM_FLY_BARTENDER_EMOTE_TALK = 601,
ANIM_BARTENDER_EMOTE_POINT = 602,
ANIM_FLY_BARTENDER_EMOTE_POINT = 603,
ANIM_BARMAID_STAND = 604,
ANIM_FLY_BARMAID_STAND = 605,
ANIM_BARMAID_WALK = 606,
ANIM_FLY_BARMAID_WALK = 607,
ANIM_BARMAID_RUN = 608,
ANIM_FLY_BARMAID_RUN = 609,
ANIM_BARMAID_SHUFFLE_LEFT = 610,
ANIM_FLY_BARMAID_SHUFFLE_LEFT = 611,
ANIM_BARMAID_SHUFFLE_RIGHT = 612,
ANIM_FLY_BARMAID_SHUFFLE_RIGHT = 613,
ANIM_BARMAID_EMOTE_TALK = 614,
ANIM_FLY_BARMAID_EMOTE_TALK = 615,
ANIM_BARMAID_EMOTE_POINT = 616,
ANIM_FLY_BARMAID_EMOTE_POINT = 617,
ANIM_MOUNT_SELF_IDLE = 618,
ANIM_FLY_MOUNT_SELF_IDLE = 619,
ANIM_MOUNT_SELF_WALK = 620,
ANIM_FLY_MOUNT_SELF_WALK = 621,
ANIM_MOUNT_SELF_RUN = 622,
ANIM_FLY_MOUNT_SELF_RUN = 623,
ANIM_MOUNT_SELF_SPRINT = 624,
ANIM_FLY_MOUNT_SELF_SPRINT = 625,
ANIM_MOUNT_SELF_RUN_LEFT = 626,
ANIM_FLY_MOUNT_SELF_RUN_LEFT = 627,
ANIM_MOUNT_SELF_RUN_RIGHT = 628,
ANIM_FLY_MOUNT_SELF_RUN_RIGHT = 629,
ANIM_MOUNT_SELF_SHUFFLE_LEFT = 630,
ANIM_FLY_MOUNT_SELF_SHUFFLE_LEFT = 631,
ANIM_MOUNT_SELF_SHUFFLE_RIGHT = 632,
ANIM_FLY_MOUNT_SELF_SHUFFLE_RIGHT = 633,
ANIM_MOUNT_SELF_WALK_BACKWARDS = 634,
ANIM_FLY_MOUNT_SELF_WALK_BACKWARDS = 635,
ANIM_MOUNT_SELF_SPECIAL = 636,
ANIM_FLY_MOUNT_SELF_SPECIAL = 637,
ANIM_MOUNT_SELF_JUMP = 638,
ANIM_FLY_MOUNT_SELF_JUMP = 639,
ANIM_MOUNT_SELF_JUMP_START = 640,
ANIM_FLY_MOUNT_SELF_JUMP_START = 641,
ANIM_MOUNT_SELF_JUMP_END = 642,
ANIM_FLY_MOUNT_SELF_JUMP_END = 643,
ANIM_MOUNT_SELF_JUMP_LAND_RUN = 644,
ANIM_FLY_MOUNT_SELF_JUMP_LAND_RUN = 645,
ANIM_MOUNT_SELF_START = 646,
ANIM_FLY_MOUNT_SELF_START = 647,
ANIM_MOUNT_SELF_FALL = 648,
ANIM_FLY_MOUNT_SELF_FALL = 649,
ANIM_STORMSTRIKE = 650,
ANIM_FLY_STORMSTRIKE = 651,
ANIM_READY_JOUST_NO_SHEATHE = 652,
ANIM_FLY_READY_JOUST_NO_SHEATHE = 653,
ANIM_SLAM = 654,
ANIM_FLY_SLAM = 655,
ANIM_DEATH_STRIKE = 656,
ANIM_FLY_DEATH_STRIKE = 657,
ANIM_SWIM_ATTACK_UNARMED = 658,
ANIM_FLY_SWIM_ATTACK_UNARMED = 659,
ANIM_SPINNING_KICK = 660,
ANIM_FLY_SPINNING_KICK = 661,
ANIM_ROUND_HOUSE_KICK = 662,
ANIM_FLY_ROUND_HOUSE_KICK = 663,
ANIM_ROLL_START = 664,
ANIM_FLY_ROLL_START = 665,
ANIM_ROLL = 666,
ANIM_FLY_ROLL = 667,
ANIM_ROLL_END = 668,
ANIM_FLY_ROLL_END = 669,
ANIM_PALM_STRIKE = 670,
ANIM_FLY_PALM_STRIKE = 671,
ANIM_MONK_OFFENSE_ATTACK_UNARMED = 672,
ANIM_FLY_MONK_OFFENSE_ATTACK_UNARMED = 673,
ANIM_MONK_OFFENSE_ATTACK_UNARMED_OFF = 674,
ANIM_FLY_MONK_OFFENSE_ATTACK_UNARMED_OFF = 675,
ANIM_MONK_OFFENSE_PARRY_UNARMED = 676,
ANIM_FLY_MONK_OFFENSE_PARRY_UNARMED = 677,
ANIM_MONK_OFFENSE_READY_UNARMED = 678,
ANIM_FLY_MONK_OFFENSE_READY_UNARMED = 679,
ANIM_MONK_OFFENSE_SPECIAL_UNARMED = 680,
ANIM_FLY_MONK_OFFENSE_SPECIAL_UNARMED = 681,
ANIM_MONK_DEFENSE_ATTACK_UNARMED = 682,
ANIM_FLY_MONK_DEFENSE_ATTACK_UNARMED = 683,
ANIM_MONK_DEFENSE_ATTACK_UNARMED_OFF = 684,
ANIM_FLY_MONK_DEFENSE_ATTACK_UNARMED_OFF = 685,
ANIM_MONK_DEFENSE_PARRY_UNARMED = 686,
ANIM_FLY_MONK_DEFENSE_PARRY_UNARMED = 687,
ANIM_MONK_DEFENSE_READY_UNARMED = 688,
ANIM_FLY_MONK_DEFENSE_READY_UNARMED = 689,
ANIM_MONK_DEFENSE_SPECIAL_UNARMED = 690,
ANIM_FLY_MONK_DEFENSE_SPECIAL_UNARMED = 691,
ANIM_MONK_HEAL_ATTACK_UNARMED = 692,
ANIM_FLY_MONK_HEAL_ATTACK_UNARMED = 693,
ANIM_MONK_HEAL_ATTACK_UNARMED_OFF = 694,
ANIM_FLY_MONK_HEAL_ATTACK_UNARMED_OFF = 695,
ANIM_MONK_HEAL_PARRY_UNARMED = 696,
ANIM_FLY_MONK_HEAL_PARRY_UNARMED = 697,
ANIM_MONK_HEAL_READY_UNARMED = 698,
ANIM_FLY_MONK_HEAL_READY_UNARMED = 699,
ANIM_MONK_HEAL_SPECIAL_UNARMED = 700,
ANIM_FLY_MONK_HEAL_SPECIAL_UNARMED = 701,
ANIM_FLYING_KICK = 702,
ANIM_FLY_FLYING_KICK = 703,
ANIM_FLYING_KICK_START = 704,
ANIM_FLY_FLYING_KICK_START = 705,
ANIM_FLYING_KICK_END = 706,
ANIM_FLY_FLYING_KICK_END = 707,
ANIM_CRANE_START = 708,
ANIM_FLY_CRANE_START = 709,
ANIM_CRANE_LOOP = 710,
ANIM_FLY_CRANE_LOOP = 711,
ANIM_CRANE_END = 712,
ANIM_FLY_CRANE_END = 713,
ANIM_DESPAWNED = 714,
ANIM_FLY_DESPAWNED = 715,
ANIM_THOUSAND_FISTS = 716,
ANIM_FLY_THOUSAND_FISTS = 717,
ANIM_MONK_HEAL_READY_SPELL_DIRECTED = 718,
ANIM_FLY_MONK_HEAL_READY_SPELL_DIRECTED = 719,
ANIM_MONK_HEAL_READY_SPELL_OMNI = 720,
ANIM_FLY_MONK_HEAL_READY_SPELL_OMNI = 721,
ANIM_MONK_HEAL_SPELL_CAST_DIRECTED = 722,
ANIM_FLY_MONK_HEAL_SPELL_CAST_DIRECTED = 723,
ANIM_MONK_HEAL_SPELL_CAST_OMNI = 724,
ANIM_FLY_MONK_HEAL_SPELL_CAST_OMNI = 725,
ANIM_MONK_HEAL_CHANNEL_CAST_DIRECTED = 726,
ANIM_FLY_MONK_HEAL_CHANNEL_CAST_DIRECTED = 727,
ANIM_MONK_HEAL_CHANNEL_CAST_OMNI = 728,
ANIM_FLY_MONK_HEAL_CHANNEL_CAST_OMNI = 729,
ANIM_TORPEDO = 730,
ANIM_FLY_TORPEDO = 731,
ANIM_MEDITATE = 732,
ANIM_FLY_MEDITATE = 733,
ANIM_BREATH_OF_FIRE = 734,
ANIM_FLY_BREATH_OF_FIRE = 735,
ANIM_RISING_SUN_KICK = 736,
ANIM_FLY_RISING_SUN_KICK = 737,
ANIM_GROUND_KICK = 738,
ANIM_FLY_GROUND_KICK = 739,
ANIM_KICK_BACK = 740,
ANIM_FLY_KICK_BACK = 741,
ANIM_PET_BATTLE_STAND = 742,
ANIM_FLY_PET_BATTLE_STAND = 743,
ANIM_PET_BATTLE_DEATH = 744,
ANIM_FLY_PET_BATTLE_DEATH = 745,
ANIM_PET_BATTLE_RUN = 746,
ANIM_FLY_PET_BATTLE_RUN = 747,
ANIM_PET_BATTLE_WOUND = 748,
ANIM_FLY_PET_BATTLE_WOUND = 749,
ANIM_PET_BATTLE_ATTACK = 750,
ANIM_FLY_PET_BATTLE_ATTACK = 751,
ANIM_PET_BATTLE_READY_SPELL = 752,
ANIM_FLY_PET_BATTLE_READY_SPELL = 753,
ANIM_PET_BATTLE_SPELL_CAST = 754,
ANIM_FLY_PET_BATTLE_SPELL_CAST = 755,
ANIM_PET_BATTLE_CUSTOM0 = 756,
ANIM_FLY_PET_BATTLE_CUSTOM0 = 757,
ANIM_PET_BATTLE_CUSTOM1 = 758,
ANIM_FLY_PET_BATTLE_CUSTOM1 = 759,
ANIM_PET_BATTLE_CUSTOM2 = 760,
ANIM_FLY_PET_BATTLE_CUSTOM2 = 761,
ANIM_PET_BATTLE_CUSTOM3 = 762,
ANIM_FLY_PET_BATTLE_CUSTOM3 = 763,
ANIM_PET_BATTLE_VICTORY = 764,
ANIM_FLY_PET_BATTLE_VICTORY = 765,
ANIM_PET_BATTLE_LOSS = 766,
ANIM_FLY_PET_BATTLE_LOSS = 767,
ANIM_PET_BATTLE_STUN = 768,
ANIM_FLY_PET_BATTLE_STUN = 769,
ANIM_PET_BATTLE_DEAD = 770,
ANIM_FLY_PET_BATTLE_DEAD = 771,
ANIM_PET_BATTLE_FREEZE = 772,
ANIM_FLY_PET_BATTLE_FREEZE = 773,
ANIM_MONK_OFFENSE_ATTACK_WEAPON = 774,
ANIM_FLY_MONK_OFFENSE_ATTACK_WEAPON = 775,
ANIM_BAR_TEND_EMOTE_WAVE = 776,
ANIM_FLY_BAR_TEND_EMOTE_WAVE = 777,
ANIM_BAR_SERVER_EMOTE_TALK = 778,
ANIM_FLY_BAR_SERVER_EMOTE_TALK = 779,
ANIM_BAR_SERVER_EMOTE_WAVE = 780,
ANIM_FLY_BAR_SERVER_EMOTE_WAVE = 781,
ANIM_BAR_SERVER_POUR_DRINKS = 782,
ANIM_FLY_BAR_SERVER_POUR_DRINKS = 783,
ANIM_BAR_SERVER_PICKUP = 784,
ANIM_FLY_BAR_SERVER_PICKUP = 785,
ANIM_BAR_SERVER_PUT_DOWN = 786,
ANIM_FLY_BAR_SERVER_PUT_DOWN = 787,
ANIM_BAR_SWEEP_STAND = 788,
ANIM_FLY_BAR_SWEEP_STAND = 789,
ANIM_BAR_PATRON_SIT = 790,
ANIM_FLY_BAR_PATRON_SIT = 791,
ANIM_BAR_PATRON_SIT_EMOTE_TALK = 792,
ANIM_FLY_BAR_PATRON_SIT_EMOTE_TALK = 793,
ANIM_BAR_PATRON_STAND = 794,
ANIM_FLY_BAR_PATRON_STAND = 795,
ANIM_BAR_PATRON_STAND_EMOTE_TALK = 796,
ANIM_FLY_BAR_PATRON_STAND_EMOTE_TALK = 797,
ANIM_BAR_PATRON_STAND_EMOTE_POINT = 798,
ANIM_FLY_BAR_PATRON_STAND_EMOTE_POINT = 799,
ANIM_CARRION_SWARM = 800,
ANIM_FLY_CARRION_SWARM = 801,
ANIM_WHEEL_LOOP = 802,
ANIM_FLY_WHEEL_LOOP = 803,
ANIM_STAND_CHARACTER_CREATE = 804,
ANIM_FLY_STAND_CHARACTER_CREATE = 805,
ANIM_MOUNT_CHOPPER = 806,
ANIM_FLY_MOUNT_CHOPPER = 807,
ANIM_FACE_POSE = 808,
ANIM_FLY_FACE_POSE = 809,
ANIM_WARRIOR_COLOSSUS_SMASH = 810,
ANIM_FLY_WARRIOR_COLOSSUS_SMASH = 811,
ANIM_WARRIOR_MORTAL_STRIKE = 812,
ANIM_FLY_WARRIOR_MORTAL_STRIKE = 813,
ANIM_WARRIOR_WHIRLWIND = 814,
ANIM_FLY_WARRIOR_WHIRLWIND = 815,
ANIM_WARRIOR_CHARGE = 816,
ANIM_FLY_WARRIOR_CHARGE = 817,
ANIM_WARRIOR_CHARGE_START = 818,
ANIM_FLY_WARRIOR_CHARGE_START = 819,
ANIM_WARRIOR_CHARGE_END = 820,
ANIM_FLY_WARRIOR_CHARGE_END = 821
};
enum LockKeyType
{
LOCK_KEY_NONE = 0,
LOCK_KEY_ITEM = 1,
LOCK_KEY_SKILL = 2,
LOCK_KEY_SPELL = 3,
};
// LockType.dbc (11.2.5.62687)
enum LockType
{
LOCKTYPE_LOCKPICKING = 1,
LOCKTYPE_HERBALISM = 2,
LOCKTYPE_MINING = 3,
LOCKTYPE_DISARM_TRAP = 4,
LOCKTYPE_OPEN = 5,
LOCKTYPE_TREASURE = 6,
LOCKTYPE_CALCIFIED_ELVEN_GEMS = 7,
LOCKTYPE_CLOSE = 8,
LOCKTYPE_ARM_TRAP = 9,
LOCKTYPE_QUICK_OPEN = 10,
LOCKTYPE_QUICK_CLOSE = 11,
LOCKTYPE_OPEN_TINKERING = 12,
LOCKTYPE_OPEN_KNEELING = 13,
LOCKTYPE_OPEN_ATTACKING = 14,
LOCKTYPE_GAHZRIDIAN = 15,
LOCKTYPE_BLASTING = 16,
LOCKTYPE_PVP_OPEN = 17,
LOCKTYPE_PVP_CLOSE = 18,
LOCKTYPE_FISHING = 19,
LOCKTYPE_INSCRIPTION = 20,
LOCKTYPE_OPEN_FROM_VEHICLE = 21,
LOCKTYPE_ARCHAEOLOGY = 22,
LOCKTYPE_PVP_OPEN_FAST = 23,
LOCKTYPE_LUMBER_MILL = 28,
LOCKTYPE_SKINNING = 29,
LOCKTYPE_ANCIENT_MANA = 30,
LOCKTYPE_WARBOARD = 31,
LOCKTYPE_CLASSIC_HERBALISM = 32,
LOCKTYPE_OUTLAND_HERBALISM = 33,
LOCKTYPE_NORTHREND_HERBALISM = 34,
LOCKTYPE_CATACLYSM_HERBALISM = 35,
LOCKTYPE_PANDARIA_HERBALISM = 36,
LOCKTYPE_DRAENOR_HERBALISM = 37,
LOCKTYPE_LEGION_HERBALISM = 38,
LOCKTYPE_KUL_TIRAN_HERBALISM = 39,
LOCKTYPE_CLASSIC_MINING = 40,
LOCKTYPE_OUTLAND_MINING = 41,
LOCKTYPE_NORTHREND_MINING = 42,
LOCKTYPE_CATACLYSM_MINING = 43,
LOCKTYPE_PANDARIA_MINING = 44,
LOCKTYPE_DRAENOR_MINING = 45,
LOCKTYPE_LEGION_MINING = 46,
LOCKTYPE_KUL_TIRAN_MINING = 47,
LOCKTYPE_LEGION_SKINNING = 48,
LOCKTYPE_OPEN_ITEM = 149,
LOCKTYPE_FORAGING = 150,
LOCKTYPE_JELLY_DEPOSIT = 152,
LOCKTYPE_SHADOWLANDS_HERBALISM = 153,
LOCKTYPE_SHADOWLANDS_MINING = 155,
LOCKTYPE_COVENANT_NIGHT_FAE = 157,
LOCKTYPE_COVENANT_VENTHYR = 158,
LOCKTYPE_COVENANT_KYRIAN = 159,
LOCKTYPE_COVENANT_NECROLORD = 160,
LOCKTYPE_ENGINEERING = 161,
LOCKTYPE_DRAGON_ISLES_HERBALISM = 162,
LOCKTYPE_MINING_2 = 163,
LOCKTYPE_ELUSIVE_HERBALISM = 166,
LOCKTYPE_ELUSIVE_MINING = 167,
LOCKTYPE_ENCHANTING = 169,
LOCKTYPE_DRAGON_ISLES_TREASURE = 170,
LOCKTYPE_DRAGON_ISLES_ALCHEMY_25 = 172,
LOCKTYPE_DRAGON_ISLES_BLACKSMITHING_25 = 173,
LOCKTYPE_DRAGON_ISLES_ENCHANTING_25 = 174,
LOCKTYPE_DRAGON_ISLES_ENGINEERING_25 = 175,
LOCKTYPE_DRAGON_ISLES_HERBALISM_25 = 176,
LOCKTYPE_DRAGON_ISLES_INSCRIPTION_25 = 177,
LOCKTYPE_DRAGON_ISLES_JEWELCRAFTING_25 = 178,
LOCKTYPE_DRAGON_ISLES_LEATHERWORKING_25 = 179,
LOCKTYPE_DRAGON_ISLES_MINING_25 = 180,
LOCKTYPE_DRAGON_ISLES_SKINNING_25 = 181,
LOCKTYPE_DRAGON_ISLES_TAILORING_25 = 182,
LOCKTYPE_OPEN_KNEELING_PLANT = 186,
LOCKTYPE_DRAGON_ISLES_MINING = 188,
LOCKTYPE_KHAZ_ALGAR_MINING = 193,
LOCKTYPE_KHAZ_ALGAR_HERBALISM = 194,
LOCKTYPE_KHAZ_ALGAR_ALCHEMY_25 = 195,
LOCKTYPE_KHAZ_ALGAR_BLACKSMITHING_25 = 196,
LOCKTYPE_KHAZ_ALGAR_ENCHANTING_25 = 197,
LOCKTYPE_KHAZ_ALGAR_ENGINEERING_25 = 198,
LOCKTYPE_KHAZ_ALGAR_HERBALISM_25 = 199,
LOCKTYPE_KHAZ_ALGAR_INSCRIPTION_25 = 200,
LOCKTYPE_KHAZ_ALGAR_JEWELCRAFTING_25 = 201,
LOCKTYPE_KHAZ_ALGAR_LEATHERWORKING_25 = 202,
LOCKTYPE_KHAZ_ALGAR_MINING_25 = 203,
LOCKTYPE_KHAZ_ALGAR_SKINNING_25 = 204,
LOCKTYPE_KHAZ_ALGAR_TAILORING_25 = 205
};
// this is important type for npcs!
enum TrainerType
{
TRAINER_TYPE_CLASS = 0,
};
// CreatureType.dbc (9.0.2.37176)
enum CreatureType
{
CREATURE_TYPE_BEAST = 1,
CREATURE_TYPE_DRAGONKIN = 2,
CREATURE_TYPE_DEMON = 3,
CREATURE_TYPE_ELEMENTAL = 4,
CREATURE_TYPE_GIANT = 5,
CREATURE_TYPE_UNDEAD = 6,
CREATURE_TYPE_HUMANOID = 7,
CREATURE_TYPE_CRITTER = 8,
CREATURE_TYPE_MECHANICAL = 9,
CREATURE_TYPE_NOT_SPECIFIED = 10,
CREATURE_TYPE_TOTEM = 11,
CREATURE_TYPE_NON_COMBAT_PET = 12,
CREATURE_TYPE_GAS_CLOUD = 13,
CREATURE_TYPE_WILD_PET = 14,
CREATURE_TYPE_ABERRATION = 15
};
uint32 const CREATURE_TYPEMASK_DEMON_OR_UNDEAD = (1 << (CREATURE_TYPE_DEMON-1)) | (1 << (CREATURE_TYPE_UNDEAD-1));
uint32 const CREATURE_TYPEMASK_HUMANOID_OR_UNDEAD = (1 << (CREATURE_TYPE_HUMANOID-1)) | (1 << (CREATURE_TYPE_UNDEAD-1));
uint32 const CREATURE_TYPEMASK_MECHANICAL_OR_ELEMENTAL = (1 << (CREATURE_TYPE_MECHANICAL-1)) | (1 << (CREATURE_TYPE_ELEMENTAL-1));
// CreatureFamily.dbc (11.2.5.62687)
enum CreatureFamily
{
CREATURE_FAMILY_NONE = 0,
CREATURE_FAMILY_WOLF = 1,
CREATURE_FAMILY_CAT = 2,
CREATURE_FAMILY_SPIDER = 3,
CREATURE_FAMILY_BEAR = 4,
CREATURE_FAMILY_BOAR = 5,
CREATURE_FAMILY_CROCOLISK = 6,
CREATURE_FAMILY_CARRION_BIRD = 7,
CREATURE_FAMILY_CRAB = 8,
CREATURE_FAMILY_GORILLA = 9,
CREATURE_FAMILY_RAPTOR = 11,
CREATURE_FAMILY_TALLSTRIDER = 12,
CREATURE_FAMILY_FELHUNTER = 15,
CREATURE_FAMILY_VOIDWALKER = 16,
CREATURE_FAMILY_SUCCUBUS = 17,
CREATURE_FAMILY_DOOMGUARD = 19,
CREATURE_FAMILY_SCORPID = 20,
CREATURE_FAMILY_TURTLE = 21,
CREATURE_FAMILY_IMP = 23,
CREATURE_FAMILY_BAT = 24,
CREATURE_FAMILY_HYENA = 25,
CREATURE_FAMILY_BIRD_OF_PREY = 26,
CREATURE_FAMILY_WIND_SERPENT = 27,
CREATURE_FAMILY_REMOTE_CONTROL = 28,
CREATURE_FAMILY_FELGUARD = 29,
CREATURE_FAMILY_DRAGONHAWK = 30,
CREATURE_FAMILY_RAVAGER = 31,
CREATURE_FAMILY_WARP_STALKER = 32,
CREATURE_FAMILY_SPOREBAT = 33,
CREATURE_FAMILY_RAY = 34,
CREATURE_FAMILY_SERPENT = 35,
CREATURE_FAMILY_MOTH = 37,
CREATURE_FAMILY_CHIMAERA = 38,
CREATURE_FAMILY_DEVILSAUR = 39,
CREATURE_FAMILY_GHOUL = 40,
CREATURE_FAMILY_AQIRI = 41,
CREATURE_FAMILY_WORM = 42,
CREATURE_FAMILY_CLEFTHOOF = 43,
CREATURE_FAMILY_WASP = 44,
CREATURE_FAMILY_CORE_HOUND = 45,
CREATURE_FAMILY_SPIRIT_BEAST = 46,
CREATURE_FAMILY_WATER_ELEMENTAL = 49,
CREATURE_FAMILY_FOX = 50,
CREATURE_FAMILY_MONKEY = 51,
CREATURE_FAMILY_HOUND = 52,
CREATURE_FAMILY_BEETLE = 53,
CREATURE_FAMILY_SHALE_BEAST = 55,
CREATURE_FAMILY_ZOMBIE = 56,
CREATURE_FAMILY_QA_TEST = 57,
CREATURE_FAMILY_HYDRA = 68,
CREATURE_FAMILY_FELIMP = 100,
CREATURE_FAMILY_VOIDLORD = 101,
CREATURE_FAMILY_SHIVARA = 102,
CREATURE_FAMILY_OBSERVER = 103,
CREATURE_FAMILY_WRATHGUARD = 104,
CREATURE_FAMILY_INFERNAL = 108,
CREATURE_FAMILY_FIREELEMENTAL = 116,
CREATURE_FAMILY_EARTHELEMENTAL = 117,
CREATURE_FAMILY_CRANE = 125,
CREATURE_FAMILY_WATERSTRIDER = 126,
CREATURE_FAMILY_RODENT = 127,
CREATURE_FAMILY_STONE_HOUND = 128,
CREATURE_FAMILY_GRUFFHORN = 129,
CREATURE_FAMILY_BASILISK = 130,
CREATURE_FAMILY_DIREHORN = 138,
CREATURE_FAMILY_STORMELEMENTAL = 145,
CREATURE_FAMILY_TORRORGUARD = 147,
CREATURE_FAMILY_ABYSSAL = 148,
CREATURE_FAMILY_RIVERBEAST = 150,
CREATURE_FAMILY_STAG = 151,
CREATURE_FAMILY_MECHANICAL = 154,
CREATURE_FAMILY_ABOMINATION = 155,
CREATURE_FAMILY_SCALEHIDE = 156,
CREATURE_FAMILY_OXEN = 157,
CREATURE_FAMILY_FEATHERMANE = 160,
CREATURE_FAMILY_LIZARD = 288,
CREATURE_FAMILY_PTERRORDAX = 290,
CREATURE_FAMILY_TOAD = 291,
CREATURE_FAMILY_CARAPID = 292,
CREATURE_FAMILY_BLOOD_BEAST = 296,
CREATURE_FAMILY_CAMEL = 298,
CREATURE_FAMILY_COURSER = 299,
CREATURE_FAMILY_MAMMOTH = 300,
CREATURE_FAMILY_INCUBUS = 302,
CREATURE_FAMILY_LESSER_DRAGONKIN = 303
};
enum CreatureTypeFlags
{
CREATURE_TYPE_FLAG_TAMEABLE = 0x00000001, // Makes the mob tameable (must also be a beast and have family set)
CREATURE_TYPE_FLAG_VISIBLE_TO_GHOSTS = 0x00000002, // Creature is also visible for not alive player. Allows gossip interaction if npcflag allows?
CREATURE_TYPE_FLAG_BOSS_MOB = 0x00000004, // Changes creature's visible level to "??" in the creature's portrait - Immune Knockback.
CREATURE_TYPE_FLAG_DO_NOT_PLAY_WOUND_ANIM = 0x00000008,
CREATURE_TYPE_FLAG_NO_FACTION_TOOLTIP = 0x00000010,
CREATURE_TYPE_FLAG_MORE_AUDIBLE = 0x00000020, // Sound related
CREATURE_TYPE_FLAG_SPELL_ATTACKABLE = 0x00000040,
CREATURE_TYPE_FLAG_INTERACT_WHILE_DEAD = 0x00000080, // Player can interact with the creature if creature is dead (not if player is dead)
CREATURE_TYPE_FLAG_SKIN_WITH_HERBALISM = 0x00000100, // Can be looted by herbalist
CREATURE_TYPE_FLAG_SKIN_WITH_MINING = 0x00000200, // Can be looted by miner
CREATURE_TYPE_FLAG_NO_DEATH_MESSAGE = 0x00000400, // Death event will not show up in combat log
CREATURE_TYPE_FLAG_ALLOW_MOUNTED_COMBAT = 0x00000800, // Creature can remain mounted when entering combat
CREATURE_TYPE_FLAG_CAN_ASSIST = 0x00001000, // ? Can aid any player in combat if in range?
CREATURE_TYPE_FLAG_NO_PET_BAR = 0x00002000,
CREATURE_TYPE_FLAG_MASK_UID = 0x00004000,
CREATURE_TYPE_FLAG_SKIN_WITH_ENGINEERING = 0x00008000, // Can be looted by engineer
CREATURE_TYPE_FLAG_TAMEABLE_EXOTIC = 0x00010000, // Can be tamed by hunter as exotic pet
CREATURE_TYPE_FLAG_USE_MODEL_COLLISION_SIZE = 0x00020000, // Collision related. (always using default collision box?)
CREATURE_TYPE_FLAG_ALLOW_INTERACTION_WHILE_IN_COMBAT = 0x00040000,
CREATURE_TYPE_FLAG_COLLIDE_WITH_MISSILES = 0x00080000, // Projectiles can collide with this creature - interacts with TARGET_DEST_TRAJ
CREATURE_TYPE_FLAG_NO_NAME_PLATE = 0x00100000,
CREATURE_TYPE_FLAG_DO_NOT_PLAY_MOUNTED_ANIMATIONS = 0x00200000,
CREATURE_TYPE_FLAG_LINK_ALL = 0x00400000,
CREATURE_TYPE_FLAG_INTERACT_ONLY_WITH_CREATOR = 0x00800000,
CREATURE_TYPE_FLAG_DO_NOT_PLAY_UNIT_EVENT_SOUNDS = 0x01000000,
CREATURE_TYPE_FLAG_HAS_NO_SHADOW_BLOB = 0x02000000,
CREATURE_TYPE_FLAG_TREAT_AS_RAID_UNIT = 0x04000000, //!< Creature can be targeted by spells that require target to be in caster's party/raid
CREATURE_TYPE_FLAG_FORCE_GOSSIP = 0x08000000, // Allows the creature to display a single gossip option.
CREATURE_TYPE_FLAG_DO_NOT_SHEATHE = 0x10000000,
CREATURE_TYPE_FLAG_DO_NOT_TARGET_ON_INTERACTION = 0x20000000,
CREATURE_TYPE_FLAG_DO_NOT_RENDER_OBJECT_NAME = 0x40000000,
CREATURE_TYPE_FLAG_QUEST_BOSS = 0x80000000 // Not verified
};
enum CreatureTypeFlags2
{
CREATURE_TYPE_FLAG_2_UNK1 = 0x00000001,
CREATURE_TYPE_FLAG_2_UNK2 = 0x00000002,
CREATURE_TYPE_FLAG_2_UNK3 = 0x00000004,
CREATURE_TYPE_FLAG_2_UNK4 = 0x00000008,
CREATURE_TYPE_FLAG_2_UNK5 = 0x00000010,
CREATURE_TYPE_FLAG_2_UNK6 = 0x00000020,
CREATURE_TYPE_FLAG_2_UNK7 = 0x00000040,
CREATURE_TYPE_FLAG_2_UNK8 = 0x00000080
};
enum class CreatureClassifications : uint32
{
Normal = 0,
Elite = 1,
RareElite = 2,
Obsolete = 3,
Rare = 4,
Trivial = 5,
MinusMob = 6
};
enum class StringIdType : int32
{
Template = 0,
Spawn = 1,
Script = 2
};
// Holidays.dbc (9.0.2.37176)
enum HolidayIds
{
HOLIDAY_NONE = 0,
HOLIDAY_FIREWORKS_SPECTACULAR = 62,
HOLIDAY_FEAST_OF_WINTER_VEIL = 141,
HOLIDAY_NOBLEGARDEN = 181,
HOLIDAY_CHILDRENS_WEEK = 201,
HOLIDAY_CALL_TO_ARMS_AV_OLD = 283,
HOLIDAY_CALL_TO_ARMS_WG_OLD = 284,
HOLIDAY_CALL_TO_ARMS_AB_OLD = 285,
HOLIDAY_HARVEST_FESTIVAL = 321,
HOLIDAY_HALLOWS_END = 324,
HOLIDAY_LUNAR_FESTIVAL = 327,
HOLIDAY_LOVE_IS_IN_THE_AIR_OLD = 335,
HOLIDAY_MIDSUMMER_FIRE_FESTIVAL = 341,
HOLIDAY_CALL_TO_ARMS_ES_OLD = 353,
HOLIDAY_BREWFEST = 372,
HOLIDAY_PIRATES_DAY = 398,
HOLIDAY_CALL_TO_ARMS_SA_OLD = 400,
HOLIDAY_PILGRIMS_BOUNTY = 404,
HOLIDAY_LK_LAUNCH = 406,
HOLIDAY_DAY_OF_THE_DEAD = 409,
HOLIDAY_CALL_TO_ARMS_IC_OLD = 420,
HOLIDAY_LOVE_IS_IN_THE_AIR = 423,
HOLIDAY_KALU_AK_FISHING_DERBY = 424,
HOLIDAY_CALL_TO_ARMS_BG = 435,
HOLIDAY_CALL_TO_ARMS_TP = 436,
HOLIDAY_RATED_BG_15_VS_15 = 442,
HOLIDAY_RATED_BG_25_VS_25 = 443,
HOLIDAY_WOW_7TH_ANNIVERSARY = 467,
HOLIDAY_DARKMOON_FAIRE = 479,
HOLIDAY_WOW_8TH_ANNIVERSARY = 484,
HOLIDAY_CALL_TO_ARMS_SM = 488,
HOLIDAY_CALL_TO_ARMS_TK = 489,
HOLIDAY_CALL_TO_ARMS_AV = 490,
HOLIDAY_CALL_TO_ARMS_AB = 491,
HOLIDAY_CALL_TO_ARMS_ES = 492,
HOLIDAY_CALL_TO_ARMS_IC = 493,
HOLIDAY_CALL_TO_ARMS_SM_OLD = 494,
HOLIDAY_CALL_TO_ARMS_SA = 495,
HOLIDAY_CALL_TO_ARMS_TK_OLD = 496,
HOLIDAY_CALL_TO_ARMS_BG_OLD = 497,
HOLIDAY_CALL_TO_ARMS_TP_OLD = 498,
HOLIDAY_CALL_TO_ARMS_WG = 499,
HOLIDAY_WOW_9TH_ANNIVERSARY = 509,
HOLIDAY_WOW_10TH_ANNIVERSARY = 514,
HOLIDAY_CALL_TO_ARMS_DG = 515,
HOLIDAY_CALL_TO_ARMS_DG_OLD = 516,
HOLIDAY_TIMEWALKING_DUNGEON_EVENT_BC_DEFAULT = 559,
HOLIDAY_APEXIS_BONUS_EVENT_DEFAULT = 560,
HOLIDAY_ARENA_SKIRMISH_BONUS_EVENT = 561,
HOLIDAY_TIMEWALKING_DUNGEON_EVENT_LK_DEFAULT = 562,
HOLIDAY_BATTLEGROUND_BONUS_EVENT_DEFAULT = 563,
HOLIDAY_DRAENOR_DUNGEON_EVENT_DEFAULT = 564,
HOLIDAY_PET_BATTLE_BONUS_EVENT_DEFAULT = 565,
HOLIDAY_WOW_11TH_ANNIVERSARY = 566,
HOLIDAY_TIMEWALKING_DUNGEON_EVENT_CATA_DEFAULT = 587,
HOLIDAY_WOW_12TH_ANNIVERSARY = 589,
HOLIDAY_WOW_ANNIVERSARY = 590,
HOLIDAY_LEGION_DUNGEON_EVENT_DEFAULT = 591,
HOLIDAY_WORLD_QUEST_BONUS_EVENT_DEFAULT = 592,
HOLIDAY_APEXIS_BONUS_EVENT_EU = 593,
HOLIDAY_APEXIS_BONUS_EVENT_TW_CN = 594,
HOLIDAY_APEXIS_BONUS_EVENT_KR = 595,
HOLIDAY_DRAENOR_DUNGEON_EVENT_EU = 596,
HOLIDAY_DRAENOR_DUNGEON_EVENT_TW_CN = 597,
HOLIDAY_DRAENOR_DUNGEON_EVENT_KR = 598,
HOLIDAY_PET_BATTLE_BONUS_EVENT_EU = 599,
HOLIDAY_PET_BATTLE_BONUS_EVENT_TW_CN = 600,
HOLIDAY_PET_BATTLE_BONUS_EVENT_KR = 601,
HOLIDAY_BATTLEGROUND_BONUS_EVENT_EU = 602,
HOLIDAY_BATTLEGROUND_BONUS_EVENT_TW_CN = 603,
HOLIDAY_BATTLEGROUND_BONUS_EVENT_KR = 604,
HOLIDAY_LEGION_DUNGEON_EVENT_EU = 605,
HOLIDAY_LEGION_DUNGEON_EVENT_TW_CN = 606,
HOLIDAY_LEGION_DUNGEON_EVENT_KR = 607,
HOLIDAY_ARENA_SKIRMISH_BONUS_EVENT_EU = 610,
HOLIDAY_ARENA_SKIRMISH_BONUS_EVENT_TW_CN = 611,
HOLIDAY_ARENA_SKIRMISH_BONUS_EVENT_KR = 612,
HOLIDAY_WORLD_QUEST_BONUS_EVENT_EU = 613,
HOLIDAY_WORLD_QUEST_BONUS_EVENT_TW_CN = 614,
HOLIDAY_WORLD_QUEST_BONUS_EVENT_KR = 615,
HOLIDAY_TIMEWALKING_DUNGEON_EVENT_LK_EU = 616,
HOLIDAY_TIMEWALKING_DUNGEON_EVENT_LK_TW_CN = 617,
HOLIDAY_TIMEWALKING_DUNGEON_EVENT_LK_KR = 618,
HOLIDAY_TIMEWALKING_DUNGEON_EVENT_BC_EU = 622,
HOLIDAY_TIMEWALKING_DUNGEON_EVENT_BC_TW_CN = 623,
HOLIDAY_TIMEWALKING_DUNGEON_EVENT_BC_KR = 624,
HOLIDAY_TIMEWALKING_DUNGEON_EVENT_CATA_EU = 628,
HOLIDAY_TIMEWALKING_DUNGEON_EVENT_CATA_TW_CN = 629,
HOLIDAY_TIMEWALKING_DUNGEON_EVENT_CATA_KR = 630,
HOLIDAY_HATCHING_OF_THE_HIPPOGRYPHS = 634,
HOLIDAY_VOLUNTEER_GUARD_DAY = 635,
HOLIDAY_CALL_OF_THE_SCARAB = 638,
HOLIDAY_THOUSAND_BOAT_BASH = 642,
HOLIDAY_TIMEWALKING_DUNGEON_EVENT_MOP_DEFAULT = 643,
HOLIDAY_UNGORO_MADNESS = 644,
HOLIDAY_SPRING_BALLOON_FESTIVAL = 645,
HOLIDAY_KIRIN_TOR_TAVERN_CRAWL = 646,
HOLIDAY_MARCH_OF_THE_TADPOLES = 647,
HOLIDAY_GLOWCAP_FESTIVAL = 648,
HOLIDAY_TIMEWALKING_DUNGEON_EVENT_MOP_EU = 652,
HOLIDAY_TIMEWALKING_DUNGEON_EVENT_MOP_TW_CN = 654,
HOLIDAY_TIMEWALKING_DUNGEON_EVENT_MOP_KR = 656,
HOLIDAY_FIREWORKS_CELEBRATION = 658,
HOLIDAY_PVP_BRAWL_GL_1984 = 659,
HOLIDAY_PVP_BRAWL_SS_VS_TM_1984 = 660,
HOLIDAY_PVP_BRAWL_SS_VS_TM_US = 662,
HOLIDAY_PVP_BRAWL_GL_US = 663,
HOLIDAY_PVP_BRAWL_WS_US = 664,
HOLIDAY_PVP_BRAWL_AB_US = 666,
HOLIDAY_PVP_BRAWL_PH_US = 667,
HOLIDAY_PVP_BRAWL_SS_VS_TM_EU = 669,
HOLIDAY_PVP_BRAWL_GL_EU = 670,
HOLIDAY_PVP_BRAWL_WS_EU = 671,
HOLIDAY_PVP_BRAWL_AB_EU = 673,
HOLIDAY_PVP_BRAWL_PH_EU = 674,
HOLIDAY_PVP_BRAWL_SS_VS_TM_TW_CN = 676,
HOLIDAY_PVP_BRAWL_GL_TW_CN = 677,
HOLIDAY_PVP_BRAWL_WS_TW_CN = 678,
HOLIDAY_PVP_BRAWL_AB_TW_CN = 680,
HOLIDAY_PVP_BRAWL_PH_TW_CN = 681,
HOLIDAY_PVP_BRAWL_SS_VS_TM_KR = 683,
HOLIDAY_PVP_BRAWL_GL_KR = 684,
HOLIDAY_PVP_BRAWL_WS_KR = 685,
HOLIDAY_PVP_BRAWL_AB_KR = 687,
HOLIDAY_PVP_BRAWL_PH_KR = 688,
HOLIDAY_TRIAL_OF_STYLE = 691,
HOLIDAY_AUCTION_HOUSE_DANCE_PARTY = 692,
HOLIDAY_WOW_13TH_ANNIVERSARY = 693,
HOLIDAY_MOOKIN_FESTIVAL = 694,
HOLIDAY_THE_GREAT_GNOMEREGAN_RUN = 696,
HOLIDAY_PVP_BRAWL_WS_1984 = 701,
HOLIDAY_PVP_BRAWL_DS_US = 702,
HOLIDAY_PVP_BRAWL_DS_EU = 704,
HOLIDAY_PVP_BRAWL_DS_TW_CN = 705,
HOLIDAY_PVP_BRAWL_DS_KR = 706,
HOLIDAY_TOMB_OF_SARGERAS_NORMAL_HEROIC_DEFAULT = 710, // Tomb of Sargeras: Kil'jaeden awaits!
HOLIDAY_TOMB_OF_SARGERAS_NORMAL_HEROIC_EU = 711, // Tomb of Sargeras: Kil'jaeden awaits!
HOLIDAY_TOMB_OF_SARGERAS_NORMAL_HEROIC_TW_CN = 712, // Tomb of Sargeras: Kil'jaeden awaits!
HOLIDAY_TOMB_OF_SARGERAS_NORMAL_HEROIC_KR = 713, // Tomb of Sargeras: Kil'jaeden awaits!
HOLIDAY_TOMB_OF_SARGERAS_RF_1_SECTION_DEFAULT = 714, // Tomb of Sargeras: The Gates of Hell.
HOLIDAY_TOMB_OF_SARGERAS_RF_1_SECTION_EU = 715, // Tomb of Sargeras: The Gates of Hell.
HOLIDAY_TOMB_OF_SARGERAS_RF_1_SECTION_TW_CN = 716, // Tomb of Sargeras: The Gates of Hell.
HOLIDAY_TOMB_OF_SARGERAS_RF_1_SECTION_KR = 717, // Tomb of Sargeras: The Gates of Hell.
HOLIDAY_TOMB_OF_SARGERAS_RF_2_SECTION_DEFAULT = 718, // Tomb of Sargeras: Wailing Halls.
HOLIDAY_TOMB_OF_SARGERAS_RF_2_SECTION_EU = 719, // Tomb of Sargeras: Wailing Halls.
HOLIDAY_TOMB_OF_SARGERAS_RF_2_SECTION_TW_CN = 720, // Tomb of Sargeras: Wailing Halls.
HOLIDAY_TOMB_OF_SARGERAS_RF_2_SECTION_KR = 721, // Tomb of Sargeras: Wailing Halls.
HOLIDAY_TOMB_OF_SARGERAS_RF_3_SECTION_DEFAULT = 722, // Tomb of Sargeras: Chamber of the Avatar.
HOLIDAY_TOMB_OF_SARGERAS_RF_3_SECTION_EU = 723, // Tomb of Sargeras: Chamber of the Avatar.
HOLIDAY_TOMB_OF_SARGERAS_RF_3_SECTION_TW_CN = 724, // Tomb of Sargeras: Chamber of the Avatar.
HOLIDAY_TOMB_OF_SARGERAS_RF_3_SECTION_KR = 725, // Tomb of Sargeras: Chamber of the Avatar.
HOLIDAY_TOMB_OF_SARGERAS_FINAL_ENCOUNTER_DEFAULT = 726, // Tomb of Sargeras: Deceiver's Fall. Kil'jaeden awaits!
HOLIDAY_TOMB_OF_SARGERAS_FINAL_ENCOUNTER_EU = 727, // Tomb of Sargeras: Deceiver's Fall. Kil'jaeden awaits!
HOLIDAY_TOMB_OF_SARGERAS_FINAL_ENCOUNTER_TW_CN = 728, // Tomb of Sargeras: Deceiver's Fall. Kil'jaeden awaits!
HOLIDAY_TOMB_OF_SARGERAS_FINAL_ENCOUNTER_KR = 729, // Tomb of Sargeras: Deceiver's Fall. Kil'jaeden awaits!
HOLIDAY_TOMB_OF_SARGERAS_NORMAL_HEROIC_768 = 730, // Tomb of Sargeras: Kil'jaeden awaits!
HOLIDAY_PVP_BRAWL_DS_1984 = 736,
HOLIDAY_PVP_BRAWL_AB_1984 = 737,
HOLIDAY_7_3_SHADOWS_OF_ARGUS_WEEK_2_UNLOCKS_DEFAULT = 744, // In part 2 of Shadows of Argus, finish the story of Krokuun and travel to the ruined draenei city of Mac'Aree. Gain access to Invasion Points and thwart the Burning Legion's plans on other worlds. Additional World Quests become available.
HOLIDAY_7_3_SHADOWS_OF_ARGUS_WEEK_3_UNLOCKS_DEFAULT = 745, // In part 3 of Shadows of Argus, finish the Shadows of Argus storyline, unlock all World Quests, and venture into the new dungeon, the Seat of the Triumvirate. Activate your Netherlight Crucible on the Vindicaar to begin forging Relics.
HOLIDAY_7_3_SHADOWS_OF_ARGUS_WEEK_2_UNLOCKS_KR = 746, // In part 2 of Shadows of Argus, finish the story of Krokuun and travel to the ruined draenei city of Mac'Aree. Gain access to Invasion Points and thwart the Burning Legion's plans on other worlds. Additional World Quests become available.
HOLIDAY_7_3_SHADOWS_OF_ARGUS_WEEK_2_UNLOCKS_EU = 747, // In part 2 of Shadows of Argus, finish the story of Krokuun and travel to the ruined draenei city of Mac'Aree. Gain access to Invasion Points and thwart the Burning Legion's plans on other worlds. Additional World Quests become available.
HOLIDAY_7_3_SHADOWS_OF_ARGUS_WEEK_2_UNLOCKS_TW_CN = 748, // In part 2 of Shadows of Argus, finish the story of Krokuun and travel to the ruined draenei city of Mac'Aree. Gain access to Invasion Points and thwart the Burning Legion's plans on other worlds. Additional World Quests become available.
HOLIDAY_7_3_SHADOWS_OF_ARGUS_WEEK_3_UNLOCKS_TW_CN = 749, // In part 3 of Shadows of Argus, finish the Shadows of Argus storyline, unlock all World Quests, and venture into the new dungeon, the Seat of the Triumvirate. Activate your Netherlight Crucible on the Vindicaar to begin forging Relics.
HOLIDAY_7_3_SHADOWS_OF_ARGUS_WEEK_3_UNLOCKS_KR = 750, // In part 3 of Shadows of Argus, finish the Shadows of Argus storyline, unlock all World Quests, and venture into the new dungeon, the Seat of the Triumvirate. Activate your Netherlight Crucible on the Vindicaar to begin forging Relics.
HOLIDAY_7_3_SHADOWS_OF_ARGUS_WEEK_3_UNLOCKS_EU = 751, // In part 3 of Shadows of Argus, finish the Shadows of Argus storyline, unlock all World Quests, and venture into the new dungeon, the Seat of the Triumvirate. Activate your Netherlight Crucible on the Vindicaar to begin forging Relics.
HOLIDAY_ANTORUS_BURNING_THRONE_RF_2_SECTION_TW_CN = 756, // Antorus, the Burning Throne: Forbidden Descent.
HOLIDAY_ANTORUS_BURNING_THRONE_RF_2_SECTION_EU = 757, // Antorus, the Burning Throne: Forbidden Descent.
HOLIDAY_ANTORUS_BURNING_THRONE_RF_2_SECTION_KR = 758, // Antorus, the Burning Throne: Forbidden Descent.
HOLIDAY_ANTORUS_BURNING_THRONE_RF_2_SECTION_DEFAULT = 759, // Antorus, the Burning Throne: Forbidden Descent.
HOLIDAY_ANTORUS_BURNING_THRONE_RF_3_SECTION_TW_CN = 760, // Antorus, the Burning Throne: Hope's End.
HOLIDAY_ANTORUS_BURNING_THRONE_RF_3_SECTION_EU = 761, // Antorus, the Burning Throne: Hope's End.
HOLIDAY_ANTORUS_BURNING_THRONE_RF_3_SECTION_KR = 762, // Antorus, the Burning Throne: Hope's End.
HOLIDAY_ANTORUS_BURNING_THRONE_RF_3_SECTION_DEFAULT = 763, // Antorus, the Burning Throne: Hope's End.
HOLIDAY_ANTORUS_BURNING_THRONE_FINAL_SECTION_TW_CN = 764, // Antorus, the Burning Throne: Seat of the Pantheon.
HOLIDAY_ANTORUS_BURNING_THRONE_FINAL_SECTION_EU = 765, // Antorus, the Burning Throne: Seat of the Pantheon.
HOLIDAY_ANTORUS_BURNING_THRONE_FINAL_SECTION_KR = 766, // Antorus, the Burning Throne: Seat of the Pantheon.
HOLIDAY_ANTORUS_BURNING_THRONE_FINAL_SECTION_DEFAULT= 767, // Antorus, the Burning Throne: Seat of the Pantheon.
HOLIDAY_ANTORUS_BURNING_THRONE_RF_1_SECTION_TW_CN = 768, // Antorus, the Burning Throne: Light's Breach.
HOLIDAY_ANTORUS_BURNING_THRONE_RF_1_SECTION_EU = 769, // Antorus, the Burning Throne: Light's Breach.
HOLIDAY_ANTORUS_BURNING_THRONE_RF_1_SECTION_KR = 770, // Antorus, the Burning Throne: Light's Breach.
HOLIDAY_ANTORUS_BURNING_THRONE_RF_1_SECTION_DEFAULT = 771, // Antorus, the Burning Throne: Light's Breach.
HOLIDAY_ANTORUS_BURNING_THRONE_NORMAL_HEROIC_TW_CN = 772, // Antorus, the Burning Throne: Argus awaits!
HOLIDAY_ANTORUS_BURNING_THRONE_NORMAL_HEROIC_EU = 773, // Antorus, the Burning Throne: Argus awaits!
HOLIDAY_ANTORUS_BURNING_THRONE_NORMAL_HEROIC_KR = 774, // Antorus, the Burning Throne: Argus awaits!
HOLIDAY_ANTORUS_BURNING_THRONE_NORMAL_HEROIC_DEFAULT= 775, // Antorus, the Burning Throne: Argus awaits!
HOLIDAY_ANTORUS_BURNING_THRONE_NORMAL_HEROIC_768 = 776, // Antorus, the Burning Throne: Argus awaits!
HOLIDAY_WOW_14TH_ANNIVERSARY = 807,
HOLIDAY_WOW_15TH_ANNIVERSARY = 808,
HOLIDAY_WAR_OF_THE_THORNS = 918, // Conflict emerges in Darkshore as the Horde and Alliance battle for control over Teldrassil in this limited time event!
HOLIDAY_ULDIR_NORMAL_HEROIC_768 = 920, // Uldir: G'huun awaits!
HOLIDAY_ULDIR_NORMAL_HEROIC_DEFAULT = 921, // Uldir: G'huun awaits!
HOLIDAY_ULDIR_NORMAL_HEROIC_KR = 922, // Uldir: G'huun awaits!
HOLIDAY_ULDIR_NORMAL_HEROIC_EU = 923, // Uldir: G'huun awaits!
HOLIDAY_ULDIR_NORMAL_HEROIC_TW_CN = 924, // Uldir: G'huun awaits!
HOLIDAY_ULDIR_RF_1_SECTION_DEFAULT = 925, // Uldir: Halls of Containment.
HOLIDAY_ULDIR_RF_1_SECTION_KR = 926, // Uldir: Halls of Containment.
HOLIDAY_ULDIR_RF_1_SECTION_EU = 927, // Uldir: Halls of Containment.
HOLIDAY_ULDIR_RF_1_SECTION_TW_CN = 928, // Uldir: Halls of Containment.
HOLIDAY_ULDIR_RF_2_SECTION_DEFAULT = 929, // Uldir: Crimson Descent.
HOLIDAY_ULDIR_RF_2_SECTION_KR = 930, // Uldir: Crimson Descent.
HOLIDAY_ULDIR_RF_2_SECTION_EU = 931, // Uldir: Crimson Descent.
HOLIDAY_ULDIR_RF_2_SECTION_TW_CN = 932, // Uldir: Crimson Descent.
HOLIDAY_ULDIR_FINAL_SECTION_DEFAULT = 933, // Uldir: Heart of Corruption.
HOLIDAY_ULDIR_FINAL_SECTION_KR = 934, // Uldir: Heart of Corruption.
HOLIDAY_ULDIR_FINAL_SECTION_EU = 935, // Uldir: Heart of Corruption.
HOLIDAY_ULDIR_FINAL_SECTION_TW_CN = 936, // Uldir: Heart of Corruption.
HOLIDAY_BATTLE_FOR_AZEROTH_DUNGEON_EVENT_EU = 938,
HOLIDAY_BATTLE_FOR_AZEROTH_DUNGEON_EVENT_TW_CN = 939,
HOLIDAY_BATTLE_FOR_AZEROTH_DUNGEON_EVENT_KR = 940,
HOLIDAY_BATTLE_FOR_AZEROTH_DUNGEON_EVENT_DEFAULT = 941,
HOLIDAY_WAR_OF_THE_THORNS_EU = 956, // Conflict emerges in Darkshore as the Horde and Alliance battle for control over Teldrassil in this limited time event!
HOLIDAY_WAR_OF_THE_THORNS_TW_CN = 957, // Conflict emerges in Darkshore as the Horde and Alliance battle for control over Teldrassil in this limited time event!
HOLIDAY_WAR_OF_THE_THORNS_KR = 958, // Conflict emerges in Darkshore as the Horde and Alliance battle for control over Teldrassil in this limited time event!
HOLIDAY_WAR_OF_THE_THORNS_320 = 959, // Conflict emerges in Darkshore as the Horde and Alliance battle for control over Teldrassil in this limited time event!
HOLIDAY_WAR_OF_THE_THORNS_US = 965, // Conflict emerges in Darkshore as the Horde and Alliance battle for control over Teldrassil in this limited time event!
HOLIDAY_WAR_OF_THE_THORNS_512 = 967, // Conflict emerges in Darkshore as the Horde and Alliance battle for control over Teldrassil in this limited time event!
HOLIDAY_WAR_OF_THE_THORNS_128 = 973, // Conflict emerges in Darkshore as the Horde and Alliance battle for control over Teldrassil in this limited time event!
HOLIDAY_ULDIR_NORMAL_HEROIC = 979, // Uldir: G'huun awaits!
HOLIDAY_BATTLE_OF_DAZARALOR_NORMAL_HEROIC_DEFAULT = 1025, // Battle of Dazar'alor raid
HOLIDAY_BATTLE_OF_DAZARALOR_NORMAL_HEROIC_KR = 1026, // Battle of Dazar'alor raid
HOLIDAY_BATTLE_OF_DAZARALOR_NORMAL_HEROIC_EU = 1027, // Battle of Dazar'alor raid
HOLIDAY_BATTLE_OF_DAZARALOR_NORMAL_HEROIC_TW_CN = 1028, // Battle of Dazar'alor raid
HOLIDAY_BATTLE_OF_DAZARALOR_NORMAL_HEROIC_768 = 1029, // Battle of Dazar'alor raid
HOLIDAY_BATTLE_OF_DAZARALOR_RF_1_SECTION_DEFAULT = 1030, // Battle of Dazar'alor: Siege of Dazar'alor.
HOLIDAY_BATTLE_OF_DAZARALOR_RF_1_SECTION_KR = 1031, // Battle of Dazar'alor: Siege of Dazar'alor.
HOLIDAY_BATTLE_OF_DAZARALOR_RF_1_SECTION_EU = 1032, // Battle of Dazar'alor: Siege of Dazar'alor.
HOLIDAY_BATTLE_OF_DAZARALOR_RF_1_SECTION_TW_CN = 1033, // Battle of Dazar'alor: Siege of Dazar'alor.
HOLIDAY_BATTLE_OF_DAZARALOR_RF_2_SECTION_DEFAULT = 1034, // Battle of Dazar'alor: Empire's Fall.
HOLIDAY_BATTLE_OF_DAZARALOR_RF_2_SECTION_KR = 1035, // Battle of Dazar'alor: Empire's Fall.
HOLIDAY_BATTLE_OF_DAZARALOR_RF_2_SECTION_EU = 1036, // Battle of Dazar'alor: Empire's Fall.
HOLIDAY_BATTLE_OF_DAZARALOR_RF_2_SECTION_TW_CN = 1037, // Battle of Dazar'alor: Empire's Fall.
HOLIDAY_BATTLE_OF_DAZARALOR_RF_3_SECTION_DEFAULT = 1038, // Battle of Dazar'alor: Might of the Alliance for Alliance players, and Victory or Death for Horde players.
HOLIDAY_BATTLE_OF_DAZARALOR_RF_3_SECTION_KR = 1039, // Battle of Dazar'alor: Might of the Alliance for Alliance players, and Victory or Death for Horde players.
HOLIDAY_BATTLE_OF_DAZARALOR_RF_3_SECTION_EU = 1040, // Battle of Dazar'alor: Might of the Alliance for Alliance players, and Victory or Death for Horde players.
HOLIDAY_BATTLE_OF_DAZARALOR_RF_3_SECTION_TW_CN = 1041, // Battle of Dazar'alor: Might of the Alliance for Alliance players, and Victory or Death for Horde players.
HOLIDAY_PVP_BRAWL_COOKING_IMPOSSIBLE_US = 1047,
HOLIDAY_PVP_BRAWL_COOKING_IMPOSSIBLE_KR = 1048,
HOLIDAY_PVP_BRAWL_COOKING_IMPOSSIBLE_EU = 1049,
HOLIDAY_PVP_BRAWL_COOKING_IMPOSSIBLE_1984 = 1050,
HOLIDAY_PVP_BRAWL_COOKING_IMPOSSIBLE_TW_CN = 1051,
HOLIDAY_WANDERERS_FESTIVAL = 1052,
HOLIDAY_FREE_TSHIRT_DAY = 1053,
HOLIDAY_LUMINOUS_LUMINARIES = 1054,
HOLIDAY_TIMEWALKING_DUNGEON_EVENT_WOD_DEFAULT = 1056,
HOLIDAY_LUMINOUS_LUMINARIES_64 = 1062,
HOLIDAY_TIMEWALKING_DUNGEON_EVENT_WOD_EU = 1063,
HOLIDAY_TIMEWALKING_DUNGEON_EVENT_WOD_KR = 1065,
HOLIDAY_TIMEWALKING_DUNGEON_EVENT_WOD_TW_CN = 1068,
HOLIDAY_CRUCIBLE_OF_STORMS_NORMAL_HEROIC_DEFAULT = 1069, // Delve into the chambers beneath Stormsong Valley to uncover the source of the shadow spreading across the land, now available on Normal or Heroic difficulty.
HOLIDAY_CRUCIBLE_OF_STORMS_NORMAL_HEROIC_KR = 1070, // Delve into the chambers beneath Stormsong Valley to uncover the source of the shadow spreading across the land, now available on Normal or Heroic difficulty.
HOLIDAY_CRUCIBLE_OF_STORMS_NORMAL_HEROIC_EU = 1071, // Delve into the chambers beneath Stormsong Valley to uncover the source of the shadow spreading across the land, now available on Normal or Heroic difficulty.
HOLIDAY_CRUCIBLE_OF_STORMS_NORMAL_HEROIC_TW_CN = 1072, // Delve into the chambers beneath Stormsong Valley to uncover the source of the shadow spreading across the land, now available on Normal or Heroic difficulty.
HOLIDAY_CRUCIBLE_OF_STORMS_NORMAL_HEROIC = 1073, // Delve into the chambers beneath Stormsong Valley to uncover the source of the shadow spreading across the land, now available on Normal or Heroic difficulty.
HOLIDAY_CRUCIBLE_OF_STORMS_RAID_FINDER_DEFAULT = 1074, // Mythic difficulty of the Crucible of Storms raid awaits the boldest of adventurers, and players may now use the Raid Finder to access the raid.
HOLIDAY_CRUCIBLE_OF_STORMS_RAID_FINDER_EU = 1075, // Mythic difficulty of the Crucible of Storms raid awaits the boldest of adventurers, and players may now use the Raid Finder to access the raid.
HOLIDAY_CRUCIBLE_OF_STORMS_RAID_FINDER_KR = 1076, // Mythic difficulty of the Crucible of Storms raid awaits the boldest of adventurers, and players may now use the Raid Finder to access the raid.
HOLIDAY_CRUCIBLE_OF_STORMS_RAID_FINDER_TW_CN = 1077, // Mythic difficulty of the Crucible of Storms raid awaits the boldest of adventurers, and players may now use the Raid Finder to access the raid.
HOLIDAY_CRUCIBLE_OF_STORMS_RAID_FINDER = 1078, // Mythic difficulty of the Crucible of Storms raid awaits the boldest of adventurers, and players may now use the Raid Finder to access the raid.
HOLIDAY_THE_ETERNAL_PALACE_DEFAULT = 1098, // The dangers of Nazjatar were merely preamble. Breach the palace gates and descend into Azshara's deadly domain.
HOLIDAY_THE_ETERNAL_PALACE_KR = 1099, // The dangers of Nazjatar were merely preamble. Breach the palace gates and descend into Azshara's deadly domain.
HOLIDAY_THE_ETERNAL_PALACE_EU = 1100, // The dangers of Nazjatar were merely preamble. Breach the palace gates and descend into Azshara's deadly domain.
HOLIDAY_THE_ETERNAL_PALACE_TW_CN = 1101, // The dangers of Nazjatar were merely preamble. Breach the palace gates and descend into Azshara's deadly domain.
HOLIDAY_THE_ETERNAL_PALACE_RAID_FINDER_DEFAULT = 1102, // Mythic difficulty of The Eternal Palace raid awaits the boldest of adventurers, and players may now use the Raid Finder to access the raid.
HOLIDAY_THE_ETERNAL_PALACE_RAID_FINDER_KR = 1103, // Mythic difficulty of The Eternal Palace raid awaits the boldest of adventurers, and players may now use the Raid Finder to access the raid.
HOLIDAY_THE_ETERNAL_PALACE_RAID_FINDER_EU = 1104, // Mythic difficulty of The Eternal Palace raid awaits the boldest of adventurers, and players may now use the Raid Finder to access the raid.
HOLIDAY_THE_ETERNAL_PALACE_RAID_FINDER_TW_CN = 1105, // Mythic difficulty of The Eternal Palace raid awaits the boldest of adventurers, and players may now use the Raid Finder to access the raid.
HOLIDAY_THE_ETERNAL_PALACE_RF_2_SECTION_EU = 1106, // The Eternal Palace: Depths of the Devoted.
HOLIDAY_THE_ETERNAL_PALACE_RF_2_SECTION_TW_CN = 1107, // The Eternal Palace: Depths of the Devoted.
HOLIDAY_THE_ETERNAL_PALACE_FINAL_SECTION_DEFAULT = 1108, // The Eternal Palace: The Circle of Stars.
HOLIDAY_THE_ETERNAL_PALACE_FINAL_SECTION_KR = 1109, // The Eternal Palace: The Circle of Stars.
HOLIDAY_THE_ETERNAL_PALACE_FINAL_SECTION_EU = 1110, // The Eternal Palace: The Circle of Stars.
HOLIDAY_THE_ETERNAL_PALACE_FINAL_SECTION_TW_CN = 1111, // The Eternal Palace: The Circle of Stars.
HOLIDAY_THE_ETERNAL_PALACE_RF_2_SECTION_KR = 1112, // The Eternal Palace: Depths of the Devoted.
HOLIDAY_THE_ETERNAL_PALACE_RF_2_SECTION_DEFAULT = 1113, // The Eternal Palace: Depths of the Devoted.
HOLIDAY_PVP_BRAWL_CLASSIC_ASHRAN_US = 1120,
HOLIDAY_PVP_BRAWL_CLASSIC_ASHRAN_KR = 1121,
HOLIDAY_PVP_BRAWL_CLASSIC_ASHRAN_EU = 1122,
HOLIDAY_PVP_BRAWL_CLASSIC_ASHRAN_1984 = 1123,
HOLIDAY_PVP_BRAWL_CLASSIC_ASHRAN_TW_CN = 1124,
HOLIDAY_NYALOTHA_WALKING_CITY_DEFAULT = 1140, // Descend into Ny'alotha, the Waking City and face N'Zoth in his own realm.
HOLIDAY_NYALOTHA_WALKING_CITY_KR = 1141, // Descend into Ny'alotha, the Waking City and face N'Zoth in his own realm.
HOLIDAY_NYALOTHA_WALKING_CITY_EU = 1142, // Descend into Ny'alotha, the Waking City and face N'Zoth in his own realm.
HOLIDAY_NYALOTHA_WALKING_CITY_TW_CN = 1143, // Descend into Ny'alotha, the Waking City and face N'Zoth in his own realm.
HOLIDAY_NYALOTHA_WALKING_CITY_RAID_FINDER_DEFAULT = 1144, // Mythic difficulty of Ny'alotha, the Waking City awaits the boldest of adventurers, and players may now use the Raid Finder to access the raid.
HOLIDAY_NYALOTHA_WALKING_CITY_RAID_FINDER_KR = 1145, // Mythic difficulty of Ny'alotha, the Waking City awaits the boldest of adventurers, and players may now use the Raid Finder to access the raid.
HOLIDAY_NYALOTHA_WALKING_CITY_RAID_FINDER_EU = 1146, // Mythic difficulty of Ny'alotha, the Waking City awaits the boldest of adventurers, and players may now use the Raid Finder to access the raid.
HOLIDAY_NYALOTHA_WALKING_CITY_RAID_FINDER_TW_CN = 1147, // Mythic difficulty of Ny'alotha, the Waking City awaits the boldest of adventurers, and players may now use the Raid Finder to access the raid.
HOLIDAY_NYALOTHA_WALKING_CITY_RF_2_SECTION_DEFAULT = 1148, // Ny'alotha, the Waking City: Halls of Devotion.
HOLIDAY_NYALOTHA_WALKING_CITY_RF_2_SECTION_KR = 1149, // Ny'alotha, the Waking City: Halls of Devotion.
HOLIDAY_NYALOTHA_WALKING_CITY_RF_2_SECTION_EU = 1150, // Ny'alotha, the Waking City: Halls of Devotion.
HOLIDAY_NYALOTHA_WALKING_CITY_RF_2_SECTION_TW_CN = 1151, // Ny'alotha, the Waking City: Halls of Devotion.
HOLIDAY_NYALOTHA_WALKING_CITY_RF_3_SECTION_DEFAULT = 1152, // Ny'alotha, the Waking City: Gift of Flesh.
HOLIDAY_NYALOTHA_WALKING_CITY_RF_3_SECTION_KR = 1153, // Ny'alotha, the Waking City: Gift of Flesh.
HOLIDAY_NYALOTHA_WALKING_CITY_RF_3_SECTION_EU = 1154, // Ny'alotha, the Waking City: Gift of Flesh.
HOLIDAY_NYALOTHA_WALKING_CITY_RF_3_SECTION_TW_CN = 1155, // Ny'alotha, the Waking City: Gift of Flesh.
HOLIDAY_NYALOTHA_WALKING_CITY_FINAL_SECTION_DEFAULT = 1156, // Ny'alotha, the Waking City: The Waking Dream.
HOLIDAY_NYALOTHA_WALKING_CITY_FINAL_SECTION_KR = 1157, // Ny'alotha, the Waking City: The Waking Dream.
HOLIDAY_NYALOTHA_WALKING_CITY_FINAL_SECTION_EU = 1158, // Ny'alotha, the Waking City: The Waking Dream.
HOLIDAY_NYALOTHA_WALKING_CITY_FINAL_SECTION_TW_CN = 1159, // Ny'alotha, the Waking City: The Waking Dream.
HOLIDAY_PVP_BRAWL_TH_1984 = 1166,
HOLIDAY_PVP_BRAWL_TH_KR = 1167,
HOLIDAY_PVP_BRAWL_TH_TW_CN = 1168,
HOLIDAY_PVP_BRAWL_TH_EU = 1169,
HOLIDAY_PVP_BRAWL_TH_US = 1170,
HOLIDAY_WOW_16TH_ANNIVERSARY = 1181,
HOLIDAY_CASTLE_NATHRIA_DEFAULT = 1194, // Enter Castle Nathria and confront Sire Denathrius in his citadel.
HOLIDAY_CASTLE_NATHRIA_RF_1_SECTION_DEFAULT = 1195, // Castle Nathria: The Leeching Vaults.
HOLIDAY_CASTLE_NATHRIA_RF_2_SECTION_DEFAULT = 1196, // Castle Nathria: Reliquary of Opulence.
HOLIDAY_CASTLE_NATHRIA_RF_3_SECTION_DEFAULT = 1197, // Castle Nathria: Blood from Stone.
HOLIDAY_CASTLE_NATHRIA_EU = 1198, // Enter Castle Nathria and confront Sire Denathrius in his citadel.
HOLIDAY_CASTLE_NATHRIA_RF_1_SECTION_EU = 1199, // Castle Nathria: The Leeching Vaults.
HOLIDAY_CASTLE_NATHRIA_RF_2_SECTION_EU = 1200, // Castle Nathria: Reliquary of Opulence.
HOLIDAY_CASTLE_NATHRIA_RF_3_SECTION_EU = 1201, // Castle Nathria: Blood from Stone.
HOLIDAY_CASTLE_NATHRIA_KR = 1202, // Enter Castle Nathria and confront Sire Denathrius in his citadel.
HOLIDAY_CASTLE_NATHRIA_RF_1_SECTION_KR = 1203, // Castle Nathria: The Leeching Vaults.
HOLIDAY_CASTLE_NATHRIA_RF_2_SECTION_KR = 1204, // Castle Nathria: Reliquary of Opulence.
HOLIDAY_CASTLE_NATHRIA_RF_3_SECTION_KR = 1205, // Castle Nathria: Blood from Stone.
HOLIDAY_CASTLE_NATHRIA_TW_CN = 1206, // Enter Castle Nathria and confront Sire Denathrius in his citadel.
HOLIDAY_CASTLE_NATHRIA_RF_1_SECTION_TW_CN = 1207, // Castle Nathria: The Leeching Vaults.
HOLIDAY_CASTLE_NATHRIA_RF_2_SECTION_TW_CN = 1208, // Castle Nathria: Reliquary of Opulence.
HOLIDAY_CASTLE_NATHRIA_RF_3_SECTION_TW_CN = 1209, // Castle Nathria: Blood from Stone.
HOLIDAY_CASTLE_NATHRIA_FINAL_SECTION_DEFAULT = 1210, // Castle Nathria: An Audience with Arrogance.
HOLIDAY_CASTLE_NATHRIA_FINAL_SECTION_EU = 1211, // Castle Nathria: An Audience with Arrogance.
HOLIDAY_CASTLE_NATHRIA_FINAL_SECTION_KR = 1212, // Castle Nathria: An Audience with Arrogance.
HOLIDAY_CASTLE_NATHRIA_FINAL_SECTION_TW_CN = 1213, // Castle Nathria: An Audience with Arrogance.
HOLIDAY_TORGHAST_BEASTS_OF_PRODIGUM = 1214,
HOLIDAY_TORGHAST_UNBRIDLED_DARKNESS = 1215,
HOLIDAY_TORGHAST_CHORUS_OF_DEAD_SOULS = 1216,
HOLIDAY_SHADOWLANDS_DUNGEON_EVENT_DEFAULT = 1217,
HOLIDAY_SHADOWLANDS_DUNGEON_EVENT_EU = 1218,
HOLIDAY_SHADOWLANDS_DUNGEON_EVENT_TW_CN = 1219,
HOLIDAY_SHADOWLANDS_DUNGEON_EVENT_KR = 1220,
HOLIDAY_PVP_BRAWL_WS_1984_2 = 1221,
HOLIDAY_CASTLE_NATHRIA_32 = 1222 // Enter Castle Nathria and confront Sire Denathrius in his citadel.
};
enum QuestType
{
QUEST_TYPE_TURNIN = 0,
QUEST_TYPE_WITH_MAX_LEVEL = 1,
QUEST_TYPE_NORMAL = 2,
QUEST_TYPE_TASK = 3,
MAX_DB_ALLOWED_QUEST_TYPES = 4,
// values used in quest menu packets
QUEST_TYPE_IN_PROGRESS = 4,
QUEST_TYPE_TASK_IN_PROGRESS = 5
};
// QuestInfo.dbc (11.2.5.62687)
enum QuestInfo
{
QUEST_INFO_GROUP = 1,
QUEST_INFO_CLASS = 21,
QUEST_INFO_PVP = 41,
QUEST_INFO_RAID = 62,
QUEST_INFO_DUNGEON = 81,
QUEST_INFO_WORLD_EVENT = 82,
QUEST_INFO_LEGENDARY = 83,
QUEST_INFO_ESCORT = 84,
QUEST_INFO_HEROIC = 85,
QUEST_INFO_RAID_10 = 88,
QUEST_INFO_RAID_25 = 89,
QUEST_INFO_SCENARIO = 98,
QUEST_INFO_ACCOUNT = 102,
QUEST_INFO_SIDE_QUEST = 104,
QUEST_INFO_ARTIFACT = 107,
QUEST_INFO_WORLD_QUEST = 109,
QUEST_INFO_EPIC_WORLD_QUEST = 110,
QUEST_INFO_ELITE_WORLD_QUEST = 111,
QUEST_INFO_EPIC_ELITE_WORLD_QUEST = 112,
QUEST_INFO_PVP_WORLD_QUEST = 113,
QUEST_INFO_FIRST_AID_WORLD_QUEST = 114,
QUEST_INFO_BATTLE_PET_WORLD_QUEST = 115,
QUEST_INFO_BLACKSMITHING_WORLD_QUEST = 116,
QUEST_INFO_LEATHERWORKING_WORLD_QUEST = 117,
QUEST_INFO_ALCHEMY_WORLD_QUEST = 118,
QUEST_INFO_HERBALISM_WORLD_QUEST = 119,
QUEST_INFO_MINING_WORLD_QUEST = 120,
QUEST_INFO_TAILORING_WORLD_QUEST = 121,
QUEST_INFO_ENGINEERING_WORLD_QUEST = 122,
QUEST_INFO_ENCHANTING_WORLD_QUEST = 123,
QUEST_INFO_SKINNING_WORLD_QUEST = 124,
QUEST_INFO_JEWELCRAFTING_WORLD_QUEST = 125,
QUEST_INFO_INSCRIPTION_WORLD_QUEST = 126,
QUEST_INFO_EMISSARY_QUEST = 128,
QUEST_INFO_ARCHEOLOGY_WORLD_QUEST = 129,
QUEST_INFO_FISHING_WORLD_QUEST = 130,
QUEST_INFO_COOKING_WORLD_QUEST = 131,
QUEST_INFO_RARE_WORLD_QUEST = 135,
QUEST_INFO_RARE_ELITE_WORLD_QUEST = 136,
QUEST_INFO_DUNGEON_WORLD_QUEST = 137,
QUEST_INFO_LEGION_INVASION_WORLD_QUEST = 139,
QUEST_INFO_RATED_REWARD = 140,
QUEST_INFO_RAID_WORLD_QUEST = 141,
QUEST_INFO_LEGION_INVASION_ELITE_WORLD_QUEST = 142,
QUEST_INFO_LEGIONFALL_CONTRIBUTION = 143,
QUEST_INFO_LEGIONFALL_WORLD_QUEST = 144,
QUEST_INFO_LEGIONFALL_DUNGEON_WORLD_QUEST = 145,
QUEST_INFO_LEGION_INVASION_WORLD_QUEST_WRAPPER = 146,
QUEST_INFO_WARFRONT_BARRENS = 147,
QUEST_INFO_PICKPOCKETING = 148,
QUEST_INFO_MAGNI_WORLD_QUEST_AZERITE = 151,
QUEST_INFO_TORTOLLAN_WORLD_QUEST = 152,
QUEST_INFO_WARFRONT_CONTRIBUTION = 153,
QUEST_INFO_ISLAND_QUEST = 254,
QUEST_INFO_WAR_MODE = 255,
QUEST_INFO_PVP_CONQUEST = 256,
QUEST_INFO_FACTION_ASSAULT_WORLD_QUEST = 259,
QUEST_INFO_FACTION_ASSAULT_ELITE_WORLD_QUEST = 260,
QUEST_INFO_ISLAND_WEEKLY_QUEST = 261,
QUEST_INFO_PUBLIC_QUEST = 263,
QUEST_INFO_THREAT_OBJECTIVE = 264,
QUEST_INFO_HIDDEN_QUEST = 265,
QUEST_INFO_COMBAT_ALLY_QUEST = 266,
QUEST_INFO_PROFESSIONS = 267,
QUEST_INFO_THREAT_WRAPPER = 268,
QUEST_INFO_THREAT_EMISSARY_QUEST = 270,
QUEST_INFO_CALLING_QUEST = 271,
QUEST_INFO_VENTHYR_PARTY_QUEST = 272,
QUEST_INFO_MAW_SOUL_SPAWN_TRACKER = 273,
QUEST_INFO_PVP_ELITE_WORLDQUEST = 278,
QUEST_INFO_FORBIDDEN_REACH_ENVOY_TASK = 279,
QUEST_INFO_DRAGONRIDER_RACING = 281,
QUEST_INFO_IMPORTANT_QUEST = 282,
QUEST_INFO_BONUS_OBJECTIVE_WITH_COMPLETION_TOAST = 283,
QUEST_INFO_META_QUEST = 284,
QUEST_INFO_CAPSTONE_WORLD_QUEST = 286,
QUEST_INFO_CAPSTONE_BLOCKER = 287,
QUEST_INFO_DELVE = 288,
QUEST_INFO_WORLD_BOSS = 289,
QUEST_INFO_HIDDEN = 291,
QUEST_INFO_IMPORTANT_QUEST_NO_ABANDON = 292
};
// QuestSort.dbc (11.2.5.62687)
enum QuestSort
{
QUEST_SORT_EPIC = 1,
QUEST_SORT_HALLOWS_END = 21,
QUEST_SORT_SEASONAL = 22,
QUEST_SORT_CATACLYSM = 23,
QUEST_SORT_HERBALISM = 24,
QUEST_SORT_BATTLEGROUNDS = 25,
QUEST_SORT_DAY_OF_THE_DEAD = 41,
QUEST_SORT_WARLOCK = 61,
QUEST_SORT_WARRIOR = 81,
QUEST_SORT_SHAMAN = 82,
QUEST_SORT_FISHING = 101,
QUEST_SORT_BLACKSMITHING = 121,
QUEST_SORT_PALADIN = 141,
QUEST_SORT_MAGE = 161,
QUEST_SORT_ROGUE = 162,
QUEST_SORT_ALCHEMY = 181,
QUEST_SORT_LEATHERWORKING = 182,
QUEST_SORT_ENGINEERING = 201,
QUEST_SORT_TREASURE_MAP = 221,
QUEST_SORT_TOURNAMENT = 241,
QUEST_SORT_HUNTER = 261,
QUEST_SORT_PRIEST = 262,
QUEST_SORT_DRUID = 263,
QUEST_SORT_TAILORING = 264,
QUEST_SORT_SPECIAL = 284,
QUEST_SORT_COOKING = 304,
QUEST_SORT_FIRST_AID = 324,
QUEST_SORT_LEGENDARY = 344,
QUEST_SORT_DARKMOON_FAIRE = 364,
QUEST_SORT_AHN_QIRAJ_WAR = 365,
QUEST_SORT_LUNAR_FESTIVAL = 366,
QUEST_SORT_REPUTATION = 367,
QUEST_SORT_INVASION = 368,
QUEST_SORT_MIDSUMMER = 369,
QUEST_SORT_BREWFEST = 370,
QUEST_SORT_INSCRIPTION = 371,
QUEST_SORT_DEATH_KNIGHT = 372,
QUEST_SORT_JEWELCRAFTING = 373,
QUEST_SORT_NOBLEGARDEN = 374,
QUEST_SORT_PILGRIMS_BOUNTY = 375,
QUEST_SORT_LOVE_IS_IN_THE_AIR = 376,
QUEST_SORT_ARCHAEOLOGY = 377,
QUEST_SORT_CHILDRENS_WEEK = 378,
QUEST_SORT_FIRELANDS_INVASION = 379,
QUEST_SORT_THE_ZANDALARI = 380,
QUEST_SORT_ELEMENTAL_BONDS = 381,
QUEST_SORT_PANDAREN_BREWMASTER = 391,
QUEST_SORT_SCENARIO = 392,
QUEST_SORT_BATTLE_PETS = 394,
QUEST_SORT_MONK = 395,
QUEST_SORT_LANDFALL = 396,
QUEST_SORT_PANDAREN_CAMPAIGN = 397,
QUEST_SORT_RIDING = 398,
QUEST_SORT_BRAWLERS_GUILD = 399,
QUEST_SORT_PROVING_GROUNDS = 400,
QUEST_SORT_GARRISON_CAMPAIGN = 401,
QUEST_SORT_ASSAULT_ON_THE_DARK_PORTAL = 402,
QUEST_SORT_GARRISON_SUPPORT = 403,
QUEST_SORT_LOGGING = 404,
QUEST_SORT_PICKPOCKETING = 405,
QUEST_SORT_ARTIFACT = 406,
QUEST_SORT_DEMON_HUNTER = 407,
QUEST_SORT_MINING = 408,
QUEST_SORT_WEEKEND_EVENT = 409,
QUEST_SORT_ENCHANTING = 410,
QUEST_SORT_SKINNING = 411,
QUEST_SORT_WORLD_QUEST = 412,
QUEST_SORT_DEATH_KNIGHT_CAMPAIGN = 413,
QUEST_SORT_DEMON_HUNTER_CAMPAIGN = 416,
QUEST_SORT_DRUID_CAMPAIGN = 417,
QUEST_SORT_HUNTER_CAMPAIGN = 418,
QUEST_SORT_MONK_CAMPAIGN = 419,
QUEST_SORT_MAGE_CAMPAIGN = 420,
QUEST_SORT_PRIEST_CAMPAIGN = 421,
QUEST_SORT_PALADIN_CAMPAIGN = 422,
QUEST_SORT_SHAMAN_CAMPAIGN = 423,
QUEST_SORT_ROGUE_CAMPAIGN = 424,
QUEST_SORT_WARLOCK_CAMPAIGN = 425,
QUEST_SORT_WARRIOR_CAMPAIGN = 426,
QUEST_SORT_ORDER_HALL = 427,
QUEST_SORT_LEGIONFALL_CAMPAIGN = 428,
QUEST_SORT_THE_HUNT_FOR_ILLIDAN_STORMRAGE = 429,
QUEST_SORT_PIRATES_DAY = 430,
QUEST_SORT_ARGUS_EXPEDITION = 431,
QUEST_SORT_WARFRONTS = 432,
QUEST_SORT_MOONKIN_FESTIVAL = 433,
QUEST_SORT_THE_KINGS_PATH = 434,
QUEST_SORT_THE_DEATHS_OF_CHROMIE = 435,
QUEST_SORT_ROCKET_CHICKEN = 436,
QUEST_SORT_LIGHTFORGED_DRAENEI = 437,
QUEST_SORT_HIGHMOUNTAIN_TAUREN = 438,
QUEST_SORT_VOID_ELF = 439,
QUEST_SORT_NIGHTBORNE = 440,
QUEST_SORT_DUNGEON = 441,
QUEST_SORT_RAID = 442,
QUEST_SORT_ALLIED_RACES = 444,
QUEST_SORT_THE_WARCHIEFS_AGENDA = 445,
QUEST_SORT_ADVENTURE_JOURNEY = 446,
QUEST_SORT_ALLIANCE_WAR_CAMPAIGN = 447,
QUEST_SORT_HORDE_WAR_CAMPAIGN = 448,
QUEST_SORT_DARK_IRON_DWARF = 449,
QUEST_SORT_MAGHAR_ORC = 450,
QUEST_SORT_THE_SHADOW_HUNTER = 451,
QUEST_SORT_ISLAND_EXPEDITIONS = 453,
QUEST_SORT_WORLD_PVP = 555,
QUEST_SORT_THE_PRIDE_OF_KUL_TIRAS = 556,
QUEST_SORT_RATED_PVP = 557,
QUEST_SORT_ZANDALARI_TROLL = 559,
QUEST_SORT_HERITAGE = 560,
QUEST_SORT_QUESTFALL = 561,
QUEST_SORT_TYRANDES_VENGEANCE = 562,
QUEST_SORT_THE_FATE_OF_SAURFANG = 563,
QUEST_SORT_FREE_TSHIRT_DAY = 564,
QUEST_SORT_CRUCIBLE_OF_STORMS = 565,
QUEST_SORT_KUL_TIRAN = 566,
QUEST_SORT_ASSAULT = 567,
QUEST_SORT_HEART_OF_AZEROTH = 569,
QUEST_SORT_PROFESSIONS = 571,
QUEST_SORT_NAZJATAR_FOLLOWERS = 573,
QUEST_SORT_SINFALL = 574,
QUEST_SORT_KORRAKS_REVENGE = 575,
QUEST_SORT_COVENANT_SANCTUM = 576,
QUEST_SORT_REFER_A_FRIEND = 579,
QUEST_SORT_VISIONS_OF_NZOTH = 580,
QUEST_SORT_VULPERA = 582,
QUEST_SORT_MECHAGNOME = 583,
QUEST_SORT_BLACK_EMPIRE_CAMPAIGN = 584,
QUEST_SORT_EMBER_COURT = 586,
QUEST_SORT_THROUGH_THE_SHATTERED_SKY = 587,
QUEST_SORT_DEATH_RISING = 588,
QUEST_SORT_KYRIAN_CALLINGS = 589,
QUEST_SORT_NIGHT_FAE_CALLINGS = 590,
QUEST_SORT_NECROLORD_CALLINGS = 591,
QUEST_SORT_VENTHYR_CALLINGS = 592,
QUEST_SORT_ABOMINABLE_STITCHING = 593,
QUEST_SORT_TIMEWALKING_CAMPAIGN = 594,
QUEST_SORT_PATH_OF_ASCENSION = 595,
QUEST_SORT_LEGENDARY_CRAFTING = 596,
QUEST_SORT_9_1_CAMPAIGN = 600,
QUEST_SORT_CYPHERS_OF_THE_FIRST_ONES = 601,
QUEST_SORT_ZERETH_MORTIS_CAMPAIGN = 602,
QUEST_SORT_THE_ARCHIVISTS_CODEX = 603,
QUEST_SORT_COVENANT_ASSAULTS = 604,
QUEST_SORT_PROTOFORM_SYNTHESIS = 606,
QUEST_SORT_CH_6_SYMBOL_TRACKING = 607,
QUEST_SORT_TEMPEST_UNLEASHED = 608,
QUEST_SORT_DRAGONSCALE_EXPEDITION = 609,
QUEST_SORT_PRIMALIST_STORM = 610,
QUEST_SORT_ISKAARA_TUSKARR = 611,
QUEST_SORT_MARUUK_CENTAUR = 612,
QUEST_SORT_VALDRAKKEN_ACCORD = 613,
QUEST_SORT_EVOKER = 614,
QUEST_SORT_TRADINGPOST = 615,
QUEST_SORT_ENGINE_OF_INNOVATION = 616,
QUEST_SORT_ARTISANS_CONSORTIUM = 617,
QUEST_SORT_SUFUSSION_CAMPS = 618,
QUEST_SORT_ENVOY_TASKS = 620,
QUEST_SORT_RESEARCHERS_UNDER_FIRE = 622,
QUEST_SORT_AZEROTHIAN_ARCHIVES = 623,
QUEST_SORT_TRIAL_OF_STYLE = 624,
QUEST_SORT_SYSTEMS = 625,
QUEST_SORT_TIME_RIFTS = 626,
QUEST_SORT_LITTLE_SCALES_DAYCARE = 627,
QUEST_SORT_DREAMSURGE = 628,
QUEST_SORT_DREAM_WARDENS = 629,
QUEST_SORT_GILNEAS_RECLAMATION = 630,
QUEST_SORT_KALIMDOR_CUP = 631,
QUEST_SORT_EASTERN_KINGDOMS_CUP = 632,
QUEST_SORT_OUTLAND_CUP = 633,
QUEST_SORT_NORTHREND_CUP = 634,
QUEST_SORT_PANDARIA_CUP = 635,
QUEST_SORT_BROKEN_ISLES_CUP = 636,
QUEST_SORT_THE_HARBRINGER = 637,
QUEST_SORT_HEARTHSTONE_ANNIVERSARY = 638,
QUEST_SORT_TIMERUNNING = 639,
QUEST_SORT_EARTHEN = 640,
QUEST_SORT_UPGRADE_SYSTEM = 642,
QUEST_SORT_WARBANDS = 643,
QUEST_SORT_META_QUESTS = 645,
QUEST_SORT_SECRETS_OF_AZEROTH = 646,
QUEST_SORT_LOREWALKING = 647,
QUEST_SORT_DASTARDLY_DUOS = 651,
QUEST_SORT_DELVES = 652,
};
constexpr uint8 ClassByQuestSort(int32 QuestSort)
{
switch (QuestSort)
{
case QUEST_SORT_WARLOCK: return CLASS_WARLOCK;
case QUEST_SORT_WARRIOR: return CLASS_WARRIOR;
case QUEST_SORT_SHAMAN: return CLASS_SHAMAN;
case QUEST_SORT_PALADIN: return CLASS_PALADIN;
case QUEST_SORT_MAGE: return CLASS_MAGE;
case QUEST_SORT_ROGUE: return CLASS_ROGUE;
case QUEST_SORT_HUNTER: return CLASS_HUNTER;
case QUEST_SORT_PRIEST: return CLASS_PRIEST;
case QUEST_SORT_DRUID: return CLASS_DRUID;
case QUEST_SORT_DEATH_KNIGHT: return CLASS_DEATH_KNIGHT;
case QUEST_SORT_DEMON_HUNTER: return CLASS_DEMON_HUNTER;
}
return 0;
}
// SkillLine.db2 (11.2.5.62687)
enum SkillType
{
SKILL_NONE = 0,
SKILL_SWORDS = 43,
SKILL_AXES = 44,
SKILL_BOWS = 45,
SKILL_GUNS = 46,
SKILL_MACES = 54,
SKILL_TWO_HANDED_SWORDS = 55,
SKILL_DEFENSE = 95,
SKILL_LANGUAGE_COMMON = 98,
SKILL_RACIAL_DWARF = 101,
SKILL_LANGUAGE_ORCISH = 109,
SKILL_LANGUAGE_DWARVEN = 111,
SKILL_LANGUAGE_DARNASSIAN = 113,
SKILL_LANGUAGE_TAURAHE = 115,
SKILL_DUAL_WIELD = 118,
SKILL_RACIAL_TAUREN = 124,
SKILL_RACIAL_ORC = 125,
SKILL_RACIAL_NIGHT_ELF = 126,
SKILL_STAVES = 136,
SKILL_LANGUAGE_THALASSIAN = 137,
SKILL_LANGUAGE_DRACONIC = 138,
SKILL_LANGUAGE_DEMON_TONGUE = 139,
SKILL_LANGUAGE_TITAN = 140,
SKILL_LANGUAGE_OLD_TONGUE = 141,
SKILL_SURVIVAL = 142,
SKILL_HORSE_RIDING = 148,
SKILL_WOLF_RIDING = 149,
SKILL_TIGER_RIDING = 150,
SKILL_RAM_RIDING = 152,
SKILL_SWIMMING = 155,
SKILL_TWO_HANDED_MACES = 160,
SKILL_UNARMED = 162,
SKILL_BLACKSMITHING = 164,
SKILL_LEATHERWORKING = 165,
SKILL_ALCHEMY = 171,
SKILL_TWO_HANDED_AXES = 172,
SKILL_DAGGERS = 173,
SKILL_HERBALISM = 182,
SKILL_GENERIC_DND = 183,
SKILL_COOKING = 185,
SKILL_MINING = 186,
SKILL_PET_IMP = 188,
SKILL_PET_FELHUNTER = 189,
SKILL_TAILORING = 197,
SKILL_ENGINEERING = 202,
SKILL_PET_SPIDER = 203,
SKILL_PET_VOIDWALKER = 204,
SKILL_PET_SUCCUBUS = 205,
SKILL_PET_INFERNAL = 206,
SKILL_PET_DOOMGUARD = 207,
SKILL_PET_WOLF = 208,
SKILL_PET_CAT = 209,
SKILL_PET_BEAR = 210,
SKILL_PET_BOAR = 211,
SKILL_PET_CROCOLISK = 212,
SKILL_PET_CARRION_BIRD = 213,
SKILL_PET_CRAB = 214,
SKILL_PET_GORILLA = 215,
SKILL_PET_RAPTOR = 217,
SKILL_PET_TALLSTRIDER = 218,
SKILL_RACIAL_UNDEAD = 220,
SKILL_CROSSBOWS = 226,
SKILL_WANDS = 228,
SKILL_POLEARMS = 229,
SKILL_PET_SCORPID = 236,
SKILL_PET_TURTLE = 251,
SKILL_PET_GENERIC_HUNTER = 270,
SKILL_PLATE_MAIL = 293,
SKILL_LANGUAGE_GNOMISH = 313,
SKILL_LANGUAGE_TROLL = 315,
SKILL_ENCHANTING = 333,
SKILL_FISHING = 356,
SKILL_SKINNING = 393,
SKILL_MAIL = 413,
SKILL_LEATHER = 414,
SKILL_CLOTH = 415,
SKILL_SHIELD = 433,
SKILL_FIST_WEAPONS = 473,
SKILL_RAPTOR_RIDING = 533,
SKILL_MECHANOSTRIDER_PILOTING = 553,
SKILL_UNDEAD_HORSEMANSHIP = 554,
SKILL_PET_BAT = 653,
SKILL_PET_HYENA = 654,
SKILL_PET_BIRD_OF_PREY = 655,
SKILL_PET_WIND_SERPENT = 656,
SKILL_LANGUAGE_FORSAKEN = 673,
SKILL_KODO_RIDING = 713,
SKILL_RACIAL_TROLL = 733,
SKILL_RACIAL_GNOME = 753,
SKILL_RACIAL_HUMAN = 754,
SKILL_JEWELCRAFTING = 755,
SKILL_RACIAL_BLOOD_ELF = 756,
SKILL_PET_EVENT_REMOTE_CONTROL = 758,
SKILL_LANGUAGE_DRAENEI = 759,
SKILL_RACIAL_DRAENEI = 760,
SKILL_PET_FELGUARD = 761,
SKILL_RIDING = 762,
SKILL_PET_DRAGONHAWK = 763,
SKILL_PET_NETHER_RAY = 764,
SKILL_PET_SPOREBAT = 765,
SKILL_PET_WARP_STALKER = 766,
SKILL_PET_RAVAGER = 767,
SKILL_PET_SERPENT = 768,
SKILL_INTERNAL = 769,
SKILL_INSCRIPTION = 773,
SKILL_PET_MOTH = 775,
SKILL_MOUNTS = 777,
SKILL_COMPANIONS = 778,
SKILL_PET_EXOTIC_CHIMAERA = 780,
SKILL_PET_EXOTIC_DEVILSAUR = 781,
SKILL_PET_GHOUL = 782,
SKILL_PET_EXOTIC_SILITHID = 783,
SKILL_PET_EXOTIC_WORM = 784,
SKILL_PET_WASP = 785,
SKILL_PET_EXOTIC_CLEFTHOOF = 786,
SKILL_PET_EXOTIC_CORE_HOUND = 787,
SKILL_PET_EXOTIC_SPIRIT_BEAST = 788,
SKILL_RACIAL_WORGEN = 789,
SKILL_RACIAL_GOBLIN = 790,
SKILL_LANGUAGE_GILNEAN = 791,
SKILL_LANGUAGE_GOBLIN = 792,
SKILL_ARCHAEOLOGY = 794,
SKILL_HUNTER = 795,
SKILL_DEATH_KNIGHT = 796,
SKILL_DRUID = 798,
SKILL_PALADIN = 800,
SKILL_PRIEST = 804,
SKILL_PET_WATER_ELEMENTAL = 805,
SKILL_PET_FOX = 808,
SKILL_ALL_GLYPHS = 810,
SKILL_PET_DOG = 811,
SKILL_PET_MONKEY = 815,
SKILL_PET_EXOTIC_SHALE_SPIDER = 817,
SKILL_BEETLE = 818,
SKILL_ALL_GUILD_PERKS = 821,
SKILL_PET_HYDRA = 824,
SKILL_MONK = 829,
SKILL_WARRIOR = 840,
SKILL_WARLOCK = 849,
SKILL_RACIAL_PANDAREN = 899,
SKILL_MAGE = 904,
SKILL_LANGUAGE_PANDAREN_NEUTRAL = 905,
SKILL_ROGUE = 921,
SKILL_SHAMAN = 924,
SKILL_FEL_IMP = 927,
SKILL_VOIDLORD = 928,
SKILL_SHIVARRA = 929,
SKILL_OBSERVER = 930,
SKILL_WRATHGUARD = 931,
SKILL_ALL_SPECIALIZATIONS = 934,
SKILL_RUNEFORGING = 960,
SKILL_PET_PRIMAL_FIRE_ELEMENTAL = 962,
SKILL_PET_PRIMAL_EARTH_ELEMENTAL = 963,
SKILL_WAY_OF_THE_GRILL = 975,
SKILL_WAY_OF_THE_WOK = 976,
SKILL_WAY_OF_THE_POT = 977,
SKILL_WAY_OF_THE_STEAMER = 978,
SKILL_WAY_OF_THE_OVEN = 979,
SKILL_WAY_OF_THE_BREW = 980,
SKILL_APPRENTICE_COOKING = 981,
SKILL_JOURNEYMAN_COOKBOOK = 982,
SKILL_PET_RODENT = 983,
SKILL_PET_CRANE = 984,
SKILL_PET_WATER_STRIDER = 985,
SKILL_PET_EXOTIC_QUILEN = 986,
SKILL_PET_GOAT = 987,
SKILL_PET_BASILISK = 988,
SKILL_NO_PLAYERS = 999,
SKILL_PET_DIREHORN = 1305,
SKILL_PET_PRIMAL_STORM_ELEMENTAL = 1748,
SKILL_PET_WATER_ELEMENTAL_MINOR_TALENT_VERSION = 1777,
SKILL_PET_RIVERBEAST = 1819,
SKILL_UNUSED = 1830,
SKILL_DEMON_HUNTER = 1848,
SKILL_LOGGING = 1945,
SKILL_PET_TERRORGUARD = 1981,
SKILL_PET_ABYSSAL = 1982,
SKILL_PET_STAG = 1993,
SKILL_TRADING_POST = 2000,
SKILL_WARGLAIVES = 2152,
SKILL_PET_MECHANICAL = 2189,
SKILL_PET_ABOMINATION = 2216,
SKILL_PET_OXEN = 2279,
SKILL_PET_SCALEHIDE = 2280,
SKILL_PET_FEATHERMANE = 2361,
SKILL_RACIAL_NIGHTBORNE = 2419,
SKILL_RACIAL_HIGHMOUNTAIN_TAUREN = 2420,
SKILL_RACIAL_LIGHTFORGED_DRAENEI = 2421,
SKILL_RACIAL_VOID_ELF = 2423,
SKILL_KUL_TIRAN_BLACKSMITHING = 2437,
SKILL_LEGION_BLACKSMITHING = 2454,
SKILL_LANGUAGE_SHALASSIAN = 2464,
SKILL_LANGUAGE_THALASSIAN_2 = 2465,
SKILL_DRAENOR_BLACKSMITHING = 2472,
SKILL_PANDARIA_BLACKSMITHING = 2473,
SKILL_CATACLYSM_BLACKSMITHING = 2474,
SKILL_NORTHREND_BLACKSMITHING = 2475,
SKILL_OUTLAND_BLACKSMITHING = 2476,
SKILL_CLASSIC_BLACKSMITHING = 2477,
SKILL_KUL_TIRAN_ALCHEMY = 2478,
SKILL_LEGION_ALCHEMY = 2479,
SKILL_DRAENOR_ALCHEMY = 2480,
SKILL_PANDARIA_ALCHEMY = 2481,
SKILL_CATACLYSM_ALCHEMY = 2482,
SKILL_NORTHREND_ALCHEMY = 2483,
SKILL_OUTLAND_ALCHEMY = 2484,
SKILL_CLASSIC_ALCHEMY = 2485,
SKILL_KUL_TIRAN_ENCHANTING = 2486,
SKILL_LEGION_ENCHANTING = 2487,
SKILL_DRAENOR_ENCHANTING = 2488,
SKILL_PANDARIA_ENCHANTING = 2489,
SKILL_CATACLYSM_ENCHANTING = 2491,
SKILL_NORTHREND_ENCHANTING = 2492,
SKILL_OUTLAND_ENCHANTING = 2493,
SKILL_CLASSIC_ENCHANTING = 2494,
SKILL_KUL_TIRAN_ENGINEERING = 2499,
SKILL_LEGION_ENGINEERING = 2500,
SKILL_DRAENOR_ENGINEERING = 2501,
SKILL_PANDARIA_ENGINEERING = 2502,
SKILL_CATACLYSM_ENGINEERING = 2503,
SKILL_NORTHREND_ENGINEERING = 2504,
SKILL_OUTLAND_ENGINEERING = 2505,
SKILL_CLASSIC_ENGINEERING = 2506,
SKILL_KUL_TIRAN_INSCRIPTION = 2507,
SKILL_LEGION_INSCRIPTION = 2508,
SKILL_DRAENOR_INSCRIPTION = 2509,
SKILL_PANDARIA_INSCRIPTION = 2510,
SKILL_CATACLYSM_INSCRIPTION = 2511,
SKILL_NORTHREND_INSCRIPTION = 2512,
SKILL_OUTLAND_INSCRIPTION = 2513,
SKILL_CLASSIC_INSCRIPTION = 2514,
SKILL_KUL_TIRAN_JEWELCRAFTING = 2517,
SKILL_LEGION_JEWELCRAFTING = 2518,
SKILL_DRAENOR_JEWELCRAFTING = 2519,
SKILL_PANDARIA_JEWELCRAFTING = 2520,
SKILL_CATACLYSM_JEWELCRAFTING = 2521,
SKILL_NORTHREND_JEWELCRAFTING = 2522,
SKILL_OUTLAND_JEWELCRAFTING = 2523,
SKILL_CLASSIC_JEWELCRAFTING = 2524,
SKILL_KUL_TIRAN_LEATHERWORKING = 2525,
SKILL_LEGION_LEATHERWORKING = 2526,
SKILL_DRAENOR_LEATHERWORKING = 2527,
SKILL_PANDARIA_LEATHERWORKING = 2528,
SKILL_CATACLYSM_LEATHERWORKING = 2529,
SKILL_NORTHREND_LEATHERWORKING = 2530,
SKILL_OUTLAND_LEATHERWORKING = 2531,
SKILL_CLASSIC_LEATHERWORKING = 2532,
SKILL_KUL_TIRAN_TAILORING = 2533,
SKILL_LEGION_TAILORING = 2534,
SKILL_DRAENOR_TAILORING = 2535,
SKILL_PANDARIA_TAILORING = 2536,
SKILL_CATACLYSM_TAILORING = 2537,
SKILL_NORTHREND_TAILORING = 2538,
SKILL_OUTLAND_TAILORING = 2539,
SKILL_CLASSIC_TAILORING = 2540,
SKILL_KUL_TIRAN_COOKING = 2541,
SKILL_LEGION_COOKING = 2542,
SKILL_DRAENOR_COOKING = 2543,
SKILL_PANDARIA_COOKING = 2544,
SKILL_CATACLYSM_COOKING = 2545,
SKILL_NORTHREND_COOKING = 2546,
SKILL_OUTLAND_COOKING = 2547,
SKILL_CLASSIC_COOKING = 2548,
SKILL_KUL_TIRAN_HERBALISM = 2549,
SKILL_LEGION_HERBALISM = 2550,
SKILL_DRAENOR_HERBALISM = 2551,
SKILL_PANDARIA_HERBALISM = 2552,
SKILL_CATACLYSM_HERBALISM = 2553,
SKILL_NORTHREND_HERBALISM = 2554,
SKILL_OUTLAND_HERBALISM = 2555,
SKILL_CLASSIC_HERBALISM = 2556,
SKILL_KUL_TIRAN_SKINNING = 2557,
SKILL_LEGION_SKINNING = 2558,
SKILL_DRAENOR_SKINNING = 2559,
SKILL_PANDARIA_SKINNING = 2560,
SKILL_CATACLYSM_SKINNING = 2561,
SKILL_NORTHREND_SKINNING = 2562,
SKILL_OUTLAND_SKINNING = 2563,
SKILL_CLASSIC_SKINNING = 2564,
SKILL_KUL_TIRAN_MINING = 2565,
SKILL_LEGION_MINING = 2566,
SKILL_DRAENOR_MINING = 2567,
SKILL_PANDARIA_MINING = 2568,
SKILL_CATACLYSM_MINING = 2569,
SKILL_NORTHREND_MINING = 2570,
SKILL_OUTLAND_MINING = 2571,
SKILL_CLASSIC_MINING = 2572,
SKILL_KUL_TIRAN_FISHING = 2585,
SKILL_LEGION_FISHING = 2586,
SKILL_DRAENOR_FISHING = 2587,
SKILL_PANDARIA_FISHING = 2588,
SKILL_CATACLYSM_FISHING = 2589,
SKILL_NORTHREND_FISHING = 2590,
SKILL_OUTLAND_FISHING = 2591,
SKILL_CLASSIC_FISHING = 2592,
SKILL_RACIAL_DARK_IRON_DWARF = 2597,
SKILL_RACIAL_MAG_HAR_ORC = 2598,
SKILL_PET_LIZARD = 2703,
SKILL_PET_HORSE = 2704,
SKILL_PET_EXOTIC_PTERRORDAX = 2705,
SKILL_PET_TOAD = 2706,
SKILL_PET_EXOTIC_KROLUSK = 2707,
SKILL_SECOND_PET_HUNTER = 2716,
SKILL_PET_BLOOD_BEAST = 2719,
SKILL_JUNKYARD_TINKERING = 2720,
SKILL_RACIAL_ZANDALARI_TROLL = 2721,
SKILL_RACIAL_KUL_TIRAN = 2723,
SKILL_AZERITE_POWER = 2727,
SKILL_COVENANT_KYRIAN = 2730,
SKILL_COVENANT_VENTHYR = 2731,
SKILL_COVENANT_NIGHT_FAE = 2732,
SKILL_COVENANT_NECROLORD = 2733,
SKILL_MOUNT_EQUIPEMENT = 2734,
SKILL_SHADOWLANDS_ALCHEMY = 2750,
SKILL_SHADOWLANDS_BLACKSMITHING = 2751,
SKILL_SHADOWLANDS_COOKING = 2752,
SKILL_SHADOWLANDS_ENCHANTING = 2753,
SKILL_SHADOWLANDS_FISHING = 2754,
SKILL_SHADOWLANDS_ENGINEERING = 2755,
SKILL_SHADOWLANDS_INSCRIPTION = 2756,
SKILL_SHADOWLANDS_JEWELCRAFTING = 2757,
SKILL_SHADOWLANDS_LEATHERWORKING = 2758,
SKILL_SHADOWLANDS_TAILORING = 2759,
SKILL_SHADOWLANDS_HERBALISM = 2760,
SKILL_SHADOWLANDS_MINING = 2761,
SKILL_SHADOWLANDS_SKINNING = 2762,
SKILL_RACIAL_DARK_IRON_DWARF_2 = 2773,
SKILL_RACIAL_MECHAGNOME = 2774,
SKILL_RACIAL_VULPERA = 2775,
SKILL_LANGUAGE_VULPERA = 2776,
SKILL_SOUL_CYPHERING = 2777,
SKILL_ABOMINABLE_STITCHING = 2787,
SKILL_ASCENSION_CRAFTING = 2791,
SKILL_PET_MAMMOTH = 2805,
SKILL_PET_COURSER = 2806,
SKILL_PET_CAMEL = 2807,
SKILL_RACIAL_DRACTHYR = 2808,
SKILL_EVOKER = 2810,
SKILL_STYGIA_CRAFTING = 2811,
SKILL_LANGUAGE_CYPHER = 2817,
SKILL_PROTOFORM_SYNTHESIS = 2819,
SKILL_ARCANA_MANIPULATION = 2821,
SKILL_DRAGON_ISLES_BLACKSMITHING = 2822,
SKILL_DRAGON_ISLES_ALCHEMY = 2823,
SKILL_DRAGON_ISLES_COOKING = 2824,
SKILL_DRAGON_ISLES_ENCHANTING = 2825,
SKILL_DRAGON_ISLES_FISHING = 2826,
SKILL_DRAGON_ISLES_ENGINEERING = 2827,
SKILL_DRAGON_ISLES_INSCRIPTION = 2828,
SKILL_DRAGON_ISLES_JEWELCRAFTING = 2829,
SKILL_DRAGON_ISLES_LEATHERWORKING = 2830,
SKILL_DRAGON_ISLES_TAILORING = 2831,
SKILL_DRAGON_ISLES_HERBALISM = 2832,
SKILL_DRAGON_ISLES_MINING = 2833,
SKILL_DRAGON_ISLES_SKINNING = 2834,
SKILL_CRAFTING = 2846,
SKILL_TUSKARR_FISHING_GEAR = 2847,
SKILL_PET_LESSER_DRAGONKIN = 2850,
SKILL_LANG_FURBOLG = 2855,
SKILL_SHIPMENT_PROTOTYPE = 2870,
SKILL_KHAZ_ALGAR_ALCHEMY = 2871,
SKILL_KHAZ_ALGAR_BLACKSMITHING = 2872,
SKILL_KHAZ_ALGAR_COOCKING = 2873,
SKILL_KHAZ_ALGAR_ENCHANTING = 2874,
SKILL_KHAZ_ALGAR_ENGINEERING = 2875,
SKILL_KHAZ_ALGAR_FISHING = 2876,
SKILL_KHAZ_ALGAR_HERBALISM = 2877,
SKILL_KHAZ_ALGAR_INSCRIPTION = 2878,
SKILL_KHAZ_ALGAR_JEWELCRAFTING = 2879,
SKILL_KHAZ_ALGAR_LEATHERWORKING = 2880,
SKILL_KHAZ_ALGAR_MINING = 2881,
SKILL_KHAZ_ALGAR_SKINNING = 2882,
SKILL_KHAZ_ALGAR_TAILORING = 2883,
SKILL_LANG_EARTHEN = 2884,
SKILL_SUPPLY_SHIPMENTS = 2886,
SKILL_RACIAL_EARTHEN = 2895,
SKILL_ALL_WARBANDS = 2902
};
constexpr SkillType SkillByLockType(LockType locktype)
{
switch (locktype)
{
case LOCKTYPE_HERBALISM:
case LOCKTYPE_ELUSIVE_HERBALISM: return SKILL_HERBALISM;
case LOCKTYPE_MINING:
case LOCKTYPE_MINING_2:
case LOCKTYPE_ELUSIVE_MINING: return SKILL_MINING;
case LOCKTYPE_FISHING: return SKILL_FISHING;
case LOCKTYPE_INSCRIPTION: return SKILL_INSCRIPTION;
case LOCKTYPE_ARCHAEOLOGY: return SKILL_ARCHAEOLOGY;
case LOCKTYPE_LUMBER_MILL: return SKILL_LOGGING;
case LOCKTYPE_SKINNING: return SKILL_SKINNING;
case LOCKTYPE_CLASSIC_HERBALISM: return SKILL_CLASSIC_HERBALISM;
case LOCKTYPE_OUTLAND_HERBALISM: return SKILL_OUTLAND_HERBALISM;
case LOCKTYPE_NORTHREND_HERBALISM: return SKILL_NORTHREND_HERBALISM;
case LOCKTYPE_CATACLYSM_HERBALISM: return SKILL_CATACLYSM_HERBALISM;
case LOCKTYPE_PANDARIA_HERBALISM: return SKILL_PANDARIA_HERBALISM;
case LOCKTYPE_DRAENOR_HERBALISM: return SKILL_DRAENOR_HERBALISM;
case LOCKTYPE_LEGION_HERBALISM: return SKILL_LEGION_HERBALISM;
case LOCKTYPE_KUL_TIRAN_HERBALISM: return SKILL_KUL_TIRAN_HERBALISM;
case LOCKTYPE_CLASSIC_MINING: return SKILL_CLASSIC_MINING;
case LOCKTYPE_OUTLAND_MINING: return SKILL_OUTLAND_MINING;
case LOCKTYPE_NORTHREND_MINING: return SKILL_NORTHREND_MINING;
case LOCKTYPE_CATACLYSM_MINING: return SKILL_CATACLYSM_MINING;
case LOCKTYPE_PANDARIA_MINING: return SKILL_PANDARIA_MINING;
case LOCKTYPE_DRAENOR_MINING: return SKILL_DRAENOR_MINING;
case LOCKTYPE_LEGION_MINING: return SKILL_LEGION_MINING;
case LOCKTYPE_KUL_TIRAN_MINING: return SKILL_KUL_TIRAN_MINING;
case LOCKTYPE_LEGION_SKINNING: return SKILL_LEGION_SKINNING;
case LOCKTYPE_SHADOWLANDS_HERBALISM: return SKILL_SHADOWLANDS_HERBALISM;
case LOCKTYPE_SHADOWLANDS_MINING: return SKILL_SHADOWLANDS_MINING;
case LOCKTYPE_COVENANT_NIGHT_FAE: return SKILL_COVENANT_NIGHT_FAE;
case LOCKTYPE_COVENANT_VENTHYR: return SKILL_COVENANT_VENTHYR;
case LOCKTYPE_COVENANT_KYRIAN: return SKILL_COVENANT_KYRIAN;
case LOCKTYPE_COVENANT_NECROLORD: return SKILL_COVENANT_NECROLORD;
case LOCKTYPE_ENGINEERING: return SKILL_ENGINEERING;
case LOCKTYPE_DRAGON_ISLES_HERBALISM:
case LOCKTYPE_DRAGON_ISLES_HERBALISM_25: return SKILL_DRAGON_ISLES_HERBALISM;
case LOCKTYPE_ENCHANTING: return SKILL_ENCHANTING;
case LOCKTYPE_DRAGON_ISLES_ALCHEMY_25: return SKILL_DRAGON_ISLES_ALCHEMY;
case LOCKTYPE_DRAGON_ISLES_BLACKSMITHING_25: return SKILL_DRAGON_ISLES_BLACKSMITHING;
case LOCKTYPE_DRAGON_ISLES_ENCHANTING_25: return SKILL_DRAGON_ISLES_ENCHANTING;
case LOCKTYPE_DRAGON_ISLES_ENGINEERING_25: return SKILL_DRAGON_ISLES_ENGINEERING;
case LOCKTYPE_DRAGON_ISLES_INSCRIPTION_25: return SKILL_DRAGON_ISLES_INSCRIPTION;
case LOCKTYPE_DRAGON_ISLES_JEWELCRAFTING_25: return SKILL_DRAGON_ISLES_JEWELCRAFTING;
case LOCKTYPE_DRAGON_ISLES_LEATHERWORKING_25: return SKILL_DRAGON_ISLES_LEATHERWORKING;
case LOCKTYPE_DRAGON_ISLES_SKINNING_25: return SKILL_DRAGON_ISLES_SKINNING;
case LOCKTYPE_DRAGON_ISLES_TAILORING_25: return SKILL_DRAGON_ISLES_TAILORING;
case LOCKTYPE_DRAGON_ISLES_MINING:
case LOCKTYPE_DRAGON_ISLES_MINING_25: return SKILL_DRAGON_ISLES_MINING;
case LOCKTYPE_KHAZ_ALGAR_MINING:
case LOCKTYPE_KHAZ_ALGAR_MINING_25: return SKILL_KHAZ_ALGAR_MINING;
case LOCKTYPE_KHAZ_ALGAR_HERBALISM:
case LOCKTYPE_KHAZ_ALGAR_HERBALISM_25: return SKILL_KHAZ_ALGAR_HERBALISM;
case LOCKTYPE_KHAZ_ALGAR_ALCHEMY_25: return SKILL_KHAZ_ALGAR_ALCHEMY;
case LOCKTYPE_KHAZ_ALGAR_BLACKSMITHING_25: return SKILL_KHAZ_ALGAR_BLACKSMITHING;
case LOCKTYPE_KHAZ_ALGAR_ENCHANTING_25: return SKILL_KHAZ_ALGAR_ENCHANTING;
case LOCKTYPE_KHAZ_ALGAR_ENGINEERING_25: return SKILL_KHAZ_ALGAR_ENGINEERING;
case LOCKTYPE_KHAZ_ALGAR_INSCRIPTION_25: return SKILL_KHAZ_ALGAR_INSCRIPTION;
case LOCKTYPE_KHAZ_ALGAR_JEWELCRAFTING_25: return SKILL_KHAZ_ALGAR_JEWELCRAFTING;
case LOCKTYPE_KHAZ_ALGAR_LEATHERWORKING_25: return SKILL_KHAZ_ALGAR_LEATHERWORKING;
case LOCKTYPE_KHAZ_ALGAR_SKINNING_25: return SKILL_KHAZ_ALGAR_SKINNING;
default: break;
}
return SKILL_NONE;
}
constexpr uint32 SkillByQuestSort(int32 QuestSort)
{
switch (QuestSort)
{
case QUEST_SORT_HERBALISM: return SKILL_HERBALISM;
case QUEST_SORT_FISHING: return SKILL_FISHING;
case QUEST_SORT_BLACKSMITHING: return SKILL_BLACKSMITHING;
case QUEST_SORT_ALCHEMY: return SKILL_ALCHEMY;
case QUEST_SORT_LEATHERWORKING: return SKILL_LEATHERWORKING;
case QUEST_SORT_ENGINEERING: return SKILL_ENGINEERING;
case QUEST_SORT_TAILORING: return SKILL_TAILORING;
case QUEST_SORT_COOKING: return SKILL_COOKING;
case QUEST_SORT_JEWELCRAFTING: return SKILL_JEWELCRAFTING;
case QUEST_SORT_INSCRIPTION: return SKILL_INSCRIPTION;
case QUEST_SORT_ARCHAEOLOGY: return SKILL_ARCHAEOLOGY;
}
return 0;
}
enum SkillCategory
{
SKILL_CATEGORY_UNK1 = 0,
SKILL_CATEGORY_ATTRIBUTES = 5,
SKILL_CATEGORY_WEAPON = 6,
SKILL_CATEGORY_CLASS = 7,
SKILL_CATEGORY_ARMOR = 8,
SKILL_CATEGORY_SECONDARY = 9, // secondary professions
SKILL_CATEGORY_LANGUAGES = 10,
SKILL_CATEGORY_PROFESSION = 11, // primary professions
SKILL_CATEGORY_GENERIC = 12
};
// TotemCategory.db2 (11.2.5.62687)
enum TotemCategory
{
TC_SKINNING_SKIFE_OLD = 1,
TC_EARTH_TOTEM = 2,
TC_AIR_TOTEM = 3,
TC_FIRE_TOTEM = 4,
TC_WATER_TOTEM = 5,
TC_COPPER_ROD = 6,
TC_SILVER_ROD = 7,
TC_GOLDEN_ROD = 8,
TC_TRUESILVER_ROD = 9,
TC_ARCANITE_ROD = 10,
TC_MINING_PICK_OLD = 11,
TC_PHILOSOPHERS_STONE = 12,
TC_BLACKSMITH_HAMMER_OLD = 13,
TC_ARCLIGHT_SPANNER = 14,
TC_GYROMATIC_MA = 15,
TC_MASTER_TOTEM = 21,
TC_FEL_IRON_ROD = 41,
TC_ADAMANTITE_ROD = 62,
TC_ETERNIUM_ROD = 63,
TC_HOLLOW_QUILL = 81,
TC_RUNED_AZURITE_ROD = 101,
TC_VIRTUOSO_INKING_SET = 121,
TC_DRUMS = 141,
TC_GNOMISH_ARMY_KNIFE = 161,
TC_BLACKSMITH_HAMMER = 162,
TC_MINING_PICK = 165,
TC_SKINNING_KNIFE = 166,
TC_HAMMER_PICK = 167,
TC_BLADED_PICKAXE = 168,
TC_FLINT_AND_TINDER = 169,
TC_RUNED_COBALT_ROD = 189,
TC_RUNED_TITANIUM_ROD = 190,
TC_RUNED_ELEMENTIUM_ROD = 209,
TC_HIGH_POWERED_BOLT_GUN = 210,
TC_RUNED_COPPER_ROD = 230,
TC_JEWELERS_KIT = 238,
TC_ULTIMATE_GNOMISH_ARMY_KNIFE = 250,
TC_SANGUINE_FEATHER_QUILL_OF_LANATHEL = 253,
TC_UB3R_SPANNER = 354,
TC_VOID_FOCUS = 355,
TC_EMPOWERED_VOID_FOCUS = 356,
TC_UNLEASHED_VOID_FOCUS = 357,
TC_MASTERCRAFT = 358,
TC_VIRTUOSO_ENGRAVING_SET = 359,
TC_ENGINEERING_MULTITOOL = 362,
TC_GNOMISH_ARMY_EVERYTHING = 369
};
enum UnitDynFlags
{
UNIT_DYNFLAG_NONE = 0x0000,
UNIT_DYNFLAG_HIDE_MODEL = 0x0002, // Object model is not shown with this flag
UNIT_DYNFLAG_LOOTABLE = 0x0004,
UNIT_DYNFLAG_TRACK_UNIT = 0x0008,
UNIT_DYNFLAG_TAPPED = 0x0010, // Lua_UnitIsTapped
UNIT_DYNFLAG_SPECIALINFO = 0x0020,
UNIT_DYNFLAG_CAN_SKIN = 0x0040,
UNIT_DYNFLAG_REFER_A_FRIEND = 0x0080
};
enum CorpseDynFlags
{
CORPSE_DYNFLAG_LOOTABLE = 0x0001
};
DEFINE_ENUM_FLAG(CorpseDynFlags);
#define PLAYER_CORPSE_LOOT_ENTRY 1
// EnumUtils: DESCRIBE THIS
enum WeatherType
{
WEATHER_TYPE_FINE = 0,
WEATHER_TYPE_RAIN = 1,
WEATHER_TYPE_SNOW = 2,
WEATHER_TYPE_STORM = 3,
WEATHER_TYPE_THUNDERS = 86,
WEATHER_TYPE_BLACKRAIN = 90
};
#define MAX_WEATHER_TYPE 4
// EnumUtils: DESCRIBE THIS
enum ChatMsg : int32
{
CHAT_MSG_ADDON = -1,
CHAT_MSG_SYSTEM = 0x00,
CHAT_MSG_SAY = 0x01,
CHAT_MSG_PARTY = 0x02,
CHAT_MSG_RAID = 0x03,
CHAT_MSG_GUILD = 0x04,
CHAT_MSG_OFFICER = 0x05,
CHAT_MSG_YELL = 0x06,
CHAT_MSG_WHISPER = 0x07,
CHAT_MSG_WHISPER_FOREIGN = 0x08,
CHAT_MSG_WHISPER_INFORM = 0x09,
CHAT_MSG_EMOTE = 0x0A,
CHAT_MSG_TEXT_EMOTE = 0x0B,
CHAT_MSG_MONSTER_SAY = 0x0C,
CHAT_MSG_MONSTER_PARTY = 0x0D,
CHAT_MSG_MONSTER_YELL = 0x0E,
CHAT_MSG_MONSTER_WHISPER = 0x0F,
CHAT_MSG_MONSTER_EMOTE = 0x10,
CHAT_MSG_CHANNEL = 0x11,
CHAT_MSG_CHANNEL_JOIN = 0x12,
CHAT_MSG_CHANNEL_LEAVE = 0x13,
CHAT_MSG_CHANNEL_LIST = 0x14,
CHAT_MSG_CHANNEL_NOTICE = 0x15,
CHAT_MSG_CHANNEL_NOTICE_USER = 0x16,
CHAT_MSG_AFK = 0x17,
CHAT_MSG_DND = 0x18,
CHAT_MSG_IGNORED = 0x19,
CHAT_MSG_SKILL = 0x1A,
CHAT_MSG_LOOT = 0x1B,
CHAT_MSG_MONEY = 0x1C,
CHAT_MSG_OPENING = 0x1D,
CHAT_MSG_TRADESKILLS = 0x1E,
CHAT_MSG_PET_INFO = 0x1F,
CHAT_MSG_COMBAT_MISC_INFO = 0x20,
CHAT_MSG_COMBAT_XP_GAIN = 0x21,
CHAT_MSG_COMBAT_HONOR_GAIN = 0x22,
CHAT_MSG_COMBAT_FACTION_CHANGE = 0x23,
CHAT_MSG_BG_SYSTEM_NEUTRAL = 0x24,
CHAT_MSG_BG_SYSTEM_ALLIANCE = 0x25,
CHAT_MSG_BG_SYSTEM_HORDE = 0x26,
CHAT_MSG_RAID_LEADER = 0x27,
CHAT_MSG_RAID_WARNING = 0x28,
CHAT_MSG_RAID_BOSS_EMOTE = 0x29,
CHAT_MSG_RAID_BOSS_WHISPER = 0x2A,
CHAT_MSG_FILTERED = 0x2B,
CHAT_MSG_RESTRICTED = 0x2C,
CHAT_MSG_BATTLENET = 0x2D,
CHAT_MSG_ACHIEVEMENT = 0x2E,
CHAT_MSG_GUILD_ACHIEVEMENT = 0x2F,
CHAT_MSG_ARENA_POINTS = 0x30,
CHAT_MSG_PARTY_LEADER = 0x31,
CHAT_MSG_TARGETICONS = 0x32,
CHAT_MSG_BN_WHISPER = 0x33,
CHAT_MSG_BN_WHISPER_INFORM = 0x34,
CHAT_MSG_BN_INLINE_TOAST_ALERT = 0x35,
CHAT_MSG_BN_INLINE_TOAST_BROADCAST = 0x36,
CHAT_MSG_BN_INLINE_TOAST_BROADCAST_INFORM = 0x37,
CHAT_MSG_BN_INLINE_TOAST_CONVERSATION = 0x38,
CHAT_MSG_BN_WHISPER_PLAYER_OFFLINE = 0x39,
CHAT_MSG_CURRENCY = 0x3A,
CHAT_MSG_QUEST_BOSS_EMOTE = 0x3B,
CHAT_MSG_PET_BATTLE_COMBAT_LOG = 0x3C,
CHAT_MSG_PET_BATTLE_INFO = 0x3D,
CHAT_MSG_INSTANCE_CHAT = 0x3E,
CHAT_MSG_INSTANCE_CHAT_LEADER = 0x3F,
CHAT_MSG_GUILD_ITEM_LOOTED = 0x40,
CHAT_MSG_COMMUNITIES_CHANNEL = 0x41,
CHAT_MSG_VOICE_TEXT = 0x42,
MAX_CHAT_MSG_TYPE
};
#define GM_SILENCE_AURA 1852
enum ChatFlags
{
CHAT_FLAG_NONE = 0x0000,
CHAT_FLAG_AFK = 0x0001,
CHAT_FLAG_DND = 0x0002,
CHAT_FLAG_GM = 0x0004,
CHAT_FLAG_COM = 0x0008, // Commentator
CHAT_FLAG_DEV = 0x0010,
CHAT_FLAG_BOSS_SOUND = 0x0020, // Plays "RaidBossEmoteWarning" sound on raid boss emote/whisper
CHAT_FLAG_MOBILE = 0x0040,
CHAT_FLAG_GUIDE = 0x1000,
CHAT_FLAG_NEWCOMER = 0x2000,
CHAT_FLAG_CENSORED = 0x4000,
CHAT_FLAG_TIMERUNNING= 0x8000
};
enum ChatLinkColors : uint32
{
CHAT_LINK_COLOR_TRADE = 0xffffd000, // orange
CHAT_LINK_COLOR_TALENT = 0xff71d5ff, // bright blue
CHAT_LINK_COLOR_SPELL = 0xff71d5ff, // bright blue
CHAT_LINK_COLOR_ENCHANT = 0xffffd000, // orange
CHAT_LINK_COLOR_ACHIEVEMENT = 0xffffff00,
CHAT_LINK_COLOR_ARTIFACT_POWER = 0xff71d5ff,
CHAT_LINK_COLOR_BATTLE_PET_ABIL = 0xff4e96f7,
CHAT_LINK_COLOR_GARR_ABILITY = 0xff4e96f7,
CHAT_LINK_COLOR_INSTANCE_LOCK = 0xffff8000,
CHAT_LINK_COLOR_JOURNAL = 0xff66bbff,
CHAT_LINK_COLOR_TRANSMOG = 0xffff80ff,
CHAT_LINK_COLOR_NEUTRAL = 0xffff00ff,
};
enum class ChatMessageResult : uint32
{
Ok,
HandledCommand,
DisallowedLanguage,
InvalidLanguage,
LanguageNotLearned,
Muted,
SilencedByGM,
MessageTooLong,
MessageEmpty,
MessageHasInvalidCharacters,
MalformedHyperlinks,
PlayerDead,
LevelTooLow,
NoWhisperTarget,
WhisperTargetWrongFaction,
NotInGroup,
NotLeaderOrAssistant,
RaidWarningInPartyDisabled,
ChannelIsReadOnly
};
// Values from ItemPetFood (power of (value-1) used for compare with CreatureFamilyEntry.PetFoodMask
enum PetDiet
{
PET_DIET_MEAT = 1,
PET_DIET_FISH = 2,
PET_DIET_CHEESE = 3,
PET_DIET_BREAD = 4,
PET_DIET_FUNGAS = 5,
PET_DIET_FRUIT = 6,
PET_DIET_RAW_MEAT = 7,
PET_DIET_RAW_FISH = 8
};
#define MAX_PET_DIET 9
#define CHAIN_SPELL_JUMP_RADIUS 8
enum GuildLogs
{
GUILD_BANKLOG_MAX_RECORDS = 25,
GUILD_EVENTLOG_MAX_RECORDS = 100,
GUILD_NEWSLOG_MAX_RECORDS = 250
};
enum AiReaction
{
AI_REACTION_ALERT = 0, // pre-aggro (used in client packet handler)
AI_REACTION_FRIENDLY = 1, // (NOT used in client packet handler)
AI_REACTION_HOSTILE = 2, // sent on every attack, triggers aggro sound (used in client packet handler)
AI_REACTION_AFRAID = 3, // seen for polymorph (when AI not in control of self?) (NOT used in client packet handler)
AI_REACTION_DESTROY = 4 // used on object destroy (NOT used in client packet handler)
};
// Diminishing Returns Types
enum DiminishingReturnsType
{
DRTYPE_NONE = 0, // this spell is not diminished, but may have its duration limited
DRTYPE_PLAYER = 1, // this spell is diminished only when applied on players
DRTYPE_ALL = 2 // this spell is diminished in every case
};
// Diminishing Return Groups
enum DiminishingGroup : uint16
{
DIMINISHING_NONE = 0,
DIMINISHING_ROOT = 1,
DIMINISHING_STUN = 2,
DIMINISHING_INCAPACITATE = 3,
DIMINISHING_DISORIENT = 4,
DIMINISHING_SILENCE = 5,
DIMINISHING_AOE_KNOCKBACK = 6,
DIMINISHING_TAUNT = 7,
DIMINISHING_LIMITONLY = 8,
DIMINISHING_MAX
};
enum SummonCategory
{
SUMMON_CATEGORY_WILD = 0,
SUMMON_CATEGORY_ALLY = 1,
SUMMON_CATEGORY_PET = 2,
SUMMON_CATEGORY_PUPPET = 3,
SUMMON_CATEGORY_POSSESSED_VEHICLE = 4,
SUMMON_CATEGORY_VEHICLE = 5 // Wild, but Ride Spell will be cast
};
enum class SummonTitle : int32
{
None = 0,
Pet = 1,
Guardian = 2,
Minion = 3,
Totem = 4,
Companion = 5,
Runeblade = 6,
Construct = 7,
Opponent = 8, // Related to phases and DK prequest line (3.3.5a)
Vehicle = 9,
Mount = 10, // Oculus and Argent Tournament vehicles (3.3.5a)
Lightwell = 11,
Butler = 12,
aka = 13,
Gateway = 14,
Hatred = 15,
Statue = 16,
Spirit = 17,
WarBanner = 18,
Heartwarmer = 19,
HiredBy = 20,
PurchasedBy = 21,
Pride = 22,
TwistedImage = 23,
NoodleCart = 24,
InnerDemon = 25,
Bodyguard = 26,
Name = 27,
Squire = 28,
Champion = 29,
TheBetrayer = 30,
EruptingReflection = 31,
HopelessReflection = 32,
MalignantReflection = 33,
WailingReflection = 34,
Assistant = 35,
Enforcer = 36,
Recruit = 37,
Admirer = 38,
EvilTwin = 39,
Greed = 40,
LostMind = 41,
ServantOfNZoth = 44
};
enum SummonSlot : int32
{
SUMMON_SLOT_ANY_TOTEM = -1,
SUMMON_SLOT_PET = 0,
SUMMON_SLOT_TOTEM = 1,
SUMMON_SLOT_TOTEM_2 = 2,
SUMMON_SLOT_TOTEM_3 = 3,
SUMMON_SLOT_TOTEM_4 = 4,
SUMMON_SLOT_MINIPET = 5,
SUMMON_SLOT_QUEST = 6,
MAX_SUMMON_SLOT
};
#define MAX_TOTEM_SLOT 5
#define MAX_GAMEOBJECT_SLOT 4
enum EventId
{
EVENT_CHARGE = 1003,
EVENT_JUMP = 1004,
/// Special charge event which is used for charge spells that have explicit targets
/// and had a path already generated - using it in PointMovementGenerator will not
/// create a new spline and launch it
EVENT_CHARGE_PREPATH = 1005,
EVENT_FACE = 1006,
EVENT_VEHICLE_BOARD = 1007,
EVENT_VEHICLE_EXIT = 1008,
EVENT_ASSIST_MOVE = 1009,
};
enum ResponseCodes
{
RESPONSE_SUCCESS = 0,
RESPONSE_FAILURE = 1,
RESPONSE_CANCELLED = 2,
RESPONSE_DISCONNECTED = 3,
RESPONSE_FAILED_TO_CONNECT = 4,
RESPONSE_CONNECTED = 5,
RESPONSE_VERSION_MISMATCH = 6,
CSTATUS_CONNECTING = 7,
CSTATUS_NEGOTIATING_SECURITY = 8,
CSTATUS_NEGOTIATION_COMPLETE = 9,
CSTATUS_NEGOTIATION_FAILED = 10,
CSTATUS_AUTHENTICATING = 11,
REALM_LIST_IN_PROGRESS = 12,
REALM_LIST_SUCCESS = 13,
REALM_LIST_FAILED = 14,
REALM_LIST_INVALID = 15,
REALM_LIST_REALM_NOT_FOUND = 16,
ACCOUNT_CREATE_IN_PROGRESS = 17,
ACCOUNT_CREATE_SUCCESS = 18,
ACCOUNT_CREATE_FAILED = 19,
CHAR_LIST_RETRIEVING = 20,
CHAR_LIST_RETRIEVED = 21,
CHAR_LIST_FAILED = 22,
CHAR_CREATE_IN_PROGRESS = 23,
CHAR_CREATE_SUCCESS = 24,
CHAR_CREATE_ERROR = 25,
CHAR_CREATE_FAILED = 26,
CHAR_CREATE_NAME_IN_USE = 27,
CHAR_CREATE_DISABLED = 28,
CHAR_CREATE_PVP_TEAMS_VIOLATION = 29,
CHAR_CREATE_SERVER_LIMIT = 30,
CHAR_CREATE_ACCOUNT_LIMIT = 31,
CHAR_CREATE_SERVER_QUEUE = 32,
CHAR_CREATE_ONLY_EXISTING = 33,
CHAR_CREATE_EXPANSION = 34,
CHAR_CREATE_EXPANSION_CLASS = 35,
CHAR_CREATE_CHARACTER_IN_GUILD = 36,
CHAR_CREATE_RESTRICTED_RACECLASS = 37,
CHAR_CREATE_CHARACTER_CHOOSE_RACE = 38,
CHAR_CREATE_CHARACTER_ARENA_LEADER = 39,
CHAR_CREATE_CHARACTER_ARENA_TEAM = 40,
CHAR_CREATE_CHARACTER_DELETE_MAIL = 41,
CHAR_CREATE_CHARACTER_SWAP_FACTION = 42,
CHAR_CREATE_CHARACTER_RACE_ONLY = 43,
CHAR_CREATE_CHARACTER_GOLD_LIMIT = 44,
CHAR_CREATE_FORCE_LOGIN = 45,
CHAR_CREATE_TRIAL = 46,
CHAR_CREATE_TIMEOUT = 47,
CHAR_CREATE_THROTTLE = 48,
CHAR_CREATE_ALLIED_RACE_ACHIEVEMENT = 49,
CHAR_CREATE_CHARACTER_IN_COMMUNITY = 50,
CHAR_CREATE_NEW_PLAYER = 51,
CHAR_CREATE_NAME_RESERVATION_FULL = 52,
CHAR_CREATE_DRACTHYR_DUPLICATE = 53,
CHAR_CREATE_DRACTHYR_LEVEL_REQUIREMENT = 54,
CHAR_CREATE_DEATHKNIGHT_DUPLICATE = 55,
CHAR_CREATE_DEATHKNIGHT_LEVEL_REQUIREMENT = 56,
CHAR_CREATE_CLASS_TRIAL_NEWCOMER = 57,
CHAR_CREATE_CLASS_TRIAL_THROTTLE_HOUR = 58,
CHAR_CREATE_CLASS_TRIAL_THROTTLE_DAY = 59,
CHAR_CREATE_CLASS_TRIAL_THROTTLE_WEEK = 60,
CHAR_CREATE_CLASS_TRIAL_THROTTLE_ACCOUNT = 61,
CHAR_CREATE_FACTION_BALANCE = 62,
CHAR_CREATE_TIMERUNNING = 63,
CHAR_DELETE_IN_PROGRESS = 64,
CHAR_DELETE_SUCCESS = 65,
CHAR_DELETE_FAILED = 66,
CHAR_DELETE_FAILED_CHARACTER_SERVICE_PENDING = 67,
CHAR_DELETE_FAILED_GUILD_LEADER = 68,
CHAR_DELETE_FAILED_ARENA_CAPTAIN = 69,
CHAR_DELETE_FAILED_HAS_HEIRLOOM_OR_MAIL = 70,
CHAR_DELETE_FAILED_DEPRECATED1 = 71,
CHAR_DELETE_FAILED_HAS_WOW_TOKEN = 72,
CHAR_DELETE_FAILED_DEPRECATED2 = 73,
CHAR_DELETE_FAILED_COMMUNITY_OWNER = 74,
CHAR_LOGIN_IN_PROGRESS = 75,
CHAR_LOGIN_SUCCESS = 76,
CHAR_LOGIN_NO_WORLD = 77,
CHAR_LOGIN_DUPLICATE_CHARACTER = 78,
CHAR_LOGIN_NO_INSTANCES = 79,
CHAR_LOGIN_FAILED = 80,
CHAR_LOGIN_DISABLED = 81,
CHAR_LOGIN_NO_CHARACTER = 82,
CHAR_LOGIN_LOCKED_FOR_TRANSFER = 83,
CHAR_LOGIN_LOCKED_BY_BILLING = 84,
CHAR_LOGIN_LOCKED_BY_MOBILE_AH = 85,
CHAR_LOGIN_TEMPORARY_GM_LOCK = 86,
CHAR_LOGIN_LOCKED_BY_CHARACTER_UPGRADE = 87,
CHAR_LOGIN_LOCKED_BY_REVOKED_CHARACTER_UPGRADE = 88,
CHAR_LOGIN_LOCKED_BY_REVOKED_VAS_TRANSACTION = 89,
CHAR_LOGIN_LOCKED_BY_RESTRICTION = 90,
CHAR_LOGIN_LOCKED_FOR_REALM_PLAYTYPE = 91,
CHAR_NAME_SUCCESS = 92,
CHAR_NAME_FAILURE = 93,
CHAR_NAME_NO_NAME = 94,
CHAR_NAME_TOO_SHORT = 95,
CHAR_NAME_TOO_LONG = 96,
CHAR_NAME_INVALID_CHARACTER = 97,
CHAR_NAME_MIXED_LANGUAGES = 98,
CHAR_NAME_PROFANE = 99,
CHAR_NAME_RESERVED = 100,
CHAR_NAME_INVALID_APOSTROPHE = 101,
CHAR_NAME_MULTIPLE_APOSTROPHES = 102,
CHAR_NAME_THREE_CONSECUTIVE = 103,
CHAR_NAME_INVALID_SPACE = 104,
CHAR_NAME_CONSECUTIVE_SPACES = 105,
CHAR_NAME_RUSSIAN_CONSECUTIVE_SILENT_CHARACTERS = 106,
CHAR_NAME_RUSSIAN_SILENT_CHARACTER_AT_BEGINNING_OR_END = 107,
CHAR_NAME_DECLENSION_DOESNT_MATCH_BASE_NAME = 108,
CHAR_NAME_SPACES_DISALLOWED = 109,
};
enum CharacterUndeleteResult
{
CHARACTER_UNDELETE_RESULT_OK = 0,
CHARACTER_UNDELETE_RESULT_ERROR_COOLDOWN = 1,
CHARACTER_UNDELETE_RESULT_ERROR_CHAR_CREATE = 2,
CHARACTER_UNDELETE_RESULT_ERROR_DISABLED = 3,
CHARACTER_UNDELETE_RESULT_ERROR_NAME_TAKEN_BY_THIS_ACCOUNT = 4,
CHARACTER_UNDELETE_RESULT_ERROR_UNKNOWN = 5
};
enum ComplaintStatus : uint8
{
COMPLAINT_DISABLED = 0,
COMPLAINT_ENABLED_WITHOUT_AUTO_IGNORE = 1,
COMPLAINT_ENABLED_WITH_AUTO_IGNORE = 2
};
/// Ban function modes
enum BanMode
{
BAN_ACCOUNT,
BAN_CHARACTER,
BAN_IP
};
/// Ban function return codes
enum BanReturn
{
BAN_SUCCESS,
BAN_SYNTAX_ERROR,
BAN_NOTFOUND,
BAN_EXISTS
};
enum PvPTeamId : uint8
{
PVP_TEAM_HORDE = 0, // Battleground: Horde, Arena: Green
PVP_TEAM_ALLIANCE = 1, // Battleground: Alliance, Arena: Gold
PVP_TEAM_NEUTRAL = 2 // Battleground: Neutral, Arena: None
};
uint8 constexpr PVP_TEAMS_COUNT = 2;
// Indexes of BattlemasterList.db2 (9.0.2.37176)
enum BattlegroundTypeId : uint32
{
BATTLEGROUND_TYPE_NONE = 0, // None
BATTLEGROUND_AV = 1, // Alterac Valley
BATTLEGROUND_WS = 2, // Warsong Gulch
BATTLEGROUND_AB = 3, // Arathi Basin
BATTLEGROUND_NA = 4, // Nagrand Arena
BATTLEGROUND_BE = 5, // Blade's Edge Arena
BATTLEGROUND_AA = 6, // All Arenas
BATTLEGROUND_EY = 7, // Eye of the Storm
BATTLEGROUND_RL = 8, // Ruins of Lordaernon
BATTLEGROUND_SA = 9, // Strand of the Ancients
BATTLEGROUND_DS = 10, // Dalaran Sewers
BATTLEGROUND_RV = 11, // The Ring of Valor
BATTLEGROUND_IC = 30, // Isle of Conquest
BATTLEGROUND_RB = 32, // Random Battleground
BATTLEGROUND_RATED_10_VS_10 = 100, // Rated Battleground 10 vs 10
BATTLEGROUND_RATED_15_VS_15 = 101, // Rated Battleground 15 vs 15
BATTLEGROUND_RATED_25_VS_25 = 102, // Rated Battleground 25 vs 25
BATTLEGROUND_TP = 108, // Twin Peaks
BATTLEGROUND_BFG = 120, // Battle For Gilneas
// 656 = "Rated Eye of the Storm"
BATTLEGROUND_TK = 699, // Temple of Kotmogu
// 706 = "CTF3"
BATTLEGROUND_SM = 708, // Silvershard Mines
BATTLEGROUND_TVA = 719, // Tol'Viron Arena
BATTLEGROUND_DG = 754, // Deepwind Gorge
BATTLEGROUND_TTP = 757, // The Tiger's Peak
BATTLEGROUND_SS_VS_TM = 789, // Southshore vs. Tarren Mill
BATTLEGROUND_SMALL_D = 803, // Small Battleground D
BATTLEGROUND_BRH = 808, // Black Rook Hold Arena
// 809 = "New Nagrand Arena (Legion)"
BATTLEGROUND_AF = 816, // Ashamane's Fall
// 844 = "New Blade's Edge Arena (Legion)"
BATTLEGROUND_BRAWL_TBG = 846, // Brawl - The Battle for Gilneas (Old City Map)
BATTLEGROUND_BRAWL_ABW = 847, // Brawl - Arathi Basin Winter
// 848 = "AI Test - Arathi Basin"
BATTLEGROUND_BRAWL_DD = 849, // Brawl - Deepwind Dunk
BATTLEGROUND_BRAWL_SPS = 853, // Brawl - Shadow-Pan Showdown
// 856 = "[TEMP] RaceTrackBG"
BATTLEGROUND_BR = 857, // Blackrock
BATTLEGROUND_BRAWL_TH = 858, // Brawl - Temple of Hotmogu
BATTLEGROUND_BRAWL_GL = 859, // Brawl - Gravity Lapse
BATTLEGROUND_BRAWL_DD2 = 860, // Brawl - Deepwind Dunk
BATTLEGROUND_BRAWL_WS = 861, // Brawl - Warsong Scramble
BATTLEGROUND_BRAWL_EH = 862, // Brawl - Eye of the Horn
BATTLEGROUND_BRAWL_AA = 866, // Brawl - All Arenas
BATTLEGROUND_RL2 = 868, // Ruins of Lordaeron
BATTLEGROUND_DS2 = 869, // Dalaran Sewers
BATTLEGROUND_TVA2 = 870, // Tol'Viron Arena
BATTLEGROUND_TTP2 = 871, // The Tiger's Peak
BATTLEGROUND_BRHA2 = 872, // Black Rook Hold Arena
BATTLEGROUND_NA2 = 873, // Nagrand Arena
BATTLEGROUND_AF2 = 874, // Ashamane's Fall
BATTLEGROUND_BEA2 = 875, // Blade's Edge Arena
// 878 = "AI Test - Warsong Gulch"
BATTLEGROUND_BRAWL_DS = 879, // Brawl - Deep Six
BATTLEGROUND_BRAWL_AB = 880, // Brawl - Arathi Basin
BATTLEGROUND_BRAWL_DG = 881, // Brawl - Deepwind Gorge
BATTLEGROUND_BRAWL_ES = 882, // Brawl - Eye of the Storm
BATTLEGROUND_BRAWL_SM = 883, // Brawl - Silvershard Mines
BATTLEGROUND_BRAWL_TK = 884, // Brawl - Temple of Kotmogue
BATTLEGROUND_BRAWL_TBG2 = 885, // Brawl - The Battle for Gilneas
BATTLEGROUND_BRAWL_WG = 886, // Brawl - Warsong Gulch
BATTLEGROUND_CI = 887, // Cooking: Impossible
BATTLEGROUND_DOM_SS = 890, // Domination - Seething Strand
// 893 = "8.0 BG Temp"
BATTLEGROUND_SS = 894, // Seething Shore
BATTLEGROUND_HP = 897, // Hooking Point
BATTLEGROUND_RANDOM_EPIC = 901, // Random Epic Battleground
BATTLEGROUND_TTP3 = 902, // The Tiger's Peak
BATTLEGROUND_MB = 903, // Mugambala
BATTLEGROUND_BRAWL_AA2 = 904, // Brawl - All Arenas
BATTLEGROUND_BRAWL_AASH = 905, // Brawl - All Arenas - Stocked House
BATTLEGROUND_AF3 = 906, // Ashamane's Fall
BATTLEGROUND_BEA3 = 907, // Blade's Edge Arena
BATTLEGROUND_BE2 = 908, // Blade's Edge
BATTLEGROUND_DS3 = 909, // Dalaran Sewers
BATTLEGROUND_NA3 = 910, // Nagrand Arena
BATTLEGROUND_RL3 = 911, // Ruins of Lordaeron
BATTLEGROUND_TVA3 = 912, // Tol'Viron Arena
BATTLEGROUND_BRHA3 = 913, // Black Rook Hold Arena
BATTLEGROUND_WG_CTF = 1014, // Warsong Gulch Capture the Flag
BATTLEGROUND_EB_BW = 1017, // Epic Battleground - Battle for Wintergrasp
BATTLEGROUND_DOM_AB = 1018, // Domination - Arathi Basin
BATTLEGROUND_AB_CS = 1019, // Arathi Basin Comp Stomp
BATTLEGROUND_EB_A = 1020, // Epic Battleground - Ashran
BATTLEGROUND_CA = 1021, // Classic Ashran (Endless)
BATTLEGROUND_BRAWL_AB2 = 1022, // Brawl - Arathi Basin
BATTLEGROUND_TR = 1025, // The Robodrome (Arena)
BATTLEGROUND_RANDOM_BG = 1029, // Random Battleground
BATTLEGROUND_EB_BW2 = 1030, // Epic Battleground - Battle for Wintergrasp
// 1031 = "Programmer Map - Battlefield"
BATTLEGROUND_KR = 1033, // Korrak's Revenge
BATTLEGROUND_EPIC_BG_WF = 1036, // Epic Battleground - Warfront Arathi (PvP)
BATTLEGROUND_DOM_DG = 1037, // Domination - Deepwind Gorge
BATTLEGROUND_DOM_DG2 = 1039, // Domination - Deepwind Gorge
BATTLEGROUND_ED = 1041, // Empyrean Domain
};
#define MAX_BATTLEGROUND_TYPE_ID 845
enum BattlefieldBattleId : uint8
{
BATTLEFIELD_BATTLEID_WINTERGRASP = 1, // Wintergrasp battle
BATTLEFIELD_BATTLEID_TOL_BARAD = 2, // Tol barad battle
BATTLEFIELD_BATTLEID_MAX
};
enum MailResponseType
{
MAIL_SEND = 0,
MAIL_MONEY_TAKEN = 1,
MAIL_ITEM_TAKEN = 2,
MAIL_RETURNED_TO_SENDER = 3,
MAIL_DELETED = 4,
MAIL_MADE_PERMANENT = 5
};
enum MailResponseResult
{
MAIL_OK = 0,
MAIL_ERR_EQUIP_ERROR = 1,
MAIL_ERR_CANNOT_SEND_TO_SELF = 2,
MAIL_ERR_NOT_ENOUGH_MONEY = 3,
MAIL_ERR_RECIPIENT_NOT_FOUND = 4,
MAIL_ERR_NOT_YOUR_TEAM = 5,
MAIL_ERR_INTERNAL_ERROR = 6,
MAIL_ERR_DISABLED_FOR_TRIAL_ACC = 14,
MAIL_ERR_RECIPIENT_CAP_REACHED = 15,
MAIL_ERR_CANT_SEND_WRAPPED_COD = 16,
MAIL_ERR_MAIL_AND_CHAT_SUSPENDED = 17,
MAIL_ERR_TOO_MANY_ATTACHMENTS = 18,
MAIL_ERR_MAIL_ATTACHMENT_INVALID = 19,
MAIL_ERR_ITEM_HAS_EXPIRED = 21
};
// EnumUtils: DESCRIBE THIS
enum SpellFamilyNames : uint8
{
SPELLFAMILY_GENERIC = 0, // TITLE Generic
SPELLFAMILY_UNK1 = 1, // TITLE Unk1 (events, holidays, ...)
// 2 - unused
SPELLFAMILY_MAGE = 3, // TITLE Mage
SPELLFAMILY_WARRIOR = 4, // TITLE Warrior
SPELLFAMILY_WARLOCK = 5, // TITLE Warlock
SPELLFAMILY_PRIEST = 6, // TITLE Priest
SPELLFAMILY_DRUID = 7, // TITLE Druid
SPELLFAMILY_ROGUE = 8, // TITLE Rogue
SPELLFAMILY_HUNTER = 9, // TITLE Hunter
SPELLFAMILY_PALADIN = 10, // TITLE Paladin
SPELLFAMILY_SHAMAN = 11, // TITLE Shaman
SPELLFAMILY_UNK2 = 12, // TITLE Unk2 (Silence resistance?)
SPELLFAMILY_POTION = 13, // TITLE Potion
// 14 - unused
SPELLFAMILY_DEATHKNIGHT = 15, // TITLE Death Knight
// 16 - unused
SPELLFAMILY_PET = 17, // TITLE Pet
SPELLFAMILY_TOTEMS = 50,
SPELLFAMILY_MONK = 53,
SPELLFAMILY_WARLOCK_PET = 57,
SPELLFAMILY_UNK66 = 66,
SPELLFAMILY_UNK71 = 71,
SPELLFAMILY_UNK78 = 78,
SPELLFAMILY_UNK91 = 91,
SPELLFAMILY_UNK100 = 100,
SPELLFAMILY_DEMON_HUNTER = 107,
SPELLFAMILY_EVOKER = 224
};
enum TradeStatus
{
TRADE_STATUS_PLAYER_BUSY = 0,
TRADE_STATUS_PROPOSED = 1,
TRADE_STATUS_INITIATED = 2,
TRADE_STATUS_CANCELLED = 3,
TRADE_STATUS_ACCEPTED = 4,
TRADE_STATUS_ALREADY_TRADING = 5,
TRADE_STATUS_NO_TARGET = 6,
TRADE_STATUS_UNACCEPTED = 7,
TRADE_STATUS_COMPLETE = 8,
TRADE_STATUS_STATE_CHANGED = 9,
TRADE_STATUS_TOO_FAR_AWAY = 10,
TRADE_STATUS_WRONG_FACTION = 11,
TRADE_STATUS_FAILED = 12,
TRADE_STATUS_PETITION = 13,
TRADE_STATUS_PLAYER_IGNORED = 14,
TRADE_STATUS_STUNNED = 15,
TRADE_STATUS_TARGET_STUNNED = 16,
TRADE_STATUS_DEAD = 17,
TRADE_STATUS_TARGET_DEAD = 18,
TRADE_STATUS_LOGGING_OUT = 19,
TRADE_STATUS_TARGET_LOGGING_OUT = 20,
TRADE_STATUS_RESTRICTED_ACCOUNT = 21,
TRADE_STATUS_WRONG_REALM = 22,
TRADE_STATUS_NOT_ON_TAPLIST = 23,
TRADE_STATUS_CURRENCY_NOT_TRADABLE = 24,
TRADE_STATUS_NOT_ENOUGH_CURRENCY = 25,
};
enum XPColorChar : uint8
{
XP_RED,
XP_ORANGE,
XP_YELLOW,
XP_GREEN,
XP_GRAY
};
enum RemoveMethod : uint8
{
GROUP_REMOVEMETHOD_DEFAULT = 0,
GROUP_REMOVEMETHOD_KICK = 1,
GROUP_REMOVEMETHOD_LEAVE = 2,
GROUP_REMOVEMETHOD_KICK_LFG = 3
};
enum ActivateTaxiReply
{
ERR_TAXIOK = 0,
ERR_TAXIUNSPECIFIEDSERVERERROR = 1,
ERR_TAXINOSUCHPATH = 2,
ERR_TAXINOTENOUGHMONEY = 3,
ERR_TAXITOOFARAWAY = 4,
ERR_TAXINOVENDORNEARBY = 5,
ERR_TAXINOTVISITED = 6,
ERR_TAXIPLAYERBUSY = 7,
ERR_TAXIPLAYERALREADYMOUNTED = 8,
ERR_TAXIPLAYERSHAPESHIFTED = 9,
ERR_TAXIPLAYERMOVING = 10,
ERR_TAXISAMENODE = 11,
ERR_TAXINOTSTANDING = 12
};
enum TaxiNodeStatus
{
TAXISTATUS_NONE = 0,
TAXISTATUS_LEARNED = 1,
TAXISTATUS_UNLEARNED = 2,
TAXISTATUS_NOT_ELIGIBLE = 3,
};
enum ProfessionUI
{
MAX_PRIMARY_PROFESSIONS = 2,
MAX_SECONDARY_SKILLS = 5,
BASE_PARENT_TIER_INDEX = 4
};
enum DuelCompleteType : uint8
{
DUEL_INTERRUPTED = 0,
DUEL_WON = 1,
DUEL_FLED = 2
};
struct BattlegroundQueueTypeId
{
uint16 BattlemasterListId;
uint8 Type;
bool Rated;
uint8 TeamSize;
static constexpr BattlegroundQueueTypeId FromPacked(uint64 packedQueueId)
{
return { uint16(packedQueueId & 0xFFFF), uint8((packedQueueId >> 16) & 0xF), ((packedQueueId >> 20) & 1) != 0, uint8((packedQueueId >> 24) & 0x3F) };
}
constexpr uint64 GetPacked() const
{
return uint64(BattlemasterListId)
| (uint64(Type & 0xF) << 16)
| (uint64(Rated ? 1 : 0) << 20)
| (uint64(TeamSize & 0x3F) << 24)
| UI64LIT(0x1F10000000000000);
}
constexpr bool operator==(BattlegroundQueueTypeId const& right) const = default;
constexpr std::strong_ordering operator<=>(BattlegroundQueueTypeId const& right) const = default;
};
constexpr BattlegroundQueueTypeId BATTLEGROUND_QUEUE_NONE = { 0, 0, false, 0 };
enum GroupJoinBattlegroundResult
{
ERR_BATTLEGROUND_NONE = 0,
ERR_GROUP_JOIN_BATTLEGROUND_DESERTERS = 2, // You cannot join the battleground yet because you or one of your party members is flagged as a Deserter.
ERR_ARENA_TEAM_PARTY_SIZE = 3, // Incorrect party size for this arena.
ERR_BATTLEGROUND_TOO_MANY_QUEUES = 4, // You can only be queued for 2 battles at once
ERR_BATTLEGROUND_CANNOT_QUEUE_FOR_RATED = 5, // You cannot queue for a rated match while queued for other battles
ERR_BATTLEDGROUND_QUEUED_FOR_RATED = 6, // You cannot queue for another battle while queued for a rated arena match
ERR_BATTLEGROUND_TEAM_LEFT_QUEUE = 7, // Your team has left the arena queue
ERR_BATTLEGROUND_NOT_IN_BATTLEGROUND = 8, // You can't do that in a battleground.
ERR_BATTLEGROUND_JOIN_XP_GAIN = 9, // Cannot join as a group unless all the members of your party have the same XP gain setting.
ERR_BATTLEGROUND_JOIN_RANGE_INDEX = 10, // Cannot join the queue unless all members of your party are in the same battleground level range.
ERR_BATTLEGROUND_JOIN_TIMED_OUT = 11, // %s was unavailable to join the queue. (ObjectGuid exist in client cache)
//ERR_BATTLEGROUND_JOIN_TIMED_OUT = 12, // same as 11
//ERR_BATTLEGROUND_TEAM_LEFT_QUEUE = 13, // same as 7
ERR_LFG_CANT_USE_BATTLEGROUND = 14, // You cannot queue for a battleground or arena while using the dungeon system.
ERR_IN_RANDOM_BG = 15, // Can't do that while in a Random Battleground queue.
ERR_IN_NON_RANDOM_BG = 16, // Can't queue for Random Battleground while in another Battleground queue.
ERR_BG_DEVELOPER_ONLY = 17, // This battleground is only available for developer testing at this time.
ERR_BATTLEGROUND_INVITATION_DECLINED = 18, // Your War Game invitation has been declined
ERR_MEETING_STONE_NOT_FOUND = 19, // Player not found.
ERR_WARGAME_REQUEST_FAILURE = 20, // War Game request failed
ERR_BATTLEFIELD_TEAM_PARTY_SIZE = 22, // Incorrect party size for this battlefield.
ERR_NOT_ON_TOURNAMENT_REALM = 23, // Not available on a Tournament Realm.
ERR_BATTLEGROUND_PLAYERS_FROM_DIFFERENT_REALMS = 24, // You cannot queue for a battleground while players from different realms are in your party.
ERR_BATTLEGROUND_JOIN_LEVELUP = 33, // You have been removed from a PvP queue because you have gained a level.
ERR_REMOVE_FROM_PVP_QUEUE_FACTION_CHANGE = 34, // You have been removed from a PvP Queue because you changed your faction.
ERR_BATTLEGROUND_JOIN_FAILED = 35, // Join as a group failed
ERR_BATTLEGROUND_DUPE_QUEUE = 43, // Someone in your group is already queued for that.
ERR_BATTLEGROUND_JOIN_NO_VALID_SPEC_FOR_ROLE = 44, // Role check failed because one of your party members selected an invalid role.
ERR_BATTLEGROUND_JOIN_RESPEC = 45, // You have been removed from a PvP queue because your specialization changed.
ERR_ALREADY_USING_LFG_LIST = 46, // You can't do that while using Premade Groups.
ERR_BATTLEGROUND_JOIN_MUST_COMPLETE_QUEST = 47, // You have been removed from a PvP queue because someone is missing required quest completion.
ERR_BATTLERGOUND_RESTRICTED_ACCOUNT = 48, // Free Trial accounts cannot perform that action
ERR_BATTLEGROUND_JOIN_MERCENARY = 49, // Cannot join as a group unless all the members of your party are flagged as a mercenary.
ERR_BATTLEGROUND_JOIN_TOO_MANY_HEALERS = 51, // You can not enter this bracket of arena with more than one healer. / You can not enter a rated battleground with more than three healers.
ERR_BATTLEGROUND_JOIN_TOO_MANY_TANKS = 52, // You can not enter this bracket of arena with more than one tank.
ERR_BATTLEGROUND_JOIN_TOO_MANY_DAMAGE = 53, // You can not enter this bracket of arena with more than two damage dealers.
ERR_GROUP_JOIN_BATTLEGROUND_DEAD = 57, // You cannot join the battleground because you or one of your party members is dead.
ERR_BATTLEGROUND_JOIN_REQUIRES_LEVEL = 58, // Tournament rules requires all participants to be max level.
ERR_BATTLEGROUND_JOIN_DISQUALIFIED = 59, // %s has been disqualified from ranked play in this bracket.
ERR_ARENA_EXPIRED_CAIS = 60, // You may not queue while one or more of your team members is under the effect of restricted play.
ERR_SOLO_SHUFFLE_WARGAME_GROUP_SIZE = 64, // Exactly 6 non-spectator players must be present to begin a Solo Shuffle Wargame.
ERR_SOLO_SHUFFLE_WARGAME_GROUP_COMP = 65, // Exactly 4 DPS, and either 2 Tanks or 2 Healers, must be present to begin a Solo Shuffle Wargame.
};
enum PetNameInvalidReason
{
// custom, not send
PET_NAME_SUCCESS = 0,
PET_NAME_INVALID = 1,
PET_NAME_NO_NAME = 2,
PET_NAME_TOO_SHORT = 3,
PET_NAME_TOO_LONG = 4,
PET_NAME_MIXED_LANGUAGES = 6,
PET_NAME_PROFANE = 7,
PET_NAME_RESERVED = 8,
PET_NAME_THREE_CONSECUTIVE = 11,
PET_NAME_INVALID_SPACE = 12,
PET_NAME_CONSECUTIVE_SPACES = 13,
PET_NAME_RUSSIAN_CONSECUTIVE_SILENT_CHARACTERS = 14,
PET_NAME_RUSSIAN_SILENT_CHARACTER_AT_BEGINNING_OR_END = 15,
PET_NAME_DECLENSION_DOESNT_MATCH_BASE_NAME = 16
};
enum DungeonStatusFlag
{
DUNGEON_STATUSFLAG_NORMAL = 0x01,
DUNGEON_STATUSFLAG_HEROIC = 0x02,
RAID_STATUSFLAG_10MAN_NORMAL = 0x01,
RAID_STATUSFLAG_25MAN_NORMAL = 0x02,
RAID_STATUSFLAG_10MAN_HEROIC = 0x04,
RAID_STATUSFLAG_25MAN_HEROIC = 0x08
};
enum class CurrencyDbFlags : uint8
{
None = 0x00,
IgnoreMaxQtyOnload = 0x01,
Reuse1 = 0x02,
InBackpack = 0x04,
UnusedInUI = 0x08,
Reuse2 = 0x10,
UnusedFlags = (IgnoreMaxQtyOnload | Reuse1 | Reuse2),
ClientFlags = (0x1F & ~UnusedFlags)
};
DEFINE_ENUM_FLAG(CurrencyDbFlags);
enum class CurrencyDestroyReason : uint32
{
Cheat = 0,
Spell = 1,
VersionUpdate = 2,
QuestTurnin = 3,
Vendor = 4,
Trade = 5,
Capped = 6,
Garrison = 7,
DroppedToCorpse = 8,
BonusRoll = 9,
FactionConversion = 10,
FulfillCraftingOrder = 11,
Last = 12
};
enum class CurrencyGainSource : uint32
{
ConvertOldItem = 0,
ConvertOldPvPCurrency = 1,
ItemRefund = 2,
QuestReward = 3,
Cheat = 4,
Vendor = 5,
PvPKillCredit = 6,
PvPMetaCredit = 7,
PvPScriptedAward = 8,
Loot = 9,
UpdatingVersion = 10,
LFGReward = 11,
Trade = 12,
Spell = 13,
ItemDeletion = 14,
RatedBattleground = 15,
RandomBattleground = 16,
Arena = 17,
ExceededMaxQty = 18,
PvPCompletionBonus = 19,
Script = 20,
GuildBankWithdrawal = 21,
Pushloot = 22,
GarrisonBuilding = 23,
PvPDrop = 24,
GarrisonFollowerActivation = 25,
GarrisonBuildingRefund = 26,
GarrisonMissionReward = 27,
GarrisonResourceOverTime = 28,
QuestRewardIgnoreCaps = 29,
GarrisonTalent = 30,
GarrisonWorldQuestBonus = 31,
PvPHonorReward = 32,
BonusRoll = 33,
AzeriteRespec = 34,
WorldQuestReward = 35,
WorldQuestRewardIgnoreCaps = 36,
FactionConversion = 37,
DailyQuestReward = 38,
DailyQuestWarModeReward = 39,
WeeklyQuestReward = 40,
WeeklyQuestWarModeReward = 41,
AccountCopy = 42,
WeeklyRewardChest = 43,
GarrisonTalentTreeReset = 44,
DailyReset = 45,
AddConduitToCollection = 46,
Barbershop = 47,
ConvertItemsToCurrencyValue = 48,
PvPTeamContribution = 49,
Transmogrify = 50,
AuctionDeposit = 51,
PlayerTrait = 52,
PhBuffer_53 = 53,
PhBuffer_54 = 54,
RenownRepGain = 55,
CraftingOrder = 56,
CatalystBalancing = 57,
CatalystCraft = 58,
ProfessionInitialAward = 59,
PlayerTraitRefund = 60,
Last = 61
};
enum class CurrencyGainFlags : uint32
{
None = 0x00,
BonusAward = 0x01,
DroppedFromDeath = 0x02,
FromAccountServer = 0x04
};
DEFINE_ENUM_FLAG(CurrencyGainFlags);
enum PartyResult
{
ERR_PARTY_RESULT_OK = 0,
ERR_BAD_PLAYER_NAME_S = 1,
ERR_TARGET_NOT_IN_GROUP_S = 2,
ERR_TARGET_NOT_IN_INSTANCE_S = 3,
ERR_GROUP_FULL = 4,
ERR_ALREADY_IN_GROUP_S = 5,
ERR_NOT_IN_GROUP = 6,
ERR_NOT_LEADER = 7,
ERR_PLAYER_WRONG_FACTION = 8,
ERR_IGNORING_YOU_S = 9,
ERR_LFG_PENDING = 12,
ERR_INVITE_RESTRICTED = 13,
ERR_GROUP_SWAP_FAILED = 14, // if (PartyOperation == PARTY_OP_SWAP) ERR_GROUP_SWAP_FAILED else ERR_INVITE_IN_COMBAT
ERR_INVITE_UNKNOWN_REALM = 15,
ERR_INVITE_NO_PARTY_SERVER = 16,
ERR_INVITE_PARTY_BUSY = 17,
ERR_PARTY_TARGET_AMBIGUOUS = 18,
ERR_PARTY_LFG_INVITE_RAID_LOCKED = 19,
ERR_PARTY_LFG_BOOT_LIMIT = 20,
ERR_PARTY_LFG_BOOT_COOLDOWN_S = 21,
ERR_PARTY_LFG_BOOT_IN_PROGRESS = 22,
ERR_PARTY_LFG_BOOT_TOO_FEW_PLAYERS = 23,
ERR_PARTY_LFG_BOOT_NOT_ELIGIBLE_S = 24,
ERR_RAID_DISALLOWED_BY_LEVEL = 25,
ERR_PARTY_LFG_BOOT_IN_COMBAT = 26,
ERR_VOTE_KICK_REASON_NEEDED = 27,
ERR_PARTY_LFG_BOOT_DUNGEON_COMPLETE = 28,
ERR_PARTY_LFG_BOOT_LOOT_ROLLS = 29,
ERR_PARTY_LFG_TELEPORT_IN_COMBAT = 30
};
enum DiminishingLevels
{
DIMINISHING_LEVEL_1 = 0,
DIMINISHING_LEVEL_2 = 1,
DIMINISHING_LEVEL_3 = 2,
DIMINISHING_LEVEL_IMMUNE = 3,
DIMINISHING_LEVEL_4 = 3,
DIMINISHING_LEVEL_TAUNT_IMMUNE = 4
};
enum WeaponAttackType : uint8
{
BASE_ATTACK = 0,
OFF_ATTACK = 1,
RANGED_ATTACK = 2,
MAX_ATTACK
};
enum CharterTypes
{
CHARTER_TYPE_NONE = 0,
CHARTER_TYPE_ANY = 10,
GUILD_CHARTER_TYPE = 4,
ARENA_TEAM_CHARTER_2v2_TYPE = 2,
ARENA_TEAM_CHARTER_3v3_TYPE = 3,
ARENA_TEAM_CHARTER_5v5_TYPE = 5
};
enum LineOfSightChecks : uint8
{
LINEOFSIGHT_CHECK_VMAP = 0x1, // check static floor layout data
LINEOFSIGHT_CHECK_GOBJECT = 0x2, // check dynamic game object data
LINEOFSIGHT_ALL_CHECKS = (LINEOFSIGHT_CHECK_VMAP | LINEOFSIGHT_CHECK_GOBJECT)
};
enum TokenResult
{
TOKEN_RESULT_SUCCESS = 0,
TOKEN_RESULT_ERROR_DISABLED = 1,
TOKEN_RESULT_ERROR_OTHER = 2,
TOKEN_RESULT_ERROR_NONE_FOR_SALE = 3,
TOKEN_RESULT_ERROR_TOO_MANY_TOKENS = 4,
TOKEN_RESULT_SUCCESS_NO = 5,
TOKEN_RESULT_ERROR_TRANSACTION_IN_PROGRESS = 6,
TOKEN_RESULT_ERROR_AUCTIONABLE_TOKEN_OWNED = 7,
TOKEN_RESULT_ERROR_TRIAL_RESTRICTED = 8
};
enum TutorialAction : uint8
{
TUTORIAL_ACTION_UPDATE = 0,
TUTORIAL_ACTION_CLEAR = 1,
TUTORIAL_ACTION_RESET = 2
};
/*
enum Tutorials : uint8
{
TUTORIAL_TALENT = 0,
TUTORIAL_SPEC = 1,
TUTORIAL_GLYPH = 2,
TUTORIAL_SPELLBOOK = 3,
TUTORIAL_PROFESSIONS = 4,
TUTORIAL_CORE_ABILITITES = 5,
TUTORIAL_PET_JOURNAL = 6,
TUTORIAL_WHAT_HAS_CHANGED = 7,
TUTORIAL_GARRISON_BUILDING = 8,
TUTORIAL_GARRISON_MISSION_LIST = 9,
TUTORIAL_GARRISON_MISSION_PAGE = 10,
TUTORIAL_GARRISON_LANDING = 11,
TUTORIAL_GARRISON_ZONE_ABILITY = 12,
TUTORIAL_WORLD_MAP_FRAME = 13,
TUTORIAL_CLEAN_UP_BAGS = 14,
TUTORIAL_BAG_SETTINGS = 15,
TUTORIAL_REAGENT_BANK_UNLOCK = 16,
TUTORIAL_TOYBOX_FAVORITE = 17,
TUTORIAL_TOYBOX_MOUSEWHEEL_PAGING = 18,
TUTORIAL_LFG_LIST = 19
};
*/
#define MAX_ACCOUNT_TUTORIAL_VALUES 8
enum RaidGroupReason
{
RAID_GROUP_ERR_NONE = 0,
RAID_GROUP_ERR_LOWLEVEL = 1, // "You are too low level to enter this instance."
RAID_GROUP_ERR_ONLY = 2, // "You must be in a raid group to enter this instance."
RAID_GROUP_ERR_FULL = 3, // "The instance is full."
RAID_GROUP_ERR_REQUIREMENTS_UNMATCH = 4 // "You do not meet the requirements to enter this instance."
};
enum ResetFailedReason : uint8
{
INSTANCE_RESET_FAILED = 0, // "Cannot reset %s. There are players still inside the instance."
INSTANCE_RESET_FAILED_OFFLINE = 1, // "Cannot reset %s. There are players offline in your party."
INSTANCE_RESET_FAILED_ZONING = 2 // "Cannot reset %s. There are players in your party attempting to zone into an instance."
};
enum class GameError : uint32
{
ERR_SYSTEM = 0,
ERR_INTERNAL_ERROR = 1,
ERR_INV_FULL = 2,
ERR_BANK_FULL = 3,
ERR_CANT_EQUIP_LEVEL_I = 4,
ERR_CANT_EQUIP_SKILL = 5,
ERR_CANT_EQUIP_EVER = 6,
ERR_CANT_EQUIP_RANK = 7,
ERR_CANT_EQUIP_RATING = 8,
ERR_CANT_EQUIP_REPUTATION = 9,
ERR_PROFICIENCY_NEEDED = 10,
ERR_WRONG_SLOT = 11,
ERR_CANT_EQUIP_NEED_TALENT = 12,
ERR_BAG_FULL = 13,
ERR_INTERNAL_BAG_ERROR = 14,
ERR_DESTROY_NONEMPTY_BAG = 15,
ERR_BAG_IN_BAG = 16,
ERR_TOO_MANY_SPECIAL_BAGS = 17,
ERR_TRADE_EQUIPPED_BAG = 18,
ERR_AMMO_ONLY = 19,
ERR_NO_SLOT_AVAILABLE = 20,
ERR_WRONG_BAG_TYPE = 21,
ERR_REAGENTBAG_WRONG_SLOT = 22,
ERR_SLOT_ONLY_REAGENTBAG = 23,
ERR_REAGENTBAG_ITEM_TYPE = 24,
ERR_ITEM_MAX_COUNT = 25,
ERR_NOT_EQUIPPABLE = 26,
ERR_CANT_STACK = 27,
ERR_CANT_SWAP = 28,
ERR_SLOT_EMPTY = 29,
ERR_ITEM_NOT_FOUND = 30,
ERR_TOO_FEW_TO_SPLIT = 31,
ERR_SPLIT_FAILED = 32,
ERR_NOT_A_BAG = 33,
ERR_NOT_OWNER = 34,
ERR_ONLY_ONE_QUIVER = 35,
ERR_NO_BANK_SLOT = 36,
ERR_NO_BANK_HERE = 37,
ERR_NO_ACCOUNT_BANK_HERE = 38,
ERR_ITEM_LOCKED = 39,
ERR_2HANDED_EQUIPPED = 40,
ERR_VENDOR_NOT_INTERESTED = 41,
ERR_VENDOR_REFUSE_SCRAPPABLE_AZERITE = 42,
ERR_VENDOR_HATES_YOU = 43,
ERR_VENDOR_SOLD_OUT = 44,
ERR_VENDOR_TOO_FAR = 45,
ERR_VENDOR_DOESNT_BUY = 46,
ERR_NOT_ENOUGH_MONEY = 47,
ERR_RECEIVE_ITEM_S = 48,
ERR_DROP_BOUND_ITEM = 49,
ERR_TRADE_BOUND_ITEM = 50,
ERR_TRADE_QUEST_ITEM = 51,
ERR_TRADE_TEMP_ENCHANT_BOUND = 52,
ERR_TRADE_GROUND_ITEM = 53,
ERR_TRADE_BAG = 54,
ERR_TRADE_FACTION_SPECIFIC = 55,
ERR_SPELL_FAILED_S = 56,
ERR_ITEM_COOLDOWN = 57,
ERR_POTION_COOLDOWN = 58,
ERR_FOOD_COOLDOWN = 59,
ERR_SPELL_COOLDOWN = 60,
ERR_ABILITY_COOLDOWN = 61,
ERR_SPELL_ALREADY_KNOWN_S = 62,
ERR_PET_SPELL_ALREADY_KNOWN_S = 63,
ERR_PROFICIENCY_GAINED_S = 64,
ERR_SKILL_GAINED_S = 65,
ERR_SKILL_UP_SI = 66,
ERR_LEARN_SPELL_S = 67,
ERR_LEARN_ABILITY_S = 68,
ERR_LEARN_PASSIVE_S = 69,
ERR_LEARN_RECIPE_S = 70,
ERR_PROFESSIONS_RECIPE_DISCOVERY_S = 71,
ERR_LEARN_COMPANION_S = 72,
ERR_LEARN_MOUNT_S = 73,
ERR_LEARN_TOY_S = 74,
ERR_LEARN_HEIRLOOM_S = 75,
ERR_LEARN_TRANSMOG_S = 76,
ERR_LEARN_WARBAND_SCENE_S = 77,
ERR_COMPLETED_TRANSMOG_SET_S = 78,
ERR_APPEARANCE_ALREADY_LEARNED = 79,
ERR_REVOKE_TRANSMOG_S = 80,
ERR_INVITE_PLAYER_S = 81,
ERR_SUGGEST_INVITE_PLAYER_S = 82,
ERR_INFORM_SUGGEST_INVITE_S = 83,
ERR_INFORM_SUGGEST_INVITE_SS = 84,
ERR_REQUEST_JOIN_PLAYER_S = 85,
ERR_INVITE_SELF = 86,
ERR_INVITED_TO_GROUP_SS = 87,
ERR_INVITED_ALREADY_IN_GROUP_SS = 88,
ERR_ALREADY_IN_GROUP_S = 89,
ERR_REQUESTED_INVITE_TO_GROUP_SS = 90,
ERR_CROSS_REALM_RAID_INVITE = 91,
ERR_PLAYER_BUSY_S = 92,
ERR_NEW_LEADER_S = 93,
ERR_NEW_LEADER_YOU = 94,
ERR_NEW_GUIDE_S = 95,
ERR_NEW_GUIDE_YOU = 96,
ERR_LEFT_GROUP_S = 97,
ERR_LEFT_GROUP_YOU = 98,
ERR_GROUP_DISBANDED = 99,
ERR_DECLINE_GROUP_S = 100,
ERR_DECLINE_GROUP_REQUEST_S = 101,
ERR_JOINED_GROUP_S = 102,
ERR_UNINVITE_YOU = 103,
ERR_BAD_PLAYER_NAME_S = 104,
ERR_NOT_IN_GROUP = 105,
ERR_TARGET_NOT_IN_GROUP_S = 106,
ERR_TARGET_NOT_IN_INSTANCE_S = 107,
ERR_NOT_IN_INSTANCE_GROUP = 108,
ERR_GROUP_FULL = 109,
ERR_NOT_LEADER = 110,
ERR_PLAYER_DIED_S = 111,
ERR_GUILD_CREATE_S = 112,
ERR_GUILD_INVITE_S = 113,
ERR_INVITED_TO_GUILD_SSS = 114,
ERR_ALREADY_IN_GUILD_S = 115,
ERR_ALREADY_INVITED_TO_GUILD_S = 116,
ERR_INVITED_TO_GUILD = 117,
ERR_ALREADY_IN_GUILD = 118,
ERR_GUILD_ACCEPT = 119,
ERR_GUILD_DECLINE_S = 120,
ERR_GUILD_DECLINE_AUTO_S = 121,
ERR_GUILD_PERMISSIONS = 122,
ERR_GUILD_JOIN_S = 123,
ERR_GUILD_FOUNDER_S = 124,
ERR_GUILD_PROMOTE_SSS = 125,
ERR_GUILD_DEMOTE_SS = 126,
ERR_GUILD_DEMOTE_SSS = 127,
ERR_GUILD_INVITE_SELF = 128,
ERR_GUILD_QUIT_S = 129,
ERR_GUILD_LEAVE_S = 130,
ERR_GUILD_REMOVE_SS = 131,
ERR_GUILD_REMOVE_SELF = 132,
ERR_GUILD_DISBAND_S = 133,
ERR_GUILD_DISBAND_SELF = 134,
ERR_GUILD_LEADER_S = 135,
ERR_GUILD_LEADER_SELF = 136,
ERR_GUILD_PLAYER_NOT_FOUND_S = 137,
ERR_GUILD_PLAYER_NOT_IN_GUILD_S = 138,
ERR_GUILD_PLAYER_NOT_IN_GUILD = 139,
ERR_GUILD_BANK_NOT_AVAILABLE = 140,
ERR_GUILD_CANT_PROMOTE_S = 141,
ERR_GUILD_CANT_DEMOTE_S = 142,
ERR_GUILD_NOT_IN_A_GUILD = 143,
ERR_GUILD_INTERNAL = 144,
ERR_GUILD_LEADER_IS_S = 145,
ERR_GUILD_LEADER_CHANGED_SS = 146,
ERR_GUILD_DISBANDED = 147,
ERR_GUILD_NOT_ALLIED = 148,
ERR_GUILD_NEW_LEADER_NOT_ALLIED = 149,
ERR_GUILD_LEADER_LEAVE = 150,
ERR_GUILD_RANKS_LOCKED = 151,
ERR_GUILD_RANK_IN_USE = 152,
ERR_GUILD_RANK_TOO_HIGH_S = 153,
ERR_GUILD_RANK_TOO_LOW_S = 154,
ERR_GUILD_NAME_EXISTS_S = 155,
ERR_GUILD_WITHDRAW_LIMIT = 156,
ERR_GUILD_NOT_ENOUGH_MONEY = 157,
ERR_GUILD_TOO_MUCH_MONEY = 158,
ERR_GUILD_BANK_CONJURED_ITEM = 159,
ERR_GUILD_BANK_EQUIPPED_ITEM = 160,
ERR_GUILD_BANK_BOUND_ITEM = 161,
ERR_GUILD_BANK_QUEST_ITEM = 162,
ERR_GUILD_BANK_WRAPPED_ITEM = 163,
ERR_GUILD_BANK_FULL = 164,
ERR_GUILD_BANK_WRONG_TAB = 165,
ERR_GUILD_BANK_WARBANDS_BANK_SOURCE = 166,
ERR_GUILD_BANK_REALM_MISMATCH = 167,
ERR_GUILD_NEW_LEADER_WRONG_REALM = 168,
ERR_NO_GUILD_CHARTER = 169,
ERR_OUT_OF_RANGE = 170,
ERR_PLAYER_DEAD = 171,
ERR_CLIENT_LOCKED_OUT = 172,
ERR_CLIENT_ON_TRANSPORT = 173,
ERR_KILLED_BY_S = 174,
ERR_LOOT_LOCKED = 175,
ERR_LOOT_TOO_FAR = 176,
ERR_LOOT_DIDNT_KILL = 177,
ERR_LOOT_BAD_FACING = 178,
ERR_LOOT_NOTSTANDING = 179,
ERR_LOOT_STUNNED = 180,
ERR_LOOT_NO_UI = 181,
ERR_LOOT_WHILE_INVULNERABLE = 182,
ERR_NO_LOOT = 183,
ERR_QUEST_ACCEPTED_S = 184,
ERR_QUEST_COMPLETE_S = 185,
ERR_QUEST_FAILED_S = 186,
ERR_QUEST_FAILED_BAG_FULL_S = 187,
ERR_QUEST_FAILED_MAX_COUNT_S = 188,
ERR_QUEST_FAILED_LOW_LEVEL = 189,
ERR_QUEST_FAILED_MISSING_ITEMS = 190,
ERR_QUEST_FAILED_WRONG_RACE = 191,
ERR_QUEST_FAILED_NOT_ENOUGH_MONEY = 192,
ERR_QUEST_FAILED_EXPANSION = 193,
ERR_QUEST_ONLY_ONE_TIMED = 194,
ERR_QUEST_NEED_PREREQS = 195,
ERR_QUEST_NEED_PREREQS_CUSTOM = 196,
ERR_QUEST_ALREADY_ON = 197,
ERR_QUEST_ALREADY_DONE = 198,
ERR_QUEST_ALREADY_DONE_DAILY = 199,
ERR_QUEST_HAS_IN_PROGRESS = 200,
ERR_QUEST_REWARD_EXP_I = 201,
ERR_QUEST_REWARD_MONEY_S = 202,
ERR_QUEST_MUST_CHOOSE = 203,
ERR_QUEST_LOG_FULL = 204,
ERR_COMBAT_DAMAGE_SSI = 205,
ERR_INSPECT_S = 206,
ERR_CANT_USE_ITEM = 207,
ERR_CANT_USE_ITEM_IN_ARENA = 208,
ERR_CANT_USE_ITEM_IN_RATED_BATTLEGROUND = 209,
ERR_MUST_EQUIP_ITEM = 210,
ERR_PASSIVE_ABILITY = 211,
ERR_2HSKILLNOTFOUND = 212,
ERR_NO_ATTACK_TARGET = 213,
ERR_INVALID_ATTACK_TARGET = 214,
ERR_ATTACK_PVP_TARGET_WHILE_UNFLAGGED = 215,
ERR_ATTACK_STUNNED = 216,
ERR_ATTACK_PACIFIED = 217,
ERR_ATTACK_MOUNTED = 218,
ERR_ATTACK_FLEEING = 219,
ERR_ATTACK_CONFUSED = 220,
ERR_ATTACK_CHARMED = 221,
ERR_ATTACK_DEAD = 222,
ERR_ATTACK_PREVENTED_BY_MECHANIC_S = 223,
ERR_ATTACK_CHANNEL = 224,
ERR_TAXISAMENODE = 225,
ERR_TAXINOSUCHPATH = 226,
ERR_TAXIUNSPECIFIEDSERVERERROR = 227,
ERR_TAXINOTENOUGHMONEY = 228,
ERR_TAXITOOFARAWAY = 229,
ERR_TAXINOVENDORNEARBY = 230,
ERR_TAXINOTVISITED = 231,
ERR_TAXIPLAYERBUSY = 232,
ERR_TAXIPLAYERALREADYMOUNTED = 233,
ERR_TAXIPLAYERSHAPESHIFTED = 234,
ERR_TAXIPLAYERMOVING = 235,
ERR_TAXINOPATHS = 236,
ERR_TAXINOTELIGIBLE = 237,
ERR_TAXINOTSTANDING = 238,
ERR_TAXIINCOMBAT = 239,
ERR_NO_REPLY_TARGET = 240,
ERR_GENERIC_NO_TARGET = 241,
ERR_INITIATE_TRADE_S = 242,
ERR_TRADE_REQUEST_S = 243,
ERR_TRADE_BLOCKED_S = 244,
ERR_TRADE_TARGET_DEAD = 245,
ERR_TRADE_TOO_FAR = 246,
ERR_TRADE_CANCELLED = 247,
ERR_TRADE_COMPLETE = 248,
ERR_TRADE_BAG_FULL = 249,
ERR_TRADE_TARGET_BAG_FULL = 250,
ERR_TRADE_MAX_COUNT_EXCEEDED = 251,
ERR_TRADE_TARGET_MAX_COUNT_EXCEEDED = 252,
ERR_INVENTORY_TRADE_TOO_MANY_UNIQUE_ITEM = 253,
ERR_ALREADY_TRADING = 254,
ERR_MOUNT_INVALIDMOUNTEE = 255,
ERR_MOUNT_TOOFARAWAY = 256,
ERR_MOUNT_ALREADYMOUNTED = 257,
ERR_MOUNT_NOTMOUNTABLE = 258,
ERR_MOUNT_NOTYOURPET = 259,
ERR_MOUNT_OTHER = 260,
ERR_MOUNT_LOOTING = 261,
ERR_MOUNT_RACECANTMOUNT = 262,
ERR_MOUNT_SHAPESHIFTED = 263,
ERR_MOUNT_NO_FAVORITES = 264,
ERR_MOUNT_NO_MOUNTS = 265,
ERR_DISMOUNT_NOPET = 266,
ERR_DISMOUNT_NOTMOUNTED = 267,
ERR_DISMOUNT_NOTYOURPET = 268,
ERR_SPELL_FAILED_TOTEMS = 269,
ERR_SPELL_FAILED_REAGENTS = 270,
ERR_SPELL_FAILED_REAGENTS_GENERIC = 271,
ERR_SPELL_FAILED_OPTIONAL_REAGENTS = 272,
ERR_CANT_TRADE_GOLD = 273,
ERR_SPELL_FAILED_EQUIPPED_ITEM = 274,
ERR_SPELL_FAILED_EQUIPPED_ITEM_CLASS_S = 275,
ERR_SPELL_FAILED_SHAPESHIFT_FORM_S = 276,
ERR_SPELL_FAILED_ANOTHER_IN_PROGRESS = 277,
ERR_BADATTACKFACING = 278,
ERR_BADATTACKPOS = 279,
ERR_CHEST_IN_USE = 280,
ERR_USE_CANT_OPEN = 281,
ERR_USE_LOCKED = 282,
ERR_DOOR_LOCKED = 283,
ERR_BUTTON_LOCKED = 284,
ERR_USE_LOCKED_WITH_ITEM_S = 285,
ERR_USE_LOCKED_WITH_SPELL_S = 286,
ERR_USE_LOCKED_WITH_SPELL_KNOWN_SI = 287,
ERR_USE_TOO_FAR = 288,
ERR_USE_BAD_ANGLE = 289,
ERR_USE_OBJECT_MOVING = 290,
ERR_USE_SPELL_FOCUS = 291,
ERR_USE_DESTROYED = 292,
ERR_SET_LOOT_FREEFORALL = 293,
ERR_SET_LOOT_ROUNDROBIN = 294,
ERR_SET_LOOT_MASTER = 295,
ERR_SET_LOOT_GROUP = 296,
ERR_SET_LOOT_NBG = 297,
ERR_SET_LOOT_THRESHOLD_S = 298,
ERR_NEW_LOOT_MASTER_S = 299,
ERR_SPECIFY_MASTER_LOOTER = 300,
ERR_LOOT_SPEC_CHANGED_S = 301,
ERR_TAME_FAILED = 302,
ERR_CHAT_WHILE_DEAD = 303,
ERR_CHAT_PLAYER_NOT_FOUND_S = 304,
ERR_NEWTAXIPATH = 305,
ERR_NO_PET = 306,
ERR_NOTYOURPET = 307,
ERR_PET_NOT_RENAMEABLE = 308,
ERR_QUEST_OBJECTIVE_COMPLETE_S = 309,
ERR_QUEST_UNKNOWN_COMPLETE = 310,
ERR_QUEST_ADD_KILL_SII = 311,
ERR_QUEST_ADD_FOUND_SII = 312,
ERR_QUEST_ADD_ITEM_SII = 313,
ERR_QUEST_ADD_PLAYER_KILL_SII = 314,
ERR_CANNOTCREATEDIRECTORY = 315,
ERR_CANNOTCREATEFILE = 316,
ERR_PLAYER_WRONG_FACTION = 317,
ERR_PLAYER_IS_NEUTRAL = 318,
ERR_BANKSLOT_FAILED_TOO_MANY = 319,
ERR_BANKSLOT_INSUFFICIENT_FUNDS = 320,
ERR_BANKSLOT_NOTBANKER = 321,
ERR_FRIEND_DB_ERROR = 322,
ERR_FRIEND_LIST_FULL = 323,
ERR_FRIEND_ADDED_S = 324,
ERR_BATTLETAG_FRIEND_ADDED_S = 325,
ERR_FRIEND_ONLINE_SS = 326,
ERR_FRIEND_OFFLINE_S = 327,
ERR_FRIEND_NOT_FOUND = 328,
ERR_FRIEND_WRONG_FACTION = 329,
ERR_FRIEND_REMOVED_S = 330,
ERR_BATTLETAG_FRIEND_REMOVED_S = 331,
ERR_FRIEND_ERROR = 332,
ERR_FRIEND_ALREADY_S = 333,
ERR_FRIEND_SELF = 334,
ERR_FRIEND_DELETED = 335,
ERR_IGNORE_FULL = 336,
ERR_IGNORE_SELF = 337,
ERR_IGNORE_NOT_FOUND = 338,
ERR_IGNORE_ALREADY_S = 339,
ERR_IGNORE_ADDED_S = 340,
ERR_IGNORE_REMOVED_S = 341,
ERR_IGNORE_AMBIGUOUS = 342,
ERR_IGNORE_DELETED = 343,
ERR_ONLY_ONE_BOLT = 344,
ERR_ONLY_ONE_AMMO = 345,
ERR_SPELL_FAILED_EQUIPPED_SPECIFIC_ITEM = 346,
ERR_WRONG_BAG_TYPE_SUBCLASS = 347,
ERR_CANT_WRAP_STACKABLE = 348,
ERR_CANT_WRAP_EQUIPPED = 349,
ERR_CANT_WRAP_WRAPPED = 350,
ERR_CANT_WRAP_BOUND = 351,
ERR_CANT_WRAP_UNIQUE = 352,
ERR_CANT_WRAP_BAGS = 353,
ERR_OUT_OF_MANA = 354,
ERR_OUT_OF_RAGE = 355,
ERR_OUT_OF_FOCUS = 356,
ERR_OUT_OF_ENERGY = 357,
ERR_OUT_OF_CHI = 358,
ERR_OUT_OF_HEALTH = 359,
ERR_OUT_OF_RUNES = 360,
ERR_OUT_OF_RUNIC_POWER = 361,
ERR_OUT_OF_SOUL_SHARDS = 362,
ERR_OUT_OF_LUNAR_POWER = 363,
ERR_OUT_OF_HOLY_POWER = 364,
ERR_OUT_OF_MAELSTROM = 365,
ERR_OUT_OF_COMBO_POINTS = 366,
ERR_OUT_OF_INSANITY = 367,
ERR_OUT_OF_ESSENCE = 368,
ERR_OUT_OF_ARCANE_CHARGES = 369,
ERR_OUT_OF_FURY = 370,
ERR_OUT_OF_PAIN = 371,
ERR_OUT_OF_POWER_DISPLAY = 372,
ERR_OUT_OF_RUNE_BLOOD = 373,
ERR_OUT_OF_RUNE_FROST = 374,
ERR_OUT_OF_RUNE_UNHOLY = 375,
ERR_OUT_OF_ALTERNATE_QUEST = 376,
ERR_OUT_OF_ALTERNATE_ENCOUNTER = 377,
ERR_OUT_OF_ALTERNATE_MOUNT = 378,
ERR_OUT_OF_BALANCE = 379,
ERR_OUT_OF_HAPPINESS = 380,
ERR_OUT_OF_SHADOW_ORBS = 381,
ERR_OUT_OF_RUNE_CHROMATIC = 382,
ERR_LOOT_GONE = 383,
ERR_MOUNT_FORCEDDISMOUNT = 384,
ERR_AUTOFOLLOW_TOO_FAR = 385,
ERR_UNIT_NOT_FOUND = 386,
ERR_INVALID_FOLLOW_TARGET = 387,
ERR_INVALID_FOLLOW_PVP_COMBAT = 388,
ERR_INVALID_FOLLOW_TARGET_PVP_COMBAT = 389,
ERR_INVALID_INSPECT_TARGET = 390,
ERR_GUILDEMBLEM_SUCCESS = 391,
ERR_GUILDEMBLEM_INVALID_TABARD_COLORS = 392,
ERR_GUILDEMBLEM_NOGUILD = 393,
ERR_GUILDEMBLEM_NOTGUILDMASTER = 394,
ERR_GUILDEMBLEM_NOTENOUGHMONEY = 395,
ERR_GUILDEMBLEM_INVALIDVENDOR = 396,
ERR_EMBLEMERROR_NOTABARDGEOSET = 397,
ERR_SPELL_OUT_OF_RANGE = 398,
ERR_COMMAND_NEEDS_TARGET = 399,
ERR_NOAMMO_S = 400,
ERR_TOOBUSYTOFOLLOW = 401,
ERR_DUEL_REQUESTED = 402,
ERR_DUEL_CANCELLED = 403,
ERR_DEATHBINDALREADYBOUND = 404,
ERR_DEATHBIND_SUCCESS_S = 405,
ERR_NOEMOTEWHILERUNNING = 406,
ERR_ZONE_EXPLORED = 407,
ERR_ZONE_EXPLORED_XP = 408,
ERR_INVALID_ITEM_TARGET = 409,
ERR_INVALID_QUEST_TARGET = 410,
ERR_IGNORING_YOU_S = 411,
ERR_FISH_NOT_HOOKED = 412,
ERR_FISH_ESCAPED = 413,
ERR_SPELL_FAILED_NOTUNSHEATHED = 414,
ERR_PETITION_OFFERED_S = 415,
ERR_PETITION_SIGNED = 416,
ERR_PETITION_SIGNED_S = 417,
ERR_PETITION_DECLINED_S = 418,
ERR_PETITION_ALREADY_SIGNED = 419,
ERR_PETITION_RESTRICTED_ACCOUNT_TRIAL = 420,
ERR_PETITION_ALREADY_SIGNED_OTHER = 421,
ERR_PETITION_IN_GUILD = 422,
ERR_PETITION_CREATOR = 423,
ERR_PETITION_NOT_ENOUGH_SIGNATURES = 424,
ERR_PETITION_NOT_SAME_SERVER = 425,
ERR_PETITION_FULL = 426,
ERR_PETITION_ALREADY_SIGNED_BY_S = 427,
ERR_GUILD_NAME_INVALID = 428,
ERR_SPELL_UNLEARNED_S = 429,
ERR_PET_SPELL_ROOTED = 430,
ERR_PET_SPELL_AFFECTING_COMBAT = 431,
ERR_PET_SPELL_OUT_OF_RANGE = 432,
ERR_PET_SPELL_NOT_BEHIND = 433,
ERR_PET_SPELL_TARGETS_DEAD = 434,
ERR_PET_SPELL_DEAD = 435,
ERR_PET_SPELL_NOPATH = 436,
ERR_ITEM_CANT_BE_DESTROYED = 437,
ERR_TICKET_ALREADY_EXISTS = 438,
ERR_TICKET_CREATE_ERROR = 439,
ERR_TICKET_UPDATE_ERROR = 440,
ERR_TICKET_DB_ERROR = 441,
ERR_TICKET_NO_TEXT = 442,
ERR_TICKET_TEXT_TOO_LONG = 443,
ERR_OBJECT_IS_BUSY = 444,
ERR_EXHAUSTION_WELLRESTED = 445,
ERR_EXHAUSTION_RESTED = 446,
ERR_EXHAUSTION_NORMAL = 447,
ERR_EXHAUSTION_TIRED = 448,
ERR_EXHAUSTION_EXHAUSTED = 449,
ERR_NO_ITEMS_WHILE_SHAPESHIFTED = 450,
ERR_CANT_INTERACT_SHAPESHIFTED = 451,
ERR_REALM_NOT_FOUND = 452,
ERR_MAIL_QUEST_ITEM = 453,
ERR_MAIL_BOUND_ITEM = 454,
ERR_MAIL_CONJURED_ITEM = 455,
ERR_MAIL_BAG = 456,
ERR_MAIL_TO_SELF = 457,
ERR_MAIL_TARGET_NOT_FOUND = 458,
ERR_MAIL_DATABASE_ERROR = 459,
ERR_MAIL_DELETE_ITEM_ERROR = 460,
ERR_MAIL_WRAPPED_COD = 461,
ERR_MAIL_CANT_SEND_REALM = 462,
ERR_MAIL_TEMP_RETURN_OUTAGE = 463,
ERR_MAIL_RECEPIENT_CANT_RECEIVE_MAIL = 464,
ERR_MAIL_SENT = 465,
ERR_MAIL_TARGET_IS_TRIAL = 466,
ERR_NOT_HAPPY_ENOUGH = 467,
ERR_USE_CANT_IMMUNE = 468,
ERR_CANT_BE_DISENCHANTED = 469,
ERR_CANT_USE_DISARMED = 470,
ERR_AUCTION_DATABASE_ERROR = 471,
ERR_AUCTION_HIGHER_BID = 472,
ERR_AUCTION_ALREADY_BID = 473,
ERR_AUCTION_OUTBID_S = 474,
ERR_AUCTION_WON_S = 475,
ERR_AUCTION_REMOVED_S = 476,
ERR_AUCTION_BID_PLACED = 477,
ERR_LOGOUT_FAILED = 478,
ERR_QUEST_PUSH_SUCCESS_S = 479,
ERR_QUEST_PUSH_INVALID_S = 480,
ERR_QUEST_PUSH_INVALID_TO_RECIPIENT_S = 481,
ERR_QUEST_PUSH_ACCEPTED_S = 482,
ERR_QUEST_PUSH_DECLINED_S = 483,
ERR_QUEST_PUSH_BUSY_S = 484,
ERR_QUEST_PUSH_DEAD_S = 485,
ERR_QUEST_PUSH_DEAD_TO_RECIPIENT_S = 486,
ERR_QUEST_PUSH_LOG_FULL_S = 487,
ERR_QUEST_PUSH_LOG_FULL_TO_RECIPIENT_S = 488,
ERR_QUEST_PUSH_ONQUEST_S = 489,
ERR_QUEST_PUSH_ONQUEST_TO_RECIPIENT_S = 490,
ERR_QUEST_PUSH_ALREADY_DONE_S = 491,
ERR_QUEST_PUSH_ALREADY_DONE_TO_RECIPIENT_S = 492,
ERR_QUEST_PUSH_NOT_DAILY_S = 493,
ERR_QUEST_PUSH_TIMER_EXPIRED_S = 494,
ERR_QUEST_PUSH_NOT_IN_PARTY_S = 495,
ERR_QUEST_PUSH_DIFFERENT_SERVER_DAILY_S = 496,
ERR_QUEST_PUSH_DIFFERENT_SERVER_DAILY_TO_RECIPIENT_S = 497,
ERR_QUEST_PUSH_NOT_ALLOWED_S = 498,
ERR_QUEST_PUSH_PREREQUISITE_S = 499,
ERR_QUEST_PUSH_PREREQUISITE_TO_RECIPIENT_S = 500,
ERR_QUEST_PUSH_LOW_LEVEL_S = 501,
ERR_QUEST_PUSH_LOW_LEVEL_TO_RECIPIENT_S = 502,
ERR_QUEST_PUSH_HIGH_LEVEL_S = 503,
ERR_QUEST_PUSH_HIGH_LEVEL_TO_RECIPIENT_S = 504,
ERR_QUEST_PUSH_CLASS_S = 505,
ERR_QUEST_PUSH_CLASS_TO_RECIPIENT_S = 506,
ERR_QUEST_PUSH_RACE_S = 507,
ERR_QUEST_PUSH_RACE_TO_RECIPIENT_S = 508,
ERR_QUEST_PUSH_LOW_FACTION_S = 509,
ERR_QUEST_PUSH_LOW_FACTION_TO_RECIPIENT_S = 510,
ERR_QUEST_PUSH_HIGH_FACTION_S = 511,
ERR_QUEST_PUSH_HIGH_FACTION_TO_RECIPIENT_S = 512,
ERR_QUEST_PUSH_EXPANSION_S = 513,
ERR_QUEST_PUSH_EXPANSION_TO_RECIPIENT_S = 514,
ERR_QUEST_PUSH_NOT_GARRISON_OWNER_S = 515,
ERR_QUEST_PUSH_NOT_GARRISON_OWNER_TO_RECIPIENT_S = 516,
ERR_QUEST_PUSH_WRONG_COVENANT_S = 517,
ERR_QUEST_PUSH_WRONG_COVENANT_TO_RECIPIENT_S = 518,
ERR_QUEST_PUSH_NEW_PLAYER_EXPERIENCE_S = 519,
ERR_QUEST_PUSH_NEW_PLAYER_EXPERIENCE_TO_RECIPIENT_S = 520,
ERR_QUEST_PUSH_WRONG_FACTION_S = 521,
ERR_QUEST_PUSH_WRONG_FACTION_TO_RECIPIENT_S = 522,
ERR_QUEST_PUSH_CROSS_FACTION_RESTRICTED_S = 523,
ERR_RAID_GROUP_LOWLEVEL = 524,
ERR_RAID_GROUP_ONLY = 525,
ERR_RAID_GROUP_FULL = 526,
ERR_RAID_GROUP_REQUIREMENTS_UNMATCH = 527,
ERR_CORPSE_IS_NOT_IN_INSTANCE = 528,
ERR_PVP_KILL_HONORABLE = 529,
ERR_PVP_KILL_DISHONORABLE = 530,
ERR_SPELL_FAILED_ALREADY_AT_FULL_HEALTH = 531,
ERR_SPELL_FAILED_ALREADY_AT_FULL_MANA = 532,
ERR_SPELL_FAILED_ALREADY_AT_FULL_POWER_S = 533,
ERR_AUTOLOOT_MONEY_S = 534,
ERR_GENERIC_STUNNED = 535,
ERR_GENERIC_THROTTLE = 536,
ERR_CLUB_FINDER_SEARCHING_TOO_FAST = 537,
ERR_TARGET_STUNNED = 538,
ERR_MUST_REPAIR_DURABILITY = 539,
ERR_RAID_YOU_JOINED = 540,
ERR_RAID_YOU_LEFT = 541,
ERR_INSTANCE_GROUP_JOINED_WITH_PARTY = 542,
ERR_INSTANCE_GROUP_JOINED_WITH_RAID = 543,
ERR_RAID_MEMBER_ADDED_S = 544,
ERR_RAID_MEMBER_REMOVED_S = 545,
ERR_INSTANCE_GROUP_ADDED_S = 546,
ERR_INSTANCE_GROUP_REMOVED_S = 547,
ERR_CLICK_ON_ITEM_TO_FEED = 548,
ERR_TOO_MANY_CHAT_CHANNELS = 549,
ERR_LOOT_ROLL_PENDING = 550,
ERR_LOOT_PLAYER_NOT_FOUND = 551,
ERR_NOT_IN_RAID = 552,
ERR_LOGGING_OUT = 553,
ERR_TARGET_LOGGING_OUT = 554,
ERR_NOT_WHILE_MOUNTED = 555,
ERR_NOT_WHILE_SHAPESHIFTED = 556,
ERR_NOT_IN_COMBAT = 557,
ERR_NOT_WHILE_DISARMED = 558,
ERR_PET_BROKEN = 559,
ERR_TALENT_WIPE_ERROR = 560,
ERR_SPEC_WIPE_ERROR = 561,
ERR_GLYPH_WIPE_ERROR = 562,
ERR_PET_SPEC_WIPE_ERROR = 563,
ERR_FEIGN_DEATH_RESISTED = 564,
ERR_MEETING_STONE_IN_QUEUE_S = 565,
ERR_MEETING_STONE_LEFT_QUEUE_S = 566,
ERR_MEETING_STONE_OTHER_MEMBER_LEFT = 567,
ERR_MEETING_STONE_PARTY_KICKED_FROM_QUEUE = 568,
ERR_MEETING_STONE_MEMBER_STILL_IN_QUEUE = 569,
ERR_MEETING_STONE_SUCCESS = 570,
ERR_MEETING_STONE_IN_PROGRESS = 571,
ERR_MEETING_STONE_MEMBER_ADDED_S = 572,
ERR_MEETING_STONE_GROUP_FULL = 573,
ERR_MEETING_STONE_NOT_LEADER = 574,
ERR_MEETING_STONE_INVALID_LEVEL = 575,
ERR_MEETING_STONE_TARGET_NOT_IN_PARTY = 576,
ERR_MEETING_STONE_TARGET_INVALID_LEVEL = 577,
ERR_MEETING_STONE_MUST_BE_LEADER = 578,
ERR_MEETING_STONE_NO_RAID_GROUP = 579,
ERR_MEETING_STONE_NEED_PARTY = 580,
ERR_MEETING_STONE_NOT_FOUND = 581,
ERR_MEETING_STONE_TARGET_IN_VEHICLE = 582,
ERR_GUILDEMBLEM_SAME = 583,
ERR_EQUIP_TRADE_ITEM = 584,
ERR_PVP_TOGGLE_ON = 585,
ERR_PVP_TOGGLE_OFF = 586,
ERR_GROUP_JOIN_BATTLEGROUND_DESERTERS = 587,
ERR_GROUP_JOIN_BATTLEGROUND_DEAD = 588,
ERR_GROUP_JOIN_BATTLEGROUND_S = 589,
ERR_GROUP_JOIN_BATTLEGROUND_FAIL = 590,
ERR_GROUP_JOIN_BATTLEGROUND_TOO_MANY = 591,
ERR_SOLO_JOIN_BATTLEGROUND_S = 592,
ERR_JOIN_SINGLE_SCENARIO_S = 593,
ERR_BATTLEGROUND_TOO_MANY_QUEUES = 594,
ERR_BATTLEGROUND_CANNOT_QUEUE_FOR_RATED = 595,
ERR_BATTLEDGROUND_QUEUED_FOR_RATED = 596,
ERR_BATTLEGROUND_TEAM_LEFT_QUEUE = 597,
ERR_BATTLEGROUND_NOT_IN_BATTLEGROUND = 598,
ERR_ALREADY_IN_ARENA_TEAM_S = 599,
ERR_INVALID_PROMOTION_CODE = 600,
ERR_BG_PLAYER_JOINED_SS = 601,
ERR_BG_PLAYER_LEFT_S = 602,
ERR_RESTRICTED_ACCOUNT = 603,
ERR_RESTRICTED_ACCOUNT_TRIAL = 604,
ERR_NOT_ENOUGH_PURCHASED_GAME_TIME = 605,
ERR_PLAY_TIME_EXCEEDED = 606,
ERR_APPROACHING_PARTIAL_PLAY_TIME = 607,
ERR_APPROACHING_PARTIAL_PLAY_TIME_2 = 608,
ERR_APPROACHING_NO_PLAY_TIME = 609,
ERR_APPROACHING_NO_PLAY_TIME_2 = 610,
ERR_UNHEALTHY_TIME = 611,
ERR_CHAT_RESTRICTED_TRIAL = 612,
ERR_CHAT_THROTTLED = 613,
ERR_MAIL_REACHED_CAP = 614,
ERR_INVALID_RAID_TARGET = 615,
ERR_RAID_LEADER_READY_CHECK_START_S = 616,
ERR_READY_CHECK_IN_PROGRESS = 617,
ERR_READY_CHECK_THROTTLED = 618,
ERR_VOTE_TO_ABANDON_NOT_YET = 619,
ERR_DUNGEON_DIFFICULTY_FAILED = 620,
ERR_DUNGEON_DIFFICULTY_CHANGED_S = 621,
ERR_TRADE_WRONG_REALM = 622,
ERR_TRADE_NOT_ON_TAPLIST = 623,
ERR_CHAT_PLAYER_AMBIGUOUS_S = 624,
ERR_LOOT_CANT_LOOT_THAT_NOW = 625,
ERR_LOOT_MASTER_INV_FULL = 626,
ERR_LOOT_MASTER_UNIQUE_ITEM = 627,
ERR_LOOT_MASTER_OTHER = 628,
ERR_FILTERING_YOU_S = 629,
ERR_USE_PREVENTED_BY_MECHANIC_S = 630,
ERR_ITEM_UNIQUE_EQUIPPABLE = 631,
ERR_LFG_LEADER_IS_LFM_S = 632,
ERR_LFG_PENDING = 633,
ERR_CANT_SPEAK_LANGAGE = 634,
ERR_VENDOR_MISSING_TURNINS = 635,
ERR_BATTLEGROUND_NOT_IN_TEAM = 636,
ERR_NOT_IN_BATTLEGROUND = 637,
ERR_NOT_ENOUGH_HONOR_POINTS = 638,
ERR_NOT_ENOUGH_ARENA_POINTS = 639,
ERR_SOCKETING_REQUIRES_META_GEM = 640,
ERR_SOCKETING_META_GEM_ONLY_IN_METASLOT = 641,
ERR_SOCKETING_REQUIRES_HYDRAULIC_GEM = 642,
ERR_SOCKETING_HYDRAULIC_GEM_ONLY_IN_HYDRAULICSLOT = 643,
ERR_SOCKETING_REQUIRES_COGWHEEL_GEM = 644,
ERR_SOCKETING_COGWHEEL_GEM_ONLY_IN_COGWHEELSLOT = 645,
ERR_SOCKETING_ITEM_TOO_LOW_LEVEL = 646,
ERR_ITEM_MAX_COUNT_SOCKETED = 647,
ERR_SYSTEM_DISABLED = 648,
ERR_QUEST_FAILED_TOO_MANY_DAILY_QUESTS_I = 649,
ERR_ITEM_MAX_COUNT_EQUIPPED_SOCKETED = 650,
ERR_ITEM_UNIQUE_EQUIPPABLE_SOCKETED = 651,
ERR_USER_SQUELCHED = 652,
ERR_ACCOUNT_SILENCED = 653,
ERR_PARTY_MEMBER_SILENCED = 654,
ERR_PARTY_MEMBER_SILENCED_LFG_DELIST = 655,
ERR_TOO_MUCH_GOLD = 656,
ERR_NOT_BARBER_SITTING = 657,
ERR_QUEST_FAILED_CAIS = 658,
ERR_INVITE_RESTRICTED_TRIAL = 659,
ERR_VOICE_IGNORE_FULL = 660,
ERR_VOICE_IGNORE_SELF = 661,
ERR_VOICE_IGNORE_NOT_FOUND = 662,
ERR_VOICE_IGNORE_ALREADY_S = 663,
ERR_VOICE_IGNORE_ADDED_S = 664,
ERR_VOICE_IGNORE_REMOVED_S = 665,
ERR_VOICE_IGNORE_AMBIGUOUS = 666,
ERR_VOICE_IGNORE_DELETED = 667,
ERR_UNKNOWN_MACRO_OPTION_S = 668,
ERR_NOT_DURING_ARENA_MATCH = 669,
ERR_NOT_IN_RATED_BATTLEGROUND = 670,
ERR_PLAYER_SILENCED = 671,
ERR_PLAYER_UNSILENCED = 672,
ERR_COMSAT_DISCONNECT = 673,
ERR_COMSAT_RECONNECT_ATTEMPT = 674,
ERR_COMSAT_CONNECT_FAIL = 675,
ERR_MAIL_INVALID_ATTACHMENT_SLOT = 676,
ERR_MAIL_TOO_MANY_ATTACHMENTS = 677,
ERR_MAIL_INVALID_ATTACHMENT = 678,
ERR_MAIL_ATTACHMENT_EXPIRED = 679,
ERR_VOICE_CHAT_PARENTAL_DISABLE_MIC = 680,
ERR_PROFANE_CHAT_NAME = 681,
ERR_PLAYER_SILENCED_ECHO = 682,
ERR_PLAYER_UNSILENCED_ECHO = 683,
ERR_LOOT_CANT_LOOT_THAT = 684,
ERR_ARENA_EXPIRED_CAIS = 685,
ERR_GROUP_ACTION_THROTTLED = 686,
ERR_ALREADY_PICKPOCKETED = 687,
ERR_NAME_INVALID = 688,
ERR_NAME_NO_NAME = 689,
ERR_NAME_TOO_SHORT = 690,
ERR_NAME_TOO_LONG = 691,
ERR_NAME_MIXED_LANGUAGES = 692,
ERR_NAME_PROFANE = 693,
ERR_NAME_RESERVED = 694,
ERR_NAME_THREE_CONSECUTIVE = 695,
ERR_NAME_INVALID_SPACE = 696,
ERR_NAME_CONSECUTIVE_SPACES = 697,
ERR_NAME_RUSSIAN_CONSECUTIVE_SILENT_CHARACTERS = 698,
ERR_NAME_RUSSIAN_SILENT_CHARACTER_AT_BEGINNING_OR_END = 699,
ERR_NAME_DECLENSION_DOESNT_MATCH_BASE_NAME = 700,
ERR_RECRUIT_A_FRIEND_NOT_LINKED = 701,
ERR_RECRUIT_A_FRIEND_NOT_NOW = 702,
ERR_RECRUIT_A_FRIEND_SUMMON_LEVEL_MAX = 703,
ERR_RECRUIT_A_FRIEND_SUMMON_COOLDOWN = 704,
ERR_RECRUIT_A_FRIEND_SUMMON_OFFLINE = 705,
ERR_RECRUIT_A_FRIEND_INSUF_EXPAN_LVL = 706,
ERR_RECRUIT_A_FRIEND_MAP_INCOMING_TRANSFER_NOT_ALLOWED = 707,
ERR_NOT_SAME_ACCOUNT = 708,
ERR_BAD_ON_USE_ENCHANT = 709,
ERR_TRADE_SELF = 710,
ERR_TOO_MANY_SOCKETS = 711,
ERR_ITEM_MAX_LIMIT_CATEGORY_COUNT_EXCEEDED_IS = 712,
ERR_TRADE_TARGET_MAX_LIMIT_CATEGORY_COUNT_EXCEEDED_IS = 713,
ERR_ITEM_MAX_LIMIT_CATEGORY_SOCKETED_EXCEEDED_IS = 714,
ERR_ITEM_MAX_LIMIT_CATEGORY_EQUIPPED_EXCEEDED_IS = 715,
ERR_SHAPESHIFT_FORM_CANNOT_EQUIP = 716,
ERR_ITEM_INVENTORY_FULL_SATCHEL = 717,
ERR_SCALING_STAT_ITEM_LEVEL_EXCEEDED = 718,
ERR_SCALING_STAT_ITEM_LEVEL_TOO_LOW = 719,
ERR_PURCHASE_LEVEL_TOO_LOW = 720,
ERR_GROUP_SWAP_FAILED = 721,
ERR_INVITE_IN_COMBAT = 722,
ERR_INVALID_GLYPH_SLOT = 723,
ERR_GENERIC_NO_VALID_TARGETS = 724,
ERR_CALENDAR_EVENT_ALERT_S = 725,
ERR_PET_LEARN_SPELL_S = 726,
ERR_PET_LEARN_ABILITY_S = 727,
ERR_PET_SPELL_UNLEARNED_S = 728,
ERR_INVITE_UNKNOWN_REALM = 729,
ERR_INVITE_NO_PARTY_SERVER = 730,
ERR_INVITE_PARTY_BUSY = 731,
ERR_INVITE_PARTY_BUSY_PENDING_REQUEST = 732,
ERR_INVITE_PARTY_BUSY_PENDING_SUGGEST = 733,
ERR_PARTY_TARGET_AMBIGUOUS = 734,
ERR_PARTY_LFG_INVITE_RAID_LOCKED = 735,
ERR_PARTY_LFG_BOOT_LIMIT = 736,
ERR_PARTY_LFG_BOOT_COOLDOWN_S = 737,
ERR_PARTY_LFG_BOOT_NOT_ELIGIBLE_S = 738,
ERR_PARTY_LFG_BOOT_INPATIENT_TIMER_S = 739,
ERR_PARTY_LFG_BOOT_IN_PROGRESS = 740,
ERR_PARTY_LFG_BOOT_TOO_FEW_PLAYERS = 741,
ERR_PARTY_LFG_BOOT_VOTE_SUCCEEDED = 742,
ERR_PARTY_LFG_BOOT_VOTE_FAILED = 743,
ERR_PARTY_LFG_BOOT_DISALLOWED_BY_MAP = 744,
ERR_PARTY_LFG_BOOT_DUNGEON_COMPLETE = 745,
ERR_PARTY_LFG_BOOT_LOOT_ROLLS = 746,
ERR_PARTY_LFG_BOOT_VOTE_REGISTERED = 747,
ERR_PARTY_PRIVATE_GROUP_ONLY = 748,
ERR_PARTY_LFG_TELEPORT_IN_COMBAT = 749,
ERR_PARTY_TIME_RUNNING_SEASON_ID_MUST_MATCH = 750,
ERR_RAID_DISALLOWED_BY_LEVEL = 751,
ERR_RAID_DISALLOWED_BY_CROSS_REALM = 752,
ERR_PARTY_ROLE_NOT_AVAILABLE = 753,
ERR_JOIN_LFG_OBJECT_FAILED = 754,
ERR_LFG_REMOVED_LEVELUP = 755,
ERR_LFG_REMOVED_XP_TOGGLE = 756,
ERR_LFG_REMOVED_FACTION_CHANGE = 757,
ERR_BATTLEGROUND_INFO_THROTTLED = 758,
ERR_BATTLEGROUND_ALREADY_IN = 759,
ERR_ARENA_TEAM_CHANGE_FAILED_QUEUED = 760,
ERR_ARENA_TEAM_PERMISSIONS = 761,
ERR_NOT_WHILE_FALLING = 762,
ERR_NOT_WHILE_MOVING = 763,
ERR_NOT_WHILE_FATIGUED = 764,
ERR_MAX_SOCKETS = 765,
ERR_MULTI_CAST_ACTION_TOTEM_S = 766,
ERR_BATTLEGROUND_JOIN_LEVELUP = 767,
ERR_REMOVE_FROM_PVP_QUEUE_XP_GAIN = 768,
ERR_BATTLEGROUND_JOIN_XP_GAIN = 769,
ERR_BATTLEGROUND_JOIN_MERCENARY = 770,
ERR_BATTLEGROUND_JOIN_TOO_MANY_HEALERS = 771,
ERR_BATTLEGROUND_JOIN_RATED_TOO_MANY_HEALERS = 772,
ERR_BATTLEGROUND_JOIN_TOO_MANY_TANKS = 773,
ERR_BATTLEGROUND_JOIN_TOO_MANY_DAMAGE = 774,
ERR_RAID_DIFFICULTY_FAILED = 775,
ERR_RAID_DIFFICULTY_CHANGED_S = 776,
ERR_LEGACY_RAID_DIFFICULTY_CHANGED_S = 777,
ERR_RAID_LOCKOUT_CHANGED_S = 778,
ERR_RAID_CONVERTED_TO_PARTY = 779,
ERR_PARTY_CONVERTED_TO_RAID = 780,
ERR_PLAYER_DIFFICULTY_CHANGED_S = 781,
ERR_GMRESPONSE_DB_ERROR = 782,
ERR_BATTLEGROUND_JOIN_RANGE_INDEX = 783,
ERR_ARENA_JOIN_RANGE_INDEX = 784,
ERR_REMOVE_FROM_PVP_QUEUE_FACTION_CHANGE = 785,
ERR_BATTLEGROUND_JOIN_FAILED = 786,
ERR_BATTLEGROUND_JOIN_NO_VALID_SPEC_FOR_ROLE = 787,
ERR_BATTLEGROUND_JOIN_RESPEC = 788,
ERR_BATTLEGROUND_INVITATION_DECLINED = 789,
ERR_BATTLEGROUND_INVITATION_DECLINED_BY = 790,
ERR_BATTLEGROUND_JOIN_TIMED_OUT = 791,
ERR_BATTLEGROUND_DUPE_QUEUE = 792,
ERR_BATTLEGROUND_JOIN_MUST_COMPLETE_QUEST = 793,
ERR_IN_BATTLEGROUND_RESPEC = 794,
ERR_MAIL_LIMITED_DURATION_ITEM = 795,
ERR_YELL_RESTRICTED_TRIAL = 796,
ERR_CHAT_RAID_RESTRICTED_TRIAL = 797,
ERR_LFG_ROLE_CHECK_FAILED = 798,
ERR_LFG_ROLE_CHECK_FAILED_TIMEOUT = 799,
ERR_LFG_ROLE_CHECK_FAILED_NOT_VIABLE = 800,
ERR_LFG_READY_CHECK_FAILED = 801,
ERR_LFG_READY_CHECK_FAILED_TIMEOUT = 802,
ERR_LFG_GROUP_FULL = 803,
ERR_LFG_NO_LFG_OBJECT = 804,
ERR_LFG_NO_SLOTS_PLAYER = 805,
ERR_LFG_NO_SLOTS_PARTY = 806,
ERR_LFG_NO_SPEC = 807,
ERR_LFG_MISMATCHED_SLOTS = 808,
ERR_LFG_MISMATCHED_SLOTS_LOCAL_XREALM = 809,
ERR_LFG_PARTY_PLAYERS_FROM_DIFFERENT_REALMS = 810,
ERR_LFG_MEMBERS_NOT_PRESENT = 811,
ERR_LFG_GET_INFO_TIMEOUT = 812,
ERR_LFG_INVALID_SLOT = 813,
ERR_LFG_DESERTER_PLAYER = 814,
ERR_LFG_DESERTER_PARTY = 815,
ERR_LFG_DEAD = 816,
ERR_LFG_RANDOM_COOLDOWN_PLAYER = 817,
ERR_LFG_RANDOM_COOLDOWN_PARTY = 818,
ERR_LFG_TOO_MANY_MEMBERS = 819,
ERR_LFG_TOO_FEW_MEMBERS = 820,
ERR_LFG_PROPOSAL_FAILED = 821,
ERR_LFG_PROPOSAL_DECLINED_SELF = 822,
ERR_LFG_PROPOSAL_DECLINED_PARTY = 823,
ERR_LFG_NO_SLOTS_SELECTED = 824,
ERR_LFG_NO_ROLES_SELECTED = 825,
ERR_LFG_ROLE_CHECK_INITIATED = 826,
ERR_LFG_READY_CHECK_INITIATED = 827,
ERR_LFG_PLAYER_DECLINED_ROLE_CHECK = 828,
ERR_LFG_PLAYER_DECLINED_READY_CHECK = 829,
ERR_LFG_LOREWALKING = 830,
ERR_LFG_JOINED_QUEUE = 831,
ERR_LFG_JOINED_FLEX_QUEUE = 832,
ERR_LFG_JOINED_RF_QUEUE = 833,
ERR_LFG_JOINED_SCENARIO_QUEUE = 834,
ERR_LFG_JOINED_WORLD_PVP_QUEUE = 835,
ERR_LFG_JOINED_BATTLEFIELD_QUEUE = 836,
ERR_LFG_JOINED_LIST = 837,
ERR_QUEUED_PLUNDERSTORM = 838,
ERR_LFG_LEFT_QUEUE = 839,
ERR_LFG_LEFT_LIST = 840,
ERR_LFG_ROLE_CHECK_ABORTED = 841,
ERR_LFG_READY_CHECK_ABORTED = 842,
ERR_LFG_CANT_USE_BATTLEGROUND = 843,
ERR_LFG_CANT_USE_DUNGEONS = 844,
ERR_LFG_REASON_TOO_MANY_LFG = 845,
ERR_LFG_FARM_LIMIT = 846,
ERR_LFG_NO_CROSS_FACTION_PARTIES = 847,
ERR_INVALID_TELEPORT_LOCATION = 848,
ERR_TOO_FAR_TO_INTERACT = 849,
ERR_BATTLEGROUND_PLAYERS_FROM_DIFFERENT_REALMS = 850,
ERR_DIFFICULTY_CHANGE_COOLDOWN_S = 851,
ERR_DIFFICULTY_CHANGE_COMBAT_COOLDOWN_S = 852,
ERR_DIFFICULTY_CHANGE_WORLDSTATE = 853,
ERR_DIFFICULTY_CHANGE_ENCOUNTER = 854,
ERR_DIFFICULTY_CHANGE_COMBAT = 855,
ERR_DIFFICULTY_CHANGE_PLAYER_BUSY = 856,
ERR_DIFFICULTY_CHANGE_PLAYER_ON_VEHICLE = 857,
ERR_DIFFICULTY_CHANGE_ALREADY_STARTED = 858,
ERR_DIFFICULTY_CHANGE_OTHER_HEROIC_S = 859,
ERR_DIFFICULTY_CHANGE_HEROIC_INSTANCE_ALREADY_RUNNING = 860,
ERR_ARENA_TEAM_PARTY_SIZE = 861,
ERR_SOLO_SHUFFLE_WARGAME_GROUP_SIZE = 862,
ERR_SOLO_SHUFFLE_WARGAME_GROUP_COMP = 863,
ERR_SOLO_RBG_WARGAME_GROUP_SIZE = 864,
ERR_SOLO_RBG_WARGAME_GROUP_COMP = 865,
ERR_SOLO_MIN_ITEM_LEVEL = 866,
ERR_PVP_PLAYER_ABANDONED = 867,
ERR_BATTLEGROUND_JOIN_GROUP_QUEUE_WITHOUT_HEALER = 868,
ERR_QUEST_FORCE_REMOVED_S = 869,
ERR_ATTACK_NO_ACTIONS = 870,
ERR_IN_RANDOM_BG = 871,
ERR_IN_NON_RANDOM_BG = 872,
ERR_BN_FRIEND_SELF = 873,
ERR_BN_FRIEND_ALREADY = 874,
ERR_BN_FRIEND_BLOCKED = 875,
ERR_BN_FRIEND_LIST_FULL = 876,
ERR_BN_FRIEND_REQUEST_SENT = 877,
ERR_BN_BROADCAST_THROTTLE = 878,
ERR_BG_DEVELOPER_ONLY = 879,
ERR_CURRENCY_SPELL_SLOT_MISMATCH = 880,
ERR_CURRENCY_NOT_TRADABLE = 881,
ERR_REQUIRES_EXPANSION_S = 882,
ERR_QUEST_FAILED_SPELL = 883,
ERR_TALENT_FAILED_UNSPENT_TALENT_POINTS = 884,
ERR_TALENT_FAILED_NOT_ENOUGH_TALENTS_IN_PRIMARY_TREE = 885,
ERR_TALENT_FAILED_NO_PRIMARY_TREE_SELECTED = 886,
ERR_TALENT_FAILED_CANT_REMOVE_TALENT = 887,
ERR_TALENT_FAILED_UNKNOWN = 888,
ERR_TALENT_FAILED_IN_COMBAT = 889,
ERR_TALENT_FAILED_IN_PVP_MATCH = 890,
ERR_TALENT_FAILED_IN_MYTHIC_PLUS = 891,
ERR_WARGAME_REQUEST_FAILURE = 892,
ERR_RANK_REQUIRES_AUTHENTICATOR = 893,
ERR_GUILD_BANK_VOUCHER_FAILED = 894,
ERR_WARGAME_REQUEST_SENT = 895,
ERR_REQUIRES_ACHIEVEMENT_I = 896,
ERR_REFUND_RESULT_EXCEED_MAX_CURRENCY = 897,
ERR_CANT_BUY_QUANTITY = 898,
ERR_ITEM_IS_BATTLE_PAY_LOCKED = 899,
ERR_PARTY_ALREADY_IN_BATTLEGROUND_QUEUE = 900,
ERR_PARTY_CONFIRMING_BATTLEGROUND_QUEUE = 901,
ERR_BATTLEFIELD_TEAM_PARTY_SIZE = 902,
ERR_INSUFF_TRACKED_CURRENCY_IS = 903,
ERR_NOT_ON_TOURNAMENT_REALM = 904,
ERR_GUILD_TRIAL_ACCOUNT_TRIAL = 905,
ERR_GUILD_TRIAL_ACCOUNT_VETERAN = 906,
ERR_GUILD_UNDELETABLE_DUE_TO_LEVEL = 907,
ERR_CANT_DO_THAT_IN_A_GROUP = 908,
ERR_GUILD_LEADER_REPLACED = 909,
ERR_TRANSMOGRIFY_CANT_EQUIP = 910,
ERR_TRANSMOGRIFY_INVALID_ITEM_TYPE = 911,
ERR_TRANSMOGRIFY_NOT_SOULBOUND = 912,
ERR_TRANSMOGRIFY_INVALID_SOURCE = 913,
ERR_TRANSMOGRIFY_INVALID_DESTINATION = 914,
ERR_TRANSMOGRIFY_MISMATCH = 915,
ERR_TRANSMOGRIFY_LEGENDARY = 916,
ERR_TRANSMOGRIFY_SAME_ITEM = 917,
ERR_TRANSMOGRIFY_SAME_APPEARANCE = 918,
ERR_TRANSMOGRIFY_NOT_EQUIPPED = 919,
ERR_VOID_DEPOSIT_FULL = 920,
ERR_VOID_WITHDRAW_FULL = 921,
ERR_VOID_STORAGE_WRAPPED = 922,
ERR_VOID_STORAGE_STACKABLE = 923,
ERR_VOID_STORAGE_UNBOUND = 924,
ERR_VOID_STORAGE_REPAIR = 925,
ERR_VOID_STORAGE_CHARGES = 926,
ERR_VOID_STORAGE_QUEST = 927,
ERR_VOID_STORAGE_CONJURED = 928,
ERR_VOID_STORAGE_MAIL = 929,
ERR_VOID_STORAGE_BAG = 930,
ERR_VOID_TRANSFER_STORAGE_FULL = 931,
ERR_VOID_TRANSFER_INV_FULL = 932,
ERR_VOID_TRANSFER_INTERNAL_ERROR = 933,
ERR_VOID_TRANSFER_ITEM_INVALID = 934,
ERR_DIFFICULTY_DISABLED_IN_LFG = 935,
ERR_VOID_STORAGE_UNIQUE = 936,
ERR_VOID_STORAGE_LOOT = 937,
ERR_VOID_STORAGE_HOLIDAY = 938,
ERR_VOID_STORAGE_DURATION = 939,
ERR_VOID_STORAGE_LOAD_FAILED = 940,
ERR_VOID_STORAGE_INVALID_ITEM = 941,
ERR_VOID_STORAGE_ACCOUNT_ITEM = 942,
ERR_PARENTAL_CONTROLS_CHAT_MUTED = 943,
ERR_SOR_START_EXPERIENCE_INCOMPLETE = 944,
ERR_SOR_INVALID_EMAIL = 945,
ERR_SOR_INVALID_COMMENT = 946,
ERR_CHALLENGE_MODE_RESET_COOLDOWN_S = 947,
ERR_CHALLENGE_MODE_RESET_KEYSTONE = 948,
ERR_PET_JOURNAL_ALREADY_IN_LOADOUT = 949,
ERR_REPORT_SUBMITTED_SUCCESSFULLY = 950,
ERR_REPORT_SUBMISSION_FAILED = 951,
ERR_SUGGESTION_SUBMITTED_SUCCESSFULLY = 952,
ERR_BUG_SUBMITTED_SUCCESSFULLY = 953,
ERR_CHALLENGE_MODE_ENABLED = 954,
ERR_CHALLENGE_MODE_DISABLED = 955,
ERR_PETBATTLE_CREATE_FAILED = 956,
ERR_PETBATTLE_NOT_HERE = 957,
ERR_PETBATTLE_NOT_HERE_ON_TRANSPORT = 958,
ERR_PETBATTLE_NOT_HERE_UNEVEN_GROUND = 959,
ERR_PETBATTLE_NOT_HERE_OBSTRUCTED = 960,
ERR_PETBATTLE_NOT_WHILE_IN_COMBAT = 961,
ERR_PETBATTLE_NOT_WHILE_DEAD = 962,
ERR_PETBATTLE_NOT_WHILE_FLYING = 963,
ERR_PETBATTLE_TARGET_INVALID = 964,
ERR_PETBATTLE_TARGET_OUT_OF_RANGE = 965,
ERR_PETBATTLE_TARGET_NOT_CAPTURABLE = 966,
ERR_PETBATTLE_NOT_A_TRAINER = 967,
ERR_PETBATTLE_DECLINED = 968,
ERR_PETBATTLE_IN_BATTLE = 969,
ERR_PETBATTLE_INVALID_LOADOUT = 970,
ERR_PETBATTLE_ALL_PETS_DEAD = 971,
ERR_PETBATTLE_NO_PETS_IN_SLOTS = 972,
ERR_PETBATTLE_NO_ACCOUNT_LOCK = 973,
ERR_PETBATTLE_WILD_PET_TAPPED = 974,
ERR_PETBATTLE_RESTRICTED_ACCOUNT = 975,
ERR_PETBATTLE_OPPONENT_NOT_AVAILABLE = 976,
ERR_PETBATTLE_NOT_WHILE_IN_MATCHED_BATTLE = 977,
ERR_CANT_HAVE_MORE_PETS_OF_THAT_TYPE = 978,
ERR_CANT_HAVE_MORE_PETS = 979,
ERR_PVP_MAP_NOT_FOUND = 980,
ERR_PVP_MAP_NOT_SET = 981,
ERR_PETBATTLE_QUEUE_QUEUED = 982,
ERR_PETBATTLE_QUEUE_ALREADY_QUEUED = 983,
ERR_PETBATTLE_QUEUE_JOIN_FAILED = 984,
ERR_PETBATTLE_QUEUE_JOURNAL_LOCK = 985,
ERR_PETBATTLE_QUEUE_REMOVED = 986,
ERR_PETBATTLE_QUEUE_PROPOSAL_DECLINED = 987,
ERR_PETBATTLE_QUEUE_PROPOSAL_TIMEOUT = 988,
ERR_PETBATTLE_QUEUE_OPPONENT_DECLINED = 989,
ERR_PETBATTLE_QUEUE_REQUEUED_INTERNAL = 990,
ERR_PETBATTLE_QUEUE_REQUEUED_REMOVED = 991,
ERR_PETBATTLE_QUEUE_SLOT_LOCKED = 992,
ERR_PETBATTLE_QUEUE_SLOT_EMPTY = 993,
ERR_PETBATTLE_QUEUE_SLOT_NO_TRACKER = 994,
ERR_PETBATTLE_QUEUE_SLOT_NO_SPECIES = 995,
ERR_PETBATTLE_QUEUE_SLOT_CANT_BATTLE = 996,
ERR_PETBATTLE_QUEUE_SLOT_REVOKED = 997,
ERR_PETBATTLE_QUEUE_SLOT_DEAD = 998,
ERR_PETBATTLE_QUEUE_SLOT_NO_PET = 999,
ERR_PETBATTLE_QUEUE_NOT_WHILE_NEUTRAL = 1000,
ERR_PETBATTLE_GAME_TIME_LIMIT_WARNING = 1001,
ERR_PETBATTLE_GAME_ROUNDS_LIMIT_WARNING = 1002,
ERR_HAS_RESTRICTION = 1003,
ERR_ITEM_UPGRADE_ITEM_TOO_LOW_LEVEL = 1004,
ERR_ITEM_UPGRADE_NO_PATH = 1005,
ERR_ITEM_UPGRADE_NO_MORE_UPGRADES = 1006,
ERR_BONUS_ROLL_EMPTY = 1007,
ERR_CHALLENGE_MODE_FULL = 1008,
ERR_CHALLENGE_MODE_IN_PROGRESS = 1009,
ERR_CHALLENGE_MODE_INCORRECT_KEYSTONE = 1010,
ERR_START_RESTRICTED_CHALLENGE_MODE = 1011,
ERR_BATTLETAG_FRIEND_NOT_FOUND = 1012,
ERR_BATTLETAG_FRIEND_NOT_VALID = 1013,
ERR_BATTLETAG_FRIEND_NOT_ALLOWED = 1014,
ERR_BATTLETAG_FRIEND_THROTTLED = 1015,
ERR_BATTLETAG_FRIEND_SUCCESS = 1016,
ERR_PET_TOO_HIGH_LEVEL_TO_UNCAGE = 1017,
ERR_PETBATTLE_INTERNAL = 1018,
ERR_CANT_CAGE_PET_YET = 1019,
ERR_NO_LOOT_IN_CHALLENGE_MODE = 1020,
ERR_QUEST_PET_BATTLE_VICTORIES_PVP_II = 1021,
ERR_ROLE_CHECK_ALREADY_IN_PROGRESS = 1022,
ERR_RECRUIT_A_FRIEND_ACCOUNT_LIMIT = 1023,
ERR_RECRUIT_A_FRIEND_FAILED = 1024,
ERR_SET_LOOT_PERSONAL = 1025,
ERR_SET_LOOT_METHOD_FAILED_COMBAT = 1026,
ERR_REAGENT_BANK_FULL = 1027,
ERR_REAGENT_BANK_LOCKED = 1028,
ERR_GARRISON_BUILDING_EXISTS = 1029,
ERR_GARRISON_INVALID_PLOT = 1030,
ERR_GARRISON_INVALID_BUILDINGID = 1031,
ERR_GARRISON_INVALID_PLOT_BUILDING = 1032,
ERR_GARRISON_REQUIRES_BLUEPRINT = 1033,
ERR_GARRISON_NOT_ENOUGH_CURRENCY = 1034,
ERR_GARRISON_NOT_ENOUGH_GOLD = 1035,
ERR_GARRISON_COMPLETE_MISSION_WRONG_FOLLOWER_TYPE = 1036,
ERR_ALREADY_USING_LFG_LIST = 1037,
ERR_RESTRICTED_ACCOUNT_LFG_LIST_TRIAL = 1038,
ERR_TOY_USE_LIMIT_REACHED = 1039,
ERR_TOY_ALREADY_KNOWN = 1040,
ERR_TRANSMOG_SET_ALREADY_KNOWN = 1041,
ERR_NOT_ENOUGH_CURRENCY = 1042,
ERR_SPEC_IS_DISABLED = 1043,
ERR_FEATURE_RESTRICTED_TRIAL = 1044,
ERR_CANT_BE_OBLITERATED = 1045,
ERR_CANT_BE_SCRAPPED = 1046,
ERR_CANT_BE_RECRAFTED = 1047,
ERR_ARTIFACT_RELIC_DOES_NOT_MATCH_ARTIFACT = 1048,
ERR_MUST_EQUIP_ARTIFACT = 1049,
ERR_CANT_DO_THAT_RIGHT_NOW = 1050,
ERR_AFFECTING_COMBAT = 1051,
ERR_EQUIPMENT_MANAGER_COMBAT_SWAP_S = 1052,
ERR_EQUIPMENT_MANAGER_BAGS_FULL = 1053,
ERR_EQUIPMENT_MANAGER_MISSING_ITEM_S = 1054,
ERR_MOVIE_RECORDING_WARNING_PERF = 1055,
ERR_MOVIE_RECORDING_WARNING_DISK_FULL = 1056,
ERR_MOVIE_RECORDING_WARNING_NO_MOVIE = 1057,
ERR_MOVIE_RECORDING_WARNING_REQUIREMENTS = 1058,
ERR_MOVIE_RECORDING_WARNING_COMPRESSING = 1059,
ERR_NO_CHALLENGE_MODE_REWARD = 1060,
ERR_CLAIMED_CHALLENGE_MODE_REWARD = 1061,
ERR_CHALLENGE_MODE_PERIOD_RESET_SS = 1062,
ERR_CANT_DO_THAT_CHALLENGE_MODE_ACTIVE = 1063,
ERR_TALENT_FAILED_REST_AREA = 1064,
ERR_CANNOT_ABANDON_LAST_PET = 1065,
ERR_TEST_CVAR_SET_SSS = 1066,
ERR_QUEST_TURN_IN_FAIL_REASON = 1067,
ERR_CLAIMED_CHALLENGE_MODE_REWARD_OLD = 1068,
ERR_TALENT_GRANTED_BY_AURA = 1069,
ERR_CHALLENGE_MODE_ALREADY_COMPLETE = 1070,
ERR_GLYPH_TARGET_NOT_AVAILABLE = 1071,
ERR_PVP_WARMODE_TOGGLE_ON = 1072,
ERR_PVP_WARMODE_TOGGLE_OFF = 1073,
ERR_SPELL_FAILED_LEVEL_REQUIREMENT = 1074,
ERR_SPELL_FAILED_CANT_FLY_HERE = 1075,
ERR_BATTLEGROUND_JOIN_REQUIRES_LEVEL = 1076,
ERR_BATTLEGROUND_JOIN_DISQUALIFIED = 1077,
ERR_BATTLEGROUND_JOIN_DISQUALIFIED_NO_NAME = 1078,
ERR_VOICE_CHAT_GENERIC_UNABLE_TO_CONNECT = 1079,
ERR_VOICE_CHAT_SERVICE_LOST = 1080,
ERR_VOICE_CHAT_CHANNEL_NAME_TOO_SHORT = 1081,
ERR_VOICE_CHAT_CHANNEL_NAME_TOO_LONG = 1082,
ERR_VOICE_CHAT_CHANNEL_ALREADY_EXISTS = 1083,
ERR_VOICE_CHAT_TARGET_NOT_FOUND = 1084,
ERR_VOICE_CHAT_TOO_MANY_REQUESTS = 1085,
ERR_VOICE_CHAT_PLAYER_SILENCED = 1086,
ERR_VOICE_CHAT_PARENTAL_DISABLE_ALL = 1087,
ERR_VOICE_CHAT_DISABLED = 1088,
ERR_NO_PVP_REWARD = 1089,
ERR_CLAIMED_PVP_REWARD = 1090,
ERR_AZERITE_ESSENCE_SELECTION_FAILED_ESSENCE_NOT_UNLOCKED = 1091,
ERR_AZERITE_ESSENCE_SELECTION_FAILED_CANT_REMOVE_ESSENCE = 1092,
ERR_AZERITE_ESSENCE_SELECTION_FAILED_CONDITION_FAILED = 1093,
ERR_AZERITE_ESSENCE_SELECTION_FAILED_REST_AREA = 1094,
ERR_AZERITE_ESSENCE_SELECTION_FAILED_SLOT_LOCKED = 1095,
ERR_AZERITE_ESSENCE_SELECTION_FAILED_NOT_AT_FORGE = 1096,
ERR_AZERITE_ESSENCE_SELECTION_FAILED_HEART_LEVEL_TOO_LOW = 1097,
ERR_AZERITE_ESSENCE_SELECTION_FAILED_NOT_EQUIPPED = 1098,
ERR_SOCKETING_GENERIC_FAILURE = 1099,
ERR_SOCKETING_REQUIRES_PUNCHCARDRED_GEM = 1100,
ERR_SOCKETING_PUNCHCARDRED_GEM_ONLY_IN_PUNCHCARDREDSLOT = 1101,
ERR_SOCKETING_REQUIRES_PUNCHCARDYELLOW_GEM = 1102,
ERR_SOCKETING_PUNCHCARDYELLOW_GEM_ONLY_IN_PUNCHCARDYELLOWSLOT = 1103,
ERR_SOCKETING_REQUIRES_PUNCHCARDBLUE_GEM = 1104,
ERR_SOCKETING_PUNCHCARDBLUE_GEM_ONLY_IN_PUNCHCARDBLUESLOT = 1105,
ERR_SOCKETING_REQUIRES_DOMINATION_SHARD = 1106,
ERR_SOCKETING_DOMINATION_SHARD_ONLY_IN_DOMINATIONSLOT = 1107,
ERR_SOCKETING_REQUIRES_CYPHER_GEM = 1108,
ERR_SOCKETING_CYPHER_GEM_ONLY_IN_CYPHERSLOT = 1109,
ERR_SOCKETING_REQUIRES_TINKER_GEM = 1110,
ERR_SOCKETING_TINKER_GEM_ONLY_IN_TINKERSLOT = 1111,
ERR_SOCKETING_REQUIRES_PRIMORDIAL_GEM = 1112,
ERR_SOCKETING_PRIMORDIAL_GEM_ONLY_IN_PRIMORDIALSLOT = 1113,
ERR_SOCKETING_REQUIRES_FRAGRANCE_GEM = 1114,
ERR_SOCKETING_FRAGRANCE_GEM_ONLY_IN_FRAGRANCESLOT = 1115,
ERR_SOCKETING_REQUIRES_SINGING_THUNDER_GEM = 1116,
ERR_SOCKETING_SINGINGTHUNDER_GEM_ONLY_IN_SINGINGTHUNDERSLOT = 1117,
ERR_SOCKETING_REQUIRES_SINGING_SEA_GEM = 1118,
ERR_SOCKETING_SINGINGSEA_GEM_ONLY_IN_SINGINGSEASLOT = 1119,
ERR_SOCKETING_REQUIRES_SINGING_WIND_GEM = 1120,
ERR_SOCKETING_SINGINGWIND_GEM_ONLY_IN_SINGINGWINDSLOT = 1121,
ERR_SOCKETING_REQUIRES_FIBER_GEM = 1122,
ERR_SOCKETING_FIBER_GEM_ONLY_IN_FIBERSLOT = 1123,
ERR_LEVEL_LINKING_RESULT_LINKED = 1124,
ERR_LEVEL_LINKING_RESULT_UNLINKED = 1125,
ERR_CLUB_FINDER_ERROR_POST_CLUB = 1126,
ERR_CLUB_FINDER_ERROR_APPLY_CLUB = 1127,
ERR_CLUB_FINDER_ERROR_RESPOND_APPLICANT = 1128,
ERR_CLUB_FINDER_ERROR_CANCEL_APPLICATION = 1129,
ERR_CLUB_FINDER_ERROR_TYPE_ACCEPT_APPLICATION = 1130,
ERR_CLUB_FINDER_ERROR_TYPE_NO_INVITE_PERMISSIONS = 1131,
ERR_CLUB_FINDER_ERROR_TYPE_NO_POSTING_PERMISSIONS = 1132,
ERR_CLUB_FINDER_ERROR_TYPE_APPLICANT_LIST = 1133,
ERR_CLUB_FINDER_ERROR_TYPE_APPLICANT_LIST_NO_PERM = 1134,
ERR_CLUB_FINDER_ERROR_TYPE_FINDER_NOT_AVAILABLE = 1135,
ERR_CLUB_FINDER_ERROR_TYPE_GET_POSTING_IDS = 1136,
ERR_CLUB_FINDER_ERROR_TYPE_JOIN_APPLICATION = 1137,
ERR_CLUB_FINDER_ERROR_TYPE_REALM_NOT_ELIGIBLE = 1138,
ERR_CLUB_FINDER_ERROR_TYPE_FLAGGED_RENAME = 1139,
ERR_CLUB_FINDER_ERROR_TYPE_FLAGGED_DESCRIPTION_CHANGE = 1140,
ERR_ITEM_INTERACTION_NOT_ENOUGH_GOLD = 1141,
ERR_ITEM_INTERACTION_NOT_ENOUGH_CURRENCY = 1142,
ERR_ITEM_INTERACTION_NO_CONVERSION_OUTPUT = 1143,
ERR_PLAYER_CHOICE_ERROR_PENDING_CHOICE = 1144,
ERR_SOULBIND_INVALID_CONDUIT = 1145,
ERR_SOULBIND_INVALID_CONDUIT_ITEM = 1146,
ERR_SOULBIND_INVALID_TALENT = 1147,
ERR_SOULBIND_DUPLICATE_CONDUIT = 1148,
ERR_ACTIVATE_SOULBIND_S = 1149,
ERR_ACTIVATE_SOULBIND_FAILED_REST_AREA = 1150,
ERR_CANT_USE_PROFANITY = 1151,
ERR_NOT_IN_PET_BATTLE = 1152,
ERR_NOT_IN_NPE = 1153,
ERR_NO_SPEC = 1154,
ERR_NO_DOMINATIONSHARD_OVERWRITE = 1155,
ERR_USE_WEEKLY_REWARDS_DISABLED = 1156,
ERR_CROSS_FACTION_GROUP_JOINED = 1157,
ERR_CANT_TARGET_UNFRIENDLY_IN_OVERWORLD = 1158,
ERR_EQUIPABLESPELLS_SLOTS_FULL = 1159,
ERR_ITEM_MOD_APPEARANCE_GROUP_ALREADY_KNOWN = 1160,
ERR_CANT_BULK_SELL_ITEM_WITH_REFUND = 1161,
ERR_NO_SOULBOUND_ITEM_IN_ACCOUNT_BANK = 1162,
ERR_NO_REFUNDABLE_ITEM_IN_ACCOUNT_BANK = 1163,
ERR_CANT_DELETE_IN_ACCOUNT_BANK = 1164,
ERR_NO_IMMEDIATE_CONTAINER_IN_ACCOUNT_BANK = 1165,
ERR_NO_OPEN_IMMEDIATE_CONTAINER_IN_ACCOUNT_BANK = 1166,
ERR_CANT_TRADE_ACCOUNT_ITEM = 1167,
ERR_NO_ACCOUNT_INVENTORY_LOCK = 1168,
ERR_BANK_NOT_ACCESSIBLE = 1169,
ERR_TOO_MANY_ACCOUNT_BANK_TABS = 1170,
ERR_BANK_TAB_NOT_UNLOCKED = 1171,
ERR_ACCOUNT_MONEY_LOCKED = 1172,
ERR_BANK_TAB_INVALID_NAME = 1173,
ERR_BANK_TAB_INVALID_TEXT = 1174,
ERR_CHARACTER_BANK_NOT_CONVERTED = 1175,
ERR_WOW_LABS_PARTY_ERROR_TYPE_PARTY_IS_FULL = 1176,
ERR_WOW_LABS_PARTY_ERROR_TYPE_MAX_INVITE_SENT = 1177,
ERR_WOW_LABS_PARTY_ERROR_TYPE_PLAYER_ALREADY_INVITED = 1178,
ERR_WOW_LABS_PARTY_ERROR_TYPE_PARTY_INVITE_INVALID = 1179,
ERR_WOW_LABS_LOBBY_MATCHMAKER_ERROR_ENTER_QUEUE_FAILED = 1180,
ERR_WOW_LABS_LOBBY_MATCHMAKER_ERROR_LEAVE_QUEUE_FAILED = 1181,
ERR_WOW_LABS_SET_WOW_LABS_AREA_ID_FAILED = 1182,
ERR_PLUNDERSTORM_CANNOT_QUEUE = 1183,
ERR_TARGET_IS_SELF_FOUND_CANNOT_TRADE = 1184,
ERR_PLAYER_IS_SELF_FOUND_CANNOT_TRADE = 1185,
ERR_MAIL_RECEPIENT_IS_SELF_FOUND_CANNOT_RECEIVE_MAIL = 1186,
ERR_PLAYER_IS_SELF_FOUND_CANNOT_SEND_MAIL = 1187,
ERR_PLAYER_IS_SELF_FOUND_CANNOT_USE_AUCTION_HOUSE = 1188,
ERR_MAIL_TARGET_CANNOT_RECEIVE_MAIL = 1189,
ERR_REMIX_INVALID_TRANSFER_REQUEST = 1190,
ERR_CURRENCY_TRANSFER_INVALID_CHARACTER = 1191,
ERR_CURRENCY_TRANSFER_INVALID_CURRENCY = 1192,
ERR_CURRENCY_TRANSFER_INSUFFICIENT_CURRENCY = 1193,
ERR_CURRENCY_TRANSFER_MAX_QUANTITY = 1194,
ERR_CURRENCY_TRANSFER_NO_VALID_SOURCE = 1195,
ERR_CURRENCY_TRANSFER_CHARACTER_LOGGED_IN = 1196,
ERR_CURRENCY_TRANSFER_SERVER_ERROR = 1197,
ERR_CURRENCY_TRANSFER_UNMET_REQUIREMENTS = 1198,
ERR_CURRENCY_TRANSFER_TRANSACTION_IN_PROGRESS = 1199,
ERR_CURRENCY_TRANSFER_DISABLED = 1200,
};
enum class MountResult : uint32
{
InvalidMountee = 0,
TooFarAway = 1,
AlreadyMounted = 2,
NotMountable = 3,
NotYourPet = 4,
Other = 5,
Looting = 6,
RaceCantMount = 7,
Shapeshifted = 8,
ForcedDismount = 9,
Ok = 10 // never sent
};
enum AreaId : uint32
{
AREA_WINTERGRASP = 4197,
AREA_THE_SUNKEN_RING = 4538,
AREA_THE_BROKEN_TEMPLATE = 4539,
AREA_WINTERGRASP_FORTRESS = 4575,
AREA_THE_CHILLED_QUAGMIRE = 4589,
AREA_WESTPARK_WORKSHOP = 4611,
AREA_EASTPARK_WORKSHOP = 4612,
};
enum WorldState : uint32
{
WS_CURRENT_PVP_SEASON_ID = 3191,
WS_PREVIOUS_PVP_SEASON_ID = 3901,
WS_TEAM_IN_INSTANCE_ALLIANCE = 4485,
WS_TEAM_IN_INSTANCE_HORDE = 4486,
WS_BATTLEFIELD_WG_VEHICLE_H = 3490,
WS_BATTLEFIELD_WG_MAX_VEHICLE_H = 3491,
WS_BATTLEFIELD_WG_VEHICLE_A = 3680,
WS_BATTLEFIELD_WG_MAX_VEHICLE_A = 3681,
WS_BATTLEFIELD_WG_WORKSHOP_K_W = 3698,
WS_BATTLEFIELD_WG_WORKSHOP_K_E = 3699,
WS_BATTLEFIELD_WG_WORKSHOP_NW = 3700,
WS_BATTLEFIELD_WG_WORKSHOP_NE = 3701,
WS_BATTLEFIELD_WG_WORKSHOP_SW = 3702,
WS_BATTLEFIELD_WG_WORKSHOP_SE = 3703,
WS_BATTLEFIELD_WG_SHOW_TIME_BATTLE_END = 3710,
WS_BATTLEFIELD_WG_TIME_BATTLE_END = 3781,
WS_BATTLEFIELD_WG_SHOW_TIME_NEXT_BATTLE = 3801,
WS_BATTLEFIELD_WG_DEFENDER = 3802,
WS_BATTLEFIELD_WG_ATTACKER = 3803,
WS_BATTLEFIELD_WG_ATTACKED_H = 4022,
WS_BATTLEFIELD_WG_ATTACKED_A = 4023,
WS_BATTLEFIELD_WG_DEFENDED_H = 4024,
WS_BATTLEFIELD_WG_DEFENDED_A = 4025,
WS_BATTLEFIELD_WG_TIME_NEXT_BATTLE = 4354,
WS_BATTLEFIELD_TB_ALLIANCE_CONTROLS_SHOW = 5385,
WS_BATTLEFIELD_TB_HORDE_CONTROLS_SHOW = 5384,
WS_BATTLEFIELD_TB_ALLIANCE_ATTACKING_SHOW = 5546,
WS_BATTLEFIELD_TB_HORDE_ATTACKING_SHOW = 5547,
WS_BATTLEFIELD_TB_BUILDINGS_CAPTURED = 5348,
WS_BATTLEFIELD_TB_BUILDINGS_CAPTURED_SHOW = 5349,
WS_BATTLEFIELD_TB_TOWERS_DESTROYED = 5347,
WS_BATTLEFIELD_TB_TOWERS_DESTROYED_SHOW = 5350,
WS_BATTLEFIELD_TB_FACTION_CONTROLLING = 5334, // 1 -> Alliance, 2 -> Horde
WS_BATTLEFIELD_TB_TIME_NEXT_BATTLE = 5332,
WS_BATTLEFIELD_TB_TIME_NEXT_BATTLE_SHOW = 5387,
WS_BATTLEFIELD_TB_TIME_BATTLE_END = 5333,
WS_BATTLEFIELD_TB_TIME_BATTLE_END_SHOW = 5346,
WS_BATTLEFIELD_TB_STATE_PREPARATIONS = 5684,
WS_BATTLEFIELD_TB_STATE_BATTLE = 5344,
WS_BATTLEFIELD_TB_KEEP_HORDE = 5469,
WS_BATTLEFIELD_TB_KEEP_ALLIANCE = 5470,
WS_BATTLEFIELD_TB_GARRISON_HORDE_CONTROLLED = 5418,
WS_BATTLEFIELD_TB_GARRISON_HORDE_CAPTURING = 5419,
WS_BATTLEFIELD_TB_GARRISON_NEUTRAL = 5420, // unused
WS_BATTLEFIELD_TB_GARRISON_ALLIANCE_CAPTURING = 5421,
WS_BATTLEFIELD_TB_GARRISON_ALLIANCE_CONTROLLED = 5422,
WS_BATTLEFIELD_TB_VIGIL_HORDE_CONTROLLED = 5423,
WS_BATTLEFIELD_TB_VIGIL_HORDE_CAPTURING = 5424,
WS_BATTLEFIELD_TB_VIGIL_NEUTRAL = 5425, // unused
WS_BATTLEFIELD_TB_VIGIL_ALLIANCE_CAPTURING = 5426,
WS_BATTLEFIELD_TB_VIGIL_ALLIANCE_CONTROLLED = 5427,
WS_BATTLEFIELD_TB_SLAGWORKS_HORDE_CONTROLLED = 5428,
WS_BATTLEFIELD_TB_SLAGWORKS_HORDE_CAPTURING = 5429,
WS_BATTLEFIELD_TB_SLAGWORKS_NEUTRAL = 5430, // unused
WS_BATTLEFIELD_TB_SLAGWORKS_ALLIANCE_CAPTURING = 5431,
WS_BATTLEFIELD_TB_SLAGWORKS_ALLIANCE_CONTROLLED = 5432,
WS_BATTLEFIELD_TB_WEST_INTACT_HORDE = 5433,
WS_BATTLEFIELD_TB_WEST_DAMAGED_HORDE = 5434,
WS_BATTLEFIELD_TB_WEST_DESTROYED_NEUTRAL = 5435,
WS_BATTLEFIELD_TB_WEST_INTACT_ALLIANCE = 5436,
WS_BATTLEFIELD_TB_WEST_DAMAGED_ALLIANCE = 5437,
WS_BATTLEFIELD_TB_WEST_INTACT_NEUTRAL = 5453, // unused
WS_BATTLEFIELD_TB_WEST_DAMAGED_NEUTRAL = 5454, // unused
WS_BATTLEFIELD_TB_SOUTH_INTACT_HORDE = 5438,
WS_BATTLEFIELD_TB_SOUTH_DAMAGED_HORDE = 5439,
WS_BATTLEFIELD_TB_SOUTH_DESTROYED_NEUTRAL = 5440,
WS_BATTLEFIELD_TB_SOUTH_INTACT_ALLIANCE = 5441,
WS_BATTLEFIELD_TB_SOUTH_DAMAGED_ALLIANCE = 5442,
WS_BATTLEFIELD_TB_SOUTH_INTACT_NEUTRAL = 5455, // unused
WS_BATTLEFIELD_TB_SOUTH_DAMAGED_NEUTRAL = 5456, // unused
WS_BATTLEFIELD_TB_EAST_INTACT_HORDE = 5443,
WS_BATTLEFIELD_TB_EAST_DAMAGED_HORDE = 5444,
WS_BATTLEFIELD_TB_EAST_DESTROYED_NEUTRAL = 5445,
WS_BATTLEFIELD_TB_EAST_INTACT_ALLIANCE = 5446,
WS_BATTLEFIELD_TB_EAST_DAMAGED_ALLIANCE = 5447,
WS_BATTLEFIELD_TB_EAST_INTACT_NEUTRAL = 5451,
WS_BATTLEFIELD_TB_EAST_DAMAGED_NEUTRAL = 5452,
WS_WAR_MODE_HORDE_BUFF_VALUE = 17042,
WS_WAR_MODE_ALLIANCE_BUFF_VALUE = 17043,
};
enum class SoundKitPlayType : uint8
{
Normal = 0,
ObjectSound = 1,
Max = 2
};
#endif