diff options
author | Shocker <none@none> | 2010-09-02 06:02:51 +0300 |
---|---|---|
committer | Shocker <none@none> | 2010-09-02 06:02:51 +0300 |
commit | c8dfbdac35c9f74c7ec72f7a8d42d838b8c691a8 (patch) | |
tree | 3df280b0af6677a7d57b6c4167f52a355c25252d | |
parent | 96765bc6e04e667d06418d1a0cadc8600fdddb3e (diff) |
Conflagrate direct & DoT damage shouldn't scale with duration increases of Immolate/Shadowflame, fixes issue 3376.
--HG--
branch : trunk
-rw-r--r-- | src/server/game/Spells/SpellEffects.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp index 749f858e212..ce0afca879f 100644 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -525,10 +525,11 @@ void Spell::SpellDamageSchoolDmg(SpellEffIndex effIndex) uint32 pdamage = aura->GetAmount() > 0 ? aura->GetAmount() : 0; pdamage = m_caster->SpellDamageBonus(unitTarget, aura->GetSpellProto(), pdamage, DOT, aura->GetBase()->GetStackAmount()); uint32 pct_dir = m_caster->CalculateSpellDamage(unitTarget, m_spellInfo, (effIndex + 1)); - damage += pdamage * aura->GetTotalTicks() * pct_dir / 100; + uint8 baseTotalTicks = uint8(m_caster->CalcSpellDuration(aura->GetSpellProto()) / aura->GetSpellProto()->EffectAmplitude[0]); + damage += pdamage * baseTotalTicks * pct_dir / 100; uint32 pct_dot = m_caster->CalculateSpellDamage(unitTarget, m_spellInfo, (effIndex + 2)) / 3; - m_spellValue->EffectBasePoints[1] = SpellMgr::CalculateSpellEffectBaseAmount(pdamage * aura->GetTotalTicks() * pct_dot / 100, m_spellInfo, 1); + m_spellValue->EffectBasePoints[1] = SpellMgr::CalculateSpellEffectBaseAmount(pdamage * baseTotalTicks * pct_dot / 100, m_spellInfo, 1); apply_direct_bonus = false; // Glyph of Conflagrate |