diff options
author | win32 <none@none> | 2009-12-17 05:35:36 +0200 |
---|---|---|
committer | win32 <none@none> | 2009-12-17 05:35:36 +0200 |
commit | c3f77a4b3d74ab0796d0d2c35957c85255b7ce08 (patch) | |
tree | 8049487f2a18853ecca8241a2fb94156ca240328 /src | |
parent | f64a11dfdc1a09e5734e76e87279091af26b04d6 (diff) |
Implement Glyph of Nourish
Closes #381
--HG--
branch : trunk
Diffstat (limited to 'src')
-rw-r--r-- | src/game/SpellEffects.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index 7772ec8677e..cf275693a82 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -2810,6 +2810,19 @@ void Spell::SpellDamageHeal(uint32 /*i*/) //addhealth += tickheal * tickcount; //addhealth = caster->SpellHealingBonus(m_spellInfo, addhealth,HEAL, unitTarget); } + // Glyph of Nourish + else if (m_spellInfo->SpellFamilyName == SPELLFAMILY_DRUID && m_spellInfo->SpellFamilyFlags[1] & 0x2000000) + { + addhealth = caster->SpellHealingBonus(unitTarget, m_spellInfo, addhealth, HEAL); + + Unit::AuraEffectList const& Periodic = unitTarget->GetAurasByType(SPELL_AURA_PERIODIC_HEAL); + for (Unit::AuraEffectList::const_iterator i = Periodic.begin(); i != Periodic.end(); ++i) + { + if (m_caster->HasAura(62971)) + if (m_caster->GetGUID() == (*i)->GetCasterGUID()) + addhealth += addhealth * (*i)->GetParentAura()->GetStackAmount() * 0.06f; + } + } // Riptide - increase healing done by Chain Heal else if (m_spellInfo->SpellFamilyName==SPELLFAMILY_SHAMAN && m_spellInfo->SpellFamilyFlags[0] & 0x100) { |