TrinityCore
Loading...
Searching...
No Matches
AuraApplication Class Reference

#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
 

Detailed Description

Definition at line 60 of file SpellAuras.h.

Constructor & Destructor Documentation

◆ AuraApplication()

AuraApplication::AuraApplication ( Unit *  target,
Unit *  caster,
Aura *  base,
uint32  effMask 
)
explicitprivate

Member Function Documentation

◆ _HandleEffect()

◆ _InitFlags()

◆ _Remove()

void AuraApplication::_Remove ( )
private

Definition at line 103 of file SpellAuras.cpp.

References ClientUpdate(), GetSlot(), GetTarget(), MAX_AURAS, and Unit::RemoveVisibleAura().

Referenced by Unit::_UnapplyAura().

◆ AddEffectToApplyEffectMask()

void AuraApplication::AddEffectToApplyEffectMask ( SpellEffIndex  spellEffectIndex)

◆ BuildUpdatePacket()

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().

◆ ClientUpdate()

◆ GetBase()

◆ GetDebugInfo()

std::string AuraApplication::GetDebugInfo ( ) const

Definition at line 312 of file SpellAuras.cpp.

References GetBase(), Aura::GetDebugInfo(), Unit::GetDebugInfo(), and GetTarget().

◆ GetEffectMask()

◆ GetEffectsToApply()

uint32 AuraApplication::GetEffectsToApply ( ) const
inline

Definition at line 91 of file SpellAuras.h.

Referenced by _InitFlags().

◆ GetFlags()

uint16 AuraApplication::GetFlags ( ) const
inline

Definition at line 85 of file SpellAuras.h.

Referenced by BuildUpdatePacket(), and GetUnitConditionVariable().

◆ GetRemoveMode()

◆ GetSlot()

uint16 AuraApplication::GetSlot ( ) const
inline

◆ GetTarget()

Unit * AuraApplication::GetTarget ( ) const
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().

◆ HasEffect()

bool AuraApplication::HasEffect ( uint8  effect) const
inline

◆ IsNeedClientUpdate()

bool AuraApplication::IsNeedClientUpdate ( ) const
inline

Definition at line 99 of file SpellAuras.h.

◆ IsPositive()

◆ IsSelfcast()

bool AuraApplication::IsSelfcast ( ) const
inline

Definition at line 89 of file SpellAuras.h.

References AFLAG_SELF_CAST.

Referenced by _InitFlags().

◆ SetNeedClientUpdate()

void AuraApplication::SetNeedClientUpdate ( )

◆ SetRemoveMode()

void AuraApplication::SetRemoveMode ( AuraRemoveMode  mode)
inline

Definition at line 95 of file SpellAuras.h.

Referenced by Unit::_UnapplyAura().

◆ UpdateApplyEffectMask()

void AuraApplication::UpdateApplyEffectMask ( uint32  newEffMask,
bool  canHandleNewEffects 
)

Friends And Related Symbol Documentation

◆ Unit

friend class Unit
friend

Definition at line 62 of file SpellAuras.h.

Member Data Documentation

◆ _base

Aura* const AuraApplication::_base
private

Definition at line 66 of file SpellAuras.h.

◆ _effectMask

uint32 AuraApplication::_effectMask
private

Definition at line 72 of file SpellAuras.h.

Referenced by _HandleEffect().

◆ _effectsToApply

uint32 AuraApplication::_effectsToApply
private

Definition at line 70 of file SpellAuras.h.

Referenced by _HandleEffect(), AddEffectToApplyEffectMask(), and UpdateApplyEffectMask().

◆ _flags

uint16 AuraApplication::_flags
private

Definition at line 69 of file SpellAuras.h.

Referenced by _InitFlags(), and AddEffectToApplyEffectMask().

◆ _needClientUpdate

bool AuraApplication::_needClientUpdate
private

Definition at line 71 of file SpellAuras.h.

Referenced by AuraApplication(), ClientUpdate(), and SetNeedClientUpdate().

◆ _removeMode

AuraRemoveMode AuraApplication::_removeMode
private

Definition at line 67 of file SpellAuras.h.

◆ _slot

uint16 AuraApplication::_slot
private

Definition at line 68 of file SpellAuras.h.

Referenced by AuraApplication().

◆ _target

Unit* const AuraApplication::_target
private

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