![]() |
TrinityCore
|
#include <SpellAuras.h>
Public Member Functions | |
| Unit * | GetTarget () const |
| Aura * | GetBase () const |
| uint16 | GetSlot () const |
| uint16 | GetFlags () const |
| uint32 | GetEffectMask () const |
| bool | HasEffect (uint8 effect) const |
| bool | IsPositive () const |
| bool | IsSelfcast () const |
| uint32 | GetEffectsToApply () const |
| void | UpdateApplyEffectMask (uint32 newEffMask, bool canHandleNewEffects) |
| void | AddEffectToApplyEffectMask (SpellEffIndex spellEffectIndex) |
| void | SetRemoveMode (AuraRemoveMode mode) |
| AuraRemoveMode | GetRemoveMode () const |
| void | SetNeedClientUpdate () |
| bool | IsNeedClientUpdate () const |
| void | BuildUpdatePacket (WorldPackets::Spells::AuraInfo &auraInfo, bool remove) |
| void | ClientUpdate (bool remove=false) |
| std::string | GetDebugInfo () const |
Private Member Functions | |
| AuraApplication (Unit *target, Unit *caster, Aura *base, uint32 effMask) | |
| void | _Remove () |
| void | _InitFlags (Unit *caster, uint32 effMask) |
| void | _HandleEffect (uint8 effIndex, bool apply) |
Private Attributes | |
| Unit *const | _target |
| Aura *const | _base |
| AuraRemoveMode | _removeMode:8 |
| uint16 | _slot |
| uint16 | _flags |
| uint32 | _effectsToApply |
| bool | _needClientUpdate:1 |
| uint32 | _effectMask |
Friends | |
| class | Unit |
Definition at line 60 of file SpellAuras.h.
|
explicitprivate |
Definition at line 72 of file SpellAuras.cpp.
References _InitFlags(), _needClientUpdate, _slot, ASSERT, GetBase(), GetEffectMask(), GetSlot(), GetTarget(), Unit::GetVisibleAuras(), MAX_AURAS, Unit::SetVisibleAura(), TC_LOG_DEBUG, and TC_LOG_ERROR.
|
private |
Definition at line 159 of file SpellAuras.cpp.
References _effectMask, _effectsToApply, ASSERT, AURA_EFFECT_HANDLE_REAL, AuraEffect::GetAmount(), AuraEffect::GetAuraType(), GetBase(), Aura::GetEffect(), AuraEffect::HandleEffect(), HasEffect(), SetNeedClientUpdate(), TC_LOG_DEBUG, and TC_LOG_ERROR.
Referenced by Unit::_ApplyAura(), Unit::_ApplyAuraEffect(), Unit::_UnapplyAura(), Unit::RemoveAura(), and UpdateApplyEffectMask().
Definition at line 113 of file SpellAuras.cpp.
References _flags, AFLAG_NEGATIVE, AFLAG_NONE, AFLAG_POSITIVE, AFLAG_SCALABLE, AFLAG_SELF_CAST, Aura::EffectTypeNeedsSendingAmount(), Aura::GetAuraEffectCount(), GetBase(), Aura::GetCasterGUID(), GetEffectsToApply(), BaseEntity::GetGUID(), Aura::GetSpellInfo(), GetTarget(), SpellInfo::HasAttribute(), WorldObject::IsFriendlyTo(), SpellInfo::IsPositiveEffect(), IsSelfcast(), and SPELL_ATTR8_AURA_POINTS_ON_CLIENT.
Referenced by AuraApplication().
|
private |
Definition at line 103 of file SpellAuras.cpp.
References ClientUpdate(), GetSlot(), GetTarget(), MAX_AURAS, and Unit::RemoveVisibleAura().
Referenced by Unit::_UnapplyAura().
| void AuraApplication::AddEffectToApplyEffectMask | ( | SpellEffIndex | spellEffectIndex | ) |
Definition at line 216 of file SpellAuras.cpp.
References _effectsToApply, _flags, AFLAG_SCALABLE, Aura::EffectTypeNeedsSendingAmount(), and GetBase().
Referenced by Spell::EffectApplyAura().
| void AuraApplication::BuildUpdatePacket | ( | WorldPackets::Spells::AuraInfo & | auraInfo, |
| bool | remove | ||
| ) |
Definition at line 235 of file SpellAuras.cpp.
References _target, WorldPackets::Spells::AuraDataInfo::ActiveFlags, AFLAG_DURATION, AFLAG_SCALABLE, AFLAG_SELF_CAST, WorldPackets::Spells::AuraDataInfo::Applications, ASSERT, WorldPackets::Spells::AuraInfo::AuraData, WorldPackets::Spells::AuraDataInfo::CastID, WorldPackets::Spells::AuraDataInfo::CastItem, WorldPackets::Spells::AuraDataInfo::CastLevel, WorldPackets::Spells::AuraDataInfo::CastUnit, WorldPackets::Spells::AuraDataInfo::Duration, DYNOBJ_AURA_TYPE, ObjectGuid::Empty, Trinity::Containers::EnsureWritableVectorIndex(), WorldPackets::Spells::AuraDataInfo::EstimatedPoints, WorldPackets::Spells::AuraDataInfo::Flags, Aura::GetAuraEffectCount(), Aura::GetAuraEffects(), GetBase(), Aura::GetCasterGUID(), Aura::GetCasterLevel(), Aura::GetCastId(), Aura::GetCastItemGUID(), Aura::GetCastItemLevel(), Aura::GetCharges(), Aura::GetDuration(), GetEffectMask(), GetFlags(), Aura::GetId(), Aura::GetMaxDuration(), GetSlot(), Aura::GetSpellInfo(), Aura::GetSpellVisual(), Aura::GetStackAmount(), Aura::GetType(), SpellInfo::HasAttribute(), HasEffect(), Unit::HasVisibleAura(), ObjectGuid::IsEmpty(), ObjectGuid::IsUnit(), Aura::IsUsingStacks(), WorldPackets::Spells::AuraDataInfo::Points, WorldPackets::Spells::AuraDataInfo::Remaining, WorldPackets::Spells::AuraInfo::Slot, SPELL_ATTR11_SCALES_WITH_ITEM_LEVEL, SPELL_ATTR5_DO_NOT_DISPLAY_DURATION, WorldPackets::Spells::AuraDataInfo::SpellID, and WorldPackets::Spells::AuraDataInfo::Visual.
Referenced by ClientUpdate().
| void AuraApplication::ClientUpdate | ( | bool | remove = false | ) |
Definition at line 300 of file SpellAuras.cpp.
References _needClientUpdate, _target, WorldPackets::Spells::AuraUpdate::Auras, BuildUpdatePacket(), BaseEntity::GetGUID(), GetTarget(), WorldObject::SendMessageToSet(), WorldPackets::Spells::AuraUpdate::UnitGUID, WorldPackets::Spells::AuraUpdate::UpdateAll, and WorldPackets::Spells::AuraUpdate::Write().
Referenced by _Remove().
|
inline |
Definition at line 82 of file SpellAuras.h.
Referenced by Unit::_ApplyAura(), Unit::_EnterVehicle(), _HandleEffect(), _InitFlags(), Battleground::_ProcessJoin(), Unit::_RemoveNoStackAurasDueToAura(), Unit::_UnapplyAura(), Unit::_UnapplyAura(), Aura::_UnapplyForTarget(), AddEffectToApplyEffectMask(), SpellInfo::ApplyAllSpellImmunitiesTo(), Player::ApplyArtifactPowerRank(), Unit::AtEnterCombat(), Unit::AtExitCombat(), AuraApplication(), BuildUpdatePacket(), Unit::CalcAbsorbResist(), Unit::CancelMountAura(), Spell::TargetInfo::DoDamageAndTriggers(), Spell::EffectRemoveAuraBySpellLabel(), VehicleJoinEvent::Execute(), Unit::GetAura(), Unit::GetAura(), Unit::GetAura(), Unit::GetAuraApplication(), Unit::GetAuraOfRankedSpell(), GetDebugInfo(), Unit::GetProcAurasTriggeredOnEvent(), GetUnitConditionVariable(), WorldSession::HandleCancelGrowthAuraOpcode(), WorldSession::HandleCancelModSpeedNoControlAuras(), WorldSession::HandleCancelMountAuraOpcode(), SmartAI::OnAuraApplied(), SmartAI::OnAuraRemoved(), Unit::RemoveArenaAuras(), Unit::RemoveAura(), Unit::RemoveAura(), Unit::RemoveAurasOnEvade(), Unit::RemoveAurasWithMechanic(), Unit::RestoreDisplayId(), Unit::TriggerAurasProcOnEvent(), and UpdateApplyEffectMask().
| std::string AuraApplication::GetDebugInfo | ( | ) | const |
Definition at line 312 of file SpellAuras.cpp.
References GetBase(), Aura::GetDebugInfo(), Unit::GetDebugInfo(), and GetTarget().
|
inline |
Definition at line 86 of file SpellAuras.h.
Referenced by Unit::_ApplyAuraEffect(), Unit::_UnapplyAura(), AuraApplication(), BuildUpdatePacket(), Aura::GetProcEffectMask(), GetUnitConditionVariable(), and Unit::RemoveAurasWithMechanic().
|
inline |
Definition at line 91 of file SpellAuras.h.
Referenced by _InitFlags().
|
inline |
Definition at line 85 of file SpellAuras.h.
Referenced by BuildUpdatePacket(), and GetUnitConditionVariable().
|
inline |
Definition at line 96 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_monk_burst_of_life::AfterRemove(), VehicleJoinEvent::Execute(), spell_sha_maelstrom_weapon_proc::ExpireMaelstromAuras(), AuraEffect::HandleAuraDummy(), AuraEffect::HandleAuraModShapeshift(), Aura::HandleAuraSpecificMods(), AuraEffect::HandleBattlegroundPlayerPosition(), AuraEffect::HandleChannelDeathItem(), AuraEffect::HandleEffect(), spell_illidan_parasitic_shadowfiend::HandleEffectRemove(), AuraEffect::HandleFeignDeath(), AuraEffect::HandlePlayScene(), spell_grobbulus_mutating_injection::HandleRemove(), AuraEffect::HandleTriggerSpellOnExpire(), spell_volatile_foam_aura< SpellIdOnExpire >::OnRemove(), spell_illidari_dampen_magic::OnRemove(), Unit::RemoveAura(), Unit::RemoveAura(), Unit::SetCharmedBy(), SetNeedClientUpdate(), and Unit::TriggerAurasProcOnEvent().
|
inline |
Definition at line 84 of file SpellAuras.h.
Referenced by _Remove(), AuraApplication(), BuildUpdatePacket(), Unit::VisibleAuraSlotCompare::operator()(), and SetNeedClientUpdate().
|
inline |
Definition at line 81 of file SpellAuras.h.
Referenced by _InitFlags(), _Remove(), Aura::_Remove(), Unit::_UnapplyAura(), AuraApplication(), ClientUpdate(), GetDebugInfo(), Unit::GetProcAurasTriggeredOnEvent(), Aura::GetProcEffectMask(), AuraScript::GetTarget(), AuraEffect::HandleAllowUsingGameobjectsWhileMounted(), AuraEffect::HandleArenaPreparation(), AuraEffect::HandleAuraActAsControlZone(), AuraEffect::HandleAuraAllowFlight(), AuraEffect::HandleAuraAllowTalentSwapping(), AuraEffect::HandleAuraCanTurnWhileFalling(), AuraEffect::HandleAuraCloneCaster(), AuraEffect::HandleAuraControlVehicle(), AuraEffect::HandleAuraDisableGravity(), AuraEffect::HandleAuraDummy(), AuraEffect::HandleAuraEmpathy(), AuraEffect::HandleAuraFeatherFall(), AuraEffect::HandleAuraForceWeather(), AuraEffect::HandleAuraGhost(), AuraEffect::HandleAuraHover(), AuraEffect::HandleAuraIncreaseBaseHealthPercent(), AuraEffect::HandleAuraLinked(), AuraEffect::HandleAuraModAdvFlyingSpeed(), AuraEffect::HandleAuraModAttackPower(), 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::HandleAuraModFixate(), AuraEffect::HandleAuraModIncreaseBaseManaPercent(), AuraEffect::HandleAuraModIncreaseEnergy(), AuraEffect::HandleAuraModIncreaseEnergyPercent(), AuraEffect::HandleAuraModIncreaseFlightSpeed(), AuraEffect::HandleAuraModIncreaseHealth(), AuraEffect::HandleAuraModIncreaseHealthPercent(), AuraEffect::HandleAuraModIncreaseMaxHealth(), AuraEffect::HandleAuraModIncreaseSpeed(), AuraEffect::HandleAuraModIncreaseSwimSpeed(), AuraEffect::HandleAuraModMaxPower(), AuraEffect::HandleAuraModMaxPowerPct(), AuraEffect::HandleAuraModMinimumSpeedRate(), AuraEffect::HandleAuraModNoActions(), AuraEffect::HandleAuraModOverridePowerDisplay(), AuraEffect::HandleAuraModPacify(), AuraEffect::HandleAuraModPacifyAndSilence(), AuraEffect::HandleAuraModParryPercent(), AuraEffect::HandleAuraModPowerDisplay(), AuraEffect::HandleAuraModRangedAttackPower(), AuraEffect::HandleAuraModRangedAttackPowerPercent(), AuraEffect::HandleAuraModRegenInterrupt(), AuraEffect::HandleAuraModResistance(), AuraEffect::HandleAuraModRoot(), AuraEffect::HandleAuraModRootAndDisableGravity(), AuraEffect::HandleAuraModScale(), AuraEffect::HandleAuraModSchoolImmunity(), AuraEffect::HandleAuraModShapeshift(), AuraEffect::HandleAuraModSilence(), AuraEffect::HandleAuraModSkill(), AuraEffect::HandleAuraModStalked(), AuraEffect::HandleAuraModStat(), AuraEffect::HandleAuraModStateImmunity(), AuraEffect::HandleAuraModStun(), AuraEffect::HandleAuraModStunAndDisableGravity(), AuraEffect::HandleAuraModTotalThreat(), AuraEffect::HandleAuraModUseNormalSpeed(), AuraEffect::HandleAuraModWeaponCritPercent(), AuraEffect::HandleAuraMounted(), AuraEffect::HandleAuraOpenStable(), AuraEffect::HandleAuraOverrideSpells(), AuraEffect::HandleAuraPreventRegeneratePower(), AuraEffect::HandleAuraPvpTalents(), AuraEffect::HandleAuraSetVehicle(), Aura::HandleAuraSpecificMods(), AuraEffect::HandleAuraTrackCreatures(), AuraEffect::HandleAuraTrackStealthed(), AuraEffect::HandleAuraTransform(), AuraEffect::HandleAuraUntrackable(), AuraEffect::HandleAuraWaterWalk(), AuraEffect::HandleBattlegroundPlayerPosition(), AuraEffect::HandleBindSight(), AuraEffect::HandleBreakableCCAuraProc(), AuraEffect::HandleChannelDeathItem(), AuraEffect::HandleCharmConvert(), AuraEffect::HandleComprehendLanguage(), AuraEffect::HandleConvertCritToParry(), AuraEffect::HandleCosmeticMounted(), AuraEffect::HandleCreateAreaTrigger(), AuraEffect::HandleDetectAmore(), AuraEffect::HandleDisableInertia(), AuraEffect::HandleEffect(), AuraEffect::HandleEnableAltPower(), AuraEffect::HandleFeignDeath(), AuraEffect::HandleForceBreathBar(), AuraEffect::HandleForceMoveForward(), AuraEffect::HandleForceReaction(), AuraEffect::HandleIgnoreMovementForces(), AuraEffect::HandleLearnSpell(), AuraEffect::HandleLinkedSummon(), AuraEffect::HandleMastery(), AuraEffect::HandleModAdvFlying(), AuraEffect::HandleModAlternativeDefaultLanguage(), AuraEffect::HandleModArmorPctFromStat(), AuraEffect::HandleModAttackSpeed(), AuraEffect::HandleModBaseResistance(), AuraEffect::HandleModBonusArmor(), AuraEffect::HandleModBonusArmorPercent(), AuraEffect::HandleModCastingSlowNoStack(), AuraEffect::HandleModCastingSpeed(), AuraEffect::HandleModChargeRecoveryRate(), AuraEffect::HandleModCharm(), AuraEffect::HandleModConfuse(), AuraEffect::HandleModDamageDone(), AuraEffect::HandleModDamagePercentDone(), AuraEffect::HandleModDetaunt(), AuraEffect::HandleModFear(), AuraEffect::HandleModGravity(), AuraEffect::HandleModHealingDone(), AuraEffect::HandleModHealingDonePct(), AuraEffect::HandleModInvisibility(), AuraEffect::HandleModInvisibilityDetect(), AuraEffect::HandleModManaCostPct(), AuraEffect::HandleModManaRegenPct(), AuraEffect::HandleModMechanicImmunity(), AuraEffect::HandleModMechanicImmunityMask(), AuraEffect::HandleModMeleeHaste(), AuraEffect::HandleModMeleeHasteNoRegen(), AuraEffect::HandleModMeleeRangedCastingHaste(), AuraEffect::HandleModMeleeRangedCastingSlowNoStack(), AuraEffect::HandleModMeleeRangedHaste(), AuraEffect::HandleModMeleeRangedHasteNoRegen(), AuraEffect::HandleModMeleeSlowNoStack(), AuraEffect::HandleModMovementForceMagnitude(), AuraEffect::HandleModOffhandDamagePercent(), AuraEffect::HandleModOverrideZonePVPType(), AuraEffect::HandleModPercentStat(), AuraEffect::HandleModPossess(), AuraEffect::HandleModPossessPet(), AuraEffect::HandleModPowerCost(), AuraEffect::HandleModPowerRegen(), AuraEffect::HandleModRangedHaste(), AuraEffect::HandleModRangedHasteNoRegen(), AuraEffect::HandleModRangedSlowNoStack(), AuraEffect::HandleModRating(), AuraEffect::HandleModRatingPct(), AuraEffect::HandleModRecoveryRate(), AuraEffect::HandleModRecoveryRateBySpellLabel(), AuraEffect::HandleModRequiredMountCapabilityFlags(), AuraEffect::HandleModResistancePercent(), AuraEffect::HandleModSpellCategoryCooldown(), AuraEffect::HandleModSpellCritChance(), AuraEffect::HandleModSpellDamagePercentFromStat(), AuraEffect::HandleModSpellHealingPercentFromStat(), AuraEffect::HandleModSpellHitChance(), AuraEffect::HandleModSpellSlowNoStack(), AuraEffect::HandleModStatBonusPercent(), AuraEffect::HandleModStealth(), AuraEffect::HandleModStealthDetect(), AuraEffect::HandleModStealthLevel(), AuraEffect::HandleModTargetResistance(), AuraEffect::HandleModTaunt(), AuraEffect::HandleModThreat(), AuraEffect::HandleModTotalPercentStat(), AuraEffect::HandleModUnattackable(), AuraEffect::HandleModVersatilityByPct(), AuraEffect::HandleModWaterBreathing(), AuraEffect::HandleMountRestrictions(), AuraEffect::HandleNoReagentUseAura(), AuraEffect::HandleOverrideAttackPowerBySpellPower(), AuraEffect::HandleOverridePetSpecs(), AuraEffect::HandleOverrideSpellPowerByAttackPower(), AuraEffect::HandlePhase(), AuraEffect::HandlePhaseAlwaysVisible(), AuraEffect::HandlePhaseGroup(), AuraEffect::HandlePlayScene(), AuraEffect::HandlePreventFleeing(), AuraEffect::HandlePreventResurrection(), AuraEffect::HandleProcTriggerDamageAuraProc(), AuraEffect::HandleProcTriggerSpellAuraProc(), AuraEffect::HandleProcTriggerSpellWithValueAuraProc(), AuraEffect::HandleSetCantSwim(), AuraEffect::HandleSetFFAPvP(), AuraEffect::HandleSetVignette(), AuraEffect::HandleShieldBlockValue(), AuraEffect::HandleShieldBlockValuePercent(), AuraEffect::HandleShowConfirmationPrompt(), AuraEffect::HandleSpiritOfRedemption(), AuraEffect::HandleStoreTeleportReturnPoint(), AuraEffect::HandleSuppressItemPassiveEffectBySpellLabel(), AuraEffect::HandleTriggerSpellOnExpire(), AuraEffect::HandleTriggerSpellOnHealthPercent(), AuraEffect::HandleTriggerSpellOnPowerAmount(), AuraEffect::HandleTriggerSpellOnPowerPercent(), AuraEffect::HandleWaterBreathing(), AuraEffect::PeriodicTick(), and Unit::RemoveAreaAurasDueToLeaveWorld().
|
inline |
Definition at line 87 of file SpellAuras.h.
References ASSERT, and MAX_SPELL_EFFECTS.
Referenced by _HandleEffect(), Unit::_UnapplyAura(), Player::ApplyArtifactPowerRank(), BuildUpdatePacket(), Unit::RemoveAura(), Aura::TriggerProcOnEvent(), and UpdateApplyEffectMask().
|
inline |
Definition at line 99 of file SpellAuras.h.
|
inline |
Definition at line 88 of file SpellAuras.h.
References AFLAG_POSITIVE.
Referenced by Battleground::_ProcessJoin(), SpellInfo::ApplyAllSpellImmunitiesTo(), Spell::EffectStealBeneficialBuff(), Unit::GetDispellableAuraList(), Unit::RemoveArenaAuras(), Unit::RemoveAurasByType(), and Unit::RestoreDisplayId().
|
inline |
| void AuraApplication::SetNeedClientUpdate | ( | ) |
Definition at line 226 of file SpellAuras.cpp.
References _needClientUpdate, _target, AURA_REMOVE_NONE, GetRemoveMode(), GetSlot(), MAX_AURAS, and Unit::SetVisibleAuraUpdate().
Referenced by _HandleEffect().
|
inline |
Definition at line 95 of file SpellAuras.h.
Referenced by Unit::_UnapplyAura().
| void AuraApplication::UpdateApplyEffectMask | ( | uint32 | newEffMask, |
| bool | canHandleNewEffects | ||
| ) |
Definition at line 188 of file SpellAuras.cpp.
References _effectsToApply, _HandleEffect(), _target, Unit::_UnapplyAura(), AURA_REMOVE_BY_DEFAULT, Aura::GetAuraEffectCount(), GetBase(), and HasEffect().
Referenced by Aura::UpdateTargetMap().
|
friend |
Definition at line 62 of file SpellAuras.h.
|
private |
Definition at line 66 of file SpellAuras.h.
|
private |
Definition at line 72 of file SpellAuras.h.
Referenced by _HandleEffect().
|
private |
Definition at line 70 of file SpellAuras.h.
Referenced by _HandleEffect(), AddEffectToApplyEffectMask(), and UpdateApplyEffectMask().
|
private |
Definition at line 69 of file SpellAuras.h.
Referenced by _InitFlags(), and AddEffectToApplyEffectMask().
|
private |
Definition at line 71 of file SpellAuras.h.
Referenced by AuraApplication(), ClientUpdate(), and SetNeedClientUpdate().
|
private |
Definition at line 67 of file SpellAuras.h.
|
private |
Definition at line 68 of file SpellAuras.h.
Referenced by AuraApplication().
|
private |
Definition at line 65 of file SpellAuras.h.
Referenced by BuildUpdatePacket(), ClientUpdate(), SetNeedClientUpdate(), and UpdateApplyEffectMask().