diff options
| author | Shauren <none@none> | 2010-12-03 17:47:33 +0100 |
|---|---|---|
| committer | Shauren <none@none> | 2010-12-03 17:47:33 +0100 |
| commit | e0c992a8ba499d3ae7302d134017593f4ee6dae5 (patch) | |
| tree | 3c89735d023eab966c190355a0eabfec0104039a /src/server/game/Spells/Spell.cpp | |
| parent | 892f56c37d919381b5a98910eaccaf3374a9afb6 (diff) | |
Scripts/Icecrown Citadel: Added script for Blood Queen Lana'Thel
Scripts/Icecrown Citadel: Fixed Invocation of Blood announcement emote for Blood Prince Council
Scripts/Icecrown Citadel: Fixed intro for Lady Deathwhisper
Scripts/Icecrown Citadel: Fixed Bone Spike for Lord Marrowgar
--HG--
branch : trunk
Diffstat (limited to 'src/server/game/Spells/Spell.cpp')
| -rwxr-xr-x | src/server/game/Spells/Spell.cpp | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index a8d1a44528a..9bff6b85ab1 100755 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -2800,6 +2800,32 @@ void Spell::SelectEffectTargets(uint32 i, uint32 cur) ++itr; } break; + case 71390: // Pact of the Darkfallen + { + for (std::list<Unit*>::iterator itr = unitList.begin(); itr != unitList.end();) + { + if (!(*itr)->HasAura(71340)) + itr = unitList.erase(itr); + else + ++itr; + } + bool remove = true; + // we can do this, unitList is MAX 4 in size + for (std::list<Unit*>::const_iterator itr = unitList.begin(); itr != unitList.end() && remove; ++itr) + { + if (!m_caster->IsWithinDist(*itr, 5.0f, false)) + remove = false; + + for (std::list<Unit*>::const_iterator itr2 = unitList.begin(); itr2 != unitList.end() && remove; ++itr2) + if (itr != itr2 && !(*itr2)->IsWithinDist(*itr, 5.0f, false)) + remove = false; + } + + if (remove) + for (std::list<Unit*>::iterator itr = unitList.begin(); itr != unitList.end(); ++itr) + (*itr)->RemoveAura(71340); + break; + } } // Death Pact if (m_spellInfo->SpellFamilyName == SPELLFAMILY_DEATHKNIGHT && m_spellInfo->SpellFamilyFlags[0] & 0x00080000) |
