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 (uint32 effMask, Unit *caster, SpellEffectValue const *baseAmount)
 
virtual ~Aura ()
 
SpellInfo const * GetSpellInfo () const
 
uint32 GetId () const
 
Difficulty GetCastDifficulty () const
 
ObjectGuid GetCastId () const
 
ObjectGuid GetCasterGUID () const
 
ObjectGuid GetCastItemGUID () const
 
uint32 GetCastItemId () const
 
int32 GetCastItemLevel () const
 
SpellCastVisual GetSpellVisual () const
 
void SetSpellVisual (SpellCastVisual const &spellVisual)
 
Unit * GetCaster () const
 
WorldObject * GetWorldObjectCaster () const
 
WorldObject * GetOwner () const
 
Unit * GetUnitOwner () const
 
DynamicObject * GetDynobjOwner () 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 *, uint32 > &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)
 
uint32 CalcMaxStackAmount () const
 
bool IsUsingStacks () const
 
uint8 GetCasterLevel () const
 
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 IsSingleTarget () const
 
bool IsSingleTargetWith (Aura const *aura) const
 
void SetIsSingleTarget (bool val)
 
void UnregisterSingleTarget ()
 
int32 CalcDispelChance (Unit const *auraTarget, bool offensive) const
 
AuraKey GenerateKey (uint32 &recalculateMask) const
 Fills a helper structure containing aura primary key for character_aura, character_aura_effect, pet_aura, pet_aura_effect tables.
 
void SetLoadedState (int32 maxDuration, int32 duration, int32 charges, uint32 recalculateMask, SpellEffectValue const *amount)
 
bool CanPeriodicTickCrit () const
 
bool HasEffect (uint8 effIndex) const
 
bool HasEffectType (AuraType type) const
 
AuraEffect * GetEffect (uint32 index) const
 
uint32 GetEffectMask () const
 
void RecalculateAmountOfEffects ()
 
void HandleAllEffects (AuraApplication *aurApp, uint8 mode, bool apply)
 
ApplicationMap const & GetApplicationMap ()
 
void GetApplicationVector (std::vector< AuraApplication * > &applications) const
 
AuraApplication const * GetApplicationOfTarget (ObjectGuid guid) const
 
AuraApplication * GetApplicationOfTarget (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 (SpellProcEntry const *procEntry, TimePoint now)
 
void ResetProcCooldown ()
 
bool IsUsingCharges () const
 
void SetUsingCharges (bool val)
 
void PrepareProcToTrigger (AuraApplication *aurApp, ProcEventInfo &eventInfo, TimePoint now)
 
void PrepareProcChargeDrop (SpellProcEntry const *procEntry, ProcEventInfo const &eventInfo)
 
void ConsumeProcCharges (SpellProcEntry const *procEntry)
 
uint32 GetProcEffectMask (AuraApplication *aurApp, ProcEventInfo &eventInfo, TimePoint now) const
 
float CalcProcChance (SpellProcEntry const &procEntry, ProcEventInfo &eventInfo) const
 
void TriggerProcOnEvent (uint32 procEffectMask, AuraApplication *aurApp, ProcEventInfo &eventInfo)
 
float CalcPPMProcChance (Unit *actor) const
 
void SetLastProcAttemptTime (TimePoint lastProcAttemptTime)
 
void SetLastProcSuccessTime (TimePoint lastProcSuccessTime)
 
virtual void Heartbeat ()
 
void LoadScripts ()
 
bool CallScriptCheckAreaTargetHandlers (Unit *target)
 
void CallScriptDispel (DispelInfo *dispelInfo)
 
void CallScriptAfterDispel (DispelInfo *dispelInfo)
 
void CallScriptOnHeartbeat ()
 
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, SpellEffectValue &amount, bool &canBeRecalculated)
 
void CallScriptEffectCalcPeriodicHandlers (AuraEffect const *aurEff, bool &isPeriodic, int32 &amplitude)
 
void CallScriptEffectCalcSpellModHandlers (AuraEffect const *aurEff, SpellModifier *&spellMod)
 
void CallScriptEffectCalcCritChanceHandlers (AuraEffect const *aurEff, AuraApplication const *aurApp, Unit const *victim, float &critChance)
 
void CallScriptCalcDamageAndHealingHandlers (AuraEffect const *aurEff, AuraApplication const *aurApp, Unit *victim, int32 &damageOrHealing, int32 &flatMod, float &pctMod)
 
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 CallScriptEffectAbsorbHandlers (AuraEffect *aurEff, AuraApplication const *aurApp, HealInfo &healInfo, uint32 &absorbAmount, bool &defaultPrevented)
 
void CallScriptEffectAfterAbsorbHandlers (AuraEffect *aurEff, AuraApplication const *aurApp, HealInfo &healInfo, 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)
 
void CallScriptEnterLeaveCombatHandlers (AuraApplication const *aurApp, bool isNowInCombat)
 
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 *aurEff, AuraApplication const *aurApp, ProcEventInfo &eventInfo)
 
void CallScriptAfterEffectProcHandlers (AuraEffect *aurEff, AuraApplication const *aurApp, ProcEventInfo &eventInfo)
 
UnitAura * ToUnitAura ()
 
UnitAura const * ToUnitAura () const
 
DynObjAura * ToDynObjAura ()
 
DynObjAura const * ToDynObjAura () const
 
