summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/town_cmd.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/town_cmd.cpp b/src/town_cmd.cpp
index e98079db5..ddbe9127e 100644
--- a/src/town_cmd.cpp
+++ b/src/town_cmd.cpp
@@ -1110,9 +1110,10 @@ static void GrowTownInTile(TileIndex *tile_ptr, RoadBits cur_rb, DiagDirection t
} else {
bool allow_house = true; // Value which decides if we want to construct a house
- /* Reached a tunnel/bridge? Then continue at the other side of it. */
+ /* Reached a tunnel/bridge? Then continue at the other side of it, unless
+ * it is the starting tile. Half the time, we stay on this side then.*/
if (IsTileType(tile, MP_TUNNELBRIDGE)) {
- if (GetTunnelBridgeTransportType(tile) == TRANSPORT_ROAD) {
+ if (GetTunnelBridgeTransportType(tile) == TRANSPORT_ROAD && (target_dir != DIAGDIR_END || Chance16(1, 2))) {
*tile_ptr = GetOtherTunnelBridgeEnd(tile);
}
return;