From: "Enrico Weigelt, metux IT consult" <enrico.weig...@gr13.net>
--- src/net/sf/freecol/common/model/Player.java | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/src/net/sf/freecol/common/model/Player.java b/src/net/sf/freecol/common/model/Player.java index 29991c4778e..078de0a8011 100644 --- a/src/net/sf/freecol/common/model/Player.java +++ b/src/net/sf/freecol/common/model/Player.java @@ -1772,14 +1772,23 @@ public class Player extends FreeColGameObject implements Nameable { */ public Goods getMostValuableGoods() { if (!isEuropean()) return null; - final Predicate<Goods> boycottPred = g -> - getArrears(g.getType()) <= 0 && hasTraded(g.getType()); - final Comparator<Goods> tradedValueComp = Comparator.comparingInt(g -> - market.getSalePrice(g.getType(), - Math.min(g.getAmount(), GoodsContainer.CARGO_SIZE))); - return maximize(flatten(getColonies(), - c -> c.getCompactGoods().stream()), - boycottPred, tradedValueComp); + + Goods picked_goods = null; + int picked_price = 0; + + for (Colony c : getColonies()) { + for (Goods g : c.getCompactGoods()) { + GoodsType gt = g.getType(); + if (getArrears(gt) <= 0 && hasTraded(gt)) { + int myprice = market.getSalePrice(gt, Math.min(g.getAmount(), GoodsContainer.CARGO_SIZE)); + if (myprice > picked_price) { + picked_price = myprice; + picked_goods = g; + } + } + } + } + return picked_goods; } /** -- 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