template<class Script >
Script * GetScript () const
 
Trinity::IteratorPair< DBStorageIterator< AuraEffect * > > GetAuraEffects ()
 
Trinity::IteratorPair< DBStorageIterator< AuraEffect const * > > GetAuraEffects () const
 
std::size_t GetAuraEffectCount () const
 
virtual std::string GetDebugInfo () const
 
Trinity::unique_weak_ptr< Aura > GetWeakPtr () const
 
Trinity::unique_weak_ptr< AuraEffect > GetEffectWeakPtr (SpellEffIndex index) const
 
 Aura (Aura const &)=delete
 
 Aura (Aura &&)=delete
 
Aura & operator= (Aura const &)=delete
 
Aura & operator= (Aura &&)=delete
 

Static Public Member Functions

static uint32 BuildEffectMaskForOwner (SpellInfo const *spellProto, uint32 availableEffectMask, WorldObject *owner)
 
static Aura * TryRefreshStackOrCreate (AuraCreateInfo &createInfo, bool updateEffectMask=true)
 
static Aura * TryCreate (AuraCreateInfo &createInfo)
 
static Aura * Create (AuraCreateInfo &createInfo)
 
static int32 CalcMaxDuration (SpellInfo const *spellInfo, WorldObject const *caster, std::vector< SpellPowerCost > const *powerCosts)
 
static bool EffectTypeNeedsSendingAmount (AuraType type)
 

Public Attributes

std::vector< AuraScript * > m_loadedScripts
 

Protected Attributes

SpellInfo const *const m_spellInfo
 
Difficulty const m_castDifficulty
 
ObjectGuid const m_castId
 
ObjectGuid const m_casterGuid
 
ObjectGuid const m_castItemGuid
 
uint32 m_castItemId
 
int32 m_castItemLevel
 
SpellCastVisual m_spellVisual
 
time_t const m_applyTime
 
WorldObject *const m_owner
 
int32 m_maxDuration
 
int32 m_duration
 
int32 m_timeCla
 
std::vector< SpellPowerEntry const * > m_periodicCosts
 
int32 m_updateTargetMapInterval
 
uint8 const m_casterLevel
 
uint8 m_procCharges
 
uint8 m_stackAmount
 
AuraEffectVector m_effects
 
ApplicationMap m_applications
 
bool m_isRemoved
 
bool m_isSingleTarget
 
bool m_isUsingCharges
 
ChargeDropEvent * m_dropEvent
 
TimePoint m_procCooldown
 
TimePoint m_lastProcAttemptTime
 
TimePoint m_lastProcSuccessTime
 

Private Member Functions

AuraScript * GetScriptByType (std::type_info const &type) const
 
void _DeleteRemovedApplications ()
 

Private Attributes

std::vector< AuraApplication * > _removedApplications
 
Trinity::unique_trackable_ptr< Aura > m_scriptRef
 

Friends

class Unit
 

Detailed Description

Definition at line 167 of file SpellAuras.h.

Member Typedef Documentation

◆ ApplicationMap

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

Definition at line 172 of file SpellAuras.h.

Constructor & Destructor Documentation

◆ Aura() [1/3]

◆ ~Aura()

Aura::~Aura ( )
virtual

◆ 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 796 of file SpellAuras.cpp.

References ASSERT, GetApplicationOfTarget(), GetOwner(), and m_applications.

Referenced by Spell::EffectPersistentAA().

◆ _ApplyForTarget()

◆ _DeleteRemovedApplications()

void Aura::_DeleteRemovedApplications ( )
private

Definition at line 2049 of file SpellAuras.cpp.

References _removedApplications.

Referenced by UpdateOwner(), and ~Aura().

◆ _InitEffects()

void Aura::_InitEffects ( uint32  effMask,
Unit *  caster,
SpellEffectValue const *  baseAmount 
)

Definition at line 511 of file SpellAuras.cpp.

References SpellInfo::GetEffects(), GetSpellInfo(), and m_effects.

Referenced by DynObjAura::DynObjAura(), and UnitAura::UnitAura().

◆ _RegisterForTargets()

void Aura::_RegisterForTargets ( )
inline

Definition at line 209 of file SpellAuras.h.

Referenced by Spell::EffectPersistentAA().

◆ _Remove()

◆ _UnapplyForTarget()

◆ AddProcCooldown()

void Aura::AddProcCooldown ( SpellProcEntry const *  procEntry,
TimePoint  now 
)

◆ ApplyForTargets()

void Aura::ApplyForTargets ( )
inline

Definition at line 210 of file SpellAuras.h.

◆ BuildEffectMaskForOwner()

◆ CalcDispelChance()

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

◆ CalcMaxCharges() [1/2]

uint8 Aura::CalcMaxCharges ( ) const
inline

Definition at line 232 of file SpellAuras.h.

References CalcMaxCharges().

Referenced by Aura(), CalcMaxCharges(), ModCharges(), and ModStackAmount().

◆ CalcMaxCharges() [2/2]

uint8 Aura::CalcMaxCharges ( Unit *  caster) const

◆ CalcMaxDuration() [1/3]

◆ CalcMaxDuration() [2/3]

◆ CalcMaxDuration() [3/3]

int32 Aura::CalcMaxDuration ( Unit *  caster) const

Definition at line 907 of file SpellAuras.cpp.

