diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Spells/SpellEffects.cpp | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp index f92369e8256..ad908cc26ec 100644 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -733,19 +733,21 @@ void Spell::SpellDamageSchoolDmg(uint32 effect_idx) { damage += int32(m_caster->GetShieldBlockValue() * 1.3f); } - // Judgement of Righteousness - else if (m_spellInfo->Id == 20187) - { - float ap = m_caster->GetTotalAttackPowerValue(BASE_ATTACK); - float sp = (float)m_caster->SpellBaseDamageBonus(GetSpellSchoolMask(m_spellInfo)); - damage += int32(0.2f*ap + 0.32f*sp); - } - // Judgement of Wisdom, Light, Justice - else if (m_spellInfo->Id == 54158) - { - float ap = m_caster->GetTotalAttackPowerValue(BASE_ATTACK); - float sp = (float)m_caster->SpellBaseDamageBonus(GetSpellSchoolMask(m_spellInfo)); - damage += int32(0.14f*ap + 0.22f*sp); + // Judgements + else switch (m_spellInfo->Id) + { + case 20187: + case 54158: + case 31804: + float attackPower = m_caster->GetTotalAttackPowerValue(BASE_ATTACK); + float spellPower = (float)(m_caster->SpellBaseDamageBonus(GetSpellSchoolMask(m_spellInfo))); + if (m_spellInfo->Id == 20187) // Judgement of Righteousness + damage += int32(0.2f * attackPower + 0.32f * spellPower); + if (m_spellInfo->Id == 54158) // Judgement of Wisdom, Light, Justice + damage += int32(0.16f * attackPower + 0.25f * spellPower); + if (m_spellInfo->Id == 31804) // Judgement of Vengeance + damage += int32(0.14f * attackPower + 0.22f * spellPower); + break; } break; } |