![]() |
TrinityCore
|
#include <SpellAuras.h>
Public Member Functions | |
| Unit * | GetTarget () const |
| Aura * | GetBase () const |
| uint8 | GetSlot () const |
| uint8 | GetFlags () const |
| uint8 | GetEffectMask () const |
| bool | HasEffect (uint8 effect) const |
| bool | IsPositive () const |
| bool | IsSelfcast () const |
| uint8 | GetEffectsToApply () const |
| void | UpdateApplyEffectMask (uint8 newEffMask, bool canHandleNewEffects) |
| void | SetRemoveMode (AuraRemoveMode mode) |
| AuraRemoveMode | GetRemoveMode () const |
| void | SetNeedClientUpdate () |
| bool | IsNeedClientUpdate () const |
| void | BuildUpdatePacket (WorldPackets::Spells::AuraInfo &auraInfo, bool remove) const |
| void | ClientUpdate (bool remove=false) |
| std::string | GetDebugInfo () const |
Private Member Functions | |
| AuraApplication (Unit *target, Unit *caster, Aura *base, uint8 effMask) | |
| void | _Remove () |
| void | _InitFlags (Unit *caster, uint8 effMask) |
| void | _HandleEffect (uint8 effIndex, bool apply) |
Private Attributes | |
| Unit *const | _target |
| Aura *const | _base |
| AuraRemoveMode | _removeMode |
| uint8 | _slot |
| uint8 | _flags |
| uint8 | _effectsToApply |
| bool | _needClientUpdate |
Friends | |
| class | Unit |
Definition at line 54 of file SpellAuras.h.
|
explicitprivate |
Definition at line 52 of file SpellAuras.cpp.
References _InitFlags(), _slot, ASSERT, GetBase(), GetEffectMask(), GetTarget(), Unit::GetVisibleAuras(), MAX_AURAS, SetNeedClientUpdate(), Unit::SetVisibleAura(), TC_LOG_DEBUG, and TC_LOG_ERROR.
|
private |
Definition at line 165 of file SpellAuras.cpp.
References _effectsToApply, _flags, ASSERT, AURA_EFFECT_HANDLE_REAL, AuraEffect::CleanupTriggeredSpells(), AuraEffect::GetAmount(), AuraEffect::GetAuraType(), GetBase(), Aura::GetEffect(), GetTarget(), AuraEffect::HandleEffect(), HasEffect(), SetNeedClientUpdate(), and TC_LOG_DEBUG.
Referenced by Unit::_ApplyAura(), Unit::_ApplyAuraEffect(), Unit::_UnapplyAura(), Unit::RemoveAura(), and UpdateApplyEffectMask().
Definition at line 128 of file SpellAuras.cpp.
References _flags, AFLAG_NEGATIVE, AFLAG_NONE, AFLAG_POSITIVE, AFLAG_SELF_CAST, GetBase(), Aura::GetCasterGUID(), SpellInfo::GetEffects(), Object::GetGUID(), Aura::GetSpellInfo(), GetTarget(), WorldObject::IsFriendlyTo(), SpellInfo::IsPositiveEffect(), and IsSelfcast().
Referenced by AuraApplication().
|
private |
Definition at line 98 of file SpellAuras.cpp.
References _target, ClientUpdate(), Unit::GetAuraApplication(), GetBase(), GetSlot(), GetTarget(), MAX_AURAS, Unit::RemoveVisibleAura(), and Unit::SetVisibleAura().
Referenced by Unit::_UnapplyAura().
| void AuraApplication::BuildUpdatePacket | ( | WorldPackets::Spells::AuraInfo & | auraInfo, |
| bool | remove | ||
| ) | const |
Definition at line 219 of file SpellAuras.cpp.
References _slot, _target, AFLAG_DURATION, AFLAG_SELF_CAST, WorldPackets::Spells::AuraDataInfo::Applications, ASSERT, WorldPackets::Spells::AuraInfo::AuraData, WorldPackets::Spells::AuraDataInfo::CastLevel, WorldPackets::Spells::AuraDataInfo::CastUnit, WorldPackets::Spells::AuraDataInfo::Duration, DYNOBJ_AURA_TYPE, WorldPackets::Spells::AuraDataInfo::Flags, GetBase(), Aura::GetCasterGUID(), Aura::GetCasterLevel(), Aura::GetCharges(), Aura::GetDuration(), GetFlags(), Aura::GetId(), Aura::GetMaxDuration(), GetSlot(), Aura::GetSpellInfo(), Aura::GetStackAmount(), Aura::GetType(), Unit::GetVisibleAura(), SpellInfo::HasAttribute(), WorldPackets::Spells::AuraDataInfo::Remaining, WorldPackets::Spells::AuraInfo::Slot, SPELL_ATTR5_HIDE_DURATION, WorldPackets::Spells::AuraDataInfo::SpellID, and SpellInfo::StackAmount.
Referenced by ClientUpdate().
| void AuraApplication::ClientUpdate | ( | bool | remove = false | ) |
Definition at line 251 of file SpellAuras.cpp.
References _needClientUpdate, _target, WorldPackets::Spells::AuraUpdate::Aura, BuildUpdatePacket(), Object::GetGUID(), GetTarget(), WorldObject::SendMessageToSet(), WorldPackets::Spells::AuraUpdate::UnitGUID, and WorldPackets::Spells::AuraUpdate::Write().
Referenced by _Remove().
|
inline |
Definition at line 75 of file SpellAuras.h.
Referenced by Unit::_ApplyAura(), Unit::_EnterVehicle(), _HandleEffect(), _InitFlags(), Battleground::_ProcessJoin(), _Remove(), Unit::_RemoveNoStackAurasDueToAura(), Unit::_UnapplyAura(), Unit::_UnapplyAura(), Aura::_UnapplyForTarget(), SpellInfo::ApplyAllSpellImmunitiesTo(), AuraApplication(), WorldSession::BuildPartyMemberStatsChangedPacket(), BuildUpdatePacket(), Unit::CalcAbsorbResist(), VehicleJoinEvent::Execute(), Unit::GetAura(), Unit::GetAuraApplication(), Unit::GetAuraOfRankedSpell(), GetDebugInfo(), WorldSession::HandleCancelGrowthAuraOpcode(), WorldSession::HandleCancelMountAuraOpcode(), SmartAI::OnAuraApplied(), SmartAI::OnAuraRemoved(), Unit::RemoveArenaAuras(), Unit::RemoveAura(), Unit::RemoveAura(), Unit::RemoveAurasWithMechanic(), Unit::RestoreDisplayId(), and Unit::TriggerAurasProcOnEvent().
| std::string AuraApplication::GetDebugInfo | ( | ) | const |
Definition at line 262 of file SpellAuras.cpp.
References GetBase(), Aura::GetDebugInfo(), Unit::GetDebugInfo(), and GetTarget().
|
inline |
Definition at line 79 of file SpellAuras.h.
References AFLAG_EFF_INDEX_0, AFLAG_EFF_INDEX_1, and AFLAG_EFF_INDEX_2.
Referenced by Unit::_ApplyAuraEffect(), Unit::_UnapplyAura(), AuraApplication(), Aura::GetProcEffectMask(), and Unit::RemoveAurasWithMechanic().
|
inline |
Definition at line 84 of file SpellAuras.h.
Referenced by Spell::EffectApplyAura().
|
inline |
Definition at line 78 of file SpellAuras.h.
Referenced by WorldSession::BuildPartyMemberStatsChangedPacket(), and BuildUpdatePacket().
|
inline |
Definition at line 88 of file SpellAuras.h.
Referenced by Unit::_ApplyAura(), Unit::_EnterVehicle(), Unit::_UnapplyAura(), Aura::_UnapplyForTarget(), spell_huhuran_wyvern_sting::AfterRemove(), spell_leotheras_the_blind_insidious_whisper_aura::AfterRemove(), spell_mage_living_bomb::AfterRemove(), VehicleJoinEvent::Execute(), AuraEffect::HandleAuraDummy(), AuraEffect::HandleAuraModShapeshift(), Aura::HandleAuraSpecificMods(), AuraEffect::HandleChannelDeathItem(), AuraEffect::HandleEffect(), spell_illidan_parasitic_shadowfiend::HandleEffectRemove(), AuraEffect::HandleFeignDeath(), spell_grobbulus_mutating_injection::HandleRemove(), spell_illidari_dampen_magic::OnRemove(), spell_warl_curse_of_doom::OnRemove(), Unit::RemoveAura(), Unit::RemoveAura(), Unit::SetCharmedBy(), and Unit::TriggerAurasProcOnEvent().
|
inline |
Definition at line 77 of file SpellAuras.h.
Referenced by _Remove(), and BuildUpdatePacket().
|
inline |
Definition at line 74 of file SpellAuras.h.
Referenced by _HandleEffect(), _InitFlags(), _Remove(), Aura::_Remove(), Unit::_UnapplyAura(), AuraApplication(), ClientUpdate(), GetDebugInfo(), Aura::GetProcEffectMask(), AuraScript::GetTarget(), AuraEffect::HandleArenaPreparation(), AuraEffect::HandleAuraAllowFlight(), AuraEffect::HandleAuraAllowOnlyAbility(), AuraEffect::HandleAuraCloneCaster(), AuraEffect::HandleAuraControlVehicle(), AuraEffect::HandleAuraConvertRune(), AuraEffect::HandleAuraDummy(), AuraEffect::HandleAuraEmpathy(), AuraEffect::HandleAuraFeatherFall(), AuraEffect::HandleAuraGhost(), AuraEffect::HandleAuraHover(), AuraEffect::HandleAuraIncreaseBaseHealthPercent(), AuraEffect::HandleAuraLinked(), AuraEffect::HandleAuraModAttackPower(), AuraEffect::HandleAuraModAttackPowerOfStatPercent(), AuraEffect::HandleAuraModAttackPowerPercent(), AuraEffect::HandleAuraModBaseResistancePCT(), AuraEffect::HandleAuraModBlockPercent(), AuraEffect::HandleAuraModCritPct(), AuraEffect::HandleAuraModDecreaseSpeed(), AuraEffect::HandleAuraModDisarm(), AuraEffect::HandleAuraModDispelImmunity(), AuraEffect::HandleAuraModDmgImmunity(), AuraEffect::HandleAuraModDodgePercent(), AuraEffect::HandleAuraModEffectImmunity(), AuraEffect::HandleAuraModExpertise(), AuraEffect::HandleAuraModFaction(), AuraEffect::HandleAuraModFakeInebriation(), AuraEffect::HandleAuraModIncreaseEnergy(), AuraEffect::HandleAuraModIncreaseEnergyPercent(), AuraEffect::HandleAuraModIncreaseFlightSpeed(), AuraEffect::HandleAuraModIncreaseHealth(), AuraEffect::HandleAuraModIncreaseHealthPercent(), AuraEffect::HandleAuraModIncreaseMaxHealth(), AuraEffect::HandleAuraModIncreaseSpeed(), AuraEffect::HandleAuraModIncreaseSwimSpeed(), AuraEffect::HandleAuraModPacify(), AuraEffect::HandleAuraModPacifyAndSilence(), AuraEffect::HandleAuraModParryPercent(), AuraEffect::HandleAuraModPetTalentsPoints(), AuraEffect::HandleAuraModRangedAttackPower(), AuraEffect::HandleAuraModRangedAttackPowerOfStatPercent(), AuraEffect::HandleAuraModRangedAttackPowerPercent(), AuraEffect::HandleAuraModRangedHaste(), AuraEffect::HandleAuraModResistance(), AuraEffect::HandleAuraModResistanceExclusive(), AuraEffect::HandleAuraModResistenceOfStatPercent(), AuraEffect::HandleAuraModRoot(), AuraEffect::HandleAuraModScale(), AuraEffect::HandleAuraModSchoolImmunity(), AuraEffect::HandleAuraModShapeshift(), AuraEffect::HandleAuraModSilence(), AuraEffect::HandleAuraModSkill(), AuraEffect::HandleAuraModStalked(), AuraEffect::HandleAuraModStat(), AuraEffect::HandleAuraModStateImmunity(), AuraEffect::HandleAuraModStun(), AuraEffect::HandleAuraModTotalThreat(), AuraEffect::HandleAuraModUseNormalSpeed(), AuraEffect::HandleAuraModWeaponCritPercent(), AuraEffect::HandleAuraMounted(), AuraEffect::HandleAuraOpenStable(), AuraEffect::HandleAuraOverrideSpells(), AuraEffect::HandleAuraPreventRegeneratePower(), AuraEffect::HandleAuraRetainComboPoints(), AuraEffect::HandleAuraSetVehicle(), Aura::HandleAuraSpecificMods(), AuraEffect::HandleAuraTrackCreatures(), AuraEffect::HandleAuraTrackResources(), AuraEffect::HandleAuraTrackStealthed(), AuraEffect::HandleAuraTransform(), AuraEffect::HandleAuraUntrackable(), AuraEffect::HandleAuraWaterWalk(), AuraEffect::HandleBindSight(), AuraEffect::HandleBreakableCCAuraProc(), AuraEffect::HandleChannelDeathItem(), AuraEffect::HandleCharmConvert(), AuraEffect::HandleComprehendLanguage(), AuraEffect::HandleDetectAmore(), AuraEffect::HandleEffect(), AuraEffect::HandleFeignDeath(), AuraEffect::HandleForceMoveForward(), AuraEffect::HandleForceReaction(), AuraEffect::HandleModAttackSpeed(), AuraEffect::HandleModBaseResistance(), AuraEffect::HandleModCastingSpeed(), AuraEffect::HandleModCharm(), AuraEffect::HandleModCombatSpeedPct(), AuraEffect::HandleModConfuse(), AuraEffect::HandleModDamageDone(), AuraEffect::HandleModDamagePercentDone(), AuraEffect::HandleModDetaunt(), AuraEffect::HandleModFear(), AuraEffect::HandleModHealingDone(), AuraEffect::HandleModInvisibility(), AuraEffect::HandleModInvisibilityDetect(), AuraEffect::HandleModManaRegen(), AuraEffect::HandleModMechanicImmunity(), AuraEffect::HandleModMechanicImmunityMask(), AuraEffect::HandleModMeleeRangedSpeedPct(), AuraEffect::HandleModMeleeSpeedPct(), AuraEffect::HandleModOffhandDamagePercent(), AuraEffect::HandleModPercentStat(), AuraEffect::HandleModPossess(), AuraEffect::HandleModPossessPet(), AuraEffect::HandleModPowerCost(), AuraEffect::HandleModPowerCostPCT(), AuraEffect::HandleModPowerRegen(), AuraEffect::HandleModRating(), AuraEffect::HandleModRatingFromStat(), AuraEffect::HandleModResistancePercent(), AuraEffect::HandleModSpellCritChance(), AuraEffect::HandleModSpellCritChanceShool(), AuraEffect::HandleModSpellDamagePercentFromAttackPower(), AuraEffect::HandleModSpellDamagePercentFromStat(), AuraEffect::HandleModSpellHealingPercentFromAttackPower(), AuraEffect::HandleModSpellHealingPercentFromStat(), AuraEffect::HandleModSpellHitChance(), AuraEffect::HandleModStealth(), AuraEffect::HandleModStealthDetect(), AuraEffect::HandleModStealthLevel(), AuraEffect::HandleModTargetResistance(), AuraEffect::HandleModTaunt(), AuraEffect::HandleModThreat(), AuraEffect::HandleModTotalPercentStat(), AuraEffect::HandleModUnattackable(), AuraEffect::HandleNoReagentUseAura(), AuraEffect::HandlePhase(), AuraEffect::HandlePreventFleeing(), AuraEffect::HandlePreventResurrection(), AuraEffect::HandleProcTriggerDamageAuraProc(), AuraEffect::HandleProcTriggerSpellAuraProc(), AuraEffect::HandleProcTriggerSpellWithValueAuraProc(), AuraEffect::HandleRaidProcFromChargeAuraProc(), AuraEffect::HandleRaidProcFromChargeWithValueAuraProc(), AuraEffect::HandleRangedAmmoHaste(), AuraEffect::HandleShieldBlockValue(), AuraEffect::HandleShieldBlockValuePercent(), AuraEffect::HandleSpiritOfRedemption(), AuraEffect::HandleWaterBreathing(), AuraEffect::PeriodicTick(), and Unit::RemoveAreaAurasDueToLeaveWorld().
|
inline |
Definition at line 80 of file SpellAuras.h.
References ASSERT, and MAX_SPELL_EFFECTS.
Referenced by _HandleEffect(), Unit::_UnapplyAura(), Unit::RemoveAura(), Aura::TriggerProcOnEvent(), and UpdateApplyEffectMask().
|
inline |
Definition at line 91 of file SpellAuras.h.
|
inline |
Definition at line 81 of file SpellAuras.h.
References AFLAG_POSITIVE.
Referenced by Battleground::_ProcessJoin(), SpellInfo::ApplyAllSpellImmunitiesTo(), Spell::EffectStealBeneficialBuff(), Unit::GetDispellableAuraList(), Unit::RemoveArenaAuras(), and Unit::RemoveAurasByType().
|
inline |
|
inline |
Definition at line 90 of file SpellAuras.h.
Referenced by _HandleEffect(), and AuraApplication().
|
inline |
Definition at line 87 of file SpellAuras.h.
Referenced by Unit::_UnapplyAura().
| void AuraApplication::UpdateApplyEffectMask | ( | uint8 | newEffMask, |
| bool | canHandleNewEffects | ||
| ) |
Definition at line 191 of file SpellAuras.cpp.
References _effectsToApply, _HandleEffect(), _target, Unit::_UnapplyAura(), AURA_REMOVE_BY_DEFAULT, HasEffect(), and MAX_SPELL_EFFECTS.
Referenced by Spell::EffectApplyAura(), and Aura::UpdateTargetMap().
|
friend |
Definition at line 56 of file SpellAuras.h.
|
private |
Definition at line 60 of file SpellAuras.h.
|
private |
Definition at line 64 of file SpellAuras.h.
Referenced by _HandleEffect(), and UpdateApplyEffectMask().
|
private |
Definition at line 63 of file SpellAuras.h.
Referenced by _HandleEffect(), and _InitFlags().
|
private |
Definition at line 65 of file SpellAuras.h.
Referenced by ClientUpdate().
|
private |
Definition at line 61 of file SpellAuras.h.
|
private |
Definition at line 62 of file SpellAuras.h.
Referenced by AuraApplication(), and BuildUpdatePacket().
|
private |
Definition at line 59 of file SpellAuras.h.
Referenced by _Remove(), BuildUpdatePacket(), ClientUpdate(), and UpdateApplyEffectMask().