From af113db8d7ed0cf5cf84a73561a96115b9f7adc9 Mon Sep 17 00:00:00 2001 From: Yair Morgenstern Date: Thu, 3 Dec 2020 22:17:52 +0200 Subject: [PATCH] Don't allow AI to offer peace to cty states allied with their enemies --- core/src/com/unciv/logic/GameInfo.kt | 8 -------- core/src/com/unciv/logic/automation/NextTurnAutomation.kt | 2 ++ core/src/com/unciv/logic/city/CityConstructions.kt | 2 -- 3 files changed, 2 insertions(+), 10 deletions(-) diff --git a/core/src/com/unciv/logic/GameInfo.kt b/core/src/com/unciv/logic/GameInfo.kt index bf717bc838..2b8101595e 100644 --- a/core/src/com/unciv/logic/GameInfo.kt +++ b/core/src/com/unciv/logic/GameInfo.kt @@ -311,14 +311,6 @@ class GameInfo { for (cityInfo in civInfo.cities) cityInfo.cityStats.updateCityHappiness() for (cityInfo in civInfo.cities) { - if (cityInfo.cityConstructions.currentConstruction != "") { // move it to the top of the queue - val constructionQueue = cityInfo.cityConstructions.constructionQueue - val itemsInQueue = constructionQueue.toList() - constructionQueue.clear() - constructionQueue.add(cityInfo.cityConstructions.currentConstruction) - constructionQueue.addAll(itemsInQueue) - cityInfo.cityConstructions.currentConstruction = "" - } // As of 3.10.14, specialists are saved by name not by stat for((key, value) in cityInfo.population.specialists.toHashMap().filter { it.value>0 }) diff --git a/core/src/com/unciv/logic/automation/NextTurnAutomation.kt b/core/src/com/unciv/logic/automation/NextTurnAutomation.kt index 8135ee8dea..397e6c94c1 100644 --- a/core/src/com/unciv/logic/automation/NextTurnAutomation.kt +++ b/core/src/com/unciv/logic/automation/NextTurnAutomation.kt @@ -305,6 +305,8 @@ object NextTurnAutomation { .map { it.value.otherCiv() } .filterNot { it == civInfo || it.isBarbarian() || it.cities.isEmpty() } .filter { !civInfo.getDiplomacyManager(it).hasFlag(DiplomacyFlags.DeclinedPeace) } + // Don't allow AIs to offer peace to ity states allied with their enemies + .filterNot { it.isCityState() && it.getAllyCiv()!="" && civInfo.isAtWarWith(civInfo.gameInfo.getCivilization(it.getAllyCiv())) } for (enemy in enemiesCiv) { val enemiesStrength = Automation.evaluteCombatStrength(enemy) diff --git a/core/src/com/unciv/logic/city/CityConstructions.kt b/core/src/com/unciv/logic/city/CityConstructions.kt index c992a98286..aba5c9dbd9 100644 --- a/core/src/com/unciv/logic/city/CityConstructions.kt +++ b/core/src/com/unciv/logic/city/CityConstructions.kt @@ -34,8 +34,6 @@ class CityConstructions { var builtBuildings = HashSet() val inProgressConstructions = HashMap() - @Deprecated("As of 3.7.5, all constructions are in the queue") - var currentConstruction="" var currentConstructionFromQueue: String get() { if(constructionQueue.isEmpty()) return "" else return constructionQueue.first()