aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTartalo <none@none>2010-06-20 01:37:58 +0200
committerTartalo <none@none>2010-06-20 01:37:58 +0200
commit1f709c7d1972f12555fc0adb3c9d059db6bfc8f7 (patch)
tree22bd9b380ac54fb8d0567a1933f4d4055f4fd941
parenta2ab87962dc46e22e2dbc90690af612e9f2cef41 (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.cpp16
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;
}