Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Loading...
Searching...
No Matches
UnitAura Class Reference

#include <SpellAuras.h>

Inheritance diagram for UnitAura:
Collaboration diagram for UnitAura:

Public Member Functions

void _ApplyForTarget (Unit *target, Unit *caster, AuraApplication *aurApp)
void _UnapplyForTarget (Unit *target, Unit *caster, AuraApplication *aurApp)
void FillTargetMap (std::map< Unit *, uint32 > &targets, Unit *caster)
DiminishingGroup GetDiminishGroup () const
void Remove (AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
void SetDiminishGroup (DiminishingGroup group)
Public Member Functions inherited from Aura
void _ApplyEffectForTargets (uint8 effIndex)
void _InitEffects (uint32 effMask, Unit *caster, int32 *baseAmount)
void _RegisterForTargets ()
void _Remove (AuraRemoveMode removeMode)
void AddProcCooldown (uint32 msec)
void ApplyForTargets ()
 Aura (SpellInfo const *spellproto, WorldObject *owner, Unit *caster, Item *castItem, uint64 casterGUID)
int32 CalcDispelChance (Unit *auraTarget, bool offensive) const
uint8 CalcMaxCharges () const
uint8 CalcMaxCharges (Unit *caster) const
int32 CalcMaxDuration () const
int32 CalcMaxDuration (Unit *caster) const
float CalcProcChance (SpellProcEntry const &procEntry, ProcEventInfo &eventInfo) const
void CallScriptAfterDispel (DispelInfo *dispelInfo)
void CallScriptAfterEffectApplyHandlers (AuraEffect const *aurEff, AuraApplication const *aurApp, AuraEffectHandleModes mode)
void CallScriptAfterEffectProcHandlers (AuraEffect const *aurEff, AuraApplication const *aurApp, ProcEventInfo &eventInfo)
void CallScriptAfterEffectRemoveHandlers (AuraEffect const *aurEff, AuraApplication const *aurApp, AuraEffectHandleModes mode)
void CallScriptAfterProcHandlers (AuraApplication const *aurApp, ProcEventInfo &eventInfo)
bool CallScriptCheckAreaTargetHandlers (Unit *target)
bool CallScriptCheckProcHandlers (AuraApplication const *aurApp, ProcEventInfo &eventInfo)
void CallScriptDispel (DispelInfo *dispelInfo)
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 CallScriptEffectAfterManaShieldHandlers (AuraEffect *aurEff, AuraApplication const *aurApp, DamageInfo &dmgInfo, uint32 &absorbAmount)
bool CallScriptEffectApplyHandlers (AuraEffect const *aurEff, AuraApplication const *aurApp, AuraEffectHandleModes mode)
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 CallScriptEffectManaShieldHandlers (AuraEffect *aurEff, AuraApplication const *aurApp, DamageInfo &dmgInfo, uint32 &absorbAmount, bool &defaultPrevented)
bool CallScriptEffectPeriodicHandlers (AuraEffect const *aurEff, AuraApplication const *aurApp)
bool CallScriptEffectProcHandlers (AuraEffect const *aurEff, AuraApplication const *aurApp, ProcEventInfo &eventInfo)
bool CallScriptEffectRemoveHandlers (AuraEffect const *aurEff, AuraApplication const *aurApp, AuraEffectHandleModes mode)
void CallScriptEffectSplitHandlers (AuraEffect *aurEff, AuraApplication const *aurApp, DamageInfo &dmgInfo, uint32 &splitAmount)
void CallScriptEffectUpdatePeriodicHandlers (AuraEffect *aurEff)
bool CallScriptPrepareProcHandlers (AuraApplication const *aurApp, ProcEventInfo &eventInfo)
bool CallScriptProcHandlers (AuraApplication const *aurApp, ProcEventInfo &eventInfo)
bool CanBeAppliedOn (Unit *target)
bool CanBeSaved () const
bool CanBeSentToClient () const
bool CanStackWith (Aura const *existingAura) const
bool CheckAreaTarget (Unit *target)
bool DropCharge (AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
void GetApplicationList (Unit::AuraApplicationList &applicationList) const
ApplicationMap const & GetApplicationMap ()
AuraApplicationGetApplicationOfTarget (uint64 guid)
const AuraApplicationGetApplicationOfTarget (uint64 guid) const
time_t GetApplyTime () const
UnitGetCaster () const
uint64 GetCasterGUID () const
uint8 GetCasterLevel () const
uint64 GetCastItemGUID () const
uint8 GetCharges () const
int32 GetDuration () const
DynamicObjectGetDynobjOwner () const
AuraEffectGetEffect (uint8 effIndex) const
uint32 GetEffectMask () const
uint32 GetId () const
int32 GetMaxDuration () const
WorldObjectGetOwner () const
AuraScriptGetScriptByName (std::string const &scriptName) const
SpellInfo const * GetSpellInfo () const
uint8 GetStackAmount () const
AuraObjectType GetType () const
UnitGetUnitOwner () const
void HandleAllEffects (AuraApplication *aurApp, uint8 mode, bool apply)
void HandleAuraSpecificMods (AuraApplication const *aurApp, Unit *caster, bool apply, bool onReapply)
bool HasEffect (uint8 effIndex) const
bool HasEffectType (AuraType type) const
bool IsAppliedOnTarget (uint64 guid) const
bool IsArea () const
bool IsDeathPersistent () const
bool IsExpired () const
bool IsPassive () const
bool IsPermanent () const
bool IsProcOnCooldown () const
bool IsProcTriggeredOnEvent (AuraApplication *aurApp, ProcEventInfo &eventInfo) const
bool IsRemoved () const
bool IsRemovedOnShapeLost (Unit *target) const
bool IsSingleTarget () const
bool IsSingleTargetWith (Aura const *aura) const
bool IsUsingCharges () const
void LoadScripts ()
bool ModCharges (int32 num, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
bool ModStackAmount (int32 num, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
void PrepareProcToTrigger (AuraApplication *aurApp, ProcEventInfo &eventInfo)
void RecalculateAmountOfEffects ()
void RefreshDuration ()
void RefreshSpellMods ()
void RefreshTimers ()
void SetCharges (uint8 charges)
void SetDuration (int32 duration, bool withMods=false)
void SetIsSingleTarget (bool val)
void SetLoadedState (int32 maxduration, int32 duration, int32 charges, uint8 stackamount, uint32 recalculateMask, int32 *amount)
void SetMaxDuration (int32 duration)
void SetNeedClientUpdateForTargets () const
void SetStackAmount (uint8 num)
void SetUsingCharges (bool val)
void TriggerProcOnEvent (AuraApplication *aurApp, ProcEventInfo &eventInfo)
void UnregisterSingleTarget ()
void Update (uint32 diff, Unit *caster)
void UpdateOwner (uint32 diff, WorldObject *owner)
void UpdateTargetMap (Unit *caster, bool apply=true)
virtual ~Aura ()

Protected Member Functions

 UnitAura (SpellInfo const *spellproto, uint32 effMask, WorldObject *owner, Unit *caster, int32 *baseAmount, Item *castItem, uint64 casterGUID)

Private Attributes

DiminishingGroup m_AuraDRGroup: 8

Friends

AuraAura::Create (SpellInfo const *spellproto, uint32 effMask, WorldObject *owner, Unit *caster, int32 *baseAmount, Item *castItem, uint64 casterGUID)

Additional Inherited Members

Public Types inherited from Aura
typedef std::map< uint64, AuraApplication * > ApplicationMap
Static Public Member Functions inherited from Aura
static uint32 BuildEffectMaskForOwner (SpellInfo const *spellProto, uint32 avalibleEffectMask, WorldObject *owner)
static AuraCreate (SpellInfo const *spellproto, uint32 effMask, WorldObject *owner, Unit *caster, int32 *baseAmount, Item *castItem, uint64 casterGUID)
static AuraTryCreate (SpellInfo const *spellproto, uint32 effMask, WorldObject *owner, Unit *caster, int32 *baseAmount=NULL, Item *castItem=NULL, uint64 casterGUID=0)
static AuraTryRefreshStackOrCreate (SpellInfo const *spellproto, uint32 tryEffMask, WorldObject *owner, Unit *caster, int32 *baseAmount=NULL, Item *castItem=NULL, uint64 casterGUID=0, bool *refresh=NULL)
Public Attributes inherited from Aura
std::list< AuraScript * > m_loadedScripts
Protected Attributes inherited from Aura
ApplicationMap m_applications
time_t const m_applyTime
uint64 const m_casterGuid
uint8 const m_casterLevel
uint64 const m_castItemGuid
int32 m_duration
AuraEffectm_effects [MAX_SPELL_EFFECTS]
bool m_isRemoved: 1
bool m_isSingleTarget: 1
bool m_isUsingCharges: 1
int32 m_maxDuration
WorldObject *const m_owner
uint8 m_procCharges
SpellInfo const *const m_spellInfo
uint8 m_stackAmount
int32 m_updateTargetMapInterval

Detailed Description

Definition at line 257 of file SpellAuras.h.

Constructor & Destructor Documentation

◆ UnitAura()

UnitAura::UnitAura ( SpellInfo const * spellproto,
uint32 effMask,
WorldObject * owner,
Unit * caster,
int32 * baseAmount,
Item * castItem,
uint64 casterGUID )
explicitprotected

Member Function Documentation

◆ _ApplyForTarget()

void UnitAura::_ApplyForTarget ( Unit * target,
Unit * caster,
AuraApplication * aurApp )
virtual

Reimplemented from Aura.

Definition at line 219 of file SpellAuras.cpp.

References Aura::_ApplyForTarget(), Unit::ApplyDiminishingAura(), DIMINISHING_NONE, and GetDiminishGroup().

◆ _UnapplyForTarget()

void UnitAura::_UnapplyForTarget ( Unit * target,
Unit * caster,
AuraApplication * aurApp )
virtual

Reimplemented from Aura.

Definition at line 229 of file SpellAuras.cpp.

References Aura::_UnapplyForTarget(), Unit::ApplyDiminishingAura(), DIMINISHING_NONE, and GetDiminishGroup().

◆ FillTargetMap()

◆ GetDiminishGroup()

DiminishingGroup UnitAura::GetDiminishGroup ( ) const
inline

Definition at line 272 of file SpellAuras.h.

References m_AuraDRGroup.

Referenced by _ApplyForTarget(), and _UnapplyForTarget().

◆ Remove()

void UnitAura::Remove ( AuraRemoveMode removeMode = AURA_REMOVE_BY_DEFAULT)
virtual

Implements Aura.

Definition at line 239 of file SpellAuras.cpp.

References Aura::GetUnitOwner(), Aura::IsRemoved(), and Unit::RemoveOwnedAura().

◆ SetDiminishGroup()

void UnitAura::SetDiminishGroup ( DiminishingGroup group)
inline

Definition at line 271 of file SpellAuras.h.

References m_AuraDRGroup.

◆ Aura::Create

Aura * Aura::Create ( SpellInfo const * spellproto,
uint32 effMask,
WorldObject * owner,
Unit * caster,
int32 * baseAmount,
Item * castItem,
uint64 casterGUID )
friend

Member Data Documentation

◆ m_AuraDRGroup

DiminishingGroup UnitAura::m_AuraDRGroup
private

Definition at line 275 of file SpellAuras.h.

Referenced by GetDiminishGroup(), SetDiminishGroup(), and UnitAura().


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