From 7d160d02aba713d916b4f43005513ac7501f8fb9 Mon Sep 17 00:00:00 2001 From: rubidium Date: Sun, 3 Jun 2007 19:22:23 +0000 Subject: (svn r10030) -Fix [FS#823]: one could build on (some) slopes when building on slopes was disabled. --- src/rail_cmd.cpp | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) (limited to 'src/rail_cmd.cpp') diff --git a/src/rail_cmd.cpp b/src/rail_cmd.cpp index 66036ab36..16d95eaeb 100644 --- a/src/rail_cmd.cpp +++ b/src/rail_cmd.cpp @@ -206,20 +206,17 @@ static uint32 CheckRailSlope(Slope tileh, TrackBits rail_bits, TrackBits existin } /* no special foundation */ - if ((~_valid_tileh_slopes[0][tileh] & rail_bits) == 0) + if ((~_valid_tileh_slopes[0][tileh] & rail_bits) == 0) { return 0; + } else if (!_patches.build_on_slopes || _is_old_ai_player) { + return_cmd_error(STR_1000_LAND_SLOPED_IN_WRONG_DIRECTION); + } if ((~_valid_tileh_slopes[1][tileh] & rail_bits) == 0 || ( // whole tile is leveled up (rail_bits == TRACK_BIT_X || rail_bits == TRACK_BIT_Y) && (tileh == SLOPE_W || tileh == SLOPE_S || tileh == SLOPE_E || tileh == SLOPE_N) )) { // partly up - if (existing != 0) { - return 0; - } else if (!_patches.build_on_slopes || _is_old_ai_player) { - return_cmd_error(STR_1000_LAND_SLOPED_IN_WRONG_DIRECTION); - } else { - return _price.terraform; - } + return (existing != 0) ? 0 : _price.terraform; } } return_cmd_error(STR_1000_LAND_SLOPED_IN_WRONG_DIRECTION); -- cgit v1.2.3-54-g00ecf