References CalcMaxDuration(), and GetSpellInfo().

◆ CalcMaxStackAmount()

◆ CalcPPMProcChance()

float Aura::CalcPPMProcChance ( Unit *  actor) const

◆ CalcProcChance()

◆ CallScriptAfterDispel()

void Aura::CallScriptAfterDispel ( DispelInfo *  dispelInfo)

Definition at line 2093 of file SpellAuras.cpp.

References AURA_SCRIPT_HOOK_AFTER_DISPEL, and m_loadedScripts.

Referenced by Unit::RemoveAurasDueToSpellByDispel().

◆ CallScriptAfterEffectApplyHandlers()

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

◆ CallScriptAfterEffectProcHandlers()

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

◆ CallScriptAfterEffectRemoveHandlers()

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

◆ CallScriptAfterProcHandlers()

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

Definition at line 2438 of file SpellAuras.cpp.

References AURA_SCRIPT_HOOK_AFTER_PROC, and m_loadedScripts.

Referenced by TriggerProcOnEvent().

◆ CallScriptCalcDamageAndHealingHandlers()

void Aura::CallScriptCalcDamageAndHealingHandlers ( AuraEffect const *  aurEff,
AuraApplication const *  aurApp,
Unit *  victim,
int32 &  damageOrHealing,
int32 &  flatMod,
float &  pctMod 
)

◆ CallScriptCheckAreaTargetHandlers()

bool Aura::CallScriptCheckAreaTargetHandlers ( Unit *  target)

Definition at line 2067 of file SpellAuras.cpp.

References AURA_SCRIPT_HOOK_CHECK_AREA_TARGET, and m_loadedScripts.

Referenced by CheckAreaTarget().

◆ CallScriptCheckEffectProcHandlers()

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

◆ CallScriptCheckProcHandlers()

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

Definition at line 2389 of file SpellAuras.cpp.

References AURA_SCRIPT_HOOK_CHECK_PROC, and m_loadedScripts.

Referenced by GetProcEffectMask().

◆ CallScriptDispel()

void Aura::CallScriptDispel ( DispelInfo *  dispelInfo)

Definition at line 2081 of file SpellAuras.cpp.

References AURA_SCRIPT_HOOK_DISPEL, and m_loadedScripts.

Referenced by Unit::RemoveAurasDueToSpellByDispel().

◆ CallScriptEffectAbsorbHandlers() [1/2]

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

◆ CallScriptEffectAbsorbHandlers() [2/2]

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

◆ CallScriptEffectAfterAbsorbHandlers() [1/2]

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

◆ CallScriptEffectAfterAbsorbHandlers() [2/2]

void Aura::CallScriptEffectAfterAbsorbHandlers ( AuraEffect *  aurEff,
AuraApplication const *  aurApp,
HealInfo &  healInfo,
uint32 &  absorbAmount 
)

◆ CallScriptEffectAfterManaShieldHandlers()

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

◆ CallScriptEffectApplyHandlers()

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

◆ CallScriptEffectCalcAmountHandlers()

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

◆ CallScriptEffectCalcCritChanceHandlers()

void Aura::CallScriptEffectCalcCritChanceHandlers ( AuraEffect const *  aurEff,
AuraApplication const *  aurApp,
Unit const *  victim,
float &  critChance 
)

◆ CallScriptEffectCalcPeriodicHandlers()

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

◆ CallScriptEffectCalcSpellModHandlers()

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

◆ CallScriptEffectManaShieldHandlers()

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

◆ CallScriptEffectPeriodicHandlers()

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

◆ CallScriptEffectProcHandlers()

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

◆ CallScriptEffectRemoveHandlers()

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

◆ CallScriptEffectSplitHandlers()

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

◆ CallScriptEffectUpdatePeriodicHandlers()

void Aura::CallScriptEffectUpdatePeriodicHandlers ( AuraEffect *  aurEff)

◆ CallScriptEnterLeaveCombatHandlers()

void Aura::CallScriptEnterLeaveCombatHandlers ( AuraApplication const *  aurApp,
bool  isNowInCombat 
)

◆ CallScriptOnHeartbeat()

void Aura::CallScriptOnHeartbeat ( )

Definition at line 2105 of file SpellAuras.cpp.

References AURA_SCRIPT_HOOK_ON_HEARTBEAT, and m_loadedScripts.

Referenced by UnitAura::Heartbeat().

◆ CallScriptPrepareProcHandlers()

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

Definition at line 2404 of file SpellAuras.cpp.

References AURA_SCRIPT_HOOK_PREPARE_PROC, and m_loadedScripts.

Referenced by PrepareProcToTrigger().

◆ CallScriptProcHandlers()

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

Definition at line 2422 of file SpellAuras.cpp.

References AURA_SCRIPT_HOOK_PROC, and m_loadedScripts.

Referenced by TriggerProcOnEvent().

◆ CanBeAppliedOn()

◆ CanBeSaved()

◆ CanPeriodicTickCrit()

bool Aura::CanPeriodicTickCrit ( ) const

◆ CanStackWith()

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

Definition at line 1633 of file SpellAuras.cpp.

