OpenTTD Source  20241108-master-g80f628063a
town_cmd.h File Reference

Command definitions related to towns. More...

#include "command_type.h"
#include "company_type.h"
#include "town_type.h"

Go to the source code of this file.

Typedefs

using HouseID = uint8_t uint16_t
 

Functions

std::tuple< CommandCost, Money, TownID > CmdFoundTown (DoCommandFlag flags, TileIndex tile, TownSize size, bool city, TownLayout layout, bool random_location, uint32_t townnameparts, const std::string &text)
 Create a new town. More...
 
CommandCost CmdRenameTown (DoCommandFlag flags, TownID town_id, const std::string &text)
 Rename a town (server-only). More...
 
CommandCost CmdDoTownAction (DoCommandFlag flags, TownID town_id, uint8_t action)
 Do a town action. More...
 
CommandCost CmdTownGrowthRate (DoCommandFlag flags, TownID town_id, uint16_t growth_rate)
 Change the growth rate of the town. More...
 
CommandCost CmdTownRating (DoCommandFlag flags, TownID town_id, CompanyID company_id, int16_t rating)
 Change the rating of a company in a town. More...
 
CommandCost CmdTownCargoGoal (DoCommandFlag flags, TownID town_id, TownAcceptanceEffect tae, uint32_t goal)
 Change the cargo goal of a town. More...
 
CommandCost CmdTownSetText (DoCommandFlag flags, TownID town_id, const std::string &text)
 Set a custom text in the Town window. More...
 
CommandCost CmdExpandTown (DoCommandFlag flags, TownID town_id, uint32_t grow_amount)
 Expand a town (scenario editor only). More...
 
CommandCost CmdDeleteTown (DoCommandFlag flags, TownID town_id)
 Delete a town (scenario editor or worldgen only). More...
 
CommandCost CmdPlaceHouse (DoCommandFlag flags, TileIndex tile, HouseID house)
 
 DEF_CMD_TRAIT (CMD_FOUND_TOWN, CmdFoundTown, CMD_DEITY|CMD_NO_TEST, CMDT_LANDSCAPE_CONSTRUCTION) CommandCallback CcFoundTown
 
void CcFoundRandomTown (Commands cmd, const CommandCost &result, Money, TownID town_id)
 

Detailed Description

Command definitions related to towns.

Definition in file town_cmd.h.

Function Documentation

◆ CmdDeleteTown()

CommandCost CmdDeleteTown ( DoCommandFlag  flags,
TownID  town_id 
)

Delete a town (scenario editor or worldgen only).

Parameters
flagsType of operation.
town_idTown ID to delete.
Returns
Empty cost or an error.

Definition at line 3193 of file town_cmd.cpp.

◆ CmdDoTownAction()

CommandCost CmdDoTownAction ( DoCommandFlag  flags,
TownID  town_id,
uint8_t  action 
)

Do a town action.

This performs an action such as advertising, building a statue, funding buildings, but also bribing the town-council

Parameters
flagstype of operation
town_idtown to do the action at
actionaction to perform,
See also
_town_action_proc for the list of available actions
Returns
the cost of this operation or an error

Definition at line 3636 of file town_cmd.cpp.

References Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_town_pool >::GetIfValid(), and lengthof.

◆ CmdExpandTown()

CommandCost CmdExpandTown ( DoCommandFlag  flags,
TownID  town_id,
uint32_t  grow_amount 
)

Expand a town (scenario editor only).

Parameters
flagsType of operation.
TownIDTown ID to expand.
grow_amountAmount to grow, or 0 to grow a random size up to the current amount of houses.
Returns
Empty cost or an error.

Definition at line 3156 of file town_cmd.cpp.

◆ CmdFoundTown()

std::tuple<CommandCost, Money, TownID> CmdFoundTown ( DoCommandFlag  flags,
TileIndex  tile,
TownSize  size,
bool  city,
TownLayout  layout,
bool  random_location,
uint32_t  townnameparts,
const std::string &  text 
)

