aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorp0wer <none@none>2010-03-01 17:57:14 -0600
committerp0wer <none@none>2010-03-01 17:57:14 -0600
commit57f1b2524a93e18987c0a0f29e3bd97b6970e5a8 (patch)
treeed424fe6f5c1ae92e592e993afbc044e8079e4ef
parent5448abd9f9ca7cf0f2a68d603c987280ad3c9639 (diff)
Execute should only apply damage based on rage up to 30. Thanks 19Maxx83. Fixes issue #953.
--HG-- branch : trunk
-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;