Spell.dbc/Attributes: Difference between revisions

From wowdev
Jump to navigation Jump to search
m (Fixed logo.)
(Table 6. Corrected and updated some previous.)
Line 1: Line 1:
==enum SpellAttr0==
==enum SpellAttr0 - Attributes==
{| class="wikitable sortable"
{| class="wikitable sortable"
|-
|-
Line 69: Line 69:
|}
|}


==enum SpellAttr1==
==enum SpellAttr1 - AttributesEx==
{| class="wikitable sortable"
{| class="wikitable sortable"
|-
|-
Line 130: Line 130:
| 134,217,728 || SPELL_ATTR1_DISCOUNT_POWER_ON_MISS || 0x08000000 || 27 - Melee spell? TBC Classic: "Discount Power On Miss".
| 134,217,728 || SPELL_ATTR1_DISCOUNT_POWER_ON_MISS || 0x08000000 || 27 - Melee spell? TBC Classic: "Discount Power On Miss".
|-
|-
| 268,435,456 ||  SPELL_ATTR1_NO_AURA_ICON || 0x10000000 || 28 - Client doesn't display these spells in aura bar. | Self descriptive.
| 268,435,456 ||  SPELL_ATTR1_NO_AURA_ICON || 0x10000000 || 28 - Client doesn't display these spells in aura bar.
|-
|-
| 536,870,912 || SPELL_ATTR1_NAME_IN_CHANNEL_BAR || 0x20000000 || 29 - Spell name is displayed in cast bar instead of "Channeling" text in Channel Bar. (Client Only).
| 536,870,912 || SPELL_ATTR1_NAME_IN_CHANNEL_BAR || 0x20000000 || 29 - Spell name is displayed in cast bar instead of "Channeling" text in Channel Bar. (Client Only).
Line 139: Line 139:
|}
|}


==enum SpellAttr2==
==enum SpellAttr2 - AttributesExB==
{| class="wikitable sortable"
{| class="wikitable sortable"
|-
|-
Line 160: Line 160:
| 128 || SPELL_ATTR2_DO_NOT_REPORT_SPELL_FAILURE || 0x00000080 || 7 - Do not report spell failure. Combat log or error string related.
| 128 || SPELL_ATTR2_DO_NOT_REPORT_SPELL_FAILURE || 0x00000080 || 7 - Do not report spell failure. Combat log or error string related.
|-
|-
| 256 || SPELL_ATTR2_INCLUDE_IN_ADVANCED_LOG || 0x00000100 || 8 - Not set in 3.0.3. Include in Advanced Combat Log.
| 256 || SPELL_ATTR2_INCLUDE_IN_ADVANCED_COMBAT_LOG || 0x00000100 || 8 - TrinityCore: "Determines whether to include this aura in list of auras in SMSG_ENCOUNTER_START."
|-
|-
| 512 || SPELL_ATTR2_ALWAYS_CAST_AS_UNIT || 0x00000200 || 9 - Always cast as unit.
| 512 || SPELL_ATTR2_ALWAYS_CAST_AS_UNIT || 0x00000200 || 9 - /*NYI*/ Always cast as unit.
|-
|-
| 1,024 || SPELL_ATTR2_SPECIAL_TAME_FLAG || 0x00000400 || 10 - Special taming flag.
| 1,024 || SPELL_ATTR2_SPECIAL_TAME_FLAG || 0x00000400 || 10 - Special taming flag.
Line 174: Line 174:
| 16,384 || SPELL_ATTR2_ALLOW_WHILE_INVISIBLE || 0x00004000 || 14 - Allow spell to not break invisibility?
| 16,384 || SPELL_ATTR2_ALLOW_WHILE_INVISIBLE || 0x00004000 || 14 - Allow spell to not break invisibility?
|-
|-
| 32,768 || SPELL_ATTR2_DO_NOT_CONSUME_IF_GAINED_DURING_CAST || 0x00008000 || 15 - Not set in 3.0.3. | Self descriptive.
| 32,768 || SPELL_ATTR2_DO_NOT_CONSUME_IF_GAINED_DURING_CAST || 0x00008000 || 15 - Not set in 3.0.3.
|-
|-
| 65,536 || SPELL_ATTR2_NO_ACTIVE_PET || 0x00010000 || 16 - Tame Beast.
| 65,536 || SPELL_ATTR2_NO_ACTIVE_PETS || 0x00010000 || 16 - Tame Beast.
|-
|-
| 131,072 || SPELL_ATTR2_NOT_RESET_AUTO_ACTIONS || 0x00020000 || 17 - Don't reset timers for melee auto-attacks (swings) or ranged auto-attacks (autoshots). "Do Not Reset Combat Timers".
| 131,072 || SPELL_ATTR2_DO_NOT_RESET_COMBAT_TIMERS || 0x00020000 || 17 - Don't reset timers for melee auto-attacks (swings) or ranged auto-attacks (autoshots). "Do Not Reset Combat Timers".
|-
|-
| 262,144 || SPELL_ATTR2_REQ_DEAD_PET || 0x00040000 || 18 - Only Revive Pet and Heart of the Phoenix. TBC Classic: "No Jump While Cast Pending".
| 262,144 || SPELL_ATTR2_NO_JUMP_WHILE_CAST_PENDING|| 0x00040000 || 18 - Self descriptive. Client only.
|-
|-
| 524,288 || SPELL_ATTR2_NOT_NEED_SHAPESHIFT || 0x00080000 || 19 - Allow while not shapeshifted (caster form).
| 524,288 || SPELL_ATTR2_ALLOW_WHILE_NOT_SHAPESHIFTED_CASTER_FORM || 0x00080000 || 19 - TrinityCore: "Even if Stances are nonzero, allow spell to be cast outside of shapeshift (though not in a different shapeshift)."
|-
|-
| 1,048,576 || SPELL_ATTR2_INITIATE_COMBAT_AFTER || 0x00100000 || 20 - TBC Classic: "Initiate Combat Post-Cast (Enables Auto-Attack)".
| 1,048,576 || SPELL_ATTR2_INITIATE_COMBAT_AFTER || 0x00100000 || 20 - TBC Classic: "Initiate Combat Post-Cast (Enables Auto-Attack)".
|-
|-
| 2,097,152 || SPELL_ATTR2_FAIL_ON_TARGET_IMMUNE || 0x00200000 || 21 - TBC Classic: "Fail on all targets immune". (Ice Block, Paladin immunity buffs, priest absorb shields, and other similar spells use this).
| 2,097,152 || SPELL_ATTR2_FAIL_ON_ALL_TARGETS_IMMUNE || 0x00200000 || 21 - TrinityCore: "Causes BG flags to be dropped if combined with ATTR1_DISPEL_AURAS_ON_IMMUNITY."
|-
|-
| 4,194,304 || SPELL_ATTR2_NO_INITIAL_THREAT || 0x00400000 || 22 - Ambush, Backstab, Cheap Shot, Death Grip, Garrote, Judgements, Mutilate, Pounce, Ravage, Shiv, Shred. TBC Classic: "No Initial Threat".
| 4,194,304 || SPELL_ATTR2_NO_INITIAL_THREAT || 0x00400000 || 22 - Ambush, Backstab, Cheap Shot, Death Grip, Garrote, Judgements, Mutilate, Pounce, Ravage, Shiv, Shred. TBC Classic: "No Initial Threat".
Line 196: Line 196:
| 33,554,432 || SPELL_ATTR2_DONT_BLOCK_MANA_REGEN || 0x02000000 || 25 - Mana regeneration is not blocked.
| 33,554,432 || SPELL_ATTR2_DONT_BLOCK_MANA_REGEN || 0x02000000 || 25 - Mana regeneration is not blocked.
|-
|-
| 67,108,864 || SPELL_ATTR2_UNAFFECTED_BY_AURA_SCHOOL_IMMUNE || 0x04000000 || 26 - Unaffected by school immunity.
| 67,108,864 || SPELL_ATTR2_NO_SCHOOL_IMMUNITIES || 0x04000000 || 26 - TrinityCore: "Allow aura to be applied despite target being immune to new aura applications."
|-
|-
| 134,217,728 || SPELL_ATTR2_IGNORE_WEAPONSKILL || 0x08000000 || 27 - Ignore skill level of a weapon.
| 134,217,728 || SPELL_ATTR2_IGNORE_WEAPONSKILL || 0x08000000 || 27 - Ignore skill level of a weapon.
|-
|-
| 268,435,456 ||  SPELL_ATTR2_IGNORE_ITEM_CHECK || 0x10000000 || 28 - Spell is cast without checking item requirements (charges/reagents/totem). TBC Classic: "Not an Action".
| 268,435,456 ||  SPELL_ATTR2_NOT_AN_ACTION || 0x10000000 || 28 - Self descriptive.
|-
|-
| 536,870,912 || SPELL_ATTR2_CANT_CRIT || 0x20000000 || 29 - Spell is not capable of being critical.
| 536,870,912 || SPELL_ATTR2_CANT_CRIT || 0x20000000 || 29 - Spell is not capable of being critical.
Line 206: Line 206:
| 1,073,741,824 || SPELL_ATTR2_TRIGGERED_CAN_TRIGGER_PROC || 0x40000000 || 30 - Spell can trigger even if triggered. TBC Classic: "Active Threat".
| 1,073,741,824 || SPELL_ATTR2_TRIGGERED_CAN_TRIGGER_PROC || 0x40000000 || 30 - Spell can trigger even if triggered. TBC Classic: "Active Threat".
|-
|-
| 2,147,483,648 || SPELL_ATTR2_RETAIN_ITEM_CAST || 0x80000000 || 31 - Food or Drink Buff (i.e Well Fed).
| 2,147,483,648 || SPELL_ATTR2_RETAIN_ITEM_CAST || 0x80000000 || 31 - Food or Drink Buff (Ex. Well Fed).
|}
|}


==enum SpellAttr3==
==enum SpellAttr3 - AttributesExC==
{| class="wikitable sortable"
{| class="wikitable sortable"
|-
|-
Line 279: Line 279:
|}
|}


==enum SpellAttr4==
==enum SpellAttr4 - AttributesExD==
{| class="wikitable sortable"
{| class="wikitable sortable"
|-
|-
Line 349: Line 349:
|}
|}


