2 * This file is part of OpenTTD.
3 * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
4 * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
5 * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
8 /** @file pricebase.h Price Bases */
10 extern const PriceBaseSpec _price_base_specs
[] = {
11 { 100, PCAT_NONE
, GSF_END
, INVALID_PRICE
}, ///< PR_STATION_VALUE
12 { 100, PCAT_CONSTRUCTION
, GSF_END
, INVALID_PRICE
}, ///< PR_BUILD_RAIL
13 { 95, PCAT_CONSTRUCTION
, GSF_END
, INVALID_PRICE
}, ///< PR_BUILD_ROAD
14 { 65, PCAT_CONSTRUCTION
, GSF_END
, INVALID_PRICE
}, ///< PR_BUILD_SIGNALS
15 { 275, PCAT_CONSTRUCTION
, GSF_END
, INVALID_PRICE
}, ///< PR_BUILD_BRIDGE
16 { 600, PCAT_CONSTRUCTION
, GSF_END
, INVALID_PRICE
}, ///< PR_BUILD_DEPOT_TRAIN
17 { 500, PCAT_CONSTRUCTION
, GSF_END
, INVALID_PRICE
}, ///< PR_BUILD_DEPOT_ROAD
18 { 700, PCAT_CONSTRUCTION
, GSF_END
, INVALID_PRICE
}, ///< PR_BUILD_DEPOT_SHIP
19 { 450, PCAT_CONSTRUCTION
, GSF_END
, INVALID_PRICE
}, ///< PR_BUILD_TUNNEL
20 { 200, PCAT_CONSTRUCTION
, GSF_END
, INVALID_PRICE
}, ///< PR_BUILD_STATION_RAIL
21 { 180, PCAT_CONSTRUCTION
, GSF_END
, INVALID_PRICE
}, ///< PR_BUILD_STATION_RAIL_LENGTH
22 { 600, PCAT_CONSTRUCTION
, GSF_END
, INVALID_PRICE
}, ///< PR_BUILD_STATION_AIRPORT
23 { 200, PCAT_CONSTRUCTION
, GSF_END
, INVALID_PRICE
}, ///< PR_BUILD_STATION_BUS
24 { 200, PCAT_CONSTRUCTION
, GSF_END
, INVALID_PRICE
}, ///< PR_BUILD_STATION_TRUCK
25 { 350, PCAT_CONSTRUCTION
, GSF_END
, INVALID_PRICE
}, ///< PR_BUILD_STATION_DOCK
26 { 400000, PCAT_CONSTRUCTION
, GSF_TRAINS
, INVALID_PRICE
}, ///< PR_BUILD_VEHICLE_TRAIN
27 { 2000, PCAT_CONSTRUCTION
, GSF_TRAINS
, INVALID_PRICE
}, ///< PR_BUILD_VEHICLE_WAGON
28 { 700000, PCAT_CONSTRUCTION
, GSF_AIRCRAFT
, INVALID_PRICE
}, ///< PR_BUILD_VEHICLE_AIRCRAFT
29 { 14000, PCAT_CONSTRUCTION
, GSF_ROADVEHICLES
, INVALID_PRICE
}, ///< PR_BUILD_VEHICLE_ROAD
30 { 65000, PCAT_CONSTRUCTION
, GSF_SHIPS
, INVALID_PRICE
}, ///< PR_BUILD_VEHICLE_SHIP
31 { 20, PCAT_CONSTRUCTION
, GSF_END
, INVALID_PRICE
}, ///< PR_BUILD_TREES
32 { 250, PCAT_CONSTRUCTION
, GSF_END
, INVALID_PRICE
}, ///< PR_TERRAFORM
33 { 20, PCAT_CONSTRUCTION
, GSF_END
, INVALID_PRICE
}, ///< PR_CLEAR_GRASS
34 { 40, PCAT_CONSTRUCTION
, GSF_END
, INVALID_PRICE
}, ///< PR_CLEAR_ROUGH
35 { 200, PCAT_CONSTRUCTION
, GSF_END
, INVALID_PRICE
}, ///< PR_CLEAR_ROCKS
36 { 500, PCAT_CONSTRUCTION
, GSF_END
, INVALID_PRICE
}, ///< PR_CLEAR_FIELDS
37 { 20, PCAT_CONSTRUCTION
, GSF_END
, INVALID_PRICE
}, ///< PR_CLEAR_TREES
38 { -70, PCAT_CONSTRUCTION
, GSF_END
, INVALID_PRICE
}, ///< PR_CLEAR_RAIL
39 { 10, PCAT_CONSTRUCTION
, GSF_END
, INVALID_PRICE
}, ///< PR_CLEAR_SIGNALS
40 { 50, PCAT_CONSTRUCTION
, GSF_END
, INVALID_PRICE
}, ///< PR_CLEAR_BRIDGE
41 { 80, PCAT_CONSTRUCTION
, GSF_END
, INVALID_PRICE
}, ///< PR_CLEAR_DEPOT_TRAIN
42 { 80, PCAT_CONSTRUCTION
, GSF_END
, INVALID_PRICE
}, ///< PR_CLEAR_DEPOT_ROAD
43 { 90, PCAT_CONSTRUCTION
, GSF_END
, INVALID_PRICE
}, ///< PR_CLEAR_DEPOT_SHIP
44 { 30, PCAT_CONSTRUCTION
, GSF_END
, INVALID_PRICE
}, ///< PR_CLEAR_TUNNEL
45 { 10000, PCAT_CONSTRUCTION
, GSF_END
, INVALID_PRICE
}, ///< PR_CLEAR_WATER
46 { 50, PCAT_CONSTRUCTION
, GSF_END
, INVALID_PRICE
}, ///< PR_CLEAR_STATION_RAIL
47 { 30, PCAT_CONSTRUCTION
, GSF_END
, INVALID_PRICE
}, ///< PR_CLEAR_STATION_AIRPORT
48 { 50, PCAT_CONSTRUCTION
, GSF_END
, INVALID_PRICE
}, ///< PR_CLEAR_STATION_BUS
49 { 50, PCAT_CONSTRUCTION
, GSF_END
, INVALID_PRICE
}, ///< PR_CLEAR_STATION_TRUCK
50 { 55, PCAT_CONSTRUCTION
, GSF_END
, INVALID_PRICE
}, ///< PR_CLEAR_STATION_DOCK
51 { 1600, PCAT_CONSTRUCTION
, GSF_END
, INVALID_PRICE
}, ///< PR_CLEAR_HOUSE
52 { 40, PCAT_CONSTRUCTION
, GSF_END
, INVALID_PRICE
}, ///< PR_CLEAR_ROAD
53 { 5600, PCAT_RUNNING
, GSF_TRAINS
, INVALID_PRICE
}, ///< PR_RUNNING_TRAIN_STEAM
54 { 5200, PCAT_RUNNING
, GSF_TRAINS
, INVALID_PRICE
}, ///< PR_RUNNING_TRAIN_DIESEL
55 { 4800, PCAT_RUNNING
, GSF_TRAINS
, INVALID_PRICE
}, ///< PR_RUNNING_TRAIN_ELECTRIC
56 { 9600, PCAT_RUNNING
, GSF_AIRCRAFT
, INVALID_PRICE
}, ///< PR_RUNNING_AIRCRAFT
57 { 1600, PCAT_RUNNING
, GSF_ROADVEHICLES
, INVALID_PRICE
}, ///< PR_RUNNING_ROADVEH
58 { 5600, PCAT_RUNNING
, GSF_SHIPS
, INVALID_PRICE
}, ///< PR_RUNNING_SHIP
59 {1000000, PCAT_CONSTRUCTION
, GSF_END
, INVALID_PRICE
}, ///< PR_BUILD_INDUSTRY
60 { 1600, PCAT_CONSTRUCTION
, GSF_END
, PR_CLEAR_HOUSE
}, ///< PR_CLEAR_INDUSTRY
61 { 40, PCAT_CONSTRUCTION
, GSF_OBJECTS
, PR_CLEAR_ROUGH
}, ///< PR_BUILD_OBJECT
62 { 40, PCAT_CONSTRUCTION
, GSF_OBJECTS
, PR_CLEAR_ROUGH
}, ///< PR_CLEAR_OBJECT
63 { 600, PCAT_CONSTRUCTION
, GSF_END
, PR_BUILD_DEPOT_TRAIN
}, ///< PR_BUILD_WAYPOINT_RAIL
64 { 80, PCAT_CONSTRUCTION
, GSF_END
, PR_CLEAR_DEPOT_TRAIN
}, ///< PR_CLEAR_WAYPOINT_RAIL
65 { 350, PCAT_CONSTRUCTION
, GSF_END
, PR_BUILD_STATION_DOCK
}, ///< PR_BUILD_WAYPOINT_BUOY
66 { 50, PCAT_CONSTRUCTION
, GSF_END
, PR_CLEAR_STATION_TRUCK
}, ///< PR_CLEAR_WAYPOINT_BUOY
67 {1000000, PCAT_CONSTRUCTION
, GSF_END
, PR_BUILD_INDUSTRY
}, ///< PR_TOWN_ACTION
68 { 250, PCAT_CONSTRUCTION
, GSF_END
, PR_TERRAFORM
}, ///< PR_BUILD_FOUNDATION
69 {8000000, PCAT_CONSTRUCTION
, GSF_END
, PR_BUILD_INDUSTRY
}, ///< PR_BUILD_INDUSTRY_RAW
70 {1000000, PCAT_CONSTRUCTION
, GSF_END
, PR_BUILD_INDUSTRY
}, ///< PR_BUILD_TOWN
71 { 5000, PCAT_CONSTRUCTION
, GSF_END
, PR_CLEAR_WATER
}, ///< PR_BUILD_CANAL
72 { 5000, PCAT_CONSTRUCTION
, GSF_END
, PR_CLEAR_WATER
}, ///< PR_CLEAR_CANAL
73 { 10000, PCAT_CONSTRUCTION
, GSF_END
, PR_CLEAR_WATER
}, ///< PR_BUILD_AQUEDUCT
74 { 2000, PCAT_CONSTRUCTION
, GSF_END
, PR_CLEAR_BRIDGE
}, ///< PR_CLEAR_AQUEDUCT
75 { 7500, PCAT_CONSTRUCTION
, GSF_END
, PR_CLEAR_WATER
}, ///< PR_BUILD_LOCK
76 { 2000, PCAT_CONSTRUCTION
, GSF_END
, PR_CLEAR_WATER
}, ///< PR_CLEAR_LOCK
77 { 10, PCAT_RUNNING
, GSF_END
, PR_BUILD_RAIL
}, ///< PR_INFRASTRUCTURE_RAIL
78 { 10, PCAT_RUNNING
, GSF_END
, PR_BUILD_ROAD
}, ///< PR_INFRASTRUCTURE_ROAD
79 { 8, PCAT_RUNNING
, GSF_END
, PR_BUILD_CANAL
}, ///< PR_INFRASTRUCTURE_WATER
80 { 100, PCAT_RUNNING
, GSF_END
, PR_STATION_VALUE
}, ///< PR_INFRASTRUCTURE_STATION
81 { 5000, PCAT_RUNNING
, GSF_END
, PR_BUILD_STATION_AIRPORT
}, ///< PR_INFRASTRUCTURE_AIRPORT
83 static_assert(lengthof(_price_base_specs
) == PR_END
);