TrinityCore
SharedDefines.h
Go to the documentation of this file.
1/*
2 * This file is part of the TrinityCore Project. See AUTHORS file for Copyright information
3 *
4 * This program is free software; you can redistribute it and/or modify it
5 * under the terms of the GNU General Public License as published by the
6 * Free Software Foundation; either version 2 of the License, or (at your
7 * option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12 * more details.
13 *
14 * You should have received a copy of the GNU General Public License along
15 * with this program. If not, see <http://www.gnu.org/licenses/>.
16 */
17
18#ifndef TRINITY_SHAREDDEFINES_H
19#define TRINITY_SHAREDDEFINES_H
20
21#include "Define.h"
22#include "EnumFlag.h"
23#include <compare>
24
25float const GROUND_HEIGHT_TOLERANCE = 0.05f; // Extra tolerance to z position to check if it is in air or on ground.
26constexpr float Z_OFFSET_FIND_HEIGHT = 0.5f;
27
29{
61 EFFECT_31 = 31
62};
63
65{
66 TargetA = 0,
67 TargetB = 1
68};
69
70// used in script definitions
71#define EFFECT_FIRST_FOUND 254
72#define EFFECT_ALL 255
73
74// loot modes for creatures and gameobjects, bitmask!
76{
82 LOOT_MODE_JUNK_FISH = 0x8000
83};
84
85#define MAX_CHARACTERS_PER_REALM 200
86
88{
101
104
105#define CURRENT_EXPANSION EXPANSION_DRAGONFLIGHT
106
108{
109 switch (expansion)
110 {
112 return 30;
114 return 30;
116 return 30;
118 return 35;
120 return 35;
122 return 40;
123 case EXPANSION_LEGION:
124 return 45;
126 return 50;
128 return 60;
130 return 70;
131 default:
132 break;
133 }
134 return 0;
135}
136
138{
142 GENDER_NONE = 2
144
145// Class value is index in ChrClasses.db2
146// EnumUtils: DESCRIBE THIS
148{
149 CLASS_NONE = 0, // SKIP
150 CLASS_WARRIOR = 1, // TITLE Warrior
151 CLASS_PALADIN = 2, // TITLE Paladin
152 CLASS_HUNTER = 3, // TITLE Hunter
153 CLASS_ROGUE = 4, // TITLE Rogue
154 CLASS_PRIEST = 5, // TITLE Priest
155 CLASS_DEATH_KNIGHT = 6, // TITLE Death Knight
156 CLASS_SHAMAN = 7, // TITLE Shaman
157 CLASS_MAGE = 8, // TITLE Mage
158 CLASS_WARLOCK = 9, // TITLE Warlock
159 CLASS_MONK = 10, // TITLE Monk
160 CLASS_DRUID = 11, // TITLE Druid
161 CLASS_DEMON_HUNTER = 12, // TITLE Demon Hunter
162 CLASS_EVOKER = 13, // TITLE Evoker
163 CLASS_ADVENTURER = 14 // TITLE Adventurer
165
166// max+1 for player class
167#define MAX_CLASSES 15
168
169#define CLASSMASK_ALL_PLAYABLE \
170 ((1<<(CLASS_WARRIOR-1)) | \
171 (1<<(CLASS_PALADIN-1)) | \
172 (1<<(CLASS_HUNTER-1)) | \
173 (1<<(CLASS_ROGUE-1)) | \
174 (1<<(CLASS_PRIEST-1)) | \
175 (1<<(CLASS_DEATH_KNIGHT-1)) | \
176 (1<<(CLASS_SHAMAN-1)) | \
177 (1<<(CLASS_MAGE-1)) | \
178 (1<<(CLASS_WARLOCK-1)) | \
179 (1<<(CLASS_MONK-1)) | \
180 (1<<(CLASS_DRUID-1)) | \
181 (1<<(CLASS_DEMON_HUNTER-1)) | \
182 (1<<(CLASS_EVOKER-1)))
183
184// valid classes for creature_template.unit_class
186{
192
193static constexpr uint8 MAX_UNIT_CLASSES = 4;
194
195#define CLASSMASK_ALL_CREATURES ((1<<(UNIT_CLASS_WARRIOR-1)) | (1<<(UNIT_CLASS_PALADIN-1)) | (1<<(UNIT_CLASS_ROGUE-1)) | (1<<(UNIT_CLASS_MAGE-1)))
196
197#define CLASSMASK_WAND_USERS ((1<<(CLASS_PRIEST-1)) | (1<<(CLASS_MAGE-1)) | (1<<(CLASS_WARLOCK-1)))
198
200
202{
210 REP_EXALTED = 7
212
214{
260
261#define MIN_REPUTATION_RANK (REP_HATED)
262#define MAX_REPUTATION_RANK 8
263
264#define MAX_SPILLOVER_FACTIONS 5
265
267{
270 GOLD = SILVER*100
272
274{
279};
280
281#define MAX_STATS 4
282
283// EnumUtils: DESCRIBE THIS
285{
286 POWER_HEALTH = -2, // TITLE Health
287 POWER_MANA = 0, // TITLE Mana
288 POWER_RAGE = 1, // TITLE Rage
289 POWER_FOCUS = 2, // TITLE Focus
290 POWER_ENERGY = 3, // TITLE Energy
291 POWER_COMBO_POINTS = 4, // TITLE Combo Points
292 POWER_RUNES = 5, // TITLE Runes
293 POWER_RUNIC_POWER = 6, // TITLE Runic Power
294 POWER_SOUL_SHARDS = 7, // TITLE Soul Shards
295 POWER_LUNAR_POWER = 8, // TITLE Lunar Power
296 POWER_HOLY_POWER = 9, // TITLE Holy Power
297 POWER_ALTERNATE_POWER = 10, // TITLE Alternate
298 POWER_MAELSTROM = 11, // TITLE Maelstrom
299 POWER_CHI = 12, // TITLE Chi
300 POWER_INSANITY = 13, // TITLE Insanity
301 POWER_BURNING_EMBERS = 14, // TITLE Burning Embers (Obsolete)
302 POWER_DEMONIC_FURY = 15, // TITLE Demonic Fury (Obsolete)
303 POWER_ARCANE_CHARGES = 16, // TITLE Arcane Charges
304 POWER_FURY = 17, // TITLE Fury
305 POWER_PAIN = 18, // TITLE Pain
306 POWER_ESSENCE = 19, // TITLE Essence
307 POWER_RUNE_BLOOD = 20, // TITLE Blood Runes
308 POWER_RUNE_FROST = 21, // TITLE Frost Runes
309 POWER_RUNE_UNHOLY = 22, // TITLE Unholy Runes
310 POWER_ALTERNATE_QUEST = 23, // TITLE Alternate (Quest)
311 POWER_ALTERNATE_ENCOUNTER = 24, // TITLE Alternate (Encounter)
312 POWER_ALTERNATE_MOUNT = 25, // TITLE Alternate (Mount)
313 MAX_POWERS = 26, // SKIP
314 POWER_ALL = 127 // SKIP
316
317#define MAX_POWERS_PER_CLASS 10
318
319// EnumUtils: DESCRIBE THIS
321{
322 SPELL_SCHOOL_NORMAL = 0, // TITLE Physical
323 SPELL_SCHOOL_HOLY = 1, // TITLE Holy
324 SPELL_SCHOOL_FIRE = 2, // TITLE Fire
325 SPELL_SCHOOL_NATURE = 3, // TITLE Nature
326 SPELL_SCHOOL_FROST = 4, // TITLE Frost
327 SPELL_SCHOOL_SHADOW = 5, // TITLE Shadow
328 SPELL_SCHOOL_ARCANE = 6, // TITLE Arcane
329 MAX_SPELL_SCHOOL = 7 // SKIP
331
333{
334 SPELL_SCHOOL_MASK_NONE = 0x00, // not exist
335 SPELL_SCHOOL_MASK_NORMAL = (1 << SPELL_SCHOOL_NORMAL), // PHYSICAL (Armor)
342
343 // unions
344
345 // 124, not include normal and holy damage
349 // 126
351
352 // 127
355
357{
358 return SpellSchoolMask(1 << school);
359}
360
362{
363 // Do not use EnumUtils to iterate
364 // this can cause some compilers to instantiate Trinity::Impl::EnumUtils<SpellSchools>
365 // when compiling enuminfo_SharedDefines before their explicit specializations in that file
366 for (uint16 i = 0; i < MAX_SPELL_SCHOOL; ++i)
367 if (mask & (1 << i))
368 return SpellSchools(i);
369
370 return SPELL_SCHOOL_NORMAL;
371}
372
374{
375 ITEM_QUALITY_POOR = 0, // GREY
378 ITEM_QUALITY_RARE = 3, // BLUE
379 ITEM_QUALITY_EPIC = 4, // PURPLE
381 ITEM_QUALITY_ARTIFACT = 6, // LIGHT YELLOW
382 ITEM_QUALITY_HEIRLOOM = 7, // LIGHT BLUE
383 ITEM_QUALITY_WOW_TOKEN = 8, // LIGHT BLUE
386
388{
392
394{
398
400{
401 0xff9d9d9d, // GREY
402 0xffffffff, // WHITE
403 0xff1eff00, // GREEN
404 0xff0070dd, // BLUE
405 0xffa335ee, // PURPLE
406 0xffff8000, // ORANGE
407 0xffe6cc80, // LIGHT YELLOW
408 0xff00ccff, // LIGHT BLUE
409 0xff00ccff // LIGHT BLUE
410};
411
412size_t constexpr MAX_QUEST_DIFFICULTY = 5;
414{
415 0xff40c040,
416 0xff808080,
417 0xffffff00,
418 0xffff8040,
419 0xffff2020
420};
421
422// ***********************************
423// Spell Attributes definitions
424// ***********************************
425
426// EnumUtils: DESCRIBE THIS
428{
429 SPELL_ATTR0_PROC_FAILURE_BURNS_CHARGE = 0x00000001, // TITLE Proc Failure Burns Charge
430 SPELL_ATTR0_USES_RANGED_SLOT = 0x00000002, // TITLE Uses Ranged Slot DESCRIPTION Use ammo, ranged attack range modifiers, ranged haste, etc.
431 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
432 SPELL_ATTR0_DO_NOT_LOG_IMMUNE_MISSES = 0x00000008, // TITLE Do Not Log Immune Misses (client only)
433 SPELL_ATTR0_IS_ABILITY = 0x00000010, // TITLE Is Ability DESCRIPTION Cannot be reflected, not affected by cast speed modifiers, etc.
434 SPELL_ATTR0_IS_TRADESKILL = 0x00000020, // TITLE Is Tradeskill DESCRIPTION Displayed in recipe list, not affected by cast speed modifiers
435 SPELL_ATTR0_PASSIVE = 0x00000040, // TITLE Passive DESCRIPTION Spell is automatically cast on self by core
436 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
437 SPELL_ATTR0_DO_NOT_LOG = 0x00000100, // TITLE Do Not Log (client only) DESCRIPTION Spell will not appear in combat logs
438 SPELL_ATTR0_HELD_ITEM_ONLY = 0x00000200, // TITLE Held Item Only (client only) DESCRIPTION Client will automatically select main-hand item as cast target
439 SPELL_ATTR0_ON_NEXT_SWING = 0x00000400, // TITLE On Next Swing DESCRIPTION Both "on next swing" attributes have identical handling in server & client
440 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)
441 SPELL_ATTR0_SERVER_ONLY = 0x00001000, // TITLE Server Only
442 SPELL_ATTR0_ALLOW_ITEM_SPELL_IN_PVP = 0x00002000, // TITLE Allow Item Spell In PvP
443 SPELL_ATTR0_ONLY_INDOORS = 0x00004000, // TITLE Only Indoors
444 SPELL_ATTR0_ONLY_OUTDOORS = 0x00008000, // TITLE Only Outdoors
445 SPELL_ATTR0_NOT_SHAPESHIFTED = 0x00010000, // TITLE Not Shapeshifted
446 SPELL_ATTR0_ONLY_STEALTHED = 0x00020000, // TITLE Only Stealthed
447 SPELL_ATTR0_DO_NOT_SHEATH = 0x00040000, // TITLE Do Not Sheath (client only)
448 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
449 SPELL_ATTR0_CANCELS_AUTO_ATTACK_COMBAT = 0x00100000, // TITLE Cancels Auto Attack Combat DESCRIPTION After casting this, the current auto-attack will be interrupted
450 SPELL_ATTR0_NO_ACTIVE_DEFENSE = 0x00200000, // TITLE No Active Defense DESCRIPTION Spell cannot be dodged, parried or blocked
451 SPELL_ATTR0_TRACK_TARGET_IN_CAST_PLAYER_ONLY = 0x00400000, // TITLE Track Target in Cast (Player Only) (client only)
452 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
453 SPELL_ATTR0_ALLOW_WHILE_MOUNTED = 0x01000000, // TITLE Allow While Mounted
454 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
455 SPELL_ATTR0_AURA_IS_DEBUFF = 0x04000000, // TITLE Aura Is Debuff DESCRIPTION Forces the spell to be treated as a negative spell
456 SPELL_ATTR0_ALLOW_WHILE_SITTING = 0x08000000, // TITLE Allow While Sitting
457 SPELL_ATTR0_NOT_IN_COMBAT_ONLY_PEACEFUL = 0x10000000, // TITLE Not In Combat (Only Peaceful)
458 SPELL_ATTR0_NO_IMMUNITIES = 0x20000000, // TITLE No Immunities DESCRIPTION Allows spell to pierce invulnerability, unless the invulnerability spell also has this attribute
459 SPELL_ATTR0_HEARTBEAT_RESIST = 0x40000000, // TITLE Heartbeat Resist DESCRIPTION Periodically re-rolls against resistance to potentially expire aura early
460 SPELL_ATTR0_NO_AURA_CANCEL = 0x80000000 // TITLE No Aura Cancel DESCRIPTION Prevents the player from voluntarily canceling a positive aura
462
463// EnumUtils: DESCRIBE THIS
465{
466 SPELL_ATTR1_DISMISS_PET_FIRST = 0x00000001, // TITLE Dismiss Pet First DESCRIPTION Without this attribute, summoning spells will fail if caster already has a pet
467 SPELL_ATTR1_USE_ALL_MANA = 0x00000002, // TITLE Use All Mana DESCRIPTION Ignores listed power cost and drains entire pool instead
468 SPELL_ATTR1_IS_CHANNELLED = 0x00000004, // TITLE Is Channelled DESCRIPTION Both "channeled" attributes have identical handling in server & client
469 SPELL_ATTR1_NO_REDIRECTION = 0x00000008, // TITLE No Redirection DESCRIPTION Spell will not be attracted by SPELL_MAGNET auras (Grounding Totem)
470 SPELL_ATTR1_NO_SKILL_INCREASE = 0x00000010, // TITLE No Skill Increase
471 SPELL_ATTR1_ALLOW_WHILE_STEALTHED = 0x00000020, // TITLE Allow While Stealthed
472 SPELL_ATTR1_IS_SELF_CHANNELLED = 0x00000040, // TITLE Is Self Channelled DESCRIPTION Both "channeled" attributes have identical handling in server & client
473 SPELL_ATTR1_NO_REFLECTION = 0x00000080, // TITLE No Reflection DESCRIPTION Spell will pierce through Spell Reflection and similar
474 SPELL_ATTR1_ONLY_PEACEFUL_TARGETS = 0x00000100, // TITLE Only Peaceful Targets DESCRIPTION Target cannot be in combat
475 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
476 SPELL_ATTR1_NO_THREAT = 0x00000400, // TITLE No Threat DESCRIPTION Also does not cause target to engage
477 SPELL_ATTR1_AURA_UNIQUE = 0x00000800, // TITLE Aura Unique DESCRIPTION Aura will not refresh its duration when recast
478 SPELL_ATTR1_FAILURE_BREAKS_STEALTH = 0x00001000, // TITLE Failure Breaks Stealth
479 SPELL_ATTR1_TOGGLE_FAR_SIGHT = 0x00002000, // TITLE Toggle Far Sight (client only)
480 SPELL_ATTR1_TRACK_TARGET_IN_CHANNEL = 0x00004000, // TITLE Track Target in Channel DESCRIPTION While channeling, adjust facing to face target
481 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
482 SPELL_ATTR1_IMMUNITY_TO_HOSTILE_AND_FRIENDLY_EFFECTS = 0x00010000, /*WRONG IMPL*/ // TITLE Immunity to Hostile & Friendly Effects DESCRIPTION Will not pierce Divine Shield, Ice Block and other full invulnerabilities
483 SPELL_ATTR1_NO_AUTOCAST_AI = 0x00020000, // TITLE No AutoCast (AI)
484 SPELL_ATTR1_PREVENTS_ANIM = 0x00040000, /*NYI*/ // TITLE Prevents Anim DESCRIPTION Auras apply UNIT_FLAG_PREVENT_EMOTES_FROM_CHAT_TEXT
485 SPELL_ATTR1_EXCLUDE_CASTER = 0x00080000, // TITLE Exclude Caster
486 SPELL_ATTR1_FINISHING_MOVE_DAMAGE = 0x00100000, // TITLE Finishing Move - Damage
487 SPELL_ATTR1_THREAT_ONLY_ON_MISS = 0x00200000, /*NYI*/ // TITLE Threat only on Miss
488 SPELL_ATTR1_FINISHING_MOVE_DURATION = 0x00400000, // TITLE Finishing Move - Duration
489 SPELL_ATTR1_IGNORE_OWNERS_DEATH = 0x00800000, /*NYI*/ // TITLE Ignore Owner's Death
490 SPELL_ATTR1_SPECIAL_SKILLUP = 0x01000000, // TITLE Special Skillup
491 SPELL_ATTR1_AURA_STAYS_AFTER_COMBAT = 0x02000000, // TITLE Aura Stays After Combat
492 SPELL_ATTR1_REQUIRE_ALL_TARGETS = 0x04000000, // TITLE Require All Targets
493 SPELL_ATTR1_DISCOUNT_POWER_ON_MISS = 0x08000000, // TITLE Discount Power On Miss
494 SPELL_ATTR1_NO_AURA_ICON = 0x10000000, // TITLE No Aura Icon (client only)
495 SPELL_ATTR1_NAME_IN_CHANNEL_BAR = 0x20000000, // TITLE Name in Channel Bar (client only)
496 SPELL_ATTR1_DISPEL_ALL_STACKS = 0x40000000, // TITLE Dispel All Stacks
497 SPELL_ATTR1_CAST_WHEN_LEARNED = 0x80000000 // TITLE Cast When Learned
499
500// EnumUtils: DESCRIBE THIS
502{
503 SPELL_ATTR2_ALLOW_DEAD_TARGET = 0x00000001, // TITLE Allow Dead Target
504 SPELL_ATTR2_NO_SHAPESHIFT_UI = 0x00000002, // TITLE No shapeshift UI (client only) DESCRIPTION Does not replace action bar when shapeshifted
505 SPELL_ATTR2_IGNORE_LINE_OF_SIGHT = 0x00000004, // TITLE Ignore Line of Sight
506 SPELL_ATTR2_ALLOW_LOW_LEVEL_BUFF = 0x00000008, // TITLE Allow Low Level Buff
507 SPELL_ATTR2_USE_SHAPESHIFT_BAR = 0x00000010, // TITLE Use Shapeshift Bar (client only)
508 SPELL_ATTR2_AUTO_REPEAT = 0x00000020, // TITLE Auto Repeat
509 SPELL_ATTR2_CANNOT_CAST_ON_TAPPED = 0x00000040, // TITLE Cannot cast on tapped DESCRIPTION Can only target untapped units, or those tapped by caster
510 SPELL_ATTR2_DO_NOT_REPORT_SPELL_FAILURE = 0x00000080, // TITLE Do Not Report Spell Failure
511 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
512 SPELL_ATTR2_ALWAYS_CAST_AS_UNIT = 0x00000200, /*NYI, UNK*/ // TITLE Always Cast As Unit
513 SPELL_ATTR2_SPECIAL_TAMING_FLAG = 0x00000400, // TITLE Special Taming Flag DESCRIPTION Related to taming?
514 SPELL_ATTR2_NO_TARGET_PER_SECOND_COSTS = 0x00000800, // TITLE No Target Per-Second Costs
515 SPELL_ATTR2_CHAIN_FROM_CASTER = 0x00001000, // TITLE Chain From Caster
516 SPELL_ATTR2_ENCHANT_OWN_ITEM_ONLY = 0x00002000, // TITLE Enchant own item only
517 SPELL_ATTR2_ALLOW_WHILE_INVISIBLE = 0x00004000, // TITLE Allow While Invisible
518 SPELL_ATTR2_DO_NOT_CONSUME_IF_GAINED_DURING_CAST = 0x00008000, // TITLE Do Not Consume if Gained During Cast
519 SPELL_ATTR2_NO_ACTIVE_PETS = 0x00010000, // TITLE No Active Pets
520 SPELL_ATTR2_DO_NOT_RESET_COMBAT_TIMERS = 0x00020000, // TITLE Do Not Reset Combat Timers DESCRIPTION Does not reset melee/ranged autoattack timer on cast
521 SPELL_ATTR2_NO_JUMP_WHILE_CAST_PENDING = 0x00040000, // TITLE No Jump While Cast Pending (client only)
522 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)
523 SPELL_ATTR2_INITIATE_COMBAT_POST_CAST_ENABLES_AUTO_ATTACK = 0x00100000, // TITLE Initiate Combat Post-Cast (Enables Auto-Attack)
524 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
525 SPELL_ATTR2_NO_INITIAL_THREAT = 0x00400000, // TITLE No Initial Threat
526 SPELL_ATTR2_PROC_COOLDOWN_ON_FAILURE = 0x00800000, // TITLE Proc Cooldown On Failure
527 SPELL_ATTR2_ITEM_CAST_WITH_OWNER_SKILL = 0x01000000, // TITLE Item Cast With Owner Skill
528 SPELL_ATTR2_DONT_BLOCK_MANA_REGEN = 0x02000000, // TITLE Don't Block Mana Regen
529 SPELL_ATTR2_NO_SCHOOL_IMMUNITIES = 0x04000000, // TITLE No School Immunities DESCRIPTION Allow aura to be applied despite target being immune to new aura applications
530 SPELL_ATTR2_IGNORE_WEAPONSKILL = 0x08000000, // TITLE Ignore Weaponskill
531 SPELL_ATTR2_NOT_AN_ACTION = 0x10000000, // TITLE Not an Action
532 SPELL_ATTR2_CANT_CRIT = 0x20000000, // TITLE Can't Crit
533 SPELL_ATTR2_ACTIVE_THREAT = 0x40000000, // TITLE Active Threat
534 SPELL_ATTR2_RETAIN_ITEM_CAST = 0x80000000 // TITLE Retain Item Cast DESCRIPTION passes m_CastItem to triggered spells
536
537// EnumUtils: DESCRIBE THIS
539{
540 SPELL_ATTR3_PVP_ENABLING = 0x00000001, // TITLE PvP Enabling
541 SPELL_ATTR3_NO_PROC_EQUIP_REQUIREMENT = 0x00000002, // TITLE No Proc Equip Requirement DESCRIPTION Ignores subclass mask check when checking proc
542 SPELL_ATTR3_NO_CASTING_BAR_TEXT = 0x00000004, // TITLE No Casting Bar Text
543 SPELL_ATTR3_COMPLETELY_BLOCKED = 0x00000008, // TITLE Completely Blocked
544 SPELL_ATTR3_NO_RES_TIMER = 0x00000010, // TITLE No Res Timer
545 SPELL_ATTR3_NO_DURABILITY_LOSS = 0x00000020, // TITLE No Durability Loss
546 SPELL_ATTR3_NO_AVOIDANCE = 0x00000040, // TITLE No Avoidance
547 SPELL_ATTR3_DOT_STACKING_RULE = 0x00000080, // TITLE DoT Stacking Rule DESCRIPTION Stack separately for each caster
548 SPELL_ATTR3_ONLY_ON_PLAYER = 0x00000100, // TITLE Only On Player
549 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
550 SPELL_ATTR3_REQUIRES_MAIN_HAND_WEAPON = 0x00000400, // TITLE Requires Main-Hand Weapon
551 SPELL_ATTR3_ONLY_BATTLEGROUNDS = 0x00000800, // TITLE Only Battlegrounds
552 SPELL_ATTR3_ONLY_ON_GHOSTS = 0x00001000, // TITLE Only On Ghosts
553 SPELL_ATTR3_HIDE_CHANNEL_BAR = 0x00002000, // TITLE Hide Channel Bar (client only)
554 SPELL_ATTR3_HIDE_IN_RAID_FILTER = 0x00004000, // TITLE Hide In Raid Filter (client only)
555 SPELL_ATTR3_NORMAL_RANGED_ATTACK = 0x00008000, // TITLE Normal Ranged Attack DESCRIPTION Auto Shoot, Shoot, Throw - ranged normal attack attribute?
556 SPELL_ATTR3_SUPPRESS_CASTER_PROCS = 0x00010000, // TITLE Suppress Caster Procs
557 SPELL_ATTR3_SUPPRESS_TARGET_PROCS = 0x00020000, // TITLE Suppress Target Procs
558 SPELL_ATTR3_ALWAYS_HIT = 0x00040000, // TITLE Always Hit DESCRIPTION Spell cannot miss, or be dodged/parried/blocked
559 SPELL_ATTR3_INSTANT_TARGET_PROCS = 0x00080000, // TITLE Instant Target Procs DESCRIPTION Proc events are triggered before spell batching processes the spell hit on target
560 SPELL_ATTR3_ALLOW_AURA_WHILE_DEAD = 0x00100000, // TITLE Allow Aura While Dead
561 SPELL_ATTR3_ONLY_PROC_OUTDOORS = 0x00200000, // TITLE Only Proc Outdoors
562 SPELL_ATTR3_DO_NOT_TRIGGER_TARGET_STAND = 0x00400000, // TITLE Do Not Trigger Target Stand
563 SPELL_ATTR3_NO_DAMAGE_HISTORY = 0x00800000, /*NYI, no damage history implementation*/ // TITLE No Damage History
564 SPELL_ATTR3_REQUIRES_OFF_HAND_WEAPON = 0x01000000, // TITLE Requires Off-Hand Weapon
565 SPELL_ATTR3_TREAT_AS_PERIODIC = 0x02000000, // TITLE Treat As Periodic
566 SPELL_ATTR3_CAN_PROC_FROM_PROCS = 0x04000000, // TITLE Can Proc From Procs
567 SPELL_ATTR3_ONLY_PROC_ON_CASTER = 0x08000000, // TITLE Only Proc on Caster
568 SPELL_ATTR3_IGNORE_CASTER_AND_TARGET_RESTRICTIONS = 0x10000000, /*NYI*/ // TITLE Ignore Caster & Target Restrictions
569 SPELL_ATTR3_IGNORE_CASTER_MODIFIERS = 0x20000000, // TITLE Ignore Caster Modifiers
570 SPELL_ATTR3_DO_NOT_DISPLAY_RANGE = 0x40000000, // TITLE Do Not Display Range (client only)
571 SPELL_ATTR3_NOT_ON_AOE_IMMUNE = 0x80000000 // TITLE Not On AOE Immune
573
574// EnumUtils: DESCRIBE THIS
576{
577 SPELL_ATTR4_NO_CAST_LOG = 0x00000001, // TITLE No Cast Log
578 SPELL_ATTR4_CLASS_TRIGGER_ONLY_ON_TARGET = 0x00000002, // TITLE Class Trigger Only On Target
579 SPELL_ATTR4_AURA_EXPIRES_OFFLINE = 0x00000004, // TITLE Aura Expires Offline DESCRIPTION Debuffs (except Resurrection Sickness) will automatically do this
580 SPELL_ATTR4_NO_HELPFUL_THREAT = 0x00000008, // TITLE No Helpful Threat
581 SPELL_ATTR4_NO_HARMFUL_THREAT = 0x00000010, // TITLE No Harmful Threat
582 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
583 SPELL_ATTR4_CANNOT_BE_STOLEN = 0x00000040, // TITLE Cannot Be Stolen
584 SPELL_ATTR4_ALLOW_CAST_WHILE_CASTING = 0x00000080, // TITLE Allow Cast While Casting DESCRIPTION Ignores already in-progress cast and still casts
585 SPELL_ATTR4_IGNORE_DAMAGE_TAKEN_MODIFIERS = 0x00000100, // TITLE Ignore Damage Taken Modifiers
586 SPELL_ATTR4_COMBAT_FEEDBACK_WHEN_USABLE = 0x00000200, // TITLE Combat Feedback When Usable (client only)
587 SPELL_ATTR4_WEAPON_SPEED_COST_SCALING = 0x00000400, // TITLE Weapon Speed Cost Scaling DESCRIPTION Adds 10 to power cost for each 1s of weapon speed
588 SPELL_ATTR4_NO_PARTIAL_IMMUNITY = 0x00000800, // TITLE No Partial Immunity
589 SPELL_ATTR4_AURA_IS_BUFF = 0x00001000, // TITLE Aura Is Buff
590 SPELL_ATTR4_DO_NOT_LOG_CASTER = 0x00002000, // TITLE Do Not Log Caster
591 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
592 SPELL_ATTR4_NOT_IN_SPELLBOOK = 0x00008000, // TITLE Not In Spellbook
593 SPELL_ATTR4_NOT_IN_ARENA_OR_RATED_BATTLEGROUND = 0x00010000, // TITLE Not In Arena or Rated Battleground DESCRIPTION Makes spell unusable despite CD <= 10min
594 SPELL_ATTR4_IGNORE_DEFAULT_ARENA_RESTRICTIONS = 0x00020000, // TITLE Ignore Default Arena Restrictions DESCRIPTION Makes spell usable despite CD > 10min
595 SPELL_ATTR4_BOUNCY_CHAIN_MISSILES = 0x00040000, // TITLE Bouncy Chain Missiles DESCRIPTION Hits area targets over time instead of all at once
596 SPELL_ATTR4_ALLOW_PROC_WHILE_SITTING = 0x00080000, // TITLE Allow Proc While Sitting
597 SPELL_ATTR4_AURA_NEVER_BOUNCES = 0x00100000, // TITLE Aura Never Bounces
598 SPELL_ATTR4_ALLOW_ENTERING_ARENA = 0x00200000, // TITLE Allow Entering Arena
599 SPELL_ATTR4_PROC_SUPPRESS_SWING_ANIM = 0x00400000, // TITLE Proc Suppress Swing Anim
600 SPELL_ATTR4_SUPPRESS_WEAPON_PROCS = 0x00800000, // TITLE Suppress Weapon Procs
601 SPELL_ATTR4_AUTO_RANGED_COMBAT = 0x01000000, // TITLE Auto Ranged Combat
602 SPELL_ATTR4_OWNER_POWER_SCALING = 0x02000000, // TITLE Owner Power Scaling
603 SPELL_ATTR4_ONLY_FLYING_AREAS = 0x04000000, // TITLE Only Flying Areas
604 SPELL_ATTR4_FORCE_DISPLAY_CASTBAR = 0x08000000, // TITLE Force Display Castbar
605 SPELL_ATTR4_IGNORE_COMBAT_TIMER = 0x10000000, // TITLE Ignore Combat Timer
606 SPELL_ATTR4_AURA_BOUNCE_FAILS_SPELL = 0x20000000, // TITLE Aura Bounce Fails Spell
607 SPELL_ATTR4_OBSOLETE = 0x40000000, // TITLE Obsolete
608 SPELL_ATTR4_USE_FACING_FROM_SPELL = 0x80000000 // TITLE Use Facing From Spell
610
611// EnumUtils: DESCRIBE THIS
613{
614 SPELL_ATTR5_ALLOW_ACTIONS_DURING_CHANNEL = 0x00000001, // TITLE Allow Actions During Channel
615 SPELL_ATTR5_NO_REAGENT_COST_WITH_AURA = 0x00000002, // TITLE No Reagent Cost With Aura
616 SPELL_ATTR5_REMOVE_ENTERING_ARENA = 0x00000004, // TITLE Remove Entering Arena DESCRIPTION Force this aura to be removed on entering arena, regardless of other properties
617 SPELL_ATTR5_ALLOW_WHILE_STUNNED = 0x00000008, // TITLE Allow While Stunned
618 SPELL_ATTR5_TRIGGERS_CHANNELING = 0x00000010, // TITLE Triggers Channeling
619 SPELL_ATTR5_LIMIT_N = 0x00000020, // TITLE Limit N DESCRIPTION Remove previous application to another unit if applied
620 SPELL_ATTR5_IGNORE_AREA_EFFECT_PVP_CHECK = 0x00000040, // TITLE Ignore Area Effect PvP Check
621 SPELL_ATTR5_NOT_ON_PLAYER = 0x00000080, // TITLE Not On Player
622 SPELL_ATTR5_NOT_ON_PLAYER_CONTROLLED_NPC = 0x00000100, // TITLE Not On Player Controlled NPC
623 SPELL_ATTR5_EXTRA_INITIAL_PERIOD = 0x00000200, // TITLE Extra Initial Period DESCRIPTION Immediately do periodic tick on apply
624 SPELL_ATTR5_DO_NOT_DISPLAY_DURATION = 0x00000400, // TITLE Do Not Display Duration
625 SPELL_ATTR5_IMPLIED_TARGETING = 0x00000800, // TITLE Implied Targeting (client only)
626 SPELL_ATTR5_MELEE_CHAIN_TARGETING = 0x00001000, // TITLE Melee Chain Targeting
627 SPELL_ATTR5_SPELL_HASTE_AFFECTS_PERIODIC = 0x00002000, // TITLE Spell Haste Affects Periodic
628 SPELL_ATTR5_NOT_AVAILABLE_WHILE_CHARMED = 0x00004000, // TITLE Not Available While Charmed
629 SPELL_ATTR5_TREAT_AS_AREA_EFFECT = 0x00008000, // TITLE Treat as Area Effect
630 SPELL_ATTR5_AURA_AFFECTS_NOT_JUST_REQ_EQUIPPED_ITEM = 0x00010000, // TITLE Aura Affects Not Just Req. Equipped Item
631 SPELL_ATTR5_ALLOW_WHILE_FLEEING = 0x00020000, // TITLE Allow While Fleeing
632 SPELL_ATTR5_ALLOW_WHILE_CONFUSED = 0x00040000, // TITLE Allow While Confused
633 SPELL_ATTR5_AI_DOESNT_FACE_TARGET = 0x00080000, // TITLE AI Doesn't Face Target
634 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
635 SPELL_ATTR5_IGNORE_TARGET_REQUIREMENTS = 0x00200000, /*NYI*/ // TITLE Ignore Target Requirements
636 SPELL_ATTR5_NOT_ON_TRIVIAL = 0x00400000, /*NYI*/ // TITLE Not On Trivial
637 SPELL_ATTR5_NO_PARTIAL_RESISTS = 0x00800000, /*NYI, resisting only some spell effects not implemented*/ // TITLE No Partial Resists
638 SPELL_ATTR5_IGNORE_CASTER_REQUIREMENTS = 0x01000000, /*NYI*/ // TITLE Ignore Caster Requirements
639 SPELL_ATTR5_ALWAYS_LINE_OF_SIGHT = 0x02000000, // TITLE Always Line of Sight
640 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
641 SPELL_ATTR5_NO_CASTER_AURA_ICON = 0x08000000, // TITLE No Caster Aura Icon (client only)
642 SPELL_ATTR5_NO_TARGET_AURA_ICON = 0x10000000, // TITLE No Target Aura Icon (client only)
643 SPELL_ATTR5_AURA_UNIQUE_PER_CASTER = 0x20000000, // TITLE Aura Unique Per Caster
644 SPELL_ATTR5_ALWAYS_SHOW_GROUND_TEXTURE = 0x40000000, // TITLE Always Show Ground Texture
645 SPELL_ATTR5_ADD_MELEE_HIT_RATING = 0x80000000 // TITLE Add Melee Hit Rating
647
648// EnumUtils: DESCRIBE THIS
650{
651 SPELL_ATTR6_NO_COOLDOWN_ON_TOOLTIP = 0x00000001, // TITLE No Cooldown On Tooltip (client only)
652 SPELL_ATTR6_DO_NOT_RESET_COOLDOWN_IN_ARENA = 0x00000002, // TITLE Do Not Reset Cooldown In Arena
653 SPELL_ATTR6_NOT_AN_ATTACK = 0x00000004, /*NYI*/ // TITLE Not an Attack
654 SPELL_ATTR6_CAN_ASSIST_IMMUNE_PC = 0x00000008, // TITLE Can Assist Immune PC
655 SPELL_ATTR6_IGNORE_FOR_MOD_TIME_RATE = 0x00000010, /*NYI, time rate not implemented*/ // TITLE Ignore For Mod Time Rate
656 SPELL_ATTR6_DO_NOT_CONSUME_RESOURCES = 0x00000020, // TITLE Do Not Consume Resources
657 SPELL_ATTR6_FLOATING_COMBAT_TEXT_ON_CAST = 0x00000040, // TITLE Floating Combat Text On Cast (client only)
658 SPELL_ATTR6_AURA_IS_WEAPON_PROC = 0x00000080, // TITLE Aura Is Weapon Proc
659 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
660 SPELL_ATTR6_ALLOW_ON_CHARMED_TARGETS = 0x00000200, /*NYI*/ // TITLE Allow On Charmed Targets
661 SPELL_ATTR6_NO_AURA_LOG = 0x00000400, // TITLE No Aura Log
662 SPELL_ATTR6_NOT_IN_RAID_INSTANCES = 0x00000800, // TITLE Not In Raid Instances
663 SPELL_ATTR6_ALLOW_WHILE_RIDING_VEHICLE = 0x00001000, // TITLE Allow While Riding Vehicle
664 SPELL_ATTR6_IGNORE_PHASE_SHIFT = 0x00002000, // TITLE Ignore Phase Shift
665 SPELL_ATTR6_AI_PRIMARY_RANGED_ATTACK = 0x00004000, /*NYI*/ // TITLE AI Primary Ranged Attack
666 SPELL_ATTR6_NO_PUSHBACK = 0x00008000, // TITLE No Pushback
667 SPELL_ATTR6_NO_JUMP_PATHING = 0x00010000, /*NYI, currently jumps dont path at all*/ // TITLE No Jump Pathing
668 SPELL_ATTR6_ALLOW_EQUIP_WHILE_CASTING = 0x00020000, // TITLE Allow Equip While Casting
669 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
670 SPELL_ATTR6_DELAY_COMBAT_TIMER_DURING_CAST = 0x00080000, // TITLE Delay Combat Timer During Cast
671 SPELL_ATTR6_AURA_ICON_ONLY_FOR_CASTER_LIMIT_10 = 0x00100000, // TITLE Aura Icon Only For Caster (Limit 10) (client only)
672 SPELL_ATTR6_SHOW_MECHANIC_AS_COMBAT_TEXT = 0x00200000, // TITLE Show Mechanic as Combat Text (client only)
673 SPELL_ATTR6_ABSORB_CANNOT_BE_IGNORE = 0x00400000, // TITLE Absorb Cannot Be Ignore
674 SPELL_ATTR6_TAPS_IMMEDIATELY = 0x00800000, // TITLE Taps immediately
675 SPELL_ATTR6_CAN_TARGET_UNTARGETABLE = 0x01000000, // TITLE Can Target Untargetable
676 SPELL_ATTR6_DOESNT_RESET_SWING_TIMER_IF_INSTANT = 0x02000000, // TITLE Doesn't Reset Swing Timer if Instant
677 SPELL_ATTR6_VEHICLE_IMMUNITY_CATEGORY = 0x04000000, /*NYI, immunity to some buffs for some vehicles*/ // TITLE Vehicle Immunity Category
678 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
679 SPELL_ATTR6_DO_NOT_AUTO_SELECT_TARGET_WITH_INITIATES_COMBAT = 0x10000000, // TITLE Do Not Auto Select Target with Initiates Combat (client only)
680 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
681 SPELL_ATTR6_DISABLE_TIED_EFFECT_POINTS = 0x40000000, /*NYI*/ // TITLE Disable Tied Effect Points
682 SPELL_ATTR6_NO_CATEGORY_COOLDOWN_MODS = 0x80000000 // TITLE No Category Cooldown Mods
684
685// EnumUtils: DESCRIBE THIS
687{
688 SPELL_ATTR7_ALLOW_SPELL_REFLECTION = 0x00000001, // TITLE Allow Spell Reflection
689 SPELL_ATTR7_NO_TARGET_DURATION_MOD = 0x00000002, // TITLE No Target Duration Mod
690 SPELL_ATTR7_DISABLE_AURA_WHILE_DEAD = 0x00000004, // TITLE Disable Aura While Dead
691 SPELL_ATTR7_DEBUG_SPELL = 0x00000008, // TITLE Debug Spell DESCRIPTION Cannot cast if caster doesn't have UnitFlag2 & UNIT_FLAG2_ALLOW_CHEAT_SPELLS
692 SPELL_ATTR7_TREAT_AS_RAID_BUFF = 0x00000010, /*NYI*/ // TITLE Treat as Raid Buff
693 SPELL_ATTR7_CAN_BE_MULTI_CAST = 0x00000020, // TITLE Can Be Multi Cast
694 SPELL_ATTR7_DONT_CAUSE_SPELL_PUSHBACK = 0x00000040, // TITLE Don't Cause Spell Pushback DESCRIPTION Damage dealt by this does not cause spell pushback
695 SPELL_ATTR7_PREPARE_FOR_VEHICLE_CONTROL_END = 0x00000080, /*NYI*/ // TITLE Prepare for Vehicle Control End
696 SPELL_ATTR7_HORDE_SPECIFIC_SPELL = 0x00000100, /*NYI*/ // TITLE Horde Specific Spell
697 SPELL_ATTR7_ALLIANCE_SPECIFIC_SPELL = 0x00000200, /*NYI*/ // TITLE Alliance Specific Spell
698 SPELL_ATTR7_DISPEL_REMOVES_CHARGES = 0x00000400, // TITLE Dispel Removes Charges DESCRIPTION Dispel/Spellsteal remove individual charges
699 SPELL_ATTR7_CAN_CAUSE_INTERRUPT = 0x00000800, // TITLE Can Cause Interrupt DESCRIPTION Only interrupt non-player casting
700 SPELL_ATTR7_CAN_CAUSE_SILENCE = 0x00001000, /*NYI*/ // TITLE Can Cause Silence
701 SPELL_ATTR7_NO_UI_NOT_INTERRUPTIBLE = 0x00002000, // TITLE No UI Not Interruptible DESCRIPTION Can always be interrupted, even if caster is immune
702 SPELL_ATTR7_RECAST_ON_RESUMMON = 0x00004000, /*NYI - deprecated attribute, there is no SPELL_GO sent anymore on pet resummon*/ // TITLE Recast On Resummon
703 SPELL_ATTR7_RESET_SWING_TIMER_AT_SPELL_START = 0x00008000, // TITLE Reset Swing Timer at spell start
704 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)
705 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
706 SPELL_ATTR7_ATTACK_ON_CHARGE_TO_UNIT = 0x00040000, // TITLE Attack on Charge to Unit
707 SPELL_ATTR7_REPORT_SPELL_FAILURE_TO_UNIT_TARGET = 0x00080000, // TITLE Report Spell failure to unit target
708 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
709 SPELL_ATTR7_RETAIN_COOLDOWN_THROUGH_LOAD = 0x00200000, /*NYI*/ // TITLE Retain Cooldown Through Load
710 SPELL_ATTR7_IGNORES_COLD_WEATHER_FLYING_REQUIREMENT = 0x00400000, /*NYI - deprecated attribute*/ // TITLE Ignores Cold Weather Flying Requirement
711 SPELL_ATTR7_NO_ATTACK_DODGE = 0x00800000, // TITLE No Attack Dodge
712 SPELL_ATTR7_NO_ATTACK_PARRY = 0x01000000, // TITLE No Attack Parry
713 SPELL_ATTR7_NO_ATTACK_MISS = 0x02000000, // TITLE No Attack Miss
714 SPELL_ATTR7_TREAT_AS_NPC_AOE = 0x04000000, // TITLE Treat as NPC AoE
715 SPELL_ATTR7_BYPASS_NO_RESURRECT_AURA = 0x08000000, // TITLE Bypass No Resurrect Aura
716 SPELL_ATTR7_DO_NOT_COUNT_FOR_PVP_SCOREBOARD = 0x10000000, // TITLE Do Not Count For PvP Scoreboard
717 SPELL_ATTR7_REFLECTION_ONLY_DEFENDS = 0x20000000, // TITLE Reflection Only Defends
718 SPELL_ATTR7_CAN_PROC_FROM_SUPPRESSED_TARGET_PROCS = 0x40000000, // TITLE Can Proc From Suppressed Target Procs
719 SPELL_ATTR7_ALWAYS_CAST_LOG = 0x80000000 // TITLE Always Cast Log
721
722// EnumUtils: DESCRIBE THIS
724{
725 SPELL_ATTR8_NO_ATTACK_BLOCK = 0x00000001, // TITLE No Attack Block
726 SPELL_ATTR8_IGNORE_DYNAMIC_OBJECT_CASTER = 0x00000002, /*NYI*/ // TITLE Ignore Dynamic Object Caster
727 SPELL_ATTR8_REMOVE_OUTSIDE_DUNGEONS_AND_RAIDS = 0x00000004, // TITLE Remove Outside Dungeons and Raids
728 SPELL_ATTR8_ONLY_TARGET_IF_SAME_CREATOR = 0x00000008, // TITLE Only Target If Same Creator
729 SPELL_ATTR8_CAN_HIT_AOE_UNTARGETABLE = 0x00000010, /*NYI - no aoe immunity implementation*/ // TITLE Can Hit AOE Untargetable
730 SPELL_ATTR8_ALLOW_WHILE_CHARMED = 0x00000020, /*NYI - not implementable currently, charming replaces AI*/ // TITLE Allow While Charmed
731 SPELL_ATTR8_AURA_REQUIRED_BY_CLIENT = 0x00000040, /*NYI - we send all auras to client*/ // TITLE Aura Required by Client
732 SPELL_ATTR8_IGNORE_SANCTUARY = 0x00000080, // TITLE Ignore Sanctuary
733 SPELL_ATTR8_USE_TARGETS_LEVEL_FOR_SPELL_SCALING = 0x00000100, // TITLE Use Target's Level for Spell Scaling
734 SPELL_ATTR8_PERIODIC_CAN_CRIT = 0x00000200, // TITLE Periodic Can Crit
735 SPELL_ATTR8_MIRROR_CREATURE_NAME = 0x00000400, // TITLE Mirror creature name DESCRIPTION Transform auras also override name (handled clientside)
736 SPELL_ATTR8_ONLY_PLAYERS_CAN_CAST_THIS_SPELL = 0x00000800, // TITLE Only Players Can Cast This Spell
737 SPELL_ATTR8_AURA_POINTS_ON_CLIENT = 0x00001000, // TITLE Aura Points On Client
738 SPELL_ATTR8_NOT_IN_SPELLBOOK_UNTIL_LEARNED = 0x00002000, // TITLE Not In Spellbook Until Learned DESCRIPTION Hides autolearned spell from spellbook before learning (handled clientside)
739 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)
740 SPELL_ATTR8_REQUIRES_LOCATION_TO_BE_ON_LIQUID_SURFACE = 0x00008000, // TITLE Requires location to be on liquid surface
741 SPELL_ATTR8_ONLY_TARGET_OWN_SUMMONS = 0x00010000, // TITLE Only Target Own Summons
742 SPELL_ATTR8_HASTE_AFFECTS_DURATION = 0x00020000, // TITLE Haste Affects Duration
743 SPELL_ATTR8_IGNORE_SPELLCAST_OVERRIDE_COST = 0x00040000, // TTILE Ignore Spellcast Override Cost
744 SPELL_ATTR8_ALLOW_TARGETS_HIDDEN_BY_SPAWN_TRACKING = 0x00080000, /*NYI - no spawn tracking implementation*/ // TITLE Allow Targets Hidden by Spawn Tracking
745 SPELL_ATTR8_REQUIRES_EQUIPPED_INV_TYPES = 0x00100000, // TITLE Requires Equipped Inv Types
746 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
747 SPELL_ATTR8_MELEE_HASTE_AFFECTS_PERIODIC = 0x00400000, // TITLE Melee Haste Affects Periodic
748 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
749 SPELL_ATTR8_HEAL_PREDICTION = 0x01000000, // TITLE Heal Prediction
750 SPELL_ATTR8_NO_LEVEL_UP_TOAST = 0x02000000, // TITLE No Level Up Toast
751 SPELL_ATTR8_SKIP_IS_KNOWN_CHECK = 0x04000000, // TITLE Skip Is Known Check
752 SPELL_ATTR8_AI_FACE_TARGET = 0x08000000, /*NYI - unknown facing conditions, needs research*/ // TITLE AI Face Target
753 SPELL_ATTR8_NOT_IN_BATTLEGROUND = 0x10000000, // TITLE Not in Battleground
754 SPELL_ATTR8_MASTERY_AFFECTS_POINTS = 0x20000000, // TITLE Mastery Affects Points
755 SPELL_ATTR8_DISPLAY_LARGE_AURA_ICON_ON_UNIT_FRAMES_BOSS_AURA = 0x40000000, // TITLE Display Large Aura Icon On Unit Frames (Boss Aura)
756 SPELL_ATTR8_ATTACK_IGNORE_IMMUNE_TO_PC_FLAG = 0x80000000 // TITLE Can Attack ImmunePC DESCRIPTION Do not check UNIT_FLAG_IMMUNE_TO_PC in IsValidAttackTarget
758
759// EnumUtils: DESCRIBE THIS
761{
762 SPELL_ATTR9_UNK0 = 0x00000001, // TITLE Unknown attribute 0@Attr9
763 SPELL_ATTR9_UNK1 = 0x00000002, // TITLE Unknown attribute 1@Attr9
764 SPELL_ATTR9_RESTRICTED_FLIGHT_AREA = 0x00000004, // TITLE Only When Illegally Mounted
765 SPELL_ATTR9_UNK3 = 0x00000008, // TITLE Unknown attribute 3@Attr9
766 SPELL_ATTR9_SPECIAL_DELAY_CALCULATION = 0x00000010, // TITLE Missile Speed is Delay (in sec)
767 SPELL_ATTR9_SUMMON_PLAYER_TOTEM = 0x00000020, // TITLE Ignore Totem Requirements for Casting
768 SPELL_ATTR9_UNK6 = 0x00000040, // TITLE Unknown attribute 6@Attr9
769 SPELL_ATTR9_UNK7 = 0x00000080, // TITLE Unknown attribute 7@Attr9
770 SPELL_ATTR9_AIMED_SHOT = 0x00000100, // TITLE Cooldown Ignores Ranged Weapon
771 SPELL_ATTR9_NOT_USABLE_IN_ARENA = 0x00000200, // TITLE Not In Arena
772 SPELL_ATTR9_UNK10 = 0x00000400, // TITLE Unknown attribute 10@Attr9
773 SPELL_ATTR9_UNK11 = 0x00000800, // TITLE Unknown attribute 11@Attr9
774 SPELL_ATTR9_UNK12 = 0x00001000, // TITLE Unknown attribute 12@Attr9
775 SPELL_ATTR9_SLAM = 0x00002000, // TITLE Haste Affects Melee Ability Casttime
776 SPELL_ATTR9_USABLE_IN_RATED_BATTLEGROUNDS = 0x00004000, // TITLE Ignore Default Rated Battleground Restrictions
777 SPELL_ATTR9_UNK15 = 0x00008000, // TITLE Unknown attribute 15@Attr9
778 SPELL_ATTR9_UNK16 = 0x00010000, // TITLE Unknown attribute 16@Attr9
779 SPELL_ATTR9_UNK17 = 0x00020000, // TITLE Unknown attribute 17@Attr9
780 SPELL_ATTR9_UNK18 = 0x00040000, // TITLE Unknown attribute 18@Attr9
781 SPELL_ATTR9_UNK19 = 0x00080000, // TITLE Unknown attribute 19@Attr9
782 SPELL_ATTR9_UNK20 = 0x00100000, // TITLE Unknown attribute 20@Attr9
783 SPELL_ATTR9_UNK21 = 0x00200000, // TITLE Unknown attribute 21@Attr9
784 SPELL_ATTR9_UNK22 = 0x00400000, // TITLE Unknown attribute 22@Attr9
785 SPELL_ATTR9_UNK23 = 0x00800000, // TITLE Unknown attribute 23@Attr9
786 SPELL_ATTR9_UNK24 = 0x01000000, // TITLE Unknown attribute 24@Attr9
787 SPELL_ATTR9_UNK25 = 0x02000000, // TITLE Unknown attribute 25@Attr9
788 SPELL_ATTR9_UNK26 = 0x04000000, // TITLE Unknown attribute 26@Attr9
789 SPELL_ATTR9_UNK27 = 0x08000000, // TITLE Unknown attribute 27@Attr9
790 SPELL_ATTR9_UNK28 = 0x10000000, // TITLE Unknown attribute 28@Attr9
791 SPELL_ATTR9_UNK29 = 0x20000000, // TITLE Unknown attribute 29@Attr9
792 SPELL_ATTR9_UNK30 = 0x40000000, // TITLE Unknown attribute 30@Attr9
793 SPELL_ATTR9_UNK31 = 0x80000000 // TITLE Unknown attribute 31@Attr9
795
796// EnumUtils: DESCRIBE THIS
798{
799 SPELL_ATTR10_UNK0 = 0x00000001, // TITLE Unknown attribute 0@Attr10
800 SPELL_ATTR10_UNK1 = 0x00000002, // TITLE Unknown attribute 1@Attr10
801 SPELL_ATTR10_USES_RANGED_SLOT_COSMETIC_ONLY = 0x00000004, // TITLE Uses Ranged Slot (Cosmetic Only)
802 SPELL_ATTR10_UNK3 = 0x00000008, // TITLE Unknown attribute 3@Attr10
803 SPELL_ATTR10_WATER_SPOUT = 0x00000010, // TITLE NPC Knockback - ignore doors
804 SPELL_ATTR10_UNK5 = 0x00000020, // TITLE Unknown attribute 5@Attr10
805 SPELL_ATTR10_UNK6 = 0x00000040, // TITLE Unknown attribute 6@Attr10
806 SPELL_ATTR10_TELEPORT_PLAYER = 0x00000080, // TITLE Ignore instance lock and farm limit on teleport
807 SPELL_ATTR10_UNK8 = 0x00000100, // TITLE Unknown attribute 8@Attr10
808 SPELL_ATTR10_UNK9 = 0x00000200, // TITLE Unknown attribute 9@Attr10
809 SPELL_ATTR10_UNK10 = 0x00000400, // TITLE Unknown attribute 10@Attr10
810 SPELL_ATTR10_HERB_GATHERING_MINING = 0x00000800, // TITLE Lock chest at precast
811 SPELL_ATTR10_USE_SPELL_BASE_LEVEL_FOR_SCALING= 0x00001000, // TITLE Use Spell Base Level For Scaling
812 SPELL_ATTR10_RESET_COOLDOWN_ON_ENCOUNTER_END = 0x00002000, // TITLE Reset cooldown upon ending an encounter
813 SPELL_ATTR10_ROLLING_PERIODIC = 0x00004000, // TITLE Rolling Periodic DESCRIPTION Add remaining periodic damage to new aura when refreshed
814 SPELL_ATTR10_UNK15 = 0x00008000, // TITLE Unknown attribute 15@Attr10
815 SPELL_ATTR10_UNK16 = 0x00010000, // TITLE Unknown attribute 16@Attr10
816 SPELL_ATTR10_CAN_DODGE_PARRY_WHILE_CASTING = 0x00020000, // TITLE Allow Defense While Casting
817 SPELL_ATTR10_UNK18 = 0x00040000, // TITLE Unknown attribute 18@Attr10
818 SPELL_ATTR10_UNK19 = 0x00080000, // TITLE Unknown attribute 19@Attr10
819 SPELL_ATTR10_UNK20 = 0x00100000, // TITLE Unknown attribute 20@Attr10
820 SPELL_ATTR10_UNK21 = 0x00200000, // TITLE Unknown attribute 21@Attr10
821 SPELL_ATTR10_UNK22 = 0x00400000, // TITLE Unknown attribute 22@Attr10
822 SPELL_ATTR10_UNK23 = 0x00800000, // TITLE Unknown attribute 23@Attr10
823 SPELL_ATTR10_UNK24 = 0x01000000, // TITLE Unknown attribute 24@Attr10
824 SPELL_ATTR10_UNK25 = 0x02000000, // TITLE Unknown attribute 25@Attr10
825 SPELL_ATTR10_UNK26 = 0x04000000, // TITLE Unknown attribute 26@Attr10
826 SPELL_ATTR10_UNK27 = 0x08000000, // TITLE Unknown attribute 27@Attr10
827 SPELL_ATTR10_UNK28 = 0x10000000, // TITLE Unknown attribute 28@Attr10
828 SPELL_ATTR10_MOUNT_IS_NOT_ACCOUNT_WIDE = 0x20000000, // TITLE This Mount is NOT at the account level
829 SPELL_ATTR10_UNK30 = 0x40000000, // TITLE Unknown attribute 30@Attr10
830 SPELL_ATTR10_UNK31 = 0x80000000 // TITLE Unknown attribute 31@Attr10
832
833// EnumUtils: DESCRIBE THIS
835{
836 SPELL_ATTR11_UNK0 = 0x00000001, // TITLE Unknown attribute 0@Attr11
837 SPELL_ATTR11_UNK1 = 0x00000002, // TITLE Unknown attribute 1@Attr11
838 SPELL_ATTR11_SCALES_WITH_ITEM_LEVEL = 0x00000004, // TITLE Scales with Casting Item's Level
839 SPELL_ATTR11_UNK3 = 0x00000008, // TITLE Unknown attribute 3@Attr11
840 SPELL_ATTR11_UNK4 = 0x00000010, // TITLE Unknown attribute 4@Attr11
841 SPELL_ATTR11_ABSORB_ENVIRONMENTAL_DAMAGE = 0x00000020, // TITLE Absorb Falling Damage
842 SPELL_ATTR11_UNK6 = 0x00000040, // TITLE Unknown attribute 6@Attr11
843 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
844 SPELL_ATTR11_UNK8 = 0x00000100, // TITLE Unknown attribute 8@Attr11
845 SPELL_ATTR11_UNK9 = 0x00000200, // TITLE Unknown attribute 9@Attr11
846 SPELL_ATTR11_UNK10 = 0x00000400, // TITLE Unknown attribute 10@Attr11
847 SPELL_ATTR11_NOT_USABLE_IN_INSTANCES = 0x00000800, // TITLE Not in Instances
848 SPELL_ATTR11_UNK12 = 0x00001000, // TITLE Unknown attribute 12@Attr11
849 SPELL_ATTR11_UNK13 = 0x00002000, // TITLE Unknown attribute 13@Attr11
850 SPELL_ATTR11_UNK14 = 0x00004000, // TITLE Unknown attribute 14@Attr11
851 SPELL_ATTR11_UNK15 = 0x00008000, // TITLE Unknown attribute 15@Attr11
852 SPELL_ATTR11_NOT_USABLE_IN_CHALLENGE_MODE = 0x00010000, // TITLE Not in Mythic+ Mode (Challenge Mode)
853 SPELL_ATTR11_UNK17 = 0x00020000, // TITLE Unknown attribute 17@Attr11
854 SPELL_ATTR11_UNK18 = 0x00040000, // TITLE Unknown attribute 18@Attr11
855 SPELL_ATTR11_UNK19 = 0x00080000, // TITLE Unknown attribute 19@Attr11
856 SPELL_ATTR11_UNK20 = 0x00100000, // TITLE Unknown attribute 20@Attr11
857 SPELL_ATTR11_UNK21 = 0x00200000, // TITLE Unknown attribute 21@Attr11
858 SPELL_ATTR11_UNK22 = 0x00400000, // TITLE Unknown attribute 22@Attr11
859 SPELL_ATTR11_UNK23 = 0x00800000, // TITLE Unknown attribute 23@Attr11
860 SPELL_ATTR11_UNK24 = 0x01000000, // TITLE Unknown attribute 24@Attr11
861 SPELL_ATTR11_UNK25 = 0x02000000, // TITLE Unknown attribute 25@Attr11
862 SPELL_ATTR11_UNK26 = 0x04000000, // TITLE Unknown attribute 26@Attr11
863 SPELL_ATTR11_UNK27 = 0x08000000, // TITLE Unknown attribute 27@Attr11
864 SPELL_ATTR11_UNK28 = 0x10000000, // TITLE Unknown attribute 28@Attr11
865 SPELL_ATTR11_UNK29 = 0x20000000, // TITLE Unknown attribute 29@Attr11
866 SPELL_ATTR11_UNK30 = 0x40000000, // TITLE Unknown attribute 30@Attr11
867 SPELL_ATTR11_UNK31 = 0x80000000 // TITLE Unknown attribute 31@Attr11
869
870// EnumUtils: DESCRIBE THIS
872{
873 SPELL_ATTR12_ENABLE_PROCS_FROM_SUPPRESSED_CASTER_PROCS = 0x00000001, // TITLE Enable Procs from Suppressed Caster Procs
874 SPELL_ATTR12_CAN_PROC_FROM_SUPPRESSED_CASTER_PROCS = 0x00000002, // TITLE Can Proc from Suppressed Caster Procs
875 SPELL_ATTR12_UNK2 = 0x00000004, // TITLE Unknown attribute 2@Attr12
876 SPELL_ATTR12_UNK3 = 0x00000008, // TITLE Unknown attribute 3@Attr12
877 SPELL_ATTR12_UNK4 = 0x00000010, // TITLE Unknown attribute 4@Attr12
878 SPELL_ATTR12_UNK5 = 0x00000020, // TITLE Unknown attribute 5@Attr12
879 SPELL_ATTR12_UNK6 = 0x00000040, // TITLE Unknown attribute 6@Attr12
880 SPELL_ATTR12_UNK7 = 0x00000080, // TITLE Unknown attribute 7@Attr12
881 SPELL_ATTR12_UNK8 = 0x00000100, // TITLE Unknown attribute 8@Attr12
882 SPELL_ATTR12_IGNORE_CASTING_DISABLED = 0x00000200, // TITLE Active Passive DESCRIPTION Ignores aura 263 SPELL_AURA_DISABLE_CASTING_EXCEPT_ABILITIES
883 SPELL_ATTR12_UNK10 = 0x00000400, // TITLE Unknown attribute 10@Attr12
884 SPELL_ATTR12_UNK11 = 0x00000800, // TITLE Unknown attribute 11@Attr12
885 SPELL_ATTR12_UNK12 = 0x00001000, // TITLE Unknown attribute 12@Attr12
886 SPELL_ATTR12_UNK13 = 0x00002000, // TITLE Unknown attribute 13@Attr12
887 SPELL_ATTR12_UNK14 = 0x00004000, // TITLE Unknown attribute 14@Attr12
888 SPELL_ATTR12_UNK15 = 0x00008000, // TITLE Unknown attribute 15@Attr12
889 SPELL_ATTR12_UNK16 = 0x00010000, // TITLE Unknown attribute 16@Attr12
890 SPELL_ATTR12_UNK17 = 0x00020000, // TITLE Unknown attribute 17@Attr12
891 SPELL_ATTR12_UNK18 = 0x00040000, // TITLE Unknown attribute 18@Attr12
892 SPELL_ATTR12_UNK19 = 0x00080000, // TITLE Unknown attribute 19@Attr12
893 SPELL_ATTR12_UNK20 = 0x00100000, // TITLE Unknown attribute 20@Attr12
894 SPELL_ATTR12_UNK21 = 0x00200000, // TITLE Unknown attribute 21@Attr12
895 SPELL_ATTR12_UNK22 = 0x00400000, // TITLE Unknown attribute 22@Attr12
896 SPELL_ATTR12_START_COOLDOWN_ON_CAST_START = 0x00800000, // TITLE Trigger Cooldown On Spell Start
897 SPELL_ATTR12_IS_GARRISON_BUFF = 0x01000000, // TITLE Never Learn
898 SPELL_ATTR12_UNK25 = 0x02000000, // TITLE Unknown attribute 25@Attr12
899 SPELL_ATTR12_UNK26 = 0x04000000, // TITLE Unknown attribute 26@Attr12
900 SPELL_ATTR12_IS_READINESS_SPELL = 0x08000000, // TITLE Recompute Aura on Mercenary Mode
901 SPELL_ATTR12_UNK28 = 0x10000000, // TITLE Unknown attribute 28@Attr12
902 SPELL_ATTR12_UNK29 = 0x20000000, // TITLE Unknown attribute 29@Attr12
903 SPELL_ATTR12_UNK30 = 0x40000000, // TITLE Unknown attribute 30@Attr12
904 SPELL_ATTR12_ONLY_PROC_FROM_CLASS_ABILITIES = 0x80000000 // TITLE Only Proc From Class Abilities
906
907// EnumUtils: DESCRIBE THIS
909{
910 SPELL_ATTR13_ALLOW_CLASS_ABILITY_PROCS = 0x00000001, // TITLE Allow Class Ability Procs
911 SPELL_ATTR13_UNK1 = 0x00000002, // TITLE Unknown attribute 0@Attr13
912 SPELL_ATTR13_PASSIVE_IS_UPGRADE = 0x00000004, // TITLE Is Upgrade DESCRIPTION Displays "Upgrade" in spell tooltip instead of "Passive"
913 SPELL_ATTR13_UNK3 = 0x00000008, // TITLE Unknown attribute 3@Attr13
914 SPELL_ATTR13_UNK4 = 0x00000010, // TITLE Unknown attribute 4@Attr13
915 SPELL_ATTR13_UNK5 = 0x00000020, // TITLE Unknown attribute 5@Attr13
916 SPELL_ATTR13_UNK6 = 0x00000040, // TITLE Unknown attribute 6@Attr13
917 SPELL_ATTR13_UNK7 = 0x00000080, // TITLE Unknown attribute 7@Attr13
918 SPELL_ATTR13_UNK8 = 0x00000100, // TITLE Unknown attribute 8@Attr13
919 SPELL_ATTR13_UNK9 = 0x00000200, // TITLE Unknown attribute 9@Attr13
920 SPELL_ATTR13_UNK10 = 0x00000400, // TITLE Unknown attribute 10@Attr13
921 SPELL_ATTR13_UNK11 = 0x00000800, // TITLE Unknown attribute 11@Attr13
922 SPELL_ATTR13_UNK12 = 0x00001000, // TITLE Unknown attribute 12@Attr13
923 SPELL_ATTR13_UNK13 = 0x00002000, // TITLE Unknown attribute 13@Attr13
924 SPELL_ATTR13_UNK14 = 0x00004000, // TITLE Unknown attribute 14@Attr13
925 SPELL_ATTR13_UNK15 = 0x00008000, // TITLE Unknown attribute 15@Attr13
926 SPELL_ATTR13_UNK16 = 0x00010000, // TITLE Unknown attribute 16@Attr13
927 SPELL_ATTR13_UNK17 = 0x00020000, // TITLE Unknown attribute 17@Attr13
928 SPELL_ATTR13_ACTIVATES_REQUIRED_SHAPESHIFT = 0x00040000, // TITLE Do Not Enforce Shapeshift Requirements
929 SPELL_ATTR13_UNK19 = 0x00080000, // TITLE Unknown attribute 19@Attr13
930 SPELL_ATTR13_PERIODIC_REFRESH_EXTENDS_DURATION = 0x00100000, // TITLE Periodic Refresh Extends Duration
931 SPELL_ATTR13_UNK21 = 0x00200000, // TITLE Unknown attribute 21@Attr13
932 SPELL_ATTR13_UNK22 = 0x00400000, // TITLE Unknown attribute 22@Attr13
933 SPELL_ATTR13_UNK23 = 0x00800000, // TITLE Unknown attribute 23@Attr13
934 SPELL_ATTR13_UNK24 = 0x01000000, // TITLE Unknown attribute 24@Attr13
935 SPELL_ATTR13_UNK25 = 0x02000000, // TITLE Unknown attribute 25@Attr13
936 SPELL_ATTR13_UNK26 = 0x04000000, // TITLE Unknown attribute 26@Attr13
937 SPELL_ATTR13_UNK27 = 0x08000000, // TITLE Unknown attribute 27@Attr13
938 SPELL_ATTR13_UNK28 = 0x10000000, // TITLE Unknown attribute 28@Attr13
939 SPELL_ATTR13_UNK29 = 0x20000000, // TITLE Unknown attribute 29@Attr13
940 SPELL_ATTR13_UNK30 = 0x40000000, // TITLE Unknown attribute 30@Attr13
941 SPELL_ATTR13_UNK31 = 0x80000000 // TITLE Unknown attribute 31@Attr13
943
944// EnumUtils: DESCRIBE THIS
946{
947 SPELL_ATTR14_UNK0 = 0x00000001, // TITLE Unknown attribute 0@Attr14
948 SPELL_ATTR14_REAGENT_COST_CONSUMES_CHARGES = 0x00000002, // TITLE Reagent Consume Charges DESCRIPTION Consumes item charges for reagent costs instead of whole items
949 SPELL_ATTR14_UNK2 = 0x00000004, // TITLE Unknown attribute 2@Attr14
950 SPELL_ATTR14_HIDE_PASSIVE_FROM_TOOLTIP = 0x00000008, // TITLE Don't show "Passive" or "Upgrade" in tooltip
951 SPELL_ATTR14_UNK4 = 0x00000010, // TITLE Unknown attribute 4@Attr14
952 SPELL_ATTR14_UNK5 = 0x00000020, // TITLE Unknown attribute 5@Attr14
953 SPELL_ATTR14_UNK6 = 0x00000040, // TITLE Unknown attribute 6@Attr14
954 SPELL_ATTR14_UNK7 = 0x00000080, // TITLE Unknown attribute 7@Attr14
955 SPELL_ATTR14_UNK8 = 0x00000100, // TITLE Unknown attribute 8@Attr14
956 SPELL_ATTR14_UNK9 = 0x00000200, // TITLE Unknown attribute 9@Attr14
957 SPELL_ATTR14_UNK10 = 0x00000400, // TITLE Unknown attribute 10@Attr14
958 SPELL_ATTR14_UNK11 = 0x00000800, // TITLE Unknown attribute 11@Attr14
959 SPELL_ATTR14_UNK12 = 0x00001000, // TITLE Unknown attribute 12@Attr14
960 SPELL_ATTR14_UNK13 = 0x00002000, // TITLE Unknown attribute 13@Attr14
961 SPELL_ATTR14_UNK14 = 0x00004000, // TITLE Unknown attribute 14@Attr14
962 SPELL_ATTR14_UNK15 = 0x00008000, // TITLE Unknown attribute 15@Attr14
963 SPELL_ATTR14_UNK16 = 0x00010000, // TITLE Unknown attribute 16@Attr14
964 SPELL_ATTR14_UNK17 = 0x00020000, // TITLE Unknown attribute 17@Attr14
965 SPELL_ATTR14_UNK18 = 0x00040000, // TITLE Unknown attribute 18@Attr14
966 SPELL_ATTR14_UNK19 = 0x00080000, // TITLE Unknown attribute 19@Attr14
967 SPELL_ATTR14_UNK20 = 0x00100000, // TITLE Unknown attribute 20@Attr14
968 SPELL_ATTR14_UNK21 = 0x00200000, // TITLE Unknown attribute 21@Attr14
969 SPELL_ATTR14_UNK22 = 0x00400000, // TITLE Unknown attribute 22@Attr14
970 SPELL_ATTR14_UNK23 = 0x00800000, // TITLE Unknown attribute 23@Attr14
971 SPELL_ATTR14_UNK24 = 0x01000000, // TITLE Unknown attribute 24@Attr14
972 SPELL_ATTR14_UNK25 = 0x02000000, // TITLE Unknown attribute 25@Attr14
973 SPELL_ATTR14_UNK26 = 0x04000000, // TITLE Unknown attribute 26@Attr14
974 SPELL_ATTR14_UNK27 = 0x08000000, // TITLE Unknown attribute 27@Attr14
975 SPELL_ATTR14_UNK28 = 0x10000000, // TITLE Unknown attribute 28@Attr14
976 SPELL_ATTR14_UNK29 = 0x20000000, // TITLE Unknown attribute 29@Attr14
977 SPELL_ATTR14_UNK30 = 0x40000000, // TITLE Unknown attribute 30@Attr14
978 SPELL_ATTR14_UNK31 = 0x80000000 // TITLE Unknown attribute 31@Attr14
980
981#define MIN_SPECIALIZATION_LEVEL 10
982#define MAX_SPECIALIZATIONS 5
983#define PET_SPEC_OVERRIDE_CLASS_INDEX MAX_CLASSES
984#define INITIAL_SPECIALIZATION_INDEX 4
985
986// Custom values
988{
995
997{
1002
1004{
1014
1015#define MAX_SHEATHETYPE 8
1016
1018{
1051 CHARACTER_FLAG_UNK32 = 0x80000000
1053
1055{
1057 CHAR_CUSTOMIZE_FLAG_CUSTOMIZE = 0x00000001, // name, gender, etc...
1058 CHAR_CUSTOMIZE_FLAG_FACTION = 0x00010000, // name, gender, faction, etc...
1059 CHAR_CUSTOMIZE_FLAG_RACE = 0x00100000 // name, gender, race, etc...
1061
1063{
1066};
1067
1069{
1073};
1074
1075// Languages.db2 (9.2.0.42423)
1077{
1121};
1122
1124{
1129
1131{
1132 HORDE = 67,
1134 //TEAM_STEAMWHEEDLE_CARTEL = 169, // not used in code
1135 //TEAM_ALLIANCE_FORCES = 891,
1136 //TEAM_HORDE_FORCES = 892,
1137 //TEAM_SANCTUARY = 936,
1138 //TEAM_OUTLAND = 980,
1139 TEAM_OTHER = 0 // if ReputationListId > 0 && Flags != FACTION_FLAG_TEAM_HEADER
1141
1143{
1148 SPELL_EFFECT_PORTAL_TELEPORT = 4, // Unused (4.3.4)
1157 SPELL_EFFECT_TELEPORT_TO_RETURN_POINT = 13, // MiscValueA = spellid of the aura holding destination
1159 SPELL_EFFECT_TELEPORT_WITH_SPELL_VISUAL_KIT_LOADING_SCREEN = 15, // MiscValueA = delay, MiscValueB = SpellVisualKitId
1195 SPELL_EFFECT_FORCE_CRITICAL_HIT = 51, // Unused (4.3.4)
1301 SPELL_EFFECT_CREATE_LOOT = 157, // crafting loot
1317 SPELL_EFFECT_UNLOCK_GUILD_VAULT_TAB = 173, // Guild tab unlocked (guild perk)
1333 SPELL_EFFECT_LOOT = 189, // NYI, lootid in MiscValue ?
1334 SPELL_EFFECT_CHANGE_PARTY_MEMBERS = 190, // MiscValueA = 1 is join, MiscValueA = 0 is leave - used by NPCs
1340 SPELL_EFFECT_CREATE_SCENE_OBJECT = 196, // MiscValueA = SceneId, goes into guid as entry, SceneScriptPackageId goes into ObjectData::Entry
1341 SPELL_EFFECT_CREATE_PERSONAL_SCENE_OBJECT = 197, // MiscValueA = SceneId, goes into guid as entry, SceneScriptPackageId goes into ObjectData::Entry
1343 SPELL_EFFECT_DESPAWN_SUMMON = 199, // MiscValueA is some kind of unknown internal id
1351 SPELL_EFFECT_LAUNCH_QUEST_TASK = 207, // Starts one of the "progress bar" quests
1359 SPELL_EFFECT_UPGRADE_CHARACTER_SPELLS = 215, // Unlocks boosted players' spells (ChrUpgrade*.db2)
1380 SPELL_EFFECT_GIVE_EXPERIENCE = 236, // Increases players XP
1383 SPELL_EFFECT_END_GARRISON_BUILDING_CONSTRUCTION = 239, // Instantly finishes building construction
1386 SPELL_EFFECT_GIVE_ARTIFACT_POWER_NO_BONUS = 242, // Unaffected by Artifact Knowledge
1394 SPELL_EFFECT_TAKE_SCREENSHOT = 250, // Serverside marker for selfie screenshot - achievement check
1410 SPELL_EFFECT_SET_ITEM_BONUS_LIST_GROUP_ENTRY = 266, // Sets item bonuses to specific ItemBonusListGroupEntry id
1413 SPELL_EFFECT_INCREASE_ITEM_BONUS_LIST_GROUP_STEP= 269, // Advances ItemBonusListGroup bonuses to next rank
1427 SPELL_EFFECT_COMPLETE_CAMPAIGN = 283, // Flags all quests as completed that are assigned to campaign (MiscValueA)
1428 SPELL_EFFECT_SEND_CHAT_MESSAGE = 284, // MiscValue[0] = BroadcastTextID, MiscValue[1] = ChatType
1432 SPELL_EFFECT_CRAFT_ITEM = 288, // MiscValue[0] = CraftingDataID
1433 SPELL_EFFECT_MODIFY_AURA_STACKS = 289, // MiscValue[0] = 0 means add, = 1 means set
1435 SPELL_EFFECT_MODIFY_COOLDOWNS = 291, // MiscValue[0] = SpellFamily, MiscValue[1] = maybe bit index for family flags? off by 1 for the only spell using this effect
1436 SPELL_EFFECT_MODIFY_COOLDOWNS_BY_CATEGORY = 292, // MiscValue[0] = category
1437 SPELL_EFFECT_MODIFY_CHARGES = 293, // MiscValue[0] = charge category
1438 SPELL_EFFECT_CRAFT_LOOT = 294, // MiscValue[0] = CraftingDataID
1439 SPELL_EFFECT_SALVAGE_ITEM = 295, // MiscValue[0] = ItemSalvageID
1440 SPELL_EFFECT_CRAFT_SALVAGE_ITEM = 296, // MiscValue[0] = ItemSalvageID, MiscValue[1] = CraftingDataID
1443 SPELL_EFFECT_299 = 299, // something with items, as of 10.0.2 all spells are named "Downgrading"
1445 SPELL_EFFECT_CRAFT_ENCHANT = 301, // MiscValue[0] = CraftingDataID, MiscValue[1] = ?
1447 SPELL_EFFECT_CREATE_TRAIT_TREE_CONFIG = 303, // MiscValue[0] = TraitTreeID
1457 SPELL_EFFECT_CHANGE_ITEM_BONUSES_2 = 313, // MiscValue[0] = ItemBonusTreeID to preserve
1458 SPELL_EFFECT_ADD_SOCKET_BONUS = 314, // MiscValue[0] = required ItemBonusTreeID
1459 SPELL_EFFECT_LEARN_TRANSMOG_APPEARANCE_FROM_ITEM_MOD_APPEARANCE_GROUP = 315, // MiscValue[0] = ItemModAppearanceGroupID (not in db2)
1462
1463// EnumUtils: DESCRIBE THIS
1465{
1788
1789 // 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)
1792
1794{
1796 SPELL_CUSTOM_ERROR_CUSTOM_MSG = 1, // Something bad happened, and we want to display a custom message!
1797 SPELL_CUSTOM_ERROR_ALEX_BROKE_QUEST = 2, // Alex broke your quest! Thank him later!
1798 SPELL_CUSTOM_ERROR_NEED_HELPLESS_VILLAGER = 3, // This spell may only be used on Helpless Wintergarde Villagers that have not been rescued.
1799 SPELL_CUSTOM_ERROR_NEED_WARSONG_DISGUISE = 4, // Requires that you be wearing the Warsong Orc Disguise.
1800 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.
1801 SPELL_CUSTOM_ERROR_CANT_TARGET_FRIENDLY_NONPARTY = 6, // You cannot target friendly units outside your party.
1802 SPELL_CUSTOM_ERROR_NEED_CHILL_NYMPH = 7, // You must target a weakened chill nymph.
1803 SPELL_CUSTOM_ERROR_MUST_BE_IN_ENKILAH = 8, // The Imbued Scourge Shroud will only work when equipped in the Temple City of En'kilah.
1804 SPELL_CUSTOM_ERROR_REQUIRES_CORPSE_DUST = 9, // Requires Corpse Dust
1805 SPELL_CUSTOM_ERROR_CANT_SUMMON_GARGOYLE = 10, // You cannot summon another gargoyle yet.
1806 SPELL_CUSTOM_ERROR_NEED_CORPSE_DUST_IF_NO_TARGET = 11, // Requires Corpse Dust if the target is not dead and humanoid.
1807 SPELL_CUSTOM_ERROR_MUST_BE_AT_SHATTERHORN = 12, // Can only be placed near Shatterhorn
1808 SPELL_CUSTOM_ERROR_MUST_TARGET_PROTO_DRAKE_EGG = 13, // You must first select a Proto-Drake Egg.
1809 SPELL_CUSTOM_ERROR_MUST_BE_CLOSE_TO_TREE = 14, // You must be close to a marked tree.
1810 SPELL_CUSTOM_ERROR_MUST_TARGET_TURKEY = 15, // You must target a Fjord Turkey.
1811 SPELL_CUSTOM_ERROR_MUST_TARGET_HAWK = 16, // You must target a Fjord Hawk.
1812 SPELL_CUSTOM_ERROR_TOO_FAR_FROM_BOUY = 17, // You are too far from the bouy.
1813 SPELL_CUSTOM_ERROR_MUST_BE_CLOSE_TO_OIL_SLICK = 18, // Must be used near an oil slick.
1814 SPELL_CUSTOM_ERROR_MUST_BE_CLOSE_TO_BOUY = 19, // You must be closer to the buoy!
1815 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.
1816 SPELL_CUSTOM_ERROR_MUST_TARGET_ICE_HEART_JORMUNGAR = 21, // That can only be used on a Ice Heart Jormungar Spawn.
1817 SPELL_CUSTOM_ERROR_MUST_BE_CLOSE_TO_SINKHOLE = 22, // You must be closer to a sinkhole to use your map.
1818 SPELL_CUSTOM_ERROR_REQUIRES_HAROLD_LANE = 23, // You may only call down a stampede on Harold Lane.
1819 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.
1820 SPELL_CUSTOM_ERROR_MUST_BE_IN_RESURRECTION_CHAMBER = 25, // Requires the magmawyrm resurrection chamber in the back of the Maw of Neltharion.
1821 SPELL_CUSTOM_ERROR_CANT_CALL_WINTERGARDE_HERE = 26, // You may only call down a Wintergarde Gryphon in Wintergarde Keep or the Carrion Fields.
1822 SPELL_CUSTOM_ERROR_MUST_TARGET_WILHELM = 27, // What are you doing? Only aim that thing at Wilhelm!
1823 SPELL_CUSTOM_ERROR_NOT_ENOUGH_HEALTH = 28, // Not enough health!
1824 SPELL_CUSTOM_ERROR_NO_NEARBY_CORPSES = 29, // There are no nearby corpses to use.
1825 SPELL_CUSTOM_ERROR_TOO_MANY_GHOULS = 30, // You've created enough ghouls. Return to Gothik the Harvester at Death's Breach.
1826 SPELL_CUSTOM_ERROR_GO_FURTHER_FROM_SUNDERED_SHARD = 31, // Your companion does not want to come here. Go further from the Sundered Shard.
1827 SPELL_CUSTOM_ERROR_MUST_BE_IN_CAT_FORM = 32, // Must be in Cat Form
1828 SPELL_CUSTOM_ERROR_MUST_BE_DEATH_KNIGHT = 33, // Only Death Knights may enter Ebon Hold.
1829 SPELL_CUSTOM_ERROR_MUST_BE_IN_BEAR_FORM = 34, // Must be in Bear Form
1830 SPELL_CUSTOM_ERROR_MUST_BE_NEAR_HELPLESS_VILLAGER = 35, // You must be within range of a Helpless Wintergarde Villager.
1831 SPELL_CUSTOM_ERROR_CANT_TARGET_ELEMENTAL_MECHANICAL = 36, // You cannot target an elemental or mechanical corpse.
1832 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.
1833 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.
1834 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!
1835 SPELL_CUSTOM_ERROR_MUST_BE_CLOSE_TO_VALDURAN = 40, // Bouldercrag's War Horn can only be used within 10 yards of Valduran the Stormborn.
1836 SPELL_CUSTOM_ERROR_NO_PASSENGER = 41, // You are not carrying a passenger. There is nobody to drop off.
1837 SPELL_CUSTOM_ERROR_CANT_BUILD_MORE_VEHICLES = 42, // You cannot build any more siege vehicles.
1838 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.
1839 SPELL_CUSTOM_ERROR_CANT_DO_WHILE_ROOTED = 44, // You can't do that while rooted.
1840 SPELL_CUSTOM_ERROR_REQUIRES_NEARBY_TARGET = 45, // Requires a nearby target.
1841 SPELL_CUSTOM_ERROR_NOTHING_TO_DISCOVER = 46, // Nothing left to discover.
1842 SPELL_CUSTOM_ERROR_NOT_ENOUGH_TARGETS = 47, // No targets close enough to bluff.
1843 SPELL_CUSTOM_ERROR_CONSTRUCT_TOO_FAR = 48, // Your Iron Rune Construct is out of range.
1844 SPELL_CUSTOM_ERROR_REQUIRES_GRAND_MASTER_ENGINEER = 49, // Requires Engineering (350)
1845 SPELL_CUSTOM_ERROR_CANT_USE_THAT_MOUNT = 50, // You can't use that mount.
1846 SPELL_CUSTOM_ERROR_NOONE_TO_EJECT = 51, // There is nobody to eject!
1847 SPELL_CUSTOM_ERROR_TARGET_MUST_BE_BOUND = 52, // The target must be bound to you.
1848 SPELL_CUSTOM_ERROR_TARGET_MUST_BE_UNDEAD = 53, // Target must be undead.
1849 SPELL_CUSTOM_ERROR_TARGET_TOO_FAR = 54, // You have no target or your target is too far away.
1850 SPELL_CUSTOM_ERROR_MISSING_DARK_MATTER = 55, // Missing Reagents: Dark Matter
1851 SPELL_CUSTOM_ERROR_CANT_USE_THAT_ITEM = 56, // You can't use that item
1852 SPELL_CUSTOM_ERROR_CANT_DO_WHILE_CYCYLONED = 57, // You can't do that while Cycloned
1853 SPELL_CUSTOM_ERROR_TARGET_HAS_SCROLL = 58, // Target is already affected by a similar effect
1854 SPELL_CUSTOM_ERROR_POISON_TOO_STRONG = 59, // That anti-venom is not strong enough to dispel that poison
1855 SPELL_CUSTOM_ERROR_MUST_HAVE_LANCE_EQUIPPED = 60, // You must have a lance equipped.
1856 SPELL_CUSTOM_ERROR_MUST_BE_CLOSE_TO_MAIDEN = 61, // You must be near the Maiden of Winter's Breath Lake.
1857 SPELL_CUSTOM_ERROR_LEARNED_EVERYTHING = 62, // You have learned everything from that book
1858 SPELL_CUSTOM_ERROR_PET_IS_DEAD = 63, // Your pet is dead
1859 SPELL_CUSTOM_ERROR_NO_VALID_TARGETS = 64, // There are no valid targets within range.
1860 SPELL_CUSTOM_ERROR_GM_ONLY = 65, // Only GMs may use that. Your account has been reported for investigation.
1861 SPELL_CUSTOM_ERROR_REQUIRES_LEVEL_58 = 66, // You must reach level 58 to use this portal.
1862 SPELL_CUSTOM_ERROR_AT_HONOR_CAP = 67, // You already have the maximum amount of honor.
1863 SPELL_CUSTOM_ERROR_HAVE_HOT_ROD = 68, // You already have a Hot Rod.
1864 SPELL_CUSTOM_ERROR_PARTYGOER_MORE_BUBBLY = 69, // This partygoer wants some more bubbly.
1865 SPELL_CUSTOM_ERROR_PARTYGOER_NEED_BUCKET = 70, // This partygoer needs a bucket!
1866 SPELL_CUSTOM_ERROR_PARTYGOER_WANT_TO_DANCE = 71, // This partygoer wants to dance with you.
1867 SPELL_CUSTOM_ERROR_PARTYGOER_WANT_FIREWORKS = 72, // This partygoer wants to see some fireworks.
1868 SPELL_CUSTOM_ERROR_PARTYGOER_WANT_APPETIZER = 73, // This partygoer wants some more hors d'oeuvres.
1869 SPELL_CUSTOM_ERROR_GOBLIN_BATTERY_DEPLETED = 74, // The Goblin All-In-1-Der Belt's battery is depleted.
1870 SPELL_CUSTOM_ERROR_MUST_HAVE_DEMONIC_CIRCLE = 75, // You must have a demonic circle active.
1871 SPELL_CUSTOM_ERROR_AT_MAX_RAGE = 76, // You already have maximum rage
1872 SPELL_CUSTOM_ERROR_REQUIRES_350_ENGINEERING = 77, // Requires Engineering (350)
1873 SPELL_CUSTOM_ERROR_SOUL_BELONGS_TO_LICH_KING = 78, // Your soul belongs to the Lich King
1874 SPELL_CUSTOM_ERROR_ATTENDANT_HAS_PONY = 79, // Your attendant already has an Argent Pony
1875 SPELL_CUSTOM_ERROR_GOBLIN_STARTING_MISSION = 80, // First, Overload the Defective Generator, Activate the Leaky Stove, and Drop a Cigar on the Flammable Bed.
1876 SPELL_CUSTOM_ERROR_GASBOT_ALREADY_SENT = 81, // You've already sent in the Gasbot and destroyed headquarters!
1877 SPELL_CUSTOM_ERROR_GOBLIN_IS_PARTIED_OUT = 82, // This goblin is all partied out!
1878 SPELL_CUSTOM_ERROR_MUST_HAVE_FIRE_TOTEM = 83, // You must have a Magma, Flametongue, or Fire Elemental Totem active.
1879 SPELL_CUSTOM_ERROR_CANT_TARGET_VAMPIRES = 84, // You may not bite other vampires.
1880 SPELL_CUSTOM_ERROR_PET_ALREADY_AT_YOUR_LEVEL = 85, // Your pet is already at your level.
1881 SPELL_CUSTOM_ERROR_MISSING_ITEM_REQUIREMENS = 86, // You do not meet the level requirements for this item.
1882 SPELL_CUSTOM_ERROR_TOO_MANY_ABOMINATIONS = 87, // There are too many Mutated Abominations.
1883 SPELL_CUSTOM_ERROR_ALL_POTIONS_USED = 88, // The potions have all been depleted by Professor Putricide.
1884 SPELL_CUSTOM_ERROR_DEFEATED_ENOUGH_ALREADY = 89, // You have already defeated enough of them.
1885 SPELL_CUSTOM_ERROR_REQUIRES_LEVEL_65 = 90, // Requires level 65
1886 SPELL_CUSTOM_ERROR_DESTROYED_KTC_OIL_PLATFORM = 91, // You have already destroyed the KTC Oil Platform.
1887 SPELL_CUSTOM_ERROR_LAUNCHED_ENOUGH_CAGES = 92, // You have already launched enough cages.
1888 SPELL_CUSTOM_ERROR_REQUIRES_BOOSTER_ROCKETS = 93, // Requires Single-Stage Booster Rockets. Return to Hobart Grapplehammer to get more.
1889 SPELL_CUSTOM_ERROR_ENOUGH_WILD_CLUCKERS = 94, // You have already captured enough wild cluckers.
1890 SPELL_CUSTOM_ERROR_REQUIRES_CONTROL_FIREWORKS = 95, // Requires Remote Control Fireworks. Return to Hobart Grapplehammer to get more.
1891 SPELL_CUSTOM_ERROR_MAX_NUMBER_OF_RECRUITS = 96, // You already have the max number of recruits.
1892 SPELL_CUSTOM_ERROR_MAX_NUMBER_OF_VOLUNTEERS = 97, // You already have the max number of volunteers.
1893 SPELL_CUSTOM_ERROR_FROSTMOURNE_RENDERED_RESURRECT = 98, // Frostmourne has rendered you unable to resurrect.
1894 SPELL_CUSTOM_ERROR_CANT_MOUNT_WITH_SHAPESHIFT = 99, // You can't mount while affected by that shapeshift.
1895 SPELL_CUSTOM_ERROR_FAWNS_ALREADY_FOLLOWING = 100, // Three fawns are already following you!
1896 SPELL_CUSTOM_ERROR_ALREADY_HAVE_RIVER_BOAT = 101, // You already have a River Boat.
1897 SPELL_CUSTOM_ERROR_NO_ACTIVE_ENCHANTMENT = 102, // You have no active enchantment to unleash.
1898 SPELL_CUSTOM_ERROR_ENOUGH_HIGHBOURNE_SOULS = 103, // You have bound enough Highborne souls. Return to Arcanist Valdurian.
1899 SPELL_CUSTOM_ERROR_ATLEAST_40YD_FROM_OIL_DRILLING = 104, // You must be at least 40 yards away from all other Oil Drilling Rigs.
1900 SPELL_CUSTOM_ERROR_ABOVE_ENSLAVED_PEARL_MINER = 106, // You must be above the Enslaved Pearl Miner.
1901 SPELL_CUSTOM_ERROR_MUST_TARGET_CORPSE_SPECIAL_1 = 107, // You must target the corpse of a Seabrush Terrapin, Scourgut Remora, or Spinescale Hammerhead.
1902 SPELL_CUSTOM_ERROR_SLAGHAMMER_ALREADY_PRISONER = 108, // Ambassador Slaghammer is already your prisoner.
1903 SPELL_CUSTOM_ERROR_REQUIRE_ATTUNED_LOCATION_1 = 109, // Requires a location that is attuned with the Naz'jar Battlemaiden.
1904 SPELL_CUSTOM_ERROR_NEED_TO_FREE_DRAKE_FIRST = 110, // Free the Drake from the net first!
1905 SPELL_CUSTOM_ERROR_DRAGONMAW_ALLIES_ALREADY_FOLLOW = 111, // You already have three Dragonmaw allies following you.
1906 SPELL_CUSTOM_ERROR_REQUIRE_OPPOSABLE_THUMBS = 112, // Requires Opposable Thumbs.
1907 SPELL_CUSTOM_ERROR_NOT_ENOUGH_HEALTH_2 = 113, // Not enough health
1908 SPELL_CUSTOM_ERROR_ENOUGH_FORSAKEN_TROOPERS = 114, // You already have enough Forsaken Troopers.
1909 SPELL_CUSTOM_ERROR_CANNOT_JUMP_TO_BOULDER = 115, // You cannot jump to another boulder yet.
1910 SPELL_CUSTOM_ERROR_SKILL_TOO_HIGH = 116, // Skill too high.
1911 SPELL_CUSTOM_ERROR_ALREADY_6_SURVIVORS_RESCUED = 117, // You have already rescued 6 Survivors.
1912 SPELL_CUSTOM_ERROR_MUST_FACE_SHIPS_FROM_BALLOON = 118, // You need to be facing the ships from the rescue balloon.
1913 SPELL_CUSTOM_ERROR_CANNOT_SUPERVISE_MORE_CULTISTS = 119, // You cannot supervise more than 5 Arrested Cultists at a time.
1914 SPELL_CUSTOM_ERROR_REQUIRES_LEVEL_85 = 120, // You must reach level 85 to use this portal.
1915 SPELL_CUSTOM_ERROR_MUST_BE_BELOW_35_HEALTH = 121, // Your target must be below 35% health.
1916 SPELL_CUSTOM_ERROR_MUST_SELECT_SPECIALIZATION = 122, // You must select a specialization first.
1917 SPELL_CUSTOM_ERROR_TOO_WISE_AND_POWERFUL = 123, // You are too wise and powerful to gain any benefit from that item.
1918 SPELL_CUSTOM_ERROR_TOO_CLOSE_ARGENT_LIGHTWELL = 124, // You are within 10 yards of another Argent Lightwell.
1919 SPELL_CUSTOM_ERROR_NOT_WHILE_SHAPESHIFTED = 125, // You can't do that while shapeshifted.
1920 SPELL_CUSTOM_ERROR_MANA_GEM_IN_BANK = 126, // You already have a Mana Gem in your bank.
1921 SPELL_CUSTOM_ERROR_FLAME_SHOCK_NOT_ACTIVE = 127, // You must have at least one Flame Shock active.
1922 SPELL_CUSTOM_ERROR_CANT_TRANSFORM = 128, // You cannot transform right now
1923 SPELL_CUSTOM_ERROR_PET_MUST_BE_ATTACKING = 129, // Your pet must be attacking a target.
1924 SPELL_CUSTOM_ERROR_GNOMISH_ENGINEERING = 130, // Requires Gnomish Engineering
1925 SPELL_CUSTOM_ERROR_GOBLIN_ENGINEERING = 131, // Requires Goblin Engineering
1926 SPELL_CUSTOM_ERROR_NO_TARGET = 132, // You have no target.
1927 SPELL_CUSTOM_ERROR_PET_OUT_OF_RANGE = 133, // Your Pet is out of range of the target.
1928 SPELL_CUSTOM_ERROR_HOLDING_FLAG = 134, // You can't do that while holding the flag.
1929 SPELL_CUSTOM_ERROR_TARGET_HOLDING_FLAG = 135, // You can't do that to targets holding the flag.
1930 SPELL_CUSTOM_ERROR_PORTAL_NOT_OPEN = 136, // The portal is not yet open. Continue helping the druids at the Sanctuary of Malorne.
1931 SPELL_CUSTOM_ERROR_AGGRA_AIR_TOTEM = 137, // You need to be closer to Aggra's Air Totem, in the west.
1932 SPELL_CUSTOM_ERROR_AGGRA_WATER_TOTEM = 138, // You need to be closer to Aggra's Water Totem, in the north.
1933 SPELL_CUSTOM_ERROR_AGGRA_EARTH_TOTEM = 139, // You need to be closer to Aggra's Earth Totem, in the east.
1934 SPELL_CUSTOM_ERROR_AGGRA_FIRE_TOTEM = 140, // You need to be closer to Aggra's Fire Totem, near Thrall.
1935 SPELL_CUSTOM_ERROR_FACING_WRONG_WAY = 141, // You are facing the wrong way.
1936 SPELL_CUSTOM_ERROR_TOO_CLOSE_TO_MAKESHIFT_DYNAMITE = 142, // You are within 10 yards of another Makeshift Dynamite.
1937 SPELL_CUSTOM_ERROR_NOT_NEAR_SAPPHIRE_SUNKEN_SHIP = 143, // You must be near the sunken ship at Sapphire's End in the Jade Forest.
1938 SPELL_CUSTOM_ERROR_DEMONS_HEALTH_FULL = 144, // That demon's health is already full.
1939 SPELL_CUSTOM_ERROR_ONYX_SERPENT_NOT_OVERHEAD = 145, // Wait until the Onyx Serpent is directly overhead.
1940 SPELL_CUSTOM_ERROR_OBJECTIVE_ALREADY_COMPLETE = 146, // Your objective is already complete.
1941 SPELL_CUSTOM_ERROR_PUSH_SAD_PANDA_TOWARDS_TOWN = 147, // You can only push Sad Panda towards Sad Panda Town!
1942 SPELL_CUSTOM_ERROR_TARGET_HAS_STARTDUST_2 = 148, // Target is already affected by Stardust No. 2.
1943 SPELL_CUSTOM_ERROR_ELEMENTIUM_GEM_CLUSTERS = 149, // You cannot deconstruct Elementium Gem Clusters while collecting them!
1944 SPELL_CUSTOM_ERROR_YOU_DONT_HAVE_ENOUGH_HEALTH = 150, // You don't have enough health.
1945 SPELL_CUSTOM_ERROR_YOU_CANNOT_USE_THE_GATEWAY_YET = 151, // You cannot use the gateway yet.
1946 SPELL_CUSTOM_ERROR_CHOOSE_SPEC_FOR_ASCENDANCE = 152, // You must choose a specialization to use Ascendance.
1947 SPELL_CUSTOM_ERROR_INSUFFICIENT_BLOOD_CHARGES = 153, // You have insufficient Blood Charges.
1948 SPELL_CUSTOM_ERROR_NO_FULLY_DEPLETED_RUNES = 154, // No fully depleted runes.
1949 SPELL_CUSTOM_ERROR_NO_MORE_CHARGES = 155, // No more charges.
1950 SPELL_CUSTOM_ERROR_STATUE_IS_OUT_OF_RANGE_OF_TARGET = 156, // Statue is out of range of the target.
1951 SPELL_CUSTOM_ERROR_YOU_DONT_HAVE_A_STATUE_SUMMONED = 157, // You don't have a statue summoned.
1952 SPELL_CUSTOM_ERROR_YOU_HAVE_NO_SPIRIT_ACTIVE = 158, // You have no spirit active.
1953 SPELL_CUSTOM_ERROR_BOTH_DISESASES_MUST_BE_ON_TARGET = 159, // Both Frost Fever and Blood Plague must be present on the target.
1954 SPELL_CUSTOM_ERROR_CANT_DO_THAT_WITH_ORB_OF_POWER = 160, // You can't do that while holding an Orb of Power.
1955 SPELL_CUSTOM_ERROR_CANT_DO_THAT_WHILE_JUMPING_OR_FALLING = 161, // You can't do that while jumping or falling.
1956 SPELL_CUSTOM_ERROR_MUST_BE_TRANSFORMED_BY_POLYFORMIC_ACID = 162, // You must be transformed by Polyformic Acid.
1957 SPELL_CUSTOM_ERROR_NOT_ENOUGH_ACID_TO_STORE_TRANSFORMATION = 163, // There isn't enough acid left to store this transformation.
1958 SPELL_CUSTOM_ERROR_MUST_HAVE_FLIGHT_MASTERS_LICENSE = 164, // You must obtain a Flight Master's License before using this spell.
1959 SPELL_CUSTOM_ERROR_ALREADY_SAMPLED_SAP_FROM_FEEDER = 165, // You have already sampled sap from this Feeder.
1960 SPELL_CUSTOM_ERROR_MUST_BE_NEWR_MANTID_FEEDER = 166, // Requires you to be near a Mantid Feeder in the Heart of Fear.
1961 SPELL_CUSTOM_ERROR_TARGET_MUST_BE_IN_DIRECTLY_FRONT = 167, // Target must be directly in front of you.
1962 SPELL_CUSTOM_ERROR_CANT_DO_THAT_WHILE_MYTHIC_KEYSTONE_IS_ACTIVE = 168, // You can't do that while a Mythic Keystone is active.
1963 SPELL_CUSTOM_ERROR_WRONG_CLASS_FOR_MOUNT = 169, // You are not the correct class for that mount.
1964 SPELL_CUSTOM_ERROR_NOTHING_LEFT_TO_DISCOVER = 170, // Nothing left to discover.
1965 SPELL_CUSTOM_ERROR_NO_EXPLOSIVES_AVAILABLE = 171, // There are no explosives available.
1966 SPELL_CUSTOM_ERROR_YOU_MUST_BE_FLAGGED_FOR_PVP = 172, // You must be flagged for PvP.
1967 SPELL_CUSTOM_ERROR_REQUIRES_BATTLE_RATIONS = 173, // Requires Battle Rations or Meaty Haunch
1968 SPELL_CUSTOM_ERROR_REQUIRES_BRITTLE_ROOT = 174, // Requires Brittle Root
1969 SPELL_CUSTOM_ERROR_REQUIRES_LABORERS_TOOL = 175, // Requires Laborer's Tool
1970 SPELL_CUSTOM_ERROR_REQUIRES_UNEXPLODED_CANNONBALL = 176, // Requires Unexploded Cannonball
1971 SPELL_CUSTOM_ERROR_REQUIRES_MISPLACED_KEG = 177, // Requires Misplaced Keg
1972 SPELL_CUSTOM_ERROR_REQUIRES_LIQUID_FIRE = 178, // Requires Liquid Fire, Jungle Hops, or Spirit-kissed Water
1973 SPELL_CUSTOM_ERROR_REQUIRES_KRASARI_IRON = 179, // Requires Krasari Iron
1974 SPELL_CUSTOM_ERROR_REQUIRES_SPIRIT_KISSED_WATER = 180, // Requires Spirit-Kissed Water
1975 SPELL_CUSTOM_ERROR_REQUIRES_SNAKE_OIL = 181, // Requires Snake Oil
1976 SPELL_CUSTOM_ERROR_SCENARIO_IS_IN_PROGRESS = 182, // You can't do that while a Scenario is in progress.
1977 SPELL_CUSTOM_ERROR_REQUIRES_DARKMOON_FAIRE_OPEN = 183, // Requires the Darkmoon Faire to be open.
1978 SPELL_CUSTOM_ERROR_ALREADY_AT_VALOR_CAP = 184, // Already at Valor cap
1979 SPELL_CUSTOM_ERROR_ALREADY_COMMENDED_BY_THIS_FACTION = 185, // Already commended by this faction
1980 SPELL_CUSTOM_ERROR_OUT_OF_COINS = 186, // Out of coins! Pickpocket humanoids to get more.
1981 SPELL_CUSTOM_ERROR_ONLY_ONE_ELEMENTAL_SPIRIT = 187, // Only one elemental spirit on a target at a time.
1982 SPELL_CUSTOM_ERROR_DONT_KNOW_HOW_TO_TAME_DIREHORNS = 188, // You do not know how to tame Direhorns.
1983 SPELL_CUSTOM_ERROR_MUST_BE_NEAR_BLOODIED_COURT_GATE = 189, // You must be near the Bloodied Court gate.
1984 SPELL_CUSTOM_ERROR_YOU_ARE_NOT_ELECTRIFIED = 190, // You are not Electrified.
1985 SPELL_CUSTOM_ERROR_THERE_IS_NOTHING_TO_BE_FETCHED = 191, // There is nothing to be fetched.
1986 SPELL_CUSTOM_ERROR_REQUIRES_THE_THUNDER_FORGE = 192, // Requires The Thunder Forge.
1987 SPELL_CUSTOM_ERROR_CANNOT_USE_THE_DICE_AGAIN_YET = 193, // You cannot use the dice again yet.
1988 SPELL_CUSTOM_ERROR_ALREADY_MEMBER_OF_BRAWLERS_GUILD = 194, // You are already a member of the Brawler's Guild.
1989 SPELL_CUSTOM_ERROR_CANT_CHANGE_SPEC_IN_CELESTIAL_CHALLENGE = 195, // You may not change talent specializations during a celestial challenge.
1990 SPELL_CUSTOM_ERROR_SPEC_DOES_MATCH_CHALLENGE = 196, // Your talent specialization does not match the selected challenge.
1991 SPELL_CUSTOM_ERROR_YOU_DONT_HAVE_ENOUGH_CURRENCY = 197, // You don't have enough currency to do that.
1992 SPELL_CUSTOM_ERROR_TARGET_CANNOT_BENEFIT_FROM_SPELL = 198, // Target cannot benefit from that spell
1993 SPELL_CUSTOM_ERROR_YOU_CAN_ONLY_HAVE_ONE_HEALING_RAIN = 199, // You can only have one Healing Rain active at a time.
1994 SPELL_CUSTOM_ERROR_THE_DOOR_IS_LOCKED = 200, // The door is locked.
1995 SPELL_CUSTOM_ERROR_YOU_NEED_TO_SELECT_WAITING_CUSTOMER = 201, // You need to select a customer who is waiting in line first.
1996 SPELL_CUSTOM_ERROR_CANT_CHANGE_SPEC_DURING_TRIAL = 202, // You may not change specialization while a trial is in progress.
1997 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.
1998 SPELL_CUSTOM_ERROR_MUST_BE_CLOSER_TO_GAZLOWE_OBJECTIVE = 204, // Must be closer to one of Gazlowe's objectives to deploy!
1999 SPELL_CUSTOM_ERROR_MUST_BE_CLOSER_TO_THAELIN_OBJECTIVE = 205, // Must be closer to one of Thaelin's objectives to deploy!
2000 SPELL_CUSTOM_ERROR_YOUR_PACK_OF_VOLEN_IS_FULL = 206, // Your pack of volen is already full!
2001 SPELL_CUSTOM_ERROR_REQUIRES_600_MINING_OR_BLACKSMITHING = 207, // Requires 600 Mining or Blacksmithing
2002 SPELL_CUSTOM_ERROR_ARKONITE_PROTECTOR_NOT_IN_RANGE = 208, // The Arkonite Protector is not in range.
2003 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.
2004 SPELL_CUSTOM_ERROR_CAN_ONLY_USE_ON_AFK_PLAYER = 210, // Can only be used on AFK players.
2005 SPELL_CUSTOM_ERROR_NO_LOOTABLE_CORPSES_IN_RANGE = 211, // No lootable corpse in range
2006 SPELL_CUSTOM_ERROR_CHIMAERON_TOO_CALM_TO_TAME = 212, // Chimaeron is too calm to tame right now.
2007 SPELL_CUSTOM_ERROR_CAN_ONLY_CARRY_ONE_TYPE_OF_MUNITIONS = 213, // You may only carry one type of Blackrock Munitions.
2008 SPELL_CUSTOM_ERROR_OUT_OF_BLACKROCK_MUNITIONS = 214, // You have run out of Blackrock Munitions.
2009 SPELL_CUSTOM_ERROR_CARRYING_MAX_AMOUNT_OF_MUNITIONS = 215, // You are carrying the maximum amount of Blackrock Munitions.
2010 SPELL_CUSTOM_ERROR_TARGET_IS_TOO_FAR_AWAY = 216, // Target is too far away.
2011 SPELL_CUSTOM_ERROR_CANNOT_USE_DURING_BOSS_ENCOUNTER = 217, // Cannot use during a boss encounter.
2012 SPELL_CUSTOM_ERROR_MUST_HAVE_MELEE_WEAPON_IN_BOTH_HANDS = 218, // Must have a Melee Weapon equipped in both hands
2013 SPELL_CUSTOM_ERROR_YOUR_WEAPON_HAS_OVERHEATED = 219, // Your weapon has overheated.
2014 SPELL_CUSTOM_ERROR_MUST_BE_PARTY_LEADER_TO_QUEUE = 220, // You must be a party leader to queue your group.
2015 SPELL_CUSTOM_ERROR_NOT_ENOUGH_FUEL = 221, // Not enough fuel
2016 SPELL_CUSTOM_ERROR_YOU_ARE_ALREADY_DISGUISED = 222, // You are already disguised!
2017 SPELL_CUSTOM_ERROR_YOU_NEED_TO_BE_IN_SHREDDER = 223, // You need to be in a Shredder to chop this up!
2018 SPELL_CUSTOM_ERROR_FOOD_CANNOT_EAT_FOOD = 224, // Food cannot eat food
2019 SPELL_CUSTOM_ERROR_MYSTERIOUS_FORCE_PREVENTS_OPENING_CHEST = 225, // A mysterious force prevents you from opening the chest.
2020 SPELL_CUSTOM_ERROR_CANT_DO_THAT_WHILE_HOLDING_EMPOWERED_ORE = 226, // You can't do that while holding Empowered Ore.
2021 SPELL_CUSTOM_ERROR_NOT_ENOUGH_AMMUNITION = 227, // Not enough Ammunition!
2022 SPELL_CUSTOM_ERROR_YOU_NEED_BEATFACE_THE_GLADIATOR = 228, // You need Beatface the Sparring Arena gladiator to break this!
2023 SPELL_CUSTOM_ERROR_YOU_CAN_ONLY_HAVE_ONE_WAYGATE = 229, // You can only have one waygate open. Disable an activated waygate first.
2024 SPELL_CUSTOM_ERROR_YOU_CAN_ONLY_HAVE_TWO_WAYGATES = 230, // You can only have two waygates open. Disable an activated waygate first.
2025 SPELL_CUSTOM_ERROR_YOU_CAN_ONLY_HAVE_THREE_WAYGATES = 231, // You can only have three waygates open. Disable an activated waygate first.
2026 SPELL_CUSTOM_ERROR_REQUIRES_MAGE_TOWER = 232, // Requires Mage Tower
2027 SPELL_CUSTOM_ERROR_REQUIRES_SPIRIT_LODGE = 233, // Requires Spirit Lodge
2028 SPELL_CUSTOM_ERROR_FROST_WYRM_ALREADY_ACTIVE = 234, // A Frost Wyrm is already active.
2029 SPELL_CUSTOM_ERROR_NOT_ENOUGH_RUNIC_POWER = 235, // Not enough Runic Power
2030 SPELL_CUSTOM_ERROR_YOU_ARE_THE_PARTY_LEADER = 236, // You are the Party Leader.
2031 SPELL_CUSTOM_ERROR_YULON_IS_ALREADY_ACTIVE = 237, // Yu'lon is already active.
2032 SPELL_CUSTOM_ERROR_A_STAMPEDE_IS_ALREADY_ACTIVE = 238, // A Stampede is already active.
2033 SPELL_CUSTOM_ERROR_YOU_ARE_ALREADY_WELL_FED = 239, // You are already Well Fed.
2034 SPELL_CUSTOM_ERROR_CANT_DO_THAT_UNDER_SUPPRESSIVE_FIRE = 240, // You cannot do that while under Suppressive Fire.
2035 SPELL_CUSTOM_ERROR_YOU_ALREADY_HAVE_MURLOC_SLOP = 241, // You already have a piece of Murloc Slop.
2036 SPELL_CUSTOM_ERROR_YOU_DONT_HAVE_ARTIFACT_FRAGMENTS = 242, // You don't have any Artifact Fragments.
2037 SPELL_CUSTOM_ERROR_YOU_ARENT_IN_A_PARTY = 243, // You aren't in a Party.
2038 SPELL_CUSTOM_ERROR_REQUIRES_20_AMMUNITION = 244, // Requires 30 Ammunition!
2039 SPELL_CUSTOM_ERROR_REQUIRES_30_AMMUNITION = 245, // Requires 20 Ammunition!
2040 SPELL_CUSTOM_ERROR_YOU_ALREADY_HAVE_MAX_OUTCAST_FOLLOWERS = 246, // You already have the maximum amount of Outcasts following you.
2041 SPELL_CUSTOM_ERROR_NOT_IN_WORLD_PVP_ZONE = 247, // Not in World PvP zone.
2042 SPELL_CUSTOM_ERROR_ALREADY_AT_RESOURCE_CAP = 248, // Already at Resource cap
2043 SPELL_CUSTOM_ERROR_APEXIS_SENTINEL_REQUIRES_ENERGY = 249, // This Apexis Sentinel requires energy from a nearby Apexis Pylon to be powered up.
2044 SPELL_CUSTOM_ERROR_YOU_MUST_HAVE_3_OR_FEWER_PLAYER = 250, // You must have 3 or fewer players.
2045 SPELL_CUSTOM_ERROR_YOU_ALREADY_READ_TREASURE_MAP = 251, // You have already read that treasure map.
2046 SPELL_CUSTOM_ERROR_MAY_ONLY_USE_WHILE_GARRISON_UNDER_ATTACK = 252, // You may only use this item while your garrison is under attack.
2047 SPELL_CUSTOM_ERROR_REQUIRES_ACTIVE_MUSHROOMS = 253, // This spell requires active mushrooms for you to detonate.
2048 SPELL_CUSTOM_ERROR_REQUIRES_FASTER_TIME_WITH_RACER = 254, // Requires a faster time with the basic racer
2049 SPELL_CUSTOM_ERROR_REQUIRES_INFERNO_SHOT_AMMO = 255, // Requires Inferno Shot Ammo!
2050 SPELL_CUSTOM_ERROR_YOU_CANNOT_DO_THAT_RIGHT_NOW = 256, // You cannot do that right now.
2051 SPELL_CUSTOM_ERROR_A_TRAP_IS_ALREADY_PLACED_THERE = 257, // A trap is already placed there.
2052 SPELL_CUSTOM_ERROR_YOU_ARE_ALREADY_ON_THAT_QUEST = 258, // You are already on that quest.
2053 SPELL_CUSTOM_ERROR_REQUIRES_FELFORGED_CUDGEL = 259, // Requires a Felforged Cudgel!
2054 SPELL_CUSTOM_ERROR_CANT_TAKE_WHILE_BEING_DAMAGED = 260, // Can't take while being damaged!
2055 SPELL_CUSTOM_ERROR_YOU_ARE_BOUND_TO_DRAENOR = 261, // You are bound to Draenor by Archimonde's magic.
2056 SPELL_CUSTOM_ERROR_ALREAY_HAVE_MAX_NUMBER_OF_SHIPS = 262, // You already have the maximum number of ships your shipyard can support.
2057 SPELL_CUSTOM_ERROR_MUST_BE_AT_SHIPYARD = 263, // You must be at your shipyard.
2058 SPELL_CUSTOM_ERROR_REQUIRES_LEVEL_3_MAGE_TOWER = 264, // Requires a level 3 Mage Tower.
2059 SPELL_CUSTOM_ERROR_REQUIRES_LEVEL_3_SPIRIT_LODGE = 265, // Requires a level 3 Spirit Lodge.
2060 SPELL_CUSTOM_ERROR_YOU_DO_NOT_LIKE_FEL_EGGS_AND_HAM = 266, // You do not like Fel Eggs and Ham.
2061 SPELL_CUSTOM_ERROR_ALREADY_ENTERED_IN_THIS_AGREEMENT = 267, // You have already entered in to this trade agreement.
2062 SPELL_CUSTOM_ERROR_CANNOT_STEAL_THAT_WHILE_GUARDS_ARE_ON_DUTY = 268, // You cannot steal that while guards are on duty.
2063 SPELL_CUSTOM_ERROR_YOU_ALREADY_USED_VANTUS_RUNE = 269, // You have already used a Vantus Rune this week.
2064 SPELL_CUSTOM_ERROR_THAT_ITEM_CANNOT_BE_OBLITERATED = 270, // That item cannot be obliterated.
2065 SPELL_CUSTOM_ERROR_NO_SKINNABLE_CORPSE_IN_RANGE = 271, // No skinnable corpse in range
2066 SPELL_CUSTOM_ERROR_MUST_BE_MERCENARY_TO_USE_TRINKET = 272, // You must be a Mercenary to use this trinket.
2067 SPELL_CUSTOM_ERROR_YOU_MUST_BE_IN_COMBAT = 273, // You must be in combat.
2068 SPELL_CUSTOM_ERROR_NO_ENEMIES_NEAR_TARGET = 274, // No enemies near target.
2069 SPELL_CUSTOM_ERROR_REQUIRES_LEYSPINE_MISSILE = 275, // Requires a Leyspine Missile
2070 SPELL_CUSTOM_ERROR_REQUIRES_BOTH_CURRENTS_CONNECTED = 276, // Requires both currents connected.
2071 SPELL_CUSTOM_ERROR_CANT_DO_THAT_IN_DEMON_FORM = 277, // Can't do that while in demon form (yet)
2072 SPELL_CUSTOM_ERROR_YOU_DONT_KNOW_HOW_TO_TAME_MECHS = 278, // You do not know how to tame or obtain lore about Mechs.
2073 SPELL_CUSTOM_ERROR_CANNOT_CHARM_ANY_MORE_WITHERED = 279, // You cannot charm any more withered.
2074 SPELL_CUSTOM_ERROR_REQUIRES_ACTIVE_HEALING_RAIN = 280, // Requires an active Healing Rain.
2075 SPELL_CUSTOM_ERROR_ALREADY_COLLECTED_APPEARANCES = 281, // You've already collected these appearances
2076 SPELL_CUSTOM_ERROR_CANNOT_RESURRECT_SURRENDERED_TO_MADNESS = 282, // Cannot resurrect someone who has surrendered to madness
2077 SPELL_CUSTOM_ERROR_YOU_MUST_BE_IN_CAT_FORM = 283, // You must be in Cat Form.
2078 SPELL_CUSTOM_ERROR_YOU_CANNOT_RELEASE_SPIRIT_YET = 284, // You cannot Release Spirit yet.
2079 SPELL_CUSTOM_ERROR_NO_FISHING_NODES_NEARBY = 285, // No fishing nodes nearby.
2080 SPELL_CUSTOM_ERROR_YOU_ARE_NOT_IN_CORRECT_SPEC = 286, // You are not the correct specialization.
2081 SPELL_CUSTOM_ERROR_ULTHALESH_HAS_NO_POWER_WITHOUT_SOULS = 287, // Ulthalesh has no power without souls.
2082 SPELL_CUSTOM_ERROR_CANNOT_CAST_THAT_WITH_VOODOO_TOTEM = 288, // You cannot cast that while talented into Voodoo Totem.
2083 SPELL_CUSTOM_ERROR_ALREADY_COLLECTED_THIS_APPEARANCE = 289, // You've already collected this appearance.
2084 SPELL_CUSTOM_ERROR_YOUR_PET_MAXIMUM_IS_ALREADY_HIGH = 290, // Your total pet maximum is already this high.
2085 SPELL_CUSTOM_ERROR_YOU_DONT_HAVE_ENOUGH_WITHERED = 291, // You do not have enough withered to do that.
2086 SPELL_CUSTOM_ERROR_REQUIRES_NEARBY_SOUL_FRAGMENT = 292, // Requires a nearby Soul Fragment.
2087 SPELL_CUSTOM_ERROR_REQUIRES_AT_LEAST_10_WITHERED = 293, // Requires at least 10 living withered
2088 SPELL_CUSTOM_ERROR_REQUIRES_AT_LEAST_14_WITHERED = 294, // Requires at least 14 living withered
2089 SPELL_CUSTOM_ERROR_REQUIRES_AT_LEAST_18_WITHERED = 295, // Requires at least 18 living withered
2090 SPELL_CUSTOM_ERROR_REQUIRES_2_WITHERED_MANA_RAGERS = 296, // Requires 2 Withered Mana-Ragers
2091 SPELL_CUSTOM_ERROR_REQUIRES_1_WITHERED_BERSERKE = 297, // Requires 1 Withered Berserker
2092 SPELL_CUSTOM_ERROR_REQUIRES_2_WITHERED_BERSERKER = 298, // Requires 2 Withered Berserkers
2093 SPELL_CUSTOM_ERROR_TARGET_HEALTH_IS_TOO_LOW = 299, // Target's health is too low
2094 SPELL_CUSTOM_ERROR_CANNOT_SHAPESHIFT_WHILE_RIDING_STORMTALON = 300, // You cannot shapeshift while riding Stormtalon
2095 SPELL_CUSTOM_ERROR_CANNOT_CHANGE_SPEC_IN_COMBAT_TRAINING = 301, // You can not change specializations while in Combat Training.
2096 SPELL_CUSTOM_ERROR_UNKNOWN_PHENOMENON_PREVENTS_LEYLINE_CONNECTION = 302, // Unknown phenomenon is preventing a connection to the Leyline.
2097 SPELL_CUSTOM_ERROR_THE_NIGHTMARE_OBSCURES_YOUR_VISION = 303, // The Nightmare obscures your vision.
2098 SPELL_CUSTOM_ERROR_YOU_ARE_IN_WRONG_CLASS_SPEC = 304, // You are in the wrong class specialization.
2099 SPELL_CUSTOM_ERROR_THERE_ARE_NO_VALID_CORPSES_NEARBY = 305, // There are no valid corpses nearby.
2100 SPELL_CUSTOM_ERROR_CANT_CAST_THAT_RIGHT_NOW = 306, // Can't cast that right now.
2101 SPELL_CUSTOM_ERROR_NOT_ENOUGH_ANCIENT_MAN = 307, // Not enough Ancient Mana.
2102 SPELL_CUSTOM_ERROR_REQUIRES_SONG_SCROLL = 308, // Requires a Song Scroll to function.
2103 SPELL_CUSTOM_ERROR_MUST_HAVE_ARTIFACT_EQUIPPED = 309, // You must have an artifact weapon equipped.
2104 SPELL_CUSTOM_ERROR_REQUIRES_CAT_FORM = 310, // Requires Cat Form.
2105 SPELL_CUSTOM_ERROR_REQUIRES_BEAR_FORM = 311, // Requires Bear Form.
2106 SPELL_CUSTOM_ERROR_REQUIRES_CONJURED_FOOD = 312, // Requires either a Conjured Mana Pudding or Conjured Mana Fritter.
2107 SPELL_CUSTOM_ERROR_REQUIRES_ARTIFACT_WEAPON = 313, // Requires an artifact weapon.
2108 SPELL_CUSTOM_ERROR_YOU_CANT_CAST_THAT_HERE = 314, // You can't cast that here
2109 SPELL_CUSTOM_ERROR_CANT_DO_THAT_ON_CLASS_TRIAL = 315, // You cannot do that while on a Class Trial.
2110 SPELL_CUSTOM_ERROR_RITUAL_OF_DOOM_ONCE_PER_DAY = 316, // You can only benefit from the Ritual of Doom once per day.
2111 SPELL_CUSTOM_ERROR_CANNOT_RITUAL_OF_DOOM_WHILE_SUMMONING_SITERS = 317, // You cannot perform the Ritual of Doom while attempting to summon the sisters.
2112 SPELL_CUSTOM_ERROR_LEARNED_ALL_THAT_YOU_CAN_ABOUT_YOUR_ARTIFACT = 318, // You have learned all that you can about your artifact.
2113 SPELL_CUSTOM_ERROR_CANT_CALL_PET_WITH_LONE_WOLF = 319, // You cannot use Call Pet while Lone Wolf is active.
2114 SPELL_CUSTOM_ERROR_TARGET_CANNOT_ALREADY_HAVE_ORB_OF_POWER = 320, // Target cannot already have a Orb of Power.
2115 SPELL_CUSTOM_ERROR_YOU_MUST_BE_IN_AN_INN_TO_STRUM_THAT_GUITAR = 321, // You must be in an inn to strum that guitar.
2116 SPELL_CUSTOM_ERROR_YOU_CANNOT_REACH_THE_LATCH = 322, // You cannot reach the latch.
2117 SPELL_CUSTOM_ERROR_REQUIRES_A_BRIMMING_KEYSTONE = 323, // Requires a Brimming Keystone.
2118 SPELL_CUSTOM_ERROR_YOU_MUST_BE_WIELDING_THE_UNDERLIGHT_ANGLER = 324, // You must be wielding the Underlight Angler.
2119 SPELL_CUSTOM_ERROR_YOUR_TARGET_MUST_BE_SHACKLED = 325, // Your target must be Shackled.
2120 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.
2121 SPELL_CUSTOM_ERROR_YOU_CANT_RISK_GETTING_THE_GRUMMELS_WET = 327, // You can't risk getting the grummels wet!
2122 SPELL_CUSTOM_ERROR_YOU_CANNOT_CHANGE_SPECIALIZATION_RIGHT_NOW = 328, // You cannot change specializations right now.
2123 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.
2124 SPELL_CUSTOM_ERROR_YOU_DONT_HAVE_ENOUGH_NETHERSHARDS = 330, // You don't have enough Nethershards.
2125 SPELL_CUSTOM_ERROR_THE_SENTINAX_IS_NOT_PATROLLING_THIS_AREA = 331, // The Sentinax is not patrolling this area.
2126 SPELL_CUSTOM_ERROR_THE_SENTINAX_CANNOT_OPEN_ANOTHER_PORTAL_RIGHT_NOW = 332, // The Sentinax cannot open another portal right now.
2127 SPELL_CUSTOM_ERROR_YOU_CANNOT_GAIN_ADDITIONAL_REPUTATION_WITH_THIS_ITEM = 333, // You cannot gain additional reputation with this item.
2128 SPELL_CUSTOM_ERROR_CANT_DO_THAT_WHILE_GHOST_WOLF_FORM = 334, // Can't do that while in Ghost Wolf form.
2129 SPELL_CUSTOM_ERROR_YOUR_SUPPLIES_ARE_FROZEN = 335, // Your supplies are frozen.
2130 SPELL_CUSTOM_ERROR_YOU_DO_NOT_KNOW_HOW_TO_TAME_FEATHERMANES = 336, // You do not know how to tame Feathermanes.
2131 SPELL_CUSTOM_ERROR_YOU_MUST_REACH_ARTIFACT_KNOWLEDGE_LEVEL_25 = 337, // You must reach Artifact Knowledge level 25 to use the Tome.
2132 SPELL_CUSTOM_ERROR_REQUIRES_A_NETHER_PORTAL_DISRUPTOR = 338, // Requires a Nether Portal Disruptor.
2133 SPELL_CUSTOM_ERROR_YOU_ARE_NOT_THE_CORRECT_RANK_TO_USE_THIS_ITEM = 339, // You are not the correct Rank to use this item.
2134 SPELL_CUSTOM_ERROR_MUST_BE_STANDING_NEAR_INJURED_CHROMIE_IN_MOUNT_HYJAL = 340, // Must be standing near the injured Chromie in Mount Hyjal.
2135 SPELL_CUSTOM_ERROR_THERES_NOTHING_FURTHER_YOU_CAN_LEARN = 341, // There's nothing further you can learn.
2136 SPELL_CUSTOM_ERROR_REMOVE_CANNONS_HEAVY_IRON_PLATING_FIRST = 342, // You should remove the cannon's Heavy Iron Plating first.
2137 SPELL_CUSTOM_ERROR_REMOVE_CANNONS_ELECTROKINETIC_DEFENSE_GRID_FIRST = 343, // You should remove the cannon's Electrokinetic Defense Grid first.
2138 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.
2139 SPELL_CUSTOM_ERROR_THIS_ITEM_REQUIRES_BASIC_OBLITERUM_TO_UPGRADE = 345, // This item requires basic Obliterum to upgrade.
2140 SPELL_CUSTOM_ERROR_THIS_ITEM_REQUIRES_PRIMAL_OBLITERUM_TO_UPGRADE = 346, // This item requires Primal Obliterum to upgrade.
2141 SPELL_CUSTOM_ERROR_THIS_ITEM_REQUIRES_FLIGHT_MASTERS_WHISTLE = 347, // This item requires a Flight Master's Whistle.
2142 SPELL_CUSTOM_ERROR_REQUIRES_MORRISONS_MASTER_KEY = 348, // Requires Morrison's Master Key.
2143 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.
2144 SPELL_CUSTOM_ERROR_THAT_PLAYER_HAS_A_PENDING_TOTEMIC_REVIVAL = 350, // That player has a pending Totemic Revival.
2145 SPELL_CUSTOM_ERROR_YOU_HAVE_NO_FIRE_MINES_DEPLOYED = 351, // You have no Fire Mines deployed.
2146 SPELL_CUSTOM_ERROR_MUST_BE_AFFECTED_BY_SPIRIT_POWDER = 352, // You must be affected by the Spirit Powder to take the phylactery.
2147 SPELL_CUSTOM_ERROR_YOU_ARE_BLOCKED_BY_A_STRUCTURE_ABOVE_YOU = 353, // You are blocked by a structure above you.
2148 SPELL_CUSTOM_ERROR_REQUIRES_100_IMP_MEAT = 354, // Requires 100 Imp Meat.
2149 SPELL_CUSTOM_ERROR_YOU_HAVE_NOT_OBTAINED_ANY_BACKGROUND_FILTERS = 355, // You have not obtained any background filters.
2150 SPELL_CUSTOM_ERROR_NOTHING_INTERESTING_POSTED_HERE_RIGHT_NOW = 356, // There is nothing interesting posted here right now.
2151 SPELL_CUSTOM_ERROR_PARAGON_REPUTATION_REQUIRES_HIGHER_LEVEL = 357, // Paragon Reputation is not available until a higher level.
2152 SPELL_CUSTOM_ERROR_UUNA_IS_MISSING = 358, // Uuna is missing.
2153 SPELL_CUSTOM_ERROR_ONLY_OTHER_HIVEMIND_MEMBERS_MAY_JOIN = 359, // Only other members of their Hivemind may join with them.
2154 SPELL_CUSTOM_ERROR_NO_VALID_FLASK_PRESENT = 360, // No valid flask present.
2155 SPELL_CUSTOM_ERROR_NO_WILD_IMPS_TO_SACRIFICE = 361, // There are no Wild Imps to sacrifice.
2156 SPELL_CUSTOM_ERROR_YOU_ARE_CARRYING_TOO_MUCH_IRON = 362, // You are carrying too much Iron
2157 SPELL_CUSTOM_ERROR_YOU_HAVE_NO_IRON_TO_COLLECT = 363, // You have no Iron to collect
2158 SPELL_CUSTOM_ERROR_YOU_HAVE_NO_WILD_IMPS = 364, // You have no available Wild Imps.
2159 SPELL_CUSTOM_ERROR_NEEDS_REPAIRS = 365, // Needs repairs.
2160 SPELL_CUSTOM_ERROR_YOU_ARE_CARRYING_TOO_MUCH_WOOD = 366, // You're carrying too much wood.
2161 SPELL_CUSTOM_ERROR_YOU_ARE_ALREADY_CARRYING_REPAIR_PARTS = 367, // You're already carrying repair parts.
2162 SPELL_CUSTOM_ERROR_YOU_HAVE_NOT_UNLOCKED_FLIGHT_WHISTLE_FOR_ZONE = 368, // You have not unlocked the Flight Whistle for this zone.
2163 SPELL_CUSTOM_ERROR_THERE_ARE_NO_UNLOCKED_FLIGHT_POINTS_NEARBY = 369, // There are no unlocked flight points nearby to take you to.
2164 SPELL_CUSTOM_ERROR_YOU_MUST_HAVE_A_FELGUARD = 370, // You must have a Felguard.
2165 SPELL_CUSTOM_ERROR_TARGET_HAS_NO_FESTERING_WOUNDS = 371, // The target has no Festering Wounds.
2166 SPELL_CUSTOM_ERROR_YOU_DONT_HAVE_DEADLY_OR_WOUND_POISON_ACTIVE = 372, // You do not have Deadly Poison or Wound Poison active.
2167 SPELL_CUSTOM_ERROR_CANNOT_READ_SOLDIER_DOG_TAG_WITHOUT_HEADLAMP_ON = 373, // You cannot read the soldier's dog tag without your headlamp on.
2168 SPELL_CUSTOM_ERROR_YOU_HAVE_NO_WOOD_TO_COLLECT = 374, // You have no Wood to collect.
2169 SPELL_CUSTOM_ERROR_YOU_ARE_NOT_WEARING_A_SHIRT = 375, // You are not wearing a shirt!
2170 SPELL_CUSTOM_ERROR_TARGET_MUST_BE_DEAD = 376, // Target must be dead.
2171 SPELL_CUSTOM_ERROR_YOUR_TARGET_IS_ALREADY_EMBIGGIFIED = 377, // Your target is already embiggified.
2172 SPELL_CUSTOM_ERROR_YOU_MUST_TARGET_A_SINISTER_GLADIATOR_ITEM = 378, // You must target a Sinister Gladiator's item to upgrade.
2173 SPELL_CUSTOM_ERROR_THIS_ITEM_LEVEL_IS_TOO_HIGH_FOR_THIS_UPGRADE = 379, // This item's level is too high for this upgrade.
2174 SPELL_CUSTOM_ERROR_THE_BALLISTA_CANNOT_BE_USED_WHILE_ON_FIRE = 380, // The ballista cannot be used while on fire.
2175 SPELL_CUSTOM_ERROR_YOU_MUST_TARGET_A_DREAD_GLADIATOR_ITEM = 381, // You must target a Dread Gladiator's item to upgrade.
2176 SPELL_CUSTOM_ERROR_YOU_DO_KNOT_KNOW_HOW_TO_TAME_BLOOD_BEASTS = 382, // You do not know how to tame Blood Beasts.
2177 SPELL_CUSTOM_ERROR_CAN_ONLY_BE_USED_IN_THE_EVENING = 385, // Can only be used in the evening.
2178 SPELL_CUSTOM_ERROR_REQUIRES_PAKU_TO_BE_YOUR_CHOSEN_LOA = 386, // Requires Pa'ku to be your chosen loa.
2179 SPELL_CUSTOM_ERROR_REQUIRES_VIGOR_ENGAGED = 387, // Requires V.I.G.O.R. Engaged.
2180 SPELL_CUSTOM_ERROR_YOUR_TARGET_IS_NOT_HUNGRY = 388, // Your target is not hungry.
2181 SPELL_CUSTOM_ERROR_YOU_CAN_ONLY_HAVE_ON_TREASURE_MAP_MISSION = 389, // You can only have one treasure map mission at a time.
2182 SPELL_CUSTOM_ERROR_YOU_ALREADY_HAVE_A_SILAS_SPHERE_OF_TRANSMUTATION = 390, // You already have a Silas' Sphere of Transmuation.
2183 SPELL_CUSTOM_ERROR_YOU_DO_NOT_HAVE_THE_MALLET_OF_THUNDEROUS_SKINS = 391, // You do not have the Mallet of Thunderous Skins.
2184 SPELL_CUSTOM_ERROR_YOU_MUST_HAVE_AN_OPEN_STABLE_SLOT = 393, // You must have an open stable slot.
2185 SPELL_CUSTOM_ERROR_DOES_NOT_WORK_ON_CRITTERS = 394, // Does not work on critters.
2186 SPELL_CUSTOM_ERROR_CAN_ONLY_BE_USED_ON_HATI = 395, // Can only be used on Hati.
2187 SPELL_CUSTOM_ERROR_YOU_ALREADY_HAVE_IWENS_ENCHANTING_ROD = 396, // You already have an Iwen's Enchanting Rod.
2188 SPELL_CUSTOM_ERROR_YOU_ALREADY_HAVE_MALLET_OF_THUNDEROUS_SKINS = 397, // You already have a Mallet of Thunderous Skins.
2189 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.
2190 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.
2191 SPELL_CUSTOM_ERROR_REQUIRES_EMERALD_EMPOWERMENT = 400, // Requires Emerald Empowerment.
2192 SPELL_CUSTOM_ERROR_YOU_MUST_BE_AN_HONORED_TAUREN = 401, // You must be an honored tauren.
2193 SPELL_CUSTOM_ERROR_REQUIRES_CHITTERSPINE_MEAT = 402, // Requires Chitterspine Meat.
2194 SPELL_CUSTOM_ERROR_REQUIRES_HEART_FORGE = 403, // Requires Heart Forge.
2195 SPELL_CUSTOM_ERROR_NOT_AUTHORIZED_TO_ACCESS_CHARGING_STATION = 405, // You are not authorized to access this Charging Station. Speak to Flux.
2196 SPELL_CUSTOM_ERROR_REQUIRES_MARDIVAS_ARCANE_COFFER = 406, // Requires Mardivas's Arcane Coffer
2197 SPELL_CUSTOM_ERROR_REQUIRES_HEART_OF_AZEROTH_ATOP_HEART_FORGE = 407, // Requires Heart of Azeroth placed atop Heart Forge.
2198 SPELL_CUSTOM_ERROR_REQUIRES_BRINESTONE_PICKAXE = 408, // Requires a Brinestone Pickaxe.
2199 SPELL_CUSTOM_ERROR_YOU_ALREADY_COLLECTED_DATA_ON_THIS_TARGET = 409, // You have already collected data on this target.
2200 SPELL_CUSTOM_ERROR_YOU_ALREADY_HAVE_THIS_ESSENCE_FOR_CURRENT_SPEC = 410, // You already have this Essence for your current loot specialization
2201 SPELL_CUSTOM_ERROR_YOU_CANNOT_SUMMON_ANOTHER_PET_WHILE_RIDING_HATI = 411, // You cannot summon another pet while riding Hati.
2202 SPELL_CUSTOM_ERROR_YOU_HAVE_ALREADY_COLLECTED_THIS_AZEROTH_MINI = 422, // You have already collected this Azeroth Mini
2203 SPELL_CUSTOM_ERROR_YOUR_TARGET_IS_ALREADY_AFFECTED_BY_TEA_TIME = 412, // Your target is already affected by Tea Time!
2204 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
2205 SPELL_CUSTOM_ERROR_THIS_TARGET_DOES_NOT_HAVE_YOUR_RAZOR_CORAL = 414, // This target does not have your Razor Coral.
2206 SPELL_CUSTOM_ERROR_YOU_DO_NOT_HAVE_ENOUGH_OF_THAT_ITEM = 415, // You do not have enough of that item.
2207 SPELL_CUSTOM_ERROR_YOUR_TARGET_IS_NOT_WEARING_UNBOUND_CURSED_LOVERS_RING = 417, // Your target is not wearing an unbound Cursed Lover's Ring
2208 SPELL_CUSTOM_ERROR_YOUR_CURSED_LOVERS_RING_IS_ALREDY_BOUND = 418, // Your Cursed Lover's Ring is already bound
2209 SPELL_CUSTOM_ERROR_YOU_MUST_TARGET_A_NOTORIUS_GLADIATOR_ITEM = 421, // You must target a Notorious Gladiator's item to upgrade.
2210 SPELL_CUSTOM_ERROR_YOU_CANT_CARRY_MORE_PICKAXES_CHUM_SEEDS = 423, // You can't carry any more Brinestone Pickaxes, Chum, or Germinating Seeds.
2211 SPELL_CUSTOM_ERROR_REQUIRES_HOLIDAY_FEAST_OF_WINTER_WEIL = 424, // Requires holiday: Feast of Winter Veil
2212 SPELL_CUSTOM_ERROR_REQUIRES_ASHJRAKAMAS_SHROUD_OF_RESOLVE = 425, // Requires Ashjra'kamas, Shroud of Resolve.
2213 SPELL_CUSTOM_ERROR_REQUIRES_WAR_MODE = 426, // Requires War Mode.
2214 SPELL_CUSTOM_ERROR_ONLY_ONE_OF_THIS_MASK_MAY_BE_WORN = 427, // Only one of this mask may be worn.
2215 SPELL_CUSTOM_ERROR_YOU_CANNOT_ASCEND_WHILE_THE_TARRAGRUE_IS_NEARBY = 428, // You cannot ascend while the Tarragrue is nearby.
2216 SPELL_CUSTOM_ERROR_TARGET_DOES_NOT_HAVE_A_VALID_AZERITE_ESSENCE = 429, // Target does not have a valid Azerite Essence.
2217 SPELL_CUSTOM_ERROR_YOUR_MIND_IS_STILL_RECOVERING_FROM_RECENT_VISION = 430, // Your mind is still recovering from a recent vision.
2218 SPELL_CUSTOM_ERROR_REQUIRES_VESSEL_OF_HORRIFIC_VISIONS = 431, // Requires Vessel of Horrific Visions.
2219 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.
2220 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.
2221 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.
2222 SPELL_CUSTOM_ERROR_REQUIRES_DARKMOON_GAME_TOKEN = 436, // Requires Darkmoon Game Token.
2223 SPELL_CUSTOM_ERROR_YOU_ARE_NOT_THE_RIGHT_PROFESSION = 437, // You are not the right profession.
2224 SPELL_CUSTOM_ERROR_YOU_ALREADY_KNOW_HOW_TO_CRAFT_A_VOID_FOCUS = 438, // You already know how to craft a Void Focus.
2225 SPELL_CUSTOM_ERROR_YOU_ALREADY_KNOW_THE_RECIPES_IN_THIS_BOOK = 439, // You already know the recipes in this book.
2226 SPELL_CUSTOM_ERROR_YOU_MUST_TARGET_A_CORRUPTED_GLADIATORS_ITEM = 440, // You must target a Corrupted Gladiator's item to upgrade.
2227 SPELL_CUSTOM_ERROR_REQUIRES_THE_FIX_IT_STICK = 441, // Requires the Fix-It-Stick.
2228 SPELL_CUSTOM_ERROR_THAT_ITEM_CANNOT_RECEIVE_ADDITIONAL_SOCKETS = 442, // That item cannot receive additional sockets.
2229 SPELL_CUSTOM_ERROR_YOU_ALREADY_HAVE_A_CONTRACTED_VETERAN_TROOP = 443, // You already have a contracted veteran troop.
2230 SPELL_CUSTOM_ERROR_YOU_ARE_CURRENTLY_AT_YOUR_TROOP_CAPACITY = 444, // You are currently at your troop capacity.
2231 SPELL_CUSTOM_ERROR_YOU_DONT_HAVE_ENOUGH_ANIMA = 445, // You don't have enough Anima
2232 SPELL_CUSTOM_ERROR_TARGET_ALREADY_HOLDING_VOID_TOUCHED_SKULL = 446, // That player is already holding a void-touched skull.
2233 SPELL_CUSTOM_ERROR_TARGETS_INVENTORY_IS_FULL = 447, // Target's inventory is full.
2234 SPELL_CUSTOM_ERROR_TARGETS_MIND_IS_PROTECTED_BY_NEURAL_SILENCER = 448, // Your target's mind is protected by a neural silencer.
2235 SPELL_CUSTOM_ERROR_ALL_TARGETS_MINDS_ARE_PROTECTED_BY_NEURAL_SILENCERS = 449, // All of your targets' minds are protected by neural silencers.
2236 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.
2237 SPELL_CUSTOM_ERROR_YOU_CANNOT_USE_THIS_ITEM_IN_WAR_MODE = 451, // You cannot use this item in War Mode.
2238 SPELL_CUSTOM_ERROR_YOU_CANNOT_MAKE_YOUR_CAMP_HERE = 452, // You cannot make your camp here.
2239 SPELL_CUSTOM_ERROR_REQUIRES_TITANIC_BEACON = 453, // Requires Titanic Beacon
2240 SPELL_CUSTOM_ERROR_THAT_OBJECT_IS_LOCKED = 454, // That Object is Locked.
2241 SPELL_CUSTOM_ERROR_INVALID_COMBINATION = 455, // Invalid Combination.
2242 SPELL_CUSTOM_ERROR_NO_NEARBY_ENEMY_PLAYERS_ARE_CORRUPTED = 456, // No nearby enemy players are corrupted.
2243 SPELL_CUSTOM_ERROR_THAT_SPELL_IS_ALREADY_ACTIVE = 457, // That spell is already active
2244 SPELL_CUSTOM_ERROR_YOU_CANNOT_USE_THIS_WHEN_THE_TARRAGRUE_HAS_BEEN_ALERTED = 458, // You cannot use this when the Tarragrue has been alerted.
2245 SPELL_CUSTOM_ERROR_THAT_GUEST_ALREADY_HAS_TEA = 459, // That guest already has tea.
2246 SPELL_CUSTOM_ERROR_REQUIRES_SHADOWLANDS_SKINNING = 460, // Requires Shadowlands Skinning.
2247 SPELL_CUSTOM_ERROR_REQUIRES_HUNTERS_MARK_ON_A_TARGET = 461, // Requires Hunter's Mark on a target.
2248 SPELL_CUSTOM_ERROR_HOUNDMASTER_LOKSEY_IS_BUSY = 462, // Houndmaster Loksey is busy.
2249 SPELL_CUSTOM_ERROR_REQUIRES_COIL_OF_ROPE = 463, // Requires Coil of Rope.
2250 SPELL_CUSTOM_ERROR_MUST_BE_IN_A_REST_AREA = 464, // Must be in a rest area.
2251 SPELL_CUSTOM_ERROR_TARGET_IS_LINKED_TO_SOMEBODY_ELSE = 465, // Target is linked to somebody else.
2252 SPELL_CUSTOM_ERROR_YOU_DONT_HAVE_A_SUMMONED_GHOUL = 466, // You don't have a summoned Ghoul.
2253 SPELL_CUSTOM_ERROR_ONE_OF_YOUR_PARTY_MEMBERS_IS_AN_INELIGIBLE_CLASS = 467, // One of your party members is an ineligible class.
2254 SPELL_CUSTOM_ERROR_YOU_MUST_SELECT_A_SOULBIND_BOSS_AND_TIER_FIRST = 468, // You must select a soulbind, boss, and tier first.
2255 SPELL_CUSTOM_ERROR_THAT_GUEST_DOESNT_WANT_THIS = 469, // That guest doesn't want this.
2256 SPELL_CUSTOM_ERROR_YOU_MUST_DEFEAT_THE_EMPOWERED_GUARD_TO_ASCEND = 470, // You must defeat the Empowered guard to ascend.
2257 SPELL_CUSTOM_ERROR_REQUIRES_SOULSTEEL_FORGE = 471, // Requires Soulsteel Forge.
2258 SPELL_CUSTOM_ERROR_REQUIRES_PROOF_OF_PURITY = 472, // Requires Proof of Purity
2259 SPELL_CUSTOM_ERROR_REQUIRES_PROOF_OF_HUMILITY = 473, // Requires Proof of Humility
2260 SPELL_CUSTOM_ERROR_REQUIRES_PROOF_OF_COURAGE = 474, // Requires Proof of Courage
2261 SPELL_CUSTOM_ERROR_REQUIRES_PROOF_OF_WISDOM = 475, // Requires Proof of Wisdom
2262 SPELL_CUSTOM_ERROR_REQUIRES_PROOF_OF_LOYALTY = 476, // Requires Proof of Loyalty
2263 SPELL_CUSTOM_ERROR_REQUIRES_ARCANE_SPECILIZATION = 477, // Requires Arcane Specilization.
2264 SPELL_CUSTOM_ERROR_PLEASE_GATHER_YOUR_PARTY_BEFORE_QUEUING = 478, // Please gather your party before queuing.
2265 SPELL_CUSTOM_ERROR_YOU_DO_NOT_KNOW_HOW_TO_TAME_GARGON = 479, // You do not know how to tame Gargon.
2266 SPELL_CUSTOM_ERROR_REQUIRES_DEAD_SPRIGGAN = 480, // Requires Dead Spriggan
2267 SPELL_CUSTOM_ERROR_YOU_ALREADY_USED_A_PROFESSION_JOURNAL_THIS_WEEK = 481, // You have already used a Profession Journal this week.
2268 SPELL_CUSTOM_ERROR_REQUIRES_MORDRETHAR_THE_DEATH_GATE = 482, // Requires Mord'rethar: The Death Gate.
2269 SPELL_CUSTOM_ERROR_REQUIRES_PLAGUEFALLEN = 483, // Requires Plaguefallen
2270 SPELL_CUSTOM_ERROR_YOU_CANNOT_FIT_THROUGH_THERE = 484, // You cannot fit through there.
2271 SPELL_CUSTOM_ERROR_A_BINDING_RITUAL_PREVENTS_THIS_FROM_OPENING = 485, // A binding ritual prevents this from opening.
2272 SPELL_CUSTOM_ERROR_THAT_CHARM_IS_ALREADY_APPLIED = 486, // That charm is already applied.
2273 SPELL_CUSTOM_ERROR_THAT_SIGIL_IS_ALREADY_APPLIED = 487, // That sigil is already applied.
2274 SPELL_CUSTOM_ERROR_AT_LEAST_ONE_GUEST_MUST_RSVP_BEFORE_YOU_OPEN_COURT = 488, // At least one guest must RSVP before you open court.
2275 SPELL_CUSTOM_ERROR_THERE_IS_NO_TIME_LIMIT_TO_INCREASE = 489, // There is no time limit to increase.
2276 SPELL_CUSTOM_ERROR_YOUR_HEART_OF_AZEROTH_IS_CURRENTLY_DISABLED = 490, // Your Heart of Azeroth is currently disabled.
2277 SPELL_CUSTOM_ERROR_ESSENCE_YOU_ARE_TRYING_TO_ACTIVATE_IS_INVALID = 491, // The Essence you are trying to activate is invalid.
2278 SPELL_CUSTOM_ERROR_REQUIRES_MEDALLION_OF_SERVICE = 492, // Requires Medallion of Service
2279 SPELL_CUSTOM_ERROR_ALL_PLAYERS_MUST_HAVE_QUEST_TORGHAST_TOWER_OF_THE_DAMNED = 493, // All players must have quest - Torghast: Tower of the Damned.
2280 SPELL_CUSTOM_ERROR_REQUIRES_SHADOWLANDS_ENGINEERING = 494, // Requires Shadowlands Engineering
2281 SPELL_CUSTOM_ERROR_YOU_ARE_NOT_IN_DEEP_ENOUGH_WATER = 495, // You are not in deep enough water.
2282 SPELL_CUSTOM_ERROR_REQUIRES_FRESH_WATERS_OF_ARDENWEALD_OR_BASTION = 496, // Requires the fresh waters of Ardenweald or Bastion
2283 SPELL_CUSTOM_ERROR_REQUIRES_30_INFUSED_RUBIES = 497, // Requires 30 Infused Rubies
2284 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.
2285 SPELL_CUSTOM_ERROR_YOU_DO_NOT_KNOW_HOW_TO_TAME_CLOUD_SERPENTS = 499, // You do not know how to tame Cloud Serpents.
2286 SPELL_CUSTOM_ERROR_YOU_DO_NOT_KNOW_HOW_TO_TAME_UNDEAD_CREATURES = 500, // You do not know how to tame Undead creatures.
2287 SPELL_CUSTOM_ERROR_REQUIRES_THE_FORGE_OF_BONDS = 501, // Requires the Forge of Bonds
2288 SPELL_CUSTOM_ERROR_REQUIRES_GATAMATOS = 502, // Requires Gatamatos
2289 SPELL_CUSTOM_ERROR_MUST_BE_CHANNELLING_MIND_SEAR = 503, // Must be channelling Mind Sear.
2290 SPELL_CUSTOM_ERROR_YOU_DONT_HAVE_ANY_PERIODIC_EFFECTS_ACTIVE = 504, // You don't have any periodic effects active.
2291 SPELL_CUSTOM_ERROR_YOU_ARE_NOT_BEST_FRIENDS_WITH_ANY_EMBER_COURT_GUESTS = 505, // You are not Best Friends with any Ember Court guests.
2292 SPELL_CUSTOM_ERROR_YOU_MUST_OBTAIN_VENOMOUS_SOLVENTS = 506, // You must obtain Venomous Solvents.
2293 SPELL_CUSTOM_ERROR_YOU_MUST_OBTAIN_DREAD_POLLEN = 507, // You must obtain Dread Pollen.
2294 SPELL_CUSTOM_ERROR_A_PARTY_MEMBER_DOES_NOT_HAVE_THAT_LAYER_UNLOCKED = 508, // A party member does not have that layer unlocked
2295 SPELL_CUSTOM_ERROR_INVENTORY_IS_FULL = 509, // Inventory is full.
2296 SPELL_CUSTOM_ERROR_YOU_HAVE_NO_ANIMA_TO_DEPOSIT = 510, // You have no Anima to deposit
2297 SPELL_CUSTOM_ERROR_YOUR_MOUNT_IGNORES_YOUR_CALL_WITHIN_THE_MAW = 511, // Your mount ignores your call within The Maw.
2298 SPELL_CUSTOM_ERROR_YOUR_BUTLER_IS_ALREADY_PRESENT_SOMEWHERE_IN_THE_EMBER_COURT = 512, // Your butler is already present somewhere in the Ember Court.
2299 SPELL_CUSTOM_ERROR_YOU_HAVE_ALREADY_BUILT_THIS_CONSTRUCT = 513, // You have already built this construct
2300 SPELL_CUSTOM_ERROR_REQUIRES_INNER_ALTAR_OF_DOMINATION = 514, // Requires Inner Altar of Domination
2301 SPELL_CUSTOM_ERROR_PARTY_MEMBER_DOES_NOT_MEET_REQUIREMENTS_TO_QUEUE = 515, // A party member does not meet the requirements to queue
2302 SPELL_CUSTOM_ERROR_NO_CONSTRUCT_CURRENTLY_ACTIVE = 516, // No construct currently active
2303 SPELL_CUSTOM_ERROR_COMPLETE_THE_QUEST_LINE_WELCOME_TO_ZANDALAR = 517, // Complete the quest line "Welcome to Zandalar" to use this spell.
2304 SPELL_CUSTOM_ERROR_COMPLETE_THE_QUEST_LINE_A_NATION_DIVIDED = 518, // Complete the quest line "A Nation Divided" to use this spell.
2305 SPELL_CUSTOM_ERROR_CANNOT_BE_USED_ON_COMMON_QUALITY_ITEMS = 519, // Cannot be used on Common quality items.
2306 SPELL_CUSTOM_ERROR_YOU_MUST_BE_PLEDGED_TO_THE_VENTHYR = 520, // You must be pledged to the Venthyr.
2307 SPELL_CUSTOM_ERROR_YOU_MUST_BE_PLEDGED_TO_THE_NIGHT_FAE = 521, // You must be pledged to the Night Fae.
2308 SPELL_CUSTOM_ERROR_YOU_MUST_BE_PLEDGED_TO_THE_KYRIAN = 522, // You must be pledged to the Kyrian.
2309 SPELL_CUSTOM_ERROR_YOU_MUST_BE_PLEDGED_TO_THE_NECROLORDS = 523, // You must be pledged to the Necrolords.
2310 SPELL_CUSTOM_ERROR_YOU_MUST_BE_IN_THE_SHADOWLANDS = 524, // You must be in the Shadowlands.
2311 SPELL_CUSTOM_ERROR_REQUIRES_SANCTUM_RESERVOIR = 525, // Requires Sanctum Reservoir.
2312 SPELL_CUSTOM_ERROR_THIS_WILDSEED_OF_REGROWTH_IS_STILL_INCUBATING = 526, // This Wildseed of Regrowth is still incubating.
2313 SPELL_CUSTOM_ERROR_THIS_WILDSEED_OF_REGROWTH_IS_STILL_GROWING = 527, // This Wildseed of Regrowth is still growing.
2314 SPELL_CUSTOM_ERROR_YOU_MUST_BE_PARTY_LEADER_TO_START_THIS_ESCORT = 528, // You must be the party leader to start this escort.
2315 SPELL_CUSTOM_ERROR_YOU_HAVE_FULLY_UPGRADED_ALL_OF_YOUR_CONDUITS = 529, // You have fully upgraded all of your Conduits.
2316 SPELL_CUSTOM_ERROR_YOU_HAVE_ALREADY_ADDED_THAT_CONDUIT = 530, // You have already added that Conduit to the Forge of Bonds.
2317 SPELL_CUSTOM_ERROR_TARGET_MUST_BE_WEAKENED = 531, // Target must be weakened.
2318 SPELL_CUSTOM_ERROR_YOU_CANNOT_ADD_THAT_CONDUIT_TO_FORGE_OF_BONDS = 532, // You cannot add that Conduit to the Forge of Bonds.
2319 SPELL_CUSTOM_ERROR_YOU_CANNOT_SOULSHAPE_DURING_LICHBORNE = 533, // You cannot Soulshape during Lichborne.
2320 SPELL_CUSTOM_ERROR_YOU_CANT_DO_THAT_WHILE_CARRYING_AN_ANIMACONE = 534, // You can't do that while carrying an Animacone.
2321 SPELL_CUSTOM_ERROR_NECESSARY_CONSTRUCT_NOT_PRESENT = 535, // Necessary construct not present.
2322 SPELL_CUSTOM_ERROR_THAT_GUEST_IS_ALREADY_COVERED_IN_GELATIN = 536, // That guest is already covered in gelatin.
2323 SPELL_CUSTOM_ERROR_YOU_NEED_TO_WAIT_TO_USE_THIS_ITEM = 537, // You need to wait to use this item.
2324 SPELL_CUSTOM_ERROR_THAT_ALLY_ALREADY_HAS_TEA = 538, // That ally already has tea.
2325 SPELL_CUSTOM_ERROR_TARGET_DOES_NOT_NEED_TEA = 539, // The target does not need tea.
2326 SPELL_CUSTOM_ERROR_THEY_DONT_DESERVE_YOUR_FANCY_TEA = 540, // They don't deserve your fancy tea!
2327 SPELL_CUSTOM_ERROR_YOUR_GORM_PREFERS_TO_EAT_DEAD_THINGS = 541, // Your gorm prefers to eat dead things.
2328 SPELL_CUSTOM_ERROR_YOUR_GORM_HAS_ALREADY_EATEN_THAT_CORPSE = 542, // Your gorm has already eaten that corpse.
2329 SPELL_CUSTOM_ERROR_YOU_NEED_A_GORMLING_FROM_NIYA_TO_DO_THAT = 543, // You need a gormling from Niya to do that.
2330 SPELL_CUSTOM_ERROR_TARGET_IS_ALREADY_SHRUNKEN = 544, // Target is already shrunken.
2331 SPELL_CUSTOM_ERROR_TARGET_IS_ALREADY_ENLARGED = 545, // Target is already enlarged.
2332 SPELL_CUSTOM_ERROR_LADY_MOONBERRYS_WAND_IS_FOR_ENEMIES_AND_MAWRATS = 546, // Lady Moonberry's wand is meant for enemies and mawrats.
2333 SPELL_CUSTOM_ERROR_LADY_MOONBERRYS_WAND_IS_FOR_ENEMIES = 547, // Lady Moonberry's wand is meant for enemies.
2334 SPELL_CUSTOM_ERROR_TARGET_IS_ALREADY_TRANSFORMED_INTO_A_SNAIL = 548, // Target is already transformed into a snail.
2335 SPELL_CUSTOM_ERROR_YOUR_TARGET_MUST_BE_BELOW_50_PCT_HEALTH = 549, // Your target must be below 50% health.
2336 SPELL_CUSTOM_ERROR_LADY_MOONBERRYS_WAND_IS_DRAINED_OF_POWER = 550, // Lady Moonberry's wand is drained of power.
2337 SPELL_CUSTOM_ERROR_THIS_BOOK_HOLDS_NO_RECIPES_FOR_YOUR_PROFESSION = 551, // This book holds no recipes for your profession.
2338 SPELL_CUSTOM_ERROR_YOU_HAVE_NO_KORTHIAN_RELICS_IN_YOUR_INVENTORY = 552, // You have no Korthian Relics in your Inventory.
2339 SPELL_CUSTOM_ERROR_YOU_MUST_BE_IN_THE_RIFT_TO_INTERACT_WITH_THIS = 553, // You must be in the Rift to interact with this.
2340 SPELL_CUSTOM_ERROR_CANNOT_SUMMON_WHILE_IN_THE_RIFT = 554, // Cannot summon while in the Rift.
2341 SPELL_CUSTOM_ERROR_YOU_NEED_AN_ACTIVE_ELEMENTAL_SHIELD = 600, // You need an active Elemental Shield.
2342 SPELL_CUSTOM_ERROR_SPEAK_TO_ARCHIVIST_TO_TURN_IN_RELIC_FRAGMENTS = 601, // Speak to the Archivist to turn in relic fragments.
2343 SPELL_CUSTOM_ERROR_REQUIRES_RESEARCH_REPORTS_ANCIENT_SHRINES = 602, // Requires knowledge from Research Reports: Ancient Shrines
2344 SPELL_CUSTOM_ERROR_YOUR_STEWARD_IS_NOT_PRESENT = 603, // Your steward companion is not present.
2345 SPELL_CUSTOM_ERROR_YOUR_STEWARD_HAS_ALREADY_BEEN_TRANSFORMED = 604, // Your steward companion has already been transformed.
2346 SPELL_CUSTOM_ERROR_REQUIRES_KORTHIAN_RELICS = 605, // Requires Korthian Relics
2347 SPELL_CUSTOM_ERROR_REQUIRES_FULL_EMPOWERED_BAR = 606, // Requires Full Empowered Bar
2348 SPELL_CUSTOM_ERROR_REQUIRES_YOU_TO_BE_RIDING_A_YAK = 607, // Requires you to be riding a yak.
2349 SPELL_CUSTOM_ERROR_JAITHYS_IS_NOT_A_CANNIBAL = 609, // Jaithys is many things, but Jaithys is not a cannibal.
2350 SPELL_CUSTOM_ERROR_THAT_ITEM_IS_PUNY_UNWORTHY_FIND_ANOTHER = 610, // That item is puny. Unworthy. Find another.
2351 SPELL_CUSTOM_ERROR_JAITHYS_HUNGERS_ONLY_FOR_WEAPONS = 611, // Jaithys hungers only for weapons. Only weapons will do.
2352 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.
2353 SPELL_CUSTOM_ERROR_SHARDS_OF_DOMINATION_CAN_BE_REMOVED_BY_SOULFIRE_CHISEL = 615, // Shards of Domination can only be removed by the Soulfire Chisel.
2354 SPELL_CUSTOM_ERROR_YOU_HAVE_LEARNED_EVERYTHING_FROM_THAT_MAP = 616, // You have learned everything from that map.
2355 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.
2356 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.
2357 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.
2358 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.
2359 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.
2360 SPELL_CUSTOM_ERROR_YOU_ALREADY_HAVE_THAT_MUCH_RENOWN_WITH_YOUR_ACTIVE_COVENANT = 627, // You already have that much Renown with your active Covenant.
2361 SPELL_CUSTOM_ERROR_CANNOT_EXCEED_THE_MAXIMUM_FOR_THAT_CURRENCY = 628, // Cannot exceed the maximum for that currency.
2362 SPELL_CUSTOM_ERROR_REQUIRES_ADDITIONAL_COSMIC_ENERGY = 629, // Requires additional Cosmic Energy.
2363 SPELL_CUSTOM_ERROR_REQUIRES_ARCHITECT = 630, // Requires Architect.
2364 SPELL_CUSTOM_ERROR_YOU_MUST_BE_SITTING_TO_DO_THAT = 631, // You must be sitting to do that.
2365 SPELL_CUSTOM_ERROR_REQUIRES_POLLEN_CLOUD = 632, // Requires Pollen Cloud.
2366 SPELL_CUSTOM_ERROR_REQUIRES_5_LOST_OVOIDS = 633, // Requires 5 Lost Ovoids.
2367 SPELL_CUSTOM_ERROR_YOU_HAVE_TOO_MANY_TEMPORARY_ENHANCEMENTS = 634, // You have too many temporary enhancements.
2368 SPELL_CUSTOM_ERROR_YOU_HAVE_OTHER_WAYS_TO_SUMMON_POCOPOC = 635, // You have other ways to summon Pocopoc while in Zereth Mortis.
2369 SPELL_CUSTOM_ERROR_REQUIRES_MORE_SYLLABIC_RECALL = 636, // Requires more Syllabic Recall.
2370 SPELL_CUSTOM_ERROR_THIS_BATTLE_PET_CANNOT_RIDE_ON_MAGIC_SAUCER = 637, // This battle pet is unable to ride on the Magic Saucer.
2371 SPELL_CUSTOM_ERROR_YOU_CAN_ONLY_DO_THIS_WHILE_MIDAIR = 638, // You can only do this while midair.
2372 SPELL_CUSTOM_ERROR_YOU_CANNOT_DO_THAT_WHILE_AIRBORNE = 639, // You cannot do that while airborne.
2373 SPELL_CUSTOM_ERROR_POCOPOC_IS_UNAVAILABLE_ON_QUESTLINE = 640, // Pocopoc is unavailable to summon during the questline A Means to an End.
2374 SPELL_CUSTOM_ERROR_CANNOT_CAST_THAT_WITH_AURA_OF_RECKONING_TALENT = 650, // You cannot cast that while Aura of Reckoning is talented.
2375 SPELL_CUSTOM_ERROR_REQUIRES_SULFURON_SLAMMER = 711, // Requires Sulfuron Slammer
2376 SPELL_CUSTOM_ERROR_NOT_READY_YET = 788, // Not ready yet.
2377 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.
2378 SPELL_CUSTOM_ERROR_YOU_HAVE_NOT_LEARNED_BARREL_ROLL = 790, // You have not learned Barrel Roll.
2379 SPELL_CUSTOM_ERROR_TARGET_MUST_BE_AN_ELITE_ELEMENTAL = 791, // Target must be an Elite Elemental.
2380 SPELL_CUSTOM_ERROR_SKILL_CHECK_ALREADY_FAILED = 792, // Skill check already failed.
2381 SPELL_CUSTOM_ERROR_YOUR_TARGET_WAS_RECENTLY_FED = 793, // Your target was recently fed.
2382 SPELL_CUSTOM_ERROR_CANNOT_LURE_ELUSIVE_CREATURE_TOWARDS_TOWN = 794, // You cannot lure an elusive creature towards a town.
2383 SPELL_CUSTOM_ERROR_NO_WORTHWHILE_CREATURES_IN_AREA_TO_LURE_OUT = 795, // There are no worthwhile creatures in this area to lure out.
2384 SPELL_CUSTOM_ERROR_CANNOT_LURE_WILD_BEAST = 796, // This is a daycare for whelps. Why would you try to lure a wild beast here...?
2385 SPELL_CUSTOM_ERROR_YOU_HAVE_NO_ARCANE_ESSENCES_IN_YOUR_INVENTORY = 797, // You have no Arcane Essences in your inventory.
2386 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.
2387 SPELL_CUSTOM_ERROR_CANT_BE_CAST_ON_NON_PLAYER_CHARACTERS = 799, // Can't be cast on Non Player Characters.
2388 SPELL_CUSTOM_ERROR_A_SIGNAL_FLARE_WAS_RECENTLY_FIRED_AT_THIS_LOCATION = 800, // A signal flare was recently fired at this location.
2389 SPELL_CUSTOM_ERROR_THIS_TINKER_IS_TOO_COMPLICATED_FOR_YOU = 801, // This tinker is too complicated for you.
2390 SPELL_CUSTOM_ERROR_THE_DUCK_REFUSES_TO_PLAY_WHILE_ANOTHER_MAESTRO_IS_NEARBY = 802, // The duck refuses to play while another maestro is nearby.
2391 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.
2392 SPELL_CUSTOM_ERROR_YOU_DONT_HAVE_ENOUGH_GOLD = 804, // You don't have enough gold.
2393 SPELL_CUSTOM_ERROR_YOU_DO_NOT_KNOW_HOW_TO_TAME_OTTUK = 805, // You do not know how to tame Ottuk.
2394 SPELL_CUSTOM_ERROR_CLAN_AYLAAG_IS_CURRENTLY_TRAVELLINGAND_CANNOT_BE_TELEPORTED_TO = 806, // Clan Aylaag is currently travelling and cannot be teleported to.
2395 SPELL_CUSTOM_ERROR_NOT_ENOUGH_INSANITY = 807, // Not enough insanity
2396 SPELL_CUSTOM_ERROR_YOU_MUST_WAIT_TO_ACCESS_THIS_AGAIN = 808, // You must wait to access this again.
2397 SPELL_CUSTOM_ERROR_YOU_DO_NOT_KNOW_HOW_TO_TAME_DRAGONKIN = 809, // You do not know how to tame Dragonkin.
2398 SPELL_CUSTOM_ERROR_REQUIRES_AN_EMPTY_SOUL_CAGE = 810, // Requires an Empty Soul Cage.
2399 SPELL_CUSTOM_ERROR_YOU_ALREADY_HAVE_A_CAGED_SOUL_OF_THAT_TYPE = 811, // You already have a caged soul of that type.
2400 SPELL_CUSTOM_ERROR_YOU_CANT_DO_THAT_HERE = 812, // You can't do that here.
2401 SPELL_CUSTOM_ERROR_YOU_DO_NOT_HAVE_ANY_ELEMENTAL_GEMS_SOCKETED = 813, // You do not have any elemental gems socketed.
2402 SPELL_CUSTOM_ERROR_YOU_MUST_BE_IN_THE_DRAGON_ISLES = 814, // You must be in the Dragon Isles.
2403 SPELL_CUSTOM_ERROR_YOU_CANNOT_DO_THAT_WHILE_UNDERWATER = 815, // You cannot do that while underwater.
2404 SPELL_CUSTOM_ERROR_YOU_MUST_BE_RIDING_A_STOLEN_TAME_MAGMAMMOTH = 816, // You must be riding a stolen Tame Magmammoth.
2405 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.
2406 SPELL_CUSTOM_ERROR_YOU_ARE_ALREADY_BRAVE_ENOUGH_TO_CONTINUE_WITH_YOUR_EXPERIMENTATION = 818, // You are already brave enough to continue with your experimentation.
2407 SPELL_CUSTOM_ERROR_YOU_DONT_KNOW_HOW_TO_REPAIR_THIS_ITEM = 819, // You don't know how to repair this item.
2408 SPELL_CUSTOM_ERROR_THERE_IS_NO_MORE_ROOM_ON_THAT_HANDHOLD = 820, // There is no more room on that handhold.
2409 SPELL_CUSTOM_ERROR_YOU_MUST_UNBLOCK_THIS_SPOT_BY_COMPLETING_A_DAILY_QUEST = 821, // You must unblock this spot by completing a daily quest.
2410 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.
2411 SPELL_CUSTOM_ERROR_SHADOWFLAME_IS_TOO_STRONG_TO_BEAR = 823, // The shadowflame is too strong to bear.
2412 SPELL_CUSTOM_ERROR_SOMEONE_HAS_ALREADY_OVERLOADED_THIS = 824, // Someone has already overloaded this.
2413 SPELL_CUSTOM_ERROR_REQUIRES_NOKHUD_TRAINING_COURSE = 825, // Requires Nokhud Training Course.
2414 SPELL_CUSTOM_ERROR_THIS_RECIPE_IS_CURRENTLY_DISABLED = 826, // This recipe is currently disabled. Please try again later.
2415 SPELL_CUSTOM_ERROR_YOU_DO_NOT_HAVE_THE_CORRECT_BATTLE_PET_SUMMONED = 827, // You do not have the correct battle pet summoned.
2416 SPELL_CUSTOM_ERROR_YOU_ALREADY_HAVE_AT_LEAST_ONE_CONJURED_PHIAL = 828, // You already have at least one conjured phial.
2417 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.
2418 SPELL_CUSTOM_ERROR_REQUIRES_A_DJARADIN_PILLAR_SHARD = 831, // Requires a Djaradin Pillar Shard.
2419 SPELL_CUSTOM_ERROR_REQUIRES_A_RESILIENT_STONE = 832, // Requires a Resilient Stone.
2420 SPELL_CUSTOM_ERROR_MYRRIT_CANNOT_CARRY_ANY_MORE_MAPS = 835, // Myrrit cannot carry any more maps. Go on a dig with him!
2421 SPELL_CUSTOM_ERROR_SOME_GIFTSS_ARE_BETTER_LEFT_UNDELIVERED = 836, // Some gifts are better left undelivered.
2422 SPELL_CUSTOM_ERROR_REQUIRES_NIFFEN_CAVE_DIVE_KEYAND_SHIELD_DISABLED = 850, // Requires Niffen Cave Dive Key and shield disabled.
2423 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.
2424 SPELL_CUSTOM_ERROR_MUST_BE_IN_QUIET_PLACE_WITHIN_CAER_DARROW = 852, // Must be in a suitably quiet place within Caer Darrow.
2425 SPELL_CUSTOM_ERROR_YOU_DONT_HAVE_ANY_GLIMMER_OF_LIGHTS_ACTIVE = 856, // You don't have any Glimmer of Lights active.
2426 SPELL_CUSTOM_ERROR_YOU_DONT_HAVE_THE_SWIRLING_MOJO_STONE = 999, // You don't have the Swirling Mojo Stone equipped.
2427 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.
2428 SPELL_CUSTOM_ERROR_CAN_ONLY_USE_THIS_ITEM_WHILE_AIRBORNE = 1001, // You can only use this item while airborne.
2429 SPELL_CUSTOM_ERROR_YOU_MUST_BE_IN_VISAGE_FORM = 2222, // You must be in visage form to do this.
2430 SPELL_CUSTOM_ERROR_TOO_CLOSE_TO_ANOTHER_MOLTEN_RITUAL = 2424, // You can't begin a molten ritual this close to another one.
2431};
2432
2434{
2437
2440
2442{
2481
2484
2486{
2489
2492
2494{
2498
2499// Spell aura states
2500// EnumUtils: DESCRIBE THIS
2502{ // (C) used in caster aura state (T) used in target aura state
2503 // (c) used in caster aura state-not (t) used in target aura state-not
2507 AURA_STATE_UNBALANCED = 3, // CcT | NYI
2509 AURA_STATE_MARKED = 5, // C t| NYI
2511 AURA_STATE_DEFENSIVE_2 = 7, // Cc | NYI
2512 AURA_STATE_BANISHED = 8, // c | NYI
2515 AURA_STATE_RAMPAGE = 11, // | NYI
2522 AURA_STATE_BLEED = 18, // T |
2530
2531#define PER_CASTER_AURA_STATE_MASK (\
2532 (1<<(AURA_STATE_RAID_ENCOUNTER_2-1))|(1<<(AURA_STATE_ROGUE_POISONED-1)))
2533
2534// Spell mechanics
2535// EnumUtils: DESCRIBE THIS
2537{
2567 MECHANIC_IMMUNE_SHIELD = 29, // Divine (Blessing) Shield/Protection and Ice Block
2575 MAX_MECHANIC = 37 // SKIP
2577
2578// Used for spell 42292 Immune Movement Impairment and Loss of Control (0x49967ca6)
2580 (1 << MECHANIC_CHARM) | (1 << MECHANIC_DISORIENTED) | (1 << MECHANIC_FEAR) | \
2581 (1 << MECHANIC_ROOT) | (1 << MECHANIC_SLEEP) | (1 << MECHANIC_SNARE) | \
2582 (1 << MECHANIC_STUN) | (1 << MECHANIC_FREEZE) | (1 << MECHANIC_SILENCE) | (1 << MECHANIC_DISARM) | (1 << MECHANIC_KNOCKOUT) | \
2583 (1 << MECHANIC_POLYMORPH) | (1 << MECHANIC_BANISH) | (1 << MECHANIC_SHACKLE) | \
2584 (1 << MECHANIC_TURN) | (1 << MECHANIC_HORROR) | (1 << MECHANIC_DAZE) | \
2585 (1 << MECHANIC_SAPPED));
2586
2587// Spell dispel type
2589{
2602
2605
2606#define DISPEL_ALL_MASK ((1<<DISPEL_MAGIC) | (1<<DISPEL_CURSE) | (1<<DISPEL_DISEASE) | (1<<DISPEL_POISON))
2607
2608//To all Immune system, if target has immunes,
2609//some spell that related to ImmuneToDispel or ImmuneToSchool or ImmuneToDamage type can't cast to it,
2610//some spell_effects that related to ImmuneToEffect<effect>(only this effect in the spell) can't cast to it,
2611//some aura(related to Mechanics or ImmuneToState<aura>) can't apply to it.
2613{
2614 IMMUNITY_EFFECT = 0, // enum SpellEffects
2615 IMMUNITY_STATE = 1, // enum AuraType
2616 IMMUNITY_SCHOOL = 2, // enum SpellSchoolMask
2617 IMMUNITY_DAMAGE = 3, // enum SpellSchoolMask
2618 IMMUNITY_DISPEL = 4, // enum DispelType
2619 IMMUNITY_MECHANIC = 5, // enum Mechanics
2621 IMMUNITY_OTHER = 7, // enum SpellOtherImmunity
2622
2625
2626// target enum name consist of:
2627// TARGET_[OBJECT_TYPE]_[REFERENCE_TYPE(skipped for caster)]_[SELECTION_TYPE(skipped for default)]_[additional specifiers(friendly, BACK_LEFT, etc.]
2629{
2656 TARGET_DEST_CASTER_SUMMON = 32, // front left, doesn't use radius
2678 TARGET_UNIT_CONE_180_DEG_ENEMY = 54, // Defaults to 180 if ConeDegrees is not set
2679 TARGET_DEST_CASTER_FRONT_LEAP = 55, // for a leap spell