Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Loading...
Searching...
No Matches
Aura Class Referenceabstract

#include <SpellAuras.h>

Inheritance diagram for Aura:
Collaboration diagram for Aura:

Public Types

typedef std::map< uint64, AuraApplication * > ApplicationMap

Public Member Functions

void _ApplyEffectForTargets (uint8 effIndex)
virtual void _ApplyForTarget (Unit *target, Unit *caster, AuraApplication *auraApp)
void _InitEffects (uint32 effMask, Unit *caster, int32 *baseAmount)
void _RegisterForTargets ()
void _Remove (AuraRemoveMode removeMode)
virtual void _UnapplyForTarget (Unit *target, Unit *caster, AuraApplication *auraApp)
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)
virtual void FillTargetMap (std::map< Unit *, uint32 > &targets, Unit *caster)=0
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 ()
virtual void Remove (AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)=0
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 ()

Static Public Member Functions

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

std::list< AuraScript * > m_loadedScripts

Protected Attributes

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

Private Member Functions

void _DeleteRemovedApplications ()

Private Attributes

Unit::AuraApplicationList m_removedApplications

Friends

AuraUnit::_TryStackingOrRefreshingExistingAura (SpellInfo const *newAura, uint32 effMask, Unit *caster, int32 *baseAmount, Item *castItem, uint64 casterGUID)

Detailed Description

Definition at line 73 of file SpellAuras.h.

Member Typedef Documentation

◆ ApplicationMap

Definition at line 77 of file SpellAuras.h.

Constructor & Destructor Documentation

◆ Aura()

◆ ~Aura()

Aura::~Aura ( )
virtual

Member Function Documentation

◆ _ApplyEffectForTargets()

void Aura::_ApplyEffectForTargets ( uint8 effIndex)

Definition at line 273 of file SpellAuraLifecycle.cpp.

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

◆ _ApplyForTarget()

◆ _DeleteRemovedApplications()

void Aura::_DeleteRemovedApplications ( )
private

Definition at line 1284 of file SpellAuraLifecycle.cpp.

References m_removedApplications.

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

◆ _InitEffects()

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

Definition at line 55 of file SpellAuraLifecycle.cpp.

References m_effects, and MAX_SPELL_EFFECTS.

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

◆ _RegisterForTargets()

void Aura::_RegisterForTargets ( )
inline

Definition at line 107 of file SpellAuras.h.

References GetCaster(), and UpdateTargetMap().

◆ _Remove()

void Aura::_Remove ( AuraRemoveMode removeMode)

◆ _UnapplyForTarget()

◆ AddProcCooldown()

void Aura::AddProcCooldown ( uint32 msec)

Definition at line 36 of file SpellAuraProcRuntime.cpp.

Referenced by PrepareProcToTrigger().

◆ ApplyForTargets()

void Aura::ApplyForTargets ( )
inline

Definition at line 108 of file SpellAuras.h.

References GetCaster(), and UpdateTargetMap().

◆ BuildEffectMaskForOwner()

◆ CalcDispelChance()

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

◆ CalcMaxCharges() [1/2]

uint8 Aura::CalcMaxCharges ( ) const
inline

Definition at line 129 of file SpellAuras.h.

References CalcMaxCharges(), and GetCaster().

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

◆ CalcMaxCharges() [2/2]

uint8 Aura::CalcMaxCharges ( Unit * caster) const

◆ CalcMaxDuration() [1/2]

int32 Aura::CalcMaxDuration ( ) const
inline

Definition at line 117 of file SpellAuras.h.

References CalcMaxDuration(), and GetCaster().

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

◆ CalcMaxDuration() [2/2]

int32 Aura::CalcMaxDuration ( Unit * caster) const

◆ CalcProcChance()

◆ CallScriptAfterDispel()

void Aura::CallScriptAfterDispel ( DispelInfo * dispelInfo)

◆ CallScriptAfterEffectApplyHandlers()

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

◆ CallScriptAfterEffectProcHandlers()

