From 98a4c8bf00c8db76a763e30de2208115898a8115 Mon Sep 17 00:00:00 2001 From: Jack Rainy Date: Thu, 21 May 2020 12:20:44 +0300 Subject: [PATCH] Don't reveal submarine position by city markers (#2643) --- core/src/com/unciv/logic/map/TileInfo.kt | 2 +- core/src/com/unciv/ui/tilegroups/CityButton.kt | 4 ++-- core/src/com/unciv/ui/tilegroups/TileGroup.kt | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/core/src/com/unciv/logic/map/TileInfo.kt b/core/src/com/unciv/logic/map/TileInfo.kt index 405311d12c..b6e30fb22f 100644 --- a/core/src/com/unciv/logic/map/TileInfo.kt +++ b/core/src/com/unciv/logic/map/TileInfo.kt @@ -435,7 +435,7 @@ open class TileInfo { turnsToImprovement = 0 } - fun hasEnemySubmarine(viewingCiv: CivilizationInfo): Boolean { + fun hasEnemyInvisibleUnit(viewingCiv: CivilizationInfo): Boolean { val unitsInTile = getUnits() if (unitsInTile.none()) return false if (unitsInTile.first().civInfo != viewingCiv && diff --git a/core/src/com/unciv/ui/tilegroups/CityButton.kt b/core/src/com/unciv/ui/tilegroups/CityButton.kt index 4493f483b5..41c81f7b5f 100644 --- a/core/src/com/unciv/ui/tilegroups/CityButton.kt +++ b/core/src/com/unciv/ui/tilegroups/CityButton.kt @@ -77,13 +77,13 @@ class CityButton(val city: CityInfo, private val tileGroup: WorldTileGroup): Tab (tile.civilianUnit != null) && direction.epsilonEquals(0f, 1f) -> insertHiddenUnitMarker(HiddenUnitMarkerPosition.Left) // detect military under the city - (tile.militaryUnit != null) && direction.epsilonEquals(1f, 1f) -> + (tile.militaryUnit != null && !tile.hasEnemyInvisibleUnit(worldScreen.viewingCiv)) && direction.epsilonEquals(1f, 1f) -> insertHiddenUnitMarker(HiddenUnitMarkerPosition.Center) // detect civilian right-below the city (tile.civilianUnit != null) && direction.epsilonEquals(1f, 0f) -> insertHiddenUnitMarker(HiddenUnitMarkerPosition.Right) } - } else if (tile.militaryUnit != null) { + } else if (tile.militaryUnit != null && !tile.hasEnemyInvisibleUnit(worldScreen.viewingCiv)) { when { // detect military left from the city direction.epsilonEquals(0f, 1f) -> diff --git a/core/src/com/unciv/ui/tilegroups/TileGroup.kt b/core/src/com/unciv/ui/tilegroups/TileGroup.kt index a4bbe2ea23..39b59f0ca5 100644 --- a/core/src/com/unciv/ui/tilegroups/TileGroup.kt +++ b/core/src/com/unciv/ui/tilegroups/TileGroup.kt @@ -269,7 +269,7 @@ open class TileGroup(var tileInfo: TileInfo, var tileSetStrings:TileSetStrings) fun showMilitaryUnit(viewingCiv: CivilizationInfo) = showEntireMap || viewingCiv.viewableInvisibleUnitsTiles.contains(tileInfo) - || !tileInfo.hasEnemySubmarine(viewingCiv) + || !tileInfo.hasEnemyInvisibleUnit(viewingCiv) fun isViewable(viewingCiv: CivilizationInfo) = showEntireMap || viewingCiv.viewableTiles.contains(tileInfo)