v50 Steam/Premium information for editors
  • v50 information can now be added to pages in the main namespace. v0.47 information can still be found in the DF2014 namespace. See here for more details on the new versioning policy.
  • Use this page to report any issues related to the migration.
This notice may be cached—the current version can be found here.

Variable positions

From Dwarf Fortress Wiki
Jump to navigation Jump to search


This page documents the variable positions that entities create when neccesary. This is - in vanilla - the case for human and goblin civilizations, but also for merchants' guilds, mercenary groups, religious groups and criminals.

Introduction

Initially none of the positions marked as variable do exist for an entity. The positions will only exist for a given entity, if they are either created during world-gen, world activities(?) or by memory hacking or scripting (ie. with Lua). Ie. in vanilla all human civilizations have at the beginning of the world-generation no positions at all, neither on the site nor civ level, as all positions of the vanilla human civs are marked as variable (variable positions: all). When a variable (civ level) position is created, the position is only created for that civilization (entity) and not for any other entities of the same type. Ie. the creation of a law-giver for one human civ does not create law-givers for other human civs.

Also presumably all site-level positions for each entity are created on a per site basis, meaning the creation of a site ruler for one site (of a civ) does not also create the site ruler positions for any other site (of that civ).

The existence of a variable position does not mean that the position will also be filled by a historical figure. But during world-gen the creation of a position will usually be followed up with the position being filled. Ie. the human historical figure who forced the creation of a law-giver position, will usually become the first law-giver.

For the succession rules of a variable position (after the position has been initially filled by a historical figure), presumably, the same rules as for non-variable positions apply.

(Disclaimer: The following only applies during world-gen and normal world activities. Scripting and memory hacking can circumvent the normal limitations, but with currently unknown results).

For civ level entities, if the law-giving position is a variable position, the law-giving position does not (seem to) have any further requirements to be created (ie. no other position being already created). Ie. this position can be created by force (or popular support etc.) by any historical figure of that civ. But for all other variable (civ-level) positions the law-giving position must exist as usually the historical figure, who is the law-giver, does create the other variable positions (for various reason).

Something similar is probably the case for site level positions. Ie. if the ruler of a site is a variable position, that position needs to be created, before any other site-level variable positions can be created. And the site ruler can afterwards create other variable positions for that site. It is not yet clear if a site level ruling position can be created before a civ level ruling (law-giving) position is created (or exists). This also means that it should be possible, via memory-hacking or scripting, to create (and fill) the variable site level positions (for a player site), at least after the civ level law-giving position has been created (and the law-giving position has been filled), so that a human player site gets the maximum possible human site level positions (with the normal appointment rules for the succession/reappointment of the positions), without having to edit the raw files (as outlined in the human civ page), prior to creating a world, to make the variable positions of human civilisations to "static" ones.

Presumably for guilds (Merchant Guild and others), mercenary groups, religious orders (and criminals) also a "leader" position needs to be created by a historical figure, before other variable positions for that entity can be created.

General Info

So far, no restrictions on allowed_class or allowed_creature have been found and also the rejected_creature and rejected_class entries are always empty. Squad_size has so far been empty, except for CUSTOM_LAW_MAKER and CUSTOM_LAW_MAKER_2 where the squad_size was 20. Also most other entries (of entity_position entry under "own") not mentioned below have standard values (ie. are empty).

If the naming of a variable position is also variable, then the name has usually two parts and at least one part of the name has a few different possibilities defined (although one part might allow for an empty string, ie. name is only "chamberlain", whereas another possible name would be "high chamberlain"). For some positions that are ie. "high", "chief" and "head" for the first part (of a site variable position) or it might be "harvest" and "grain" (the later used for the official with the food supply responsibility). For some positions the list for the second part contains at least the words "administrator", "official" and "commissioner". But some variable positions have static names (fixed, possibly hardcoded and thus only ie. by raw-editing - or similiar editing after world-gen - changeable in-game displayed position names). Also in the variable naming-case a different subset of parts might be used for site government and civ government positions (ie. "royal" being reserved for civ government positions). The defined possibilities for the first and second part might be hardcoded or be defined somewhere in the raw files (investigation needed).

