Spell.dbc/Attributes
Jump to navigation
Jump to search
enum SpellAttr0
SPELL_ATTR0_UNK0 = 0x00000001, // 0 SPELL_ATTR0_REQ_AMMO = 0x00000002, // 1 on next ranged SPELL_ATTR0_ON_NEXT_SWING = 0x00000004, // 2 SPELL_ATTR0_IS_REPLENISHMENT = 0x00000008, // 3 not set in 3.0.3 SPELL_ATTR0_ABILITY = 0x00000010, // 4 client puts 'ability' instead of 'spell' in game strings for these spells SPELL_ATTR0_TRADESPELL = 0x00000020, // 5 trade spells (recipes), will be added by client to a sublist of profession spell SPELL_ATTR0_PASSIVE = 0x00000040, // 6 Passive spell SPELL_ATTR0_HIDDEN_CLIENTSIDE = 0x00000080, // 7 Spells with this attribute are not visible in spellbook or aura bar SPELL_ATTR0_HIDE_IN_COMBAT_LOG = 0x00000100, // 8 This attribite controls whether spell appears in combat logs SPELL_ATTR0_TARGET_MAINHAND_ITEM = 0x00000200, // 9 Client automatically selects item from mainhand slot as a cast target SPELL_ATTR0_ON_NEXT_SWING_2 = 0x00000400, // 10 SPELL_ATTR0_UNK11 = 0x00000800, // 11 SPELL_ATTR0_DAYTIME_ONLY = 0x00001000, // 12 only useable at daytime, not set in 2.4.2 SPELL_ATTR0_NIGHT_ONLY = 0x00002000, // 13 only useable at night, not set in 2.4.2 SPELL_ATTR0_INDOORS_ONLY = 0x00004000, // 14 only useable indoors, not set in 2.4.2 SPELL_ATTR0_OUTDOORS_ONLY = 0x00008000, // 15 Only useable outdoors. SPELL_ATTR0_NOT_SHAPESHIFT = 0x00010000, // 16 Not while shapeshifted SPELL_ATTR0_ONLY_STEALTHED = 0x00020000, // 17 Must be in stealth SPELL_ATTR0_DONT_AFFECT_SHEATH_STATE = 0x00040000, // 18 client won't hide unit weapons in sheath on cast/channel SPELL_ATTR0_LEVEL_DAMAGE_CALCULATION = 0x00080000, // 19 spelldamage depends on caster level SPELL_ATTR0_STOP_ATTACK_TARGET = 0x00100000, // 20 Stop attack after use this spell (and not begin attack if use) SPELL_ATTR0_IMPOSSIBLE_DODGE_PARRY_BLOCK = 0x00200000, // 21 Cannot be dodged/parried/blocked SPELL_ATTR0_CAST_TRACK_TARGET = 0x00400000, // 22 Client automatically forces player to face target when casting SPELL_ATTR0_CASTABLE_WHILE_DEAD = 0x00800000, // 23 castable while dead? SPELL_ATTR0_CASTABLE_WHILE_MOUNTED = 0x01000000, // 24 castable while mounted SPELL_ATTR0_DISABLED_WHILE_ACTIVE = 0x02000000, // 25 Activate and start cooldown after aura fade or remove summoned creature or go SPELL_ATTR0_NEGATIVE_1 = 0x04000000, // 26 Many negative spells have this attr SPELL_ATTR0_CASTABLE_WHILE_SITTING = 0x08000000, // 27 castable while sitting SPELL_ATTR0_CANT_USED_IN_COMBAT = 0x10000000, // 28 Cannot be used in combat SPELL_ATTR0_UNAFFECTED_BY_INVULNERABILITY = 0x20000000, // 29 unaffected by invulnerability (hmm possible not...) SPELL_ATTR0_HEARTBEAT_RESIST_CHECK = 0x40000000, // 30 random chance the effect will end TODO: implement core support SPELL_ATTR0_CANT_CANCEL = 0x80000000 // 31 positive aura can't be canceled
enum SpellAttr1
SPELL_ATTR1_DISMISS_PET = 0x00000001, // 0 for spells without this flag client doesn't allow to summon pet if caster has a pet SPELL_ATTR1_DRAIN_ALL_POWER = 0x00000002, // 1 use all power (Only paladin Lay of Hands and Bunyanize) SPELL_ATTR1_CHANNELED_1 = 0x00000004, // 2 clientside checked? cancelable? SPELL_ATTR1_CANT_BE_REDIRECTED = 0x00000008, // 3 SPELL_ATTR1_UNK4 = 0x00000010, // 4 stealth and whirlwind SPELL_ATTR1_NOT_BREAK_STEALTH = 0x00000020, // 5 Not break stealth SPELL_ATTR1_CHANNELED_2 = 0x00000040, // 6 SPELL_ATTR1_CANT_BE_REFLECTED = 0x00000080, // 7 SPELL_ATTR1_CANT_TARGET_IN_COMBAT = 0x00000100, // 8 can target only out of combat units SPELL_ATTR1_MELEE_COMBAT_START = 0x00000200, // 9 player starts melee combat after this spell is cast SPELL_ATTR1_NO_THREAT = 0x00000400, // 10 no generates threat on cast 100% (old NO_INITIAL_AGGRO) SPELL_ATTR1_UNK11 = 0x00000800, // 11 aura SPELL_ATTR1_IS_PICKPOCKET = 0x00001000, // 12 Pickpocket SPELL_ATTR1_FARSIGHT = 0x00002000, // 13 Client removes farsight on aura loss SPELL_ATTR1_CHANNEL_TRACK_TARGET = 0x00004000, // 14 Client automatically forces player to face target when channeling SPELL_ATTR1_DISPEL_AURAS_ON_IMMUNITY = 0x00008000, // 15 remove auras on immunity SPELL_ATTR1_UNAFFECTED_BY_SCHOOL_IMMUNE = 0x00010000, // 16 on immuniy SPELL_ATTR1_UNAUTOCASTABLE_BY_PET = 0x00020000, // 17 SPELL_ATTR1_UNK18 = 0x00040000, // 18 stun, polymorph, daze, hex SPELL_ATTR1_CANT_TARGET_SELF = 0x00080000, // 19 SPELL_ATTR1_REQ_COMBO_POINTS1 = 0x00100000, // 20 Req combo points on target SPELL_ATTR1_UNK21 = 0x00200000, // 21 SPELL_ATTR1_REQ_COMBO_POINTS2 = 0x00400000, // 22 Req combo points on target SPELL_ATTR1_UNK23 = 0x00800000, // 23 SPELL_ATTR1_IS_FISHING = 0x01000000, // 24 only fishing spells SPELL_ATTR1_UNK25 = 0x02000000, // 25 SPELL_ATTR1_UNK26 = 0x04000000, // 26 works correctly with [target=focus] and [target=mouseover] macros? SPELL_ATTR1_UNK27 = 0x08000000, // 27 melee spell? SPELL_ATTR1_DONT_DISPLAY_IN_AURA_BAR = 0x10000000, // 28 client doesn't display these spells in aura bar SPELL_ATTR1_CHANNEL_DISPLAY_SPELL_NAME = 0x20000000, // 29 spell name is displayed in cast bar instead of 'channeling' text SPELL_ATTR1_ENABLE_AT_DODGE = 0x40000000, // 30 Overpower SPELL_ATTR1_UNK31 = 0x80000000 // 31
enum SpellAttr2
SPELL_ATTR2_CAN_TARGET_DEAD = 0x00000001, // 0 can target dead unit or corpse SPELL_ATTR2_UNK1 = 0x00000002, // 1 vanish, shadowform, Ghost Wolf and other SPELL_ATTR2_CAN_TARGET_NOT_IN_LOS = 0x00000004, // 2 26368 4.0.1 dbc change SPELL_ATTR2_UNK3 = 0x00000008, // 3 SPELL_ATTR2_DISPLAY_IN_STANCE_BAR = 0x00000010, // 4 client displays icon in stance bar when learned, even if not shapeshift SPELL_ATTR2_AUTOREPEAT_FLAG = 0x00000020, // 5 SPELL_ATTR2_CANT_TARGET_TAPPED = 0x00000040, // 6 target must be tapped by caster SPELL_ATTR2_UNK7 = 0x00000080, // 7 SPELL_ATTR2_UNK8 = 0x00000100, // 8 not set in 3.0.3 SPELL_ATTR2_UNK9 = 0x00000200, // 9 SPELL_ATTR2_UNK10 = 0x00000400, // 10 related to tame SPELL_ATTR2_HEALTH_FUNNEL = 0x00000800, // 11 SPELL_ATTR2_UNK12 = 0x00001000, // 12 Cleave, Heart Strike, Maul, Sunder Armor, Swipe SPELL_ATTR2_PRESERVE_ENCHANT_IN_ARENA = 0x00002000, // 13 Items enchanted by spells with this flag preserve the enchant to arenas SPELL_ATTR2_UNK14 = 0x00004000, // 14 SPELL_ATTR2_UNK15 = 0x00008000, // 15 not set in 3.0.3 SPELL_ATTR2_TAME_BEAST = 0x00010000, // 16 SPELL_ATTR2_NOT_RESET_AUTO_ACTIONS = 0x00020000, // 17 don't reset timers for melee autoattacks (swings) or ranged autoattacks (autoshoots) SPELL_ATTR2_REQ_DEAD_PET = 0x00040000, // 18 Only Revive pet and Heart of the Pheonix SPELL_ATTR2_NOT_NEED_SHAPESHIFT = 0x00080000, // 19 does not necessarly need shapeshift SPELL_ATTR2_UNK20 = 0x00100000, // 20 SPELL_ATTR2_DAMAGE_REDUCED_SHIELD = 0x00200000, // 21 for ice blocks, pala immunity buffs, priest absorb shields, but used also for other spells -> not sure! SPELL_ATTR2_UNK22 = 0x00400000, // 22 Ambush, Backstab, Cheap Shot, Death Grip, Garrote, Judgements, Mutilate, Pounce, Ravage, Shiv, Shred SPELL_ATTR2_IS_ARCANE_CONCENTRATION = 0x00800000, // 23 Only mage Arcane Concentration have this flag SPELL_ATTR2_UNK24 = 0x01000000, // 24 SPELL_ATTR2_UNK25 = 0x02000000, // 25 SPELL_ATTR2_UNAFFECTED_BY_AURA_SCHOOL_IMMUNE = 0x04000000, // 26 unaffected by school immunity SPELL_ATTR2_UNK27 = 0x08000000, // 27 SPELL_ATTR2_IGNORE_ITEM_CHECK = 0x10000000, // 28 Spell is cast without checking item requirements (charges/reagents/totem) SPELL_ATTR2_CANT_CRIT = 0x20000000, // 29 Spell can't crit SPELL_ATTR2_TRIGGERED_CAN_TRIGGER_PROC = 0x40000000, // 30 spell can trigger even if triggered SPELL_ATTR2_FOOD_BUFF = 0x80000000 // 31 Food or Drink Buff (like Well Fed)
enum SpellAttr3
SPELL_ATTR3_UNK0 = 0x00000001, // 0 SPELL_ATTR3_UNK1 = 0x00000002, // 1 SPELL_ATTR3_UNK2 = 0x00000004, // 2 SPELL_ATTR3_BLOCKABLE_SPELL = 0x00000008, // 3 Only dmg class melee in 3.1.3 SPELL_ATTR3_IGNORE_RESURRECTION_TIMER = 0x00000010, // 4 you don't have to wait to be resurrected with these spells SPELL_ATTR3_UNK5 = 0x00000020, // 5 SPELL_ATTR3_UNK6 = 0x00000040, // 6 SPELL_ATTR3_STACK_FOR_DIFF_CASTERS = 0x00000080, // 7 separate stack for every caster SPELL_ATTR3_ONLY_TARGET_PLAYERS = 0x00000100, // 8 can only target players SPELL_ATTR3_TRIGGERED_CAN_TRIGGER_PROC_2 = 0x00000200, // 9 triggered from effect? SPELL_ATTR3_MAIN_HAND = 0x00000400, // 10 Main hand weapon required SPELL_ATTR3_BATTLEGROUND = 0x00000800, // 11 Can only be cast in battleground SPELL_ATTR3_ONLY_TARGET_GHOSTS = 0x00001000, // 12 SPELL_ATTR3_DONT_DISPLAY_CHANNEL_BAR = 0x00002000, // 13 Clientside attribute - will not display channeling bar SPELL_ATTR3_IS_HONORLESS_TARGET = 0x00004000, // 14 "Honorless Target" only this spells have this flag SPELL_ATTR3_UNK15 = 0x00008000, // 15 Auto Shoot, Shoot, Throw, - this is autoshot flag SPELL_ATTR3_CANT_TRIGGER_PROC = 0x00010000, // 16 confirmed with many patchnotes SPELL_ATTR3_NO_INITIAL_AGGRO = 0x00020000, // 17 Soothe Animal, 39758, Mind Soothe SPELL_ATTR3_IGNORE_HIT_RESULT = 0x00040000, // 18 Spell should always hit its target SPELL_ATTR3_DISABLE_PROC = 0x00080000, // 19 during aura proc no spells can trigger (20178, 20375) SPELL_ATTR3_DEATH_PERSISTENT = 0x00100000, // 20 Death persistent spells SPELL_ATTR3_UNK21 = 0x00200000, // 21 unused SPELL_ATTR3_REQ_WAND = 0x00400000, // 22 Req wand SPELL_ATTR3_UNK23 = 0x00800000, // 23 SPELL_ATTR3_REQ_OFFHAND = 0x01000000, // 24 Req offhand weapon SPELL_ATTR3_TREAT_AS_PERIODIC = 0x02000000, // 25 Makes the spell appear as periodic in client combat logs - used by spells that trigger another spell on each tick SPELL_ATTR3_CAN_PROC_WITH_TRIGGERED = 0x04000000, // 26 auras with this attribute can proc from triggered spell casts with SPELL_ATTR3_TRIGGERED_CAN_TRIGGER_PROC_2 (67736 + 52999) SPELL_ATTR3_DRAIN_SOUL = 0x08000000, // 27 only drain soul has this flag SPELL_ATTR3_UNK28 = 0x10000000, // 28 SPELL_ATTR3_NO_DONE_BONUS = 0x20000000, // 29 Ignore caster spellpower and done damage mods? client doesn't apply spellmods for those spells SPELL_ATTR3_DONT_DISPLAY_RANGE = 0x40000000, // 30 client doesn't display range in tooltip for those spells SPELL_ATTR3_UNK31 = 0x80000000 // 31
enum SpellAttr4
SPELL_ATTR4_IGNORE_RESISTANCES = 0x00000001, // 0 spells with this attribute will completely ignore the target's resistance (these spells can't be resisted) SPELL_ATTR4_PROC_ONLY_ON_CASTER = 0x00000002, // 1 proc only on effects with TARGET_UNIT_CASTER? SPELL_ATTR4_UNK2 = 0x00000004, // 2 SPELL_ATTR4_UNK3 = 0x00000008, // 3 SPELL_ATTR4_UNK4 = 0x00000010, // 4 This will no longer cause guards to attack on use?? SPELL_ATTR4_UNK5 = 0x00000020, // 5 SPELL_ATTR4_NOT_STEALABLE = 0x00000040, // 6 although such auras might be dispellable, they cannot be stolen SPELL_ATTR4_CAN_CAST_WHILE_CASTING = 0x00000080, // 7 Can be cast while another cast is in progress - see CanCastWhileCasting(SpellRec const*,CGUnit_C *,int &) SPELL_ATTR4_FIXED_DAMAGE = 0x00000100, // 8 Ignores resilience and any (except mechanic related) damage or % damage taken auras on target. SPELL_ATTR4_TRIGGER_ACTIVATE = 0x00000200, // 9 initially disabled / trigger activate from event (Execute, Riposte, Deep Freeze end other) SPELL_ATTR4_SPELL_VS_EXTEND_COST = 0x00000400, // 10 Rogue Shiv have this flag SPELL_ATTR4_UNK11 = 0x00000800, // 11 SPELL_ATTR4_UNK12 = 0x00001000, // 12 SPELL_ATTR4_COMBAT_LOG_NO_CASTER = 0x00002000, // 13 No caster object is sent to client combat log SPELL_ATTR4_DAMAGE_DOESNT_BREAK_AURAS = 0x00004000, // 14 doesn't break auras by damage from these spells SPELL_ATTR4_UNK15 = 0x00008000, // 15 SPELL_ATTR4_NOT_USABLE_IN_ARENA_OR_RATED_BG = 0x00010000, // 16 Cannot be used in both Arenas or Rated Battlegrounds SPELL_ATTR4_USABLE_IN_ARENA = 0x00020000, // 17 SPELL_ATTR4_AREA_TARGET_CHAIN = 0x00040000, // 18 (NYI)hits area targets one after another instead of all at once SPELL_ATTR4_UNK19 = 0x00080000, // 19 proc dalayed, after damage or don't proc on absorb? SPELL_ATTR4_NOT_CHECK_SELFCAST_POWER = 0x00100000, // 20 supersedes message "More powerful spell applied" for self casts. SPELL_ATTR4_UNK21 = 0x00200000, // 21 Pally aura, dk presence, dudu form, warrior stance, shadowform, hunter track SPELL_ATTR4_UNK22 = 0x00400000, // 22 Seal of Command (42058, 57770) and Gymer's Smash 55426 SPELL_ATTR4_UNK23 = 0x00800000, // 23 SPELL_ATTR4_UNK24 = 0x01000000, // 24 some shoot spell SPELL_ATTR4_IS_PET_SCALING = 0x02000000, // 25 pet scaling auras SPELL_ATTR4_CAST_ONLY_IN_OUTLAND = 0x04000000, // 26 Can only be used in Outland. SPELL_ATTR4_UNK27 = 0x08000000, // 27 SPELL_ATTR4_UNK28 = 0x10000000, // 28 Aimed Shot SPELL_ATTR4_UNK29 = 0x20000000, // 29 SPELL_ATTR4_UNK30 = 0x40000000, // 30 SPELL_ATTR4_UNK31 = 0x80000000 // 31 Polymorph (chicken) 228 and Sonic Boom (38052, 38488)
enum SpellAttr5 (≥ )
SPELL_ATTR5_CAN_CHANNEL_WHEN_MOVING = 0x00000001, // 0 available casting channel spell when moving SPELL_ATTR5_NO_REAGENT_WHILE_PREP = 0x00000002, // 1 not need reagents if UNIT_FLAG_PREPARATION SPELL_ATTR5_UNK2 = 0x00000004, // 2 SPELL_ATTR5_USABLE_WHILE_STUNNED = 0x00000008, // 3 usable while stunned SPELL_ATTR5_UNK4 = 0x00000010, // 4 SPELL_ATTR5_SINGLE_TARGET_SPELL = 0x00000020, // 5 Only one target can be apply at a time SPELL_ATTR5_UNK6 = 0x00000040, // 6 SPELL_ATTR5_UNK7 = 0x00000080, // 7 SPELL_ATTR5_UNK8 = 0x00000100, // 8 SPELL_ATTR5_START_PERIODIC_AT_APPLY = 0x00000200, // 9 begin periodic tick at aura apply SPELL_ATTR5_HIDE_DURATION = 0x00000400, // 10 do not send duration to client SPELL_ATTR5_ALLOW_TARGET_OF_TARGET_AS_TARGET = 0x00000800, // 11 (NYI) uses target's target as target if original target not valid (intervene for example) SPELL_ATTR5_UNK12 = 0x00001000, // 12 Cleave related? SPELL_ATTR5_HASTE_AFFECT_DURATION = 0x00002000, // 13 haste effects decrease duration of this SPELL_ATTR5_UNK14 = 0x00004000, // 14 SPELL_ATTR5_UNK15 = 0x00008000, // 15 Inflits on multiple targets? SPELL_ATTR5_UNK16 = 0x00010000, // 16 SPELL_ATTR5_USABLE_WHILE_FEARED = 0x00020000, // 17 usable while feared SPELL_ATTR5_USABLE_WHILE_CONFUSED = 0x00040000, // 18 usable while confused SPELL_ATTR5_DONT_TURN_DURING_CAST = 0x00080000, // 19 Blocks caster's turning when casting (client does not automatically turn caster's model to face UNIT_FIELD_TARGET) SPELL_ATTR5_UNK20 = 0x00100000, // 20 SPELL_ATTR5_UNK21 = 0x00200000, // 21 SPELL_ATTR5_UNK22 = 0x00400000, // 22 SPELL_ATTR5_UNK23 = 0x00800000, // 23 SPELL_ATTR5_UNK24 = 0x01000000, // 24 SPELL_ATTR5_UNK25 = 0x02000000, // 25 SPELL_ATTR5_UNK26 = 0x04000000, // 26 aoe related - Boulder, Cannon, Corpse Explosion, Fire Nova, Flames, Frost Bomb, Living Bomb, Seed of Corruption, Starfall, Thunder Clap, Volley SPELL_ATTR5_DONT_SHOW_AURA_IF_SELF_CAST = 0x08000000, // 27 Auras with this attribute are not visible on units that are the caster SPELL_ATTR5_DONT_SHOW_AURA_IF_NOT_SELF_CAST = 0x10000000, // 28 Auras with this attribute are not visible on units that are not the caster SPELL_ATTR5_UNK29 = 0x20000000, // 29 SPELL_ATTR5_UNK30 = 0x40000000, // 30 SPELL_ATTR5_UNK31 = 0x80000000 // 31 Forces all nearby enemies to focus attacks caster
enum SpellAttr6 (≥ )
SPELL_ATTR6_DONT_DISPLAY_COOLDOWN = 0x00000001, // 0 client doesn't display cooldown in tooltip for these spells SPELL_ATTR6_ONLY_IN_ARENA = 0x00000002, // 1 only usable in arena SPELL_ATTR6_IGNORE_CASTER_AURAS = 0x00000004, // 2 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 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) SPELL_ATTR6_UNK7 = 0x00000080, // 7 SPELL_ATTR6_CANT_TARGET_CROWD_CONTROLLED = 0x00000100, // 8 SPELL_ATTR6_UNK9 = 0x00000200, // 9 SPELL_ATTR6_CAN_TARGET_POSSESSED_FRIENDS = 0x00000400, // 10 NYI! 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 SPELL_ATTR6_CAN_TARGET_INVISIBLE = 0x00002000, // 13 ignore visibility requirement for spell target (phases, invisibility, etc.) SPELL_ATTR6_UNK14 = 0x00004000, // 14 SPELL_ATTR6_UNK15 = 0x00008000, // 15 only 54368, 67892 SPELL_ATTR6_UNK16 = 0x00010000, // 16 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 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) SPELL_ATTR6_CLIENT_UI_TARGET_EFFECTS = 0x00200000, // 21 it's only client-side attribute SPELL_ATTR6_UNK22 = 0x00400000, // 22 only 72054 SPELL_ATTR6_UNK23 = 0x00800000, // 23 SPELL_ATTR6_CAN_TARGET_UNTARGETABLE = 0x01000000, // 24 SPELL_ATTR6_NOT_RESET_SWING_IF_INSTANT = 0x02000000, // 25 Exorcism, Flash of Light SPELL_ATTR6_UNK26 = 0x04000000, // 26 related to player castable positive buff SPELL_ATTR6_UNK27 = 0x08000000, // 27 SPELL_ATTR6_UNK28 = 0x10000000, // 28 Death Grip SPELL_ATTR6_NO_DONE_PCT_DAMAGE_MODS = 0x20000000, // 29 ignores done percent damage mods? SPELL_ATTR6_UNK30 = 0x40000000, // 30 SPELL_ATTR6_IGNORE_CATEGORY_COOLDOWN_MODS = 0x80000000 // 31 Spells with this attribute skip applying modifiers to category cooldowns
enum SpellAttr7 (≥ )
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 (≥ )
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 (≥ )
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 (≥ )
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 (≥ )
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 (≥ )
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 (≥ )
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). 22 November 2019