From cc7a9d1ce69448beb55da1932ef9e209fa754b6d Mon Sep 17 00:00:00 2001 From: peter1138 Date: Sun, 22 Jan 2006 16:23:05 +0000 Subject: (svn r3418) - Fix: When removing a town-owned tunnel the player's rating was not reduced, as it checked the ownership of the tunnel after clearing it. Now we perform the rating adjustment before clearing the tiles. (spotted by glx) --- tunnelbridge_cmd.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'tunnelbridge_cmd.c') diff --git a/tunnelbridge_cmd.c b/tunnelbridge_cmd.c index 3964ab4e1..524a1a62c 100644 --- a/tunnelbridge_cmd.c +++ b/tunnelbridge_cmd.c @@ -685,12 +685,15 @@ static int32 DoClearTunnel(TileIndex tile, uint32 flags) // else the direction is always 0.. dah!! ;) byte tile_dir = GB(_m[tile].m5, 0, 2); byte endtile_dir = GB(_m[endtile].m5, 0, 2); + + // Adjust the town's player rating. Do this before removing the tile owner info. + if (IsTileOwner(tile, OWNER_TOWN) && _game_mode != GM_EDITOR) + ChangeTownRating(t, RATING_TUNNEL_BRIDGE_DOWN_STEP, RATING_TUNNEL_BRIDGE_MINIMUM); + DoClearSquare(tile); DoClearSquare(endtile); UpdateSignalsOnSegment(tile, _updsignals_tunnel_dir[tile_dir]); UpdateSignalsOnSegment(endtile, _updsignals_tunnel_dir[endtile_dir]); - if (IsTileOwner(tile, OWNER_TOWN) && _game_mode != GM_EDITOR) - ChangeTownRating(t, RATING_TUNNEL_BRIDGE_DOWN_STEP, RATING_TUNNEL_BRIDGE_MINIMUM); } return _price.clear_tunnel * (length + 1); } -- cgit v1.2.3-54-g00ecf