summaryrefslogtreecommitdiff
path: root/src/tunnelbridge_cmd.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/tunnelbridge_cmd.cpp')
-rw-r--r--src/tunnelbridge_cmd.cpp21
1 files changed, 12 insertions, 9 deletions
diff --git a/src/tunnelbridge_cmd.cpp b/src/tunnelbridge_cmd.cpp
index 239d7f7e7..9148c9255 100644
--- a/src/tunnelbridge_cmd.cpp
+++ b/src/tunnelbridge_cmd.cpp
@@ -596,16 +596,18 @@ static CommandCost DoClearTunnel(TileIndex tile, uint32 flags)
}
}
+ /* checks if the owner is town then decrease town rating by RATING_TUNNEL_BRIDGE_DOWN_STEP until
+ * you have a "Poor" (0) town rating */
+ if (IsTileOwner(tile, OWNER_TOWN) && _game_mode != GM_EDITOR) {
+ ChangeTownRating(t, RATING_TUNNEL_BRIDGE_DOWN_STEP, RATING_TUNNEL_BRIDGE_MINIMUM);
+ }
+
if (flags & DC_EXEC) {
/* We first need to request the direction before calling DoClearSquare
* else the direction is always 0.. dah!! ;) */
DiagDirection dir = GetTunnelBridgeDirection(tile);
Track track;
- /* 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, ReverseDiagDir(dir));
@@ -645,15 +647,16 @@ static CommandCost DoClearBridge(TileIndex tile, uint32 flags)
}
}
+ /* checks if the owner is town then decrease town rating by RATING_TUNNEL_BRIDGE_DOWN_STEP until
+ * you have a "Poor" (0) town rating */
+ if (IsTileOwner(tile, OWNER_TOWN) && _game_mode != GM_EDITOR) {
+ ChangeTownRating(t, RATING_TUNNEL_BRIDGE_DOWN_STEP, RATING_TUNNEL_BRIDGE_MINIMUM);
+ }
+
if (flags & DC_EXEC) {
TileIndex c;
Track track;
- /* checks if the owner is town then decrease town rating by RATING_TUNNEL_BRIDGE_DOWN_STEP until
- * you have a "Poor" (0) town rating */
- if (IsTileOwner(tile, OWNER_TOWN) && _game_mode != GM_EDITOR)
- ChangeTownRating(t, RATING_TUNNEL_BRIDGE_DOWN_STEP, RATING_TUNNEL_BRIDGE_MINIMUM);
-
DoClearSquare(tile);
DoClearSquare(endtile);
for (c = tile + delta; c != endtile; c += delta) {