aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/game/UnitAI.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/game/UnitAI.cpp b/src/game/UnitAI.cpp
index cb8335fac04..dc81dcb0e0e 100644
--- a/src/game/UnitAI.cpp
+++ b/src/game/UnitAI.cpp
@@ -180,16 +180,17 @@ void UnitAI::SelectTargetList(std::list<Unit*> &targetList, uint32 num, SelectAg
targetList.push_back((*itr)->getTarget());
if (targetType == SELECT_TARGET_NEAREST || targetType == SELECT_TARGET_FARTHEST)
- {
targetList.sort(TargetDistanceOrder(me));
- }
if (targetType == SELECT_TARGET_FARTHEST || targetType == SELECT_TARGET_BOTTOMAGGRO)
targetList.reverse();
+ if (targetList.size() < num)
+ return;
+
if (targetType == SELECT_TARGET_RANDOM)
{
- while (num > targetList.size()) {
+ while (num < targetList.size()) {
std::list<Unit*>::iterator itr = targetList.begin();
advance(itr, urand(0, targetList.size()-1));
targetList.erase(itr);