References DYNOBJ_AURA_TYPE, Vehicle::GetAvailableSeatCount(), GetCasterGUID(), GetCastItemGUID(), SpellInfo::GetEffects(), GetId(), GetOwner(), GetSpellInfo(), GetType(), Unit::GetVehicleKit(), SpellInfo::HasAttribute(), HasEffectType(), SpellInfo::Id, IsArea(), SpellInfo::IsAuraExclusiveBySpecificPerCasterWith(), SpellInfo::IsAuraExclusiveBySpecificWith(), SpellInfo::IsChanneled(), SpellInfo::IsDifferentRankOf(), ObjectGuid::IsEmpty(), SpellInfo::IsMultiSlotAura(), IsPassive(), SpellInfo::IsRankOf(), m_castItemGuid, m_spellInfo, SPELL_ATTR0_CU_ENCHANT_PROC, SPELL_ATTR3_DOT_STACKING_RULE, SPELL_AURA_CONTROL_VEHICLE, SPELL_AURA_OBS_MOD_HEALTH, SPELL_AURA_OBS_MOD_POWER, SPELL_AURA_PERIODIC_DAMAGE, SPELL_AURA_PERIODIC_DAMAGE_PERCENT, SPELL_AURA_PERIODIC_DUMMY, SPELL_AURA_PERIODIC_ENERGIZE, SPELL_AURA_PERIODIC_HEAL, SPELL_AURA_PERIODIC_LEECH, SPELL_AURA_PERIODIC_MANA_LEECH, SPELL_AURA_PERIODIC_TRIGGER_SPELL, SPELL_AURA_PERIODIC_TRIGGER_SPELL_WITH_VALUE, SPELL_AURA_PERIODIC_WEAPON_PERCENT_DAMAGE, SPELL_AURA_POWER_BURN, SPELL_AURA_SHOW_CONFIRMATION_PROMPT, SPELL_AURA_SHOW_CONFIRMATION_PROMPT_WITH_DIFFICULTY, SPELL_GROUP_STACK_RULE_DEFAULT, SPELL_GROUP_STACK_RULE_EXCLUSIVE, SPELL_GROUP_STACK_RULE_EXCLUSIVE_FROM_SAME_CASTER, SPELL_GROUP_STACK_RULE_EXCLUSIVE_HIGHEST, SPELL_GROUP_STACK_RULE_EXCLUSIVE_SAME_EFFECT, SpellInfo::SpellFamilyName, sSpellMgr, and Object::ToUnit().

Referenced by Unit::_RemoveNoStackAurasDueToAura(), and UpdateTargetMap().

◆ CheckAreaTarget()

bool Aura::CheckAreaTarget ( Unit *  target)

Definition at line 1628 of file SpellAuras.cpp.

References CallScriptCheckAreaTargetHandlers().

Referenced by CanBeAppliedOn().

◆ ConsumeProcCharges()

void Aura::ConsumeProcCharges ( SpellProcEntry const *  procEntry)

◆ Create()

◆ DropCharge()

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

Definition at line 234 of file SpellAuras.h.

Referenced by AuraScript::DropCharge().

◆ DropChargeDelayed()

◆ EffectTypeNeedsSendingAmount()

◆ FillTargetMap()

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

Implemented in UnitAura, and DynObjAura.

Referenced by UpdateTargetMap().

◆ GenerateKey()

AuraKey Aura::GenerateKey ( uint32 &  recalculateMask) const

Fills a helper structure containing aura primary key for character_aura, character_aura_effect, pet_aura, pet_aura_effect tables.

Parameters
[out]recalculateMaskMask of effects that can be recalculated to store in database - not part of aura key.
Returns
Aura key.

Definition at line 1252 of file SpellAuras.cpp.

References AuraKey::Caster, AuraKey::EffectMask, GetCasterGUID(), GetCastItemGUID(), GetId(), AuraKey::Item, m_effects, and AuraKey::SpellId.

Referenced by Pet::_SaveAuras(), and Player::_SaveAuras().

◆ GetApplicationMap()

ApplicationMap const & Aura::GetApplicationMap ( )
inline

◆ GetApplicationOfTarget() [1/2]

AuraApplication * Aura::GetApplicationOfTarget ( ObjectGuid  guid)

Definition at line 1358 of file SpellAuras.cpp.

References m_applications, and Trinity::Containers::MapGetValuePtr().

◆ GetApplicationOfTarget() [2/2]

◆ GetApplicationVector()

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

Definition at line 1342 of file SpellAuras.cpp.

References m_applications.

Referenced by SetStackAmount().

◆ GetApplyTime()

time_t Aura::GetApplyTime ( ) const
inline

Definition at line 216 of file SpellAuras.h.

Referenced by Player::DuelComplete(), and AuraScript::GetApplyTime().

◆ GetAuraEffectCount()

std::size_t Aura::GetAuraEffectCount ( ) const
inline

◆ GetAuraEffects() [1/2]

◆ GetAuraEffects() [2/2]

Trinity::IteratorPair< DBStorageIterator< AuraEffect const * > > Aura::GetAuraEffects ( ) const
inline

Definition at line 368 of file SpellAuras.h.

References Trinity::Containers::MakeIteratorPair().

◆ GetCastDifficulty()

◆ GetCaster()

◆ GetCasterGUID()

◆ GetCasterLevel()

uint8 Aura::GetCasterLevel ( ) const
inline

Definition at line 244 of file SpellAuras.h.

Referenced by AuraApplication::BuildUpdatePacket().

◆ GetCastId()

