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

#include <SpellAuraEffects.h>

Collaboration diagram for AuraEffect:

Public Member Functions

void ApplySpellMod (Unit *target, bool apply)
int32 CalculateAmount (Unit *caster)
void CalculatePeriodic (Unit *caster, bool resetPeriodicTimer=true, bool load=false)
void CalculateSpellMod ()
bool CanBeRecalculated () const
void ChangeAmount (int32 newAmount, bool mark=true, bool onStackOrReapply=false)
void CleanupTriggeredSpells (Unit *target)
int32 GetAmount () const
int32 GetAmplitude () const
void GetApplicationList (std::list< AuraApplication * > &applicationList) const
AuraType GetAuraType () const
AuraGetBase () const
int32 GetBaseAmount () const
UnitGetCaster () const
uint64 GetCasterGUID () const
uint32 GetEffIndex () const
uint32 GetId () const
int32 GetMiscValue () const
int32 GetMiscValueB () const
int32 GetPeriodicTimer () const
SpellInfo const * GetSpellInfo () const
SpellModifierGetSpellModifier () const
void GetTargetList (std::list< Unit * > &targetList) const
uint32 GetTickNumber () const
int32 GetTotalTicks () const
void HandleArenaPreparation (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleAuraAllowFlight (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleAuraAllowOnlyAbility (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleAuraCloneCaster (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleAuraControlVehicle (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleAuraConvertRune (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleAuraDummy (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleAuraEmpathy (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleAuraFeatherFall (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleAuraForceWeather (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleAuraGhost (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleAuraHover (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleAuraIncreaseBaseHealthPercent (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleAuraLinked (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleAuraMastery (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleAuraModAttackPower (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleAuraModAttackPowerPercent (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleAuraModBaseResistancePCT (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleAuraModBlockPercent (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleAuraModCritPct (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleAuraModDecreaseSpeed (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleAuraModDisarm (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleAuraModDispelImmunity (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleAuraModDmgImmunity (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleAuraModDodgePercent (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleAuraModEffectImmunity (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleAuraModExpertise (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleAuraModFaction (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleAuraModFakeInebriation (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleAuraModIncreaseEnergyPercent (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleAuraModIncreaseFlightSpeed (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleAuraModIncreaseHealth (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleAuraModIncreaseHealthPercent (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleAuraModIncreaseMaxHealth (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleAuraModIncreaseMaxPowerFlat (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleAuraModIncreaseMountedSpeed (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleAuraModIncreaseSpeed (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleAuraModIncreaseSwimSpeed (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleAuraModPacify (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleAuraModPacifyAndSilence (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleAuraModParryPercent (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleAuraModPetTalentsPoints (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleAuraModRangedAttackPower (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleAuraModRangedAttackPowerPercent (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleAuraModRangedHaste (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleAuraModRegenInterrupt (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleAuraModResistance (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleAuraModResistanceExclusive (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleAuraModRoot (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleAuraModScale (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleAuraModSchoolImmunity (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleAuraModShapeshift (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleAuraModSilence (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleAuraModSkill (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleAuraModStalked (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleAuraModStat (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleAuraModStateImmunity (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleAuraModStun (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleAuraModTotalThreat (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleAuraModUseNormalSpeed (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleAuraModWeaponCritPercent (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleAuraMounted (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleAuraOverrideAutoattackWithSpell (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleAuraOverrideSpells (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleAuraRetainComboPoints (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleAuraSetVehicle (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleAuraTrackCreatures (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleAuraTrackResources (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleAuraTrackStealthed (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleAuraTransform (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleAuraUntrackable (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleAuraWaterWalk (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleBindSight (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleChannelDeathItem (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleCharmConvert (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleComprehendLanguage (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleEffect (AuraApplication *aurApp, uint8 mode, bool apply)
void HandleEffect (Unit *target, uint8 mode, bool apply)
void HandleEnableAltPower (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleFeignDeath (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleForceMoveForward (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleForceReaction (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleModAttackSpeed (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleModBaseResistance (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleModCastingSpeed (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleModCharm (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleModCombatSpeedPct (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleModConfuse (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleModDamageDone (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleModDamagePercentDone (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleModFear (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleModHealingDone (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleModHitChance (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleModInvisibility (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleModInvisibilityDetect (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleModMechanicImmunity (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleModMeleeRangedSpeedPct (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleModMeleeSpeedPct (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleModOffhandDamagePercent (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleModPercentStat (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleModPossess (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleModPossessPet (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleModPowerCost (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleModPowerCostPCT (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleModPowerRegen (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleModPowerRegenPCT (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleModRating (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleModRatingFromStat (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleModResistancePercent (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleModSpellCritChance (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleModSpellDamagePercentFromStat (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleModSpellHealingPercentFromStat (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleModSpellHitChance (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleModStateImmunityMask (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleModStealth (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleModStealthDetect (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleModStealthLevel (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleModTargetResistance (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleModTaunt (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleModThreat (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleModTotalPercentStat (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleModUnattackable (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleNoImmediateEffect (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleNULL (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleObsModPowerAuraTick (Unit *target, Unit *caster) const
void HandleOverrideAttackPowerBySpellPower (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleOverrideSpellPowerByAttackPower (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandlePeriodicDamageAurasTick (Unit *target, Unit *caster) const
void HandlePeriodicDummyAuraTick (Unit *target, Unit *caster) const
void HandlePeriodicEnergizeAuraTick (Unit *target, Unit *caster) const
void HandlePeriodicHealAurasTick (Unit *target, Unit *caster) const
void HandlePeriodicHealthFunnelAuraTick (Unit *target, Unit *caster) const
void HandlePeriodicHealthLeechAuraTick (Unit *target, Unit *caster) const
void HandlePeriodicManaLeechAuraTick (Unit *target, Unit *caster) const
void HandlePeriodicPowerBurnAuraTick (Unit *target, Unit *caster) const
void HandlePeriodicTriggerSpellAuraTick (Unit *target, Unit *caster) const
void HandlePeriodicTriggerSpellWithValueAuraTick (Unit *target, Unit *caster) const
void HandlePhase (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandlePhaseGroup (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandlePlayScene (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandlePreventFleeing (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandlePreventResurrection (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleProc (AuraApplication *aurApp, ProcEventInfo &eventInfo)
void HandleProcTriggerDamageAuraProc (AuraApplication *aurApp, ProcEventInfo &eventInfo)
void HandleProcTriggerSpellAuraProc (AuraApplication *aurApp, ProcEventInfo &eventInfo)
void HandleProcTriggerSpellWithValueAuraProc (AuraApplication *aurApp, ProcEventInfo &eventInfo)
void HandleRaidProcFromChargeAuraProc (AuraApplication *aurApp, ProcEventInfo &eventInfo)
void HandleRaidProcFromChargeWithValueAuraProc (AuraApplication *aurApp, ProcEventInfo &eventInfo)
void HandleShapeshiftBoosts (Unit *target, bool apply) const
void HandleShieldBlockValue (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleSpiritOfRedemption (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleUnused (AuraApplication const *aurApp, uint8 mode, bool apply) const
void HandleWaterBreathing (AuraApplication const *aurApp, uint8 mode, bool apply) const
bool HasSpellClassMask () const
bool IsAffectingSpell (SpellInfo const *spell) const
bool IsPeriodic () const
void PeriodicTick (AuraApplication *aurApp, Unit *caster) const
void RecalculateAmount ()
void RecalculateAmount (Unit *caster)
void ResetPeriodic (bool resetPeriodicTimer=false)
void SendTickImmune (Unit *target, Unit *caster) const
void SetAmount (int32 amount)
void SetCanBeRecalculated (bool val)
void SetPeriodic (bool isPeriodic)
void SetPeriodicTimer (int32 periodicTimer)
void Update (uint32 diff, Unit *caster)
void UpdatePeriodic (Unit *caster)

Private Member Functions

 AuraEffect (Aura *base, uint8 effIndex, int32 *baseAmount, Unit *caster)
bool IsPeriodicTickCrit (Unit *target, Unit const *caster) const
 ~AuraEffect ()

Private Attributes

int32 m_amount
int32 m_amplitude
Aura *const m_base
int32 const m_baseAmount
bool m_canBeRecalculated
uint8 const m_effIndex
bool m_isPeriodic
int32 m_periodicTimer
SpellInfo const *const m_spellInfo
SpellModifierm_spellmod
uint32 m_tickNumber

Friends

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

Detailed Description

Definition at line 17 of file SpellAuraEffects.h.

Constructor & Destructor Documentation

◆ ~AuraEffect()

AuraEffect::~AuraEffect ( )
private

Definition at line 531 of file SpellAuraEffects.cpp.

References m_spellmod.

◆ AuraEffect()

Member Function Documentation

◆ ApplySpellMod()

◆ CalculateAmount()

◆ CalculatePeriodic()

◆ CalculateSpellMod()

◆ CanBeRecalculated()

bool AuraEffect::CanBeRecalculated ( ) const
inline

◆ ChangeAmount()

◆ CleanupTriggeredSpells()

void AuraEffect::CleanupTriggeredSpells ( Unit * target)
Todo
is there a spell flag, which can solve this in a more sophisticated way?

Definition at line 1174 of file SpellAuraEffects.cpp.

References GetCasterGUID(), SpellInfo::GetDuration(), GetEffIndex(), m_spellInfo, Unit::RemoveAurasDueToSpell(), SPELL_AURA_PERIODIC_TRIGGER_SPELL, and sSpellMgr.

Referenced by AuraApplication::_HandleEffect().

◆ GetAmount()

int32 AuraEffect::GetAmount ( ) const
inline

Definition at line 42 of file SpellAuraEffects.h.

References m_amount.

Referenced by Player::_ApplyWeaponDependentAuraCritMod(), Player::_ApplyWeaponDependentAuraDamageMod(), AuraApplication::_HandleEffect(), Pet::_SaveAuras(), spell_dru_survival_instincts::spell_dru_survival_instincts_AuraScript::AfterApply(), spell_the_lich_king_necrotic_plague_jump::spell_the_lich_king_necrotic_plague_AuraScript::AfterDispel(), spell_dru_lifebloom::spell_dru_lifebloom_AuraScript::AfterRemove(), spell_mage_living_bomb::spell_mage_living_bomb_AuraScript::AfterRemove(), Unit::CalcAbsorbResist(), Unit::CalcHealAbsorb(), spell_sha_mana_tide_totem::spell_sha_mana_tide_totem_AuraScript::CalculateAmount(), CalculateSpellMod(), ChangeAmount(), spell_yogg_saron_brain_link::spell_yogg_saron_brain_link_AuraScript::DummyTick(), Spell::EffectHeal(), spell_pri_renew::spell_pri_renew_AuraScript::HandleApplyEffect(), HandleAuraDummy(), HandleAuraIncreaseBaseHealthPercent(), HandleAuraLinked(), HandleAuraModAttackPower(), HandleAuraModAttackPowerPercent(), HandleAuraModBaseResistancePCT(), HandleAuraModCritPct(), HandleAuraModFakeInebriation(), HandleAuraModIncreaseEnergyPercent(), HandleAuraModIncreaseHealth(), HandleAuraModIncreaseHealthPercent(), HandleAuraModIncreaseMaxHealth(), HandleAuraModIncreaseMaxPowerFlat(), HandleAuraModRangedAttackPower(), HandleAuraModRangedAttackPowerPercent(), HandleAuraModRangedHaste(), HandleAuraModResistance(), HandleAuraModResistanceExclusive(), HandleAuraModScale(), HandleAuraModSkill(), HandleAuraModStat(), HandleAuraModTotalThreat(), HandleAuraModWeaponCritPercent(), HandleAuraMounted(), Unit::HandleAuraProcOnPowerAmount(), Unit::HandleAuraRaidProcFromChargeWithValue(), HandleAuraRetainComboPoints(), Aura::HandleAuraSpecificMods(), HandleChannelDeathItem(), Unit::HandleDummyAuraProc(), spell_shadowfang_keep_haunting_spirits::spell_shadowfang_keep_haunting_spirits_AuraScript::HandleDummyTick(), spell_general_vezax_saronite_vapors::spell_general_vezax_saronite_vapors_AuraScript::HandleEffectApply(), spell_hun_fire::spell_hun_fire_AuraScript::HandleEffectCalcSpellMod(), spell_hun_improved_serpent_sting::spell_hun_improved_serpent_sting_AuraScript::HandleEffectCalcSpellMod(), spell_warl_chaotic_energy::spell_warl_chaotic_energy_AuraScript::HandleEffectCalcSpellMod(), spell_anubarak_leeching_swarm::spell_anubarak_leeching_swarm_AuraScript::HandleEffectPeriodic(), spell_general_vezax_mark_of_the_faceless::spell_general_vezax_mark_of_the_faceless_AuraScript::HandleEffectPeriodic(), spell_ex_66244::spell_ex_66244AuraScript::HandleEffectPeriodicUpdate(), spell_gen_burn_brutallus::spell_gen_burn_brutallus_AuraScript::HandleEffectPeriodicUpdate(), spell_pal_eye_for_an_eye::spell_pal_eye_for_an_eye_AuraScript::HandleEffectProc(), spell_pri_vampiric_embrace::spell_pri_vampiric_embrace_AuraScript::HandleEffectProc(), spell_sha_ancestral_awakening::spell_sha_ancestral_awakening_AuraScript::HandleEffectProc(), spell_sha_glyph_of_healing_wave::spell_sha_glyph_of_healing_wave_AuraScript::HandleEffectProc(), spell_sha_rolling_thunder::spell_sha_rolling_thunder_AuraScript::HandleEffectProc(), spell_sha_telluric_currents::spell_sha_telluric_currents_AuraScript::HandleEffectProc(), spell_sha_tidal_waves::spell_sha_tidal_waves_AuraScript::HandleEffectProc(), spell_pri_evangelism::spell_pri_evangelism_AuraScript::HandleEffectStackProc(), HandleModAttackSpeed(), HandleModBaseResistance(), HandleModCastingSpeed(), HandleModCombatSpeedPct(), HandleModDamageDone(), HandleModDamagePercentDone(), HandleModHitChance(), HandleModInvisibility(), HandleModInvisibilityDetect(), HandleModMeleeRangedSpeedPct(), HandleModMeleeSpeedPct(), HandleModOffhandDamagePercent(), HandleModPowerCost(), HandleModPowerCostPCT(), HandleModRating(), HandleModResistancePercent(), HandleModSpellCritChance(), HandleModSpellHitChance(), HandleModStateImmunityMask(), HandleModStealth(), HandleModStealthDetect(), HandleModStealthLevel(), HandleModTargetResistance(), HandleModThreat(), HandleModTotalPercentStat(), spell_gen_running_wild::spell_gen_running_wild_AuraScript::HandleMount(), spell_monk_diffuse_magic::spell_monk_diffuse_magic_SpellScript::HandleOnHit(), HandlePeriodicDamageAurasTick(), HandlePeriodicHealthFunnelAuraTick(), HandlePeriodicHealthLeechAuraTick(), HandlePeriodicTriggerSpellWithValueAuraTick(), spell_dru_living_seed::spell_dru_living_seed_AuraScript::HandleProc(), spell_dru_living_seed_proc::spell_dru_living_seed_proc_AuraScript::HandleProc(), spell_item_necrotic_touch::spell_item_necrotic_touch_AuraScript::HandleProc(), spell_pal_beacon_of_light::spell_pal_beacon_of_light_AuraScript::HandleProc(), spell_pri_divine_aegis::spell_pri_divine_aegis_AuraScript::HandleProc(), spell_sha_earth_shield::spell_sha_earth_shield_AuraScript::HandleProc(), HandleProcTriggerDamageAuraProc(), Unit::HandleProcTriggerSpell(), HandleProcTriggerSpellWithValueAuraProc(), HandleRaidProcFromChargeWithValueAuraProc(), HandleShieldBlockValue(), spell_valanar_kinetic_bomb_absorb::spell_valanar_kinetic_bomb_absorb_AuraScript::OnAbsorb(), spell_the_lich_king_necrotic_plague_jump::spell_the_lich_king_necrotic_plague_AuraScript::OnDispel(), spell_anhuur_divine_reckoning::spell_anhuur_divine_reckoning_AuraScript::OnPeriodic(), spell_xt002_gravity_bomb_aura::spell_xt002_gravity_bomb_aura_AuraScript::OnPeriodic(), spell_blood_queen_essence_of_the_blood_queen::spell_blood_queen_essence_of_the_blood_queen_AuraScript::OnProc(), spell_sha_nature_guardian::spell_sha_nature_guardian_AuraScript::OnProc(), spell_warl_fel_synergy::spell_warl_fel_synergy_AuraScript::OnProc(), spell_warl_shadow_trance_proc::spell_warl_shadow_trance_proc_AuraScript::OnProc(), spell_sindragosa_instability::spell_sindragosa_instability_AuraScript::OnRemove(), spell_the_lich_king_necrotic_plague_jump::spell_the_lich_king_necrotic_plague_AuraScript::OnRemove(), spell_xt002_gravity_bomb_aura::spell_xt002_gravity_bomb_aura_AuraScript::OnRemove(), spell_xt002_searing_light_spawn_life_spark::spell_xt002_searing_light_spawn_life_spark_AuraScript::OnRemove(), spell_yogg_saron_nondescript::spell_yogg_saron_nondescript_AuraScript::OnRemove(), spell_ulduar_stone_grip::spell_ulduar_stone_grip_AuraScript::OnRemoveStun(), spell_the_lich_king_infest::spell_the_lich_king_infest_AuraScript::OnUpdate(), Unit::ProcDamageAndSpellFor(), Unit::RemoveAurasDueToSpellBySteal(), and UpdatePeriodic().

◆ GetAmplitude()

int32 AuraEffect::GetAmplitude ( ) const
inline

Definition at line 37 of file SpellAuraEffects.h.

References m_amplitude.

◆ GetApplicationList()

void AuraEffect::GetApplicationList ( std::list< AuraApplication * > & applicationList) const

Definition at line 547 of file SpellAuraEffects.cpp.

References Aura::GetApplicationMap(), GetBase(), and GetEffIndex().

Referenced by ChangeAmount(), and Update().

◆ GetAuraType()

◆ GetBase()

Aura * AuraEffect::GetBase ( ) const
inline

Definition at line 28 of file SpellAuraEffects.h.

References m_base.

Referenced by spell_monk_dampen_harm::spell_monk_dampen_harm_AuraScript::Absorb(), ApplySpellMod(), Unit::CalcAbsorbResist(), Unit::CalcHealAbsorb(), CalculateAmount(), spell_dru_might_of_ursoc::spell_dru_might_of_ursoc_AuraScript::CalculateAmount(), CalculatePeriodic(), CalculateSpellMod(), Spell::EffectHeal(), Spell::EffectScriptEffect(), GetApplicationList(), GetCaster(), GetCasterGUID(), GetTargetList(), GetTotalTicks(), HandleAuraLinked(), HandleAuraModShapeshift(), HandleAuraModStateImmunity(), HandleAuraMounted(), Unit::HandleAuraProcOnPowerAmount(), Unit::HandleAuraRaidProcFromCharge(), Unit::HandleAuraRaidProcFromChargeWithValue(), HandleAuraRetainComboPoints(), Unit::HandleDummyAuraProc(), HandleEffect(), HandleEffect(), spell_gen_aura_of_anger::spell_gen_aura_of_anger_AuraScript::HandleEffectPeriodicUpdate(), HandleObsModPowerAuraTick(), spell_monk_diffuse_magic::spell_monk_diffuse_magic_SpellScript::HandleOnHit(), Unit::HandleOverrideClassScriptAuraProc(), HandlePeriodicDamageAurasTick(), HandlePeriodicDummyAuraTick(), HandlePeriodicEnergizeAuraTick(), HandlePeriodicHealAurasTick(), HandlePeriodicHealthLeechAuraTick(), HandlePeriodicManaLeechAuraTick(), spell_intense_cold::spell_intense_cold_AuraScript::HandlePeriodicTick(), HandleProc(), Unit::HandleProcTriggerSpell(), HandleRaidProcFromChargeAuraProc(), HandleRaidProcFromChargeWithValueAuraProc(), spell_monk_disable::spell_monk_disable_AuraScript::OnPeriodic(), spell_halion_marks::spell_halion_marks_AuraScript::OnRemove(), PeriodicTick(), Spell::prepare(), Unit::ProcDamageAndSpellFor(), Player::RestoreBaseRune(), Update(), and UpdatePeriodic().

◆ GetBaseAmount()

int32 AuraEffect::GetBaseAmount ( ) const
inline

Definition at line 36 of file SpellAuraEffects.h.

References m_baseAmount.

Referenced by Pet::_SaveAuras(), and Unit::RemoveAurasDueToSpellBySteal().

◆ GetCaster()

◆ GetCasterGUID()

◆ GetEffIndex()

uint32 AuraEffect::GetEffIndex ( ) const
inline

Definition at line 35 of file SpellAuraEffects.h.

References m_effIndex.

Referenced by Unit::CalcAbsorbResist(), CalculateAmount(), spell_pri_power_word_shield::spell_pri_power_word_shield_AuraScript::CalculateAmount(), spell_warr_rend::spell_warr_rend_AuraScript::CalculateAmount(), CalculateSpellMod(), Aura::CallScriptAfterEffectApplyHandlers(), Aura::CallScriptAfterEffectProcHandlers(), Aura::CallScriptAfterEffectRemoveHandlers(), Aura::CallScriptEffectAbsorbHandlers(), Aura::CallScriptEffectAfterAbsorbHandlers(), Aura::CallScriptEffectAfterManaShieldHandlers(), Aura::CallScriptEffectApplyHandlers(), Aura::CallScriptEffectCalcAmountHandlers(), Aura::CallScriptEffectCalcPeriodicHandlers(), Aura::CallScriptEffectCalcSpellModHandlers(), Aura::CallScriptEffectManaShieldHandlers(), Aura::CallScriptEffectPeriodicHandlers(), Aura::CallScriptEffectProcHandlers(), Aura::CallScriptEffectRemoveHandlers(), Aura::CallScriptEffectSplitHandlers(), Aura::CallScriptEffectUpdatePeriodicHandlers(), ChangeAmount(), CleanupTriggeredSpells(), GetApplicationList(), GetTargetList(), HandleAuraModStat(), HandleAuraOverrideAutoattackWithSpell(), Unit::HandleAuraProcOnPowerAmount(), Unit::HandleAuraRaidProcFromCharge(), Unit::HandleAuraRaidProcFromChargeWithValue(), Unit::HandleDummyAuraProc(), spell_hun_fire::spell_hun_fire_AuraScript::HandleEffectCalcSpellMod(), spell_hun_improved_serpent_sting::spell_hun_improved_serpent_sting_AuraScript::HandleEffectCalcSpellMod(), spell_warl_chaotic_energy::spell_warl_chaotic_energy_AuraScript::HandleEffectCalcSpellMod(), spell_q12619_emblazon_runeblade::spell_q12619_emblazon_runeblade_AuraScript::HandleEffectPeriodic(), HandlePeriodicDamageAurasTick(), HandlePeriodicHealthFunnelAuraTick(), HandlePeriodicHealthLeechAuraTick(), HandlePeriodicManaLeechAuraTick(), HandlePeriodicPowerBurnAuraTick(), HandlePeriodicTriggerSpellAuraTick(), HandlePeriodicTriggerSpellWithValueAuraTick(), Unit::HandleProcTriggerSpell(), HandleProcTriggerSpellAuraProc(), HandleRaidProcFromChargeAuraProc(), HandleRaidProcFromChargeWithValueAuraProc(), spell_putricide_mutated_plague::spell_putricide_mutated_plague_AuraScript::HandleTriggerSpell(), spell_the_lich_king_vile_spirits::spell_the_lich_king_vile_spirits_AuraScript::OnPeriodic(), and Update().

◆ GetId()

◆ GetMiscValue()

int32 AuraEffect::GetMiscValue ( ) const
inline

Definition at line 40 of file SpellAuraEffects.h.

References m_effIndex, and m_spellInfo.

Referenced by Player::_ApplyWeaponDependentAuraDamageMod(), ApplySpellMod(), Unit::CalcAbsorbResist(), CalculateSpellMod(), Unit::GetMaxPositiveAuraModifierByMiscMask(), HandleAuraConvertRune(), HandleAuraDummy(), HandleAuraForceWeather(), HandleAuraModBaseResistancePCT(), HandleAuraModDispelImmunity(), HandleAuraModDmgImmunity(), HandleAuraModEffectImmunity(), HandleAuraModFaction(), HandleAuraModIncreaseEnergyPercent(), HandleAuraModIncreaseMaxPowerFlat(), HandleAuraModResistance(), HandleAuraModResistanceExclusive(), HandleAuraModSchoolImmunity(), HandleAuraModShapeshift(), HandleAuraModSkill(), HandleAuraModStat(), HandleAuraModStateImmunity(), HandleAuraMounted(), HandleAuraOverrideSpells(), HandleAuraSetVehicle(), HandleAuraTrackCreatures(), HandleAuraTrackResources(), HandleAuraTransform(), spell_hun_improved_serpent_sting::spell_hun_improved_serpent_sting_AuraScript::HandleEffectCalcSpellMod(), HandleEnableAltPower(), HandleForceReaction(), HandleModBaseResistance(), HandleModDamageDone(), HandleModDamagePercentDone(), HandleModInvisibility(), HandleModInvisibilityDetect(), HandleModMechanicImmunity(), HandleModPercentStat(), HandleModPowerCost(), HandleModPowerCostPCT(), HandleModPowerRegen(), HandleModRating(), HandleModRatingFromStat(), HandleModResistancePercent(), HandleModStateImmunityMask(), HandleModStealth(), HandleModStealthDetect(), HandleModStealthLevel(), HandleModTargetResistance(), HandleModThreat(), HandleObsModPowerAuraTick(), Unit::HandleOverrideClassScriptAuraProc(), HandlePeriodicEnergizeAuraTick(), HandlePeriodicManaLeechAuraTick(), HandlePeriodicPowerBurnAuraTick(), HandlePlayScene(), HandleShapeshiftBoosts(), spell_gen_override_display_power::spell_gen_override_display_power_AuraScript::OnApply(), and Unit::ProcDamageAndSpellFor().

◆ GetMiscValueB()

int32 AuraEffect::GetMiscValueB ( ) const
inline

◆ GetPeriodicTimer()

int32 AuraEffect::GetPeriodicTimer ( ) const
inline

◆ GetSpellInfo()

SpellInfo const * AuraEffect::GetSpellInfo ( ) const
inline

Definition at line 33 of file SpellAuraEffects.h.

References m_spellInfo.

Referenced by Player::_ApplyWeaponDependentAuraCritMod(), Player::_ApplyWeaponDependentAuraDamageMod(), AuraEffect(), Unit::CalcAbsorbResist(), CalculateAmount(), CalculateSpellMod(), spell_dk_pet_scaling_01::spell_dk_pet_scaling_01_AuraScript::CalculateStrengthAmount(), Spell::EffectHeal(), Spell::EffectScriptEffect(), HandleAuraDummy(), HandleAuraModEffectImmunity(), HandleAuraModSchoolImmunity(), HandleAuraModStateImmunity(), HandleAuraModWeaponCritPercent(), HandleAuraMounted(), Unit::HandleAuraProcOnPowerAmount(), Unit::HandleAuraRaidProcFromCharge(), Unit::HandleAuraRaidProcFromChargeWithValue(), HandleAuraTransform(), HandleChannelDeathItem(), Unit::HandleDummyAuraProc(), HandleModDamageDone(), HandleModDamagePercentDone(), HandleModMechanicImmunity(), HandleModStateImmunityMask(), HandleObsModPowerAuraTick(), HandlePeriodicDamageAurasTick(), HandlePeriodicDummyAuraTick(), HandlePeriodicEnergizeAuraTick(), HandlePeriodicHealAurasTick(), HandlePeriodicHealthFunnelAuraTick(), HandlePeriodicHealthLeechAuraTick(), HandlePeriodicManaLeechAuraTick(), HandlePeriodicPowerBurnAuraTick(), HandlePeriodicTriggerSpellAuraTick(), HandlePeriodicTriggerSpellWithValueAuraTick(), HandleProcTriggerDamageAuraProc(), Unit::HandleProcTriggerSpell(), HandleProcTriggerSpellAuraProc(), HandleProcTriggerSpellWithValueAuraProc(), HandleRaidProcFromChargeAuraProc(), HandleRaidProcFromChargeWithValueAuraProc(), spell_monk_touch_of_karma::spell_monk_touch_of_karma_AuraScript::OnAbsorb(), spell_monk_serpents_zeal::spell_monk_serpents_zeal_AuraScript::OnProc(), spell_sha_nature_guardian::spell_sha_nature_guardian_AuraScript::OnProc(), Skyfire::AbsorbAuraOrderPred::operator()(), Spell::prepare(), Player::RestoreBaseRune(), and UpdatePeriodic().

◆ GetSpellModifier()

SpellModifier * AuraEffect::GetSpellModifier ( ) const
inline

Definition at line 31 of file SpellAuraEffects.h.

References m_spellmod.

◆ GetTargetList()

void AuraEffect::GetTargetList ( std::list< Unit * > & targetList) const

Definition at line 536 of file SpellAuraEffects.cpp.

References Aura::GetApplicationMap(), GetBase(), and GetEffIndex().

◆ GetTickNumber()

◆ GetTotalTicks()

◆ HandleArenaPreparation()

void AuraEffect::HandleArenaPreparation ( AuraApplication const * aurApp,
uint8 mode,
bool apply ) const

◆ HandleAuraAllowFlight()

◆ HandleAuraAllowOnlyAbility()

◆ HandleAuraCloneCaster()

◆ HandleAuraControlVehicle()

◆ HandleAuraConvertRune()

◆ HandleAuraDummy()

void AuraEffect::HandleAuraDummy ( AuraApplication const * aurApp,
uint8 mode,
bool apply ) const

Definition at line 75 of file SpellAuraMisc.cpp.

References Unit::AddAura(), Unit::AddPetAura(), Unit::AddThreat(), Unit::ApplySpellImmune(), AURA_EFFECT_HANDLE_CHANGE_AMOUNT_MASK, AURA_EFFECT_HANDLE_REAL, AURA_EFFECT_HANDLE_REAPPLY, AURA_REMOVE_BY_EXPIRE, Unit::CanHaveThreatList(), Unit::CastSpell(), Skyfire::Spells::ChampioningAuraInfo::ChampioningType, ObjectMgr::ChooseDisplayId(), Skyfire::Spells::ChampioningAuraInfo::FactionId, GetAmount(), Unit::GetAura(), Skyfire::Spells::GetAuraDummyTriggeredSpellId(), Unit::GetAuraEffectsByType(), Skyfire::Spells::GetAuraRemoveTriggeredSpellId(), Player::GetBattleground(), Skyfire::Spells::GetBloodElfIllusionDisguiseSpellId(), GetCaster(), GetCasterGUID(), Skyfire::Spells::GetChampioningAuraInfo(), Player::GetComboTarget(), Skyfire::Spells::GetFestiveHolidayMountCreatureEntry(), Unit::getGender(), Unit::GetGuardianPet(), Object::GetGUID(), GetId(), Skyfire::Spells::GetKillCommandOwnerAuraSpellId(), Skyfire::Spells::GetKillCommandPetAuraSpellId(), Skyfire::Spells::GetLichKingIntroApplySoundId(), Skyfire::Spells::GetLichKingIntroContinueSpellId(), Skyfire::Spells::GetLichKingIntroRemoveSoundId(), WorldObject::GetMap(), GetMiscValue(), Unit::GetMotionMaster(), Skyfire::Spells::GetNetOMaticRootSelfSpellId(), Skyfire::Spells::GetQuestTameFinalSpellId(), AuraApplication::GetRemoveMode(), Aura::GetSpellInfo(), GetSpellInfo(), Skyfire::Spells::GetStackingAuraTriggerSpellId(), Skyfire::Spells::GetTaggedMurlocEntry(), AuraApplication::GetTarget(), Object::GetTypeId(), ObjectAccessor::GetUnit(), WorldObject::GetZoneId(), Unit::HasAuraType(), SpellInfo::Id, IMMUNITY_MECHANIC, Unit::IsAlive(), Map::IsBattleground(), Skyfire::Spells::IsDespawnOnRemoveAura(), Map::IsHeroic(), Map::IsInstance(), Player::LeaveBattleground(), m_effIndex, m_spellInfo, MotionMaster::MoveFall(), WorldObject::PlayDirectSound(), WorldObject::PlayDistanceSound(), Unit::RemoveAurasDueToSpell(), Unit::RemovePetAura(), roll_chance_i(), sBattlefieldMgr, Player::SetChampioningFaction(), Player::SetChampioningType(), Aura::SetCharges(), Object::SetEntry(), Aura::SetStackAmount(), Object::SetUInt32Value(), sObjectMgr, SPELL_AURA_MOD_INCREASE_MOUNTED_FLIGHT_SPEED, SPELL_AURA_MOUNTED, SPELLFAMILY_DEATHKNIGHT, SPELLFAMILY_GENERIC, sSpellMgr, SpellInfo::StackAmount, Object::ToPlayer(), TYPEID_PLAYER, and UNIT_FIELD_MOUNT_DISPLAY_ID.

◆ HandleAuraEmpathy()

◆ HandleAuraFeatherFall()

◆ HandleAuraForceWeather()

◆ HandleAuraGhost()

◆ HandleAuraHover()

void AuraEffect::HandleAuraHover ( AuraApplication const * aurApp,
uint8 mode,
bool apply ) const

◆ HandleAuraIncreaseBaseHealthPercent()

void AuraEffect::HandleAuraIncreaseBaseHealthPercent ( AuraApplication const * aurApp,
uint8 mode,
bool apply ) const

◆ HandleAuraLinked()

◆ HandleAuraMastery()

void AuraEffect::HandleAuraMastery ( AuraApplication const * aurApp,
uint8 mode,
bool apply ) const

◆ HandleAuraModAttackPower()

void AuraEffect::HandleAuraModAttackPower ( AuraApplication const * aurApp,
uint8 mode,
bool apply ) const

◆ HandleAuraModAttackPowerPercent()

void AuraEffect::HandleAuraModAttackPowerPercent ( AuraApplication const * aurApp,
uint8 mode,
bool apply ) const

◆ HandleAuraModBaseResistancePCT()

◆ HandleAuraModBlockPercent()

void AuraEffect::HandleAuraModBlockPercent ( AuraApplication const * aurApp,
uint8 mode,
bool apply ) const

◆ HandleAuraModCritPct()

◆ HandleAuraModDecreaseSpeed()

void AuraEffect::HandleAuraModDecreaseSpeed ( AuraApplication const * aurApp,
uint8 mode,
bool apply ) const

◆ HandleAuraModDisarm()

◆ HandleAuraModDispelImmunity()

void AuraEffect::HandleAuraModDispelImmunity ( AuraApplication const * aurApp,
uint8 mode,
bool apply ) const

◆ HandleAuraModDmgImmunity()

void AuraEffect::HandleAuraModDmgImmunity ( AuraApplication const * aurApp,
uint8 mode,
bool apply ) const

◆ HandleAuraModDodgePercent()

void AuraEffect::HandleAuraModDodgePercent ( AuraApplication const * aurApp,
uint8 mode,
bool apply ) const

◆ HandleAuraModEffectImmunity()

◆ HandleAuraModExpertise()

void AuraEffect::HandleAuraModExpertise ( AuraApplication const * aurApp,
uint8 mode,
bool apply ) const

◆ HandleAuraModFaction()

◆ HandleAuraModFakeInebriation()

◆ HandleAuraModIncreaseEnergyPercent()

void AuraEffect::HandleAuraModIncreaseEnergyPercent ( AuraApplication const * aurApp,
uint8 mode,
bool apply ) const

◆ HandleAuraModIncreaseFlightSpeed()

◆ HandleAuraModIncreaseHealth()

◆ HandleAuraModIncreaseHealthPercent()

◆ HandleAuraModIncreaseMaxHealth()

◆ HandleAuraModIncreaseMaxPowerFlat()

void AuraEffect::HandleAuraModIncreaseMaxPowerFlat ( AuraApplication const * aurApp,
uint8 mode,
bool apply ) const

◆ HandleAuraModIncreaseMountedSpeed()

void AuraEffect::HandleAuraModIncreaseMountedSpeed ( AuraApplication const * aurApp,
uint8 mode,
bool apply ) const

Definition at line 480 of file SpellAuraControl.cpp.

References HandleAuraModIncreaseSpeed().

◆ HandleAuraModIncreaseSpeed()

void AuraEffect::HandleAuraModIncreaseSpeed ( AuraApplication const * aurApp,
uint8 mode,
bool apply ) const

◆ HandleAuraModIncreaseSwimSpeed()

void AuraEffect::HandleAuraModIncreaseSwimSpeed ( AuraApplication const * aurApp,
uint8 mode,
bool apply ) const

◆ HandleAuraModPacify()

◆ HandleAuraModPacifyAndSilence()

◆ HandleAuraModParryPercent()

void AuraEffect::HandleAuraModParryPercent ( AuraApplication const * aurApp,
uint8 mode,
bool apply ) const

◆ HandleAuraModPetTalentsPoints()

void AuraEffect::HandleAuraModPetTalentsPoints ( AuraApplication const * aurApp,
uint8 mode,
bool apply ) const

◆ HandleAuraModRangedAttackPower()

◆ HandleAuraModRangedAttackPowerPercent()

void AuraEffect::HandleAuraModRangedAttackPowerPercent ( AuraApplication const * aurApp,
uint8 mode,
bool apply ) const

◆ HandleAuraModRangedHaste()

void AuraEffect::HandleAuraModRangedHaste ( AuraApplication const * aurApp,
uint8 mode,
bool apply ) const

ToDo: Haste auras with the same handler CAN'T stack together

Definition at line 870 of file SpellAuraStats.cpp.

References Unit::ApplyAttackTimePercentMod(), AURA_EFFECT_HANDLE_CHANGE_AMOUNT_MASK, AURA_EFFECT_HANDLE_STAT, GetAmount(), AuraApplication::GetTarget(), and RANGED_ATTACK.

◆ HandleAuraModRegenInterrupt()

void AuraEffect::HandleAuraModRegenInterrupt ( AuraApplication const * aurApp,
uint8 mode,
bool apply ) const

◆ HandleAuraModResistance()

◆ HandleAuraModResistanceExclusive()

◆ HandleAuraModRoot()

void AuraEffect::HandleAuraModRoot ( AuraApplication const * aurApp,
uint8 mode,
bool apply ) const

◆ HandleAuraModScale()

void AuraEffect::HandleAuraModScale ( AuraApplication const * aurApp,
uint8 mode,
bool apply ) const

◆ HandleAuraModSchoolImmunity()

◆ HandleAuraModShapeshift()

void AuraEffect::HandleAuraModShapeshift ( AuraApplication const * aurApp,
uint8 mode,
bool apply ) const

Definition at line 451 of file SpellAuraState.cpp.

References Player::_ApplyWeaponDamage(), Player::AddTemporarySpell(), AURA_EFFECT_HANDLE_REAL, AuraEffect(), BASE_ATTACK, Unit::CanUseAttackType(), Unit::CastSpell(), CLASS_DRUID, EQUIPMENT_SLOT_MAINHAND, FORM_AMBIENT, FORM_AQUA, FORM_BATTLESTANCE, FORM_BEAR, FORM_BERSERKERSTANCE, FORM_BLB_PLAYER, FORM_CAT, FORM_CREATUREBEAR, FORM_CREATURECAT, FORM_DEFENSIVESTANCE, FORM_FIERCE_TIGER, FORM_FLIGHT, FORM_FLIGHT_EPIC, FORM_GHOSTWOLF, FORM_GHOUL, FORM_MASTER_ANGLER, FORM_METAMORPHOSIS, FORM_MOONKIN, FORM_NONE, FORM_SHADOW, FORM_SHADOW_DANCE, FORM_SPIRITOFREDEMPTION, FORM_STEALTH, FORM_STEVES_GHOUL, FORM_STURDY_OX, FORM_TEST_OF_STRENGTH, FORM_THARONJA_SKELETON, FORM_TRAVEL, FORM_TREE, FORM_UNDEAD, FORM_WISE_SERPENT, FORM_ZOMBIE, Unit::GetAuraEffect(), GetBase(), Unit::getClass(), Player::GetItemByPos(), GetMiscValue(), Unit::GetModelForForm(), Unit::GetPower(), Unit::getPowerType(), AuraApplication::GetRemoveMode(), AuraApplication::GetTarget(), Unit::getTransForm(), Object::GetTypeId(), HandleShapeshiftBoosts(), Unit::HasAuraType(), Player::InitDataForForm(), INVENTORY_SLOT_BAG_0, Unit::IsPolymorphed(), MAX_SHAPESHIFT_SPELLS, POWER_ENERGY, POWER_MANA, POWER_RAGE, Unit::RemoveAurasByType(), Unit::RemoveAurasDueToSpell(), Unit::RemoveMovementImpairingAuras(), Player::RemoveTemporarySpell(), Unit::RestoreDisplayId(), Unit::SetDisplayId(), Unit::SetPower(), Unit::setPowerType(), Unit::SetShapeshiftForm(), SF_LOG_ERROR, SPELL_AURA_MOD_SHAPESHIFT, sSpellShapeshiftFormStore, SpellShapeshiftFormEntry::stanceSpell, Object::ToPlayer(), and TYPEID_PLAYER.

◆ HandleAuraModSilence()

◆ HandleAuraModSkill()

◆ HandleAuraModStalked()

◆ HandleAuraModStat()

◆ HandleAuraModStateImmunity()

◆ HandleAuraModStun()

void AuraEffect::HandleAuraModStun ( AuraApplication const * aurApp,
uint8 mode,
bool apply ) const

◆ HandleAuraModTotalThreat()

◆ HandleAuraModUseNormalSpeed()

void AuraEffect::HandleAuraModUseNormalSpeed ( AuraApplication const * aurApp,
uint8 mode,
bool apply ) const

◆ HandleAuraModWeaponCritPercent()

◆ HandleAuraMounted()

◆ HandleAuraOverrideAutoattackWithSpell()

void AuraEffect::HandleAuraOverrideAutoattackWithSpell ( AuraApplication const * aurApp,
uint8 mode,
bool apply ) const

◆ HandleAuraOverrideSpells()

◆ HandleAuraRetainComboPoints()

void AuraEffect::HandleAuraRetainComboPoints ( AuraApplication const * aurApp,
uint8 mode,
bool apply ) const

◆ HandleAuraSetVehicle()

◆ HandleAuraTrackCreatures()

void AuraEffect::HandleAuraTrackCreatures ( AuraApplication const * aurApp,
uint8 mode,
bool apply ) const

◆ HandleAuraTrackResources()

void AuraEffect::HandleAuraTrackResources ( AuraApplication const * aurApp,
uint8 mode,
bool apply ) const

◆ HandleAuraTrackStealthed()

◆ HandleAuraTransform()

◆ HandleAuraUntrackable()

◆ HandleAuraWaterWalk()

void AuraEffect::HandleAuraWaterWalk ( AuraApplication const * aurApp,
uint8 mode,
bool apply ) const

◆ HandleBindSight()

void AuraEffect::HandleBindSight ( AuraApplication const * aurApp,
uint8 mode,
bool apply ) const

◆ HandleChannelDeathItem()

◆ HandleCharmConvert()

void AuraEffect::HandleCharmConvert ( AuraApplication const * aurApp,
uint8 mode,
bool apply ) const

◆ HandleComprehendLanguage()

void AuraEffect::HandleComprehendLanguage ( AuraApplication const * aurApp,
uint8 mode,
bool apply ) const

◆ HandleEffect() [1/2]

◆ HandleEffect() [2/2]

void AuraEffect::HandleEffect ( Unit * target,
uint8 mode,
bool apply )

◆ HandleEnableAltPower()

void AuraEffect::HandleEnableAltPower ( AuraApplication const * aurApp,
uint8 mode,
bool apply ) const

◆ HandleFeignDeath()

◆ HandleForceMoveForward()

void AuraEffect::HandleForceMoveForward ( AuraApplication const * aurApp,
uint8 mode,
bool apply ) const

◆ HandleForceReaction()

◆ HandleModAttackSpeed()

void AuraEffect::HandleModAttackSpeed ( AuraApplication const * aurApp,
uint8 mode,
bool apply ) const

◆ HandleModBaseResistance()

◆ HandleModCastingSpeed()

void AuraEffect::HandleModCastingSpeed ( AuraApplication const * aurApp,
uint8 mode,
bool apply ) const

◆ HandleModCharm()

void AuraEffect::HandleModCharm ( AuraApplication const * aurApp,
uint8 mode,
bool apply ) const

◆ HandleModCombatSpeedPct()

◆ HandleModConfuse()

void AuraEffect::HandleModConfuse ( AuraApplication const * aurApp,
uint8 mode,
bool apply ) const

◆ HandleModDamageDone()

◆ HandleModDamagePercentDone()

◆ HandleModFear()

void AuraEffect::HandleModFear ( AuraApplication const * aurApp,
uint8 mode,
bool apply ) const

◆ HandleModHealingDone()

◆ HandleModHitChance()

◆ HandleModInvisibility()

◆ HandleModInvisibilityDetect()

◆ HandleModMechanicImmunity()

◆ HandleModMeleeRangedSpeedPct()

void AuraEffect::HandleModMeleeRangedSpeedPct ( AuraApplication const * aurApp,
uint8 mode,
bool apply ) const

◆ HandleModMeleeSpeedPct()

void AuraEffect::HandleModMeleeSpeedPct ( AuraApplication const * aurApp,
uint8 mode,
bool apply ) const

ToDo: Haste auras with the same handler CAN'T stack together

Definition at line 858 of file SpellAuraStats.cpp.

References Unit::ApplyAttackTimePercentMod(), AURA_EFFECT_HANDLE_CHANGE_AMOUNT_MASK, AURA_EFFECT_HANDLE_STAT, BASE_ATTACK, GetAmount(), AuraApplication::GetTarget(), and OFF_ATTACK.

◆ HandleModOffhandDamagePercent()

void AuraEffect::HandleModOffhandDamagePercent ( AuraApplication const * aurApp,
uint8 mode,
bool apply ) const

◆ HandleModPercentStat()

◆ HandleModPossess()

void AuraEffect::HandleModPossess ( AuraApplication const * aurApp,
uint8 mode,
bool apply ) const

◆ HandleModPossessPet()

◆ HandleModPowerCost()

void AuraEffect::HandleModPowerCost ( AuraApplication const * aurApp,
uint8 mode,
bool apply ) const

◆ HandleModPowerCostPCT()

◆ HandleModPowerRegen()

◆ HandleModPowerRegenPCT()

void AuraEffect::HandleModPowerRegenPCT ( AuraApplication const * aurApp,
uint8 mode,
bool apply ) const

Definition at line 530 of file SpellAuraStats.cpp.

References HandleModPowerRegen().

◆ HandleModRating()

◆ HandleModRatingFromStat()

◆ HandleModResistancePercent()

◆ HandleModSpellCritChance()

◆ HandleModSpellDamagePercentFromStat()

void AuraEffect::HandleModSpellDamagePercentFromStat ( AuraApplication const * aurApp,
uint8 mode,
bool apply ) const

◆ HandleModSpellHealingPercentFromStat()

void AuraEffect::HandleModSpellHealingPercentFromStat ( AuraApplication const * aurApp,
uint8 mode,
bool apply ) const

◆ HandleModSpellHitChance()

◆ HandleModStateImmunityMask()

◆ HandleModStealth()

◆ HandleModStealthDetect()

◆ HandleModStealthLevel()

◆ HandleModTargetResistance()

◆ HandleModTaunt()

void AuraEffect::HandleModTaunt ( AuraApplication const * aurApp,
uint8 mode,
bool apply ) const

◆ HandleModThreat()

void AuraEffect::HandleModThreat ( AuraApplication const * aurApp,
uint8 mode,
bool apply ) const

◆ HandleModTotalPercentStat()

◆ HandleModUnattackable()

◆ HandleNoImmediateEffect()

void AuraEffect::HandleNoImmediateEffect ( AuraApplication const * aurApp,
uint8 mode,
bool apply ) const

◆ HandleNULL()

void AuraEffect::HandleNULL ( AuraApplication const * aurApp,
uint8 mode,
bool apply ) const

◆ HandleObsModPowerAuraTick()

◆ HandleOverrideAttackPowerBySpellPower()

◆ HandleOverrideSpellPowerByAttackPower()

◆ HandlePeriodicDamageAurasTick()

void AuraEffect::HandlePeriodicDamageAurasTick ( Unit * target,
Unit * caster ) const

Definition at line 518 of file SpellAuraPeriodic.cpp.

References Unit::ApplyResilience(), BASE_ATTACK, Unit::CalcAbsorbResist(), Unit::CalcArmorReducedDamage(), SpellEffectInfo::CalcValue(), Unit::CastSpell(), Unit::CountPctFromMaxHealth(), Unit::DealDamage(), Unit::DealDamageMods(), DOT, EFFECT_1, SpellInfo::Effects, GetAmount(), GetAuraType(), GetBase(), GetCasterGUID(), Skyfire::Spells::GetDrainSoulShardSpellId(), GetEffIndex(), Object::GetGUIDLow(), Unit::GetHealth(), GetId(), GetSpellInfo(), GetTotalTicks(), Object::GetTypeId(), GUID_HIPART(), GUID_LOPART(), GuidHigh2TypeId(), Unit::HasUnitState(), Unit::HealthBelowPct(), Unit::IsAlive(), Unit::IsDamageReducedByArmor(), Unit::IsFullHealth(), Skyfire::Spells::IsFullHealthRemovePeriodicDamageAura(), Player::isHonorOrXPTarget(), Unit::IsImmunedToDamage(), Skyfire::Spells::IsPctHealthRemovePeriodicDamageAura(), IsPeriodicTickCrit(), Skyfire::Spells::IsUnboundPlaguePeriodicDamageAura(), m_spellInfo, m_tickNumber, MELEE_HIT_NORMAL, CleanDamage::mitigated_damage, PROC_EX_CRITICAL_HIT, PROC_EX_INTERNAL_DOT, PROC_EX_NORMAL_HIT, PROC_FLAG_DONE_PERIODIC, PROC_FLAG_TAKEN_DAMAGE, PROC_FLAG_TAKEN_PERIODIC, Unit::ProcDamageAndSpell(), Unit::RemoveAurasDueToSpell(), Unit::SendPeriodicAuraLog(), SendTickImmune(), SF_LOG_INFO, SPELL_AURA_PERIODIC_DAMAGE, SPELL_EFFECT_PERSISTENT_AREA_AURA, SPELL_MISS_NONE, Unit::SpellCriticalDamageBonus(), Unit::SpellDamageBonusDone(), Unit::SpellDamageBonusTaken(), SPELLFAMILY_GENERIC, SPELLFAMILY_WARLOCK, Unit::SpellHitResult(), sScriptMgr, Object::ToPlayer(), TYPEID_PLAYER, and UNIT_STATE_ISOLATED.

Referenced by PeriodicTick().

◆ HandlePeriodicDummyAuraTick()

void AuraEffect::HandlePeriodicDummyAuraTick ( Unit * target,
Unit * caster ) const
Todo
this should use effect[1] of 51690

Definition at line 36 of file SpellAuraPeriodic.cpp.

References Unit::CalculateSpellDamage(), Unit::CastCustomSpell(), Unit::CastSpell(), CLASS_DEATH_KNIGHT, Skyfire::ComputeCellCoord(), Unit::CountPctFromMaxHealth(), Unit::DealDamage(), Skyfire::Spells::PeriodicBulletControllerRule::FirstSpellId, Unit::GetAppliedAuras(), GetBase(), GetCasterGUID(), Unit::getClass(), GetId(), Skyfire::Spells::GetKillingSpreePeriodicSpellId(), WorldObject::GetMap(), Unit::GetMaxHealth(), SpellInfo::GetMaxRange(), Skyfire::Spells::GetPeriodicBulletControllerRule(), Skyfire::Spells::GetPeriodicDeathAndDecayTriggerSpellId(), Skyfire::Spells::GetPeriodicExplosiveShotTriggerSpellId(), Skyfire::Spells::GetPeriodicFrenziedRegenerationSpellId(), Skyfire::Spells::GetPeriodicFuseArmorTriggerSpellId(), Skyfire::Spells::GetPeriodicOverloadCircuitShutdownSpellId(), Position::GetPositionX(), Position::GetPositionY(), Unit::GetPower(), Unit::getPowerType(), GetSpellInfo(), Object::GetTypeId(), Unit::GetVehicleBase(), Map::IsDungeon(), Map::IsHeroic(), m_amount, m_effIndex, m_spellInfo, Skyfire::Spells::PeriodicBulletControllerRule::MaxTargetRoll, NODAMAGE, POWER_RAGE, Unit::RemoveAura(), Player::RemoveRunesByAuraEffect(), Skyfire::Spells::PeriodicBulletControllerRule::SecondSpellId, Skyfire::Containers::SelectRandomContainerElement(), Unit::SetPower(), SPELL_SCHOOL_MASK_NORMAL, SPELLFAMILY_DEATHKNIGHT, SPELLFAMILY_DRUID, SPELLFAMILY_GENERIC, SPELLFAMILY_HUNTER, SPELLFAMILY_MAGE, SPELLFAMILY_ROGUE, SPELLVALUE_BASE_POINT0, SPELLVALUE_MAX_TARGETS, Object::ToPlayer(), TYPEID_PLAYER, and Cell::Visit().

Referenced by PeriodicTick().

◆ HandlePeriodicEnergizeAuraTick()

◆ HandlePeriodicHealAurasTick()

◆ HandlePeriodicHealthFunnelAuraTick()

◆ HandlePeriodicHealthLeechAuraTick()

◆ HandlePeriodicManaLeechAuraTick()

◆ HandlePeriodicPowerBurnAuraTick()

◆ HandlePeriodicTriggerSpellAuraTick()

void AuraEffect::HandlePeriodicTriggerSpellAuraTick ( Unit * target,
Unit * caster ) const
Todo
effect trigger spell may be independant on spell targets, and executed in spell finish phase

Definition at line 202 of file SpellAuraPeriodic.cpp.

References Creature::AI(), Player::AutoStoreLoot(), Unit::CastCustomSpell(), Unit::CastSpell(), Unit::CountPctFromMaxHealth(), CREATURE_TYPE_GAS_CLOUD, Creature::DespawnOrUnsummon(), SpellInfo::Effects, Unit::EnergizeBySpell(), WorldObject::FindNearestCreature(), Skyfire::Spells::GetAbsorbEyeOfGrillokCasterSpellId(), Unit::GetAura(), Unit::GetAuraEffect(), Aura::GetCaster(), Creature::GetCreatureTemplate(), GetEffIndex(), Object::GetGUID(), GetId(), Unit::GetMaxPower(), Position::GetOrientation(), Skyfire::Spells::GetPeriodicDoomTriggerSpellId(), Skyfire::Spells::GetPeriodicFrostBlastTriggerSpellId(), Skyfire::Spells::GetPeriodicRestorationEnergizeSpellId(), Skyfire::Spells::GetPeriodicTriggerOverrideSpellId(), Unit::GetPower(), Skyfire::Spells::GetSpellclothSummonCreatureEntry(), GetSpellInfo(), Skyfire::Spells::GetTotemicMasteryTriggerSpellId(), Object::GetTypeId(), Unit::HealBySpell(), SpellInfo::Id, Skyfire::Spells::IsReagentConsumingPeriodicTriggerAura(), Unit::Kill(), LootTemplates_Skinning, m_amount, m_spellInfo, Unit::m_SummonSlot, m_tickNumber, MAX_TOTEM_SLOT, Unit::ModifyPower(), SpellInfo::NeedsToBeTriggeredByCaster(), POWER_MANA, Unit::RemoveAllAuras(), Unit::RemoveAurasDueToSpell(), Unit::SendEnergizeSpellLog(), SF_LOG_DEBUG, CreatureTemplate::SkinLootId, UnitAI::sOnDummyEffect(), SPELL_AURA_PROC_TRIGGER_SPELL, SPELLFAMILY_GENERIC, SPELLFAMILY_SHAMAN, SpellInfo::SpellFamilyName, SPELLVALUE_BASE_POINT0, SPELLVALUE_MAX_TARGETS, SPELLVALUE_RADIUS_MOD, sScriptMgr, sSpellMgr, SUMMON_SLOT_TOTEM, WorldObject::SummonCreature(), TEMPSUMMON_DEAD_DESPAWN, Object::ToCreature(), Object::ToPlayer(), SpellEffectInfo::TriggerSpell, CreatureTemplate::type, TYPEID_PLAYER, and TYPEID_UNIT.

Referenced by PeriodicTick().

◆ HandlePeriodicTriggerSpellWithValueAuraTick()

void AuraEffect::HandlePeriodicTriggerSpellWithValueAuraTick ( Unit * target,
Unit * caster ) const

◆ HandlePhase()

◆ HandlePhaseGroup()

◆ HandlePlayScene()

◆ HandlePreventFleeing()

void AuraEffect::HandlePreventFleeing ( AuraApplication const * aurApp,
uint8 mode,
bool apply ) const

◆ HandlePreventResurrection()

◆ HandleProc()

◆ HandleProcTriggerDamageAuraProc()

◆ HandleProcTriggerSpellAuraProc()

void AuraEffect::HandleProcTriggerSpellAuraProc ( AuraApplication * aurApp,
ProcEventInfo & eventInfo )

◆ HandleProcTriggerSpellWithValueAuraProc()

void AuraEffect::HandleProcTriggerSpellWithValueAuraProc ( AuraApplication * aurApp,
ProcEventInfo & eventInfo )

◆ HandleRaidProcFromChargeAuraProc()

◆ HandleRaidProcFromChargeWithValueAuraProc()

◆ HandleShapeshiftBoosts()

◆ HandleShieldBlockValue()

◆ HandleSpiritOfRedemption()

◆ HandleUnused()

void AuraEffect::HandleUnused ( AuraApplication const * aurApp,
uint8 mode,
bool apply ) const

◆ HandleWaterBreathing()

void AuraEffect::HandleWaterBreathing ( AuraApplication const * aurApp,
uint8 mode,
bool apply ) const

◆ HasSpellClassMask()

bool AuraEffect::HasSpellClassMask ( ) const
inline

Definition at line 70 of file SpellAuraEffects.h.

References m_effIndex, and m_spellInfo.

◆ IsAffectingSpell()

bool AuraEffect::IsAffectingSpell ( SpellInfo const * spell) const

◆ IsPeriodic()

bool AuraEffect::IsPeriodic ( ) const
inline

Definition at line 67 of file SpellAuraEffects.h.

References m_isPeriodic.

Referenced by Spell::prepare().

◆ IsPeriodicTickCrit()

bool AuraEffect::IsPeriodicTickCrit ( Unit * target,
Unit const * caster ) const
private

◆ PeriodicTick()

◆ RecalculateAmount() [1/2]

void AuraEffect::RecalculateAmount ( )
inline

Definition at line 52 of file SpellAuraEffects.h.

References CalculateAmount(), CanBeRecalculated(), ChangeAmount(), and GetCaster().

Referenced by ApplySpellMod().

◆ RecalculateAmount() [2/2]

void AuraEffect::RecalculateAmount ( Unit * caster)
inline

Definition at line 53 of file SpellAuraEffects.h.

References CalculateAmount(), CanBeRecalculated(), and ChangeAmount().

◆ ResetPeriodic()

void AuraEffect::ResetPeriodic ( bool resetPeriodicTimer = false)
inline

Definition at line 65 of file SpellAuraEffects.h.

References m_amplitude, m_periodicTimer, and m_tickNumber.

Referenced by Unit::HandleAuraProc().

◆ SendTickImmune()

◆ SetAmount()

◆ SetCanBeRecalculated()

void AuraEffect::SetCanBeRecalculated ( bool val)
inline

Definition at line 55 of file SpellAuraEffects.h.

References m_canBeRecalculated.

◆ SetPeriodic()

void AuraEffect::SetPeriodic ( bool isPeriodic)
inline

Definition at line 68 of file SpellAuraEffects.h.

References m_isPeriodic.

◆ SetPeriodicTimer()

void AuraEffect::SetPeriodicTimer ( int32 periodicTimer)
inline

◆ Update()

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

◆ UpdatePeriodic()

◆ Aura::_InitEffects

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

◆ Aura::~Aura

Aura::~Aura ( )
friend

◆ Unit::_TryStackingOrRefreshingExistingAura

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

Member Data Documentation

◆ m_amount

◆ m_amplitude

int32 AuraEffect::m_amplitude
private

◆ m_base

Aura* const AuraEffect::m_base
private

Definition at line 82 of file SpellAuraEffects.h.

Referenced by AuraEffect(), and GetBase().

◆ m_baseAmount

int32 const AuraEffect::m_baseAmount
private

Definition at line 84 of file SpellAuraEffects.h.

Referenced by AuraEffect(), CalculateAmount(), and GetBaseAmount().

◆ m_canBeRecalculated

bool AuraEffect::m_canBeRecalculated
private

◆ m_effIndex

◆ m_isPeriodic

bool AuraEffect::m_isPeriodic
private

◆ m_periodicTimer

int32 AuraEffect::m_periodicTimer
private

◆ m_spellInfo

◆ m_spellmod

SpellModifier* AuraEffect::m_spellmod
private

◆ m_tickNumber


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