Vehicle Properties

The following list describes all properties that are valid for trains, road vehicles, ships and aircraft, unless stated otherwise.

climates_available

This property is a bitmask of the climate(s) in which the vehicle is available. A list of climate bits is given below:

Climate Climate bit identifier
Temperate CLIMATE_BIT_TEMPERATE
Arctic CLIMATE_BIT_ARCTIC
Tropical CLIMATE_BIT_TROPICAL
Toyland CLIMATE_BIT_TOYLAND
All climates CLIMATE_BIT_ALL
No climates* CLIMATE_BIT_NONE

*This is useful for articulated parts (e.g. tenders) that should not be bought separately.

Example, sets climate availability to temperate and arctic:
climates_available = CLIMATE_BIT_TEMPERATE | CLIMATE_BIT_ARCTIC;

introduction_date

The introduction date in days since year 0, taking into account leap years. For your convenience, DATE_1920 is set to the amount of days up to 1920-01-01. You can then add (or subtract) a number of days to (from) this number. For larger offsets, a correction may be needed to take leap years into account. Example:
introduction_date: DATE_1920 + (365 * 12); //sets introduction date to +/- 1932-01-01

A random number of days between 0 and 511 is added to the introduction date, except when this date is within the first two years of the game since the start. For TTDPatch, game start is always considered to be 1920. Introduction date should be no later than 2044 in TTDPatch, or the vehicle will not reach its maximum reliability before 2050 when engine aging stops.

reliability_decay

This value (in arbitrary units) specifies how fast the reliability of a vehicle decreases after it has been serviced. All the standard TTD vehicles use a value of 20. After the vehicle reaches its maximum age, this value increases dramatically, resulting in a faster reliability decrease and more breakdowns. Valid values are between 0 and 255 inclusive.

vehicle_life

The number of years before a vehicle is considered too old and in need of replacement. Valid values are between 0 and 255 inclusive.

model_life

The amount of years this model is available on the market. Usually, this should be at least two to three times longer than the vehicle_life. A random amount between 31 months and 17 years is added to this. Values between 0 and 254 specify a finite model life. Set to VEHICLE_NEVER_EXPIRES (numerical value: 255) to let the model be available forever. For more information on the reliability during the vehicle life, see the retire_early property below.

retire_early

If this property is not set, the lifespan of a vehicles is divided in three phases as follows:
Phase Duration Reliability
1 7 to 38 months increases from 48-73% to 75-100%
2 model_life less 8 years stays constant at peak, 75-100%
3 10 to 20.5 years decreases from peak to 25-50%

The vehicles is then removed from the purchase list at the end of phase 3. Note that when reliability drops during phase 3, the reliability of every vehicle in use will drop as well.

The retire_early property can be set to a value between -128 and 127. Positive values will cause the model to retire (become unavailable) x years before the end of phase 2. Negative values will cause the vehicle to retire x years into phase 3. Large negative values will not lengthen phase 3, however.