==enum SpellAttr5 ({{Template:Sandbox/VersionRange|min_expansionlevel=2}})==
==enum SpellAttr5 - AttributesExE ({{Template:Sandbox/VersionRange|min_expansionlevel=2}})==
{| class="wikitable sortable"
{| class="wikitable sortable"
|-
|-
Line 368: Line 368:
| 64 || SPELL_ATTR5_IGNORE_AREA_EFFECT_PVP_CHECK || 0x00000040 || 6 - Possible world PvP flag for objectives such as Spirit Towers?
| 64 || SPELL_ATTR5_IGNORE_AREA_EFFECT_PVP_CHECK || 0x00000040 || 6 - Possible world PvP flag for objectives such as Spirit Towers?
|-
|-
| 128 || SPELL_ATTR5_NOT_ON_PLAYER || 0x00000080 || 7 - Somehow different than SPELL_ATTR3_ONLY_TARGET_PLAYERS?
| 128 || SPELL_ATTR5_NOT_ON_PLAYER || 0x00000080 || 7 - Opposite of SPELL_ATTR3_ONLY_TARGET_PLAYERS.
|-
|-
| 256 || SPELL_ATTR5_NOT_ON_PLAYER_CONTROLLED_NPC || 0x00000100 || 8 - Self descriptive. (Ex. Pets, Minions).
| 256 || SPELL_ATTR5_NOT_ON_PLAYER_CONTROLLED_NPC || 0x00000100 || 8 - Self descriptive. (Ex. Pets, Minions).
Line 419: Line 419:
|}
|}


==enum SpellAttr6 ({{Template:Sandbox/VersionRange|min_expansionlevel=2}})==
==enum SpellAttr6 - AttributesExF ({{Template:Sandbox/VersionRange|min_expansionlevel=2}})==
    SPELL_ATTR6_DONT_DISPLAY_COOLDOWN            = 0x00000001, //  0 client doesn't display cooldown in tooltip for these spells
{| class="wikitable sortable"
    SPELL_ATTR6_ONLY_IN_ARENA                    = 0x00000002, //  1 only usable in arena
|-
    SPELL_ATTR6_IGNORE_CASTER_AURAS              = 0x00000004, // 2
! Flag !! Attribute String !! Bitmask !! Comments
    SPELL_ATTR6_ASSIST_IGNORE_IMMUNE_FLAG        = 0x00000008, //  3 skips checking UNIT_FLAG_IMMUNE_TO_PC and UNIT_FLAG_IMMUNE_TO_NPC flags on assist
|-
    SPELL_ATTR6_UNK4                            = 0x00000010, //  4
| 1 || SPELL_ATTR6_NO_COOLDOWN_ON_TOOLTIP || 0x00000001 || 0 - Client does not display cooldown in the tooltip for these spells.
    SPELL_ATTR6_UNK5                            = 0x00000020, //  5
|-
    SPELL_ATTR6_USE_SPELL_CAST_EVENT            = 0x00000040, //  6 Auras with this attribute trigger SPELL_CAST combat log event instead of SPELL_AURA_START (clientside attribute)
| 2 || SPELL_ATTR6_DO_NOT_RESET_COOLDOWN_IN_ARENA || 0x00000002 || 1 - Self descriptive.
    SPELL_ATTR6_UNK7                            = 0x00000080, //  7
|-
    SPELL_ATTR6_CANT_TARGET_CROWD_CONTROLLED    = 0x00000100, //  8
| 4 || SPELL_ATTR6_NOT_AN_ATTACK || 0x00000004 || 2 - /*NYI*/ Self descriptive.
    SPELL_ATTR6_UNK9                            = 0x00000200, //  9
|-
    SPELL_ATTR6_CAN_TARGET_POSSESSED_FRIENDS    = 0x00000400, // 10 NYI!
| 8 || SPELL_ATTR6_CAN_ASSIST_IMMUNE_PC || 0x00000008 || 3 - Skips checking UNIT_FLAG_IMMUNE_TO_PC and UNIT_FLAG_IMMUNE_TO_NPC flags on assist.
    SPELL_ATTR6_NOT_IN_RAID_INSTANCE            = 0x00000800, // 11 not usable in raid instance
|-
    SPELL_ATTR6_CASTABLE_WHILE_ON_VEHICLE        = 0x00001000, // 12 castable while caster is on vehicle
| 16 || SPELL_ATTR6_IGNORE_FOR_MOD_TIME_RATE || 0x00000010 || 4 - TrinityCore: /*NYI, time rate not implemented*/ Ignore For Mod Time Rate.
    SPELL_ATTR6_CAN_TARGET_INVISIBLE            = 0x00002000, // 13 ignore visibility requirement for spell target (phases, invisibility, etc.)
|-
    SPELL_ATTR6_UNK14                            = 0x00004000, // 14
| 32 || SPELL_ATTR6_DO_NOT_CONSUME_RESOURCES || 0x00000020 || 5 - Self descriptive. Need a better explanation for what all is considered "Resources".
    SPELL_ATTR6_UNK15                            = 0x00008000, // 15 only 54368, 67892
|-
    SPELL_ATTR6_UNK16                            = 0x00010000, // 16
| 64 || SPELL_ATTR6_FLOATING_COMBAT_TEXT_ON_CAST || 0x00000040 || 6 - Used on many spells with a visual UI proc.
    SPELL_ATTR6_UNK17                            = 0x00020000, // 17 Mount spell
|-
    SPELL_ATTR6_CAST_BY_CHARMER                  = 0x00040000, // 18 client won't allow to cast these spells when unit is not possessed && charmer of caster will be original caster
| 128 || SPELL_ATTR6_AURA_IS_WEAPON_PROC || 0x00000080 || 7 - Self descriptive.
    SPELL_ATTR6_UNK19                            = 0x00080000, // 19 only 47488, 50782
|-
    SPELL_ATTR6_ONLY_VISIBLE_TO_CASTER          = 0x00100000, // 20 Auras with this attribute are only visible to their caster (or pet's owner)
| 256 || SPELL_ATTR6_DO_NOT_CHAIN_TO_CROWD_CONTROLLED_TARGETS || 0x00000100 || 8 - TrinityCore: "Implicit targeting (chaining and area targeting) will not impact crowd controlled targets."
    SPELL_ATTR6_CLIENT_UI_TARGET_EFFECTS        = 0x00200000, // 21 it's only client-side attribute
|-
    SPELL_ATTR6_UNK22                            = 0x00400000, // 22 only 72054
| 512 || SPELL_ATTR6_ALLOW_ON_CHARMED_TARGETS || 0x00000200 || 9 - Self descriptive.
    SPELL_ATTR6_UNK23                            = 0x00800000, // 23
|-
    SPELL_ATTR6_CAN_TARGET_UNTARGETABLE         = 0x01000000, // 24
| 1,024 || SPELL_ATTR6_NO_AURA_LOG || 0x00000400 || 10 - Self descriptive.
    SPELL_ATTR6_NOT_RESET_SWING_IF_INSTANT      = 0x02000000, // 25 Exorcism, Flash of Light
|-
    SPELL_ATTR6_UNK26                            = 0x04000000, // 26 related to player castable positive buff
| 2,048 || SPELL_ATTR6_NOT_IN_RAID_INSTANCES || 0x00000800 || 11 - Self descriptive.
    SPELL_ATTR6_UNK27                            = 0x08000000, // 27
|-
    SPELL_ATTR6_UNK28                            = 0x10000000, // 28 Death Grip
| 4,096 || SPELL_ATTR6_ALLOW_WHILE_RIDING_VEHICLE || 0x00001000 || 12 - Self descriptive.
    SPELL_ATTR6_NO_DONE_PCT_DAMAGE_MODS          = 0x20000000, // 29 ignores done percent damage mods?
|-
    SPELL_ATTR6_UNK30                            = 0x40000000, // 30
| 8,192 || SPELL_ATTR6_IGNORE_PHASE_SHIFT || 0x00002000 || 13 - Can ignore visibility requirement for targets of the spell.
    SPELL_ATTR6_IGNORE_CATEGORY_COOLDOWN_MODS    = 0x80000000 // 31 Spells with this attribute skip applying modifiers to category cooldowns
|-
| 16,384 || SPELL_ATTR6_AI_PRIMARY_RANGED_ATTACK || 0x00004000 || 14 - /*NYI*/ Related to Shoot? Needs description.
|-
| 32,768 || SPELL_ATTR6_NO_PUSHBACK || 0x00008000 || 15 - Not to be confused with knockback. Flag is confirmed for two spells 54368, 67892 on wowhead.
|-
| 65,536 || SPELL_ATTR6_NO_JUMP_PATHING || 0x00010000 || 16 - TrinityCore: "/*NYI, currently jumps don't path at all."
|-
| 131,072 || SPELL_ATTR6_ALLOW_EQUIP_WHILE_CASTING || 0x00020000 || 17 - Self descriptive. Possible extension beyond relation to gear.
|-
| 262,144 || SPELL_ATTR6_ORIGINATE_FROM_CONTROLLER || 0x00040000 || 18 - TrinityCore: "Client will prevent casting if not possessed, charmer will be caster for all intents and purposes."
|-
| 524,288 || SPELL_ATTR6_DELAY_COMBAT_TIMER_DURING_CAST || 0x00080000 || 19 - Found on spells 47488 and 50782 in 3.3.5a.
|-
| 1,048,576 || SPELL_ATTR6_AURA_ICON_ONLY_FOR_CASTER_LIMIT_10 || 0x00100000 || 20 - TrinityCore: "Aura icon only for caster, (Limit 10) and (Client only)."
|-
| 2,097,152 || SPELL_ATTR6_SHOW_MECHANIC_AS_COMBAT_TEXT || 0x00200000 || 21 - Ex. "Bleeding" appearing where damage numbers would normally be at.
|-
| 4,194,304 || SPELL_ATTR6_ABSORB_CANNOT_BE_IGNORE || 0x00400000 || 22 - Self descriptive but vague title. Found on 72054 in 3.3.5a.
|-
| 8,388,608 || SPELL_ATTR6_TAPS_IMMEDIATELY || 0x00800000 || 23 - Self descriptive. Assuming tap refers to attacking enemies here.
|-
| 16,777,216 || SPELL_ATTR6_CAN_TARGET_UNTARGETABLE || 0x01000000 || 24 - These spells bypass creatures with UNIT_FLAG_NOT_SELECTABLE and possibly CREATURE_FLAG_EXTRA_TRIGGER.
|-
| 33,554,432 || SPELL_ATTR6_DOESNT_RESET_SWING_TIMER_IF_INSTANT || 0x02000000 || 25 - This could function similar to spells that have no global cooldown.
|-
| 67,108,864 || SPELL_ATTR6_VEHICLE_IMMUNITY_CATEGORY || 0x04000000 || 26 - TrinityCore: "/*NYI, immunity to some buffs for some vehicles*/."
|-
| 134,217,728 || SPELL_ATTR6_IGNORE_HEALING_MODIFIERS || 0x08000000 || 27 - TrinityCore: "This prevents certain healing modifiers from applying - see implementation if you really care about details."
|-
| 268,435,456 || SPELL_ATTR6_DO_NOT_AUTO_SELECT_TARGET_WITH_INITIATES_COMBAT || 0x10000000 || 28 - Found on Death Grip. String title wording is slightly confusing. (Client only).
|-
| 536,870,912 || SPELL_ATTR6_IGNORE_CASTER_DAMAGE_MODIFIERS || 0x20000000 || 29 - TrinityCore: "This prevents certain damage modifiers from applying - see implementation if you really care about details."
|-
| 1,073,741,824 || SPELL_ATTR6_DISABLE_TIED_EFFECT_POINTS || 0x40000000 || 30 - Unclear as to how this functions.
|-
| 2,147,483,648 || SPELL_ATTR6_NO_CATEGORY_COOLDOWN_MODS || 0x80000000 || 31 - Spells with this attribute skip applying modifiers to category cooldowns.
|}


