TrinityCore
Loading...
Searching...
No Matches
SpellInfo Class Reference

#include <SpellInfo.h>

Public Member Functions

 SpellInfo (SpellEntry const *spellEntry)
 
 ~SpellInfo ()
 
uint32 GetCategory () const
 
bool HasEffect (SpellEffects effect) const
 
bool HasAura (AuraType aura) const
 
bool HasAreaAuraEffect () const
 
bool HasOnlyDamageEffects () const
 
bool HasAttribute (SpellAttr0 attribute) const
 
bool HasAttribute (SpellAttr1 attribute) const
 
bool HasAttribute (SpellAttr2 attribute) const
 
bool HasAttribute (SpellAttr3 attribute) const
 
bool HasAttribute (SpellAttr4 attribute) const
 
bool HasAttribute (SpellAttr5 attribute) const
 
bool HasAttribute (SpellAttr6 attribute) const
 
bool HasAttribute (SpellAttr7 attribute) const
 
bool HasAttribute (SpellCustomAttributes customAttribute) const
 
bool IsExplicitDiscovery () const
 
bool IsLootCrafting () const
 
bool IsProfessionOrRiding () const
 
bool IsProfession () const
 
bool IsPrimaryProfession () const
 
bool IsPrimaryProfessionFirstRank () const
 
bool IsAbilityLearnedWithProfession () const
 
bool IsAbilityOfSkillType (uint32 skillType) const
 
bool IsAffectingArea () const
 
bool IsTargetingArea () const
 
bool NeedsExplicitUnitTarget () const
 
bool NeedsToBeTriggeredByCaster (SpellInfo const *triggeringSpell) const
 
bool IsSelfCast () const
 
bool IsPassive () const
 
bool IsAutocastable () const
 
bool IsStackableWithRanks () const
 
bool IsPassiveStackableWithRanks () const
 
bool IsMultiSlotAura () const
 
bool IsStackableOnOneSlotWithDifferentCasters () const
 
bool IsCooldownStartedOnEvent () const
 
bool IsDeathPersistent () const
 
bool IsRequiringDeadTarget () const
 
bool IsAllowingDeadTarget () const
 
bool IsGroupBuff () const
 
bool CanBeUsedInCombat () const
 
bool IsPositive () const
 
bool IsPositiveEffect (uint8 effIndex) const
 
bool IsChanneled () const
 
bool IsMoveAllowedChannel () const
 
bool NeedsComboPoints () const
 
bool IsNextMeleeSwingSpell () const
 
bool IsBreakingStealth () const
 
bool IsRangedWeaponSpell () const
 
bool IsAutoRepeatRangedSpell () const
 
bool HasInitialAggro () const
 
WeaponAttackType GetAttackType () const
 
bool IsItemFitToSpellRequirements (Item const *item) const
 
bool IsAffected (uint32 familyName, flag96 const &familyFlags) const
 
bool IsAffectedBySpellMods () const
 
bool IsAffectedBySpellMod (SpellModifier const *mod) const
 
bool CanPierceImmuneAura (SpellInfo const *auraSpellInfo) const
 
bool CanDispelAura (SpellInfo const *auraSpellInfo) const
 
bool IsSingleTarget () const
 
bool IsAuraExclusiveBySpecificWith (SpellInfo const *spellInfo) const
 
bool IsAuraExclusiveBySpecificPerCasterWith (SpellInfo const *spellInfo) const
 
SpellCastResult CheckShapeshift (uint32 form) const
 
SpellCastResult CheckLocation (uint32 map_id, uint32 zone_id, uint32 area_id, Player const *player=nullptr, bool strict=true) const
 
SpellCastResult CheckTarget (WorldObject const *caster, WorldObject const *target, bool implicit=true) const
 
SpellCastResult CheckExplicitTarget (WorldObject const *caster, WorldObject const *target, Item const *itemTarget=nullptr) const
 
SpellCastResult CheckVehicle (Unit const *caster) const
 
bool CheckTargetCreatureType (Unit const *target) const
 
SpellSchoolMask GetSchoolMask () const
 
uint32 GetAllEffectsMechanicMask () const
 
uint32 GetEffectMechanicMask (SpellEffIndex effIndex) const
 
uint32 GetSpellMechanicMaskByEffectMask (uint32 effectMask) const
 
Mechanics GetEffectMechanic (SpellEffIndex effIndex) const
 
uint32 GetDispelMask () const
 
uint32 GetExplicitTargetMask () const
 
AuraStateType GetAuraState () const
 
SpellSpecificType GetSpellSpecific () const
 
float GetMinRange (bool positive=false) const
 
float GetMaxRange (bool positive=false, WorldObject *caster=nullptr, Spell *spell=nullptr) const
 
int32 GetDuration () const
 
int32 GetMaxDuration () const
 
uint32 GetMaxTicks () const
 
uint32 CalcCastTime (Spell *spell=nullptr) const
 
uint32 GetRecoveryTime () const
 
int32 CalcPowerCost (WorldObject const *caster, SpellSchoolMask schoolMask, Spell *spell=nullptr) const
 
bool IsRanked () const
 
uint8 GetRank () const
 
SpellInfo const * GetFirstRankSpell () const
 
SpellInfo const * GetLastRankSpell () const
 
SpellInfo const * GetNextRankSpell () const
 
