From 2fe9bd2f6d22509a7b5041de79fbef753603afac Mon Sep 17 00:00:00 2001 From: SeventhM <127357473+SeventhM@users.noreply.github.com> Date: Mon, 11 Aug 2025 12:56:05 -0700 Subject: [PATCH] Fix combat conditionals not working correctly (#13796) * Fix combat conditionals not working correctly * cleanup RuinsManager because why not --- .../com/unciv/logic/civilization/managers/RuinsManager.kt | 5 +++-- .../unciv/models/ruleset/unique/UniqueTriggerActivation.kt | 2 -- 2 files changed, 3 insertions(+), 4 deletions(-) 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() }