summaryrefslogtreecommitdiff
path: root/src/town.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/town.h')
-rw-r--r--src/town.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/town.h b/src/town.h
index 5e4c0eaed..c524f971d 100644
--- a/src/town.h
+++ b/src/town.h
@@ -215,6 +215,31 @@ uint GetMaskOfTownActions(int *nump, CompanyID cid, const Town *t);
bool GenerateTowns(TownLayout layout);
bool GenerateTownName(uint32 *townnameparts);
+
+/** Town actions of a company. */
+enum TownActions {
+ TACT_NONE = 0x00, ///< Empty action set.
+
+ TACT_ADVERTISE_SMALL = 0x01, ///< Small advertising campaign.
+ TACT_ADVERTISE_MEDIUM = 0x02, ///< Medium advertising campaign.
+ TACT_ADVERTISE_LARGE = 0x04, ///< Large advertising campaign.
+ TACT_ROAD_REBUILD = 0x08, ///< Rebuild the roads.
+ TACT_BUILD_STATUE = 0x10, ///< Build a statue.
+ TACT_FOUND_BUILDINGS = 0x20, ///< Found new buildings.
+ TACT_BUY_RIGHTS = 0x40, ///< Buy exclusive transport rights.
+ TACT_BRIBE = 0x80, ///< Try to bribe the counsil.
+
+ TACT_COUNT = 8, ///< Number of available town actions.
+
+ TACT_ADVERTISE = TACT_ADVERTISE_SMALL | TACT_ADVERTISE_MEDIUM | TACT_ADVERTISE_LARGE, ///< All possible advertising actions.
+ TACT_CONSTRUCTION = TACT_ROAD_REBUILD | TACT_BUILD_STATUE | TACT_FOUND_BUILDINGS, ///< All possible construction actions.
+ TACT_FUNDS = TACT_BUY_RIGHTS | TACT_BRIBE, ///< All possible funding actions.
+ TACT_ALL = TACT_ADVERTISE | TACT_CONSTRUCTION | TACT_FUNDS, ///< All possible actions.
+};
+DECLARE_ENUM_AS_BIT_SET(TownActions);
+
+extern const byte _town_action_costs[TACT_COUNT];
+
/**
* Calculate a hash value from a tile position
*