From 6d1c3ec97c30222c656b72fb2a43ffe22ba60f9c Mon Sep 17 00:00:00 2001 From: yexo Date: Thu, 18 Mar 2010 00:41:16 +0000 Subject: [PATCH] (svn r19449) -Codechange: pay for every airport tile build, not for every tile in the rectangle where the airport is build --- src/station_cmd.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/station_cmd.cpp b/src/station_cmd.cpp index 31c15aaed8..3f35649b4d 100644 --- a/src/station_cmd.cpp +++ b/src/station_cmd.cpp @@ -2195,7 +2195,10 @@ CommandCost CmdBuildAirport(TileIndex tile, DoCommandFlag flags, uint32 p1, uint } } - cost.AddCost(_price[PR_BUILD_STATION_AIRPORT] * w * h); + const AirportTileTable *it = as->table[layout]; + do { + cost.AddCost(_price[PR_BUILD_STATION_AIRPORT]); + } while ((++it)->ti.x != -0x80); if (flags & DC_EXEC) { /* Always add the noise, so there will be no need to recalculate when option toggles */ @@ -2207,7 +2210,7 @@ CommandCost CmdBuildAirport(TileIndex tile, DoCommandFlag flags, uint32 p1, uint st->rect.BeforeAddRect(tile, w, h, StationRect::ADD_TRY); - const AirportTileTable *it = as->table[layout]; + it = as->table[layout]; do { TileIndex cur_tile = tile + ToTileIndexDiff(it->ti); MakeAirport(cur_tile, st->owner, st->index, it->gfx);