diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/game/UnitAI.cpp | 7 |
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); |