Skip to main content

Module world

Module world 

Source
Expand description

World stage of the startpos build: the content of CAMPAIGN_MODEL/WORLD (factions, characters, armies, regions, provinces and sea regions) derived from the start_pos_* tables, the game tables and the map.

The rules were reverse-engineered from game-built startposes of Attila’s main campaign. The generators here return keys and table values, not the startpos’s runtime ids: ids are global counters assigned when the records are written. Where the game draws from its RNG or stores hash-ordered lists, the generators make a deterministic choice that gives a compatible startpos.

§Submodules

  • agents: agent abilities, attributes, skill sets and recruitment pools.
  • availability: the building chains each faction can have.
  • bodyguards: the default general unit of each faction.
  • calendar: the campaign’s start date and turns per year.
  • characters: per-character values (birth year, loyalty, faction leader, map position).
  • diplomacy: diplomatic relationships between factions.
  • factions: per-faction values (capital, subjects, victory regions, flags and colours…).
  • garrisons: the garrison army and navy of each settlement.
  • government: government posts and political parties.
  • legacy: army legacies (names, emblems, numbering).
  • pools: mercenary and levy pools.
  • provinces: per-faction province managers and sea regions.
  • rebels: the rebel setup of each region.
  • writer: the writer of the WORLD record, from the generators above and the record layouts.

Modules§

agents
Agent data of characters and factions: abilities (CHARACTER_DETAILS/AGENT_ABILITIES), attributes (AGENT_ATTRIBUTES), skill sets and starting skills (CAMPAIGN_SKILLS) and the agent types of the recruitment pools (FACTION/CHARACTER_RECRUITMENT_POOL_MANAGER).
availability
Building chains a faction can have (building_chain_availabilities). The game drops the starting buildings of a settlement whose chain its owner can’t have.
bodyguards
Default bodyguard unit of each faction (CHARACTER_DETAILS/GENERAL_BODYGUARD_DETAILS).
calendar
The calendar of a campaign (start_pos_calendars).
characters
Per-character values of the CHARACTER record that come from the tables: birth year, loyalty and where the character starts on the map.
diplomacy
Diplomatic relationships between factions (FACTION/OLD_DIPLOMACY_MANAGER).
factions
Per-faction values of the FACTION record that come from the tables: flags and colours (FACTION_FLAG_AND_COLOURS), capital, owned regions, victory regions, overlord and subjects, horde state and progenitor.
garrisons
Garrisons of the settlements (REGION/SETTLEMENT/GARRISON_RESIDENCE #8 army, #9 navy).
government
Government of each faction: its posts (FACTION/GOVERNMENT/CHARACTER_POSTS), its political parties (FACTION/CAMPAIGN_POLITICS) and its leader.
legacy
Army legacies (MILITARY_FORCE/MILITARY_FORCE_LEGACY): the name, kind, emblem and number of each force.
pools
Mercenary pools (FACTION/FACTION_MERCENARY_POOL, PROVINCE/PROVINCE_MERCENARY_POOL) and levy pools (FACTION/LEVY_MERCENARY_MANAGER).
provinces
Per-faction managers of provinces (PROVINCE/FACTION_PROVINCE_MANAGER_ARRAY) and sea regions (WORLD/SEA_REGION_MANAGER).
rebels
Rebel setup of each region (REGION/REGION_REBEL_MANAGER/REBEL_SETUP).
writer
Writer of the WORLD record of a startpos.

Structs§

CampaignIndex
The start_pos_* rows of one campaign, with their references resolved to keys.
CharacterEntry
A character of the campaign (start_pos_characters).
FactionEntry
A faction of the campaign (start_pos_factions plus its factions and cultures_subcultures data).
RegionEntry
A region of the campaign (start_pos_regions).
SettlementEntry
A settlement of the campaign (start_pos_settlements).

Constants§

NAME_COLUMNS
start_pos_characters name columns, by the kind the startpos stores with each name. A name’s kind must be its names.type.