◆ GetCastItemGUID()

◆ GetCastItemId()

uint32 Aura::GetCastItemId ( ) const
inline

Definition at line 189 of file SpellAuras.h.

Referenced by Player::_SaveAuras().

◆ GetCastItemLevel()

int32 Aura::GetCastItemLevel ( ) const
inline

◆ GetCharges()

◆ GetDebugInfo()

◆ GetDuration()

◆ GetDynobjOwner()

DynamicObject * Aura::GetDynobjOwner ( ) const
inline

◆ GetEffect()

◆ GetEffectMask()

◆ GetEffectWeakPtr()

Trinity::unique_weak_ptr< AuraEffect > Aura::GetEffectWeakPtr ( SpellEffIndex  index) const
inline

Definition at line 379 of file SpellAuras.h.

◆ GetId()

◆ GetMaxDuration()

◆ GetOwner()

◆ GetProcEffectMask()

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

Definition at line 1834 of file SpellAuras.cpp.

References SpellProcEntry::AttributesMask, AUTO_ATTACK_PROC_FLAG_MASK, CalcProcChance(), CallScriptCheckProcHandlers(), SpellMgr::CanSpellTriggerProcOnEvent(), CONDITION_SOURCE_TYPE_SPELL_PROC, SpellProcEntry::DisableEffectsMask, EQUIPMENT_SLOT_MAINHAND, EQUIPMENT_SLOT_OFFHAND, SpellInfo::EquippedItemClass, ProcEventInfo::GetActionTarget(), ProcEventInfo::GetActor(), GetAuraEffects(), GetCasterGUID(), GetCharges(), ProcEventInfo::GetDamageInfo(), AuraApplication::GetEffectMask(), BaseEntity::GetGUID(), GetId(), ProcEventInfo::GetProcSpell(), ProcEventInfo::GetSpellInfo(), GetSpellInfo(), AuraApplication::GetTarget(), BaseEntity::GetTypeId(), ProcEventInfo::GetTypeMask(), Player::GetUseableItemByPos(), SpellInfo::HasAttribute(), SpellInfo::HasAura(), INVENTORY_SLOT_BAG_0, Item::IsBroken(), Item::IsFitToSpellRequirements(), Unit::IsInFeralForm(), WorldObject::IsOutdoors(), IsPassive(), IsProcOnCooldown(), Unit::IsStandState(), IsUsingCharges(), ITEM_CLASS_ARMOR, ITEM_CLASS_WEAPON, m_spellInfo, OFF_ATTACK, PROC_ATTR_CANT_PROC_FROM_ITEM_CAST, PROC_ATTR_REQ_SPELLMOD, PROC_ATTR_TRIGGERED_CAN_PROC, PROC_ATTR_USE_STACKS_FOR_CHARGES, roll_chance(), sConditionMgr, SetLastProcAttemptTime(), SPELL_ATTR0_CU_DONT_BREAK_STEALTH, SPELL_ATTR12_CAN_PROC_FROM_SUPPRESSED_CASTER_PROCS, SPELL_ATTR12_ENABLE_PROCS_FROM_SUPPRESSED_CASTER_PROCS, SPELL_ATTR12_ONLY_PROC_FROM_CLASS_ABILITIES, SPELL_ATTR13_ALLOW_CLASS_ABILITY_PROCS, SPELL_ATTR3_CAN_PROC_FROM_PROCS, SPELL_ATTR3_NO_PROC_EQUIP_REQUIREMENT, SPELL_ATTR3_NOT_A_PROC, SPELL_ATTR3_ONLY_PROC_ON_CASTER, SPELL_ATTR3_ONLY_PROC_OUTDOORS, SPELL_ATTR3_SUPPRESS_CASTER_PROCS, SPELL_ATTR3_SUPPRESS_TARGET_PROCS, SPELL_ATTR4_ALLOW_PROC_WHILE_SITTING, SPELL_ATTR4_SUPPRESS_WEAPON_PROCS, SPELL_ATTR6_AURA_IS_WEAPON_PROC, SPELL_ATTR7_CAN_PROC_FROM_SUPPRESSED_TARGET_PROCS, SPELL_AURA_MOD_STEALTH, sSpellMgr, TAKEN_HIT_PROC_FLAG_MASK, Object::ToPlayer(), and TYPEID_PLAYER.

Referenced by Unit::GetProcAurasTriggeredOnEvent().

◆ GetScript()

◆ GetScriptByType()

AuraScript * Aura::GetScriptByType ( std::type_info const &  type) const
private

Definition at line 503 of file SpellAuras.cpp.

References m_loadedScripts.

◆ GetSpellInfo()

SpellInfo const * Aura::GetSpellInfo ( ) const
inline

Definition at line 182 of file SpellAuras.h.