Create a new town.

Parameters
flagsThe type of operation.
tileThe coordinates where town is built.
sizeThe size of the town (
See also
TownSize).
Parameters
cityShould we build a city?
layoutThe town road layout (
See also
TownLayout).
Parameters
random_locationShould we use a random location? (randomize tile )
townnamepartsTown name parts.
textCustom name for the town. If empty, the town name parts will be used.
Returns
The cost of this operation or an error.

Definition at line 2115 of file town_cmd.cpp.

References _settings_game, CMD_ERROR, GameSettings::game_creation, GameCreationSettings::town_name, and TSZ_END.

◆ CmdRenameTown()

CommandCost CmdRenameTown ( DoCommandFlag  flags,
TownID  town_id,
const std::string &  text 
)

Rename a town (server-only).

Parameters
flagstype of operation
town_idtown ID to rename
textthe new name or an empty string when resetting to the default
Returns
the cost of this operation or an error

Definition at line 2992 of file town_cmd.cpp.

References Town::cached_name, CMD_ERROR, DC_EXEC, Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_town_pool >::GetIfValid(), InvalidateWindowData(), IsUniqueTownName(), MAX_LENGTH_TOWN_NAME_CHARS, Town::name, return_cmd_error, Town::UpdateVirtCoord(), Utf8StringLength(), and WC_TOWN_DIRECTORY.

◆ CmdTownCargoGoal()

CommandCost CmdTownCargoGoal ( DoCommandFlag  flags,
TownID  town_id,
TownAcceptanceEffect  tae,
uint32_t  goal 
)

Change the cargo goal of a town.

Parameters
flagsType of operation.
town_idTown ID to cargo game of.
taeTownEffect to change the game of.
goalThe new goal value.
Returns
Empty cost or an error.

Definition at line 3042 of file town_cmd.cpp.

References _current_company, CMD_ERROR, DC_EXEC, FindFirstCargoWithTownAcceptanceEffect(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_town_pool >::GetIfValid(), Town::goal, InvalidateWindowData(), OWNER_DEITY, TAE_END, UpdateTownGrowth(), and WC_TOWN_VIEW.

◆ CmdTownGrowthRate()

CommandCost CmdTownGrowthRate ( DoCommandFlag  flags,
TownID  town_id,
uint16_t  growth_rate 
)

Change the growth rate of the town.

Parameters
flagsType of operation.
town_idTown ID to cargo game of.
growth_rateAmount of days between growth, or TOWN_GROWTH_RATE_NONE, or 0 to reset custom growth rate.
Returns
Empty cost or an error.

Definition at line 3093 of file town_cmd.cpp.

◆ CmdTownRating()

CommandCost CmdTownRating ( DoCommandFlag  flags,
TownID  town_id,
CompanyID  company_id,
int16_t  rating 
)

Change the rating of a company in a town.

Parameters
flagsType of operation.
town_idTown ID to change, bit 16..23 =
company_idCompany ID to change.
ratingNew rating of company (signed int16_t).
Returns
Empty cost or an error.

Definition at line 3131 of file town_cmd.cpp.

References _current_company, Clamp(), CMD_ERROR, Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_town_pool >::GetIfValid(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_company_pool >::IsValidID(), and OWNER_DEITY.

◆ CmdTownSetText()

CommandCost CmdTownSetText ( DoCommandFlag  flags,
TownID  town_id,
const std::string &  text 
)

Set a custom text in the Town window.

Parameters
flagsType of operation.
town_idTown ID to change the text of.
textThe new text (empty to remove the text).
Returns
Empty cost or an error.

Definition at line 3071 of file town_cmd.cpp.

References _current_company, CMD_ERROR, DC_EXEC, Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_town_pool >::GetIfValid(), InvalidateWindowData(), OWNER_DEITY, Town::text, and WC_TOWN_VIEW.