Variable Civilization Government Positions

If all positions of a civ are variable, then the CUSTOM_LAW_MAKER position needs to be created (in world-gen), before other positions (of the possible positions) can be created. After the creation (and filling) of the law-maker positions, the other variable positions (both CUSTOM_OFFICIALS_i and CUSTOM_MARKET_OFFICIALS_i, where i stands for a non-zero natural number) can be created in any order. These other positions are then always appointed by the law-maker of the civ. The law-maker position itself uses succession by heir.

In contrast to e.g the positions of the dwarven civilizations, where the site nobility positions (eg. baron, duke) do get added to the own position list (vector) of the civilization, the CUSTOM_LAW_MAKER (and CUSTOM_LAW_MAKER_2) positions (of a site government) are not added to the own position list (at least for civs with all variable positions). The "own" positions list (of the civ entity) only exclusively contains the variable positions of the civ, which are all created by the civ, and no positions which are the "ruler" of a site (even if the variable site position was appointed by the law maker of the civ). Also the "site" positions list is empty (or at least no entries were found so far).

The responsibilities of the CUSTOM_LAW_MAKER of a (vanilla human) civilization (all positions variable) are not fixed, but the responsibilities do seem to depend on which other civ level positions have been created. Ie. some initial responsibilities might get outsourced to a later created (civ) level position (ie. military_strategy to the custom_military_strategy position).

So far, no CUSTOM_MARKET_OFFICIAL_i positions were found on the civ level.

CUSTOM_OFFICIAL_1

So far, two different names have been found, but in contrast to the other variable (CUSTOM_OFFICIAL) positions so far, the responsibilities are not fixed. The names are "Chancellor" and "Keeper of the Seal". The responsibilities of the "Keeper of the Seal" were receive_diplomats, make_introductions and make_topic_agreements. The Chancellor additionally had espionage as responsibility.

Shared values: Standard_official_flags, standard color entry, precedence: 20; number: 1, max mandates: 2; max demands: 3 best_appointment_precedence: 30001

CUSTOM_OFFICIAL_2 (Justiciar)

Name found so far: chief justiciar. responsibilities: law_enforcement, collect_taxes precedence: 60 ; number: 1; max mandates: 2; max demands: 3; best_appointment_precedence: 30001

CUSTOM_OFFICIAL_3 (Treasurer)

Names found so far: chief/head/high treasurer. As CUSTOM_OFFICIAL_3 of a site government (only difference: appointed by position 0 of the civ).

CUSTOM_OFFICIAL_4 (Advisor)

Names found so far: chief/head advisor, chief/head/high/royal counselor. As CUSTOM_OFFICIAL_4 of a site government (only difference: appointed by position 0 of the civ).

CUSTOM_OFFICIAL_5 (Chamberlain)

Names found so far: Chamberlain, head/high chamberlain. As CUSTOM_OFFICIAL_5 of a site government (only difference: appointed by position 0 of the civ).

CUSTOM_OFFICIAL_6 (Master of Beasts)

Name always: Master of Beasts. As CUSTOM_OFFICIAL_6 of a site government (only difference: appointed by position 0 of the civ).

CUSTOM_OFFICIAL_7 (Cup-bearer)

Name found so far: chief cup-bearer. Responsibilities: manage_leader_household_food, manage_leader_household_drinks Standard_official_flags, standard color entry, precedence: 300; number: 1; no demands/mandates; best_appointment_precedence: 30001

CUSTOM_OFFICIAL_8 (Doctor)

Name found so far: head doctor. Responsibilities: health_management Standard_official_flags, standard color entry, precedence: 310; number: 1; no demands/mandates; best_appointment_precedence: 30001

