diff --git a/core/src/com/unciv/models/ruleset/unique/Unique.kt b/core/src/com/unciv/models/ruleset/unique/Unique.kt index e3fd342285..8a4812f9b0 100644 --- a/core/src/com/unciv/models/ruleset/unique/Unique.kt +++ b/core/src/com/unciv/models/ruleset/unique/Unique.kt @@ -65,6 +65,8 @@ class Unique(val text: String, val sourceObjectType: UniqueTarget? = null, val s fun conditionalsApply(state: StateForConditionals = StateForConditionals()): Boolean { if (state.ignoreConditionals) return true + // Always allow Timed conditional uniques. They are managed elsewhere + if (conditionals.any{ it.isOfType(UniqueType.ConditionalTimedUnique) }) return true for (condition in conditionals) { if (!conditionalApplies(condition, state)) return false } @@ -478,7 +480,8 @@ class UniqueMap: HashMap>() { class TemporaryUnique() : IsPartOfGameInfoSerialization { constructor(uniqueObject: Unique, turns: Int) : this() { - unique = uniqueObject.text + val turnsText = uniqueObject.conditionals.first { it.isOfType(UniqueType.ConditionalTimedUnique) }.text + unique = uniqueObject.text.replaceFirst("<$turnsText>", "") sourceObjectType = uniqueObject.sourceObjectType sourceObjectName = uniqueObject.sourceObjectName turnsLeft = turns