aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrobinsch <robin.schriever.hude@web.de>2015-06-15 23:55:28 +0200
committertkrokli <tkrokli@hotmail.com>2015-06-18 20:22:03 +0200
commit9147c121144259874ea80753bbb50ea115176d19 (patch)
tree9d9e7d85dd233fcef74b9693d199407114728356
parentc544e88437106fb79dba14bbf8469deadb679e8a (diff)
[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.
-rw-r--r--src/server/game/Spells/Auras/SpellAuras.cpp1
1 files changed, 1 insertions, 0 deletions
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));