From 5e116867e6ca5e088dee9774e41d0056f9d520ce Mon Sep 17 00:00:00 2001 From: Yair Morgenstern Date: Sun, 8 Nov 2020 23:40:10 +0200 Subject: [PATCH] Resolved #3323 - improvement uniques are no longer added twice --- core/src/com/unciv/logic/map/TileInfo.kt | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/core/src/com/unciv/logic/map/TileInfo.kt b/core/src/com/unciv/logic/map/TileInfo.kt index d849bec2cc..55f902e869 100644 --- a/core/src/com/unciv/logic/map/TileInfo.kt +++ b/core/src/com/unciv/logic/map/TileInfo.kt @@ -190,11 +190,12 @@ open class TileInfo { val civWideUniques = city.civInfo.getMatchingUniques("[] from every []") for (unique in cityWideUniques + civWideUniques) { val tileType = unique.params[1] + if (tileType == improvement) continue // This is added to the calculation in getImprovementStats. we don't want to add it twice if (matchesUniqueFilter(tileType) || (resource == tileType && hasViewableResource(observingCiv)) || (tileType == "Strategic resource" && hasViewableResource(observingCiv) && getTileResource().resourceType == ResourceType.Strategic) || (tileType == "Water resource" && isWater && hasViewableResource(observingCiv)) - ) stats.add(unique.stats!!) + ) stats.add(unique.stats) } } @@ -247,7 +248,7 @@ open class TileInfo { for (unique in improvement.uniqueObjects) if (unique.placeholderText == "[] once [] is discovered" && observingCiv.tech.isResearched(unique.params[1])) - stats.add(unique.stats!!) + stats.add(unique.stats) if (city != null) { val cityWideUniques = city.cityConstructions.builtBuildingUniqueMap.getUniques("[] from [] tiles in this city") @@ -262,7 +263,7 @@ open class TileInfo { || (unique.params[1] == "fresh water" && isAdjacentToFreshwater) || (unique.params[1] == "non-fresh water" && !isAdjacentToFreshwater) ) - stats.add(unique.stats!!) + stats.add(unique.stats) } } @@ -278,7 +279,7 @@ open class TileInfo { || it.matchesUniqueFilter(adjacent) || it.roadStatus.name == adjacent } - stats.add(unique.stats!!.times(numberOfBonuses.toFloat())) + stats.add(unique.stats.times(numberOfBonuses.toFloat())) } return stats @@ -427,7 +428,7 @@ open class TileInfo { milUnitString += " - " + militaryUnit!!.civInfo.civName.tr() lineList += milUnitString } - var defenceBonus = getDefensiveBonus() + val defenceBonus = getDefensiveBonus() if (defenceBonus != 0f) { var defencePercentString = (defenceBonus * 100).toInt().toString() + "%" if (!defencePercentString.startsWith("-")) defencePercentString = "+$defencePercentString"