diff options
author | Tartalo <none@none> | 2010-06-20 01:37:58 +0200 |
---|---|---|
committer | Tartalo <none@none> | 2010-06-20 01:37:58 +0200 |
commit | 1f709c7d1972f12555fc0adb3c9d059db6bfc8f7 (patch) | |
tree | 22bd9b380ac54fb8d0567a1933f4d4055f4fd941 | |
parent | a2ab87962dc46e22e2dbc90690af612e9f2cef41 (diff) |
Fix spells 52942 & 58837 (Loken Pulsing Shockwave: dinstance depending damage, by Josh
--HG--
branch : trunk
-rw-r--r-- | src/server/game/Spells/Auras/SpellEffects.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/server/game/Spells/Auras/SpellEffects.cpp b/src/server/game/Spells/Auras/SpellEffects.cpp index f2cd72acd6f..e6e181815a1 100644 --- a/src/server/game/Spells/Auras/SpellEffects.cpp +++ b/src/server/game/Spells/Auras/SpellEffects.cpp @@ -431,6 +431,22 @@ void Spell::SpellDamageSchoolDmg(uint32 effect_idx) damage = (m_caster->getLevel() - 60) * 4 + 60; break; } + + // Loken Pulsing Shockwave + case 59837: + case 52942: + { + // don't damage self and only players + if(unitTarget->GetGUID() == m_caster->GetGUID() || unitTarget->GetTypeId() != TYPEID_PLAYER) + return; + + float radius = GetSpellRadiusForHostile(sSpellRadiusStore.LookupEntry(m_spellInfo->EffectRadiusIndex[0])); + if (!radius) + return; + float distance = m_caster->GetDistance2d(unitTarget); + damage = (distance > radius) ? 0 : int32(m_spellInfo->EffectBasePoints[0]*distance); + break; + } } break; } |