diff options
| author | megamage <none@none> | 2009-02-12 17:21:33 -0600 |
|---|---|---|
| committer | megamage <none@none> | 2009-02-12 17:21:33 -0600 |
| commit | e0cb2a8db65a103774781a5a6a44789c831e0d8e (patch) | |
| tree | 31747d70ef9300fae0a3cecd896058c3e5f9a2ef /src/game/SpellEffects.cpp | |
| parent | 6aee5fcbe7473a3cbac12b7e8482a7b98bef8be3 (diff) | |
| parent | 2bb81747e0322f28318a7f81d14c5fd2097a5981 (diff) | |
*Merge.
--HG--
branch : trunk
Diffstat (limited to 'src/game/SpellEffects.cpp')
| -rw-r--r-- | src/game/SpellEffects.cpp | 37 |
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) |
