mirror of
https://github.com/yairm210/Unciv.git
synced 2025-03-12 19:10:12 +07:00
parent
fd765fc442
commit
0a5aefcdd9
@ -48,6 +48,9 @@ class CityConstructions {
|
||||
fun getConstructableUnits() = cityInfo.getRuleset().units.values
|
||||
.asSequence().filter { it.isBuildable(this) }
|
||||
|
||||
fun getBasicCultureBuildings() = cityInfo.getRuleset().buildings.values
|
||||
.asSequence().filter { it.culture > 0f && !it.isWonder && !it.isNationalWonder && it.replaces == null }
|
||||
|
||||
/**
|
||||
* @return [Stats] provided by all built buildings in city plus the bonus from Library
|
||||
*/
|
||||
@ -279,22 +282,18 @@ class CityConstructions {
|
||||
}
|
||||
|
||||
fun hasBuildableCultureBuilding(): Boolean {
|
||||
val basicCultureBuildings = listOf("Monument", "Temple", "Opera House", "Museum")
|
||||
.map { cityInfo.civInfo.getEquivalentBuilding(it) }
|
||||
|
||||
return basicCultureBuildings
|
||||
return getBasicCultureBuildings()
|
||||
.map { cityInfo.civInfo.getEquivalentBuilding(it.name) }
|
||||
.filter { it.isBuildable(this) || it.name == currentConstruction}
|
||||
.any()
|
||||
}
|
||||
|
||||
fun addCultureBuilding(): String? {
|
||||
val basicCultureBuildings = listOf("Monument", "Temple", "Opera House", "Museum")
|
||||
.map { cityInfo.civInfo.getEquivalentBuilding(it) }
|
||||
|
||||
val buildableCultureBuildings = basicCultureBuildings
|
||||
val buildableCultureBuildings = getBasicCultureBuildings()
|
||||
.map { cityInfo.civInfo.getEquivalentBuilding(it.name) }
|
||||
.filter { it.isBuildable(this) || it.name == currentConstruction }
|
||||
|
||||
if (buildableCultureBuildings.isEmpty())
|
||||
if (!buildableCultureBuildings.any())
|
||||
return null
|
||||
|
||||
val cultureBuildingToBuild = buildableCultureBuildings.minBy { it.cost }!!.name
|
||||
|
@ -76,7 +76,8 @@ class CityInfo {
|
||||
civInfo.cities = civInfo.cities.toMutableList().apply { add(this@CityInfo) }
|
||||
civInfo.addNotification("[$name] has been founded!", cityLocation, Color.PURPLE)
|
||||
|
||||
if (civInfo.policies.isAdopted("Legalism") && civInfo.cities.size <= 4) cityConstructions.addCultureBuilding()
|
||||
civInfo.policies.tryAddLegalismBuildings()
|
||||
|
||||
if (civInfo.cities.size == 1) {
|
||||
cityConstructions.addBuilding("Palace")
|
||||
cityConstructions.currentConstruction = Constants.worker // Default for first city only!
|
||||
|
@ -135,7 +135,7 @@ class PolicyManager {
|
||||
if(!canAdoptPolicy()) shouldOpenPolicyPicker=false
|
||||
}
|
||||
|
||||
private fun tryAddLegalismBuildings() {
|
||||
fun tryAddLegalismBuildings() {
|
||||
val candidateCities = civInfo.cities
|
||||
.sortedBy { it.turnAcquired }
|
||||
.subList(0, min(4, civInfo.cities.size))
|
||||
|
Loading…
Reference in New Issue
Block a user