From 51985622f2155e79ac4a92c98b7f1089efa801ba Mon Sep 17 00:00:00 2001 From: Yair Morgenstern Date: Sat, 26 Nov 2022 22:06:40 +0200 Subject: [PATCH] Added conditional to apply uniques only if the game starts in a specific era --- core/src/com/unciv/models/ruleset/Era.kt | 2 +- core/src/com/unciv/models/ruleset/unique/Unique.kt | 2 ++ core/src/com/unciv/models/ruleset/unique/UniqueType.kt | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/core/src/com/unciv/models/ruleset/Era.kt b/core/src/com/unciv/models/ruleset/Era.kt index c91236980a..b15a0bded1 100644 --- a/core/src/com/unciv/models/ruleset/Era.kt +++ b/core/src/com/unciv/models/ruleset/Era.kt @@ -33,7 +33,7 @@ class Era : RulesetObject() { private var iconRGB: List? = 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 diff --git a/core/src/com/unciv/models/ruleset/unique/Unique.kt b/core/src/com/unciv/models/ruleset/unique/Unique.kt index f809c0e7de..bd9492f96a 100644 --- a/core/src/com/unciv/models/ruleset/unique/Unique.kt +++ b/core/src/com/unciv/models/ruleset/unique/Unique.kt @@ -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 -> diff --git a/core/src/com/unciv/models/ruleset/unique/UniqueType.kt b/core/src/com/unciv/models/ruleset/unique/UniqueType.kt index e8d166808b..49ad9d1f45 100644 --- a/core/src/com/unciv/models/ruleset/unique/UniqueType.kt +++ b/core/src/com/unciv/models/ruleset/unique/UniqueType.kt @@ -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),