Referenced by Unit::_AddAura(), Unit::_ApplyAura(), Unit::_CreateAuraApplication(), _InitEffects(), AuraApplication::_InitFlags(), Battleground::_ProcessJoin(), Unit::_RemoveNoStackAurasDueToAura(), Unit::_UnapplyAura(), _UnapplyForTarget(), AddProcCooldown(), UnitAura::AddStaticApplication(), SpellInfo::ApplyAllSpellImmunitiesTo(), AuraEffect::ApplySpellMod(), AuraApplication::BuildUpdatePacket(), CalcDispelChance(), CalcMaxCharges(), CalcMaxDuration(), CalcProcChance(), CanBeAppliedOn(), CanBeSaved(), PlayerAI::CancelAllShapeshifts(), CanPeriodicTickCrit(), CanStackWith(), Player::CanUseBattlegroundObject(), Spell::EffectDispelMechanic(), Spell::EffectStealBeneficialBuff(), UnitAura::FillTargetMap(), DynObjAura::FillTargetMap(), GetDebugInfo(), Unit::GetDispellableAuraList(), AuraScript::GetEffectInfo(), Unit::GetProcAurasTriggeredOnEvent(), GetProcEffectMask(), AuraScript::GetSpellInfo(), GetUnitConditionVariable(), AuraEffect::HandleAuraDummy(), HandleAuraSpecificMods(), UnitAura::HandlePeriodicFoodSpellVisualKit(), spell_torghast_uncontrolled_darkness_proc::HandleProc(), spell_gen_clear_debuffs::HandleScript(), HasMoreThanOneEffectForType(), IsArea(), IsDeathPersistent(), Unit::IsHighestExclusiveAura(), IsPassive(), IsSingleTargetWith(), list_commandscript::ListAurasCommand(), CriteriaHandler::ModifierSatisfied(), SmartAI::OnAuraApplied(), SmartAI::OnAuraRemoved(), PrepareProcToTrigger(), Unit::RemoveAllAurasExceptType(), Unit::RemoveAllAurasExceptType(), Unit::RemoveAllAurasRequiringDeadTarget(), Unit::RemoveAllGroupBuffsFromCaster(), Unit::RemoveArenaAuras(), Unit::RemoveAurasByShapeShift(), Unit::RemoveAurasDueToSpellByDispel(), Unit::RemoveAurasDueToSpellBySteal(), Unit::RemoveAurasWithFamily(), Unit::RemoveAurasWithInterruptFlags(), Unit::RemoveAurasWithMechanic(), Player::RemoveItemDependentAurasAndCasts(), SetDuration(), TriggerProcOnEvent(), Update(), and UpdateTargetMap().

◆ GetSpellVisual()

SpellCastVisual Aura::GetSpellVisual ( ) const
inline

Definition at line 191 of file SpellAuras.h.

Referenced by AuraApplication::BuildUpdatePacket().

◆ GetStackAmount()

uint8 Aura::GetStackAmount ( ) const
inline

Definition at line 238 of file SpellAuras.h.

Referenced by Pet::_SaveAuras(), Player::_SaveAuras(), AuraApplication::BuildUpdatePacket(), AuraEffect::CalculateAmount(), spell_sha_swirling_maelstrom::CheckHailstormProc(), spell_sha_maelstrom_weapon_base::ConsumeMaelstromWeapon(), Spell::EffectStealBeneficialBuff(), Unit::GetDispellableAuraList(), AuraScript::GetStackAmount(), spell_dru_pulverize_thrash::HandleAfterHit(), AuraEffect::HandleAuraLinked(), HandleAuraSpecificMods(), spell_anduin_wrynn_hopebreaker_damage::HandleDamage(), spell_remnant_of_a_fallen_king_remorseless_winter_damage::HandleDamage(), spell_borean_tundra_nerubar_web_random_unit_not_on_quest_dummy::HandleDummy(), spell_borean_tundra_nerubar_web_random_unit_on_quest_dummy::HandleDummy(), spell_sindragosa_frost_breath::HandleInfusion(), spell_pri_answered_prayers::HandleOnProc(), AuraEffect::HandlePeriodicDamageAurasTick(), AuraEffect::HandlePeriodicHealAurasTick(), AuraEffect::HandlePeriodicHealthLeechAuraTick(), spell_item_anger_capacitor< StackAmount >::spell_item_anger_capacitor_AuraScript< Stacks >::HandleProc(), spell_item_trinket_stack::spell_item_trinket_stack_AuraScript::HandleProc(), spell_mage_radiant_spark::HandleProc(), spell_pilgrims_bounty_well_fed::HandleScript(), spell_festergut_gastric_bloat::HandleScript(), spell_gen_bonked::HandleScript(), spell_gen_landmine_knockback_achievement::HandleScript(), npc_underbog_mushroom::InitializeAI(), npc_slad_ran_constrictor::JustEngagedWith(), list_commandscript::ListAurasCommand(), CriteriaHandler::ModifierSatisfied(), ModStackAmount(), spell_halion_marks::OnRemove(), spell_gen_defend::RefreshVisualShields(), boss_trollgore::UpdateAI(), and npc_tournament_training_dummy::UpdateAI().

◆ GetType()

◆ GetUnitOwner()

◆ GetWeakPtr()

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

Definition at line 378 of file SpellAuras.h.

◆ GetWorldObjectCaster()

WorldObject * Aura::GetWorldObjectCaster ( ) const

◆ HandleAllEffects()

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

Definition at line 1326 of file SpellAuras.cpp.

References ASSERT, GetAuraEffects(), and IsRemoved().

◆ HandleAuraSpecificMods()

void Aura::HandleAuraSpecificMods ( AuraApplication const *  aurApp,
Unit *  caster,
bool  apply,
bool  onReapply 
)

◆ HasEffect()

◆ HasEffectType()

bool Aura::HasEffectType ( AuraType  type) const

◆ HasMoreThanOneEffectForType()

