(svn r9178) -Fix (r7573) [FS#679]: Don't allow building docks or buoys under bridges.
authormaedhros
Wed, 14 Mar 2007 12:56:09 +0000
changeset 6632 1a46c01ff627
parent 6631 dc3480a670cc
child 6633 b2ad8da77b7e
(svn r9178) -Fix (r7573) [FS#679]: Don't allow building docks or buoys under bridges.
src/station_cmd.cpp
--- a/src/station_cmd.cpp	Wed Mar 14 02:52:50 2007 +0000
+++ b/src/station_cmd.cpp	Wed Mar 14 12:56:09 2007 +0000
@@ -1629,6 +1629,7 @@
 	SET_EXPENSES_TYPE(EXPENSES_CONSTRUCTION);
 
 	if (!IsClearWaterTile(tile) || tile == 0) return_cmd_error(STR_304B_SITE_UNSUITABLE);
+	if (MayHaveBridgeAbove(tile) && IsBridgeAbove(tile)) return_cmd_error(STR_5007_MUST_DEMOLISH_BRIDGE_FIRST);
 
 	/* allocate and initialize new station */
 	Station *st = new Station(tile);
@@ -1748,6 +1749,8 @@
 
 	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);
+
 	cost = DoCommand(tile, 0, 0, flags, CMD_LANDSCAPE_CLEAR);
 	if (CmdFailed(cost)) return CMD_ERROR;
 
@@ -1757,6 +1760,8 @@
 		return_cmd_error(STR_304B_SITE_UNSUITABLE);
 	}
 
+	if (MayHaveBridgeAbove(tile_cur) && IsBridgeAbove(tile_cur)) return_cmd_error(STR_5007_MUST_DEMOLISH_BRIDGE_FIRST);
+
 	cost = DoCommand(tile_cur, 0, 0, flags, CMD_LANDSCAPE_CLEAR);
 	if (CmdFailed(cost)) return CMD_ERROR;