diff options
-rw-r--r-- | src/station_cmd.cpp | 3 | ||||
-rw-r--r-- | src/water_cmd.cpp | 4 |
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); } |