diff options
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); } |
