aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2018-11-12 00:39:53 +0100
committerShauren <shauren.trinity@gmail.com>2018-11-12 00:39:53 +0100
commitf6b0d99e2c0bc22b44d6f3cfdae50cbba7d51de8 (patch)
treefec55d275263a45b86a69e34314f072a1d27c298
parent0068813ef92bf93db2642d6a1eaf7c082eaa5d2d (diff)
GCC build fix
Closes #22785
-rw-r--r--contrib/enumutils_describe.py20
-rw-r--r--src/server/game/Entities/Creature/enuminfo_CreatureData.cpp80
-rw-r--r--src/server/game/Entities/Unit/enuminfo_UnitDefines.cpp142
-rw-r--r--src/server/shared/enuminfo_SharedDefines.cpp770
4 files changed, 537 insertions, 475 deletions
diff --git a/contrib/enumutils_describe.py b/contrib/enumutils_describe.py
index 82180ce8cc9..023b6523769 100644
--- a/contrib/enumutils_describe.py
+++ b/contrib/enumutils_describe.py
@@ -108,25 +108,32 @@ def processFile(path, filename):
output.write('#include "SmartEnum.h"\n')
output.write('#include <stdexcept>\n')
output.write('\n')
+ output.write('namespace Trinity\n')
+ output.write('{\n')
+ output.write('namespace Impl\n')
+ output.write('{\n')
for name, values in enums:
tag = ('data for enum \'%s\' in \'%s.h\' auto-generated' % (name, filename))
+ output.write('\n')
output.write('/*' + ('*'*(len(tag)+2)) + '*\\\n')
output.write('|* ' + tag + ' *|\n')
output.write('\\*' + ('*'*(len(tag)+2)) + '*/\n')
output.write('template <>\n')
- output.write('TC_API_EXPORT EnumText Trinity::Impl::EnumUtils<%s>::ToString(%s value)\n' % (name, name))
+ output.write('TC_API_EXPORT EnumText EnumUtils<%s>::ToString(%s value)\n' % (name, name))
output.write('{\n')
output.write(' switch (value)\n')
output.write(' {\n')
for label, title, description in values:
- output.write(' case %s: return {%s, %s, %s};\n' % (label, strescape(label), strescape(title), strescape(description)))
+ output.write(' case %s: return { %s, %s, %s };\n' % (label, strescape(label), strescape(title), strescape(description)))
output.write(' default: throw std::out_of_range("value");\n')
output.write(' }\n')
output.write('}\n')
+ output.write('\n')
output.write('template <>\n');
- output.write('TC_API_EXPORT size_t Trinity::Impl::EnumUtils<%s>::Count() { return %d; }\n' % (name, len(values)))
+ output.write('TC_API_EXPORT size_t EnumUtils<%s>::Count() { return %d; }\n' % (name, len(values)))
+ output.write('\n')
output.write('template <>\n');
- output.write('TC_API_EXPORT %s Trinity::Impl::EnumUtils<%s>::FromIndex(size_t index)\n' % (name, name))
+ output.write('TC_API_EXPORT %s EnumUtils<%s>::FromIndex(size_t index)\n' % (name, name))
output.write('{\n')
output.write(' switch (index)\n')
output.write(' {\n')
@@ -134,7 +141,10 @@ def processFile(path, filename):
output.write(' case %d: return %s;\n' % (i, values[i][0]))
output.write(' default: throw std::out_of_range("index");\n')
output.write(' }\n')
- output.write('}\n\n')
+ output.write('}\n')
+
+ output.write('}\n')
+ output.write('}\n')
FilenamePattern = compile(r'^(.+).h$')
for root, dirs, files in walk('.'):
diff --git a/src/server/game/Entities/Creature/enuminfo_CreatureData.cpp b/src/server/game/Entities/Creature/enuminfo_CreatureData.cpp
index 3e9c0fdfa0b..363c79f2228 100644
--- a/src/server/game/Entities/Creature/enuminfo_CreatureData.cpp
+++ b/src/server/game/Entities/Creature/enuminfo_CreatureData.cpp
@@ -20,53 +20,60 @@
#include "SmartEnum.h"
#include <stdexcept>
+namespace Trinity
+{
+namespace Impl
+{
+
/*************************************************************************\
|* data for enum 'CreatureFlagsExtra' in 'CreatureData.h' auto-generated *|
\*************************************************************************/
template <>
-TC_API_EXPORT EnumText Trinity::Impl::EnumUtils<CreatureFlagsExtra>::ToString(CreatureFlagsExtra value)
+TC_API_EXPORT EnumText EnumUtils<CreatureFlagsExtra>::ToString(CreatureFlagsExtra value)
{
switch (value)
{
- case CREATURE_FLAG_EXTRA_INSTANCE_BIND: return {"CREATURE_FLAG_EXTRA_INSTANCE_BIND", "CREATURE_FLAG_EXTRA_INSTANCE_BIND", "creature kill bind instance with killer and killer's group"};
- case CREATURE_FLAG_EXTRA_CIVILIAN: return {"CREATURE_FLAG_EXTRA_CIVILIAN", "CREATURE_FLAG_EXTRA_CIVILIAN", "not aggro (ignore faction/reputation hostility)"};
- case CREATURE_FLAG_EXTRA_NO_PARRY: return {"CREATURE_FLAG_EXTRA_NO_PARRY", "CREATURE_FLAG_EXTRA_NO_PARRY", "creature can't parry"};
- case CREATURE_FLAG_EXTRA_NO_PARRY_HASTEN: return {"CREATURE_FLAG_EXTRA_NO_PARRY_HASTEN", "CREATURE_FLAG_EXTRA_NO_PARRY_HASTEN", "creature can't counter-attack at parry"};
- case CREATURE_FLAG_EXTRA_NO_BLOCK: return {"CREATURE_FLAG_EXTRA_NO_BLOCK", "CREATURE_FLAG_EXTRA_NO_BLOCK", "creature can't block"};
- case CREATURE_FLAG_EXTRA_NO_CRUSH: return {"CREATURE_FLAG_EXTRA_NO_CRUSH", "CREATURE_FLAG_EXTRA_NO_CRUSH", "creature can't do crush attacks"};
- case CREATURE_FLAG_EXTRA_NO_XP_AT_KILL: return {"CREATURE_FLAG_EXTRA_NO_XP_AT_KILL", "CREATURE_FLAG_EXTRA_NO_XP_AT_KILL", "creature kill not provide XP"};
- case CREATURE_FLAG_EXTRA_TRIGGER: return {"CREATURE_FLAG_EXTRA_TRIGGER", "CREATURE_FLAG_EXTRA_TRIGGER", "trigger creature"};
- case CREATURE_FLAG_EXTRA_NO_TAUNT: return {"CREATURE_FLAG_EXTRA_NO_TAUNT", "CREATURE_FLAG_EXTRA_NO_TAUNT", "creature is immune to taunt auras and effect attack me"};
- case CREATURE_FLAG_EXTRA_NO_MOVE_FLAGS_UPDATE: return {"CREATURE_FLAG_EXTRA_NO_MOVE_FLAGS_UPDATE", "CREATURE_FLAG_EXTRA_NO_MOVE_FLAGS_UPDATE", "creature won't update movement flags"};
- case CREATURE_FLAG_EXTRA_GHOST_VISIBILITY: return {"CREATURE_FLAG_EXTRA_GHOST_VISIBILITY", "CREATURE_FLAG_EXTRA_GHOST_VISIBILITY", "creature will be only visible for dead players"};
- case CREATURE_FLAG_EXTRA_USE_OFFHAND_ATTACK: return {"CREATURE_FLAG_EXTRA_USE_OFFHAND_ATTACK", "CREATURE_FLAG_EXTRA_USE_OFFHAND_ATTACK", "creature will use offhand attacks"};
- case CREATURE_FLAG_EXTRA_NO_SELL_VENDOR: return {"CREATURE_FLAG_EXTRA_NO_SELL_VENDOR", "CREATURE_FLAG_EXTRA_NO_SELL_VENDOR", "players can't sell items to this vendor"};
- case CREATURE_FLAG_EXTRA_UNUSED_13: return {"CREATURE_FLAG_EXTRA_UNUSED_13", "CREATURE_FLAG_EXTRA_UNUSED_13", ""};
- case CREATURE_FLAG_EXTRA_WORLDEVENT: return {"CREATURE_FLAG_EXTRA_WORLDEVENT", "CREATURE_FLAG_EXTRA_WORLDEVENT", "custom flag for world event creatures (left room for merging)"};
- case CREATURE_FLAG_EXTRA_GUARD: return {"CREATURE_FLAG_EXTRA_GUARD", "CREATURE_FLAG_EXTRA_GUARD", "Creature is guard"};
- case CREATURE_FLAG_EXTRA_UNUSED_16: return {"CREATURE_FLAG_EXTRA_UNUSED_16", "CREATURE_FLAG_EXTRA_UNUSED_16", ""};
- case CREATURE_FLAG_EXTRA_NO_CRIT: return {"CREATURE_FLAG_EXTRA_NO_CRIT", "CREATURE_FLAG_EXTRA_NO_CRIT", "creature can't do critical strikes"};
- case CREATURE_FLAG_EXTRA_NO_SKILLGAIN: return {"CREATURE_FLAG_EXTRA_NO_SKILLGAIN", "CREATURE_FLAG_EXTRA_NO_SKILLGAIN", "creature won't increase weapon skills"};
- case CREATURE_FLAG_EXTRA_TAUNT_DIMINISH: return {"CREATURE_FLAG_EXTRA_TAUNT_DIMINISH", "CREATURE_FLAG_EXTRA_TAUNT_DIMINISH", "Taunt is a subject to diminishing returns on this creautre"};
- case CREATURE_FLAG_EXTRA_ALL_DIMINISH: return {"CREATURE_FLAG_EXTRA_ALL_DIMINISH", "CREATURE_FLAG_EXTRA_ALL_DIMINISH", "creature is subject to all diminishing returns as player are"};
- case CREATURE_FLAG_EXTRA_NO_PLAYER_DAMAGE_REQ: return {"CREATURE_FLAG_EXTRA_NO_PLAYER_DAMAGE_REQ", "CREATURE_FLAG_EXTRA_NO_PLAYER_DAMAGE_REQ", "creature does not need to take player damage for kill credit"};
- case CREATURE_FLAG_EXTRA_UNUSED_22: return {"CREATURE_FLAG_EXTRA_UNUSED_22", "CREATURE_FLAG_EXTRA_UNUSED_22", ""};
- case CREATURE_FLAG_EXTRA_UNUSED_23: return {"CREATURE_FLAG_EXTRA_UNUSED_23", "CREATURE_FLAG_EXTRA_UNUSED_23", ""};
- case CREATURE_FLAG_EXTRA_UNUSED_24: return {"CREATURE_FLAG_EXTRA_UNUSED_24", "CREATURE_FLAG_EXTRA_UNUSED_24", ""};
- case CREATURE_FLAG_EXTRA_UNUSED_25: return {"CREATURE_FLAG_EXTRA_UNUSED_25", "CREATURE_FLAG_EXTRA_UNUSED_25", ""};
- case CREATURE_FLAG_EXTRA_UNUSED_26: return {"CREATURE_FLAG_EXTRA_UNUSED_26", "CREATURE_FLAG_EXTRA_UNUSED_26", ""};
- case CREATURE_FLAG_EXTRA_UNUSED_27: return {"CREATURE_FLAG_EXTRA_UNUSED_27", "CREATURE_FLAG_EXTRA_UNUSED_27", ""};
- case CREATURE_FLAG_EXTRA_DUNGEON_BOSS: return {"CREATURE_FLAG_EXTRA_DUNGEON_BOSS", "CREATURE_FLAG_EXTRA_DUNGEON_BOSS", "creature is a dungeon boss (SET DYNAMICALLY, DO NOT ADD IN DB)"};
- case CREATURE_FLAG_EXTRA_IGNORE_PATHFINDING: return {"CREATURE_FLAG_EXTRA_IGNORE_PATHFINDING", "CREATURE_FLAG_EXTRA_IGNORE_PATHFINDING", "creature ignore pathfinding"};
- case CREATURE_FLAG_EXTRA_IMMUNITY_KNOCKBACK: return {"CREATURE_FLAG_EXTRA_IMMUNITY_KNOCKBACK", "CREATURE_FLAG_EXTRA_IMMUNITY_KNOCKBACK", "creature is immune to knockback effects"};
- case CREATURE_FLAG_EXTRA_UNUSED_31: return {"CREATURE_FLAG_EXTRA_UNUSED_31", "CREATURE_FLAG_EXTRA_UNUSED_31", ""};
+ case CREATURE_FLAG_EXTRA_INSTANCE_BIND: return { "CREATURE_FLAG_EXTRA_INSTANCE_BIND", "CREATURE_FLAG_EXTRA_INSTANCE_BIND", "creature kill bind instance with killer and killer's group" };
+ case CREATURE_FLAG_EXTRA_CIVILIAN: return { "CREATURE_FLAG_EXTRA_CIVILIAN", "CREATURE_FLAG_EXTRA_CIVILIAN", "not aggro (ignore faction/reputation hostility)" };
+ case CREATURE_FLAG_EXTRA_NO_PARRY: return { "CREATURE_FLAG_EXTRA_NO_PARRY", "CREATURE_FLAG_EXTRA_NO_PARRY", "creature can't parry" };
+ case CREATURE_FLAG_EXTRA_NO_PARRY_HASTEN: return { "CREATURE_FLAG_EXTRA_NO_PARRY_HASTEN", "CREATURE_FLAG_EXTRA_NO_PARRY_HASTEN", "creature can't counter-attack at parry" };
+ case CREATURE_FLAG_EXTRA_NO_BLOCK: return { "CREATURE_FLAG_EXTRA_NO_BLOCK", "CREATURE_FLAG_EXTRA_NO_BLOCK", "creature can't block" };
+ case CREATURE_FLAG_EXTRA_NO_CRUSH: return { "CREATURE_FLAG_EXTRA_NO_CRUSH", "CREATURE_FLAG_EXTRA_NO_CRUSH", "creature can't do crush attacks" };
+ case CREATURE_FLAG_EXTRA_NO_XP_AT_KILL: return { "CREATURE_FLAG_EXTRA_NO_XP_AT_KILL", "CREATURE_FLAG_EXTRA_NO_XP_AT_KILL", "creature kill not provide XP" };
+ case CREATURE_FLAG_EXTRA_TRIGGER: return { "CREATURE_FLAG_EXTRA_TRIGGER", "CREATURE_FLAG_EXTRA_TRIGGER", "trigger creature" };
+ case CREATURE_FLAG_EXTRA_NO_TAUNT: return { "CREATURE_FLAG_EXTRA_NO_TAUNT", "CREATURE_FLAG_EXTRA_NO_TAUNT", "creature is immune to taunt auras and effect attack me" };
+ case CREATURE_FLAG_EXTRA_NO_MOVE_FLAGS_UPDATE: return { "CREATURE_FLAG_EXTRA_NO_MOVE_FLAGS_UPDATE", "CREATURE_FLAG_EXTRA_NO_MOVE_FLAGS_UPDATE", "creature won't update movement flags" };
+ case CREATURE_FLAG_EXTRA_GHOST_VISIBILITY: return { "CREATURE_FLAG_EXTRA_GHOST_VISIBILITY", "CREATURE_FLAG_EXTRA_GHOST_VISIBILITY", "creature will be only visible for dead players" };
+ case CREATURE_FLAG_EXTRA_USE_OFFHAND_ATTACK: return { "CREATURE_FLAG_EXTRA_USE_OFFHAND_ATTACK", "CREATURE_FLAG_EXTRA_USE_OFFHAND_ATTACK", "creature will use offhand attacks" };
+ case CREATURE_FLAG_EXTRA_NO_SELL_VENDOR: return { "CREATURE_FLAG_EXTRA_NO_SELL_VENDOR", "CREATURE_FLAG_EXTRA_NO_SELL_VENDOR", "players can't sell items to this vendor" };
+ case CREATURE_FLAG_EXTRA_UNUSED_13: return { "CREATURE_FLAG_EXTRA_UNUSED_13", "CREATURE_FLAG_EXTRA_UNUSED_13", "" };
+ case CREATURE_FLAG_EXTRA_WORLDEVENT: return { "CREATURE_FLAG_EXTRA_WORLDEVENT", "CREATURE_FLAG_EXTRA_WORLDEVENT", "custom flag for world event creatures (left room for merging)" };
+ case CREATURE_FLAG_EXTRA_GUARD: return { "CREATURE_FLAG_EXTRA_GUARD", "CREATURE_FLAG_EXTRA_GUARD", "Creature is guard" };
+ case CREATURE_FLAG_EXTRA_UNUSED_16: return { "CREATURE_FLAG_EXTRA_UNUSED_16", "CREATURE_FLAG_EXTRA_UNUSED_16", "" };
+ case CREATURE_FLAG_EXTRA_NO_CRIT: return { "CREATURE_FLAG_EXTRA_NO_CRIT", "CREATURE_FLAG_EXTRA_NO_CRIT", "creature can't do critical strikes" };
+ case CREATURE_FLAG_EXTRA_NO_SKILLGAIN: return { "CREATURE_FLAG_EXTRA_NO_SKILLGAIN", "CREATURE_FLAG_EXTRA_NO_SKILLGAIN", "creature won't increase weapon skills" };
+ case CREATURE_FLAG_EXTRA_TAUNT_DIMINISH: return { "CREATURE_FLAG_EXTRA_TAUNT_DIMINISH", "CREATURE_FLAG_EXTRA_TAUNT_DIMINISH", "Taunt is a subject to diminishing returns on this creautre" };
+ case CREATURE_FLAG_EXTRA_ALL_DIMINISH: return { "CREATURE_FLAG_EXTRA_ALL_DIMINISH", "CREATURE_FLAG_EXTRA_ALL_DIMINISH", "creature is subject to all diminishing returns as player are" };
+ case CREATURE_FLAG_EXTRA_NO_PLAYER_DAMAGE_REQ: return { "CREATURE_FLAG_EXTRA_NO_PLAYER_DAMAGE_REQ", "CREATURE_FLAG_EXTRA_NO_PLAYER_DAMAGE_REQ", "creature does not need to take player damage for kill credit" };
+ case CREATURE_FLAG_EXTRA_UNUSED_22: return { "CREATURE_FLAG_EXTRA_UNUSED_22", "CREATURE_FLAG_EXTRA_UNUSED_22", "" };
+ case CREATURE_FLAG_EXTRA_UNUSED_23: return { "CREATURE_FLAG_EXTRA_UNUSED_23", "CREATURE_FLAG_EXTRA_UNUSED_23", "" };
+ case CREATURE_FLAG_EXTRA_UNUSED_24: return { "CREATURE_FLAG_EXTRA_UNUSED_24", "CREATURE_FLAG_EXTRA_UNUSED_24", "" };
+ case CREATURE_FLAG_EXTRA_UNUSED_25: return { "CREATURE_FLAG_EXTRA_UNUSED_25", "CREATURE_FLAG_EXTRA_UNUSED_25", "" };
+ case CREATURE_FLAG_EXTRA_UNUSED_26: return { "CREATURE_FLAG_EXTRA_UNUSED_26", "CREATURE_FLAG_EXTRA_UNUSED_26", "" };
+ case CREATURE_FLAG_EXTRA_UNUSED_27: return { "CREATURE_FLAG_EXTRA_UNUSED_27", "CREATURE_FLAG_EXTRA_UNUSED_27", "" };
+ case CREATURE_FLAG_EXTRA_DUNGEON_BOSS: return { "CREATURE_FLAG_EXTRA_DUNGEON_BOSS", "CREATURE_FLAG_EXTRA_DUNGEON_BOSS", "creature is a dungeon boss (SET DYNAMICALLY, DO NOT ADD IN DB)" };
+ case CREATURE_FLAG_EXTRA_IGNORE_PATHFINDING: return { "CREATURE_FLAG_EXTRA_IGNORE_PATHFINDING", "CREATURE_FLAG_EXTRA_IGNORE_PATHFINDING", "creature ignore pathfinding" };
+ case CREATURE_FLAG_EXTRA_IMMUNITY_KNOCKBACK: return { "CREATURE_FLAG_EXTRA_IMMUNITY_KNOCKBACK", "CREATURE_FLAG_EXTRA_IMMUNITY_KNOCKBACK", "creature is immune to knockback effects" };
+ case CREATURE_FLAG_EXTRA_UNUSED_31: return { "CREATURE_FLAG_EXTRA_UNUSED_31", "CREATURE_FLAG_EXTRA_UNUSED_31", "" };
default: throw std::out_of_range("value");
}
}
+
template <>
-TC_API_EXPORT size_t Trinity::Impl::EnumUtils<CreatureFlagsExtra>::Count() { return 32; }
+TC_API_EXPORT size_t EnumUtils<CreatureFlagsExtra>::Count() { return 32; }
+
template <>
-TC_API_EXPORT CreatureFlagsExtra Trinity::Impl::EnumUtils<CreatureFlagsExtra>::FromIndex(size_t index)
+TC_API_EXPORT CreatureFlagsExtra EnumUtils<CreatureFlagsExtra>::FromIndex(size_t index)
{
switch (index)
{
@@ -105,4 +112,5 @@ TC_API_EXPORT CreatureFlagsExtra Trinity::Impl::EnumUtils<CreatureFlagsExtra>::F
default: throw std::out_of_range("index");
}
}
-
+}
+}
diff --git a/src/server/game/Entities/Unit/enuminfo_UnitDefines.cpp b/src/server/game/Entities/Unit/enuminfo_UnitDefines.cpp
index b1c1e6fa4b1..098b71b0a2d 100644
--- a/src/server/game/Entities/Unit/enuminfo_UnitDefines.cpp
+++ b/src/server/game/Entities/Unit/enuminfo_UnitDefines.cpp
@@ -20,53 +20,60 @@
#include "SmartEnum.h"
#include <stdexcept>
+namespace Trinity
+{
+namespace Impl
+{
+
/***************************************************************\
|* data for enum 'UnitFlags' in 'UnitDefines.h' auto-generated *|
\***************************************************************/
template <>
-TC_API_EXPORT EnumText Trinity::Impl::EnumUtils<UnitFlags>::ToString(UnitFlags value)
+TC_API_EXPORT EnumText EnumUtils<UnitFlags>::ToString(UnitFlags value)
{
switch (value)
{
- case UNIT_FLAG_SERVER_CONTROLLED: return {"UNIT_FLAG_SERVER_CONTROLLED", "UNIT_FLAG_SERVER_CONTROLLED", "set only when unit movement is controlled by server - by SPLINE/MONSTER_MOVE packets, together with UNIT_FLAG_STUNNED; only set to units controlled by client; client function CGUnit_C::IsClientControlled returns false when set for owner"};
- case UNIT_FLAG_NON_ATTACKABLE: return {"UNIT_FLAG_NON_ATTACKABLE", "UNIT_FLAG_NON_ATTACKABLE", "not attackable"};
- case UNIT_FLAG_REMOVE_CLIENT_CONTROL: return {"UNIT_FLAG_REMOVE_CLIENT_CONTROL", "UNIT_FLAG_REMOVE_CLIENT_CONTROL", "This is a legacy flag used to disable movement player's movement while controlling other units, SMSG_CLIENT_CONTROL replaces this functionality clientside now. CONFUSED and FLEEING flags have the same effect on client movement asDISABLE_MOVE_CONTROL in addition to preventing spell casts/autoattack (they all allow climbing steeper hills and emotes while moving)"};
- case UNIT_FLAG_PLAYER_CONTROLLED: return {"UNIT_FLAG_PLAYER_CONTROLLED", "UNIT_FLAG_PLAYER_CONTROLLED", "controlled by player, use _IMMUNE_TO_PC instead of _IMMUNE_TO_NPC"};
- case UNIT_FLAG_RENAME: return {"UNIT_FLAG_RENAME", "UNIT_FLAG_RENAME", ""};
- case UNIT_FLAG_PREPARATION: return {"UNIT_FLAG_PREPARATION", "UNIT_FLAG_PREPARATION", "don't take reagents for spells with SPELL_ATTR5_NO_REAGENT_WHILE_PREP"};
- case UNIT_FLAG_UNK_6: return {"UNIT_FLAG_UNK_6", "UNIT_FLAG_UNK_6", ""};
- case UNIT_FLAG_NOT_ATTACKABLE_1: return {"UNIT_FLAG_NOT_ATTACKABLE_1", "UNIT_FLAG_NOT_ATTACKABLE_1", "?? (UNIT_FLAG_PLAYER_CONTROLLED | UNIT_FLAG_NOT_ATTACKABLE_1) is NON_PVP_ATTACKABLE"};
- case UNIT_FLAG_IMMUNE_TO_PC: return {"UNIT_FLAG_IMMUNE_TO_PC", "UNIT_FLAG_IMMUNE_TO_PC", "disables combat/assistance with PlayerCharacters (PC) - see Unit::IsValidAttackTarget, Unit::IsValidAssistTarget"};
- case UNIT_FLAG_IMMUNE_TO_NPC: return {"UNIT_FLAG_IMMUNE_TO_NPC", "UNIT_FLAG_IMMUNE_TO_NPC", "disables combat/assistance with NonPlayerCharacters (NPC) - see Unit::IsValidAttackTarget, Unit::IsValidAssistTarget"};
- case UNIT_FLAG_LOOTING: return {"UNIT_FLAG_LOOTING", "UNIT_FLAG_LOOTING", "loot animation"};
- case UNIT_FLAG_PET_IN_COMBAT: return {"UNIT_FLAG_PET_IN_COMBAT", "UNIT_FLAG_PET_IN_COMBAT", "on player pets: whether the pet is chasing a target to attack || on other units: whether any of the unit's minions is in combat"};
- case UNIT_FLAG_PVP: return {"UNIT_FLAG_PVP", "UNIT_FLAG_PVP", "changed in 3.0.3"};
- case UNIT_FLAG_SILENCED: return {"UNIT_FLAG_SILENCED", "UNIT_FLAG_SILENCED", "silenced, 2.1.1"};
- case UNIT_FLAG_CANNOT_SWIM: return {"UNIT_FLAG_CANNOT_SWIM", "UNIT_FLAG_CANNOT_SWIM", "2.0.8"};
- case UNIT_FLAG_UNK_15: return {"UNIT_FLAG_UNK_15", "UNIT_FLAG_UNK_15", ""};
- case UNIT_FLAG_NON_ATTACKABLE_2: return {"UNIT_FLAG_NON_ATTACKABLE_2", "UNIT_FLAG_NON_ATTACKABLE_2", "removes attackable icon, if on yourself, cannot assist self but can cast TARGET_SELF spells - added by SPELL_AURA_MOD_UNATTACKABLE"};
- case UNIT_FLAG_PACIFIED: return {"UNIT_FLAG_PACIFIED", "UNIT_FLAG_PACIFIED", "3.0.3 ok"};
- case UNIT_FLAG_STUNNED: return {"UNIT_FLAG_STUNNED", "UNIT_FLAG_STUNNED", "3.0.3 ok"};
- case UNIT_FLAG_IN_COMBAT: return {"UNIT_FLAG_IN_COMBAT", "UNIT_FLAG_IN_COMBAT", ""};
- case UNIT_FLAG_TAXI_FLIGHT: return {"UNIT_FLAG_TAXI_FLIGHT", "UNIT_FLAG_TAXI_FLIGHT", "disable casting at client side spell not allowed by taxi flight (mounted?), probably used with 0x4 flag"};
- case UNIT_FLAG_DISARMED: return {"UNIT_FLAG_DISARMED", "UNIT_FLAG_DISARMED", "3.0.3, disable melee spells casting..., \042Required melee weapon\042 added to melee spells tooltip."};
- case UNIT_FLAG_CONFUSED: return {"UNIT_FLAG_CONFUSED", "UNIT_FLAG_CONFUSED", ""};
- case UNIT_FLAG_FLEEING: return {"UNIT_FLAG_FLEEING", "UNIT_FLAG_FLEEING", ""};
- case UNIT_FLAG_POSSESSED: return {"UNIT_FLAG_POSSESSED", "UNIT_FLAG_POSSESSED", "under direct client control by a player (possess or vehicle)"};
- case UNIT_FLAG_NOT_SELECTABLE: return {"UNIT_FLAG_NOT_SELECTABLE", "UNIT_FLAG_NOT_SELECTABLE", ""};
- case UNIT_FLAG_SKINNABLE: return {"UNIT_FLAG_SKINNABLE", "UNIT_FLAG_SKINNABLE", ""};
- case UNIT_FLAG_MOUNT: return {"UNIT_FLAG_MOUNT", "UNIT_FLAG_MOUNT", ""};
- case UNIT_FLAG_UNK_28: return {"UNIT_FLAG_UNK_28", "UNIT_FLAG_UNK_28", ""};
- case UNIT_FLAG_UNK_29: return {"UNIT_FLAG_UNK_29", "UNIT_FLAG_UNK_29", "used in Feing Death spell"};
- case UNIT_FLAG_SHEATHE: return {"UNIT_FLAG_SHEATHE", "UNIT_FLAG_SHEATHE", ""};
- case UNIT_FLAG_UNK_31: return {"UNIT_FLAG_UNK_31", "UNIT_FLAG_UNK_31", ""};
+ case UNIT_FLAG_SERVER_CONTROLLED: return { "UNIT_FLAG_SERVER_CONTROLLED", "UNIT_FLAG_SERVER_CONTROLLED", "set only when unit movement is controlled by server - by SPLINE/MONSTER_MOVE packets, together with UNIT_FLAG_STUNNED; only set to units controlled by client; client function CGUnit_C::IsClientControlled returns false when set for owner" };
+ case UNIT_FLAG_NON_ATTACKABLE: return { "UNIT_FLAG_NON_ATTACKABLE", "UNIT_FLAG_NON_ATTACKABLE", "not attackable" };
+ case UNIT_FLAG_REMOVE_CLIENT_CONTROL: return { "UNIT_FLAG_REMOVE_CLIENT_CONTROL", "UNIT_FLAG_REMOVE_CLIENT_CONTROL", "This is a legacy flag used to disable movement player's movement while controlling other units, SMSG_CLIENT_CONTROL replaces this functionality clientside now. CONFUSED and FLEEING flags have the same effect on client movement asDISABLE_MOVE_CONTROL in addition to preventing spell casts/autoattack (they all allow climbing steeper hills and emotes while moving)" };
+ case UNIT_FLAG_PLAYER_CONTROLLED: return { "UNIT_FLAG_PLAYER_CONTROLLED", "UNIT_FLAG_PLAYER_CONTROLLED", "controlled by player, use _IMMUNE_TO_PC instead of _IMMUNE_TO_NPC" };
+ case UNIT_FLAG_RENAME: return { "UNIT_FLAG_RENAME", "UNIT_FLAG_RENAME", "" };
+ case UNIT_FLAG_PREPARATION: return { "UNIT_FLAG_PREPARATION", "UNIT_FLAG_PREPARATION", "don't take reagents for spells with SPELL_ATTR5_NO_REAGENT_WHILE_PREP" };
+ case UNIT_FLAG_UNK_6: return { "UNIT_FLAG_UNK_6", "UNIT_FLAG_UNK_6", "" };
+ case UNIT_FLAG_NOT_ATTACKABLE_1: return { "UNIT_FLAG_NOT_ATTACKABLE_1", "UNIT_FLAG_NOT_ATTACKABLE_1", "?? (UNIT_FLAG_PLAYER_CONTROLLED | UNIT_FLAG_NOT_ATTACKABLE_1) is NON_PVP_ATTACKABLE" };
+ case UNIT_FLAG_IMMUNE_TO_PC: return { "UNIT_FLAG_IMMUNE_TO_PC", "UNIT_FLAG_IMMUNE_TO_PC", "disables combat/assistance with PlayerCharacters (PC) - see Unit::IsValidAttackTarget, Unit::IsValidAssistTarget" };
+ case UNIT_FLAG_IMMUNE_TO_NPC: return { "UNIT_FLAG_IMMUNE_TO_NPC", "UNIT_FLAG_IMMUNE_TO_NPC", "disables combat/assistance with NonPlayerCharacters (NPC) - see Unit::IsValidAttackTarget, Unit::IsValidAssistTarget" };
+ case UNIT_FLAG_LOOTING: return { "UNIT_FLAG_LOOTING", "UNIT_FLAG_LOOTING", "loot animation" };
+ case UNIT_FLAG_PET_IN_COMBAT: return { "UNIT_FLAG_PET_IN_COMBAT", "UNIT_FLAG_PET_IN_COMBAT", "on player pets: whether the pet is chasing a target to attack || on other units: whether any of the unit's minions is in combat" };
+ case UNIT_FLAG_PVP: return { "UNIT_FLAG_PVP", "UNIT_FLAG_PVP", "changed in 3.0.3" };
+ case UNIT_FLAG_SILENCED: return { "UNIT_FLAG_SILENCED", "UNIT_FLAG_SILENCED", "silenced, 2.1.1" };
+ case UNIT_FLAG_CANNOT_SWIM: return { "UNIT_FLAG_CANNOT_SWIM", "UNIT_FLAG_CANNOT_SWIM", "2.0.8" };
+ case UNIT_FLAG_UNK_15: return { "UNIT_FLAG_UNK_15", "UNIT_FLAG_UNK_15", "" };
+ case UNIT_FLAG_NON_ATTACKABLE_2: return { "UNIT_FLAG_NON_ATTACKABLE_2", "UNIT_FLAG_NON_ATTACKABLE_2", "removes attackable icon, if on yourself, cannot assist self but can cast TARGET_SELF spells - added by SPELL_AURA_MOD_UNATTACKABLE" };
+ case UNIT_FLAG_PACIFIED: return { "UNIT_FLAG_PACIFIED", "UNIT_FLAG_PACIFIED", "3.0.3 ok" };
+ case UNIT_FLAG_STUNNED: return { "UNIT_FLAG_STUNNED", "UNIT_FLAG_STUNNED", "3.0.3 ok" };
+ case UNIT_FLAG_IN_COMBAT: return { "UNIT_FLAG_IN_COMBAT", "UNIT_FLAG_IN_COMBAT", "" };
+ case UNIT_FLAG_TAXI_FLIGHT: return { "UNIT_FLAG_TAXI_FLIGHT", "UNIT_FLAG_TAXI_FLIGHT", "disable casting at client side spell not allowed by taxi flight (mounted?), probably used with 0x4 flag" };
+ case UNIT_FLAG_DISARMED: return { "UNIT_FLAG_DISARMED", "UNIT_FLAG_DISARMED", "3.0.3, disable melee spells casting..., \042Required melee weapon\042 added to melee spells tooltip." };
+ case UNIT_FLAG_CONFUSED: return { "UNIT_FLAG_CONFUSED", "UNIT_FLAG_CONFUSED", "" };
+ case UNIT_FLAG_FLEEING: return { "UNIT_FLAG_FLEEING", "UNIT_FLAG_FLEEING", "" };
+ case UNIT_FLAG_POSSESSED: return { "UNIT_FLAG_POSSESSED", "UNIT_FLAG_POSSESSED", "under direct client control by a player (possess or vehicle)" };
+ case UNIT_FLAG_NOT_SELECTABLE: return { "UNIT_FLAG_NOT_SELECTABLE", "UNIT_FLAG_NOT_SELECTABLE", "" };
+ case UNIT_FLAG_SKINNABLE: return { "UNIT_FLAG_SKINNABLE", "UNIT_FLAG_SKINNABLE", "" };
+ case UNIT_FLAG_MOUNT: return { "UNIT_FLAG_MOUNT", "UNIT_FLAG_MOUNT", "" };
+ case UNIT_FLAG_UNK_28: return { "UNIT_FLAG_UNK_28", "UNIT_FLAG_UNK_28", "" };
+ case UNIT_FLAG_UNK_29: return { "UNIT_FLAG_UNK_29", "UNIT_FLAG_UNK_29", "used in Feing Death spell" };
+ case UNIT_FLAG_SHEATHE: return { "UNIT_FLAG_SHEATHE", "UNIT_FLAG_SHEATHE", "" };
+ case UNIT_FLAG_UNK_31: return { "UNIT_FLAG_UNK_31", "UNIT_FLAG_UNK_31", "" };
default: throw std::out_of_range("value");
}
}
+
template <>
-TC_API_EXPORT size_t Trinity::Impl::EnumUtils<UnitFlags>::Count() { return 32; }
+TC_API_EXPORT size_t EnumUtils<UnitFlags>::Count() { return 32; }
+
template <>
-TC_API_EXPORT UnitFlags Trinity::Impl::EnumUtils<UnitFlags>::FromIndex(size_t index)
+TC_API_EXPORT UnitFlags EnumUtils<UnitFlags>::FromIndex(size_t index)
{
switch (index)
{
@@ -110,44 +117,46 @@ TC_API_EXPORT UnitFlags Trinity::Impl::EnumUtils<UnitFlags>::FromIndex(size_t in
|* data for enum 'NPCFlags' in 'UnitDefines.h' auto-generated *|
\**************************************************************/
template <>
-TC_API_EXPORT EnumText Trinity::Impl::EnumUtils<NPCFlags>::ToString(NPCFlags value)
+TC_API_EXPORT EnumText EnumUtils<NPCFlags>::ToString(NPCFlags value)
{
switch (value)
{
- case UNIT_NPC_FLAG_GOSSIP: return {"UNIT_NPC_FLAG_GOSSIP", "has gossip menu", "100%"};
- case UNIT_NPC_FLAG_QUESTGIVER: return {"UNIT_NPC_FLAG_QUESTGIVER", "is quest giver", "guessed, probably ok"};
- case UNIT_NPC_FLAG_UNK1: return {"UNIT_NPC_FLAG_UNK1", "UNIT_NPC_FLAG_UNK1", ""};
- case UNIT_NPC_FLAG_UNK2: return {"UNIT_NPC_FLAG_UNK2", "UNIT_NPC_FLAG_UNK2", ""};
- case UNIT_NPC_FLAG_TRAINER: return {"UNIT_NPC_FLAG_TRAINER", "is trainer", "100%"};
- case UNIT_NPC_FLAG_TRAINER_CLASS: return {"UNIT_NPC_FLAG_TRAINER_CLASS", "is class trainer", "100%"};
- case UNIT_NPC_FLAG_TRAINER_PROFESSION: return {"UNIT_NPC_FLAG_TRAINER_PROFESSION", "is profession trainer", "100%"};
- case UNIT_NPC_FLAG_VENDOR: return {"UNIT_NPC_FLAG_VENDOR", "is vendor (generic)", "100%"};
- case UNIT_NPC_FLAG_VENDOR_AMMO: return {"UNIT_NPC_FLAG_VENDOR_AMMO", "is vendor (ammo)", "100%, general goods vendor"};
- case UNIT_NPC_FLAG_VENDOR_FOOD: return {"UNIT_NPC_FLAG_VENDOR_FOOD", "is vendor (food)", "100%"};
- case UNIT_NPC_FLAG_VENDOR_POISON: return {"UNIT_NPC_FLAG_VENDOR_POISON", "is vendor (poison)", "guessed"};
- case UNIT_NPC_FLAG_VENDOR_REAGENT: return {"UNIT_NPC_FLAG_VENDOR_REAGENT", "is vendor (reagents)", "100%"};
- case UNIT_NPC_FLAG_REPAIR: return {"UNIT_NPC_FLAG_REPAIR", "can repair", "100%"};
- case UNIT_NPC_FLAG_FLIGHTMASTER: return {"UNIT_NPC_FLAG_FLIGHTMASTER", "is flight master", "100%"};
- case UNIT_NPC_FLAG_SPIRITHEALER: return {"UNIT_NPC_FLAG_SPIRITHEALER", "is spirit healer", "guessed"};
- case UNIT_NPC_FLAG_SPIRITGUIDE: return {"UNIT_NPC_FLAG_SPIRITGUIDE", "is spirit guide", "guessed"};
- case UNIT_NPC_FLAG_INNKEEPER: return {"UNIT_NPC_FLAG_INNKEEPER", "is innkeeper", ""};
- case UNIT_NPC_FLAG_BANKER: return {"UNIT_NPC_FLAG_BANKER", "is banker", "100%"};
- case UNIT_NPC_FLAG_PETITIONER: return {"UNIT_NPC_FLAG_PETITIONER", "handles guild/arena petitions", "100% 0xC0000 = guild petitions, 0x40000 = arena team petitions"};
- case UNIT_NPC_FLAG_TABARDDESIGNER: return {"UNIT_NPC_FLAG_TABARDDESIGNER", "is guild tabard designer", "100%"};
- case UNIT_NPC_FLAG_BATTLEMASTER: return {"UNIT_NPC_FLAG_BATTLEMASTER", "is battlemaster", "100%"};
- case UNIT_NPC_FLAG_AUCTIONEER: return {"UNIT_NPC_FLAG_AUCTIONEER", "is auctioneer", "100%"};
- case UNIT_NPC_FLAG_STABLEMASTER: return {"UNIT_NPC_FLAG_STABLEMASTER", "is stable master", "100%"};
- case UNIT_NPC_FLAG_GUILD_BANKER: return {"UNIT_NPC_FLAG_GUILD_BANKER", "is guild banker", "cause client to send 997 opcode"};
- case UNIT_NPC_FLAG_SPELLCLICK: return {"UNIT_NPC_FLAG_SPELLCLICK", "has spell click enabled", "cause client to send 1015 opcode (spell click)"};
- case UNIT_NPC_FLAG_PLAYER_VEHICLE: return {"UNIT_NPC_FLAG_PLAYER_VEHICLE", "is player vehicle", "players with mounts that have vehicle data should have it set"};
- case UNIT_NPC_FLAG_MAILBOX: return {"UNIT_NPC_FLAG_MAILBOX", "is mailbox", ""};
+ case UNIT_NPC_FLAG_GOSSIP: return { "UNIT_NPC_FLAG_GOSSIP", "has gossip menu", "100%" };
+ case UNIT_NPC_FLAG_QUESTGIVER: return { "UNIT_NPC_FLAG_QUESTGIVER", "is quest giver", "guessed, probably ok" };
+ case UNIT_NPC_FLAG_UNK1: return { "UNIT_NPC_FLAG_UNK1", "UNIT_NPC_FLAG_UNK1", "" };
+ case UNIT_NPC_FLAG_UNK2: return { "UNIT_NPC_FLAG_UNK2", "UNIT_NPC_FLAG_UNK2", "" };
+ case UNIT_NPC_FLAG_TRAINER: return { "UNIT_NPC_FLAG_TRAINER", "is trainer", "100%" };
+ case UNIT_NPC_FLAG_TRAINER_CLASS: return { "UNIT_NPC_FLAG_TRAINER_CLASS", "is class trainer", "100%" };
+ case UNIT_NPC_FLAG_TRAINER_PROFESSION: return { "UNIT_NPC_FLAG_TRAINER_PROFESSION", "is profession trainer", "100%" };
+ case UNIT_NPC_FLAG_VENDOR: return { "UNIT_NPC_FLAG_VENDOR", "is vendor (generic)", "100%" };
+ case UNIT_NPC_FLAG_VENDOR_AMMO: return { "UNIT_NPC_FLAG_VENDOR_AMMO", "is vendor (ammo)", "100%, general goods vendor" };
+ case UNIT_NPC_FLAG_VENDOR_FOOD: return { "UNIT_NPC_FLAG_VENDOR_FOOD", "is vendor (food)", "100%" };
+ case UNIT_NPC_FLAG_VENDOR_POISON: return { "UNIT_NPC_FLAG_VENDOR_POISON", "is vendor (poison)", "guessed" };
+ case UNIT_NPC_FLAG_VENDOR_REAGENT: return { "UNIT_NPC_FLAG_VENDOR_REAGENT", "is vendor (reagents)", "100%" };
+ case UNIT_NPC_FLAG_REPAIR: return { "UNIT_NPC_FLAG_REPAIR", "can repair", "100%" };
+ case UNIT_NPC_FLAG_FLIGHTMASTER: return { "UNIT_NPC_FLAG_FLIGHTMASTER", "is flight master", "100%" };
+ case UNIT_NPC_FLAG_SPIRITHEALER: return { "UNIT_NPC_FLAG_SPIRITHEALER", "is spirit healer", "guessed" };
+ case UNIT_NPC_FLAG_SPIRITGUIDE: return { "UNIT_NPC_FLAG_SPIRITGUIDE", "is spirit guide", "guessed" };
+ case UNIT_NPC_FLAG_INNKEEPER: return { "UNIT_NPC_FLAG_INNKEEPER", "is innkeeper", "" };
+ case UNIT_NPC_FLAG_BANKER: return { "UNIT_NPC_FLAG_BANKER", "is banker", "100%" };
+ case UNIT_NPC_FLAG_PETITIONER: return { "UNIT_NPC_FLAG_PETITIONER", "handles guild/arena petitions", "100% 0xC0000 = guild petitions, 0x40000 = arena team petitions" };
+ case UNIT_NPC_FLAG_TABARDDESIGNER: return { "UNIT_NPC_FLAG_TABARDDESIGNER", "is guild tabard designer", "100%" };
+ case UNIT_NPC_FLAG_BATTLEMASTER: return { "UNIT_NPC_FLAG_BATTLEMASTER", "is battlemaster", "100%" };
+ case UNIT_NPC_FLAG_AUCTIONEER: return { "UNIT_NPC_FLAG_AUCTIONEER", "is auctioneer", "100%" };
+ case UNIT_NPC_FLAG_STABLEMASTER: return { "UNIT_NPC_FLAG_STABLEMASTER", "is stable master", "100%" };
+ case UNIT_NPC_FLAG_GUILD_BANKER: return { "UNIT_NPC_FLAG_GUILD_BANKER", "is guild banker", "cause client to send 997 opcode" };
+ case UNIT_NPC_FLAG_SPELLCLICK: return { "UNIT_NPC_FLAG_SPELLCLICK", "has spell click enabled", "cause client to send 1015 opcode (spell click)" };
+ case UNIT_NPC_FLAG_PLAYER_VEHICLE: return { "UNIT_NPC_FLAG_PLAYER_VEHICLE", "is player vehicle", "players with mounts that have vehicle data should have it set" };
+ case UNIT_NPC_FLAG_MAILBOX: return { "UNIT_NPC_FLAG_MAILBOX", "is mailbox", "" };
default: throw std::out_of_range("value");
}
}
+
template <>
-TC_API_EXPORT size_t Trinity::Impl::EnumUtils<NPCFlags>::Count() { return 27; }
+TC_API_EXPORT size_t EnumUtils<NPCFlags>::Count() { return 27; }
+
template <>
-TC_API_EXPORT NPCFlags Trinity::Impl::EnumUtils<NPCFlags>::FromIndex(size_t index)
+TC_API_EXPORT NPCFlags EnumUtils<NPCFlags>::FromIndex(size_t index)
{
switch (index)
{
@@ -181,4 +190,5 @@ TC_API_EXPORT NPCFlags Trinity::Impl::EnumUtils<NPCFlags>::FromIndex(size_t inde
default: throw std::out_of_range("index");
}
}
-
+}
+}
diff --git a/src/server/shared/enuminfo_SharedDefines.cpp b/src/server/shared/enuminfo_SharedDefines.cpp
index 51363e05155..b4567c8dbca 100644
--- a/src/server/shared/enuminfo_SharedDefines.cpp
+++ b/src/server/shared/enuminfo_SharedDefines.cpp
@@ -20,29 +20,36 @@
#include "SmartEnum.h"
#include <stdexcept>
+namespace Trinity
+{
+namespace Impl
+{
+
/**************************************************************\
|* data for enum 'Powers' in 'SharedDefines.h' auto-generated *|
\**************************************************************/
template <>
-TC_API_EXPORT EnumText Trinity::Impl::EnumUtils<Powers>::ToString(Powers value)
+TC_API_EXPORT EnumText EnumUtils<Powers>::ToString(Powers value)
{
switch (value)
{
- case POWER_HEALTH: return {"POWER_HEALTH", "Health", ""};
- case POWER_MANA: return {"POWER_MANA", "Mana", ""};
- case POWER_RAGE: return {"POWER_RAGE", "Rage", ""};
- case POWER_FOCUS: return {"POWER_FOCUS", "Focus", ""};
- case POWER_ENERGY: return {"POWER_ENERGY", "Energy", ""};
- case POWER_HAPPINESS: return {"POWER_HAPPINESS", "Happiness", ""};
- case POWER_RUNE: return {"POWER_RUNE", "Runes", ""};
- case POWER_RUNIC_POWER: return {"POWER_RUNIC_POWER", "Runic Power", ""};
+ case POWER_HEALTH: return { "POWER_HEALTH", "Health", "" };
+ case POWER_MANA: return { "POWER_MANA", "Mana", "" };
+ case POWER_RAGE: return { "POWER_RAGE", "Rage", "" };
+ case POWER_FOCUS: return { "POWER_FOCUS", "Focus", "" };
+ case POWER_ENERGY: return { "POWER_ENERGY", "Energy", "" };
+ case POWER_HAPPINESS: return { "POWER_HAPPINESS", "Happiness", "" };
+ case POWER_RUNE: return { "POWER_RUNE", "Runes", "" };
+ case POWER_RUNIC_POWER: return { "POWER_RUNIC_POWER", "Runic Power", "" };
default: throw std::out_of_range("value");
}
}
+
template <>
-TC_API_EXPORT size_t Trinity::Impl::EnumUtils<Powers>::Count() { return 8; }
+TC_API_EXPORT size_t EnumUtils<Powers>::Count() { return 8; }
+
template <>
-TC_API_EXPORT Powers Trinity::Impl::EnumUtils<Powers>::FromIndex(size_t index)
+TC_API_EXPORT Powers EnumUtils<Powers>::FromIndex(size_t index)
{
switch (index)
{
@@ -62,24 +69,26 @@ TC_API_EXPORT Powers Trinity::Impl::EnumUtils<Powers>::FromIndex(size_t index)
|* data for enum 'SpellSchools' in 'SharedDefines.h' auto-generated *|
\********************************************************************/
template <>
-TC_API_EXPORT EnumText Trinity::Impl::EnumUtils<SpellSchools>::ToString(SpellSchools value)
+TC_API_EXPORT EnumText EnumUtils<SpellSchools>::ToString(SpellSchools value)
{
switch (value)
{
- case SPELL_SCHOOL_NORMAL: return {"SPELL_SCHOOL_NORMAL", "Physical", ""};
- case SPELL_SCHOOL_HOLY: return {"SPELL_SCHOOL_HOLY", "Holy", ""};
- case SPELL_SCHOOL_FIRE: return {"SPELL_SCHOOL_FIRE", "Fire", ""};
- case SPELL_SCHOOL_NATURE: return {"SPELL_SCHOOL_NATURE", "Nature", ""};
- case SPELL_SCHOOL_FROST: return {"SPELL_SCHOOL_FROST", "Frost", ""};
- case SPELL_SCHOOL_SHADOW: return {"SPELL_SCHOOL_SHADOW", "Shadow", ""};
- case SPELL_SCHOOL_ARCANE: return {"SPELL_SCHOOL_ARCANE", "Arcane", ""};
+ case SPELL_SCHOOL_NORMAL: return { "SPELL_SCHOOL_NORMAL", "Physical", "" };
+ case SPELL_SCHOOL_HOLY: return { "SPELL_SCHOOL_HOLY", "Holy", "" };
+ case SPELL_SCHOOL_FIRE: return { "SPELL_SCHOOL_FIRE", "Fire", "" };
+ case SPELL_SCHOOL_NATURE: return { "SPELL_SCHOOL_NATURE", "Nature", "" };
+ case SPELL_SCHOOL_FROST: return { "SPELL_SCHOOL_FROST", "Frost", "" };
+ case SPELL_SCHOOL_SHADOW: return { "SPELL_SCHOOL_SHADOW", "Shadow", "" };
+ case SPELL_SCHOOL_ARCANE: return { "SPELL_SCHOOL_ARCANE", "Arcane", "" };
default: throw std::out_of_range("value");
}
}
+
template <>
-TC_API_EXPORT size_t Trinity::Impl::EnumUtils<SpellSchools>::Count() { return 7; }
+TC_API_EXPORT size_t EnumUtils<SpellSchools>::Count() { return 7; }
+
template <>
-TC_API_EXPORT SpellSchools Trinity::Impl::EnumUtils<SpellSchools>::FromIndex(size_t index)
+TC_API_EXPORT SpellSchools EnumUtils<SpellSchools>::FromIndex(size_t index)
{
switch (index)
{
@@ -98,49 +107,51 @@ TC_API_EXPORT SpellSchools Trinity::Impl::EnumUtils<SpellSchools>::FromIndex(siz
|* data for enum 'SpellAttr0' in 'SharedDefines.h' auto-generated *|
\******************************************************************/
template <>
-TC_API_EXPORT EnumText Trinity::Impl::EnumUtils<SpellAttr0>::ToString(SpellAttr0 value)
+TC_API_EXPORT EnumText EnumUtils<SpellAttr0>::ToString(SpellAttr0 value)
{
switch (value)
{
- case SPELL_ATTR0_UNK0: return {"SPELL_ATTR0_UNK0", "SPELL_ATTR0_UNK0", "0"};
- case SPELL_ATTR0_REQ_AMMO: return {"SPELL_ATTR0_REQ_AMMO", "SPELL_ATTR0_REQ_AMMO", "1 on next ranged"};
- case SPELL_ATTR0_ON_NEXT_SWING: return {"SPELL_ATTR0_ON_NEXT_SWING", "SPELL_ATTR0_ON_NEXT_SWING", "2"};
- case SPELL_ATTR0_IS_REPLENISHMENT: return {"SPELL_ATTR0_IS_REPLENISHMENT", "SPELL_ATTR0_IS_REPLENISHMENT", "3 not set in 3.0.3"};
- case SPELL_ATTR0_ABILITY: return {"SPELL_ATTR0_ABILITY", "SPELL_ATTR0_ABILITY", "4 client puts 'ability' instead of 'spell' in game strings for these spells"};
- case SPELL_ATTR0_TRADESPELL: return {"SPELL_ATTR0_TRADESPELL", "SPELL_ATTR0_TRADESPELL", "5 trade spells (recipes), will be added by client to a sublist of profession spell"};
- case SPELL_ATTR0_PASSIVE: return {"SPELL_ATTR0_PASSIVE", "SPELL_ATTR0_PASSIVE", "6 Passive spell"};
- case SPELL_ATTR0_HIDDEN_CLIENTSIDE: return {"SPELL_ATTR0_HIDDEN_CLIENTSIDE", "SPELL_ATTR0_HIDDEN_CLIENTSIDE", "7 Spells with this attribute are not visible in spellbook or aura bar"};
- case SPELL_ATTR0_HIDE_IN_COMBAT_LOG: return {"SPELL_ATTR0_HIDE_IN_COMBAT_LOG", "SPELL_ATTR0_HIDE_IN_COMBAT_LOG", "8 This attribite controls whether spell appears in combat logs"};
- case SPELL_ATTR0_TARGET_MAINHAND_ITEM: return {"SPELL_ATTR0_TARGET_MAINHAND_ITEM", "SPELL_ATTR0_TARGET_MAINHAND_ITEM", "9 Client automatically selects item from mainhand slot as a cast target"};
- case SPELL_ATTR0_ON_NEXT_SWING_2: return {"SPELL_ATTR0_ON_NEXT_SWING_2", "SPELL_ATTR0_ON_NEXT_SWING_2", "10"};
- case SPELL_ATTR0_UNK11: return {"SPELL_ATTR0_UNK11", "SPELL_ATTR0_UNK11", "11"};
- case SPELL_ATTR0_DAYTIME_ONLY: return {"SPELL_ATTR0_DAYTIME_ONLY", "SPELL_ATTR0_DAYTIME_ONLY", "12 only useable at daytime, not set in 2.4.2"};
- case SPELL_ATTR0_NIGHT_ONLY: return {"SPELL_ATTR0_NIGHT_ONLY", "SPELL_ATTR0_NIGHT_ONLY", "13 only useable at night, not set in 2.4.2"};
- case SPELL_ATTR0_INDOORS_ONLY: return {"SPELL_ATTR0_INDOORS_ONLY", "SPELL_ATTR0_INDOORS_ONLY", "14 only useable indoors, not set in 2.4.2"};
- case SPELL_ATTR0_OUTDOORS_ONLY: return {"SPELL_ATTR0_OUTDOORS_ONLY", "SPELL_ATTR0_OUTDOORS_ONLY", "15 Only useable outdoors."};
- case SPELL_ATTR0_NOT_SHAPESHIFT: return {"SPELL_ATTR0_NOT_SHAPESHIFT", "SPELL_ATTR0_NOT_SHAPESHIFT", "16 Not while shapeshifted"};
- case SPELL_ATTR0_ONLY_STEALTHED: return {"SPELL_ATTR0_ONLY_STEALTHED", "SPELL_ATTR0_ONLY_STEALTHED", "17 Must be in stealth"};
- case SPELL_ATTR0_DONT_AFFECT_SHEATH_STATE: return {"SPELL_ATTR0_DONT_AFFECT_SHEATH_STATE", "SPELL_ATTR0_DONT_AFFECT_SHEATH_STATE", "18 client won't hide unit weapons in sheath on cast/channel"};
- case SPELL_ATTR0_LEVEL_DAMAGE_CALCULATION: return {"SPELL_ATTR0_LEVEL_DAMAGE_CALCULATION", "SPELL_ATTR0_LEVEL_DAMAGE_CALCULATION", "19 spelldamage depends on caster level"};
- case SPELL_ATTR0_STOP_ATTACK_TARGET: return {"SPELL_ATTR0_STOP_ATTACK_TARGET", "SPELL_ATTR0_STOP_ATTACK_TARGET", "20 Stop attack after use this spell (and not begin attack if use)"};
- case SPELL_ATTR0_IMPOSSIBLE_DODGE_PARRY_BLOCK: return {"SPELL_ATTR0_IMPOSSIBLE_DODGE_PARRY_BLOCK", "SPELL_ATTR0_IMPOSSIBLE_DODGE_PARRY_BLOCK", "21 Cannot be dodged/parried/blocked"};
- case SPELL_ATTR0_CAST_TRACK_TARGET: return {"SPELL_ATTR0_CAST_TRACK_TARGET", "SPELL_ATTR0_CAST_TRACK_TARGET", "22 Client automatically forces player to face target when casting"};
- case SPELL_ATTR0_CASTABLE_WHILE_DEAD: return {"SPELL_ATTR0_CASTABLE_WHILE_DEAD", "SPELL_ATTR0_CASTABLE_WHILE_DEAD", "23 castable while dead?"};
- case SPELL_ATTR0_CASTABLE_WHILE_MOUNTED: return {"SPELL_ATTR0_CASTABLE_WHILE_MOUNTED", "SPELL_ATTR0_CASTABLE_WHILE_MOUNTED", "24 castable while mounted"};
- case SPELL_ATTR0_DISABLED_WHILE_ACTIVE: return {"SPELL_ATTR0_DISABLED_WHILE_ACTIVE", "SPELL_ATTR0_DISABLED_WHILE_ACTIVE", "25 Activate and start cooldown after aura fade or remove summoned creature or go"};
- case SPELL_ATTR0_NEGATIVE_1: return {"SPELL_ATTR0_NEGATIVE_1", "SPELL_ATTR0_NEGATIVE_1", "26 Many negative spells have this attr"};
- case SPELL_ATTR0_CASTABLE_WHILE_SITTING: return {"SPELL_ATTR0_CASTABLE_WHILE_SITTING", "SPELL_ATTR0_CASTABLE_WHILE_SITTING", "27 castable while sitting"};
- case SPELL_ATTR0_CANT_USED_IN_COMBAT: return {"SPELL_ATTR0_CANT_USED_IN_COMBAT", "SPELL_ATTR0_CANT_USED_IN_COMBAT", "28 Cannot be used in combat"};
- case SPELL_ATTR0_UNAFFECTED_BY_INVULNERABILITY: return {"SPELL_ATTR0_UNAFFECTED_BY_INVULNERABILITY", "SPELL_ATTR0_UNAFFECTED_BY_INVULNERABILITY", "29 unaffected by invulnerability (hmm possible not...)"};
- case SPELL_ATTR0_HEARTBEAT_RESIST_CHECK: return {"SPELL_ATTR0_HEARTBEAT_RESIST_CHECK", "SPELL_ATTR0_HEARTBEAT_RESIST_CHECK", "30 random chance the effect will end TODO: implement core support"};
- case SPELL_ATTR0_CANT_CANCEL: return {"SPELL_ATTR0_CANT_CANCEL", "SPELL_ATTR0_CANT_CANCEL", "31 positive aura can't be canceled"};
+ case SPELL_ATTR0_UNK0: return { "SPELL_ATTR0_UNK0", "SPELL_ATTR0_UNK0", "0" };
+ case SPELL_ATTR0_REQ_AMMO: return { "SPELL_ATTR0_REQ_AMMO", "SPELL_ATTR0_REQ_AMMO", "1 on next ranged" };
+ case SPELL_ATTR0_ON_NEXT_SWING: return { "SPELL_ATTR0_ON_NEXT_SWING", "SPELL_ATTR0_ON_NEXT_SWING", "2" };
+ case SPELL_ATTR0_IS_REPLENISHMENT: return { "SPELL_ATTR0_IS_REPLENISHMENT", "SPELL_ATTR0_IS_REPLENISHMENT", "3 not set in 3.0.3" };
+ case SPELL_ATTR0_ABILITY: return { "SPELL_ATTR0_ABILITY", "SPELL_ATTR0_ABILITY", "4 client puts 'ability' instead of 'spell' in game strings for these spells" };
+ case SPELL_ATTR0_TRADESPELL: return { "SPELL_ATTR0_TRADESPELL", "SPELL_ATTR0_TRADESPELL", "5 trade spells (recipes), will be added by client to a sublist of profession spell" };
+ case SPELL_ATTR0_PASSIVE: return { "SPELL_ATTR0_PASSIVE", "SPELL_ATTR0_PASSIVE", "6 Passive spell" };
+ case SPELL_ATTR0_HIDDEN_CLIENTSIDE: return { "SPELL_ATTR0_HIDDEN_CLIENTSIDE", "SPELL_ATTR0_HIDDEN_CLIENTSIDE", "7 Spells with this attribute are not visible in spellbook or aura bar" };
+ case SPELL_ATTR0_HIDE_IN_COMBAT_LOG: return { "SPELL_ATTR0_HIDE_IN_COMBAT_LOG", "SPELL_ATTR0_HIDE_IN_COMBAT_LOG", "8 This attribite controls whether spell appears in combat logs" };
+ case SPELL_ATTR0_TARGET_MAINHAND_ITEM: return { "SPELL_ATTR0_TARGET_MAINHAND_ITEM", "SPELL_ATTR0_TARGET_MAINHAND_ITEM", "9 Client automatically selects item from mainhand slot as a cast target" };
+ case SPELL_ATTR0_ON_NEXT_SWING_2: return { "SPELL_ATTR0_ON_NEXT_SWING_2", "SPELL_ATTR0_ON_NEXT_SWING_2", "10" };
+ case SPELL_ATTR0_UNK11: return { "SPELL_ATTR0_UNK11", "SPELL_ATTR0_UNK11", "11" };
+ case SPELL_ATTR0_DAYTIME_ONLY: return { "SPELL_ATTR0_DAYTIME_ONLY", "SPELL_ATTR0_DAYTIME_ONLY", "12 only useable at daytime, not set in 2.4.2" };
+ case SPELL_ATTR0_NIGHT_ONLY: return { "SPELL_ATTR0_NIGHT_ONLY", "SPELL_ATTR0_NIGHT_ONLY", "13 only useable at night, not set in 2.4.2" };
+ case SPELL_ATTR0_INDOORS_ONLY: return { "SPELL_ATTR0_INDOORS_ONLY", "SPELL_ATTR0_INDOORS_ONLY", "14 only useable indoors, not set in 2.4.2" };
+ case SPELL_ATTR0_OUTDOORS_ONLY: return { "SPELL_ATTR0_OUTDOORS_ONLY", "SPELL_ATTR0_OUTDOORS_ONLY", "15 Only useable outdoors." };
+ case SPELL_ATTR0_NOT_SHAPESHIFT: return { "SPELL_ATTR0_NOT_SHAPESHIFT", "SPELL_ATTR0_NOT_SHAPESHIFT", "16 Not while shapeshifted" };
+ case SPELL_ATTR0_ONLY_STEALTHED: return { "SPELL_ATTR0_ONLY_STEALTHED", "SPELL_ATTR0_ONLY_STEALTHED", "17 Must be in stealth" };
+ case SPELL_ATTR0_DONT_AFFECT_SHEATH_STATE: return { "SPELL_ATTR0_DONT_AFFECT_SHEATH_STATE", "SPELL_ATTR0_DONT_AFFECT_SHEATH_STATE", "18 client won't hide unit weapons in sheath on cast/channel" };
+ case SPELL_ATTR0_LEVEL_DAMAGE_CALCULATION: return { "SPELL_ATTR0_LEVEL_DAMAGE_CALCULATION", "SPELL_ATTR0_LEVEL_DAMAGE_CALCULATION", "19 spelldamage depends on caster level" };
+ case SPELL_ATTR0_STOP_ATTACK_TARGET: return { "SPELL_ATTR0_STOP_ATTACK_TARGET", "SPELL_ATTR0_STOP_ATTACK_TARGET", "20 Stop attack after use this spell (and not begin attack if use)" };
+ case SPELL_ATTR0_IMPOSSIBLE_DODGE_PARRY_BLOCK: return { "SPELL_ATTR0_IMPOSSIBLE_DODGE_PARRY_BLOCK", "SPELL_ATTR0_IMPOSSIBLE_DODGE_PARRY_BLOCK", "21 Cannot be dodged/parried/blocked" };
+ case SPELL_ATTR0_CAST_TRACK_TARGET: return { "SPELL_ATTR0_CAST_TRACK_TARGET", "SPELL_ATTR0_CAST_TRACK_TARGET", "22 Client automatically forces player to face target when casting" };
+ case SPELL_ATTR0_CASTABLE_WHILE_DEAD: return { "SPELL_ATTR0_CASTABLE_WHILE_DEAD", "SPELL_ATTR0_CASTABLE_WHILE_DEAD", "23 castable while dead?" };
+ case SPELL_ATTR0_CASTABLE_WHILE_MOUNTED: return { "SPELL_ATTR0_CASTABLE_WHILE_MOUNTED", "SPELL_ATTR0_CASTABLE_WHILE_MOUNTED", "24 castable while mounted" };
+ case SPELL_ATTR0_DISABLED_WHILE_ACTIVE: return { "SPELL_ATTR0_DISABLED_WHILE_ACTIVE", "SPELL_ATTR0_DISABLED_WHILE_ACTIVE", "25 Activate and start cooldown after aura fade or remove summoned creature or go" };
+ case SPELL_ATTR0_NEGATIVE_1: return { "SPELL_ATTR0_NEGATIVE_1", "SPELL_ATTR0_NEGATIVE_1", "26 Many negative spells have this attr" };
+ case SPELL_ATTR0_CASTABLE_WHILE_SITTING: return { "SPELL_ATTR0_CASTABLE_WHILE_SITTING", "SPELL_ATTR0_CASTABLE_WHILE_SITTING", "27 castable while sitting" };
+ case SPELL_ATTR0_CANT_USED_IN_COMBAT: return { "SPELL_ATTR0_CANT_USED_IN_COMBAT", "SPELL_ATTR0_CANT_USED_IN_COMBAT", "28 Cannot be used in combat" };
+ case SPELL_ATTR0_UNAFFECTED_BY_INVULNERABILITY: return { "SPELL_ATTR0_UNAFFECTED_BY_INVULNERABILITY", "SPELL_ATTR0_UNAFFECTED_BY_INVULNERABILITY", "29 unaffected by invulnerability (hmm possible not...)" };
+ case SPELL_ATTR0_HEARTBEAT_RESIST_CHECK: return { "SPELL_ATTR0_HEARTBEAT_RESIST_CHECK", "SPELL_ATTR0_HEARTBEAT_RESIST_CHECK", "30 random chance the effect will end TODO: implement core support" };
+ case SPELL_ATTR0_CANT_CANCEL: return { "SPELL_ATTR0_CANT_CANCEL", "SPELL_ATTR0_CANT_CANCEL", "31 positive aura can't be canceled" };
default: throw std::out_of_range("value");
}
}
+
template <>
-TC_API_EXPORT size_t Trinity::Impl::EnumUtils<SpellAttr0>::Count() { return 32; }
+TC_API_EXPORT size_t EnumUtils<SpellAttr0>::Count() { return 32; }
+
template <>
-TC_API_EXPORT SpellAttr0 Trinity::Impl::EnumUtils<SpellAttr0>::FromIndex(size_t index)
+TC_API_EXPORT SpellAttr0 EnumUtils<SpellAttr0>::FromIndex(size_t index)
{
switch (index)
{
@@ -184,49 +195,51 @@ TC_API_EXPORT SpellAttr0 Trinity::Impl::EnumUtils<SpellAttr0>::FromIndex(size_t
|* data for enum 'SpellAttr1' in 'SharedDefines.h' auto-generated *|
\******************************************************************/
template <>
-TC_API_EXPORT EnumText Trinity::Impl::EnumUtils<SpellAttr1>::ToString(SpellAttr1 value)
+TC_API_EXPORT EnumText EnumUtils<SpellAttr1>::ToString(SpellAttr1 value)
{
switch (value)
{
- case SPELL_ATTR1_DISMISS_PET: return {"SPELL_ATTR1_DISMISS_PET", "SPELL_ATTR1_DISMISS_PET", "0 for spells without this flag client doesn't allow to summon pet if caster has a pet"};
- case SPELL_ATTR1_DRAIN_ALL_POWER: return {"SPELL_ATTR1_DRAIN_ALL_POWER", "SPELL_ATTR1_DRAIN_ALL_POWER", "1 use all power (Only paladin Lay of Hands and Bunyanize)"};
- case SPELL_ATTR1_CHANNELED_1: return {"SPELL_ATTR1_CHANNELED_1", "SPELL_ATTR1_CHANNELED_1", "2 clientside checked? cancelable?"};
- case SPELL_ATTR1_CANT_BE_REDIRECTED: return {"SPELL_ATTR1_CANT_BE_REDIRECTED", "SPELL_ATTR1_CANT_BE_REDIRECTED", "3"};
- case SPELL_ATTR1_UNK4: return {"SPELL_ATTR1_UNK4", "SPELL_ATTR1_UNK4", "4 stealth and whirlwind"};
- case SPELL_ATTR1_NOT_BREAK_STEALTH: return {"SPELL_ATTR1_NOT_BREAK_STEALTH", "SPELL_ATTR1_NOT_BREAK_STEALTH", "5 Not break stealth"};
- case SPELL_ATTR1_CHANNELED_2: return {"SPELL_ATTR1_CHANNELED_2", "SPELL_ATTR1_CHANNELED_2", "6"};
- case SPELL_ATTR1_CANT_BE_REFLECTED: return {"SPELL_ATTR1_CANT_BE_REFLECTED", "SPELL_ATTR1_CANT_BE_REFLECTED", "7"};
- case SPELL_ATTR1_CANT_TARGET_IN_COMBAT: return {"SPELL_ATTR1_CANT_TARGET_IN_COMBAT", "SPELL_ATTR1_CANT_TARGET_IN_COMBAT", "8 can target only out of combat units"};
- case SPELL_ATTR1_MELEE_COMBAT_START: return {"SPELL_ATTR1_MELEE_COMBAT_START", "SPELL_ATTR1_MELEE_COMBAT_START", "9 player starts melee combat after this spell is cast"};
- case SPELL_ATTR1_NO_THREAT: return {"SPELL_ATTR1_NO_THREAT", "SPELL_ATTR1_NO_THREAT", "10 no generates threat on cast 100% (old NO_INITIAL_AGGRO)"};
- case SPELL_ATTR1_UNK11: return {"SPELL_ATTR1_UNK11", "SPELL_ATTR1_UNK11", "11 aura"};
- case SPELL_ATTR1_IS_PICKPOCKET: return {"SPELL_ATTR1_IS_PICKPOCKET", "SPELL_ATTR1_IS_PICKPOCKET", "12 Pickpocket"};
- case SPELL_ATTR1_FARSIGHT: return {"SPELL_ATTR1_FARSIGHT", "SPELL_ATTR1_FARSIGHT", "13 Client removes farsight on aura loss"};
- case SPELL_ATTR1_CHANNEL_TRACK_TARGET: return {"SPELL_ATTR1_CHANNEL_TRACK_TARGET", "SPELL_ATTR1_CHANNEL_TRACK_TARGET", "14 Client automatically forces player to face target when channeling"};
- case SPELL_ATTR1_DISPEL_AURAS_ON_IMMUNITY: return {"SPELL_ATTR1_DISPEL_AURAS_ON_IMMUNITY", "SPELL_ATTR1_DISPEL_AURAS_ON_IMMUNITY", "15 remove auras on immunity"};
- case SPELL_ATTR1_UNAFFECTED_BY_SCHOOL_IMMUNE: return {"SPELL_ATTR1_UNAFFECTED_BY_SCHOOL_IMMUNE", "SPELL_ATTR1_UNAFFECTED_BY_SCHOOL_IMMUNE", "16 on immuniy"};
- case SPELL_ATTR1_UNAUTOCASTABLE_BY_PET: return {"SPELL_ATTR1_UNAUTOCASTABLE_BY_PET", "SPELL_ATTR1_UNAUTOCASTABLE_BY_PET", "17"};
- case SPELL_ATTR1_UNK18: return {"SPELL_ATTR1_UNK18", "SPELL_ATTR1_UNK18", "18 stun, polymorph, daze, hex"};
- case SPELL_ATTR1_CANT_TARGET_SELF: return {"SPELL_ATTR1_CANT_TARGET_SELF", "SPELL_ATTR1_CANT_TARGET_SELF", "19"};
- case SPELL_ATTR1_REQ_COMBO_POINTS1: return {"SPELL_ATTR1_REQ_COMBO_POINTS1", "SPELL_ATTR1_REQ_COMBO_POINTS1", "20 Req combo points on target"};
- case SPELL_ATTR1_UNK21: return {"SPELL_ATTR1_UNK21", "SPELL_ATTR1_UNK21", "21"};
- case SPELL_ATTR1_REQ_COMBO_POINTS2: return {"SPELL_ATTR1_REQ_COMBO_POINTS2", "SPELL_ATTR1_REQ_COMBO_POINTS2", "22 Req combo points on target"};
- case SPELL_ATTR1_UNK23: return {"SPELL_ATTR1_UNK23", "SPELL_ATTR1_UNK23", "23"};
- case SPELL_ATTR1_IS_FISHING: return {"SPELL_ATTR1_IS_FISHING", "SPELL_ATTR1_IS_FISHING", "24 only fishing spells"};
- case SPELL_ATTR1_UNK25: return {"SPELL_ATTR1_UNK25", "SPELL_ATTR1_UNK25", "25"};
- case SPELL_ATTR1_UNK26: return {"SPELL_ATTR1_UNK26", "SPELL_ATTR1_UNK26", "26 works correctly with [target=focus] and [target=mouseover] macros?"};
- case SPELL_ATTR1_UNK27: return {"SPELL_ATTR1_UNK27", "SPELL_ATTR1_UNK27", "27 melee spell?"};
- case SPELL_ATTR1_DONT_DISPLAY_IN_AURA_BAR: return {"SPELL_ATTR1_DONT_DISPLAY_IN_AURA_BAR", "SPELL_ATTR1_DONT_DISPLAY_IN_AURA_BAR", "28 client doesn't display these spells in aura bar"};
- case SPELL_ATTR1_CHANNEL_DISPLAY_SPELL_NAME: return {"SPELL_ATTR1_CHANNEL_DISPLAY_SPELL_NAME", "SPELL_ATTR1_CHANNEL_DISPLAY_SPELL_NAME", "29 spell name is displayed in cast bar instead of 'channeling' text"};
- case SPELL_ATTR1_ENABLE_AT_DODGE: return {"SPELL_ATTR1_ENABLE_AT_DODGE", "SPELL_ATTR1_ENABLE_AT_DODGE", "30 Overpower"};
- case SPELL_ATTR1_UNK31: return {"SPELL_ATTR1_UNK31", "SPELL_ATTR1_UNK31", "31"};
+ case SPELL_ATTR1_DISMISS_PET: return { "SPELL_ATTR1_DISMISS_PET", "SPELL_ATTR1_DISMISS_PET", "0 for spells without this flag client doesn't allow to summon pet if caster has a pet" };
+ case SPELL_ATTR1_DRAIN_ALL_POWER: return { "SPELL_ATTR1_DRAIN_ALL_POWER", "SPELL_ATTR1_DRAIN_ALL_POWER", "1 use all power (Only paladin Lay of Hands and Bunyanize)" };
+ case SPELL_ATTR1_CHANNELED_1: return { "SPELL_ATTR1_CHANNELED_1", "SPELL_ATTR1_CHANNELED_1", "2 clientside checked? cancelable?" };
+ case SPELL_ATTR1_CANT_BE_REDIRECTED: return { "SPELL_ATTR1_CANT_BE_REDIRECTED", "SPELL_ATTR1_CANT_BE_REDIRECTED", "3" };
+ case SPELL_ATTR1_UNK4: return { "SPELL_ATTR1_UNK4", "SPELL_ATTR1_UNK4", "4 stealth and whirlwind" };
+ case SPELL_ATTR1_NOT_BREAK_STEALTH: return { "SPELL_ATTR1_NOT_BREAK_STEALTH", "SPELL_ATTR1_NOT_BREAK_STEALTH", "5 Not break stealth" };
+ case SPELL_ATTR1_CHANNELED_2: return { "SPELL_ATTR1_CHANNELED_2", "SPELL_ATTR1_CHANNELED_2", "6" };
+ case SPELL_ATTR1_CANT_BE_REFLECTED: return { "SPELL_ATTR1_CANT_BE_REFLECTED", "SPELL_ATTR1_CANT_BE_REFLECTED", "7" };
+ case SPELL_ATTR1_CANT_TARGET_IN_COMBAT: return { "SPELL_ATTR1_CANT_TARGET_IN_COMBAT", "SPELL_ATTR1_CANT_TARGET_IN_COMBAT", "8 can target only out of combat units" };
+ case SPELL_ATTR1_MELEE_COMBAT_START: return { "SPELL_ATTR1_MELEE_COMBAT_START", "SPELL_ATTR1_MELEE_COMBAT_START", "9 player starts melee combat after this spell is cast" };
+ case SPELL_ATTR1_NO_THREAT: return { "SPELL_ATTR1_NO_THREAT", "SPELL_ATTR1_NO_THREAT", "10 no generates threat on cast 100% (old NO_INITIAL_AGGRO)" };
+ case SPELL_ATTR1_UNK11: return { "SPELL_ATTR1_UNK11", "SPELL_ATTR1_UNK11", "11 aura" };
+ case SPELL_ATTR1_IS_PICKPOCKET: return { "SPELL_ATTR1_IS_PICKPOCKET", "SPELL_ATTR1_IS_PICKPOCKET", "12 Pickpocket" };
+ case SPELL_ATTR1_FARSIGHT: return { "SPELL_ATTR1_FARSIGHT", "SPELL_ATTR1_FARSIGHT", "13 Client removes farsight on aura loss" };
+ case SPELL_ATTR1_CHANNEL_TRACK_TARGET: return { "SPELL_ATTR1_CHANNEL_TRACK_TARGET", "SPELL_ATTR1_CHANNEL_TRACK_TARGET", "14 Client automatically forces player to face target when channeling" };
+ case SPELL_ATTR1_DISPEL_AURAS_ON_IMMUNITY: return { "SPELL_ATTR1_DISPEL_AURAS_ON_IMMUNITY", "SPELL_ATTR1_DISPEL_AURAS_ON_IMMUNITY", "15 remove auras on immunity" };
+ case SPELL_ATTR1_UNAFFECTED_BY_SCHOOL_IMMUNE: return { "SPELL_ATTR1_UNAFFECTED_BY_SCHOOL_IMMUNE", "SPELL_ATTR1_UNAFFECTED_BY_SCHOOL_IMMUNE", "16 on immuniy" };
+ case SPELL_ATTR1_UNAUTOCASTABLE_BY_PET: return { "SPELL_ATTR1_UNAUTOCASTABLE_BY_PET", "SPELL_ATTR1_UNAUTOCASTABLE_BY_PET", "17" };
+ case SPELL_ATTR1_UNK18: return { "SPELL_ATTR1_UNK18", "SPELL_ATTR1_UNK18", "18 stun, polymorph, daze, hex" };
+ case SPELL_ATTR1_CANT_TARGET_SELF: return { "SPELL_ATTR1_CANT_TARGET_SELF", "SPELL_ATTR1_CANT_TARGET_SELF", "19" };
+ case SPELL_ATTR1_REQ_COMBO_POINTS1: return { "SPELL_ATTR1_REQ_COMBO_POINTS1", "SPELL_ATTR1_REQ_COMBO_POINTS1", "20 Req combo points on target" };
+ case SPELL_ATTR1_UNK21: return { "SPELL_ATTR1_UNK21", "SPELL_ATTR1_UNK21", "21" };
+ case SPELL_ATTR1_REQ_COMBO_POINTS2: return { "SPELL_ATTR1_REQ_COMBO_POINTS2", "SPELL_ATTR1_REQ_COMBO_POINTS2", "22 Req combo points on target" };
+ case SPELL_ATTR1_UNK23: return { "SPELL_ATTR1_UNK23", "SPELL_ATTR1_UNK23", "23" };
+ case SPELL_ATTR1_IS_FISHING: return { "SPELL_ATTR1_IS_FISHING", "SPELL_ATTR1_IS_FISHING", "24 only fishing spells" };
+ case SPELL_ATTR1_UNK25: return { "SPELL_ATTR1_UNK25", "SPELL_ATTR1_UNK25", "25" };
+ case SPELL_ATTR1_UNK26: return { "SPELL_ATTR1_UNK26", "SPELL_ATTR1_UNK26", "26 works correctly with [target=focus] and [target=mouseover] macros?" };
+ case SPELL_ATTR1_UNK27: return { "SPELL_ATTR1_UNK27", "SPELL_ATTR1_UNK27", "27 melee spell?" };
+ case SPELL_ATTR1_DONT_DISPLAY_IN_AURA_BAR: return { "SPELL_ATTR1_DONT_DISPLAY_IN_AURA_BAR", "SPELL_ATTR1_DONT_DISPLAY_IN_AURA_BAR", "28 client doesn't display these spells in aura bar" };
+ case SPELL_ATTR1_CHANNEL_DISPLAY_SPELL_NAME: return { "SPELL_ATTR1_CHANNEL_DISPLAY_SPELL_NAME", "SPELL_ATTR1_CHANNEL_DISPLAY_SPELL_NAME", "29 spell name is displayed in cast bar instead of 'channeling' text" };
+ case SPELL_ATTR1_ENABLE_AT_DODGE: return { "SPELL_ATTR1_ENABLE_AT_DODGE", "SPELL_ATTR1_ENABLE_AT_DODGE", "30 Overpower" };
+ case SPELL_ATTR1_UNK31: return { "SPELL_ATTR1_UNK31", "SPELL_ATTR1_UNK31", "31" };
default: throw std::out_of_range("value");
}
}
+
template <>
-TC_API_EXPORT size_t Trinity::Impl::EnumUtils<SpellAttr1>::Count() { return 32; }
+TC_API_EXPORT size_t EnumUtils<SpellAttr1>::Count() { return 32; }
+
template <>
-TC_API_EXPORT SpellAttr1 Trinity::Impl::EnumUtils<SpellAttr1>::FromIndex(size_t index)
+TC_API_EXPORT SpellAttr1 EnumUtils<SpellAttr1>::FromIndex(size_t index)
{
switch (index)
{
@@ -270,49 +283,51 @@ TC_API_EXPORT SpellAttr1 Trinity::Impl::EnumUtils<SpellAttr1>::FromIndex(size_t
|* data for enum 'SpellAttr2' in 'SharedDefines.h' auto-generated *|
\******************************************************************/
template <>
-TC_API_EXPORT EnumText Trinity::Impl::EnumUtils<SpellAttr2>::ToString(SpellAttr2 value)
+TC_API_EXPORT EnumText EnumUtils<SpellAttr2>::ToString(SpellAttr2 value)
{
switch (value)
{
- case SPELL_ATTR2_CAN_TARGET_DEAD: return {"SPELL_ATTR2_CAN_TARGET_DEAD", "SPELL_ATTR2_CAN_TARGET_DEAD", "0 can target dead unit or corpse"};
- case SPELL_ATTR2_UNK1: return {"SPELL_ATTR2_UNK1", "SPELL_ATTR2_UNK1", "1 vanish, shadowform, Ghost Wolf and other"};
- case SPELL_ATTR2_CAN_TARGET_NOT_IN_LOS: return {"SPELL_ATTR2_CAN_TARGET_NOT_IN_LOS", "SPELL_ATTR2_CAN_TARGET_NOT_IN_LOS", "2 26368 4.0.1 dbc change"};
- case SPELL_ATTR2_UNK3: return {"SPELL_ATTR2_UNK3", "SPELL_ATTR2_UNK3", "3"};
- case SPELL_ATTR2_DISPLAY_IN_STANCE_BAR: return {"SPELL_ATTR2_DISPLAY_IN_STANCE_BAR", "SPELL_ATTR2_DISPLAY_IN_STANCE_BAR", "4 client displays icon in stance bar when learned, even if not shapeshift"};
- case SPELL_ATTR2_AUTOREPEAT_FLAG: return {"SPELL_ATTR2_AUTOREPEAT_FLAG", "SPELL_ATTR2_AUTOREPEAT_FLAG", "5"};
- case SPELL_ATTR2_CANT_TARGET_TAPPED: return {"SPELL_ATTR2_CANT_TARGET_TAPPED", "SPELL_ATTR2_CANT_TARGET_TAPPED", "6 target must be tapped by caster"};
- case SPELL_ATTR2_UNK7: return {"SPELL_ATTR2_UNK7", "SPELL_ATTR2_UNK7", "7"};
- case SPELL_ATTR2_UNK8: return {"SPELL_ATTR2_UNK8", "SPELL_ATTR2_UNK8", "8 not set in 3.0.3"};
- case SPELL_ATTR2_UNK9: return {"SPELL_ATTR2_UNK9", "SPELL_ATTR2_UNK9", "9"};
- case SPELL_ATTR2_UNK10: return {"SPELL_ATTR2_UNK10", "SPELL_ATTR2_UNK10", "10 related to tame"};
- case SPELL_ATTR2_HEALTH_FUNNEL: return {"SPELL_ATTR2_HEALTH_FUNNEL", "SPELL_ATTR2_HEALTH_FUNNEL", "11"};
- case SPELL_ATTR2_UNK12: return {"SPELL_ATTR2_UNK12", "SPELL_ATTR2_UNK12", "12 Cleave, Heart Strike, Maul, Sunder Armor, Swipe"};
- case SPELL_ATTR2_PRESERVE_ENCHANT_IN_ARENA: return {"SPELL_ATTR2_PRESERVE_ENCHANT_IN_ARENA", "SPELL_ATTR2_PRESERVE_ENCHANT_IN_ARENA", "13 Items enchanted by spells with this flag preserve the enchant to arenas"};
- case SPELL_ATTR2_UNK14: return {"SPELL_ATTR2_UNK14", "SPELL_ATTR2_UNK14", "14"};
- case SPELL_ATTR2_UNK15: return {"SPELL_ATTR2_UNK15", "SPELL_ATTR2_UNK15", "15 not set in 3.0.3"};
- case SPELL_ATTR2_TAME_BEAST: return {"SPELL_ATTR2_TAME_BEAST", "SPELL_ATTR2_TAME_BEAST", "16"};
- case SPELL_ATTR2_NOT_RESET_AUTO_ACTIONS: return {"SPELL_ATTR2_NOT_RESET_AUTO_ACTIONS", "SPELL_ATTR2_NOT_RESET_AUTO_ACTIONS", "17 don't reset timers for melee autoattacks (swings) or ranged autoattacks (autoshoots)"};
- case SPELL_ATTR2_REQ_DEAD_PET: return {"SPELL_ATTR2_REQ_DEAD_PET", "SPELL_ATTR2_REQ_DEAD_PET", "18 Only Revive pet and Heart of the Pheonix"};
- case SPELL_ATTR2_NOT_NEED_SHAPESHIFT: return {"SPELL_ATTR2_NOT_NEED_SHAPESHIFT", "SPELL_ATTR2_NOT_NEED_SHAPESHIFT", "19 does not necessarly need shapeshift"};
- case SPELL_ATTR2_UNK20: return {"SPELL_ATTR2_UNK20", "SPELL_ATTR2_UNK20", "20"};
- case SPELL_ATTR2_DAMAGE_REDUCED_SHIELD: return {"SPELL_ATTR2_DAMAGE_REDUCED_SHIELD", "SPELL_ATTR2_DAMAGE_REDUCED_SHIELD", "21 for ice blocks, pala immunity buffs, priest absorb shields, but used also for other spells -> not sure!"};
- case SPELL_ATTR2_UNK22: return {"SPELL_ATTR2_UNK22", "SPELL_ATTR2_UNK22", "22 Ambush, Backstab, Cheap Shot, Death Grip, Garrote, Judgements, Mutilate, Pounce, Ravage, Shiv, Shred"};
- case SPELL_ATTR2_IS_ARCANE_CONCENTRATION: return {"SPELL_ATTR2_IS_ARCANE_CONCENTRATION", "SPELL_ATTR2_IS_ARCANE_CONCENTRATION", "23 Only mage Arcane Concentration have this flag"};
- case SPELL_ATTR2_UNK24: return {"SPELL_ATTR2_UNK24", "SPELL_ATTR2_UNK24", "24"};
- case SPELL_ATTR2_UNK25: return {"SPELL_ATTR2_UNK25", "SPELL_ATTR2_UNK25", "25"};
- case SPELL_ATTR2_UNAFFECTED_BY_AURA_SCHOOL_IMMUNE: return {"SPELL_ATTR2_UNAFFECTED_BY_AURA_SCHOOL_IMMUNE", "SPELL_ATTR2_UNAFFECTED_BY_AURA_SCHOOL_IMMUNE", "26 unaffected by school immunity"};
- case SPELL_ATTR2_UNK27: return {"SPELL_ATTR2_UNK27", "SPELL_ATTR2_UNK27", "27"};
- case SPELL_ATTR2_UNK28: return {"SPELL_ATTR2_UNK28", "SPELL_ATTR2_UNK28", "28"};
- case SPELL_ATTR2_CANT_CRIT: return {"SPELL_ATTR2_CANT_CRIT", "SPELL_ATTR2_CANT_CRIT", "29 Spell can't crit"};
- case SPELL_ATTR2_TRIGGERED_CAN_TRIGGER_PROC: return {"SPELL_ATTR2_TRIGGERED_CAN_TRIGGER_PROC", "SPELL_ATTR2_TRIGGERED_CAN_TRIGGER_PROC", "30 spell can trigger even if triggered"};
- case SPELL_ATTR2_FOOD_BUFF: return {"SPELL_ATTR2_FOOD_BUFF", "SPELL_ATTR2_FOOD_BUFF", "31 Food or Drink Buff (like Well Fed)"};
+ case SPELL_ATTR2_CAN_TARGET_DEAD: return { "SPELL_ATTR2_CAN_TARGET_DEAD", "SPELL_ATTR2_CAN_TARGET_DEAD", "0 can target dead unit or corpse" };
+ case SPELL_ATTR2_UNK1: return { "SPELL_ATTR2_UNK1", "SPELL_ATTR2_UNK1", "1 vanish, shadowform, Ghost Wolf and other" };
+ case SPELL_ATTR2_CAN_TARGET_NOT_IN_LOS: return { "SPELL_ATTR2_CAN_TARGET_NOT_IN_LOS", "SPELL_ATTR2_CAN_TARGET_NOT_IN_LOS", "2 26368 4.0.1 dbc change" };
+ case SPELL_ATTR2_UNK3: return { "SPELL_ATTR2_UNK3", "SPELL_ATTR2_UNK3", "3" };
+ case SPELL_ATTR2_DISPLAY_IN_STANCE_BAR: return { "SPELL_ATTR2_DISPLAY_IN_STANCE_BAR", "SPELL_ATTR2_DISPLAY_IN_STANCE_BAR", "4 client displays icon in stance bar when learned, even if not shapeshift" };
+ case SPELL_ATTR2_AUTOREPEAT_FLAG: return { "SPELL_ATTR2_AUTOREPEAT_FLAG", "SPELL_ATTR2_AUTOREPEAT_FLAG", "5" };
+ case SPELL_ATTR2_CANT_TARGET_TAPPED: return { "SPELL_ATTR2_CANT_TARGET_TAPPED", "SPELL_ATTR2_CANT_TARGET_TAPPED", "6 target must be tapped by caster" };
+ case SPELL_ATTR2_UNK7: return { "SPELL_ATTR2_UNK7", "SPELL_ATTR2_UNK7", "7" };
+ case SPELL_ATTR2_UNK8: return { "SPELL_ATTR2_UNK8", "SPELL_ATTR2_UNK8", "8 not set in 3.0.3" };
+ case SPELL_ATTR2_UNK9: return { "SPELL_ATTR2_UNK9", "SPELL_ATTR2_UNK9", "9" };
+ case SPELL_ATTR2_UNK10: return { "SPELL_ATTR2_UNK10", "SPELL_ATTR2_UNK10", "10 related to tame" };
+ case SPELL_ATTR2_HEALTH_FUNNEL: return { "SPELL_ATTR2_HEALTH_FUNNEL", "SPELL_ATTR2_HEALTH_FUNNEL", "11" };
+ case SPELL_ATTR2_UNK12: return { "SPELL_ATTR2_UNK12", "SPELL_ATTR2_UNK12", "12 Cleave, Heart Strike, Maul, Sunder Armor, Swipe" };
+ case SPELL_ATTR2_PRESERVE_ENCHANT_IN_ARENA: return { "SPELL_ATTR2_PRESERVE_ENCHANT_IN_ARENA", "SPELL_ATTR2_PRESERVE_ENCHANT_IN_ARENA", "13 Items enchanted by spells with this flag preserve the enchant to arenas" };
+ case SPELL_ATTR2_UNK14: return { "SPELL_ATTR2_UNK14", "SPELL_ATTR2_UNK14", "14" };
+ case SPELL_ATTR2_UNK15: return { "SPELL_ATTR2_UNK15", "SPELL_ATTR2_UNK15", "15 not set in 3.0.3" };
+ case SPELL_ATTR2_TAME_BEAST: return { "SPELL_ATTR2_TAME_BEAST", "SPELL_ATTR2_TAME_BEAST", "16" };
+ case SPELL_ATTR2_NOT_RESET_AUTO_ACTIONS: return { "SPELL_ATTR2_NOT_RESET_AUTO_ACTIONS", "SPELL_ATTR2_NOT_RESET_AUTO_ACTIONS", "17 don't reset timers for melee autoattacks (swings) or ranged autoattacks (autoshoots)" };
+ case SPELL_ATTR2_REQ_DEAD_PET: return { "SPELL_ATTR2_REQ_DEAD_PET", "SPELL_ATTR2_REQ_DEAD_PET", "18 Only Revive pet and Heart of the Pheonix" };
+ case SPELL_ATTR2_NOT_NEED_SHAPESHIFT: return { "SPELL_ATTR2_NOT_NEED_SHAPESHIFT", "SPELL_ATTR2_NOT_NEED_SHAPESHIFT", "19 does not necessarly need shapeshift" };
+ case SPELL_ATTR2_UNK20: return { "SPELL_ATTR2_UNK20", "SPELL_ATTR2_UNK20", "20" };
+ case SPELL_ATTR2_DAMAGE_REDUCED_SHIELD: return { "SPELL_ATTR2_DAMAGE_REDUCED_SHIELD", "SPELL_ATTR2_DAMAGE_REDUCED_SHIELD", "21 for ice blocks, pala immunity buffs, priest absorb shields, but used also for other spells -> not sure!" };
+ case SPELL_ATTR2_UNK22: return { "SPELL_ATTR2_UNK22", "SPELL_ATTR2_UNK22", "22 Ambush, Backstab, Cheap Shot, Death Grip, Garrote, Judgements, Mutilate, Pounce, Ravage, Shiv, Shred" };
+ case SPELL_ATTR2_IS_ARCANE_CONCENTRATION: return { "SPELL_ATTR2_IS_ARCANE_CONCENTRATION", "SPELL_ATTR2_IS_ARCANE_CONCENTRATION", "23 Only mage Arcane Concentration have this flag" };
+ case SPELL_ATTR2_UNK24: return { "SPELL_ATTR2_UNK24", "SPELL_ATTR2_UNK24", "24" };
+ case SPELL_ATTR2_UNK25: return { "SPELL_ATTR2_UNK25", "SPELL_ATTR2_UNK25", "25" };
+ case SPELL_ATTR2_UNAFFECTED_BY_AURA_SCHOOL_IMMUNE: return { "SPELL_ATTR2_UNAFFECTED_BY_AURA_SCHOOL_IMMUNE", "SPELL_ATTR2_UNAFFECTED_BY_AURA_SCHOOL_IMMUNE", "26 unaffected by school immunity" };
+ case SPELL_ATTR2_UNK27: return { "SPELL_ATTR2_UNK27", "SPELL_ATTR2_UNK27", "27" };
+ case SPELL_ATTR2_UNK28: return { "SPELL_ATTR2_UNK28", "SPELL_ATTR2_UNK28", "28" };
+ case SPELL_ATTR2_CANT_CRIT: return { "SPELL_ATTR2_CANT_CRIT", "SPELL_ATTR2_CANT_CRIT", "29 Spell can't crit" };
+ case SPELL_ATTR2_TRIGGERED_CAN_TRIGGER_PROC: return { "SPELL_ATTR2_TRIGGERED_CAN_TRIGGER_PROC", "SPELL_ATTR2_TRIGGERED_CAN_TRIGGER_PROC", "30 spell can trigger even if triggered" };
+ case SPELL_ATTR2_FOOD_BUFF: return { "SPELL_ATTR2_FOOD_BUFF", "SPELL_ATTR2_FOOD_BUFF", "31 Food or Drink Buff (like Well Fed)" };
default: throw std::out_of_range("value");
}
}
+
template <>
-TC_API_EXPORT size_t Trinity::Impl::EnumUtils<SpellAttr2>::Count() { return 32; }
+TC_API_EXPORT size_t EnumUtils<SpellAttr2>::Count() { return 32; }
+
template <>
-TC_API_EXPORT SpellAttr2 Trinity::Impl::EnumUtils<SpellAttr2>::FromIndex(size_t index)
+TC_API_EXPORT SpellAttr2 EnumUtils<SpellAttr2>::FromIndex(size_t index)
{
switch (index)
{
@@ -356,49 +371,51 @@ TC_API_EXPORT SpellAttr2 Trinity::Impl::EnumUtils<SpellAttr2>::FromIndex(size_t
|* data for enum 'SpellAttr3' in 'SharedDefines.h' auto-generated *|
\******************************************************************/
template <>
-TC_API_EXPORT EnumText Trinity::Impl::EnumUtils<SpellAttr3>::ToString(SpellAttr3 value)
+TC_API_EXPORT EnumText EnumUtils<SpellAttr3>::ToString(SpellAttr3 value)
{
switch (value)
{
- case SPELL_ATTR3_UNK0: return {"SPELL_ATTR3_UNK0", "SPELL_ATTR3_UNK0", "0"};
- 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", "2"};
- case SPELL_ATTR3_BLOCKABLE_SPELL: return {"SPELL_ATTR3_BLOCKABLE_SPELL", "SPELL_ATTR3_BLOCKABLE_SPELL", "3 Only dmg class melee in 3.1.3"};
- case SPELL_ATTR3_IGNORE_RESURRECTION_TIMER: return {"SPELL_ATTR3_IGNORE_RESURRECTION_TIMER", "SPELL_ATTR3_IGNORE_RESURRECTION_TIMER", "4 you don't have to wait to be resurrected with these spells"};
- case SPELL_ATTR3_UNK5: return {"SPELL_ATTR3_UNK5", "SPELL_ATTR3_UNK5", "5"};
- case SPELL_ATTR3_UNK6: return {"SPELL_ATTR3_UNK6", "SPELL_ATTR3_UNK6", "6"};
- case SPELL_ATTR3_STACK_FOR_DIFF_CASTERS: return {"SPELL_ATTR3_STACK_FOR_DIFF_CASTERS", "SPELL_ATTR3_STACK_FOR_DIFF_CASTERS", "7 separate stack for every caster"};
- case SPELL_ATTR3_ONLY_TARGET_PLAYERS: return {"SPELL_ATTR3_ONLY_TARGET_PLAYERS", "SPELL_ATTR3_ONLY_TARGET_PLAYERS", "8 can only target players"};
- case SPELL_ATTR3_TRIGGERED_CAN_TRIGGER_PROC_2: return {"SPELL_ATTR3_TRIGGERED_CAN_TRIGGER_PROC_2", "SPELL_ATTR3_TRIGGERED_CAN_TRIGGER_PROC_2", "9 triggered from effect?"};
- case SPELL_ATTR3_MAIN_HAND: return {"SPELL_ATTR3_MAIN_HAND", "SPELL_ATTR3_MAIN_HAND", "10 Main hand weapon required"};
- case SPELL_ATTR3_BATTLEGROUND: return {"SPELL_ATTR3_BATTLEGROUND", "SPELL_ATTR3_BATTLEGROUND", "11 Can only be cast in battleground"};
- case SPELL_ATTR3_ONLY_TARGET_GHOSTS: return {"SPELL_ATTR3_ONLY_TARGET_GHOSTS", "SPELL_ATTR3_ONLY_TARGET_GHOSTS", "12"};
- case SPELL_ATTR3_DONT_DISPLAY_CHANNEL_BAR: return {"SPELL_ATTR3_DONT_DISPLAY_CHANNEL_BAR", "SPELL_ATTR3_DONT_DISPLAY_CHANNEL_BAR", "13 Clientside attribute - will not display channeling bar"};
- case SPELL_ATTR3_IS_HONORLESS_TARGET: return {"SPELL_ATTR3_IS_HONORLESS_TARGET", "SPELL_ATTR3_IS_HONORLESS_TARGET", "14 \042Honorless Target\042 only this spells have this flag"};
- case SPELL_ATTR3_UNK15: return {"SPELL_ATTR3_UNK15", "SPELL_ATTR3_UNK15", "15 Auto Shoot, Shoot, Throw, - this is autoshot flag"};
- case SPELL_ATTR3_CANT_TRIGGER_PROC: return {"SPELL_ATTR3_CANT_TRIGGER_PROC", "SPELL_ATTR3_CANT_TRIGGER_PROC", "16 confirmed with many patchnotes"};
- case SPELL_ATTR3_NO_INITIAL_AGGRO: return {"SPELL_ATTR3_NO_INITIAL_AGGRO", "SPELL_ATTR3_NO_INITIAL_AGGRO", "17 Soothe Animal, 39758, Mind Soothe"};
- case SPELL_ATTR3_IGNORE_HIT_RESULT: return {"SPELL_ATTR3_IGNORE_HIT_RESULT", "SPELL_ATTR3_IGNORE_HIT_RESULT", "18 Spell should always hit its target"};
- case SPELL_ATTR3_DISABLE_PROC: return {"SPELL_ATTR3_DISABLE_PROC", "SPELL_ATTR3_DISABLE_PROC", "19 during aura proc no spells can trigger (20178, 20375)"};
- case SPELL_ATTR3_DEATH_PERSISTENT: return {"SPELL_ATTR3_DEATH_PERSISTENT", "SPELL_ATTR3_DEATH_PERSISTENT", "20 Death persistent spells"};
- case SPELL_ATTR3_UNK21: return {"SPELL_ATTR3_UNK21", "SPELL_ATTR3_UNK21", "21 unused"};
- case SPELL_ATTR3_REQ_WAND: return {"SPELL_ATTR3_REQ_WAND", "SPELL_ATTR3_REQ_WAND", "22 Req wand"};
- case SPELL_ATTR3_UNK23: return {"SPELL_ATTR3_UNK23", "SPELL_ATTR3_UNK23", "23"};
- case SPELL_ATTR3_REQ_OFFHAND: return {"SPELL_ATTR3_REQ_OFFHAND", "SPELL_ATTR3_REQ_OFFHAND", "24 Req offhand weapon"};
- case SPELL_ATTR3_TREAT_AS_PERIODIC: return {"SPELL_ATTR3_TREAT_AS_PERIODIC", "SPELL_ATTR3_TREAT_AS_PERIODIC", "25 Makes the spell appear as periodic in client combat logs - used by spells that trigger another spell on each tick"};
- case SPELL_ATTR3_CAN_PROC_WITH_TRIGGERED: return {"SPELL_ATTR3_CAN_PROC_WITH_TRIGGERED", "SPELL_ATTR3_CAN_PROC_WITH_TRIGGERED", "26 auras with this attribute can proc from triggered spell casts with SPELL_ATTR3_TRIGGERED_CAN_TRIGGER_PROC_2 (67736 + 52999)"};
- case SPELL_ATTR3_DRAIN_SOUL: return {"SPELL_ATTR3_DRAIN_SOUL", "SPELL_ATTR3_DRAIN_SOUL", "27 only drain soul has this flag"};
- case SPELL_ATTR3_UNK28: return {"SPELL_ATTR3_UNK28", "SPELL_ATTR3_UNK28", "28"};
- case SPELL_ATTR3_NO_DONE_BONUS: return {"SPELL_ATTR3_NO_DONE_BONUS", "SPELL_ATTR3_NO_DONE_BONUS", "29 Ignore caster spellpower and done damage mods? client doesn't apply spellmods for those spells"};
- case SPELL_ATTR3_DONT_DISPLAY_RANGE: return {"SPELL_ATTR3_DONT_DISPLAY_RANGE", "SPELL_ATTR3_DONT_DISPLAY_RANGE", "30 client doesn't display range in tooltip for those spells"};
- case SPELL_ATTR3_UNK31: return {"SPELL_ATTR3_UNK31", "SPELL_ATTR3_UNK31", "31"};
+ case SPELL_ATTR3_UNK0: return { "SPELL_ATTR3_UNK0", "SPELL_ATTR3_UNK0", "0" };
+ 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", "2" };
+ case SPELL_ATTR3_BLOCKABLE_SPELL: return { "SPELL_ATTR3_BLOCKABLE_SPELL", "SPELL_ATTR3_BLOCKABLE_SPELL", "3 Only dmg class melee in 3.1.3" };
+ case SPELL_ATTR3_IGNORE_RESURRECTION_TIMER: return { "SPELL_ATTR3_IGNORE_RESURRECTION_TIMER", "SPELL_ATTR3_IGNORE_RESURRECTION_TIMER", "4 you don't have to wait to be resurrected with these spells" };
+ case SPELL_ATTR3_UNK5: return { "SPELL_ATTR3_UNK5", "SPELL_ATTR3_UNK5", "5" };
+ case SPELL_ATTR3_UNK6: return { "SPELL_ATTR3_UNK6", "SPELL_ATTR3_UNK6", "6" };
+ case SPELL_ATTR3_STACK_FOR_DIFF_CASTERS: return { "SPELL_ATTR3_STACK_FOR_DIFF_CASTERS", "SPELL_ATTR3_STACK_FOR_DIFF_CASTERS", "7 separate stack for every caster" };
+ case SPELL_ATTR3_ONLY_TARGET_PLAYERS: return { "SPELL_ATTR3_ONLY_TARGET_PLAYERS", "SPELL_ATTR3_ONLY_TARGET_PLAYERS", "8 can only target players" };
+ case SPELL_ATTR3_TRIGGERED_CAN_TRIGGER_PROC_2: return { "SPELL_ATTR3_TRIGGERED_CAN_TRIGGER_PROC_2", "SPELL_ATTR3_TRIGGERED_CAN_TRIGGER_PROC_2", "9 triggered from effect?" };
+ case SPELL_ATTR3_MAIN_HAND: return { "SPELL_ATTR3_MAIN_HAND", "SPELL_ATTR3_MAIN_HAND", "10 Main hand weapon required" };
+ case SPELL_ATTR3_BATTLEGROUND: return { "SPELL_ATTR3_BATTLEGROUND", "SPELL_ATTR3_BATTLEGROUND", "11 Can only be cast in battleground" };
+ case SPELL_ATTR3_ONLY_TARGET_GHOSTS: return { "SPELL_ATTR3_ONLY_TARGET_GHOSTS", "SPELL_ATTR3_ONLY_TARGET_GHOSTS", "12" };
+ case SPELL_ATTR3_DONT_DISPLAY_CHANNEL_BAR: return { "SPELL_ATTR3_DONT_DISPLAY_CHANNEL_BAR", "SPELL_ATTR3_DONT_DISPLAY_CHANNEL_BAR", "13 Clientside attribute - will not display channeling bar" };
+ case SPELL_ATTR3_IS_HONORLESS_TARGET: return { "SPELL_ATTR3_IS_HONORLESS_TARGET", "SPELL_ATTR3_IS_HONORLESS_TARGET", "14 \042Honorless Target\042 only this spells have this flag" };
+ case SPELL_ATTR3_UNK15: return { "SPELL_ATTR3_UNK15", "SPELL_ATTR3_UNK15", "15 Auto Shoot, Shoot, Throw, - this is autoshot flag" };
+ case SPELL_ATTR3_CANT_TRIGGER_PROC: return { "SPELL_ATTR3_CANT_TRIGGER_PROC", "SPELL_ATTR3_CANT_TRIGGER_PROC", "16 confirmed with many patchnotes" };
+ case SPELL_ATTR3_NO_INITIAL_AGGRO: return { "SPELL_ATTR3_NO_INITIAL_AGGRO", "SPELL_ATTR3_NO_INITIAL_AGGRO", "17 Soothe Animal, 39758, Mind Soothe" };
+ case SPELL_ATTR3_IGNORE_HIT_RESULT: return { "SPELL_ATTR3_IGNORE_HIT_RESULT", "SPELL_ATTR3_IGNORE_HIT_RESULT", "18 Spell should always hit its target" };
+ case SPELL_ATTR3_DISABLE_PROC: return { "SPELL_ATTR3_DISABLE_PROC", "SPELL_ATTR3_DISABLE_PROC", "19 during aura proc no spells can trigger (20178, 20375)" };
+ case SPELL_ATTR3_DEATH_PERSISTENT: return { "SPELL_ATTR3_DEATH_PERSISTENT", "SPELL_ATTR3_DEATH_PERSISTENT", "20 Death persistent spells" };
+ case SPELL_ATTR3_UNK21: return { "SPELL_ATTR3_UNK21", "SPELL_ATTR3_UNK21", "21 unused" };
+ case SPELL_ATTR3_REQ_WAND: return { "SPELL_ATTR3_REQ_WAND", "SPELL_ATTR3_REQ_WAND", "22 Req wand" };
+ case SPELL_ATTR3_UNK23: return { "SPELL_ATTR3_UNK23", "SPELL_ATTR3_UNK23", "23" };
+ case SPELL_ATTR3_REQ_OFFHAND: return { "SPELL_ATTR3_REQ_OFFHAND", "SPELL_ATTR3_REQ_OFFHAND", "24 Req offhand weapon" };
+ case SPELL_ATTR3_TREAT_AS_PERIODIC: return { "SPELL_ATTR3_TREAT_AS_PERIODIC", "SPELL_ATTR3_TREAT_AS_PERIODIC", "25 Makes the spell appear as periodic in client combat logs - used by spells that trigger another spell on each tick" };
+ case SPELL_ATTR3_CAN_PROC_WITH_TRIGGERED: return { "SPELL_ATTR3_CAN_PROC_WITH_TRIGGERED", "SPELL_ATTR3_CAN_PROC_WITH_TRIGGERED", "26 auras with this attribute can proc from triggered spell casts with SPELL_ATTR3_TRIGGERED_CAN_TRIGGER_PROC_2 (67736 + 52999)" };
+ case SPELL_ATTR3_DRAIN_SOUL: return { "SPELL_ATTR3_DRAIN_SOUL", "SPELL_ATTR3_DRAIN_SOUL", "27 only drain soul has this flag" };
+ case SPELL_ATTR3_UNK28: return { "SPELL_ATTR3_UNK28", "SPELL_ATTR3_UNK28", "28" };
+ case SPELL_ATTR3_NO_DONE_BONUS: return { "SPELL_ATTR3_NO_DONE_BONUS", "SPELL_ATTR3_NO_DONE_BONUS", "29 Ignore caster spellpower and done damage mods? client doesn't apply spellmods for those spells" };
+ case SPELL_ATTR3_DONT_DISPLAY_RANGE: return { "SPELL_ATTR3_DONT_DISPLAY_RANGE", "SPELL_ATTR3_DONT_DISPLAY_RANGE", "30 client doesn't display range in tooltip for those spells" };
+ case SPELL_ATTR3_UNK31: return { "SPELL_ATTR3_UNK31", "SPELL_ATTR3_UNK31", "31" };
default: throw std::out_of_range("value");
}
}
+
template <>
-TC_API_EXPORT size_t Trinity::Impl::EnumUtils<SpellAttr3>::Count() { return 32; }
+TC_API_EXPORT size_t EnumUtils<SpellAttr3>::Count() { return 32; }
+
template <>
-TC_API_EXPORT SpellAttr3 Trinity::Impl::EnumUtils<SpellAttr3>::FromIndex(size_t index)
+TC_API_EXPORT SpellAttr3 EnumUtils<SpellAttr3>::FromIndex(size_t index)
{
switch (index)
{
@@ -442,49 +459,51 @@ TC_API_EXPORT SpellAttr3 Trinity::Impl::EnumUtils<SpellAttr3>::FromIndex(size_t
|* data for enum 'SpellAttr4' in 'SharedDefines.h' auto-generated *|
\******************************************************************/
template <>
-TC_API_EXPORT EnumText Trinity::Impl::EnumUtils<SpellAttr4>::ToString(SpellAttr4 value)
+TC_API_EXPORT EnumText EnumUtils<SpellAttr4>::ToString(SpellAttr4 value)
{
switch (value)
{
- case SPELL_ATTR4_IGNORE_RESISTANCES: return {"SPELL_ATTR4_IGNORE_RESISTANCES", "SPELL_ATTR4_IGNORE_RESISTANCES", "0 spells with this attribute will completely ignore the target's resistance (these spells can't be resisted)"};
- case SPELL_ATTR4_PROC_ONLY_ON_CASTER: return {"SPELL_ATTR4_PROC_ONLY_ON_CASTER", "SPELL_ATTR4_PROC_ONLY_ON_CASTER", "1 proc only on effects with TARGET_UNIT_CASTER?"};
- case SPELL_ATTR4_FADES_WHILE_LOGGED_OUT: return {"SPELL_ATTR4_FADES_WHILE_LOGGED_OUT", "SPELL_ATTR4_FADES_WHILE_LOGGED_OUT", "2 duration is removed from aura while player is logged out"};
- case SPELL_ATTR4_UNK3: return {"SPELL_ATTR4_UNK3", "SPELL_ATTR4_UNK3", "3"};
- case SPELL_ATTR4_UNK4: return {"SPELL_ATTR4_UNK4", "SPELL_ATTR4_UNK4", "4 This will no longer cause guards to attack on use??"};
- case SPELL_ATTR4_UNK5: return {"SPELL_ATTR4_UNK5", "SPELL_ATTR4_UNK5", "5"};
- case SPELL_ATTR4_NOT_STEALABLE: return {"SPELL_ATTR4_NOT_STEALABLE", "SPELL_ATTR4_NOT_STEALABLE", "6 although such auras might be dispellable, they cannot be stolen"};
- case SPELL_ATTR4_CAN_CAST_WHILE_CASTING: return {"SPELL_ATTR4_CAN_CAST_WHILE_CASTING", "SPELL_ATTR4_CAN_CAST_WHILE_CASTING", "7 Can be cast while another cast is in progress - see CanCastWhileCasting(SpellRec const*,CGUnit_C *,int &)"};
- case SPELL_ATTR4_FIXED_DAMAGE: return {"SPELL_ATTR4_FIXED_DAMAGE", "SPELL_ATTR4_FIXED_DAMAGE", "8 Ignores resilience and any (except mechanic related) damage or % damage taken auras on target."};
- case SPELL_ATTR4_TRIGGER_ACTIVATE: return {"SPELL_ATTR4_TRIGGER_ACTIVATE", "SPELL_ATTR4_TRIGGER_ACTIVATE", "9 initially disabled / trigger activate from event (Execute, Riposte, Deep Freeze end other)"};
- case SPELL_ATTR4_SPELL_VS_EXTEND_COST: return {"SPELL_ATTR4_SPELL_VS_EXTEND_COST", "SPELL_ATTR4_SPELL_VS_EXTEND_COST", "10 Rogue Shiv have this flag"};
- case SPELL_ATTR4_UNK11: return {"SPELL_ATTR4_UNK11", "SPELL_ATTR4_UNK11", "11"};
- case SPELL_ATTR4_UNK12: return {"SPELL_ATTR4_UNK12", "SPELL_ATTR4_UNK12", "12"};
- case SPELL_ATTR4_UNK13: return {"SPELL_ATTR4_UNK13", "SPELL_ATTR4_UNK13", "13"};
- case SPELL_ATTR4_DAMAGE_DOESNT_BREAK_AURAS: return {"SPELL_ATTR4_DAMAGE_DOESNT_BREAK_AURAS", "SPELL_ATTR4_DAMAGE_DOESNT_BREAK_AURAS", "14 doesn't break auras by damage from these spells"};
- case SPELL_ATTR4_UNK15: return {"SPELL_ATTR4_UNK15", "SPELL_ATTR4_UNK15", "15"};
- case SPELL_ATTR4_NOT_USABLE_IN_ARENA: return {"SPELL_ATTR4_NOT_USABLE_IN_ARENA", "SPELL_ATTR4_NOT_USABLE_IN_ARENA", "16"};
- case SPELL_ATTR4_USABLE_IN_ARENA: return {"SPELL_ATTR4_USABLE_IN_ARENA", "SPELL_ATTR4_USABLE_IN_ARENA", "17"};
- case SPELL_ATTR4_AREA_TARGET_CHAIN: return {"SPELL_ATTR4_AREA_TARGET_CHAIN", "SPELL_ATTR4_AREA_TARGET_CHAIN", "18 (NYI)hits area targets one after another instead of all at once"};
- case SPELL_ATTR4_UNK19: return {"SPELL_ATTR4_UNK19", "SPELL_ATTR4_UNK19", "19 proc dalayed, after damage or don't proc on absorb?"};
- case SPELL_ATTR4_NOT_CHECK_SELFCAST_POWER: return {"SPELL_ATTR4_NOT_CHECK_SELFCAST_POWER", "SPELL_ATTR4_NOT_CHECK_SELFCAST_POWER", "20 supersedes message \042More powerful spell applied\042 for self casts."};
- case SPELL_ATTR4_UNK21: return {"SPELL_ATTR4_UNK21", "SPELL_ATTR4_UNK21", "21 Pally aura, dk presence, dudu form, warrior stance, shadowform, hunter track"};
- case SPELL_ATTR4_UNK22: return {"SPELL_ATTR4_UNK22", "SPELL_ATTR4_UNK22", "22 Seal of Command (42058, 57770) and Gymer's Smash 55426"};
- case SPELL_ATTR4_CANT_TRIGGER_ITEM_SPELLS: return {"SPELL_ATTR4_CANT_TRIGGER_ITEM_SPELLS", "SPELL_ATTR4_CANT_TRIGGER_ITEM_SPELLS", "23 spells with this flag should not trigger item spells / enchants (mostly in conjunction with SPELL_ATTR0_STOP_ATTACK_TARGET)"};
- case SPELL_ATTR4_UNK24: return {"SPELL_ATTR4_UNK24", "SPELL_ATTR4_UNK24", "24 some shoot spell"};
- case SPELL_ATTR4_IS_PET_SCALING: return {"SPELL_ATTR4_IS_PET_SCALING", "SPELL_ATTR4_IS_PET_SCALING", "25 pet scaling auras"};
- case SPELL_ATTR4_CAST_ONLY_IN_OUTLAND: return {"SPELL_ATTR4_CAST_ONLY_IN_OUTLAND", "SPELL_ATTR4_CAST_ONLY_IN_OUTLAND", "26 Can only be used in Outland."};
- case SPELL_ATTR4_INHERIT_CRIT_FROM_AURA: return {"SPELL_ATTR4_INHERIT_CRIT_FROM_AURA", "SPELL_ATTR4_INHERIT_CRIT_FROM_AURA", "27 Volley, Arcane Missiles, Penance -> related to critical on channeled periodical damage spell"};
- case SPELL_ATTR4_UNK28: return {"SPELL_ATTR4_UNK28", "SPELL_ATTR4_UNK28", "28 Aimed Shot"};
- case SPELL_ATTR4_UNK29: return {"SPELL_ATTR4_UNK29", "SPELL_ATTR4_UNK29", "29"};
- case SPELL_ATTR4_UNK30: return {"SPELL_ATTR4_UNK30", "SPELL_ATTR4_UNK30", "30"};
- case SPELL_ATTR4_UNK31: return {"SPELL_ATTR4_UNK31", "SPELL_ATTR4_UNK31", "31 Polymorph (chicken) 228 and Sonic Boom (38052, 38488)"};
+ case SPELL_ATTR4_IGNORE_RESISTANCES: return { "SPELL_ATTR4_IGNORE_RESISTANCES", "SPELL_ATTR4_IGNORE_RESISTANCES", "0 spells with this attribute will completely ignore the target's resistance (these spells can't be resisted)" };
+ case SPELL_ATTR4_PROC_ONLY_ON_CASTER: return { "SPELL_ATTR4_PROC_ONLY_ON_CASTER", "SPELL_ATTR4_PROC_ONLY_ON_CASTER", "1 proc only on effects with TARGET_UNIT_CASTER?" };
+ case SPELL_ATTR4_FADES_WHILE_LOGGED_OUT: return { "SPELL_ATTR4_FADES_WHILE_LOGGED_OUT", "SPELL_ATTR4_FADES_WHILE_LOGGED_OUT", "2 duration is removed from aura while player is logged out" };
+ case SPELL_ATTR4_UNK3: return { "SPELL_ATTR4_UNK3", "SPELL_ATTR4_UNK3", "3" };
+ case SPELL_ATTR4_UNK4: return { "SPELL_ATTR4_UNK4", "SPELL_ATTR4_UNK4", "4 This will no longer cause guards to attack on use??" };
+ case SPELL_ATTR4_UNK5: return { "SPELL_ATTR4_UNK5", "SPELL_ATTR4_UNK5", "5" };
+ case SPELL_ATTR4_NOT_STEALABLE: return { "SPELL_ATTR4_NOT_STEALABLE", "SPELL_ATTR4_NOT_STEALABLE", "6 although such auras might be dispellable, they cannot be stolen" };
+ case SPELL_ATTR4_CAN_CAST_WHILE_CASTING: return { "SPELL_ATTR4_CAN_CAST_WHILE_CASTING", "SPELL_ATTR4_CAN_CAST_WHILE_CASTING", "7 Can be cast while another cast is in progress - see CanCastWhileCasting(SpellRec const*,CGUnit_C *,int &)" };
+ case SPELL_ATTR4_FIXED_DAMAGE: return { "SPELL_ATTR4_FIXED_DAMAGE", "SPELL_ATTR4_FIXED_DAMAGE", "8 Ignores resilience and any (except mechanic related) damage or % damage taken auras on target." };
+ case SPELL_ATTR4_TRIGGER_ACTIVATE: return { "SPELL_ATTR4_TRIGGER_ACTIVATE", "SPELL_ATTR4_TRIGGER_ACTIVATE", "9 initially disabled / trigger activate from event (Execute, Riposte, Deep Freeze end other)" };
+ case SPELL_ATTR4_SPELL_VS_EXTEND_COST: return { "SPELL_ATTR4_SPELL_VS_EXTEND_COST", "SPELL_ATTR4_SPELL_VS_EXTEND_COST", "10 Rogue Shiv have this flag" };
+ case SPELL_ATTR4_UNK11: return { "SPELL_ATTR4_UNK11", "SPELL_ATTR4_UNK11", "11" };
+ case SPELL_ATTR4_UNK12: return { "SPELL_ATTR4_UNK12", "SPELL_ATTR4_UNK12", "12" };
+ case SPELL_ATTR4_UNK13: return { "SPELL_ATTR4_UNK13", "SPELL_ATTR4_UNK13", "13" };
+ case SPELL_ATTR4_DAMAGE_DOESNT_BREAK_AURAS: return { "SPELL_ATTR4_DAMAGE_DOESNT_BREAK_AURAS", "SPELL_ATTR4_DAMAGE_DOESNT_BREAK_AURAS", "14 doesn't break auras by damage from these spells" };
+ case SPELL_ATTR4_UNK15: return { "SPELL_ATTR4_UNK15", "SPELL_ATTR4_UNK15", "15" };
+ case SPELL_ATTR4_NOT_USABLE_IN_ARENA: return { "SPELL_ATTR4_NOT_USABLE_IN_ARENA", "SPELL_ATTR4_NOT_USABLE_IN_ARENA", "16" };
+ case SPELL_ATTR4_USABLE_IN_ARENA: return { "SPELL_ATTR4_USABLE_IN_ARENA", "SPELL_ATTR4_USABLE_IN_ARENA", "17" };
+ case SPELL_ATTR4_AREA_TARGET_CHAIN: return { "SPELL_ATTR4_AREA_TARGET_CHAIN", "SPELL_ATTR4_AREA_TARGET_CHAIN", "18 (NYI)hits area targets one after another instead of all at once" };
+ case SPELL_ATTR4_UNK19: return { "SPELL_ATTR4_UNK19", "SPELL_ATTR4_UNK19", "19 proc dalayed, after damage or don't proc on absorb?" };
+ case SPELL_ATTR4_NOT_CHECK_SELFCAST_POWER: return { "SPELL_ATTR4_NOT_CHECK_SELFCAST_POWER", "SPELL_ATTR4_NOT_CHECK_SELFCAST_POWER", "20 supersedes message \042More powerful spell applied\042 for self casts." };
+ case SPELL_ATTR4_UNK21: return { "SPELL_ATTR4_UNK21", "SPELL_ATTR4_UNK21", "21 Pally aura, dk presence, dudu form, warrior stance, shadowform, hunter track" };
+ case SPELL_ATTR4_UNK22: return { "SPELL_ATTR4_UNK22", "SPELL_ATTR4_UNK22", "22 Seal of Command (42058, 57770) and Gymer's Smash 55426" };
+ case SPELL_ATTR4_CANT_TRIGGER_ITEM_SPELLS: return { "SPELL_ATTR4_CANT_TRIGGER_ITEM_SPELLS", "SPELL_ATTR4_CANT_TRIGGER_ITEM_SPELLS", "23 spells with this flag should not trigger item spells / enchants (mostly in conjunction with SPELL_ATTR0_STOP_ATTACK_TARGET)" };
+ case SPELL_ATTR4_UNK24: return { "SPELL_ATTR4_UNK24", "SPELL_ATTR4_UNK24", "24 some shoot spell" };
+ case SPELL_ATTR4_IS_PET_SCALING: return { "SPELL_ATTR4_IS_PET_SCALING", "SPELL_ATTR4_IS_PET_SCALING", "25 pet scaling auras" };
+ case SPELL_ATTR4_CAST_ONLY_IN_OUTLAND: return { "SPELL_ATTR4_CAST_ONLY_IN_OUTLAND", "SPELL_ATTR4_CAST_ONLY_IN_OUTLAND", "26 Can only be used in Outland." };
+ case SPELL_ATTR4_INHERIT_CRIT_FROM_AURA: return { "SPELL_ATTR4_INHERIT_CRIT_FROM_AURA", "SPELL_ATTR4_INHERIT_CRIT_FROM_AURA", "27 Volley, Arcane Missiles, Penance -> related to critical on channeled periodical damage spell" };
+ case SPELL_ATTR4_UNK28: return { "SPELL_ATTR4_UNK28", "SPELL_ATTR4_UNK28", "28 Aimed Shot" };
+ case SPELL_ATTR4_UNK29: return { "SPELL_ATTR4_UNK29", "SPELL_ATTR4_UNK29", "29" };
+ case SPELL_ATTR4_UNK30: return { "SPELL_ATTR4_UNK30", "SPELL_ATTR4_UNK30", "30" };
+ case SPELL_ATTR4_UNK31: return { "SPELL_ATTR4_UNK31", "SPELL_ATTR4_UNK31", "31 Polymorph (chicken) 228 and Sonic Boom (38052, 38488)" };
default: throw std::out_of_range("value");
}
}
+
template <>
-TC_API_EXPORT size_t Trinity::Impl::EnumUtils<SpellAttr4>::Count() { return 32; }
+TC_API_EXPORT size_t EnumUtils<SpellAttr4>::Count() { return 32; }
+
template <>
-TC_API_EXPORT SpellAttr4 Trinity::Impl::EnumUtils<SpellAttr4>::FromIndex(size_t index)
+TC_API_EXPORT SpellAttr4 EnumUtils<SpellAttr4>::FromIndex(size_t index)
{
switch (index)
{
@@ -528,49 +547,51 @@ TC_API_EXPORT SpellAttr4 Trinity::Impl::EnumUtils<SpellAttr4>::FromIndex(size_t
|* data for enum 'SpellAttr5' in 'SharedDefines.h' auto-generated *|
\******************************************************************/
template <>
-TC_API_EXPORT EnumText Trinity::Impl::EnumUtils<SpellAttr5>::ToString(SpellAttr5 value)
+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", "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" };
default: throw std::out_of_range("value");
}
}
+
template <>
-TC_API_EXPORT size_t Trinity::Impl::EnumUtils<SpellAttr5>::Count() { return 32; }
+TC_API_EXPORT size_t EnumUtils<SpellAttr5>::Count() { return 32; }
+
template <>
-TC_API_EXPORT SpellAttr5 Trinity::Impl::EnumUtils<SpellAttr5>::FromIndex(size_t index)
+TC_API_EXPORT SpellAttr5 EnumUtils<SpellAttr5>::FromIndex(size_t index)
{
switch (index)
{
@@ -614,49 +635,51 @@ TC_API_EXPORT SpellAttr5 Trinity::Impl::EnumUtils<SpellAttr5>::FromIndex(size_t
|* data for enum 'SpellAttr6' in 'SharedDefines.h' auto-generated *|
\******************************************************************/
template <>
-TC_API_EXPORT EnumText Trinity::Impl::EnumUtils<SpellAttr6>::ToString(SpellAttr6 value)
+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", "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" };
default: throw std::out_of_range("value");
}
}
+
template <>
-TC_API_EXPORT size_t Trinity::Impl::EnumUtils<SpellAttr6>::Count() { return 32; }
+TC_API_EXPORT size_t EnumUtils<SpellAttr6>::Count() { return 32; }
+
template <>
-TC_API_EXPORT SpellAttr6 Trinity::Impl::EnumUtils<SpellAttr6>::FromIndex(size_t index)
+TC_API_EXPORT SpellAttr6 EnumUtils<SpellAttr6>::FromIndex(size_t index)
{
switch (index)
{
@@ -700,49 +723,51 @@ TC_API_EXPORT SpellAttr6 Trinity::Impl::EnumUtils<SpellAttr6>::FromIndex(size_t
|* data for enum 'SpellAttr7' in 'SharedDefines.h' auto-generated *|
\******************************************************************/
template <>
-TC_API_EXPORT EnumText Trinity::Impl::EnumUtils<SpellAttr7>::ToString(SpellAttr7 value)
+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", "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", "" };
default: throw std::out_of_range("value");
}
}
+
template <>
-TC_API_EXPORT size_t Trinity::Impl::EnumUtils<SpellAttr7>::Count() { return 32; }
+TC_API_EXPORT size_t EnumUtils<SpellAttr7>::Count() { return 32; }
+
template <>
-TC_API_EXPORT SpellAttr7 Trinity::Impl::EnumUtils<SpellAttr7>::FromIndex(size_t index)
+TC_API_EXPORT SpellAttr7 EnumUtils<SpellAttr7>::FromIndex(size_t index)
{
switch (index)
{
@@ -786,49 +811,51 @@ TC_API_EXPORT SpellAttr7 Trinity::Impl::EnumUtils<SpellAttr7>::FromIndex(size_t
|* data for enum 'Mechanics' in 'SharedDefines.h' auto-generated *|
\*****************************************************************/
template <>
-TC_API_EXPORT EnumText Trinity::Impl::EnumUtils<Mechanics>::ToString(Mechanics value)
+TC_API_EXPORT EnumText EnumUtils<Mechanics>::ToString(Mechanics value)
{
switch (value)
{
- case MECHANIC_NONE: return {"MECHANIC_NONE", "MECHANIC_NONE", ""};
- case MECHANIC_CHARM: return {"MECHANIC_CHARM", "MECHANIC_CHARM", ""};
- case MECHANIC_DISORIENTED: return {"MECHANIC_DISORIENTED", "MECHANIC_DISORIENTED", ""};
- case MECHANIC_DISARM: return {"MECHANIC_DISARM", "MECHANIC_DISARM", ""};
- case MECHANIC_DISTRACT: return {"MECHANIC_DISTRACT", "MECHANIC_DISTRACT", ""};
- case MECHANIC_FEAR: return {"MECHANIC_FEAR", "MECHANIC_FEAR", ""};
- case MECHANIC_GRIP: return {"MECHANIC_GRIP", "MECHANIC_GRIP", ""};
- case MECHANIC_ROOT: return {"MECHANIC_ROOT", "MECHANIC_ROOT", ""};
- case MECHANIC_SLOW_ATTACK: return {"MECHANIC_SLOW_ATTACK", "MECHANIC_SLOW_ATTACK", ""};
- case MECHANIC_SILENCE: return {"MECHANIC_SILENCE", "MECHANIC_SILENCE", ""};
- case MECHANIC_SLEEP: return {"MECHANIC_SLEEP", "MECHANIC_SLEEP", ""};
- case MECHANIC_SNARE: return {"MECHANIC_SNARE", "MECHANIC_SNARE", ""};
- case MECHANIC_STUN: return {"MECHANIC_STUN", "MECHANIC_STUN", ""};
- case MECHANIC_FREEZE: return {"MECHANIC_FREEZE", "MECHANIC_FREEZE", ""};
- case MECHANIC_KNOCKOUT: return {"MECHANIC_KNOCKOUT", "MECHANIC_KNOCKOUT", ""};
- case MECHANIC_BLEED: return {"MECHANIC_BLEED", "MECHANIC_BLEED", ""};
- case MECHANIC_BANDAGE: return {"MECHANIC_BANDAGE", "MECHANIC_BANDAGE", ""};
- case MECHANIC_POLYMORPH: return {"MECHANIC_POLYMORPH", "MECHANIC_POLYMORPH", ""};
- case MECHANIC_BANISH: return {"MECHANIC_BANISH", "MECHANIC_BANISH", ""};
- case MECHANIC_SHIELD: return {"MECHANIC_SHIELD", "MECHANIC_SHIELD", ""};
- case MECHANIC_SHACKLE: return {"MECHANIC_SHACKLE", "MECHANIC_SHACKLE", ""};
- case MECHANIC_MOUNT: return {"MECHANIC_MOUNT", "MECHANIC_MOUNT", ""};
- case MECHANIC_INFECTED: return {"MECHANIC_INFECTED", "MECHANIC_INFECTED", ""};
- case MECHANIC_TURN: return {"MECHANIC_TURN", "MECHANIC_TURN", ""};
- case MECHANIC_HORROR: return {"MECHANIC_HORROR", "MECHANIC_HORROR", ""};
- case MECHANIC_INVULNERABILITY: return {"MECHANIC_INVULNERABILITY", "MECHANIC_INVULNERABILITY", ""};
- case MECHANIC_INTERRUPT: return {"MECHANIC_INTERRUPT", "MECHANIC_INTERRUPT", ""};
- case MECHANIC_DAZE: return {"MECHANIC_DAZE", "MECHANIC_DAZE", ""};
- case MECHANIC_DISCOVERY: return {"MECHANIC_DISCOVERY", "MECHANIC_DISCOVERY", ""};
- case MECHANIC_IMMUNE_SHIELD: return {"MECHANIC_IMMUNE_SHIELD", "MECHANIC_IMMUNE_SHIELD", "Divine (Blessing) Shield/Protection and Ice Block"};
- case MECHANIC_SAPPED: return {"MECHANIC_SAPPED", "MECHANIC_SAPPED", ""};
- case MECHANIC_ENRAGED: return {"MECHANIC_ENRAGED", "MECHANIC_ENRAGED", ""};
+ case MECHANIC_NONE: return { "MECHANIC_NONE", "MECHANIC_NONE", "" };
+ case MECHANIC_CHARM: return { "MECHANIC_CHARM", "MECHANIC_CHARM", "" };
+ case MECHANIC_DISORIENTED: return { "MECHANIC_DISORIENTED", "MECHANIC_DISORIENTED", "" };
+ case MECHANIC_DISARM: return { "MECHANIC_DISARM", "MECHANIC_DISARM", "" };
+ case MECHANIC_DISTRACT: return { "MECHANIC_DISTRACT", "MECHANIC_DISTRACT", "" };
+ case MECHANIC_FEAR: return { "MECHANIC_FEAR", "MECHANIC_FEAR", "" };
+ case MECHANIC_GRIP: return { "MECHANIC_GRIP", "MECHANIC_GRIP", "" };
+ case MECHANIC_ROOT: return { "MECHANIC_ROOT", "MECHANIC_ROOT", "" };
+ case MECHANIC_SLOW_ATTACK: return { "MECHANIC_SLOW_ATTACK", "MECHANIC_SLOW_ATTACK", "" };
+ case MECHANIC_SILENCE: return { "MECHANIC_SILENCE", "MECHANIC_SILENCE", "" };
+ case MECHANIC_SLEEP: return { "MECHANIC_SLEEP", "MECHANIC_SLEEP", "" };
+ case MECHANIC_SNARE: return { "MECHANIC_SNARE", "MECHANIC_SNARE", "" };
+ case MECHANIC_STUN: return { "MECHANIC_STUN", "MECHANIC_STUN", "" };
+ case MECHANIC_FREEZE: return { "MECHANIC_FREEZE", "MECHANIC_FREEZE", "" };
+ case MECHANIC_KNOCKOUT: return { "MECHANIC_KNOCKOUT", "MECHANIC_KNOCKOUT", "" };
+ case MECHANIC_BLEED: return { "MECHANIC_BLEED", "MECHANIC_BLEED", "" };
+ case MECHANIC_BANDAGE: return { "MECHANIC_BANDAGE", "MECHANIC_BANDAGE", "" };
+ case MECHANIC_POLYMORPH: return { "MECHANIC_POLYMORPH", "MECHANIC_POLYMORPH", "" };
+ case MECHANIC_BANISH: return { "MECHANIC_BANISH", "MECHANIC_BANISH", "" };
+ case MECHANIC_SHIELD: return { "MECHANIC_SHIELD", "MECHANIC_SHIELD", "" };
+ case MECHANIC_SHACKLE: return { "MECHANIC_SHACKLE", "MECHANIC_SHACKLE", "" };
+ case MECHANIC_MOUNT: return { "MECHANIC_MOUNT", "MECHANIC_MOUNT", "" };
+ case MECHANIC_INFECTED: return { "MECHANIC_INFECTED", "MECHANIC_INFECTED", "" };
+ case MECHANIC_TURN: return { "MECHANIC_TURN", "MECHANIC_TURN", "" };
+ case MECHANIC_HORROR: return { "MECHANIC_HORROR", "MECHANIC_HORROR", "" };
+ case MECHANIC_INVULNERABILITY: return { "MECHANIC_INVULNERABILITY", "MECHANIC_INVULNERABILITY", "" };
+ case MECHANIC_INTERRUPT: return { "MECHANIC_INTERRUPT", "MECHANIC_INTERRUPT", "" };
+ case MECHANIC_DAZE: return { "MECHANIC_DAZE", "MECHANIC_DAZE", "" };
+ case MECHANIC_DISCOVERY: return { "MECHANIC_DISCOVERY", "MECHANIC_DISCOVERY", "" };
+ case MECHANIC_IMMUNE_SHIELD: return { "MECHANIC_IMMUNE_SHIELD", "MECHANIC_IMMUNE_SHIELD", "Divine (Blessing) Shield/Protection and Ice Block" };
+ case MECHANIC_SAPPED: return { "MECHANIC_SAPPED", "MECHANIC_SAPPED", "" };
+ case MECHANIC_ENRAGED: return { "MECHANIC_ENRAGED", "MECHANIC_ENRAGED", "" };
default: throw std::out_of_range("value");
}
}
+
template <>
-TC_API_EXPORT size_t Trinity::Impl::EnumUtils<Mechanics>::Count() { return 32; }
+TC_API_EXPORT size_t EnumUtils<Mechanics>::Count() { return 32; }
+
template <>
-TC_API_EXPORT Mechanics Trinity::Impl::EnumUtils<Mechanics>::FromIndex(size_t index)
+TC_API_EXPORT Mechanics EnumUtils<Mechanics>::FromIndex(size_t index)
{
switch (index)
{
@@ -872,21 +899,23 @@ TC_API_EXPORT Mechanics Trinity::Impl::EnumUtils<Mechanics>::FromIndex(size_t in
|* data for enum 'SpellDmgClass' in 'SharedDefines.h' auto-generated *|
\*********************************************************************/
template <>
-TC_API_EXPORT EnumText Trinity::Impl::EnumUtils<SpellDmgClass>::ToString(SpellDmgClass value)
+TC_API_EXPORT EnumText EnumUtils<SpellDmgClass>::ToString(SpellDmgClass value)
{
switch (value)
{
- case SPELL_DAMAGE_CLASS_NONE: return {"SPELL_DAMAGE_CLASS_NONE", "None", ""};
- case SPELL_DAMAGE_CLASS_MAGIC: return {"SPELL_DAMAGE_CLASS_MAGIC", "Magic", ""};
- case SPELL_DAMAGE_CLASS_MELEE: return {"SPELL_DAMAGE_CLASS_MELEE", "Melee", ""};
- case SPELL_DAMAGE_CLASS_RANGED: return {"SPELL_DAMAGE_CLASS_RANGED", "Ranged", ""};
+ case SPELL_DAMAGE_CLASS_NONE: return { "SPELL_DAMAGE_CLASS_NONE", "None", "" };
+ case SPELL_DAMAGE_CLASS_MAGIC: return { "SPELL_DAMAGE_CLASS_MAGIC", "Magic", "" };
+ case SPELL_DAMAGE_CLASS_MELEE: return { "SPELL_DAMAGE_CLASS_MELEE", "Melee", "" };
+ case SPELL_DAMAGE_CLASS_RANGED: return { "SPELL_DAMAGE_CLASS_RANGED", "Ranged", "" };
default: throw std::out_of_range("value");
}
}
+
template <>
-TC_API_EXPORT size_t Trinity::Impl::EnumUtils<SpellDmgClass>::Count() { return 4; }
+TC_API_EXPORT size_t EnumUtils<SpellDmgClass>::Count() { return 4; }
+
template <>
-TC_API_EXPORT SpellDmgClass Trinity::Impl::EnumUtils<SpellDmgClass>::FromIndex(size_t index)
+TC_API_EXPORT SpellDmgClass EnumUtils<SpellDmgClass>::FromIndex(size_t index)
{
switch (index)
{
@@ -902,20 +931,22 @@ TC_API_EXPORT SpellDmgClass Trinity::Impl::EnumUtils<SpellDmgClass>::FromIndex(s
|* data for enum 'SpellPreventionType' in 'SharedDefines.h' auto-generated *|
\***************************************************************************/
template <>
-TC_API_EXPORT EnumText Trinity::Impl::EnumUtils<SpellPreventionType>::ToString(SpellPreventionType value)
+TC_API_EXPORT EnumText EnumUtils<SpellPreventionType>::ToString(SpellPreventionType value)
{
switch (value)
{
- case SPELL_PREVENTION_TYPE_NONE: return {"SPELL_PREVENTION_TYPE_NONE", "None", ""};
- case SPELL_PREVENTION_TYPE_SILENCE: return {"SPELL_PREVENTION_TYPE_SILENCE", "Silence", ""};
- case SPELL_PREVENTION_TYPE_PACIFY: return {"SPELL_PREVENTION_TYPE_PACIFY", "Pacify", ""};
+ case SPELL_PREVENTION_TYPE_NONE: return { "SPELL_PREVENTION_TYPE_NONE", "None", "" };
+ case SPELL_PREVENTION_TYPE_SILENCE: return { "SPELL_PREVENTION_TYPE_SILENCE", "Silence", "" };
+ case SPELL_PREVENTION_TYPE_PACIFY: return { "SPELL_PREVENTION_TYPE_PACIFY", "Pacify", "" };
default: throw std::out_of_range("value");
}
}
+
template <>
-TC_API_EXPORT size_t Trinity::Impl::EnumUtils<SpellPreventionType>::Count() { return 3; }
+TC_API_EXPORT size_t EnumUtils<SpellPreventionType>::Count() { return 3; }
+
template <>
-TC_API_EXPORT SpellPreventionType Trinity::Impl::EnumUtils<SpellPreventionType>::FromIndex(size_t index)
+TC_API_EXPORT SpellPreventionType EnumUtils<SpellPreventionType>::FromIndex(size_t index)
{
switch (index)
{
@@ -930,32 +961,34 @@ TC_API_EXPORT SpellPreventionType Trinity::Impl::EnumUtils<SpellPreventionType>:
|* data for enum 'SpellFamilyNames' in 'SharedDefines.h' auto-generated *|
\************************************************************************/
template <>
-TC_API_EXPORT EnumText Trinity::Impl::EnumUtils<SpellFamilyNames>::ToString(SpellFamilyNames value)
+TC_API_EXPORT EnumText EnumUtils<SpellFamilyNames>::ToString(SpellFamilyNames value)
{
switch (value)
{
- case SPELLFAMILY_GENERIC: return {"SPELLFAMILY_GENERIC", "Generic", ""};
- case SPELLFAMILY_UNK1: return {"SPELLFAMILY_UNK1", "Unk1 (events, holidays, ...)", ""};
- case SPELLFAMILY_MAGE: return {"SPELLFAMILY_MAGE", "Mage", ""};
- case SPELLFAMILY_WARRIOR: return {"SPELLFAMILY_WARRIOR", "Warrior", ""};
- case SPELLFAMILY_WARLOCK: return {"SPELLFAMILY_WARLOCK", "Warlock", ""};
- case SPELLFAMILY_PRIEST: return {"SPELLFAMILY_PRIEST", "Priest", ""};
- case SPELLFAMILY_DRUID: return {"SPELLFAMILY_DRUID", "Druid", ""};
- case SPELLFAMILY_ROGUE: return {"SPELLFAMILY_ROGUE", "Rogue", ""};
- case SPELLFAMILY_HUNTER: return {"SPELLFAMILY_HUNTER", "Hunter", ""};
- case SPELLFAMILY_PALADIN: return {"SPELLFAMILY_PALADIN", "Paladin", ""};
- case SPELLFAMILY_SHAMAN: return {"SPELLFAMILY_SHAMAN", "Shaman", ""};
- case SPELLFAMILY_UNK2: return {"SPELLFAMILY_UNK2", "Unk2 (Silence resistance?)", ""};
- case SPELLFAMILY_POTION: return {"SPELLFAMILY_POTION", "Potion", ""};
- case SPELLFAMILY_DEATHKNIGHT: return {"SPELLFAMILY_DEATHKNIGHT", "Death Knight", ""};
- case SPELLFAMILY_PET: return {"SPELLFAMILY_PET", "Pet", ""};
+ case SPELLFAMILY_GENERIC: return { "SPELLFAMILY_GENERIC", "Generic", "" };
+ case SPELLFAMILY_UNK1: return { "SPELLFAMILY_UNK1", "Unk1 (events, holidays, ...)", "" };
+ case SPELLFAMILY_MAGE: return { "SPELLFAMILY_MAGE", "Mage", "" };
+ case SPELLFAMILY_WARRIOR: return { "SPELLFAMILY_WARRIOR", "Warrior", "" };
+ case SPELLFAMILY_WARLOCK: return { "SPELLFAMILY_WARLOCK", "Warlock", "" };
+ case SPELLFAMILY_PRIEST: return { "SPELLFAMILY_PRIEST", "Priest", "" };
+ case SPELLFAMILY_DRUID: return { "SPELLFAMILY_DRUID", "Druid", "" };
+ case SPELLFAMILY_ROGUE: return { "SPELLFAMILY_ROGUE", "Rogue", "" };
+ case SPELLFAMILY_HUNTER: return { "SPELLFAMILY_HUNTER", "Hunter", "" };
+ case SPELLFAMILY_PALADIN: return { "SPELLFAMILY_PALADIN", "Paladin", "" };
+ case SPELLFAMILY_SHAMAN: return { "SPELLFAMILY_SHAMAN", "Shaman", "" };
+ case SPELLFAMILY_UNK2: return { "SPELLFAMILY_UNK2", "Unk2 (Silence resistance?)", "" };
+ case SPELLFAMILY_POTION: return { "SPELLFAMILY_POTION", "Potion", "" };
+ case SPELLFAMILY_DEATHKNIGHT: return { "SPELLFAMILY_DEATHKNIGHT", "Death Knight", "" };
+ case SPELLFAMILY_PET: return { "SPELLFAMILY_PET", "Pet", "" };
default: throw std::out_of_range("value");
}
}
+
template <>
-TC_API_EXPORT size_t Trinity::Impl::EnumUtils<SpellFamilyNames>::Count() { return 15; }
+TC_API_EXPORT size_t EnumUtils<SpellFamilyNames>::Count() { return 15; }
+
template <>
-TC_API_EXPORT SpellFamilyNames Trinity::Impl::EnumUtils<SpellFamilyNames>::FromIndex(size_t index)
+TC_API_EXPORT SpellFamilyNames EnumUtils<SpellFamilyNames>::FromIndex(size_t index)
{
switch (index)
{
@@ -977,4 +1010,5 @@ TC_API_EXPORT SpellFamilyNames Trinity::Impl::EnumUtils<SpellFamilyNames>::FromI
default: throw std::out_of_range("index");
}
}
-
+}
+}