aboutsummaryrefslogtreecommitdiff
path: root/src/server/shared/SharedDefines.h
diff options
context:
space:
mode:
authorTreeston <treeston.mmoc@gmail.com>2018-12-11 14:38:12 +0100
committerTreeston <treeston.mmoc@gmail.com>2018-12-11 14:38:50 +0100
commit3acba6dded14afdf84f2ab51ca3b6cec92bdb092 (patch)
tree5f7d1d7fb12f86a36c0df8250b6b3938e52ab6be /src/server/shared/SharedDefines.h
parentdf641e993ac4e058c55ec97cceb19cf397a51105 (diff)
Core/Misc: Explicit typing for SpellAttrN enums, add nicer text to UNKs, and restore some relevant info from old comments. Final one of these.
Diffstat (limited to 'src/server/shared/SharedDefines.h')
-rw-r--r--src/server/shared/SharedDefines.h206
1 files changed, 103 insertions, 103 deletions
diff --git a/src/server/shared/SharedDefines.h b/src/server/shared/SharedDefines.h
index 4476089f059..b27f2f108d9 100644
--- a/src/server/shared/SharedDefines.h
+++ b/src/server/shared/SharedDefines.h
@@ -377,9 +377,9 @@ uint32 constexpr QuestDifficultyColors[MAX_QUEST_DIFFICULTY] = {
// ***********************************
// EnumUtils: DESCRIBE THIS
-enum SpellAttr0
+enum SpellAttr0 : uint32
{
- SPELL_ATTR0_UNK0 = 0x00000001,
+ SPELL_ATTR0_UNK0 = 0x00000001, // TITLE Unknown attribute 0@Attr0
SPELL_ATTR0_REQ_AMMO = 0x00000002, // TITLE Treat as ranged attack DESCRIPTION Use ammo, ranged attack range modifiers, ranged haste, etc.
SPELL_ATTR0_ON_NEXT_SWING = 0x00000004, // TITLE On next melee (type 1) DESCRIPTION Both "on next swing" attributes have identical handling in server & client
SPELL_ATTR0_IS_REPLENISHMENT = 0x00000008, // TITLE Replenishment (client only)
@@ -390,7 +390,7 @@ enum SpellAttr0
SPELL_ATTR0_HIDE_IN_COMBAT_LOG = 0x00000100, // TITLE Hidden in combat log (client only) DESCRIPTION Spell will not appear in combat logs
SPELL_ATTR0_TARGET_MAINHAND_ITEM = 0x00000200, // TITLE Auto-target mainhand item (client only) DESCRIPTION Client will automatically select main-hand item as cast target
SPELL_ATTR0_ON_NEXT_SWING_2 = 0x00000400, // TITLE On next melee (type 2) DESCRIPTION Both "on next swing" attributes have identical handling in server & client
- SPELL_ATTR0_UNK11 = 0x00000800,
+ SPELL_ATTR0_UNK11 = 0x00000800, // TITLE Unknown attribute 11@Attr0
SPELL_ATTR0_DAYTIME_ONLY = 0x00001000, // TITLE Only usable during daytime (unused)
SPELL_ATTR0_NIGHT_ONLY = 0x00002000, // TITLE Only usable during nighttime (unused)
SPELL_ATTR0_INDOORS_ONLY = 0x00004000, // TITLE Only usable indoors
@@ -414,89 +414,89 @@ enum SpellAttr0
};
// EnumUtils: DESCRIBE THIS
-enum SpellAttr1
+enum SpellAttr1 : uint32
{
SPELL_ATTR1_DISMISS_PET = 0x00000001, // TITLE Dismiss Pet on cast DESCRIPTION Without this attribute, summoning spells will fail if caster already has a pet
SPELL_ATTR1_DRAIN_ALL_POWER = 0x00000002, // TITLE Drain all power DESCRIPTION Ignores listed power cost and drains entire pool instead
SPELL_ATTR1_CHANNELED_1 = 0x00000004, // TITLE Channeled (type 1) DESCRIPTION Both "channeled" attributes have identical handling in server & client
SPELL_ATTR1_CANT_BE_REDIRECTED = 0x00000008, // TITLE Ignore redirection effects DESCRIPTION Spell will not be attracted by SPELL_MAGNET auras (Grounding Totem)
- SPELL_ATTR1_UNK4 = 0x00000010,
+ SPELL_ATTR1_UNK4 = 0x00000010, // TITLE Unknown attribute 4@Attr1
SPELL_ATTR1_NOT_BREAK_STEALTH = 0x00000020, // TITLE Does not break stealth
SPELL_ATTR1_CHANNELED_2 = 0x00000040, // TITLE Channeled (type 2) DESCRIPTION Both "channeled" attributes have identical handling in server & client
SPELL_ATTR1_CANT_BE_REFLECTED = 0x00000080, // TITLE Ignore reflection effects DESCRIPTION Spell will pierce through Spell Reflection and similar
SPELL_ATTR1_CANT_TARGET_IN_COMBAT = 0x00000100, // TITLE Target cannot be in combat
SPELL_ATTR1_MELEE_COMBAT_START = 0x00000200, // TITLE Starts auto-attack (client only) DESCRIPTION Caster will begin auto-attacking the target on cast
SPELL_ATTR1_NO_THREAT = 0x00000400, // TITLE Does not generate threat DESCRIPTION Also does not cause target to engage
- SPELL_ATTR1_UNK11 = 0x00000800,
+ SPELL_ATTR1_UNK11 = 0x00000800, // TITLE Unknown attribute 11@Attr1 DESCRIPTION Aura?
SPELL_ATTR1_IS_PICKPOCKET = 0x00001000, // TITLE Pickpocket (client only)
SPELL_ATTR1_FARSIGHT = 0x00002000, // TITLE Farsight aura (client only)
SPELL_ATTR1_CHANNEL_TRACK_TARGET = 0x00004000, // TITLE Track target while channeling DESCRIPTION While channeling, adjust facing to face target
SPELL_ATTR1_DISPEL_AURAS_ON_IMMUNITY = 0x00008000, // TITLE Immunity cancels preapplied auras DESCRIPTION For immunity spells, cancel all auras that this spell would make you immune to when the spell is applied
SPELL_ATTR1_UNAFFECTED_BY_SCHOOL_IMMUNE = 0x00010000, // TITLE Unaffected by school immunities DESCRIPTION Will not pierce Divine Shield, Ice Block and other full invulnerabilities
SPELL_ATTR1_UNAUTOCASTABLE_BY_PET = 0x00020000, // TITLE Cannot be autocast by pet
- SPELL_ATTR1_UNK18 = 0x00040000,
+ SPELL_ATTR1_UNK18 = 0x00040000, // TITLE Unknown attribute 18@Attr1 DESCRIPTION Stun, Polymorph, Daze, Hex - CC?
SPELL_ATTR1_CANT_TARGET_SELF = 0x00080000, // TITLE Cannot be self-cast
SPELL_ATTR1_REQ_COMBO_POINTS1 = 0x00100000, // TITLE Requires combo points (type 1)
- SPELL_ATTR1_UNK21 = 0x00200000,
+ SPELL_ATTR1_UNK21 = 0x00200000, // TITLE Unknown attribute 21@Attr1
SPELL_ATTR1_REQ_COMBO_POINTS2 = 0x00400000, // TITLE Requires combo points (type 2)
- SPELL_ATTR1_UNK23 = 0x00800000,
+ SPELL_ATTR1_UNK23 = 0x00800000, // TITLE Unknwon attribute 23@Attr1
SPELL_ATTR1_IS_FISHING = 0x01000000, // TITLE Fishing (client only)
- SPELL_ATTR1_UNK25 = 0x02000000,
- SPELL_ATTR1_UNK26 = 0x04000000,
- SPELL_ATTR1_UNK27 = 0x08000000,
+ SPELL_ATTR1_UNK25 = 0x02000000, // TITLE Unknown attribute 25@Attr1
+ SPELL_ATTR1_UNK26 = 0x04000000, // TITLE Unknown attribute 26@Attr1 DESCRIPTION Related to [target=focus] and [target=mouseover] macros?
+ SPELL_ATTR1_UNK27 = 0x08000000, // TITLE Unknown attribute 27@Attr1 DESCRIPTION Melee spell?
SPELL_ATTR1_DONT_DISPLAY_IN_AURA_BAR = 0x10000000, // TITLE Hide in aura bar (client only)
SPELL_ATTR1_CHANNEL_DISPLAY_SPELL_NAME = 0x20000000, // TITLE Show spell name during channel (client only)
SPELL_ATTR1_ENABLE_AT_DODGE = 0x40000000, // TITLE Enable at dodge
- SPELL_ATTR1_UNK31 = 0x80000000
+ SPELL_ATTR1_UNK31 = 0x80000000 // TITLE Unknown attribute 31@Attr1
};
// EnumUtils: DESCRIBE THIS
-enum SpellAttr2
+enum SpellAttr2 : uint32
{
SPELL_ATTR2_CAN_TARGET_DEAD = 0x00000001, // TITLE Can target dead players or corpses
- SPELL_ATTR2_UNK1 = 0x00000002,
+ SPELL_ATTR2_UNK1 = 0x00000002, // TITLE Unknown attribute 1@Attr2
SPELL_ATTR2_CAN_TARGET_NOT_IN_LOS = 0x00000004, // TITLE Ignore Line of Sight
SPELL_ATTR2_UNK3 = 0x00000008, // TITLE Ignore aura scaling
SPELL_ATTR2_DISPLAY_IN_STANCE_BAR = 0x00000010, // TITLE Show in stance bar (client only)
SPELL_ATTR2_AUTOREPEAT_FLAG = 0x00000020, // TITLE Ranged auto-attack spell
SPELL_ATTR2_CANT_TARGET_TAPPED = 0x00000040, // TITLE Cannot target others' tapped units DESCRIPTION Can only target untapped units, or those tapped by caster
- SPELL_ATTR2_UNK7 = 0x00000080,
- SPELL_ATTR2_UNK8 = 0x00000100,
- SPELL_ATTR2_UNK9 = 0x00000200,
- SPELL_ATTR2_UNK10 = 0x00000400,
+ SPELL_ATTR2_UNK7 = 0x00000080, // TITLE Unknown attribute 7@Attr2
+ SPELL_ATTR2_UNK8 = 0x00000100, // TITLE Unknown attribute 8@Attr2
+ SPELL_ATTR2_UNK9 = 0x00000200, // TITLE Unknown attribute 9@Attr2
+ SPELL_ATTR2_UNK10 = 0x00000400, // TITLE Unknown attribute 10@Attr2 DESCRIPTION Related to taming?
SPELL_ATTR2_HEALTH_FUNNEL = 0x00000800, // TITLE Health Funnel
- SPELL_ATTR2_UNK12 = 0x00001000,
+ SPELL_ATTR2_UNK12 = 0x00001000, // TITLE Unknown attribute 12@Attr2
SPELL_ATTR2_PRESERVE_ENCHANT_IN_ARENA = 0x00002000, // TITLE Enchant persists when entering arena
- SPELL_ATTR2_UNK14 = 0x00004000,
- SPELL_ATTR2_UNK15 = 0x00008000,
+ SPELL_ATTR2_UNK14 = 0x00004000, // TITLE Unknown attribute 14@Attr2
+ SPELL_ATTR2_UNK15 = 0x00008000, // TITLE Unknown attribute 15@Attr2
SPELL_ATTR2_TAME_BEAST = 0x00010000, // TITLE Tame Beast
SPELL_ATTR2_NOT_RESET_AUTO_ACTIONS = 0x00020000, // TITLE Don't reset swing timer DESCRIPTION Does not reset melee/ranged autoattack timer on cast
SPELL_ATTR2_REQ_DEAD_PET = 0x00040000, // TITLE Requires dead pet
SPELL_ATTR2_NOT_NEED_SHAPESHIFT = 0x00080000, // TITLE Also allow outside shapeshift DESCRIPTION Even if Stances are nonzero, allow spell to be cast outside of shapeshift (though not in a different shapeshift)
- SPELL_ATTR2_UNK20 = 0x00100000,
- SPELL_ATTR2_DAMAGE_REDUCED_SHIELD = 0x00200000,
- SPELL_ATTR2_UNK22 = 0x00400000,
+ SPELL_ATTR2_UNK20 = 0x00100000, // TITLE Unknown attribute 20@Attr2
+ SPELL_ATTR2_DAMAGE_REDUCED_SHIELD = 0x00200000, // TITLE Damage reduction ability DESCRIPTION Causes BG flags to be dropped if combined with ATTR1_DISPEL_AURAS_ON_IMMUNITY
+ SPELL_ATTR2_UNK22 = 0x00400000, // TITLE Unknown attribute 22@Attr2
SPELL_ATTR2_IS_ARCANE_CONCENTRATION = 0x00800000, // TITLE Arcane Concentration
- SPELL_ATTR2_UNK24 = 0x01000000,
- SPELL_ATTR2_UNK25 = 0x02000000,
+ SPELL_ATTR2_UNK24 = 0x01000000, // TITLE Unknown attribute 24@Attr2
+ SPELL_ATTR2_UNK25 = 0x02000000, // TITLE Unknown attribute 25@Attr2
SPELL_ATTR2_UNAFFECTED_BY_AURA_SCHOOL_IMMUNE = 0x04000000, // TITLE Pierce aura application immunities DESCRIPTION Allow aura to be applied despite target being immune to new aura applications
- SPELL_ATTR2_UNK27 = 0x08000000,
- SPELL_ATTR2_UNK28 = 0x10000000,
+ SPELL_ATTR2_UNK27 = 0x08000000, // TITLE Unknown attribute 27@Attr2
+ SPELL_ATTR2_UNK28 = 0x10000000, // TITLE Unknown attribute 28@Attr2
SPELL_ATTR2_CANT_CRIT = 0x20000000, // TITLE Cannot critically strike
SPELL_ATTR2_TRIGGERED_CAN_TRIGGER_PROC = 0x40000000, // TITLE Allow triggered spell to trigger (type 1) DESCRIPTION Without this attribute, any triggered spell will be unable to trigger other auras' procs
SPELL_ATTR2_FOOD_BUFF = 0x80000000 // TITLE Food buff (client only)
};
// EnumUtils: DESCRIBE THIS
-enum SpellAttr3
+enum SpellAttr3 : uint32
{
- SPELL_ATTR3_UNK0 = 0x00000001,
+ SPELL_ATTR3_UNK0 = 0x00000001, // TITLE Unknown attribute 0@Attr3
SPELL_ATTR3_IGNORE_PROC_SUBCLASS_MASK = 0x00000002, // 1 Ignores subclass mask check when checking proc
- SPELL_ATTR3_UNK2 = 0x00000004,
+ SPELL_ATTR3_UNK2 = 0x00000004, // TITLE Unknown attribute 2@Attr3
SPELL_ATTR3_BLOCKABLE_SPELL = 0x00000008, // TITLE Blockable spell
SPELL_ATTR3_IGNORE_RESURRECTION_TIMER = 0x00000010, // TITLE Ignore resurrection timer
- SPELL_ATTR3_UNK5 = 0x00000020,
- SPELL_ATTR3_UNK6 = 0x00000040,
+ SPELL_ATTR3_UNK5 = 0x00000020, // TITLE Unknown attribute 5@Attr3
+ SPELL_ATTR3_UNK6 = 0x00000040, // TITLE Unknown attribute 6@Attr3
SPELL_ATTR3_STACK_FOR_DIFF_CASTERS = 0x00000080, // TITLE Stack separately for each caster
SPELL_ATTR3_ONLY_TARGET_PLAYERS = 0x00000100, // TITLE Can only target players
SPELL_ATTR3_TRIGGERED_CAN_TRIGGER_PROC_2 = 0x00000200, // TITLE Allow triggered spell to trigger (type 2) DESCRIPTION Without this attribute, any triggered spell will be unable to trigger other auras' procs
@@ -505,170 +505,170 @@ enum SpellAttr3
SPELL_ATTR3_ONLY_TARGET_GHOSTS = 0x00001000, // TITLE Can only target ghost players
SPELL_ATTR3_DONT_DISPLAY_CHANNEL_BAR = 0x00002000, // TITLE Do not display channel bar (client only)
SPELL_ATTR3_IS_HONORLESS_TARGET = 0x00004000, // TITLE Honorless Target
- SPELL_ATTR3_UNK15 = 0x00008000,
+ SPELL_ATTR3_UNK15 = 0x00008000, // TITLE Unknown attribute 15@Attr3 DESCRIPTION Auto Shoot, Shoot, Throw - ranged normal attack attribute?
SPELL_ATTR3_CANT_TRIGGER_PROC = 0x00010000, // TITLE Cannot trigger procs
SPELL_ATTR3_NO_INITIAL_AGGRO = 0x00020000, // TITLE No initial aggro
SPELL_ATTR3_IGNORE_HIT_RESULT = 0x00040000, // TITLE Ignore hit result DESCRIPTION Spell cannot miss, or be dodged/parried/blocked
SPELL_ATTR3_DISABLE_PROC = 0x00080000, // TITLE Cannot trigger spells during aura proc
SPELL_ATTR3_DEATH_PERSISTENT = 0x00100000, // TITLE Persists through death
- SPELL_ATTR3_UNK21 = 0x00200000,
+ SPELL_ATTR3_UNK21 = 0x00200000, // TITLE Unknown attribute 21@Attr3
SPELL_ATTR3_REQ_WAND = 0x00400000, // TITLE Requires equipped Wand
- SPELL_ATTR3_UNK23 = 0x00800000,
+ SPELL_ATTR3_UNK23 = 0x00800000, // TITLE Unknown attribute 23@Attr3
SPELL_ATTR3_REQ_OFFHAND = 0x01000000, // TITLE Requires offhand weapon
SPELL_ATTR3_TREAT_AS_PERIODIC = 0x02000000, // TITLE Treat as periodic effect
SPELL_ATTR3_CAN_PROC_WITH_TRIGGERED = 0x04000000, // TITLE Can trigger from triggered spells
SPELL_ATTR3_DRAIN_SOUL = 0x08000000, // TITLE Drain Soul
- SPELL_ATTR3_UNK28 = 0x10000000,
+ SPELL_ATTR3_UNK28 = 0x10000000, // TITLE Unknown attribute 28@Attr3
SPELL_ATTR3_NO_DONE_BONUS = 0x20000000, // TITLE Damage dealt is unaffected by modifiers
SPELL_ATTR3_DONT_DISPLAY_RANGE = 0x40000000, // TITLE Do not show range in tooltip (client only)
- SPELL_ATTR3_UNK31 = 0x80000000
+ SPELL_ATTR3_UNK31 = 0x80000000 // TITLE Unknown attribute 31@Attr3
};
// EnumUtils: DESCRIBE THIS
-enum SpellAttr4
+enum SpellAttr4 : uint32
{
SPELL_ATTR4_IGNORE_RESISTANCES = 0x00000001, // TITLE Cannot be resisted
SPELL_ATTR4_PROC_ONLY_ON_CASTER = 0x00000002, // TITLE Only proc on self-cast
SPELL_ATTR4_FADES_WHILE_LOGGED_OUT = 0x00000004, // TITLE Buff expires while offline DESCRIPTION Debuffs (except Resurrection Sickness) will automatically do this
- SPELL_ATTR4_UNK3 = 0x00000008,
+ SPELL_ATTR4_UNK3 = 0x00000008, // TITLE Unknown attribute 3@Attr4
SPELL_ATTR4_UNK4 = 0x00000010, // TITLE Treat as delayed spell
- SPELL_ATTR4_UNK5 = 0x00000020,
+ SPELL_ATTR4_UNK5 = 0x00000020, // TITLE Unknown attribute 5@Attr4
SPELL_ATTR4_NOT_STEALABLE = 0x00000040, // TITLE Aura cannot be stolen
SPELL_ATTR4_CAN_CAST_WHILE_CASTING = 0x00000080, // TITLE Can be cast while casting DESCRIPTION Ignores already in-progress cast and still casts
SPELL_ATTR4_FIXED_DAMAGE = 0x00000100, // TITLE Deals fixed damage
SPELL_ATTR4_TRIGGER_ACTIVATE = 0x00000200, // TITLE Spell is initially disabled (client only)
SPELL_ATTR4_SPELL_VS_EXTEND_COST = 0x00000400, // TITLE Attack speed modifies cost DESCRIPTION Adds 10 to power cost for each 1s of weapon speed
- SPELL_ATTR4_UNK11 = 0x00000800,
- SPELL_ATTR4_UNK12 = 0x00001000,
- SPELL_ATTR4_UNK13 = 0x00002000,
+ SPELL_ATTR4_UNK11 = 0x00000800, // TITLE Unknown attribute 11@Attr4
+ SPELL_ATTR4_UNK12 = 0x00001000, // TITLE Unknown attribute 12@Attr4
+ SPELL_ATTR4_UNK13 = 0x00002000, // TITLE Unknown attribute 13@Attr4
SPELL_ATTR4_DAMAGE_DOESNT_BREAK_AURAS = 0x00004000, // TITLE Damage does not break auras
- SPELL_ATTR4_UNK15 = 0x00008000,
+ SPELL_ATTR4_UNK15 = 0x00008000, // TITLE Unknown attribute 15@Attr4
SPELL_ATTR4_NOT_USABLE_IN_ARENA = 0x00010000, // TITLE Not usable in arena DESCRIPTION Makes spell unusable despite CD <= 10min
SPELL_ATTR4_USABLE_IN_ARENA = 0x00020000, // TITLE Usable in arena DESCRIPTION Makes spell usable despite CD > 10min
SPELL_ATTR4_AREA_TARGET_CHAIN = 0x00040000, // TITLE Chain area targets DESCRIPTION [NYI] Hits area targets over time instead of all at once
- SPELL_ATTR4_UNK19 = 0x00080000,
+ SPELL_ATTR4_UNK19 = 0x00080000, // TITLE Unknown attribute 19@Attr4
SPELL_ATTR4_NOT_CHECK_SELFCAST_POWER = 0x00100000, // TITLE Allow self-cast to override stronger aura (client only)
SPELL_ATTR4_UNK21 = 0x00200000, // TITLE Keep when entering arena
- SPELL_ATTR4_UNK22 = 0x00400000,
+ SPELL_ATTR4_UNK22 = 0x00400000, // TITLE Unknown attribute 22@Attr4
SPELL_ATTR4_CANT_TRIGGER_ITEM_SPELLS = 0x00800000, // TITLE Cannot trigger item spells
- SPELL_ATTR4_UNK24 = 0x01000000,
+ SPELL_ATTR4_UNK24 = 0x01000000, // TITLE Unknown attribute 24@Attr4 DESCRIPTION Shoot-type spell?
SPELL_ATTR4_IS_PET_SCALING = 0x02000000, // TITLE Pet Scaling aura
SPELL_ATTR4_CAST_ONLY_IN_OUTLAND = 0x04000000, // TITLE Only in Outland/Northrend
SPELL_ATTR4_INHERIT_CRIT_FROM_AURA = 0x08000000, // TITLE Inherit critical chance from triggering aura
- SPELL_ATTR4_UNK28 = 0x10000000,
- SPELL_ATTR4_UNK29 = 0x20000000,
- SPELL_ATTR4_UNK30 = 0x40000000,
- SPELL_ATTR4_UNK31 = 0x80000000
+ SPELL_ATTR4_UNK28 = 0x10000000, // TITLE Unknown attribute 28@Attr4
+ SPELL_ATTR4_UNK29 = 0x20000000, // TITLE Unknown attribute 29@Attr4
+ SPELL_ATTR4_UNK30 = 0x40000000, // TITLE Unknown attribute 30@Attr4
+ SPELL_ATTR4_UNK31 = 0x80000000 // TITLE Unknown attribute 31@Attr4
};
// EnumUtils: DESCRIBE THIS
-enum SpellAttr5
+enum SpellAttr5 : uint32
{
SPELL_ATTR5_CAN_CHANNEL_WHEN_MOVING = 0x00000001, // TITLE Can be channeled while moving
SPELL_ATTR5_NO_REAGENT_WHILE_PREP = 0x00000002, // TITLE No reagents during arena preparation
SPELL_ATTR5_REMOVE_ON_ARENA_ENTER = 0x00000004, // TITLE Remove when entering arena DESCRIPTION Force this aura to be removed on entering arena, regardless of other properties
SPELL_ATTR5_USABLE_WHILE_STUNNED = 0x00000008, // TITLE Usable while stunned
- SPELL_ATTR5_UNK4 = 0x00000010,
+ SPELL_ATTR5_UNK4 = 0x00000010, // TITLE Unknown attribute 4@Attr5
SPELL_ATTR5_SINGLE_TARGET_SPELL = 0x00000020, // TITLE Single-target aura DESCRIPTION Remove previous application to another unit if applied
- SPELL_ATTR5_UNK6 = 0x00000040,
- SPELL_ATTR5_UNK7 = 0x00000080,
- SPELL_ATTR5_UNK8 = 0x00000100,
+ SPELL_ATTR5_UNK6 = 0x00000040, // TITLE Unknown attribute 6@Attr5
+ SPELL_ATTR5_UNK7 = 0x00000080, // TITLE Unknown attribute 7@Attr5
+ SPELL_ATTR5_UNK8 = 0x00000100, // TITLE Unknown attribute 8@Attr5
SPELL_ATTR5_START_PERIODIC_AT_APPLY = 0x00000200, // TITLE Immediately do periodic tick on apply
SPELL_ATTR5_HIDE_DURATION = 0x00000400, // TITLE Do not send aura duration to client
SPELL_ATTR5_ALLOW_TARGET_OF_TARGET_AS_TARGET = 0x00000800, // TITLE Auto-target target of target (client only)
- SPELL_ATTR5_UNK12 = 0x00001000,
+ SPELL_ATTR5_UNK12 = 0x00001000, // TITLE Unknown attribute 12@Attr5 DESCRIPTION Cleave related?
SPELL_ATTR5_HASTE_AFFECT_DURATION = 0x00002000, // TITLE Duration scales with Haste Rating
- SPELL_ATTR5_UNK14 = 0x00004000,
- SPELL_ATTR5_UNK15 = 0x00008000,
- SPELL_ATTR5_UNK16 = 0x00010000,
+ SPELL_ATTR5_UNK14 = 0x00004000, // TITLE Unknown attribute 14@Attr5
+ SPELL_ATTR5_UNK15 = 0x00008000, // TITLE Unknown attribute 15@Attr5 DESCRIPTION Related to multi-target spells?
+ SPELL_ATTR5_UNK16 = 0x00010000, // TITLE Unknown attribute 16@Attr5
SPELL_ATTR5_USABLE_WHILE_FEARED = 0x00020000, // TITLE Usable while feared
SPELL_ATTR5_USABLE_WHILE_CONFUSED = 0x00040000, // TITLE Usable while confused
SPELL_ATTR5_DONT_TURN_DURING_CAST = 0x00080000, // TITLE Do not auto-turn while casting
- SPELL_ATTR5_UNK20 = 0x00100000,
- SPELL_ATTR5_UNK21 = 0x00200000,
- SPELL_ATTR5_UNK22 = 0x00400000,
- SPELL_ATTR5_UNK23 = 0x00800000,
- SPELL_ATTR5_UNK24 = 0x01000000,
- SPELL_ATTR5_UNK25 = 0x02000000,
+ SPELL_ATTR5_UNK20 = 0x00100000, // TITLE Unknown attribute 20@Attr5
+ SPELL_ATTR5_UNK21 = 0x00200000, // TITLE Unknown attribute 21@Attr5
+ SPELL_ATTR5_UNK22 = 0x00400000, // TITLE Unknown attribute 22@Attr5
+ SPELL_ATTR5_UNK23 = 0x00800000, // TITLE Unknown attribute 23@Attr5
+ SPELL_ATTR5_UNK24 = 0x01000000, // TITLE Unknown attribute 24@Attr5
+ SPELL_ATTR5_UNK25 = 0x02000000, // TITLE Unknown attribute 25@Attr5
SPELL_ATTR5_SKIP_CHECKCAST_LOS_CHECK = 0x04000000, // TITLE Ignore line of sight checks
SPELL_ATTR5_DONT_SHOW_AURA_IF_SELF_CAST = 0x08000000, // TITLE Don't show aura if self-cast (client only)
SPELL_ATTR5_DONT_SHOW_AURA_IF_NOT_SELF_CAST = 0x10000000, // TITLE Don't show aura unless self-cast (client only)
- SPELL_ATTR5_UNK29 = 0x20000000,
- SPELL_ATTR5_UNK30 = 0x40000000,
- SPELL_ATTR5_UNK31 = 0x80000000
+ SPELL_ATTR5_UNK29 = 0x20000000, // TITLE Unknown attribute 29@Attr5
+ SPELL_ATTR5_UNK30 = 0x40000000, // TITLE Unknown attribute 30@Attr5
+ SPELL_ATTR5_UNK31 = 0x80000000 // TITLE Unknown attribute 31@Attr5 DESCRIPTION Forces nearby enemies to attack caster?
};
// EnumUtils: DESCRIBE THIS
-enum SpellAttr6
+enum SpellAttr6 : uint32
{
SPELL_ATTR6_DONT_DISPLAY_COOLDOWN = 0x00000001, // TITLE Don't display cooldown (client only)
SPELL_ATTR6_ONLY_IN_ARENA = 0x00000002, // TITLE Only usable in arena
SPELL_ATTR6_IGNORE_CASTER_AURAS = 0x00000004, // TITLE Ignore all preventing caster auras
SPELL_ATTR6_ASSIST_IGNORE_IMMUNE_FLAG = 0x00000008, // TITLE Ignore immunity flags when assisting
- SPELL_ATTR6_UNK4 = 0x00000010,
+ SPELL_ATTR6_UNK4 = 0x00000010, // TITLE Unknown attribute 4@Attr6
SPELL_ATTR6_DONT_CONSUME_PROC_CHARGES = 0x00000020, // TITLE Don't consume proc charges
SPELL_ATTR6_USE_SPELL_CAST_EVENT = 0x00000040, // TITLE Generate spell_cast event instead of aura_start (client only)
- SPELL_ATTR6_UNK7 = 0x00000080,
+ SPELL_ATTR6_UNK7 = 0x00000080, // TITLE Unknown attribute 7@Attr6
SPELL_ATTR6_CANT_TARGET_CROWD_CONTROLLED = 0x00000100, // TITLE Do not implicitly target in CC DESCRIPTION Implicit targeting (chaining and area targeting) will not impact crowd controlled targets
- SPELL_ATTR6_UNK9 = 0x00000200,
+ SPELL_ATTR6_UNK9 = 0x00000200, // TITLE Unknown attribute 9@Attr6
SPELL_ATTR6_CAN_TARGET_POSSESSED_FRIENDS = 0x00000400, // TITLE Can target possessed friends DESCRIPTION [NYI]
SPELL_ATTR6_NOT_IN_RAID_INSTANCE = 0x00000800, // TITLE Unusable in raid instances
SPELL_ATTR6_CASTABLE_WHILE_ON_VEHICLE = 0x00001000, // TITLE Castable while caster is on vehicle
SPELL_ATTR6_CAN_TARGET_INVISIBLE = 0x00002000, // TITLE Can target invisible units
- SPELL_ATTR6_UNK14 = 0x00004000,
- SPELL_ATTR6_UNK15 = 0x00008000,
- SPELL_ATTR6_UNK16 = 0x00010000,
- SPELL_ATTR6_UNK17 = 0x00020000,
+ SPELL_ATTR6_UNK14 = 0x00004000, // TITLE Unknown attribute 14@Attr6
+ SPELL_ATTR6_UNK15 = 0x00008000, // TITLE Unknown attribute 15@Attr6
+ SPELL_ATTR6_UNK16 = 0x00010000, // TITLE Unknown attribute 16@Attr6
+ SPELL_ATTR6_UNK17 = 0x00020000, // TITLE Unknown attribute 17@Attr6 DESCRIPTION Mount related?
SPELL_ATTR6_CAST_BY_CHARMER = 0x00040000, // TITLE Spell is cast by charmer DESCRIPTION Client will prevent casting if not possessed, charmer will be caster for all intents and purposes
- SPELL_ATTR6_UNK19 = 0x00080000,
+ SPELL_ATTR6_UNK19 = 0x00080000, // TITLE Unknown attribute 19@Attr6
SPELL_ATTR6_ONLY_VISIBLE_TO_CASTER = 0x00100000, // TITLE Only visible to caster (client only)
SPELL_ATTR6_CLIENT_UI_TARGET_EFFECTS = 0x00200000, // TITLE Client UI target effects (client only)
- SPELL_ATTR6_UNK22 = 0x00400000,
- SPELL_ATTR6_UNK23 = 0x00800000,
+ SPELL_ATTR6_UNK22 = 0x00400000, // TITLE Unknown attribute 22@Attr6
+ SPELL_ATTR6_UNK23 = 0x00800000, // TITLE Unknown attribute 23@Attr6
SPELL_ATTR6_CAN_TARGET_UNTARGETABLE = 0x01000000, // TITLE Can target untargetable units
SPELL_ATTR6_NOT_RESET_SWING_IF_INSTANT = 0x02000000, // TITLE Do not reset swing timer if cast time is instant
- SPELL_ATTR6_UNK26 = 0x04000000,
+ SPELL_ATTR6_UNK26 = 0x04000000, // TITLE Unknown attribute 26@Attr6 DESCRIPTION Player castable buff?
SPELL_ATTR6_LIMIT_PCT_HEALING_MODS = 0x08000000, // TITLE Limit applicable %healing modifiers DESCRIPTION This prevents certain healing modifiers from applying - see implementation if you really care about details
- SPELL_ATTR6_UNK28 = 0x10000000,
+ SPELL_ATTR6_UNK28 = 0x10000000, // TITLE Unknown attribute 28@Attr6 DESCRIPTION Death grip?
SPELL_ATTR6_LIMIT_PCT_DAMAGE_MODS = 0x20000000, // TITLE Limit applicable %damage modifiers DESCRIPTION This prevents certain damage modifiers from applying - see implementation if you really care about details
- SPELL_ATTR6_UNK30 = 0x40000000,
+ SPELL_ATTR6_UNK30 = 0x40000000, // TITLE Unknown attribute 30@Attr6
SPELL_ATTR6_IGNORE_CATEGORY_COOLDOWN_MODS = 0x80000000 // TITLE Ignore cooldown modifiers for category cooldown
};
// EnumUtils: DESCRIBE THIS
-enum SpellAttr7
+enum SpellAttr7 : uint32
{
- SPELL_ATTR7_UNK0 = 0x00000001,
+ SPELL_ATTR7_UNK0 = 0x00000001, // TITLE Unknown attribute 0@Attr7
SPELL_ATTR7_IGNORE_DURATION_MODS = 0x00000002, // TITLE Ignore duration modifiers
SPELL_ATTR7_REACTIVATE_AT_RESURRECT = 0x00000004, // TITLE Reactivate at resurrect (client only)
SPELL_ATTR7_IS_CHEAT_SPELL = 0x00000008, // TITLE Is cheat spell DESCRIPTION Cannot cast if caster doesn't have UnitFlag2 & UNIT_FLAG2_ALLOW_CHEAT_SPELLS
- SPELL_ATTR7_UNK4 = 0x00000010,
+ SPELL_ATTR7_UNK4 = 0x00000010, // TITLE Unknown attribute 4@Attr7 DESCRIPTION Soulstone related?
SPELL_ATTR7_SUMMON_PLAYER_TOTEM = 0x00000020, // TITLE Summons player-owned totem
SPELL_ATTR7_NO_PUSHBACK_ON_DAMAGE = 0x00000040, // TITLE Damage dealt by this does not cause spell pushback
- SPELL_ATTR7_UNK7 = 0x00000080,
+ SPELL_ATTR7_UNK7 = 0x00000080, // TITLE Unknown attribute 7@Attr7
SPELL_ATTR7_HORDE_ONLY = 0x00000100, // TITLE Horde only
SPELL_ATTR7_ALLIANCE_ONLY = 0x00000200, // TITLE Alliance only
SPELL_ATTR7_DISPEL_CHARGES = 0x00000400, // TITLE Dispel/Spellsteal remove individual charges
SPELL_ATTR7_INTERRUPT_ONLY_NONPLAYER = 0x00000800, // TITLE Only interrupt non-player casting
- SPELL_ATTR7_UNK12 = 0x00001000,
- SPELL_ATTR7_UNK13 = 0x00002000,
- SPELL_ATTR7_UNK14 = 0x00004000,
- SPELL_ATTR7_UNK15 = 0x00008000,
+ SPELL_ATTR7_UNK12 = 0x00001000, // TITLE Unknown attribute 12@Attr7
+ SPELL_ATTR7_UNK13 = 0x00002000, // TITLE Unknown attribute 13@Attr7
+ SPELL_ATTR7_UNK14 = 0x00004000, // TITLE Unknown attribute 14@Attr7
+ SPELL_ATTR7_UNK15 = 0x00008000, // TITLE Unknown attribute 15@Attr7 DESCRIPTION Exorcism - guaranteed crit vs families?
SPELL_ATTR7_CAN_RESTORE_SECONDARY_POWER = 0x00010000, // TITLE Can restore secondary power DESCRIPTION Only spells with this attribute can replenish a non-active power type
- SPELL_ATTR7_UNK17 = 0x00020000,
+ SPELL_ATTR7_UNK17 = 0x00020000, // TITLE Unknown attribute 17@Attr7
SPELL_ATTR7_HAS_CHARGE_EFFECT = 0x00040000, // TITLE Has charge effect
SPELL_ATTR7_ZONE_TELEPORT = 0x00080000, // TITLE Is zone teleport
- SPELL_ATTR7_UNK20 = 0x00100000,
- SPELL_ATTR7_UNK21 = 0x00200000,
+ SPELL_ATTR7_UNK20 = 0x00100000, // TITLE Unknown attribute 20@Attr7 DESCRIPTION Invulnerability related?
+ SPELL_ATTR7_UNK21 = 0x00200000, // TITLE Unknown attribute 21@Attr7
SPELL_ATTR7_IGNORE_COLD_WEATHER_FLYING = 0x00400000, // TITLE Ignore cold weather flying restriction DESCRIPTION Set for loaner mounts, allows them to be used despite lacking required flight skill
- SPELL_ATTR7_UNK23 = 0x00800000,
- SPELL_ATTR7_UNK24 = 0x01000000,
- SPELL_ATTR7_UNK25 = 0x02000000,
- SPELL_ATTR7_UNK26 = 0x04000000,
- SPELL_ATTR7_UNK27 = 0x08000000,
+ SPELL_ATTR7_UNK23 = 0x00800000, // TITLE Unknown attribute 23@Attr7
+ SPELL_ATTR7_UNK24 = 0x01000000, // TITLE Unknown attribute 24@Attr7
+ SPELL_ATTR7_UNK25 = 0x02000000, // TITLE Unknown attribute 25@Attr7
+ SPELL_ATTR7_UNK26 = 0x04000000, // TITLE Unknown attribute 26@Attr7
+ SPELL_ATTR7_UNK27 = 0x08000000, // TITLE Unknown attribute 27@Attr7
SPELL_ATTR7_CONSOLIDATED_RAID_BUFF = 0x10000000, // TITLE Consolidate in raid buff frame (client only)
- SPELL_ATTR7_UNK29 = 0x20000000,
- SPELL_ATTR7_UNK30 = 0x40000000,
+ SPELL_ATTR7_UNK29 = 0x20000000, // TITLE Unknown attribute 29@Attr7
+ SPELL_ATTR7_UNK30 = 0x40000000, // TITLE Unknown attribute 30@Attr7
SPELL_ATTR7_CLIENT_INDICATOR = 0x80000000 // TITLE Client indicator (client only)
};