diff options
-rw-r--r-- | src/server/game/Spells/SpellEffects.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp index 0ab4e7c9e6e..0ee494d2898 100644 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -625,8 +625,13 @@ void Spell::EffectSchoolDMG(SpellEffIndex effIndex) // Hammer of the Righteous if (m_spellInfo->SpellFamilyFlags[1]&0x00040000) { + float min_damage = m_caster->GetFloatValue(UNIT_FIELD_MINDAMAGE); + float max_damage = m_caster->GetFloatValue(UNIT_FIELD_MAXDAMAGE); + if (Player* player = m_caster->ToPlayer()) // UNIT_FIELD_MINDAMAGE/MAXDAMAGE already include damage bonuses, so try to get them without damage bonuses + player->CalculateMinMaxDamage(BASE_ATTACK, false, false, min_damage, max_damage); + + float average = (min_damage + max_damage) / 2; // Add main hand dps * effect[2] amount - float average = (m_caster->GetFloatValue(UNIT_FIELD_MINDAMAGE) + m_caster->GetFloatValue(UNIT_FIELD_MAXDAMAGE)) / 2; int32 count = m_caster->CalculateSpellDamage(unitTarget, m_spellInfo, EFFECT_2); damage += count * int32(average * IN_MILLISECONDS) / m_caster->GetAttackTime(BASE_ATTACK); break; |