TrinityCore
SpellEffectInfo Class Reference

#include <SpellInfo.h>

Classes

struct  ImmunityInfo
 
struct  ScalingInfo
 
struct  StaticData
 

Public Member Functions

 SpellEffectInfo ()
 
 SpellEffectInfo (SpellInfo const *spellInfo, SpellEffectEntry const &effect)
 
 SpellEffectInfo (SpellEffectInfo const &)=delete
 
 SpellEffectInfo (SpellEffectInfo &&) noexcept
 
SpellEffectInfooperator= (SpellEffectInfo const &)=delete
 
SpellEffectInfooperator= (SpellEffectInfo &&) noexcept
 
 ~SpellEffectInfo ()
 
bool IsEffect () const
 
bool IsEffect (SpellEffectName effectName) const
 
bool IsAura () const
 
bool IsAura (AuraType aura) const
 
bool IsTargetingArea () const
 
bool IsAreaAuraEffect () const
 
bool IsUnitOwnedAuraEffect () const
 
int32 CalcValue (WorldObject const *caster=nullptr, int32 const *basePoints=nullptr, Unit const *target=nullptr, float *variance=nullptr, uint32 castItemId=0, int32 itemLevel=-1) const
 
int32 CalcBaseValue (WorldObject const *caster, Unit const *target, uint32 itemId, int32 itemLevel) const
 
float CalcValueMultiplier (WorldObject *caster, Spell *spell=nullptr) const
 
float CalcDamageMultiplier (WorldObject *caster, Spell *spell=nullptr) const
 
bool HasRadius (SpellTargetIndex targetIndex) const
 
float CalcRadius (WorldObject *caster=nullptr, SpellTargetIndex targetIndex=SpellTargetIndex::TargetA, Spell *=nullptr) const
 
uint32 GetProvidedTargetMask () const
 
uint32 GetMissingTargetMask (bool srcSet=false, bool dstSet=false, uint32 mask=0) const
 
SpellEffectImplicitTargetTypes GetImplicitTargetType () const
 
SpellTargetObjectTypes GetUsedTargetObjectType () const
 
ExpectedStatType GetScalingExpectedStat () const
 
ImmunityInfo const * GetImmunityInfo () const
 

Public Attributes

SpellEffIndex EffectIndex
 
SpellEffectName Effect
 
AuraType ApplyAuraName
 
uint32 ApplyAuraPeriod
 
float BasePoints
 
float RealPointsPerLevel
 
float PointsPerResource
 
float Amplitude
 
float ChainAmplitude
 
float BonusCoefficient
 
int32 MiscValue
 
int32 MiscValueB
 
Mechanics Mechanic
 
float PositionFacing
 
SpellImplicitTargetInfo TargetA
 
SpellImplicitTargetInfo TargetB
 
SpellRadiusEntry const * TargetARadiusEntry
 
SpellRadiusEntry const * TargetBRadiusEntry
 
int32 ChainTargets
 
uint32 ItemType
 
uint32 TriggerSpell
 
flag128 SpellClassMask
 
float BonusCoefficientFromAP
 
std::shared_ptr< std::vector< Condition > > ImplicitTargetConditions
 
EnumFlag< SpellEffectAttributesEffectAttributes
 
struct SpellEffectInfo::ScalingInfo Scaling
 

Private Attributes

SpellInfo const * _spellInfo
 
std::unique_ptr< ImmunityInfo_immunityInfo
 

Static Private Attributes

static std::array< StaticData, TOTAL_SPELL_EFFECTS_data
 

Friends

class SpellInfo
 

Detailed Description

Definition at line 212 of file SpellInfo.h.

Constructor & Destructor Documentation

◆ SpellEffectInfo() [1/4]

SpellEffectInfo::SpellEffectInfo ( )
explicit

Definition at line 399 of file SpellInfo.cpp.

◆ SpellEffectInfo() [2/4]

SpellEffectInfo::SpellEffectInfo ( SpellInfo const *  spellInfo,
SpellEffectEntry const &  effect 
)
explicit

Definition at line 408 of file SpellInfo.cpp.

+ Here is the call graph for this function:

◆ SpellEffectInfo() [3/4]

SpellEffectInfo::SpellEffectInfo ( SpellEffectInfo const &  )
delete

◆ SpellEffectInfo() [4/4]

SpellEffectInfo::SpellEffectInfo ( SpellEffectInfo &&  )
defaultnoexcept

