aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormegamage <none@none>2009-07-30 10:51:48 +0800
committermegamage <none@none>2009-07-30 10:51:48 +0800
commitdd94fb12d68677c01b906ab05ef8c8eb676554b3 (patch)
tree90475edbc4808d5c46463ecde5dbf919f452ad49
parentb2b3983e8976a5656e6d3cc79f5b04c9b773e881 (diff)
[8232] Implement talent 48438 and ranks in per-tick heal amount. Author: VladimirMangos
--HG-- branch : trunk
-rw-r--r--src/game/SpellAuras.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp
index 2a072cf817f..df55a4fc1be 100644
--- a/src/game/SpellAuras.cpp
+++ b/src/game/SpellAuras.cpp
@@ -6357,7 +6357,17 @@ void AuraEffect::PeriodicTick()
if(m_auraName==SPELL_AURA_OBS_MOD_HEALTH)
pdamage = uint32(m_target->GetMaxHealth() * pdamage * GetParentAura()->GetStackAmount() / 100);
else
+ {
+ // Wild Growth (1/7 - 6 + 2*ramainTicks) %
+ if (m_spellProto->SpellFamilyName == SPELLFAMILY_DRUID && m_spellProto->SpellIconID == 2864)
+ {
+ int32 ticks = GetParentAura()->GetAuraMaxDuration()/m_amplitude;
+ int32 remainingTicks = int32(float(GetParentAura()->GetAuraDuration()) / m_amplitude + 0.5);
+ pdamage = int32(pdamage) + int32(pdamage)*ticks*(-6+2*remainingTicks)/100;
+ }
+
pdamage = pCaster->SpellHealingBonus(m_target, GetSpellProto(), pdamage, DOT, GetParentAura()->GetStackAmount());
+ }
bool crit = false;
Unit::AuraEffectList const& mPeriodicCritAuras= pCaster->GetAurasByType(SPELL_AURA_ABILITY_PERIODIC_CRIT);