From: "Enrico Weigelt, metux IT consult" <enrico.weig...@gr13.net>
--- src/net/sf/freecol/server/ai/mission/Mission.java | 30 ++++++++++++++--------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/src/net/sf/freecol/server/ai/mission/Mission.java b/src/net/sf/freecol/server/ai/mission/Mission.java index ab9a28966e3..f0565327dd6 100644 --- a/src/net/sf/freecol/server/ai/mission/Mission.java +++ b/src/net/sf/freecol/server/ai/mission/Mission.java @@ -607,17 +607,25 @@ public abstract class Mission extends AIObject { * @return A good settlement to restart a Mission from. */ protected static Settlement getBestSettlement(Player player) { - final Comparator<Settlement> comp = cachingIntComparator(s -> { - int value = s.getUnitCount() + s.getTile().getUnitCount(); - if (s instanceof Colony) { - Colony colony = (Colony)s; - // Favour coastal - value += ((colony.isConnectedPort()) ? 10 : 0) - + colony.getAvailableWorkLocationCount(); - } - return value; - }); - return maximize(player.getSettlements(), comp); + Settlement max_s = null; + int max_v = 0; + + for (Settlement s : player.getSettlements()) { + int value = s.getUnitCount() + s.getTile().getUnitCount(); + if (s instanceof Colony) { + Colony colony = (Colony)s; + // Favour coastal + value += ((colony.isConnectedPort()) ? 10 : 0) + + colony.getAvailableWorkLocations().size(); + } + + if (value > max_v) { + max_s = s; + max_v = value; + } + } + + return max_s; } /** -- 2.11.0.rc0.7.gbe5a750 ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot _______________________________________________ Freecol-developers mailing list Freecol-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freecol-developers