660{
683
689};
690
692{
700};
701
703{
710};
711
713{
723
726};
727
729{
739};
740
742{
754};
755
757{
761};
762
763
765{
788};
789
791{
825
828};
829
831
833{
836 int32 DiminishMaxLevel = 3;
837 int32 DiminishDurationLimit = 0;
838};
839
841{
842 uint32 SchoolImmuneMask = 0;
843 uint32 ApplyHarmfulAuraImmuneMask = 0;
844 uint64 MechanicImmuneMask = 0;
845 uint32 DispelImmuneMask = 0;
846 uint32 DamageSchoolMask = 0;
847
848 boost::container::flat_set<AuraType> AuraTypeImmune;
849 boost::container::flat_set<SpellEffects> SpellEffectImmune;
850};
851
853{
854private:
856public:
859
860 bool IsArea() const;
866 float CalcDirectionAngle() const;
867
869 uint32 GetExplicitTargetMask(
bool& srcSet,
bool& dstSet)
const;
870
871private:
872 struct StaticData
873 {
879 };
880
881 static std::array<StaticData, TOTAL_SPELL_TARGETS> _data;
882};
883
885{
887public:
910
916
926
931
934
937
940
942
943private:
944 struct StaticData
945 {
948 };
949
950 static std::array<StaticData, TOTAL_SPELL_EFFECTS>
_data;
951
952};
953
955{
957
958public:
975 uint32 TargetCreatureType;
976 uint32 RequiresSpellFocus;
980 uint32 CasterAuraStateNot;
981 uint32 TargetAuraStateNot;
984 uint32 ExcludeCasterAuraSpell;
985 uint32 ExcludeTargetAuraSpell;
988 uint32 CategoryRecoveryTime;
989 uint32 StartRecoveryCategory;
992 uint32 AuraInterruptFlags;
993 uint32 ChannelInterruptFlags;
1005 uint32 ManaPerSecondPerLevel;
1006 uint32 ManaCostPercentage;
1009 float Speed;
1011 std::array<uint32, 2>
Totem;
1012 std::array<int32, MAX_SPELL_REAGENTS> Reagent;
1013 std::array<uint32, MAX_SPELL_REAGENTS> ReagentCount;
1014 int32 EquippedItemClass;
1015 int32 EquippedItemSubClassMask;
1016 int32 EquippedItemInventoryTypeMask;
1018 std::array<uint32, 2> SpellVisual;
1022 std::array<char const*, 16> SpellName;
1023 std::array<char const*, 16> Rank;
1025 uint32 MaxAffectedTargets;
1032 std::array<SpellEffectInfo, MAX_SPELL_EFFECTS> Effects;
1033 uint32 ExplicitTargetMask;
1035
1036
1039 bool _isStackableWithRanks;
1040 bool _isSpellValid;
1041 bool _isCritCapable;
1042 bool _requireCooldownInfo;
1043 float JumpDistance;
1044
1047
1048 uint32 GetCategory()
const;
1050 bool HasEffectMechanic(
Mechanics mechanic)
const;
1052 bool HasAnyAura() const;
1053 bool HasAreaAuraEffect() const;
1054 bool HasOnlyDamageEffects() const;
1055
1056 inline bool HasAttribute(
SpellAttr0 attribute)
const {
return (Attributes & attribute) != 0; }
1057 inline bool HasAttribute(
SpellAttr1 attribute)
const {
return (AttributesEx & attribute) != 0; }
1058 inline bool HasAttribute(
SpellAttr2 attribute)
const {
return (AttributesEx2 & attribute) != 0; }
1059 inline bool HasAttribute(
SpellAttr3 attribute)
const {
return (AttributesEx3 & attribute) != 0; }
1060 inline bool HasAttribute(
SpellAttr4 attribute)
const {
return (AttributesEx4 & attribute) != 0; }
1061 inline bool HasAttribute(
SpellAttr5 attribute)
const {
return (AttributesEx5 & attribute) != 0; }
1062 inline bool HasAttribute(
SpellAttr6 attribute)
const {
return (AttributesEx6 & attribute) != 0; }
1063 inline bool HasAttribute(
SpellAttr7 attribute)
const {
return (AttributesEx7 & attribute) != 0; }
1064 inline bool HasAttribute(
SpellCustomAttributes customAttribute)
const {
return (AttributesCu & customAttribute) != 0; }
1065
1066 bool IsExplicitDiscovery() const;
1067 bool IsLootCrafting() const;
1068 bool IsQuestTame() const;
1069 bool IsProfessionOrRiding() const;
1070 bool IsProfession() const;
1071 bool IsPrimaryProfession() const;
1072 bool IsPrimaryProfessionFirstRank() const;
1073 bool IsAbilityLearnedWithProfession() const;
1074 bool IsAbilityOfSkillType(
uint32 skillType)
const;
1075
1076 bool IsAffectingArea() const;
1077 bool IsTargetingArea() const;
1078 bool NeedsExplicitUnitTarget() const;
1080 bool IsChannelCategorySpell() const;
1081 bool IsSelfCast() const;
1082
1083 bool IsPassive() const;
1084 bool IsAutocastable() const;
1085 bool ComputeIsCritCapable() const;
1086 bool IsCritCapable() const;
1087 bool RequireCooldownInfo() const;
1088 void SetCritCapable(bool val);
1089 bool ComputeIsStackableWithRanks() const;
1090 bool IsStackableWithRanks() const;
1091 void SetStackableWithRanks(bool val);
1092 bool IsSpellValid() const;
1093 void SetSpellValid(bool val);
1094 bool IsPassiveStackableWithRanks() const;
1095 bool IsMultiSlotAura() const;
1096 bool IsCooldownStartedOnEvent() const;
1097 bool IsDeathPersistent() const;
1098 bool IsRequiringDeadTarget() const;
1099 bool IsAllowingDeadTarget() const;
1100 bool CanBeUsedInCombat() const;
1101 bool IsPositive() const;
1102 bool IsPositiveEffect(
uint8 effIndex)
const;
1103 bool IsChanneled() const;
1104 [[nodiscard]] bool IsActionAllowedChannel() const;
1105 bool NeedsComboPoints() const;
1106 bool IsBreakingStealth() const;
1107 bool IsRangedWeaponSpell() const;
1108 bool IsAutoRepeatRangedSpell() const;
1109 bool HasInitialAggro() const;
1110
1111 [[nodiscard]]
bool IsAffected(
uint32 familyName,
flag96 const& familyFlags)
const;
1112
1113 bool IsAffectedBySpellMods() const;
1115
1116 bool CanPierceImmuneAura(
SpellInfo const* auraSpellInfo)
const;
1117 bool CanDispelAura(
SpellInfo const* auraSpellInfo)
const;
1118
1119 void ApplyAllSpellImmunitiesTo(
Unit* target,
SpellEffectInfo const* effect,
bool apply)
const;
1120 bool CanSpellProvideImmunityAgainstAura(
SpellInfo const* auraSpellInfo)
const;
1121 bool CanSpellCastOverrideAuraEffect(
AuraEffect const* aurEff)
const;
1122
1123 bool IsSingleTarget() const;
1124 bool IsAuraExclusiveBySpecificWith(
SpellInfo const* spellInfo)
const;
1125 bool IsAuraExclusiveBySpecificPerCasterWith(
SpellInfo const* spellInfo)
const;
1126
1131 bool CheckTargetCreatureType(
Unit const* target)
const;
1132
1133 bool IsAuraEffectEqual(
SpellInfo const* otherSpellInfo)
const;
1134 bool ValidateAttribute6SpellDamageMods(
Unit const* caster,
const AuraEffect* auraEffect,
bool isDot)
const;
1135
1137 uint64 GetAllEffectsMechanicMask()
const;
1138 uint64 GetEffectMechanicMask(
uint8 effIndex)
const;
1139 uint64 GetSpellMechanicMaskByEffectMask(
uint32 effectMask)
const;
1141 bool HasAnyEffectMechanic() const;
1143 uint32 GetDispelMask()
const;
1145 uint32 GetExplicitTargetMask()
const;
1146
1149
1150 float GetMinRange(bool positive = false) const;
1151 float GetMaxRange(
bool positive =
false,
Unit* caster =
nullptr,
Spell* spell =
nullptr)
const;
1152
1153 int32 GetDuration()
const;
1154 int32 GetMaxDuration()
const;
1155
1156 uint32 GetMaxTicks()
const;
1157
1158 uint32 CalcCastTime(
Unit* caster =
nullptr,
Spell* spell =
nullptr)
const;
1159 uint32 GetRecoveryTime()
const;
1160
1162
1163 bool IsRanked() const;
1164 uint8 GetRank()
const;
1165 SpellInfo const* GetFirstRankSpell()
const;
1166 SpellInfo const* GetLastRankSpell()
const;
1167 SpellInfo const* GetNextRankSpell()
const;
1168 SpellInfo const* GetPrevRankSpell()
const;
1170 bool IsRankOf(
SpellInfo const* spellInfo)
const;
1171 bool IsDifferentRankOf(
SpellInfo const* spellInfo)
const;
1172 bool IsHighRankOf(
SpellInfo const* spellInfo)
const;
1173
1174 std::array<SpellEffectInfo, MAX_SPELL_EFFECTS> const& GetEffects() const { return Effects; }
1176
1177
1178 void _InitializeExplicitTargetMask();
1179 bool _IsPositiveEffect(
uint8 effIndex,
bool deep)
const;
1180 bool _IsPositiveSpell() const;
1181 static bool _IsPositiveTarget(
uint32 targetA,
uint32 targetB);
1182
1185
1186
1187 void _UnloadImplicitTargetConditionLists();
1188
1189
1190 void _LoadImmunityInfo();
1191
1194
1196 std::array<SpellEffectInfo, MAX_SPELL_EFFECTS>& _GetEffects() { return Effects; }
1198};
1199
1200#endif
#define MAX_SPELL_EFFECTS
Definition DBCStructure.h:1637
#define AC_GAME_API
Definition Define.h:94
std::uint64_t uint64
Definition Define.h:106
#define ASSERT
Definition Errors.h:68
SpellEffIndex
Definition SharedDefines.h:30
DiminishingGroup
Definition SharedDefines.h:3492
@ DIMINISHING_NONE
Definition SharedDefines.h:3493
SpellAttr7
Definition SharedDefines.h:628
SpellEffects
Definition SharedDefines.h:766
SpellAttr5
Definition SharedDefines.h:554
Targets
Definition SharedDefines.h:1415
SpellAttr2
Definition SharedDefines.h:443
SpellAttr1
Definition SharedDefines.h:406
SpellAttr3
Definition SharedDefines.h:480
SpellAttr0
Definition SharedDefines.h:369
TotemCategory
Definition SharedDefines.h:3318
AuraStateType
Definition SharedDefines.h:1276
DiminishingReturnsType
Definition SharedDefines.h:3484
@ DRTYPE_NONE
Definition SharedDefines.h:3485
DispelType
Definition SharedDefines.h:1376
SpellCastResult
Definition SharedDefines.h:936
SpellAttr4
Definition SharedDefines.h:517
SpellAttr6
Definition SharedDefines.h:591
SpellSchoolMask
Definition SharedDefines.h:283
SpellEffectImplicitTargetTypes
Definition SpellInfo.h:142
@ EFFECT_IMPLICIT_TARGET_CASTER
Definition SpellInfo.h:145
@ EFFECT_IMPLICIT_TARGET_NONE
Definition SpellInfo.h:143
@ EFFECT_IMPLICIT_TARGET_EXPLICIT
Definition SpellInfo.h:144
SpellTargetSelectionCategories
Definition SpellInfo.h:77
@ TARGET_SELECT_CATEGORY_CONE
Definition SpellInfo.h:82
@ TARGET_SELECT_CATEGORY_AREA
Definition SpellInfo.h:83
@ TARGET_SELECT_CATEGORY_DEFAULT
Definition SpellInfo.h:79
@ TARGET_SELECT_CATEGORY_NEARBY
Definition SpellInfo.h:81
@ TARGET_SELECT_CATEGORY_NYI
Definition SpellInfo.h:78
@ TARGET_SELECT_CATEGORY_TRAJ
Definition SpellInfo.h:84
@ TARGET_SELECT_CATEGORY_CHANNEL
Definition SpellInfo.h:80
SpellTargetCheckTypes
Definition SpellInfo.h:114
@ TARGET_CHECK_CORPSE
Definition SpellInfo.h:123
@ TARGET_CHECK_PASSENGER
Definition SpellInfo.h:122
@ TARGET_CHECK_PARTY
Definition SpellInfo.h:119
@ TARGET_CHECK_ENEMY
Definition SpellInfo.h:117
@ TARGET_CHECK_DEFAULT
Definition SpellInfo.h:115
@ TARGET_CHECK_ENTRY
Definition SpellInfo.h:116
@ TARGET_CHECK_RAID_CLASS
Definition SpellInfo.h:121
@ TARGET_CHECK_ALLY
Definition SpellInfo.h:118
@ TARGET_CHECK_RAID
Definition SpellInfo.h:120
@ TARGET_FLAG_TRADE_ITEM
Definition SpellInfo.h:59
@ TARGET_FLAG_STRING
Definition SpellInfo.h:60
@ TARGET_FLAG_NONE
Definition SpellInfo.h:46
@ TARGET_FLAG_UNIT_RAID
Definition SpellInfo.h:49
@ TARGET_FLAG_UNIT_ENEMY
Definition SpellInfo.h:54
@ TARGET_FLAG_GLYPH_SLOT
Definition SpellInfo.h:64
@ TARGET_FLAG_CORPSE_ALLY
Definition SpellInfo.h:62
@ TARGET_FLAG_UNIT_MINIPET
Definition SpellInfo.h:63
@ TARGET_FLAG_UNIT_PASSENGER
Definition SpellInfo.h:67
@ TARGET_FLAG_UNUSED20
Definition SpellInfo.h:66
@ TARGET_FLAG_UNIT_ALLY
Definition SpellInfo.h:55
@ TARGET_FLAG_ITEM_MASK
Definition SpellInfo.h:73
@ TARGET_FLAG_UNUSED_1
Definition SpellInfo.h:47
@ TARGET_FLAG_UNIT
Definition SpellInfo.h:48
@ TARGET_FLAG_DEST_TARGET
Definition SpellInfo.h:65
@ TARGET_FLAG_UNIT_DEAD
Definition SpellInfo.h:57
@ TARGET_FLAG_CORPSE_ENEMY
Definition SpellInfo.h:56
@ TARGET_FLAG_GAMEOBJECT_MASK
Definition SpellInfo.h:71
@ TARGET_FLAG_UNIT_PARTY
Definition SpellInfo.h:50
SpellTargetDirectionTypes
Definition SpellInfo.h:127
@ TARGET_DIR_FRONT_RIGHT
Definition SpellInfo.h:133
@ TARGET_DIR_NONE
Definition SpellInfo.h:128
@ TARGET_DIR_BACK
Definition SpellInfo.h:130
@ TARGET_DIR_BACK_RIGHT
Definition SpellInfo.h:134
@ TARGET_DIR_RIGHT
Definition SpellInfo.h:131
@ TARGET_DIR_FRONT_LEFT
Definition SpellInfo.h:136
@ TARGET_DIR_FRONT
Definition SpellInfo.h:129
@ TARGET_DIR_LEFT
Definition SpellInfo.h:132
@ TARGET_DIR_ENTRY
Definition SpellInfo.h:138
@ TARGET_DIR_BACK_LEFT
Definition SpellInfo.h:135
@ TARGET_DIR_RANDOM
Definition SpellInfo.h:137
SpellCustomAttributes
Definition SpellInfo.h:176
@ SPELL_ATTR0_CU_IGNORE_ARMOR
Definition SpellInfo.h:192
@ SPELL_ATTR0_CU_POSITIVE_EFF2
Definition SpellInfo.h:204
@ SPELL_ATTR0_CU_REQ_TARGET_FACING_CASTER
Definition SpellInfo.h:193
@ SPELL_ATTR0_CU_ALLOW_INFLIGHT_TARGET
Definition SpellInfo.h:195
@ SPELL_ATTR0_CU_ENCHANT_PROC
Definition SpellInfo.h:177
@ SPELL_ATTR0_CU_NO_POSITIVE_TAKEN_BONUS
Definition SpellInfo.h:198
@ SPELL_ATTR0_CU_FORCE_SEND_CATEGORY_COOLDOWNS
Definition SpellInfo.h:205
@ SPELL_ATTR0_CU_DIRECT_DAMAGE
Definition SpellInfo.h:185
@ SPELL_ATTR0_CU_POSITIVE
Definition SpellInfo.h:212
@ SPELL_ATTR0_CU_FORCE_AURA_SAVING
Definition SpellInfo.h:206
@ SPELL_ATTR0_CU_NO_PVP_FLAG
Definition SpellInfo.h:184
@ SPELL_ATTR0_CU_DONT_BREAK_STEALTH
Definition SpellInfo.h:183
@ SPELL_ATTR0_CU_REQ_CASTER_BEHIND_TARGET
Definition SpellInfo.h:194
@ SPELL_ATTR0_CU_CONE_BACK
Definition SpellInfo.h:178
@ SPELL_ATTR0_CU_SINGLE_AURA_STACK
Definition SpellInfo.h:199
@ SPELL_ATTR0_CU_AURA_CANNOT_BE_SAVED
Definition SpellInfo.h:201
@ SPELL_ATTR0_CU_NEGATIVE_EFF2
Definition SpellInfo.h:191
@ SPELL_ATTR0_CU_AURA_CC
Definition SpellInfo.h:182
@ SPELL_ATTR0_CU_NEGATIVE_EFF1
Definition SpellInfo.h:190
@ SPELL_ATTR0_CU_CHARGE
Definition SpellInfo.h:186
@ SPELL_ATTR0_CU_NEGATIVE
Definition SpellInfo.h:211
@ SPELL_ATTR0_CU_NEEDS_AMMO_DATA
Definition SpellInfo.h:196
@ SPELL_ATTR0_CU_BYPASS_MECHANIC_IMMUNITY
Definition SpellInfo.h:209
@ SPELL_ATTR0_CU_POSITIVE_EFF0
Definition SpellInfo.h:202
@ SPELL_ATTR0_CU_NEGATIVE_EFF0
Definition SpellInfo.h:189
@ SPELL_ATTR0_CU_POSITIVE_EFF1
Definition SpellInfo.h:203
@ SPELL_ATTR0_CU_BINARY_SPELL
Definition SpellInfo.h:197
@ SPELL_ATTR0_CU_SHARE_DAMAGE
Definition SpellInfo.h:180
@ SPELL_ATTR0_CU_SCHOOLMASK_NORMAL_WITH_MAGIC
Definition SpellInfo.h:200
@ SPELL_ATTR0_CU_IGNORE_EVADE
Definition SpellInfo.h:188
@ SPELL_ATTR0_CU_ONLY_ONE_AREA_AURA
Definition SpellInfo.h:207
@ SPELL_ATTR0_CU_ENCOUNTER_REWARD
Definition SpellInfo.h:208
@ SPELL_ATTR0_CU_PICKPOCKET
Definition SpellInfo.h:187
@ SPELL_ATTR0_CU_CONE_LINE
Definition SpellInfo.h:179
@ SPELL_ATTR0_CU_NO_INITIAL_THREAT
Definition SpellInfo.h:181
SpellSpecificType
Definition SpellInfo.h:150
@ SPELL_SPECIFIC_FOOD
Definition SpellInfo.h:164
@ SPELL_SPECIFIC_MAGE_ARMOR
Definition SpellInfo.h:159
@ SPELL_SPECIFIC_NORMAL
Definition SpellInfo.h:151
@ SPELL_SPECIFIC_STING
Definition SpellInfo.h:154
@ SPELL_SPECIFIC_MAGE_ARCANE_BRILLANCE
Definition SpellInfo.h:170
@ SPELL_SPECIFIC_ASPECT
Definition SpellInfo.h:156
@ SPELL_SPECIFIC_PRIEST_DIVINE_SPIRIT
Definition SpellInfo.h:171
@ SPELL_SPECIFIC_ELEMENTAL_SHIELD
Definition SpellInfo.h:160
@ SPELL_SPECIFIC_WARLOCK_CORRUPTION
Definition SpellInfo.h:163
@ SPELL_SPECIFIC_PRESENCE
Definition SpellInfo.h:167
@ SPELL_SPECIFIC_CURSE
Definition SpellInfo.h:155
@ SPELL_SPECIFIC_JUDGEMENT
Definition SpellInfo.h:162
@ SPELL_SPECIFIC_DRINK
Definition SpellInfo.h:165
@ SPELL_SPECIFIC_HAND
Definition SpellInfo.h:172
@ SPELL_SPECIFIC_AURA
Definition SpellInfo.h:153
@ SPELL_SPECIFIC_WARLOCK_ARMOR
Definition SpellInfo.h:158
@ SPELL_SPECIFIC_SCROLL
Definition SpellInfo.h:169
@ SPELL_SPECIFIC_MAGE_POLYMORPH
Definition SpellInfo.h:161
@ SPELL_SPECIFIC_TRACKER
Definition SpellInfo.h:157
@ SPELL_SPECIFIC_SEAL
Definition SpellInfo.h:152
@ SPELL_SPECIFIC_FOOD_AND_DRINK
Definition SpellInfo.h:166
@ SPELL_SPECIFIC_CHARM
Definition SpellInfo.h:168
SpellTargetObjectTypes
Definition SpellInfo.h:98
@ TARGET_OBJECT_TYPE_UNIT
Definition SpellInfo.h:102
@ TARGET_OBJECT_TYPE_ITEM
Definition SpellInfo.h:106
@ TARGET_OBJECT_TYPE_CORPSE
Definition SpellInfo.h:107
@ TARGET_OBJECT_TYPE_UNIT_AND_DEST
Definition SpellInfo.h:103
@ TARGET_OBJECT_TYPE_NONE
Definition SpellInfo.h:99
@ TARGET_OBJECT_TYPE_DEST
Definition SpellInfo.h:101
@ TARGET_OBJECT_TYPE_GOBJ
Definition SpellInfo.h:104
@ TARGET_OBJECT_TYPE_CORPSE_ALLY
Definition SpellInfo.h:110
@ TARGET_OBJECT_TYPE_CORPSE_ENEMY
Definition SpellInfo.h:109
@ TARGET_OBJECT_TYPE_GOBJ_ITEM
Definition SpellInfo.h:105
@ TARGET_OBJECT_TYPE_SRC
Definition SpellInfo.h:100
SpellTargetReferenceTypes
Definition SpellInfo.h:88
@ TARGET_REFERENCE_TYPE_SRC
Definition SpellInfo.h:93
@ TARGET_REFERENCE_TYPE_TARGET
Definition SpellInfo.h:91
@ TARGET_REFERENCE_TYPE_LAST
Definition SpellInfo.h:92
@ TARGET_REFERENCE_TYPE_NONE
Definition SpellInfo.h:89
@ TARGET_REFERENCE_TYPE_CASTER
Definition SpellInfo.h:90
@ TARGET_REFERENCE_TYPE_DEST
Definition SpellInfo.h:94
ProcFlags
Definition SpellMgr.h:107
PowerType
Definition VehicleDefines.h:29
Definition SpellAuraEffects.h:39
Definition SpellInfo.h:270
float CalcDamageMultiplier(Unit *caster, Spell *spell=nullptr) const
Definition SpellInfo.cpp:539
float CalcRadius(Unit *caster=nullptr, Spell *=nullptr) const
Definition SpellInfo.cpp:552
ImmunityInfo const * GetImmunityInfo() const
Definition SpellInfo.cpp:608
int32 CalcValue(Unit const *caster=nullptr, int32 const *basePoints=nullptr, Unit const *target=nullptr) const
Definition SpellInfo.cpp:409
uint32 GetMissingTargetMask(bool srcSet=false, bool destSet=false, uint32 mask=0) const
Definition SpellInfo.cpp:574
bool IsFarUnitTargetEffect() const
Definition SpellInfo.cpp:390
bool IsEffect() const
Definition SpellInfo.cpp:353
bool IsTargetingArea() const
Definition SpellInfo.cpp:373
bool IsFarDestTargetEffect() const
Definition SpellInfo.cpp:399
SpellEffectImplicitTargetTypes GetImplicitTargetType() const
Definition SpellInfo.cpp:598
SpellEffectInfo()
Definition SpellInfo.h:296
float CalcValueMultiplier(Unit *caster, Spell *spell=nullptr) const
Definition SpellInfo.cpp:531
uint32 GetProvidedTargetMask() const
Definition SpellInfo.cpp:569
int32 CalcBaseValue(int32 value) const
Definition SpellInfo.cpp:523
Definition SpellInfo.h:340
Definition SpellMgr.h:642
Definition SpellInfo.h:226
Definition DBCStructure.h:1758
Definition DBCStructure.h:1766
Definition SpellMgr.h:544
Definition SpellInfo.h:218
Definition DBCStructure.h:1833
SpellTargetObjectTypes UsedTargetObjectType
Definition SpellInfo.h:332
SpellEffectImplicitTargetTypes ImplicitTargetType
Definition SpellInfo.h:331
Definition DBCStructure.h:1642
Definition DBCStructure.h:1785
Definition DBCStructure.h:1793