aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorariel- <ariel-@users.noreply.github.com>2018-02-12 18:56:57 -0300
committerariel- <ariel-@users.noreply.github.com>2018-02-12 19:04:01 -0300
commitbc2a4c816d6dc893b9b0c8d5bf0a15fe085506c5 (patch)
treee5ef0deb9226c1a635e7c5e983bada5eea1aff4d /src
parentc7095375c37c3812d14fbc865b95c8442b8712cf (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.cpp10
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);
}
};