bool Aura::HasMoreThanOneEffectForType ( AuraType  auraType) const

Definition at line 1131 of file SpellAuras.cpp.

References SpellInfo::GetEffects(), GetSpellInfo(), and HasEffect().

Referenced by Unit::IsHighestExclusiveAuraEffect().

◆ Heartbeat()

virtual void Aura::Heartbeat ( )
inlinevirtual

Reimplemented in UnitAura.

Definition at line 312 of file SpellAuras.h.

Referenced by UnitAura::Heartbeat().

◆ IsAppliedOnTarget()

bool Aura::IsAppliedOnTarget ( ObjectGuid  guid) const

Definition at line 1363 of file SpellAuras.cpp.

References m_applications.

Referenced by _ApplyForTarget(), and Unit::_CreateAuraApplication().

◆ IsArea()

bool Aura::IsArea ( ) const

◆ IsDeathPersistent()

bool Aura::IsDeathPersistent ( ) const

◆ IsExpired()

bool Aura::IsExpired ( ) const
inline

Definition at line 226 of file SpellAuras.h.

Referenced by AuraScript::IsExpired(), and DynamicObject::Update().

◆ IsPassive()

◆ IsPermanent()

bool Aura::IsPermanent ( ) const
inline

◆ IsProcOnCooldown()

bool Aura::IsProcOnCooldown ( TimePoint  now) const

Definition at line 1772 of file SpellAuras.cpp.

References m_procCooldown.

Referenced by GetProcEffectMask().

◆ IsRemoved()

◆ IsRemovedOnShapeLost()

◆ IsSingleTarget()

bool Aura::IsSingleTarget ( ) const
inline

◆ IsSingleTargetWith()

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

◆ IsUsingCharges()

bool Aura::IsUsingCharges ( ) const
inline

◆ IsUsingStacks()

bool Aura::IsUsingStacks ( ) const

Definition at line 1078 of file SpellAuras.cpp.

References m_spellInfo, m_stackAmount, and SpellInfo::StackAmount.

Referenced by AuraApplication::BuildUpdatePacket().

◆ LoadScripts()

void Aura::LoadScripts ( )

◆ ModCharges()

◆ ModChargesDelayed()

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

Definition at line 1040 of file SpellAuras.cpp.

References m_dropEvent, and ModCharges().

Referenced by ChargeDropEvent::Execute().

◆ ModStackAmount()

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

◆ PrepareProcChargeDrop()

◆ PrepareProcToTrigger()

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

◆ RecalculateAmountOfEffects()

void Aura::RecalculateAmountOfEffects ( )

Definition at line 1317 of file SpellAuras.cpp.

References ASSERT, GetAuraEffects(), GetCaster(), and IsRemoved().

◆ RefreshDuration()

◆ RefreshTimers()

void Aura::RefreshTimers ( bool  resetPeriodicTimer)

◆ Remove()

◆ ResetProcCooldown()

void Aura::ResetProcCooldown ( )

Definition at line 1788 of file SpellAuras.cpp.

References m_procCooldown, and GameTime::Now().

◆ SetCharges()

void Aura::SetCharges ( uint8  charges)

◆ SetDuration()

◆ SetIsSingleTarget()

void Aura::SetIsSingleTarget ( bool  val)
inline

◆ SetLastProcAttemptTime()

void Aura::SetLastProcAttemptTime ( TimePoint  lastProcAttemptTime)
inline

Definition at line 310 of file SpellAuras.h.

Referenced by GetProcEffectMask().

◆ SetLastProcSuccessTime()

void Aura::SetLastProcSuccessTime ( TimePoint  lastProcSuccessTime)
inline

Definition at line 311 of file SpellAuras.h.

Referenced by PrepareProcToTrigger().

◆ SetLoadedState()

void Aura::SetLoadedState ( int32  maxDuration,
int32  duration,
int32  charges,
uint32  recalculateMask,
SpellEffectValue const *  amount 
)

◆ SetMaxDuration()

◆ SetNeedClientUpdateForTargets()

void Aura::SetNeedClientUpdateForTargets ( ) const

◆ SetSpellVisual()

void Aura::SetSpellVisual ( SpellCastVisual const &  spellVisual)

Definition at line 551 of file SpellAuras.cpp.

References m_spellVisual, and SetNeedClientUpdateForTargets().

◆ SetStackAmount()

◆ SetUsingCharges()

void Aura::SetUsingCharges ( bool  val)
inline

Definition at line 302 of file SpellAuras.h.

◆ ToDynObjAura() [1/2]

DynObjAura * Aura::ToDynObjAura ( )
inline

Definition at line 351 of file SpellAuras.h.

References DYNOBJ_AURA_TYPE.

Referenced by Spell::EffectPersistentAA().

◆ ToDynObjAura() [2/2]

DynObjAura const * Aura::ToDynObjAura ( ) const
inline

Definition at line 352 of file SpellAuras.h.

References DYNOBJ_AURA_TYPE.

◆ ToUnitAura() [1/2]

UnitAura * Aura::ToUnitAura ( )
inline

Definition at line 348 of file SpellAuras.h.

References UNIT_AURA_TYPE.

Referenced by Create(), and Spell::DoSpellEffectHit().

◆ ToUnitAura() [2/2]

UnitAura const * Aura::ToUnitAura ( ) const
inline

