diff --git a/core/src/com/unciv/logic/city/CityConstructions.kt b/core/src/com/unciv/logic/city/CityConstructions.kt index 0626fcec51..846f387d04 100644 --- a/core/src/com/unciv/logic/city/CityConstructions.kt +++ b/core/src/com/unciv/logic/city/CityConstructions.kt @@ -90,6 +90,8 @@ class CityConstructions { internal fun getBuiltBuildings(): List = builtBuildings.map { GameBasics.Buildings[it]!! } + fun containsBuildingOrEquivalent(building: String): Boolean = + isBuilt(building) || getBuiltBuildings().any{it.replaces==building} fun getWorkDone(constructionName: String): Int { if (inProgressConstructions.containsKey(constructionName)) return inProgressConstructions[constructionName]!! diff --git a/core/src/com/unciv/models/gamebasics/Building.kt b/core/src/com/unciv/models/gamebasics/Building.kt index 052035f643..9a6791bbcd 100644 --- a/core/src/com/unciv/models/gamebasics/Building.kt +++ b/core/src/com/unciv/models/gamebasics/Building.kt @@ -164,9 +164,9 @@ class Building : NamedStats(), IConstruction{ it.cityConstructions.isBuilding(name) || it.cityConstructions.isBuilt(name) }) return false - if (requiredBuilding != null && !construction.isBuilt(requiredBuilding!!) - && construction.getBuiltBuildings().none{it.replaces==requiredBuilding}) return false - if (requiredBuildingInAllCities != null && civInfo.cities.any { !it.cityConstructions.isBuilt(requiredBuildingInAllCities!!) }) + + if (requiredBuilding != null && !construction.containsBuildingOrEquivalent(requiredBuilding!!)) return false + if (requiredBuildingInAllCities != null && civInfo.cities.any { !it.cityConstructions.containsBuildingOrEquivalent(requiredBuildingInAllCities!!) }) return false if(requiredBuildingInAllCities!=null && civInfo.cities.any { it.cityConstructions.isBuilding(name) || it.cityConstructions.isBuilt(name) diff --git a/core/src/com/unciv/ui/worldscreen/WorldScreen.kt b/core/src/com/unciv/ui/worldscreen/WorldScreen.kt index 589ae8464a..2f6476bc61 100644 --- a/core/src/com/unciv/ui/worldscreen/WorldScreen.kt +++ b/core/src/com/unciv/ui/worldscreen/WorldScreen.kt @@ -27,7 +27,6 @@ class WorldScreen : CameraStageBaseScreen() { val tileMapHolder: TileMapHolder = TileMapHolder(this, gameInfo.tileMap) val minimap = Minimap(tileMapHolder) - internal var buttonScale = 0.9f private val topBar = WorldScreenTopBar(this) val bottomBar = WorldScreenBottomBar(this) val unitActionsTable = UnitActionsTable(this) diff --git a/core/src/com/unciv/ui/worldscreen/unit/UnitActionsTable.kt b/core/src/com/unciv/ui/worldscreen/unit/UnitActionsTable.kt index 6cfe966089..4ce789caeb 100644 --- a/core/src/com/unciv/ui/worldscreen/unit/UnitActionsTable.kt +++ b/core/src/com/unciv/ui/worldscreen/unit/UnitActionsTable.kt @@ -47,8 +47,7 @@ class UnitActionsTable(val worldScreen: WorldScreen) : Table(){ clear() if (unit == null) return for (button in UnitActions().getUnitActions(unit, worldScreen).map { getUnitActionButton(it) }) - add(button).colspan(2).pad(5f) - .size(button.width * worldScreen.buttonScale, button.height * worldScreen.buttonScale).row() + add(button).colspan(2).pad(5f).row() pack() }