From: "Enrico Weigelt, metux IT consult" <[email protected]>
We have several places which are just interested in Player's ports
instead of all colonies. Instead of filtering the lists ourselves,
just ask Player for ports instead of all colonies.
---
src/net/sf/freecol/common/model/Unit.java | 4 ++--
src/net/sf/freecol/server/ai/EuropeanAIPlayer.java | 4 ++--
src/net/sf/freecol/server/ai/REFAIPlayer.java | 4 ++--
3 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/src/net/sf/freecol/common/model/Unit.java
b/src/net/sf/freecol/common/model/Unit.java
index c3a7d55a5f9..e2a7394c377 100644
--- a/src/net/sf/freecol/common/model/Unit.java
+++ b/src/net/sf/freecol/common/model/Unit.java
@@ -3021,8 +3021,8 @@ public class Unit extends GoodsLocation
// Ocean travel required, destination blocked.
// Find the closest available connected port.
final Predicate<Settlement> portPredicate = s ->
- s != ignoreSrc && s != ignoreDst && s.isConnectedPort();
- sett = minimize(getOwner().getSettlements(), portPredicate,
+ s != ignoreSrc && s != ignoreDst;
+ sett = minimize(getOwner().getPorts(), portPredicate,
settlementComparator);
path = (sett == null) ? null : this.findPath(sett);
break;
diff --git a/src/net/sf/freecol/server/ai/EuropeanAIPlayer.java
b/src/net/sf/freecol/server/ai/EuropeanAIPlayer.java
index e0c6907413d..43931858669 100644
--- a/src/net/sf/freecol/server/ai/EuropeanAIPlayer.java
+++ b/src/net/sf/freecol/server/ai/EuropeanAIPlayer.java
@@ -549,8 +549,8 @@ public class EuropeanAIPlayer extends MissionAIPlayer {
: score / (stockade.getLevel() + 1.5);
});
target = maximize(flatten(enemies, Player::isEuropean,
- Player::getColonies),
- Colony::isConnectedPort, targetScore);
+ Player::getPorts),
+ targetScore);
}
// Otherwise attack something near a weak colony
if (target == null && !colonies.isEmpty()) {
diff --git a/src/net/sf/freecol/server/ai/REFAIPlayer.java
b/src/net/sf/freecol/server/ai/REFAIPlayer.java
index 8cad3d5a4e9..0c73f5bedf3 100644
--- a/src/net/sf/freecol/server/ai/REFAIPlayer.java
+++ b/src/net/sf/freecol/server/ai/REFAIPlayer.java
@@ -188,14 +188,14 @@ public class REFAIPlayer extends EuropeanAIPlayer {
= new CachingFunction<Colony, PathNode>(c ->
unit.findPath(carrier, c, carrier, null));
final Predicate<Colony> portPred = c ->
- (!port || c.isConnectedPort()) && pathMapper.apply(c) != null;
+ pathMapper.apply(c) != null;
final Function<Colony, TargetTuple> newTupleMapper = c -> {
PathNode path = pathMapper.apply(c);
return new TargetTuple(c, path,
UnitSeekAndDestroyMission.scorePath(aiu, path));
};
final List<TargetTuple> targets
- = transform(flatten(player.getRebels(), Player::getColonies),
+ = transform(flatten(player.getRebels(), (port ? Player::getPorts :
Player::getColonies)),
portPred, newTupleMapper);
// Increase score for drydock/s, musket and tools suppliers,
--
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