From ef2c40875028eca6a938a3f5d486fdddceeb71a7 Mon Sep 17 00:00:00 2001 From: QAston Date: Wed, 6 May 2009 18:33:19 +0200 Subject: *Move shockwave bonus ap damage to SpellDamageSchoolDmg from dummy effect, because the effect has incorrect target data. --HG-- branch : trunk --- src/game/SpellEffects.cpp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index 3915d61d876..d6196468972 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -413,6 +413,14 @@ void Spell::SpellDamageSchoolDmg(uint32 effect_idx) // Heroic Throw ${$m1+$AP*.50} else if(m_spellInfo->SpellFamilyFlags[1] & 0x00000001) damage+= uint32(m_caster->GetTotalAttackPowerValue(BASE_ATTACK) * 0.5f); + // Shockwave ${$m3/100*$AP} + else if(m_spellInfo->SpellFamilyFlags[1] & 0x00008000) + { + int32 pct = m_caster->CalculateSpellDamage(m_spellInfo, 2, m_spellInfo->EffectBasePoints[2], unitTarget); + if (pct > 0) + damage+= int32(m_caster->GetTotalAttackPowerValue(BASE_ATTACK) * pct / 100); + break; + } // Thunder Clap else if(m_spellInfo->SpellFamilyFlags[0] & 0x80) { @@ -1394,12 +1402,6 @@ void Spell::EffectDummy(uint32 i) m_damage+= uint32(damage * m_caster->GetTotalAttackPowerValue(BASE_ATTACK) / 100); return; } - // Shockwave - if(m_spellInfo->SpellFamilyFlags[1] & 0x8000) - { - m_damage+= uint32(damage * m_caster->GetTotalAttackPowerValue(BASE_ATTACK) / 100); - return; - } switch(m_spellInfo->Id) { // Warrior's Wrath -- cgit v1.2.3