1257 {
1258
1259 uint32 targetsAtRange = 0;
1262
1263
1264 for (std::list<WorldObject*>::iterator itr = targets.begin(); itr != targets.end(); ++itr, ++targetsAtRange)
1265 if ((*itr)->GetDistance(
GetCaster()) < 12.0f)
1266 break;
1267
1268
1269 if (targetsAtRange < minTargets)
1270 targetsAtRange = std::min<uint32>(targets.size(), minTargets);
1271
1272 if (!targetsAtRange)
1273 return;
1274
1275 std::list<WorldObject*>::iterator itrTarget = targets.begin();
1276 std::advance(itrTarget,
urand(0, targetsAtRange - 1));
1278 targets.clear();
1279 targets.push_back(
target);
1280 }
std::uint32_t uint32
Definition: Define.h:108
uint32 urand(uint32 min, uint32 max)
Definition: Random.cpp:44
Unit * GetCaster()
Definition: SpellScript.cpp:401
WorldObject * target
Definition: boss_deathbringer_saurfang.cpp:1298