![]() |
TrinityCore
|
#include <SpellAuras.h>
Inheritance diagram for Aura:Classes | |
| struct | NoopAuraDeleter |
Public Types | |
| typedef std::unordered_map< ObjectGuid, AuraApplication * > | ApplicationMap |
Static Public Member Functions | |
| static uint8 | BuildEffectMaskForOwner (SpellInfo const *spellProto, uint8 availableEffectMask, WorldObject *owner) |
| static Aura * | TryRefreshStackOrCreate (AuraCreateInfo &createInfo, bool updateEffectMask=true) |
| static Aura * | TryCreate (AuraCreateInfo &createInfo) |
| static Aura * | Create (AuraCreateInfo &createInfo) |
| static int32 | CalcMaxDuration (SpellInfo const *spellInfo, WorldObject *caster) |
Public Attributes | |
| std::vector< AuraScript * > | m_loadedScripts |
Protected Attributes | |
| SpellInfo const *const | m_spellInfo |
| ObjectGuid const | m_casterGuid |
| ObjectGuid const | m_castItemGuid |
| time_t const | m_applyTime |
| WorldObject *const | m_owner |
| int32 | m_maxDuration |
| int32 | m_duration |
| int32 | m_timeCla |
| int32 | m_updateTargetMapInterval |
| CasterInfo | _casterInfo |
| uint8 | m_procCharges |
| uint8 | m_stackAmount |
| AuraEffect * | m_effects [MAX_SPELL_EFFECTS] |
| ApplicationMap | m_applications |
| bool | m_isRemoved |
| bool | m_isSingleTarget |
| bool | m_isUsingCharges |
| ChargeDropEvent * | m_dropEvent |
| TimePoint | m_procCooldown |
Private Member Functions | |
| AuraScript * | GetScriptByName (std::string const &scriptName) const |
| void | _DeleteRemovedApplications () |
Private Attributes | |
| std::vector< AuraApplication * > | _removedApplications |
| Trinity::unique_trackable_ptr< Aura > | m_scriptRef |
Friends | |
| class | Unit |
Definition at line 124 of file SpellAuras.h.
| typedef std::unordered_map<ObjectGuid, AuraApplication*> Aura::ApplicationMap |
Definition at line 129 of file SpellAuras.h.
|
explicit |
Definition at line 425 of file SpellAuras.cpp.
References _casterInfo, CasterInfo::ApplyResilience, CalcMaxCharges(), CalcMaxDuration(), Unit::CanApplyResilience(), AuraCreateInfo::Caster, Unit::GetLevel(), IN_MILLISECONDS, CasterInfo::Level, m_duration, m_effects, m_isUsingCharges, m_maxDuration, m_procCharges, m_spellInfo, m_timeCla, SpellInfo::ManaPerSecond, SpellInfo::ManaPerSecondPerLevel, SaveCasterInfo(), and SpellInfo::SpellLevel.
|
virtual |
Definition at line 523 of file SpellAuras.cpp.
References _DeleteRemovedApplications(), ASSERT, m_applications, m_effects, m_loadedScripts, and MAX_SPELL_EFFECTS.
|
delete |
|
delete |
| void Aura::_ApplyEffectForTargets | ( | uint8 | effIndex | ) |
Definition at line 762 of file SpellAuras.cpp.
References ASSERT, GetApplicationOfTarget(), GetOwner(), and m_applications.
Referenced by Spell::EffectPersistentAA().
|
virtual |
Reimplemented in UnitAura.
Definition at line 553 of file SpellAuras.cpp.
References ASSERT, Object::GetEntry(), Object::GetGUID(), Player::GetItemByGuid(), Unit::GetSpellHistory(), Object::GetTypeId(), IsAppliedOnTarget(), SpellInfo::IsCooldownStartedOnEvent(), ObjectGuid::IsEmpty(), m_applications, m_castItemGuid, m_spellInfo, SpellHistory::StartCooldown(), Object::ToPlayer(), and TYPEID_PLAYER.
Referenced by UnitAura::_ApplyForTarget(), and Unit::_CreateAuraApplication().
|
private |
Definition at line 2171 of file SpellAuras.cpp.
References _removedApplications.
Referenced by UpdateOwner(), and ~Aura().
Definition at line 460 of file SpellAuras.cpp.
References SpellInfo::GetEffects(), GetSpellInfo(), and m_effects.
Referenced by DynObjAura::DynObjAura(), and UnitAura::UnitAura().
|
inline |
Definition at line 160 of file SpellAuras.h.
Referenced by Spell::EffectPersistentAA().
| void Aura::_Remove | ( | AuraRemoveMode | removeMode | ) |
Definition at line 603 of file SpellAuras.cpp.
References Unit::_UnapplyAura(), ASSERT, AuraApplication::GetTarget(), m_applications, m_dropEvent, m_isRemoved, m_scriptRef, and BasicEvent::ScheduleAbort().
Referenced by DynObjAura::Remove(), DynamicObject::RemoveAura(), and Unit::RemoveOwnedAura().
|
virtual |
Reimplemented in UnitAura.
Definition at line 573 of file SpellAuras.cpp.
References _removedApplications, ABORT, ASSERT, AuraApplication::GetBase(), Object::GetGUID(), AuraApplication::GetRemoveMode(), Unit::GetSpellHistory(), GetSpellInfo(), SpellInfo::Id, m_applications, SpellHistory::SendCooldownEvent(), TC_LOG_ERROR, and ObjectGuid::ToString().
Referenced by Unit::_UnapplyAura(), and UnitAura::_UnapplyForTarget().
| void Aura::AddProcCooldown | ( | TimePoint | cooldownEnd | ) |
Definition at line 1971 of file SpellAuras.cpp.
References m_procCooldown.
Referenced by PrepareProcToTrigger().
|
inline |
Definition at line 161 of file SpellAuras.h.
|
static |
Definition at line 270 of file SpellAuras.cpp.
References ABORT, ASSERT_NODEBUGINFO, SpellInfo::GetEffects(), Object::GetTypeId(), SPELL_EFFECT_PERSISTENT_AREA_AURA, TYPEID_DYNAMICOBJECT, TYPEID_PLAYER, and TYPEID_UNIT.
Referenced by Create(), Spell::DoSpellEffectHit(), Spell::PreprocessSpellHit(), TryCreate(), and TryRefreshStackOrCreate().
Definition at line 1172 of file SpellAuras.cpp.
References GetCaster(), GetId(), WorldObject::GetSpellModOwner(), Unit::GetTotalAuraModifier(), RoundToInterval(), SPELL_AURA_MOD_DISPEL_RESIST, and SPELLMOD_RESIST_DISPEL_CHANCE.
Referenced by Spell::EffectDispelMechanic(), Spell::EffectStealBeneficialBuff(), and Unit::GetDispellableAuraList().
|
inline |
Definition at line 183 of file SpellAuras.h.
References CalcMaxCharges().
Referenced by Aura(), CalcMaxCharges(), ModCharges(), and ModStackAmount().
Definition at line 944 of file SpellAuras.cpp.
References GetId(), WorldObject::GetSpellModOwner(), m_spellInfo, SpellInfo::ProcCharges, SPELLMOD_CHARGES, and sSpellMgr.
Referenced by AuraScript::CalcMaxCharges().
|
inline |
Definition at line 170 of file SpellAuras.h.
References CalcMaxDuration().
Referenced by Aura(), CalcMaxDuration(), AuraScript::CalcMaxDuration(), CalcMaxDuration(), Spell::PreprocessSpellHit(), and RefreshTimers().
|
static |
Definition at line 864 of file SpellAuras.cpp.
References Player::ApplySpellMod(), WorldObject::CalcSpellDuration(), SpellInfo::DurationEntry, SpellInfo::GetDuration(), WorldObject::GetSpellModOwner(), SpellInfo::Id, SpellInfo::IsPassive(), and SPELLMOD_DURATION.
Definition at line 859 of file SpellAuras.cpp.
References CalcMaxDuration(), and GetSpellInfo().
| float Aura::CalcPeriodicCritChance | ( | Unit const * | caster | ) | const |
Definition at line 483 of file SpellAuras.cpp.
References CanPeriodicTickCrit(), GetSpellInfo(), WorldObject::GetSpellModOwner(), and Unit::SpellCritChanceDone().
Referenced by SaveCasterInfo().
| float Aura::CalcProcChance | ( | SpellProcEntry const & | procEntry, |
| ProcEventInfo & | eventInfo | ||
| ) | const |
Definition at line 2123 of file SpellAuras.cpp.
References SpellProcEntry::AttributesMask, SpellProcEntry::Chance, ProcEventInfo::GetActor(), DamageInfo::GetAttackType(), GetCaster(), ProcEventInfo::GetDamageInfo(), GetId(), Unit::GetLevel(), GetSpellInfo(), WorldObject::GetSpellModOwner(), PROC_ATTR_REDUCE_PROC_60, SpellProcEntry::ProcsPerMinute, and SPELLMOD_CHANCE_OF_SUCCESS.
Referenced by GetProcEffectMask().
| void Aura::CallScriptAfterDispel | ( | DispelInfo * | dispelInfo | ) |
Definition at line 2217 of file SpellAuras.cpp.
References AURA_SCRIPT_HOOK_AFTER_DISPEL, and m_loadedScripts.
Referenced by Unit::RemoveAurasDueToSpellByDispel().
| void Aura::CallScriptAfterEffectApplyHandlers | ( | AuraEffect const * | aurEff, |
| AuraApplication const * | aurApp, | ||
| AuraEffectHandleModes | mode | ||
| ) |
Definition at line 2269 of file SpellAuras.cpp.
References AURA_SCRIPT_HOOK_EFFECT_AFTER_APPLY, AuraEffect::GetEffIndex(), m_loadedScripts, and m_spellInfo.
Referenced by AuraEffect::HandleEffect().
| void Aura::CallScriptAfterEffectProcHandlers | ( | AuraEffect const * | aurEff, |
| AuraApplication const * | aurApp, | ||
| ProcEventInfo & | eventInfo | ||
| ) |
Definition at line 2548 of file SpellAuras.cpp.
References AURA_SCRIPT_HOOK_EFFECT_AFTER_PROC, AuraEffect::GetEffIndex(), m_loadedScripts, and m_spellInfo.
Referenced by AuraEffect::HandleProc().
| void Aura::CallScriptAfterEffectRemoveHandlers | ( | AuraEffect const * | aurEff, |
| AuraApplication const * | aurApp, | ||
| AuraEffectHandleModes | mode | ||
| ) |
Definition at line 2283 of file SpellAuras.cpp.
References AURA_SCRIPT_HOOK_EFFECT_AFTER_REMOVE, AuraEffect::GetEffIndex(), m_loadedScripts, and m_spellInfo.
Referenced by AuraEffect::HandleEffect().
| void Aura::CallScriptAfterProcHandlers | ( | AuraApplication const * | aurApp, |
| ProcEventInfo & | eventInfo | ||
| ) |
Definition at line 2499 of file SpellAuras.cpp.
References AURA_SCRIPT_HOOK_AFTER_PROC, and m_loadedScripts.
Referenced by TriggerProcOnEvent().
| bool Aura::CallScriptCheckAreaTargetHandlers | ( | Unit * | target | ) |
Definition at line 2189 of file SpellAuras.cpp.
References AURA_SCRIPT_HOOK_CHECK_AREA_TARGET, and m_loadedScripts.
Referenced by CheckAreaTarget().
| bool Aura::CallScriptCheckEffectProcHandlers | ( | AuraEffect const * | aurEff, |
| AuraApplication const * | aurApp, | ||
| ProcEventInfo & | eventInfo | ||
| ) |
Definition at line 2512 of file SpellAuras.cpp.
References AURA_SCRIPT_HOOK_CHECK_EFFECT_PROC, AuraEffect::GetEffIndex(), m_loadedScripts, and m_spellInfo.
Referenced by AuraEffect::CheckEffectProc().
| bool Aura::CallScriptCheckProcHandlers | ( | AuraApplication const * | aurApp, |
| ProcEventInfo & | eventInfo | ||
| ) |
Definition at line 2447 of file SpellAuras.cpp.
References AURA_SCRIPT_HOOK_CHECK_PROC, and m_loadedScripts.
Referenced by GetProcEffectMask().
| void Aura::CallScriptDispel | ( | DispelInfo * | dispelInfo | ) |
Definition at line 2204 of file SpellAuras.cpp.
References AURA_SCRIPT_HOOK_DISPEL, and m_loadedScripts.
Referenced by Unit::RemoveAurasDueToSpellByDispel().
| void Aura::CallScriptEffectAbsorbHandlers | ( | AuraEffect * | aurEff, |
| AuraApplication const * | aurApp, | ||
| DamageInfo & | dmgInfo, | ||
| uint32 & | absorbAmount, | ||
| bool & | defaultPrevented | ||
| ) |
Definition at line 2373 of file SpellAuras.cpp.
References AURA_SCRIPT_HOOK_EFFECT_ABSORB, AuraEffect::GetEffIndex(), m_loadedScripts, and m_spellInfo.
Referenced by Unit::CalcAbsorbResist().
| void Aura::CallScriptEffectAfterAbsorbHandlers | ( | AuraEffect * | aurEff, |
| AuraApplication const * | aurApp, | ||
| DamageInfo & | dmgInfo, | ||
| uint32 & | absorbAmount | ||
| ) |
Definition at line 2391 of file SpellAuras.cpp.
References AURA_SCRIPT_HOOK_EFFECT_AFTER_ABSORB, AuraEffect::GetEffIndex(), m_loadedScripts, and m_spellInfo.
Referenced by Unit::CalcAbsorbResist().
| void Aura::CallScriptEffectAfterManaShieldHandlers | ( | AuraEffect * | aurEff, |
| AuraApplication const * | aurApp, | ||
| DamageInfo & | dmgInfo, | ||
| uint32 & | absorbAmount | ||
| ) |
Definition at line 2419 of file SpellAuras.cpp.
References AURA_SCRIPT_HOOK_EFFECT_AFTER_MANASHIELD, AuraEffect::GetEffIndex(), m_loadedScripts, and m_spellInfo.
Referenced by Unit::CalcAbsorbResist().
| bool Aura::CallScriptEffectApplyHandlers | ( | AuraEffect const * | aurEff, |
| AuraApplication const * | aurApp, | ||
| AuraEffectHandleModes | mode | ||
| ) |
Definition at line 2230 of file SpellAuras.cpp.
References AURA_SCRIPT_HOOK_EFFECT_APPLY, AuraEffect::GetEffIndex(), m_loadedScripts, and m_spellInfo.
Referenced by AuraEffect::HandleEffect().
| void Aura::CallScriptEffectCalcAmountHandlers | ( | AuraEffect const * | aurEff, |
| int32 & | amount, | ||
| bool & | canBeRecalculated | ||
| ) |
Definition at line 2331 of file SpellAuras.cpp.
References AURA_SCRIPT_HOOK_EFFECT_CALC_AMOUNT, AuraEffect::GetEffIndex(), m_loadedScripts, and m_spellInfo.
Referenced by AuraEffect::CalculateAmount().
| void Aura::CallScriptEffectCalcPeriodicHandlers | ( | AuraEffect const * | aurEff, |
| bool & | isPeriodic, | ||
| int32 & | amplitude | ||
| ) |
Definition at line 2345 of file SpellAuras.cpp.
References AURA_SCRIPT_HOOK_EFFECT_CALC_PERIODIC, AuraEffect::GetEffIndex(), m_loadedScripts, and m_spellInfo.
Referenced by AuraEffect::CalculatePeriodic().
| void Aura::CallScriptEffectCalcSpellModHandlers | ( | AuraEffect const * | aurEff, |
| SpellModifier *& | spellMod | ||
| ) |
Definition at line 2359 of file SpellAuras.cpp.
References AURA_SCRIPT_HOOK_EFFECT_CALC_SPELLMOD, AuraEffect::GetEffIndex(), m_loadedScripts, and m_spellInfo.
Referenced by AuraEffect::CalculateSpellMod().
| void Aura::CallScriptEffectManaShieldHandlers | ( | AuraEffect * | aurEff, |
| AuraApplication const * | aurApp, | ||
| DamageInfo & | dmgInfo, | ||
| uint32 & | absorbAmount, | ||
| bool & | defaultPrevented | ||
| ) |
Definition at line 2405 of file SpellAuras.cpp.
References AURA_SCRIPT_HOOK_EFFECT_MANASHIELD, AuraEffect::GetEffIndex(), m_loadedScripts, and m_spellInfo.
Referenced by Unit::CalcAbsorbResist().
| bool Aura::CallScriptEffectPeriodicHandlers | ( | AuraEffect const * | aurEff, |
| AuraApplication const * | aurApp | ||
| ) |
Definition at line 2297 of file SpellAuras.cpp.
References AURA_SCRIPT_HOOK_EFFECT_PERIODIC, AuraEffect::GetEffIndex(), m_loadedScripts, and m_spellInfo.
Referenced by AuraEffect::PeriodicTick().
| bool Aura::CallScriptEffectProcHandlers | ( | AuraEffect const * | aurEff, |
| AuraApplication const * | aurApp, | ||
| ProcEventInfo & | eventInfo | ||
| ) |
Definition at line 2529 of file SpellAuras.cpp.
References AURA_SCRIPT_HOOK_EFFECT_PROC, AuraEffect::GetEffIndex(), m_loadedScripts, and m_spellInfo.
Referenced by AuraEffect::HandleProc().
| bool Aura::CallScriptEffectRemoveHandlers | ( | AuraEffect const * | aurEff, |
| AuraApplication const * | aurApp, | ||
| AuraEffectHandleModes | mode | ||
| ) |
Definition at line 2250 of file SpellAuras.cpp.
References AURA_SCRIPT_HOOK_EFFECT_REMOVE, AuraEffect::GetEffIndex(), m_loadedScripts, and m_spellInfo.
Referenced by AuraEffect::HandleEffect().
| void Aura::CallScriptEffectSplitHandlers | ( | AuraEffect * | aurEff, |
| AuraApplication const * | aurApp, | ||
| DamageInfo & | dmgInfo, | ||
| uint32 & | splitAmount | ||
| ) |
Definition at line 2433 of file SpellAuras.cpp.
References AURA_SCRIPT_HOOK_EFFECT_SPLIT, AuraEffect::GetEffIndex(), m_loadedScripts, and m_spellInfo.
| void Aura::CallScriptEffectUpdatePeriodicHandlers | ( | AuraEffect * | aurEff | ) |
Definition at line 2317 of file SpellAuras.cpp.
References AURA_SCRIPT_HOOK_EFFECT_UPDATE_PERIODIC, AuraEffect::GetEffIndex(), m_loadedScripts, and m_spellInfo.
Referenced by AuraEffect::Update().
| bool Aura::CallScriptPrepareProcHandlers | ( | AuraApplication const * | aurApp, |
| ProcEventInfo & | eventInfo | ||
| ) |
Definition at line 2463 of file SpellAuras.cpp.
References AURA_SCRIPT_HOOK_PREPARE_PROC, and m_loadedScripts.
Referenced by PrepareProcToTrigger().
| bool Aura::CallScriptProcHandlers | ( | AuraApplication const * | aurApp, |
| ProcEventInfo & | eventInfo | ||
| ) |
Definition at line 2482 of file SpellAuras.cpp.
References AURA_SCRIPT_HOOK_PROC, and m_loadedScripts.
Referenced by TriggerProcOnEvent().
|
inline |
Definition at line 193 of file SpellAuras.h.
Referenced by Unit::RemoveAurasDueToSpellBySteal().
| bool Aura::CanBeAppliedOn | ( | Unit * | target | ) |
Definition at line 1802 of file SpellAuras.cpp.
References CheckAreaTarget(), GetCasterGUID(), GetOwner(), GetSpellInfo(), Unit::IsDuringRemoveFromWorld(), Object::IsInWorld(), and IsSingleTarget().
Referenced by UpdateTargetMap().
| bool Aura::CanBeSaved | ( | ) | const |
Definition at line 1097 of file SpellAuras.cpp.
References GetCasterGUID(), GetCastItemGUID(), GetCharges(), SpellInfo::GetEffects(), GetOwner(), GetSpellInfo(), SpellInfo::HasAttribute(), ObjectGuid::IsEmpty(), IsPassive(), IsPermanent(), IsSingleTarget(), SpellInfo::IsSingleTarget(), IsUsingCharges(), and SPELL_ATTR0_CU_AURA_CANNOT_BE_SAVED.
| bool Aura::CanBeSentToClient | ( | ) | const |
Definition at line 1136 of file SpellAuras.cpp.
References GetSpellInfo(), SpellInfo::HasAreaAuraEffect(), HasEffectType(), IsPassive(), and SPELL_AURA_ABILITY_IGNORE_AURASTATE.
| bool Aura::CanPeriodicTickCrit | ( | Unit const * | caster | ) | const |
Definition at line 468 of file SpellAuras.cpp.
References GetSpellInfo(), Unit::HasAuraTypeWithAffectMask(), SPELL_ATTR2_CANT_CRIT, SPELL_AURA_ABILITY_PERIODIC_CRIT, and SPELLFAMILY_ROGUE.
Referenced by CalcPeriodicCritChance().
| bool Aura::CanStackWith | ( | Aura const * | existingAura | ) | const |
Definition at line 1824 of file SpellAuras.cpp.
References CONFIG_ALLOW_TRACK_BOTH_RESOURCES, DYNOBJ_AURA_TYPE, Vehicle::GetAvailableSeatCount(), GetCasterGUID(), GetCastItemGUID(), SpellInfo::GetEffects(), GetId(), GetOwner(), GetSpellInfo(), GetType(), Unit::GetVehicleKit(), SpellInfo::HasAttribute(), SpellInfo::HasAura(), HasEffectType(), SpellInfo::Id, IsArea(), SpellInfo::IsAuraExclusiveBySpecificPerCasterWith(), SpellInfo::IsAuraExclusiveBySpecificWith(), SpellInfo::IsChanneled(), SpellInfo::IsDifferentRankOf(), ObjectGuid::IsEmpty(), SpellInfo::IsMultiSlotAura(), IsPassive(), SpellInfo::IsRankOf(), m_castItemGuid, m_spellInfo, SPELL_ATTR0_CU_ENCHANT_PROC, SPELL_ATTR3_STACK_FOR_DIFF_CASTERS, SPELL_AURA_CONTROL_VEHICLE, SPELL_AURA_OBS_MOD_HEALTH, SPELL_AURA_OBS_MOD_POWER, SPELL_AURA_PERIODIC_DAMAGE, SPELL_AURA_PERIODIC_DUMMY, SPELL_AURA_PERIODIC_ENERGIZE, SPELL_AURA_PERIODIC_HEAL, SPELL_AURA_PERIODIC_LEECH, SPELL_AURA_PERIODIC_MANA_LEECH, SPELL_AURA_PERIODIC_TRIGGER_SPELL, SPELL_AURA_PERIODIC_TRIGGER_SPELL_WITH_VALUE, SPELL_AURA_POWER_BURN, SPELL_AURA_TRACK_RESOURCES, SPELL_GROUP_STACK_RULE_DEFAULT, SPELL_GROUP_STACK_RULE_EXCLUSIVE, SPELL_GROUP_STACK_RULE_EXCLUSIVE_FROM_SAME_CASTER, SPELL_GROUP_STACK_RULE_EXCLUSIVE_HIGHEST, SPELL_GROUP_STACK_RULE_EXCLUSIVE_SAME_EFFECT, SpellInfo::SpellFamilyName, sSpellMgr, sWorld, and Object::ToUnit().
Referenced by Unit::_RemoveNoStackAurasDueToAura(), and UpdateTargetMap().
| bool Aura::CheckAreaTarget | ( | Unit * | target | ) |
Definition at line 1819 of file SpellAuras.cpp.
References CallScriptCheckAreaTargetHandlers().
Referenced by CanBeAppliedOn().
|
static |
Definition at line 353 of file SpellAuras.cpp.
References AuraCreateInfo::_auraEffectMask, AuraCreateInfo::_owner, AuraCreateInfo::_spellInfo, AuraCreateInfo::_targetEffectMask, ABORT, UnitAura::AddStaticApplication(), ASSERT_NODEBUGINFO, BuildEffectMaskForOwner(), AuraCreateInfo::Caster, AuraCreateInfo::CasterGUID, ObjectGuid::Clear(), Object::GetGUID(), Object::GetTypeId(), ObjectAccessor::GetUnit(), ObjectGuid::IsEmpty(), ObjectGuid::IsGameObject(), IsRemoved(), SpellInfo::IsSingleTarget(), Object::ToUnit(), ToUnitAura(), TYPEID_DYNAMICOBJECT, TYPEID_PLAYER, and TYPEID_UNIT.
Referenced by TryCreate(), and TryRefreshStackOrCreate().
|
inline |
Definition at line 185 of file SpellAuras.h.
Referenced by AuraScript::DropCharge(), spell_pet_charge::HandleDummy(), and spell_sha_static_shock::HandleProc().
| void Aura::DropChargeDelayed | ( | uint32 | delay, |
| AuraRemoveMode | removeMode = AURA_REMOVE_BY_DEFAULT |
||
| ) |
Definition at line 986 of file SpellAuras.cpp.
References EventProcessor::AddEvent(), EventProcessor::CalculateTime(), m_dropEvent, WorldObject::m_Events, m_owner, and Object::ToUnit().
|
pure virtual |
Implemented in UnitAura, and DynObjAura.
Referenced by UpdateTargetMap().
|
inline |
Definition at line 232 of file SpellAuras.h.
Referenced by AuraEffect::GetApplicationList(), AuraEffect::GetTargetList(), and Unit::RemoveAreaAurasDueToLeaveWorld().
|
inline |
Definition at line 235 of file SpellAuras.h.
|
inline |
Definition at line 234 of file SpellAuras.h.
Referenced by Unit::_ApplyAuraEffect(), _ApplyEffectForTargets(), Unit::_UnapplyAura(), Unit::CalcAbsorbResist(), Spell::EffectApplyAura(), Spell::EffectDispelMechanic(), Spell::EffectStealBeneficialBuff(), VehicleJoinEvent::Execute(), Unit::GetDispellableAuraList(), AuraEffect::HandleEffect(), Unit::IsHighestExclusiveAuraEffect(), Unit::RemoveAura(), Unit::RemoveAura(), Unit::RemoveAurasByType(), Unit::RemoveAurasByType(), Unit::RestoreDisplayId(), and UpdateTargetMap().
| void Aura::GetApplicationVector | ( | std::vector< AuraApplication * > & | applicationVector | ) | const |
Definition at line 1242 of file SpellAuras.cpp.
References m_applications.
Referenced by SetStackAmount().
|
inline |
Definition at line 167 of file SpellAuras.h.
Referenced by Player::DuelComplete(), and AuraScript::GetApplyTime().
| Unit * Aura::GetCaster | ( | ) | const |
Definition at line 540 of file SpellAuras.cpp.
References GetCasterGUID(), GetOwner(), ObjectAccessor::GetUnit(), and GetUnitOwner().
Referenced by Unit::_ApplyAura(), Unit::_CreateAuraApplication(), Unit::_UnapplyAura(), CalcDispelChance(), CalcProcChance(), AuraScript::GetCaster(), AuraScript::GetGObjCaster(), RecalculateAmountOfEffects(), RefreshDuration(), RefreshTimers(), Unit::RemoveAurasDueToSpellBySteal(), Unit::RemoveNotOwnSingleTargetAuras(), SetDuration(), SetLoadedState(), SetStackAmount(), UnregisterSingleTarget(), and UpdateOwner().
|
inline |
Definition at line 144 of file SpellAuras.h.
Referenced by Unit::_AddAura(), AuraApplication::_InitFlags(), AuraEffect::ApplySpellMod(), AuraApplication::BuildUpdatePacket(), CanBeAppliedOn(), CanBeSaved(), CanStackWith(), spell_hun_glyph_of_arcane_shot::CheckProc(), Unit::DelayOwnedAuras(), Player::DuelComplete(), Spell::EffectDispelMechanic(), Unit::GetAuraApplication(), GetCaster(), AuraScript::GetCasterGUID(), GetDebugInfo(), HandleAuraSpecificMods(), spell_hun_chimera_shot::HandleScriptEffect(), IsRemovedOnShapeLost(), list_commandscript::ListAurasCommand(), Unit::RemoveAllGroupBuffsFromCaster(), Unit::RemoveAura(), Unit::RemoveAuraFromStack(), Unit::RemoveAurasByType(), Unit::RemoveAurasDueToSpell(), Unit::RemoveAurasDueToSpellByDispel(), Unit::RemoveAurasDueToSpellBySteal(), Unit::RemoveAurasWithFamily(), Player::RemoveItemDependentAurasAndCasts(), Unit::RemoveNotOwnSingleTargetAuras(), and Unit::SpellHealingPctDone().
|
inline |
Definition at line 195 of file SpellAuras.h.
Referenced by AuraApplication::BuildUpdatePacket().
|
inline |
Definition at line 143 of file SpellAuras.h.
Referenced by AuraEffect::CalculateAmount(), CanBeSaved(), CanStackWith(), Unit::GetAuraApplication(), and AuraEffect::HandlePeriodicHealAurasTick().
|
inline |
Definition at line 180 of file SpellAuras.h.
Referenced by Player::ApplyModToSpell(), AuraApplication::BuildUpdatePacket(), CanBeSaved(), Spell::EffectStealBeneficialBuff(), AuraScript::GetCharges(), Unit::GetDispellableAuraList(), GetProcEffectMask(), spell_mark_of_malice::HandleProc(), AuraEffect::HandleRaidProcFromChargeAuraProc(), AuraEffect::HandleRaidProcFromChargeWithValueAuraProc(), Player::IsAffectedBySpellmod(), list_commandscript::ListAurasCommand(), Unit::RemoveAurasDueToSpellBySteal(), and TriggerProcOnEvent().
|
inline |
Definition at line 196 of file SpellAuras.h.
Referenced by Unit::RemoveAurasDueToSpellBySteal().
|
virtual |
Definition at line 2562 of file SpellAuras.cpp.
References GetCasterGUID(), WorldObject::GetDebugInfo(), GetId(), GetOwner(), GetSpellInfo(), SpellInfo::SpellName, sWorld, and ObjectGuid::ToString().
Referenced by Unit::_CreateAuraApplication(), and AuraApplication::GetDebugInfo().
|
inline |
Definition at line 198 of file SpellAuras.h.
|
inline |
Definition at line 173 of file SpellAuras.h.
Referenced by Battleground::_ProcessJoin(), spell_rog_overkill_mos< RemoveSpellId >::AfterApply(), AuraApplication::BuildUpdatePacket(), AuraEffect::CalculatePeriodic(), AuraEffect::CheckEffectProc(), Unit::DelayOwnedAuras(), Spell::DoTriggersOnSpellHit(), Spell::EffectHeal(), DynamicObject::GetDuration(), AuraScript::GetDuration(), AuraEffect::HandleAuraDummy(), spell_sha_t10_elemental_4p_bonus::HandleProc(), spell_dk_glyph_of_scourge_strike_script::HandleScriptEffect(), spell_dru_glyph_of_starfire::HandleScriptEffect(), list_commandscript::ListAurasCommand(), Unit::RemoveAurasDueToSpellBySteal(), and npc_tournament_training_dummy::UpdateAI().
|
inline |
Definition at line 148 of file SpellAuras.h.
References ASSERT, and DYNOBJ_AURA_TYPE.
Referenced by DynObjAura::DynObjAura(), Spell::EffectPersistentAA(), DynObjAura::FillTargetMap(), and AuraScript::GetDynobjOwner().
|
inline |
Definition at line 226 of file SpellAuras.h.
References ASSERT, and MAX_SPELL_EFFECTS.
Referenced by AuraApplication::_HandleEffect(), Pet::_SaveAuras(), Player::_SaveAuras(), AuraEffect::ApplySpellMod(), spell_gen_arena_drink::CalcAmount(), spell_gen_arena_drink::CalcPeriodic(), Unit::GetAuraEffect(), AuraScript::GetEffect(), GetProcEffectMask(), HandleAuraSpecificMods(), spell_reliquary_of_souls_aura_of_anger::HandleEffectPeriodicUpdate(), spell_hun_chimera_shot::HandleScriptEffect(), Unit::IsHighestExclusiveAura(), Unit::RemoveAurasDueToSpellBySteal(), SetStackAmount(), TriggerProcOnEvent(), spell_gen_arena_drink::UpdatePeriodic(), and spell_gen_chains_of_ice::UpdatePeriodic().
|
inline |
Definition at line 227 of file SpellAuras.h.
References MAX_SPELL_EFFECTS.
Referenced by Spell::DoSpellEffectHit(), Unit::GetAuraApplication(), Unit::IsHighestExclusiveAura(), Unit::IsHighestExclusiveAuraEffect(), Unit::RemoveAura(), and Unit::RemoveAurasDueToSpell().
|
inline |
Definition at line 141 of file SpellAuras.h.
Referenced by Unit::_AddAura(), Unit::_ApplyAura(), Unit::_UnapplyAura(), Unit::_UnapplyAura(), WorldSession::BuildPartyMemberStatsChangedPacket(), AuraApplication::BuildUpdatePacket(), CalcDispelChance(), CalcMaxCharges(), CalcProcChance(), CanStackWith(), spell_thorim_blizzard_effect::spell_thorim_blizzard_effect_AuraScript::CheckAreaTarget(), Spell::EffectDispelMechanic(), GetDebugInfo(), AuraScript::GetId(), GetProcEffectMask(), HandleAuraSpecificMods(), Pet::IsPetAura(), list_commandscript::ListAurasCommand(), PrepareProcToTrigger(), Unit::RemoveAura(), Unit::RemoveAurasDueToSpellBySteal(), Unit::RemoveAurasWithInterruptFlags(), Unit::RemoveAurasWithMechanic(), Unit::RemoveOwnedAura(), SetDuration(), UpdateOwner(), and UpdateTargetMap().
|
inline |
Definition at line 168 of file SpellAuras.h.
Referenced by AuraApplication::BuildUpdatePacket(), AuraEffect::CalculatePeriodic(), AuraEffect::CheckEffectProc(), Spell::DoSpellEffectHit(), AuraScript::GetMaxDuration(), AuraEffect::GetTotalTicks(), spell_sha_t10_elemental_4p_bonus::HandleProc(), spell_dk_glyph_of_scourge_strike_script::HandleScriptEffect(), spell_dru_glyph_of_starfire::HandleScriptEffect(), list_commandscript::ListAurasCommand(), RefreshDuration(), and Unit::RemoveAurasDueToSpellBySteal().
|
inline |
Definition at line 146 of file SpellAuras.h.
Referenced by _ApplyEffectForTargets(), CanBeAppliedOn(), CanBeSaved(), CanStackWith(), spell_thorim_blizzard_effect::spell_thorim_blizzard_effect_AuraScript::CheckAreaTarget(), GetCaster(), GetDebugInfo(), AuraScript::GetOwner(), Unit::IsHighestExclusiveAuraEffect(), Unit::RemoveAura(), Unit::RemoveOwnedAura(), npc_argent_squire_gruntling::npc_argent_squire_gruntlingAI::ScheduleTasks(), and UpdateTargetMap().
| uint8 Aura::GetProcEffectMask | ( | AuraApplication * | aurApp, |
| ProcEventInfo & | eventInfo, | ||
| TimePoint | now | ||
| ) | const |
Definition at line 2001 of file SpellAuras.cpp.
References SpellProcEntry::AttributesMask, AUTO_ATTACK_PROC_FLAG_MASK, BASE_ATTACK, CalcProcChance(), CallScriptCheckProcHandlers(), SpellMgr::CanSpellTriggerProcOnEvent(), AuraEffect::CheckEffectProc(), CONDITION_SOURCE_TYPE_SPELL_PROC, SpellProcEntry::DisableEffectsMask, EQUIPMENT_SLOT_MAINHAND, EQUIPMENT_SLOT_OFFHAND, EQUIPMENT_SLOT_RANGED, SpellInfo::EquippedItemClass, ProcEventInfo::GetActionTarget(), ProcEventInfo::GetActor(), GetCharges(), ProcEventInfo::GetDamageInfo(), GetEffect(), AuraApplication::GetEffectMask(), GetId(), ProcEventInfo::GetProcSpell(), ProcEventInfo::GetSpellInfo(), GetSpellInfo(), AuraApplication::GetTarget(), Object::GetTypeId(), ProcEventInfo::GetTypeMask(), Player::GetUseableItemByPos(), SpellInfo::HasAttribute(), SpellInfo::HasAura(), INVENTORY_SLOT_BAG_0, Item::IsBroken(), Item::IsFitToSpellRequirements(), Unit::IsInFeralForm(), IsPassive(), IsProcOnCooldown(), IsUsingCharges(), ITEM_CLASS_ARMOR, ITEM_CLASS_WEAPON, m_spellInfo, MAX_SPELL_EFFECTS, OFF_ATTACK, PROC_ATTR_CANT_PROC_FROM_ITEM_CAST, PROC_ATTR_REQ_SPELLMOD, PROC_ATTR_TRIGGERED_CAN_PROC, roll_chance_f(), sConditionMgr, SPELL_ATTR0_CU_DONT_BREAK_STEALTH, SPELL_ATTR3_CAN_PROC_FROM_PROCS, SPELL_ATTR3_IGNORE_PROC_SUBCLASS_MASK, SPELL_ATTR3_NOT_A_PROC, SPELL_AURA_MOD_STEALTH, sSpellMgr, Object::ToPlayer(), and TYPEID_PLAYER.
Definition at line 289 of file SpellAuras.h.
References Script.
|
private |
Definition at line 452 of file SpellAuras.cpp.
References m_loadedScripts.
|
inline |
Definition at line 140 of file SpellAuras.h.
Referenced by Unit::_AddAura(), Unit::_ApplyAura(), Unit::_CreateAuraApplication(), _InitEffects(), AuraApplication::_InitFlags(), Battleground::_ProcessJoin(), Unit::_RemoveNoStackAurasDueToAura(), Unit::_UnapplyAura(), _UnapplyForTarget(), UnitAura::AddStaticApplication(), SpellInfo::ApplyAllSpellImmunitiesTo(), Player::ApplySpellMod(), AuraEffect::ApplySpellMod(), AuraApplication::BuildUpdatePacket(), CalcMaxDuration(), CalcPeriodicCritChance(), CalcProcChance(), CanBeAppliedOn(), CanBeSaved(), CanBeSentToClient(), PlayerAI::CancelAllShapeshifts(), CanPeriodicTickCrit(), CanStackWith(), Spell::CheckCast(), spell_hun_glyph_of_arcane_shot::CheckProc(), Spell::EffectDispelMechanic(), Spell::EffectStealBeneficialBuff(), UnitAura::FillTargetMap(), DynObjAura::FillTargetMap(), GetDebugInfo(), Unit::GetDispellableAuraList(), AuraScript::GetEffectInfo(), GetProcEffectMask(), AuraScript::GetSpellInfo(), AuraEffect::HandleAuraDummy(), HandleAuraSpecificMods(), spell_warl_drain_soul::HandleProc(), spell_gen_clear_debuffs::HandleScript(), spell_dru_glyph_of_starfire::HandleScriptEffect(), spell_hun_chimera_shot::HandleScriptEffect(), HasMoreThanOneEffectForType(), IsArea(), IsDeathPersistent(), Unit::IsHighestExclusiveAura(), IsPassive(), IsSingleTargetWith(), list_commandscript::ListAurasCommand(), SmartAI::OnAuraApplied(), SmartAI::OnAuraRemoved(), Unit::RemoveAllAurasExceptType(), Unit::RemoveAllAurasExceptType(), Unit::RemoveAllAurasRequiringDeadTarget(), Unit::RemoveAllGroupBuffsFromCaster(), Unit::RemoveArenaAuras(), Unit::RemoveAurasByShapeShift(), Unit::RemoveAurasDueToSpellByDispel(), Unit::RemoveAurasDueToSpellBySteal(), Unit::RemoveAurasWithFamily(), Unit::RemoveAurasWithInterruptFlags(), Unit::RemoveAurasWithMechanic(), Player::RemoveItemDependentAurasAndCasts(), SaveCasterInfo(), Unit::SpellDamagePctDone(), Unit::SpellHealingPctDone(), Unit::TriggerAurasProcOnEvent(), and UpdateTargetMap().
|
inline |
Definition at line 189 of file SpellAuras.h.
Referenced by AuraApplication::BuildUpdatePacket(), AuraEffect::CalculateAmount(), Spell::EffectStealBeneficialBuff(), Unit::GetDispellableAuraList(), AuraScript::GetStackAmount(), AuraEffect::HandleAuraLinked(), HandleAuraSpecificMods(), spell_borean_tundra_nerubar_web_random_unit_not_on_quest_dummy::HandleDummy(), spell_borean_tundra_nerubar_web_random_unit_on_quest_dummy::HandleDummy(), spell_sindragosa_frost_breath::HandleInfusion(), AuraEffect::HandlePeriodicDamageAurasTick(), AuraEffect::HandlePeriodicHealAurasTick(), AuraEffect::HandlePeriodicHealthLeechAuraTick(), spell_intense_cold::HandlePeriodicTick(), spell_item_anger_capacitor< StackAmount >::spell_item_anger_capacitor_AuraScript< Stacks >::HandleProc(), spell_item_trinket_stack::spell_item_trinket_stack_AuraScript::HandleProc(), spell_pilgrims_bounty_well_fed::HandleScript(), spell_festergut_gastric_bloat::HandleScript(), spell_gen_bonked::HandleScript(), spell_gen_landmine_knockback_achievement::HandleScript(), spell_pal_seal_of_vengeance< DoTSpellId, DamageSpellId >::spell_pal_seal_of_vengeance_AuraScript< DoTSpell, DamageSpell >::HandleSeal(), npc_underbog_mushroom::InitializeAI(), npc_slad_ran_constrictor::JustEngagedWith(), list_commandscript::ListAurasCommand(), ModStackAmount(), spell_halion_marks::OnRemove(), spell_gen_defend::RefreshVisualShields(), Unit::SpellDamagePctDone(), Unit::SpellHealingPctDone(), boss_trollgore::UpdateAI(), and npc_tournament_training_dummy::UpdateAI().
| AuraObjectType Aura::GetType | ( | ) | const |
Definition at line 548 of file SpellAuras.cpp.
References DYNOBJ_AURA_TYPE, Object::GetTypeId(), m_owner, TYPEID_DYNAMICOBJECT, and UNIT_AURA_TYPE.
Referenced by AuraApplication::BuildUpdatePacket(), CanStackWith(), AuraScript::GetType(), Unit::RemoveAuraFromStack(), SaveCasterInfo(), and UpdateTargetMap().
|
inline |
Definition at line 147 of file SpellAuras.h.
References ASSERT, and UNIT_AURA_TYPE.
Referenced by Player::ActivateTalentGroup(), AuraEffect::CalculateAmount(), UnitAura::FillTargetMap(), GetCaster(), AuraScript::GetUnitOwner(), HandleAuraSpecificMods(), spell_pal_beacon_of_light::PeriodicTick(), UnitAura::Remove(), Unit::RemoveNotOwnSingleTargetAuras(), SaveCasterInfo(), and UnitAura::UnitAura().
|
inline |
Definition at line 298 of file SpellAuras.h.
| void Aura::HandleAllEffects | ( | AuraApplication * | aurApp, |
| uint8 | mode, | ||
| bool | apply | ||
| ) |
Definition at line 1234 of file SpellAuras.cpp.
References ASSERT, AuraEffect::HandleEffect(), IsRemoved(), m_effects, and MAX_SPELL_EFFECTS.
| void Aura::HandleAuraSpecificMods | ( | AuraApplication const * | aurApp, |
| Unit * | caster, | ||
| bool | apply, | ||
| bool | onReapply | ||
| ) |
Definition at line 1260 of file SpellAuras.cpp.
References Unit::AddAura(), SpellHistory::AddCooldown(), CastSpellExtraArgs::AddSpellBP0(), CastSpellExtraArgs::AddSpellMod(), Unit::ApplySpellImmune(), AURA_REMOVE_BY_DEATH, AURA_REMOVE_BY_DEFAULT, AURA_REMOVE_BY_ENEMY_SPELL, AURA_REMOVE_BY_EXPIRE, SpellHistory::BuildCooldownPacket(), CalculatePct(), WorldObject::CastSpell(), CLASS_DEATH_KNIGHT, DOT, EFFECT_0, AuraEffect::GetAmount(), Unit::GetAura(), Unit::GetAuraEffect(), Unit::GetAuraEffectOfRankedSpell(), Unit::GetAuraEffectsByType(), Unit::GetAuraOfRankedSpell(), GetCasterGUID(), Unit::GetClass(), Unit::GetCreateMana(), Unit::GetDummyAuraEffect(), GetEffect(), Object::GetGUID(), AuraEffect::GetId(), GetId(), Unit::GetMaxPower(), WorldObject::GetOwner(), Unit::GetPartyMembers(), Unit::GetPowerType(), SpellHistory::GetRemainingCooldown(), AuraApplication::GetRemoveMode(), Unit::GetSpellHistory(), GetSpellInfo(), GetStackAmount(), AuraApplication::GetTarget(), AuraEffect::GetTotalTicks(), Object::GetTypeId(), GetUnitOwner(), WorldObject::GetZoneAndAreaId(), Unit::HasAura(), SpellHistory::HasCooldown(), IMMUNITY_ID, IN_MILLISECONDS, m_spellInfo, POWER_ENERGY, POWER_MANA, POWER_RAGE, POWER_RUNIC_POWER, Unit::RemoveAura(), Unit::RemoveAurasDueToSpell(), Unit::RemoveAurasWithFamily(), Player::RemoveRunesByAuraEffect(), SpellHistory::ResetCooldown(), roll_chance_i(), Player::SendDirectMessage(), SetDuration(), SPELL_AURA_DUMMY, SPELL_AURA_OVERRIDE_CLASS_SCRIPTS, SPELL_AURA_PERIODIC_DUMMY, SPELL_COOLDOWN_FLAG_NONE, SPELL_LINK_AURA, Unit::SpellDamageBonusTaken(), SPELLFAMILY_DEATHKNIGHT, SPELLFAMILY_DRUID, SPELLFAMILY_GENERIC, SPELLFAMILY_HUNTER, SPELLFAMILY_MAGE, SPELLFAMILY_PALADIN, SPELLFAMILY_PRIEST, SPELLFAMILY_ROGUE, SPELLFAMILY_WARLOCK, SPELLFAMILY_WARRIOR, SpellInfo::SpellFamilyFlags, SpellInfo::SpellFamilyName, SPELLVALUE_AURA_STACK, SPELLVALUE_BASE_POINT0, sSpellMgr, TC_LOG_ERROR, Object::ToCreature(), Object::ToPlayer(), TRIGGERED_FULL_MASK, and TYPEID_PLAYER.
Referenced by Unit::_ApplyAura(), Unit::_UnapplyAura(), and SetStackAmount().
|
inline |
Definition at line 224 of file SpellAuras.h.
Referenced by Unit::_ApplyAuraEffect(), UnitAura::FillTargetMap(), DynObjAura::FillTargetMap(), AuraScript::HasEffect(), HasEffectType(), HasMoreThanOneEffectForType(), IsArea(), and RecalculateAmountOfEffects().
| bool Aura::HasEffectType | ( | AuraType | type | ) | const |
Definition at line 1215 of file SpellAuras.cpp.
References HasEffect(), m_effects, and MAX_SPELL_EFFECTS.
Referenced by Battleground::_ProcessJoin(), CanBeSentToClient(), CanStackWith(), and AuraScript::HasEffectType().
| bool Aura::HasMoreThanOneEffectForType | ( | AuraType | auraType | ) | const |
Definition at line 1060 of file SpellAuras.cpp.
References SpellInfo::GetEffects(), GetSpellInfo(), and HasEffect().
Referenced by Unit::IsHighestExclusiveAuraEffect().
|
inline |
Definition at line 236 of file SpellAuras.h.
Referenced by _ApplyForTarget(), and Unit::_CreateAuraApplication().
| bool Aura::IsArea | ( | ) | const |
Definition at line 1070 of file SpellAuras.cpp.
References SpellInfo::GetEffects(), GetSpellInfo(), and HasEffect().
Referenced by CanStackWith(), and Unit::IsHighestExclusiveAuraEffect().
| bool Aura::IsDeathPersistent | ( | ) | const |
Definition at line 1084 of file SpellAuras.cpp.
References GetSpellInfo(), and SpellInfo::IsDeathPersistent().
Referenced by AuraScript::IsDeathPersistent(), and Unit::RemoveAllAurasOnDeath().
|
inline |
Definition at line 177 of file SpellAuras.h.
Referenced by AuraScript::IsExpired(), and DynamicObject::Update().
| bool Aura::IsPassive | ( | ) | const |
Definition at line 1079 of file SpellAuras.cpp.
References GetSpellInfo(), and SpellInfo::IsPassive().
Referenced by AuraEffect::ApplySpellMod(), CanBeSaved(), CanBeSentToClient(), CanStackWith(), Spell::CheckCast(), Spell::EffectStealBeneficialBuff(), Unit::GetDispellableAuraList(), GetProcEffectMask(), AuraScript::IsPassive(), list_commandscript::ListAurasCommand(), Spell::prepare(), Unit::RemoveAllAurasOnDeath(), Unit::RemoveAllAurasRequiringDeadTarget(), and Unit::RemoveArenaAuras().
|
inline |
Definition at line 178 of file SpellAuras.h.
Referenced by Battleground::_ProcessJoin(), AuraEffect::ApplySpellMod(), CanBeSaved(), and AuraScript::IsPermanent().
| bool Aura::IsProcOnCooldown | ( | TimePoint | now | ) | const |
Definition at line 1966 of file SpellAuras.cpp.
References m_procCooldown.
Referenced by GetProcEffectMask().
|
inline |
Definition at line 209 of file SpellAuras.h.
Referenced by Unit::_AddAura(), Unit::_CreateAuraApplication(), Create(), SpellScript::GetHitAura(), HandleAllEffects(), RecalculateAmountOfEffects(), UnitAura::Remove(), DynObjAura::Remove(), DynamicObject::RemoveAura(), Unit::RemoveAura(), Unit::RemoveAura(), Unit::RemoveOwnedAura(), Unit::RemoveOwnedAura(), DynamicObject::Update(), and UpdateTargetMap().
| bool Aura::IsRemovedOnShapeLost | ( | Unit * | target | ) | const |
Definition at line 1089 of file SpellAuras.cpp.
References GetCasterGUID(), Object::GetGUID(), SpellInfo::HasAttribute(), m_spellInfo, SPELL_ATTR0_NOT_SHAPESHIFT, SPELL_ATTR2_NOT_NEED_SHAPESHIFT, and SpellInfo::Stances.
|
inline |
Definition at line 212 of file SpellAuras.h.
Referenced by Unit::_AddAura(), CanBeAppliedOn(), CanBeSaved(), Unit::RemoveAurasDueToSpellBySteal(), Unit::RemoveNotOwnSingleTargetAuras(), and Unit::RemoveOwnedAura().
| bool Aura::IsSingleTargetWith | ( | Aura const * | aura | ) | const |
Definition at line 1141 of file SpellAuras.cpp.
References GetSpellInfo(), SpellInfo::GetSpellSpecific(), SPELL_SPECIFIC_JUDGEMENT, and SPELL_SPECIFIC_MAGE_POLYMORPH.
Referenced by Unit::_AddAura().
|
inline |
Definition at line 247 of file SpellAuras.h.
Referenced by Player::ApplyModToSpell(), CanBeSaved(), GetProcEffectMask(), Player::IsAffectedBySpellmod(), ModCharges(), PrepareProcToTrigger(), and TriggerProcOnEvent().
| void Aura::LoadScripts | ( | ) |
Definition at line 2179 of file SpellAuras.cpp.
References SpellInfo::Id, m_loadedScripts, m_spellInfo, sScriptMgr, and TC_LOG_DEBUG.
Referenced by DynObjAura::DynObjAura(), and UnitAura::UnitAura().
| bool Aura::ModCharges | ( | int32 | num, |
| AuraRemoveMode | removeMode = AURA_REMOVE_BY_DEFAULT |
||
| ) |
Definition at line 957 of file SpellAuras.cpp.
References CalcMaxCharges(), IsUsingCharges(), m_procCharges, Remove(), and SetCharges().
Referenced by AuraScript::ModCharges(), ModChargesDelayed(), Unit::RemoveAurasDueToSpellByDispel(), and Unit::RemoveAurasDueToSpellBySteal().
| void Aura::ModChargesDelayed | ( | int32 | num, |
| AuraRemoveMode | removeMode = AURA_REMOVE_BY_DEFAULT |
||
| ) |
Definition at line 980 of file SpellAuras.cpp.
References m_dropEvent, and ModCharges().
Referenced by ChargeDropEvent::Execute().
| bool Aura::ModStackAmount | ( | int32 | num, |
| AuraRemoveMode | removeMode = AURA_REMOVE_BY_DEFAULT, |
||
| bool | resetPeriodicTimer = true |
||
| ) |
Definition at line 1023 of file SpellAuras.cpp.
References CalcMaxCharges(), GetStackAmount(), SpellInfo::HasAttribute(), m_spellInfo, m_stackAmount, RefreshTimers(), Remove(), SetCharges(), SetNeedClientUpdateForTargets(), SetStackAmount(), SPELL_ATTR1_DONT_REFRESH_DURATION_ON_RECAST, and SpellInfo::StackAmount.
Referenced by Spell::DoSpellEffectHit(), AuraScript::ModStackAmount(), Unit::RemoveAuraFromStack(), Unit::RemoveAurasDueToSpellByDispel(), and Unit::RemoveAurasDueToSpellBySteal().
| void Aura::PrepareProcToTrigger | ( | AuraApplication * | aurApp, |
| ProcEventInfo & | eventInfo, | ||
| TimePoint | now | ||
| ) |
Definition at line 1981 of file SpellAuras.cpp.
References AddProcCooldown(), ASSERT, CallScriptPrepareProcHandlers(), SpellProcEntry::Cooldown, GetId(), ProcEventInfo::GetSpellInfo(), SpellInfo::HasAttribute(), IsUsingCharges(), m_procCharges, SetNeedClientUpdateForTargets(), SPELL_ATTR6_DONT_CONSUME_PROC_CHARGES, and sSpellMgr.
| void Aura::RecalculateAmountOfEffects | ( | ) |
Definition at line 1225 of file SpellAuras.cpp.
References ASSERT, GetCaster(), HasEffect(), IsRemoved(), m_effects, MAX_SPELL_EFFECTS, and AuraEffect::RecalculateAmount().
Referenced by spell_dk_bloodworms::HandleProc().
| void Aura::RefreshDuration | ( | bool | withMods = false | ) |
Definition at line 898 of file SpellAuras.cpp.
References GetCaster(), Object::GetFloatValue(), GetMaxDuration(), SpellInfo::GetMaxDuration(), SpellInfo::HasAttribute(), Unit::HasAuraTypeWithAffectMask(), IN_MILLISECONDS, m_effects, m_spellInfo, m_timeCla, SpellInfo::ManaPerSecond, SpellInfo::ManaPerSecondPerLevel, MAX_SPELL_EFFECTS, SetDuration(), SetMaxDuration(), SPELL_ATTR5_HASTE_AFFECT_DURATION, SPELL_AURA_PERIODIC_HASTE, and UNIT_MOD_CAST_SPEED.
Referenced by spell_hun_chimera_shot::HandleScriptEffect(), AuraScript::RefreshDuration(), and RefreshTimers().
| void Aura::RefreshTimers | ( | bool | resetPeriodicTimer | ) |
Definition at line 923 of file SpellAuras.cpp.
References CalcMaxDuration(), GetCaster(), m_effects, m_maxDuration, MAX_SPELL_EFFECTS, and RefreshDuration().
Referenced by ModStackAmount().
|
pure virtual |
Implemented in UnitAura, and DynObjAura.
Referenced by Unit::_RemoveNoStackAurasDueToAura(), Player::ActivateTalentGroup(), spell_dragonblight_corrosive_spit::AfterApply(), Unit::CalcAbsorbResist(), Unit::CalcHealAbsorb(), spell_hadronox_periodic_summon_template_AuraScript::HandlePeriodic(), spell_item_nitro_boosts_backfire::HandlePeriodicDummy(), spell_volkhan_cool_down::HandlePeriodicDummyEffect(), ModCharges(), ModStackAmount(), spell_dragonblight_corrosive_spit::PeriodicTick(), AuraScript::Remove(), Unit::RemoveAura(), Unit::RemoveNotOwnSingleTargetAuras(), TriggerProcOnEvent(), and Update().
| void Aura::ResetProcCooldown | ( | ) |
Definition at line 1976 of file SpellAuras.cpp.
References m_procCooldown.
| void Aura::SaveCasterInfo | ( | Unit * | caster | ) |
Definition at line 493 of file SpellAuras.cpp.
References _casterInfo, CasterInfo::BonusDonePct, CalcPeriodicCritChance(), CasterInfo::CritChance, DOT, SpellInfo::GetEffects(), GetSpellInfo(), GetType(), GetUnitOwner(), SPELL_AURA_PERIODIC_DAMAGE, SPELL_AURA_PERIODIC_HEAL, SPELL_AURA_PERIODIC_LEECH, Unit::SpellDamagePctDone(), Unit::SpellHealingPctDone(), and UNIT_AURA_TYPE.
Referenced by Aura().
|
inline |
Definition at line 194 of file SpellAuras.h.
Referenced by SetLoadedState().
| void Aura::SetCharges | ( | uint8 | charges | ) |
Definition at line 934 of file SpellAuras.cpp.
References m_isUsingCharges, m_procCharges, and SetNeedClientUpdateForTargets().
Referenced by AuraEffect::HandleAuraDummy(), AuraEffect::HandleRaidProcFromChargeAuraProc(), AuraEffect::HandleRaidProcFromChargeWithValueAuraProc(), ModCharges(), ModStackAmount(), and AuraScript::SetCharges().
|
inline |
Definition at line 197 of file SpellAuras.h.
Referenced by SetLoadedState().
|
inline |
Definition at line 199 of file SpellAuras.h.
| void Aura::SetDuration | ( | int32 | duration, |
| bool | withMods = false |
||
| ) |
Definition at line 887 of file SpellAuras.cpp.
References GetCaster(), GetId(), WorldObject::GetSpellModOwner(), m_duration, SetNeedClientUpdateForTargets(), and SPELLMOD_DURATION.
Referenced by Unit::DelayOwnedAuras(), Spell::DoSpellEffectHit(), AuraEffect::HandleAuraDummy(), HandleAuraSpecificMods(), deserter_commandscript::HandleDeserterAdd(), misc_commandscript::HandleFreezeCommand(), spell_sha_t10_elemental_4p_bonus::HandleProc(), spell_dk_glyph_of_scourge_strike_script::HandleScriptEffect(), spell_dru_glyph_of_starfire::HandleScriptEffect(), instance_shattered_halls::instance_shattered_halls_InstanceMapScript::OnPlayerEnter(), Spell::prepare(), RefreshDuration(), AuraScript::SetDuration(), and DynamicObject::SetDuration().
|
inline |
Definition at line 214 of file SpellAuras.h.
Referenced by Unit::_AddAura(), Unit::RemoveAurasDueToSpellBySteal(), and UnregisterSingleTarget().
| void Aura::SetLoadedState | ( | int32 | maxDuration, |
| int32 | duration, | ||
| int32 | charges, | ||
| uint8 | stackAmount, | ||
| uint8 | recalculateMask, | ||
| float | critChance, | ||
| bool | applyResilience, | ||
| int32 * | amount | ||
| ) |
Definition at line 1192 of file SpellAuras.cpp.
References GetCaster(), m_duration, m_effects, m_isUsingCharges, m_maxDuration, m_procCharges, m_stackAmount, MAX_SPELL_EFFECTS, SetCanApplyResilience(), and SetCritChance().
|
inline |
Definition at line 169 of file SpellAuras.h.
Referenced by Spell::DoSpellEffectHit(), spell_sha_t10_elemental_4p_bonus::HandleProc(), spell_dk_glyph_of_scourge_strike_script::HandleScriptEffect(), spell_dru_glyph_of_starfire::HandleScriptEffect(), RefreshDuration(), and AuraScript::SetMaxDuration().
| void Aura::SetNeedClientUpdateForTargets | ( | ) | const |
Definition at line 1253 of file SpellAuras.cpp.
References m_applications.
Referenced by Unit::DelayOwnedAuras(), ModStackAmount(), PrepareProcToTrigger(), SetCharges(), SetDuration(), and SetStackAmount().
| void Aura::SetStackAmount | ( | uint8 | num | ) |
Definition at line 1000 of file SpellAuras.cpp.
References GetApplicationVector(), GetCaster(), GetEffect(), HandleAuraSpecificMods(), m_stackAmount, MAX_SPELL_EFFECTS, and SetNeedClientUpdateForTargets().
Referenced by Spell::DoSpellEffectHit(), AuraEffect::HandleAuraDummy(), ModStackAmount(), Unit::SetAuraStack(), AuraScript::SetStackAmount(), and boss_elder_brightleaf::boss_elder_brightleafAI::UpdateAI().
|
inline |
Definition at line 248 of file SpellAuras.h.
Referenced by AuraEffect::HandleRaidProcFromChargeAuraProc(), and AuraEffect::HandleRaidProcFromChargeWithValueAuraProc().
|
inline |
Definition at line 285 of file SpellAuras.h.
References DYNOBJ_AURA_TYPE.
Referenced by Spell::EffectPersistentAA().
|
inline |
Definition at line 286 of file SpellAuras.h.
References DYNOBJ_AURA_TYPE.
|
inline |
Definition at line 282 of file SpellAuras.h.
References UNIT_AURA_TYPE.
Referenced by Create(), and Spell::DoSpellEffectHit().
|
inline |
Definition at line 283 of file SpellAuras.h.
References UNIT_AURA_TYPE.
| void Aura::TriggerProcOnEvent | ( | uint8 | procEffectMask, |
| AuraApplication * | aurApp, | ||
| ProcEventInfo & | eventInfo | ||
| ) |
Definition at line 2148 of file SpellAuras.cpp.
References CallScriptAfterProcHandlers(), CallScriptProcHandlers(), GetCharges(), GetEffect(), AuraEffect::HandleProc(), AuraApplication::HasEffect(), IsUsingCharges(), MAX_SPELL_EFFECTS, and Remove().
Referenced by Unit::TriggerAurasProcOnEvent().
|
static |
Definition at line 340 of file SpellAuras.cpp.
References AuraCreateInfo::_auraEffectMask, AuraCreateInfo::_owner, AuraCreateInfo::_spellInfo, AuraCreateInfo::_targetEffectMask, BuildEffectMaskForOwner(), and Create().
Referenced by Pet::_LoadAuras(), Player::_LoadAuras(), and Spell::EffectPersistentAA().
|
static |
Definition at line 300 of file SpellAuras.cpp.
References AuraCreateInfo::_auraEffectMask, AuraCreateInfo::_owner, AuraCreateInfo::_spellInfo, AuraCreateInfo::_targetEffectMask, Unit::_TryStackingOrRefreshingExistingAura(), ASSERT_NODEBUGINFO, BuildEffectMaskForOwner(), AuraCreateInfo::Caster, AuraCreateInfo::CasterGUID, Create(), Object::GetGUID(), ObjectGuid::IsEmpty(), AuraCreateInfo::IsRefresh, and Object::ToUnit().
Referenced by Unit::AddAura(), Spell::DoSpellEffectHit(), misc_commandscript::HandleAuraCommand(), Unit::HandleSpellClick(), and Unit::RemoveAurasDueToSpellBySteal().
| void Aura::UnregisterSingleTarget | ( | ) |
Definition at line 1163 of file SpellAuras.cpp.
References ASSERT, GetCaster(), Unit::GetSingleCastAuras(), m_isSingleTarget, and SetIsSingleTarget().
Referenced by Unit::RemoveAurasDueToSpellBySteal(), and Unit::RemoveOwnedAura().
Definition at line 822 of file SpellAuras.cpp.
References Unit::GetHealth(), Unit::GetLevel(), Unit::GetPower(), m_duration, m_spellInfo, m_timeCla, SpellInfo::ManaPerSecond, SpellInfo::ManaPerSecondPerLevel, Unit::ModifyHealth(), Unit::ModifyPower(), POWER_HEALTH, SpellInfo::PowerType, and Remove().
Referenced by UpdateOwner().
| void Aura::UpdateOwner | ( | uint32 | diff, |
| WorldObject * | owner | ||
| ) |
Definition at line 783 of file SpellAuras.cpp.
References _DeleteRemovedApplications(), ASSERT, Unit::FindCurrentSpellBySpellId(), GetCaster(), GetId(), WorldObject::GetSpellModOwner(), m_effects, m_owner, m_updateTargetMapInterval, MAX_SPELL_EFFECTS, Player::SetSpellModTakingSpell(), AuraEffect::Update(), Update(), and UpdateTargetMap().
Referenced by Unit::_UpdateSpells(), and DynamicObject::Update().
| void Aura::UpdateTargetMap | ( | Unit * | caster, |
| bool | apply = true |
||
| ) |
Definition at line 625 of file SpellAuras.cpp.
References ABORT, ASSERT, AURA_REMOVE_BY_DEFAULT, CanBeAppliedOn(), CanStackWith(), DYNOBJ_AURA_TYPE, FillTargetMap(), GetApplicationOfTarget(), SpellInfo::GetEffects(), GetId(), GetOwner(), GetSpellInfo(), GetType(), IsRemoved(), WorldObject::IsSelfOrInSameMap(), m_applications, m_updateTargetMapInterval, TC_LOG_FATAL, UPDATE_TARGET_MAP_INTERVAL, and AuraApplication::UpdateApplyEffectMask().
Referenced by UpdateOwner().
|
friend |
Definition at line 126 of file SpellAuras.h.
|
protected |
Definition at line 322 of file SpellAuras.h.
Referenced by Aura(), and SaveCasterInfo().
|
private |
Definition at line 338 of file SpellAuras.h.
Referenced by _DeleteRemovedApplications(), and _UnapplyForTarget().
|
protected |
Definition at line 327 of file SpellAuras.h.
Referenced by _ApplyEffectForTargets(), _ApplyForTarget(), _Remove(), _UnapplyForTarget(), GetApplicationVector(), SetNeedClientUpdateForTargets(), UpdateTargetMap(), and ~Aura().
|
protected |
Definition at line 314 of file SpellAuras.h.
|
protected |
Definition at line 312 of file SpellAuras.h.
|
protected |
Definition at line 313 of file SpellAuras.h.
Referenced by _ApplyForTarget(), and CanStackWith().
|
protected |
Definition at line 333 of file SpellAuras.h.
Referenced by _Remove(), DropChargeDelayed(), and ModChargesDelayed().
|
protected |
Definition at line 318 of file SpellAuras.h.
Referenced by Aura(), SetDuration(), SetLoadedState(), and Update().
|
protected |
Definition at line 326 of file SpellAuras.h.
Referenced by _InitEffects(), Aura(), HandleAllEffects(), HasEffectType(), RecalculateAmountOfEffects(), RefreshDuration(), RefreshTimers(), SetLoadedState(), UpdateOwner(), and ~Aura().
|
protected |
Definition at line 329 of file SpellAuras.h.
Referenced by _Remove().
|
protected |
Definition at line 330 of file SpellAuras.h.
Referenced by UnregisterSingleTarget().
|
protected |
Definition at line 331 of file SpellAuras.h.
Referenced by Aura(), SetCharges(), and SetLoadedState().
| std::vector<AuraScript*> Aura::m_loadedScripts |
Definition at line 294 of file SpellAuras.h.
Referenced by CallScriptAfterDispel(), CallScriptAfterEffectApplyHandlers(), CallScriptAfterEffectProcHandlers(), CallScriptAfterEffectRemoveHandlers(), CallScriptAfterProcHandlers(), CallScriptCheckAreaTargetHandlers(), CallScriptCheckEffectProcHandlers(), CallScriptCheckProcHandlers(), CallScriptDispel(), CallScriptEffectAbsorbHandlers(), CallScriptEffectAfterAbsorbHandlers(), CallScriptEffectAfterManaShieldHandlers(), CallScriptEffectApplyHandlers(), CallScriptEffectCalcAmountHandlers(), CallScriptEffectCalcPeriodicHandlers(), CallScriptEffectCalcSpellModHandlers(), CallScriptEffectManaShieldHandlers(), CallScriptEffectPeriodicHandlers(), CallScriptEffectProcHandlers(), CallScriptEffectRemoveHandlers(), CallScriptEffectSplitHandlers(), CallScriptEffectUpdatePeriodicHandlers(), CallScriptPrepareProcHandlers(), CallScriptProcHandlers(), GetScriptByName(), LoadScripts(), and ~Aura().
|
protected |
Definition at line 317 of file SpellAuras.h.
Referenced by Aura(), RefreshTimers(), and SetLoadedState().
|
protected |
Definition at line 315 of file SpellAuras.h.
Referenced by DropChargeDelayed(), GetType(), and UpdateOwner().
|
protected |
Definition at line 323 of file SpellAuras.h.
Referenced by Aura(), ModCharges(), PrepareProcToTrigger(), SetCharges(), and SetLoadedState().
|
protected |
Definition at line 335 of file SpellAuras.h.
Referenced by AddProcCooldown(), IsProcOnCooldown(), and ResetProcCooldown().
|
private |
Definition at line 341 of file SpellAuras.h.
Referenced by _Remove().
|
protected |
Definition at line 311 of file SpellAuras.h.
Referenced by _ApplyForTarget(), Aura(), CalcMaxCharges(), CallScriptAfterEffectApplyHandlers(), CallScriptAfterEffectProcHandlers(), CallScriptAfterEffectRemoveHandlers(), CallScriptCheckEffectProcHandlers(), CallScriptEffectAbsorbHandlers(), CallScriptEffectAfterAbsorbHandlers(), CallScriptEffectAfterManaShieldHandlers(), CallScriptEffectApplyHandlers(), CallScriptEffectCalcAmountHandlers(), CallScriptEffectCalcPeriodicHandlers(), CallScriptEffectCalcSpellModHandlers(), CallScriptEffectManaShieldHandlers(), CallScriptEffectPeriodicHandlers(), CallScriptEffectProcHandlers(), CallScriptEffectRemoveHandlers(), CallScriptEffectSplitHandlers(), CallScriptEffectUpdatePeriodicHandlers(), CanStackWith(), UnitAura::FillTargetMap(), DynObjAura::FillTargetMap(), GetProcEffectMask(), HandleAuraSpecificMods(), IsRemovedOnShapeLost(), LoadScripts(), ModStackAmount(), RefreshDuration(), and Update().
|
protected |
Definition at line 324 of file SpellAuras.h.
Referenced by ModStackAmount(), SetLoadedState(), and SetStackAmount().
|
protected |
Definition at line 319 of file SpellAuras.h.
Referenced by Aura(), RefreshDuration(), and Update().
|
protected |
Definition at line 320 of file SpellAuras.h.
Referenced by UpdateOwner(), and UpdateTargetMap().