From a342b864030941423b12c9d974705bc268be8f44 Mon Sep 17 00:00:00 2001 From: ariel- Date: Mon, 12 Feb 2018 18:56:57 -0300 Subject: Core/Scripts: fix Tenacity Aurascript (target is null on UpdatePeriodic) - also aura amount increases with stack so we lose spellid info, calculate it from basepoints directly - aura should be SPELL_AURA_MOD_HEALING_PCT instead of SPELL_AURA_MOD_HEALING_DONE_PERCENT (ie taken instead of done, confusing names) (cherry picked from commit bc2a4c816d6dc893b9b0c8d5bf0a15fe085506c5) --- src/server/scripts/Northrend/zone_wintergrasp.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/server/scripts/Northrend/zone_wintergrasp.cpp b/src/server/scripts/Northrend/zone_wintergrasp.cpp index 550b6fa3f28..a7db09490ad 100644 --- a/src/server/scripts/Northrend/zone_wintergrasp.cpp +++ b/src/server/scripts/Northrend/zone_wintergrasp.cpp @@ -597,9 +597,11 @@ class spell_wintergrasp_tenacity_refresh : public AuraScript return !triggeredSpellId || ValidateSpellInfo({ triggeredSpellId }); } - void Refresh(AuraEffect* aurEff) + void Refresh(AuraEffect const* aurEff) { - if (uint32 triggeredSpellId = aurEff->GetAmount()) + PreventDefaultAction(); + + if (uint32 triggeredSpellId = aurEff->GetSpellEffectInfo()->CalcValue()) { int32 bp = 0; if (AuraEffect const* healEffect = GetEffect(EFFECT_0)) @@ -617,13 +619,13 @@ class spell_wintergrasp_tenacity_refresh : public AuraScript void OnRemove(AuraEffect const* aurEff, AuraEffectHandleModes /*mode*/) { - if (uint32 triggeredSpellId = aurEff->GetAmount()) + if (uint32 triggeredSpellId = aurEff->GetSpellEffectInfo()->CalcValue()) GetTarget()->RemoveAurasDueToSpell(triggeredSpellId); } void Register() override { - OnEffectUpdatePeriodic += AuraEffectUpdatePeriodicFn(spell_wintergrasp_tenacity_refresh::Refresh, EFFECT_2, SPELL_AURA_PERIODIC_DUMMY); + OnEffectPeriodic += AuraEffectPeriodicFn(spell_wintergrasp_tenacity_refresh::Refresh, EFFECT_2, SPELL_AURA_PERIODIC_DUMMY); AfterEffectRemove += AuraEffectRemoveFn(spell_wintergrasp_tenacity_refresh::OnRemove, EFFECT_2, SPELL_AURA_PERIODIC_DUMMY, AURA_EFFECT_HANDLE_REAL); } }; -- cgit v1.2.3