==enum SpellAttr7 ({{Template:Sandbox/VersionRange|min_expansionlevel=3}})==
==enum SpellAttr7 ({{Template:Sandbox/VersionRange|min_expansionlevel=3}})==

Revision as of 07:30, 26 April 2023

enum SpellAttr0 - Attributes

Flag Attribute String Bitmask Comments
1 SPELL_ATTR0_FAILURE_BURNS_CHARGE 0x00000001 0 - The spell will consume a charge that is natural or procced even if it fails to apply it's effect.
2 SPELL_ATTR0_REQ_AMMO 0x00000002 1 - TrinityCore: "Use ammo, ranged attack range modifiers, ranged haste, etc".
4 SPELL_ATTR0_ON_NEXT_SWING 0x00000004 2 - TrinityCore: "On next melee (Type 1). Both "on next swing" attributes have identical handling in server & client".
8 SPELL_ATTR0_IS_REPLENISHMENT 0x00000008 3 - Not set in or past 3.0.3. TBC Classic: "Do Not Log Immune Misses".
16 SPELL_ATTR0_IS_ABILITY 0x00000010 4 - Client puts "Ability" instead of "Spell" in the strings associated with this spell. TrinityCore: "Cannot be reflected, not affected by cast speed modifiers, etc".
32 SPELL_ATTR0_IS_TRADESKILL 0x00000020 5 - Trade spells (recipes), will be added by client to a sublist of profession spell.
64 SPELL_ATTR0_PASSIVE 0x00000040 6 - Passive spell and lists them accordingly. TrinityCore: "Spell is automatically cast on self by core."
128 SPELL_ATTR0_HIDDEN_CLIENTSIDE 0x00000080 7 - Spells with this attribute are not visible in spellbook or aura bar.
256 SPELL_ATTR0_HIDE_IN_COMBAT_LOG 0x00000100 8 - This attribute controls whether the spell appears in combat logs.
512 SPELL_ATTR0_TARGET_MAINHAND_ITEM 0x00000200 9 - Client automatically selects item from main-hand slot as a cast target. TBC Classic: "Held Item Only".
1,024 SPELL_ATTR0_ON_NEXT_SWING_2 0x00000400 10 - TrinityCore: "On next melee (Type 2). Both "on next swing" attributes have identical handling in server & client".
2,048 SPELL_ATTR0_WEARER_CASTS_PROC_TRIGGER 0x00000800 11 - TrinityCore: Marker attribute to show auras that trigger another spell (either directly or with a script).
4,096 SPELL_ATTR0_DAYTIME_ONLY 0x00001000 12 - Only useable at daytime, not set in or past 2.4.2. TBC Classic: "Server Only".
8,192 SPELL_ATTR0_NIGHT_ONLY 0x00002000 13 - Only useable at night, not set in or past 2.4.2. TBC Classic: "Allow Item Spell In PvP".
16,384 SPELL_ATTR0_INDOORS_ONLY 0x00004000 14 - Only useable indoors, not set in or past 2.4.2.
32,768 SPELL_ATTR0_OUTDOORS_ONLY 0x00008000 15 - Only useable outdoors (Above ground level or not inside of a WMO for example).
65,536 SPELL_ATTR0_NOT_SHAPESHIFT 0x00010000 16 - Spell may or may not be cast while under the effect of a conditional dependent Shapeshift.
131,072 SPELL_ATTR0_ONLY_STEALTHED 0x00020000 17 - Must be in stealth.
262,144 SPELL_ATTR0_DONT_AFFECT_SHEATH_STATE 0x00040000 18 - Leaves your weapons (if) sheathed during spell animation. TrinityCore: "Does not sheathe weapons (client only)".
524,288 SPELL_ATTR0_LEVEL_DAMAGE_CALCULATION 0x00080000 19 - Spell damage depends on level of the caster. TrinityCore: "For non-player casts, scale impact and power cost with caster's level".
1,048,576 SPELL_ATTR0_STOP_ATTACK_TARGET 0x00100000 20 - Cancels current auto-attack when cast.
2,097,152 SPELL_ATTR0_IMPOSSIBLE_DODGE_PARRY_BLOCK 0x00200000 21 - Cannot be Dodged, Parried, or Blocked. Prevents physical based avoidance.
4,194,304 SPELL_ATTR0_CAST_TRACK_TARGET 0x00400000 22 - Automatically forces player to face the target when casting. Applicable only on the client.
8,388,608 SPELL_ATTR0_CASTABLE_WHILE_DEAD 0x00800000 23 - Attribute that allows a spell to be cast while in the dead state as well as ghost state.
16,777,216 SPELL_ATTR0_CASTABLE_WHILE_MOUNTED 0x01000000 24 - Spell can be cast while mounted.
33,554,432 SPELL_ATTR0_DISABLED_WHILE_ACTIVE 0x02000000 25 - Activate a cooldown after aura expiration, current summon removed, or go script. Spell is unusable while already active; cooldown starts when effect expires.
67,108,864 SPELL_ATTR0_NEGATIVE_AURA 0x04000000 26 - Forces the spell to be handled as negative. Example: Aura is shown in the debuff bar.
134,217,728 SPELL_ATTR0_CASTABLE_WHILE_SITTING 0x08000000 27 - Spell can be cast while sitting.
268,435,456 SPELL_ATTR0_CANT_USED_IN_COMBAT 0x10000000 28 - Cannot be used in combat (Only Peaceful).
536,870,912 SPELL_ATTR0_UNAFFECTED_BY_INVULNERABILITY 0x20000000 29 - Unaffected by Invulnerability. TrinityCore: "Spell can ignore Invulnerability, unless the Invulnerability spell also has this attribute". TBC Classic: "No Immunities".
1,073,741,824 SPELL_ATTR0_HEARTBEAT_RESIST_CHECK 0x40000000 30 - Periodic resistance checks. TrinityCore: "Periodically re-rolls against resistance to potentially expire the aura early".
2,147,483,648 SPELL_ATTR0_CANT_CANCEL_AURA 0x80000000 31 - Aura cannot be canceled or right-clicked off.

enum SpellAttr1 - AttributesEx

