Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Loading...
Searching...
No Matches
SpellInfo.h
Go to the documentation of this file.
1/*
2* This file is part of Project SkyFire https://www.projectskyfire.org.
3* See LICENSE.md file for Copyright information
4*/
5
6#ifndef SF_SPELLINFO_H
7#define SF_SPELLINFO_H
8
9#include "DB2Structure.h"
10#include "DBCStructure.h"
11#include "Object.h"
12#include "SharedDefines.h"
13#include "SpellAuraDefines.h"
14#include "SpellTargeting.h"
15#include "Util.h"
16
17class Unit;
18class Player;
19class Item;
20class Spell;
21class SpellInfo;
22class WorldObject;
23struct SpellChainNode;
26struct SpellModifier;
27struct SpellRangeEntry;
28struct SpellRadiusEntry;
29struct SpellEntry;
31struct Condition;
32
33// Spell clasification
62
83
85{
88public:
110 std::list<Condition*>* ImplicitTargetConditions = { };
111 // SpellScalingEntry
115
119
120 SpellEffectInfo(SpellEntry const* spellEntry, SpellInfo const* spellInfo, uint8 effIndex, SpellEffectEntry const* effect);
121
122 bool IsEffect() const;
123 bool IsEffect(SpellEffects effectName) const;
124 bool IsAura() const;
125 bool IsAura(AuraType aura) const;
126 bool IsTargetingArea() const;
127 bool IsAreaAuraEffect() const;
128 bool IsFarUnitTargetEffect() const;
129 bool IsFarDestTargetEffect() const;
130 bool IsUnitOwnedAuraEffect() const;
131
132 int32 CalcValue(Unit const* caster = NULL, int32 const* basePoints = NULL, Unit const* target = NULL) const;
133 int32 CalcBaseValue(int32 value) const;
134 float CalcBonusMultiplier(Unit* caster, Spell* spell = NULL) const;
135 float CalcValueMultiplier(Unit* caster, Spell* spell = NULL) const;
136 float CalcDamageMultiplier(Unit* caster, Spell* spell = NULL) const;
137
138 bool HasRadius() const;
139 bool HasMaxRadius() const;
140 float CalcRadius(Unit* caster = NULL, Spell* = NULL) const;
141
143 uint32 GetMissingTargetMask(bool srcSet = false, bool destSet = false, uint32 mask = 0) const;
144
147
148private:
150 {
151 SpellEffectImplicitTargetTypes ImplicitTargetType; // defines what target can be added to effect target list if there's no valid target type provided for effect
152 SpellTargetObjectTypes UsedTargetObjectType; // defines valid target object type for spell effect
153 };
155};
156
158{
159public:
174 //uint32 AttributesEx10;
175 //uint32 AttributesEx11;
176 //uint32 AttributesEx12;
177 //uint32 AttributesEx13;
210 float Speed;
223 //char* Rank;
224 //uint32 MaxTargetLevel;
232 //uint32 SpellDifficultyId;
248 // SpellScalingEntry
253 float CoefBase;
258
259 // SpecializationSpellsEntry
260 std::list<uint32> SpecializationIdList;
261 std::list<uint32> OverrideSpellList;
262
264
265 // struct access functions
275 SpellLevelsEntry const* GetSpellLevels() const;
277 SpellScalingEntry const* GetSpellScaling() const;
279 SpellTotemsEntry const* GetSpellTotems() const;
280
281 SpellInfo(SpellEntry const* spellEntry, SpellEffectEntry const** effects);
282 ~SpellInfo();
283
284 uint32 GetCategory() const;
285 bool HasEffect(SpellEffects effect) const;
286 bool HasAura(AuraType aura) const;
287 bool HasAreaAuraEffect() const;
288
289 bool IsExplicitDiscovery() const;
290 bool IsLootCrafting() const;
291 bool IsQuestTame() const;
292 bool IsProfessionOrRiding() const;
293 bool IsProfession() const;
294 bool IsPrimaryProfession() const;
295 bool IsPrimaryProfessionFirstRank() const;
297 bool IsAbilityOfSkillType(uint32 skillType) const;
298
299 bool IsAffectingArea() const;
300 bool IsTargetingArea() const;
301 bool NeedsExplicitUnitTarget() const;
302 bool NeedsToBeTriggeredByCaster(SpellInfo const* triggeringSpell) const;
303
304 bool IsPassive() const;
305 bool IsAutocastable() const;
306 bool IsStackableWithRanks() const;
307 bool IsPassiveStackableWithRanks() const;
308 bool IsMultiSlotAura() const;
310 bool IsCooldownStartedOnEvent() const;
311 bool IsDeathPersistent() const;
312 bool IsRequiringDeadTarget() const;
313 bool IsAllowingDeadTarget() const;
314 bool CanBeUsedInCombat() const;
315 bool IsPositive() const;
316 bool IsPositiveEffect(uint8 effIndex) const;
317 bool IsChanneled() const;
318 bool NeedsComboPoints() const;
319 bool IsBreakingStealth() const;
320 bool IsRangedWeaponSpell() const;
321 bool IsAutoRepeatRangedSpell() const;
322
323 bool IsAffectedBySpellMods() const;
324 bool IsAffectedBySpellMod(SpellModifier const* mod) const;
325
326 bool CanPierceImmuneAura(SpellInfo const* aura) const;
327 bool CanDispelAura(SpellInfo const* aura) const;
328
329 bool IsSingleTarget() const;
330 bool IsAuraExclusiveBySpecificWith(SpellInfo const* spellInfo) const;
331 bool IsAuraExclusiveBySpecificPerCasterWith(SpellInfo const* spellInfo) const;
332
334 SpellCastResult CheckLocation(uint32 map_id, uint32 zone_id, uint32 area_id, Player const* player = NULL) const;
335 SpellCastResult CheckTarget(Unit const* caster, WorldObject const* target, bool implicit = true) const;
336 SpellCastResult CheckExplicitTarget(Unit const* caster, WorldObject const* target, Item const* itemTarget = NULL) const;
337 SpellCastResult CheckVehicle(Unit const* caster) const;
338 bool CheckTargetCreatureType(Unit const* target) const;
339
342 uint32 GetEffectMechanicMask(uint8 effIndex) const;
344 Mechanics GetEffectMechanic(uint8 effIndex) const;
345 bool HasAnyEffectMechanic() const;
346 uint32 GetDispelMask() const;
347 static uint32 GetDispelMask(DispelType type);
349
352
353 float GetMinRange(bool positive = false) const;
354 float GetMaxRange(bool positive = false, Unit* caster = NULL, Spell* spell = NULL) const;
355
356 int32 GetDuration() const;
357 int32 GetMaxDuration() const;
358
359 uint32 GetMaxTicks() const;
360
361 uint32 CalcCastTime(uint8 level = 0, Spell* spell = NULL) const;
362 uint32 GetRecoveryTime() const;
363
364 //int32 CalcPowerCost(Unit const* caster, SpellSchoolMask schoolMask) const;
365
366 bool IsRanked() const;
367 uint8 GetRank() const;
368 SpellInfo const* GetFirstRankSpell() const;
369 SpellInfo const* GetLastRankSpell() const;
370 SpellInfo const* GetNextRankSpell() const;
371 SpellInfo const* GetPrevRankSpell() const;
372 SpellInfo const* GetAuraRankForLevel(uint8 level) const;
373 bool IsRankOf(SpellInfo const* spellInfo) const;
374 bool IsDifferentRankOf(SpellInfo const* spellInfo) const;
375 bool IsHighRankOf(SpellInfo const* spellInfo) const;
376
377 // loading helpers
379 bool _IsPositiveEffect(uint8 effIndex, bool deep) const;
380 bool _IsPositiveSpell() const;
381 static bool _IsPositiveTarget(uint32 targetA, uint32 targetB);
382
383 // unloading helpers
385};
386
387#endif // _SPELLINFO_H
#define MAX_SPELL_REAGENTS
#define MAX_SPELL_EFFECTS
std::int32_t int32
Definition Define.h:73
std::uint8_t uint8
Definition Define.h:79
std::uint32_t uint32
Definition Define.h:77
SpellEffects
@ TOTAL_SPELL_EFFECTS
AuraStateType
Mechanics
@ MECHANIC_NONE
DispelType
SpellSchoolMask
SpellCastResult
SpellCustomAttributes
Definition SpellInfo.h:64
@ SPELL_ATTR0_CU_IGNORE_ARMOR
Definition SpellInfo.h:77
@ SPELL_ATTR0_CU_REQ_TARGET_FACING_CASTER
Definition SpellInfo.h:78
@ SPELL_ATTR0_CU_ENCHANT_PROC
Definition SpellInfo.h:65
@ SPELL_ATTR0_CU_DIRECT_DAMAGE
Definition SpellInfo.h:71
@ SPELL_ATTR0_CU_REQ_CASTER_BEHIND_TARGET
Definition SpellInfo.h:79
@ SPELL_ATTR0_CU_CONE_BACK
Definition SpellInfo.h:66
@ SPELL_ATTR0_CU_NEGATIVE_EFF2
Definition SpellInfo.h:76
@ SPELL_ATTR0_CU_AURA_CC
Definition SpellInfo.h:70
@ SPELL_ATTR0_CU_NEGATIVE_EFF1
Definition SpellInfo.h:75
@ SPELL_ATTR0_CU_CHARGE
Definition SpellInfo.h:72
@ SPELL_ATTR0_CU_NEGATIVE
Definition SpellInfo.h:81
@ SPELL_ATTR0_CU_NEGATIVE_EFF0
Definition SpellInfo.h:74
@ SPELL_ATTR0_CU_SHARE_DAMAGE
Definition SpellInfo.h:68
@ SPELL_ATTR0_CU_PICKPOCKET
Definition SpellInfo.h:73
@ SPELL_ATTR0_CU_CONE_LINE
Definition SpellInfo.h:67
@ SPELL_ATTR0_CU_NO_INITIAL_THREAT
Definition SpellInfo.h:69
SpellSpecificType
Definition SpellInfo.h:35
@ SPELL_SPECIFIC_FOOD
Definition SpellInfo.h:49
@ SPELL_SPECIFIC_MAGE_ARMOR
Definition SpellInfo.h:44
@ SPELL_SPECIFIC_NORMAL
Definition SpellInfo.h:36
@ SPELL_SPECIFIC_STING
Definition SpellInfo.h:39
@ SPELL_SPECIFIC_MAGE_ARCANE_BRILLANCE
Definition SpellInfo.h:55
@ SPELL_SPECIFIC_ASPECT
Definition SpellInfo.h:41
@ SPELL_SPECIFIC_PRIEST_DIVINE_SPIRIT
Definition SpellInfo.h:57
@ SPELL_SPECIFIC_ELEMENTAL_SHIELD
Definition SpellInfo.h:45
@ SPELL_SPECIFIC_WARLOCK_CORRUPTION
Definition SpellInfo.h:48
@ SPELL_SPECIFIC_BANE
Definition SpellInfo.h:60
@ SPELL_SPECIFIC_PRESENCE
Definition SpellInfo.h:52
@ SPELL_SPECIFIC_CURSE
Definition SpellInfo.h:40
@ SPELL_SPECIFIC_JUDGEMENT
Definition SpellInfo.h:47
@ SPELL_SPECIFIC_DRINK
Definition SpellInfo.h:50
@ SPELL_SPECIFIC_HAND
Definition SpellInfo.h:58
@ SPELL_SPECIFIC_AURA
Definition SpellInfo.h:38
@ SPELL_SPECIFIC_WARRIOR_ENRAGE
Definition SpellInfo.h:56
@ SPELL_SPECIFIC_WARLOCK_ARMOR
Definition SpellInfo.h:43
@ SPELL_SPECIFIC_SCROLL
Definition SpellInfo.h:54
@ SPELL_SPECIFIC_PHASE
Definition SpellInfo.h:59
@ SPELL_SPECIFIC_MAGE_POLYMORPH
Definition SpellInfo.h:46
@ SPELL_SPECIFIC_TRACKER
Definition SpellInfo.h:42
@ SPELL_SPECIFIC_SEAL
Definition SpellInfo.h:37
@ SPELL_SPECIFIC_FOOD_AND_DRINK
Definition SpellInfo.h:51
@ SPELL_SPECIFIC_CHARM
Definition SpellInfo.h:53
SpellEffectImplicitTargetTypes
SpellTargetObjectTypes
Definition Item.h:202
Mechanics Mechanic
Definition SpellInfo.h:101
float ComboScalingMultiplier
Definition SpellInfo.h:114
float BonusMultiplier
Definition SpellInfo.h:98
float ValueMultiplier
Definition SpellInfo.h:96
bool IsUnitOwnedAuraEffect() const
float CalcValueMultiplier(Unit *caster, Spell *spell=NULL) const
float PointsPerComboPoint
Definition SpellInfo.h:95
static StaticData _data[TOTAL_SPELL_EFFECTS]
Definition SpellInfo.h:361
std::list< Condition * > * ImplicitTargetConditions
Definition SpellInfo.h:110
uint32 TriggerSpell
Definition SpellInfo.h:108
float DamageMultiplier
Definition SpellInfo.h:97
float ScalingMultiplier
Definition SpellInfo.h:112
float CalcDamageMultiplier(Unit *caster, Spell *spell=NULL) const
bool IsAreaAuraEffect() const
Definition SpellInfo.cpp:84
SpellInfo const * _spellInfo
Definition SpellInfo.h:86
bool IsAura() const
Definition SpellInfo.cpp:69
uint32 GetMissingTargetMask(bool srcSet=false, bool destSet=false, uint32 mask=0) const
bool HasRadius() const
bool IsFarUnitTargetEffect() const
Definition SpellInfo.cpp:96
bool HasMaxRadius() const
bool IsEffect() const
Definition SpellInfo.cpp:59
flag128 SpellClassMask
Definition SpellInfo.h:109
bool IsTargetingArea() const
Definition SpellInfo.cpp:79
bool IsFarDestTargetEffect() const
float CalcBonusMultiplier(Unit *caster, Spell *spell=NULL) const
uint32 ApplyAuraTickCount
Definition SpellInfo.h:91
SpellEffectImplicitTargetTypes GetImplicitTargetType() const
uint32 ApplyAuraName
Definition SpellInfo.h:90
float CalcRadius(Unit *caster=NULL, Spell *=NULL) const
float DeltaScalingMultiplier
Definition SpellInfo.h:113
SpellTargetObjectTypes GetUsedTargetObjectType() const
uint32 ChainTarget
Definition SpellInfo.h:106
float RealPointsPerLevel
Definition SpellInfo.h:93
SpellRadiusEntry const * MaxRadiusEntry
Definition SpellInfo.h:105
SpellRadiusEntry const * RadiusEntry
Definition SpellInfo.h:104
uint32 GetProvidedTargetMask() const
SpellImplicitTargetInfo TargetA
Definition SpellInfo.h:102
int32 CalcBaseValue(int32 value) const
int32 CalcValue(Unit const *caster=NULL, int32 const *basePoints=NULL, Unit const *target=NULL) const
SpellImplicitTargetInfo TargetB
Definition SpellInfo.h:103
Definition Spell.h:289
uint32 ChannelInterruptFlags
Definition SpellInfo.h:200
SpellInterruptsEntry const * GetSpellInterrupts() const
bool IsExplicitDiscovery() const
uint32 RequiresSpellFocus
Definition SpellInfo.h:183
uint32 BaseLevel
Definition SpellInfo.h:205
SpellEffectInfo Effects[MAX_SPELL_EFFECTS]
Definition SpellInfo.h:255
bool _IsPositiveSpell() const
uint32 MaxLevel
Definition SpellInfo.h:204
uint32 SpellLevel
Definition SpellInfo.h:206
static bool _IsPositiveTarget(uint32 targetA, uint32 targetB)
uint32 TargetAuraState
Definition SpellInfo.h:186
SpellReagentsEntry const * GetSpellReagents() const
bool IsRankOf(SpellInfo const *spellInfo) const
uint32 GetMaxTicks() const
uint32 ExcludeTargetAuraSpell
Definition SpellInfo.h:192
uint32 GetEffectMechanicMask(uint8 effIndex) const
uint32 TargetAuraStateNot
Definition SpellInfo.h:188
uint32 PreventionType
Definition SpellInfo.h:229
uint32 CasterAuraSpell
Definition SpellInfo.h:189
bool IsProfessionOrRiding() const
uint32 RuneCostID
Definition SpellInfo.h:208
uint32 Stances
Definition SpellInfo.h:179
uint32 SpellVisual[2]
Definition SpellInfo.h:219
SpellInfo const * GetFirstRankSpell() const
bool IsAutocastable() const
uint32 GetCategory() const
SpellCastResult CheckShapeshift(uint32 form) const
SpellScalingEntry const * GetSpellScaling() const
bool IsRequiringDeadTarget() const
uint32 TotemCategory[2]
Definition SpellInfo.h:218
uint32 AttributesCu
Definition SpellInfo.h:178
int32 ScalingClass
Definition SpellInfo.h:252
uint32 RecoveryTime
Definition SpellInfo.h:194
uint32 ReagentCount[MAX_SPELL_REAGENTS]
Definition SpellInfo.h:214
uint32 AttributesEx8
Definition SpellInfo.h:172
uint32 SpellShapeshiftId
Definition SpellInfo.h:244
uint32 ResearchProject
Definition SpellInfo.h:247
uint32 SpellInterruptsId
Definition SpellInfo.h:241
bool IsAuraExclusiveBySpecificPerCasterWith(SpellInfo const *spellInfo) const
SpellInfo const * GetPrevRankSpell() const
bool IsDeathPersistent() const
SpellShapeshiftEntry const * GetSpellShapeshift() const
bool IsCooldownStartedOnEvent() const
uint32 SpellAuraRestrictionsId
Definition SpellInfo.h:235
bool IsPassive() const
uint32 StancesNot
Definition SpellInfo.h:180
uint32 CalcCastTime(uint8 level=0, Spell *spell=NULL) const
uint32 StackAmount
Definition SpellInfo.h:211
uint32 Mechanic
Definition SpellInfo.h:163
bool IsAuraExclusiveBySpecificWith(SpellInfo const *spellInfo) const
uint32 Id
Definition SpellInfo.h:160
uint8 GetRank() const
SpellRangeEntry const * RangeEntry
Definition SpellInfo.h:209
uint32 ProcCharges
Definition SpellInfo.h:203
uint32 SpellTargetRestrictionsId
Definition SpellInfo.h:245
bool IsLootCrafting() const
SpellClassOptionsEntry const * GetSpellClassOptions() const
bool IsStackableOnOneSlotWithDifferentCasters() const
uint32 SpellCategoriesId
Definition SpellInfo.h:237
bool IsRanked() const
uint32 GetDispelMask() const
bool IsHighRankOf(SpellInfo const *spellInfo) const
SpellLevelsEntry const * GetSpellLevels() const
SpellInfo const * GetAuraRankForLevel(uint8 level) const
bool NeedsToBeTriggeredByCaster(SpellInfo const *triggeringSpell) const
uint32 GetRecoveryTime() const
SpellSpecificType GetSpellSpecific() const
uint32 Dispel
Definition SpellInfo.h:162
uint32 ActiveIconID
Definition SpellInfo.h:221
float Speed
Definition SpellInfo.h:210
bool IsMultiSlotAura() const
void _UnloadImplicitTargetConditionLists()
float GetMinRange(bool positive=false) const
int32 GetMaxDuration() const
int32 CastTimeMaxLevel
Definition SpellInfo.h:251
int32 EquippedItemClass
Definition SpellInfo.h:215
SpellTotemsEntry const * GetSpellTotems() const
uint32 SchoolMask
Definition SpellInfo.h:231
bool IsAbilityOfSkillType(uint32 skillType) const
SpellCategoriesEntry const * GetSpellCategories() const
uint32 CasterAuraState
Definition SpellInfo.h:185
bool IsAffectedBySpellMod(SpellModifier const *mod) const
bool CanPierceImmuneAura(SpellInfo const *aura) const
uint32 ProcFlags
Definition SpellInfo.h:201
bool CheckTargetCreatureType(Unit const *target) const
bool IsStackableWithRanks() const
SpellCastResult CheckLocation(uint32 map_id, uint32 zone_id, uint32 area_id, Player const *player=NULL) const
bool CanBeUsedInCombat() const
SpellTargetRestrictionsEntry const * GetSpellTargetRestrictions() const
uint32 CategoryRecoveryTime
Definition SpellInfo.h:195
bool HasAnyEffectMechanic() const
uint32 GetSpellMechanicMaskByEffectMask(uint32 effectMask) const
SpellInfo(SpellEntry const *spellEntry, SpellEffectEntry const **effects)
flag128 SpellFamilyFlags
Definition SpellInfo.h:227
uint32 SpellReagentsId
Definition SpellInfo.h:243
uint32 ExplicitTargetMask
Definition SpellInfo.h:256
std::list< uint32 > SpecializationIdList
Definition SpellInfo.h:260
uint32 SpellTotemsId
Definition SpellInfo.h:246
bool IsAbilityLearnedWithProfession() const
float GetMaxRange(bool positive=false, Unit *caster=NULL, Spell *spell=NULL) const
bool IsQuestTame() const
bool IsAllowingDeadTarget() const
uint32 AttributesEx3
Definition SpellInfo.h:167
uint32 CasterAuraStateNot
Definition SpellInfo.h:187
bool _IsPositiveEffect(uint8 effIndex, bool deep) const
Mechanics GetEffectMechanic(uint8 effIndex) const
SpellSchoolMask GetSchoolMask() const
int32 AreaGroupId
Definition SpellInfo.h:230
bool IsPrimaryProfession() const
bool NeedsComboPoints() const
AuraStateType GetAuraState() const
bool IsChanneled() const
uint32 InterruptFlags
Definition SpellInfo.h:198
SpellDurationEntry const * DurationEntry
Definition SpellInfo.h:207
uint32 Attributes
Definition SpellInfo.h:164
uint32 AttributesEx
Definition SpellInfo.h:165
char * SpellName
Definition SpellInfo.h:222
bool IsPassiveStackableWithRanks() const
SpellCategoryEntry const * CategoryEntry
Definition SpellInfo.h:161
int32 CoefLevelBase
Definition SpellInfo.h:254
uint32 MaxAffectedTargets
Definition SpellInfo.h:225
int32 GetDuration() const
bool IsAffectedBySpellMods() const
SpellCastResult CheckVehicle(Unit const *caster) const
std::list< uint32 > OverrideSpellList
Definition SpellInfo.h:261
uint32 AttributesEx6
Definition SpellInfo.h:170
uint32 talentId
Definition SpellInfo.h:263
uint32 AttributesEx7
Definition SpellInfo.h:171
int32 EquippedItemSubClassMask
Definition SpellInfo.h:216
uint32 GetExplicitTargetMask() const
uint32 AttributesEx9
Definition SpellInfo.h:173
int32 CastTimeMax
Definition SpellInfo.h:250
uint32 FacingCasterFlags
Definition SpellInfo.h:184
uint32 StartRecoveryTime
Definition SpellInfo.h:197
uint32 TargetAuraSpell
Definition SpellInfo.h:190
bool HasAreaAuraEffect() const
uint32 GetAllEffectsMechanicMask() const
uint32 SpellIconID
Definition SpellInfo.h:220
SpellChainNode const * ChainEntry
Definition SpellInfo.h:257
uint32 SpellAuraOptionsId
Definition SpellInfo.h:234
uint32 Targets
Definition SpellInfo.h:181
SpellAuraRestrictionsEntry const * GetSpellAuraRestrictions() const
void _InitializeExplicitTargetMask()
bool IsDifferentRankOf(SpellInfo const *spellInfo) const
SpellInfo const * GetLastRankSpell() const
bool NeedsExplicitUnitTarget() const
SpellInfo const * GetNextRankSpell() const
SpellCastTimesEntry const * CastTimeEntry
Definition SpellInfo.h:193
int32 EquippedItemInventoryTypeMask
Definition SpellInfo.h:217
SpellCastResult CheckTarget(Unit const *caster, WorldObject const *target, bool implicit=true) const
SpellCastingRequirementsEntry const * GetSpellCastingRequirements() const
uint32 Totem[2]
Definition SpellInfo.h:212
bool IsPrimaryProfessionFirstRank() const
bool HasEffect(SpellEffects effect) const
uint32 SpellClassOptionsId
Definition SpellInfo.h:238
bool IsAffectingArea() const
bool IsProfession() const
bool IsPositive() const
bool IsAutoRepeatRangedSpell() const
uint32 TargetCreatureType
Definition SpellInfo.h:182
uint32 ProcChance
Definition SpellInfo.h:202
uint32 SpellCastingRequirementsId
Definition SpellInfo.h:236
uint32 AttributesEx2
Definition SpellInfo.h:166
uint32 DmgClass
Definition SpellInfo.h:228
uint32 AttributesEx5
Definition SpellInfo.h:169
bool IsRangedWeaponSpell() const
uint32 SpellCooldownsId
Definition SpellInfo.h:239
uint32 AttributesEx4
Definition SpellInfo.h:168
bool CanDispelAura(SpellInfo const *aura) const
uint32 SpellScalingId
Definition SpellInfo.h:233
uint32 ExcludeCasterAuraSpell
Definition SpellInfo.h:191
bool HasAura(AuraType aura) const
bool IsTargetingArea() const
uint32 StartRecoveryCategory
Definition SpellInfo.h:196
int32 Reagent[MAX_SPELL_REAGENTS]
Definition SpellInfo.h:213
uint32 SpellLevelsId
Definition SpellInfo.h:242
int32 CastTimeMin
Definition SpellInfo.h:249
SpellCastResult CheckExplicitTarget(Unit const *caster, WorldObject const *target, Item const *itemTarget=NULL) const
float CoefBase
Definition SpellInfo.h:253
uint32 SpellFamilyName
Definition SpellInfo.h:226
SpellCooldownsEntry const * GetSpellCooldowns() const
uint32 AuraInterruptFlags
Definition SpellInfo.h:199
bool IsBreakingStealth() const
bool IsPositiveEffect(uint8 effIndex) const
bool IsSingleTarget() const
SpellEquippedItemsEntry const * GetSpellEquippedItems() const
SpellAuraOptionsEntry const * GetSpellAuraOptions() const
uint32 SpellEquippedItemsId
Definition SpellInfo.h:240
Definition Unit.h:1367
SpellTargetObjectTypes UsedTargetObjectType
Definition SpellInfo.h:152
SpellEffectImplicitTargetTypes ImplicitTargetType
Definition SpellInfo.h:151