SpellInfo const * GetPrevRankSpell () const
 
SpellInfo const * GetAuraRankForLevel (uint8 level) const
 
bool IsRankOf (SpellInfo const *spellInfo) const
 
bool IsDifferentRankOf (SpellInfo const *spellInfo) const
 
bool IsHighRankOf (SpellInfo const *spellInfo) const
 
std::array< SpellEffectInfo, MAX_SPELL_EFFECTS > const & GetEffects () const
 
SpellEffectInfo const & GetEffect (SpellEffIndex index) const
 
DiminishingGroup GetDiminishingReturnsGroupForSpell (bool triggered) const
 
DiminishingReturnsType GetDiminishingReturnsGroupType (bool triggered) const
 
DiminishingLevels GetDiminishingReturnsMaxLevel (bool triggered) const
 
int32 GetDiminishingReturnsLimitDuration (bool triggered) const
 
void ApplyAllSpellImmunitiesTo (Unit *target, SpellEffectInfo const &spellEffectInfo, bool apply) const
 
bool CanSpellProvideImmunityAgainstAura (SpellInfo const *auraSpellInfo) const
 
bool SpellCancelsAuraEffect (AuraEffect const *aurEff) const
 
uint32 GetAllowedMechanicMask () const
 
uint32 GetMechanicImmunityMask (Unit *caster) const
 

Static Public Member Functions

static uint32 GetDispelMask (DispelType type)
 

Public Attributes

uint32 Id
 
SpellCategoryEntry const * CategoryEntry
 
uint32 Dispel
 
uint32 Mechanic
 
uint32 Attributes
 
uint32 AttributesEx
 
uint32 AttributesEx2
 
uint32 AttributesEx3
 
uint32 AttributesEx4
 
uint32 AttributesEx5
 
uint32 AttributesEx6
 
uint32 AttributesEx7
 
uint32 AttributesCu
 
uint64 Stances
 
uint64 StancesNot
 
uint32 Targets
 
uint32 TargetCreatureType
 
uint32 RequiresSpellFocus
 
uint32 FacingCasterFlags
 
uint32 CasterAuraState
 
uint32 TargetAuraState
 
uint32 ExcludeCasterAuraState
 
uint32 ExcludeTargetAuraState
 
uint32 CasterAuraSpell
 
uint32 TargetAuraSpell
 
uint32 ExcludeCasterAuraSpell
 
uint32 ExcludeTargetAuraSpell
 
SpellCastTimesEntry const * CastTimeEntry
 
uint32 RecoveryTime
 
uint32 CategoryRecoveryTime
 
uint32 StartRecoveryCategory
 
uint32 StartRecoveryTime
 
uint32 InterruptFlags
 
uint32 AuraInterruptFlags
 
uint32 ChannelInterruptFlags
 
uint32 ProcFlags
 
uint32 ProcChance
 
uint32 ProcCharges
 
uint32 MaxLevel
 
uint32 BaseLevel
 
uint32 SpellLevel
 
SpellDurationEntry const * DurationEntry
 
Powers PowerType
 
uint32 ManaCost
 
uint32 ManaCostPerlevel
 
uint32 ManaPerSecond
 
uint32 ManaPerSecondPerLevel
 
uint32 ManaCostPercentage
 
uint32 RuneCostID
 
SpellRangeEntry const * RangeEntry
 
float Speed
 
uint32 StackAmount
 
std::array< uint32, 2 > Totem
 
std::array< int32, MAX_SPELL_REAGENTSReagent
 
std::array< uint32, MAX_SPELL_REAGENTSReagentCount
 
int32 EquippedItemClass
 
int32 EquippedItemSubClassMask
 
int32 EquippedItemInventoryTypeMask
 
std::array< uint32, 2 > TotemCategory
 
std::array< uint32, 2 > SpellVisual
 
uint32 SpellIconID
 
uint32 ActiveIconID
 
uint32 Priority
 
std::array< char const *, 16 > SpellName
 
std::array< char const *, 16 > Rank
 
uint32 MaxTargetLevel
 
uint32 MaxAffectedTargets
 
uint32 SpellFamilyName
 
flag96 SpellFamilyFlags
 
uint32 DmgClass
 
uint32 PreventionType
 
int32 RequiredAreasID
 
uint32 SchoolMask
 
std::array< SpellEffectInfo, MAX_SPELL_EFFECTS_effects
 
uint32 ExplicitTargetMask
 
SpellChainNode const * ChainEntry
 

Private Member Functions

void _InitializeExplicitTargetMask ()
 
void _InitializeSpellPositivity ()
 
void _LoadSpellSpecific ()
 
void _LoadAuraState ()
 
void _LoadSpellDiminishInfo ()
 
void _LoadImmunityInfo ()
 
std::array< SpellEffectInfo, MAX_SPELL_EFFECTS > & _GetEffects ()
 
SpellEffectInfo_GetEffect (SpellEffIndex index)
 
void _UnloadImplicitTargetConditionLists ()
 

Private Attributes

SpellSpecificType _spellSpecific
 
AuraStateType _auraState
 
SpellDiminishInfo _diminishInfoNonTriggered
 
SpellDiminishInfo _diminishInfoTriggered
 
uint32 _allowedMechanicMask
 

Friends

class SpellMgr
 

