diff options
author | Treeston <treeston.mmoc@gmail.com> | 2018-12-11 14:38:12 +0100 |
---|---|---|
committer | Treeston <treeston.mmoc@gmail.com> | 2018-12-11 14:38:50 +0100 |
commit | 3acba6dded14afdf84f2ab51ca3b6cec92bdb092 (patch) | |
tree | 5f7d1d7fb12f86a36c0df8250b6b3938e52ab6be /src/server/shared/enuminfo_SharedDefines.cpp | |
parent | df641e993ac4e058c55ec97cceb19cf397a51105 (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/enuminfo_SharedDefines.cpp')
-rw-r--r-- | src/server/shared/enuminfo_SharedDefines.cpp | 288 |
1 files changed, 144 insertions, 144 deletions
diff --git a/src/server/shared/enuminfo_SharedDefines.cpp b/src/server/shared/enuminfo_SharedDefines.cpp index 4915c2c210a..a3878387a4a 100644 --- a/src/server/shared/enuminfo_SharedDefines.cpp +++ b/src/server/shared/enuminfo_SharedDefines.cpp @@ -111,7 +111,7 @@ TC_API_EXPORT EnumText EnumUtils<SpellAttr0>::ToString(SpellAttr0 value) { switch (value) { - case SPELL_ATTR0_UNK0: return { "SPELL_ATTR0_UNK0", "SPELL_ATTR0_UNK0", "" }; + case SPELL_ATTR0_UNK0: return { "SPELL_ATTR0_UNK0", "Unknown attribute 0@Attr0", "" }; case SPELL_ATTR0_REQ_AMMO: return { "SPELL_ATTR0_REQ_AMMO", "Treat as ranged attack", "Use ammo, ranged attack range modifiers, ranged haste, etc." }; case SPELL_ATTR0_ON_NEXT_SWING: return { "SPELL_ATTR0_ON_NEXT_SWING", "On next melee (type 1)", "Both \042on next swing\042 attributes have identical handling in server & client" }; case SPELL_ATTR0_IS_REPLENISHMENT: return { "SPELL_ATTR0_IS_REPLENISHMENT", "Replenishment (client only)", "" }; @@ -122,7 +122,7 @@ TC_API_EXPORT EnumText EnumUtils<SpellAttr0>::ToString(SpellAttr0 value) case SPELL_ATTR0_HIDE_IN_COMBAT_LOG: return { "SPELL_ATTR0_HIDE_IN_COMBAT_LOG", "Hidden in combat log (client only)", "Spell will not appear in combat logs" }; case SPELL_ATTR0_TARGET_MAINHAND_ITEM: return { "SPELL_ATTR0_TARGET_MAINHAND_ITEM", "Auto-target mainhand item (client only)", "Client will automatically select main-hand item as cast target" }; case SPELL_ATTR0_ON_NEXT_SWING_2: return { "SPELL_ATTR0_ON_NEXT_SWING_2", "On next melee (type 2)", "Both \042on next swing\042 attributes have identical handling in server & client" }; - case SPELL_ATTR0_UNK11: return { "SPELL_ATTR0_UNK11", "SPELL_ATTR0_UNK11", "" }; + case SPELL_ATTR0_UNK11: return { "SPELL_ATTR0_UNK11", "Unknown attribute 11@Attr0", "" }; case SPELL_ATTR0_DAYTIME_ONLY: return { "SPELL_ATTR0_DAYTIME_ONLY", "Only usable during daytime (unused)", "" }; case SPELL_ATTR0_NIGHT_ONLY: return { "SPELL_ATTR0_NIGHT_ONLY", "Only usable during nighttime (unused)", "" }; case SPELL_ATTR0_INDOORS_ONLY: return { "SPELL_ATTR0_INDOORS_ONLY", "Only usable indoors", "" }; @@ -203,34 +203,34 @@ TC_API_EXPORT EnumText EnumUtils<SpellAttr1>::ToString(SpellAttr1 value) case SPELL_ATTR1_DRAIN_ALL_POWER: return { "SPELL_ATTR1_DRAIN_ALL_POWER", "Drain all power", "Ignores listed power cost and drains entire pool instead" }; case SPELL_ATTR1_CHANNELED_1: return { "SPELL_ATTR1_CHANNELED_1", "Channeled (type 1)", "Both \042channeled\042 attributes have identical handling in server & client" }; case SPELL_ATTR1_CANT_BE_REDIRECTED: return { "SPELL_ATTR1_CANT_BE_REDIRECTED", "Ignore redirection effects", "Spell will not be attracted by SPELL_MAGNET auras (Grounding Totem)" }; - case SPELL_ATTR1_UNK4: return { "SPELL_ATTR1_UNK4", "SPELL_ATTR1_UNK4", "" }; + case SPELL_ATTR1_UNK4: return { "SPELL_ATTR1_UNK4", "Unknown attribute 4@Attr1", "" }; case SPELL_ATTR1_NOT_BREAK_STEALTH: return { "SPELL_ATTR1_NOT_BREAK_STEALTH", "Does not break stealth", "" }; case SPELL_ATTR1_CHANNELED_2: return { "SPELL_ATTR1_CHANNELED_2", "Channeled (type 2)", "Both \042channeled\042 attributes have identical handling in server & client" }; case SPELL_ATTR1_CANT_BE_REFLECTED: return { "SPELL_ATTR1_CANT_BE_REFLECTED", "Ignore reflection effects", "Spell will pierce through Spell Reflection and similar" }; case SPELL_ATTR1_CANT_TARGET_IN_COMBAT: return { "SPELL_ATTR1_CANT_TARGET_IN_COMBAT", "Target cannot be in combat", "" }; case SPELL_ATTR1_MELEE_COMBAT_START: return { "SPELL_ATTR1_MELEE_COMBAT_START", "Starts auto-attack (client only)", "Caster will begin auto-attacking the target on cast" }; case SPELL_ATTR1_NO_THREAT: return { "SPELL_ATTR1_NO_THREAT", "Does not generate threat", "Also does not cause target to engage" }; - case SPELL_ATTR1_UNK11: return { "SPELL_ATTR1_UNK11", "SPELL_ATTR1_UNK11", "" }; + case SPELL_ATTR1_UNK11: return { "SPELL_ATTR1_UNK11", "Unknown attribute 11@Attr1", "Aura?" }; case SPELL_ATTR1_IS_PICKPOCKET: return { "SPELL_ATTR1_IS_PICKPOCKET", "Pickpocket (client only)", "" }; case SPELL_ATTR1_FARSIGHT: return { "SPELL_ATTR1_FARSIGHT", "Farsight aura (client only)", "" }; case SPELL_ATTR1_CHANNEL_TRACK_TARGET: return { "SPELL_ATTR1_CHANNEL_TRACK_TARGET", "Track target while channeling", "While channeling, adjust facing to face target" }; case SPELL_ATTR1_DISPEL_AURAS_ON_IMMUNITY: return { "SPELL_ATTR1_DISPEL_AURAS_ON_IMMUNITY", "Immunity cancels preapplied auras", "For immunity spells, cancel all auras that this spell would make you immune to when the spell is applied" }; case SPELL_ATTR1_UNAFFECTED_BY_SCHOOL_IMMUNE: return { "SPELL_ATTR1_UNAFFECTED_BY_SCHOOL_IMMUNE", "Unaffected by school immunities", "Will not pierce Divine Shield, Ice Block and other full invulnerabilities" }; case SPELL_ATTR1_UNAUTOCASTABLE_BY_PET: return { "SPELL_ATTR1_UNAUTOCASTABLE_BY_PET", "Cannot be autocast by pet", "" }; - case SPELL_ATTR1_UNK18: return { "SPELL_ATTR1_UNK18", "SPELL_ATTR1_UNK18", "" }; + case SPELL_ATTR1_UNK18: return { "SPELL_ATTR1_UNK18", "Unknown attribute 18@Attr1", "Stun, Polymorph, Daze, Hex - CC?" }; case SPELL_ATTR1_CANT_TARGET_SELF: return { "SPELL_ATTR1_CANT_TARGET_SELF", "Cannot be self-cast", "" }; case SPELL_ATTR1_REQ_COMBO_POINTS1: return { "SPELL_ATTR1_REQ_COMBO_POINTS1", "Requires combo points (type 1)", "" }; - case SPELL_ATTR1_UNK21: return { "SPELL_ATTR1_UNK21", "SPELL_ATTR1_UNK21", "" }; + case SPELL_ATTR1_UNK21: return { "SPELL_ATTR1_UNK21", "Unknown attribute 21@Attr1", "" }; case SPELL_ATTR1_REQ_COMBO_POINTS2: return { "SPELL_ATTR1_REQ_COMBO_POINTS2", "Requires combo points (type 2)", "" }; - case SPELL_ATTR1_UNK23: return { "SPELL_ATTR1_UNK23", "SPELL_ATTR1_UNK23", "" }; + case SPELL_ATTR1_UNK23: return { "SPELL_ATTR1_UNK23", "Unknwon attribute 23@Attr1", "" }; case SPELL_ATTR1_IS_FISHING: return { "SPELL_ATTR1_IS_FISHING", "Fishing (client only)", "" }; - case SPELL_ATTR1_UNK25: return { "SPELL_ATTR1_UNK25", "SPELL_ATTR1_UNK25", "" }; - case SPELL_ATTR1_UNK26: return { "SPELL_ATTR1_UNK26", "SPELL_ATTR1_UNK26", "" }; - case SPELL_ATTR1_UNK27: return { "SPELL_ATTR1_UNK27", "SPELL_ATTR1_UNK27", "" }; + case SPELL_ATTR1_UNK25: return { "SPELL_ATTR1_UNK25", "Unknown attribute 25@Attr1", "" }; + case SPELL_ATTR1_UNK26: return { "SPELL_ATTR1_UNK26", "Unknown attribute 26@Attr1", "Related to [target=focus] and [target=mouseover] macros?" }; + case SPELL_ATTR1_UNK27: return { "SPELL_ATTR1_UNK27", "Unknown attribute 27@Attr1", "Melee spell?" }; case SPELL_ATTR1_DONT_DISPLAY_IN_AURA_BAR: return { "SPELL_ATTR1_DONT_DISPLAY_IN_AURA_BAR", "Hide in aura bar (client only)", "" }; case SPELL_ATTR1_CHANNEL_DISPLAY_SPELL_NAME: return { "SPELL_ATTR1_CHANNEL_DISPLAY_SPELL_NAME", "Show spell name during channel (client only)", "" }; case SPELL_ATTR1_ENABLE_AT_DODGE: return { "SPELL_ATTR1_ENABLE_AT_DODGE", "Enable at dodge", "" }; - case SPELL_ATTR1_UNK31: return { "SPELL_ATTR1_UNK31", "SPELL_ATTR1_UNK31", "" }; + case SPELL_ATTR1_UNK31: return { "SPELL_ATTR1_UNK31", "Unknown attribute 31@Attr1", "" }; default: throw std::out_of_range("value"); } } @@ -288,34 +288,34 @@ TC_API_EXPORT EnumText EnumUtils<SpellAttr2>::ToString(SpellAttr2 value) switch (value) { case SPELL_ATTR2_CAN_TARGET_DEAD: return { "SPELL_ATTR2_CAN_TARGET_DEAD", "Can target dead players or corpses", "" }; - case SPELL_ATTR2_UNK1: return { "SPELL_ATTR2_UNK1", "SPELL_ATTR2_UNK1", "" }; + case SPELL_ATTR2_UNK1: return { "SPELL_ATTR2_UNK1", "Unknown attribute 1@Attr2", "" }; case SPELL_ATTR2_CAN_TARGET_NOT_IN_LOS: return { "SPELL_ATTR2_CAN_TARGET_NOT_IN_LOS", "Ignore Line of Sight", "" }; case SPELL_ATTR2_UNK3: return { "SPELL_ATTR2_UNK3", "Ignore aura scaling", "" }; case SPELL_ATTR2_DISPLAY_IN_STANCE_BAR: return { "SPELL_ATTR2_DISPLAY_IN_STANCE_BAR", "Show in stance bar (client only)", "" }; case SPELL_ATTR2_AUTOREPEAT_FLAG: return { "SPELL_ATTR2_AUTOREPEAT_FLAG", "Ranged auto-attack spell", "" }; case SPELL_ATTR2_CANT_TARGET_TAPPED: return { "SPELL_ATTR2_CANT_TARGET_TAPPED", "Cannot target others' tapped units", "Can only target untapped units, or those tapped by caster" }; - case SPELL_ATTR2_UNK7: return { "SPELL_ATTR2_UNK7", "SPELL_ATTR2_UNK7", "" }; - case SPELL_ATTR2_UNK8: return { "SPELL_ATTR2_UNK8", "SPELL_ATTR2_UNK8", "" }; - case SPELL_ATTR2_UNK9: return { "SPELL_ATTR2_UNK9", "SPELL_ATTR2_UNK9", "" }; - case SPELL_ATTR2_UNK10: return { "SPELL_ATTR2_UNK10", "SPELL_ATTR2_UNK10", "" }; + case SPELL_ATTR2_UNK7: return { "SPELL_ATTR2_UNK7", "Unknown attribute 7@Attr2", "" }; + case SPELL_ATTR2_UNK8: return { "SPELL_ATTR2_UNK8", "Unknown attribute 8@Attr2", "" }; + case SPELL_ATTR2_UNK9: return { "SPELL_ATTR2_UNK9", "Unknown attribute 9@Attr2", "" }; + case SPELL_ATTR2_UNK10: return { "SPELL_ATTR2_UNK10", "Unknown attribute 10@Attr2", "Related to taming?" }; case SPELL_ATTR2_HEALTH_FUNNEL: return { "SPELL_ATTR2_HEALTH_FUNNEL", "Health Funnel", "" }; - case SPELL_ATTR2_UNK12: return { "SPELL_ATTR2_UNK12", "SPELL_ATTR2_UNK12", "" }; + case SPELL_ATTR2_UNK12: return { "SPELL_ATTR2_UNK12", "Unknown attribute 12@Attr2", "" }; case SPELL_ATTR2_PRESERVE_ENCHANT_IN_ARENA: return { "SPELL_ATTR2_PRESERVE_ENCHANT_IN_ARENA", "Enchant persists when entering arena", "" }; - case SPELL_ATTR2_UNK14: return { "SPELL_ATTR2_UNK14", "SPELL_ATTR2_UNK14", "" }; - case SPELL_ATTR2_UNK15: return { "SPELL_ATTR2_UNK15", "SPELL_ATTR2_UNK15", "" }; + case SPELL_ATTR2_UNK14: return { "SPELL_ATTR2_UNK14", "Unknown attribute 14@Attr2", "" }; + case SPELL_ATTR2_UNK15: return { "SPELL_ATTR2_UNK15", "Unknown attribute 15@Attr2", "" }; case SPELL_ATTR2_TAME_BEAST: return { "SPELL_ATTR2_TAME_BEAST", "Tame Beast", "" }; case SPELL_ATTR2_NOT_RESET_AUTO_ACTIONS: return { "SPELL_ATTR2_NOT_RESET_AUTO_ACTIONS", "Don't reset swing timer", "Does not reset melee/ranged autoattack timer on cast" }; case SPELL_ATTR2_REQ_DEAD_PET: return { "SPELL_ATTR2_REQ_DEAD_PET", "Requires dead pet", "" }; case SPELL_ATTR2_NOT_NEED_SHAPESHIFT: return { "SPELL_ATTR2_NOT_NEED_SHAPESHIFT", "Also allow outside shapeshift", "Even if Stances are nonzero, allow spell to be cast outside of shapeshift (though not in a different shapeshift)" }; - case SPELL_ATTR2_UNK20: return { "SPELL_ATTR2_UNK20", "SPELL_ATTR2_UNK20", "" }; - case SPELL_ATTR2_DAMAGE_REDUCED_SHIELD: return { "SPELL_ATTR2_DAMAGE_REDUCED_SHIELD", "SPELL_ATTR2_DAMAGE_REDUCED_SHIELD", "" }; - case SPELL_ATTR2_UNK22: return { "SPELL_ATTR2_UNK22", "SPELL_ATTR2_UNK22", "" }; + case SPELL_ATTR2_UNK20: return { "SPELL_ATTR2_UNK20", "Unknown attribute 20@Attr2", "" }; + case SPELL_ATTR2_DAMAGE_REDUCED_SHIELD: return { "SPELL_ATTR2_DAMAGE_REDUCED_SHIELD", "Damage reduction ability", "Causes BG flags to be dropped if combined with ATTR1_DISPEL_AURAS_ON_IMMUNITY" }; + case SPELL_ATTR2_UNK22: return { "SPELL_ATTR2_UNK22", "Unknown attribute 22@Attr2", "" }; case SPELL_ATTR2_IS_ARCANE_CONCENTRATION: return { "SPELL_ATTR2_IS_ARCANE_CONCENTRATION", "Arcane Concentration", "" }; - case SPELL_ATTR2_UNK24: return { "SPELL_ATTR2_UNK24", "SPELL_ATTR2_UNK24", "" }; - case SPELL_ATTR2_UNK25: return { "SPELL_ATTR2_UNK25", "SPELL_ATTR2_UNK25", "" }; + case SPELL_ATTR2_UNK24: return { "SPELL_ATTR2_UNK24", "Unknown attribute 24@Attr2", "" }; + case SPELL_ATTR2_UNK25: return { "SPELL_ATTR2_UNK25", "Unknown attribute 25@Attr2", "" }; case SPELL_ATTR2_UNAFFECTED_BY_AURA_SCHOOL_IMMUNE: return { "SPELL_ATTR2_UNAFFECTED_BY_AURA_SCHOOL_IMMUNE", "Pierce aura application immunities", "Allow aura to be applied despite target being immune to new aura applications" }; - case SPELL_ATTR2_UNK27: return { "SPELL_ATTR2_UNK27", "SPELL_ATTR2_UNK27", "" }; - case SPELL_ATTR2_UNK28: return { "SPELL_ATTR2_UNK28", "SPELL_ATTR2_UNK28", "" }; + case SPELL_ATTR2_UNK27: return { "SPELL_ATTR2_UNK27", "Unknown attribute 27@Attr2", "" }; + case SPELL_ATTR2_UNK28: return { "SPELL_ATTR2_UNK28", "Unknown attribute 28@Attr2", "" }; case SPELL_ATTR2_CANT_CRIT: return { "SPELL_ATTR2_CANT_CRIT", "Cannot critically strike", "" }; case SPELL_ATTR2_TRIGGERED_CAN_TRIGGER_PROC: return { "SPELL_ATTR2_TRIGGERED_CAN_TRIGGER_PROC", "Allow triggered spell to trigger (type 1)", "Without this attribute, any triggered spell will be unable to trigger other auras' procs" }; case SPELL_ATTR2_FOOD_BUFF: return { "SPELL_ATTR2_FOOD_BUFF", "Food buff (client only)", "" }; @@ -375,13 +375,13 @@ TC_API_EXPORT EnumText EnumUtils<SpellAttr3>::ToString(SpellAttr3 value) { switch (value) { - case SPELL_ATTR3_UNK0: return { "SPELL_ATTR3_UNK0", "SPELL_ATTR3_UNK0", "" }; + case SPELL_ATTR3_UNK0: return { "SPELL_ATTR3_UNK0", "Unknown attribute 0@Attr3", "" }; case SPELL_ATTR3_IGNORE_PROC_SUBCLASS_MASK: return { "SPELL_ATTR3_IGNORE_PROC_SUBCLASS_MASK", "SPELL_ATTR3_IGNORE_PROC_SUBCLASS_MASK", "1 Ignores subclass mask check when checking proc" }; - case SPELL_ATTR3_UNK2: return { "SPELL_ATTR3_UNK2", "SPELL_ATTR3_UNK2", "" }; + case SPELL_ATTR3_UNK2: return { "SPELL_ATTR3_UNK2", "Unknown attribute 2@Attr3", "" }; case SPELL_ATTR3_BLOCKABLE_SPELL: return { "SPELL_ATTR3_BLOCKABLE_SPELL", "Blockable spell", "" }; case SPELL_ATTR3_IGNORE_RESURRECTION_TIMER: return { "SPELL_ATTR3_IGNORE_RESURRECTION_TIMER", "Ignore resurrection timer", "" }; - case SPELL_ATTR3_UNK5: return { "SPELL_ATTR3_UNK5", "SPELL_ATTR3_UNK5", "" }; - case SPELL_ATTR3_UNK6: return { "SPELL_ATTR3_UNK6", "SPELL_ATTR3_UNK6", "" }; + case SPELL_ATTR3_UNK5: return { "SPELL_ATTR3_UNK5", "Unknown attribute 5@Attr3", "" }; + case SPELL_ATTR3_UNK6: return { "SPELL_ATTR3_UNK6", "Unknown attribute 6@Attr3", "" }; case SPELL_ATTR3_STACK_FOR_DIFF_CASTERS: return { "SPELL_ATTR3_STACK_FOR_DIFF_CASTERS", "Stack separately for each caster", "" }; case SPELL_ATTR3_ONLY_TARGET_PLAYERS: return { "SPELL_ATTR3_ONLY_TARGET_PLAYERS", "Can only target players", "" }; case SPELL_ATTR3_TRIGGERED_CAN_TRIGGER_PROC_2: return { "SPELL_ATTR3_TRIGGERED_CAN_TRIGGER_PROC_2", "Allow triggered spell to trigger (type 2)", "Without this attribute, any triggered spell will be unable to trigger other auras' procs" }; @@ -390,23 +390,23 @@ TC_API_EXPORT EnumText EnumUtils<SpellAttr3>::ToString(SpellAttr3 value) case SPELL_ATTR3_ONLY_TARGET_GHOSTS: return { "SPELL_ATTR3_ONLY_TARGET_GHOSTS", "Can only target ghost players", "" }; case SPELL_ATTR3_DONT_DISPLAY_CHANNEL_BAR: return { "SPELL_ATTR3_DONT_DISPLAY_CHANNEL_BAR", "Do not display channel bar (client only)", "" }; case SPELL_ATTR3_IS_HONORLESS_TARGET: return { "SPELL_ATTR3_IS_HONORLESS_TARGET", "Honorless Target", "" }; - case SPELL_ATTR3_UNK15: return { "SPELL_ATTR3_UNK15", "SPELL_ATTR3_UNK15", "" }; + case SPELL_ATTR3_UNK15: return { "SPELL_ATTR3_UNK15", "Unknown attribute 15@Attr3", "Auto Shoot, Shoot, Throw - ranged normal attack attribute?" }; case SPELL_ATTR3_CANT_TRIGGER_PROC: return { "SPELL_ATTR3_CANT_TRIGGER_PROC", "Cannot trigger procs", "" }; case SPELL_ATTR3_NO_INITIAL_AGGRO: return { "SPELL_ATTR3_NO_INITIAL_AGGRO", "No initial aggro", "" }; case SPELL_ATTR3_IGNORE_HIT_RESULT: return { "SPELL_ATTR3_IGNORE_HIT_RESULT", "Ignore hit result", "Spell cannot miss, or be dodged/parried/blocked" }; case SPELL_ATTR3_DISABLE_PROC: return { "SPELL_ATTR3_DISABLE_PROC", "Cannot trigger spells during aura proc", "" }; case SPELL_ATTR3_DEATH_PERSISTENT: return { "SPELL_ATTR3_DEATH_PERSISTENT", "Persists through death", "" }; - case SPELL_ATTR3_UNK21: return { "SPELL_ATTR3_UNK21", "SPELL_ATTR3_UNK21", "" }; + case SPELL_ATTR3_UNK21: return { "SPELL_ATTR3_UNK21", "Unknown attribute 21@Attr3", "" }; case SPELL_ATTR3_REQ_WAND: return { "SPELL_ATTR3_REQ_WAND", "Requires equipped Wand", "" }; - case SPELL_ATTR3_UNK23: return { "SPELL_ATTR3_UNK23", "SPELL_ATTR3_UNK23", "" }; + case SPELL_ATTR3_UNK23: return { "SPELL_ATTR3_UNK23", "Unknown attribute 23@Attr3", "" }; case SPELL_ATTR3_REQ_OFFHAND: return { "SPELL_ATTR3_REQ_OFFHAND", "Requires offhand weapon", "" }; case SPELL_ATTR3_TREAT_AS_PERIODIC: return { "SPELL_ATTR3_TREAT_AS_PERIODIC", "Treat as periodic effect", "" }; case SPELL_ATTR3_CAN_PROC_WITH_TRIGGERED: return { "SPELL_ATTR3_CAN_PROC_WITH_TRIGGERED", "Can trigger from triggered spells", "" }; case SPELL_ATTR3_DRAIN_SOUL: return { "SPELL_ATTR3_DRAIN_SOUL", "Drain Soul", "" }; - case SPELL_ATTR3_UNK28: return { "SPELL_ATTR3_UNK28", "SPELL_ATTR3_UNK28", "" }; + case SPELL_ATTR3_UNK28: return { "SPELL_ATTR3_UNK28", "Unknown attribute 28@Attr3", "" }; case SPELL_ATTR3_NO_DONE_BONUS: return { "SPELL_ATTR3_NO_DONE_BONUS", "Damage dealt is unaffected by modifiers", "" }; case SPELL_ATTR3_DONT_DISPLAY_RANGE: return { "SPELL_ATTR3_DONT_DISPLAY_RANGE", "Do not show range in tooltip (client only)", "" }; - case SPELL_ATTR3_UNK31: return { "SPELL_ATTR3_UNK31", "SPELL_ATTR3_UNK31", "" }; + case SPELL_ATTR3_UNK31: return { "SPELL_ATTR3_UNK31", "Unknown attribute 31@Attr3", "" }; default: throw std::out_of_range("value"); } } @@ -466,35 +466,35 @@ TC_API_EXPORT EnumText EnumUtils<SpellAttr4>::ToString(SpellAttr4 value) case SPELL_ATTR4_IGNORE_RESISTANCES: return { "SPELL_ATTR4_IGNORE_RESISTANCES", "Cannot be resisted", "" }; case SPELL_ATTR4_PROC_ONLY_ON_CASTER: return { "SPELL_ATTR4_PROC_ONLY_ON_CASTER", "Only proc on self-cast", "" }; case SPELL_ATTR4_FADES_WHILE_LOGGED_OUT: return { "SPELL_ATTR4_FADES_WHILE_LOGGED_OUT", "Buff expires while offline", "Debuffs (except Resurrection Sickness) will automatically do this" }; - case SPELL_ATTR4_UNK3: return { "SPELL_ATTR4_UNK3", "SPELL_ATTR4_UNK3", "" }; + case SPELL_ATTR4_UNK3: return { "SPELL_ATTR4_UNK3", "Unknown attribute 3@Attr4", "" }; case SPELL_ATTR4_UNK4: return { "SPELL_ATTR4_UNK4", "Treat as delayed spell", "" }; - case SPELL_ATTR4_UNK5: return { "SPELL_ATTR4_UNK5", "SPELL_ATTR4_UNK5", "" }; + case SPELL_ATTR4_UNK5: return { "SPELL_ATTR4_UNK5", "Unknown attribute 5@Attr4", "" }; case SPELL_ATTR4_NOT_STEALABLE: return { "SPELL_ATTR4_NOT_STEALABLE", "Aura cannot be stolen", "" }; case SPELL_ATTR4_CAN_CAST_WHILE_CASTING: return { "SPELL_ATTR4_CAN_CAST_WHILE_CASTING", "Can be cast while casting", "Ignores already in-progress cast and still casts" }; case SPELL_ATTR4_FIXED_DAMAGE: return { "SPELL_ATTR4_FIXED_DAMAGE", "Deals fixed damage", "" }; case SPELL_ATTR4_TRIGGER_ACTIVATE: return { "SPELL_ATTR4_TRIGGER_ACTIVATE", "Spell is initially disabled (client only)", "" }; case SPELL_ATTR4_SPELL_VS_EXTEND_COST: return { "SPELL_ATTR4_SPELL_VS_EXTEND_COST", "Attack speed modifies cost", "Adds 10 to power cost for each 1s of weapon speed" }; - case SPELL_ATTR4_UNK11: return { "SPELL_ATTR4_UNK11", "SPELL_ATTR4_UNK11", "" }; - case SPELL_ATTR4_UNK12: return { "SPELL_ATTR4_UNK12", "SPELL_ATTR4_UNK12", "" }; - case SPELL_ATTR4_UNK13: return { "SPELL_ATTR4_UNK13", "SPELL_ATTR4_UNK13", "" }; + case SPELL_ATTR4_UNK11: return { "SPELL_ATTR4_UNK11", "Unknown attribute 11@Attr4", "" }; + case SPELL_ATTR4_UNK12: return { "SPELL_ATTR4_UNK12", "Unknown attribute 12@Attr4", "" }; + case SPELL_ATTR4_UNK13: return { "SPELL_ATTR4_UNK13", "Unknown attribute 13@Attr4", "" }; case SPELL_ATTR4_DAMAGE_DOESNT_BREAK_AURAS: return { "SPELL_ATTR4_DAMAGE_DOESNT_BREAK_AURAS", "Damage does not break auras", "" }; - case SPELL_ATTR4_UNK15: return { "SPELL_ATTR4_UNK15", "SPELL_ATTR4_UNK15", "" }; + case SPELL_ATTR4_UNK15: return { "SPELL_ATTR4_UNK15", "Unknown attribute 15@Attr4", "" }; case SPELL_ATTR4_NOT_USABLE_IN_ARENA: return { "SPELL_ATTR4_NOT_USABLE_IN_ARENA", "Not usable in arena", "Makes spell unusable despite CD <= 10min" }; case SPELL_ATTR4_USABLE_IN_ARENA: return { "SPELL_ATTR4_USABLE_IN_ARENA", "Usable in arena", "Makes spell usable despite CD > 10min" }; case SPELL_ATTR4_AREA_TARGET_CHAIN: return { "SPELL_ATTR4_AREA_TARGET_CHAIN", "Chain area targets", "[NYI] Hits area targets over time instead of all at once" }; - case SPELL_ATTR4_UNK19: return { "SPELL_ATTR4_UNK19", "SPELL_ATTR4_UNK19", "" }; + case SPELL_ATTR4_UNK19: return { "SPELL_ATTR4_UNK19", "Unknown attribute 19@Attr4", "" }; case SPELL_ATTR4_NOT_CHECK_SELFCAST_POWER: return { "SPELL_ATTR4_NOT_CHECK_SELFCAST_POWER", "Allow self-cast to override stronger aura (client only)", "" }; case SPELL_ATTR4_UNK21: return { "SPELL_ATTR4_UNK21", "Keep when entering arena", "" }; - case SPELL_ATTR4_UNK22: return { "SPELL_ATTR4_UNK22", "SPELL_ATTR4_UNK22", "" }; + case SPELL_ATTR4_UNK22: return { "SPELL_ATTR4_UNK22", "Unknown attribute 22@Attr4", "" }; case SPELL_ATTR4_CANT_TRIGGER_ITEM_SPELLS: return { "SPELL_ATTR4_CANT_TRIGGER_ITEM_SPELLS", "Cannot trigger item spells", "" }; - case SPELL_ATTR4_UNK24: return { "SPELL_ATTR4_UNK24", "SPELL_ATTR4_UNK24", "" }; + case SPELL_ATTR4_UNK24: return { "SPELL_ATTR4_UNK24", "Unknown attribute 24@Attr4", "Shoot-type spell?" }; case SPELL_ATTR4_IS_PET_SCALING: return { "SPELL_ATTR4_IS_PET_SCALING", "Pet Scaling aura", "" }; case SPELL_ATTR4_CAST_ONLY_IN_OUTLAND: return { "SPELL_ATTR4_CAST_ONLY_IN_OUTLAND", "Only in Outland/Northrend", "" }; case SPELL_ATTR4_INHERIT_CRIT_FROM_AURA: return { "SPELL_ATTR4_INHERIT_CRIT_FROM_AURA", "Inherit critical chance from triggering aura", "" }; - case SPELL_ATTR4_UNK28: return { "SPELL_ATTR4_UNK28", "SPELL_ATTR4_UNK28", "" }; - case SPELL_ATTR4_UNK29: return { "SPELL_ATTR4_UNK29", "SPELL_ATTR4_UNK29", "" }; - case SPELL_ATTR4_UNK30: return { "SPELL_ATTR4_UNK30", "SPELL_ATTR4_UNK30", "" }; - case SPELL_ATTR4_UNK31: return { "SPELL_ATTR4_UNK31", "SPELL_ATTR4_UNK31", "" }; + case SPELL_ATTR4_UNK28: return { "SPELL_ATTR4_UNK28", "Unknown attribute 28@Attr4", "" }; + case SPELL_ATTR4_UNK29: return { "SPELL_ATTR4_UNK29", "Unknown attribute 29@Attr4", "" }; + case SPELL_ATTR4_UNK30: return { "SPELL_ATTR4_UNK30", "Unknown attribute 30@Attr4", "" }; + case SPELL_ATTR4_UNK31: return { "SPELL_ATTR4_UNK31", "Unknown attribute 31@Attr4", "" }; default: throw std::out_of_range("value"); } } @@ -551,38 +551,38 @@ TC_API_EXPORT EnumText EnumUtils<SpellAttr5>::ToString(SpellAttr5 value) { switch (value) { - case SPELL_ATTR5_CAN_CHANNEL_WHEN_MOVING: return { "SPELL_ATTR5_CAN_CHANNEL_WHEN_MOVING", "SPELL_ATTR5_CAN_CHANNEL_WHEN_MOVING", "0 available casting channel spell when moving" }; - case SPELL_ATTR5_NO_REAGENT_WHILE_PREP: return { "SPELL_ATTR5_NO_REAGENT_WHILE_PREP", "SPELL_ATTR5_NO_REAGENT_WHILE_PREP", "1 not need reagents if UNIT_FLAG_PREPARATION" }; - case SPELL_ATTR5_REMOVE_ON_ARENA_ENTER: return { "SPELL_ATTR5_REMOVE_ON_ARENA_ENTER", "SPELL_ATTR5_REMOVE_ON_ARENA_ENTER", "2 remove this aura on arena enter" }; - case SPELL_ATTR5_USABLE_WHILE_STUNNED: return { "SPELL_ATTR5_USABLE_WHILE_STUNNED", "SPELL_ATTR5_USABLE_WHILE_STUNNED", "3 usable while stunned" }; - case SPELL_ATTR5_UNK4: return { "SPELL_ATTR5_UNK4", "SPELL_ATTR5_UNK4", "4" }; - case SPELL_ATTR5_SINGLE_TARGET_SPELL: return { "SPELL_ATTR5_SINGLE_TARGET_SPELL", "SPELL_ATTR5_SINGLE_TARGET_SPELL", "5 Only one target can be apply at a time" }; - case SPELL_ATTR5_UNK6: return { "SPELL_ATTR5_UNK6", "SPELL_ATTR5_UNK6", "6" }; - case SPELL_ATTR5_UNK7: return { "SPELL_ATTR5_UNK7", "SPELL_ATTR5_UNK7", "7" }; - case SPELL_ATTR5_UNK8: return { "SPELL_ATTR5_UNK8", "SPELL_ATTR5_UNK8", "8" }; - case SPELL_ATTR5_START_PERIODIC_AT_APPLY: return { "SPELL_ATTR5_START_PERIODIC_AT_APPLY", "SPELL_ATTR5_START_PERIODIC_AT_APPLY", "9 begin periodic tick at aura apply" }; - case SPELL_ATTR5_HIDE_DURATION: return { "SPELL_ATTR5_HIDE_DURATION", "SPELL_ATTR5_HIDE_DURATION", "10 do not send duration to client" }; - case SPELL_ATTR5_ALLOW_TARGET_OF_TARGET_AS_TARGET: return { "SPELL_ATTR5_ALLOW_TARGET_OF_TARGET_AS_TARGET", "SPELL_ATTR5_ALLOW_TARGET_OF_TARGET_AS_TARGET", "11 (NYI) uses target's target as target if original target not valid (intervene for example)" }; - case SPELL_ATTR5_UNK12: return { "SPELL_ATTR5_UNK12", "SPELL_ATTR5_UNK12", "12 Cleave related?" }; - case SPELL_ATTR5_HASTE_AFFECT_DURATION: return { "SPELL_ATTR5_HASTE_AFFECT_DURATION", "SPELL_ATTR5_HASTE_AFFECT_DURATION", "13 haste effects decrease duration of this" }; - case SPELL_ATTR5_UNK14: return { "SPELL_ATTR5_UNK14", "SPELL_ATTR5_UNK14", "14" }; - case SPELL_ATTR5_UNK15: return { "SPELL_ATTR5_UNK15", "SPELL_ATTR5_UNK15", "15 Inflits on multiple targets?" }; - case SPELL_ATTR5_UNK16: return { "SPELL_ATTR5_UNK16", "SPELL_ATTR5_UNK16", "16" }; - case SPELL_ATTR5_USABLE_WHILE_FEARED: return { "SPELL_ATTR5_USABLE_WHILE_FEARED", "SPELL_ATTR5_USABLE_WHILE_FEARED", "17 usable while feared" }; - case SPELL_ATTR5_USABLE_WHILE_CONFUSED: return { "SPELL_ATTR5_USABLE_WHILE_CONFUSED", "SPELL_ATTR5_USABLE_WHILE_CONFUSED", "18 usable while confused" }; - case SPELL_ATTR5_DONT_TURN_DURING_CAST: return { "SPELL_ATTR5_DONT_TURN_DURING_CAST", "SPELL_ATTR5_DONT_TURN_DURING_CAST", "19 Blocks caster's turning when casting (client does not automatically turn caster's model to face UNIT_FIELD_TARGET)" }; - case SPELL_ATTR5_UNK20: return { "SPELL_ATTR5_UNK20", "SPELL_ATTR5_UNK20", "20" }; - case SPELL_ATTR5_UNK21: return { "SPELL_ATTR5_UNK21", "SPELL_ATTR5_UNK21", "21" }; - case SPELL_ATTR5_UNK22: return { "SPELL_ATTR5_UNK22", "SPELL_ATTR5_UNK22", "22" }; - case SPELL_ATTR5_UNK23: return { "SPELL_ATTR5_UNK23", "SPELL_ATTR5_UNK23", "23" }; - case SPELL_ATTR5_UNK24: return { "SPELL_ATTR5_UNK24", "SPELL_ATTR5_UNK24", "24" }; - case SPELL_ATTR5_UNK25: return { "SPELL_ATTR5_UNK25", "SPELL_ATTR5_UNK25", "25" }; - case SPELL_ATTR5_SKIP_CHECKCAST_LOS_CHECK: return { "SPELL_ATTR5_SKIP_CHECKCAST_LOS_CHECK", "SPELL_ATTR5_SKIP_CHECKCAST_LOS_CHECK", "26 aoe related - Boulder, Cannon, Corpse Explosion, Fire Nova, Flames, Frost Bomb, Living Bomb, Seed of Corruption, Starfall, Thunder Clap, Volley" }; - case SPELL_ATTR5_DONT_SHOW_AURA_IF_SELF_CAST: return { "SPELL_ATTR5_DONT_SHOW_AURA_IF_SELF_CAST", "SPELL_ATTR5_DONT_SHOW_AURA_IF_SELF_CAST", "27 Auras with this attribute are not visible on units that are the caster" }; - case SPELL_ATTR5_DONT_SHOW_AURA_IF_NOT_SELF_CAST: return { "SPELL_ATTR5_DONT_SHOW_AURA_IF_NOT_SELF_CAST", "SPELL_ATTR5_DONT_SHOW_AURA_IF_NOT_SELF_CAST", "28 Auras with this attribute are not visible on units that are not the caster" }; - case SPELL_ATTR5_UNK29: return { "SPELL_ATTR5_UNK29", "SPELL_ATTR5_UNK29", "29" }; - case SPELL_ATTR5_UNK30: return { "SPELL_ATTR5_UNK30", "SPELL_ATTR5_UNK30", "30" }; - case SPELL_ATTR5_UNK31: return { "SPELL_ATTR5_UNK31", "SPELL_ATTR5_UNK31", "31 Forces all nearby enemies to focus attacks caster" }; + case SPELL_ATTR5_CAN_CHANNEL_WHEN_MOVING: return { "SPELL_ATTR5_CAN_CHANNEL_WHEN_MOVING", "Can be channeled while moving", "" }; + case SPELL_ATTR5_NO_REAGENT_WHILE_PREP: return { "SPELL_ATTR5_NO_REAGENT_WHILE_PREP", "No reagents during arena preparation", "" }; + case SPELL_ATTR5_REMOVE_ON_ARENA_ENTER: return { "SPELL_ATTR5_REMOVE_ON_ARENA_ENTER", "Remove when entering arena", "Force this aura to be removed on entering arena, regardless of other properties" }; + case SPELL_ATTR5_USABLE_WHILE_STUNNED: return { "SPELL_ATTR5_USABLE_WHILE_STUNNED", "Usable while stunned", "" }; + case SPELL_ATTR5_UNK4: return { "SPELL_ATTR5_UNK4", "Unknown attribute 4@Attr5", "" }; + case SPELL_ATTR5_SINGLE_TARGET_SPELL: return { "SPELL_ATTR5_SINGLE_TARGET_SPELL", "Single-target aura", "Remove previous application to another unit if applied" }; + case SPELL_ATTR5_UNK6: return { "SPELL_ATTR5_UNK6", "Unknown attribute 6@Attr5", "" }; + case SPELL_ATTR5_UNK7: return { "SPELL_ATTR5_UNK7", "Unknown attribute 7@Attr5", "" }; + case SPELL_ATTR5_UNK8: return { "SPELL_ATTR5_UNK8", "Unknown attribute 8@Attr5", "" }; + case SPELL_ATTR5_START_PERIODIC_AT_APPLY: return { "SPELL_ATTR5_START_PERIODIC_AT_APPLY", "Immediately do periodic tick on apply", "" }; + case SPELL_ATTR5_HIDE_DURATION: return { "SPELL_ATTR5_HIDE_DURATION", "Do not send aura duration to client", "" }; + case SPELL_ATTR5_ALLOW_TARGET_OF_TARGET_AS_TARGET: return { "SPELL_ATTR5_ALLOW_TARGET_OF_TARGET_AS_TARGET", "Auto-target target of target (client only)", "" }; + case SPELL_ATTR5_UNK12: return { "SPELL_ATTR5_UNK12", "Unknown attribute 12@Attr5", "Cleave related?" }; + case SPELL_ATTR5_HASTE_AFFECT_DURATION: return { "SPELL_ATTR5_HASTE_AFFECT_DURATION", "Duration scales with Haste Rating", "" }; + case SPELL_ATTR5_UNK14: return { "SPELL_ATTR5_UNK14", "Unknown attribute 14@Attr5", "" }; + case SPELL_ATTR5_UNK15: return { "SPELL_ATTR5_UNK15", "Unknown attribute 15@Attr5", "Related to multi-target spells?" }; + case SPELL_ATTR5_UNK16: return { "SPELL_ATTR5_UNK16", "Unknown attribute 16@Attr5", "" }; + case SPELL_ATTR5_USABLE_WHILE_FEARED: return { "SPELL_ATTR5_USABLE_WHILE_FEARED", "Usable while feared", "" }; + case SPELL_ATTR5_USABLE_WHILE_CONFUSED: return { "SPELL_ATTR5_USABLE_WHILE_CONFUSED", "Usable while confused", "" }; + case SPELL_ATTR5_DONT_TURN_DURING_CAST: return { "SPELL_ATTR5_DONT_TURN_DURING_CAST", "Do not auto-turn while casting", "" }; + case SPELL_ATTR5_UNK20: return { "SPELL_ATTR5_UNK20", "Unknown attribute 20@Attr5", "" }; + case SPELL_ATTR5_UNK21: return { "SPELL_ATTR5_UNK21", "Unknown attribute 21@Attr5", "" }; + case SPELL_ATTR5_UNK22: return { "SPELL_ATTR5_UNK22", "Unknown attribute 22@Attr5", "" }; + case SPELL_ATTR5_UNK23: return { "SPELL_ATTR5_UNK23", "Unknown attribute 23@Attr5", "" }; + case SPELL_ATTR5_UNK24: return { "SPELL_ATTR5_UNK24", "Unknown attribute 24@Attr5", "" }; + case SPELL_ATTR5_UNK25: return { "SPELL_ATTR5_UNK25", "Unknown attribute 25@Attr5", "" }; + case SPELL_ATTR5_SKIP_CHECKCAST_LOS_CHECK: return { "SPELL_ATTR5_SKIP_CHECKCAST_LOS_CHECK", "Ignore line of sight checks", "" }; + case SPELL_ATTR5_DONT_SHOW_AURA_IF_SELF_CAST: return { "SPELL_ATTR5_DONT_SHOW_AURA_IF_SELF_CAST", "Don't show aura if self-cast (client only)", "" }; + case SPELL_ATTR5_DONT_SHOW_AURA_IF_NOT_SELF_CAST: return { "SPELL_ATTR5_DONT_SHOW_AURA_IF_NOT_SELF_CAST", "Don't show aura unless self-cast (client only)", "" }; + case SPELL_ATTR5_UNK29: return { "SPELL_ATTR5_UNK29", "Unknown attribute 29@Attr5", "" }; + case SPELL_ATTR5_UNK30: return { "SPELL_ATTR5_UNK30", "Unknown attribute 30@Attr5", "" }; + case SPELL_ATTR5_UNK31: return { "SPELL_ATTR5_UNK31", "Unknown attribute 31@Attr5", "Forces nearby enemies to attack caster?" }; default: throw std::out_of_range("value"); } } @@ -639,38 +639,38 @@ TC_API_EXPORT EnumText EnumUtils<SpellAttr6>::ToString(SpellAttr6 value) { switch (value) { - case SPELL_ATTR6_DONT_DISPLAY_COOLDOWN: return { "SPELL_ATTR6_DONT_DISPLAY_COOLDOWN", "SPELL_ATTR6_DONT_DISPLAY_COOLDOWN", "0 client doesn't display cooldown in tooltip for these spells" }; - case SPELL_ATTR6_ONLY_IN_ARENA: return { "SPELL_ATTR6_ONLY_IN_ARENA", "SPELL_ATTR6_ONLY_IN_ARENA", "1 only usable in arena" }; - case SPELL_ATTR6_IGNORE_CASTER_AURAS: return { "SPELL_ATTR6_IGNORE_CASTER_AURAS", "SPELL_ATTR6_IGNORE_CASTER_AURAS", "2" }; - case SPELL_ATTR6_ASSIST_IGNORE_IMMUNE_FLAG: return { "SPELL_ATTR6_ASSIST_IGNORE_IMMUNE_FLAG", "SPELL_ATTR6_ASSIST_IGNORE_IMMUNE_FLAG", "3 skips checking UNIT_FLAG_IMMUNE_TO_PC and UNIT_FLAG_IMMUNE_TO_NPC flags on assist" }; - case SPELL_ATTR6_UNK4: return { "SPELL_ATTR6_UNK4", "SPELL_ATTR6_UNK4", "4" }; - case SPELL_ATTR6_DONT_CONSUME_PROC_CHARGES: return { "SPELL_ATTR6_DONT_CONSUME_PROC_CHARGES", "SPELL_ATTR6_DONT_CONSUME_PROC_CHARGES", "5 dont consume proc charges" }; - case SPELL_ATTR6_USE_SPELL_CAST_EVENT: return { "SPELL_ATTR6_USE_SPELL_CAST_EVENT", "SPELL_ATTR6_USE_SPELL_CAST_EVENT", "6 Auras with this attribute trigger SPELL_CAST combat log event instead of SPELL_AURA_START (clientside attribute)" }; - case SPELL_ATTR6_UNK7: return { "SPELL_ATTR6_UNK7", "SPELL_ATTR6_UNK7", "7" }; - case SPELL_ATTR6_CANT_TARGET_CROWD_CONTROLLED: return { "SPELL_ATTR6_CANT_TARGET_CROWD_CONTROLLED", "SPELL_ATTR6_CANT_TARGET_CROWD_CONTROLLED", "8" }; - case SPELL_ATTR6_UNK9: return { "SPELL_ATTR6_UNK9", "SPELL_ATTR6_UNK9", "9" }; - case SPELL_ATTR6_CAN_TARGET_POSSESSED_FRIENDS: return { "SPELL_ATTR6_CAN_TARGET_POSSESSED_FRIENDS", "SPELL_ATTR6_CAN_TARGET_POSSESSED_FRIENDS", "10 NYI!" }; - case SPELL_ATTR6_NOT_IN_RAID_INSTANCE: return { "SPELL_ATTR6_NOT_IN_RAID_INSTANCE", "SPELL_ATTR6_NOT_IN_RAID_INSTANCE", "11 not usable in raid instance" }; - case SPELL_ATTR6_CASTABLE_WHILE_ON_VEHICLE: return { "SPELL_ATTR6_CASTABLE_WHILE_ON_VEHICLE", "SPELL_ATTR6_CASTABLE_WHILE_ON_VEHICLE", "12 castable while caster is on vehicle" }; - case SPELL_ATTR6_CAN_TARGET_INVISIBLE: return { "SPELL_ATTR6_CAN_TARGET_INVISIBLE", "SPELL_ATTR6_CAN_TARGET_INVISIBLE", "13 ignore visibility requirement for spell target (phases, invisibility, etc.)" }; - case SPELL_ATTR6_UNK14: return { "SPELL_ATTR6_UNK14", "SPELL_ATTR6_UNK14", "14" }; - case SPELL_ATTR6_UNK15: return { "SPELL_ATTR6_UNK15", "SPELL_ATTR6_UNK15", "15 only 54368, 67892" }; - case SPELL_ATTR6_UNK16: return { "SPELL_ATTR6_UNK16", "SPELL_ATTR6_UNK16", "16" }; - case SPELL_ATTR6_UNK17: return { "SPELL_ATTR6_UNK17", "SPELL_ATTR6_UNK17", "17 Mount spell" }; - case SPELL_ATTR6_CAST_BY_CHARMER: return { "SPELL_ATTR6_CAST_BY_CHARMER", "SPELL_ATTR6_CAST_BY_CHARMER", "18 client won't allow to cast these spells when unit is not possessed && charmer of caster will be original caster" }; - case SPELL_ATTR6_UNK19: return { "SPELL_ATTR6_UNK19", "SPELL_ATTR6_UNK19", "19 only 47488, 50782" }; - case SPELL_ATTR6_ONLY_VISIBLE_TO_CASTER: return { "SPELL_ATTR6_ONLY_VISIBLE_TO_CASTER", "SPELL_ATTR6_ONLY_VISIBLE_TO_CASTER", "20 Auras with this attribute are only visible to their caster (or pet's owner)" }; - case SPELL_ATTR6_CLIENT_UI_TARGET_EFFECTS: return { "SPELL_ATTR6_CLIENT_UI_TARGET_EFFECTS", "SPELL_ATTR6_CLIENT_UI_TARGET_EFFECTS", "21 it's only client-side attribute" }; - case SPELL_ATTR6_UNK22: return { "SPELL_ATTR6_UNK22", "SPELL_ATTR6_UNK22", "22 only 72054" }; - case SPELL_ATTR6_UNK23: return { "SPELL_ATTR6_UNK23", "SPELL_ATTR6_UNK23", "23" }; - case SPELL_ATTR6_CAN_TARGET_UNTARGETABLE: return { "SPELL_ATTR6_CAN_TARGET_UNTARGETABLE", "SPELL_ATTR6_CAN_TARGET_UNTARGETABLE", "24" }; - case SPELL_ATTR6_NOT_RESET_SWING_IF_INSTANT: return { "SPELL_ATTR6_NOT_RESET_SWING_IF_INSTANT", "SPELL_ATTR6_NOT_RESET_SWING_IF_INSTANT", "25 Exorcism, Flash of Light" }; - case SPELL_ATTR6_UNK26: return { "SPELL_ATTR6_UNK26", "SPELL_ATTR6_UNK26", "26 related to player castable positive buff" }; - case SPELL_ATTR6_LIMIT_PCT_HEALING_MODS: return { "SPELL_ATTR6_LIMIT_PCT_HEALING_MODS", "SPELL_ATTR6_LIMIT_PCT_HEALING_MODS", "27 some custom rules - complicated" }; - case SPELL_ATTR6_UNK28: return { "SPELL_ATTR6_UNK28", "SPELL_ATTR6_UNK28", "28 Death Grip" }; - case SPELL_ATTR6_LIMIT_PCT_DAMAGE_MODS: return { "SPELL_ATTR6_LIMIT_PCT_DAMAGE_MODS", "SPELL_ATTR6_LIMIT_PCT_DAMAGE_MODS", "29 ignores done percent damage mods? some custom rules - complicated" }; - case SPELL_ATTR6_UNK30: return { "SPELL_ATTR6_UNK30", "SPELL_ATTR6_UNK30", "30" }; - case SPELL_ATTR6_IGNORE_CATEGORY_COOLDOWN_MODS: return { "SPELL_ATTR6_IGNORE_CATEGORY_COOLDOWN_MODS", "SPELL_ATTR6_IGNORE_CATEGORY_COOLDOWN_MODS", "31 Spells with this attribute skip applying modifiers to category cooldowns" }; + case SPELL_ATTR6_DONT_DISPLAY_COOLDOWN: return { "SPELL_ATTR6_DONT_DISPLAY_COOLDOWN", "Don't display cooldown (client only)", "" }; + case SPELL_ATTR6_ONLY_IN_ARENA: return { "SPELL_ATTR6_ONLY_IN_ARENA", "Only usable in arena", "" }; + case SPELL_ATTR6_IGNORE_CASTER_AURAS: return { "SPELL_ATTR6_IGNORE_CASTER_AURAS", "Ignore all preventing caster auras", "" }; + case SPELL_ATTR6_ASSIST_IGNORE_IMMUNE_FLAG: return { "SPELL_ATTR6_ASSIST_IGNORE_IMMUNE_FLAG", "Ignore immunity flags when assisting", "" }; + case SPELL_ATTR6_UNK4: return { "SPELL_ATTR6_UNK4", "Unknown attribute 4@Attr6", "" }; + case SPELL_ATTR6_DONT_CONSUME_PROC_CHARGES: return { "SPELL_ATTR6_DONT_CONSUME_PROC_CHARGES", "Don't consume proc charges", "" }; + case SPELL_ATTR6_USE_SPELL_CAST_EVENT: return { "SPELL_ATTR6_USE_SPELL_CAST_EVENT", "Generate spell_cast event instead of aura_start (client only)", "" }; + case SPELL_ATTR6_UNK7: return { "SPELL_ATTR6_UNK7", "Unknown attribute 7@Attr6", "" }; + case SPELL_ATTR6_CANT_TARGET_CROWD_CONTROLLED: return { "SPELL_ATTR6_CANT_TARGET_CROWD_CONTROLLED", "Do not implicitly target in CC", "Implicit targeting (chaining and area targeting) will not impact crowd controlled targets" }; + case SPELL_ATTR6_UNK9: return { "SPELL_ATTR6_UNK9", "Unknown attribute 9@Attr6", "" }; + case SPELL_ATTR6_CAN_TARGET_POSSESSED_FRIENDS: return { "SPELL_ATTR6_CAN_TARGET_POSSESSED_FRIENDS", "Can target possessed friends", "[NYI]" }; + case SPELL_ATTR6_NOT_IN_RAID_INSTANCE: return { "SPELL_ATTR6_NOT_IN_RAID_INSTANCE", "Unusable in raid instances", "" }; + case SPELL_ATTR6_CASTABLE_WHILE_ON_VEHICLE: return { "SPELL_ATTR6_CASTABLE_WHILE_ON_VEHICLE", "Castable while caster is on vehicle", "" }; + case SPELL_ATTR6_CAN_TARGET_INVISIBLE: return { "SPELL_ATTR6_CAN_TARGET_INVISIBLE", "Can target invisible units", "" }; + case SPELL_ATTR6_UNK14: return { "SPELL_ATTR6_UNK14", "Unknown attribute 14@Attr6", "" }; + case SPELL_ATTR6_UNK15: return { "SPELL_ATTR6_UNK15", "Unknown attribute 15@Attr6", "" }; + case SPELL_ATTR6_UNK16: return { "SPELL_ATTR6_UNK16", "Unknown attribute 16@Attr6", "" }; + case SPELL_ATTR6_UNK17: return { "SPELL_ATTR6_UNK17", "Unknown attribute 17@Attr6", "Mount related?" }; + case SPELL_ATTR6_CAST_BY_CHARMER: return { "SPELL_ATTR6_CAST_BY_CHARMER", "Spell is cast by charmer", "Client will prevent casting if not possessed, charmer will be caster for all intents and purposes" }; + case SPELL_ATTR6_UNK19: return { "SPELL_ATTR6_UNK19", "Unknown attribute 19@Attr6", "" }; + case SPELL_ATTR6_ONLY_VISIBLE_TO_CASTER: return { "SPELL_ATTR6_ONLY_VISIBLE_TO_CASTER", "Only visible to caster (client only)", "" }; + case SPELL_ATTR6_CLIENT_UI_TARGET_EFFECTS: return { "SPELL_ATTR6_CLIENT_UI_TARGET_EFFECTS", "Client UI target effects (client only)", "" }; + case SPELL_ATTR6_UNK22: return { "SPELL_ATTR6_UNK22", "Unknown attribute 22@Attr6", "" }; + case SPELL_ATTR6_UNK23: return { "SPELL_ATTR6_UNK23", "Unknown attribute 23@Attr6", "" }; + case SPELL_ATTR6_CAN_TARGET_UNTARGETABLE: return { "SPELL_ATTR6_CAN_TARGET_UNTARGETABLE", "Can target untargetable units", "" }; + case SPELL_ATTR6_NOT_RESET_SWING_IF_INSTANT: return { "SPELL_ATTR6_NOT_RESET_SWING_IF_INSTANT", "Do not reset swing timer if cast time is instant", "" }; + case SPELL_ATTR6_UNK26: return { "SPELL_ATTR6_UNK26", "Unknown attribute 26@Attr6", "Player castable buff?" }; + case SPELL_ATTR6_LIMIT_PCT_HEALING_MODS: return { "SPELL_ATTR6_LIMIT_PCT_HEALING_MODS", "Limit applicable %healing modifiers", "This prevents certain healing modifiers from applying - see implementation if you really care about details" }; + case SPELL_ATTR6_UNK28: return { "SPELL_ATTR6_UNK28", "Unknown attribute 28@Attr6", "Death grip?" }; + case SPELL_ATTR6_LIMIT_PCT_DAMAGE_MODS: return { "SPELL_ATTR6_LIMIT_PCT_DAMAGE_MODS", "Limit applicable %damage modifiers", "This prevents certain damage modifiers from applying - see implementation if you really care about details" }; + case SPELL_ATTR6_UNK30: return { "SPELL_ATTR6_UNK30", "Unknown attribute 30@Attr6", "" }; + case SPELL_ATTR6_IGNORE_CATEGORY_COOLDOWN_MODS: return { "SPELL_ATTR6_IGNORE_CATEGORY_COOLDOWN_MODS", "Ignore cooldown modifiers for category cooldown", "" }; default: throw std::out_of_range("value"); } } @@ -727,38 +727,38 @@ TC_API_EXPORT EnumText EnumUtils<SpellAttr7>::ToString(SpellAttr7 value) { switch (value) { - case SPELL_ATTR7_UNK0: return { "SPELL_ATTR7_UNK0", "SPELL_ATTR7_UNK0", "0 Shaman's new spells (Call of the ...), Feign Death." }; - case SPELL_ATTR7_IGNORE_DURATION_MODS: return { "SPELL_ATTR7_IGNORE_DURATION_MODS", "SPELL_ATTR7_IGNORE_DURATION_MODS", "1 Duration is not affected by duration modifiers" }; - case SPELL_ATTR7_REACTIVATE_AT_RESURRECT: return { "SPELL_ATTR7_REACTIVATE_AT_RESURRECT", "SPELL_ATTR7_REACTIVATE_AT_RESURRECT", "2 Paladin's auras and 65607 only." }; - case SPELL_ATTR7_IS_CHEAT_SPELL: return { "SPELL_ATTR7_IS_CHEAT_SPELL", "SPELL_ATTR7_IS_CHEAT_SPELL", "3 Cannot cast if caster doesn't have UnitFlag2 & UNIT_FLAG2_ALLOW_CHEAT_SPELLS" }; - case SPELL_ATTR7_UNK4: return { "SPELL_ATTR7_UNK4", "SPELL_ATTR7_UNK4", "4 Only 47883 (Soulstone Resurrection) and test spell." }; - case SPELL_ATTR7_SUMMON_PLAYER_TOTEM: return { "SPELL_ATTR7_SUMMON_PLAYER_TOTEM", "SPELL_ATTR7_SUMMON_PLAYER_TOTEM", "5 Only Shaman player totems." }; - case SPELL_ATTR7_NO_PUSHBACK_ON_DAMAGE: return { "SPELL_ATTR7_NO_PUSHBACK_ON_DAMAGE", "SPELL_ATTR7_NO_PUSHBACK_ON_DAMAGE", "6 Does not cause spell pushback on damage" }; - case SPELL_ATTR7_UNK7: return { "SPELL_ATTR7_UNK7", "SPELL_ATTR7_UNK7", "7 66218 (Launch) spell." }; - case SPELL_ATTR7_HORDE_ONLY: return { "SPELL_ATTR7_HORDE_ONLY", "SPELL_ATTR7_HORDE_ONLY", "8 Teleports, mounts and other spells." }; - case SPELL_ATTR7_ALLIANCE_ONLY: return { "SPELL_ATTR7_ALLIANCE_ONLY", "SPELL_ATTR7_ALLIANCE_ONLY", "9 Teleports, mounts and other spells." }; - case SPELL_ATTR7_DISPEL_CHARGES: return { "SPELL_ATTR7_DISPEL_CHARGES", "SPELL_ATTR7_DISPEL_CHARGES", "10 Dispel and Spellsteal individual charges instead of whole aura." }; - case SPELL_ATTR7_INTERRUPT_ONLY_NONPLAYER: return { "SPELL_ATTR7_INTERRUPT_ONLY_NONPLAYER", "SPELL_ATTR7_INTERRUPT_ONLY_NONPLAYER", "11 Only non-player casts interrupt, though Feral Charge - Bear has it." }; - case SPELL_ATTR7_UNK12: return { "SPELL_ATTR7_UNK12", "SPELL_ATTR7_UNK12", "12 Not set in 3.2.2a." }; - case SPELL_ATTR7_UNK13: return { "SPELL_ATTR7_UNK13", "SPELL_ATTR7_UNK13", "13 Not set in 3.2.2a." }; - case SPELL_ATTR7_UNK14: return { "SPELL_ATTR7_UNK14", "SPELL_ATTR7_UNK14", "14 Only 52150 (Raise Dead - Pet) spell." }; - case SPELL_ATTR7_UNK15: return { "SPELL_ATTR7_UNK15", "SPELL_ATTR7_UNK15", "15 Exorcism. Usable on players? 100% crit chance on undead and demons?" }; - case SPELL_ATTR7_CAN_RESTORE_SECONDARY_POWER: return { "SPELL_ATTR7_CAN_RESTORE_SECONDARY_POWER", "SPELL_ATTR7_CAN_RESTORE_SECONDARY_POWER", "16 These spells can replenish a powertype, which is not the current powertype." }; - case SPELL_ATTR7_UNK17: return { "SPELL_ATTR7_UNK17", "SPELL_ATTR7_UNK17", "17 Only 27965 (Suicide) spell." }; - case SPELL_ATTR7_HAS_CHARGE_EFFECT: return { "SPELL_ATTR7_HAS_CHARGE_EFFECT", "SPELL_ATTR7_HAS_CHARGE_EFFECT", "18 Only spells that have Charge among effects." }; - case SPELL_ATTR7_ZONE_TELEPORT: return { "SPELL_ATTR7_ZONE_TELEPORT", "SPELL_ATTR7_ZONE_TELEPORT", "19 Teleports to specific zones." }; - case SPELL_ATTR7_UNK20: return { "SPELL_ATTR7_UNK20", "SPELL_ATTR7_UNK20", "20 Blink, Divine Shield, Ice Block" }; - case SPELL_ATTR7_UNK21: return { "SPELL_ATTR7_UNK21", "SPELL_ATTR7_UNK21", "21 Not set" }; - case SPELL_ATTR7_IGNORE_COLD_WEATHER_FLYING: return { "SPELL_ATTR7_IGNORE_COLD_WEATHER_FLYING", "SPELL_ATTR7_IGNORE_COLD_WEATHER_FLYING", "22 Loaned Gryphon, Loaned Wind Rider" }; - case SPELL_ATTR7_UNK23: return { "SPELL_ATTR7_UNK23", "SPELL_ATTR7_UNK23", "23 Motivate, Mutilate, Shattering Throw" }; - case SPELL_ATTR7_UNK24: return { "SPELL_ATTR7_UNK24", "SPELL_ATTR7_UNK24", "24 Motivate, Mutilate, Perform Speech, Shattering Throw" }; - case SPELL_ATTR7_UNK25: return { "SPELL_ATTR7_UNK25", "SPELL_ATTR7_UNK25", "25" }; - case SPELL_ATTR7_UNK26: return { "SPELL_ATTR7_UNK26", "SPELL_ATTR7_UNK26", "26" }; - case SPELL_ATTR7_UNK27: return { "SPELL_ATTR7_UNK27", "SPELL_ATTR7_UNK27", "27 Not set" }; - case SPELL_ATTR7_CONSOLIDATED_RAID_BUFF: return { "SPELL_ATTR7_CONSOLIDATED_RAID_BUFF", "SPELL_ATTR7_CONSOLIDATED_RAID_BUFF", "28 May be collapsed in raid buff frame (clientside attribute)" }; - case SPELL_ATTR7_UNK29: return { "SPELL_ATTR7_UNK29", "SPELL_ATTR7_UNK29", "29 only 69028, 71237" }; - case SPELL_ATTR7_UNK30: return { "SPELL_ATTR7_UNK30", "SPELL_ATTR7_UNK30", "30 Burning Determination, Divine Sacrifice, Earth Shield, Prayer of Mending" }; - case SPELL_ATTR7_CLIENT_INDICATOR: return { "SPELL_ATTR7_CLIENT_INDICATOR", "SPELL_ATTR7_CLIENT_INDICATOR", "" }; + case SPELL_ATTR7_UNK0: return { "SPELL_ATTR7_UNK0", "Unknown attribute 0@Attr7", "" }; + case SPELL_ATTR7_IGNORE_DURATION_MODS: return { "SPELL_ATTR7_IGNORE_DURATION_MODS", "Ignore duration modifiers", "" }; + case SPELL_ATTR7_REACTIVATE_AT_RESURRECT: return { "SPELL_ATTR7_REACTIVATE_AT_RESURRECT", "Reactivate at resurrect (client only)", "" }; + case SPELL_ATTR7_IS_CHEAT_SPELL: return { "SPELL_ATTR7_IS_CHEAT_SPELL", "Is cheat spell", "Cannot cast if caster doesn't have UnitFlag2 & UNIT_FLAG2_ALLOW_CHEAT_SPELLS" }; + case SPELL_ATTR7_UNK4: return { "SPELL_ATTR7_UNK4", "Unknown attribute 4@Attr7", "Soulstone related?" }; + case SPELL_ATTR7_SUMMON_PLAYER_TOTEM: return { "SPELL_ATTR7_SUMMON_PLAYER_TOTEM", "Summons player-owned totem", "" }; + case SPELL_ATTR7_NO_PUSHBACK_ON_DAMAGE: return { "SPELL_ATTR7_NO_PUSHBACK_ON_DAMAGE", "Damage dealt by this does not cause spell pushback", "" }; + case SPELL_ATTR7_UNK7: return { "SPELL_ATTR7_UNK7", "Unknown attribute 7@Attr7", "" }; + case SPELL_ATTR7_HORDE_ONLY: return { "SPELL_ATTR7_HORDE_ONLY", "Horde only", "" }; + case SPELL_ATTR7_ALLIANCE_ONLY: return { "SPELL_ATTR7_ALLIANCE_ONLY", "Alliance only", "" }; + case SPELL_ATTR7_DISPEL_CHARGES: return { "SPELL_ATTR7_DISPEL_CHARGES", "Dispel/Spellsteal remove individual charges", "" }; + case SPELL_ATTR7_INTERRUPT_ONLY_NONPLAYER: return { "SPELL_ATTR7_INTERRUPT_ONLY_NONPLAYER", "Only interrupt non-player casting", "" }; + case SPELL_ATTR7_UNK12: return { "SPELL_ATTR7_UNK12", "Unknown attribute 12@Attr7", "" }; + case SPELL_ATTR7_UNK13: return { "SPELL_ATTR7_UNK13", "Unknown attribute 13@Attr7", "" }; + case SPELL_ATTR7_UNK14: return { "SPELL_ATTR7_UNK14", "Unknown attribute 14@Attr7", "" }; + case SPELL_ATTR7_UNK15: return { "SPELL_ATTR7_UNK15", "Unknown attribute 15@Attr7", "Exorcism - guaranteed crit vs families?" }; + case SPELL_ATTR7_CAN_RESTORE_SECONDARY_POWER: return { "SPELL_ATTR7_CAN_RESTORE_SECONDARY_POWER", "Can restore secondary power", "Only spells with this attribute can replenish a non-active power type" }; + case SPELL_ATTR7_UNK17: return { "SPELL_ATTR7_UNK17", "Unknown attribute 17@Attr7", "" }; + case SPELL_ATTR7_HAS_CHARGE_EFFECT: return { "SPELL_ATTR7_HAS_CHARGE_EFFECT", "Has charge effect", "" }; + case SPELL_ATTR7_ZONE_TELEPORT: return { "SPELL_ATTR7_ZONE_TELEPORT", "Is zone teleport", "" }; + case SPELL_ATTR7_UNK20: return { "SPELL_ATTR7_UNK20", "Unknown attribute 20@Attr7", "Invulnerability related?" }; + case SPELL_ATTR7_UNK21: return { "SPELL_ATTR7_UNK21", "Unknown attribute 21@Attr7", "" }; + case SPELL_ATTR7_IGNORE_COLD_WEATHER_FLYING: return { "SPELL_ATTR7_IGNORE_COLD_WEATHER_FLYING", "Ignore cold weather flying restriction", "Set for loaner mounts, allows them to be used despite lacking required flight skill" }; + case SPELL_ATTR7_UNK23: return { "SPELL_ATTR7_UNK23", "Unknown attribute 23@Attr7", "" }; + case SPELL_ATTR7_UNK24: return { "SPELL_ATTR7_UNK24", "Unknown attribute 24@Attr7", "" }; + case SPELL_ATTR7_UNK25: return { "SPELL_ATTR7_UNK25", "Unknown attribute 25@Attr7", "" }; + case SPELL_ATTR7_UNK26: return { "SPELL_ATTR7_UNK26", "Unknown attribute 26@Attr7", "" }; + case SPELL_ATTR7_UNK27: return { "SPELL_ATTR7_UNK27", "Unknown attribute 27@Attr7", "" }; + case SPELL_ATTR7_CONSOLIDATED_RAID_BUFF: return { "SPELL_ATTR7_CONSOLIDATED_RAID_BUFF", "Consolidate in raid buff frame (client only)", "" }; + case SPELL_ATTR7_UNK29: return { "SPELL_ATTR7_UNK29", "Unknown attribute 29@Attr7", "" }; + case SPELL_ATTR7_UNK30: return { "SPELL_ATTR7_UNK30", "Unknown attribute 30@Attr7", "" }; + case SPELL_ATTR7_CLIENT_INDICATOR: return { "SPELL_ATTR7_CLIENT_INDICATOR", "Client indicator (client only)", "" }; default: throw std::out_of_range("value"); } } |