void Aura::CallScriptAfterEffectProcHandlers ( AuraEffect const * 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 355 of file SpellAuraScriptHooks.cpp.

References AURA_SCRIPT_HOOK_AFTER_PROC, and m_loadedScripts.

Referenced by TriggerProcOnEvent().

◆ CallScriptCheckAreaTargetHandlers()

bool Aura::CallScriptCheckAreaTargetHandlers ( Unit * target)

Definition at line 45 of file SpellAuraScriptHooks.cpp.

References AURA_SCRIPT_HOOK_CHECK_AREA_TARGET, and m_loadedScripts.

Referenced by CheckAreaTarget().

◆ CallScriptCheckProcHandlers()

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

◆ CallScriptDispel()

void Aura::CallScriptDispel ( DispelInfo * dispelInfo)

◆ CallScriptEffectAbsorbHandlers()

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

◆ CallScriptEffectAfterAbsorbHandlers()

void Aura::CallScriptEffectAfterAbsorbHandlers ( AuraEffect * aurEff,
AuraApplication const * aurApp,
DamageInfo & dmgInfo,
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,
int32 & amount,
bool & canBeRecalculated )

◆ 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 const * 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)

◆ CallScriptPrepareProcHandlers()

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

Definition at line 319 of file SpellAuraScriptHooks.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 338 of file SpellAuraScriptHooks.cpp.

References AURA_SCRIPT_HOOK_PROC, and m_loadedScripts.

Referenced by TriggerProcOnEvent().

◆ CanBeAppliedOn()

bool Aura::CanBeAppliedOn ( Unit * target)

◆ CanBeSaved()

◆ CanBeSentToClient()

◆ CanStackWith()

◆ CheckAreaTarget()

bool Aura::CheckAreaTarget ( Unit * target)

Definition at line 1168 of file SpellAuraLifecycle.cpp.

References CallScriptCheckAreaTargetHandlers().

Referenced by CanBeAppliedOn().

◆ Create()

◆ DropCharge()

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

◆ FillTargetMap()

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

Implemented in DynObjAura, and UnitAura.

Referenced by UpdateTargetMap().

◆ GetApplicationList()

void Aura::GetApplicationList ( Unit::AuraApplicationList & applicationList) const

Definition at line 691 of file SpellAuraLifecycle.cpp.

References m_applications.

Referenced by SetStackAmount().

◆ GetApplicationMap()

ApplicationMap const & Aura::GetApplicationMap ( )
inline

◆ GetApplicationOfTarget() [1/2]

AuraApplication * Aura::GetApplicationOfTarget ( uint64 guid)
inline

Definition at line 177 of file SpellAuras.h.

References m_applications.

◆ GetApplicationOfTarget() [2/2]

◆ GetApplyTime()

time_t Aura::GetApplyTime ( ) const
inline

Definition at line 114 of file SpellAuras.h.

References m_applyTime.

Referenced by Player::DuelComplete().

◆ GetCaster()

◆ GetCasterGUID()

◆ GetCasterLevel()

uint8 Aura::GetCasterLevel ( ) const
inline

Definition at line 139 of file SpellAuras.h.

References m_casterLevel.

Referenced by AuraApplication::ClientUpdate(), and Player::SendAurasForTarget().

◆ GetCastItemGUID()

◆ GetCharges()

◆ GetDuration()

◆ GetDynobjOwner()

DynamicObject * Aura::GetDynobjOwner ( ) const
inline

Definition at line 95 of file SpellAuras.h.

References ASSERT, DYNOBJ_AURA_TYPE, GetType(), and m_owner.

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

◆ GetEffect()

◆ GetEffectMask()

uint32 Aura::GetEffectMask ( ) const
inline

◆ GetId()

◆ GetMaxDuration()

◆ GetOwner()

◆ GetScriptByName()

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

Definition at line 169 of file SpellAuras.cpp.

References m_loadedScripts.

◆ GetSpellInfo()

SpellInfo const * Aura::GetSpellInfo ( ) const
inline

Definition at line 87 of file SpellAuras.h.

References m_spellInfo.