Detailed Description

Definition at line 284 of file SpellInfo.h.

Constructor & Destructor Documentation

◆ SpellInfo()

SpellInfo::SpellInfo ( SpellEntry const *  spellEntry)

Definition at line 803 of file SpellInfo.cpp.

+ Here is the call graph for this function:

◆ ~SpellInfo()

SpellInfo::~SpellInfo ( )

Definition at line 890 of file SpellInfo.cpp.

+ Here is the call graph for this function:

Member Function Documentation

◆ _GetEffect()

SpellEffectInfo & SpellInfo::_GetEffect ( SpellEffIndex  index)
inlineprivate

Definition at line 510 of file SpellInfo.h.

+ Here is the caller graph for this function:

◆ _GetEffects()

std::array< SpellEffectInfo, MAX_SPELL_EFFECTS > & SpellInfo::_GetEffects ( )
inlineprivate

Definition at line 509 of file SpellInfo.h.

+ Here is the caller graph for this function:

◆ _InitializeExplicitTargetMask()

void SpellInfo::_InitializeExplicitTargetMask ( )
private

Definition at line 3434 of file SpellInfo.cpp.

+ Here is the call graph for this function:

◆ _InitializeSpellPositivity()

void SpellInfo::_InitializeSpellPositivity ( )
private

Definition at line 3939 of file SpellInfo.cpp.

+ Here is the call graph for this function:

◆ _LoadAuraState()

void SpellInfo::_LoadAuraState ( )
private

Definition at line 1973 of file SpellInfo.cpp.

+ Here is the call graph for this function:

◆ _LoadImmunityInfo()

void SpellInfo::_LoadImmunityInfo ( )
private

Definition at line 2581 of file SpellInfo.cpp.

+ Here is the call graph for this function:

◆ _LoadSpellDiminishInfo()

void SpellInfo::_LoadSpellDiminishInfo ( )
private

Definition at line 2248 of file SpellInfo.cpp.

+ Here is the call graph for this function:

◆ _LoadSpellSpecific()

void SpellInfo::_LoadSpellSpecific ( )
private

@workaround For non-stacking tracking spells (We need generic solution)

Definition at line 2047 of file SpellInfo.cpp.

+ Here is the call graph for this function:

◆ _UnloadImplicitTargetConditionLists()

void SpellInfo::_UnloadImplicitTargetConditionLists ( )
private

Definition at line 3978 of file SpellInfo.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ApplyAllSpellImmunitiesTo()

void SpellInfo::ApplyAllSpellImmunitiesTo ( Unit target,
SpellEffectInfo const &  spellEffectInfo,
bool  apply 
) const

Definition at line 2888 of file SpellInfo.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ CalcCastTime()

uint32 SpellInfo::CalcCastTime ( Spell spell = nullptr) const

Definition at line 3168 of file SpellInfo.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ CalcPowerCost()

int32 SpellInfo::CalcPowerCost ( WorldObject const *  caster,
SpellSchoolMask  schoolMask,
Spell spell = nullptr 
) const

Definition at line 3233 of file SpellInfo.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ CanBeUsedInCombat()

bool SpellInfo::CanBeUsedInCombat ( ) const

Definition at line 1216 of file SpellInfo.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ CanDispelAura()

bool SpellInfo::CanDispelAura ( SpellInfo const *  auraSpellInfo) const

Definition at line 1379 of file SpellInfo.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ CanPierceImmuneAura()

bool SpellInfo::CanPierceImmuneAura ( SpellInfo const *  auraSpellInfo) const

Definition at line 1352 of file SpellInfo.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ CanSpellProvideImmunityAgainstAura()

bool SpellInfo::CanSpellProvideImmunityAgainstAura ( SpellInfo const *  auraSpellInfo) const

Definition at line 2976 of file SpellInfo.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ CheckExplicitTarget()

SpellCastResult SpellInfo::CheckExplicitTarget ( WorldObject const *  caster,
WorldObject const *  target,
Item const *  itemTarget = nullptr 
) const

Definition at line 1789 of file SpellInfo.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ CheckLocation()

SpellCastResult SpellInfo::CheckLocation ( uint32  map_id,
uint32  zone_id,
uint32  area_id,
Player const *  player = nullptr,
bool  strict = true 
) const

Definition at line 1512 of file SpellInfo.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ CheckShapeshift()

SpellCastResult SpellInfo::CheckShapeshift ( uint32  form) const
Todo:
Find a way to disable use of these spells clientside

Definition at line 1458 of file SpellInfo.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ CheckTarget()

SpellCastResult SpellInfo::CheckTarget ( WorldObject const *  caster,
WorldObject const *  target,
bool  implicit = true 
) const

Definition at line 1642 of file SpellInfo.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ CheckTargetCreatureType()

bool SpellInfo::CheckTargetCreatureType ( Unit const *  target) const

Definition at line 1875 of file SpellInfo.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ CheckVehicle()

SpellCastResult SpellInfo::CheckVehicle ( Unit const *  caster) const

Definition at line 1825 of file SpellInfo.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetAllEffectsMechanicMask()

uint32 SpellInfo::GetAllEffectsMechanicMask ( ) const

Definition at line 1900 of file SpellInfo.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetAllowedMechanicMask()

uint32 SpellInfo::GetAllowedMechanicMask ( ) const