CUSTOM_OFFICIAL_9 (Executioner)

Names found so far: royal/head/high/chief executioner. Otherwise as CUSTOM_OFFICIAL_9 of a site government (only difference: appointed by position 0 of the civ).

CUSTOM_OFFICIAL_10 (Chef)

Name found so far: high chef. Responsibilities: PREPARE_LEADER_MEALS Standard_official_flags, standard color entry, precedence: 330; number: 1; no demands/mandates; best_appointment_precedence: 30001

CUSTOM_OFFICIAL_11 (Housekeeper)

Names found so far: royal/chief/head/high housekeeper. Otherwise as CUSTOM_OFFICIAL_11 of a site government (only difference: appointed by position 0 of the civ).

CUSTOM_MILITARY_STRATEGY (Marshall)

Name found so far: Marshall. responsibilities: military strategy standard color entry. precedence: 50; number: 1; max mandates: 2; max demands: 3; best_appointment_precedence: 30001 Flags (additionally to standard_official_flags): flashes, brag_on_kill, chat_worthy, kill_quest, account_exempt, punishment_exemption, quest_giver, special_burial.

Variable Site Government Positions

If all positions of a civ (and with that of a site government) are variable, then the CUSTOM_LAW_MAKER position for the site government needs to be created (in world-gen), before other positions (of the possible positions) can be created. The initial CUSTOM_LAW_MAKER positions is normally not appointed by the law-giver of the civilization and in thtat case the historical figure occupying it is called "lord" (if male) and "lady" (if female). Only in the rare cases, where the CUSTOM_LAW_MAKER was appointed by the law-giver of the civ, the CUSTOM_LAW_MAKER is called "baron" instead (and no CUSTOM_LAW_MAKER_2 position will be created later on). If a law-giver of the civilization exists, then the lord of a site (leader of a site government) can be replaced by a CUSTOM_LAW_MAKER_2. The law-giver of the civilization appoints the CUSTOM_LAW_MAKER_2. The CUSTOM_LAW_MAKER_2 is (at least in case of the so far checked human civ) always called baron (if male) or baronness (if female). If a CUSTOM_LAW_MAKER_2 position has been created the flag "active" (of the original CUSTOM_LAW_MAKER position) is set to false and the flag "has_been_replaced" is set to true. The position of the CUSTOM_LAW_MAKER is always the next_position_id of the civ (either at the time of creation of the CUSTOM_LAW_MAKER position for the site or the time of creation of the site government). The creation of a variable position (for a site government) always increments the next_position_id by 1 (and also increases next_assignment_id by 1, which is always on creation of an entity with all variable positions and thus no positions existing on creation of the entity initialized to 0).

Regardless of whether a lord/lady has been upgraded to a baron/baroness other variable positions (both CUSTOM_OFFICIALS_i and CUSTOM_MARKET_OFFICIALS_i, where i stands for a non-zero natural number) can be created in any order. These other positions are then always appointed by the lord (or baron) of the site. In case the position has been created before a lord has been upgraded to a baron the appointed_by and appointed_by_civ (in the position definition) refer to the position of the lord (and are not updated to point to the CUSTOM_LAW_MAKER_2 position, when it gets created). In case the positions are created after a lord has been elevated to a baron the appointed_by and appointed_by_civ (in the position definition) refer to the position of the baron.

NOTE (further research needed): It seems as if CUSTOM_MARKET_OFFICIAL_I can only be created if the site (ruled by the site government) has a market (abstract_building_marketst). It is not clear whether an additional prerequisite for the upgrading to the CUSTOM_LAW_MAKER_2 exists, ie. if the ruled site does need to have a keep (abstract_building_keepst). Furthermore so far it seems that only CUSTOM_OFFICIAL_I can be created for a site, if the civ has also (already) created the CUSTOM_OFFICIAL_I position.