Referenced by Unit::_AddAura(), Unit::_ApplyAura(), Unit::_CreateAuraApplication(), Battleground::_ProcessJoin(), Unit::_RemoveNoStackAurasDueToAura(), Unit::_UnapplyAura(), _UnapplyForTarget(), AuraEffect::ApplySpellMod(), CalcProcChance(), CanBeAppliedOn(), CanBeSaved(), CanBeSentToClient(), CanStackWith(), Spell::CheckCasterAuras(), AuraApplication::ClientUpdate(), Spell::EffectDispelMechanic(), Spell::EffectScriptEffect(), Spell::EffectStealBeneficialBuff(), DynObjAura::FillTargetMap(), UnitAura::FillTargetMap(), Unit::GetDispellableAuraList(), GetId(), AuraEffect::HandleAuraDummy(), Unit::HandleAuraProc(), HandleAuraSpecificMods(), list_commandscript::HandleListAurasCommand(), spell_monk_diffuse_magic::spell_monk_diffuse_magic_SpellScript::HandleOnHit(), spell_dru_glyph_of_starfire::spell_dru_glyph_of_starfire_SpellScript::HandleScriptEffect(), Unit::HasNegativeAuraWithAttribute(), IsArea(), IsDeathPersistent(), IsPassive(), IsProcTriggeredOnEvent(), IsSingleTargetWith(), Unit::IsTriggeredAtSpellProcEvent(), Unit::RemoveAllAurasExceptType(), Unit::RemoveAllAurasExceptType(), Unit::RemoveAllAurasRequiringDeadTarget(), Unit::RemoveArenaAuras(), Unit::RemoveAurasDueToSpellByDispel(), Unit::RemoveAurasDueToSpellBySteal(), Unit::RemoveAurasWithFamily(), Unit::RemoveAurasWithInterruptFlags(), Unit::RemoveAurasWithMechanic(), Player::RemoveItemDependentAurasAndCasts(), Unit::RemoveNotOwnSingleTargetAuras(), Player::RestoreSpellMods(), Player::SendAurasForTarget(), Unit::SpellHealingBonusDone(), and UpdateTargetMap().

◆ GetStackAmount()

◆ GetType()

◆ GetUnitOwner()

◆ HandleAllEffects()

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

Definition at line 683 of file SpellAuraLifecycle.cpp.

References ASSERT, IsRemoved(), m_effects, and MAX_SPELL_EFFECTS.

◆ 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 708 of file SpellAuraLifecycle.cpp.

References Player::ActivateTaxiPathTo(), Unit::AddAura(), Player::AddSpellCooldown(), Unit::ApplySpellImmune(), Aura(), AURA_REMOVE_BY_DEATH, AURA_REMOVE_BY_ENEMY_SPELL, AURA_REMOVE_BY_EXPIRE, CalculatePct(), Unit::CastCustomSpell(), Unit::CastSpell(), CLASS_DEATH_KNIGHT, Unit::CombatStop(), DOT, EFFECT_0, FORM_BEAR, FORM_CAT, AuraEffect::GetAmount(), Skyfire::Spells::GetArcanePotencyTriggerSpellId(), Unit::GetAura(), Unit::GetAuraEffect(), Unit::GetAuraOfRankedSpell(), Skyfire::Spells::GetAvengingWrathAuraSpellId(), Skyfire::Spells::GetAvengingWrathMarkerAuraSpellId(), GetCasterGUID(), Unit::getClass(), Skyfire::Spells::GetDrainSoulExecuteAuraSpellId(), Skyfire::Spells::GetDruidBearFormSpellId(), Skyfire::Spells::GetDruidCatFormSpellId(), Skyfire::Spells::GetDruidFeralTier10BonusAuraSpellId(), Skyfire::Spells::GetDruidFeralTier10BonusTriggerSpellId(), Skyfire::Spells::GetDruidTier8RestorationAuraSpellId(), Skyfire::Spells::GetDruidTier8RestorationTriggerSpellId(), Unit::GetDummyAuraEffect(), GetEffect(), Skyfire::Spells::GetForbearanceAuraSpellId(), Skyfire::Spells::GetGlyphOfBlurredSpeedAuraSpellId(), Skyfire::Spells::GetGlyphOfBlurredSpeedSprintSpellId(), Skyfire::Spells::GetGlyphOfFreezingTrapAuraSpellId(), Skyfire::Spells::GetGlyphOfFreezingTrapTriggerSpellId(), Skyfire::Spells::GetGlyphOfPenguinAuraSpellId(), Skyfire::Spells::GetGlyphOfPowerWordShieldAuraSpellId(), Skyfire::Spells::GetGlyphOfPowerWordShieldHealSpellId(), Object::GetGUID(), Skyfire::Spells::GetHeroicFuryCooldownSpellId(), GetId(), Skyfire::Spells::GetImprovedDevouringPlagueDamageSpellId(), Skyfire::Spells::GetImprovedDevouringPlagueHealSpellId(), Skyfire::Spells::GetImprovedFearTriggerSpellId(), Skyfire::Spells::GetInvisibilityFadeSpellId(), Unit::GetMaxPower(), Unit::GetOwner(), Skyfire::Spells::GetPaladinTier10HolyBonusAuraSpellId(), Skyfire::Spells::GetPaladinTier10HolyBonusTriggerSpellId(), Skyfire::Spells::GetPolymorphPenguinSpellId(), Skyfire::Spells::GetPolymorphSheepSpellId(), Skyfire::Spells::GetProwlAuraSpellId(), Skyfire::Spells::GetRaptureEnergizeSpellId(), Skyfire::Spells::GetRaptureRankedSpellId(), AuraApplication::GetRemoveMode(), Unit::GetShapeshiftForm(), Skyfire::Spells::GetSharedSufferingTriggerSpellId(), Player::GetSpellCooldownDelay(), GetSpellInfo(), GetStackAmount(), Skyfire::Spells::GetStealthAuraSpellId(), Skyfire::Spells::GetStonedAuraTriggerSpellId(), AuraApplication::GetTarget(), Skyfire::Spells::GetTheBeastWithinTalentSpellId(), Skyfire::Spells::GetTheBeastWithinTriggerSpellId(), AuraEffect::GetTotalTicks(), Object::GetTypeId(), GetUnitOwner(), WorldObject::GetZoneAndAreaId(), Unit::HasAura(), Player::HasSpellCooldown(), Unit::HealthAbovePct(), IMMUNITY_ID, m_spellInfo, POWER_MANA, Unit::RemoveAura(), Unit::RemoveAurasDueToSpell(), Unit::RemoveAurasWithFamily(), Unit::RemoveMovementImpairingAuras(), Unit::RemoveOwnedAura(), Player::RemoveRunesByAuraEffect(), Player::RemoveSpellCooldown(), SF_LOG_ERROR, SPELL_AURA_DUMMY, SPELL_AURA_PERIODIC_DUMMY, SPELL_LINK_AURA, Unit::SpellDamageBonusDone(), Unit::SpellDamageBonusTaken(), SPELLFAMILY_DEATHKNIGHT, SPELLFAMILY_DRUID, SPELLFAMILY_GENERIC, SPELLFAMILY_HUNTER, SPELLFAMILY_MAGE, SPELLFAMILY_PALADIN, SPELLFAMILY_PRIEST, SPELLFAMILY_ROGUE, SPELLFAMILY_WARLOCK, sSpellMgr, Object::ToPlayer(), and TYPEID_PLAYER.

