Core: Rename spell attributes, use more general names

--HG--
branch : trunk
This commit is contained in:
linencloth
2010-12-19 05:15:47 +01:00
parent 22928e23bd
commit 59da698189
22 changed files with 463 additions and 463 deletions
+244 -244
View File
@@ -263,278 +263,278 @@ const uint32 ItemQualityColors[MAX_ITEM_QUALITY] = {
enum SpellAttr0
{
SPELL_ATTR_UNK0 = 0x00000001, // 0
SPELL_ATTR_REQ_AMMO = 0x00000002, // 1
SPELL_ATTR_ON_NEXT_SWING = 0x00000004, // 2 on next swing
SPELL_ATTR_UNK3 = 0x00000008, // 3 not set in 3.0.3
SPELL_ATTR_UNK4 = 0x00000010, // 4
SPELL_ATTR_TRADESPELL = 0x00000020, // 5 trade spells, will be added by client to a sublist of profession spell
SPELL_ATTR_PASSIVE = 0x00000040, // 6 Passive spell
SPELL_ATTR_UNK7 = 0x00000080, // 7 visible?
SPELL_ATTR_UNK8 = 0x00000100, // 8
SPELL_ATTR_UNK9 = 0x00000200, // 9
SPELL_ATTR_UNK10 = 0x00000400, // 10 on next swing 2
SPELL_ATTR_UNK11 = 0x00000800, // 11
SPELL_ATTR_DAYTIME_ONLY = 0x00001000, // 12 only useable at daytime, not set in 2.4.2
SPELL_ATTR_NIGHT_ONLY = 0x00002000, // 13 only useable at night, not set in 2.4.2
SPELL_ATTR_INDOORS_ONLY = 0x00004000, // 14 only useable indoors, not set in 2.4.2
SPELL_ATTR_OUTDOORS_ONLY = 0x00008000, // 15 Only useable outdoors.
SPELL_ATTR_NOT_SHAPESHIFT = 0x00010000, // 16 Not while shapeshifted
SPELL_ATTR_ONLY_STEALTHED = 0x00020000, // 17 Must be in stealth
SPELL_ATTR_UNK18 = 0x00040000, // 18
SPELL_ATTR_LEVEL_DAMAGE_CALCULATION = 0x00080000, // 19 spelldamage depends on caster level
SPELL_ATTR_STOP_ATTACK_TARGET = 0x00100000, // 20 Stop attack after use this spell (and not begin attack if use)
SPELL_ATTR_IMPOSSIBLE_DODGE_PARRY_BLOCK = 0x00200000, // 21 Cannot be dodged/parried/blocked
SPELL_ATTR_UNK22 = 0x00400000, // 22 shoot spells
SPELL_ATTR_CASTABLE_WHILE_DEAD = 0x00800000, // 23 castable while dead?
SPELL_ATTR_CASTABLE_WHILE_MOUNTED = 0x01000000, // 24 castable while mounted
SPELL_ATTR_DISABLED_WHILE_ACTIVE = 0x02000000, // 25 Activate and start cooldown after aura fade or remove summoned creature or go
SPELL_ATTR_NEGATIVE_1 = 0x04000000, // 26 Many negative spells have this attr
SPELL_ATTR_CASTABLE_WHILE_SITTING = 0x08000000, // 27 castable while sitting
SPELL_ATTR_CANT_USED_IN_COMBAT = 0x10000000, // 28 Cannot be used in combat
SPELL_ATTR_UNAFFECTED_BY_INVULNERABILITY = 0x20000000, // 29 unaffected by invulnerability (hmm possible not...)
SPELL_ATTR_BREAKABLE_BY_DAMAGE = 0x40000000, // 30
SPELL_ATTR_CANT_CANCEL = 0x80000000 // 31 positive aura can't be canceled
SPELL_ATTR0_UNK0 = 0x00000001, // 0
SPELL_ATTR0_REQ_AMMO = 0x00000002, // 1
SPELL_ATTR0_ON_NEXT_SWING = 0x00000004, // 2 on next swing
SPELL_ATTR0_UNK3 = 0x00000008, // 3 not set in 3.0.3
SPELL_ATTR0_UNK4 = 0x00000010, // 4
SPELL_ATTR0_TRADESPELL = 0x00000020, // 5 trade spells, will be added by client to a sublist of profession spell
SPELL_ATTR0_PASSIVE = 0x00000040, // 6 Passive spell
SPELL_ATTR0_UNK7 = 0x00000080, // 7 visible?
SPELL_ATTR0_UNK8 = 0x00000100, // 8
SPELL_ATTR0_UNK9 = 0x00000200, // 9
SPELL_ATTR0_UNK10 = 0x00000400, // 10 on next swing 2
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_UNK18 = 0x00040000, // 18
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_UNK22 = 0x00400000, // 22 shoot spells
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_BREAKABLE_BY_DAMAGE = 0x40000000, // 30
SPELL_ATTR0_CANT_CANCEL = 0x80000000 // 31 positive aura can't be canceled
};
enum SpellAttr1
{
SPELL_ATTR_EX_DISMISS_PET = 0x00000001, // 0 dismiss pet and not allow to summon new one?
SPELL_ATTR_EX_DRAIN_ALL_POWER = 0x00000002, // 1 use all power (Only paladin Lay of Hands and Bunyanize)
SPELL_ATTR_EX_CHANNELED_1 = 0x00000004, // 2 channeled target
SPELL_ATTR_EX_PUT_CASTER_IN_COMBAT = 0x00000008, // 3 spells that cause a caster to enter a combat
SPELL_ATTR_EX_UNK4 = 0x00000010, // 4 stealth and whirlwind
SPELL_ATTR_EX_NOT_BREAK_STEALTH = 0x00000020, // 5 Not break stealth
SPELL_ATTR_EX_CHANNELED_2 = 0x00000040, // 6 channeled self
SPELL_ATTR_EX_NEGATIVE = 0x00000080, // 7
SPELL_ATTR_EX_NOT_IN_COMBAT_TARGET = 0x00000100, // 8 Spell req target not to be in combat state
SPELL_ATTR_EX_UNK9 = 0x00000200, // 9 melee spells
SPELL_ATTR_EX_NO_THREAT = 0x00000400, // 10 no generates threat on cast 100% (old NO_INITIAL_AGGRO)
SPELL_ATTR_EX_UNK11 = 0x00000800, // 11 aura
SPELL_ATTR_EX_UNK12 = 0x00001000, // 12
SPELL_ATTR_EX_USE_RADIUS_AS_MAX_DISTANCE = 0x00002000, // 13
SPELL_ATTR_EX_STACK_FOR_DIFF_CASTERS = 0x00004000, // 14
SPELL_ATTR_EX_DISPEL_AURAS_ON_IMMUNITY = 0x00008000, // 15 remove auras on immunity
SPELL_ATTR_EX_UNAFFECTED_BY_SCHOOL_IMMUNE = 0x00010000, // 16 on immuniy
SPELL_ATTR_EX_UNAUTOCASTABLE_BY_PET = 0x00020000, // 17
SPELL_ATTR_EX_UNK18 = 0x00040000, // 18
SPELL_ATTR_EX_CANT_TARGET_SELF = 0x00080000, // 19 Applies only to unit target - for example Divine Intervention (19752)
SPELL_ATTR_EX_REQ_COMBO_POINTS1 = 0x00100000, // 20 Req combo points on target
SPELL_ATTR_EX_UNK21 = 0x00200000, // 21
SPELL_ATTR_EX_REQ_COMBO_POINTS2 = 0x00400000, // 22 Req combo points on target
SPELL_ATTR_EX_UNK23 = 0x00800000, // 23
SPELL_ATTR_EX_UNK24 = 0x01000000, // 24 Req fishing pole??
SPELL_ATTR_EX_UNK25 = 0x02000000, // 25
SPELL_ATTR_EX_UNK26 = 0x04000000, // 26 works correctly with [target=focus] and [target=mouseover] macros?
SPELL_ATTR_EX_UNK27 = 0x08000000, // 27
SPELL_ATTR_EX_IGNORE_IMMUNITY = 0x10000000, // 28 removed from Chains of Ice 3.3.0
SPELL_ATTR_EX_UNK29 = 0x20000000, // 29
SPELL_ATTR_EX_ENABLE_AT_DODGE = 0x40000000, // 30 Overpower, Wolverine Bite
SPELL_ATTR_EX_UNK31 = 0x80000000 // 31
SPELL_ATTR1_DISMISS_PET = 0x00000001, // 0 dismiss pet and not allow to summon new one?
SPELL_ATTR1_DRAIN_ALL_POWER = 0x00000002, // 1 use all power (Only paladin Lay of Hands and Bunyanize)
SPELL_ATTR1_CHANNELED_1 = 0x00000004, // 2 channeled target
SPELL_ATTR1_PUT_CASTER_IN_COMBAT = 0x00000008, // 3 spells that cause a caster to enter a combat
SPELL_ATTR1_UNK4 = 0x00000010, // 4 stealth and whirlwind
SPELL_ATTR1_NOT_BREAK_STEALTH = 0x00000020, // 5 Not break stealth
SPELL_ATTR1_CHANNELED_2 = 0x00000040, // 6 channeled self
SPELL_ATTR1_NEGATIVE = 0x00000080, // 7
SPELL_ATTR1_NOT_IN_COMBAT_TARGET = 0x00000100, // 8 Spell req target not to be in combat state
SPELL_ATTR1_UNK9 = 0x00000200, // 9 melee spells
SPELL_ATTR1_NO_THREAT = 0x00000400, // 10 no generates threat on cast 100% (old NO_INITIAL_AGGRO)
SPELL_ATTR1_UNK11 = 0x00000800, // 11 aura
SPELL_ATTR1_UNK12 = 0x00001000, // 12
SPELL_ATTR1_USE_RADIUS_AS_MAX_DISTANCE = 0x00002000, // 13
SPELL_ATTR1_STACK_FOR_DIFF_CASTERS = 0x00004000, // 14
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
SPELL_ATTR1_CANT_TARGET_SELF = 0x00080000, // 19 Applies only to unit target - for example Divine Intervention (19752)
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_UNK24 = 0x01000000, // 24 Req fishing pole??
SPELL_ATTR1_UNK25 = 0x02000000, // 25
SPELL_ATTR1_UNK26 = 0x04000000, // 26 works correctly with [target=focus] and [target=mouseover] macros?
SPELL_ATTR1_UNK27 = 0x08000000, // 27
SPELL_ATTR1_IGNORE_IMMUNITY = 0x10000000, // 28 removed from Chains of Ice 3.3.0
SPELL_ATTR1_UNK29 = 0x20000000, // 29
SPELL_ATTR1_ENABLE_AT_DODGE = 0x40000000, // 30 Overpower, Wolverine Bite
SPELL_ATTR1_UNK31 = 0x80000000 // 31
};
enum SpellAttr2
{
SPELL_ATTR_EX2_ALLOW_DEAD_TARGET = 0x00000001, // 0
SPELL_ATTR_EX2_UNK1 = 0x00000002, // 1 ? many triggered spells have this flag
SPELL_ATTR_EX2_CANT_REFLECTED = 0x00000004, // 2 ? used for detect can or not spell reflected
SPELL_ATTR_EX2_UNK3 = 0x00000008, // 3
SPELL_ATTR_EX2_ALWAYS_APPLY_MODIFIERS = 0x00000010, // 4 ? spell modifiers are applied dynamically (even if aura is not passive)
SPELL_ATTR_EX2_AUTOREPEAT_FLAG = 0x00000020, // 5
SPELL_ATTR_EX2_UNK6 = 0x00000040, // 6
SPELL_ATTR_EX2_UNK7 = 0x00000080, // 7
SPELL_ATTR_EX2_UNK8 = 0x00000100, // 8 not set in 3.0.3
SPELL_ATTR_EX2_UNK9 = 0x00000200, // 9
SPELL_ATTR_EX2_UNK10 = 0x00000400, // 10
SPELL_ATTR_EX2_HEALTH_FUNNEL = 0x00000800, // 11
SPELL_ATTR_EX2_UNK12 = 0x00001000, // 12
SPELL_ATTR_EX2_UNK13 = 0x00002000, // 13 Items enchanted by spells with this flag preserve the enchant to arenas
SPELL_ATTR_EX2_UNK14 = 0x00004000, // 14
SPELL_ATTR_EX2_UNK15 = 0x00008000, // 15 not set in 3.0.3
SPELL_ATTR_EX2_TAME_BEAST = 0x00010000, // 16
SPELL_ATTR_EX2_NOT_RESET_AUTO_ACTIONS = 0x00020000, // 17 don't reset timers for melee autoattacks (swings) or ranged autoattacks (autoshoots)
SPELL_ATTR_EX2_UNK18 = 0x00040000, // 18 Only Revive pet - possible req dead pet
SPELL_ATTR_EX2_NOT_NEED_SHAPESHIFT = 0x00080000, // 19 does not necessarly need shapeshift
SPELL_ATTR_EX2_UNK20 = 0x00100000, // 20
SPELL_ATTR_EX2_DAMAGE_REDUCED_SHIELD = 0x00200000, // 21 for ice blocks, pala immunity buffs, priest absorb shields, but used also for other spells -> not sure!
SPELL_ATTR_EX2_UNK22 = 0x00400000, // 22
SPELL_ATTR_EX2_UNK23 = 0x00800000, // 23 Only mage Arcane Concentration have this flag
SPELL_ATTR_EX2_UNK24 = 0x01000000, // 24
SPELL_ATTR_EX2_UNK25 = 0x02000000, // 25
SPELL_ATTR_EX2_UNK26 = 0x04000000, // 26 unaffected by school immunity
SPELL_ATTR_EX2_UNK27 = 0x08000000, // 27
SPELL_ATTR_EX2_UNK28 = 0x10000000, // 28 no breaks stealth if it fails??
SPELL_ATTR_EX2_CANT_CRIT = 0x20000000, // 29 Spell can't crit
SPELL_ATTR_EX2_TRIGGERED_CAN_TRIGGER = 0x40000000, // 30 spell can trigger even if triggered
SPELL_ATTR_EX2_FOOD_BUFF = 0x80000000 // 31 Food or Drink Buff (like Well Fed)
SPELL_ATTR2_ALLOW_DEAD_TARGET = 0x00000001, // 0
SPELL_ATTR2_UNK1 = 0x00000002, // 1 ? many triggered spells have this flag
SPELL_ATTR2_CANT_REFLECTED = 0x00000004, // 2 ? used for detect can or not spell reflected
SPELL_ATTR2_UNK3 = 0x00000008, // 3
SPELL_ATTR2_ALWAYS_APPLY_MODIFIERS = 0x00000010, // 4 ? spell modifiers are applied dynamically (even if aura is not passive)
SPELL_ATTR2_AUTOREPEAT_FLAG = 0x00000020, // 5
SPELL_ATTR2_UNK6 = 0x00000040, // 6
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
SPELL_ATTR2_HEALTH_FUNNEL = 0x00000800, // 11
SPELL_ATTR2_UNK12 = 0x00001000, // 12
SPELL_ATTR2_UNK13 = 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_UNK18 = 0x00040000, // 18 Only Revive pet - possible req dead pet
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
SPELL_ATTR2_UNK23 = 0x00800000, // 23 Only mage Arcane Concentration have this flag
SPELL_ATTR2_UNK24 = 0x01000000, // 24
SPELL_ATTR2_UNK25 = 0x02000000, // 25
SPELL_ATTR2_UNK26 = 0x04000000, // 26 unaffected by school immunity
SPELL_ATTR2_UNK27 = 0x08000000, // 27
SPELL_ATTR2_UNK28 = 0x10000000, // 28 no breaks stealth if it fails??
SPELL_ATTR2_CANT_CRIT = 0x20000000, // 29 Spell can't crit
SPELL_ATTR2_TRIGGERED_CAN_TRIGGER = 0x40000000, // 30 spell can trigger even if triggered
SPELL_ATTR2_FOOD_BUFF = 0x80000000 // 31 Food or Drink Buff (like Well Fed)
};
enum SpellAttr3
{
SPELL_ATTR_EX3_UNK0 = 0x00000001, // 0
SPELL_ATTR_EX3_UNK1 = 0x00000002, // 1
SPELL_ATTR_EX3_UNK2 = 0x00000004, // 2
SPELL_ATTR_EX3_BLOCKABLE_SPELL = 0x00000008, // 3 Only dmg class melee in 3.1.3
SPELL_ATTR_EX3_UNK4 = 0x00000010, // 4 Druid Rebirth only this spell have this flag
SPELL_ATTR_EX3_UNK5 = 0x00000020, // 5
SPELL_ATTR_EX3_UNK6 = 0x00000040, // 6
SPELL_ATTR_EX3_STACK_FOR_DIFF_CASTERS = 0x00000080, // 7 separate stack for every caster
SPELL_ATTR_EX3_PLAYERS_ONLY = 0x00000100, // 8 Player only?
SPELL_ATTR_EX3_TRIGGERED_CAN_TRIGGER_2 = 0x00000200, // 9 triggered from effect?
SPELL_ATTR_EX3_MAIN_HAND = 0x00000400, // 10 Main hand weapon required
SPELL_ATTR_EX3_BATTLEGROUND = 0x00000800, // 11 Can casted only on battleground
SPELL_ATTR_EX3_REQUIRE_DEAD_TARGET = 0x00001000, // 12
SPELL_ATTR_EX3_UNK13 = 0x00002000, // 13
SPELL_ATTR_EX3_UNK14 = 0x00004000, // 14 "Honorless Target" only this spells have this flag
SPELL_ATTR_EX3_UNK15 = 0x00008000, // 15 Auto Shoot, Shoot, Throw, - this is autoshot flag
SPELL_ATTR_EX3_UNK16 = 0x00010000, // 16 no triggers effects that trigger on casting a spell?? (15290 - 2.2ptr change)
SPELL_ATTR_EX3_NO_INITIAL_AGGRO = 0x00020000, // 17 Soothe Animal, 39758, Mind Soothe
SPELL_ATTR_EX3_UNK18 = 0x00040000, // 18 added to Explosive Trap Effect 3.3.0, removed from Mutilate 3.3.0
SPELL_ATTR_EX3_DISABLE_PROC = 0x00080000, // 19 during aura proc no spells can trigger (20178, 20375)
SPELL_ATTR_EX3_DEATH_PERSISTENT = 0x00100000, // 20 Death persistent spells
SPELL_ATTR_EX3_UNK21 = 0x00200000, // 21
SPELL_ATTR_EX3_REQ_WAND = 0x00400000, // 22 Req wand
SPELL_ATTR_EX3_UNK23 = 0x00800000, // 23
SPELL_ATTR_EX3_REQ_OFFHAND = 0x01000000, // 24 Req offhand weapon
SPELL_ATTR_EX3_UNK25 = 0x02000000, // 25 no cause spell pushback ?
SPELL_ATTR_EX3_CAN_PROC_TRIGGERED = 0x04000000, // 26
SPELL_ATTR_EX3_DRAIN_SOUL = 0x08000000, // 27 only drain soul has this flag
SPELL_ATTR_EX3_UNK28 = 0x10000000, // 28
SPELL_ATTR_EX3_NO_DONE_BONUS = 0x20000000, // 29 Ignore caster spellpower and done damage mods?
SPELL_ATTR_EX3_UNK30 = 0x40000000, // 30 Shaman's Fire Nova 3.3.0, Sweeping Strikes 3.3.0
SPELL_ATTR_EX3_UNK31 = 0x80000000 // 31
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_UNK4 = 0x00000010, // 4 Druid Rebirth only this spell have this flag
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_PLAYERS_ONLY = 0x00000100, // 8 Player only?
SPELL_ATTR3_TRIGGERED_CAN_TRIGGER_2 = 0x00000200, // 9 triggered from effect?
SPELL_ATTR3_MAIN_HAND = 0x00000400, // 10 Main hand weapon required
SPELL_ATTR3_BATTLEGROUND = 0x00000800, // 11 Can casted only on battleground
SPELL_ATTR3_REQUIRE_DEAD_TARGET = 0x00001000, // 12
SPELL_ATTR3_UNK13 = 0x00002000, // 13
SPELL_ATTR3_UNK14 = 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_UNK16 = 0x00010000, // 16 no triggers effects that trigger on casting a spell?? (15290 - 2.2ptr change)
SPELL_ATTR3_NO_INITIAL_AGGRO = 0x00020000, // 17 Soothe Animal, 39758, Mind Soothe
SPELL_ATTR3_UNK18 = 0x00040000, // 18 added to Explosive Trap Effect 3.3.0, removed from Mutilate 3.3.0
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
SPELL_ATTR3_REQ_WAND = 0x00400000, // 22 Req wand
SPELL_ATTR3_UNK23 = 0x00800000, // 23
SPELL_ATTR3_REQ_OFFHAND = 0x01000000, // 24 Req offhand weapon
SPELL_ATTR3_UNK25 = 0x02000000, // 25 no cause spell pushback ?
SPELL_ATTR3_CAN_PROC_TRIGGERED = 0x04000000, // 26
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?
SPELL_ATTR3_UNK30 = 0x40000000, // 30 Shaman's Fire Nova 3.3.0, Sweeping Strikes 3.3.0
SPELL_ATTR3_UNK31 = 0x80000000 // 31
};
enum SpellAttr4
{
SPELL_ATTR_EX4_UNK0 = 0x00000001, // 0
SPELL_ATTR_EX4_UNK1 = 0x00000002, // 1 proc on finishing move?
SPELL_ATTR_EX4_UNK2 = 0x00000004, // 2
SPELL_ATTR_EX4_CANT_PROC_FROM_SELFCAST = 0x00000008, // 3
SPELL_ATTR_EX4_UNK4 = 0x00000010, // 4 This will no longer cause guards to attack on use??
SPELL_ATTR_EX4_UNK5 = 0x00000020, // 5
SPELL_ATTR_EX4_NOT_STEALABLE = 0x00000040, // 6 although such auras might be dispellable, they cannot be stolen
SPELL_ATTR_EX4_TRIGGERED = 0x00000080, // 7 spells forced to be triggered
SPELL_ATTR_EX4_FIXED_DAMAGE = 0x00000100, // 8 decimate, share damage?
SPELL_ATTR_EX4_UNK9 = 0x00000200, // 9
SPELL_ATTR_EX4_SPELL_VS_EXTEND_COST = 0x00000400, // 10 Rogue Shiv have this flag
SPELL_ATTR_EX4_UNK11 = 0x00000800, // 11
SPELL_ATTR_EX4_UNK12 = 0x00001000, // 12
SPELL_ATTR_EX4_UNK13 = 0x00002000, // 13
SPELL_ATTR_EX4_UNK14 = 0x00004000, // 14
SPELL_ATTR_EX4_UNK15 = 0x00008000, // 15
SPELL_ATTR_EX4_NOT_USABLE_IN_ARENA = 0x00010000, // 16 not usable in arena
SPELL_ATTR_EX4_USABLE_IN_ARENA = 0x00020000, // 17 usable in arena
SPELL_ATTR_EX4_UNK18 = 0x00040000, // 18
SPELL_ATTR_EX4_UNK19 = 0x00080000, // 19
SPELL_ATTR_EX4_NOT_CHECK_SELFCAST_POWER = 0x00100000, // 20 supersedes message "More powerful spell applied" for self casts.
SPELL_ATTR_EX4_UNK21 = 0x00200000, // 21
SPELL_ATTR_EX4_UNK22 = 0x00400000, // 22
SPELL_ATTR_EX4_UNK23 = 0x00800000, // 23
SPELL_ATTR_EX4_UNK24 = 0x01000000, // 24
SPELL_ATTR_EX4_UNK25 = 0x02000000, // 25 pet scaling auras
SPELL_ATTR_EX4_CAST_ONLY_IN_OUTLAND = 0x04000000, // 26 Can only be used in Outland.
SPELL_ATTR_EX4_UNK27 = 0x08000000, // 27
SPELL_ATTR_EX4_UNK28 = 0x10000000, // 28
SPELL_ATTR_EX4_UNK29 = 0x20000000, // 29
SPELL_ATTR_EX4_UNK30 = 0x40000000, // 30
SPELL_ATTR_EX4_UNK31 = 0x80000000 // 31
SPELL_ATTR4_UNK0 = 0x00000001, // 0
SPELL_ATTR4_UNK1 = 0x00000002, // 1 proc on finishing move?
SPELL_ATTR4_UNK2 = 0x00000004, // 2
SPELL_ATTR4_CANT_PROC_FROM_SELFCAST = 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_TRIGGERED = 0x00000080, // 7 spells forced to be triggered
SPELL_ATTR4_FIXED_DAMAGE = 0x00000100, // 8 decimate, share damage?
SPELL_ATTR4_UNK9 = 0x00000200, // 9
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_UNK13 = 0x00002000, // 13
SPELL_ATTR4_UNK14 = 0x00004000, // 14
SPELL_ATTR4_UNK15 = 0x00008000, // 15
SPELL_ATTR4_NOT_USABLE_IN_ARENA = 0x00010000, // 16 not usable in arena
SPELL_ATTR4_USABLE_IN_ARENA = 0x00020000, // 17 usable in arena
SPELL_ATTR4_UNK18 = 0x00040000, // 18
SPELL_ATTR4_UNK19 = 0x00080000, // 19
SPELL_ATTR4_NOT_CHECK_SELFCAST_POWER = 0x00100000, // 20 supersedes message "More powerful spell applied" for self casts.
SPELL_ATTR4_UNK21 = 0x00200000, // 21
SPELL_ATTR4_UNK22 = 0x00400000, // 22
SPELL_ATTR4_UNK23 = 0x00800000, // 23
SPELL_ATTR4_UNK24 = 0x01000000, // 24
SPELL_ATTR4_UNK25 = 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
SPELL_ATTR4_UNK29 = 0x20000000, // 29
SPELL_ATTR4_UNK30 = 0x40000000, // 30
SPELL_ATTR4_UNK31 = 0x80000000 // 31
};
enum SpellAttr5
{
SPELL_ATTR_EX5_UNK0 = 0x00000001, // 0
SPELL_ATTR_EX5_NO_REAGENT_WHILE_PREP = 0x00000002, // 1 not need reagents if UNIT_FLAG_PREPARATION
SPELL_ATTR_EX5_UNK2 = 0x00000004, // 2
SPELL_ATTR_EX5_USABLE_WHILE_STUNNED = 0x00000008, // 3 usable while stunned
SPELL_ATTR_EX5_UNK4 = 0x00000010, // 4
SPELL_ATTR_EX5_SINGLE_TARGET_SPELL = 0x00000020, // 5 Only one target can be apply at a time
SPELL_ATTR_EX5_UNK6 = 0x00000040, // 6
SPELL_ATTR_EX5_UNK7 = 0x00000080, // 7
SPELL_ATTR_EX5_UNK8 = 0x00000100, // 8
SPELL_ATTR_EX5_START_PERIODIC_AT_APPLY = 0x00000200, // 9 begin periodic tick at aura apply
SPELL_ATTR_EX5_UNK10 = 0x00000400, // 10
SPELL_ATTR_EX5_UNK11 = 0x00000800, // 11
SPELL_ATTR_EX5_UNK12 = 0x00001000, // 12
SPELL_ATTR_EX5_UNK13 = 0x00002000, // 13
SPELL_ATTR_EX5_UNK14 = 0x00004000, // 14
SPELL_ATTR_EX5_UNK15 = 0x00008000, // 15
SPELL_ATTR_EX5_UNK16 = 0x00010000, // 16
SPELL_ATTR_EX5_USABLE_WHILE_FEARED = 0x00020000, // 17 usable while feared
SPELL_ATTR_EX5_USABLE_WHILE_CONFUSED = 0x00040000, // 18 usable while confused
SPELL_ATTR_EX5_UNK19 = 0x00080000, // 19
SPELL_ATTR_EX5_UNK20 = 0x00100000, // 20
SPELL_ATTR_EX5_UNK21 = 0x00200000, // 21
SPELL_ATTR_EX5_UNK22 = 0x00400000, // 22
SPELL_ATTR_EX5_UNK23 = 0x00800000, // 23
SPELL_ATTR_EX5_UNK24 = 0x01000000, // 24
SPELL_ATTR_EX5_UNK25 = 0x02000000, // 25
SPELL_ATTR_EX5_UNK26 = 0x04000000, // 26
SPELL_ATTR_EX5_UNK27 = 0x08000000, // 27
SPELL_ATTR_EX5_UNK28 = 0x10000000, // 28
SPELL_ATTR_EX5_UNK29 = 0x20000000, // 29
SPELL_ATTR_EX5_UNK30 = 0x40000000, // 30
SPELL_ATTR_EX5_UNK31 = 0x80000000 // 31 Forces all nearby enemies to focus attacks caster
SPELL_ATTR5_UNK0 = 0x00000001, // 0
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_UNK10 = 0x00000400, // 10
SPELL_ATTR5_UNK11 = 0x00000800, // 11
SPELL_ATTR5_UNK12 = 0x00001000, // 12
SPELL_ATTR5_UNK13 = 0x00002000, // 13
SPELL_ATTR5_UNK14 = 0x00004000, // 14
SPELL_ATTR5_UNK15 = 0x00008000, // 15
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_UNK19 = 0x00080000, // 19
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
SPELL_ATTR5_UNK27 = 0x08000000, // 27
SPELL_ATTR5_UNK28 = 0x10000000, // 28
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_ATTR_EX6_UNK0 = 0x00000001, // 0 Only Move spell have this flag
SPELL_ATTR_EX6_ONLY_IN_ARENA = 0x00000002, // 1 only usable in arena
SPELL_ATTR_EX6_IGNORE_CASTER_AURAS = 0x00000004, // 2
SPELL_ATTR_EX6_UNK3 = 0x00000008, // 3
SPELL_ATTR_EX6_UNK4 = 0x00000010, // 4
SPELL_ATTR_EX6_UNK5 = 0x00000020, // 5
SPELL_ATTR_EX6_UNK6 = 0x00000040, // 6
SPELL_ATTR_EX6_UNK7 = 0x00000080, // 7
SPELL_ATTR_EX6_UNK8 = 0x00000100, // 8
SPELL_ATTR_EX6_UNK9 = 0x00000200, // 9
SPELL_ATTR_EX6_UNK10 = 0x00000400, // 10
SPELL_ATTR_EX6_NOT_IN_RAID_INSTANCE = 0x00000800, // 11 not usable in raid instance
SPELL_ATTR_EX6_UNK12 = 0x00001000, // 12
SPELL_ATTR_EX6_UNK13 = 0x00002000, // 13
SPELL_ATTR_EX6_UNK14 = 0x00004000, // 14
SPELL_ATTR_EX6_UNK15 = 0x00008000, // 15 not set in 3.0.3
SPELL_ATTR_EX6_UNK16 = 0x00010000, // 16
SPELL_ATTR_EX6_UNK17 = 0x00020000, // 17
SPELL_ATTR_EX6_UNK18 = 0x00040000, // 18
SPELL_ATTR_EX6_UNK19 = 0x00080000, // 19
SPELL_ATTR_EX6_UNK20 = 0x00100000, // 20
SPELL_ATTR_EX6_CLIENT_UI_TARGET_EFFECTS = 0x00200000, // 21 it's only client-side attribute
SPELL_ATTR_EX6_UNK22 = 0x00400000, // 22
SPELL_ATTR_EX6_UNK23 = 0x00800000, // 23 not set in 3.0.3
SPELL_ATTR_EX6_UNK24 = 0x01000000, // 24 not set in 3.0.3
SPELL_ATTR_EX6_UNK25 = 0x02000000, // 25 not set in 3.0.3
SPELL_ATTR_EX6_UNK26 = 0x04000000, // 26 not set in 3.0.3
SPELL_ATTR_EX6_UNK27 = 0x08000000, // 27 not set in 3.0.3
SPELL_ATTR_EX6_UNK28 = 0x10000000, // 28 not set in 3.0.3
SPELL_ATTR_EX6_UNK29 = 0x20000000, // 29 not set in 3.0.3
SPELL_ATTR_EX6_UNK30 = 0x40000000, // 30 not set in 3.0.3
SPELL_ATTR_EX6_UNK31 = 0x80000000 // 31 not set in 3.0.3
SPELL_ATTR6_UNK0 = 0x00000001, // 0 Only Move spell have this flag
SPELL_ATTR6_ONLY_IN_ARENA = 0x00000002, // 1 only usable in arena
SPELL_ATTR6_IGNORE_CASTER_AURAS = 0x00000004, // 2
SPELL_ATTR6_UNK3 = 0x00000008, // 3
SPELL_ATTR6_UNK4 = 0x00000010, // 4
SPELL_ATTR6_UNK5 = 0x00000020, // 5
SPELL_ATTR6_UNK6 = 0x00000040, // 6
SPELL_ATTR6_UNK7 = 0x00000080, // 7
SPELL_ATTR6_UNK8 = 0x00000100, // 8
SPELL_ATTR6_UNK9 = 0x00000200, // 9
SPELL_ATTR6_UNK10 = 0x00000400, // 10
SPELL_ATTR6_NOT_IN_RAID_INSTANCE = 0x00000800, // 11 not usable in raid instance
SPELL_ATTR6_UNK12 = 0x00001000, // 12
SPELL_ATTR6_UNK13 = 0x00002000, // 13
SPELL_ATTR6_UNK14 = 0x00004000, // 14
SPELL_ATTR6_UNK15 = 0x00008000, // 15 not set in 3.0.3
SPELL_ATTR6_UNK16 = 0x00010000, // 16
SPELL_ATTR6_UNK17 = 0x00020000, // 17
SPELL_ATTR6_UNK18 = 0x00040000, // 18
SPELL_ATTR6_UNK19 = 0x00080000, // 19
SPELL_ATTR6_UNK20 = 0x00100000, // 20
SPELL_ATTR6_CLIENT_UI_TARGET_EFFECTS = 0x00200000, // 21 it's only client-side attribute
SPELL_ATTR6_UNK22 = 0x00400000, // 22
SPELL_ATTR6_UNK23 = 0x00800000, // 23 not set in 3.0.3
SPELL_ATTR6_UNK24 = 0x01000000, // 24 not set in 3.0.3
SPELL_ATTR6_UNK25 = 0x02000000, // 25 not set in 3.0.3
SPELL_ATTR6_UNK26 = 0x04000000, // 26 not set in 3.0.3
SPELL_ATTR6_UNK27 = 0x08000000, // 27 not set in 3.0.3
SPELL_ATTR6_UNK28 = 0x10000000, // 28 not set in 3.0.3
SPELL_ATTR6_UNK29 = 0x20000000, // 29 not set in 3.0.3
SPELL_ATTR6_UNK30 = 0x40000000, // 30 not set in 3.0.3
SPELL_ATTR6_UNK31 = 0x80000000 // 31 not set in 3.0.3
};
enum SpellAttr7
{
SPELL_ATTR_EX7_UNK0 = 0x00000001, // 0 Shaman's new spells (Call of the ...), Feign Death.
SPELL_ATTR_EX7_UNK1 = 0x00000002, // 1 Not set in 3.2.2a.
SPELL_ATTR_EX7_REACTIVATE_AT_RESURRECT = 0x00000004, // 2 Paladin's auras and 65607 only.
SPELL_ATTR_EX7_DISABLED_CLIENT_SIDE = 0x00000008, // 3 used only by client to disable spells client-side. some sort of special player flag (0x40000) bypasses that restriction
SPELL_ATTR_EX7_UNK4 = 0x00000010, // 4 Only 66109 test spell.
SPELL_ATTR_EX7_SUMMON_PLAYER_TOTEM = 0x00000020, // 5 Only Shaman player totems.
SPELL_ATTR_EX7_UNK6 = 0x00000040, // 6 Dark Surge, Surge of Light, Burning Breath triggers (boss spells).
SPELL_ATTR_EX7_UNK7 = 0x00000080, // 7 66218 (Launch) spell.
SPELL_ATTR_EX7_UNK8 = 0x00000100, // 8 Teleports, mounts and other spells.
SPELL_ATTR_EX7_UNK9 = 0x00000200, // 9 Teleports, mounts and other spells.
SPELL_ATTR_EX7_DISPEL_CHARGES = 0x00000400, // 10 Dispel and Spellsteal individual charges instead of whole aura.
SPELL_ATTR_EX7_INTERRUPT_ONLY_NONPLAYER = 0x00000800, // 11 Only non-player casts interrupt, though Feral Charge - Bear has it.
SPELL_ATTR_EX7_UNK12 = 0x00001000, // 12 Not set in 3.2.2a.
SPELL_ATTR_EX7_UNK13 = 0x00002000, // 13 Not set in 3.2.2a.
SPELL_ATTR_EX7_UNK14 = 0x00004000, // 14 Only 52150 (Raise Dead - Pet) spell.
SPELL_ATTR_EX7_UNK15 = 0x00008000, // 15 Exorcism. Usable on players? 100% crit chance on undead and demons?
SPELL_ATTR_EX7_UNK16 = 0x00010000, // 16 Druid spells (29166, 54833, 64372, 68285).
SPELL_ATTR_EX7_UNK17 = 0x00020000, // 17 Only 27965 (Suicide) spell.
SPELL_ATTR_EX7_HAS_CHARGE_EFFECT = 0x00040000, // 18 Only spells that have Charge among effects.
SPELL_ATTR_EX7_ZONE_TELEPORT = 0x00080000 // 19 Teleports to specific zones.
SPELL_ATTR7_UNK0 = 0x00000001, // 0 Shaman's new spells (Call of the ...), Feign Death.
SPELL_ATTR7_UNK1 = 0x00000002, // 1 Not set in 3.2.2a.
SPELL_ATTR7_REACTIVATE_AT_RESURRECT = 0x00000004, // 2 Paladin's auras and 65607 only.
SPELL_ATTR7_DISABLED_CLIENT_SIDE = 0x00000008, // 3 used only by client to disable spells client-side. some sort of special player flag (0x40000) bypasses that restriction
SPELL_ATTR7_UNK4 = 0x00000010, // 4 Only 66109 test spell.
SPELL_ATTR7_SUMMON_PLAYER_TOTEM = 0x00000020, // 5 Only Shaman player totems.
SPELL_ATTR7_UNK6 = 0x00000040, // 6 Dark Surge, Surge of Light, Burning Breath triggers (boss spells).
SPELL_ATTR7_UNK7 = 0x00000080, // 7 66218 (Launch) spell.
SPELL_ATTR7_UNK8 = 0x00000100, // 8 Teleports, mounts and other spells.
SPELL_ATTR7_UNK9 = 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_UNK12 = 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_UNK16 = 0x00010000, // 16 Druid spells (29166, 54833, 64372, 68285).
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.
};
#define MIN_TALENT_SPEC 0