mirror of
https://github.com/yairm210/Unciv.git
synced 2025-07-09 15:29:32 +07:00
Differentiated attackable from visible tiles per Civ V
This commit is contained in:
@ -186,6 +186,18 @@ class VisibilityTests {
|
||||
assert(viewableTiles.contains(beyondSight))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun canSeeElevation3TilesEvenWithInvisibleIntermediate() {
|
||||
val source = addTile("Grassland", Vector2(0f,0f))
|
||||
addTile(listOf("Grassland", "Hill"), Vector2(1f,0f))
|
||||
val intermediate = addTile(listOf("Grassland", "Hill"), Vector2(2f,0f))
|
||||
val beyondSight = addTile(listOf("Grassland", "Hill", "Forest"), Vector2(3f,0f))
|
||||
|
||||
val viewableTiles = source.getViewableTilesList(2)
|
||||
assert(viewableTiles.contains(beyondSight))
|
||||
assert(!viewableTiles.contains(intermediate))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun cannotSeeHiddenElevation3Tiles() {
|
||||
val source = addTile("Grassland", Vector2(0f,0f))
|
||||
@ -197,4 +209,26 @@ class VisibilityTests {
|
||||
assert(!viewableTiles.contains(beyondSight))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun canSeeButNotAttackHillForestOverHill() {
|
||||
val grassland = addTile("Grassland", Vector2(0f,0f))
|
||||
addTile(listOf("Grassland", "Hill"), Vector2(1f,0f))
|
||||
val hillForest = addTile(listOf("Grassland", "Hill", "Forest"), Vector2(2f, 0f))
|
||||
val viewableTiles = grassland.getViewableTilesList(2)
|
||||
assert(viewableTiles.contains(hillForest))
|
||||
val attackableTiles = tileMap.getViewableTiles(grassland.position, 2, true)
|
||||
assert(!attackableTiles.contains(hillForest))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun canSeeAndAttackMountainOverHill() {
|
||||
val grassland = addTile("Grassland", Vector2(0f,0f))
|
||||
addTile(listOf("Grassland", "Hill"), Vector2(1f,0f))
|
||||
val mountain = addTile(listOf("Mountain"), Vector2(2f, 0f))
|
||||
val viewableTiles = grassland.getViewableTilesList(2)
|
||||
assert(viewableTiles.contains(mountain))
|
||||
val attackableTiles = tileMap.getViewableTiles(grassland.position, 2, true)
|
||||
assert(attackableTiles.contains(mountain))
|
||||
}
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user