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

---
 src/net/sf/freecol/common/model/Colony.java | 31 ++++++++++++++++++-----------
 1 file changed, 19 insertions(+), 12 deletions(-)

diff --git a/src/net/sf/freecol/common/model/Colony.java 
b/src/net/sf/freecol/common/model/Colony.java
index 93c1a4ed575..df4d3e387ef 100644
--- a/src/net/sf/freecol/common/model/Colony.java
+++ b/src/net/sf/freecol/common/model/Colony.java
@@ -2045,18 +2045,25 @@ public class Colony extends Settlement implements 
Nameable, TradeLocation {
      * @return True if the goods can be produced.
      */
     public boolean canProduce(GoodsType goodsType) {
-        return (getNetProductionOf(goodsType) > 0)
-                ? true // Obviously:-)
-
-                // Breeding requires the breedable number to be present
-                : (goodsType.isBreedable())
-                ? getGoodsCount(goodsType) >= goodsType.getBreedingNumber()
-
-                // Is there a work location that can produce the goods, with
-                // positive generic production potential and all inputs 
satisfied?
-                : any(getWorkLocationsForProducing(goodsType),
-                wl -> wl.getGenericPotential(goodsType) > 0
-                        && all(wl.getInputs(), ag -> 
canProduce(ag.getType())));
+        if (getNetProductionOf(goodsType) > 0) return true; // Obviously:-)
+
+        // Breeding requires the breedable number to be present
+        if (goodsType.isBreedable())
+            return getGoodsCount(goodsType) >= goodsType.getBreedingNumber();
+
+        // Is there a work location that can produce the goods, with
+        // positive generic production potential and all inputs satisfied?
+loop:   for (WorkLocation wl : getWorkLocationsForProducing(goodsType)) {
+            if (wl.getGenericPotential(goodsType) > 0) {
+                for (AbstractGoods ag : wl.getInputs()) {
+                    if (!canProduce(ag.getType()))
+                        continue loop;
+                }
+                return true;
+            }
+        }
+
+        return false;
     }
 
 
-- 
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