Definition at line 3106 of file SpellInfo.cpp.

◆ GetAttackType()

WeaponAttackType SpellInfo::GetAttackType ( ) const

Definition at line 1282 of file SpellInfo.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetAuraRankForLevel()

SpellInfo const * SpellInfo::GetAuraRankForLevel ( uint8  level) const

Definition at line 3372 of file SpellInfo.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetAuraState()

AuraStateType SpellInfo::GetAuraState ( ) const

Definition at line 1968 of file SpellInfo.cpp.

+ Here is the caller graph for this function:

◆ GetCategory()

uint32 SpellInfo::GetCategory ( ) const

Definition at line 895 of file SpellInfo.cpp.

+ Here is the caller graph for this function:

◆ GetDiminishingReturnsGroupForSpell()

DiminishingGroup SpellInfo::GetDiminishingReturnsGroupForSpell ( bool  triggered) const

Definition at line 2561 of file SpellInfo.cpp.

+ Here is the caller graph for this function:

◆ GetDiminishingReturnsGroupType()

DiminishingReturnsType SpellInfo::GetDiminishingReturnsGroupType ( bool  triggered) const

Definition at line 2566 of file SpellInfo.cpp.

+ Here is the caller graph for this function:

◆ GetDiminishingReturnsLimitDuration()

int32 SpellInfo::GetDiminishingReturnsLimitDuration ( bool  triggered) const

Definition at line 2576 of file SpellInfo.cpp.

+ Here is the caller graph for this function:

◆ GetDiminishingReturnsMaxLevel()

DiminishingLevels SpellInfo::GetDiminishingReturnsMaxLevel ( bool  triggered) const

Definition at line 2571 of file SpellInfo.cpp.

+ Here is the caller graph for this function:

◆ GetDispelMask() [1/2]

uint32 SpellInfo::GetDispelMask ( ) const

Definition at line 1949 of file SpellInfo.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetDispelMask() [2/2]

uint32 SpellInfo::GetDispelMask ( DispelType  type)
static

Definition at line 1954 of file SpellInfo.cpp.

◆ GetDuration()

int32 SpellInfo::GetDuration ( ) const

Definition at line 3154 of file SpellInfo.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetEffect()

SpellEffectInfo const & SpellInfo::GetEffect ( SpellEffIndex  index) const
inline

Definition at line 483 of file SpellInfo.h.

◆ GetEffectMechanic()

Mechanics SpellInfo::GetEffectMechanic ( SpellEffIndex  effIndex) const

Definition at line 1938 of file SpellInfo.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetEffectMechanicMask()

uint32 SpellInfo::GetEffectMechanicMask ( SpellEffIndex  effIndex) const

Definition at line 1913 of file SpellInfo.cpp.

+ Here is the call graph for this function:

◆ GetEffects()

std::array< SpellEffectInfo, MAX_SPELL_EFFECTS > const & SpellInfo::GetEffects ( ) const
inline

Definition at line 482 of file SpellInfo.h.

+ Here is the caller graph for this function:

◆ GetExplicitTargetMask()

uint32 SpellInfo::GetExplicitTargetMask ( ) const

Definition at line 1963 of file SpellInfo.cpp.

+ Here is the caller graph for this function:

◆ GetFirstRankSpell()

SpellInfo const * SpellInfo::GetFirstRankSpell ( ) const

Definition at line 3347 of file SpellInfo.cpp.

+ Here is the caller graph for this function:

◆ GetLastRankSpell()

SpellInfo const * SpellInfo::GetLastRankSpell ( ) const

Definition at line 3353 of file SpellInfo.cpp.

◆ GetMaxDuration()

int32 SpellInfo::GetMaxDuration ( ) const

Definition at line 3161 of file SpellInfo.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetMaxRange()

float SpellInfo::GetMaxRange ( bool  positive = false,
WorldObject caster = nullptr,
Spell spell = nullptr 
) const

Definition at line 3138 of file SpellInfo.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetMaxTicks()

uint32 SpellInfo::GetMaxTicks ( ) const

Definition at line 3185 of file SpellInfo.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetMechanicImmunityMask()

uint32 SpellInfo::GetMechanicImmunityMask ( Unit caster) const

Definition at line 3111 of file SpellInfo.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetMinRange()

float SpellInfo::GetMinRange ( bool  positive = false) const

Definition at line 3129 of file SpellInfo.cpp.

+ Here is the caller graph for this function:

◆ GetNextRankSpell()

SpellInfo const * SpellInfo::GetNextRankSpell ( ) const

Definition at line 3359 of file SpellInfo.cpp.

+ Here is the caller graph for this function:

◆ GetPrevRankSpell()

SpellInfo const * SpellInfo::GetPrevRankSpell ( ) const

Definition at line 3365 of file SpellInfo.cpp.

+ Here is the caller graph for this function:

◆ GetRank()

uint8 SpellInfo::GetRank ( ) const

Definition at line 3340 of file SpellInfo.cpp.

+ Here is the caller graph for this function:

◆ GetRecoveryTime()

uint32 SpellInfo::GetRecoveryTime ( ) const

Definition at line 3228 of file SpellInfo.cpp.

+ Here is the caller graph for this function:

◆ GetSchoolMask()

SpellSchoolMask SpellInfo::GetSchoolMask ( ) const

