DynObjAura Class Reference

#include <SpellAuras.h>

+ Inheritance diagram for DynObjAura:

Public Member Functions

 DynObjAura (SpellInfo const *spellproto, ObjectGuid castId, uint32 effMask, WorldObject *owner, Unit *caster, Difficulty castDifficulty, int32 *baseAmount, Item *castItem, ObjectGuid casterGUID, ObjectGuid castItemGuid, uint32 castItemId, int32 castItemLevel)
void Remove (AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT) override
void FillTargetMap (std::unordered_map< Unit *, uint32 > &targets, Unit *caster) override
- Public Member Functions inherited from Aura
 Aura (AuraCreateInfo const &createInfo)
void _InitEffects (uint32 effMask, Unit *caster, int32 const *baseAmount)
void SaveCasterInfo (Unit *caster)
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
UnitGetCaster () const
WorldObjectGetWorldObjectCaster () 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 *, 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. More...
void SetLoadedState (int32 maxDuration, int32 duration, int32 charges, uint8 stackAmount, uint32 recalculateMask, int32 *amount)
bool HasEffect (uint8 effIndex) const
bool HasEffectType (AuraType type) const
AuraEffectGetEffect (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
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 (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)
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 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)
UnitAuraToUnitAura ()
UnitAura const * ToUnitAura () const
DynObjAuraToDynObjAura ()
DynObjAura const * ToDynObjAura () const
template<class Script >
ScriptGetScript () const
AuraEffectVector const & GetAuraEffects () 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

Protected Member Functions

 DynObjAura (AuraCreateInfo const &createInfo)


AuraAura::Create (AuraCreateInfo &createInfo)

Additional Inherited Members

- Public Types inherited from Aura
typedef std::unordered_map< ObjectGuid, AuraApplication * > ApplicationMap
- Static Public Member Functions inherited from Aura
static uint32 BuildEffectMaskForOwner (SpellInfo const *spellProto, uint32 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 const *caster, std::vector< SpellPowerCost > const *powerCosts)
static bool EffectTypeNeedsSendingAmount (AuraType type)
- Public Attributes inherited from Aura
std::vector< AuraScript * > m_loadedScripts
- Protected Attributes inherited from Aura
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 const 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
ApplicationMap m_applications
bool m_isRemoved
bool m_isSingleTarget
bool m_isUsingCharges
TimePoint m_procCooldown
TimePoint m_lastProcAttemptTime
TimePoint m_lastProcSuccessTime

Detailed Description

Definition at line 391 of file SpellAuras.h.

Constructor & Destructor Documentation

◆ DynObjAura() [1/2]

DynObjAura::DynObjAura ( AuraCreateInfo const &  createInfo)

Definition at line 2617 of file SpellAuras.cpp.

+ Here is the call graph for this function:

◆ DynObjAura() [2/2]

DynObjAura::DynObjAura ( SpellInfo const *  spellproto,
ObjectGuid  castId,
uint32  effMask,
WorldObject owner,
Unit caster,
Difficulty  castDifficulty,
int32 baseAmount,
Item castItem,
ObjectGuid  casterGUID,
ObjectGuid  castItemGuid,
uint32  castItemId,
int32  castItemLevel 

Member Function Documentation

◆ FillTargetMap()

void DynObjAura::FillTargetMap ( std::unordered_map< Unit *, uint32 > &  targets,
Unit caster 

Implements Aura.

Definition at line 2636 of file SpellAuras.cpp.

+ Here is the call graph for this function:

◆ Remove()

void DynObjAura::Remove ( AuraRemoveMode  removeMode = AURA_REMOVE_BY_DEFAULT)

Implements Aura.

Definition at line 2629 of file SpellAuras.cpp.

+ Here is the call graph for this function:

Friends And Related Function Documentation

◆ Aura::Create

Aura * Aura::Create ( AuraCreateInfo createInfo)

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