diff options
| author | Blaymoira <none@none> | 2009-02-11 16:33:07 +0100 |
|---|---|---|
| committer | Blaymoira <none@none> | 2009-02-11 16:33:07 +0100 |
| commit | f5fa3b71cf398d321304c0712456e31ef880cb6b (patch) | |
| tree | 575df4e2679e4d9a5f16e071ec10a4b9f0e6aa30 /src/game | |
| parent | 37be2f36846df38099764c41d4ca17edd2b48fe9 (diff) | |
*Some changes in Solarian - by Bagsac
--HG--
branch : trunk
Diffstat (limited to 'src/game')
| -rw-r--r-- | src/game/SpellAuras.cpp | 6 | ||||
| -rw-r--r-- | src/game/SpellEffects.cpp | 22 |
2 files changed, 28 insertions, 0 deletions
diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp index c77e84b85f5..011c4dff324 100644 --- a/src/game/SpellAuras.cpp +++ b/src/game/SpellAuras.cpp @@ -3697,6 +3697,12 @@ void Aura::HandlePeriodicTriggerSpell(bool apply, bool Real) // Cast Wrath of the Plaguebringer if not dispelled m_target->CastSpell(m_target, 29214, true, 0, this); } + + // Wrath of the Astromancer + if(!apply && m_spellProto->Id == 42783) + { + m_target->CastSpell(m_target, 42787, true, 0, this); + } } void Aura::HandlePeriodicEnergize(bool apply, bool Real) diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index 07e5d4afef9..681077939df 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -627,6 +627,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: { |
