From ad28bc83c7e5a0fbb61e22d10bcdfdc72797b95a Mon Sep 17 00:00:00 2001 From: Rich2 Date: Sun, 26 Feb 2023 22:49:22 +0000 Subject: [PATCH] #206 Armies can no longer move into the sea. --- Dev/srcGrand/dless/DLessScen.scala | 2 +- Earth/srcPts/WTile.scala | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/Dev/srcGrand/dless/DLessScen.scala b/Dev/srcGrand/dless/DLessScen.scala index 0dd87ce2a..f27835bb1 100644 --- a/Dev/srcGrand/dless/DLessScen.scala +++ b/Dev/srcGrand/dless/DLessScen.scala @@ -16,7 +16,7 @@ trait DLessScen extends HSysTurnScen orderList.foreach { pair => val optTarget: Option[HCen] = pair.startHC.stepOpt(pair.step) - optTarget.foreach { target => targets.appendAt(target, pair.a1) } + optTarget.foreach { target => if (terrs(target).isLand) targets.appendAt(target, pair.a1) } } val armiesNew: HCenOptLayer[Army] = armies.clone diff --git a/Earth/srcPts/WTile.scala b/Earth/srcPts/WTile.scala index d942ab5ef..690fe1937 100644 --- a/Earth/srcPts/WTile.scala +++ b/Earth/srcPts/WTile.scala @@ -9,6 +9,8 @@ trait WSide extends Coloured with ShowSimple * and other land hexs. */ trait WTile extends Coloured with ShowSimple { override def typeStr: String = "WTile" + def isLand: Boolean + def isWater: Boolean } object WTile @@ -48,6 +50,9 @@ object WTile /** Currently a common trait for Ocean and Lake. */ trait Water extends WTile +{ override def isLand: Boolean = false + override def isWater: Boolean = true +} case object Sea extends Water with WSide { override def str = "Ocean" @@ -62,6 +67,8 @@ case object Lake extends Water with WSide object TerrainNone extends WTile { override def str = "No terrain" override def colour = Gray + override def isLand: Boolean = false + override def isWater: Boolean = false } class Land(val terr: Terrain, val biome: Biome) extends WTile @@ -84,6 +91,9 @@ class Land(val terr: Terrain, val biome: Biome) extends WTile } case Mountains => Gray } + + override def isLand: Boolean = true + override def isWater: Boolean = false } object Land @@ -145,6 +155,8 @@ object IceCap extends Biome object SeaIce extends WTile { override def str = "SeaIce" override def colour = White + override def isLand: Boolean = false + override def isWater: Boolean = false } case object Taiga extends Biome