◆ ~SpellEffectInfo()

SpellEffectInfo::~SpellEffectInfo ( )
default

Member Function Documentation

◆ CalcBaseValue()

int32 SpellEffectInfo::CalcBaseValue ( WorldObject const *  caster,
Unit const *  target,
uint32  itemId,
int32  itemLevel 
) const

Definition at line 554 of file SpellInfo.cpp.

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

◆ CalcDamageMultiplier()

float SpellEffectInfo::CalcDamageMultiplier ( WorldObject caster,
Spell spell = nullptr 
) const

Definition at line 652 of file SpellInfo.cpp.

+ Here is the call graph for this function:

◆ CalcRadius()

float SpellEffectInfo::CalcRadius ( WorldObject caster = nullptr,
SpellTargetIndex  targetIndex = SpellTargetIndex::TargetA,
Spell spell = nullptr 
) const

Definition at line 673 of file SpellInfo.cpp.

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

◆ CalcValue()

int32 SpellEffectInfo::CalcValue ( WorldObject const *  caster = nullptr,
int32 const *  basePoints = nullptr,
Unit const *  target = nullptr,
float *  variance = nullptr,
uint32  castItemId = 0,
int32  itemLevel = -1 
) const

Definition at line 495 of file SpellInfo.cpp.

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

◆ CalcValueMultiplier()

float SpellEffectInfo::CalcValueMultiplier ( WorldObject caster,
Spell spell = nullptr 
) const

Definition at line 644 of file SpellInfo.cpp.

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

◆ GetImmunityInfo()

ImmunityInfo const * SpellEffectInfo::GetImmunityInfo ( ) const
inline

Definition at line 283 of file SpellInfo.h.

+ Here is the caller graph for this function:

◆ GetImplicitTargetType()

SpellEffectImplicitTargetTypes SpellEffectInfo::GetImplicitTargetType ( ) const

Definition at line 743 of file SpellInfo.cpp.

+ Here is the caller graph for this function:

◆ GetMissingTargetMask()

uint32 SpellEffectInfo::GetMissingTargetMask ( bool  srcSet = false,
bool  dstSet = false,
uint32  mask = 0 
) const

Definition at line 719 of file SpellInfo.cpp.

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

◆ GetProvidedTargetMask()

uint32 SpellEffectInfo::GetProvidedTargetMask ( ) const

Definition at line 714 of file SpellInfo.cpp.

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

◆ GetScalingExpectedStat()

ExpectedStatType SpellEffectInfo::GetScalingExpectedStat ( ) const

Definition at line 753 of file SpellInfo.cpp.

+ Here is the caller graph for this function:

◆ GetUsedTargetObjectType()

SpellTargetObjectTypes SpellEffectInfo::GetUsedTargetObjectType ( ) const

Definition at line 748 of file SpellInfo.cpp.

+ Here is the caller graph for this function:

◆ HasRadius()

bool SpellEffectInfo::HasRadius ( SpellTargetIndex  targetIndex) const

Definition at line 660 of file SpellInfo.cpp.

+ Here is the caller graph for this function:

◆ IsAreaAuraEffect()

bool SpellEffectInfo::IsAreaAuraEffect ( ) const

Definition at line 476 of file SpellInfo.cpp.

+ Here is the caller graph for this function:

◆ IsAura() [1/2]

bool SpellEffectInfo::IsAura ( ) const

Definition at line 461 of file SpellInfo.cpp.

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

◆ IsAura() [2/2]

bool SpellEffectInfo::IsAura ( AuraType  aura) const

Definition at line 466 of file SpellInfo.cpp.

+ Here is the call graph for this function:

◆ IsEffect() [1/2]

bool SpellEffectInfo::IsEffect ( ) const

Definition at line 451 of file SpellInfo.cpp.

+ Here is the caller graph for this function:

◆ IsEffect() [2/2]

bool SpellEffectInfo::IsEffect ( SpellEffectName  effectName) const

Definition at line 456 of file SpellInfo.cpp.

◆ IsTargetingArea()

bool SpellEffectInfo::IsTargetingArea ( ) const

Definition at line 471 of file SpellInfo.cpp.

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

◆ IsUnitOwnedAuraEffect()

bool SpellEffectInfo::IsUnitOwnedAuraEffect ( ) const

Definition at line 490 of file SpellInfo.cpp.

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

◆ operator=() [1/2]

SpellEffectInfo & SpellEffectInfo::operator= ( SpellEffectInfo &&  )
defaultnoexcept