Definition at line 1895 of file SpellInfo.cpp.

+ Here is the caller graph for this function:

◆ GetSpellMechanicMaskByEffectMask()

uint32 SpellInfo::GetSpellMechanicMaskByEffectMask ( uint32  effectMask) const

Definition at line 1925 of file SpellInfo.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetSpellSpecific()

SpellSpecificType SpellInfo::GetSpellSpecific ( ) const

Definition at line 2042 of file SpellInfo.cpp.

+ Here is the caller graph for this function:

◆ HasAreaAuraEffect()

bool SpellInfo::HasAreaAuraEffect ( ) const

Definition at line 918 of file SpellInfo.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ HasAttribute() [1/9]

bool SpellInfo::HasAttribute ( SpellAttr0  attribute) const
inline

Definition at line 375 of file SpellInfo.h.

+ Here is the caller graph for this function:

◆ HasAttribute() [2/9]

bool SpellInfo::HasAttribute ( SpellAttr1  attribute) const
inline

Definition at line 376 of file SpellInfo.h.

◆ HasAttribute() [3/9]

bool SpellInfo::HasAttribute ( SpellAttr2  attribute) const
inline

Definition at line 377 of file SpellInfo.h.

◆ HasAttribute() [4/9]

bool SpellInfo::HasAttribute ( SpellAttr3  attribute) const
inline

Definition at line 378 of file SpellInfo.h.

◆ HasAttribute() [5/9]

bool SpellInfo::HasAttribute ( SpellAttr4  attribute) const
inline

Definition at line 379 of file SpellInfo.h.

◆ HasAttribute() [6/9]

bool SpellInfo::HasAttribute ( SpellAttr5  attribute) const
inline

Definition at line 380 of file SpellInfo.h.

◆ HasAttribute() [7/9]

bool SpellInfo::HasAttribute ( SpellAttr6  attribute) const
inline

Definition at line 381 of file SpellInfo.h.

◆ HasAttribute() [8/9]

bool SpellInfo::HasAttribute ( SpellAttr7  attribute) const
inline

Definition at line 382 of file SpellInfo.h.

◆ HasAttribute() [9/9]

bool SpellInfo::HasAttribute ( SpellCustomAttributes  customAttribute) const
inline

Definition at line 383 of file SpellInfo.h.

◆ HasAura()

bool SpellInfo::HasAura ( AuraType  aura) const

Definition at line 909 of file SpellInfo.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ HasEffect()

bool SpellInfo::HasEffect ( SpellEffects  effect) const

Definition at line 900 of file SpellInfo.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ HasInitialAggro()

bool SpellInfo::HasInitialAggro ( ) const

Definition at line 1277 of file SpellInfo.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ HasOnlyDamageEffects()

bool SpellInfo::HasOnlyDamageEffects ( ) const

Definition at line 927 of file SpellInfo.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ IsAbilityLearnedWithProfession()

bool SpellInfo::IsAbilityLearnedWithProfession ( ) const

Definition at line 1018 of file SpellInfo.cpp.

+ Here is the caller graph for this function:

◆ IsAbilityOfSkillType()

bool SpellInfo::IsAbilityOfSkillType ( uint32  skillType) const

Definition at line 1035 of file SpellInfo.cpp.

+ Here is the caller graph for this function:

◆ IsAffected()

bool SpellInfo::IsAffected ( uint32  familyName,
flag96 const &  familyFlags 
) const

Definition at line 1321 of file SpellInfo.cpp.

+ Here is the caller graph for this function:

◆ IsAffectedBySpellMod()

bool SpellInfo::IsAffectedBySpellMod ( SpellModifier const *  mod) const

Definition at line 1340 of file SpellInfo.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ IsAffectedBySpellMods()

bool SpellInfo::IsAffectedBySpellMods ( ) const

Definition at line 1335 of file SpellInfo.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ IsAffectingArea()

bool SpellInfo::IsAffectingArea ( ) const

Definition at line 1046 of file SpellInfo.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ IsAllowingDeadTarget()

bool SpellInfo::IsAllowingDeadTarget ( ) const

Definition at line 1193 of file SpellInfo.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ IsAuraExclusiveBySpecificPerCasterWith()

bool SpellInfo::IsAuraExclusiveBySpecificPerCasterWith ( SpellInfo const *  spellInfo) const

Definition at line 1439 of file SpellInfo.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ IsAuraExclusiveBySpecificWith()

bool SpellInfo::IsAuraExclusiveBySpecificWith ( SpellInfo const *  spellInfo) const

Definition at line 1406 of file SpellInfo.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ IsAutocastable()

bool SpellInfo::IsAutocastable ( ) const

Definition at line 1117 of file SpellInfo.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ IsAutoRepeatRangedSpell()

bool SpellInfo::IsAutoRepeatRangedSpell ( ) const

Definition at line 1272 of file SpellInfo.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ IsBreakingStealth()

bool SpellInfo::IsBreakingStealth ( ) const

Definition at line 1260 of file SpellInfo.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ IsChanneled()

bool SpellInfo::IsChanneled ( ) const

Definition at line 1240 of file SpellInfo.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ IsCooldownStartedOnEvent()

bool SpellInfo::IsCooldownStartedOnEvent ( ) const

Definition at line 1175 of file SpellInfo.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ IsDeathPersistent()