Flag Attribute String Bitmask Comments
1 SPELL_ATTR1_DISMISS_PET 0x00000001 0 - For spells without this flag the client doesn't allow summoning a pet if the caster already has a pet. TBC Classic: "Dismiss Pet First".
2 SPELL_ATTR1_DRAIN_ALL_POWER 0x00000002 1 - Uses all power (Ex. Lay on Hands, Bunyanize). TrinityCore: "Ignores listed power cost and drains entire pool instead". TBC Classic: "Use All Mana".
4 SPELL_ATTR1_IS_CHANNELED 0x00000004 2 - Spell is channeled. Spell is handled equally with client and server.
8 SPELL_ATTR1_CANT_BE_REDIRECTED 0x00000008 3 - No redirection to another target. Ignores spells with the "SPELL_AURA_SPELL_MAGNET" aura number 96 of effect number 6.
16 SPELL_ATTR1_NO_SKILL_INCREASE 0x00000010 4 - Does not give a skill up point.
32 SPELL_ATTR1_ALLOW_WHILE_STEALTHED 0x00000020 5 - Does not break Stealth.
64 SPELL_ATTR1_IS_SELF_CHANNELLED 0x00000040 6 - Spell is self channeled. Spell is handled equally with client and server.
128 SPELL_ATTR1_CANT_BE_REFLECTED 0x00000080 7 - Spell will bypass any reflection effects.
256 SPELL_ATTR1_CANT_TARGET_IN_COMBAT 0x00000100 8 - Can only target out of combat units. TBC Classic: "Only Peaceful Targets".
512 SPELL_ATTR1_MELEE_COMBAT_START 0x00000200 9 - Player starts melee combat after this spell is cast. Initiates combat (enables auto-attack).
1,024 SPELL_ATTR1_NO_THREAT 0x00000400 10 - Does not generate threat on cast and will not initiate combat.
2,048 SPELL_ATTR1_DONT_REFRESH_DURATION_ON_RECAST 0x00000800 11 - TrinityCore: "Aura will not refresh it's duration when recast".
4,096 SPELL_ATTR1_FAILURE_BREAKS_STEALTH 0x00001000 12 - Failure breaks Stealth. (Pickpocket).
8,192 SPELL_ATTR1_TOGGLE_FARSIGHT 0x00002000 13 - Client removes Farsight on aura loss.
16,384 SPELL_ATTR1_CHANNEL_TRACK_TARGET 0x00004000 14 - Client automatically forces player to face target when channeling.
32,768 SPELL_ATTR1_DISPEL_AURAS_ON_IMMUNITY 0x00008000 15 - Remove negative auras on immunity. Immunity purges effect.
65,536 SPELL_ATTR1_UNAFFECTED_BY_SCHOOL_IMMUNE 0x00010000 16 - TrinityCore: "Unaffected by School Immunities. Will not pierce Divine Shield, Ice Block, and other full Invulnerabilities". TBC Classic: "Immunity to Hostile & Friendly Effects".
131,072 SPELL_ATTR1_UNAUTOCASTABLE_BY_PET 0x00020000 17 - No AutoCast by Pet AI.
262,144 SPELL_ATTR1_PREVENTS_ANIM 0x00040000 18 - Stun, Polymorph, Daze and Hex. Applies aura "UNIT_FLAG_PREVENT_EMOTES_FROM_CHAT_TEXT". TBC Classic: "Prevents Anim".
524,288 SPELL_ATTR1_CANT_TARGET_SELF 0x00080000 19 - Excludes caster from spell effects even if not the primary target.
1,048,576 SPELL_ATTR1_REQ_COMBO_POINTS1 0x00100000 20 - Finishing Move - Damage.
2,097,152 SPELL_ATTR1_THREAT_ON_MISS_ONLY 0x00200000 21 - Self descriptive.
4,194,304 SPELL_ATTR1_REQ_COMBO_POINTS2 0x00400000 22 - Finishing Move - Duration.
8,388,608 SPELL_ATTR1_IGNORE_OWNER_DEATH 0x00800000 23 - Unaffected by death of owner. Possibly works with temporary summons as well?
16,777,216 SPELL_ATTR1_SPECIAL_SKILLUP 0x01000000 24 - Only Fishing spells. TBC Classic: "Special Skillup".
33,554,432 SPELL_ATTR1_AURA_STAYS_AFTER_COMBAT 0x02000000 25 - Self descriptive.
67,108,864 SPELL_ATTR1_REQUIRE_ALL_TARGETS 0x04000000 26 - Works correctly with [target=focus] and [target=mouseover] macros? (Used in many vehicle type spells) TBC Classic: "Require All Targets".
134,217,728 SPELL_ATTR1_DISCOUNT_POWER_ON_MISS 0x08000000 27 - Melee spell? TBC Classic: "Discount Power On Miss".
268,435,456 SPELL_ATTR1_NO_AURA_ICON 0x10000000 28 - Client doesn't display these spells in aura bar.
536,870,912 SPELL_ATTR1_NAME_IN_CHANNEL_BAR 0x20000000 29 - Spell name is displayed in cast bar instead of "Channeling" text in Channel Bar. (Client Only).
1,073,741,824 SPELL_ATTR1_ENABLE_AT_DODGE 0x40000000 30 - Activates on dodge; Overpower. TBC Classic: "Combo on Block (Mainline: Dispel All Stacks)".
2,147,483,648 SPELL_ATTR1_CAST_WHEN_LEARNED 0x80000000 31 - Cast the spell when learned.

enum SpellAttr2 - AttributesExB

Flag Attribute String Bitmask Comments
1 SPELL_ATTR2_CAN_TARGET_DEAD 0x00000001 0 - Can target a dead unit or corpse.
2 SPELL_ATTR2_NO_SHAPESHIFT_UI 0x00000002 1 - No shapeshift UI, Vanish, Shadowform, Ghost Wolf, etc.
4 SPELL_ATTR2_IGNORE_LINE_OF_SIGHT 0x00000004 2 - Self descriptive.
8 SPELL_ATTR2_ALLOW_LOW_LEVEL_BUFF 0x00000008 3 - Allow low level buff. Allow casting lower level buffs? Maybe rank specific?
16 SPELL_ATTR2_DISPLAY_IN_STANCE_BAR 0x00000010 4 - Client displays icon in stance bar when learned, even if not shapeshift. Uses Shapeshift Bar.
32 SPELL_ATTR2_AUTOREPEAT_FLAG 0x00000020 5 - Auto Repeat.
64 SPELL_ATTR2_CANT_CAST_ON_TAPPED 0x00000040 6 - Target must be tapped by caster. "Cannot cast on tapped". Relates to Dynamic Flags on creature.
128 SPELL_ATTR2_DO_NOT_REPORT_SPELL_FAILURE 0x00000080 7 - Do not report spell failure. Combat log or error string related.
256 SPELL_ATTR2_INCLUDE_IN_ADVANCED_COMBAT_LOG 0x00000100 8 - TrinityCore: "Determines whether to include this aura in list of auras in SMSG_ENCOUNTER_START."
512 SPELL_ATTR2_ALWAYS_CAST_AS_UNIT 0x00000200 9 - /*NYI*/ Always cast as unit.
1,024 SPELL_ATTR2_SPECIAL_TAME_FLAG 0x00000400 10 - Special taming flag.
2,048 SPELL_ATTR2_NO_TARGET_PER-SECOND_COSTS 0x00000800 11 - Health Funnel.
4,096 SPELL_ATTR2_CHAIN_FROM_CASTER 0x00001000 12 - Cleave, Heart Strike, Maul, Sunder Armor, Swipe. Possible AOE flag.
8,192 SPELL_ATTR2_PRESERVE_ENCHANT_IN_ARENA 0x00002000 13 - Items enchanted by spells with this flag preserve the enchant to arenas. TBC Classic: "Enchant own item only".
16,384 SPELL_ATTR2_ALLOW_WHILE_INVISIBLE 0x00004000 14 - Allow spell to not break invisibility?
32,768 SPELL_ATTR2_DO_NOT_CONSUME_IF_GAINED_DURING_CAST 0x00008000 15 - Not set in 3.0.3.
65,536 SPELL_ATTR2_NO_ACTIVE_PETS 0x00010000 16 - Tame Beast.
131,072 SPELL_ATTR2_DO_NOT_RESET_COMBAT_TIMERS 0x00020000 17 - Don't reset timers for melee auto-attacks (swings) or ranged auto-attacks (autoshots). "Do Not Reset Combat Timers".
262,144 SPELL_ATTR2_NO_JUMP_WHILE_CAST_PENDING 0x00040000 18 - Self descriptive. Client only.
524,288 SPELL_ATTR2_ALLOW_WHILE_NOT_SHAPESHIFTED_CASTER_FORM 0x00080000 19 - TrinityCore: "Even if Stances are nonzero, allow spell to be cast outside of shapeshift (though not in a different shapeshift)."
1,048,576 SPELL_ATTR2_INITIATE_COMBAT_AFTER 0x00100000 20 - TBC Classic: "Initiate Combat Post-Cast (Enables Auto-Attack)".
2,097,152 SPELL_ATTR2_FAIL_ON_ALL_TARGETS_IMMUNE 0x00200000 21 - TrinityCore: "Causes BG flags to be dropped if combined with ATTR1_DISPEL_AURAS_ON_IMMUNITY."
4,194,304 SPELL_ATTR2_NO_INITIAL_THREAT 0x00400000 22 - Ambush, Backstab, Cheap Shot, Death Grip, Garrote, Judgements, Mutilate, Pounce, Ravage, Shiv, Shred. TBC Classic: "No Initial Threat".
8,388,608 SPELL_ATTR2_PROC_COOLDOWN_ON_FAILURE 0x00800000 23 - Proc cooldown on failure. Only the Mage spell Arcane Concentration has this flag.
16,777,216 SPELL_ATTR2_ITEM_CAST_WITH_OWNER_SKILL 0x01000000 24 - Self descriptive.
33,554,432 SPELL_ATTR2_DONT_BLOCK_MANA_REGEN 0x02000000 25 - Mana regeneration is not blocked.
67,108,864 SPELL_ATTR2_NO_SCHOOL_IMMUNITIES 0x04000000 26 - TrinityCore: "Allow aura to be applied despite target being immune to new aura applications."
134,217,728 SPELL_ATTR2_IGNORE_WEAPONSKILL 0x08000000 27 - Ignore skill level of a weapon.
268,435,456 SPELL_ATTR2_NOT_AN_ACTION 0x10000000 28 - Self descriptive.
536,870,912 SPELL_ATTR2_CANT_CRIT 0x20000000 29 - Spell is not capable of being critical.
1,073,741,824 SPELL_ATTR2_TRIGGERED_CAN_TRIGGER_PROC 0x40000000 30 - Spell can trigger even if triggered. TBC Classic: "Active Threat".
2,147,483,648 SPELL_ATTR2_RETAIN_ITEM_CAST 0x80000000 31 - Food or Drink Buff (Ex. Well Fed).

enum SpellAttr3 - AttributesExC

