From 402e18b460efdb2c1bc4d5623e8019bd913f6db7 Mon Sep 17 00:00:00 2001 From: peter1138 Date: Sat, 27 Apr 2019 19:36:02 +0100 Subject: [PATCH] Change: Allow building road stops over self-owned one-way/blocked road. --- src/station_cmd.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/station_cmd.cpp b/src/station_cmd.cpp index 1a483d29d2..9dbe356e7b 100644 --- a/src/station_cmd.cpp +++ b/src/station_cmd.cpp @@ -1004,13 +1004,16 @@ static CommandCost CheckFlatLandRoadStop(TileArea tile_area, DoCommandFlag flags if (RoadTypeIsRoad(rt) && !HasPowerOnRoad(rt, road_rt)) return_cmd_error(STR_ERROR_NO_SUITABLE_ROAD); + if (GetDisallowedRoadDirections(cur_tile) != DRD_NONE) { + CommandCost ret = CheckOwnership(road_owner); + if (ret.Failed()) return ret; + } + cost.AddCost(RoadBuildCost(road_rt) * (2 - num_pieces)); } else if (RoadTypeIsRoad(rt)) { cost.AddCost(RoadBuildCost(rt) * 2); } - if (GetDisallowedRoadDirections(cur_tile) != DRD_NONE) return_cmd_error(STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD); - /* There is a tram, check if we can build road+tram stop over it. */ RoadType tram_rt = GetRoadType(cur_tile, RTT_TRAM); if (tram_rt != INVALID_ROADTYPE) {