TrinityCore
Loading...
Searching...
No Matches
Aura Class Referenceabstract

#include <SpellAuras.h>

+ Inheritance diagram for Aura:

Classes

struct  NoopAuraDeleter
 

Public Types

typedef std::unordered_map< ObjectGuid, AuraApplication * > ApplicationMap
 

Public Member Functions

 Aura (AuraCreateInfo const &createInfo)
 
void _InitEffects (uint8 effMask, Unit *caster, int32 const *baseAmount)
 
void SaveCasterInfo (Unit *caster)
 
virtual ~Aura ()
 
SpellInfo const * GetSpellInfo () const
 
uint32 GetId () const
 
ObjectGuid GetCastItemGUID () const
 
ObjectGuid GetCasterGUID () const
 
UnitGetCaster () const
 
WorldObjectGetOwner () const
 
UnitGetUnitOwner () const
 
DynamicObjectGetDynobjOwner () const
 
AuraObjectType GetType () const
 
virtual void _ApplyForTarget (Unit *target, Unit *caster, AuraApplication *auraApp)
 
virtual void _UnapplyForTarget (Unit *target, Unit *caster, AuraApplication *auraApp)
 
void _Remove (AuraRemoveMode removeMode)
 
virtual void Remove (AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)=0
 
virtual void FillTargetMap (std::unordered_map< Unit *, uint8 > &targets, Unit *caster)=0
 
void UpdateTargetMap (Unit *caster, bool apply=true)
 
void _RegisterForTargets ()
 
void ApplyForTargets ()
 
void _ApplyEffectForTargets (uint8 effIndex)
 
void UpdateOwner (uint32 diff, WorldObject *owner)
 
void Update (uint32 diff, Unit *caster)
 
time_t GetApplyTime () const
 
int32 GetMaxDuration () const
 
void SetMaxDuration (int32 duration)
 
int32 CalcMaxDuration () const
 
int32 CalcMaxDuration (Unit *caster) const
 
int32 GetDuration () const
 
void SetDuration (int32 duration, bool withMods=false)
 
void RefreshDuration (bool withMods=false)
 
void RefreshTimers (bool resetPeriodicTimer)
 
bool IsExpired () const
 
bool IsPermanent () const
 
uint8 GetCharges () const
 
void SetCharges (uint8 charges)
 
uint8 CalcMaxCharges (Unit *caster) const
 
uint8 CalcMaxCharges () const
 
