#include <ai_town.hpp>

Public Types | |
| enum | TownAction { TOWN_ACTION_ADVERTISE_SMALL = 0, TOWN_ACTION_ADVERTISE_MEDIUM = 1, TOWN_ACTION_ADVERTISE_LARGE = 2, TOWN_ACTION_ROAD_REBUILD = 3, TOWN_ACTION_BUILD_STATUE = 4, TOWN_ACTION_FUND_BUILDINGS = 5, TOWN_ACTION_BUY_RIGHTS = 6, TOWN_ACTION_BRIBE = 7 } |
| Actions that one can perform on a town. More... | |
| enum | TownRating { TOWN_RATING_NONE, TOWN_RATING_APPALLING, TOWN_RATING_VERY_POOR, TOWN_RATING_POOR, TOWN_RATING_MEDIOCRE, TOWN_RATING_GOOD, TOWN_RATING_VERY_GOOD, TOWN_RATING_EXCELLENT, TOWN_RATING_OUTSTANDING, TOWN_RATING_INVALID = -1 } |
| Different ratings one could have in a town. More... | |
| enum | RoadLayout { ROAD_LAYOUT_ORIGINAL, ROAD_LAYOUT_BETTER_ROADS, ROAD_LAYOUT_2x2, ROAD_LAYOUT_3x3, ROAD_LAYOUT_INVALID = -1 } |
| Possible layouts for the roads in a town. More... | |
Static Public Member Functions | |
| static const char * | GetClassName () |
| static int32 | GetTownCount () |
| Gets the number of towns. | |
| static bool | IsValidTown (TownID town_id) |
| Checks whether the given town index is valid. | |
| static char * | GetName (TownID town_id) |
| Get the name of the town. | |
| static int32 | GetPopulation (TownID town_id) |
| Gets the number of inhabitants in the town. | |
| static int32 | GetHouseCount (TownID town_id) |
| Gets the number of houses in the town. | |
| static TileIndex | GetLocation (TownID town_id) |
| Gets the location of the town. | |
| static int32 | GetLastMonthProduction (TownID town_id, CargoID cargo_id) |
| Get the total last month's production of the given cargo at a town. | |
| static int32 | GetLastMonthTransported (TownID town_id, CargoID cargo_id) |
| Get the total amount of cargo transported from a town last month. | |
| static int32 | GetMaxProduction (TownID town_id, CargoID cargo_id) |
| Get the maximum production of the given cargo at a town. | |
| static int32 | GetDistanceManhattanToTile (TownID town_id, TileIndex tile) |
| Get the manhattan distance from the tile to the AITown::GetLocation() of the town. | |
| static int32 | GetDistanceSquareToTile (TownID town_id, TileIndex tile) |
| Get the square distance from the tile to the AITown::GetLocation() of the town. | |
| static bool | IsWithinTownInfluence (TownID town_id, TileIndex tile) |
| Find out if this tile is within the rating influence of a town. | |
| static bool | HasStatue (TownID town_id) |
| Find out if this town has a statue for the current company. | |
| static int | GetRoadReworkDuration (TownID town_id) |
| Find out how long the town is undergoing road reconstructions. | |
| static AICompany::CompanyID | GetExclusiveRightsCompany (TownID town_id) |
| Find out which company currently has the exclusive rights of this town. | |
| static int32 | GetExclusiveRightsDuration (TownID town_id) |
| Find out how long the town is under influence of the exclusive rights. | |
| static bool | IsActionAvailable (TownID town_id, TownAction town_action) |
| Find out if an action can currently be performed on the town. | |
| static bool | PerformTownAction (TownID town_id, TownAction town_action) |
| Perform a town action on this town. | |
| static TownRating | GetRating (TownID town_id, AICompany::CompanyID company_id) |
| Get the rating of a company within a town. | |
| static int | GetAllowedNoise (TownID town_id) |
| Get the maximum level of noise that still can be added by airports before the town start to refuse building a new airport. | |
| static RoadLayout | GetRoadLayout (TownID town_id) |
| Get the road layout for a town. | |
Definition at line 14 of file ai_town.hpp.
| enum AITown::TownAction |
Actions that one can perform on a town.
Definition at line 21 of file ai_town.hpp.
| enum AITown::TownRating |
Different ratings one could have in a town.
Definition at line 74 of file ai_town.hpp.
| enum AITown::RoadLayout |
Possible layouts for the roads in a town.
Definition at line 90 of file ai_town.hpp.
| int32 AITown::GetTownCount | ( | ) | [static] |
Gets the number of towns.
Definition at line 17 of file ai_town.cpp.
| bool AITown::IsValidTown | ( | TownID | town_id | ) | [static] |
Checks whether the given town index is valid.
| town_id | The index to check. |
Definition at line 22 of file ai_town.cpp.
References IsValidTownID().
Referenced by GetAllowedNoise(), GetExclusiveRightsCompany(), GetExclusiveRightsDuration(), GetHouseCount(), GetLastMonthProduction(), GetLastMonthTransported(), GetLocation(), GetMaxProduction(), GetName(), GetPopulation(), GetRating(), GetRoadLayout(), GetRoadReworkDuration(), HasStatue(), IsActionAvailable(), IsWithinTownInfluence(), and PerformTownAction().
| char * AITown::GetName | ( | TownID | town_id | ) | [static] |
Get the name of the town.
| town_id | The town to get the name of. |
Definition at line 27 of file ai_town.cpp.
References IsValidTown().
| int32 AITown::GetPopulation | ( | TownID | town_id | ) | [static] |
Gets the number of inhabitants in the town.
| town_id | The town to get the population of. |
Definition at line 39 of file ai_town.cpp.
References IsValidTown().
| int32 AITown::GetHouseCount | ( | TownID | town_id | ) | [static] |
Gets the number of houses in the town.
| town_id | The town to get the number of houses of. |
Definition at line 46 of file ai_town.cpp.
References IsValidTown().
Gets the location of the town.
| town_id | The town to get the location of. |
Definition at line 53 of file ai_town.cpp.
References INVALID_TILE, and IsValidTown().
Referenced by GetDistanceManhattanToTile(), and GetDistanceSquareToTile().
Get the total last month's production of the given cargo at a town.
| town_id | The index of the town. | |
| cargo_id | The index of the cargo. |
AICargo::IsValidCargo(cargo_id).
AICargo::GetTownEffect(cargo_id) == TE_PASSENGERS || AICargo::GetTownEffect(cargo_id) == TE_MAIL.
Definition at line 60 of file ai_town.cpp.
References AICargo::GetTownEffect(), AICargo::IsValidCargo(), IsValidTown(), AICargo::TE_MAIL, and AICargo::TE_PASSENGERS.
Get the total amount of cargo transported from a town last month.
| town_id | The index of the industry. | |
| cargo_id | The index of the cargo. |
AICargo::IsValidCargo(cargo_id).
AICargo::GetTownEffect(cargo_id) == TE_PASSENGERS || AICargo::GetTownEffect(cargo_id) == TE_MAIL.
Definition at line 74 of file ai_town.cpp.
References AICargo::GetTownEffect(), AICargo::IsValidCargo(), IsValidTown(), AICargo::TE_MAIL, and AICargo::TE_PASSENGERS.
Get the maximum production of the given cargo at a town.
| town_id | The index of the town. | |
| cargo_id | The index of the cargo. |
AICargo::IsValidCargo(cargo_id).
AICargo::GetTownEffect(cargo_id) == TE_PASSENGERS || AICargo::GetTownEffect(cargo_id) == TE_MAIL.
Definition at line 88 of file ai_town.cpp.
References AICargo::GetTownEffect(), AICargo::IsValidCargo(), IsValidTown(), AICargo::TE_MAIL, and AICargo::TE_PASSENGERS.
Get the manhattan distance from the tile to the AITown::GetLocation() of the town.
| town_id | The town to get the distance to. | |
| tile | The tile to get the distance to. |
Definition at line 102 of file ai_town.cpp.
References AIMap::DistanceManhattan(), and GetLocation().
Get the square distance from the tile to the AITown::GetLocation() of the town.
| town_id | The town to get the distance to. | |
| tile | The tile to get the distance to. |
Definition at line 107 of file ai_town.cpp.
References AIMap::DistanceSquare(), and GetLocation().
Referenced by IsWithinTownInfluence().
Find out if this tile is within the rating influence of a town.
Stations on this tile influence the rating of the town.
| town_id | The town to check. | |
| tile | The tile to check. |
Definition at line 112 of file ai_town.cpp.
References GetDistanceSquareToTile(), and IsValidTown().
Referenced by AITile::IsWithinTownInfluence(), and AIStation::IsWithinTownInfluence().
| bool AITown::HasStatue | ( | TownID | town_id | ) | [static] |
Find out if this town has a statue for the current company.
| town_id | The town to check. |
Definition at line 120 of file ai_town.cpp.
References HasBit(), and IsValidTown().
| int AITown::GetRoadReworkDuration | ( | TownID | town_id | ) | [static] |
Find out how long the town is undergoing road reconstructions.
| town_id | The town to check. |
Definition at line 127 of file ai_town.cpp.
References IsValidTown().
| AICompany::CompanyID AITown::GetExclusiveRightsCompany | ( | TownID | town_id | ) | [static] |
Find out which company currently has the exclusive rights of this town.
| town_id | The town to check. |
Definition at line 134 of file ai_town.cpp.
References AICompany::COMPANY_INVALID, and IsValidTown().
| int32 AITown::GetExclusiveRightsDuration | ( | TownID | town_id | ) | [static] |
Find out how long the town is under influence of the exclusive rights.
| town_id | The town to check. |
Definition at line 141 of file ai_town.cpp.
References IsValidTown().
| bool AITown::IsActionAvailable | ( | TownID | town_id, | |
| TownAction | town_action | |||
| ) | [static] |
Find out if an action can currently be performed on the town.
| town_id | The town to perform the action on. | |
| town_action | The action to perform on the town. |
Definition at line 148 of file ai_town.cpp.
References GetMaskOfTownActions(), HasBit(), and IsValidTown().
Referenced by PerformTownAction().
| bool AITown::PerformTownAction | ( | TownID | town_id, | |
| TownAction | town_action | |||
| ) | [static] |
Perform a town action on this town.
| town_id | The town to perform the action on. | |
| town_action | The action to perform on the town. |
IsActionAvailable(town_id, town_action).
Definition at line 155 of file ai_town.cpp.
References CMD_DO_TOWN_ACTION, AIObject::DoCommand(), EnforcePrecondition, IsActionAvailable(), and IsValidTown().
| AITown::TownRating AITown::GetRating | ( | TownID | town_id, | |
| AICompany::CompanyID | company_id | |||
| ) | [static] |
Get the rating of a company within a town.
| town_id | The town to get the rating for. | |
| company_id | The company to get the rating for. |
AICompany.ResolveCompanyID(company) != AICompany::COMPANY_INVALID.
Definition at line 163 of file ai_town.cpp.
References AICompany::COMPANY_INVALID, HasBit(), IsValidTown(), max(), AICompany::ResolveCompanyID(), TOWN_RATING_APPALLING, TOWN_RATING_INVALID, and TOWN_RATING_NONE.
| int AITown::GetAllowedNoise | ( | TownID | town_id | ) | [static] |
Get the maximum level of noise that still can be added by airports before the town start to refuse building a new airport.
| town_id | The town to get the allowed noise from. |
Definition at line 174 of file ai_town.cpp.
References _settings_game, Station::airport_type, GameSettings::economy, Station::facilities, IsValidTown(), max(), EconomySettings::station_noise_level, and Station::town.
| AITown::RoadLayout AITown::GetRoadLayout | ( | TownID | town_id | ) | [static] |
Get the road layout for a town.
| town_id | The town to get the road layout from. |
Definition at line 191 of file ai_town.cpp.
References IsValidTown(), and ROAD_LAYOUT_INVALID.
1.5.6