aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/game/SpellEffects.cpp17
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;