mirror of
https://github.com/yairm210/Unciv.git
synced 2025-02-11 03:18:18 +07:00
Added "in this city", "in other cities" conditionals for city-based uniques
This commit is contained in:
parent
dea3256c93
commit
a81dd03fcf
@ -37,8 +37,8 @@ class Unique(val text: String, val sourceObjectType: UniqueTarget? = null, val s
|
||||
|
||||
val allParams = params + conditionals.flatMap { it.params }
|
||||
|
||||
val isLocalEffect = params.contains("in this city")
|
||||
val isAntiLocalEffect = params.contains("in other cities")
|
||||
val isLocalEffect = params.contains("in this city") || conditionals.any { it.type == UniqueType.ConditionalInThisCity }
|
||||
val isAntiLocalEffect = params.contains("in other cities") || conditionals.any { it.type == UniqueType.ConditionalInOtherCities }
|
||||
|
||||
fun hasFlag(flag: UniqueFlag) = type != null && type.flags.contains(flag)
|
||||
|
||||
@ -204,6 +204,8 @@ class Unique(val text: String, val sourceObjectType: UniqueTarget? = null, val s
|
||||
UniqueType.ConditionalBuildingBuilt ->
|
||||
state.civInfo != null && state.civInfo.cities.any { it.cityConstructions.containsBuildingOrEquivalent(condition.params[0]) }
|
||||
|
||||
// Filtered via city.getMatchingUniques
|
||||
UniqueType.ConditionalInThisCity -> true
|
||||
UniqueType.ConditionalCityWithBuilding ->
|
||||
state.city != null && state.city.cityConstructions.containsBuildingOrEquivalent(condition.params[0])
|
||||
UniqueType.ConditionalCityWithoutBuilding ->
|
||||
|
@ -671,6 +671,8 @@ enum class UniqueType(val text: String, vararg targets: UniqueTarget, val flags:
|
||||
ConditionalWhenBelowAmountResource("when below [amount] [resource]", UniqueTarget.Conditional),
|
||||
|
||||
/////// city conditionals
|
||||
ConditionalInThisCity("in this city", UniqueTarget.Conditional),
|
||||
ConditionalInOtherCities("in other cities", UniqueTarget.Conditional),
|
||||
ConditionalCityWithBuilding("in cities with a [buildingFilter]", UniqueTarget.Conditional),
|
||||
ConditionalCityWithoutBuilding("in cities without a [buildingFilter]", UniqueTarget.Conditional),
|
||||
ConditionalPopulationFilter("in cities with at least [amount] [populationFilter]", UniqueTarget.Conditional),
|
||||
|
Loading…
Reference in New Issue
Block a user