diff --git a/core/src/com/unciv/logic/automation/SpecificUnitAutomation.kt b/core/src/com/unciv/logic/automation/SpecificUnitAutomation.kt index 45cdab852b..4a3a08ee10 100644 --- a/core/src/com/unciv/logic/automation/SpecificUnitAutomation.kt +++ b/core/src/com/unciv/logic/automation/SpecificUnitAutomation.kt @@ -378,14 +378,18 @@ object SpecificUnitAutomation { } fun foundReligion(unit: MapUnit) { - val cityToFoundReligionAt = unit.civInfo.cities.first { !it.isHolyCity() } + val cityToFoundReligionAt = unit.civInfo.cities.firstOrNull { + !it.isHolyCity() + && unit.movement.canMoveTo(it.getCenterTile()) + && unit.movement.canReach(it.getCenterTile()) + } + if (cityToFoundReligionAt == null) return if (unit.getTile() != cityToFoundReligionAt.getCenterTile()) { unit.movement.headTowards(cityToFoundReligionAt.getCenterTile()) - return + return } - + UnitActions.getFoundReligionAction(unit)() - } fun enhanceReligion(unit: MapUnit) {