From eb47272d095031cd5312456082b472721e85068f Mon Sep 17 00:00:00 2001 From: Yair Morgenstern Date: Wed, 3 Mar 2021 23:49:57 +0200 Subject: [PATCH] Tech info can display more than one revealed resource --- .../unciv/models/ruleset/tech/Technology.kt | 21 ++++++++++++------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/core/src/com/unciv/models/ruleset/tech/Technology.kt b/core/src/com/unciv/models/ruleset/tech/Technology.kt index 3848cca736..d9b10b513b 100644 --- a/core/src/com/unciv/models/ruleset/tech/Technology.kt +++ b/core/src/com/unciv/models/ruleset/tech/Technology.kt @@ -44,29 +44,34 @@ class Technology { val enabledBuildings = getEnabledBuildings(viewingCiv) - val regularBuildings = enabledBuildings.filter { !it.isWonder && !it.isNationalWonder - && "Will not be displayed in Civilopedia" !in it.uniques } + val regularBuildings = enabledBuildings.filter { + !it.isWonder && !it.isNationalWonder + && "Will not be displayed in Civilopedia" !in it.uniques + } if (regularBuildings.isNotEmpty()) { lineList += "{Buildings enabled}: " for (building in regularBuildings) lineList += "* " + building.name.tr() + " (" + building.getShortDescription(ruleset) + ")" } - val wonders = enabledBuildings.filter { (it.isWonder || it.isNationalWonder) - && "Will not be displayed in Civilopedia" !in it.uniques } + val wonders = enabledBuildings.filter { + (it.isWonder || it.isNationalWonder) + && "Will not be displayed in Civilopedia" !in it.uniques + } if (wonders.isNotEmpty()) { lineList += "{Wonders enabled}: " for (wonder in wonders) lineList += " * " + wonder.name.tr() + " (" + wonder.getShortDescription(ruleset) + ")" } - for(building in getObsoletedBuildings(viewingCiv) + for (building in getObsoletedBuildings(viewingCiv) .filter { "Will not be displayed in Civilopedia" !in it.uniques }) lineList += "[${building.name}] obsoleted" - val revealedResource = ruleset.tileResources.values.filter { it.revealedBy == name } - .map { it.name }.firstOrNull() // can only be one - if (revealedResource != null) lineList += "Reveals [$revealedResource] on the map" + + for (resource in ruleset.tileResources.values.asSequence().filter { it.revealedBy == name } + .map { it.name }) + lineList += "Reveals [$resource] on the map" val tileImprovements = ruleset.tileImprovements.values.filter { it.techRequired == name } if (tileImprovements.isNotEmpty())