bool SpellInfo::IsDeathPersistent ( ) const

Definition at line 1183 of file SpellInfo.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ IsDifferentRankOf()

bool SpellInfo::IsDifferentRankOf ( SpellInfo const *  spellInfo) const

Definition at line 3417 of file SpellInfo.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ IsExplicitDiscovery()

bool SpellInfo::IsExplicitDiscovery ( ) const

Definition at line 952 of file SpellInfo.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ IsGroupBuff()

bool SpellInfo::IsGroupBuff ( ) const

Definition at line 1198 of file SpellInfo.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ IsHighRankOf()

bool SpellInfo::IsHighRankOf ( SpellInfo const *  spellInfo) const

Definition at line 3424 of file SpellInfo.cpp.

+ Here is the caller graph for this function:

◆ IsItemFitToSpellRequirements()

bool SpellInfo::IsItemFitToSpellRequirements ( Item const *  item) const

Definition at line 1308 of file SpellInfo.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ IsLootCrafting()

bool SpellInfo::IsLootCrafting ( ) const

Definition at line 960 of file SpellInfo.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ IsMoveAllowedChannel()

bool SpellInfo::IsMoveAllowedChannel ( ) const

Definition at line 1245 of file SpellInfo.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ IsMultiSlotAura()

bool SpellInfo::IsMultiSlotAura ( ) const

Definition at line 1164 of file SpellInfo.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ IsNextMeleeSwingSpell()

bool SpellInfo::IsNextMeleeSwingSpell ( ) const

Definition at line 1255 of file SpellInfo.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ IsPassive()

bool SpellInfo::IsPassive ( ) const

Definition at line 1112 of file SpellInfo.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ IsPassiveStackableWithRanks()

bool SpellInfo::IsPassiveStackableWithRanks ( ) const

Definition at line 1159 of file SpellInfo.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ IsPositive()

bool SpellInfo::IsPositive ( ) const

Definition at line 1221 of file SpellInfo.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ IsPositiveEffect()

bool SpellInfo::IsPositiveEffect ( uint8  effIndex) const

Definition at line 1226 of file SpellInfo.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ IsPrimaryProfession()

bool SpellInfo::IsPrimaryProfession ( ) const

Definition at line 998 of file SpellInfo.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ IsPrimaryProfessionFirstRank()

bool SpellInfo::IsPrimaryProfessionFirstRank ( ) const

Definition at line 1013 of file SpellInfo.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ IsProfession()

bool SpellInfo::IsProfession ( ) const

Definition at line 983 of file SpellInfo.cpp.

+ Here is the call graph for this function:

◆ IsProfessionOrRiding()

bool SpellInfo::IsProfessionOrRiding ( ) const

Definition at line 968 of file SpellInfo.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ IsRangedWeaponSpell()

bool SpellInfo::IsRangedWeaponSpell ( ) const

Definition at line 1265 of file SpellInfo.cpp.

+ Here is the caller graph for this function:

◆ IsRanked()

bool SpellInfo::IsRanked ( ) const

Definition at line 3335 of file SpellInfo.cpp.

+ Here is the caller graph for this function:

◆ IsRankOf()

bool SpellInfo::IsRankOf ( SpellInfo const *  spellInfo) const

Definition at line 3412 of file SpellInfo.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ IsRequiringDeadTarget()

bool SpellInfo::IsRequiringDeadTarget ( ) const

Definition at line 1188 of file SpellInfo.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ IsSelfCast()

bool SpellInfo::IsSelfCast ( ) const

Definition at line 1104 of file SpellInfo.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ IsSingleTarget()

bool SpellInfo::IsSingleTarget ( ) const

Definition at line 1397 of file SpellInfo.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ IsStackableOnOneSlotWithDifferentCasters()

bool SpellInfo::IsStackableOnOneSlotWithDifferentCasters ( ) const

TODO: Re-verify meaning of SPELL_ATTR3_STACK_FOR_DIFF_CASTERS and update conditions here

Definition at line 1169 of file SpellInfo.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ IsStackableWithRanks()

bool SpellInfo::IsStackableWithRanks ( ) const

Definition at line 1126 of file SpellInfo.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ IsTargetingArea()

bool SpellInfo::IsTargetingArea ( ) const

Definition at line 1055 of file SpellInfo.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ NeedsComboPoints()

bool SpellInfo::NeedsComboPoints ( ) const

Definition at line 1250 of file SpellInfo.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ NeedsExplicitUnitTarget()

bool SpellInfo::NeedsExplicitUnitTarget ( ) const

Definition at line 1063 of file SpellInfo.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ NeedsToBeTriggeredByCaster()

bool SpellInfo::NeedsToBeTriggeredByCaster ( SpellInfo const *  triggeringSpell) const

Definition at line 1068 of file SpellInfo.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SpellCancelsAuraEffect()

bool SpellInfo::SpellCancelsAuraEffect ( AuraEffect const *  aurEff) const

Definition at line 3060 of file SpellInfo.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Friends And Related Symbol Documentation

◆ SpellMgr

friend class SpellMgr
friend

Definition at line 286 of file SpellInfo.h.

Member Data Documentation

◆ _allowedMechanicMask

uint32 SpellInfo::_allowedMechanicMask
private

