AzerothCore 3.3.5a
OpenSource WoW Emulator
|
#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 | IsSelfcasted () const |
uint8 | GetEffectsToApply () const |
void | SetRemoveMode (AuraRemoveMode mode) |
AuraRemoveMode | GetRemoveMode () const |
void | SetNeedClientUpdate () |
bool | IsNeedClientUpdate () const |
void | BuildUpdatePacket (ByteBuffer &data, bool remove) const |
void | ClientUpdate (bool remove=false) |
bool | IsActive (uint8 effIdx) |
void | SetDisableMask (uint8 effIdx) |
void | RemoveDisableMask (uint8 effIdx) |
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: 8 |
uint8 | _slot |
uint8 | _flags |
uint8 | _effectsToApply |
bool | _needClientUpdate: 1 |
uint8 | _disableMask |
Friends | |
void | Unit::_ApplyAura (AuraApplication *aurApp, uint8 effMask) |
void | Unit::_UnapplyAura (AuraApplicationMap::iterator &i, AuraRemoveMode removeMode) |
void | Unit::_ApplyAuraEffect (Aura *aura, uint8 effIndex) |
void | Unit::RemoveAura (AuraApplication *aurApp, AuraRemoveMode mode) |
AuraApplication * | Unit::_CreateAuraApplication (Aura *aura, uint8 effMask) |
|
explicitprivate |
References _InitFlags(), _slot, ASSERT, GetBase(), GetEffectMask(), GetTarget(), Unit::GetVisibleAuras(), LOG_DEBUG, LOG_ERROR, MAX_AURAS, SetNeedClientUpdate(), and Unit::SetVisibleAura().
|
private |
References _effectsToApply, _flags, ASSERT, AURA_EFFECT_HANDLE_CHANGE_AMOUNT, AURA_EFFECT_HANDLE_REAL, AuraEffect::CleanupTriggeredSpells(), AuraEffect::GetAmount(), Aura::GetApplicationOfTarget(), Unit::GetAuraEffectsByType(), AuraEffect::GetAuraGroup(), AuraEffect::GetAuraType(), AuraEffect::GetBase(), GetBase(), Aura::GetEffect(), AuraEffect::GetEffIndex(), Object::GetGUID(), AuraEffect::GetMiscValue(), AuraEffect::GetSpellInfo(), GetTarget(), AuraEffect::HandleEffect(), SpellInfo::HasAreaAuraEffect(), HasEffect(), IsActive(), AuraEffect::IsPeriodic(), Aura::IsRemoved(), LOG_DEBUG, RemoveDisableMask(), SetDisableMask(), AuraEffect::SetEnabled(), SetNeedClientUpdate(), SPELL_AURA_230, SPELL_AURA_MOD_CASTING_SPEED_NOT_STACK, SPELL_GROUP_STACK_FLAG_EFFECT_EXCLUSIVE, and sSpellMgr.
Referenced by Unit::_ApplyAura(), Unit::_ApplyAuraEffect(), Unit::_UnapplyAura(), and Unit::RemoveAura().
References _flags, AFLAG_CASTER, AFLAG_NEGATIVE, AFLAG_NONE, AFLAG_POSITIVE, GetBase(), Aura::GetCasterGUID(), Object::GetGUID(), Aura::GetSpellInfo(), GetTarget(), Unit::IsFriendlyTo(), SpellInfo::IsPositiveEffect(), IsSelfcasted(), and MAX_SPELL_EFFECTS.
Referenced by AuraApplication().
|
private |
References _target, ClientUpdate(), Unit::GetAuraApplication(), GetBase(), GetSlot(), GetTarget(), MAX_AURAS, Unit::RemoveVisibleAura(), and Unit::SetVisibleAura().
Referenced by Unit::_UnapplyAura().
void AuraApplication::BuildUpdatePacket | ( | ByteBuffer & | data, |
bool | remove | ||
) | const |
References _flags, _slot, _target, AFLAG_CASTER, AFLAG_DURATION, ASSERT, GetBase(), Aura::GetCasterGUID(), Aura::GetCasterLevel(), Aura::GetCharges(), Aura::GetDuration(), Aura::GetId(), Aura::GetMaxDuration(), Aura::GetSpellInfo(), Aura::GetStackAmount(), Unit::GetVisibleAura(), SpellInfo::HasAttribute(), SPELL_ATTR5_DO_NOT_DISPLAY_DURATION, SpellInfo::StackAmount, and ObjectGuid::WriteAsPacked().
Referenced by ClientUpdate(), and Player::GetAurasForTarget().
void AuraApplication::ClientUpdate | ( | bool | remove = false | ) |
References _needClientUpdate, _target, BuildUpdatePacket(), GetBase(), GetEffectMask(), Object::GetPackGUID(), GetSlot(), GetTarget(), MAX_AURAS, ArenaSpectator::SendCommand_Aura(), WorldObject::SendMessageToSet(), ArenaSpectator::ShouldSendAura(), and SMSG_AURA_UPDATE.
Referenced by _Remove().
|
inline |
References _base.
Referenced by Unit::_ApplyAura(), _HandleEffect(), _InitFlags(), Battleground::_ProcessJoin(), _Remove(), Unit::_UnapplyAura(), Aura::_UnapplyForTarget(), AuraApplication(), WorldSession::BuildPartyMemberStatsChangedPacket(), BuildUpdatePacket(), Unit::CalcAbsorbResist(), ClientUpdate(), Unit::GetAura(), Unit::GetAuraApplication(), Unit::GetAuraOfRankedSpell(), Aura::HandleAuraSpecificMods(), SpellInfo::IsStrongerAuraActive(), boss_high_nethermancer_zerevor::OnAuraRemove(), Unit::RemoveArenaAuras(), Unit::RemoveAura(), Unit::RestoreDisplayId(), and Unit::SetCharmedBy().
|
inline |
References _flags, AFLAG_EFF_INDEX_0, AFLAG_EFF_INDEX_1, and AFLAG_EFF_INDEX_2.
Referenced by Unit::_ApplyAuraEffect(), Unit::_UnapplyAura(), AuraApplication(), and ClientUpdate().
|
inline |
References _effectsToApply.
|
inline |
|
inline |
References _removeMode.
Referenced by Unit::_ApplyAura(), Unit::_EnterVehicle(), Unit::_UnapplyAura(), Aura::_UnapplyForTarget(), spell_mage_living_bomb::AfterRemove(), AuraEffect::HandleAuraDummy(), AuraEffect::HandleAuraLinked(), AuraEffect::HandleAuraModShapeshift(), Aura::HandleAuraSpecificMods(), AuraEffect::HandleChannelDeathItem(), AuraEffect::HandleEffect(), AuraEffect::HandleFeignDeath(), spell_warl_seed_of_corruption_aura::OnRemove(), spell_warl_curse_of_doom::OnRemove(), Unit::RemoveAura(), and Unit::SetCharmedBy().
|
inline |
|
inline |
References _target.
Referenced by _HandleEffect(), _InitFlags(), _Remove(), Aura::_Remove(), Unit::_UnapplyAura(), AuraApplication(), ClientUpdate(), 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::HandleAuraModAttackPowerOfArmor(), 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::HandleAuraRetainComboPoints(), AuraEffect::HandleAuraSetVehicle(), Aura::HandleAuraSpecificMods(), AuraEffect::HandleAuraTrackCreatures(), AuraEffect::HandleAuraTrackResources(), AuraEffect::HandleAuraTrackStealthed(), AuraEffect::HandleAuraTransform(), AuraEffect::HandleAuraUntrackable(), AuraEffect::HandleAuraWaterWalk(), AuraEffect::HandleBindSight(), 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::HandleModFear(), AuraEffect::HandleModHealingDone(), AuraEffect::HandleModHitChance(), AuraEffect::HandleModInvisibility(), AuraEffect::HandleModInvisibilityDetect(), AuraEffect::HandleModManaRegen(), AuraEffect::HandleModMechanicImmunity(), 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::HandleModStateImmunityMask(), 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::HandleSpiritOfRedemption(), AuraEffect::HandleWaterBreathing(), Aura::IsProcTriggeredOnEvent(), AuraEffect::PeriodicTick(), and Unit::RemoveAreaAurasDueToLeaveWorld().
|
inline |
References _flags, ASSERT, and MAX_SPELL_EFFECTS.
Referenced by _HandleEffect(), Unit::_UnapplyAura(), Unit::RemoveAura(), and Aura::TriggerProcOnEvent().
|
inline |
References _disableMask.
Referenced by _HandleEffect(), AuraEffect::HandleEffect(), and SpellInfo::IsStrongerAuraActive().
|
inline |
References _needClientUpdate.
|
inline |
References _flags, and AFLAG_POSITIVE.
Referenced by Battleground::_ProcessJoin(), Spell::EffectStealBeneficialBuff(), AuraEffect::HandleAuraModResistanceExclusive(), Unit::RemoveArenaAuras(), and Unit::RemoveAurasByType().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
private |
Referenced by IsActive(), RemoveDisableMask(), and SetDisableMask().
|
private |
Referenced by _HandleEffect(), and GetEffectsToApply().
|
private |
Referenced by _HandleEffect(), _InitFlags(), BuildUpdatePacket(), GetEffectMask(), GetFlags(), HasEffect(), IsPositive(), and IsSelfcasted().
|
private |
Referenced by ClientUpdate(), IsNeedClientUpdate(), and SetNeedClientUpdate().
|
private |
Referenced by GetRemoveMode(), and SetRemoveMode().
|
private |
Referenced by AuraApplication(), BuildUpdatePacket(), and GetSlot().
|
private |
Referenced by _Remove(), BuildUpdatePacket(), ClientUpdate(), and GetTarget().