44 template <
typename Container>
45 void GetTargetList(Container& targetContainer)
const;
47 template <
typename Container>
48 void GetApplicationList(Container& applicationContainer)
const;
72 void CalculatePeriodic(
Unit* caster,
bool resetPeriodicTimer =
true,
bool load =
false);
73 void CalculateSpellMod();
74 void ChangeAmount(
SpellEffectValue newAmount,
bool mark =
true,
bool onStackOrReapply =
false,
AuraEffect const* triggeredBy =
nullptr);
75 void RecalculateAmount(
AuraEffect const* triggeredBy =
nullptr) {
if (!CanBeRecalculated())
return; ChangeAmount(CalculateAmount(GetCaster()),
false,
false, triggeredBy); }
76 void RecalculateAmount(
Unit* caster,
AuraEffect const* triggeredBy =
nullptr) {
if (!CanBeRecalculated())
return; ChangeAmount(CalculateAmount(caster),
false,
false, triggeredBy); }
80 void HandleEffect(
Unit* target,
uint8 mode,
bool apply,
AuraEffect const* triggeredBy =
nullptr);
81 void ApplySpellMod(
Unit* target,
bool apply,
AuraEffect const* triggeredBy =
nullptr);
87 uint32 GetTotalTicks()
const;
88 void ResetPeriodic(
bool resetPeriodicTimer =
false);
92 void SetPeriodic(
bool isPeriodic) { m_isPeriodic = isPeriodic; }
93 bool IsAffectingSpell(
SpellInfo const* spell)
const;
96 void SendTickImmune(
Unit* target,
Unit* caster)
const;
103 void HandleShapeshiftBoosts(
Unit* target,
bool apply)
const;
107 bool IsEffect()
const {
return m_effectInfo.Effect != 0; }
109 bool IsAreaAuraEffect()
const;
131 float GetCritChanceFor(
Unit const* caster,
Unit const* target)
const;
171 void HandleAuraModPacifyAndSilence(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
180 void HandleAuraAllowTalentSwapping(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
189 void HandleAuraCanTurnWhileFalling(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
206 void HandleAuraModRootAndDisableGravity(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
207 void HandleAuraModStunAndDisableGravity(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
217 void HandleAuraModIncreaseMountedSpeed(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
218 void HandleAuraModIncreaseFlightSpeed(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
219 void HandleAuraModIncreaseSwimSpeed(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
222 void HandleAuraModMinimumSpeedRate(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
223 void HandleModMovementForceMagnitude(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
226 void HandleModMechanicImmunityMask(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
236 void HandleAuraModBaseResistancePCT(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
243 void HandleModSpellDamagePercentFromStat(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
244 void HandleModSpellHealingPercentFromStat(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
253 void HandleOverrideSpellPowerByAttackPower(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
254 void HandleOverrideAttackPowerBySpellPower(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
263 void HandleAuraModIncreaseMaxHealth(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
265 void HandleAuraModIncreaseEnergyPercent(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
266 void HandleAuraModIncreaseHealthPercent(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
267 void HandleAuraIncreaseBaseHealthPercent(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
268 void HandleAuraModIncreaseBaseManaPercent(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
271 void HandleAuraModOverridePowerDisplay(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
273 void HandleTriggerSpellOnHealthPercent(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
279 void HandleAuraModWeaponCritPercent(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
295 void HandleAuraModRangedAttackPower(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
296 void HandleAuraModAttackPowerPercent(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
297 void HandleAuraModRangedAttackPowerPercent(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
301 void HandleModOffhandDamagePercent(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
303 void HandleShieldBlockValuePercent(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
317 void HandleModAlternativeDefaultLanguage(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
328 void HandleModSpellCategoryCooldown(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
330 void HandleModRecoveryRateBySpellLabel(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
334 void HandleAllowUsingGameobjectsWhileMounted(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
340 void HandleBattlegroundPlayerPosition(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
341 void HandleTriggerSpellOnPowerAmount(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
342 void HandleTriggerSpellOnPowerPercent(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
344 void HandleStoreTeleportReturnPoint(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
347 void HandleModRequiredMountCapabilityFlags(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
348 void HandleSuppressItemPassiveEffectBySpellLabel(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
352 void HandlePeriodicTriggerSpellAuraTick(
Unit* target,
Unit* caster)
const;
353 void HandlePeriodicTriggerSpellWithValueAuraTick(
Unit* target,
Unit* caster)
const;
354 void HandlePeriodicDamageAurasTick(
Unit* target,
Unit* caster)
const;
355 void HandlePeriodicHealthLeechAuraTick(
Unit* target,
Unit* caster)
const;
356 void HandlePeriodicHealthFunnelAuraTick(
Unit* target,
Unit* caster)
const;
357 void HandlePeriodicHealAurasTick(
Unit* target,
Unit* caster)
const;
358 void HandlePeriodicManaLeechAuraTick(
Unit* target,
Unit* caster)
const;
359 void HandleObsModPowerAuraTick(
Unit* target,
Unit* caster)
const;
360 void HandlePeriodicEnergizeAuraTick(
Unit* target,
Unit* caster)
const;
361 void HandlePeriodicPowerBurnAuraTick(
Unit* target,
Unit* caster)
const;
363 float CalcPeriodicCritChance(
Unit const* caster)
const;