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;  | 
