Added conditional to apply uniques only if the game starts in a specific era

This commit is contained in:
Yair Morgenstern 2022-11-26 22:06:40 +02:00
parent 545b4afc5a
commit 51985622f2
3 changed files with 4 additions and 1 deletions

View File

@ -33,7 +33,7 @@ class Era : RulesetObject() {
private var iconRGB: List<Int>? = null
companion object {
private val eraConditionals = setOf(UniqueType.ConditionalBeforeEra, UniqueType.ConditionalDuringEra, UniqueType.ConditionalStartingFromEra)
private val eraConditionals = setOf(UniqueType.ConditionalBeforeEra, UniqueType.ConditionalDuringEra, UniqueType.ConditionalStartingFromEra, UniqueType.ConditionalIfStartingInEra)
}
override fun getUniqueTarget() = UniqueTarget.Era

View File

@ -170,6 +170,8 @@ class Unique(val text: String, val sourceObjectType: UniqueTarget? = null, val s
state.civInfo != null && state.civInfo.getEraNumber() >= ruleset().eras[condition.params[0]]!!.eraNumber
UniqueType.ConditionalDuringEra ->
state.civInfo != null && state.civInfo.getEraNumber() == ruleset().eras[condition.params[0]]!!.eraNumber
UniqueType.ConditionalIfStartingInEra ->
state.civInfo != null && state.civInfo.gameInfo.gameParameters.startingEra == condition.params[0]
UniqueType.ConditionalTech ->
state.civInfo != null && state.civInfo.tech.isResearched(condition.params[0])
UniqueType.ConditionalNoTech ->

View File

@ -603,6 +603,7 @@ enum class UniqueType(val text: String, vararg targets: UniqueTarget, val flags:
ConditionalDuringEra("during the [era]", UniqueTarget.Conditional),
ConditionalBeforeEra("before the [era]", UniqueTarget.Conditional),
ConditionalStartingFromEra("starting from the [era]", UniqueTarget.Conditional),
ConditionalIfStartingInEra("if starting in the [era]", UniqueTarget.Conditional),
ConditionalFirstCivToResearch("if no other Civilization has researched this", UniqueTarget.Conditional),
ConditionalTech("after discovering [tech]", UniqueTarget.Conditional),