The code for making characters belong to specific factions makes use of two files in data/config/chatter:
This is a list of faction IDs and string tags for categorization: For instance:
- hegemony: military
- tritachyon: corporate
- luddic_path: free,criminal,christian
If a faction has no tags, it can use any character for which it is not explicitly forbidden in character_factions.csv.
This defines which characters are allowed for which factions. The first column is character ID, all the rest are tags or faction IDs. A cell can have three values:
- 0: This faction is normally disabled for that character, but allowed if the faction has one or more tags for which the character is allowed. For a tag cell, this means the character will not be used for factions of that tag.
- 1: For a faction ID, allow the character for this faction (regardless of tags). For a tag, this character can be used for factions with this tag.
- -1: For a faction ID, disallow the character for this faction (regardless of tags). A tag with -1 means this character cannot be used for factions with this tag, even if other tags are compatible.
A character not listed in this file can be used for any faction.
Determining faction of ship
- For ships with officers, use the officer faction.
- Player-recruited mercenary officers have their faction set to the faction that owned the market when the player docked with the market (this is only done once per officer).
- In missions, guess the faction from the ship name prefix, or the internal hull type ID if that fails.