diff --git a/core/src/com/unciv/logic/automation/unit/CivilianUnitAutomation.kt b/core/src/com/unciv/logic/automation/unit/CivilianUnitAutomation.kt index 97a218c4352a0..274167d82d3f3 100644 --- a/core/src/com/unciv/logic/automation/unit/CivilianUnitAutomation.kt +++ b/core/src/com/unciv/logic/automation/unit/CivilianUnitAutomation.kt @@ -18,7 +18,12 @@ object CivilianUnitAutomation { && unit.civ.units.getCivUnits().any { unit.hasUnique(UniqueType.AddInCapital) } fun automateCivilianUnit(unit: MapUnit, dangerousTiles: HashSet) { - if (unit.hasUnique(UniqueType.FoundCity)) + // To allow "found city" actions that can only trigger a limited number of times + val settlerUnique = + UnitActionModifiers.getUsableUnitActionUniques(unit, UniqueType.FoundCity).firstOrNull() ?: + UnitActionModifiers.getUsableUnitActionUniques(unit, UniqueType.FoundPuppetCity).firstOrNull() + + if (settlerUnique != null) return SpecificUnitAutomation.automateSettlerActions(unit, dangerousTiles) if (tryRunAwayIfNeccessary(unit)) return