Modpack UI icon

This page partially describes the contents of a ruleset collection. It is intended as developer reference and for people wanting to create/compile alternative rulesets for Freeciv.

The anatomy of a cities ruleset file[]



A specialist is a city citizen who is not a tile worker. Usually the player can control what specialist each citizen is, so long as the requirements for that specialist are met.

Below are the entries for the specialists, one per specialist type. The tag name (in [specialist_*]) doesn't matter so long as it's unique. First defined specialist type without any requirements will become the default specialist (citizens convert to it when you remove a worker from a tile or add a unit to a city), thus at least one specialist type must have no requirements. For each specialist the following fields may be set:

Attribute Example Content Explanation
name = _("Entertainers") translatable (plural) name as seen by user
rule_name = "elvis" (optional) internal name for savegames, rulesets etc; if not present, "name" is used for this purpose too. Since the name used in savegames must not change, if you want to rename an item after a ruleset has been released, you should set "rule_name" to the original value of "name".
short_name = _("?Elvis:E") one-character "short name" used (for instance) in cityrep; should be first character/abbrevation of "name"
reqs = {
"type", "name", "range"
"MinSize", "5", "City"
requirements to have the specialist pick (see effects.ruleset and README.effects for help on requirements)
helptext = _("\

Each entertainer produces two luxury points for their city per turn. \ See the section on Happiness for the effects of luxury points.\ ")

optional help text string; should escape all raw newlines so that xgettext parsing works


Attribute Example Content Explanation
add_to_size_limit = 8 cities larger than this cannot be added to by units with 'add to population'
angry_citizens = TRUE set to FALSE to disable angry citizens
celebrate_size_limit = 3 cities smaller than this cannot celebrate
changable_tax = TRUE set to FALSE to disallow changing of tax rates
forced_science = 0 set these fields when changeable_tax is turned off
forced_luxury = 100 set these fields when changeable_tax is turned off
forced_gold = 0 set these fields when changeable_tax is turned off
vision_reveal_tiles = FALSE civ1 & 2 default FALSE (?)
pop_report_zeroes = 4 Base Population in reports multiplied by 10 ^ X power (tens of thousands by default)


Attribute Example Content Explanation
nationality = FALSE account for the nationality of the citizens
convert_speed = 50 base probability per mille 50/1000 -> once every 20 turns
partisans_pct = 0 percentage of own nationality to inspire partisans if 0, original city owner information is used instead

See also[]

Editing Rulesets
Editing BuildingsEditing CitiesEditing EffectsEditing GameEditing Governments
Editing NationsEditing StylesEditing TechsEditing TerrainEditing Units