Definition at line 521 of file SpellInfo.h.

◆ _auraState

AuraStateType SpellInfo::_auraState
private

Definition at line 516 of file SpellInfo.h.

◆ _diminishInfoNonTriggered

SpellDiminishInfo SpellInfo::_diminishInfoNonTriggered
private

Definition at line 518 of file SpellInfo.h.

◆ _diminishInfoTriggered

SpellDiminishInfo SpellInfo::_diminishInfoTriggered
private

Definition at line 519 of file SpellInfo.h.

◆ _effects

std::array<SpellEffectInfo, MAX_SPELL_EFFECTS> SpellInfo::_effects

Definition at line 362 of file SpellInfo.h.

◆ _spellSpecific

SpellSpecificType SpellInfo::_spellSpecific
private

Definition at line 515 of file SpellInfo.h.

◆ ActiveIconID

uint32 SpellInfo::ActiveIconID

Definition at line 350 of file SpellInfo.h.

◆ Attributes

uint32 SpellInfo::Attributes

Definition at line 293 of file SpellInfo.h.

◆ AttributesCu

uint32 SpellInfo::AttributesCu

Definition at line 301 of file SpellInfo.h.

◆ AttributesEx

uint32 SpellInfo::AttributesEx

Definition at line 294 of file SpellInfo.h.

◆ AttributesEx2

uint32 SpellInfo::AttributesEx2

Definition at line 295 of file SpellInfo.h.

◆ AttributesEx3

uint32 SpellInfo::AttributesEx3

Definition at line 296 of file SpellInfo.h.

◆ AttributesEx4

uint32 SpellInfo::AttributesEx4

Definition at line 297 of file SpellInfo.h.

◆ AttributesEx5

uint32 SpellInfo::AttributesEx5

Definition at line 298 of file SpellInfo.h.

◆ AttributesEx6

uint32 SpellInfo::AttributesEx6

Definition at line 299 of file SpellInfo.h.

◆ AttributesEx7

uint32 SpellInfo::AttributesEx7

Definition at line 300 of file SpellInfo.h.

◆ AuraInterruptFlags

uint32 SpellInfo::AuraInterruptFlags

Definition at line 322 of file SpellInfo.h.

◆ BaseLevel

uint32 SpellInfo::BaseLevel

Definition at line 328 of file SpellInfo.h.

◆ CasterAuraSpell

uint32 SpellInfo::CasterAuraSpell

Definition at line 312 of file SpellInfo.h.

◆ CasterAuraState

uint32 SpellInfo::CasterAuraState

Definition at line 308 of file SpellInfo.h.

◆ CastTimeEntry

SpellCastTimesEntry const* SpellInfo::CastTimeEntry

Definition at line 316 of file SpellInfo.h.

◆ CategoryEntry

SpellCategoryEntry const* SpellInfo::CategoryEntry

Definition at line 290 of file SpellInfo.h.

◆ CategoryRecoveryTime

uint32 SpellInfo::CategoryRecoveryTime

Definition at line 318 of file SpellInfo.h.

◆ ChainEntry

SpellChainNode const* SpellInfo::ChainEntry

Definition at line 364 of file SpellInfo.h.

◆ ChannelInterruptFlags

uint32 SpellInfo::ChannelInterruptFlags

Definition at line 323 of file SpellInfo.h.

◆ Dispel

uint32 SpellInfo::Dispel

Definition at line 291 of file SpellInfo.h.

◆ DmgClass

uint32 SpellInfo::DmgClass

Definition at line 358 of file SpellInfo.h.

◆ DurationEntry

SpellDurationEntry const* SpellInfo::DurationEntry

Definition at line 330 of file SpellInfo.h.

◆ EquippedItemClass

int32 SpellInfo::EquippedItemClass

Definition at line 344 of file SpellInfo.h.

◆ EquippedItemInventoryTypeMask

int32 SpellInfo::EquippedItemInventoryTypeMask

Definition at line 346 of file SpellInfo.h.

◆ EquippedItemSubClassMask

int32 SpellInfo::EquippedItemSubClassMask

Definition at line 345 of file SpellInfo.h.

◆ ExcludeCasterAuraSpell

uint32 SpellInfo::ExcludeCasterAuraSpell

Definition at line 314 of file SpellInfo.h.

◆ ExcludeCasterAuraState

uint32 SpellInfo::ExcludeCasterAuraState

Definition at line 310 of file SpellInfo.h.

◆ ExcludeTargetAuraSpell

uint32 SpellInfo::ExcludeTargetAuraSpell

Definition at line 315 of file SpellInfo.h.

◆ ExcludeTargetAuraState

uint32 SpellInfo::ExcludeTargetAuraState

Definition at line 311 of file SpellInfo.h.

◆ ExplicitTargetMask

uint32 SpellInfo::ExplicitTargetMask

Definition at line 363 of file SpellInfo.h.

◆ FacingCasterFlags

uint32 SpellInfo::FacingCasterFlags

Definition at line 307 of file SpellInfo.h.

◆ Id

uint32 SpellInfo::Id

Definition at line 289 of file SpellInfo.h.

◆ InterruptFlags

uint32 SpellInfo::InterruptFlags

Definition at line 321 of file SpellInfo.h.

◆ ManaCost

uint32 SpellInfo::ManaCost

Definition at line 332 of file SpellInfo.h.

