changeset 2870:f70829943e6d draft

(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)
author peter1138 <peter1138@openttd.org>
date Sun, 22 Jan 2006 16:23:05 +0000
parents d3deab6084b7
children c11ce2756811
files tunnelbridge_cmd.c
diffstat 1 files changed, 5 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/tunnelbridge_cmd.c
+++ b/tunnelbridge_cmd.c
@@ -685,12 +685,15 @@
 		//  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);
 }