diff options
| author | Shauren <shauren.dev@gmail.com> | 2011-01-12 22:50:51 +0100 |
|---|---|---|
| committer | Shauren <shauren.dev@gmail.com> | 2011-01-12 22:50:51 +0100 |
| commit | 8d59953f9372c6876e0cd8078b44de6893082cbe (patch) | |
| tree | 19ee59ff903b59eea7244c9f35c21d669e945f28 /src/server/game/Spells/Spell.cpp | |
| parent | 52499b03ea8c86ab536c2025c3629b8883f591f2 (diff) | |
Scripts/Icecrown Citadel
* Call EnterEvadeMode before teleporting players to entrance - prevents players being stuck in combat
* Fixed Gaseous Blight stacking damage
* Properly initialize phase for Professor Putricide when entering combat
* Fixed Blood Nova and Boiling Blood abilities of Deathbringer Saurfang
Diffstat (limited to 'src/server/game/Spells/Spell.cpp')
| -rwxr-xr-x | src/server/game/Spells/Spell.cpp | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index 9a29cd99b23..4ca89707a72 100755 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -2794,6 +2794,30 @@ void Spell::SelectEffectTargets(uint32 i, uint32 cur) case 59725: // Improved Spell Reflection - aoe aura unitList.remove(m_caster); break; + case 72378: // Blood Nova (Deathbringer Saurfang) + case 73058: + { + // select one random target, with preference of ranged targets + uint32 targetsAtRange = 0; + uint32 const minTargets = m_caster->GetMap()->GetSpawnMode() & 1 ? 10 : 4; + unitList.sort(Trinity::ObjectDistanceOrderPred(m_caster, false)); + + // get target count at range + for (std::list<Unit*>::iterator itr = unitList.begin(); itr != unitList.end(); ++itr, ++targetsAtRange) + if ((*itr)->GetDistance(m_caster) < 12.0f) + break; + + // set the upper cap + if (targetsAtRange < minTargets) + targetsAtRange = std::min<uint32>(unitList.size()-1, minTargets); + + std::list<Unit*>::iterator itr = unitList.begin(); + std::advance(itr, urand(0, targetsAtRange)); + Unit* target = *itr; + unitList.clear(); + unitList.push_back(target); + break; + } case 72255: // Mark of the Fallen Champion (Deathbringer Saurfang) case 72444: case 72445: |
