diff --git a/core/src/com/unciv/logic/civilization/managers/RuinsManager.kt b/core/src/com/unciv/logic/civilization/managers/RuinsManager.kt index 9dcf30a8e6..f12c64906b 100644 --- a/core/src/com/unciv/logic/civilization/managers/RuinsManager.kt +++ b/core/src/com/unciv/logic/civilization/managers/RuinsManager.kt @@ -60,8 +60,9 @@ class RuinsManager( var atLeastOneUniqueHadEffect = false for (unique in possibleReward.uniqueObjects) { atLeastOneUniqueHadEffect = - atLeastOneUniqueHadEffect - || UniqueTriggerActivation.triggerUnique(unique, triggeringUnit, notification = possibleReward.notification, triggerNotificationText = "from the ruins") + unique.conditionalsApply(triggeringUnit.cache.state) && + UniqueTriggerActivation.triggerUnique(unique, triggeringUnit, notification = possibleReward.notification, triggerNotificationText = "from the ruins") + if (atLeastOneUniqueHadEffect) break } if (atLeastOneUniqueHadEffect) { rememberReward(possibleReward.name) diff --git a/core/src/com/unciv/models/ruleset/unique/UniqueTriggerActivation.kt b/core/src/com/unciv/models/ruleset/unique/UniqueTriggerActivation.kt index 2c0264891d..4d3a4f83b3 100644 --- a/core/src/com/unciv/models/ruleset/unique/UniqueTriggerActivation.kt +++ b/core/src/com/unciv/models/ruleset/unique/UniqueTriggerActivation.kt @@ -109,8 +109,6 @@ object UniqueTriggerActivation { val gameContext = GameContext(civInfo, city, unit, tile) - if (!unique.conditionalsApply(gameContext)) return null - val chosenCity = relevantCity ?: civInfo.cities.firstOrNull { it.isCapital() }