From 13e79ac37cb67bb497edade5fe1afe4c8f6a03fe Mon Sep 17 00:00:00 2001 From: Yair Morgenstern Date: Wed, 13 Jan 2021 22:08:12 +0200 Subject: [PATCH] Fixed "Unique great person is available from Great Person picker screen" bug --- core/src/com/unciv/logic/civilization/CivilizationInfo.kt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/core/src/com/unciv/logic/civilization/CivilizationInfo.kt b/core/src/com/unciv/logic/civilization/CivilizationInfo.kt index 4287b45575..78fdab918b 100644 --- a/core/src/com/unciv/logic/civilization/CivilizationInfo.kt +++ b/core/src/com/unciv/logic/civilization/CivilizationInfo.kt @@ -288,11 +288,13 @@ class CivilizationInfo { } fun getEquivalentUnit(baseUnitName: String): BaseUnit { + val baseUnit = gameInfo.ruleSet.units[baseUnitName] + if (baseUnit == null) throw UncivShowableException("Unit $baseUnitName doesn't seem to exist!") + if (baseUnit.replaces != null) return getEquivalentUnit(baseUnit.replaces!!) // Equivalent of unique unit is the equivalent of the replaced unit + for (unit in gameInfo.ruleSet.units.values) if (unit.replaces == baseUnitName && unit.uniqueTo == civName) return unit - val baseUnit = gameInfo.ruleSet.units[baseUnitName] - if (baseUnit == null) throw UncivShowableException("Unit $baseUnitName doesn't seem to exist!") return baseUnit }