summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/station_cmd.cpp3
-rw-r--r--src/water_cmd.cpp4
2 files changed, 7 insertions, 0 deletions
diff --git a/src/station_cmd.cpp b/src/station_cmd.cpp
index 316403043..8b30d98de 100644
--- a/src/station_cmd.cpp
+++ b/src/station_cmd.cpp
@@ -1954,6 +1954,9 @@ CommandCost CmdBuildDock(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
default: return_cmd_error(STR_304B_SITE_UNSUITABLE);
}
+ /* Docks cannot be placed on rapids */
+ if (IsRiverTile(tile)) return_cmd_error(STR_304B_SITE_UNSUITABLE);
+
if (!(flags & DC_NO_TOWN_RATING) && !CheckIfAuthorityAllows(tile)) return CMD_ERROR;
if (MayHaveBridgeAbove(tile) && IsBridgeAbove(tile)) return_cmd_error(STR_5007_MUST_DEMOLISH_BRIDGE_FIRST);
diff --git a/src/water_cmd.cpp b/src/water_cmd.cpp
index 681ccb331..abb68dce9 100644
--- a/src/water_cmd.cpp
+++ b/src/water_cmd.cpp
@@ -285,6 +285,10 @@ CommandCost CmdBuildLock(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
case SLOPE_NE: dir = DIAGDIR_NE; break;
default: return_cmd_error(STR_1000_LAND_SLOPED_IN_WRONG_DIRECTION);
}
+
+ /* Disallow building of locks on river rapids */
+ if (IsRiverTile(tile)) return_cmd_error(STR_0239_SITE_UNSUITABLE);
+
return DoBuildShiplift(tile, dir, flags);
}