aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQAston <none@none>2009-05-06 18:33:19 +0200
committerQAston <none@none>2009-05-06 18:33:19 +0200
commitef2c40875028eca6a938a3f5d486fdddceeb71a7 (patch)
tree9c75873e7932a7aa870cc34ac1d3dd0a25966b87
parent9de6139a3940c9107e347278a539603d94816409 (diff)
*Move shockwave bonus ap damage to SpellDamageSchoolDmg from dummy effect, because the effect has incorrect target data.
--HG-- branch : trunk
-rw-r--r--src/game/SpellEffects.cpp14
1 files changed, 8 insertions, 6 deletions
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