Flag Attribute String Bitmask Comments
1 SPELL_ATTR3_PVP_ENABLING 0x00000001 0 - TBC Classic: "PvP Enabling".
2 SPELL_ATTR3_NO_PROC_EQUIP_REQ 0x00000002 1 - TBC Classic: "No Proc Equip Requirement".
4 SPELL_ATTR3_NO_CAST_BAR_TEXT 0x00000004 2 - No casting bar text.
8 SPELL_ATTR3_BLOCKABLE_SPELL 0x00000008 3 - Applies only to Melee classes in 3.1.3. TBC Classic: "Completely Blocked".
16 SPELL_ATTR3_NO_RESURRECTION_TIMER 0x00000010 4 - You don't have to wait to be resurrected with these spells.
32 SPELL_ATTR3_NO_DURABILTIY_LOSS 0x00000020 5 - TBC Classic: "No Durability Loss".
64 SPELL_ATTR3_NO_AVOIDANCE 0x00000040 6 - TBC Classic: "No Avoidance".
128 SPELL_ATTR3_STACK_FOR_DIFF_CASTERS 0x00000080 7 - Separate stack for every caster. TBC Classic: "DoT Stacking Rule".
256 SPELL_ATTR3_ONLY_TARGET_PLAYERS 0x00000100 8 - Can only target players.
512 SPELL_ATTR3_NOT_A_PROC 0x00000200 9 - Triggered from effect?
1,024 SPELL_ATTR3_REQ_MAIN_HAND_WEAPON 0x00000400 10 - Main hand weapon required.
2,048 SPELL_ATTR3_BATTLEGROUND 0x00000800 11 - Can only be cast in Battlegrounds.
4,096 SPELL_ATTR3_ONLY_TARGET_GHOSTS 0x00001000 12 - Can only be cast On Ghosts.
8,192 SPELL_ATTR3_DONT_DISPLAY_CHANNEL_BAR 0x00002000 13 - Clientside attribute - Will not display channeling bar.
16,384 SPELL_ATTR3_HIDE_IN_RAID_FILTER 0x00004000 14 - Self descriptive. *Define Raid Filter.* TBC Classic: "Hide In Raid Filter".
32,768 SPELL_ATTR3_NORMAL_RANGED_ATTACK 0x00008000 15 - Auto Shoot, Shoot, Throw, (Autoshot flag).
65,536 SPELL_ATTR3_SUPPRESS_CASTER_PROCS 0x00010000 16 - This will suppress any procs that could otherwise trigger (Ex. Spell/Item/Hidden).
131,072 SPELL_ATTR3_SUPPRESS_TARGET_PROCS 0x00020000 17 - This will suppress any procs the target could trigger from this spell. Similar to SPELL_ATTR3_SUPPRESS_CASTER_PROCS.
262,144 SPELL_ATTR3_ALWAYS_HIT 0x00040000 18 - Spell cannot miss, or be dodged/parried/blocked. Could still miss if overridden by another flag from caster or target.
524,288 SPELL_ATTR3_INSTANT_TARGET_PROCS 0x00080000 19 - Proc events are triggered before spell batching processes the spell hit on target. TBC Classic: "Instant Target Procs".
1,048,576 SPELL_ATTR3_DEATH_PERSISTENT 0x00100000 20 - Death persistent spells. Allow aura while dead.
2,097,152 SPELL_ATTR3_ONLY_PROC_OUTDOOR 0x00200000 21 - Unused. Self descriptive.
4,194,304 SPELL_ATTR3_CANCEL_AUTOREPEAT 0x00400000 22 - Requires Wand? Casting cancels autorepeat (Mainline: Do Not Trigger Target Stand).
8,388,608 SPELL_ATTR3_NO_DMG_HISTORY 0x00800000 23 - No damage history. Combat log relation?
16,777,216 SPELL_ATTR3_REQ_OFFHAND 0x01000000 24 - Requires an offhand weapon.
33,554,432 SPELL_ATTR3_TREAT_AS_PERIODIC 0x02000000 25 - Makes the spell appear as Periodic in client combat logs (Ex. Vampiric Embrace). Also used by spells that trigger another spell on each tick.
67,108,864 SPELL_ATTR3_CAN_PROC_FROM_PROCS 0x04000000 26 - Auras with this attribute can proc from triggered spell casts with SPELL_ATTR3_TRIGGERED_CAN_TRIGGER_PROC_2 (Ex. 67736 + 52999).
134,217,728 SPELL_ATTR3_ONLY_PROC_ON_CASTER 0x08000000 27 - Only Drain Soul has this flag. *Recheck and update needed.*
268,435,456 SPELL_ATTR3_IGNORE_RESTRICTIONS 0x10000000 28 - Ignore caster and target restrictions.
536,870,912 SPELL_ATTR3_IGNORE_CASTER_MODIFIERS 0x20000000 29 - Does not inherit any of the casters spell, ability, or stat modifiers.
1,073,741,824 SPELL_ATTR3_DONT_DISPLAY_RANGE 0x40000000 30 - Client does not display range in tooltip for these spells.
2,147,483,648 SPELL_ATTR3_NOT_ON_AOE_IMMUNE 0x80000000 31 - AOE spell may be blocked by caster or target?

enum SpellAttr4 - AttributesExD

Flag Attribute String Bitmask Comments
1 SPELL_ATTR4_IGNORE_RESISTANCES 0x00000001 0 - Spells with this attribute will completely ignore the target's resistance (these spells can't be resisted). TBC Classic/RETAIL: "No Cast Log".
2 SPELL_ATTR4_PROC_ONLY_ON_CASTER 0x00000002 1 - Proc only on effects with TARGET_UNIT_CASTER?. TBC Classic: "Class Trigger Only On Target".
4 SPELL_ATTR4_AURA_APPLIES_OFFLINE 0x00000004 2 - Most debuffs (with exceptions such as Resurrection Sickness) will automatically do this.
8 SPELL_ATTR4_NO_HELPFUL_THREAT 0x00000008 3 - Self descriptive.
16 SPELL_ATTR4_NO_HARMFUL_THREAT 0x00000010 4 - Self descriptive. May influence certain situations in towns with guard aggro in respect to PvP.
32 SPELL_ATTR4_ALLOW_CLIENT_TARGETING 0x00000020 5 - Allow client targeting. Applies only to pet spells, if this is not applied then opcode CMSG_PET_ACTION is sent instead of CMSG_PET_CAST_SPELL.
64 SPELL_ATTR4_NOT_STEALABLE 0x00000040 6 - Although such auras might be dispellable, they cannot be stolen.
128 SPELL_ATTR4_CAN_CAST_WHILE_CASTING 0x00000080 7 - Can be cast while another cast is in progress. Ignores already in-progress cast and still casts.
256 SPELL_ATTR4_FIXED_DAMAGE 0x00000100 8 - Ignores resilience and any (except mechanic related) damage or % damage taken auras on target. Ignore Damage Taken Modifiers.
512 SPELL_ATTR4_TRIGGER_ACTIVATE 0x00000200 9 - Initially disabled / trigger activate from event (Execute, Riposte, Deep Freeze end other). TBC Classic: "Combat Feedback When Usable".
1,024 SPELL_ATTR4_SPELL_VS_EXTEND_COST 0x00000400 10 - Attack speed modifies cost (i.e Shiv). TBC Classic: Weapon Speed Cost Scaling.
2,048 SPELL_ATTR4_NO_PARTIAL_IMMUNITY 0x00000800 11 - TBC Classic: No Partial Immunity.
4,096 SPELL_ATTR4_POSITIVE_AURA 0x00001000 12 - TBC Classic: Aura Is Buff.
8,192 SPELL_ATTR4_COMBAT_LOG_NO_CASTER 0x00002000 13 - No caster object is sent to client combat log.
16,384 SPELL_ATTR4_DAMAGE_DOESNT_BREAK_AURAS 0x00004000 14 - Doesn't break auras by damage from these spells. Alternate "XYZ_REACTIVE_DAMAGE_PROC".
32,768 SPELL_ATTR4_NOT_IN_SPELLBOOK 0x00008000 15 - Self descriptive.
65,536 SPELL_ATTR4_NOT_USABLE_IN_ARENA_OR_RATED_BG 0x00010000 16 - Cannot be used in Arenas or Rated Battlegrounds.
131,072 SPELL_ATTR4_USABLE_IN_ARENA 0x00020000 17 - Ignore Default Arena Restrictions.
262,144 SPELL_ATTR4_BOUNCING_CHAIN_MISSILES 0x00040000 18 - Proc delayed, after damage or will not proc on absorb? TBC Classic: "Bouncy Chain Missiles".
524,288 SPELL_ATTR4_ALLOW_PROC_WHILE_SITTING 0x00080000 19 - Self descriptive. TBC Classic: "Allow Proc While Sitting"
1,048,576 SPELL_ATTR4_AURA_NEVER_BOUNCES 0x00100000 20 - Static Aura. Pally aura, DK presence, Warrior stance, Shadowform, etc. TBC Classic: "Aura Never Bounces".
2,097,152 SPELL_ATTR4_ALLOW_IN_ARENA 0x00200000 21 - Aura/Buff is not removed upon entering an arena match? TBC Classic: "Allow Entering Arena".
4,194,304 SPELL_ATTR4_PROC_SUPPRESS_SWING_ANIM 0x00400000 22 - Disables client side weapon swing animation. TBC Classic: "Proc Suppress Swing Anim".
8,388,608 SPELL_ATTR4_SUPPRESS_WEAPON_PROCS 0x00800000 23 - Suppress weapon procs. Similar to SPELL_ATTR3_SUPPRESS_CASTER_PROCS.
16,777,216 SPELL_ATTR4_AUTO_RANGED_COMBAT 0x01000000 24 - Self descriptive. TBC Classic: "Auto Ranged Combat".
33,554,432 SPELL_ATTR4_OWNER_POWER_SCALING 0x02000000 25 - Pet scaling auras. TBC Classic: "Owner Power Scaling".
67,108,864 SPELL_ATTR4_ONLY_FLYING_AREAS 0x04000000 26 - Self descriptive.
134,217,728 SPELL_ATTR4_FORCE_DISPLAY_CASTBAR 0x08000000 27 - Self descriptive.
268,435,456 SPELL_ATTR4_IGNORE_COMBAT_TIMER 0x10000000 28 - Self descriptive.
536,870,912 SPELL_ATTR4_AURA_BOUNCE_FAILS_SPELL 0x20000000 29 - Self descriptive.
1,073,741,824 SPELL_ATTR4_OBSOLETE 0x40000000 30 - Deprecation indicator? TBC Classic: "Obsolete".
2,147,483,648 SPELL_ATTR4_USE_FACING_FROM_SPELL 0x80000000 31 - Orientation/Positional Requirements for scripting purposes?

enum SpellAttr5 - AttributesExE (≥ BC)

