diff options
-rw-r--r-- | src/game/SpellEffects.cpp | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index b9ef4c2bf6b..0e5c58a8bb4 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -1544,27 +1544,32 @@ void Spell::EffectDummy(uint32 i) if(!unitTarget) return; - uint32 rage=0; + uint32 rage = m_caster->GetPower(POWER_RAGE); + // Glyph of Execution bonus if (AuraEffect *aura = m_caster->GetAuraEffect(58367, 0)) - rage+=aura->GetAmount(); + rage += aura->GetAmount(); spell_id = 20647; + // Sudden death cost modifier if (Aura * aur = m_caster->GetAura(52437)) { rage += m_powerCost; - m_caster->ModifyPower(POWER_RAGE,- m_powerCost); - if (m_caster->GetPower(POWER_RAGE)<100) - m_caster->SetPower(POWER_RAGE,100); + m_caster->ModifyPower(POWER_RAGE, -m_powerCost); + if (m_caster->GetPower(POWER_RAGE) < 100) + m_caster->SetPower(POWER_RAGE, 100); m_caster->RemoveAura(aur); } else { rage += m_powerCost; - m_caster->ModifyPower(POWER_RAGE,- m_powerCost); + m_caster->ModifyPower(POWER_RAGE, -m_powerCost); } + if(rage > 300) + rage = 300; + bp = damage+int32(rage * m_spellInfo->DmgMultiplier[i] + m_caster->GetTotalAttackPowerValue(BASE_ATTACK)*0.2f); break; |