OpenTTD AI API: AIAirport Class Reference

OpenTTD AI API 13.2.1

Public Types | Static Public Member Functions
AIAirport Class Reference

Class that handles all airport related functions. More...

Inheritance diagram for AIAirport:

## Public Types
enum | AirportType { AT_SMALL, AT_LARGE, AT_METROPOLITAN, AT_INTERNATIONAL, AT_COMMUTER, AT_INTERCON, AT_HELIPORT, AT_HELISTATION, AT_HELIDEPOT, AT_INVALID }
| The types of airports available in the game. More...
enum | PlaneType { PT_HELICOPTER, PT_SMALL_PLANE, PT_BIG_PLANE, PT_INVALID }
| All plane types available. More...

## Static Public Member Functions
static bool | IsValidAirportType (AirportType type)
| Checks whether the given AirportType is valid and available. More...
static bool | IsAirportInformationAvailable (AirportType type)
| Can you get information on this airport type? As opposed to IsValidAirportType this will return also return true when an airport type is no longer buildable. More...
static Money | GetPrice (AirportType type)
| Get the cost to build this AirportType. More...
static bool | IsHangarTile (TileIndex tile)
| Checks whether the given tile is actually a tile with a hangar. More...
static bool | IsAirportTile (TileIndex tile)
| Checks whether the given tile is actually a tile with an airport. More...
static int32 | GetAirportWidth (AirportType type)
| Get the width of this type of airport. More...
static int32 | GetAirportHeight (AirportType type)
| Get the height of this type of airport. More...
static int32 | GetAirportCoverageRadius (AirportType type)
| Get the coverage radius of this type of airport. More...
static int32 | GetNumHangars (TileIndex tile)
| Get the number of hangars of the airport. More...
static TileIndex | GetHangarOfAirport (TileIndex tile)
| Get the first hangar tile of the airport. More...
static bool | BuildAirport (TileIndex tile, AirportType type, StationID station_id)
| Builds a airport with tile at the topleft corner. More...
static bool | RemoveAirport (TileIndex tile)
| Removes an airport. More...
static AirportType | GetAirportType (TileIndex tile)
| Get the AirportType of an existing airport. More...
static int | GetNoiseLevelIncrease (TileIndex tile, AirportType type)
| Get the noise that will be added to the nearest town if an airport was built at this tile. More...
static TownID | GetNearestTown (TileIndex tile, AirportType type)
| Get the TownID of the town whose local authority will influence an airport at some tile. More...
static uint16 | GetMaintenanceCostFactor (AirportType type)
| Get the maintenance cost factor of an airport type. More...
static Money | GetMonthlyMaintenanceCost (AirportType type)
| Get the monthly maintenance cost of an airport type. More...

## Detailed Description

Class that handles all airport related functions.

## Member Enumeration Documentation

## ◆ AirportType

enum AIAirport::AirportType

The types of airports available in the game.

Enumerator
AT_SMALL | The small airport.
AT_LARGE | The large airport.
AT_METROPOLITAN | The metropolitan airport.
AT_INTERNATIONAL | The international airport.
AT_COMMUTER | The commuter airport.
AT_INTERCON | The intercontinental airport.
AT_HELIPORT | The heliport.
AT_HELISTATION | The helistation.
AT_HELIDEPOT | The helidepot.
AT_INVALID | Invalid airport.

## ◆ PlaneType

enum AIAirport::PlaneType

All plane types available.

Enumerator
PT_HELICOPTER | A helicopter.
PT_SMALL_PLANE | A small plane.
PT_BIG_PLANE | A big plane.
PT_INVALID | An invalid PlaneType.

## Member Function Documentation

## ◆ BuildAirport()

static bool AIAirport::BuildAirport | ( | TileIndex | tile,
|  | AirportType | type,
|  | StationID | station_id
| ) |  |
| static

Builds a airport with tile at the topleft corner.

Parameters

  tile | The topleft corner of the airport.
  type | The type of airport to build.
  station_id | The station to join, AIStation::STATION_NEW or AIStation::STATION_JOIN_ADJACENT.

Precondition
  AIMap::IsValidTile(tile).
  AirportAvailable(type).
  station_id == AIStation::STATION_NEW || station_id == AIStation::STATION_JOIN_ADJACENT || AIStation::IsValidStation(station_id).

Exceptions

  AIError::ERR_AREA_NOT_CLEAR |
  AIError::ERR_FLAT_LAND_REQUIRED |
  AIError::ERR_LOCAL_AUTHORITY_REFUSES |
  AIStation::ERR_STATION_TOO_LARGE |
  AIStation::ERR_STATION_TOO_CLOSE_TO_ANOTHER_STATION |

Returns
  Whether the airport has been/can be build or not.

## ◆ GetAirportCoverageRadius()

static int32 AIAirport::GetAirportCoverageRadius | ( | AirportType | type | ) |
| static

Get the coverage radius of this type of airport.

Parameters

  type | The type of airport.

Precondition
  IsAirportInformationAvailable(type).

Returns
  The radius in tiles.

## ◆ GetAirportHeight()

static int32 AIAirport::GetAirportHeight | ( | AirportType | type | ) |
| static

Get the height of this type of airport.

Parameters

  type | The type of airport.

Precondition
  IsAirportInformationAvailable(type).