Flag Attribute String Bitmask Comments
1 SPELL_ATTR5_ALLOW_ACTIONS_DURING_CHANNEL 0x00000001 0 - Allows actions during a channeled spell such as moving and jumping.
2 SPELL_ATTR5_NO_REAGENT_COST_WITH_AURA 0x00000002 1 - Reagents will not be required in conjunction with UNIT_FLAG_PREPARATION.
4 SPELL_ATTR5_REMOVE_ENTERING_ARENA 0x00000004 2 - TrinityCore: "Force this aura to be removed on entering arena, regardless of other properties."
8 SPELL_ATTR5_ALLOW_WHILE_STUNNED 0x00000008 3 - Self descriptive.
16 SPELL_ATTR5_TRIGGERS_CHANNELING 0x00000010 4 - Self descriptive. Likely more script oriented.
32 SPELL_ATTR5_LIMIT_N 0x00000020 5 - Can only be used on one target at a time.
64 SPELL_ATTR5_IGNORE_AREA_EFFECT_PVP_CHECK 0x00000040 6 - Possible world PvP flag for objectives such as Spirit Towers?
128 SPELL_ATTR5_NOT_ON_PLAYER 0x00000080 7 - Opposite of SPELL_ATTR3_ONLY_TARGET_PLAYERS.
256 SPELL_ATTR5_NOT_ON_PLAYER_CONTROLLED_NPC 0x00000100 8 - Self descriptive. (Ex. Pets, Minions).
512 SPELL_ATTR5_EXTRA_INITIAL_PERIOD 0x00000200 9 - TrinityCore: "Immediately do periodic tick on apply."
1,024 SPELL_ATTR5_DO_NOT_DISPLAY_DURATION 0x00000400 10 - Does not send duration to the client.
2,048 SPELL_ATTR5_IMPLIED_TARGETING 0x00000800 11 - Uses target of target if original target not valid (Ex. Intervene).
4,096 SPELL_ATTR5_MELEE_CHAIN_TARGETING 0x00001000 12 - Possible cleave type flag?
8,192 SPELL_ATTR5_SPELL_HASTE_AFFECTS_PERIODIC 0x00002000 13 - Causes haste to affect the duration of periodic spells.
16,384 SPELL_ATTR5_NOT_AVAILABLE_WHILE_CHARMED 0x00004000 14 - Self descriptive.
32,768 SPELL_ATTR5_TREAT_AS_AREA_EFFECT 0x00008000 15 - Similar to SPELL_ATTR3_TREAT_AS_PERIODIC.
65,536 SPELL_ATTR5_AURA_AFFECTS_NOT_JUST_REQ_EQUIPPED_ITEM 0x00010000 16 - Self descriptive.
131,072 SPELL_ATTR5_ALLOW_WHILE_FLEEING 0x00020000 17 - Self descriptive.
262,144 SPELL_ATTR5_ALLOW_WHILE_CONFUSED 0x00040000 18 - Self descriptive.
524,288 SPELL_ATTR5_AI_DOESNT_FACE_TARGET 0x00080000 19 - Client does not automatically turn caster's model to face target. Opposite of SPELL_ATTR0_CAST_TRACK_TARGET.
1,048,576 SPELL_ATTR5_DO_NOT_ATTEMPT_A_PET_RESUMMON_WHEN_DISMOUNTING 0x00100000 20 - TrinityCore: "No generic handling possible, used by scripted dismount spells."
2,097,152 SPELL_ATTR5_IGNORE_TARGET_REQUIREMENTS 0x00200000 21 - *NYI* Self descriptive.
4,194,304 SPELL_ATTR5_NOT_ON_TRIVIAL 0x00400000 22 - *NYI* Self descriptive.
8,388,608 SPELL_ATTR5_NO_PARTIAL_RESISTS 0x00800000 23 - *NYI*, TrinityCore: "Resisting only some spell effects not implemented."
16,777,216 SPELL_ATTR5_IGNORE_CASTER_REQUIREMENTS 0x01000000 24 - *NYI* Self descriptive.
33,554,432 SPELL_ATTR5_ALWAYS_LINE_OF_SIGHT 0x02000000 25 - Constant line of sight required for spell duration.
67,108,864 SPELL_ATTR5_ALWAYS_AOE_LINE_OF_SIGHT 0x04000000 26 - Same as SPELL_ATTR5_ALWAYS_LINE_OF_SIGHT but with area of effect spells instead.
134,217,728 SPELL_ATTR5_NO_CASTER_AURA_ICON 0x08000000 27 - Auras with this attribute are not visible on units that are the spell caster.
268,435,456 SPELL_ATTR5_NO_TARGET_AURA_ICON 0x10000000 28 - Auras with this attribute are not visible on units that are the spell target.
536,870,912 SPELL_ATTR5_AURA_UNIQUE_PER_CASTER 0x20000000 29 - Similar to SPELL_ATTR3_STACK_FOR_DIFF_CASTERS. Could be used for debuff grouping.
1,073,741,824 SPELL_ATTR5_ALWAYS_SHOW_GROUND_TEXTURE 0x40000000 30 - Likely refers to the Projected Texture setting and will cause this spell to ignore its value.
2,147,483,648 SPELL_ATTR5_ADD_MELEE_HIT_RATING 0x80000000 31 - Self descriptive.

enum SpellAttr6 - AttributesExF (≥ BC)

Flag Attribute String Bitmask Comments
1 SPELL_ATTR6_NO_COOLDOWN_ON_TOOLTIP 0x00000001 0 - Client does not display cooldown in the tooltip for these spells.
2 SPELL_ATTR6_DO_NOT_RESET_COOLDOWN_IN_ARENA 0x00000002 1 - Self descriptive.
4 SPELL_ATTR6_NOT_AN_ATTACK 0x00000004 2 - /*NYI*/ Self descriptive.
8 SPELL_ATTR6_CAN_ASSIST_IMMUNE_PC 0x00000008 3 - Skips checking UNIT_FLAG_IMMUNE_TO_PC and UNIT_FLAG_IMMUNE_TO_NPC flags on assist.
16 SPELL_ATTR6_IGNORE_FOR_MOD_TIME_RATE 0x00000010 4 - TrinityCore: /*NYI, time rate not implemented*/ Ignore For Mod Time Rate.
32 SPELL_ATTR6_DO_NOT_CONSUME_RESOURCES 0x00000020 5 - Self descriptive. Need a better explanation for what all is considered "Resources".
64 SPELL_ATTR6_FLOATING_COMBAT_TEXT_ON_CAST 0x00000040 6 - Used on many spells with a visual UI proc.
128 SPELL_ATTR6_AURA_IS_WEAPON_PROC 0x00000080 7 - Self descriptive.
256 SPELL_ATTR6_DO_NOT_CHAIN_TO_CROWD_CONTROLLED_TARGETS 0x00000100 8 - TrinityCore: "Implicit targeting (chaining and area targeting) will not impact crowd controlled targets."
512 SPELL_ATTR6_ALLOW_ON_CHARMED_TARGETS 0x00000200 9 - Self descriptive.
1,024 SPELL_ATTR6_NO_AURA_LOG 0x00000400 10 - Self descriptive.
2,048 SPELL_ATTR6_NOT_IN_RAID_INSTANCES 0x00000800 11 - Self descriptive.
4,096 SPELL_ATTR6_ALLOW_WHILE_RIDING_VEHICLE 0x00001000 12 - Self descriptive.
8,192 SPELL_ATTR6_IGNORE_PHASE_SHIFT 0x00002000 13 - Can ignore visibility requirement for targets of the spell.
16,384 SPELL_ATTR6_AI_PRIMARY_RANGED_ATTACK 0x00004000 14 - /*NYI*/ Related to Shoot? Needs description.
32,768 SPELL_ATTR6_NO_PUSHBACK 0x00008000 15 - Not to be confused with knockback. Flag is confirmed for two spells 54368, 67892 on wowhead.
65,536 SPELL_ATTR6_NO_JUMP_PATHING 0x00010000 16 - TrinityCore: "/*NYI, currently jumps don't path at all."
131,072 SPELL_ATTR6_ALLOW_EQUIP_WHILE_CASTING 0x00020000 17 - Self descriptive. Possible extension beyond relation to gear.
262,144 SPELL_ATTR6_ORIGINATE_FROM_CONTROLLER 0x00040000 18 - TrinityCore: "Client will prevent casting if not possessed, charmer will be caster for all intents and purposes."
524,288 SPELL_ATTR6_DELAY_COMBAT_TIMER_DURING_CAST 0x00080000 19 - Found on spells 47488 and 50782 in 3.3.5a.
1,048,576 SPELL_ATTR6_AURA_ICON_ONLY_FOR_CASTER_LIMIT_10 0x00100000 20 - TrinityCore: "Aura icon only for caster, (Limit 10) and (Client only)."
2,097,152 SPELL_ATTR6_SHOW_MECHANIC_AS_COMBAT_TEXT 0x00200000 21 - Ex. "Bleeding" appearing where damage numbers would normally be at.
4,194,304 SPELL_ATTR6_ABSORB_CANNOT_BE_IGNORE 0x00400000 22 - Self descriptive but vague title. Found on 72054 in 3.3.5a.
8,388,608 SPELL_ATTR6_TAPS_IMMEDIATELY 0x00800000 23 - Self descriptive. Assuming tap refers to attacking enemies here.
16,777,216 SPELL_ATTR6_CAN_TARGET_UNTARGETABLE 0x01000000 24 - These spells bypass creatures with UNIT_FLAG_NOT_SELECTABLE and possibly CREATURE_FLAG_EXTRA_TRIGGER.
33,554,432 SPELL_ATTR6_DOESNT_RESET_SWING_TIMER_IF_INSTANT 0x02000000 25 - This could function similar to spells that have no global cooldown.
67,108,864 SPELL_ATTR6_VEHICLE_IMMUNITY_CATEGORY 0x04000000 26 - TrinityCore: "/*NYI, immunity to some buffs for some vehicles*/."
134,217,728 SPELL_ATTR6_IGNORE_HEALING_MODIFIERS 0x08000000 27 - TrinityCore: "This prevents certain healing modifiers from applying - see implementation if you really care about details."
268,435,456 SPELL_ATTR6_DO_NOT_AUTO_SELECT_TARGET_WITH_INITIATES_COMBAT 0x10000000 28 - Found on Death Grip. String title wording is slightly confusing. (Client only).
536,870,912 SPELL_ATTR6_IGNORE_CASTER_DAMAGE_MODIFIERS 0x20000000 29 - TrinityCore: "This prevents certain damage modifiers from applying - see implementation if you really care about details."
1,073,741,824 SPELL_ATTR6_DISABLE_TIED_EFFECT_POINTS 0x40000000 30 - Unclear as to how this functions.
2,147,483,648 SPELL_ATTR6_NO_CATEGORY_COOLDOWN_MODS 0x80000000 31 - Spells with this attribute skip applying modifiers to category cooldowns.