Note: The historical figure currently holding the position of a CUSTOM_LAW_MAKER (or CUSTOM_LAW_MAKER_2) of a site government has (often/usually) under histfig_site_links an entry of the type histfig_site_link_seat_of_powerst (which points to the site belonging to the site government, ie. "site" has the id of the site and "entity" has the id of the entity as values).

(Note: the following subsections might need moving into a wiki table). So far the following CUSTOM_OFFICIAL_i and CUSTOM_MARKET_OFFICIAL_i (for site governments) have been found (except for the position_id, appointed_by, appointed_by_civ and name entries the values for CUSTOM_OFFICIAL_i are usually the same for civ positions and site government positions):

CUSTOM_OFFICIAL_1 (Chancellor/Keeper of the Seal)

The name is variable. Both Chancellor and Keeper of the Seal are used, with a possible additional word from the list "high", "head" and "chief" as prefix, ie. "high chancellor" or "chief keeper of the seal". Only responsibility is espionage, the additional responsibilities of the Chancellor/Keeper of the Seal are lost (ie. still performed by the Lord/Baron of the site and not outsourced to the chancellor). The rest is as the CUSTOM_OFFICIAL_1 of the civ.

CUSTOM_OFFICIAL_2 (Justiciar)

The name is "justiciar", allthough an additional word as prefix has so far only been found on the civ level, it can be assumed that "high", "head" and "chief" are possible prefix words. Difference to CUSTOM_OFFICIAL_2 on the civ level (except for the standard differences): Only responsibility: Collect taxes. Meaning law enforcement is still performed by the CUSTOM_LAW_MAKER (CUSTOM_LAW_MAKER_2) of the site government.

CUSTOM_OFFICIAL_3 (treasurer)

The name is variable. Always the word "treasurer" is used, with "high", "chief" or "head" as prefix. The other entries of the CUSTOM_OFFICIAL_3 are fixed (except the position_id, appointed_by and appointed_by_civ entries - see above). The responsibilities are trade and accounting. precedence: 70; number: 1; mandates (max): 1; demands (max): 2; best_appointment_precedence: 30001 (disclaimer: needs verification, whether this is only the case for the specific world or a general hard-coded value). standard custom official flags, which means: "duty_bound", "has_responsibilities", "do_not_cull", "has_met_pop_req", "color", "menial_work_exemption", "has_received_positions", "active" and "has_met_market_req" set to true. standard color entry, which means 0: 5, 1: 0 and 2: 1 (number before the ":" is the index and the number after the ":" is the actual value).

CUSTOM_OFFICIAL_4 (advisor)

The name is variable. The second part of the name is either "counselor" or "advisor". The first part is one of "chief", "head" and "high". The other entries of the CUSTOM_OFFICIAL_4 are fixed (except the position_id, appointed_by and appointed_by_civ entries - see above). The responsibilites is advise_leaders. precedence: 55; number: 1; mandates (max): 1; demands (max): 2; best_appointment_precedence: 30001 standard custom official flags and standard color entry.

CUSTOM_OFFICIAL_5 (Chamberlain)

The name is variable. Always the word "Chamberlain" is used, either without prefix or one of the words "chief", "head" and "high" as prefix. Responsibility: Oversee_leader_household precedence: 80; number: 1; demand (max): 1 best_appointment_precedence: 30001 standard custom official flags and standard color entry.

CUSTOM_OFFICIAL_6 (Master of beasts)

The name is fixed: "master of beasts" (no "beast tamer" or any other names as alternative). The responsibilities are manage_animals and tame_exotics. Again the entries, except position_id and appointed_by and appointed_by_civ entries, are fixed. precedence: 90; number: 1; mandates (max): 0; demands (max): 1; best_appointment_precedence: 30001 standard custom official flags and standard color entry.

CUSTOM_OFFICIAL_7 (Butler/Cup-bearer)

