From 9147c121144259874ea80753bbb50ea115176d19 Mon Sep 17 00:00:00 2001 From: robinsch Date: Mon, 15 Jun 2015 23:55:28 +0200 Subject: [3.3.5] Core/Spells: Improved Devouring Plague spell direct damage by @robinsch; closes #14869 (Improved Devouring Plague error in direct damage) Pct damage bonus is not applied because in SpellDamageBonusDone, it just returns 1.0f for DamageType DoT. Because Improved Devouring Plague direct damage is based on DoT damage from plague, it should also be modified when DoT damage is. --- src/server/game/Spells/Auras/SpellAuras.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'src') diff --git a/src/server/game/Spells/Auras/SpellAuras.cpp b/src/server/game/Spells/Auras/SpellAuras.cpp index 5479dcdbf00..e6f01dea33e 100644 --- a/src/server/game/Spells/Auras/SpellAuras.cpp +++ b/src/server/game/Spells/Auras/SpellAuras.cpp @@ -1305,6 +1305,7 @@ void Aura::HandleAuraSpecificMods(AuraApplication const* aurApp, Unit* caster, b if (AuraEffect const* aurEff = caster->GetDummyAuraEffect(SPELLFAMILY_PRIEST, 3790, 1)) { uint32 damage = caster->SpellDamageBonusDone(target, GetSpellInfo(), GetEffect(0)->GetAmount(), DOT); + damage *= caster->SpellDamagePctDone(target, GetSpellInfo(), SPELL_DIRECT_DAMAGE); damage = target->SpellDamageBonusTaken(caster, GetSpellInfo(), damage, DOT); int32 basepoints0 = aurEff->GetAmount() * GetEffect(0)->GetTotalTicks() * int32(damage) / 100; int32 heal = int32(CalculatePct(basepoints0, 15)); -- cgit v1.2.3