Returns
  The height in tiles.

## ◆ GetAirportType()

static AirportType AIAirport::GetAirportType | ( | TileIndex | tile | ) |
| static

Get the AirportType of an existing airport.

Parameters

  tile | Any tile of the airport.

Precondition
  AITile::IsStationTile(tile).
  AIStation::HasStationType(AIStation.GetStationID(tile), AIStation::STATION_AIRPORT).

Returns
  The AirportType of the airport.

## ◆ GetAirportWidth()

static int32 AIAirport::GetAirportWidth | ( | AirportType | type | ) |
| static

Get the width of this type of airport.

Parameters

  type | The type of airport.

Precondition
  IsAirportInformationAvailable(type).

Returns
  The width in tiles.

## ◆ GetHangarOfAirport()

static TileIndex AIAirport::GetHangarOfAirport | ( | TileIndex | tile | ) |
| static

Get the first hangar tile of the airport.

Parameters

  tile | Any tile of the airport.

Precondition
  AIMap::IsValidTile(tile).
  GetNumHangars(tile) > 0.

Returns
  The first hangar tile of the airport.

Note
  Possible there are more hangars, but you won't be able to find them without walking over all the tiles of the airport and using IsHangarTile() on them.

## ◆ GetMaintenanceCostFactor()

static uint16 AIAirport::GetMaintenanceCostFactor | ( | AirportType | type | ) |
| static

Get the maintenance cost factor of an airport type.

Parameters

  type | The airport type to get the maintenance factor of.

Precondition
  IsAirportInformationAvailable(type)

Returns
  Maintenance cost factor of the airport type.

## ◆ GetMonthlyMaintenanceCost()

static Money AIAirport::GetMonthlyMaintenanceCost | ( | AirportType | type | ) |
| static

Get the monthly maintenance cost of an airport type.

Parameters

  type | The airport type to get the monthly maintenance cost of.

Precondition
  IsAirportInformationAvailable(type)

Returns
  Monthly maintenance cost of the airport type.

## ◆ GetNearestTown()

static TownID AIAirport::GetNearestTown | ( | TileIndex | tile,
|  | AirportType | type
| ) |  |
| static

Get the TownID of the town whose local authority will influence an airport at some tile.

Parameters

  tile | The tile to check.
  type | The AirportType to check.

Precondition
  IsAirportInformationAvailable(type).

Returns
  The TownID of the town closest to the tile.

## ◆ GetNoiseLevelIncrease()

static int AIAirport::GetNoiseLevelIncrease | ( | TileIndex | tile,
|  | AirportType | type
| ) |  |
| static

Get the noise that will be added to the nearest town if an airport was built at this tile.

Parameters

  tile | The tile to check.
  type | The AirportType to check.

Precondition
  IsAirportInformationAvailable(type).

Returns
  The amount of noise added to the nearest town.

Note
  The noise will be added to the town with TownID GetNearestTown(tile, type).

## ◆ GetNumHangars()

static int32 AIAirport::GetNumHangars | ( | TileIndex | tile | ) |
| static

Get the number of hangars of the airport.

Parameters

  tile | Any tile of the airport.

Precondition
  AIMap::IsValidTile(tile).

Returns
  The number of hangars of the airport.

## ◆ GetPrice()

static Money AIAirport::GetPrice | ( | AirportType | type | ) |
| static

Get the cost to build this AirportType.

Parameters

  type | The AirportType to check.

Precondition
  AirportAvailable(type).

Returns
  The cost of building this AirportType.

## ◆ IsAirportInformationAvailable()

static bool AIAirport::IsAirportInformationAvailable | ( | AirportType | type | ) |
| static

Can you get information on this airport type? As opposed to IsValidAirportType this will return also return true when an airport type is no longer buildable.

Parameters

  type | The AirportType to check.

Returns
  True if and only if the AirportType is valid.

Postcondition
  return value == false -> IsValidAirportType returns false.

## ◆ IsAirportTile()

static bool AIAirport::IsAirportTile | ( | TileIndex | tile | ) |
| static

Checks whether the given tile is actually a tile with an airport.

Parameters

  tile | The tile to check.

Precondition
  AIMap::IsValidTile(tile).

Returns
  True if and only if the tile has an airport.

## ◆ IsHangarTile()

static bool AIAirport::IsHangarTile | ( | TileIndex | tile | ) |
| static

Checks whether the given tile is actually a tile with a hangar.

Parameters

  tile | The tile to check.

Precondition
  AIMap::IsValidTile(tile).

Returns
  True if and only if the tile has a hangar.

## ◆ IsValidAirportType()

static bool AIAirport::IsValidAirportType | ( | AirportType | type | ) |
| static

Checks whether the given AirportType is valid and available.

Parameters

  type | The AirportType to check.

Returns
  True if and only if the AirportType is valid and available.

Postcondition
  return value == true -> IsAirportInformationAvailable returns true.

## ◆ RemoveAirport()

static bool AIAirport::RemoveAirport | ( | TileIndex | tile | ) |
| static

Removes an airport.

Parameters

  tile | Any tile of the airport.

Precondition
  AIMap::IsValidTile(tile).

Exceptions

  AIError::ERR_OWNED_BY_ANOTHER_COMPANY |

Returns
  Whether the airport has been/can be removed or not.