diff options
| author | ariel- <ariel-@users.noreply.github.com> | 2018-02-12 18:56:57 -0300 |
|---|---|---|
| committer | ariel- <ariel-@users.noreply.github.com> | 2018-02-12 19:04:01 -0300 |
| commit | bc2a4c816d6dc893b9b0c8d5bf0a15fe085506c5 (patch) | |
| tree | e5ef0deb9226c1a635e7c5e983bada5eea1aff4d /src | |
| parent | c7095375c37c3812d14fbc865b95c8442b8712cf (diff) | |
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)
Diffstat (limited to 'src')
| -rw-r--r-- | src/server/scripts/Northrend/zone_wintergrasp.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/server/scripts/Northrend/zone_wintergrasp.cpp b/src/server/scripts/Northrend/zone_wintergrasp.cpp index fbbfd750aad..4649ca2e5c7 100644 --- a/src/server/scripts/Northrend/zone_wintergrasp.cpp +++ b/src/server/scripts/Northrend/zone_wintergrasp.cpp @@ -594,9 +594,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 = GetSpellInfo()->Effects[aurEff->GetEffIndex()].CalcValue()) { int32 bp = 0; if (AuraEffect const* healEffect = GetEffect(EFFECT_0)) @@ -614,13 +616,13 @@ class spell_wintergrasp_tenacity_refresh : public AuraScript void OnRemove(AuraEffect const* aurEff, AuraEffectHandleModes /*mode*/) { - if (uint32 triggeredSpellId = aurEff->GetAmount()) + if (uint32 triggeredSpellId = GetSpellInfo()->Effects[aurEff->GetEffIndex()].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); } }; |
