mirror of
https://github.com/yairm210/Unciv.git
synced 2025-09-28 22:37:02 -04:00
Don't reveal submarine position by city markers (#2643)
This commit is contained in:
parent
4b405ecc61
commit
98a4c8bf00
@ -435,7 +435,7 @@ open class TileInfo {
|
|||||||
turnsToImprovement = 0
|
turnsToImprovement = 0
|
||||||
}
|
}
|
||||||
|
|
||||||
fun hasEnemySubmarine(viewingCiv: CivilizationInfo): Boolean {
|
fun hasEnemyInvisibleUnit(viewingCiv: CivilizationInfo): Boolean {
|
||||||
val unitsInTile = getUnits()
|
val unitsInTile = getUnits()
|
||||||
if (unitsInTile.none()) return false
|
if (unitsInTile.none()) return false
|
||||||
if (unitsInTile.first().civInfo != viewingCiv &&
|
if (unitsInTile.first().civInfo != viewingCiv &&
|
||||||
|
@ -77,13 +77,13 @@ class CityButton(val city: CityInfo, private val tileGroup: WorldTileGroup): Tab
|
|||||||
(tile.civilianUnit != null) && direction.epsilonEquals(0f, 1f) ->
|
(tile.civilianUnit != null) && direction.epsilonEquals(0f, 1f) ->
|
||||||
insertHiddenUnitMarker(HiddenUnitMarkerPosition.Left)
|
insertHiddenUnitMarker(HiddenUnitMarkerPosition.Left)
|
||||||
// detect military under the city
|
// 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)
|
insertHiddenUnitMarker(HiddenUnitMarkerPosition.Center)
|
||||||
// detect civilian right-below the city
|
// detect civilian right-below the city
|
||||||
(tile.civilianUnit != null) && direction.epsilonEquals(1f, 0f) ->
|
(tile.civilianUnit != null) && direction.epsilonEquals(1f, 0f) ->
|
||||||
insertHiddenUnitMarker(HiddenUnitMarkerPosition.Right)
|
insertHiddenUnitMarker(HiddenUnitMarkerPosition.Right)
|
||||||
}
|
}
|
||||||
} else if (tile.militaryUnit != null) {
|
} else if (tile.militaryUnit != null && !tile.hasEnemyInvisibleUnit(worldScreen.viewingCiv)) {
|
||||||
when {
|
when {
|
||||||
// detect military left from the city
|
// detect military left from the city
|
||||||
direction.epsilonEquals(0f, 1f) ->
|
direction.epsilonEquals(0f, 1f) ->
|
||||||
|
@ -269,7 +269,7 @@ open class TileGroup(var tileInfo: TileInfo, var tileSetStrings:TileSetStrings)
|
|||||||
|
|
||||||
fun showMilitaryUnit(viewingCiv: CivilizationInfo) = showEntireMap
|
fun showMilitaryUnit(viewingCiv: CivilizationInfo) = showEntireMap
|
||||||
|| viewingCiv.viewableInvisibleUnitsTiles.contains(tileInfo)
|
|| viewingCiv.viewableInvisibleUnitsTiles.contains(tileInfo)
|
||||||
|| !tileInfo.hasEnemySubmarine(viewingCiv)
|
|| !tileInfo.hasEnemyInvisibleUnit(viewingCiv)
|
||||||
|
|
||||||
fun isViewable(viewingCiv: CivilizationInfo) = showEntireMap
|
fun isViewable(viewingCiv: CivilizationInfo) = showEntireMap
|
||||||
|| viewingCiv.viewableTiles.contains(tileInfo)
|
|| viewingCiv.viewableTiles.contains(tileInfo)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user