Added new unique - "Automatically built in all cities where it is buildable"

This commit is contained in:
Yair Morgenstern 2023-06-19 15:40:21 +03:00
parent 4107e081bd
commit e987bbbaad
4 changed files with 13 additions and 1 deletions

View File

@ -532,6 +532,14 @@ class CityConstructions : IsPartOfGameInfoSerialization {
addBuilding(freeBuildingName) addBuilding(freeBuildingName)
} }
} }
val autoGrantedBuildings = city.getRuleset().buildings.values
.filter { it.hasUnique(UniqueType.GainBuildingWhereBuildable) }
for (building in autoGrantedBuildings)
if (building.isBuildable(city.cityConstructions))
addBuilding(building.name)
} }
/** /**

View File

@ -1,9 +1,9 @@
package com.unciv.logic.civilization package com.unciv.logic.civilization
import com.unciv.logic.IsPartOfGameInfoSerialization import com.unciv.logic.IsPartOfGameInfoSerialization
import com.unciv.models.ruleset.INonPerpetualConstruction
import com.unciv.models.Counter import com.unciv.models.Counter
import com.unciv.models.ruleset.Building import com.unciv.models.ruleset.Building
import com.unciv.models.ruleset.INonPerpetualConstruction
import com.unciv.models.ruleset.unique.UniqueType import com.unciv.models.ruleset.unique.UniqueType
import com.unciv.models.ruleset.unit.BaseUnit import com.unciv.models.ruleset.unit.BaseUnit
import com.unciv.models.stats.Stat import com.unciv.models.stats.Stat

View File

@ -364,6 +364,7 @@ enum class UniqueType(val text: String, vararg targets: UniqueTarget, val flags:
RemoveAnnexUnhappiness("Remove extra unhappiness from annexed cities", UniqueTarget.Building), RemoveAnnexUnhappiness("Remove extra unhappiness from annexed cities", UniqueTarget.Building),
ConnectTradeRoutes("Connects trade routes over water", UniqueTarget.Building), ConnectTradeRoutes("Connects trade routes over water", UniqueTarget.Building),
GainBuildingWhereBuildable("Automatically built in all cities where it is buildable", UniqueTarget.Building),
CreatesOneImprovement("Creates a [improvementName] improvement on a specific tile", UniqueTarget.Building), CreatesOneImprovement("Creates a [improvementName] improvement on a specific tile", UniqueTarget.Building),
//endregion //endregion

View File

@ -1046,6 +1046,9 @@ Simple unique parameters are explained by mouseover. Complex parameters are expl
??? example "Connects trade routes over water" ??? example "Connects trade routes over water"
Applicable to: Building Applicable to: Building
??? example "Automatically built in all cities where it is buildable"
Applicable to: Building
??? example "Creates a [improvementName] improvement on a specific tile" ??? example "Creates a [improvementName] improvement on a specific tile"
Example: "Creates a [Trading Post] improvement on a specific tile" Example: "Creates a [Trading Post] improvement on a specific tile"