TrinityCore
Loading...
Searching...
No Matches
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
 
uint32 GetPeriodicTickCount () const
 
int32 CalcValueAsInt (WorldObject const *caster=nullptr, SpellEffectValue const *basePoints=nullptr, Unit const *target=nullptr, float *variance=nullptr, uint32 castItemId=0, int32 itemLevel=-1) const
 
SpellEffectValue CalcValue (WorldObject const *caster=nullptr, SpellEffectValue const *basePoints=nullptr, Unit const *target=nullptr, float *variance=nullptr, uint32 castItemId=0, int32 itemLevel=-1) const
 
SpellEffectValue 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
 
SpellRange CalcRadius (WorldObject const *caster=nullptr, SpellTargetIndex targetIndex=SpellTargetIndex::TargetA, Spell *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
 

Static Public Attributes

static constexpr SpellEffectValue MinValue = -2000000000.0
 
static constexpr SpellEffectValue MaxValue = 2000000000.0
 

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 209 of file SpellInfo.h.

Constructor & Destructor Documentation

◆ SpellEffectInfo() [1/4]

SpellEffectInfo::SpellEffectInfo ( )
explicit

Definition at line 402 of file SpellInfo.cpp.

◆ SpellEffectInfo() [2/4]

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

Definition at line 411 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()

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

Definition at line 661 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 761 of file SpellInfo.cpp.

+ Here is the call graph for this function:

◆ CalcRadius()

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

Definition at line 782 of file SpellInfo.cpp.

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

◆ CalcValue()

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

Definition at line 520 of file SpellInfo.cpp.

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

◆ CalcValueAsInt()

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

Definition at line 515 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 753 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 286 of file SpellInfo.h.

+ Here is the caller graph for this function:

◆ GetImplicitTargetType()

SpellEffectImplicitTargetTypes SpellEffectInfo::GetImplicitTargetType ( ) const

Definition at line 858 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 834 of file SpellInfo.cpp.

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

◆ GetPeriodicTickCount()

uint32 SpellEffectInfo::GetPeriodicTickCount ( ) const

Definition at line 498 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 829 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 868 of file SpellInfo.cpp.

+ Here is the caller graph for this function:

◆ GetUsedTargetObjectType()

SpellTargetObjectTypes SpellEffectInfo::GetUsedTargetObjectType ( ) const

Definition at line 863 of file SpellInfo.cpp.

+ Here is the caller graph for this function:

◆ HasRadius()

bool SpellEffectInfo::HasRadius ( SpellTargetIndex  targetIndex) const

Definition at line 769 of file SpellInfo.cpp.

+ Here is the caller graph for this function:

◆ IsAreaAuraEffect()

bool SpellEffectInfo::IsAreaAuraEffect ( ) const

Definition at line 479 of file SpellInfo.cpp.

+ Here is the caller graph for this function:

◆ IsAura() [1/2]

bool SpellEffectInfo::IsAura ( ) const

Definition at line 464 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 469 of file SpellInfo.cpp.

+ Here is the call graph for this function:

◆ IsEffect() [1/2]

bool SpellEffectInfo::IsEffect ( ) const

Definition at line 454 of file SpellInfo.cpp.

+ Here is the caller graph for this function:

◆ IsEffect() [2/2]

bool SpellEffectInfo::IsEffect ( SpellEffectName  effectName) const

Definition at line 459 of file SpellInfo.cpp.

◆ IsTargetingArea()

bool SpellEffectInfo::IsTargetingArea ( ) const

Definition at line 474 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 493 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 Symbol Documentation

◆ SpellInfo

friend class SpellInfo
friend

Definition at line 211 of file SpellInfo.h.

Member Data Documentation

◆ _data

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

Definition at line 958 of file SpellInfo.h.

◆ _immunityInfo

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

Definition at line 299 of file SpellInfo.h.

◆ _spellInfo

SpellInfo const* SpellEffectInfo::_spellInfo
private

Definition at line 212 of file SpellInfo.h.

◆ Amplitude

float SpellEffectInfo::Amplitude

Definition at line 221 of file SpellInfo.h.

◆ ApplyAuraName

AuraType SpellEffectInfo::ApplyAuraName

Definition at line 216 of file SpellInfo.h.

◆ ApplyAuraPeriod

uint32 SpellEffectInfo::ApplyAuraPeriod

Definition at line 217 of file SpellInfo.h.

◆ BasePoints

float SpellEffectInfo::BasePoints

Definition at line 218 of file SpellInfo.h.

◆ BonusCoefficient

float SpellEffectInfo::BonusCoefficient

Definition at line 223 of file SpellInfo.h.

◆ BonusCoefficientFromAP

float SpellEffectInfo::BonusCoefficientFromAP

Definition at line 236 of file SpellInfo.h.

◆ ChainAmplitude

float SpellEffectInfo::ChainAmplitude

Definition at line 222 of file SpellInfo.h.

◆ ChainTargets

int32 SpellEffectInfo::ChainTargets

Definition at line 232 of file SpellInfo.h.

◆ Effect

SpellEffectName SpellEffectInfo::Effect

Definition at line 215 of file SpellInfo.h.

◆ EffectAttributes

EnumFlag<SpellEffectAttributes> SpellEffectInfo::EffectAttributes

Definition at line 238 of file SpellInfo.h.

◆ EffectIndex

SpellEffIndex SpellEffectInfo::EffectIndex

Definition at line 214 of file SpellInfo.h.

◆ ImplicitTargetConditions

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

Definition at line 237 of file SpellInfo.h.

◆ ItemType

uint32 SpellEffectInfo::ItemType

Definition at line 233 of file SpellInfo.h.

◆ MaxValue

constexpr SpellEffectValue SpellEffectInfo::MaxValue = 2000000000.0
staticconstexpr

Definition at line 267 of file SpellInfo.h.

◆ Mechanic

Mechanics SpellEffectInfo::Mechanic

Definition at line 226 of file SpellInfo.h.

◆ MinValue

constexpr SpellEffectValue SpellEffectInfo::MinValue = -2000000000.0
staticconstexpr

Definition at line 266 of file SpellInfo.h.

◆ MiscValue

int32 SpellEffectInfo::MiscValue

Definition at line 224 of file SpellInfo.h.

◆ MiscValueB

int32 SpellEffectInfo::MiscValueB

Definition at line 225 of file SpellInfo.h.

◆ PointsPerResource

float SpellEffectInfo::PointsPerResource

Definition at line 220 of file SpellInfo.h.

◆ PositionFacing

float SpellEffectInfo::PositionFacing

Definition at line 227 of file SpellInfo.h.

◆ RealPointsPerLevel

float SpellEffectInfo::RealPointsPerLevel

Definition at line 219 of file SpellInfo.h.

◆ Scaling

struct SpellEffectInfo::ScalingInfo SpellEffectInfo::Scaling

◆ SpellClassMask

flag128 SpellEffectInfo::SpellClassMask

Definition at line 235 of file SpellInfo.h.

◆ TargetA

SpellImplicitTargetInfo SpellEffectInfo::TargetA

Definition at line 228 of file SpellInfo.h.

◆ TargetARadiusEntry

SpellRadiusEntry const* SpellEffectInfo::TargetARadiusEntry

Definition at line 230 of file SpellInfo.h.

◆ TargetB

SpellImplicitTargetInfo SpellEffectInfo::TargetB

Definition at line 229 of file SpellInfo.h.

◆ TargetBRadiusEntry

SpellRadiusEntry const* SpellEffectInfo::TargetBRadiusEntry

Definition at line 231 of file SpellInfo.h.

◆ TriggerSpell

uint32 SpellEffectInfo::TriggerSpell

Definition at line 234 of file SpellInfo.h.


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