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;
127 float GetCritChanceFor(
Unit const* caster,
Unit const* target)
const;
167 void HandleAuraModPacifyAndSilence(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
176 void HandleAuraAllowTalentSwapping(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
187 void HandleAuraCanTurnWhileFalling(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
204 void HandleAuraModRootAndDisableGravity(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
205 void HandleAuraModStunAndDisableGravity(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
215 void HandleAuraModIncreaseMountedSpeed(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
216 void HandleAuraModIncreaseFlightSpeed(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
217 void HandleAuraModIncreaseSwimSpeed(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
220 void HandleAuraModMinimumSpeedRate(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
221 void HandleModMovementForceMagnitude(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
224 void HandleModMechanicImmunityMask(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
234 void HandleAuraModBaseResistancePCT(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
241 void HandleModSpellDamagePercentFromStat(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
242 void HandleModSpellHealingPercentFromStat(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
251 void HandleOverrideSpellPowerByAttackPower(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
252 void HandleOverrideAttackPowerBySpellPower(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
261 void HandleAuraModIncreaseMaxHealth(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
263 void HandleAuraModIncreaseEnergyPercent(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
264 void HandleAuraModIncreaseHealthPercent(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
265 void HandleAuraIncreaseBaseHealthPercent(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
266 void HandleAuraModIncreaseBaseManaPercent(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
269 void HandleAuraModOverridePowerDisplay(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
271 void HandleTriggerSpellOnHealthPercent(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
277 void HandleAuraModWeaponCritPercent(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
286 void HandleModMeleeRangedCastingHaste(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
291 void HandleModMeleeRangedCastingSlowNoStack(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
294 void HandleModMeleeRangedHasteNoRegen(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
301 void HandleAuraModRangedAttackPower(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
302 void HandleAuraModAttackPowerPercent(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
303 void HandleAuraModRangedAttackPowerPercent(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
307 void HandleModOffhandDamagePercent(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
309 void HandleShieldBlockValuePercent(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
323 void HandleModAlternativeDefaultLanguage(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
328 void HandleAuraPreventRegeneratePower(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
336 void HandleModSpellCategoryCooldown(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
338 void HandleModRecoveryRateBySpellLabel(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
342 void HandleAllowUsingGameobjectsWhileMounted(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
348 void HandleBattlegroundPlayerPosition(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
349 void HandleTriggerSpellOnPowerAmount(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
350 void HandleTriggerSpellOnPowerPercent(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
352 void HandleStoreTeleportReturnPoint(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
355 void HandleModRequiredMountCapabilityFlags(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
356 void HandleSuppressItemPassiveEffectBySpellLabel(
AuraApplication const* aurApp,
uint8 mode,
bool apply)
const;
359 void HandlePeriodicTriggerSpellAuraTick(
Unit* target,
Unit* caster)
const;
360 void HandlePeriodicTriggerSpellWithValueAuraTick(
Unit* target,
Unit* caster)
const;
361 void HandlePeriodicDamageAurasTick(
Unit* target,
Unit* caster)
const;
362 void HandlePeriodicHealthLeechAuraTick(
Unit* target,
Unit* caster)
const;
363 void HandlePeriodicHealthFunnelAuraTick(
Unit* target,
Unit* caster)
const;
364 void HandlePeriodicHealAurasTick(
Unit* target,
Unit* caster)
const;
365 void HandlePeriodicManaLeechAuraTick(
Unit* target,
Unit* caster)
const;
366 void HandleObsModPowerAuraTick(
Unit* target,
Unit* caster)
const;
367 void HandlePeriodicEnergizeAuraTick(
Unit* target,
Unit* caster)
const;
368 void HandlePeriodicPowerBurnAuraTick(
Unit* target,
Unit* caster)
const;
370 float CalcPeriodicCritChance(
Unit const* caster)
const;