◆ operator=() [2/2]

SpellEffectInfo & SpellEffectInfo::operator= ( SpellEffectInfo const &  )
delete

Friends And Related Function Documentation

◆ SpellInfo

friend class SpellInfo
friend

Definition at line 214 of file SpellInfo.h.

Member Data Documentation

◆ _data

std::array< SpellEffectInfo::StaticData, TOTAL_SPELL_EFFECTS > SpellEffectInfo::_data
staticprivate

Definition at line 294 of file SpellInfo.h.

◆ _immunityInfo

std::unique_ptr<ImmunityInfo> SpellEffectInfo::_immunityInfo
private

Definition at line 296 of file SpellInfo.h.

◆ _spellInfo

SpellInfo const* SpellEffectInfo::_spellInfo
private

Definition at line 215 of file SpellInfo.h.

◆ Amplitude

float SpellEffectInfo::Amplitude

Definition at line 224 of file SpellInfo.h.

◆ ApplyAuraName

AuraType SpellEffectInfo::ApplyAuraName

Definition at line 219 of file SpellInfo.h.

◆ ApplyAuraPeriod

uint32 SpellEffectInfo::ApplyAuraPeriod

Definition at line 220 of file SpellInfo.h.

◆ BasePoints

float SpellEffectInfo::BasePoints

Definition at line 221 of file SpellInfo.h.

◆ BonusCoefficient

float SpellEffectInfo::BonusCoefficient

Definition at line 226 of file SpellInfo.h.

◆ BonusCoefficientFromAP

float SpellEffectInfo::BonusCoefficientFromAP

Definition at line 239 of file SpellInfo.h.

◆ ChainAmplitude

float SpellEffectInfo::ChainAmplitude

Definition at line 225 of file SpellInfo.h.

◆ ChainTargets

int32 SpellEffectInfo::ChainTargets

Definition at line 235 of file SpellInfo.h.

◆ Effect

SpellEffectName SpellEffectInfo::Effect

Definition at line 218 of file SpellInfo.h.

◆ EffectAttributes

EnumFlag<SpellEffectAttributes> SpellEffectInfo::EffectAttributes

Definition at line 241 of file SpellInfo.h.

◆ EffectIndex

SpellEffIndex SpellEffectInfo::EffectIndex

Definition at line 217 of file SpellInfo.h.

◆ ImplicitTargetConditions

std::shared_ptr<std::vector<Condition> > SpellEffectInfo::ImplicitTargetConditions

Definition at line 240 of file SpellInfo.h.

◆ ItemType

uint32 SpellEffectInfo::ItemType

Definition at line 236 of file SpellInfo.h.

◆ Mechanic

Mechanics SpellEffectInfo::Mechanic

Definition at line 229 of file SpellInfo.h.

◆ MiscValue

int32 SpellEffectInfo::MiscValue

Definition at line 227 of file SpellInfo.h.

◆ MiscValueB

int32 SpellEffectInfo::MiscValueB

Definition at line 228 of file SpellInfo.h.

◆ PointsPerResource

float SpellEffectInfo::PointsPerResource

Definition at line 223 of file SpellInfo.h.

◆ PositionFacing

float SpellEffectInfo::PositionFacing

Definition at line 230 of file SpellInfo.h.

◆ RealPointsPerLevel

float SpellEffectInfo::RealPointsPerLevel

Definition at line 222 of file SpellInfo.h.

◆ Scaling

struct SpellEffectInfo::ScalingInfo SpellEffectInfo::Scaling

◆ SpellClassMask

flag128 SpellEffectInfo::SpellClassMask

Definition at line 238 of file SpellInfo.h.

◆ TargetA

SpellImplicitTargetInfo SpellEffectInfo::TargetA

Definition at line 231 of file SpellInfo.h.

◆ TargetARadiusEntry

SpellRadiusEntry const* SpellEffectInfo::TargetARadiusEntry

Definition at line 233 of file SpellInfo.h.

◆ TargetB

SpellImplicitTargetInfo SpellEffectInfo::TargetB

Definition at line 232 of file SpellInfo.h.

◆ TargetBRadiusEntry

SpellRadiusEntry const* SpellEffectInfo::TargetBRadiusEntry

Definition at line 234 of file SpellInfo.h.

◆ TriggerSpell

uint32 SpellEffectInfo::TriggerSpell

Definition at line 237 of file SpellInfo.h.


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