Conflagrate direct & DoT damage shouldn't scale with duration increases of Immolate/Shadowflame, fixes issue 3376.

--HG--
branch : trunk
This commit is contained in:
Shocker
2010-09-02 06:02:51 +03:00
parent 96765bc6e0
commit c8dfbdac35
+3 -2
View File
@@ -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