diff --git a/core/src/com/unciv/logic/automation/Automation.kt b/core/src/com/unciv/logic/automation/Automation.kt index 5da809bce7..0d9a7ee65a 100644 --- a/core/src/com/unciv/logic/automation/Automation.kt +++ b/core/src/com/unciv/logic/automation/Automation.kt @@ -106,6 +106,7 @@ object Automation { } fun tryTrainMilitaryUnit(city: CityInfo) { + if (city.isPuppet) return val chosenUnitName = chooseMilitaryUnit(city) if (chosenUnitName != null) city.cityConstructions.currentConstructionFromQueue = chosenUnitName diff --git a/core/src/com/unciv/logic/automation/NextTurnAutomation.kt b/core/src/com/unciv/logic/automation/NextTurnAutomation.kt index 6857f61245..ef7bded8f2 100644 --- a/core/src/com/unciv/logic/automation/NextTurnAutomation.kt +++ b/core/src/com/unciv/logic/automation/NextTurnAutomation.kt @@ -878,7 +878,7 @@ object NextTurnAutomation { currentConstruction is BaseUnit && currentConstruction.hasUnique(UniqueType.FoundCity) }) { - val bestCity = civInfo.cities.maxByOrNull { it.cityStats.currentCityStats.production }!! + val bestCity = civInfo.cities.filterNot { it.isPuppet }.maxByOrNull { it.cityStats.currentCityStats.production }!! if (bestCity.cityConstructions.builtBuildings.size > 1) // 2 buildings or more, otherwise focus on self first bestCity.cityConstructions.currentConstructionFromQueue = settlerUnits.minByOrNull { it.cost }!!.name }