From 3a46634a2057241ec6bce3d6eacf0c3fcc64000d Mon Sep 17 00:00:00 2001 From: spp Date: Mon, 14 Dec 2009 02:34:06 +0100 Subject: [PATCH] Display DoT absorption and overkill in combat log. By MetaphysicalDrama, closes #614 --HG-- branch : trunk --- src/game/SpellAuras.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp index 85126465ed..80f0e82821 100644 --- a/src/game/SpellAuras.cpp +++ b/src/game/SpellAuras.cpp @@ -5944,9 +5944,6 @@ void AuraEffect::PeriodicTick() pCaster->DealDamageMods(m_target,pdamage,&absorb); - SpellPeriodicAuraLogInfo pInfo(this, pdamage, 0, absorb, resist, 0.0f, crit); - m_target->SendPeriodicAuraLog(&pInfo); - Unit* target = m_target; // aura can be deleted in DealDamage SpellEntry const* spellProto = GetSpellProto(); @@ -5957,6 +5954,14 @@ void AuraEffect::PeriodicTick() pdamage = (pdamage <= absorb+resist) ? 0 : (pdamage-absorb-resist); if (pdamage) procVictim|=PROC_FLAG_TAKEN_ANY_DAMAGE; + + int32 overkill = pdamage - m_target->GetHealth(); + if (overkill < 0) + overkill = 0; + + SpellPeriodicAuraLogInfo pInfo(this, pdamage, overkill, absorb, resist, 0.0f, crit); + m_target->SendPeriodicAuraLog(&pInfo); + pCaster->ProcDamageAndSpell(target, procAttacker, procVictim, procEx, pdamage, BASE_ATTACK, spellProto); pCaster->DealDamage(target, pdamage, &cleanDamage, DOT, GetSpellSchoolMask(spellProto), spellProto, true);