1
0
mirror of https://github.com/yairm210/Unciv.git synced 2025-03-13 19:39:34 +07:00

Resolved - improvement uniques are no longer added twice

This commit is contained in:
Yair Morgenstern 2020-11-08 23:40:10 +02:00
parent 9794607033
commit 5e116867e6

View File

@ -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"