Get going with producing military if your ass is about to get kicked. (#9109)

This commit is contained in:
WhoIsJohannes 2023-04-03 22:38:04 +02:00 committed by GitHub
parent 9e239de6ce
commit 8b01498227
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -962,15 +962,21 @@ object NextTurnAutomation {
}
private fun automateCities(civInfo: Civilization) {
val ownMilitaryStrength = civInfo.getStatForRanking(RankingType.Force)
val sumOfEnemiesMilitaryStrength = civInfo.gameInfo.civilizations.filter { it != civInfo }
.filter { civInfo.isAtWarWith(it) }.sumOf { it.getStatForRanking(RankingType.Force) }
val civHasSignificantlyWeakerMilitaryThanEnemies =
ownMilitaryStrength < sumOfEnemiesMilitaryStrength * 0.66f
for (city in civInfo.cities) {
if (city.isPuppet && city.population.population > 9
&& !city.isInResistance()) {
&& !city.isInResistance()
) {
city.annexCity()
}
city.reassignAllPopulation()
if (city.health < city.getMaxHealth()) {
if (city.health < city.getMaxHealth() || civHasSignificantlyWeakerMilitaryThanEnemies) {
Automation.tryTrainMilitaryUnit(city) // need defenses if city is under attack
if (city.cityConstructions.constructionQueue.isNotEmpty())
continue // found a unit to build so move on