enum SpellAttr7 (≥ Wrath)

   SPELL_ATTR7_UNK0                             = 0x00000001, //  0 Shaman's new spells (Call of the ...), Feign Death.
   SPELL_ATTR7_IGNORE_DURATION_MODS             = 0x00000002, //  1 Duration is not affected by duration modifiers
   SPELL_ATTR7_REACTIVATE_AT_RESURRECT          = 0x00000004, //  2 Paladin's auras and 65607 only.
   SPELL_ATTR7_IS_CHEAT_SPELL                   = 0x00000008, //  3 Cannot cast if caster doesn't have UnitFlag2 & UNIT_FLAG2_ALLOW_CHEAT_SPELLS
   SPELL_ATTR7_UNK4                             = 0x00000010, //  4 Only 47883 (Soulstone Resurrection) and test spell.
   SPELL_ATTR7_SUMMON_TOTEM                     = 0x00000020, //  5 Only Shaman totems.
   SPELL_ATTR7_NO_PUSHBACK_ON_DAMAGE            = 0x00000040, //  6 Does not cause spell pushback on damage
   SPELL_ATTR7_UNK7                             = 0x00000080, //  7 66218 (Launch) spell.
   SPELL_ATTR7_HORDE_ONLY                       = 0x00000100, //  8 Teleports, mounts and other spells.
   SPELL_ATTR7_ALLIANCE_ONLY                    = 0x00000200, //  9 Teleports, mounts and other spells.
   SPELL_ATTR7_DISPEL_CHARGES                   = 0x00000400, // 10 Dispel and Spellsteal individual charges instead of whole aura.
   SPELL_ATTR7_INTERRUPT_ONLY_NONPLAYER         = 0x00000800, // 11 Only non-player casts interrupt, though Feral Charge - Bear has it.
   SPELL_ATTR7_SILENCE_ONLY_NONPLAYER           = 0x00001000, // 12 Not set in 3.2.2a.
   SPELL_ATTR7_UNK13                            = 0x00002000, // 13 Not set in 3.2.2a.
   SPELL_ATTR7_UNK14                            = 0x00004000, // 14 Only 52150 (Raise Dead - Pet) spell.
   SPELL_ATTR7_UNK15                            = 0x00008000, // 15 Exorcism. Usable on players? 100% crit chance on undead and demons?
   SPELL_ATTR7_CAN_RESTORE_SECONDARY_POWER      = 0x00010000, // 16 These spells can replenish a powertype, which is not the current powertype.
   SPELL_ATTR7_UNK17                            = 0x00020000, // 17 Only 27965 (Suicide) spell.
   SPELL_ATTR7_HAS_CHARGE_EFFECT                = 0x00040000, // 18 Only spells that have Charge among effects.
   SPELL_ATTR7_ZONE_TELEPORT                    = 0x00080000, // 19 Teleports to specific zones.
   SPELL_ATTR7_UNK20                            = 0x00100000, // 20 Blink, Divine Shield, Ice Block
   SPELL_ATTR7_UNK21                            = 0x00200000, // 21 Not set
   SPELL_ATTR7_UNK22                            = 0x00400000, // 22
   SPELL_ATTR7_UNK23                            = 0x00800000, // 23 Motivate, Mutilate, Shattering Throw
   SPELL_ATTR7_UNK24                            = 0x01000000, // 24 Motivate, Mutilate, Perform Speech, Shattering Throw
   SPELL_ATTR7_UNK25                            = 0x02000000, // 25
   SPELL_ATTR7_UNK26                            = 0x04000000, // 26
   SPELL_ATTR7_UNK27                            = 0x08000000, // 27 Not set
   SPELL_ATTR7_CONSOLIDATED_RAID_BUFF           = 0x10000000, // 28 May be collapsed in raid buff frame (clientside attribute)
   SPELL_ATTR7_UNK29                            = 0x20000000, // 29 only 69028, 71237
   SPELL_ATTR7_UNK30                            = 0x40000000, // 30 Burning Determination, Divine Sacrifice, Earth Shield, Prayer of Mending
   SPELL_ATTR7_CLIENT_INDICATOR                 = 0x80000000

enum SpellAttr8 (≥ Cata)

   SPELL_ATTR8_CANT_MISS                        = 0x00000001, //  0
   SPELL_ATTR8_UNK1                             = 0x00000002, //  1
   SPELL_ATTR8_UNK2                             = 0x00000004, //  2
   SPELL_ATTR8_UNK3                             = 0x00000008, //  3
   SPELL_ATTR8_UNK4                             = 0x00000010, //  4
   SPELL_ATTR8_UNK5                             = 0x00000020, //  5
   SPELL_ATTR8_UNK6                             = 0x00000040, //  6
   SPELL_ATTR8_UNK7                             = 0x00000080, //  7
   SPELL_ATTR8_AFFECT_PARTY_AND_RAID            = 0x00000100, //  8 Nearly all spells have "all party and raid" in description
   SPELL_ATTR8_DONT_RESET_PERIODIC_TIMER        = 0x00000200, //  9 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, // 10 according to wowhead comments, name changes, title remains
   SPELL_ATTR8_UNK11                            = 0x00000800, // 11
   SPELL_ATTR8_AURA_SEND_AMOUNT                 = 0x00001000, // 12 Aura must have flag AFLAG_ANY_EFFECT_AMOUNT_SENT to send amount
   SPELL_ATTR8_UNK13                            = 0x00002000, // 13
   SPELL_ATTR8_UNK14                            = 0x00004000, // 14
   SPELL_ATTR8_WATER_MOUNT                      = 0x00008000, // 15 only one River Boat used in Thousand Needles
   SPELL_ATTR8_UNK16                            = 0x00010000, // 16
   SPELL_ATTR8_UNK17                            = 0x00020000, // 17
   SPELL_ATTR8_REMEMBER_SPELLS                  = 0x00040000, // 18 at some point in time, these auras remember spells and allow to cast them later
   SPELL_ATTR8_USE_COMBO_POINTS_ON_ANY_TARGET   = 0x00080000, // 19 allows to consume combo points from dead targets
   SPELL_ATTR8_ARMOR_SPECIALIZATION             = 0x00100000, // 20
   SPELL_ATTR8_UNK21                            = 0x00200000, // 21
   SPELL_ATTR8_UNK22                            = 0x00400000, // 22
   SPELL_ATTR8_BATTLE_RESURRECTION              = 0x00800000, // 23 Used to limit the Amount of Resurrections in Boss Encounters
   SPELL_ATTR8_HEALING_SPELL                    = 0x01000000, // 24
   SPELL_ATTR8_UNK25                            = 0x02000000, // 25
   SPELL_ATTR8_RAID_MARKER                      = 0x04000000, // 26 probably spell no need learn to cast
   SPELL_ATTR8_UNK27                            = 0x08000000, // 27
   SPELL_ATTR8_NOT_IN_BG_OR_ARENA               = 0x10000000, // 28 not allow to cast or deactivate currently active effect, not sure about Fast Track
   SPELL_ATTR8_MASTERY_SPECIALIZATION           = 0x20000000, // 29
   SPELL_ATTR8_UNK30                            = 0x40000000, // 30
   SPELL_ATTR8_ATTACK_IGNORE_IMMUNE_TO_PC_FLAG  = 0x80000000  // 31 Do not check UNIT_FLAG_IMMUNE_TO_PC in IsValidAttackTarget

enum SpellAttr9 (≥ Cata)

   SPELL_ATTR9_UNK0                             = 0x00000001, //  0
   SPELL_ATTR9_UNK1                             = 0x00000002, //  1
   SPELL_ATTR9_RESTRICTED_FLIGHT_AREA           = 0x00000004, //  2 Dalaran and Wintergrasp flight area auras have it
   SPELL_ATTR9_UNK3                             = 0x00000008, //  3
   SPELL_ATTR9_SPECIAL_DELAY_CALCULATION        = 0x00000010, //  4
   SPELL_ATTR9_SUMMON_PLAYER_TOTEM              = 0x00000020, //  5
   SPELL_ATTR9_UNK6                             = 0x00000040, //  6
   SPELL_ATTR9_UNK7                             = 0x00000080, //  7
   SPELL_ATTR9_AIMED_SHOT                       = 0x00000100, //  8
   SPELL_ATTR9_NOT_USABLE_IN_ARENA              = 0x00000200, //  9 Cannot be used in arenas
   SPELL_ATTR9_UNK10                            = 0x00000400, // 10
   SPELL_ATTR9_UNK11                            = 0x00000800, // 11
   SPELL_ATTR9_UNK12                            = 0x00001000, // 12
   SPELL_ATTR9_SLAM                             = 0x00002000, // 13
   SPELL_ATTR9_USABLE_IN_RATED_BATTLEGROUNDS    = 0x00004000, // 14 Can be used in Rated Battlegrounds
   SPELL_ATTR9_UNK15                            = 0x00008000, // 15
   SPELL_ATTR9_UNK16                            = 0x00010000, // 16
   SPELL_ATTR9_UNK17                            = 0x00020000, // 17
   SPELL_ATTR9_UNK18                            = 0x00040000, // 18
   SPELL_ATTR9_UNK19                            = 0x00080000, // 19
   SPELL_ATTR9_UNK20                            = 0x00100000, // 20
   SPELL_ATTR9_UNK21                            = 0x00200000, // 21
   SPELL_ATTR9_UNK22                            = 0x00400000, // 22
   SPELL_ATTR9_UNK23                            = 0x00800000, // 23
   SPELL_ATTR9_UNK24                            = 0x01000000, // 24
   SPELL_ATTR9_UNK25                            = 0x02000000, // 25
   SPELL_ATTR9_UNK26                            = 0x04000000, // 26
   SPELL_ATTR9_UNK27                            = 0x08000000, // 27
   SPELL_ATTR9_UNK28                            = 0x10000000, // 28
   SPELL_ATTR9_UNK29                            = 0x20000000, // 29
   SPELL_ATTR9_UNK30                            = 0x40000000, // 30
   SPELL_ATTR9_UNK31                            = 0x80000000  // 31

