@@ -329,25 +329,25 @@ int32 CmdBuildSingleRail(int x, int y, u
default:
// Get detailed error message
return DoCommandByTile(tile, 0, 0, flags, CMD_LANDSCAPE_CLEAR);
}
break;
case MP_RAILWAY:
if (!CheckTrackCombination(m5, rail_bit, flags) ||
!EnsureNoVehicle(tile)) {
return CMD_ERROR;
if (m5 & RAIL_TYPE_SPECIAL ||
_map_owner[tile] != _current_player ||
!IsTileOwner(tile, _current_player) ||
(_map3_lo[tile] & 0xFU) != p1) {
ret = CheckRailSlope(tileh, rail_bit, m5 & RAIL_BIT_MASK, tile);
if (CmdFailed(ret)) return ret;
cost += ret;
if (flags & DC_EXEC) {
_map2[tile] &= ~RAIL_MAP2LO_GROUND_MASK; // Bare land
_map5[tile] = m5 | rail_bit;