Resolved #13838 - Only heal on current tile if it's not a dangerous tile

This commit is contained in:
yairm210 2025-08-21 18:16:59 +03:00
parent 539ae5248d
commit 7b8a05ccdf

View File

@ -374,12 +374,14 @@ object UnitAutomation {
val unitDistanceToTiles = unit.movement.getDistanceToTiles()
if (unitDistanceToTiles.isEmpty()) return true // can't move, so...
val dangerousTiles = unit.civ.threatManager.getDangerousTiles(unit, 3)
// If the unit can heal on this tile in two turns, just heal here
if (canUnitHealInTurnsOnCurrentTile(unit,3)) return true
if (unit.currentTile !in dangerousTiles
&& canUnitHealInTurnsOnCurrentTile(unit,3)) return true
val currentUnitTile = unit.getTile()
val dangerousTiles = unit.civ.threatManager.getDangerousTiles(unit, 3)
val viableTilesForHealing = unitDistanceToTiles.keys
.filter { it !in dangerousTiles && unit.movement.canMoveTo(it) }