From 82cfbe9ccd3ff48f52c1c1fed03a0494336c15a1 Mon Sep 17 00:00:00 2001 From: yairm210 Date: Mon, 13 Jan 2025 08:56:17 +0200 Subject: [PATCH] Fix worker improvement crash --- .../src/com/unciv/logic/automation/unit/WorkerAutomation.kt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/core/src/com/unciv/logic/automation/unit/WorkerAutomation.kt b/core/src/com/unciv/logic/automation/unit/WorkerAutomation.kt index 37ce4aa011708..733e2cccd9bb1 100644 --- a/core/src/com/unciv/logic/automation/unit/WorkerAutomation.kt +++ b/core/src/com/unciv/logic/automation/unit/WorkerAutomation.kt @@ -84,7 +84,7 @@ class WorkerAutomation( val tileToWork = findTileToWork(unit, dangerousTiles, localUniqueCache) if (tileToWork != currentTile && tileToWork != null) { - headTowardsTileToWork(unit, tileToWork) + headTowardsTileToWork(unit, tileToWork, localUniqueCache) return } @@ -160,6 +160,7 @@ class WorkerAutomation( private fun headTowardsTileToWork( unit: MapUnit, tileToWork: Tile, + localUniqueCache: LocalUniqueCache ) { debug("WorkerAutomation: %s -> head towards %s", unit.toString(), tileToWork) val currentTile = unit.getTile() @@ -194,7 +195,8 @@ class WorkerAutomation( // tileRankings is updated in getBasePriority, which is only called if isAutomationWorkableTile is true // Meaning, there are tiles we can't/shouldn't work, and they won't even be in tileRankings - if (unit.currentTile in tileRankings) startWorkOnCurrentTile(unit) + if (tileHasWorkToDo(unit.currentTile, unit, localUniqueCache)) + startWorkOnCurrentTile(unit) }