aboutsummaryrefslogtreecommitdiff
path: root/src/game/SpellEffects.cpp
diff options
context:
space:
mode:
authormegamage <none@none>2009-02-12 17:21:33 -0600
committermegamage <none@none>2009-02-12 17:21:33 -0600
commite0cb2a8db65a103774781a5a6a44789c831e0d8e (patch)
tree31747d70ef9300fae0a3cecd896058c3e5f9a2ef /src/game/SpellEffects.cpp
parent6aee5fcbe7473a3cbac12b7e8482a7b98bef8be3 (diff)
parent2bb81747e0322f28318a7f81d14c5fd2097a5981 (diff)
*Merge.
--HG-- branch : trunk
Diffstat (limited to 'src/game/SpellEffects.cpp')
-rw-r--r--src/game/SpellEffects.cpp37
1 files changed, 37 insertions, 0 deletions
diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp
index 545d03ee76e..e0a6dbe351d 100644
--- a/src/game/SpellEffects.cpp
+++ b/src/game/SpellEffects.cpp
@@ -682,6 +682,28 @@ void Spell::EffectDummy(uint32 i)
{
switch(m_spellInfo->Id )
{
+ // Wrath of the Astromancer
+ case 42784:
+ {
+ uint32 count = 0;
+ for(std::list<TargetInfo>::iterator ihit= m_UniqueTargetInfo.begin();ihit != m_UniqueTargetInfo.end();++ihit)
+ if(ihit->effectMask & (1<<i))
+ ++count;
+
+ damage = 12000; // maybe wrong value
+ damage /= count;
+
+ SpellEntry const *spellInfo = sSpellStore.LookupEntry(42784);
+
+ // now deal the damage
+ for(std::list<TargetInfo>::iterator ihit= m_UniqueTargetInfo.begin();ihit != m_UniqueTargetInfo.end();++ihit)
+ if(ihit->effectMask & (1<<i))
+ {
+ Unit* casttarget = Unit::GetUnit((*unitTarget), ihit->targetGUID);
+ if(casttarget)
+ m_caster->DealDamage(casttarget, damage, NULL, SPELL_DIRECT_DAMAGE, SPELL_SCHOOL_MASK_ARCANE, spellInfo, false);
+ }
+ }
// Encapsulate Voidwalker
case 29364:
{
@@ -5005,6 +5027,21 @@ void Spell::EffectScriptEffect(uint32 effIndex)
unitTarget->CastSpell(m_caster, 40903, true);
break;
}
+ case 48025: // Headless Horseman's Mount
+ {
+ if(!unitTarget)
+ return;
+
+ switch(((Player*)unitTarget)->GetBaseSkillValue(762))
+ {
+ case 75: unitTarget->CastSpell(unitTarget, 51621, true); break;;
+ case 150: unitTarget->CastSpell(unitTarget, 48024, true); break;
+ case 225: unitTarget->CastSpell(unitTarget, 51617, true); break;
+ case 300: unitTarget->CastSpell(unitTarget, 48023, true); break;
+ default: break;
+ }
+ break;
+ }
case 41931:
{
if(m_caster->GetTypeId() != TYPEID_PLAYER)