Don't allow AI to offer peace to cty states allied with their enemies

This commit is contained in:
Yair Morgenstern
2020-12-03 22:17:52 +02:00
parent 91e58f45bb
commit af113db8d7
3 changed files with 2 additions and 10 deletions

View File

@ -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 })

View File

@ -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)

View File

@ -34,8 +34,6 @@ class CityConstructions {
var builtBuildings = HashSet<String>()
val inProgressConstructions = HashMap<String, Int>()
@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()