bool ModCharges (int32 num, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
 
bool DropCharge (AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
 
void ModChargesDelayed (int32 num, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
 
void DropChargeDelayed (uint32 delay, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
 
uint8 GetStackAmount () const
 
void SetStackAmount (uint8 num)
 
bool ModStackAmount (int32 num, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT, bool resetPeriodicTimer=true)
 
bool CanApplyResilience () const
 
void SetCanApplyResilience (bool val)
 
uint8 GetCasterLevel () const
 
float GetCritChance () const
 
void SetCritChance (float val)
 
float GetDonePct () const
 
void SetDonePct (float val)
 
bool HasMoreThanOneEffectForType (AuraType auraType) const
 
bool IsArea () const
 
bool IsPassive () const
 
bool IsDeathPersistent () const
 
bool IsRemovedOnShapeLost (Unit *target) const
 
bool CanBeSaved () const
 
bool IsRemoved () const
 
bool CanBeSentToClient () const
 
bool IsSingleTarget () const
 
bool IsSingleTargetWith (Aura const *aura) const
 
void SetIsSingleTarget (bool val)
 
void UnregisterSingleTarget ()
 
int32 CalcDispelChance (Unit const *auraTarget, bool offensive) const
 
void SetLoadedState (int32 maxduration, int32 duration, int32 charges, uint8 stackamount, uint8 recalculateMask, float critChance, bool applyResilience, int32 *amount)
 
bool CanPeriodicTickCrit (Unit const *caster) const
 
float CalcPeriodicCritChance (Unit const *caster) const
 
bool HasEffect (uint8 effIndex) const
 
bool HasEffectType (AuraType type) const
 
AuraEffectGetEffect (uint8 effIndex) const
 
uint8 GetEffectMask () const
 
void RecalculateAmountOfEffects ()
 
void HandleAllEffects (AuraApplication *aurApp, uint8 mode, bool apply)
 
ApplicationMap const & GetApplicationMap ()
 
void GetApplicationVector (std::vector< AuraApplication * > &applicationVector) const
 
AuraApplication const * GetApplicationOfTarget (ObjectGuid guid) const
 
AuraApplicationGetApplicationOfTarget (ObjectGuid guid)
 
bool IsAppliedOnTarget (ObjectGuid guid) const
 
void SetNeedClientUpdateForTargets () const
 
void HandleAuraSpecificMods (AuraApplication const *aurApp, Unit *caster, bool apply, bool onReapply)
 
bool CanBeAppliedOn (Unit *target)
 
bool CheckAreaTarget (Unit *target)
 
bool CanStackWith (Aura const *existingAura) const
 
bool IsProcOnCooldown (TimePoint now) const
 
void AddProcCooldown (TimePoint cooldownEnd)
 
void ResetProcCooldown ()
 
bool IsUsingCharges () const
 
void SetUsingCharges (bool val)
 
void PrepareProcToTrigger (AuraApplication *aurApp, ProcEventInfo &eventInfo, TimePoint now)
 
uint8 GetProcEffectMask (AuraApplication *aurApp, ProcEventInfo &eventInfo, TimePoint now) const
 
float CalcProcChance (SpellProcEntry const &procEntry, ProcEventInfo &eventInfo) const
 
void TriggerProcOnEvent (uint8 procEffectMask, AuraApplication *aurApp, ProcEventInfo &eventInfo)
 
void LoadScripts ()
 
bool CallScriptCheckAreaTargetHandlers (Unit *target)
 
void CallScriptDispel (DispelInfo *dispelInfo)
 
void CallScriptAfterDispel (DispelInfo *dispelInfo)
 
bool CallScriptEffectApplyHandlers (AuraEffect const *aurEff, AuraApplication const *aurApp, AuraEffectHandleModes mode)
 
bool CallScriptEffectRemoveHandlers (AuraEffect const *aurEff, AuraApplication const *aurApp, AuraEffectHandleModes mode)
 
void CallScriptAfterEffectApplyHandlers (AuraEffect const *aurEff, AuraApplication const *aurApp, AuraEffectHandleModes mode)
 
void CallScriptAfterEffectRemoveHandlers (AuraEffect const *aurEff, AuraApplication const *aurApp, AuraEffectHandleModes mode)
 
bool CallScriptEffectPeriodicHandlers (AuraEffect const *aurEff, AuraApplication const *aurApp)
 
void CallScriptEffectUpdatePeriodicHandlers (AuraEffect *aurEff)
 
void CallScriptEffectCalcAmountHandlers (AuraEffect const *aurEff, int32 &amount, bool &canBeRecalculated)
 
void CallScriptEffectCalcPeriodicHandlers (AuraEffect const *aurEff, bool &isPeriodic, int32 &amplitude)
 
void CallScriptEffectCalcSpellModHandlers (AuraEffect const *aurEff, SpellModifier *&spellMod)
 
void CallScriptEffectAbsorbHandlers (AuraEffect *aurEff, AuraApplication const *aurApp, DamageInfo &dmgInfo, uint32 &absorbAmount, bool &defaultPrevented)
 
void CallScriptEffectAfterAbsorbHandlers (AuraEffect *aurEff, AuraApplication const *aurApp, DamageInfo &dmgInfo, uint32 &absorbAmount)
 
void CallScriptEffectManaShieldHandlers (AuraEffect *aurEff, AuraApplication const *aurApp, DamageInfo &dmgInfo, uint32 &absorbAmount, bool &defaultPrevented)
 
void CallScriptEffectAfterManaShieldHandlers (AuraEffect *aurEff, AuraApplication const *aurApp, DamageInfo &dmgInfo, uint32 &absorbAmount)
 
void CallScriptEffectSplitHandlers (AuraEffect *aurEff, AuraApplication const *aurApp, DamageInfo &dmgInfo, uint32 &splitAmount)
 
bool CallScriptCheckProcHandlers (AuraApplication const *aurApp, ProcEventInfo &eventInfo)
 
bool CallScriptCheckEffectProcHandlers (AuraEffect const *aurEff, AuraApplication const *aurApp, ProcEventInfo &eventInfo)
 
bool CallScriptPrepareProcHandlers (AuraApplication const *aurApp, ProcEventInfo &eventInfo)
 
bool CallScriptProcHandlers (AuraApplication const *aurApp, ProcEventInfo &eventInfo)
 
void CallScriptAfterProcHandlers (AuraApplication const *aurApp, ProcEventInfo &eventInfo)
 
bool CallScriptEffectProcHandlers (AuraEffect const *aurEff, AuraApplication const *aurApp, ProcEventInfo &eventInfo)
 
void CallScriptAfterEffectProcHandlers (AuraEffect const *aurEff, AuraApplication const *aurApp, ProcEventInfo &eventInfo)
 
UnitAuraToUnitAura ()
 
UnitAura const * ToUnitAura () const
 
DynObjAuraToDynObjAura ()
 
DynObjAura const * ToDynObjAura () const
 
template<class Script >
ScriptGetScript (std::string const &scriptName) const
 
virtual std::string GetDebugInfo () const
 
Trinity::unique_weak_ptr< AuraGetWeakPtr () const
 
 Aura (Aura const &)=delete
 
 Aura (Aura &&)=delete
 
Auraoperator= (Aura const &)=delete
 
Auraoperator= (Aura &&)=delete
 

Static Public Member Functions

static uint8 BuildEffectMaskForOwner (SpellInfo const *spellProto, uint8 availableEffectMask, WorldObject *owner)
 
static AuraTryRefreshStackOrCreate (AuraCreateInfo &createInfo, bool updateEffectMask=true)
 
static AuraTryCreate (AuraCreateInfo &createInfo)
 
static AuraCreate (AuraCreateInfo &createInfo)
 
static int32 CalcMaxDuration (SpellInfo const *spellInfo, WorldObject *caster)
 

Public Attributes

std::vector< AuraScript * > m_loadedScripts
 

Protected Attributes

SpellInfo const *const m_spellInfo
 
ObjectGuid const m_casterGuid
 
ObjectGuid const m_castItemGuid
 
time_t const m_applyTime
 
WorldObject *const m_owner
 
int32 m_maxDuration
 
int32 m_duration
 
int32 m_timeCla
 
int32 m_updateTargetMapInterval
 
CasterInfo _casterInfo
 
uint8 m_procCharges
 
uint8 m_stackAmount
 
AuraEffectm_effects [MAX_SPELL_EFFECTS]
 
ApplicationMap m_applications
 
bool m_isRemoved:1
 
bool m_isSingleTarget:1
 
bool m_isUsingCharges:1
 
ChargeDropEventm_dropEvent
 
TimePoint m_procCooldown
 

Private Member Functions

AuraScriptGetScriptByName (std::string const &scriptName) const
 
void _DeleteRemovedApplications ()
 

Private Attributes

std::vector< AuraApplication * > _removedApplications
 
Trinity::unique_trackable_ptr< Auram_scriptRef
 

Friends

class Unit
 

Detailed Description

Definition at line 99 of file SpellAuras.h.

Member Typedef Documentation

◆ ApplicationMap

typedef std::unordered_map<ObjectGuid, AuraApplication*> Aura::ApplicationMap

Definition at line 104 of file SpellAuras.h.

Constructor & Destructor Documentation

◆ Aura() [1/3]

Aura::Aura ( AuraCreateInfo const &  createInfo)
explicit

Definition at line 425 of file SpellAuras.cpp.

+ Here is the call graph for this function:

◆ ~Aura()

Aura::~Aura ( )
virtual

Definition at line 523 of file SpellAuras.cpp.

+ Here is the call graph for this function:

◆ Aura() [2/3]

Aura::Aura ( Aura const &  )
delete

◆ Aura() [3/3]

Aura::Aura ( Aura &&  )
delete

Member Function Documentation

◆ _ApplyEffectForTargets()

void Aura::_ApplyEffectForTargets ( uint8  effIndex)

Definition at line 762 of file SpellAuras.cpp.

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

◆ _ApplyForTarget()

void Aura::_ApplyForTarget ( Unit target,
Unit caster,
AuraApplication auraApp 
)
virtual

Reimplemented in UnitAura.

Definition at line 553 of file SpellAuras.cpp.

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

◆ _DeleteRemovedApplications()

void Aura::_DeleteRemovedApplications ( )
private

Definition at line 2171 of file SpellAuras.cpp.

+ Here is the caller graph for this function:

◆ _InitEffects()

void Aura::_InitEffects ( uint8  effMask,
Unit caster,
int32 const *  baseAmount 
)

Definition at line 460 of file SpellAuras.cpp.

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

◆ _RegisterForTargets()

void Aura::_RegisterForTargets ( )
inline

Definition at line 135 of file SpellAuras.h.

+ Here is the caller graph for this function:

◆ _Remove()

void Aura::_Remove ( AuraRemoveMode  removeMode)

Definition at line 603 of file SpellAuras.cpp.

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

◆ _UnapplyForTarget()

void Aura::_UnapplyForTarget ( Unit target,
Unit caster,
AuraApplication auraApp 
)
virtual
Todo:
Figure out why this happens

Reimplemented in UnitAura.

Definition at line 573 of file SpellAuras.cpp.

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

◆ AddProcCooldown()

void Aura::AddProcCooldown ( TimePoint  cooldownEnd)

Definition at line 1971 of file SpellAuras.cpp.

+ Here is the caller graph for this function:

◆ ApplyForTargets()

void Aura::ApplyForTargets ( )
inline

Definition at line 136 of file SpellAuras.h.

◆ BuildEffectMaskForOwner()

uint8 Aura::BuildEffectMaskForOwner ( SpellInfo const *  spellProto,
uint8  availableEffectMask,
WorldObject owner 
)
static

Definition at line 270 of file SpellAuras.cpp.

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

◆ CalcDispelChance()

int32 Aura::CalcDispelChance ( Unit const *  auraTarget,
bool  offensive 
) const

Definition at line 1172 of file SpellAuras.cpp.

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

◆ CalcMaxCharges() [1/2]

uint8 Aura::CalcMaxCharges ( ) const
inline

Definition at line 158 of file SpellAuras.h.

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

◆ CalcMaxCharges() [2/2]

uint8 Aura::CalcMaxCharges ( Unit caster) const

Definition at line 944 of file SpellAuras.cpp.

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

◆ CalcMaxDuration() [1/3]

int32 Aura::CalcMaxDuration ( ) const
inline

Definition at line 145 of file SpellAuras.h.

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

◆ CalcMaxDuration() [2/3]

int32 Aura::CalcMaxDuration ( SpellInfo const *  spellInfo,
WorldObject caster 
)
static

Definition at line 864 of file SpellAuras.cpp.

+ Here is the call graph for this function:

◆ CalcMaxDuration() [3/3]

int32 Aura::CalcMaxDuration ( Unit caster) const

Definition at line 859 of file SpellAuras.cpp.

+ Here is the call graph for this function:

◆ CalcPeriodicCritChance()

float Aura::CalcPeriodicCritChance ( Unit const *  caster) const

Definition at line 483 of file SpellAuras.cpp.

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

◆ CalcProcChance()

float Aura::CalcProcChance ( SpellProcEntry const &  procEntry,
ProcEventInfo eventInfo 
) const

Definition at line 2123 of file SpellAuras.cpp.

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

◆ CallScriptAfterDispel()

void Aura::CallScriptAfterDispel ( DispelInfo dispelInfo)

Definition at line 2217 of file SpellAuras.cpp.

+ Here is the caller graph for this function:

◆ CallScriptAfterEffectApplyHandlers()

void Aura::CallScriptAfterEffectApplyHandlers ( AuraEffect const *  aurEff,
AuraApplication const *  aurApp,
AuraEffectHandleModes  mode 
)

Definition at line 2269 of file SpellAuras.cpp.

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

◆ CallScriptAfterEffectProcHandlers()

void Aura::CallScriptAfterEffectProcHandlers ( AuraEffect const *  aurEff,
AuraApplication const *  aurApp,
ProcEventInfo eventInfo 
)

Definition at line 2548 of file SpellAuras.cpp.

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

◆ CallScriptAfterEffectRemoveHandlers()

void Aura::CallScriptAfterEffectRemoveHandlers ( AuraEffect const *  aurEff,
AuraApplication const *  aurApp,
AuraEffectHandleModes  mode 
)

Definition at line 2283 of file SpellAuras.cpp.

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

◆ CallScriptAfterProcHandlers()

void Aura::CallScriptAfterProcHandlers ( AuraApplication const *  aurApp,
ProcEventInfo eventInfo 
)

Definition at line 2499 of file SpellAuras.cpp.

+ Here is the caller graph for this function:

◆ CallScriptCheckAreaTargetHandlers()

bool Aura::CallScriptCheckAreaTargetHandlers ( Unit target)

Definition at line 2189 of file SpellAuras.cpp.

+ Here is the caller graph for this function:

◆ CallScriptCheckEffectProcHandlers()

bool Aura::CallScriptCheckEffectProcHandlers ( AuraEffect const *  aurEff,
AuraApplication const *  aurApp,
ProcEventInfo eventInfo 
)

Definition at line 2512 of file SpellAuras.cpp.

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

◆ CallScriptCheckProcHandlers()

bool Aura::CallScriptCheckProcHandlers ( AuraApplication const *  aurApp,
ProcEventInfo eventInfo 
)

Definition at line 2447 of file SpellAuras.cpp.

+ Here is the caller graph for this function:

◆ CallScriptDispel()

void Aura::CallScriptDispel ( DispelInfo dispelInfo)

Definition at line 2204 of file SpellAuras.cpp.

+ Here is the caller graph for this function:

◆ CallScriptEffectAbsorbHandlers()

void Aura::CallScriptEffectAbsorbHandlers ( AuraEffect aurEff,
AuraApplication const *  aurApp,
DamageInfo dmgInfo,
uint32 absorbAmount,
bool &  defaultPrevented 
)

Definition at line 2373 of file SpellAuras.cpp.

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

◆ CallScriptEffectAfterAbsorbHandlers()

void Aura::CallScriptEffectAfterAbsorbHandlers ( AuraEffect aurEff,
AuraApplication const *  aurApp,
DamageInfo dmgInfo,
uint32 absorbAmount 
)

Definition at line 2391 of file SpellAuras.cpp.

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

◆ CallScriptEffectAfterManaShieldHandlers()

void Aura::CallScriptEffectAfterManaShieldHandlers ( AuraEffect aurEff,
AuraApplication const *  aurApp,
DamageInfo dmgInfo,
uint32 absorbAmount 
)

Definition at line 2419 of file SpellAuras.cpp.

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

◆ CallScriptEffectApplyHandlers()

bool Aura::CallScriptEffectApplyHandlers ( AuraEffect const *  aurEff,
AuraApplication const *  aurApp,
AuraEffectHandleModes  mode 
)

Definition at line 2230 of file SpellAuras.cpp.

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

◆ CallScriptEffectCalcAmountHandlers()

void Aura::CallScriptEffectCalcAmountHandlers ( AuraEffect const *  aurEff,
int32 amount,
bool &  canBeRecalculated 
)

Definition at line 2331 of file SpellAuras.cpp.

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

◆ CallScriptEffectCalcPeriodicHandlers()

void Aura::CallScriptEffectCalcPeriodicHandlers ( AuraEffect const *  aurEff,
bool &  isPeriodic,
int32 amplitude 
)

Definition at line 2345 of file SpellAuras.cpp.

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

◆ CallScriptEffectCalcSpellModHandlers()

void Aura::CallScriptEffectCalcSpellModHandlers ( AuraEffect const *  aurEff,
SpellModifier *&  spellMod 
)

Definition at line 2359 of file SpellAuras.cpp.

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

◆ CallScriptEffectManaShieldHandlers()

void Aura::CallScriptEffectManaShieldHandlers ( AuraEffect aurEff,
AuraApplication const *  aurApp,
DamageInfo dmgInfo,
uint32 absorbAmount,
bool &  defaultPrevented 
)

Definition at line 2405 of file SpellAuras.cpp.

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

◆ CallScriptEffectPeriodicHandlers()

bool Aura::CallScriptEffectPeriodicHandlers ( AuraEffect const *  aurEff,
AuraApplication const *  aurApp 
)

Definition at line 2297 of file SpellAuras.cpp.

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

◆ CallScriptEffectProcHandlers()

bool Aura::CallScriptEffectProcHandlers ( AuraEffect const *  aurEff,
AuraApplication const *  aurApp,
ProcEventInfo eventInfo 
)

Definition at line 2529 of file SpellAuras.cpp.

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

◆ CallScriptEffectRemoveHandlers()

bool Aura::CallScriptEffectRemoveHandlers ( AuraEffect const *  aurEff,
AuraApplication const *  aurApp,
AuraEffectHandleModes  mode 
)

Definition at line 2250 of file SpellAuras.cpp.

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

◆ CallScriptEffectSplitHandlers()

void Aura::CallScriptEffectSplitHandlers ( AuraEffect aurEff,
AuraApplication const *  aurApp,
DamageInfo dmgInfo,
uint32 splitAmount 
)

Definition at line 2433 of file SpellAuras.cpp.

+ Here is the call graph for this function:

◆ CallScriptEffectUpdatePeriodicHandlers()

void Aura::CallScriptEffectUpdatePeriodicHandlers ( AuraEffect aurEff)

Definition at line 2317 of file SpellAuras.cpp.

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

◆ CallScriptPrepareProcHandlers()

bool Aura::CallScriptPrepareProcHandlers ( AuraApplication const *  aurApp,
ProcEventInfo eventInfo 
)

Definition at line 2463 of file SpellAuras.cpp.

+ Here is the caller graph for this function:

◆ CallScriptProcHandlers()

bool Aura::CallScriptProcHandlers ( AuraApplication const *  aurApp,
ProcEventInfo eventInfo 
)

Definition at line 2482 of file SpellAuras.cpp.

+ Here is the caller graph for this function:

◆ CanApplyResilience()

bool Aura::CanApplyResilience ( ) const
inline

Definition at line 168 of file SpellAuras.h.

+ Here is the caller graph for this function:

◆ CanBeAppliedOn()

bool Aura::CanBeAppliedOn ( Unit target)

Definition at line 1802 of file SpellAuras.cpp.

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

◆ CanBeSaved()

bool Aura::CanBeSaved ( ) const

Definition at line 1097 of file SpellAuras.cpp.

+ Here is the call graph for this function:

◆ CanBeSentToClient()

bool Aura::CanBeSentToClient ( ) const

Definition at line 1136 of file SpellAuras.cpp.

+ Here is the call graph for this function:

◆ CanPeriodicTickCrit()

bool Aura::CanPeriodicTickCrit ( Unit const *  caster) const

Definition at line 468 of file SpellAuras.cpp.

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

◆ CanStackWith()

bool Aura::CanStackWith ( Aura const *  existingAura) const

Definition at line 1824 of file SpellAuras.cpp.

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

◆ CheckAreaTarget()

bool Aura::CheckAreaTarget ( Unit target)

Definition at line 1819 of file SpellAuras.cpp.

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

◆ Create()

Aura * Aura::Create ( AuraCreateInfo createInfo)
static

Definition at line 353 of file SpellAuras.cpp.

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

◆ DropCharge()

bool Aura::DropCharge ( AuraRemoveMode  removeMode = AURA_REMOVE_BY_DEFAULT)
inline

Definition at line 160 of file SpellAuras.h.

+ Here is the caller graph for this function:

◆ DropChargeDelayed()

void Aura::DropChargeDelayed ( uint32  delay,
AuraRemoveMode  removeMode = AURA_REMOVE_BY_DEFAULT 
)

Definition at line 986 of file SpellAuras.cpp.

+ Here is the call graph for this function:

◆ FillTargetMap()

virtual void Aura::FillTargetMap ( std::unordered_map< Unit *, uint8 > &  targets,
Unit caster 
)
pure virtual

Implemented in UnitAura, and DynObjAura.

+ Here is the caller graph for this function:

◆ GetApplicationMap()

ApplicationMap const & Aura::GetApplicationMap ( )
inline

Definition at line 207 of file SpellAuras.h.

+ Here is the caller graph for this function:

◆ GetApplicationOfTarget() [1/2]

AuraApplication * Aura::GetApplicationOfTarget ( ObjectGuid  guid)
inline

Definition at line 210 of file SpellAuras.h.

◆ GetApplicationOfTarget() [2/2]

AuraApplication const * Aura::GetApplicationOfTarget ( ObjectGuid  guid) const
inline

Definition at line 209 of file SpellAuras.h.

+ Here is the caller graph for this function:

◆ GetApplicationVector()

void Aura::GetApplicationVector ( std::vector< AuraApplication * > &  applicationVector) const

Definition at line 1242 of file SpellAuras.cpp.

+ Here is the caller graph for this function:

◆ GetApplyTime()

time_t Aura::GetApplyTime ( ) const
inline

Definition at line 142 of file SpellAuras.h.

+ Here is the caller graph for this function:

◆ GetCaster()

Unit * Aura::GetCaster ( ) const

Definition at line 540 of file SpellAuras.cpp.

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

◆ GetCasterGUID()

ObjectGuid Aura::GetCasterGUID ( ) const
inline

Definition at line 119 of file SpellAuras.h.

+ Here is the caller graph for this function:

◆ GetCasterLevel()

uint8 Aura::GetCasterLevel ( ) const
inline

Definition at line 170 of file SpellAuras.h.

+ Here is the caller graph for this function:

◆ GetCastItemGUID()

ObjectGuid Aura::GetCastItemGUID ( ) const
inline

Definition at line 118 of file SpellAuras.h.

+ Here is the caller graph for this function:

◆ GetCharges()

uint8 Aura::GetCharges ( ) const
inline

Definition at line 155 of file SpellAuras.h.

+ Here is the caller graph for this function:

◆ GetCritChance()

float Aura::GetCritChance ( ) const
inline

Definition at line 171 of file SpellAuras.h.

+ Here is the caller graph for this function:

◆ GetDebugInfo()

std::string Aura::GetDebugInfo ( ) const
virtual

Definition at line 2562 of file SpellAuras.cpp.

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

◆ GetDonePct()

float Aura::GetDonePct ( ) const
inline

Definition at line 173 of file SpellAuras.h.

◆ GetDuration()

int32 Aura::GetDuration ( ) const
inline

Definition at line 148 of file SpellAuras.h.

+ Here is the caller graph for this function:

◆ GetDynobjOwner()

DynamicObject * Aura::GetDynobjOwner ( ) const
inline

Definition at line 123 of file SpellAuras.h.

+ Here is the caller graph for this function:

◆ GetEffect()

AuraEffect * Aura::GetEffect ( uint8  effIndex) const
inline

Definition at line 201 of file SpellAuras.h.

+ Here is the caller graph for this function:

◆ GetEffectMask()

uint8 Aura::GetEffectMask ( ) const
inline

Definition at line 202 of file SpellAuras.h.

+ Here is the caller graph for this function:

◆ GetId()

uint32 Aura::GetId ( ) const
inline

Definition at line 116 of file SpellAuras.h.

+ Here is the caller graph for this function:

◆ GetMaxDuration()

int32 Aura::GetMaxDuration ( ) const
inline

Definition at line 143 of file SpellAuras.h.

+ Here is the caller graph for this function:

◆ GetOwner()

WorldObject * Aura::GetOwner ( ) const
inline

Definition at line 121 of file SpellAuras.h.

+ Here is the caller graph for this function:

◆ GetProcEffectMask()

uint8 Aura::GetProcEffectMask ( AuraApplication aurApp,
ProcEventInfo eventInfo,
TimePoint  now 
) const
Todo:
Todo:
this needs to be unified for all kinds of auras

Definition at line 2001 of file SpellAuras.cpp.

+ Here is the call graph for this function:

◆ GetScript()

template<class Script >
Script * Aura::GetScript ( std::string const &  scriptName) const
inline

Definition at line 264 of file SpellAuras.h.

◆ GetScriptByName()

AuraScript * Aura::GetScriptByName ( std::string const &  scriptName) const
private

Definition at line 452 of file SpellAuras.cpp.

◆ GetSpellInfo()

SpellInfo const * Aura::GetSpellInfo ( ) const
inline

Definition at line 115 of file SpellAuras.h.

+ Here is the caller graph for this function:

◆ GetStackAmount()

uint8 Aura::GetStackAmount ( ) const
inline

Definition at line 164 of file SpellAuras.h.

+ Here is the caller graph for this function:

◆ GetType()

AuraObjectType Aura::GetType ( ) const

Definition at line 548 of file SpellAuras.cpp.

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

◆ GetUnitOwner()

Unit * Aura::GetUnitOwner ( ) const
inline

Definition at line 122 of file SpellAuras.h.

+ Here is the caller graph for this function:

◆ GetWeakPtr()

Trinity::unique_weak_ptr< Aura > Aura::GetWeakPtr ( ) const
inline

Definition at line 273 of file SpellAuras.h.

◆ HandleAllEffects()

void Aura::HandleAllEffects ( AuraApplication aurApp,
uint8  mode,
bool  apply 
)

Definition at line 1234 of file SpellAuras.cpp.

+ Here is the call graph for this function:

◆ HandleAuraSpecificMods()

void Aura::HandleAuraSpecificMods ( AuraApplication const *  aurApp,
Unit caster,
bool  apply,
bool  onReapply 
)
Todo:
This should be moved to similar function in spell::hit

Definition at line 1260 of file SpellAuras.cpp.

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

◆ HasEffect()

bool Aura::HasEffect ( uint8  effIndex) const
inline

Definition at line 199 of file SpellAuras.h.

+ Here is the caller graph for this function:

◆ HasEffectType()

bool Aura::HasEffectType ( AuraType  type) const

Definition at line 1215 of file SpellAuras.cpp.

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

◆ HasMoreThanOneEffectForType()

bool Aura::HasMoreThanOneEffectForType ( AuraType  auraType) const

Definition at line 1060 of file SpellAuras.cpp.

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

◆ IsAppliedOnTarget()

bool Aura::IsAppliedOnTarget ( ObjectGuid  guid) const
inline

Definition at line 211 of file SpellAuras.h.

+ Here is the caller graph for this function:

◆ IsArea()

bool Aura::IsArea ( ) const

Definition at line 1070 of file SpellAuras.cpp.

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

◆ IsDeathPersistent()

bool Aura::IsDeathPersistent ( ) const

Definition at line 1084 of file SpellAuras.cpp.

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

◆ IsExpired()

bool Aura::IsExpired ( ) const
inline

Definition at line 152 of file SpellAuras.h.

+ Here is the caller graph for this function:

◆ IsPassive()

bool Aura::IsPassive ( ) const

Definition at line 1079 of file SpellAuras.cpp.

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

◆ IsPermanent()

bool Aura::IsPermanent ( ) const
inline

Definition at line 153 of file SpellAuras.h.

+ Here is the caller graph for this function:

◆ IsProcOnCooldown()

bool Aura::IsProcOnCooldown ( TimePoint  now) const

Definition at line 1966 of file SpellAuras.cpp.

+ Here is the caller graph for this function:

◆ IsRemoved()

bool Aura::IsRemoved ( ) const
inline

Definition at line 184 of file SpellAuras.h.

+ Here is the caller graph for this function:

◆ IsRemovedOnShapeLost()

bool Aura::IsRemovedOnShapeLost ( Unit target) const

Definition at line 1089 of file SpellAuras.cpp.

+ Here is the call graph for this function:

◆ IsSingleTarget()

bool Aura::IsSingleTarget ( ) const
inline

Definition at line 187 of file SpellAuras.h.

+ Here is the caller graph for this function:

◆ IsSingleTargetWith()

bool Aura::IsSingleTargetWith ( Aura const *  aura) const

Definition at line 1141 of file SpellAuras.cpp.

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

◆ IsUsingCharges()

bool Aura::IsUsingCharges ( ) const
inline

Definition at line 222 of file SpellAuras.h.

+ Here is the caller graph for this function:

◆ LoadScripts()

void Aura::LoadScripts ( )

Definition at line 2179 of file SpellAuras.cpp.

+ Here is the caller graph for this function:

◆ ModCharges()

bool Aura::ModCharges ( int32  num,
AuraRemoveMode  removeMode = AURA_REMOVE_BY_DEFAULT 
)

Definition at line 957 of file SpellAuras.cpp.

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

◆ ModChargesDelayed()

void Aura::ModChargesDelayed ( int32  num,
AuraRemoveMode  removeMode = AURA_REMOVE_BY_DEFAULT 
)

Definition at line 980 of file SpellAuras.cpp.

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

◆ ModStackAmount()

bool Aura::ModStackAmount ( int32  num,
AuraRemoveMode  removeMode = AURA_REMOVE_BY_DEFAULT,
bool  resetPeriodicTimer = true 
)

Definition at line 1023 of file SpellAuras.cpp.

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

◆ operator=() [1/2]

Aura & Aura::operator= ( Aura &&  )
delete

◆ operator=() [2/2]

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

◆ PrepareProcToTrigger()

void Aura::PrepareProcToTrigger ( AuraApplication aurApp,
ProcEventInfo eventInfo,
TimePoint  now 
)

Definition at line 1981 of file SpellAuras.cpp.

+ Here is the call graph for this function:

◆ RecalculateAmountOfEffects()

void Aura::RecalculateAmountOfEffects ( )

Definition at line 1225 of file SpellAuras.cpp.

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

◆ RefreshDuration()

void Aura::RefreshDuration ( bool  withMods = false)

Definition at line 898 of file SpellAuras.cpp.

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

◆ RefreshTimers()

void Aura::RefreshTimers ( bool  resetPeriodicTimer)

Definition at line 923 of file SpellAuras.cpp.

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

◆ Remove()

virtual void Aura::Remove ( AuraRemoveMode  removeMode = AURA_REMOVE_BY_DEFAULT)
pure virtual

Implemented in UnitAura, and DynObjAura.

+ Here is the caller graph for this function:

◆ ResetProcCooldown()

void Aura::ResetProcCooldown ( )

Definition at line 1976 of file SpellAuras.cpp.

◆ SaveCasterInfo()

void Aura::SaveCasterInfo ( Unit caster)

Definition at line 493 of file SpellAuras.cpp.

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

◆ SetCanApplyResilience()

void Aura::SetCanApplyResilience ( bool  val)
inline

Definition at line 169 of file SpellAuras.h.

+ Here is the caller graph for this function:

◆ SetCharges()

void Aura::SetCharges ( uint8  charges)

Definition at line 934 of file SpellAuras.cpp.

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

◆ SetCritChance()

void Aura::SetCritChance ( float  val)
inline

Definition at line 172 of file SpellAuras.h.

+ Here is the caller graph for this function:

◆ SetDonePct()

void Aura::SetDonePct ( float  val)
inline

Definition at line 174 of file SpellAuras.h.

◆ SetDuration()

void Aura::SetDuration ( int32  duration,
bool  withMods = false 
)

Definition at line 887 of file SpellAuras.cpp.

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

◆ SetIsSingleTarget()

void Aura::SetIsSingleTarget ( bool  val)
inline

Definition at line 189 of file SpellAuras.h.

+ Here is the caller graph for this function:

◆ SetLoadedState()

void Aura::SetLoadedState ( int32  maxduration,
int32  duration,
int32  charges,
uint8  stackamount,
uint8  recalculateMask,
float  critChance,
bool  applyResilience,
int32 amount 
)

Definition at line 1192 of file SpellAuras.cpp.

+ Here is the call graph for this function:

◆ SetMaxDuration()

void Aura::SetMaxDuration ( int32  duration)
inline

Definition at line 144 of file SpellAuras.h.

+ Here is the caller graph for this function:

◆ SetNeedClientUpdateForTargets()

void Aura::SetNeedClientUpdateForTargets ( ) const

Definition at line 1253 of file SpellAuras.cpp.

+ Here is the caller graph for this function:

◆ SetStackAmount()

void Aura::SetStackAmount ( uint8  num)

Definition at line 1000 of file SpellAuras.cpp.

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

◆ SetUsingCharges()

void Aura::SetUsingCharges ( bool  val)
inline

Definition at line 223 of file SpellAuras.h.

+ Here is the caller graph for this function:

◆ ToDynObjAura() [1/2]

DynObjAura * Aura::ToDynObjAura ( )
inline

Definition at line 260 of file SpellAuras.h.

+ Here is the caller graph for this function:

◆ ToDynObjAura() [2/2]

DynObjAura const * Aura::ToDynObjAura ( ) const
inline

Definition at line 261 of file SpellAuras.h.

◆ ToUnitAura() [1/2]

UnitAura * Aura::ToUnitAura ( )
inline

Definition at line 257 of file SpellAuras.h.

+ Here is the caller graph for this function:

◆ ToUnitAura() [2/2]

UnitAura const * Aura::ToUnitAura ( ) const
inline

Definition at line 258 of file SpellAuras.h.

◆ TriggerProcOnEvent()

void Aura::TriggerProcOnEvent ( uint8  procEffectMask,
AuraApplication aurApp,
ProcEventInfo eventInfo 
)

Definition at line 2148 of file SpellAuras.cpp.

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

◆ TryCreate()

Aura * Aura::TryCreate ( AuraCreateInfo createInfo)
static

Definition at line 340 of file SpellAuras.cpp.

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

◆ TryRefreshStackOrCreate()

Aura * Aura::TryRefreshStackOrCreate ( AuraCreateInfo createInfo,
bool  updateEffectMask = true 
)
static

Definition at line 300 of file SpellAuras.cpp.

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

◆ UnregisterSingleTarget()

void Aura::UnregisterSingleTarget ( )

Definition at line 1163 of file SpellAuras.cpp.

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

◆ Update()

void Aura::Update ( uint32  diff,
Unit caster 
)

Definition at line 822 of file SpellAuras.cpp.

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

◆ UpdateOwner()

void Aura::UpdateOwner ( uint32  diff,
WorldObject owner 
)

Definition at line 783 of file SpellAuras.cpp.

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

◆ UpdateTargetMap()

void Aura::UpdateTargetMap ( Unit caster,
bool  apply = true 
)
Todo:
There is a crash caused by shadowfiend load addon

Definition at line 625 of file SpellAuras.cpp.

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

Friends And Related Symbol Documentation

◆ Unit

friend class Unit
friend

Definition at line 101 of file SpellAuras.h.

Member Data Documentation

◆ _casterInfo

CasterInfo Aura::_casterInfo
protected

Definition at line 297 of file SpellAuras.h.

◆ _removedApplications

std::vector<AuraApplication*> Aura::_removedApplications
private

Definition at line 313 of file SpellAuras.h.

◆ m_applications

ApplicationMap Aura::m_applications
protected

Definition at line 302 of file SpellAuras.h.

◆ m_applyTime

time_t const Aura::m_applyTime
protected

Definition at line 289 of file SpellAuras.h.

◆ m_casterGuid

ObjectGuid const Aura::m_casterGuid
protected

Definition at line 287 of file SpellAuras.h.

◆ m_castItemGuid

ObjectGuid const Aura::m_castItemGuid
protected

Definition at line 288 of file SpellAuras.h.

◆ m_dropEvent

ChargeDropEvent* Aura::m_dropEvent
protected

Definition at line 308 of file SpellAuras.h.

◆ m_duration

int32 Aura::m_duration
protected

Definition at line 293 of file SpellAuras.h.

◆ m_effects

AuraEffect* Aura::m_effects[MAX_SPELL_EFFECTS]
protected

Definition at line 301 of file SpellAuras.h.

◆ m_isRemoved

bool Aura::m_isRemoved
protected

Definition at line 304 of file SpellAuras.h.

◆ m_isSingleTarget

bool Aura::m_isSingleTarget
protected

Definition at line 305 of file SpellAuras.h.

◆ m_isUsingCharges

bool Aura::m_isUsingCharges
protected

Definition at line 306 of file SpellAuras.h.

◆ m_loadedScripts

std::vector<AuraScript*> Aura::m_loadedScripts

Definition at line 269 of file SpellAuras.h.

◆ m_maxDuration

int32 Aura::m_maxDuration
protected

Definition at line 292 of file SpellAuras.h.

◆ m_owner

WorldObject* const Aura::m_owner
protected

Definition at line 290 of file SpellAuras.h.

◆ m_procCharges

uint8 Aura::m_procCharges
protected

Definition at line 298 of file SpellAuras.h.

◆ m_procCooldown

TimePoint Aura::m_procCooldown
protected

Definition at line 310 of file SpellAuras.h.

◆ m_scriptRef

Trinity::unique_trackable_ptr<Aura> Aura::m_scriptRef
private

Definition at line 316 of file SpellAuras.h.

◆ m_spellInfo

SpellInfo const* const Aura::m_spellInfo
protected

Definition at line 286 of file SpellAuras.h.

◆ m_stackAmount

uint8 Aura::m_stackAmount
protected

Definition at line 299 of file SpellAuras.h.

◆ m_timeCla

int32 Aura::m_timeCla
protected

Definition at line 294 of file SpellAuras.h.

◆ m_updateTargetMapInterval

int32 Aura::m_updateTargetMapInterval
protected

Definition at line 295 of file SpellAuras.h.


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