summaryrefslogtreecommitdiff
path: root/src/water_cmd.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/water_cmd.cpp')
-rw-r--r--src/water_cmd.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/water_cmd.cpp b/src/water_cmd.cpp
index 4c013857a..a3e97c734 100644
--- a/src/water_cmd.cpp
+++ b/src/water_cmd.cpp
@@ -802,6 +802,14 @@ static uint32 VehicleEnter_Water(Vehicle *v, TileIndex tile, int x, int y)
return VETSB_CONTINUE;
}
+static CommandCost TerraformTile_Water(TileIndex tile, uint32 flags, uint z_new, Slope tileh_new)
+{
+ /* Canals can't be terraformed */
+ if (IsClearWaterTile(tile) && IsCanal(tile)) return_cmd_error(STR_MUST_DEMOLISH_CANAL_FIRST);
+
+ return DoCommand(tile, 0, 0, flags, CMD_LANDSCAPE_CLEAR);
+}
+
extern const TileTypeProcs _tile_type_water_procs = {
DrawTile_Water, /* draw_tile_proc */
@@ -817,4 +825,5 @@ extern const TileTypeProcs _tile_type_water_procs = {
NULL, /* get_produced_cargo_proc */
VehicleEnter_Water, /* vehicle_enter_tile_proc */
GetFoundation_Water, /* get_foundation_proc */
+ TerraformTile_Water, /* terraform_tile_proc */
};