diff options
Diffstat (limited to 'src/server/game/Spells/SpellEffects.cpp')
-rw-r--r-- | src/server/game/Spells/SpellEffects.cpp | 16 |
1 files changed, 3 insertions, 13 deletions
diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp index ebe005ca67e..2bb93b03112 100644 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -1232,16 +1232,11 @@ void Spell::EffectPowerDrain(SpellEffIndex effIndex) damage = m_caster->SpellDamageBonusDone(unitTarget, m_spellInfo, uint32(damage), SPELL_DIRECT_DAMAGE); damage = unitTarget->SpellDamageBonusTaken(m_caster, m_spellInfo, uint32(damage), SPELL_DIRECT_DAMAGE); - // resilience reduce mana draining effect at spell crit damage reduction (added in 2.4) - int32 power = damage; - if (powerType == POWER_MANA) - power -= unitTarget->GetSpellCritDamageReduction(power); - - int32 newDamage = -(unitTarget->ModifyPower(powerType, -int32(power))); + int32 newDamage = -(unitTarget->ModifyPower(powerType, -damage)); float gainMultiplier = 0.0f; - // Don`t restore from self drain + // Don't restore from self drain if (m_caster != unitTarget) { gainMultiplier = m_spellInfo->Effects[effIndex].CalcValueMultiplier(m_originalCaster, this); @@ -1315,12 +1310,7 @@ void Spell::EffectPowerBurn(SpellEffIndex effIndex) damage = std::min(damage, maxDamage); } - int32 power = damage; - // resilience reduce mana draining effect at spell crit damage reduction (added in 2.4) - if (powerType == POWER_MANA) - power -= unitTarget->GetSpellCritDamageReduction(power); - - int32 newDamage = -(unitTarget->ModifyPower(powerType, -power)); + int32 newDamage = -(unitTarget->ModifyPower(powerType, -damage)); // NO - Not a typo - EffectPowerBurn uses effect value multiplier - not effect damage multiplier float dmgMultiplier = m_spellInfo->Effects[effIndex].CalcValueMultiplier(m_originalCaster, this); |