◆ ManaCostPercentage

uint32 SpellInfo::ManaCostPercentage

Definition at line 336 of file SpellInfo.h.

◆ ManaCostPerlevel

uint32 SpellInfo::ManaCostPerlevel

Definition at line 333 of file SpellInfo.h.

◆ ManaPerSecond

uint32 SpellInfo::ManaPerSecond

Definition at line 334 of file SpellInfo.h.

◆ ManaPerSecondPerLevel

uint32 SpellInfo::ManaPerSecondPerLevel

Definition at line 335 of file SpellInfo.h.

◆ MaxAffectedTargets

uint32 SpellInfo::MaxAffectedTargets

Definition at line 355 of file SpellInfo.h.

◆ MaxLevel

uint32 SpellInfo::MaxLevel

Definition at line 327 of file SpellInfo.h.

◆ MaxTargetLevel

uint32 SpellInfo::MaxTargetLevel

Definition at line 354 of file SpellInfo.h.

◆ Mechanic

uint32 SpellInfo::Mechanic

Definition at line 292 of file SpellInfo.h.

◆ PowerType

Powers SpellInfo::PowerType

Definition at line 331 of file SpellInfo.h.

◆ PreventionType

uint32 SpellInfo::PreventionType

Definition at line 359 of file SpellInfo.h.

◆ Priority

uint32 SpellInfo::Priority

Definition at line 351 of file SpellInfo.h.

◆ ProcChance

uint32 SpellInfo::ProcChance

Definition at line 325 of file SpellInfo.h.

◆ ProcCharges

uint32 SpellInfo::ProcCharges

Definition at line 326 of file SpellInfo.h.

◆ ProcFlags

uint32 SpellInfo::ProcFlags

Definition at line 324 of file SpellInfo.h.

◆ RangeEntry

SpellRangeEntry const* SpellInfo::RangeEntry

Definition at line 338 of file SpellInfo.h.

◆ Rank

std::array<char const*, 16> SpellInfo::Rank

Definition at line 353 of file SpellInfo.h.

◆ Reagent

std::array<int32, MAX_SPELL_REAGENTS> SpellInfo::Reagent

Definition at line 342 of file SpellInfo.h.

◆ ReagentCount

std::array<uint32, MAX_SPELL_REAGENTS> SpellInfo::ReagentCount

Definition at line 343 of file SpellInfo.h.

◆ RecoveryTime

uint32 SpellInfo::RecoveryTime

Definition at line 317 of file SpellInfo.h.

◆ RequiredAreasID

int32 SpellInfo::RequiredAreasID

Definition at line 360 of file SpellInfo.h.

◆ RequiresSpellFocus

uint32 SpellInfo::RequiresSpellFocus

Definition at line 306 of file SpellInfo.h.

◆ RuneCostID

uint32 SpellInfo::RuneCostID

Definition at line 337 of file SpellInfo.h.

◆ SchoolMask

uint32 SpellInfo::SchoolMask

Definition at line 361 of file SpellInfo.h.

◆ Speed

float SpellInfo::Speed

Definition at line 339 of file SpellInfo.h.

◆ SpellFamilyFlags

flag96 SpellInfo::SpellFamilyFlags

Definition at line 357 of file SpellInfo.h.

◆ SpellFamilyName

uint32 SpellInfo::SpellFamilyName

Definition at line 356 of file SpellInfo.h.

◆ SpellIconID

uint32 SpellInfo::SpellIconID

Definition at line 349 of file SpellInfo.h.

◆ SpellLevel

uint32 SpellInfo::SpellLevel

Definition at line 329 of file SpellInfo.h.

◆ SpellName

std::array<char const*, 16> SpellInfo::SpellName

Definition at line 352 of file SpellInfo.h.

◆ SpellVisual

std::array<uint32, 2> SpellInfo::SpellVisual

Definition at line 348 of file SpellInfo.h.

◆ StackAmount

uint32 SpellInfo::StackAmount

Definition at line 340 of file SpellInfo.h.

◆ Stances

uint64 SpellInfo::Stances

Definition at line 302 of file SpellInfo.h.

◆ StancesNot

uint64 SpellInfo::StancesNot

Definition at line 303 of file SpellInfo.h.

◆ StartRecoveryCategory

uint32 SpellInfo::StartRecoveryCategory

Definition at line 319 of file SpellInfo.h.

◆ StartRecoveryTime

uint32 SpellInfo::StartRecoveryTime

Definition at line 320 of file SpellInfo.h.

◆ TargetAuraSpell

uint32 SpellInfo::TargetAuraSpell

Definition at line 313 of file SpellInfo.h.

◆ TargetAuraState

uint32 SpellInfo::TargetAuraState

Definition at line 309 of file SpellInfo.h.

◆ TargetCreatureType

uint32 SpellInfo::TargetCreatureType

Definition at line 305 of file SpellInfo.h.

◆ Targets

uint32 SpellInfo::Targets

Definition at line 304 of file SpellInfo.h.

◆ Totem

std::array<uint32, 2> SpellInfo::Totem

Definition at line 341 of file SpellInfo.h.

◆ TotemCategory

std::array<uint32, 2> SpellInfo::TotemCategory

Definition at line 347 of file SpellInfo.h.


The documentation for this class was generated from the following files: