mirror of
https://github.com/yairm210/Unciv.git
synced 2025-09-28 14:24:43 -04:00
Resolved #3323 - improvement uniques are no longer added twice
This commit is contained in:
parent
9794607033
commit
5e116867e6
@ -190,11 +190,12 @@ open class TileInfo {
|
|||||||
val civWideUniques = city.civInfo.getMatchingUniques("[] from every []")
|
val civWideUniques = city.civInfo.getMatchingUniques("[] from every []")
|
||||||
for (unique in cityWideUniques + civWideUniques) {
|
for (unique in cityWideUniques + civWideUniques) {
|
||||||
val tileType = unique.params[1]
|
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)
|
if (matchesUniqueFilter(tileType)
|
||||||
|| (resource == tileType && hasViewableResource(observingCiv))
|
|| (resource == tileType && hasViewableResource(observingCiv))
|
||||||
|| (tileType == "Strategic resource" && hasViewableResource(observingCiv) && getTileResource().resourceType == ResourceType.Strategic)
|
|| (tileType == "Strategic resource" && hasViewableResource(observingCiv) && getTileResource().resourceType == ResourceType.Strategic)
|
||||||
|| (tileType == "Water resource" && isWater && hasViewableResource(observingCiv))
|
|| (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)
|
for (unique in improvement.uniqueObjects)
|
||||||
if (unique.placeholderText == "[] once [] is discovered" && observingCiv.tech.isResearched(unique.params[1]))
|
if (unique.placeholderText == "[] once [] is discovered" && observingCiv.tech.isResearched(unique.params[1]))
|
||||||
stats.add(unique.stats!!)
|
stats.add(unique.stats)
|
||||||
|
|
||||||
if (city != null) {
|
if (city != null) {
|
||||||
val cityWideUniques = city.cityConstructions.builtBuildingUniqueMap.getUniques("[] from [] tiles in this city")
|
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] == "fresh water" && isAdjacentToFreshwater)
|
||||||
|| (unique.params[1] == "non-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.matchesUniqueFilter(adjacent)
|
||||||
|| it.roadStatus.name == adjacent
|
|| it.roadStatus.name == adjacent
|
||||||
}
|
}
|
||||||
stats.add(unique.stats!!.times(numberOfBonuses.toFloat()))
|
stats.add(unique.stats.times(numberOfBonuses.toFloat()))
|
||||||
}
|
}
|
||||||
|
|
||||||
return stats
|
return stats
|
||||||
@ -427,7 +428,7 @@ open class TileInfo {
|
|||||||
milUnitString += " - " + militaryUnit!!.civInfo.civName.tr()
|
milUnitString += " - " + militaryUnit!!.civInfo.civName.tr()
|
||||||
lineList += milUnitString
|
lineList += milUnitString
|
||||||
}
|
}
|
||||||
var defenceBonus = getDefensiveBonus()
|
val defenceBonus = getDefensiveBonus()
|
||||||
if (defenceBonus != 0f) {
|
if (defenceBonus != 0f) {
|
||||||
var defencePercentString = (defenceBonus * 100).toInt().toString() + "%"
|
var defencePercentString = (defenceBonus * 100).toInt().toString() + "%"
|
||||||
if (!defencePercentString.startsWith("-")) defencePercentString = "+$defencePercentString"
|
if (!defencePercentString.startsWith("-")) defencePercentString = "+$defencePercentString"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user