diff options
| author | Shauren <shauren.trinity@gmail.com> | 2011-05-14 14:12:40 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2011-05-14 14:12:40 +0200 |
| commit | a816cdd772af472a27ef9caafe4be21cc90a5389 (patch) | |
| tree | 46525392db6dcd92b3e01066fe3efb2c6f8bc6f2 /src/server/game/Spells/SpellEffects.cpp | |
| parent | 77a7d9a4dfd1b9ed7e54ae05249c1cea49b9d1c9 (diff) | |
Core/Spells: Fixed TARGET_UNIT_DRIVER selection and possible problems with Righteous Defense target count
Diffstat (limited to 'src/server/game/Spells/SpellEffects.cpp')
| -rwxr-xr-x | src/server/game/Spells/SpellEffects.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp index b42c0afbf76..aba6fa10744 100755 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -1390,11 +1390,12 @@ void Spell::EffectDummy(SpellEffIndex effIndex) Unit::AttackerSet attackers = unitTarget->getAttackers(); // selected from list 3 - for (uint32 i = 0; i < std::min(size_t(3), attackers.size()); ++i) + uint32 maxTargets = std::min<uint32>(3, attackers.size()); + for (uint32 i = 0; i < maxTargets; ++i) { Unit::AttackerSet::iterator aItr = attackers.begin(); - std::advance(aItr, rand() % attackers.size()); - AddUnitTarget((*aItr), 1); + std::advance(aItr, urand(0, attackers.size() - 1)); + AddUnitTarget(*aItr, 1); attackers.erase(aItr); } |
