From: "Enrico Weigelt, metux IT consult" <[email protected]>
---
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/freecol-developers