[8854] Implement heal back part of spell 48181.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>

I choice maybe less clear way store future heal amount, but with avoid use additional fields for auras.
This commit is contained in:
Astellar 2009-11-21 11:18:55 +03:00 committed by VladimirMangos
parent b9419c0605
commit aa759d8161
3 changed files with 26 additions and 3 deletions

View file

@ -992,6 +992,13 @@ void Spell::DoAllEffectOnTarget(TargetInfo *target)
if (m_canTrigger && missInfo != SPELL_MISS_REFLECT)
caster->ProcDamageAndSpell(unitTarget, procAttacker, procVictim, procEx, damageInfo.damage, m_attackType, m_spellInfo);
// Haunt (NOTE: for avoid use additional field damage stored in dummy value (replace unused 100%)
// apply before deal damage because aura can be removed at target kill
if (m_spellInfo->SpellFamilyName == SPELLFAMILY_WARLOCK && m_spellInfo->SpellIconID == 3172 &&
(m_spellInfo->SpellFamilyFlags & UI64LIT(0x0004000000000000)))
if(Aura* dummy = unitTarget->GetDummyAura(m_spellInfo->Id))
dummy->GetModifier()->m_amount = damageInfo.damage;
caster->DealSpellDamage(&damageInfo, true);
}
// Passive spell hits/misses or active spells only misses (only triggers)