diff options
author | bjarni <bjarni@openttd.org> | 2006-09-04 09:07:52 +0000 |
---|---|---|
committer | bjarni <bjarni@openttd.org> | 2006-09-04 09:07:52 +0000 |
commit | 1a0476535db15590efd8d08b671efaade9098b6f (patch) | |
tree | d57b09d393145e52bd9bae2676d629b183f2abae /vehicle.c | |
parent | df135e8190283ff2bf85dfbccccf2b0bb466863a (diff) | |
download | openttd-1a0476535db15590efd8d08b671efaade9098b6f.tar.xz |
(svn r6376) -Codechange: [vehicle refit] moved all refit cost calculations into GetRefitCost()
Now it's possible to tell refit costs for an EngineID without actually having build a vehicle
Diffstat (limited to 'vehicle.c')
-rw-r--r-- | vehicle.c | 20 |
1 files changed, 20 insertions, 0 deletions
@@ -723,6 +723,26 @@ CargoID FindFirstRefittableCargo(EngineID engine_type) return CT_INVALID; } +/** Learn the price of refitting a certain engine +* @param engine Which engine to refit +* @return Price for refitting +*/ +int32 GetRefitCost(EngineID engine_type) +{ + int32 base_cost; + + switch (GetEngine(engine_type)->type) { + case VEH_Ship: base_cost = _price.ship_base; break; + case VEH_Road: base_cost = _price.roadveh_base; break; + case VEH_Aircraft: base_cost = _price.aircraft_base; break; + case VEH_Train: + base_cost = 2 * ((RailVehInfo(engine_type)->flags & RVI_WAGON) ? + _price.build_railwagon : _price.build_railvehicle); + break; + default: NOT_REACHED(); break; + } + return (EngInfo(engine_type)->refit_cost * base_cost) >> 10; +} static void DoDrawVehicle(const Vehicle *v) { |