Referenced by Unit::_ApplyAura(), Unit::_UnapplyAura(), and SetStackAmount().

◆ HasEffect()

◆ HasEffectType()

◆ IsAppliedOnTarget()

bool Aura::IsAppliedOnTarget ( uint64 guid) const
inline

Definition at line 178 of file SpellAuras.h.

References m_applications.

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

◆ IsArea()

bool Aura::IsArea ( ) const

Definition at line 526 of file SpellAuraLifecycle.cpp.

References GetSpellInfo(), HasEffect(), and MAX_SPELL_EFFECTS.

Referenced by CanStackWith().

◆ IsDeathPersistent()

bool Aura::IsDeathPersistent ( ) const

Definition at line 541 of file SpellAuraLifecycle.cpp.

References GetSpellInfo(), and SpellInfo::IsDeathPersistent().

Referenced by Unit::RemoveAllAurasOnDeath().

◆ IsExpired()

bool Aura::IsExpired ( ) const
inline

Definition at line 123 of file SpellAuras.h.

References GetDuration().

◆ IsPassive()

◆ IsPermanent()

bool Aura::IsPermanent ( ) const
inline

Definition at line 124 of file SpellAuras.h.

References GetMaxDuration().

Referenced by Battleground::_ProcessJoin(), and AuraEffect::ApplySpellMod().

◆ IsProcOnCooldown()

bool Aura::IsProcOnCooldown ( ) const

Definition at line 26 of file SpellAuraProcRuntime.cpp.

Referenced by IsProcTriggeredOnEvent().

◆ IsProcTriggeredOnEvent()

◆ IsRemoved()

◆ IsRemovedOnShapeLost()

bool Aura::IsRemovedOnShapeLost ( Unit * target) const
inline

◆ IsSingleTarget()

bool Aura::IsSingleTarget ( ) const
inline

◆ IsSingleTargetWith()

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

◆ IsUsingCharges()

bool Aura::IsUsingCharges ( ) const
inline

◆ LoadScripts()

void Aura::LoadScripts ( )

◆ ModCharges()

◆ ModStackAmount()

◆ PrepareProcToTrigger()

◆ RecalculateAmountOfEffects()

void Aura::RecalculateAmountOfEffects ( )

◆ RefreshDuration()

◆ RefreshSpellMods()

