From a3df5e3c615966560b7f2848ea2b516095e36200 Mon Sep 17 00:00:00 2001 From: yairm210 Date: Tue, 8 Apr 2025 09:11:27 +0300 Subject: [PATCH] Resolved #10417 - "Nullifies all other stats this tile provides" includes nullifying improvement stats --- core/src/com/unciv/logic/map/tile/TileStatFunctions.kt | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/core/src/com/unciv/logic/map/tile/TileStatFunctions.kt b/core/src/com/unciv/logic/map/tile/TileStatFunctions.kt index a74fce64dd..2833d4b08d 100644 --- a/core/src/com/unciv/logic/map/tile/TileStatFunctions.kt +++ b/core/src/com/unciv/logic/map/tile/TileStatFunctions.kt @@ -56,11 +56,15 @@ class TileStatFunctions(val tile: Tile) { ): List> { val stateForConditionals = StateForConditionals(civInfo = observingCiv, city = city, tile = tile) val listOfStats = getTerrainStatsBreakdown(stateForConditionals) + + val otherYieldsIgnored = tile.allTerrains.any { it.hasUnique(UniqueType.NullifyYields, stateForConditionals) } - val improvement = tile.getUnpillagedTileImprovement() + val improvement = if (otherYieldsIgnored) null // Treat it as if there is no improvement + else tile.getUnpillagedTileImprovement() val improvementStats = improvement?.cloneStats() ?: Stats.ZERO // If improvement==null, will never be added to - val road = tile.getUnpillagedRoadImprovement() + val road = if (otherYieldsIgnored) null + else tile.getUnpillagedRoadImprovement() val roadStats = road?.cloneStats() ?: Stats.ZERO if (city != null) {