aboutsummaryrefslogtreecommitdiff
path: root/src
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 /src
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.
Diffstat (limited to 'src')
-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));