diff options
author | p0wer <none@none> | 2010-03-01 17:57:14 -0600 |
---|---|---|
committer | p0wer <none@none> | 2010-03-01 17:57:14 -0600 |
commit | 57f1b2524a93e18987c0a0f29e3bd97b6970e5a8 (patch) | |
tree | ed424fe6f5c1ae92e592e993afbc044e8079e4ef | |
parent | 5448abd9f9ca7cf0f2a68d603c987280ad3c9639 (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.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; |