Definition at line 349 of file SpellAuras.h.

References UNIT_AURA_TYPE.

◆ TriggerProcOnEvent()

◆ TryCreate()

◆ TryRefreshStackOrCreate()

◆ UnregisterSingleTarget()

◆ Update()

◆ UpdateOwner()

◆ UpdateTargetMap()

Friends And Related Symbol Documentation

◆ Unit

friend class Unit
friend

Definition at line 169 of file SpellAuras.h.

Member Data Documentation

◆ _removedApplications

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

Definition at line 427 of file SpellAuras.h.

Referenced by _DeleteRemovedApplications(), and _UnapplyForTarget().

◆ m_applications

◆ m_applyTime

time_t const Aura::m_applyTime
protected

Definition at line 400 of file SpellAuras.h.

◆ m_castDifficulty

Difficulty const Aura::m_castDifficulty
protected

Definition at line 393 of file SpellAuras.h.

◆ m_casterGuid

ObjectGuid const Aura::m_casterGuid
protected

Definition at line 395 of file SpellAuras.h.

◆ m_casterLevel

uint8 const Aura::m_casterLevel
protected

Definition at line 409 of file SpellAuras.h.

◆ m_castId

ObjectGuid const Aura::m_castId
protected

Definition at line 394 of file SpellAuras.h.

◆ m_castItemGuid

ObjectGuid const Aura::m_castItemGuid
protected

Definition at line 396 of file SpellAuras.h.

Referenced by _ApplyForTarget(), and CanStackWith().

◆ m_castItemId

uint32 Aura::m_castItemId
protected

Definition at line 397 of file SpellAuras.h.

◆ m_castItemLevel

int32 Aura::m_castItemLevel
protected

Definition at line 398 of file SpellAuras.h.

◆ m_dropEvent

ChargeDropEvent* Aura::m_dropEvent
protected

Definition at line 420 of file SpellAuras.h.

Referenced by _Remove(), DropChargeDelayed(), and ModChargesDelayed().

◆ m_duration

int32 Aura::m_duration
protected

Definition at line 404 of file SpellAuras.h.

Referenced by Aura(), SetDuration(), SetLoadedState(), and Update().

◆ m_effects

AuraEffectVector Aura::m_effects
protected

Definition at line 413 of file SpellAuras.h.

Referenced by _InitEffects(), GenerateKey(), GetEffect(), and ~Aura().

◆ m_isRemoved

bool Aura::m_isRemoved
protected

Definition at line 416 of file SpellAuras.h.

Referenced by _Remove().

◆ m_isSingleTarget

bool Aura::m_isSingleTarget
protected

Definition at line 417 of file SpellAuras.h.

Referenced by UnregisterSingleTarget().

◆ m_isUsingCharges

bool Aura::m_isUsingCharges
protected

Definition at line 418 of file SpellAuras.h.

Referenced by Aura(), SetCharges(), and SetLoadedState().

◆ m_lastProcAttemptTime

TimePoint Aura::m_lastProcAttemptTime
protected

Definition at line 423 of file SpellAuras.h.

Referenced by CalcPPMProcChance().

◆ m_lastProcSuccessTime

TimePoint Aura::m_lastProcSuccessTime
protected

Definition at line 424 of file SpellAuras.h.

Referenced by CalcPPMProcChance().

◆ m_loadedScripts

◆ m_maxDuration

int32 Aura::m_maxDuration
protected

Definition at line 403 of file SpellAuras.h.

Referenced by Aura(), RefreshTimers(), and SetLoadedState().

◆ m_owner

WorldObject* const Aura::m_owner
protected

Definition at line 401 of file SpellAuras.h.

Referenced by DropChargeDelayed(), GetType(), and UpdateOwner().

◆ m_periodicCosts

std::vector<SpellPowerEntry const*> Aura::m_periodicCosts
protected

Definition at line 406 of file SpellAuras.h.

Referenced by Aura(), RefreshDuration(), and Update().

◆ m_procCharges

uint8 Aura::m_procCharges
protected

Definition at line 410 of file SpellAuras.h.

Referenced by Aura(), ModCharges(), PrepareProcChargeDrop(), SetCharges(), and SetLoadedState().

◆ m_procCooldown

TimePoint Aura::m_procCooldown
protected

Definition at line 422 of file SpellAuras.h.

Referenced by AddProcCooldown(), IsProcOnCooldown(), and ResetProcCooldown().

◆ m_scriptRef

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

Definition at line 430 of file SpellAuras.h.

Referenced by _Remove().

◆ m_spellInfo

◆ m_spellVisual

SpellCastVisual Aura::m_spellVisual
protected

Definition at line 399 of file SpellAuras.h.

Referenced by SetSpellVisual().

◆ m_stackAmount

uint8 Aura::m_stackAmount
protected

Definition at line 411 of file SpellAuras.h.

Referenced by IsUsingStacks(), ModStackAmount(), and SetStackAmount().

◆ m_timeCla

int32 Aura::m_timeCla
protected

Definition at line 405 of file SpellAuras.h.

Referenced by Aura(), RefreshDuration(), and Update().

◆ m_updateTargetMapInterval

int32 Aura::m_updateTargetMapInterval
protected

Definition at line 407 of file SpellAuras.h.

Referenced by UpdateOwner(), and UpdateTargetMap().


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