From 90f84217776f09cff75d5e74bac276c40f3889f7 Mon Sep 17 00:00:00 2001 From: Duan Tao Date: Wed, 20 Mar 2019 22:25:34 +0800 Subject: [PATCH] Avoid building many wonders at the same time. --- core/src/com/unciv/logic/automation/Automation.kt | 4 +++- core/src/com/unciv/logic/city/CityConstructions.kt | 8 ++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/core/src/com/unciv/logic/automation/Automation.kt b/core/src/com/unciv/logic/automation/Automation.kt index 31ed858be8..52f6a19104 100644 --- a/core/src/com/unciv/logic/automation/Automation.kt +++ b/core/src/com/unciv/logic/automation/Automation.kt @@ -135,8 +135,10 @@ class Automation { //Wonders if (buildableWonders.isNotEmpty()) { + val citiesBuildingWonders = cityInfo.civInfo.cities + .filter { it.cityConstructions.isBuildingWonder() }.size val wonder = buildableWonders.getRandom() - buildingValues[wonder.name] = wonder.cost / cityProduction / 5.0f + buildingValues[wonder.name] = wonder.cost / cityProduction * (citiesBuildingWonders + 1) / 5.0f } //other buildings diff --git a/core/src/com/unciv/logic/city/CityConstructions.kt b/core/src/com/unciv/logic/city/CityConstructions.kt index eec666d1bc..c41bf6b675 100644 --- a/core/src/com/unciv/logic/city/CityConstructions.kt +++ b/core/src/com/unciv/logic/city/CityConstructions.kt @@ -72,6 +72,14 @@ class CityConstructions { fun isBeingConstructed(constructionName: String): Boolean = currentConstruction == constructionName + fun isBuildingWonder(): Boolean { + val currentConstruction = getCurrentConstruction() + if (currentConstruction is Building) { + return currentConstruction.isWonder + } + return false + } + internal fun getConstruction(constructionName: String): IConstruction { if (GameBasics.Buildings.containsKey(constructionName)) return GameBasics.Buildings[constructionName]!!