The name is variable. The second part of the name is either "butler" or "cup-bearer". The first part is any of "high", "head" and "chief". Rest as the civ case.

CUSTOM_OFFICIAL_8 (Doctor)

The name is variable. Always the word "doctor" is used, with either no prefix or with one of "high", "head" and "chief". Rest as the civ case.

CUSTOM_OFFICIAL_9 (Executioner)

The name is variable. Always the word "executioner" is used, with either "chief", "head" or "head" as prefix. The other entries are fixed (except for the usual exceptions). The responsibilities are, unsurprisingly, executions. precedence: 320; number: 1; no mandates or demands best_appointment_precedence: 30001 standard custom official flags and standard color entry.

CUSTOM_OFFICIAL_10 (Chef)

The name is variable. Always the word "chef" is used, with either "chief", "head" or "head" as prefix. Rest as the civ case.

CUSTOM_OFFICIAL_11 (Housekeeper)

The name is variable. Always the word "housekeeper" is used, with either "chief", "head" or "head" as prefix. The other entries are fixed (except for the usual exceptions). Responsibility: Cleaning ("MANAGE_LEADER_HOUSEHOLD_CLEANLINESS"). precedence: 340; number: 1; no mandates or demands best_appointment_precedence: 30001 standard custom official flags and standard color entry.

CUSTOM_MARKET_OFFICIAL_2 (Food Administrator)

The name is variable. The name seems to be generated by "grain" or "harvest" as first word and one of the words of "commissioner", "caretaker", "official" and "administrator" as second word, ie. harvest caretaker. Responsibility: food_supply precedence: 450; number: 1; demand (max): 1 best_appointment_precedence: 30001 standard custom official flags and standard color entry.

CUSTOM_MARKET_OFFICIAL_3 ((Unneeded) Fire Safety)

The name is variable. The first word of the name seems to be always "fire" and the second word seems to be one of "administrator", "official" and "commissioner", allthough not found also "caretaker" might belong to the list (allthough fire caretaker might sound strange). Responsibility: fire_safety precedence: 475; number: 1; no mandates or demands best_appointment_precedence: 30001 standard custom official flags and standard color entry.

CUSTOM_MARKET_OFFICIAL_4 (Judge)

The name is variable, allthough either judge or magistrate seems to be used as name. precedence: 350, number: 1, standard_color_entry, standard_official_flags, responsibility: judge demand (max): 1 best_appointment_precedence: 30001

CUSTOM_MARKET_OFFICIAL_5 ((Unneeded) Building Commissioners)

The name is variable. First word of name is "building" and second word one of administrator, official, commissioner and caretaker. Responsibilities: building_safety and construction_permits. precedence: 460; number: 1; demand (max): 1 best_appointment_precedence: 30001 standard custom official flags and standard color entry.

CUSTOM_MARKET_OFFICIAL_6 (Road Caretaker)

The name is variable. First word of name is "road" and the second word one of "administrator", "commissioner", "caretaker" (and possible "official"). Responsibility: maintain_roads, maintain_bridges and surprisingly maintain_tunnels. precedence: 375; number: 1; demand (max): 1 best_appointment_precedence: 30001 standard custom official flags and standard color entry.

Religious Entities

Some religious entities, which are considered "child"-entities of civilizations (no religious entity which was not a "child" of a civ entity has been found so far), also have variable positions. If a religious entity rules a site (always monastery?), then the only variable position (of that entity) seems to be the CUSTOM_LAW_MAKER and the name of the position seems to be always "abbot". Otherwise the variable positions PRIEST, HIGH_PRIEST and HIGHEST_PRIEST can be created for that religious entity, where any such entity, if it has a position, will always have the PRIEST as position. Afterwards, the position HIGH_PRIEST can be created and at last - after the HIGH_PRIEST was created - the HIGHEST_PRIEST can be created. The names of these position are randomly created (more about the name generation is currently out-of-scope, ie. why a PRIEST might be called "sacred squid", "holy burial", "sacred rumor", "holy lemon" or "sacred paper" is out-of-scope at least for this wiki-article). The prerequisite for the creation of such religious entities (which do not rule a site) seems to be the existence of a temple in an associated site (ruled over by a site government of the civ).

