diff --git a/core/src/com/unciv/logic/automation/unit/WorkerAutomation.kt b/core/src/com/unciv/logic/automation/unit/WorkerAutomation.kt index 9b9b794f41..3bf951bd89 100644 --- a/core/src/com/unciv/logic/automation/unit/WorkerAutomation.kt +++ b/core/src/com/unciv/logic/automation/unit/WorkerAutomation.kt @@ -86,7 +86,7 @@ class WorkerAutomation( if (result.isEmpty()) debug("\tempty") else result.forEach { - debug("\t$it") // ${it.getCity()?.name} included in Tile toString() + debug("\t$it") } } result @@ -297,8 +297,9 @@ class WorkerAutomation( val selectedTile = workableTiles.firstOrNull { unit.movement.canReach(it) && (tileCanBeImproved(unit, it) || it.isPillaged()) } return if (selectedTile != null - && (!workableTiles.contains(currentTile) - || getPriority(selectedTile) > getPriority(currentTile))) + && ((!tileCanBeImproved(unit, currentTile) && !currentTile.isPillaged()) // current tile is unimprovable + || !workableTiles.contains(currentTile) // current tile is unworkable by city + || getPriority(selectedTile) > getPriority(currentTile))) // current tile is less important selectedTile else currentTile }