enum SpellAttr10 (≥ Cata)

   SPELL_ATTR10_UNK0                            = 0x00000001, //  0
   SPELL_ATTR10_UNK1                            = 0x00000002, //  1
   SPELL_ATTR10_UNK2                            = 0x00000004, //  2
   SPELL_ATTR10_UNK3                            = 0x00000008, //  3
   SPELL_ATTR10_WATER_SPOUT                     = 0x00000010, //  4
   SPELL_ATTR10_UNK5                            = 0x00000020, //  5
   SPELL_ATTR10_UNK6                            = 0x00000040, //  6
   SPELL_ATTR10_TELEPORT_PLAYER                 = 0x00000080, //  7 4 Teleport Player spells
   SPELL_ATTR10_UNK8                            = 0x00000100, //  8
   SPELL_ATTR10_UNK9                            = 0x00000200, //  9
   SPELL_ATTR10_UNK10                           = 0x00000400, // 10
   SPELL_ATTR10_HERB_GATHERING_MINING           = 0x00000800, // 11 Only Herb Gathering and Mining
   SPELL_ATTR10_USE_SPELL_BASE_LEVEL_FOR_SCALING= 0x00001000, // 12
   SPELL_ATTR10_UNK13                           = 0x00002000, // 13
   SPELL_ATTR10_UNK14                           = 0x00004000, // 14
   SPELL_ATTR10_UNK15                           = 0x00008000, // 15
   SPELL_ATTR10_UNK16                           = 0x00010000, // 16
   SPELL_ATTR10_UNK17                           = 0x00020000, // 17
   SPELL_ATTR10_UNK18                           = 0x00040000, // 18
   SPELL_ATTR10_UNK19                           = 0x00080000, // 19
   SPELL_ATTR10_UNK20                           = 0x00100000, // 20
   SPELL_ATTR10_UNK21                           = 0x00200000, // 21
   SPELL_ATTR10_UNK22                           = 0x00400000, // 22
   SPELL_ATTR10_UNK23                           = 0x00800000, // 23
   SPELL_ATTR10_UNK24                           = 0x01000000, // 24
   SPELL_ATTR10_UNK25                           = 0x02000000, // 25
   SPELL_ATTR10_UNK26                           = 0x04000000, // 26
   SPELL_ATTR10_UNK27                           = 0x08000000, // 27
   SPELL_ATTR10_UNK28                           = 0x10000000, // 28
   SPELL_ATTR10_MOUNT_IS_NOT_ACCOUNT_WIDE       = 0x20000000, // 29 This mount is stored per-character
   SPELL_ATTR10_UNK30                           = 0x40000000, // 30
   SPELL_ATTR10_UNK31                           = 0x80000000  // 31

enum SpellAttr11 (≥ Mists)

   SPELL_ATTR11_UNK0                            = 0x00000001, //  0
   SPELL_ATTR11_UNK1                            = 0x00000002, //  1
   SPELL_ATTR11_SCALES_WITH_ITEM_LEVEL          = 0x00000004, //  2
   SPELL_ATTR11_UNK3                            = 0x00000008, //  3
   SPELL_ATTR11_UNK4                            = 0x00000010, //  4
   SPELL_ATTR11_ABSORB_ENVIRONMENTAL_DAMAGE     = 0x00000020, //  5
   SPELL_ATTR11_UNK6                            = 0x00000040, //  6
   SPELL_ATTR11_RANK_IGNORES_CASTER_LEVEL       = 0x00000080, //  7 Spell_C_GetSpellRank returns SpellLevels->MaxLevel * 5 instead of std::min(SpellLevels->MaxLevel, caster->Level) * 5
   SPELL_ATTR11_UNK8                            = 0x00000100, //  8
   SPELL_ATTR11_UNK9                            = 0x00000200, //  9
   SPELL_ATTR11_UNK10                           = 0x00000400, // 10
   SPELL_ATTR11_UNK11                           = 0x00000800, // 11
   SPELL_ATTR11_UNK12                           = 0x00001000, // 12
   SPELL_ATTR11_UNK13                           = 0x00002000, // 13
   SPELL_ATTR11_UNK14                           = 0x00004000, // 14
   SPELL_ATTR11_UNK15                           = 0x00008000, // 15
   SPELL_ATTR11_NOT_USABLE_IN_CHALLENGE_MODE    = 0x00010000, // 16
   SPELL_ATTR11_UNK17                           = 0x00020000, // 17
   SPELL_ATTR11_UNK18                           = 0x00040000, // 18
   SPELL_ATTR11_UNK19                           = 0x00080000, // 19
   SPELL_ATTR11_UNK20                           = 0x00100000, // 20
   SPELL_ATTR11_UNK21                           = 0x00200000, // 21
   SPELL_ATTR11_UNK22                           = 0x00400000, // 22
   SPELL_ATTR11_UNK23                           = 0x00800000, // 23
   SPELL_ATTR11_UNK24                           = 0x01000000, // 24
   SPELL_ATTR11_UNK25                           = 0x02000000, // 25
   SPELL_ATTR11_UNK26                           = 0x04000000, // 26
   SPELL_ATTR11_UNK27                           = 0x08000000, // 27
   SPELL_ATTR11_UNK28                           = 0x10000000, // 28
   SPELL_ATTR11_UNK29                           = 0x20000000, // 29
   SPELL_ATTR11_UNK30                           = 0x40000000, // 30
   SPELL_ATTR11_UNK31                           = 0x80000000  // 31

enum SpellAttr12 (≥ Mists)

   SPELL_ATTR12_UNK0                            = 0x00000001, //  0
   SPELL_ATTR12_UNK1                            = 0x00000002, //  1
   SPELL_ATTR12_UNK2                            = 0x00000004, //  2
   SPELL_ATTR12_UNK3                            = 0x00000008, //  3
   SPELL_ATTR12_UNK4                            = 0x00000010, //  4
   SPELL_ATTR12_UNK5                            = 0x00000020, //  5
   SPELL_ATTR12_UNK6                            = 0x00000040, //  6
   SPELL_ATTR12_UNK7                            = 0x00000080, //  7
   SPELL_ATTR12_UNK8                            = 0x00000100, //  8
   SPELL_ATTR12_UNK9                            = 0x00000200, //  9
   SPELL_ATTR12_UNK10                           = 0x00000400, // 10
   SPELL_ATTR12_UNK11                           = 0x00000800, // 11
   SPELL_ATTR12_UNK12                           = 0x00001000, // 12
   SPELL_ATTR12_UNK13                           = 0x00002000, // 13
   SPELL_ATTR12_UNK14                           = 0x00004000, // 14
   SPELL_ATTR12_UNK15                           = 0x00008000, // 15
   SPELL_ATTR12_UNK16                           = 0x00010000, // 16
   SPELL_ATTR12_UNK17                           = 0x00020000, // 17
   SPELL_ATTR12_UNK18                           = 0x00040000, // 18
   SPELL_ATTR12_UNK19                           = 0x00080000, // 19
   SPELL_ATTR12_UNK20                           = 0x00100000, // 20
   SPELL_ATTR12_UNK21                           = 0x00200000, // 21
   SPELL_ATTR12_UNK22                           = 0x00400000, // 22
   SPELL_ATTR12_UNK23                           = 0x00800000, // 23
   SPELL_ATTR12_IS_GARRISON_BUFF                = 0x01000000, // 24
   SPELL_ATTR12_UNK25                           = 0x02000000, // 25
   SPELL_ATTR12_UNK26                           = 0x04000000, // 26
   SPELL_ATTR12_IS_READINESS_SPELL              = 0x08000000, // 27
   SPELL_ATTR12_UNK28                           = 0x10000000, // 28
   SPELL_ATTR12_UNK29                           = 0x20000000, // 29
   SPELL_ATTR12_UNK30                           = 0x40000000, // 30
   SPELL_ATTR12_UNK31                           = 0x80000000  // 31

enum SpellAttr13 (≥ Mists)

   SPELL_ATTR13_UNK0                            = 0x00000001, //  0
   SPELL_ATTR13_UNK1                            = 0x00000002, //  1
   SPELL_ATTR13_UNK2                            = 0x00000004, //  2
   SPELL_ATTR13_UNK3                            = 0x00000008, //  3
   SPELL_ATTR13_UNK4                            = 0x00000010, //  4
   SPELL_ATTR13_UNK5                            = 0x00000020, //  5
   SPELL_ATTR13_UNK6                            = 0x00000040, //  6
   SPELL_ATTR13_UNK7                            = 0x00000080, //  7
   SPELL_ATTR13_UNK8                            = 0x00000100, //  8
   SPELL_ATTR13_UNK9                            = 0x00000200, //  9
   SPELL_ATTR13_UNK10                           = 0x00000400, // 10
   SPELL_ATTR13_UNK11                           = 0x00000800, // 11
   SPELL_ATTR13_UNK12                           = 0x00001000, // 12
   SPELL_ATTR13_UNK13                           = 0x00002000, // 13
   SPELL_ATTR13_UNK14                           = 0x00004000, // 14
   SPELL_ATTR13_UNK15                           = 0x00008000, // 15
   SPELL_ATTR13_UNK16                           = 0x00010000, // 16
   SPELL_ATTR13_UNK17                           = 0x00020000, // 17
   SPELL_ATTR13_ACTIVATES_REQUIRED_SHAPESHIFT   = 0x00040000, // 18
   SPELL_ATTR13_UNK19                           = 0x00080000, // 19
   SPELL_ATTR13_UNK20                           = 0x00100000, // 20
   SPELL_ATTR13_UNK21                           = 0x00200000, // 21
   SPELL_ATTR13_UNK22                           = 0x00400000, // 22
   SPELL_ATTR13_UNK23                           = 0x00800000  // 23


Extracted from Trinity Core Source (SharedDefines.h). November 22, 2019. Updated Tables 0-4 to March 16, 2023.

Please note that while many Spell Headers may contain different wording from various sources and years of work, the goal is to convey information most accurately and understandably. Only when programming would the header information be needed (which can be found in the most recent aforementioned file.)

This is an ongoing update of many important characteristics that define spells and abilities. If you have knowledge of these please feel free to add any missing information. - Xiberion