aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTreeston <treeston.mmoc@gmail.com>2018-12-11 14:38:12 +0100
committerShauren <shauren.trinity@gmail.com>2021-11-16 19:52:57 +0100
commit5b45253f57684720e479952ec02f59f4b8a57381 (patch)
tree9d54b6e4484a456752df4fa690e75b12adc01b1d /src
parent3f656e07798c35c7606496f1d92a2c2429f0a94a (diff)
Core/Misc: Explicit typing for SpellAttrN enums, add nicer text to UNKs, and restore some relevant info from old comments. Final one of these.
(cherry picked from commit 3acba6dded14afdf84f2ab51ca3b6cec92bdb092)
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Miscellaneous/SharedDefines.h626
-rw-r--r--src/server/game/Miscellaneous/enuminfo_SharedDefines.cpp590
2 files changed, 608 insertions, 608 deletions
diff --git a/src/server/game/Miscellaneous/SharedDefines.h b/src/server/game/Miscellaneous/SharedDefines.h
index 7e2adc7083f..4ffbbf36085 100644
--- a/src/server/game/Miscellaneous/SharedDefines.h
+++ b/src/server/game/Miscellaneous/SharedDefines.h
@@ -395,9 +395,9 @@ uint32 constexpr QuestDifficultyColors[MAX_QUEST_DIFFICULTY] =
// ***********************************
// EnumUtils: DESCRIBE THIS
-enum SpellAttr0
+enum SpellAttr0 : uint32
{
- SPELL_ATTR0_UNK0 = 0x00000001,
+ SPELL_ATTR0_UNK0 = 0x00000001, // TITLE Unknown attribute 0@Attr0
SPELL_ATTR0_REQ_AMMO = 0x00000002, // TITLE Treat as ranged attack DESCRIPTION Use ammo, ranged attack range modifiers, ranged haste, etc.
SPELL_ATTR0_ON_NEXT_SWING = 0x00000004, // TITLE On next melee (type 1) DESCRIPTION Both "on next swing" attributes have identical handling in server & client
SPELL_ATTR0_IS_REPLENISHMENT = 0x00000008, // TITLE Replenishment (client only)
@@ -408,7 +408,7 @@ enum SpellAttr0
SPELL_ATTR0_HIDE_IN_COMBAT_LOG = 0x00000100, // TITLE Hidden in combat log (client only) DESCRIPTION Spell will not appear in combat logs
SPELL_ATTR0_TARGET_MAINHAND_ITEM = 0x00000200, // TITLE Auto-target mainhand item (client only) DESCRIPTION Client will automatically select main-hand item as cast target
SPELL_ATTR0_ON_NEXT_SWING_2 = 0x00000400, // TITLE On next melee (type 2) DESCRIPTION Both "on next swing" attributes have identical handling in server & client
- SPELL_ATTR0_UNK11 = 0x00000800,
+ SPELL_ATTR0_UNK11 = 0x00000800, // TITLE Unknown attribute 11@Attr0
SPELL_ATTR0_DAYTIME_ONLY = 0x00001000, // TITLE Only usable during daytime (unused)
SPELL_ATTR0_NIGHT_ONLY = 0x00002000, // TITLE Only usable during nighttime (unused)
SPELL_ATTR0_INDOORS_ONLY = 0x00004000, // TITLE Only usable indoors
@@ -432,13 +432,13 @@ enum SpellAttr0
};
// EnumUtils: DESCRIBE THIS
-enum SpellAttr1
+enum SpellAttr1 : uint32
{
SPELL_ATTR1_DISMISS_PET = 0x00000001, // TITLE Dismiss Pet on cast DESCRIPTION Without this attribute, summoning spells will fail if caster already has a pet
SPELL_ATTR1_DRAIN_ALL_POWER = 0x00000002, // TITLE Drain all power DESCRIPTION Ignores listed power cost and drains entire pool instead
SPELL_ATTR1_CHANNELED_1 = 0x00000004, // TITLE Channeled (type 1) DESCRIPTION Both "channeled" attributes have identical handling in server & client
SPELL_ATTR1_CANT_BE_REDIRECTED = 0x00000008, // TITLE Ignore redirection effects DESCRIPTION Spell will not be attracted by SPELL_MAGNET auras (Grounding Totem)
- SPELL_ATTR1_UNK4 = 0x00000010,
+ SPELL_ATTR1_UNK4 = 0x00000010, // TITLE Unknown attribute 4@Attr1
SPELL_ATTR1_NOT_BREAK_STEALTH = 0x00000020, // TITLE Does not break stealth
SPELL_ATTR1_CHANNELED_2 = 0x00000040, // TITLE Channeled (type 2) DESCRIPTION Both "channeled" attributes have identical handling in server & client
SPELL_ATTR1_CANT_BE_REFLECTED = 0x00000080, // TITLE Ignore reflection effects DESCRIPTION Spell will pierce through Spell Reflection and similar
@@ -452,53 +452,53 @@ enum SpellAttr1
SPELL_ATTR1_DISPEL_AURAS_ON_IMMUNITY = 0x00008000, // TITLE Immunity cancels preapplied auras DESCRIPTION For immunity spells, cancel all auras that this spell would make you immune to when the spell is applied
SPELL_ATTR1_UNAFFECTED_BY_SCHOOL_IMMUNE = 0x00010000, // TITLE Unaffected by school immunities DESCRIPTION Will not pierce Divine Shield, Ice Block and other full invulnerabilities
SPELL_ATTR1_UNAUTOCASTABLE_BY_PET = 0x00020000, // TITLE Cannot be autocast by pet
- SPELL_ATTR1_UNK18 = 0x00040000,
+ SPELL_ATTR1_UNK18 = 0x00040000, // TITLE Unknown attribute 18@Attr1 DESCRIPTION Stun, Polymorph, Daze, Hex - CC?
SPELL_ATTR1_CANT_TARGET_SELF = 0x00080000, // TITLE Cannot be self-cast
SPELL_ATTR1_REQ_COMBO_POINTS1 = 0x00100000, // TITLE Requires combo points (type 1)
- SPELL_ATTR1_UNK21 = 0x00200000,
+ SPELL_ATTR1_UNK21 = 0x00200000, // TITLE Unknown attribute 21@Attr1
SPELL_ATTR1_REQ_COMBO_POINTS2 = 0x00400000, // TITLE Requires combo points (type 2)
- SPELL_ATTR1_UNK23 = 0x00800000,
+ SPELL_ATTR1_UNK23 = 0x00800000, // TITLE Unknwon attribute 23@Attr1
SPELL_ATTR1_IS_FISHING = 0x01000000, // TITLE Fishing (client only)
- SPELL_ATTR1_UNK25 = 0x02000000,
- SPELL_ATTR1_UNK26 = 0x04000000,
- SPELL_ATTR1_UNK27 = 0x08000000,
+ SPELL_ATTR1_UNK25 = 0x02000000, // TITLE Unknown attribute 25@Attr1
+ SPELL_ATTR1_UNK26 = 0x04000000, // TITLE Unknown attribute 26@Attr1 DESCRIPTION Related to [target=focus] and [target=mouseover] macros?
+ SPELL_ATTR1_UNK27 = 0x08000000, // TITLE Unknown attribute 27@Attr1 DESCRIPTION Melee spell?
SPELL_ATTR1_DONT_DISPLAY_IN_AURA_BAR = 0x10000000, // TITLE Hide in aura bar (client only)
SPELL_ATTR1_CHANNEL_DISPLAY_SPELL_NAME = 0x20000000, // TITLE Show spell name during channel (client only)
SPELL_ATTR1_ENABLE_AT_DODGE = 0x40000000, // TITLE Enable at dodge
- SPELL_ATTR1_UNK31 = 0x80000000
+ SPELL_ATTR1_UNK31 = 0x80000000 // TITLE Unknown attribute 31@Attr1
};
// EnumUtils: DESCRIBE THIS
-enum SpellAttr2
+enum SpellAttr2 : uint32
{
SPELL_ATTR2_CAN_TARGET_DEAD = 0x00000001, // TITLE Can target dead players or corpses
- SPELL_ATTR2_UNK1 = 0x00000002,
+ SPELL_ATTR2_UNK1 = 0x00000002, // TITLE Unknown attribute 1@Attr2
SPELL_ATTR2_CAN_TARGET_NOT_IN_LOS = 0x00000004, // TITLE Ignore Line of Sight
SPELL_ATTR2_UNK3 = 0x00000008, // TITLE Ignore aura scaling
SPELL_ATTR2_DISPLAY_IN_STANCE_BAR = 0x00000010, // TITLE Show in stance bar (client only)
SPELL_ATTR2_AUTOREPEAT_FLAG = 0x00000020, // TITLE Ranged auto-attack spell
SPELL_ATTR2_CANT_TARGET_TAPPED = 0x00000040, // TITLE Cannot target others' tapped units DESCRIPTION Can only target untapped units, or those tapped by caster
- SPELL_ATTR2_UNK7 = 0x00000080,
- SPELL_ATTR2_UNK8 = 0x00000100,
- SPELL_ATTR2_UNK9 = 0x00000200,
- SPELL_ATTR2_UNK10 = 0x00000400,
+ SPELL_ATTR2_UNK7 = 0x00000080, // TITLE Unknown attribute 7@Attr2
+ SPELL_ATTR2_UNK8 = 0x00000100, // TITLE Unknown attribute 8@Attr2
+ SPELL_ATTR2_UNK9 = 0x00000200, // TITLE Unknown attribute 9@Attr2
+ SPELL_ATTR2_UNK10 = 0x00000400, // TITLE Unknown attribute 10@Attr2 DESCRIPTION Related to taming?
SPELL_ATTR2_HEALTH_FUNNEL = 0x00000800, // TITLE Health Funnel
- SPELL_ATTR2_UNK12 = 0x00001000,
+ SPELL_ATTR2_UNK12 = 0x00001000, // TITLE Unknown attribute 12@Attr2
SPELL_ATTR2_PRESERVE_ENCHANT_IN_ARENA = 0x00002000, // TITLE Enchant persists when entering arena
- SPELL_ATTR2_UNK14 = 0x00004000,
- SPELL_ATTR2_UNK15 = 0x00008000,
+ SPELL_ATTR2_UNK14 = 0x00004000, // TITLE Unknown attribute 14@Attr2
+ SPELL_ATTR2_UNK15 = 0x00008000, // TITLE Unknown attribute 15@Attr2
SPELL_ATTR2_TAME_BEAST = 0x00010000, // TITLE Tame Beast
SPELL_ATTR2_NOT_RESET_AUTO_ACTIONS = 0x00020000, // TITLE Don't reset swing timer DESCRIPTION Does not reset melee/ranged autoattack timer on cast
SPELL_ATTR2_REQ_DEAD_PET = 0x00040000, // TITLE Requires dead pet
SPELL_ATTR2_NOT_NEED_SHAPESHIFT = 0x00080000, // TITLE Also allow outside shapeshift DESCRIPTION Even if Stances are nonzero, allow spell to be cast outside of shapeshift (though not in a different shapeshift)
- SPELL_ATTR2_UNK20 = 0x00100000,
- SPELL_ATTR2_DAMAGE_REDUCED_SHIELD = 0x00200000,
- SPELL_ATTR2_UNK22 = 0x00400000,
+ SPELL_ATTR2_UNK20 = 0x00100000, // TITLE Unknown attribute 20@Attr2
+ SPELL_ATTR2_DAMAGE_REDUCED_SHIELD = 0x00200000, // TITLE Damage reduction ability DESCRIPTION Causes BG flags to be dropped if combined with ATTR1_DISPEL_AURAS_ON_IMMUNITY
+ SPELL_ATTR2_UNK22 = 0x00400000, // TITLE Unknown attribute 22@Attr2
SPELL_ATTR2_IS_ARCANE_CONCENTRATION = 0x00800000, // TITLE Arcane Concentration
- SPELL_ATTR2_UNK24 = 0x01000000,
- SPELL_ATTR2_UNK25 = 0x02000000,
+ SPELL_ATTR2_UNK24 = 0x01000000, // TITLE Unknown attribute 24@Attr2
+ SPELL_ATTR2_UNK25 = 0x02000000, // TITLE Unknown attribute 25@Attr2
SPELL_ATTR2_UNAFFECTED_BY_AURA_SCHOOL_IMMUNE = 0x04000000, // TITLE Pierce aura application immunities DESCRIPTION Allow aura to be applied despite target being immune to new aura applications
- SPELL_ATTR2_UNK27 = 0x08000000,
+ SPELL_ATTR2_UNK27 = 0x08000000, // TITLE Unknown attribute 27@Attr2
SPELL_ATTR2_IGNORE_ACTION_AURA_INTERRUPT_FLAGS= 0x10000000,// TITLE Not an Action
SPELL_ATTR2_CANT_CRIT = 0x20000000, // TITLE Cannot critically strike
SPELL_ATTR2_TRIGGERED_CAN_TRIGGER_PROC = 0x40000000, // TITLE Allow triggered spell to trigger procs DESCRIPTION Without this attribute, any triggered spell will be unable to trigger other auras' procs
@@ -506,15 +506,15 @@ enum SpellAttr2
};
// EnumUtils: DESCRIBE THIS
-enum SpellAttr3
+enum SpellAttr3 : uint32
{
- SPELL_ATTR3_UNK0 = 0x00000001, //
+ SPELL_ATTR3_UNK0 = 0x00000001, // TITLE Unknown attribute 0@Attr3
SPELL_ATTR3_NO_PROC_EQUIP_REQUIREMENT = 0x00000002, // TITLE No Proc Equip Requirement DESCRIPTION Ignores subclass mask check when checking proc
- SPELL_ATTR3_UNK2 = 0x00000004,
+ SPELL_ATTR3_UNK2 = 0x00000004, // TITLE Unknown attribute 2@Attr3
SPELL_ATTR3_BLOCKABLE_SPELL = 0x00000008, // TITLE Blockable spell
SPELL_ATTR3_IGNORE_RESURRECTION_TIMER = 0x00000010, // TITLE Ignore resurrection timer
- SPELL_ATTR3_UNK5 = 0x00000020,
- SPELL_ATTR3_UNK6 = 0x00000040,
+ SPELL_ATTR3_UNK5 = 0x00000020, // TITLE Unknown attribute 5@Attr3
+ SPELL_ATTR3_UNK6 = 0x00000040, // TITLE Unknown attribute 6@Attr3
SPELL_ATTR3_STACK_FOR_DIFF_CASTERS = 0x00000080, // TITLE Stack separately for each caster
SPELL_ATTR3_ONLY_TARGET_PLAYERS = 0x00000100, // TITLE Can only target players
SPELL_ATTR3_TRIGGERED_CAN_TRIGGER_PROC_2 = 0x00000200, // TITLE Allow triggered spell to trigger (type 2) DESCRIPTION Without this attribute, any triggered spell will be unable to trigger other auras' procs
@@ -523,430 +523,430 @@ enum SpellAttr3
SPELL_ATTR3_ONLY_TARGET_GHOSTS = 0x00001000, // TITLE Can only target ghost players
SPELL_ATTR3_DONT_DISPLAY_CHANNEL_BAR = 0x00002000, // TITLE Do not display channel bar (client only)
SPELL_ATTR3_IS_HONORLESS_TARGET = 0x00004000, // TITLE Honorless Target
- SPELL_ATTR3_UNK15 = 0x00008000,
+ SPELL_ATTR3_UNK15 = 0x00008000, // TITLE Unknown attribute 15@Attr3 DESCRIPTION Auto Shoot, Shoot, Throw - ranged normal attack attribute?
SPELL_ATTR3_CANT_TRIGGER_PROC = 0x00010000, // TITLE Cannot trigger procs
SPELL_ATTR3_NO_INITIAL_AGGRO = 0x00020000, // TITLE No initial aggro
SPELL_ATTR3_IGNORE_HIT_RESULT = 0x00040000, // TITLE Ignore hit result DESCRIPTION Spell cannot miss, or be dodged/parried/blocked
SPELL_ATTR3_DISABLE_PROC = 0x00080000, // TITLE Cannot trigger spells during aura proc
SPELL_ATTR3_DEATH_PERSISTENT = 0x00100000, // TITLE Persists through death
- SPELL_ATTR3_UNK21 = 0x00200000,
+ SPELL_ATTR3_UNK21 = 0x00200000, // TITLE Unknown attribute 21@Attr3
SPELL_ATTR3_REQ_WAND = 0x00400000, // TITLE Requires equipped Wand
- SPELL_ATTR3_UNK23 = 0x00800000,
+ SPELL_ATTR3_UNK23 = 0x00800000, // TITLE Unknown attribute 23@Attr3
SPELL_ATTR3_REQ_OFFHAND = 0x01000000, // TITLE Requires offhand weapon
SPELL_ATTR3_TREAT_AS_PERIODIC = 0x02000000, // TITLE Treat as periodic effect
SPELL_ATTR3_CAN_PROC_WITH_TRIGGERED = 0x04000000, // TITLE Can trigger from triggered spells
SPELL_ATTR3_DRAIN_SOUL = 0x08000000, // TITLE Drain Soul
- SPELL_ATTR3_UNK28 = 0x10000000,
+ SPELL_ATTR3_UNK28 = 0x10000000, // TITLE Unknown attribute 28@Attr3
SPELL_ATTR3_NO_DONE_BONUS = 0x20000000, // TITLE Damage dealt is unaffected by modifiers
SPELL_ATTR3_DONT_DISPLAY_RANGE = 0x40000000, // TITLE Do not show range in tooltip (client only)
- SPELL_ATTR3_UNK31 = 0x80000000
+ SPELL_ATTR3_UNK31 = 0x80000000 // TITLE Unknown attribute 31@Attr3
};
// EnumUtils: DESCRIBE THIS
-enum SpellAttr4
+enum SpellAttr4 : uint32
{
SPELL_ATTR4_IGNORE_RESISTANCES = 0x00000001, // TITLE Cannot be resisted
SPELL_ATTR4_PROC_ONLY_ON_CASTER = 0x00000002, // TITLE Only proc on self-cast
SPELL_ATTR4_AURA_EXPIRES_OFFLINE = 0x00000004, // TITLE Aura Expires Offline DESCRIPTION Debuffs (except Resurrection Sickness) will automatically do this
- SPELL_ATTR4_UNK3 = 0x00000008,
+ SPELL_ATTR4_UNK3 = 0x00000008, // TITLE Unknown attribute 3@Attr4
SPELL_ATTR4_UNK4 = 0x00000010, // TITLE Treat as delayed spell
- SPELL_ATTR4_UNK5 = 0x00000020,
+ SPELL_ATTR4_UNK5 = 0x00000020, // TITLE Unknown attribute 5@Attr4
SPELL_ATTR4_NOT_STEALABLE = 0x00000040, // TITLE Aura cannot be stolen
SPELL_ATTR4_CAN_CAST_WHILE_CASTING = 0x00000080, // TITLE Can be cast while casting DESCRIPTION Ignores already in-progress cast and still casts
SPELL_ATTR4_FIXED_DAMAGE = 0x00000100, // TITLE Deals fixed damage
SPELL_ATTR4_TRIGGER_ACTIVATE = 0x00000200, // TITLE Spell is initially disabled (client only)
SPELL_ATTR4_SPELL_VS_EXTEND_COST = 0x00000400, // TITLE Attack speed modifies cost DESCRIPTION Adds 10 to power cost for each 1s of weapon speed
- SPELL_ATTR4_UNK11 = 0x00000800,
- SPELL_ATTR4_UNK12 = 0x00001000,
+ SPELL_ATTR4_UNK11 = 0x00000800, // TITLE Unknown attribute 11@Attr4
+ SPELL_ATTR4_UNK12 = 0x00001000, // TITLE Unknown attribute 12@Attr4
SPELL_ATTR4_COMBAT_LOG_NO_CASTER = 0x00002000, // TITLE Do Not Log Caster
SPELL_ATTR4_DAMAGE_DOESNT_BREAK_AURAS = 0x00004000, // TITLE Damage does not break auras
SPELL_ATTR4_HIDDEN_IN_SPELLBOOK = 0x00008000, // TITLE Not In Spellbook
SPELL_ATTR4_NOT_USABLE_IN_ARENA_OR_RATED_BG = 0x00010000, // TITLE Not In Arena or Rated Battleground DESCRIPTION Makes spell unusable despite CD <= 10min
SPELL_ATTR4_USABLE_IN_ARENA = 0x00020000, // TITLE Usable in arena DESCRIPTION Makes spell usable despite CD > 10min
SPELL_ATTR4_AREA_TARGET_CHAIN = 0x00040000, // TITLE Chain area targets DESCRIPTION [NYI] Hits area targets over time instead of all at once
- SPELL_ATTR4_UNK19 = 0x00080000,
+ SPELL_ATTR4_UNK19 = 0x00080000, // TITLE Unknown attribute 19@Attr4
SPELL_ATTR4_NOT_CHECK_SELFCAST_POWER = 0x00100000, // TITLE Allow self-cast to override stronger aura (client only)
SPELL_ATTR4_DONT_REMOVE_IN_ARENA = 0x00200000, // TITLE Allow Entering Arena
- SPELL_ATTR4_UNK22 = 0x00400000,
+ SPELL_ATTR4_UNK22 = 0x00400000, // TITLE Unknown attribute 22@Attr4
SPELL_ATTR4_SUPPRESS_WEAPON_PROCS = 0x00800000, // TITLE Suppress Weapon Procs
- SPELL_ATTR4_UNK24 = 0x01000000,
+ SPELL_ATTR4_UNK24 = 0x01000000, // TITLE Unknown attribute 24@Attr4 DESCRIPTION Shoot-type spell?
SPELL_ATTR4_IS_PET_SCALING = 0x02000000, // TITLE Pet Scaling aura
SPELL_ATTR4_CAST_ONLY_IN_OUTLAND = 0x04000000, // TITLE Only in Outland/Northrend
- SPELL_ATTR4_UNK27 = 0x08000000,
- SPELL_ATTR4_UNK28 = 0x10000000,
- SPELL_ATTR4_UNK29 = 0x20000000,
- SPELL_ATTR4_UNK30 = 0x40000000,
- SPELL_ATTR4_UNK31 = 0x80000000
+ SPELL_ATTR4_UNK27 = 0x08000000, // TITLE Unknown attribute 27@Attr4
+ SPELL_ATTR4_UNK28 = 0x10000000, // TITLE Unknown attribute 28@Attr4
+ SPELL_ATTR4_UNK29 = 0x20000000, // TITLE Unknown attribute 29@Attr4
+ SPELL_ATTR4_UNK30 = 0x40000000, // TITLE Unknown attribute 30@Attr4
+ SPELL_ATTR4_UNK31 = 0x80000000 // TITLE Unknown attribute 31@Attr4
};
// EnumUtils: DESCRIBE THIS
-enum SpellAttr5
+enum SpellAttr5 : uint32
{
SPELL_ATTR5_CAN_CHANNEL_WHEN_MOVING = 0x00000001, // TITLE Can be channeled while moving
SPELL_ATTR5_NO_REAGENT_WHILE_PREP = 0x00000002, // TITLE No reagents during arena preparation
SPELL_ATTR5_REMOVE_ENTERING_ARENA = 0x00000004, // TITLE Remove Entering Arena DESCRIPTION Force this aura to be removed on entering arena, regardless of other properties
SPELL_ATTR5_USABLE_WHILE_STUNNED = 0x00000008, // TITLE Usable while stunned
- SPELL_ATTR5_UNK4 = 0x00000010,
+ SPELL_ATTR5_UNK4 = 0x00000010, // TITLE Unknown attribute 4@Attr5
SPELL_ATTR5_SINGLE_TARGET_SPELL = 0x00000020, // TITLE Single-target aura DESCRIPTION Remove previous application to another unit if applied
- SPELL_ATTR5_UNK6 = 0x00000040,
- SPELL_ATTR5_UNK7 = 0x00000080,
+ SPELL_ATTR5_UNK6 = 0x00000040, // TITLE Unknown attribute 6@Attr5
+ SPELL_ATTR5_UNK7 = 0x00000080, // TITLE Unknown attribute 7@Attr5
SPELL_ATTR5_CANT_TARGET_PLAYER_CONTROLLED = 0x00000100, // TITLE Not On Player Controlled NPC
SPELL_ATTR5_START_PERIODIC_AT_APPLY = 0x00000200, // TITLE Immediately do periodic tick on apply
SPELL_ATTR5_HIDE_DURATION = 0x00000400, // TITLE Do not send aura duration to client
SPELL_ATTR5_ALLOW_TARGET_OF_TARGET_AS_TARGET = 0x00000800, // TITLE Auto-target target of target (client only)
- SPELL_ATTR5_UNK12 = 0x00001000,
+ SPELL_ATTR5_UNK12 = 0x00001000, // TITLE Unknown attribute 12@Attr5 DESCRIPTION Cleave related?
SPELL_ATTR5_HASTE_AFFECT_DURATION = 0x00002000, // TITLE Duration scales with Haste Rating
SPELL_ATTR5_NOT_USABLE_WHILE_CHARMED = 0x00004000, // TITLE Not Available While Charmed
- SPELL_ATTR5_UNK15 = 0x00008000,
- SPELL_ATTR5_UNK16 = 0x00010000,
+ SPELL_ATTR5_UNK15 = 0x00008000, // TITLE Unknown attribute 15@Attr5 DESCRIPTION Related to multi-target spells?
+ SPELL_ATTR5_UNK16 = 0x00010000, // TITLE Unknown attribute 16@Attr5
SPELL_ATTR5_USABLE_WHILE_FEARED = 0x00020000, // TITLE Usable while feared
SPELL_ATTR5_USABLE_WHILE_CONFUSED = 0x00040000, // TITLE Usable while confused
SPELL_ATTR5_DONT_TURN_DURING_CAST = 0x00080000, // TITLE Do not auto-turn while casting
- SPELL_ATTR5_UNK20 = 0x00100000,
- SPELL_ATTR5_UNK21 = 0x00200000,
- SPELL_ATTR5_UNK22 = 0x00400000,
- SPELL_ATTR5_UNK23 = 0x00800000,
- SPELL_ATTR5_UNK24 = 0x01000000,
- SPELL_ATTR5_UNK25 = 0x02000000,
+ SPELL_ATTR5_UNK20 = 0x00100000, // TITLE Unknown attribute 20@Attr5
+ SPELL_ATTR5_UNK21 = 0x00200000, // TITLE Unknown attribute 21@Attr5
+ SPELL_ATTR5_UNK22 = 0x00400000, // TITLE Unknown attribute 22@Attr5
+ SPELL_ATTR5_UNK23 = 0x00800000, // TITLE Unknown attribute 23@Attr5
+ SPELL_ATTR5_UNK24 = 0x01000000, // TITLE Unknown attribute 24@Attr5
+ SPELL_ATTR5_UNK25 = 0x02000000, // TITLE Unknown attribute 25@Attr5
SPELL_ATTR5_ALWAYS_AOE_LINE_OF_SIGHT = 0x04000000, // TITLE Ignore line of sight checks
SPELL_ATTR5_DONT_SHOW_AURA_IF_SELF_CAST = 0x08000000, // TITLE Don't show aura if self-cast (client only)
SPELL_ATTR5_DONT_SHOW_AURA_IF_NOT_SELF_CAST = 0x10000000, // TITLE Don't show aura unless self-cast (client only)
- SPELL_ATTR5_UNK29 = 0x20000000,
- SPELL_ATTR5_UNK30 = 0x40000000,
- SPELL_ATTR5_UNK31 = 0x80000000
+ SPELL_ATTR5_UNK29 = 0x20000000, // TITLE Unknown attribute 29@Attr5
+ SPELL_ATTR5_UNK30 = 0x40000000, // TITLE Unknown attribute 30@Attr5
+ SPELL_ATTR5_UNK31 = 0x80000000 // TITLE Unknown attribute 31@Attr5 DESCRIPTION Forces nearby enemies to attack caster?
};
// EnumUtils: DESCRIBE THIS
-enum SpellAttr6
+enum SpellAttr6 : uint32
{
SPELL_ATTR6_DONT_DISPLAY_COOLDOWN = 0x00000001, // TITLE Don't display cooldown (client only)
SPELL_ATTR6_ONLY_IN_ARENA = 0x00000002, // TITLE Only usable in arena
SPELL_ATTR6_IGNORE_CASTER_AURAS = 0x00000004, // TITLE Ignore all preventing caster auras
SPELL_ATTR6_ASSIST_IGNORE_IMMUNE_FLAG = 0x00000008, // TITLE Ignore immunity flags when assisting
- SPELL_ATTR6_UNK4 = 0x00000010,
+ SPELL_ATTR6_UNK4 = 0x00000010, // TITLE Unknown attribute 4@Attr6
SPELL_ATTR6_DO_NOT_CONSUME_RESOURCES = 0x00000020, // TITLE Don't consume proc charges
SPELL_ATTR6_USE_SPELL_CAST_EVENT = 0x00000040, // TITLE Generate spell_cast event instead of aura_start (client only)
- SPELL_ATTR6_UNK7 = 0x00000080,
+ SPELL_ATTR6_UNK7 = 0x00000080, // TITLE Unknown attribute 7@Attr6
SPELL_ATTR6_CANT_TARGET_CROWD_CONTROLLED = 0x00000100, // TITLE Do not implicitly target in CC DESCRIPTION Implicit targeting (chaining and area targeting) will not impact crowd controlled targets
- SPELL_ATTR6_UNK9 = 0x00000200,
+ SPELL_ATTR6_UNK9 = 0x00000200, // TITLE Unknown attribute 9@Attr6
SPELL_ATTR6_CAN_TARGET_POSSESSED_FRIENDS = 0x00000400, // TITLE Can target possessed friends DESCRIPTION [NYI]
SPELL_ATTR6_NOT_IN_RAID_INSTANCE = 0x00000800, // TITLE Unusable in raid instances
SPELL_ATTR6_CASTABLE_WHILE_ON_VEHICLE = 0x00001000, // TITLE Castable while caster is on vehicle
SPELL_ATTR6_CAN_TARGET_INVISIBLE = 0x00002000, // TITLE Can target invisible units
- SPELL_ATTR6_UNK14 = 0x00004000,
- SPELL_ATTR6_UNK15 = 0x00008000,
- SPELL_ATTR6_UNK16 = 0x00010000,
- SPELL_ATTR6_UNK17 = 0x00020000,
+ SPELL_ATTR6_UNK14 = 0x00004000, // TITLE Unknown attribute 14@Attr6
+ SPELL_ATTR6_UNK15 = 0x00008000, // TITLE Unknown attribute 15@Attr6
+ SPELL_ATTR6_UNK16 = 0x00010000, // TITLE Unknown attribute 16@Attr6
+ SPELL_ATTR6_UNK17 = 0x00020000, // TITLE Unknown attribute 17@Attr6 DESCRIPTION Mount related?
SPELL_ATTR6_CAST_BY_CHARMER = 0x00040000, // TITLE Spell is cast by charmer DESCRIPTION Client will prevent casting if not possessed, charmer will be caster for all intents and purposes
- SPELL_ATTR6_UNK19 = 0x00080000,
+ SPELL_ATTR6_UNK19 = 0x00080000, // TITLE Unknown attribute 19@Attr6
SPELL_ATTR6_ONLY_VISIBLE_TO_CASTER = 0x00100000, // TITLE Only visible to caster (client only)
SPELL_ATTR6_CLIENT_UI_TARGET_EFFECTS = 0x00200000, // TITLE Client UI target effects (client only)
- SPELL_ATTR6_UNK22 = 0x00400000,
- SPELL_ATTR6_UNK23 = 0x00800000,
+ SPELL_ATTR6_UNK22 = 0x00400000, // TITLE Unknown attribute 22@Attr6
+ SPELL_ATTR6_UNK23 = 0x00800000, // TITLE Unknown attribute 23@Attr6
SPELL_ATTR6_CAN_TARGET_UNTARGETABLE = 0x01000000, // TITLE Can target untargetable units
SPELL_ATTR6_NOT_RESET_SWING_IF_INSTANT = 0x02000000, // TITLE Do not reset swing timer if cast time is instant
- SPELL_ATTR6_UNK26 = 0x04000000,
+ SPELL_ATTR6_UNK26 = 0x04000000, // TITLE Unknown attribute 26@Attr6 DESCRIPTION Player castable buff?
SPELL_ATTR6_IGNORE_HEALING_MODIFIERS = 0x08000000, // TITLE Limit applicable %healing modifiers DESCRIPTION This prevents certain healing modifiers from applying - see implementation if you really care about details
- SPELL_ATTR6_UNK28 = 0x10000000,
+ SPELL_ATTR6_UNK28 = 0x10000000, // TITLE Unknown attribute 28@Attr6 DESCRIPTION Death grip?
SPELL_ATTR6_IGNORE_CASTER_DAMAGE_MODIFIERS = 0x20000000, // TITLE Limit applicable %damage modifiers DESCRIPTION This prevents certain damage modifiers from applying - see implementation if you really care about details
- SPELL_ATTR6_UNK30 = 0x40000000,
+ SPELL_ATTR6_UNK30 = 0x40000000, // TITLE Unknown attribute 30@Attr6
SPELL_ATTR6_IGNORE_CATEGORY_COOLDOWN_MODS = 0x80000000 // TITLE Ignore cooldown modifiers for category cooldown
};
// EnumUtils: DESCRIBE THIS
-enum SpellAttr7
+enum SpellAttr7 : uint32
{
- SPELL_ATTR7_UNK0 = 0x00000001,
+ SPELL_ATTR7_UNK0 = 0x00000001, // TITLE Unknown attribute 0@Attr7
SPELL_ATTR7_IGNORE_DURATION_MODS = 0x00000002, // TITLE Ignore duration modifiers
SPELL_ATTR7_REACTIVATE_AT_RESURRECT = 0x00000004, // TITLE Reactivate at resurrect (client only)
SPELL_ATTR7_IS_CHEAT_SPELL = 0x00000008, // TITLE Is cheat spell DESCRIPTION Cannot cast if caster doesn't have UnitFlag2 & UNIT_FLAG2_ALLOW_CHEAT_SPELLS
- SPELL_ATTR7_UNK4 = 0x00000010,
+ SPELL_ATTR7_UNK4 = 0x00000010, // TITLE Unknown attribute 4@Attr7 DESCRIPTION Soulstone related?
SPELL_ATTR7_SUMMON_TOTEM = 0x00000020, // TITLE Summons player-owned totem
SPELL_ATTR7_NO_PUSHBACK_ON_DAMAGE = 0x00000040, // TITLE Damage dealt by this does not cause spell pushback
- SPELL_ATTR7_UNK7 = 0x00000080,
+ SPELL_ATTR7_UNK7 = 0x00000080, // TITLE Unknown attribute 7@Attr7
SPELL_ATTR7_HORDE_ONLY = 0x00000100, // TITLE Horde only
SPELL_ATTR7_ALLIANCE_ONLY = 0x00000200, // TITLE Alliance only
SPELL_ATTR7_DISPEL_CHARGES = 0x00000400, // TITLE Dispel/Spellsteal remove individual charges
- SPELL_ATTR7_INTERRUPT_ONLY_NONPLAYER = 0x00000800, // TITLE Only interrupt non-player casting
- SPELL_ATTR7_SILENCE_ONLY_NONPLAYER = 0x00001000,
+ SPELL_ATTR7_INTERRUPT_ONLY_NONPLAYER = 0x00000800, // TITLE Can Cause Interrupt DESCRIPTION Only interrupt non-player casting
+ SPELL_ATTR7_SILENCE_ONLY_NONPLAYER = 0x00001000, // TITLE Can Cause Silence
SPELL_ATTR7_CAN_ALWAYS_BE_INTERRUPTED = 0x00002000, // TITLE No UI Not Interruptible DESCRIPTION Can always be interrupted, even if caster is immune
- SPELL_ATTR7_UNK14 = 0x00004000,
- SPELL_ATTR7_UNK15 = 0x00008000,
+ SPELL_ATTR7_UNK14 = 0x00004000, // TITLE Unknown attribute 14@Attr7
+ SPELL_ATTR7_UNK15 = 0x00008000, // TITLE Unknown attribute 15@Attr7 DESCRIPTION Exorcism - guaranteed crit vs families?
SPELL_ATTR7_HIDDEN_IN_SPELLBOOK_WHEN_LEARNED = 0x00010000, // TITLE Only In Spellbook Until Learned DESCRIPTION After learning these spells become hidden in spellbook (but are visible when not learned for low level characters)
- SPELL_ATTR7_UNK17 = 0x00020000,
+ SPELL_ATTR7_UNK17 = 0x00020000, // TITLE Unknown attribute 17@Attr7
SPELL_ATTR7_HAS_CHARGE_EFFECT = 0x00040000, // TITLE Has charge effect
SPELL_ATTR7_ZONE_TELEPORT = 0x00080000, // TITLE Is zone teleport
- SPELL_ATTR7_UNK20 = 0x00100000,
- SPELL_ATTR7_UNK21 = 0x00200000,
- SPELL_ATTR7_UNK22 = 0x00400000,
- SPELL_ATTR7_UNK23 = 0x00800000,
- SPELL_ATTR7_UNK24 = 0x01000000,
- SPELL_ATTR7_UNK25 = 0x02000000,
- SPELL_ATTR7_UNK26 = 0x04000000,
- SPELL_ATTR7_UNK27 = 0x08000000,
+ SPELL_ATTR7_UNK20 = 0x00100000, // TITLE Unknown attribute 20@Attr7 DESCRIPTION Invulnerability related?
+ SPELL_ATTR7_UNK21 = 0x00200000, // TITLE Unknown attribute 21@Attr7
+ SPELL_ATTR7_IGNORES_COLD_WEATHER_FLYING_REQUIREMENT = 0x00400000, // TITLE Ignores Cold Weather Flying Requirement
+ SPELL_ATTR7_UNK23 = 0x00800000, // TITLE Unknown attribute 23@Attr7
+ SPELL_ATTR7_UNK24 = 0x01000000, // TITLE Unknown attribute 24@Attr7
+ SPELL_ATTR7_UNK25 = 0x02000000, // TITLE Unknown attribute 25@Attr7
+ SPELL_ATTR7_UNK26 = 0x04000000, // TITLE Unknown attribute 26@Attr7
+ SPELL_ATTR7_UNK27 = 0x08000000, // TITLE Unknown attribute 27@Attr7
SPELL_ATTR7_CONSOLIDATED_RAID_BUFF = 0x10000000, // TITLE Consolidate in raid buff frame (client only)
- SPELL_ATTR7_UNK29 = 0x20000000,
- SPELL_ATTR7_UNK30 = 0x40000000,
+ SPELL_ATTR7_UNK29 = 0x20000000, // TITLE Unknown attribute 29@Attr7
+ SPELL_ATTR7_UNK30 = 0x40000000, // TITLE Unknown attribute 30@Attr7
SPELL_ATTR7_CLIENT_INDICATOR = 0x80000000 // TITLE Client indicator (client only)
};
// EnumUtils: DESCRIBE THIS
-enum SpellAttr8
-{
- SPELL_ATTR8_CANT_MISS = 0x00000001,
- SPELL_ATTR8_UNK1 = 0x00000002,
- SPELL_ATTR8_UNK2 = 0x00000004,
- SPELL_ATTR8_UNK3 = 0x00000008,
- SPELL_ATTR8_UNK4 = 0x00000010,
- SPELL_ATTR8_UNK5 = 0x00000020,
- SPELL_ATTR8_UNK6 = 0x00000040,
- SPELL_ATTR8_UNK7 = 0x00000080,
- SPELL_ATTR8_AFFECT_PARTY_AND_RAID = 0x00000100,
- SPELL_ATTR8_DONT_RESET_PERIODIC_TIMER = 0x00000200, // Periodic auras with this flag keep old periodic timer when refreshing at close to one tick remaining (kind of anti DoT clipping)
- SPELL_ATTR8_NAME_CHANGED_DURING_TRANSFORM = 0x00000400,
- SPELL_ATTR8_UNK11 = 0x00000800,
- SPELL_ATTR8_AURA_SEND_AMOUNT = 0x00001000,
- SPELL_ATTR8_UNK13 = 0x00002000,
- SPELL_ATTR8_UNK14 = 0x00004000,
- SPELL_ATTR8_WATER_MOUNT = 0x00008000,
- SPELL_ATTR8_UNK16 = 0x00010000,
- SPELL_ATTR8_UNK17 = 0x00020000,
- SPELL_ATTR8_REMEMBER_SPELLS = 0x00040000,
- SPELL_ATTR8_USE_COMBO_POINTS_ON_ANY_TARGET = 0x00080000,
- SPELL_ATTR8_ARMOR_SPECIALIZATION = 0x00100000,
- SPELL_ATTR8_UNK21 = 0x00200000,
- SPELL_ATTR8_UNK22 = 0x00400000,
+enum SpellAttr8 : uint32
+{
+ SPELL_ATTR8_CANT_MISS = 0x00000001, // TITLE No Attack Block
+ SPELL_ATTR8_UNK1 = 0x00000002, // TITLE Unknown attribute 1@Attr8
+ SPELL_ATTR8_UNK2 = 0x00000004, // TITLE Unknown attribute 2@Attr8
+ SPELL_ATTR8_UNK3 = 0x00000008, // TITLE Unknown attribute 3@Attr8
+ SPELL_ATTR8_UNK4 = 0x00000010, // TITLE Unknown attribute 4@Attr8
+ SPELL_ATTR8_UNK5 = 0x00000020, // TITLE Unknown attribute 5@Attr8
+ SPELL_ATTR8_UNK6 = 0x00000040, // TITLE Unknown attribute 6@Attr8
+ SPELL_ATTR8_UNK7 = 0x00000080, // TITLE Unknown attribute 7@Attr8
+ SPELL_ATTR8_AFFECT_PARTY_AND_RAID = 0x00000100, // TITLE Use Target's Level for Spell Scaling
+ SPELL_ATTR8_DONT_RESET_PERIODIC_TIMER = 0x00000200, // TITLE Periodic Can Crit DESCRIPTION (WRONG) Periodic auras with this flag keep old periodic timer when refreshing at close to one tick remaining (kind of anti DoT clipping)
+ SPELL_ATTR8_NAME_CHANGED_DURING_TRANSFORM = 0x00000400, // TITLE Mirror creature name
+ SPELL_ATTR8_UNK11 = 0x00000800, // TITLE Unknown attribute 11@Attr8
+ SPELL_ATTR8_AURA_SEND_AMOUNT = 0x00001000, // TITLE Aura Points On Client
+ SPELL_ATTR8_UNK13 = 0x00002000, // TITLE Unknown attribute 13@Attr8
+ SPELL_ATTR8_UNK14 = 0x00004000, // TITLE Unknown attribute 14@Attr8
+ SPELL_ATTR8_WATER_MOUNT = 0x00008000, // TITLE Requires location to be on liquid surface
+ SPELL_ATTR8_UNK16 = 0x00010000, // TITLE Unknown attribute 16@Attr8
+ SPELL_ATTR8_UNK17 = 0x00020000, // TITLE Unknown attribute 17@Attr8
+ SPELL_ATTR8_REMEMBER_SPELLS = 0x00040000, // TTILE Ignore Spellcast Override Cost
+ SPELL_ATTR8_USE_COMBO_POINTS_ON_ANY_TARGET = 0x00080000, // TITLE Allow Targets Hidden by Spawn Tracking
+ SPELL_ATTR8_ARMOR_SPECIALIZATION = 0x00100000, // TITLE Requires Equipped Inv Types
+ SPELL_ATTR8_UNK21 = 0x00200000, // TITLE Unknown attribute 21@Attr8
+ SPELL_ATTR8_UNK22 = 0x00400000, // TITLE Unknown attribute 22@Attr8
SPELL_ATTR8_BATTLE_RESURRECTION = 0x00800000, // TITLE Enforce In Combat Ressurection Limit DESCRIPTION Used to limit the number of resurrections in boss encounters
- SPELL_ATTR8_HEALING_SPELL = 0x01000000,
- SPELL_ATTR8_UNK25 = 0x02000000,
+ SPELL_ATTR8_HEALING_SPELL = 0x01000000, // TITLE Heal Prediction
+ SPELL_ATTR8_UNK25 = 0x02000000, // TITLE Unknown attribute 25@Attr8
SPELL_ATTR8_RAID_MARKER = 0x04000000, // TITLE Skip Is Known Check
- SPELL_ATTR8_UNK27 = 0x08000000,
+ SPELL_ATTR8_UNK27 = 0x08000000, // TITLE Unknown attribute 27@Attr8
SPELL_ATTR8_NOT_IN_BG_OR_ARENA = 0x10000000, // TITLE Not in Battleground
- SPELL_ATTR8_MASTERY_SPECIALIZATION = 0x20000000,
- SPELL_ATTR8_UNK30 = 0x40000000,
+ SPELL_ATTR8_MASTERY_SPECIALIZATION = 0x20000000, // TITLE Mastery Affects Points
+ SPELL_ATTR8_UNK30 = 0x40000000, // TITLE Unknown attribute 30@Attr8
SPELL_ATTR8_ATTACK_IGNORE_IMMUNE_TO_PC_FLAG = 0x80000000 // TITLE Can Attack ImmunePC DESCRIPTION Do not check UNIT_FLAG_IMMUNE_TO_PC in IsValidAttackTarget
};
// EnumUtils: DESCRIBE THIS
-enum SpellAttr9
+enum SpellAttr9 : uint32
{
- SPELL_ATTR9_UNK0 = 0x00000001,
- SPELL_ATTR9_UNK1 = 0x00000002,
+ SPELL_ATTR9_UNK0 = 0x00000001, // TITLE Unknown attribute 0@Attr9
+ SPELL_ATTR9_UNK1 = 0x00000002, // TITLE Unknown attribute 1@Attr9
SPELL_ATTR9_RESTRICTED_FLIGHT_AREA = 0x00000004, // TITLE Only When Illegally Mounted
- SPELL_ATTR9_UNK3 = 0x00000008,
- SPELL_ATTR9_SPECIAL_DELAY_CALCULATION = 0x00000010,
- SPELL_ATTR9_SUMMON_PLAYER_TOTEM = 0x00000020,
- SPELL_ATTR9_UNK6 = 0x00000040,
- SPELL_ATTR9_UNK7 = 0x00000080,
- SPELL_ATTR9_AIMED_SHOT = 0x00000100,
+ SPELL_ATTR9_UNK3 = 0x00000008, // TITLE Unknown attribute 3@Attr9
+ SPELL_ATTR9_SPECIAL_DELAY_CALCULATION = 0x00000010, // TITLE Missile Speed is Delay (in sec)
+ SPELL_ATTR9_SUMMON_PLAYER_TOTEM = 0x00000020, // TITLE Ignore Totem Requirements for Casting
+ SPELL_ATTR9_UNK6 = 0x00000040, // TITLE Unknown attribute 6@Attr9
+ SPELL_ATTR9_UNK7 = 0x00000080, // TITLE Unknown attribute 7@Attr9
+ SPELL_ATTR9_AIMED_SHOT = 0x00000100, // TITLE Cooldown Ignores Ranged Weapon
SPELL_ATTR9_NOT_USABLE_IN_ARENA = 0x00000200, // TITLE Not In Arena
- SPELL_ATTR9_UNK10 = 0x00000400,
- SPELL_ATTR9_UNK11 = 0x00000800,
- SPELL_ATTR9_UNK12 = 0x00001000,
- SPELL_ATTR9_SLAM = 0x00002000,
+ SPELL_ATTR9_UNK10 = 0x00000400, // TITLE Unknown attribute 10@Attr9
+ SPELL_ATTR9_UNK11 = 0x00000800, // TITLE Unknown attribute 11@Attr9
+ SPELL_ATTR9_UNK12 = 0x00001000, // TITLE Unknown attribute 12@Attr9
+ SPELL_ATTR9_SLAM = 0x00002000, // TITLE Haste Affects Melee Ability Casttime
SPELL_ATTR9_USABLE_IN_RATED_BATTLEGROUNDS = 0x00004000, // TITLE Ignore Default Rated Battleground Restrictions
- SPELL_ATTR9_UNK15 = 0x00008000,
- SPELL_ATTR9_UNK16 = 0x00010000,
- SPELL_ATTR9_UNK17 = 0x00020000,
- SPELL_ATTR9_UNK18 = 0x00040000,
- SPELL_ATTR9_UNK19 = 0x00080000,
- SPELL_ATTR9_UNK20 = 0x00100000,
- SPELL_ATTR9_UNK21 = 0x00200000,
- SPELL_ATTR9_UNK22 = 0x00400000,
- SPELL_ATTR9_UNK23 = 0x00800000,
- SPELL_ATTR9_UNK24 = 0x01000000,
- SPELL_ATTR9_UNK25 = 0x02000000,
- SPELL_ATTR9_UNK26 = 0x04000000,
- SPELL_ATTR9_UNK27 = 0x08000000,
- SPELL_ATTR9_UNK28 = 0x10000000,
- SPELL_ATTR9_UNK29 = 0x20000000,
- SPELL_ATTR9_UNK30 = 0x40000000,
- SPELL_ATTR9_UNK31 = 0x80000000
+ SPELL_ATTR9_UNK15 = 0x00008000, // TITLE Unknown attribute 15@Attr9
+ SPELL_ATTR9_UNK16 = 0x00010000, // TITLE Unknown attribute 16@Attr9
+ SPELL_ATTR9_UNK17 = 0x00020000, // TITLE Unknown attribute 17@Attr9
+ SPELL_ATTR9_UNK18 = 0x00040000, // TITLE Unknown attribute 18@Attr9
+ SPELL_ATTR9_UNK19 = 0x00080000, // TITLE Unknown attribute 19@Attr9
+ SPELL_ATTR9_UNK20 = 0x00100000, // TITLE Unknown attribute 20@Attr9
+ SPELL_ATTR9_UNK21 = 0x00200000, // TITLE Unknown attribute 21@Attr9
+ SPELL_ATTR9_UNK22 = 0x00400000, // TITLE Unknown attribute 22@Attr9
+ SPELL_ATTR9_UNK23 = 0x00800000, // TITLE Unknown attribute 23@Attr9
+ SPELL_ATTR9_UNK24 = 0x01000000, // TITLE Unknown attribute 24@Attr9
+ SPELL_ATTR9_UNK25 = 0x02000000, // TITLE Unknown attribute 25@Attr9
+ SPELL_ATTR9_UNK26 = 0x04000000, // TITLE Unknown attribute 26@Attr9
+ SPELL_ATTR9_UNK27 = 0x08000000, // TITLE Unknown attribute 27@Attr9
+ SPELL_ATTR9_UNK28 = 0x10000000, // TITLE Unknown attribute 28@Attr9
+ SPELL_ATTR9_UNK29 = 0x20000000, // TITLE Unknown attribute 29@Attr9
+ SPELL_ATTR9_UNK30 = 0x40000000, // TITLE Unknown attribute 30@Attr9
+ SPELL_ATTR9_UNK31 = 0x80000000 // TITLE Unknown attribute 31@Attr9
};
// EnumUtils: DESCRIBE THIS
-enum SpellAttr10
-{
- SPELL_ATTR10_UNK0 = 0x00000001,
- SPELL_ATTR10_UNK1 = 0x00000002,
- SPELL_ATTR10_UNK2 = 0x00000004,
- SPELL_ATTR10_UNK3 = 0x00000008,
- SPELL_ATTR10_WATER_SPOUT = 0x00000010,
- SPELL_ATTR10_UNK5 = 0x00000020,
- SPELL_ATTR10_UNK6 = 0x00000040,
- SPELL_ATTR10_TELEPORT_PLAYER = 0x00000080,
- SPELL_ATTR10_UNK8 = 0x00000100,
- SPELL_ATTR10_UNK9 = 0x00000200,
- SPELL_ATTR10_UNK10 = 0x00000400,
- SPELL_ATTR10_HERB_GATHERING_MINING = 0x00000800,
+enum SpellAttr10 : uint32
+{
+ SPELL_ATTR10_UNK0 = 0x00000001, // TITLE Unknown attribute 0@Attr10
+ SPELL_ATTR10_UNK1 = 0x00000002, // TITLE Unknown attribute 1@Attr10
+ SPELL_ATTR10_UNK2 = 0x00000004, // TITLE Unknown attribute 2@Attr10
+ SPELL_ATTR10_UNK3 = 0x00000008, // TITLE Unknown attribute 3@Attr10
+ SPELL_ATTR10_WATER_SPOUT = 0x00000010, // TITLE NPC Knockback - ignore doors
+ SPELL_ATTR10_UNK5 = 0x00000020, // TITLE Unknown attribute 5@Attr10
+ SPELL_ATTR10_UNK6 = 0x00000040, // TITLE Unknown attribute 6@Attr10
+ SPELL_ATTR10_TELEPORT_PLAYER = 0x00000080, // TITLE Ignore instance lock and farm limit on teleport
+ SPELL_ATTR10_UNK8 = 0x00000100, // TITLE Unknown attribute 8@Attr10
+ SPELL_ATTR10_UNK9 = 0x00000200, // TITLE Unknown attribute 9@Attr10
+ SPELL_ATTR10_UNK10 = 0x00000400, // TITLE Unknown attribute 10@Attr10
+ SPELL_ATTR10_HERB_GATHERING_MINING = 0x00000800, // TITLE Lock chest at precast
SPELL_ATTR10_USE_SPELL_BASE_LEVEL_FOR_SCALING= 0x00001000, // TITLE Use Spell Base Level For Scaling
SPELL_ATTR10_RESET_COOLDOWN_ON_ENCOUNTER_END = 0x00002000, // TITLE Reset cooldown upon ending an encounter
SPELL_ATTR10_ROLLING_PERIODIC = 0x00004000, // TITLE Rolling Periodic DESCRIPTION Add remaining periodic damage to new aura when refreshed
- SPELL_ATTR10_UNK15 = 0x00008000,
- SPELL_ATTR10_UNK16 = 0x00010000,
+ SPELL_ATTR10_UNK15 = 0x00008000, // TITLE Unknown attribute 15@Attr10
+ SPELL_ATTR10_UNK16 = 0x00010000, // TITLE Unknown attribute 16@Attr10
SPELL_ATTR10_CAN_DODGE_PARRY_WHILE_CASTING = 0x00020000, // TITLE Allow Defense While Casting
- SPELL_ATTR10_UNK18 = 0x00040000,
- SPELL_ATTR10_UNK19 = 0x00080000,
- SPELL_ATTR10_UNK20 = 0x00100000,
- SPELL_ATTR10_UNK21 = 0x00200000,
- SPELL_ATTR10_UNK22 = 0x00400000,
- SPELL_ATTR10_UNK23 = 0x00800000,
- SPELL_ATTR10_UNK24 = 0x01000000,
- SPELL_ATTR10_UNK25 = 0x02000000,
- SPELL_ATTR10_UNK26 = 0x04000000,
- SPELL_ATTR10_UNK27 = 0x08000000,
- SPELL_ATTR10_UNK28 = 0x10000000,
+ SPELL_ATTR10_UNK18 = 0x00040000, // TITLE Unknown attribute 18@Attr10
+ SPELL_ATTR10_UNK19 = 0x00080000, // TITLE Unknown attribute 19@Attr10
+ SPELL_ATTR10_UNK20 = 0x00100000, // TITLE Unknown attribute 20@Attr10
+ SPELL_ATTR10_UNK21 = 0x00200000, // TITLE Unknown attribute 21@Attr10
+ SPELL_ATTR10_UNK22 = 0x00400000, // TITLE Unknown attribute 22@Attr10
+ SPELL_ATTR10_UNK23 = 0x00800000, // TITLE Unknown attribute 23@Attr10
+ SPELL_ATTR10_UNK24 = 0x01000000, // TITLE Unknown attribute 24@Attr10
+ SPELL_ATTR10_UNK25 = 0x02000000, // TITLE Unknown attribute 25@Attr10
+ SPELL_ATTR10_UNK26 = 0x04000000, // TITLE Unknown attribute 26@Attr10
+ SPELL_ATTR10_UNK27 = 0x08000000, // TITLE Unknown attribute 27@Attr10
+ SPELL_ATTR10_UNK28 = 0x10000000, // TITLE Unknown attribute 28@Attr10
SPELL_ATTR10_MOUNT_IS_NOT_ACCOUNT_WIDE = 0x20000000, // TITLE This Mount is NOT at the account level
- SPELL_ATTR10_UNK30 = 0x40000000,
- SPELL_ATTR10_UNK31 = 0x80000000
+ SPELL_ATTR10_UNK30 = 0x40000000, // TITLE Unknown attribute 30@Attr10
+ SPELL_ATTR10_UNK31 = 0x80000000 // TITLE Unknown attribute 31@Attr10
};
// EnumUtils: DESCRIBE THIS
-enum SpellAttr11
+enum SpellAttr11 : uint32
{
- SPELL_ATTR11_UNK0 = 0x00000001,
- SPELL_ATTR11_UNK1 = 0x00000002,
+ SPELL_ATTR11_UNK0 = 0x00000001, // TITLE Unknown attribute 0@Attr11
+ SPELL_ATTR11_UNK1 = 0x00000002, // TITLE Unknown attribute 1@Attr11
SPELL_ATTR11_SCALES_WITH_ITEM_LEVEL = 0x00000004, // TITLE Scales with Casting Item's Level
- SPELL_ATTR11_UNK3 = 0x00000008,
- SPELL_ATTR11_UNK4 = 0x00000010,
+ SPELL_ATTR11_UNK3 = 0x00000008, // TITLE Unknown attribute 3@Attr11
+ SPELL_ATTR11_UNK4 = 0x00000010, // TITLE Unknown attribute 4@Attr11
SPELL_ATTR11_ABSORB_ENVIRONMENTAL_DAMAGE = 0x00000020, // TITLE Absorb Falling Damage
- SPELL_ATTR11_UNK6 = 0x00000040,
+ SPELL_ATTR11_UNK6 = 0x00000040, // TITLE Unknown attribute 6@Attr11
SPELL_ATTR11_RANK_IGNORES_CASTER_LEVEL = 0x00000080, // TITLE Ignore Caster's spell level DESCRIPTION Spell_C_GetSpellRank returns SpellLevels->MaxLevel * 5 instead of std::min(SpellLevels->MaxLevel, caster->Level) * 5
- SPELL_ATTR11_UNK8 = 0x00000100,
- SPELL_ATTR11_UNK9 = 0x00000200,
- SPELL_ATTR11_UNK10 = 0x00000400,
+ SPELL_ATTR11_UNK8 = 0x00000100, // TITLE Unknown attribute 8@Attr11
+ SPELL_ATTR11_UNK9 = 0x00000200, // TITLE Unknown attribute 9@Attr11
+ SPELL_ATTR11_UNK10 = 0x00000400, // TITLE Unknown attribute 10@Attr11
SPELL_ATTR11_NOT_USABLE_IN_INSTANCES = 0x00000800, // TITLE Not in Instances
- SPELL_ATTR11_UNK12 = 0x00001000,
- SPELL_ATTR11_UNK13 = 0x00002000,
- SPELL_ATTR11_UNK14 = 0x00004000,
- SPELL_ATTR11_UNK15 = 0x00008000,
+ SPELL_ATTR11_UNK12 = 0x00001000, // TITLE Unknown attribute 12@Attr11
+ SPELL_ATTR11_UNK13 = 0x00002000, // TITLE Unknown attribute 13@Attr11
+ SPELL_ATTR11_UNK14 = 0x00004000, // TITLE Unknown attribute 14@Attr11
+ SPELL_ATTR11_UNK15 = 0x00008000, // TITLE Unknown attribute 15@Attr11
SPELL_ATTR11_NOT_USABLE_IN_CHALLENGE_MODE = 0x00010000, // TITLE Not in Mythic+ Mode (Challenge Mode)
- SPELL_ATTR11_UNK17 = 0x00020000,
- SPELL_ATTR11_UNK18 = 0x00040000,
- SPELL_ATTR11_UNK19 = 0x00080000,
- SPELL_ATTR11_UNK20 = 0x00100000,
- SPELL_ATTR11_UNK21 = 0x00200000,
- SPELL_ATTR11_UNK22 = 0x00400000,
- SPELL_ATTR11_UNK23 = 0x00800000,
- SPELL_ATTR11_UNK24 = 0x01000000,
- SPELL_ATTR11_UNK25 = 0x02000000,
- SPELL_ATTR11_UNK26 = 0x04000000,
- SPELL_ATTR11_UNK27 = 0x08000000,
- SPELL_ATTR11_UNK28 = 0x10000000,
- SPELL_ATTR11_UNK29 = 0x20000000,
- SPELL_ATTR11_UNK30 = 0x40000000,
- SPELL_ATTR11_UNK31 = 0x80000000
+ SPELL_ATTR11_UNK17 = 0x00020000, // TITLE Unknown attribute 17@Attr11
+ SPELL_ATTR11_UNK18 = 0x00040000, // TITLE Unknown attribute 18@Attr11
+ SPELL_ATTR11_UNK19 = 0x00080000, // TITLE Unknown attribute 19@Attr11
+ SPELL_ATTR11_UNK20 = 0x00100000, // TITLE Unknown attribute 20@Attr11
+ SPELL_ATTR11_UNK21 = 0x00200000, // TITLE Unknown attribute 21@Attr11
+ SPELL_ATTR11_UNK22 = 0x00400000, // TITLE Unknown attribute 22@Attr11
+ SPELL_ATTR11_UNK23 = 0x00800000, // TITLE Unknown attribute 23@Attr11
+ SPELL_ATTR11_UNK24 = 0x01000000, // TITLE Unknown attribute 24@Attr11
+ SPELL_ATTR11_UNK25 = 0x02000000, // TITLE Unknown attribute 25@Attr11
+ SPELL_ATTR11_UNK26 = 0x04000000, // TITLE Unknown attribute 26@Attr11
+ SPELL_ATTR11_UNK27 = 0x08000000, // TITLE Unknown attribute 27@Attr11
+ SPELL_ATTR11_UNK28 = 0x10000000, // TITLE Unknown attribute 28@Attr11
+ SPELL_ATTR11_UNK29 = 0x20000000, // TITLE Unknown attribute 29@Attr11
+ SPELL_ATTR11_UNK30 = 0x40000000, // TITLE Unknown attribute 30@Attr11
+ SPELL_ATTR11_UNK31 = 0x80000000 // TITLE Unknown attribute 31@Attr11
};
// EnumUtils: DESCRIBE THIS
-enum SpellAttr12
-{
- SPELL_ATTR12_UNK0 = 0x00000001,
- SPELL_ATTR12_UNK1 = 0x00000002,
- SPELL_ATTR12_UNK2 = 0x00000004,
- SPELL_ATTR12_UNK3 = 0x00000008,
- SPELL_ATTR12_UNK4 = 0x00000010,
- SPELL_ATTR12_UNK5 = 0x00000020,
- SPELL_ATTR12_UNK6 = 0x00000040,
- SPELL_ATTR12_UNK7 = 0x00000080,
- SPELL_ATTR12_UNK8 = 0x00000100,
+enum SpellAttr12 : uint32
+{
+ SPELL_ATTR12_UNK0 = 0x00000001, // TITLE Unknown attribute 0@Attr12
+ SPELL_ATTR12_UNK1 = 0x00000002, // TITLE Unknown attribute 1@Attr12
+ SPELL_ATTR12_UNK2 = 0x00000004, // TITLE Unknown attribute 2@Attr12
+ SPELL_ATTR12_UNK3 = 0x00000008, // TITLE Unknown attribute 3@Attr12
+ SPELL_ATTR12_UNK4 = 0x00000010, // TITLE Unknown attribute 4@Attr12
+ SPELL_ATTR12_UNK5 = 0x00000020, // TITLE Unknown attribute 5@Attr12
+ SPELL_ATTR12_UNK6 = 0x00000040, // TITLE Unknown attribute 6@Attr12
+ SPELL_ATTR12_UNK7 = 0x00000080, // TITLE Unknown attribute 7@Attr12
+ SPELL_ATTR12_UNK8 = 0x00000100, // TITLE Unknown attribute 8@Attr12
SPELL_ATTR12_IGNORE_CASTING_DISABLED = 0x00000200, // TITLE Active Passive DESCRIPTION Ignores aura 263 SPELL_AURA_DISABLE_CASTING_EXCEPT_ABILITIES
- SPELL_ATTR12_UNK10 = 0x00000400,
- SPELL_ATTR12_UNK11 = 0x00000800,
- SPELL_ATTR12_UNK12 = 0x00001000,
- SPELL_ATTR12_UNK13 = 0x00002000,
- SPELL_ATTR12_UNK14 = 0x00004000,
- SPELL_ATTR12_UNK15 = 0x00008000,
- SPELL_ATTR12_UNK16 = 0x00010000,
- SPELL_ATTR12_UNK17 = 0x00020000,
- SPELL_ATTR12_UNK18 = 0x00040000,
- SPELL_ATTR12_UNK19 = 0x00080000,
- SPELL_ATTR12_UNK20 = 0x00100000,
- SPELL_ATTR12_UNK21 = 0x00200000,
- SPELL_ATTR12_UNK22 = 0x00400000,
+ SPELL_ATTR12_UNK10 = 0x00000400, // TITLE Unknown attribute 10@Attr12
+ SPELL_ATTR12_UNK11 = 0x00000800, // TITLE Unknown attribute 11@Attr12
+ SPELL_ATTR12_UNK12 = 0x00001000, // TITLE Unknown attribute 12@Attr12
+ SPELL_ATTR12_UNK13 = 0x00002000, // TITLE Unknown attribute 13@Attr12
+ SPELL_ATTR12_UNK14 = 0x00004000, // TITLE Unknown attribute 14@Attr12
+ SPELL_ATTR12_UNK15 = 0x00008000, // TITLE Unknown attribute 15@Attr12
+ SPELL_ATTR12_UNK16 = 0x00010000, // TITLE Unknown attribute 16@Attr12
+ SPELL_ATTR12_UNK17 = 0x00020000, // TITLE Unknown attribute 17@Attr12
+ SPELL_ATTR12_UNK18 = 0x00040000, // TITLE Unknown attribute 18@Attr12
+ SPELL_ATTR12_UNK19 = 0x00080000, // TITLE Unknown attribute 19@Attr12
+ SPELL_ATTR12_UNK20 = 0x00100000, // TITLE Unknown attribute 20@Attr12
+ SPELL_ATTR12_UNK21 = 0x00200000, // TITLE Unknown attribute 21@Attr12
+ SPELL_ATTR12_UNK22 = 0x00400000, // TITLE Unknown attribute 22@Attr12
SPELL_ATTR12_START_COOLDOWN_ON_CAST_START = 0x00800000, // TITLE Trigger Cooldown On Spell Start
- SPELL_ATTR12_IS_GARRISON_BUFF = 0x01000000,
- SPELL_ATTR12_UNK25 = 0x02000000,
- SPELL_ATTR12_UNK26 = 0x04000000,
- SPELL_ATTR12_IS_READINESS_SPELL = 0x08000000,
- SPELL_ATTR12_UNK28 = 0x10000000,
- SPELL_ATTR12_UNK29 = 0x20000000,
- SPELL_ATTR12_UNK30 = 0x40000000,
- SPELL_ATTR12_UNK31 = 0x80000000
+ SPELL_ATTR12_IS_GARRISON_BUFF = 0x01000000, // TITLE Never Learn
+ SPELL_ATTR12_UNK25 = 0x02000000, // TITLE Unknown attribute 25@Attr12
+ SPELL_ATTR12_UNK26 = 0x04000000, // TITLE Unknown attribute 26@Attr12
+ SPELL_ATTR12_IS_READINESS_SPELL = 0x08000000, // TITLE Recompute Aura on Mercenary Mode
+ SPELL_ATTR12_UNK28 = 0x10000000, // TITLE Unknown attribute 28@Attr12
+ SPELL_ATTR12_UNK29 = 0x20000000, // TITLE Unknown attribute 29@Attr12
+ SPELL_ATTR12_UNK30 = 0x40000000, // TITLE Unknown attribute 30@Attr12
+ SPELL_ATTR12_UNK31 = 0x80000000 // TITLE Unknown attribute 31@Attr12
};
// EnumUtils: DESCRIBE THIS
-enum SpellAttr13
-{
- SPELL_ATTR13_UNK0 = 0x00000001,
- SPELL_ATTR13_UNK1 = 0x00000002,
- SPELL_ATTR13_PASSIVE_IS_UPGRADE = 0x00000004, // 2 Displays "Upgrade" in spell tooltip instead of "Passive"
- SPELL_ATTR13_UNK3 = 0x00000008,
- SPELL_ATTR13_UNK4 = 0x00000010,
- SPELL_ATTR13_UNK5 = 0x00000020,
- SPELL_ATTR13_UNK6 = 0x00000040,
- SPELL_ATTR13_UNK7 = 0x00000080,
- SPELL_ATTR13_UNK8 = 0x00000100,
- SPELL_ATTR13_UNK9 = 0x00000200,
- SPELL_ATTR13_UNK10 = 0x00000400,
- SPELL_ATTR13_UNK11 = 0x00000800,
- SPELL_ATTR13_UNK12 = 0x00001000,
- SPELL_ATTR13_UNK13 = 0x00002000,
- SPELL_ATTR13_UNK14 = 0x00004000,
- SPELL_ATTR13_UNK15 = 0x00008000,
- SPELL_ATTR13_UNK16 = 0x00010000,
- SPELL_ATTR13_UNK17 = 0x00020000,
- SPELL_ATTR13_ACTIVATES_REQUIRED_SHAPESHIFT = 0x00040000,
- SPELL_ATTR13_UNK19 = 0x00080000,
- SPELL_ATTR13_UNK20 = 0x00100000,
- SPELL_ATTR13_UNK21 = 0x00200000,
- SPELL_ATTR13_UNK22 = 0x00400000,
- SPELL_ATTR13_UNK23 = 0x00800000,
- SPELL_ATTR13_UNK24 = 0x01000000,
- SPELL_ATTR13_UNK25 = 0x02000000,
- SPELL_ATTR13_UNK26 = 0x04000000,
- SPELL_ATTR13_UNK27 = 0x08000000,
- SPELL_ATTR13_UNK28 = 0x10000000,
- SPELL_ATTR13_UNK29 = 0x20000000,
- SPELL_ATTR13_UNK30 = 0x40000000,
- SPELL_ATTR13_UNK31 = 0x80000000
+enum SpellAttr13 : uint32
+{
+ SPELL_ATTR13_UNK0 = 0x00000001, // TITLE Unknown attribute 0@Attr13
+ SPELL_ATTR13_UNK1 = 0x00000002, // TITLE Unknown attribute 0@Attr13
+ SPELL_ATTR13_PASSIVE_IS_UPGRADE = 0x00000004, // TITLE Is Upgrade DESCRIPTION Displays "Upgrade" in spell tooltip instead of "Passive"
+ SPELL_ATTR13_UNK3 = 0x00000008, // TITLE Unknown attribute 3@Attr13
+ SPELL_ATTR13_UNK4 = 0x00000010, // TITLE Unknown attribute 4@Attr13
+ SPELL_ATTR13_UNK5 = 0x00000020, // TITLE Unknown attribute 5@Attr13
+ SPELL_ATTR13_UNK6 = 0x00000040, // TITLE Unknown attribute 6@Attr13
+ SPELL_ATTR13_UNK7 = 0x00000080, // TITLE Unknown attribute 7@Attr13
+ SPELL_ATTR13_UNK8 = 0x00000100, // TITLE Unknown attribute 8@Attr13
+ SPELL_ATTR13_UNK9 = 0x00000200, // TITLE Unknown attribute 9@Attr13
+ SPELL_ATTR13_UNK10 = 0x00000400, // TITLE Unknown attribute 10@Attr13
+ SPELL_ATTR13_UNK11 = 0x00000800, // TITLE Unknown attribute 11@Attr13
+ SPELL_ATTR13_UNK12 = 0x00001000, // TITLE Unknown attribute 12@Attr13
+ SPELL_ATTR13_UNK13 = 0x00002000, // TITLE Unknown attribute 13@Attr13
+ SPELL_ATTR13_UNK14 = 0x00004000, // TITLE Unknown attribute 14@Attr13
+ SPELL_ATTR13_UNK15 = 0x00008000, // TITLE Unknown attribute 15@Attr13
+ SPELL_ATTR13_UNK16 = 0x00010000, // TITLE Unknown attribute 16@Attr13
+ SPELL_ATTR13_UNK17 = 0x00020000, // TITLE Unknown attribute 17@Attr13
+ SPELL_ATTR13_ACTIVATES_REQUIRED_SHAPESHIFT = 0x00040000, // TITLE Do Not Enforce Shapeshift Requirements
+ SPELL_ATTR13_UNK19 = 0x00080000, // TITLE Unknown attribute 19@Attr13
+ SPELL_ATTR13_UNK20 = 0x00100000, // TITLE Unknown attribute 20@Attr13
+ SPELL_ATTR13_UNK21 = 0x00200000, // TITLE Unknown attribute 21@Attr13
+ SPELL_ATTR13_UNK22 = 0x00400000, // TITLE Unknown attribute 22@Attr13
+ SPELL_ATTR13_UNK23 = 0x00800000, // TITLE Unknown attribute 23@Attr13
+ SPELL_ATTR13_UNK24 = 0x01000000, // TITLE Unknown attribute 24@Attr13
+ SPELL_ATTR13_UNK25 = 0x02000000, // TITLE Unknown attribute 25@Attr13
+ SPELL_ATTR13_UNK26 = 0x04000000, // TITLE Unknown attribute 26@Attr13
+ SPELL_ATTR13_UNK27 = 0x08000000, // TITLE Unknown attribute 27@Attr13
+ SPELL_ATTR13_UNK28 = 0x10000000, // TITLE Unknown attribute 28@Attr13
+ SPELL_ATTR13_UNK29 = 0x20000000, // TITLE Unknown attribute 29@Attr13
+ SPELL_ATTR13_UNK30 = 0x40000000, // TITLE Unknown attribute 30@Attr13
+ SPELL_ATTR13_UNK31 = 0x80000000 // TITLE Unknown attribute 31@Attr13
};
// EnumUtils: DESCRIBE THIS
-enum SpellAttr14
+enum SpellAttr14 : uint32
{
- SPELL_ATTR14_UNK0 = 0x00000001,
+ SPELL_ATTR14_UNK0 = 0x00000001, // TITLE Unknown attribute 0@Attr14
SPELL_ATTR14_REAGENT_COST_CONSUMES_CHARGES = 0x00000002, // TITLE Reagent Consume Charges DESCRIPTION Consumes item charges for reagent costs instead of whole items
- SPELL_ATTR14_UNK2 = 0x00000004,
+ SPELL_ATTR14_UNK2 = 0x00000004, // TITLE Unknown attribute 2@Attr14
SPELL_ATTR14_HIDE_PASSIVE_FROM_TOOLTIP = 0x00000008, // TITLE Don't show "Passive" or "Upgrade" in tooltip
- SPELL_ATTR14_UNK4 = 0x00000010,
- SPELL_ATTR14_UNK5 = 0x00000020,
- SPELL_ATTR14_UNK6 = 0x00000040,
- SPELL_ATTR14_UNK7 = 0x00000080,
- SPELL_ATTR14_UNK8 = 0x00000100,
- SPELL_ATTR14_UNK9 = 0x00000200,
- SPELL_ATTR14_UNK10 = 0x00000400,
- SPELL_ATTR14_UNK11 = 0x00000800,
- SPELL_ATTR14_UNK12 = 0x00001000,
- SPELL_ATTR14_UNK13 = 0x00002000,
- SPELL_ATTR14_UNK14 = 0x00004000,
- SPELL_ATTR14_UNK15 = 0x00008000,
- SPELL_ATTR14_UNK16 = 0x00010000,
- SPELL_ATTR14_UNK17 = 0x00020000,
- SPELL_ATTR14_UNK18 = 0x00040000,
- SPELL_ATTR14_UNK19 = 0x00080000,
- SPELL_ATTR14_UNK20 = 0x00100000,
- SPELL_ATTR14_UNK21 = 0x00200000,
- SPELL_ATTR14_UNK22 = 0x00400000,
- SPELL_ATTR14_UNK23 = 0x00800000,
- SPELL_ATTR14_UNK24 = 0x01000000,
- SPELL_ATTR14_UNK25 = 0x02000000,
- SPELL_ATTR14_UNK26 = 0x04000000,
- SPELL_ATTR14_UNK27 = 0x08000000,
- SPELL_ATTR14_UNK28 = 0x10000000,
- SPELL_ATTR14_UNK29 = 0x20000000,
- SPELL_ATTR14_UNK30 = 0x40000000,
- SPELL_ATTR14_UNK31 = 0x80000000
+ SPELL_ATTR14_UNK4 = 0x00000010, // TITLE Unknown attribute 4@Attr14
+ SPELL_ATTR14_UNK5 = 0x00000020, // TITLE Unknown attribute 5@Attr14
+ SPELL_ATTR14_UNK6 = 0x00000040, // TITLE Unknown attribute 6@Attr14
+ SPELL_ATTR14_UNK7 = 0x00000080, // TITLE Unknown attribute 7@Attr14
+ SPELL_ATTR14_UNK8 = 0x00000100, // TITLE Unknown attribute 8@Attr14
+ SPELL_ATTR14_UNK9 = 0x00000200, // TITLE Unknown attribute 9@Attr14
+ SPELL_ATTR14_UNK10 = 0x00000400, // TITLE Unknown attribute 10@Attr14
+ SPELL_ATTR14_UNK11 = 0x00000800, // TITLE Unknown attribute 11@Attr14
+ SPELL_ATTR14_UNK12 = 0x00001000, // TITLE Unknown attribute 12@Attr14
+ SPELL_ATTR14_UNK13 = 0x00002000, // TITLE Unknown attribute 13@Attr14
+ SPELL_ATTR14_UNK14 = 0x00004000, // TITLE Unknown attribute 14@Attr14
+ SPELL_ATTR14_UNK15 = 0x00008000, // TITLE Unknown attribute 15@Attr14
+ SPELL_ATTR14_UNK16 = 0x00010000, // TITLE Unknown attribute 16@Attr14
+ SPELL_ATTR14_UNK17 = 0x00020000, // TITLE Unknown attribute 17@Attr14
+ SPELL_ATTR14_UNK18 = 0x00040000, // TITLE Unknown attribute 18@Attr14
+ SPELL_ATTR14_UNK19 = 0x00080000, // TITLE Unknown attribute 19@Attr14
+ SPELL_ATTR14_UNK20 = 0x00100000, // TITLE Unknown attribute 20@Attr14
+ SPELL_ATTR14_UNK21 = 0x00200000, // TITLE Unknown attribute 21@Attr14
+ SPELL_ATTR14_UNK22 = 0x00400000, // TITLE Unknown attribute 22@Attr14
+ SPELL_ATTR14_UNK23 = 0x00800000, // TITLE Unknown attribute 23@Attr14
+ SPELL_ATTR14_UNK24 = 0x01000000, // TITLE Unknown attribute 24@Attr14
+ SPELL_ATTR14_UNK25 = 0x02000000, // TITLE Unknown attribute 25@Attr14
+ SPELL_ATTR14_UNK26 = 0x04000000, // TITLE Unknown attribute 26@Attr14
+ SPELL_ATTR14_UNK27 = 0x08000000, // TITLE Unknown attribute 27@Attr14
+ SPELL_ATTR14_UNK28 = 0x10000000, // TITLE Unknown attribute 28@Attr14
+ SPELL_ATTR14_UNK29 = 0x20000000, // TITLE Unknown attribute 29@Attr14
+ SPELL_ATTR14_UNK30 = 0x40000000, // TITLE Unknown attribute 30@Attr14
+ SPELL_ATTR14_UNK31 = 0x80000000 // TITLE Unknown attribute 31@Attr14
};
#define MIN_SPECIALIZATION_LEVEL 10
diff --git a/src/server/game/Miscellaneous/enuminfo_SharedDefines.cpp b/src/server/game/Miscellaneous/enuminfo_SharedDefines.cpp
index 01c909482b2..4c9293a97cf 100644
--- a/src/server/game/Miscellaneous/enuminfo_SharedDefines.cpp
+++ b/src/server/game/Miscellaneous/enuminfo_SharedDefines.cpp
@@ -135,7 +135,7 @@ TC_API_EXPORT EnumText EnumUtils<SpellAttr0>::ToString(SpellAttr0 value)
{
switch (value)
{
- case SPELL_ATTR0_UNK0: return { "SPELL_ATTR0_UNK0", "SPELL_ATTR0_UNK0", "" };
+ case SPELL_ATTR0_UNK0: return { "SPELL_ATTR0_UNK0", "Unknown attribute 0@Attr0", "" };
case SPELL_ATTR0_REQ_AMMO: return { "SPELL_ATTR0_REQ_AMMO", "Treat as ranged attack", "Use ammo, ranged attack range modifiers, ranged haste, etc." };
case SPELL_ATTR0_ON_NEXT_SWING: return { "SPELL_ATTR0_ON_NEXT_SWING", "On next melee (type 1)", "Both \042on next swing\042 attributes have identical handling in server & client" };
case SPELL_ATTR0_IS_REPLENISHMENT: return { "SPELL_ATTR0_IS_REPLENISHMENT", "Replenishment (client only)", "" };
@@ -146,7 +146,7 @@ TC_API_EXPORT EnumText EnumUtils<SpellAttr0>::ToString(SpellAttr0 value)
case SPELL_ATTR0_HIDE_IN_COMBAT_LOG: return { "SPELL_ATTR0_HIDE_IN_COMBAT_LOG", "Hidden in combat log (client only)", "Spell will not appear in combat logs" };
case SPELL_ATTR0_TARGET_MAINHAND_ITEM: return { "SPELL_ATTR0_TARGET_MAINHAND_ITEM", "Auto-target mainhand item (client only)", "Client will automatically select main-hand item as cast target" };
case SPELL_ATTR0_ON_NEXT_SWING_2: return { "SPELL_ATTR0_ON_NEXT_SWING_2", "On next melee (type 2)", "Both \042on next swing\042 attributes have identical handling in server & client" };
- case SPELL_ATTR0_UNK11: return { "SPELL_ATTR0_UNK11", "SPELL_ATTR0_UNK11", "" };
+ case SPELL_ATTR0_UNK11: return { "SPELL_ATTR0_UNK11", "Unknown attribute 11@Attr0", "" };
case SPELL_ATTR0_DAYTIME_ONLY: return { "SPELL_ATTR0_DAYTIME_ONLY", "Only usable during daytime (unused)", "" };
case SPELL_ATTR0_NIGHT_ONLY: return { "SPELL_ATTR0_NIGHT_ONLY", "Only usable during nighttime (unused)", "" };
case SPELL_ATTR0_INDOORS_ONLY: return { "SPELL_ATTR0_INDOORS_ONLY", "Only usable indoors", "" };
@@ -227,7 +227,7 @@ TC_API_EXPORT EnumText EnumUtils<SpellAttr1>::ToString(SpellAttr1 value)
case SPELL_ATTR1_DRAIN_ALL_POWER: return { "SPELL_ATTR1_DRAIN_ALL_POWER", "Drain all power", "Ignores listed power cost and drains entire pool instead" };
case SPELL_ATTR1_CHANNELED_1: return { "SPELL_ATTR1_CHANNELED_1", "Channeled (type 1)", "Both \042channeled\042 attributes have identical handling in server & client" };
case SPELL_ATTR1_CANT_BE_REDIRECTED: return { "SPELL_ATTR1_CANT_BE_REDIRECTED", "Ignore redirection effects", "Spell will not be attracted by SPELL_MAGNET auras (Grounding Totem)" };
- case SPELL_ATTR1_UNK4: return { "SPELL_ATTR1_UNK4", "SPELL_ATTR1_UNK4", "" };
+ case SPELL_ATTR1_UNK4: return { "SPELL_ATTR1_UNK4", "Unknown attribute 4@Attr1", "" };
case SPELL_ATTR1_NOT_BREAK_STEALTH: return { "SPELL_ATTR1_NOT_BREAK_STEALTH", "Does not break stealth", "" };
case SPELL_ATTR1_CHANNELED_2: return { "SPELL_ATTR1_CHANNELED_2", "Channeled (type 2)", "Both \042channeled\042 attributes have identical handling in server & client" };
case SPELL_ATTR1_CANT_BE_REFLECTED: return { "SPELL_ATTR1_CANT_BE_REFLECTED", "Ignore reflection effects", "Spell will pierce through Spell Reflection and similar" };
@@ -241,20 +241,20 @@ TC_API_EXPORT EnumText EnumUtils<SpellAttr1>::ToString(SpellAttr1 value)
case SPELL_ATTR1_DISPEL_AURAS_ON_IMMUNITY: return { "SPELL_ATTR1_DISPEL_AURAS_ON_IMMUNITY", "Immunity cancels preapplied auras", "For immunity spells, cancel all auras that this spell would make you immune to when the spell is applied" };
case SPELL_ATTR1_UNAFFECTED_BY_SCHOOL_IMMUNE: return { "SPELL_ATTR1_UNAFFECTED_BY_SCHOOL_IMMUNE", "Unaffected by school immunities", "Will not pierce Divine Shield, Ice Block and other full invulnerabilities" };
case SPELL_ATTR1_UNAUTOCASTABLE_BY_PET: return { "SPELL_ATTR1_UNAUTOCASTABLE_BY_PET", "Cannot be autocast by pet", "" };
- case SPELL_ATTR1_UNK18: return { "SPELL_ATTR1_UNK18", "SPELL_ATTR1_UNK18", "" };
+ case SPELL_ATTR1_UNK18: return { "SPELL_ATTR1_UNK18", "Unknown attribute 18@Attr1", "Stun, Polymorph, Daze, Hex - CC?" };
case SPELL_ATTR1_CANT_TARGET_SELF: return { "SPELL_ATTR1_CANT_TARGET_SELF", "Cannot be self-cast", "" };
case SPELL_ATTR1_REQ_COMBO_POINTS1: return { "SPELL_ATTR1_REQ_COMBO_POINTS1", "Requires combo points (type 1)", "" };
- case SPELL_ATTR1_UNK21: return { "SPELL_ATTR1_UNK21", "SPELL_ATTR1_UNK21", "" };
+ case SPELL_ATTR1_UNK21: return { "SPELL_ATTR1_UNK21", "Unknown attribute 21@Attr1", "" };
case SPELL_ATTR1_REQ_COMBO_POINTS2: return { "SPELL_ATTR1_REQ_COMBO_POINTS2", "Requires combo points (type 2)", "" };
- case SPELL_ATTR1_UNK23: return { "SPELL_ATTR1_UNK23", "SPELL_ATTR1_UNK23", "" };
+ case SPELL_ATTR1_UNK23: return { "SPELL_ATTR1_UNK23", "Unknwon attribute 23@Attr1", "" };
case SPELL_ATTR1_IS_FISHING: return { "SPELL_ATTR1_IS_FISHING", "Fishing (client only)", "" };
- case SPELL_ATTR1_UNK25: return { "SPELL_ATTR1_UNK25", "SPELL_ATTR1_UNK25", "" };
- case SPELL_ATTR1_UNK26: return { "SPELL_ATTR1_UNK26", "SPELL_ATTR1_UNK26", "" };
- case SPELL_ATTR1_UNK27: return { "SPELL_ATTR1_UNK27", "SPELL_ATTR1_UNK27", "" };
+ case SPELL_ATTR1_UNK25: return { "SPELL_ATTR1_UNK25", "Unknown attribute 25@Attr1", "" };
+ case SPELL_ATTR1_UNK26: return { "SPELL_ATTR1_UNK26", "Unknown attribute 26@Attr1", "Related to [target=focus] and [target=mouseover] macros?" };
+ case SPELL_ATTR1_UNK27: return { "SPELL_ATTR1_UNK27", "Unknown attribute 27@Attr1", "Melee spell?" };
case SPELL_ATTR1_DONT_DISPLAY_IN_AURA_BAR: return { "SPELL_ATTR1_DONT_DISPLAY_IN_AURA_BAR", "Hide in aura bar (client only)", "" };
case SPELL_ATTR1_CHANNEL_DISPLAY_SPELL_NAME: return { "SPELL_ATTR1_CHANNEL_DISPLAY_SPELL_NAME", "Show spell name during channel (client only)", "" };
case SPELL_ATTR1_ENABLE_AT_DODGE: return { "SPELL_ATTR1_ENABLE_AT_DODGE", "Enable at dodge", "" };
- case SPELL_ATTR1_UNK31: return { "SPELL_ATTR1_UNK31", "SPELL_ATTR1_UNK31", "" };
+ case SPELL_ATTR1_UNK31: return { "SPELL_ATTR1_UNK31", "Unknown attribute 31@Attr1", "" };
default: throw std::out_of_range("value");
}
}
@@ -312,33 +312,33 @@ TC_API_EXPORT EnumText EnumUtils<SpellAttr2>::ToString(SpellAttr2 value)
switch (value)
{
case SPELL_ATTR2_CAN_TARGET_DEAD: return { "SPELL_ATTR2_CAN_TARGET_DEAD", "Can target dead players or corpses", "" };
- case SPELL_ATTR2_UNK1: return { "SPELL_ATTR2_UNK1", "SPELL_ATTR2_UNK1", "" };
+ case SPELL_ATTR2_UNK1: return { "SPELL_ATTR2_UNK1", "Unknown attribute 1@Attr2", "" };
case SPELL_ATTR2_CAN_TARGET_NOT_IN_LOS: return { "SPELL_ATTR2_CAN_TARGET_NOT_IN_LOS", "Ignore Line of Sight", "" };
case SPELL_ATTR2_UNK3: return { "SPELL_ATTR2_UNK3", "Ignore aura scaling", "" };
case SPELL_ATTR2_DISPLAY_IN_STANCE_BAR: return { "SPELL_ATTR2_DISPLAY_IN_STANCE_BAR", "Show in stance bar (client only)", "" };
case SPELL_ATTR2_AUTOREPEAT_FLAG: return { "SPELL_ATTR2_AUTOREPEAT_FLAG", "Ranged auto-attack spell", "" };
case SPELL_ATTR2_CANT_TARGET_TAPPED: return { "SPELL_ATTR2_CANT_TARGET_TAPPED", "Cannot target others' tapped units", "Can only target untapped units, or those tapped by caster" };
- case SPELL_ATTR2_UNK7: return { "SPELL_ATTR2_UNK7", "SPELL_ATTR2_UNK7", "" };
- case SPELL_ATTR2_UNK8: return { "SPELL_ATTR2_UNK8", "SPELL_ATTR2_UNK8", "" };
- case SPELL_ATTR2_UNK9: return { "SPELL_ATTR2_UNK9", "SPELL_ATTR2_UNK9", "" };
- case SPELL_ATTR2_UNK10: return { "SPELL_ATTR2_UNK10", "SPELL_ATTR2_UNK10", "" };
+ case SPELL_ATTR2_UNK7: return { "SPELL_ATTR2_UNK7", "Unknown attribute 7@Attr2", "" };
+ case SPELL_ATTR2_UNK8: return { "SPELL_ATTR2_UNK8", "Unknown attribute 8@Attr2", "" };
+ case SPELL_ATTR2_UNK9: return { "SPELL_ATTR2_UNK9", "Unknown attribute 9@Attr2", "" };
+ case SPELL_ATTR2_UNK10: return { "SPELL_ATTR2_UNK10", "Unknown attribute 10@Attr2", "Related to taming?" };
case SPELL_ATTR2_HEALTH_FUNNEL: return { "SPELL_ATTR2_HEALTH_FUNNEL", "Health Funnel", "" };
- case SPELL_ATTR2_UNK12: return { "SPELL_ATTR2_UNK12", "SPELL_ATTR2_UNK12", "" };
+ case SPELL_ATTR2_UNK12: return { "SPELL_ATTR2_UNK12", "Unknown attribute 12@Attr2", "" };
case SPELL_ATTR2_PRESERVE_ENCHANT_IN_ARENA: return { "SPELL_ATTR2_PRESERVE_ENCHANT_IN_ARENA", "Enchant persists when entering arena", "" };
- case SPELL_ATTR2_UNK14: return { "SPELL_ATTR2_UNK14", "SPELL_ATTR2_UNK14", "" };
- case SPELL_ATTR2_UNK15: return { "SPELL_ATTR2_UNK15", "SPELL_ATTR2_UNK15", "" };
+ case SPELL_ATTR2_UNK14: return { "SPELL_ATTR2_UNK14", "Unknown attribute 14@Attr2", "" };
+ case SPELL_ATTR2_UNK15: return { "SPELL_ATTR2_UNK15", "Unknown attribute 15@Attr2", "" };
case SPELL_ATTR2_TAME_BEAST: return { "SPELL_ATTR2_TAME_BEAST", "Tame Beast", "" };
case SPELL_ATTR2_NOT_RESET_AUTO_ACTIONS: return { "SPELL_ATTR2_NOT_RESET_AUTO_ACTIONS", "Don't reset swing timer", "Does not reset melee/ranged autoattack timer on cast" };
case SPELL_ATTR2_REQ_DEAD_PET: return { "SPELL_ATTR2_REQ_DEAD_PET", "Requires dead pet", "" };
case SPELL_ATTR2_NOT_NEED_SHAPESHIFT: return { "SPELL_ATTR2_NOT_NEED_SHAPESHIFT", "Also allow outside shapeshift", "Even if Stances are nonzero, allow spell to be cast outside of shapeshift (though not in a different shapeshift)" };
- case SPELL_ATTR2_UNK20: return { "SPELL_ATTR2_UNK20", "SPELL_ATTR2_UNK20", "" };
- case SPELL_ATTR2_DAMAGE_REDUCED_SHIELD: return { "SPELL_ATTR2_DAMAGE_REDUCED_SHIELD", "SPELL_ATTR2_DAMAGE_REDUCED_SHIELD", "" };
- case SPELL_ATTR2_UNK22: return { "SPELL_ATTR2_UNK22", "SPELL_ATTR2_UNK22", "" };
+ case SPELL_ATTR2_UNK20: return { "SPELL_ATTR2_UNK20", "Unknown attribute 20@Attr2", "" };
+ case SPELL_ATTR2_DAMAGE_REDUCED_SHIELD: return { "SPELL_ATTR2_DAMAGE_REDUCED_SHIELD", "Damage reduction ability", "Causes BG flags to be dropped if combined with ATTR1_DISPEL_AURAS_ON_IMMUNITY" };
+ case SPELL_ATTR2_UNK22: return { "SPELL_ATTR2_UNK22", "Unknown attribute 22@Attr2", "" };
case SPELL_ATTR2_IS_ARCANE_CONCENTRATION: return { "SPELL_ATTR2_IS_ARCANE_CONCENTRATION", "Arcane Concentration", "" };
- case SPELL_ATTR2_UNK24: return { "SPELL_ATTR2_UNK24", "SPELL_ATTR2_UNK24", "" };
- case SPELL_ATTR2_UNK25: return { "SPELL_ATTR2_UNK25", "SPELL_ATTR2_UNK25", "" };
+ case SPELL_ATTR2_UNK24: return { "SPELL_ATTR2_UNK24", "Unknown attribute 24@Attr2", "" };
+ case SPELL_ATTR2_UNK25: return { "SPELL_ATTR2_UNK25", "Unknown attribute 25@Attr2", "" };
case SPELL_ATTR2_UNAFFECTED_BY_AURA_SCHOOL_IMMUNE: return { "SPELL_ATTR2_UNAFFECTED_BY_AURA_SCHOOL_IMMUNE", "Pierce aura application immunities", "Allow aura to be applied despite target being immune to new aura applications" };
- case SPELL_ATTR2_UNK27: return { "SPELL_ATTR2_UNK27", "SPELL_ATTR2_UNK27", "" };
+ case SPELL_ATTR2_UNK27: return { "SPELL_ATTR2_UNK27", "Unknown attribute 27@Attr2", "" };
case SPELL_ATTR2_IGNORE_ACTION_AURA_INTERRUPT_FLAGS: return { "SPELL_ATTR2_IGNORE_ACTION_AURA_INTERRUPT_FLAGS", "Not an Action", "" };
case SPELL_ATTR2_CANT_CRIT: return { "SPELL_ATTR2_CANT_CRIT", "Cannot critically strike", "" };
case SPELL_ATTR2_TRIGGERED_CAN_TRIGGER_PROC: return { "SPELL_ATTR2_TRIGGERED_CAN_TRIGGER_PROC", "Allow triggered spell to trigger procs", "Without this attribute, any triggered spell will be unable to trigger other auras' procs" };
@@ -399,13 +399,13 @@ TC_API_EXPORT EnumText EnumUtils<SpellAttr3>::ToString(SpellAttr3 value)
{
switch (value)
{
- case SPELL_ATTR3_UNK0: return { "SPELL_ATTR3_UNK0", "SPELL_ATTR3_UNK0", "" };
+ case SPELL_ATTR3_UNK0: return { "SPELL_ATTR3_UNK0", "Unknown attribute 0@Attr3", "" };
case SPELL_ATTR3_NO_PROC_EQUIP_REQUIREMENT: return { "SPELL_ATTR3_NO_PROC_EQUIP_REQUIREMENT", "No Proc Equip Requirement", "Ignores subclass mask check when checking proc" };
- case SPELL_ATTR3_UNK2: return { "SPELL_ATTR3_UNK2", "SPELL_ATTR3_UNK2", "" };
+ case SPELL_ATTR3_UNK2: return { "SPELL_ATTR3_UNK2", "Unknown attribute 2@Attr3", "" };
case SPELL_ATTR3_BLOCKABLE_SPELL: return { "SPELL_ATTR3_BLOCKABLE_SPELL", "Blockable spell", "" };
case SPELL_ATTR3_IGNORE_RESURRECTION_TIMER: return { "SPELL_ATTR3_IGNORE_RESURRECTION_TIMER", "Ignore resurrection timer", "" };
- case SPELL_ATTR3_UNK5: return { "SPELL_ATTR3_UNK5", "SPELL_ATTR3_UNK5", "" };
- case SPELL_ATTR3_UNK6: return { "SPELL_ATTR3_UNK6", "SPELL_ATTR3_UNK6", "" };
+ case SPELL_ATTR3_UNK5: return { "SPELL_ATTR3_UNK5", "Unknown attribute 5@Attr3", "" };
+ case SPELL_ATTR3_UNK6: return { "SPELL_ATTR3_UNK6", "Unknown attribute 6@Attr3", "" };
case SPELL_ATTR3_STACK_FOR_DIFF_CASTERS: return { "SPELL_ATTR3_STACK_FOR_DIFF_CASTERS", "Stack separately for each caster", "" };
case SPELL_ATTR3_ONLY_TARGET_PLAYERS: return { "SPELL_ATTR3_ONLY_TARGET_PLAYERS", "Can only target players", "" };
case SPELL_ATTR3_TRIGGERED_CAN_TRIGGER_PROC_2: return { "SPELL_ATTR3_TRIGGERED_CAN_TRIGGER_PROC_2", "Allow triggered spell to trigger (type 2)", "Without this attribute, any triggered spell will be unable to trigger other auras' procs" };
@@ -414,23 +414,23 @@ TC_API_EXPORT EnumText EnumUtils<SpellAttr3>::ToString(SpellAttr3 value)
case SPELL_ATTR3_ONLY_TARGET_GHOSTS: return { "SPELL_ATTR3_ONLY_TARGET_GHOSTS", "Can only target ghost players", "" };
case SPELL_ATTR3_DONT_DISPLAY_CHANNEL_BAR: return { "SPELL_ATTR3_DONT_DISPLAY_CHANNEL_BAR", "Do not display channel bar (client only)", "" };
case SPELL_ATTR3_IS_HONORLESS_TARGET: return { "SPELL_ATTR3_IS_HONORLESS_TARGET", "Honorless Target", "" };
- case SPELL_ATTR3_UNK15: return { "SPELL_ATTR3_UNK15", "SPELL_ATTR3_UNK15", "" };
+ case SPELL_ATTR3_UNK15: return { "SPELL_ATTR3_UNK15", "Unknown attribute 15@Attr3", "Auto Shoot, Shoot, Throw - ranged normal attack attribute?" };
case SPELL_ATTR3_CANT_TRIGGER_PROC: return { "SPELL_ATTR3_CANT_TRIGGER_PROC", "Cannot trigger procs", "" };
case SPELL_ATTR3_NO_INITIAL_AGGRO: return { "SPELL_ATTR3_NO_INITIAL_AGGRO", "No initial aggro", "" };
case SPELL_ATTR3_IGNORE_HIT_RESULT: return { "SPELL_ATTR3_IGNORE_HIT_RESULT", "Ignore hit result", "Spell cannot miss, or be dodged/parried/blocked" };
case SPELL_ATTR3_DISABLE_PROC: return { "SPELL_ATTR3_DISABLE_PROC", "Cannot trigger spells during aura proc", "" };
case SPELL_ATTR3_DEATH_PERSISTENT: return { "SPELL_ATTR3_DEATH_PERSISTENT", "Persists through death", "" };
- case SPELL_ATTR3_UNK21: return { "SPELL_ATTR3_UNK21", "SPELL_ATTR3_UNK21", "" };
+ case SPELL_ATTR3_UNK21: return { "SPELL_ATTR3_UNK21", "Unknown attribute 21@Attr3", "" };
case SPELL_ATTR3_REQ_WAND: return { "SPELL_ATTR3_REQ_WAND", "Requires equipped Wand", "" };
- case SPELL_ATTR3_UNK23: return { "SPELL_ATTR3_UNK23", "SPELL_ATTR3_UNK23", "" };
+ case SPELL_ATTR3_UNK23: return { "SPELL_ATTR3_UNK23", "Unknown attribute 23@Attr3", "" };
case SPELL_ATTR3_REQ_OFFHAND: return { "SPELL_ATTR3_REQ_OFFHAND", "Requires offhand weapon", "" };
case SPELL_ATTR3_TREAT_AS_PERIODIC: return { "SPELL_ATTR3_TREAT_AS_PERIODIC", "Treat as periodic effect", "" };
case SPELL_ATTR3_CAN_PROC_WITH_TRIGGERED: return { "SPELL_ATTR3_CAN_PROC_WITH_TRIGGERED", "Can trigger from triggered spells", "" };
case SPELL_ATTR3_DRAIN_SOUL: return { "SPELL_ATTR3_DRAIN_SOUL", "Drain Soul", "" };
- case SPELL_ATTR3_UNK28: return { "SPELL_ATTR3_UNK28", "SPELL_ATTR3_UNK28", "" };
+ case SPELL_ATTR3_UNK28: return { "SPELL_ATTR3_UNK28", "Unknown attribute 28@Attr3", "" };
case SPELL_ATTR3_NO_DONE_BONUS: return { "SPELL_ATTR3_NO_DONE_BONUS", "Damage dealt is unaffected by modifiers", "" };
case SPELL_ATTR3_DONT_DISPLAY_RANGE: return { "SPELL_ATTR3_DONT_DISPLAY_RANGE", "Do not show range in tooltip (client only)", "" };
- case SPELL_ATTR3_UNK31: return { "SPELL_ATTR3_UNK31", "SPELL_ATTR3_UNK31", "" };
+ case SPELL_ATTR3_UNK31: return { "SPELL_ATTR3_UNK31", "Unknown attribute 31@Attr3", "" };
default: throw std::out_of_range("value");
}
}
@@ -490,35 +490,35 @@ TC_API_EXPORT EnumText EnumUtils<SpellAttr4>::ToString(SpellAttr4 value)
case SPELL_ATTR4_IGNORE_RESISTANCES: return { "SPELL_ATTR4_IGNORE_RESISTANCES", "Cannot be resisted", "" };
case SPELL_ATTR4_PROC_ONLY_ON_CASTER: return { "SPELL_ATTR4_PROC_ONLY_ON_CASTER", "Only proc on self-cast", "" };
case SPELL_ATTR4_AURA_EXPIRES_OFFLINE: return { "SPELL_ATTR4_AURA_EXPIRES_OFFLINE", "Aura Expires Offline", "Debuffs (except Resurrection Sickness) will automatically do this" };
- case SPELL_ATTR4_UNK3: return { "SPELL_ATTR4_UNK3", "SPELL_ATTR4_UNK3", "" };
+ case SPELL_ATTR4_UNK3: return { "SPELL_ATTR4_UNK3", "Unknown attribute 3@Attr4", "" };
case SPELL_ATTR4_UNK4: return { "SPELL_ATTR4_UNK4", "Treat as delayed spell", "" };
- case SPELL_ATTR4_UNK5: return { "SPELL_ATTR4_UNK5", "SPELL_ATTR4_UNK5", "" };
+ case SPELL_ATTR4_UNK5: return { "SPELL_ATTR4_UNK5", "Unknown attribute 5@Attr4", "" };
case SPELL_ATTR4_NOT_STEALABLE: return { "SPELL_ATTR4_NOT_STEALABLE", "Aura cannot be stolen", "" };
case SPELL_ATTR4_CAN_CAST_WHILE_CASTING: return { "SPELL_ATTR4_CAN_CAST_WHILE_CASTING", "Can be cast while casting", "Ignores already in-progress cast and still casts" };
case SPELL_ATTR4_FIXED_DAMAGE: return { "SPELL_ATTR4_FIXED_DAMAGE", "Deals fixed damage", "" };
case SPELL_ATTR4_TRIGGER_ACTIVATE: return { "SPELL_ATTR4_TRIGGER_ACTIVATE", "Spell is initially disabled (client only)", "" };
case SPELL_ATTR4_SPELL_VS_EXTEND_COST: return { "SPELL_ATTR4_SPELL_VS_EXTEND_COST", "Attack speed modifies cost", "Adds 10 to power cost for each 1s of weapon speed" };
- case SPELL_ATTR4_UNK11: return { "SPELL_ATTR4_UNK11", "SPELL_ATTR4_UNK11", "" };
- case SPELL_ATTR4_UNK12: return { "SPELL_ATTR4_UNK12", "SPELL_ATTR4_UNK12", "" };
+ case SPELL_ATTR4_UNK11: return { "SPELL_ATTR4_UNK11", "Unknown attribute 11@Attr4", "" };
+ case SPELL_ATTR4_UNK12: return { "SPELL_ATTR4_UNK12", "Unknown attribute 12@Attr4", "" };
case SPELL_ATTR4_COMBAT_LOG_NO_CASTER: return { "SPELL_ATTR4_COMBAT_LOG_NO_CASTER", "Do Not Log Caster", "" };
case SPELL_ATTR4_DAMAGE_DOESNT_BREAK_AURAS: return { "SPELL_ATTR4_DAMAGE_DOESNT_BREAK_AURAS", "Damage does not break auras", "" };
case SPELL_ATTR4_HIDDEN_IN_SPELLBOOK: return { "SPELL_ATTR4_HIDDEN_IN_SPELLBOOK", "Not In Spellbook", "" };
case SPELL_ATTR4_NOT_USABLE_IN_ARENA_OR_RATED_BG: return { "SPELL_ATTR4_NOT_USABLE_IN_ARENA_OR_RATED_BG", "Not In Arena or Rated Battleground", "Makes spell unusable despite CD <= 10min" };
case SPELL_ATTR4_USABLE_IN_ARENA: return { "SPELL_ATTR4_USABLE_IN_ARENA", "Usable in arena", "Makes spell usable despite CD > 10min" };
case SPELL_ATTR4_AREA_TARGET_CHAIN: return { "SPELL_ATTR4_AREA_TARGET_CHAIN", "Chain area targets", "[NYI] Hits area targets over time instead of all at once" };
- case SPELL_ATTR4_UNK19: return { "SPELL_ATTR4_UNK19", "SPELL_ATTR4_UNK19", "" };
+ case SPELL_ATTR4_UNK19: return { "SPELL_ATTR4_UNK19", "Unknown attribute 19@Attr4", "" };
case SPELL_ATTR4_NOT_CHECK_SELFCAST_POWER: return { "SPELL_ATTR4_NOT_CHECK_SELFCAST_POWER", "Allow self-cast to override stronger aura (client only)", "" };
case SPELL_ATTR4_DONT_REMOVE_IN_ARENA: return { "SPELL_ATTR4_DONT_REMOVE_IN_ARENA", "Allow Entering Arena", "" };
- case SPELL_ATTR4_UNK22: return { "SPELL_ATTR4_UNK22", "SPELL_ATTR4_UNK22", "" };
+ case SPELL_ATTR4_UNK22: return { "SPELL_ATTR4_UNK22", "Unknown attribute 22@Attr4", "" };
case SPELL_ATTR4_SUPPRESS_WEAPON_PROCS: return { "SPELL_ATTR4_SUPPRESS_WEAPON_PROCS", "Suppress Weapon Procs", "" };
- case SPELL_ATTR4_UNK24: return { "SPELL_ATTR4_UNK24", "SPELL_ATTR4_UNK24", "" };
+ case SPELL_ATTR4_UNK24: return { "SPELL_ATTR4_UNK24", "Unknown attribute 24@Attr4", "Shoot-type spell?" };
case SPELL_ATTR4_IS_PET_SCALING: return { "SPELL_ATTR4_IS_PET_SCALING", "Pet Scaling aura", "" };
case SPELL_ATTR4_CAST_ONLY_IN_OUTLAND: return { "SPELL_ATTR4_CAST_ONLY_IN_OUTLAND", "Only in Outland/Northrend", "" };
- case SPELL_ATTR4_UNK27: return { "SPELL_ATTR4_UNK27", "SPELL_ATTR4_UNK27", "" };
- case SPELL_ATTR4_UNK28: return { "SPELL_ATTR4_UNK28", "SPELL_ATTR4_UNK28", "" };
- case SPELL_ATTR4_UNK29: return { "SPELL_ATTR4_UNK29", "SPELL_ATTR4_UNK29", "" };
- case SPELL_ATTR4_UNK30: return { "SPELL_ATTR4_UNK30", "SPELL_ATTR4_UNK30", "" };
- case SPELL_ATTR4_UNK31: return { "SPELL_ATTR4_UNK31", "SPELL_ATTR4_UNK31", "" };
+ case SPELL_ATTR4_UNK27: return { "SPELL_ATTR4_UNK27", "Unknown attribute 27@Attr4", "" };
+ case SPELL_ATTR4_UNK28: return { "SPELL_ATTR4_UNK28", "Unknown attribute 28@Attr4", "" };
+ case SPELL_ATTR4_UNK29: return { "SPELL_ATTR4_UNK29", "Unknown attribute 29@Attr4", "" };
+ case SPELL_ATTR4_UNK30: return { "SPELL_ATTR4_UNK30", "Unknown attribute 30@Attr4", "" };
+ case SPELL_ATTR4_UNK31: return { "SPELL_ATTR4_UNK31", "Unknown attribute 31@Attr4", "" };
default: throw std::out_of_range("value");
}
}
@@ -579,34 +579,34 @@ TC_API_EXPORT EnumText EnumUtils<SpellAttr5>::ToString(SpellAttr5 value)
case SPELL_ATTR5_NO_REAGENT_WHILE_PREP: return { "SPELL_ATTR5_NO_REAGENT_WHILE_PREP", "No reagents during arena preparation", "" };
case SPELL_ATTR5_REMOVE_ENTERING_ARENA: return { "SPELL_ATTR5_REMOVE_ENTERING_ARENA", "Remove Entering Arena", "Force this aura to be removed on entering arena, regardless of other properties" };
case SPELL_ATTR5_USABLE_WHILE_STUNNED: return { "SPELL_ATTR5_USABLE_WHILE_STUNNED", "Usable while stunned", "" };
- case SPELL_ATTR5_UNK4: return { "SPELL_ATTR5_UNK4", "SPELL_ATTR5_UNK4", "" };
+ case SPELL_ATTR5_UNK4: return { "SPELL_ATTR5_UNK4", "Unknown attribute 4@Attr5", "" };
case SPELL_ATTR5_SINGLE_TARGET_SPELL: return { "SPELL_ATTR5_SINGLE_TARGET_SPELL", "Single-target aura", "Remove previous application to another unit if applied" };
- case SPELL_ATTR5_UNK6: return { "SPELL_ATTR5_UNK6", "SPELL_ATTR5_UNK6", "" };
- case SPELL_ATTR5_UNK7: return { "SPELL_ATTR5_UNK7", "SPELL_ATTR5_UNK7", "" };
+ case SPELL_ATTR5_UNK6: return { "SPELL_ATTR5_UNK6", "Unknown attribute 6@Attr5", "" };
+ case SPELL_ATTR5_UNK7: return { "SPELL_ATTR5_UNK7", "Unknown attribute 7@Attr5", "" };
case SPELL_ATTR5_CANT_TARGET_PLAYER_CONTROLLED: return { "SPELL_ATTR5_CANT_TARGET_PLAYER_CONTROLLED", "Not On Player Controlled NPC", "" };
case SPELL_ATTR5_START_PERIODIC_AT_APPLY: return { "SPELL_ATTR5_START_PERIODIC_AT_APPLY", "Immediately do periodic tick on apply", "" };
case SPELL_ATTR5_HIDE_DURATION: return { "SPELL_ATTR5_HIDE_DURATION", "Do not send aura duration to client", "" };
case SPELL_ATTR5_ALLOW_TARGET_OF_TARGET_AS_TARGET: return { "SPELL_ATTR5_ALLOW_TARGET_OF_TARGET_AS_TARGET", "Auto-target target of target (client only)", "" };
- case SPELL_ATTR5_UNK12: return { "SPELL_ATTR5_UNK12", "SPELL_ATTR5_UNK12", "" };
+ case SPELL_ATTR5_UNK12: return { "SPELL_ATTR5_UNK12", "Unknown attribute 12@Attr5", "Cleave related?" };
case SPELL_ATTR5_HASTE_AFFECT_DURATION: return { "SPELL_ATTR5_HASTE_AFFECT_DURATION", "Duration scales with Haste Rating", "" };
case SPELL_ATTR5_NOT_USABLE_WHILE_CHARMED: return { "SPELL_ATTR5_NOT_USABLE_WHILE_CHARMED", "Not Available While Charmed", "" };
- case SPELL_ATTR5_UNK15: return { "SPELL_ATTR5_UNK15", "SPELL_ATTR5_UNK15", "" };
- case SPELL_ATTR5_UNK16: return { "SPELL_ATTR5_UNK16", "SPELL_ATTR5_UNK16", "" };
+ case SPELL_ATTR5_UNK15: return { "SPELL_ATTR5_UNK15", "Unknown attribute 15@Attr5", "Related to multi-target spells?" };
+ case SPELL_ATTR5_UNK16: return { "SPELL_ATTR5_UNK16", "Unknown attribute 16@Attr5", "" };
case SPELL_ATTR5_USABLE_WHILE_FEARED: return { "SPELL_ATTR5_USABLE_WHILE_FEARED", "Usable while feared", "" };
case SPELL_ATTR5_USABLE_WHILE_CONFUSED: return { "SPELL_ATTR5_USABLE_WHILE_CONFUSED", "Usable while confused", "" };
case SPELL_ATTR5_DONT_TURN_DURING_CAST: return { "SPELL_ATTR5_DONT_TURN_DURING_CAST", "Do not auto-turn while casting", "" };
- case SPELL_ATTR5_UNK20: return { "SPELL_ATTR5_UNK20", "SPELL_ATTR5_UNK20", "" };
- case SPELL_ATTR5_UNK21: return { "SPELL_ATTR5_UNK21", "SPELL_ATTR5_UNK21", "" };
- case SPELL_ATTR5_UNK22: return { "SPELL_ATTR5_UNK22", "SPELL_ATTR5_UNK22", "" };
- case SPELL_ATTR5_UNK23: return { "SPELL_ATTR5_UNK23", "SPELL_ATTR5_UNK23", "" };
- case SPELL_ATTR5_UNK24: return { "SPELL_ATTR5_UNK24", "SPELL_ATTR5_UNK24", "" };
- case SPELL_ATTR5_UNK25: return { "SPELL_ATTR5_UNK25", "SPELL_ATTR5_UNK25", "" };
+ case SPELL_ATTR5_UNK20: return { "SPELL_ATTR5_UNK20", "Unknown attribute 20@Attr5", "" };
+ case SPELL_ATTR5_UNK21: return { "SPELL_ATTR5_UNK21", "Unknown attribute 21@Attr5", "" };
+ case SPELL_ATTR5_UNK22: return { "SPELL_ATTR5_UNK22", "Unknown attribute 22@Attr5", "" };
+ case SPELL_ATTR5_UNK23: return { "SPELL_ATTR5_UNK23", "Unknown attribute 23@Attr5", "" };
+ case SPELL_ATTR5_UNK24: return { "SPELL_ATTR5_UNK24", "Unknown attribute 24@Attr5", "" };
+ case SPELL_ATTR5_UNK25: return { "SPELL_ATTR5_UNK25", "Unknown attribute 25@Attr5", "" };
case SPELL_ATTR5_ALWAYS_AOE_LINE_OF_SIGHT: return { "SPELL_ATTR5_ALWAYS_AOE_LINE_OF_SIGHT", "Ignore line of sight checks", "" };
case SPELL_ATTR5_DONT_SHOW_AURA_IF_SELF_CAST: return { "SPELL_ATTR5_DONT_SHOW_AURA_IF_SELF_CAST", "Don't show aura if self-cast (client only)", "" };
case SPELL_ATTR5_DONT_SHOW_AURA_IF_NOT_SELF_CAST: return { "SPELL_ATTR5_DONT_SHOW_AURA_IF_NOT_SELF_CAST", "Don't show aura unless self-cast (client only)", "" };
- case SPELL_ATTR5_UNK29: return { "SPELL_ATTR5_UNK29", "SPELL_ATTR5_UNK29", "" };
- case SPELL_ATTR5_UNK30: return { "SPELL_ATTR5_UNK30", "SPELL_ATTR5_UNK30", "" };
- case SPELL_ATTR5_UNK31: return { "SPELL_ATTR5_UNK31", "SPELL_ATTR5_UNK31", "" };
+ case SPELL_ATTR5_UNK29: return { "SPELL_ATTR5_UNK29", "Unknown attribute 29@Attr5", "" };
+ case SPELL_ATTR5_UNK30: return { "SPELL_ATTR5_UNK30", "Unknown attribute 30@Attr5", "" };
+ case SPELL_ATTR5_UNK31: return { "SPELL_ATTR5_UNK31", "Unknown attribute 31@Attr5", "Forces nearby enemies to attack caster?" };
default: throw std::out_of_range("value");
}
}
@@ -667,33 +667,33 @@ TC_API_EXPORT EnumText EnumUtils<SpellAttr6>::ToString(SpellAttr6 value)
case SPELL_ATTR6_ONLY_IN_ARENA: return { "SPELL_ATTR6_ONLY_IN_ARENA", "Only usable in arena", "" };
case SPELL_ATTR6_IGNORE_CASTER_AURAS: return { "SPELL_ATTR6_IGNORE_CASTER_AURAS", "Ignore all preventing caster auras", "" };
case SPELL_ATTR6_ASSIST_IGNORE_IMMUNE_FLAG: return { "SPELL_ATTR6_ASSIST_IGNORE_IMMUNE_FLAG", "Ignore immunity flags when assisting", "" };
- case SPELL_ATTR6_UNK4: return { "SPELL_ATTR6_UNK4", "SPELL_ATTR6_UNK4", "" };
+ case SPELL_ATTR6_UNK4: return { "SPELL_ATTR6_UNK4", "Unknown attribute 4@Attr6", "" };
case SPELL_ATTR6_DO_NOT_CONSUME_RESOURCES: return { "SPELL_ATTR6_DO_NOT_CONSUME_RESOURCES", "Don't consume proc charges", "" };
case SPELL_ATTR6_USE_SPELL_CAST_EVENT: return { "SPELL_ATTR6_USE_SPELL_CAST_EVENT", "Generate spell_cast event instead of aura_start (client only)", "" };
- case SPELL_ATTR6_UNK7: return { "SPELL_ATTR6_UNK7", "SPELL_ATTR6_UNK7", "" };
+ case SPELL_ATTR6_UNK7: return { "SPELL_ATTR6_UNK7", "Unknown attribute 7@Attr6", "" };
case SPELL_ATTR6_CANT_TARGET_CROWD_CONTROLLED: return { "SPELL_ATTR6_CANT_TARGET_CROWD_CONTROLLED", "Do not implicitly target in CC", "Implicit targeting (chaining and area targeting) will not impact crowd controlled targets" };
- case SPELL_ATTR6_UNK9: return { "SPELL_ATTR6_UNK9", "SPELL_ATTR6_UNK9", "" };
+ case SPELL_ATTR6_UNK9: return { "SPELL_ATTR6_UNK9", "Unknown attribute 9@Attr6", "" };
case SPELL_ATTR6_CAN_TARGET_POSSESSED_FRIENDS: return { "SPELL_ATTR6_CAN_TARGET_POSSESSED_FRIENDS", "Can target possessed friends", "[NYI]" };
case SPELL_ATTR6_NOT_IN_RAID_INSTANCE: return { "SPELL_ATTR6_NOT_IN_RAID_INSTANCE", "Unusable in raid instances", "" };
case SPELL_ATTR6_CASTABLE_WHILE_ON_VEHICLE: return { "SPELL_ATTR6_CASTABLE_WHILE_ON_VEHICLE", "Castable while caster is on vehicle", "" };
case SPELL_ATTR6_CAN_TARGET_INVISIBLE: return { "SPELL_ATTR6_CAN_TARGET_INVISIBLE", "Can target invisible units", "" };
- case SPELL_ATTR6_UNK14: return { "SPELL_ATTR6_UNK14", "SPELL_ATTR6_UNK14", "" };
- case SPELL_ATTR6_UNK15: return { "SPELL_ATTR6_UNK15", "SPELL_ATTR6_UNK15", "" };
- case SPELL_ATTR6_UNK16: return { "SPELL_ATTR6_UNK16", "SPELL_ATTR6_UNK16", "" };
- case SPELL_ATTR6_UNK17: return { "SPELL_ATTR6_UNK17", "SPELL_ATTR6_UNK17", "" };
+ case SPELL_ATTR6_UNK14: return { "SPELL_ATTR6_UNK14", "Unknown attribute 14@Attr6", "" };
+ case SPELL_ATTR6_UNK15: return { "SPELL_ATTR6_UNK15", "Unknown attribute 15@Attr6", "" };
+ case SPELL_ATTR6_UNK16: return { "SPELL_ATTR6_UNK16", "Unknown attribute 16@Attr6", "" };
+ case SPELL_ATTR6_UNK17: return { "SPELL_ATTR6_UNK17", "Unknown attribute 17@Attr6", "Mount related?" };
case SPELL_ATTR6_CAST_BY_CHARMER: return { "SPELL_ATTR6_CAST_BY_CHARMER", "Spell is cast by charmer", "Client will prevent casting if not possessed, charmer will be caster for all intents and purposes" };
- case SPELL_ATTR6_UNK19: return { "SPELL_ATTR6_UNK19", "SPELL_ATTR6_UNK19", "" };
+ case SPELL_ATTR6_UNK19: return { "SPELL_ATTR6_UNK19", "Unknown attribute 19@Attr6", "" };
case SPELL_ATTR6_ONLY_VISIBLE_TO_CASTER: return { "SPELL_ATTR6_ONLY_VISIBLE_TO_CASTER", "Only visible to caster (client only)", "" };
case SPELL_ATTR6_CLIENT_UI_TARGET_EFFECTS: return { "SPELL_ATTR6_CLIENT_UI_TARGET_EFFECTS", "Client UI target effects (client only)", "" };
- case SPELL_ATTR6_UNK22: return { "SPELL_ATTR6_UNK22", "SPELL_ATTR6_UNK22", "" };
- case SPELL_ATTR6_UNK23: return { "SPELL_ATTR6_UNK23", "SPELL_ATTR6_UNK23", "" };
+ case SPELL_ATTR6_UNK22: return { "SPELL_ATTR6_UNK22", "Unknown attribute 22@Attr6", "" };
+ case SPELL_ATTR6_UNK23: return { "SPELL_ATTR6_UNK23", "Unknown attribute 23@Attr6", "" };
case SPELL_ATTR6_CAN_TARGET_UNTARGETABLE: return { "SPELL_ATTR6_CAN_TARGET_UNTARGETABLE", "Can target untargetable units", "" };
case SPELL_ATTR6_NOT_RESET_SWING_IF_INSTANT: return { "SPELL_ATTR6_NOT_RESET_SWING_IF_INSTANT", "Do not reset swing timer if cast time is instant", "" };
- case SPELL_ATTR6_UNK26: return { "SPELL_ATTR6_UNK26", "SPELL_ATTR6_UNK26", "" };
+ case SPELL_ATTR6_UNK26: return { "SPELL_ATTR6_UNK26", "Unknown attribute 26@Attr6", "Player castable buff?" };
case SPELL_ATTR6_IGNORE_HEALING_MODIFIERS: return { "SPELL_ATTR6_IGNORE_HEALING_MODIFIERS", "Limit applicable %healing modifiers", "This prevents certain healing modifiers from applying - see implementation if you really care about details" };
- case SPELL_ATTR6_UNK28: return { "SPELL_ATTR6_UNK28", "SPELL_ATTR6_UNK28", "" };
+ case SPELL_ATTR6_UNK28: return { "SPELL_ATTR6_UNK28", "Unknown attribute 28@Attr6", "Death grip?" };
case SPELL_ATTR6_IGNORE_CASTER_DAMAGE_MODIFIERS: return { "SPELL_ATTR6_IGNORE_CASTER_DAMAGE_MODIFIERS", "Limit applicable %damage modifiers", "This prevents certain damage modifiers from applying - see implementation if you really care about details" };
- case SPELL_ATTR6_UNK30: return { "SPELL_ATTR6_UNK30", "SPELL_ATTR6_UNK30", "" };
+ case SPELL_ATTR6_UNK30: return { "SPELL_ATTR6_UNK30", "Unknown attribute 30@Attr6", "" };
case SPELL_ATTR6_IGNORE_CATEGORY_COOLDOWN_MODS: return { "SPELL_ATTR6_IGNORE_CATEGORY_COOLDOWN_MODS", "Ignore cooldown modifiers for category cooldown", "" };
default: throw std::out_of_range("value");
}
@@ -751,37 +751,37 @@ TC_API_EXPORT EnumText EnumUtils<SpellAttr7>::ToString(SpellAttr7 value)
{
switch (value)
{
- case SPELL_ATTR7_UNK0: return { "SPELL_ATTR7_UNK0", "SPELL_ATTR7_UNK0", "" };
+ case SPELL_ATTR7_UNK0: return { "SPELL_ATTR7_UNK0", "Unknown attribute 0@Attr7", "" };
case SPELL_ATTR7_IGNORE_DURATION_MODS: return { "SPELL_ATTR7_IGNORE_DURATION_MODS", "Ignore duration modifiers", "" };
case SPELL_ATTR7_REACTIVATE_AT_RESURRECT: return { "SPELL_ATTR7_REACTIVATE_AT_RESURRECT", "Reactivate at resurrect (client only)", "" };
case SPELL_ATTR7_IS_CHEAT_SPELL: return { "SPELL_ATTR7_IS_CHEAT_SPELL", "Is cheat spell", "Cannot cast if caster doesn't have UnitFlag2 & UNIT_FLAG2_ALLOW_CHEAT_SPELLS" };
- case SPELL_ATTR7_UNK4: return { "SPELL_ATTR7_UNK4", "SPELL_ATTR7_UNK4", "" };
+ case SPELL_ATTR7_UNK4: return { "SPELL_ATTR7_UNK4", "Unknown attribute 4@Attr7", "Soulstone related?" };
case SPELL_ATTR7_SUMMON_TOTEM: return { "SPELL_ATTR7_SUMMON_TOTEM", "Summons player-owned totem", "" };
case SPELL_ATTR7_NO_PUSHBACK_ON_DAMAGE: return { "SPELL_ATTR7_NO_PUSHBACK_ON_DAMAGE", "Damage dealt by this does not cause spell pushback", "" };
- case SPELL_ATTR7_UNK7: return { "SPELL_ATTR7_UNK7", "SPELL_ATTR7_UNK7", "" };
+ case SPELL_ATTR7_UNK7: return { "SPELL_ATTR7_UNK7", "Unknown attribute 7@Attr7", "" };
case SPELL_ATTR7_HORDE_ONLY: return { "SPELL_ATTR7_HORDE_ONLY", "Horde only", "" };
case SPELL_ATTR7_ALLIANCE_ONLY: return { "SPELL_ATTR7_ALLIANCE_ONLY", "Alliance only", "" };
case SPELL_ATTR7_DISPEL_CHARGES: return { "SPELL_ATTR7_DISPEL_CHARGES", "Dispel/Spellsteal remove individual charges", "" };
- case SPELL_ATTR7_INTERRUPT_ONLY_NONPLAYER: return { "SPELL_ATTR7_INTERRUPT_ONLY_NONPLAYER", "Only interrupt non-player casting", "" };
- case SPELL_ATTR7_SILENCE_ONLY_NONPLAYER: return { "SPELL_ATTR7_SILENCE_ONLY_NONPLAYER", "SPELL_ATTR7_SILENCE_ONLY_NONPLAYER", "" };
+ case SPELL_ATTR7_INTERRUPT_ONLY_NONPLAYER: return { "SPELL_ATTR7_INTERRUPT_ONLY_NONPLAYER", "Can Cause Interrupt", "Only interrupt non-player casting" };
+ case SPELL_ATTR7_SILENCE_ONLY_NONPLAYER: return { "SPELL_ATTR7_SILENCE_ONLY_NONPLAYER", "Can Cause Silence", "" };
case SPELL_ATTR7_CAN_ALWAYS_BE_INTERRUPTED: return { "SPELL_ATTR7_CAN_ALWAYS_BE_INTERRUPTED", "No UI Not Interruptible", "Can always be interrupted, even if caster is immune" };
- case SPELL_ATTR7_UNK14: return { "SPELL_ATTR7_UNK14", "SPELL_ATTR7_UNK14", "" };
- case SPELL_ATTR7_UNK15: return { "SPELL_ATTR7_UNK15", "SPELL_ATTR7_UNK15", "" };
+ case SPELL_ATTR7_UNK14: return { "SPELL_ATTR7_UNK14", "Unknown attribute 14@Attr7", "" };
+ case SPELL_ATTR7_UNK15: return { "SPELL_ATTR7_UNK15", "Unknown attribute 15@Attr7", "Exorcism - guaranteed crit vs families?" };
case SPELL_ATTR7_HIDDEN_IN_SPELLBOOK_WHEN_LEARNED: return { "SPELL_ATTR7_HIDDEN_IN_SPELLBOOK_WHEN_LEARNED", "Only In Spellbook Until Learned", "After learning these spells become hidden in spellbook (but are visible when not learned for low level characters)" };
- case SPELL_ATTR7_UNK17: return { "SPELL_ATTR7_UNK17", "SPELL_ATTR7_UNK17", "" };
+ case SPELL_ATTR7_UNK17: return { "SPELL_ATTR7_UNK17", "Unknown attribute 17@Attr7", "" };
case SPELL_ATTR7_HAS_CHARGE_EFFECT: return { "SPELL_ATTR7_HAS_CHARGE_EFFECT", "Has charge effect", "" };
case SPELL_ATTR7_ZONE_TELEPORT: return { "SPELL_ATTR7_ZONE_TELEPORT", "Is zone teleport", "" };
- case SPELL_ATTR7_UNK20: return { "SPELL_ATTR7_UNK20", "SPELL_ATTR7_UNK20", "" };
- case SPELL_ATTR7_UNK21: return { "SPELL_ATTR7_UNK21", "SPELL_ATTR7_UNK21", "" };
- case SPELL_ATTR7_UNK22: return { "SPELL_ATTR7_UNK22", "SPELL_ATTR7_UNK22", "" };
- case SPELL_ATTR7_UNK23: return { "SPELL_ATTR7_UNK23", "SPELL_ATTR7_UNK23", "" };
- case SPELL_ATTR7_UNK24: return { "SPELL_ATTR7_UNK24", "SPELL_ATTR7_UNK24", "" };
- case SPELL_ATTR7_UNK25: return { "SPELL_ATTR7_UNK25", "SPELL_ATTR7_UNK25", "" };
- case SPELL_ATTR7_UNK26: return { "SPELL_ATTR7_UNK26", "SPELL_ATTR7_UNK26", "" };
- case SPELL_ATTR7_UNK27: return { "SPELL_ATTR7_UNK27", "SPELL_ATTR7_UNK27", "" };
+ case SPELL_ATTR7_UNK20: return { "SPELL_ATTR7_UNK20", "Unknown attribute 20@Attr7", "Invulnerability related?" };
+ case SPELL_ATTR7_UNK21: return { "SPELL_ATTR7_UNK21", "Unknown attribute 21@Attr7", "" };
+ case SPELL_ATTR7_IGNORES_COLD_WEATHER_FLYING_REQUIREMENT: return { "SPELL_ATTR7_IGNORES_COLD_WEATHER_FLYING_REQUIREMENT", "Ignores Cold Weather Flying Requirement", "" };
+ case SPELL_ATTR7_UNK23: return { "SPELL_ATTR7_UNK23", "Unknown attribute 23@Attr7", "" };
+ case SPELL_ATTR7_UNK24: return { "SPELL_ATTR7_UNK24", "Unknown attribute 24@Attr7", "" };
+ case SPELL_ATTR7_UNK25: return { "SPELL_ATTR7_UNK25", "Unknown attribute 25@Attr7", "" };
+ case SPELL_ATTR7_UNK26: return { "SPELL_ATTR7_UNK26", "Unknown attribute 26@Attr7", "" };
+ case SPELL_ATTR7_UNK27: return { "SPELL_ATTR7_UNK27", "Unknown attribute 27@Attr7", "" };
case SPELL_ATTR7_CONSOLIDATED_RAID_BUFF: return { "SPELL_ATTR7_CONSOLIDATED_RAID_BUFF", "Consolidate in raid buff frame (client only)", "" };
- case SPELL_ATTR7_UNK29: return { "SPELL_ATTR7_UNK29", "SPELL_ATTR7_UNK29", "" };
- case SPELL_ATTR7_UNK30: return { "SPELL_ATTR7_UNK30", "SPELL_ATTR7_UNK30", "" };
+ case SPELL_ATTR7_UNK29: return { "SPELL_ATTR7_UNK29", "Unknown attribute 29@Attr7", "" };
+ case SPELL_ATTR7_UNK30: return { "SPELL_ATTR7_UNK30", "Unknown attribute 30@Attr7", "" };
case SPELL_ATTR7_CLIENT_INDICATOR: return { "SPELL_ATTR7_CLIENT_INDICATOR", "Client indicator (client only)", "" };
default: throw std::out_of_range("value");
}
@@ -817,7 +817,7 @@ TC_API_EXPORT SpellAttr7 EnumUtils<SpellAttr7>::FromIndex(size_t index)
case 19: return SPELL_ATTR7_ZONE_TELEPORT;
case 20: return SPELL_ATTR7_UNK20;
case 21: return SPELL_ATTR7_UNK21;
- case 22: return SPELL_ATTR7_UNK22;
+ case 22: return SPELL_ATTR7_IGNORES_COLD_WEATHER_FLYING_REQUIREMENT;
case 23: return SPELL_ATTR7_UNK23;
case 24: return SPELL_ATTR7_UNK24;
case 25: return SPELL_ATTR7_UNK25;
@@ -839,37 +839,37 @@ TC_API_EXPORT EnumText EnumUtils<SpellAttr8>::ToString(SpellAttr8 value)
{
switch (value)
{
- case SPELL_ATTR8_CANT_MISS: return { "SPELL_ATTR8_CANT_MISS", "SPELL_ATTR8_CANT_MISS", "" };
- case SPELL_ATTR8_UNK1: return { "SPELL_ATTR8_UNK1", "SPELL_ATTR8_UNK1", "" };
- case SPELL_ATTR8_UNK2: return { "SPELL_ATTR8_UNK2", "SPELL_ATTR8_UNK2", "" };
- case SPELL_ATTR8_UNK3: return { "SPELL_ATTR8_UNK3", "SPELL_ATTR8_UNK3", "" };
- case SPELL_ATTR8_UNK4: return { "SPELL_ATTR8_UNK4", "SPELL_ATTR8_UNK4", "" };
- case SPELL_ATTR8_UNK5: return { "SPELL_ATTR8_UNK5", "SPELL_ATTR8_UNK5", "" };
- case SPELL_ATTR8_UNK6: return { "SPELL_ATTR8_UNK6", "SPELL_ATTR8_UNK6", "" };
- case SPELL_ATTR8_UNK7: return { "SPELL_ATTR8_UNK7", "SPELL_ATTR8_UNK7", "" };
- case SPELL_ATTR8_AFFECT_PARTY_AND_RAID: return { "SPELL_ATTR8_AFFECT_PARTY_AND_RAID", "SPELL_ATTR8_AFFECT_PARTY_AND_RAID", "" };
- case SPELL_ATTR8_DONT_RESET_PERIODIC_TIMER: return { "SPELL_ATTR8_DONT_RESET_PERIODIC_TIMER", "SPELL_ATTR8_DONT_RESET_PERIODIC_TIMER", "Periodic auras with this flag keep old periodic timer when refreshing at close to one tick remaining (kind of anti DoT clipping)" };
- case SPELL_ATTR8_NAME_CHANGED_DURING_TRANSFORM: return { "SPELL_ATTR8_NAME_CHANGED_DURING_TRANSFORM", "SPELL_ATTR8_NAME_CHANGED_DURING_TRANSFORM", "" };
- case SPELL_ATTR8_UNK11: return { "SPELL_ATTR8_UNK11", "SPELL_ATTR8_UNK11", "" };
- case SPELL_ATTR8_AURA_SEND_AMOUNT: return { "SPELL_ATTR8_AURA_SEND_AMOUNT", "SPELL_ATTR8_AURA_SEND_AMOUNT", "" };
- case SPELL_ATTR8_UNK13: return { "SPELL_ATTR8_UNK13", "SPELL_ATTR8_UNK13", "" };
- case SPELL_ATTR8_UNK14: return { "SPELL_ATTR8_UNK14", "SPELL_ATTR8_UNK14", "" };
- case SPELL_ATTR8_WATER_MOUNT: return { "SPELL_ATTR8_WATER_MOUNT", "SPELL_ATTR8_WATER_MOUNT", "" };
- case SPELL_ATTR8_UNK16: return { "SPELL_ATTR8_UNK16", "SPELL_ATTR8_UNK16", "" };
- case SPELL_ATTR8_UNK17: return { "SPELL_ATTR8_UNK17", "SPELL_ATTR8_UNK17", "" };
- case SPELL_ATTR8_REMEMBER_SPELLS: return { "SPELL_ATTR8_REMEMBER_SPELLS", "SPELL_ATTR8_REMEMBER_SPELLS", "" };
- case SPELL_ATTR8_USE_COMBO_POINTS_ON_ANY_TARGET: return { "SPELL_ATTR8_USE_COMBO_POINTS_ON_ANY_TARGET", "SPELL_ATTR8_USE_COMBO_POINTS_ON_ANY_TARGET", "" };
- case SPELL_ATTR8_ARMOR_SPECIALIZATION: return { "SPELL_ATTR8_ARMOR_SPECIALIZATION", "SPELL_ATTR8_ARMOR_SPECIALIZATION", "" };
- case SPELL_ATTR8_UNK21: return { "SPELL_ATTR8_UNK21", "SPELL_ATTR8_UNK21", "" };
- case SPELL_ATTR8_UNK22: return { "SPELL_ATTR8_UNK22", "SPELL_ATTR8_UNK22", "" };
+ case SPELL_ATTR8_CANT_MISS: return { "SPELL_ATTR8_CANT_MISS", "No Attack Block", "" };
+ case SPELL_ATTR8_UNK1: return { "SPELL_ATTR8_UNK1", "Unknown attribute 1@Attr8", "" };
+ case SPELL_ATTR8_UNK2: return { "SPELL_ATTR8_UNK2", "Unknown attribute 2@Attr8", "" };
+ case SPELL_ATTR8_UNK3: return { "SPELL_ATTR8_UNK3", "Unknown attribute 3@Attr8", "" };
+ case SPELL_ATTR8_UNK4: return { "SPELL_ATTR8_UNK4", "Unknown attribute 4@Attr8", "" };
+ case SPELL_ATTR8_UNK5: return { "SPELL_ATTR8_UNK5", "Unknown attribute 5@Attr8", "" };
+ case SPELL_ATTR8_UNK6: return { "SPELL_ATTR8_UNK6", "Unknown attribute 6@Attr8", "" };
+ case SPELL_ATTR8_UNK7: return { "SPELL_ATTR8_UNK7", "Unknown attribute 7@Attr8", "" };
+ case SPELL_ATTR8_AFFECT_PARTY_AND_RAID: return { "SPELL_ATTR8_AFFECT_PARTY_AND_RAID", "Use Target's Level for Spell Scaling", "" };
+ case SPELL_ATTR8_DONT_RESET_PERIODIC_TIMER: return { "SPELL_ATTR8_DONT_RESET_PERIODIC_TIMER", "Periodic Can Crit", "(WRONG) Periodic auras with this flag keep old periodic timer when refreshing at close to one tick remaining (kind of anti DoT clipping)" };
+ case SPELL_ATTR8_NAME_CHANGED_DURING_TRANSFORM: return { "SPELL_ATTR8_NAME_CHANGED_DURING_TRANSFORM", "Mirror creature name", "" };
+ case SPELL_ATTR8_UNK11: return { "SPELL_ATTR8_UNK11", "Unknown attribute 11@Attr8", "" };
+ case SPELL_ATTR8_AURA_SEND_AMOUNT: return { "SPELL_ATTR8_AURA_SEND_AMOUNT", "Aura Points On Client", "" };
+ case SPELL_ATTR8_UNK13: return { "SPELL_ATTR8_UNK13", "Unknown attribute 13@Attr8", "" };
+ case SPELL_ATTR8_UNK14: return { "SPELL_ATTR8_UNK14", "Unknown attribute 14@Attr8", "" };
+ case SPELL_ATTR8_WATER_MOUNT: return { "SPELL_ATTR8_WATER_MOUNT", "Requires location to be on liquid surface", "" };
+ case SPELL_ATTR8_UNK16: return { "SPELL_ATTR8_UNK16", "Unknown attribute 16@Attr8", "" };
+ case SPELL_ATTR8_UNK17: return { "SPELL_ATTR8_UNK17", "Unknown attribute 17@Attr8", "" };
+ case SPELL_ATTR8_REMEMBER_SPELLS: return { "SPELL_ATTR8_REMEMBER_SPELLS", "SPELL_ATTR8_REMEMBER_SPELLS", "TTILE Ignore Spellcast Override Cost" };
+ case SPELL_ATTR8_USE_COMBO_POINTS_ON_ANY_TARGET: return { "SPELL_ATTR8_USE_COMBO_POINTS_ON_ANY_TARGET", "Allow Targets Hidden by Spawn Tracking", "" };
+ case SPELL_ATTR8_ARMOR_SPECIALIZATION: return { "SPELL_ATTR8_ARMOR_SPECIALIZATION", "Requires Equipped Inv Types", "" };
+ case SPELL_ATTR8_UNK21: return { "SPELL_ATTR8_UNK21", "Unknown attribute 21@Attr8", "" };
+ case SPELL_ATTR8_UNK22: return { "SPELL_ATTR8_UNK22", "Unknown attribute 22@Attr8", "" };
case SPELL_ATTR8_BATTLE_RESURRECTION: return { "SPELL_ATTR8_BATTLE_RESURRECTION", "Enforce In Combat Ressurection Limit", "Used to limit the number of resurrections in boss encounters" };
- case SPELL_ATTR8_HEALING_SPELL: return { "SPELL_ATTR8_HEALING_SPELL", "SPELL_ATTR8_HEALING_SPELL", "" };
- case SPELL_ATTR8_UNK25: return { "SPELL_ATTR8_UNK25", "SPELL_ATTR8_UNK25", "" };
+ case SPELL_ATTR8_HEALING_SPELL: return { "SPELL_ATTR8_HEALING_SPELL", "Heal Prediction", "" };
+ case SPELL_ATTR8_UNK25: return { "SPELL_ATTR8_UNK25", "Unknown attribute 25@Attr8", "" };
case SPELL_ATTR8_RAID_MARKER: return { "SPELL_ATTR8_RAID_MARKER", "Skip Is Known Check", "" };
- case SPELL_ATTR8_UNK27: return { "SPELL_ATTR8_UNK27", "SPELL_ATTR8_UNK27", "" };
+ case SPELL_ATTR8_UNK27: return { "SPELL_ATTR8_UNK27", "Unknown attribute 27@Attr8", "" };
case SPELL_ATTR8_NOT_IN_BG_OR_ARENA: return { "SPELL_ATTR8_NOT_IN_BG_OR_ARENA", "Not in Battleground", "" };
- case SPELL_ATTR8_MASTERY_SPECIALIZATION: return { "SPELL_ATTR8_MASTERY_SPECIALIZATION", "SPELL_ATTR8_MASTERY_SPECIALIZATION", "" };
- case SPELL_ATTR8_UNK30: return { "SPELL_ATTR8_UNK30", "SPELL_ATTR8_UNK30", "" };
+ case SPELL_ATTR8_MASTERY_SPECIALIZATION: return { "SPELL_ATTR8_MASTERY_SPECIALIZATION", "Mastery Affects Points", "" };
+ case SPELL_ATTR8_UNK30: return { "SPELL_ATTR8_UNK30", "Unknown attribute 30@Attr8", "" };
case SPELL_ATTR8_ATTACK_IGNORE_IMMUNE_TO_PC_FLAG: return { "SPELL_ATTR8_ATTACK_IGNORE_IMMUNE_TO_PC_FLAG", "Can Attack ImmunePC", "Do not check UNIT_FLAG_IMMUNE_TO_PC in IsValidAttackTarget" };
default: throw std::out_of_range("value");
}
@@ -927,38 +927,38 @@ TC_API_EXPORT EnumText EnumUtils<SpellAttr9>::ToString(SpellAttr9 value)
{
switch (value)
{
- case SPELL_ATTR9_UNK0: return { "SPELL_ATTR9_UNK0", "SPELL_ATTR9_UNK0", "" };
- case SPELL_ATTR9_UNK1: return { "SPELL_ATTR9_UNK1", "SPELL_ATTR9_UNK1", "" };
+ case SPELL_ATTR9_UNK0: return { "SPELL_ATTR9_UNK0", "Unknown attribute 0@Attr9", "" };
+ case SPELL_ATTR9_UNK1: return { "SPELL_ATTR9_UNK1", "Unknown attribute 1@Attr9", "" };
case SPELL_ATTR9_RESTRICTED_FLIGHT_AREA: return { "SPELL_ATTR9_RESTRICTED_FLIGHT_AREA", "Only When Illegally Mounted", "" };
- case SPELL_ATTR9_UNK3: return { "SPELL_ATTR9_UNK3", "SPELL_ATTR9_UNK3", "" };
- case SPELL_ATTR9_SPECIAL_DELAY_CALCULATION: return { "SPELL_ATTR9_SPECIAL_DELAY_CALCULATION", "SPELL_ATTR9_SPECIAL_DELAY_CALCULATION", "" };
- case SPELL_ATTR9_SUMMON_PLAYER_TOTEM: return { "SPELL_ATTR9_SUMMON_PLAYER_TOTEM", "SPELL_ATTR9_SUMMON_PLAYER_TOTEM", "" };
- case SPELL_ATTR9_UNK6: return { "SPELL_ATTR9_UNK6", "SPELL_ATTR9_UNK6", "" };
- case SPELL_ATTR9_UNK7: return { "SPELL_ATTR9_UNK7", "SPELL_ATTR9_UNK7", "" };
- case SPELL_ATTR9_AIMED_SHOT: return { "SPELL_ATTR9_AIMED_SHOT", "SPELL_ATTR9_AIMED_SHOT", "" };
+ case SPELL_ATTR9_UNK3: return { "SPELL_ATTR9_UNK3", "Unknown attribute 3@Attr9", "" };
+ case SPELL_ATTR9_SPECIAL_DELAY_CALCULATION: return { "SPELL_ATTR9_SPECIAL_DELAY_CALCULATION", "Missile Speed is Delay (in sec)", "" };
+ case SPELL_ATTR9_SUMMON_PLAYER_TOTEM: return { "SPELL_ATTR9_SUMMON_PLAYER_TOTEM", "Ignore Totem Requirements for Casting", "" };
+ case SPELL_ATTR9_UNK6: return { "SPELL_ATTR9_UNK6", "Unknown attribute 6@Attr9", "" };
+ case SPELL_ATTR9_UNK7: return { "SPELL_ATTR9_UNK7", "Unknown attribute 7@Attr9", "" };
+ case SPELL_ATTR9_AIMED_SHOT: return { "SPELL_ATTR9_AIMED_SHOT", "Cooldown Ignores Ranged Weapon", "" };
case SPELL_ATTR9_NOT_USABLE_IN_ARENA: return { "SPELL_ATTR9_NOT_USABLE_IN_ARENA", "Not In Arena", "" };
- case SPELL_ATTR9_UNK10: return { "SPELL_ATTR9_UNK10", "SPELL_ATTR9_UNK10", "" };
- case SPELL_ATTR9_UNK11: return { "SPELL_ATTR9_UNK11", "SPELL_ATTR9_UNK11", "" };
- case SPELL_ATTR9_UNK12: return { "SPELL_ATTR9_UNK12", "SPELL_ATTR9_UNK12", "" };
- case SPELL_ATTR9_SLAM: return { "SPELL_ATTR9_SLAM", "SPELL_ATTR9_SLAM", "" };
+ case SPELL_ATTR9_UNK10: return { "SPELL_ATTR9_UNK10", "Unknown attribute 10@Attr9", "" };
+ case SPELL_ATTR9_UNK11: return { "SPELL_ATTR9_UNK11", "Unknown attribute 11@Attr9", "" };
+ case SPELL_ATTR9_UNK12: return { "SPELL_ATTR9_UNK12", "Unknown attribute 12@Attr9", "" };
+ case SPELL_ATTR9_SLAM: return { "SPELL_ATTR9_SLAM", "Haste Affects Melee Ability Casttime", "" };
case SPELL_ATTR9_USABLE_IN_RATED_BATTLEGROUNDS: return { "SPELL_ATTR9_USABLE_IN_RATED_BATTLEGROUNDS", "Ignore Default Rated Battleground Restrictions", "" };
- case SPELL_ATTR9_UNK15: return { "SPELL_ATTR9_UNK15", "SPELL_ATTR9_UNK15", "" };
- case SPELL_ATTR9_UNK16: return { "SPELL_ATTR9_UNK16", "SPELL_ATTR9_UNK16", "" };
- case SPELL_ATTR9_UNK17: return { "SPELL_ATTR9_UNK17", "SPELL_ATTR9_UNK17", "" };
- case SPELL_ATTR9_UNK18: return { "SPELL_ATTR9_UNK18", "SPELL_ATTR9_UNK18", "" };
- case SPELL_ATTR9_UNK19: return { "SPELL_ATTR9_UNK19", "SPELL_ATTR9_UNK19", "" };
- case SPELL_ATTR9_UNK20: return { "SPELL_ATTR9_UNK20", "SPELL_ATTR9_UNK20", "" };
- case SPELL_ATTR9_UNK21: return { "SPELL_ATTR9_UNK21", "SPELL_ATTR9_UNK21", "" };
- case SPELL_ATTR9_UNK22: return { "SPELL_ATTR9_UNK22", "SPELL_ATTR9_UNK22", "" };
- case SPELL_ATTR9_UNK23: return { "SPELL_ATTR9_UNK23", "SPELL_ATTR9_UNK23", "" };
- case SPELL_ATTR9_UNK24: return { "SPELL_ATTR9_UNK24", "SPELL_ATTR9_UNK24", "" };
- case SPELL_ATTR9_UNK25: return { "SPELL_ATTR9_UNK25", "SPELL_ATTR9_UNK25", "" };
- case SPELL_ATTR9_UNK26: return { "SPELL_ATTR9_UNK26", "SPELL_ATTR9_UNK26", "" };
- case SPELL_ATTR9_UNK27: return { "SPELL_ATTR9_UNK27", "SPELL_ATTR9_UNK27", "" };
- case SPELL_ATTR9_UNK28: return { "SPELL_ATTR9_UNK28", "SPELL_ATTR9_UNK28", "" };
- case SPELL_ATTR9_UNK29: return { "SPELL_ATTR9_UNK29", "SPELL_ATTR9_UNK29", "" };
- case SPELL_ATTR9_UNK30: return { "SPELL_ATTR9_UNK30", "SPELL_ATTR9_UNK30", "" };
- case SPELL_ATTR9_UNK31: return { "SPELL_ATTR9_UNK31", "SPELL_ATTR9_UNK31", "" };
+ case SPELL_ATTR9_UNK15: return { "SPELL_ATTR9_UNK15", "Unknown attribute 15@Attr9", "" };
+ case SPELL_ATTR9_UNK16: return { "SPELL_ATTR9_UNK16", "Unknown attribute 16@Attr9", "" };
+ case SPELL_ATTR9_UNK17: return { "SPELL_ATTR9_UNK17", "Unknown attribute 17@Attr9", "" };
+ case SPELL_ATTR9_UNK18: return { "SPELL_ATTR9_UNK18", "Unknown attribute 18@Attr9", "" };
+ case SPELL_ATTR9_UNK19: return { "SPELL_ATTR9_UNK19", "Unknown attribute 19@Attr9", "" };
+ case SPELL_ATTR9_UNK20: return { "SPELL_ATTR9_UNK20", "Unknown attribute 20@Attr9", "" };
+ case SPELL_ATTR9_UNK21: return { "SPELL_ATTR9_UNK21", "Unknown attribute 21@Attr9", "" };
+ case SPELL_ATTR9_UNK22: return { "SPELL_ATTR9_UNK22", "Unknown attribute 22@Attr9", "" };
+ case SPELL_ATTR9_UNK23: return { "SPELL_ATTR9_UNK23", "Unknown attribute 23@Attr9", "" };
+ case SPELL_ATTR9_UNK24: return { "SPELL_ATTR9_UNK24", "Unknown attribute 24@Attr9", "" };
+ case SPELL_ATTR9_UNK25: return { "SPELL_ATTR9_UNK25", "Unknown attribute 25@Attr9", "" };
+ case SPELL_ATTR9_UNK26: return { "SPELL_ATTR9_UNK26", "Unknown attribute 26@Attr9", "" };
+ case SPELL_ATTR9_UNK27: return { "SPELL_ATTR9_UNK27", "Unknown attribute 27@Attr9", "" };
+ case SPELL_ATTR9_UNK28: return { "SPELL_ATTR9_UNK28", "Unknown attribute 28@Attr9", "" };
+ case SPELL_ATTR9_UNK29: return { "SPELL_ATTR9_UNK29", "Unknown attribute 29@Attr9", "" };
+ case SPELL_ATTR9_UNK30: return { "SPELL_ATTR9_UNK30", "Unknown attribute 30@Attr9", "" };
+ case SPELL_ATTR9_UNK31: return { "SPELL_ATTR9_UNK31", "Unknown attribute 31@Attr9", "" };
default: throw std::out_of_range("value");
}
}
@@ -1015,38 +1015,38 @@ TC_API_EXPORT EnumText EnumUtils<SpellAttr10>::ToString(SpellAttr10 value)
{
switch (value)
{
- case SPELL_ATTR10_UNK0: return { "SPELL_ATTR10_UNK0", "SPELL_ATTR10_UNK0", "" };
- case SPELL_ATTR10_UNK1: return { "SPELL_ATTR10_UNK1", "SPELL_ATTR10_UNK1", "" };
- case SPELL_ATTR10_UNK2: return { "SPELL_ATTR10_UNK2", "SPELL_ATTR10_UNK2", "" };
- case SPELL_ATTR10_UNK3: return { "SPELL_ATTR10_UNK3", "SPELL_ATTR10_UNK3", "" };
- case SPELL_ATTR10_WATER_SPOUT: return { "SPELL_ATTR10_WATER_SPOUT", "SPELL_ATTR10_WATER_SPOUT", "" };
- case SPELL_ATTR10_UNK5: return { "SPELL_ATTR10_UNK5", "SPELL_ATTR10_UNK5", "" };
- case SPELL_ATTR10_UNK6: return { "SPELL_ATTR10_UNK6", "SPELL_ATTR10_UNK6", "" };
- case SPELL_ATTR10_TELEPORT_PLAYER: return { "SPELL_ATTR10_TELEPORT_PLAYER", "SPELL_ATTR10_TELEPORT_PLAYER", "" };
- case SPELL_ATTR10_UNK8: return { "SPELL_ATTR10_UNK8", "SPELL_ATTR10_UNK8", "" };
- case SPELL_ATTR10_UNK9: return { "SPELL_ATTR10_UNK9", "SPELL_ATTR10_UNK9", "" };
- case SPELL_ATTR10_UNK10: return { "SPELL_ATTR10_UNK10", "SPELL_ATTR10_UNK10", "" };
- case SPELL_ATTR10_HERB_GATHERING_MINING: return { "SPELL_ATTR10_HERB_GATHERING_MINING", "SPELL_ATTR10_HERB_GATHERING_MINING", "" };
+ case SPELL_ATTR10_UNK0: return { "SPELL_ATTR10_UNK0", "Unknown attribute 0@Attr10", "" };
+ case SPELL_ATTR10_UNK1: return { "SPELL_ATTR10_UNK1", "Unknown attribute 1@Attr10", "" };
+ case SPELL_ATTR10_UNK2: return { "SPELL_ATTR10_UNK2", "Unknown attribute 2@Attr10", "" };
+ case SPELL_ATTR10_UNK3: return { "SPELL_ATTR10_UNK3", "Unknown attribute 3@Attr10", "" };
+ case SPELL_ATTR10_WATER_SPOUT: return { "SPELL_ATTR10_WATER_SPOUT", "NPC Knockback - ignore doors", "" };
+ case SPELL_ATTR10_UNK5: return { "SPELL_ATTR10_UNK5", "Unknown attribute 5@Attr10", "" };
+ case SPELL_ATTR10_UNK6: return { "SPELL_ATTR10_UNK6", "Unknown attribute 6@Attr10", "" };
+ case SPELL_ATTR10_TELEPORT_PLAYER: return { "SPELL_ATTR10_TELEPORT_PLAYER", "Ignore instance lock and farm limit on teleport", "" };
+ case SPELL_ATTR10_UNK8: return { "SPELL_ATTR10_UNK8", "Unknown attribute 8@Attr10", "" };
+ case SPELL_ATTR10_UNK9: return { "SPELL_ATTR10_UNK9", "Unknown attribute 9@Attr10", "" };
+ case SPELL_ATTR10_UNK10: return { "SPELL_ATTR10_UNK10", "Unknown attribute 10@Attr10", "" };
+ case SPELL_ATTR10_HERB_GATHERING_MINING: return { "SPELL_ATTR10_HERB_GATHERING_MINING", "Lock chest at precast", "" };
case SPELL_ATTR10_USE_SPELL_BASE_LEVEL_FOR_SCALING: return { "SPELL_ATTR10_USE_SPELL_BASE_LEVEL_FOR_SCALING", "Use Spell Base Level For Scaling", "" };
case SPELL_ATTR10_RESET_COOLDOWN_ON_ENCOUNTER_END: return { "SPELL_ATTR10_RESET_COOLDOWN_ON_ENCOUNTER_END", "Reset cooldown upon ending an encounter", "" };
case SPELL_ATTR10_ROLLING_PERIODIC: return { "SPELL_ATTR10_ROLLING_PERIODIC", "Rolling Periodic", "Add remaining periodic damage to new aura when refreshed" };
- case SPELL_ATTR10_UNK15: return { "SPELL_ATTR10_UNK15", "SPELL_ATTR10_UNK15", "" };
- case SPELL_ATTR10_UNK16: return { "SPELL_ATTR10_UNK16", "SPELL_ATTR10_UNK16", "" };
+ case SPELL_ATTR10_UNK15: return { "SPELL_ATTR10_UNK15", "Unknown attribute 15@Attr10", "" };
+ case SPELL_ATTR10_UNK16: return { "SPELL_ATTR10_UNK16", "Unknown attribute 16@Attr10", "" };
case SPELL_ATTR10_CAN_DODGE_PARRY_WHILE_CASTING: return { "SPELL_ATTR10_CAN_DODGE_PARRY_WHILE_CASTING", "Allow Defense While Casting", "" };
- case SPELL_ATTR10_UNK18: return { "SPELL_ATTR10_UNK18", "SPELL_ATTR10_UNK18", "" };
- case SPELL_ATTR10_UNK19: return { "SPELL_ATTR10_UNK19", "SPELL_ATTR10_UNK19", "" };
- case SPELL_ATTR10_UNK20: return { "SPELL_ATTR10_UNK20", "SPELL_ATTR10_UNK20", "" };
- case SPELL_ATTR10_UNK21: return { "SPELL_ATTR10_UNK21", "SPELL_ATTR10_UNK21", "" };
- case SPELL_ATTR10_UNK22: return { "SPELL_ATTR10_UNK22", "SPELL_ATTR10_UNK22", "" };
- case SPELL_ATTR10_UNK23: return { "SPELL_ATTR10_UNK23", "SPELL_ATTR10_UNK23", "" };
- case SPELL_ATTR10_UNK24: return { "SPELL_ATTR10_UNK24", "SPELL_ATTR10_UNK24", "" };
- case SPELL_ATTR10_UNK25: return { "SPELL_ATTR10_UNK25", "SPELL_ATTR10_UNK25", "" };
- case SPELL_ATTR10_UNK26: return { "SPELL_ATTR10_UNK26", "SPELL_ATTR10_UNK26", "" };
- case SPELL_ATTR10_UNK27: return { "SPELL_ATTR10_UNK27", "SPELL_ATTR10_UNK27", "" };
- case SPELL_ATTR10_UNK28: return { "SPELL_ATTR10_UNK28", "SPELL_ATTR10_UNK28", "" };
+ case SPELL_ATTR10_UNK18: return { "SPELL_ATTR10_UNK18", "Unknown attribute 18@Attr10", "" };
+ case SPELL_ATTR10_UNK19: return { "SPELL_ATTR10_UNK19", "Unknown attribute 19@Attr10", "" };
+ case SPELL_ATTR10_UNK20: return { "SPELL_ATTR10_UNK20", "Unknown attribute 20@Attr10", "" };
+ case SPELL_ATTR10_UNK21: return { "SPELL_ATTR10_UNK21", "Unknown attribute 21@Attr10", "" };
+ case SPELL_ATTR10_UNK22: return { "SPELL_ATTR10_UNK22", "Unknown attribute 22@Attr10", "" };
+ case SPELL_ATTR10_UNK23: return { "SPELL_ATTR10_UNK23", "Unknown attribute 23@Attr10", "" };
+ case SPELL_ATTR10_UNK24: return { "SPELL_ATTR10_UNK24", "Unknown attribute 24@Attr10", "" };
+ case SPELL_ATTR10_UNK25: return { "SPELL_ATTR10_UNK25", "Unknown attribute 25@Attr10", "" };
+ case SPELL_ATTR10_UNK26: return { "SPELL_ATTR10_UNK26", "Unknown attribute 26@Attr10", "" };
+ case SPELL_ATTR10_UNK27: return { "SPELL_ATTR10_UNK27", "Unknown attribute 27@Attr10", "" };
+ case SPELL_ATTR10_UNK28: return { "SPELL_ATTR10_UNK28", "Unknown attribute 28@Attr10", "" };
case SPELL_ATTR10_MOUNT_IS_NOT_ACCOUNT_WIDE: return { "SPELL_ATTR10_MOUNT_IS_NOT_ACCOUNT_WIDE", "This Mount is NOT at the account level", "" };
- case SPELL_ATTR10_UNK30: return { "SPELL_ATTR10_UNK30", "SPELL_ATTR10_UNK30", "" };
- case SPELL_ATTR10_UNK31: return { "SPELL_ATTR10_UNK31", "SPELL_ATTR10_UNK31", "" };
+ case SPELL_ATTR10_UNK30: return { "SPELL_ATTR10_UNK30", "Unknown attribute 30@Attr10", "" };
+ case SPELL_ATTR10_UNK31: return { "SPELL_ATTR10_UNK31", "Unknown attribute 31@Attr10", "" };
default: throw std::out_of_range("value");
}
}
@@ -1103,38 +1103,38 @@ TC_API_EXPORT EnumText EnumUtils<SpellAttr11>::ToString(SpellAttr11 value)
{
switch (value)
{
- case SPELL_ATTR11_UNK0: return { "SPELL_ATTR11_UNK0", "SPELL_ATTR11_UNK0", "" };
- case SPELL_ATTR11_UNK1: return { "SPELL_ATTR11_UNK1", "SPELL_ATTR11_UNK1", "" };
+ case SPELL_ATTR11_UNK0: return { "SPELL_ATTR11_UNK0", "Unknown attribute 0@Attr11", "" };
+ case SPELL_ATTR11_UNK1: return { "SPELL_ATTR11_UNK1", "Unknown attribute 1@Attr11", "" };
case SPELL_ATTR11_SCALES_WITH_ITEM_LEVEL: return { "SPELL_ATTR11_SCALES_WITH_ITEM_LEVEL", "Scales with Casting Item's Level", "" };
- case SPELL_ATTR11_UNK3: return { "SPELL_ATTR11_UNK3", "SPELL_ATTR11_UNK3", "" };
- case SPELL_ATTR11_UNK4: return { "SPELL_ATTR11_UNK4", "SPELL_ATTR11_UNK4", "" };
+ case SPELL_ATTR11_UNK3: return { "SPELL_ATTR11_UNK3", "Unknown attribute 3@Attr11", "" };
+ case SPELL_ATTR11_UNK4: return { "SPELL_ATTR11_UNK4", "Unknown attribute 4@Attr11", "" };
case SPELL_ATTR11_ABSORB_ENVIRONMENTAL_DAMAGE: return { "SPELL_ATTR11_ABSORB_ENVIRONMENTAL_DAMAGE", "Absorb Falling Damage", "" };
- case SPELL_ATTR11_UNK6: return { "SPELL_ATTR11_UNK6", "SPELL_ATTR11_UNK6", "" };
+ case SPELL_ATTR11_UNK6: return { "SPELL_ATTR11_UNK6", "Unknown attribute 6@Attr11", "" };
case SPELL_ATTR11_RANK_IGNORES_CASTER_LEVEL: return { "SPELL_ATTR11_RANK_IGNORES_CASTER_LEVEL", "Ignore Caster's spell level", "Spell_C_GetSpellRank returns SpellLevels->MaxLevel * 5 instead of std::min(SpellLevels->MaxLevel, caster->Level) * 5" };
- case SPELL_ATTR11_UNK8: return { "SPELL_ATTR11_UNK8", "SPELL_ATTR11_UNK8", "" };
- case SPELL_ATTR11_UNK9: return { "SPELL_ATTR11_UNK9", "SPELL_ATTR11_UNK9", "" };
- case SPELL_ATTR11_UNK10: return { "SPELL_ATTR11_UNK10", "SPELL_ATTR11_UNK10", "" };
+ case SPELL_ATTR11_UNK8: return { "SPELL_ATTR11_UNK8", "Unknown attribute 8@Attr11", "" };
+ case SPELL_ATTR11_UNK9: return { "SPELL_ATTR11_UNK9", "Unknown attribute 9@Attr11", "" };
+ case SPELL_ATTR11_UNK10: return { "SPELL_ATTR11_UNK10", "Unknown attribute 10@Attr11", "" };
case SPELL_ATTR11_NOT_USABLE_IN_INSTANCES: return { "SPELL_ATTR11_NOT_USABLE_IN_INSTANCES", "Not in Instances", "" };
- case SPELL_ATTR11_UNK12: return { "SPELL_ATTR11_UNK12", "SPELL_ATTR11_UNK12", "" };
- case SPELL_ATTR11_UNK13: return { "SPELL_ATTR11_UNK13", "SPELL_ATTR11_UNK13", "" };
- case SPELL_ATTR11_UNK14: return { "SPELL_ATTR11_UNK14", "SPELL_ATTR11_UNK14", "" };
- case SPELL_ATTR11_UNK15: return { "SPELL_ATTR11_UNK15", "SPELL_ATTR11_UNK15", "" };
+ case SPELL_ATTR11_UNK12: return { "SPELL_ATTR11_UNK12", "Unknown attribute 12@Attr11", "" };
+ case SPELL_ATTR11_UNK13: return { "SPELL_ATTR11_UNK13", "Unknown attribute 13@Attr11", "" };
+ case SPELL_ATTR11_UNK14: return { "SPELL_ATTR11_UNK14", "Unknown attribute 14@Attr11", "" };
+ case SPELL_ATTR11_UNK15: return { "SPELL_ATTR11_UNK15", "Unknown attribute 15@Attr11", "" };
case SPELL_ATTR11_NOT_USABLE_IN_CHALLENGE_MODE: return { "SPELL_ATTR11_NOT_USABLE_IN_CHALLENGE_MODE", "Not in Mythic+ Mode (Challenge Mode)", "" };
- case SPELL_ATTR11_UNK17: return { "SPELL_ATTR11_UNK17", "SPELL_ATTR11_UNK17", "" };
- case SPELL_ATTR11_UNK18: return { "SPELL_ATTR11_UNK18", "SPELL_ATTR11_UNK18", "" };
- case SPELL_ATTR11_UNK19: return { "SPELL_ATTR11_UNK19", "SPELL_ATTR11_UNK19", "" };
- case SPELL_ATTR11_UNK20: return { "SPELL_ATTR11_UNK20", "SPELL_ATTR11_UNK20", "" };
- case SPELL_ATTR11_UNK21: return { "SPELL_ATTR11_UNK21", "SPELL_ATTR11_UNK21", "" };
- case SPELL_ATTR11_UNK22: return { "SPELL_ATTR11_UNK22", "SPELL_ATTR11_UNK22", "" };
- case SPELL_ATTR11_UNK23: return { "SPELL_ATTR11_UNK23", "SPELL_ATTR11_UNK23", "" };
- case SPELL_ATTR11_UNK24: return { "SPELL_ATTR11_UNK24", "SPELL_ATTR11_UNK24", "" };
- case SPELL_ATTR11_UNK25: return { "SPELL_ATTR11_UNK25", "SPELL_ATTR11_UNK25", "" };
- case SPELL_ATTR11_UNK26: return { "SPELL_ATTR11_UNK26", "SPELL_ATTR11_UNK26", "" };
- case SPELL_ATTR11_UNK27: return { "SPELL_ATTR11_UNK27", "SPELL_ATTR11_UNK27", "" };
- case SPELL_ATTR11_UNK28: return { "SPELL_ATTR11_UNK28", "SPELL_ATTR11_UNK28", "" };
- case SPELL_ATTR11_UNK29: return { "SPELL_ATTR11_UNK29", "SPELL_ATTR11_UNK29", "" };
- case SPELL_ATTR11_UNK30: return { "SPELL_ATTR11_UNK30", "SPELL_ATTR11_UNK30", "" };
- case SPELL_ATTR11_UNK31: return { "SPELL_ATTR11_UNK31", "SPELL_ATTR11_UNK31", "" };
+ case SPELL_ATTR11_UNK17: return { "SPELL_ATTR11_UNK17", "Unknown attribute 17@Attr11", "" };
+ case SPELL_ATTR11_UNK18: return { "SPELL_ATTR11_UNK18", "Unknown attribute 18@Attr11", "" };
+ case SPELL_ATTR11_UNK19: return { "SPELL_ATTR11_UNK19", "Unknown attribute 19@Attr11", "" };
+ case SPELL_ATTR11_UNK20: return { "SPELL_ATTR11_UNK20", "Unknown attribute 20@Attr11", "" };
+ case SPELL_ATTR11_UNK21: return { "SPELL_ATTR11_UNK21", "Unknown attribute 21@Attr11", "" };
+ case SPELL_ATTR11_UNK22: return { "SPELL_ATTR11_UNK22", "Unknown attribute 22@Attr11", "" };
+ case SPELL_ATTR11_UNK23: return { "SPELL_ATTR11_UNK23", "Unknown attribute 23@Attr11", "" };
+ case SPELL_ATTR11_UNK24: return { "SPELL_ATTR11_UNK24", "Unknown attribute 24@Attr11", "" };
+ case SPELL_ATTR11_UNK25: return { "SPELL_ATTR11_UNK25", "Unknown attribute 25@Attr11", "" };
+ case SPELL_ATTR11_UNK26: return { "SPELL_ATTR11_UNK26", "Unknown attribute 26@Attr11", "" };
+ case SPELL_ATTR11_UNK27: return { "SPELL_ATTR11_UNK27", "Unknown attribute 27@Attr11", "" };
+ case SPELL_ATTR11_UNK28: return { "SPELL_ATTR11_UNK28", "Unknown attribute 28@Attr11", "" };
+ case SPELL_ATTR11_UNK29: return { "SPELL_ATTR11_UNK29", "Unknown attribute 29@Attr11", "" };
+ case SPELL_ATTR11_UNK30: return { "SPELL_ATTR11_UNK30", "Unknown attribute 30@Attr11", "" };
+ case SPELL_ATTR11_UNK31: return { "SPELL_ATTR11_UNK31", "Unknown attribute 31@Attr11", "" };
default: throw std::out_of_range("value");
}
}
@@ -1191,38 +1191,38 @@ TC_API_EXPORT EnumText EnumUtils<SpellAttr12>::ToString(SpellAttr12 value)
{
switch (value)
{
- case SPELL_ATTR12_UNK0: return { "SPELL_ATTR12_UNK0", "SPELL_ATTR12_UNK0", "" };
- case SPELL_ATTR12_UNK1: return { "SPELL_ATTR12_UNK1", "SPELL_ATTR12_UNK1", "" };
- case SPELL_ATTR12_UNK2: return { "SPELL_ATTR12_UNK2", "SPELL_ATTR12_UNK2", "" };
- case SPELL_ATTR12_UNK3: return { "SPELL_ATTR12_UNK3", "SPELL_ATTR12_UNK3", "" };
- case SPELL_ATTR12_UNK4: return { "SPELL_ATTR12_UNK4", "SPELL_ATTR12_UNK4", "" };
- case SPELL_ATTR12_UNK5: return { "SPELL_ATTR12_UNK5", "SPELL_ATTR12_UNK5", "" };
- case SPELL_ATTR12_UNK6: return { "SPELL_ATTR12_UNK6", "SPELL_ATTR12_UNK6", "" };
- case SPELL_ATTR12_UNK7: return { "SPELL_ATTR12_UNK7", "SPELL_ATTR12_UNK7", "" };
- case SPELL_ATTR12_UNK8: return { "SPELL_ATTR12_UNK8", "SPELL_ATTR12_UNK8", "" };
+ case SPELL_ATTR12_UNK0: return { "SPELL_ATTR12_UNK0", "Unknown attribute 0@Attr12", "" };
+ case SPELL_ATTR12_UNK1: return { "SPELL_ATTR12_UNK1", "Unknown attribute 1@Attr12", "" };
+ case SPELL_ATTR12_UNK2: return { "SPELL_ATTR12_UNK2", "Unknown attribute 2@Attr12", "" };
+ case SPELL_ATTR12_UNK3: return { "SPELL_ATTR12_UNK3", "Unknown attribute 3@Attr12", "" };
+ case SPELL_ATTR12_UNK4: return { "SPELL_ATTR12_UNK4", "Unknown attribute 4@Attr12", "" };
+ case SPELL_ATTR12_UNK5: return { "SPELL_ATTR12_UNK5", "Unknown attribute 5@Attr12", "" };
+ case SPELL_ATTR12_UNK6: return { "SPELL_ATTR12_UNK6", "Unknown attribute 6@Attr12", "" };
+ case SPELL_ATTR12_UNK7: return { "SPELL_ATTR12_UNK7", "Unknown attribute 7@Attr12", "" };
+ case SPELL_ATTR12_UNK8: return { "SPELL_ATTR12_UNK8", "Unknown attribute 8@Attr12", "" };
case SPELL_ATTR12_IGNORE_CASTING_DISABLED: return { "SPELL_ATTR12_IGNORE_CASTING_DISABLED", "Active Passive", "Ignores aura 263 SPELL_AURA_DISABLE_CASTING_EXCEPT_ABILITIES" };
- case SPELL_ATTR12_UNK10: return { "SPELL_ATTR12_UNK10", "SPELL_ATTR12_UNK10", "" };
- case SPELL_ATTR12_UNK11: return { "SPELL_ATTR12_UNK11", "SPELL_ATTR12_UNK11", "" };
- case SPELL_ATTR12_UNK12: return { "SPELL_ATTR12_UNK12", "SPELL_ATTR12_UNK12", "" };
- case SPELL_ATTR12_UNK13: return { "SPELL_ATTR12_UNK13", "SPELL_ATTR12_UNK13", "" };
- case SPELL_ATTR12_UNK14: return { "SPELL_ATTR12_UNK14", "SPELL_ATTR12_UNK14", "" };
- case SPELL_ATTR12_UNK15: return { "SPELL_ATTR12_UNK15", "SPELL_ATTR12_UNK15", "" };
- case SPELL_ATTR12_UNK16: return { "SPELL_ATTR12_UNK16", "SPELL_ATTR12_UNK16", "" };
- case SPELL_ATTR12_UNK17: return { "SPELL_ATTR12_UNK17", "SPELL_ATTR12_UNK17", "" };
- case SPELL_ATTR12_UNK18: return { "SPELL_ATTR12_UNK18", "SPELL_ATTR12_UNK18", "" };
- case SPELL_ATTR12_UNK19: return { "SPELL_ATTR12_UNK19", "SPELL_ATTR12_UNK19", "" };
- case SPELL_ATTR12_UNK20: return { "SPELL_ATTR12_UNK20", "SPELL_ATTR12_UNK20", "" };
- case SPELL_ATTR12_UNK21: return { "SPELL_ATTR12_UNK21", "SPELL_ATTR12_UNK21", "" };
- case SPELL_ATTR12_UNK22: return { "SPELL_ATTR12_UNK22", "SPELL_ATTR12_UNK22", "" };
+ case SPELL_ATTR12_UNK10: return { "SPELL_ATTR12_UNK10", "Unknown attribute 10@Attr12", "" };
+ case SPELL_ATTR12_UNK11: return { "SPELL_ATTR12_UNK11", "Unknown attribute 11@Attr12", "" };
+ case SPELL_ATTR12_UNK12: return { "SPELL_ATTR12_UNK12", "Unknown attribute 12@Attr12", "" };
+ case SPELL_ATTR12_UNK13: return { "SPELL_ATTR12_UNK13", "Unknown attribute 13@Attr12", "" };
+ case SPELL_ATTR12_UNK14: return { "SPELL_ATTR12_UNK14", "Unknown attribute 14@Attr12", "" };
+ case SPELL_ATTR12_UNK15: return { "SPELL_ATTR12_UNK15", "Unknown attribute 15@Attr12", "" };
+ case SPELL_ATTR12_UNK16: return { "SPELL_ATTR12_UNK16", "Unknown attribute 16@Attr12", "" };
+ case SPELL_ATTR12_UNK17: return { "SPELL_ATTR12_UNK17", "Unknown attribute 17@Attr12", "" };
+ case SPELL_ATTR12_UNK18: return { "SPELL_ATTR12_UNK18", "Unknown attribute 18@Attr12", "" };
+ case SPELL_ATTR12_UNK19: return { "SPELL_ATTR12_UNK19", "Unknown attribute 19@Attr12", "" };
+ case SPELL_ATTR12_UNK20: return { "SPELL_ATTR12_UNK20", "Unknown attribute 20@Attr12", "" };
+ case SPELL_ATTR12_UNK21: return { "SPELL_ATTR12_UNK21", "Unknown attribute 21@Attr12", "" };
+ case SPELL_ATTR12_UNK22: return { "SPELL_ATTR12_UNK22", "Unknown attribute 22@Attr12", "" };
case SPELL_ATTR12_START_COOLDOWN_ON_CAST_START: return { "SPELL_ATTR12_START_COOLDOWN_ON_CAST_START", "Trigger Cooldown On Spell Start", "" };
- case SPELL_ATTR12_IS_GARRISON_BUFF: return { "SPELL_ATTR12_IS_GARRISON_BUFF", "SPELL_ATTR12_IS_GARRISON_BUFF", "" };
- case SPELL_ATTR12_UNK25: return { "SPELL_ATTR12_UNK25", "SPELL_ATTR12_UNK25", "" };
- case SPELL_ATTR12_UNK26: return { "SPELL_ATTR12_UNK26", "SPELL_ATTR12_UNK26", "" };
- case SPELL_ATTR12_IS_READINESS_SPELL: return { "SPELL_ATTR12_IS_READINESS_SPELL", "SPELL_ATTR12_IS_READINESS_SPELL", "" };
- case SPELL_ATTR12_UNK28: return { "SPELL_ATTR12_UNK28", "SPELL_ATTR12_UNK28", "" };
- case SPELL_ATTR12_UNK29: return { "SPELL_ATTR12_UNK29", "SPELL_ATTR12_UNK29", "" };
- case SPELL_ATTR12_UNK30: return { "SPELL_ATTR12_UNK30", "SPELL_ATTR12_UNK30", "" };
- case SPELL_ATTR12_UNK31: return { "SPELL_ATTR12_UNK31", "SPELL_ATTR12_UNK31", "" };
+ case SPELL_ATTR12_IS_GARRISON_BUFF: return { "SPELL_ATTR12_IS_GARRISON_BUFF", "Never Learn", "" };
+ case SPELL_ATTR12_UNK25: return { "SPELL_ATTR12_UNK25", "Unknown attribute 25@Attr12", "" };
+ case SPELL_ATTR12_UNK26: return { "SPELL_ATTR12_UNK26", "Unknown attribute 26@Attr12", "" };
+ case SPELL_ATTR12_IS_READINESS_SPELL: return { "SPELL_ATTR12_IS_READINESS_SPELL", "Recompute Aura on Mercenary Mode", "" };
+ case SPELL_ATTR12_UNK28: return { "SPELL_ATTR12_UNK28", "Unknown attribute 28@Attr12", "" };
+ case SPELL_ATTR12_UNK29: return { "SPELL_ATTR12_UNK29", "Unknown attribute 29@Attr12", "" };
+ case SPELL_ATTR12_UNK30: return { "SPELL_ATTR12_UNK30", "Unknown attribute 30@Attr12", "" };
+ case SPELL_ATTR12_UNK31: return { "SPELL_ATTR12_UNK31", "Unknown attribute 31@Attr12", "" };
default: throw std::out_of_range("value");
}
}
@@ -1279,38 +1279,38 @@ TC_API_EXPORT EnumText EnumUtils<SpellAttr13>::ToString(SpellAttr13 value)
{
switch (value)
{
- case SPELL_ATTR13_UNK0: return { "SPELL_ATTR13_UNK0", "SPELL_ATTR13_UNK0", "" };
- case SPELL_ATTR13_UNK1: return { "SPELL_ATTR13_UNK1", "SPELL_ATTR13_UNK1", "" };
- case SPELL_ATTR13_PASSIVE_IS_UPGRADE: return { "SPELL_ATTR13_PASSIVE_IS_UPGRADE", "SPELL_ATTR13_PASSIVE_IS_UPGRADE", "2 Displays \042Upgrade\042 in spell tooltip instead of \042Passive\042" };
- case SPELL_ATTR13_UNK3: return { "SPELL_ATTR13_UNK3", "SPELL_ATTR13_UNK3", "" };
- case SPELL_ATTR13_UNK4: return { "SPELL_ATTR13_UNK4", "SPELL_ATTR13_UNK4", "" };
- case SPELL_ATTR13_UNK5: return { "SPELL_ATTR13_UNK5", "SPELL_ATTR13_UNK5", "" };
- case SPELL_ATTR13_UNK6: return { "SPELL_ATTR13_UNK6", "SPELL_ATTR13_UNK6", "" };
- case SPELL_ATTR13_UNK7: return { "SPELL_ATTR13_UNK7", "SPELL_ATTR13_UNK7", "" };
- case SPELL_ATTR13_UNK8: return { "SPELL_ATTR13_UNK8", "SPELL_ATTR13_UNK8", "" };
- case SPELL_ATTR13_UNK9: return { "SPELL_ATTR13_UNK9", "SPELL_ATTR13_UNK9", "" };
- case SPELL_ATTR13_UNK10: return { "SPELL_ATTR13_UNK10", "SPELL_ATTR13_UNK10", "" };
- case SPELL_ATTR13_UNK11: return { "SPELL_ATTR13_UNK11", "SPELL_ATTR13_UNK11", "" };
- case SPELL_ATTR13_UNK12: return { "SPELL_ATTR13_UNK12", "SPELL_ATTR13_UNK12", "" };
- case SPELL_ATTR13_UNK13: return { "SPELL_ATTR13_UNK13", "SPELL_ATTR13_UNK13", "" };
- case SPELL_ATTR13_UNK14: return { "SPELL_ATTR13_UNK14", "SPELL_ATTR13_UNK14", "" };
- case SPELL_ATTR13_UNK15: return { "SPELL_ATTR13_UNK15", "SPELL_ATTR13_UNK15", "" };
- case SPELL_ATTR13_UNK16: return { "SPELL_ATTR13_UNK16", "SPELL_ATTR13_UNK16", "" };
- case SPELL_ATTR13_UNK17: return { "SPELL_ATTR13_UNK17", "SPELL_ATTR13_UNK17", "" };
- case SPELL_ATTR13_ACTIVATES_REQUIRED_SHAPESHIFT: return { "SPELL_ATTR13_ACTIVATES_REQUIRED_SHAPESHIFT", "SPELL_ATTR13_ACTIVATES_REQUIRED_SHAPESHIFT", "" };
- case SPELL_ATTR13_UNK19: return { "SPELL_ATTR13_UNK19", "SPELL_ATTR13_UNK19", "" };
- case SPELL_ATTR13_UNK20: return { "SPELL_ATTR13_UNK20", "SPELL_ATTR13_UNK20", "" };
- case SPELL_ATTR13_UNK21: return { "SPELL_ATTR13_UNK21", "SPELL_ATTR13_UNK21", "" };
- case SPELL_ATTR13_UNK22: return { "SPELL_ATTR13_UNK22", "SPELL_ATTR13_UNK22", "" };
- case SPELL_ATTR13_UNK23: return { "SPELL_ATTR13_UNK23", "SPELL_ATTR13_UNK23", "" };
- case SPELL_ATTR13_UNK24: return { "SPELL_ATTR13_UNK24", "SPELL_ATTR13_UNK24", "" };
- case SPELL_ATTR13_UNK25: return { "SPELL_ATTR13_UNK25", "SPELL_ATTR13_UNK25", "" };
- case SPELL_ATTR13_UNK26: return { "SPELL_ATTR13_UNK26", "SPELL_ATTR13_UNK26", "" };
- case SPELL_ATTR13_UNK27: return { "SPELL_ATTR13_UNK27", "SPELL_ATTR13_UNK27", "" };
- case SPELL_ATTR13_UNK28: return { "SPELL_ATTR13_UNK28", "SPELL_ATTR13_UNK28", "" };
- case SPELL_ATTR13_UNK29: return { "SPELL_ATTR13_UNK29", "SPELL_ATTR13_UNK29", "" };
- case SPELL_ATTR13_UNK30: return { "SPELL_ATTR13_UNK30", "SPELL_ATTR13_UNK30", "" };
- case SPELL_ATTR13_UNK31: return { "SPELL_ATTR13_UNK31", "SPELL_ATTR13_UNK31", "" };
+ case SPELL_ATTR13_UNK0: return { "SPELL_ATTR13_UNK0", "Unknown attribute 0@Attr13", "" };
+ case SPELL_ATTR13_UNK1: return { "SPELL_ATTR13_UNK1", "Unknown attribute 0@Attr13", "" };
+ case SPELL_ATTR13_PASSIVE_IS_UPGRADE: return { "SPELL_ATTR13_PASSIVE_IS_UPGRADE", "Is Upgrade", "Displays \042Upgrade\042 in spell tooltip instead of \042Passive\042" };
+ case SPELL_ATTR13_UNK3: return { "SPELL_ATTR13_UNK3", "Unknown attribute 3@Attr13", "" };
+ case SPELL_ATTR13_UNK4: return { "SPELL_ATTR13_UNK4", "Unknown attribute 4@Attr13", "" };
+ case SPELL_ATTR13_UNK5: return { "SPELL_ATTR13_UNK5", "Unknown attribute 5@Attr13", "" };
+ case SPELL_ATTR13_UNK6: return { "SPELL_ATTR13_UNK6", "Unknown attribute 6@Attr13", "" };
+ case SPELL_ATTR13_UNK7: return { "SPELL_ATTR13_UNK7", "Unknown attribute 7@Attr13", "" };
+ case SPELL_ATTR13_UNK8: return { "SPELL_ATTR13_UNK8", "Unknown attribute 8@Attr13", "" };
+ case SPELL_ATTR13_UNK9: return { "SPELL_ATTR13_UNK9", "Unknown attribute 9@Attr13", "" };
+ case SPELL_ATTR13_UNK10: return { "SPELL_ATTR13_UNK10", "Unknown attribute 10@Attr13", "" };
+ case SPELL_ATTR13_UNK11: return { "SPELL_ATTR13_UNK11", "Unknown attribute 11@Attr13", "" };
+ case SPELL_ATTR13_UNK12: return { "SPELL_ATTR13_UNK12", "Unknown attribute 12@Attr13", "" };
+ case SPELL_ATTR13_UNK13: return { "SPELL_ATTR13_UNK13", "Unknown attribute 13@Attr13", "" };
+ case SPELL_ATTR13_UNK14: return { "SPELL_ATTR13_UNK14", "Unknown attribute 14@Attr13", "" };
+ case SPELL_ATTR13_UNK15: return { "SPELL_ATTR13_UNK15", "Unknown attribute 15@Attr13", "" };
+ case SPELL_ATTR13_UNK16: return { "SPELL_ATTR13_UNK16", "Unknown attribute 16@Attr13", "" };
+ case SPELL_ATTR13_UNK17: return { "SPELL_ATTR13_UNK17", "Unknown attribute 17@Attr13", "" };
+ case SPELL_ATTR13_ACTIVATES_REQUIRED_SHAPESHIFT: return { "SPELL_ATTR13_ACTIVATES_REQUIRED_SHAPESHIFT", "Do Not Enforce Shapeshift Requirements", "" };
+ case SPELL_ATTR13_UNK19: return { "SPELL_ATTR13_UNK19", "Unknown attribute 19@Attr13", "" };
+ case SPELL_ATTR13_UNK20: return { "SPELL_ATTR13_UNK20", "Unknown attribute 20@Attr13", "" };
+ case SPELL_ATTR13_UNK21: return { "SPELL_ATTR13_UNK21", "Unknown attribute 21@Attr13", "" };
+ case SPELL_ATTR13_UNK22: return { "SPELL_ATTR13_UNK22", "Unknown attribute 22@Attr13", "" };
+ case SPELL_ATTR13_UNK23: return { "SPELL_ATTR13_UNK23", "Unknown attribute 23@Attr13", "" };
+ case SPELL_ATTR13_UNK24: return { "SPELL_ATTR13_UNK24", "Unknown attribute 24@Attr13", "" };
+ case SPELL_ATTR13_UNK25: return { "SPELL_ATTR13_UNK25", "Unknown attribute 25@Attr13", "" };
+ case SPELL_ATTR13_UNK26: return { "SPELL_ATTR13_UNK26", "Unknown attribute 26@Attr13", "" };
+ case SPELL_ATTR13_UNK27: return { "SPELL_ATTR13_UNK27", "Unknown attribute 27@Attr13", "" };
+ case SPELL_ATTR13_UNK28: return { "SPELL_ATTR13_UNK28", "Unknown attribute 28@Attr13", "" };
+ case SPELL_ATTR13_UNK29: return { "SPELL_ATTR13_UNK29", "Unknown attribute 29@Attr13", "" };
+ case SPELL_ATTR13_UNK30: return { "SPELL_ATTR13_UNK30", "Unknown attribute 30@Attr13", "" };
+ case SPELL_ATTR13_UNK31: return { "SPELL_ATTR13_UNK31", "Unknown attribute 31@Attr13", "" };
default: throw std::out_of_range("value");
}
}
@@ -1367,38 +1367,38 @@ TC_API_EXPORT EnumText EnumUtils<SpellAttr14>::ToString(SpellAttr14 value)
{
switch (value)
{
- case SPELL_ATTR14_UNK0: return { "SPELL_ATTR14_UNK0", "SPELL_ATTR14_UNK0", "" };
+ case SPELL_ATTR14_UNK0: return { "SPELL_ATTR14_UNK0", "Unknown attribute 0@Attr14", "" };
case SPELL_ATTR14_REAGENT_COST_CONSUMES_CHARGES: return { "SPELL_ATTR14_REAGENT_COST_CONSUMES_CHARGES", "Reagent Consume Charges", "Consumes item charges for reagent costs instead of whole items" };
- case SPELL_ATTR14_UNK2: return { "SPELL_ATTR14_UNK2", "SPELL_ATTR14_UNK2", "" };
+ case SPELL_ATTR14_UNK2: return { "SPELL_ATTR14_UNK2", "Unknown attribute 2@Attr14", "" };
case SPELL_ATTR14_HIDE_PASSIVE_FROM_TOOLTIP: return { "SPELL_ATTR14_HIDE_PASSIVE_FROM_TOOLTIP", "Don't show \042Passive\042 or \042Upgrade\042 in tooltip", "" };
- case SPELL_ATTR14_UNK4: return { "SPELL_ATTR14_UNK4", "SPELL_ATTR14_UNK4", "" };
- case SPELL_ATTR14_UNK5: return { "SPELL_ATTR14_UNK5", "SPELL_ATTR14_UNK5", "" };
- case SPELL_ATTR14_UNK6: return { "SPELL_ATTR14_UNK6", "SPELL_ATTR14_UNK6", "" };
- case SPELL_ATTR14_UNK7: return { "SPELL_ATTR14_UNK7", "SPELL_ATTR14_UNK7", "" };
- case SPELL_ATTR14_UNK8: return { "SPELL_ATTR14_UNK8", "SPELL_ATTR14_UNK8", "" };
- case SPELL_ATTR14_UNK9: return { "SPELL_ATTR14_UNK9", "SPELL_ATTR14_UNK9", "" };
- case SPELL_ATTR14_UNK10: return { "SPELL_ATTR14_UNK10", "SPELL_ATTR14_UNK10", "" };
- case SPELL_ATTR14_UNK11: return { "SPELL_ATTR14_UNK11", "SPELL_ATTR14_UNK11", "" };
- case SPELL_ATTR14_UNK12: return { "SPELL_ATTR14_UNK12", "SPELL_ATTR14_UNK12", "" };
- case SPELL_ATTR14_UNK13: return { "SPELL_ATTR14_UNK13", "SPELL_ATTR14_UNK13", "" };
- case SPELL_ATTR14_UNK14: return { "SPELL_ATTR14_UNK14", "SPELL_ATTR14_UNK14", "" };
- case SPELL_ATTR14_UNK15: return { "SPELL_ATTR14_UNK15", "SPELL_ATTR14_UNK15", "" };
- case SPELL_ATTR14_UNK16: return { "SPELL_ATTR14_UNK16", "SPELL_ATTR14_UNK16", "" };
- case SPELL_ATTR14_UNK17: return { "SPELL_ATTR14_UNK17", "SPELL_ATTR14_UNK17", "" };
- case SPELL_ATTR14_UNK18: return { "SPELL_ATTR14_UNK18", "SPELL_ATTR14_UNK18", "" };
- case SPELL_ATTR14_UNK19: return { "SPELL_ATTR14_UNK19", "SPELL_ATTR14_UNK19", "" };
- case SPELL_ATTR14_UNK20: return { "SPELL_ATTR14_UNK20", "SPELL_ATTR14_UNK20", "" };
- case SPELL_ATTR14_UNK21: return { "SPELL_ATTR14_UNK21", "SPELL_ATTR14_UNK21", "" };
- case SPELL_ATTR14_UNK22: return { "SPELL_ATTR14_UNK22", "SPELL_ATTR14_UNK22", "" };
- case SPELL_ATTR14_UNK23: return { "SPELL_ATTR14_UNK23", "SPELL_ATTR14_UNK23", "" };
- case SPELL_ATTR14_UNK24: return { "SPELL_ATTR14_UNK24", "SPELL_ATTR14_UNK24", "" };
- case SPELL_ATTR14_UNK25: return { "SPELL_ATTR14_UNK25", "SPELL_ATTR14_UNK25", "" };
- case SPELL_ATTR14_UNK26: return { "SPELL_ATTR14_UNK26", "SPELL_ATTR14_UNK26", "" };
- case SPELL_ATTR14_UNK27: return { "SPELL_ATTR14_UNK27", "SPELL_ATTR14_UNK27", "" };
- case SPELL_ATTR14_UNK28: return { "SPELL_ATTR14_UNK28", "SPELL_ATTR14_UNK28", "" };
- case SPELL_ATTR14_UNK29: return { "SPELL_ATTR14_UNK29", "SPELL_ATTR14_UNK29", "" };
- case SPELL_ATTR14_UNK30: return { "SPELL_ATTR14_UNK30", "SPELL_ATTR14_UNK30", "" };
- case SPELL_ATTR14_UNK31: return { "SPELL_ATTR14_UNK31", "SPELL_ATTR14_UNK31", "" };
+ case SPELL_ATTR14_UNK4: return { "SPELL_ATTR14_UNK4", "Unknown attribute 4@Attr14", "" };
+ case SPELL_ATTR14_UNK5: return { "SPELL_ATTR14_UNK5", "Unknown attribute 5@Attr14", "" };
+ case SPELL_ATTR14_UNK6: return { "SPELL_ATTR14_UNK6", "Unknown attribute 6@Attr14", "" };
+ case SPELL_ATTR14_UNK7: return { "SPELL_ATTR14_UNK7", "Unknown attribute 7@Attr14", "" };
+ case SPELL_ATTR14_UNK8: return { "SPELL_ATTR14_UNK8", "Unknown attribute 8@Attr14", "" };
+ case SPELL_ATTR14_UNK9: return { "SPELL_ATTR14_UNK9", "Unknown attribute 9@Attr14", "" };
+ case SPELL_ATTR14_UNK10: return { "SPELL_ATTR14_UNK10", "Unknown attribute 10@Attr14", "" };
+ case SPELL_ATTR14_UNK11: return { "SPELL_ATTR14_UNK11", "Unknown attribute 11@Attr14", "" };
+ case SPELL_ATTR14_UNK12: return { "SPELL_ATTR14_UNK12", "Unknown attribute 12@Attr14", "" };
+ case SPELL_ATTR14_UNK13: return { "SPELL_ATTR14_UNK13", "Unknown attribute 13@Attr14", "" };
+ case SPELL_ATTR14_UNK14: return { "SPELL_ATTR14_UNK14", "Unknown attribute 14@Attr14", "" };
+ case SPELL_ATTR14_UNK15: return { "SPELL_ATTR14_UNK15", "Unknown attribute 15@Attr14", "" };
+ case SPELL_ATTR14_UNK16: return { "SPELL_ATTR14_UNK16", "Unknown attribute 16@Attr14", "" };
+ case SPELL_ATTR14_UNK17: return { "SPELL_ATTR14_UNK17", "Unknown attribute 17@Attr14", "" };
+ case SPELL_ATTR14_UNK18: return { "SPELL_ATTR14_UNK18", "Unknown attribute 18@Attr14", "" };
+ case SPELL_ATTR14_UNK19: return { "SPELL_ATTR14_UNK19", "Unknown attribute 19@Attr14", "" };
+ case SPELL_ATTR14_UNK20: return { "SPELL_ATTR14_UNK20", "Unknown attribute 20@Attr14", "" };
+ case SPELL_ATTR14_UNK21: return { "SPELL_ATTR14_UNK21", "Unknown attribute 21@Attr14", "" };
+ case SPELL_ATTR14_UNK22: return { "SPELL_ATTR14_UNK22", "Unknown attribute 22@Attr14", "" };
+ case SPELL_ATTR14_UNK23: return { "SPELL_ATTR14_UNK23", "Unknown attribute 23@Attr14", "" };
+ case SPELL_ATTR14_UNK24: return { "SPELL_ATTR14_UNK24", "Unknown attribute 24@Attr14", "" };
+ case SPELL_ATTR14_UNK25: return { "SPELL_ATTR14_UNK25", "Unknown attribute 25@Attr14", "" };
+ case SPELL_ATTR14_UNK26: return { "SPELL_ATTR14_UNK26", "Unknown attribute 26@Attr14", "" };
+ case SPELL_ATTR14_UNK27: return { "SPELL_ATTR14_UNK27", "Unknown attribute 27@Attr14", "" };
+ case SPELL_ATTR14_UNK28: return { "SPELL_ATTR14_UNK28", "Unknown attribute 28@Attr14", "" };
+ case SPELL_ATTR14_UNK29: return { "SPELL_ATTR14_UNK29", "Unknown attribute 29@Attr14", "" };
+ case SPELL_ATTR14_UNK30: return { "SPELL_ATTR14_UNK30", "Unknown attribute 30@Attr14", "" };
+ case SPELL_ATTR14_UNK31: return { "SPELL_ATTR14_UNK31", "Unknown attribute 31@Attr14", "" };
default: throw std::out_of_range("value");
}
}