void Aura::RefreshSpellMods ( )

Definition at line 519 of file SpellAuraLifecycle.cpp.

References Unit::GetTarget(), and m_applications.

Referenced by ModStackAmount().

◆ RefreshTimers()

◆ Remove()

◆ SetCharges()

◆ SetDuration()

◆ SetIsSingleTarget()

void Aura::SetIsSingleTarget ( bool val)
inline

◆ SetLoadedState()

void Aura::SetLoadedState ( int32 maxduration,
int32 duration,
int32 charges,
uint8 stackamount,
uint32 recalculateMask,
int32 * amount )

◆ SetMaxDuration()

◆ SetNeedClientUpdateForTargets()

void Aura::SetNeedClientUpdateForTargets ( ) const

◆ SetStackAmount()

◆ SetUsingCharges()

void Aura::SetUsingCharges ( bool val)
inline

◆ TriggerProcOnEvent()

◆ TryCreate()

Aura * Aura::TryCreate ( SpellInfo const * spellproto,
uint32 effMask,
WorldObject * owner,
Unit * caster,
int32 * baseAmount = NULL,
Item * castItem = NULL,
uint64 casterGUID = 0 )
static

◆ TryRefreshStackOrCreate()

◆ UnregisterSingleTarget()

void Aura::UnregisterSingleTarget ( )

◆ Update()

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

Definition at line 334 of file SpellAuraLifecycle.cpp.

References m_duration.

Referenced by UpdateOwner().

◆ UpdateOwner()

◆ UpdateTargetMap()

◆ Unit::_TryStackingOrRefreshingExistingAura

Aura * Unit::_TryStackingOrRefreshingExistingAura ( SpellInfo const * newAura,
uint32 effMask,
Unit * caster,
int32 * baseAmount,
Item * castItem,
uint64 casterGUID )
friend

References Aura().

Member Data Documentation

◆ m_applications

◆ m_applyTime

time_t const Aura::m_applyTime
protected

Definition at line 235 of file SpellAuras.h.

Referenced by Aura(), and GetApplyTime().

◆ m_casterGuid

uint64 const Aura::m_casterGuid
protected

Definition at line 233 of file SpellAuras.h.

Referenced by Aura(), and GetCasterGUID().

◆ m_casterLevel

uint8 const Aura::m_casterLevel
protected

Definition at line 242 of file SpellAuras.h.

Referenced by Aura(), and GetCasterLevel().

◆ m_castItemGuid

uint64 const Aura::m_castItemGuid
protected

Definition at line 234 of file SpellAuras.h.

Referenced by _ApplyForTarget(), Aura(), and GetCastItemGUID().

◆ m_duration

int32 Aura::m_duration
protected

Definition at line 239 of file SpellAuras.h.

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

◆ m_effects

◆ m_isRemoved

bool Aura::m_isRemoved
protected

Definition at line 249 of file SpellAuras.h.

Referenced by _Remove(), Aura(), and IsRemoved().

◆ m_isSingleTarget

bool Aura::m_isSingleTarget
protected

Definition at line 250 of file SpellAuras.h.

Referenced by Aura(), IsSingleTarget(), SetIsSingleTarget(), and UnregisterSingleTarget().

◆ m_isUsingCharges

bool Aura::m_isUsingCharges
protected

Definition at line 251 of file SpellAuras.h.

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

◆ m_loadedScripts

◆ m_maxDuration

int32 Aura::m_maxDuration
protected

Definition at line 238 of file SpellAuras.h.

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

◆ m_owner

WorldObject* const Aura::m_owner
protected

Definition at line 236 of file SpellAuras.h.

Referenced by Aura(), GetDynobjOwner(), GetOwner(), GetType(), GetUnitOwner(), and UpdateOwner().

◆ m_procCharges

uint8 Aura::m_procCharges
protected

◆ m_removedApplications

Unit::AuraApplicationList Aura::m_removedApplications
private

Definition at line 254 of file SpellAuras.h.

Referenced by _DeleteRemovedApplications(), and _UnapplyForTarget().

◆ m_spellInfo

◆ m_stackAmount

uint8 Aura::m_stackAmount
protected

Definition at line 244 of file SpellAuras.h.

Referenced by Aura(), GetStackAmount(), ModStackAmount(), SetLoadedState(), and SetStackAmount().

◆ m_updateTargetMapInterval

int32 Aura::m_updateTargetMapInterval
protected

Definition at line 240 of file SpellAuras.h.

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


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