From: "Enrico Weigelt, metux IT consult" <enrico.weig...@gr13.net>

---
 src/net/sf/freecol/common/model/Colony.java   | 20 ++++++++++++++------
 src/net/sf/freecol/common/model/UnitType.java |  4 ----
 2 files changed, 14 insertions(+), 10 deletions(-)

diff --git a/src/net/sf/freecol/common/model/Colony.java 
b/src/net/sf/freecol/common/model/Colony.java
index a71c95ad293..0c99aca0a93 100644
--- a/src/net/sf/freecol/common/model/Colony.java
+++ b/src/net/sf/freecol/common/model/Colony.java
@@ -1702,12 +1702,20 @@ public class Colony extends Settlement implements 
Nameable, TradeLocation {
      * @return The best available defender type.
      */
     public UnitType getBestDefenderType() {
-        final Predicate<UnitType> defenderPred = ut ->
-                ut.getDefence() > 0
-                        && !ut.isNaval()
-                        && ut.isAvailableTo(getOwner());
-        return maximize(getSpecification().getUnitTypeList(), defenderPred,
-                UnitType.defenceComparator);
+        UnitType max_ut = null;
+        double max_def = 0;
+
+        for (UnitType ut : getSpecification().getUnitTypeList()) {
+            double defence = ut.getDefence();
+            if (defence > 0 && !ut.isNaval() && ut.isAvailableTo(getOwner())) {
+                if (defence > max_def) {
+                    max_ut = ut;
+                    max_def = defence;
+                }
+            }
+        }
+
+        return max_ut;
     }
 
     /**
diff --git a/src/net/sf/freecol/common/model/UnitType.java 
b/src/net/sf/freecol/common/model/UnitType.java
index dbccfebc7bc..c741b421fc2 100644
--- a/src/net/sf/freecol/common/model/UnitType.java
+++ b/src/net/sf/freecol/common/model/UnitType.java
@@ -42,10 +42,6 @@ public final class UnitType extends BuildableType implements 
Consumer {
 
     public static final String TAG = "unit-type";
 
-    /** Comparator for defence ability. */
-    public static final Comparator<UnitType> defenceComparator
-            = Comparator.comparingDouble(UnitType::getDefence);
-
     /** The default offence value. */
     public static final int DEFAULT_OFFENCE = 0;
 
-- 
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

Reply via email to