10 #ifndef SUBSIDY_BASE_H
11 #define SUBSIDY_BASE_H
Types related to cargoes...
uint8_t CargoID
Cargo slots to indicate a cargo type within a game.
uint16_t SourceID
Contains either industry ID, town ID or company ID (or INVALID_SOURCE)
SourceType
Types of cargo source and destination.
Types related to companies.
Owner
Enum for all companies/owners.
@ INVALID_COMPANY
An invalid company.
Definition of Pool, structure used to access PoolItems, and PoolItem, base structure for Vehicle,...
Base class for all PoolItems.
Base class for all pools.
Struct about subsidies, offered and awarded.
bool IsAwarded() const
Tests whether this subsidy has been awarded to someone.
SourceType dst_type
Destination of subsidised path (SourceType::Industry or SourceType::Town)
SourceType src_type
Source of subsidised path (SourceType::Industry or SourceType::Town)
CompanyID awarded
Subsidy is awarded to this company; INVALID_COMPANY if it's not awarded to anyone.
CargoID cargo_type
Cargo type involved in this subsidy, INVALID_CARGO for invalid subsidy.
void AwardTo(CompanyID company)
Marks subsidy as awarded, creates news and AI event.
~Subsidy()
(Empty) destructor has to be defined else operator delete might be called with nullptr parameter
Subsidy()
We need an (empty) constructor so struct isn't zeroed (as C++ standard states)
uint16_t remaining
Remaining months when this subsidy is valid.
SourceID src
Index of source. Either TownID or IndustryID.
SourceID dst
Index of destination. Either TownID or IndustryID.
SubsidyPool _subsidy_pool("Subsidy")
Pool for the subsidies.
static const uint SUBSIDY_MAX_DISTANCE
Max. length of subsidised route (DistanceManhattan)
static const uint SUBSIDY_CARGO_MIN_POPULATION
Min. population of destination town for cargo route.
static const uint SUBSIDY_TOWN_CARGO_RADIUS
Extent of a tile area around town center when scanning for town cargo acceptance and production (6 ~=...
SubsidyDecodeParamType
Types of subsidy news messages, which determine how the date is printed and whether to use singular o...
@ Gui
Subsidies listed in the Subsidy GUI.
@ NewsAwarded
News item for an awarded subsidy.
@ NewsWithdrawn
News item for a subsidy offer withdrawn, or expired subsidy.
@ NewsOffered
News item for an offered subsidy.
static const uint SUBSIDY_PAX_MIN_POPULATION
Min. population of towns for subsidised pax route.
static const uint SUBSIDY_MAX_PCT_TRANSPORTED
Subsidy will be created only for towns/industries with less % transported.
static const uint SUBSIDY_OFFER_MONTHS
Constants related to subsidies.
basic types related to subsidies