From 9f25ce66c257a9a0204599634236689057fb832a Mon Sep 17 00:00:00 2001 From: MindaugasRumsa51 <107413099+MindaugasRumsa51@users.noreply.github.com> Date: Fri, 15 Jul 2022 21:50:28 +0300 Subject: [PATCH] Fix getting settlers from ancient ruins on one-city challenge (#7459) * Update UniqueTriggerActivation.kt * Update UniqueTriggerActivation.kt * Update UniqueTriggerActivation.kt * Update UniqueTriggerActivation.kt * Update UniqueTriggerActivation.kt * Update UniqueTriggerActivation.kt --- .../models/ruleset/unique/UniqueTriggerActivation.kt | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/core/src/com/unciv/models/ruleset/unique/UniqueTriggerActivation.kt b/core/src/com/unciv/models/ruleset/unique/UniqueTriggerActivation.kt index ebcf5ff835..63676b6277 100644 --- a/core/src/com/unciv/models/ruleset/unique/UniqueTriggerActivation.kt +++ b/core/src/com/unciv/models/ruleset/unique/UniqueTriggerActivation.kt @@ -78,7 +78,13 @@ object UniqueTriggerActivation { return true } OneTimeFreeUnitRuins -> { - val unit = civInfo.getEquivalentUnit(unique.params[0]) + var unit = civInfo.getEquivalentUnit(unique.params[0]) + if ( unit.hasUnique(UniqueType.FoundCity) && civInfo.isOneCityChallenger()) { + val replacementUnit = ruleSet.units.values.firstOrNull{it.getMatchingUniques(UniqueType.BuildImprovements) + .any { it.params[0] == "Land" }} ?: return false + unit = civInfo.getEquivalentUnit(replacementUnit.name) + } + val placingTile = tile ?: civInfo.cities.random().getCenterTile()