Stop AI from pillaging their own tiles. Fixes #4203 (#4204)

This commit is contained in:
Xander Lenstra
2021-06-19 20:40:46 +02:00
committed by GitHub
parent 45a7b5da9c
commit 9eb2d1fffb

View File

@ -223,8 +223,9 @@ object UnitAutomation {
if (unit.type.isCivilian()) return false
val unitDistanceToTiles = unit.movement.getDistanceToTiles()
val tilesThatCanWalkToAndThenPillage = unitDistanceToTiles
.filter { it.value.totalDistance < unit.currentMovement }.keys
.filter { unit.movement.canMoveTo(it) && UnitActions.canPillage(unit, it) }
.filter { it.value.totalDistance < unit.currentMovement }.keys
.filter { unit.movement.canMoveTo(it) && UnitActions.canPillage(unit, it) }
.filter { it.getOwner() != unit.civInfo }
if (tilesThatCanWalkToAndThenPillage.isEmpty()) return false
val tileToPillage = tilesThatCanWalkToAndThenPillage.maxByOrNull { it: TileInfo -> it.getDefensiveBonus() }!!