From a0766f75d2dd66f97ea8c6887e62a737bba7fc1a Mon Sep 17 00:00:00 2001 From: Yair Morgenstern Date: Mon, 29 Aug 2022 00:02:19 +0300 Subject: [PATCH] Resolve #7705 - correct filtering of civs that need to have majority religion for world religion to activate This was very poorly implemented --- core/src/com/unciv/models/ruleset/Victory.kt | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/core/src/com/unciv/models/ruleset/Victory.kt b/core/src/com/unciv/models/ruleset/Victory.kt index e6cc166ad6..6ba8f2e2b6 100644 --- a/core/src/com/unciv/models/ruleset/Victory.kt +++ b/core/src/com/unciv/models/ruleset/Victory.kt @@ -102,10 +102,12 @@ class Milestone(val uniqueDescription: String, private val parentVictory: Victor } MilestoneType.WorldReligion -> { civInfo.gameInfo.isReligionEnabled() - && civInfo.religionManager.religion != null - && civInfo.gameInfo.civilizations.all { - it.religionManager.isMajorityReligionForCiv(civInfo.religionManager.religion!!) - } + && civInfo.religionManager.religion != null + && civInfo.gameInfo.civilizations + .filter { it.isMajorCiv() && it.isAlive() } + .all { + it.religionManager.isMajorityReligionForCiv(civInfo.religionManager.religion!!) + } } } } @@ -154,13 +156,14 @@ class Milestone(val uniqueDescription: String, private val parentVictory: Victor "{$uniqueDescription} ($amountDone/$amountToDo)" } MilestoneType.WorldReligion -> { - val amountToDo = civInfo.gameInfo.civilizations.count { it.isMajorCiv() } - 1 // Don't count yourself + val amountToDo = civInfo.gameInfo.civilizations.count { it.isMajorCiv() && it.isAlive() } - 1 // Don't count yourself val amountDone = when { completed -> amountToDo civInfo.religionManager.religion == null -> 0 civInfo.religionManager.religion!!.isPantheon() -> 1 else -> civInfo.gameInfo.civilizations.count { + it.isMajorCiv() && it.isAlive() && it.religionManager.isMajorityReligionForCiv(civInfo.religionManager.religion!!) } }