1167 {
1168
1169 uint32 targetsAtRange = 0;
1172
1173
1174 for (std::list<WorldObject*>::iterator itr = targets.begin(); itr != targets.end(); ++itr, ++targetsAtRange)
1175 if ((*itr)->GetDistance(
GetCaster()) < 12.0f)
1176 break;
1177
1178
1179 if (targetsAtRange < minTargets)
1180 targetsAtRange = std::min<uint32>(targets.size(), minTargets);
1181
1182 if (!targetsAtRange)
1183 return;
1184
1185 std::list<WorldObject*>::iterator itrTarget = targets.begin();
1186 std::advance(itrTarget,
urand(0, targetsAtRange - 1));
1188 targets.clear();
1190 }
std::uint32_t uint32
Definition Define.h:107
uint32 urand(uint32 min, uint32 max)
Definition Random.cpp:44
Unit * GetCaster()
Definition SpellScript.cpp:401
WorldObject * _target
Definition boss_deathbringer_saurfang.cpp:1209