Nomadic Entities (Bandits)

Nomadic entities are usually some kind of bandit groups. The only position they seem to be able to get is the CUSTOM_BANDIT_LEADER, with such illustrous names as Boss, Captain, Chief, Chieftain, Commander, Leader, Master, Overlord, Ringleader or Warlord (and possibly even some more). The CUSTOM_BANDIT_LEADER always has a squad_size of 20 and a precedence of 55. Also no succession is defined. The flags, which are set to true are: is_law_maker, elected, duty_bound, has_responsibilities, flashes, brag_on_kill, chat_worthy, do_not_cull, kill_quest, is_leader, account_exempt, has_met_pop_req, menial_work_exemption, punishment_exemption, has_received_positions, quest_giver and has_met_market_req (and usually also active). Responsibilities are law_making, law_enforcement, receive_diplomats, make_introductions, make_peace_agreements, make_topic_agreements, military_goals and military_strategy. Also the standard color entry is used. And the bandit leader has max mandates 1 and max demands 2. And as always the best_appointment_precedence is 30001. The squad members are always named soldiers (and not bandits).

Sources to process

See spoiler-sections of those posts.

Raw tokens

The tokens that manage the creation of positions are SITE_VARIABLE_POSITIONS and VARIABLE_POSITIONS.

SITE_VARIABLE_POSITIONS allows for the creation of lords, hearthpersons, and bosses, and [VARIABLE_POSITIONS] allows creation of Law-makers.

Generated positions

The following positions can be created. Note: these should be sorted among the different group types.

  • CUSTOM_LAW_MAKER
  • CUSTOM_LAW_MAKER_2
  • CUSTOM_OUTCAST_LT
  • CUSTOM_OUTCAST_FACTOR
  • CUSTOM_COMPANY_LEADER
  • CUSTOM_COMPANY_FACTOR
  • CUSTOM_MERCENARY_LEADER
  • CUSTOM_MERCENARY_TREASURER
  • CUSTOM_BANDIT_LEADER
  • CUSTOM_MARKET_OFFICIAL_#
  • CUSTOM_OFFICIAL_#
  • CUSTOM_MILITARY_STRATEGY
  • CUSTOM_MILITARY_GOALS
  • HIGHEST_PRIEST
  • HIGH_PRIEST
  • CUSTOM_GUILD_LEADER
  • CUSTOM_GUILD_STEWARD
  • CUSTOM_GUILD_CLERK
  • CUSTOM_GUILD_ALDERPERSON
  • WORSHIP_HF

The following names can be seen given to those positions. Note: these should be sorted among the different positions.

  • lord
  • hearthperson
  • factor
  • agent
  • governor
  • lieutenant
  • representative
  • head
  • chieftain
  • warlord
  • ringleader
  • cup-bearer
  • butler
  • master of beasts
  • sewer
  • housekeeper
  • chef
  • executioner
  • chancellor
  • chief
  • chamberlain
  • captain
  • chief / chieftess
  • constable
  • royal
  • advisor
  • counselor
  • justiciar
  • keeper of the seal
  • law-giver
  • baron
  • marshal
  • war leader
  • most high priest
  • absolute X
  • most exalted X
  • most high X
  • most holy X
  • most sacred X
  • treasurer
  • recordkeeper
  • clerk
  • bookkeeper
  • doyen / doyenne
  • dean
  • steward
  • alderperson
  • X administrator
  • X official (like grain official)
  • X officials
  • X commissioner
  • X commissioners
  • X caretakers
  • judge
  • justices
  • magistrate
  • abbot