-
Notifications
You must be signed in to change notification settings - Fork 23
FactionConfig
L.J. Lim edited this page Feb 20, 2023
·
6 revisions
This page documents the various faction config tags.
- Boolean (default false)
- Prints a warning message if faction is not marked as compatible with non-random sector (does not affect behavior)
- String (default "")
- Used in new game dialog; you can write "hard" or "easy" here, for instance
- Boolean (default true)
- Set to false to make this faction disabled by default in random sector (no effect in non-random sector)
- Boolean (default false)
- If true, doesn't spawn markets in random sector mode
- String (default null)
- Use to display a tooltip for your faction in new game dialog).
- Boolean (default true)
- Set to false if faction is not playable (e.g. independents). Faction will not be checked for victory.
- Boolean (default
playableFaction) - Is this faction selectable in a new game?
- String
- If specified, transfer from the config's faction to faction
spawnAsFactionIdafter new game commences- Example use case: Start as Lion's Guard and get LG ships, be assigned to Sindrian Diktat to actually play the game with
- Boolean (default false)
- Object (default {})
- Specify a table of other factions and their starting relationships with the config faction (ranges from -1 to 1). Overriden by the random starting relationships option. Only applied in random sector, except when
useConfigRelationshipsInNonRandomSectoris set.
- Object (default {})
- Specify a table of other factions and their minimum/maximum relationships with the config faction (ranges from -1 to 1). Can be disabled in
exerelin_config.json. - If two configs have conflicting values, the one that gets applied is undefined.
- Object (default {})
- Specify a table of other factions and their minimum/maximum relationships with the config faction (ranges from -1 to 1). Can be disabled in
exerelin_config.json. - If two configs have conflicting values, it uses the one further from 1.
- Integer (0-3)
- If enabled, make this faction hostile to others at start (including with random start relationships). Does not affect Corvus mode.
- 1 = inhospitable to followers faction, hostile to everyone else
- 2 = hostile to everyone
- 3 = vengeful to everyone
- Boolean (default false)
- Makes this faction neutral to pirate factions (see
pirateFaction) at start. Does not affect Corvus mode.
- Boolean (default false)
- Marks this faction as a pirate faction.
- This has certain diplomacy implications (defaults to hostile to non-pirates, etc.)
- Pirate factions do not count for victory by default (unless the player is a member). This can be modified in
exerelin_config.json.
- Boolean (default false)
- Ignore this faction when randomizing faction relationships at game start.
- Boolean (default false)
- Player's relationship with this faction, and the player's commissioning faction's relationship with this faction, will not be synced.
- String (default
neutral) - Available values are
good,neutral,amoral,evil - Affects which commodities faction wants for stabilization package; currently does nothing otherwise
- Object (default all values zero)
- Available alignments are
corporate,technocratic,militarist,diplomatic,ideological - Determines compatibility for alliance formation (can be disabled in
exerelin_config.json)- Each alliance has an alignment
- Two factions must have at least one alignment's affinity sum to 1 to form an alliance
- A faction must have non-negative affinity with an alliance's alignment to join it
- Factions with matching alignments will have a better diplomacy disposition towards each other
- Array (default empty)
- Affects disposition of factions towards each other
- See here for information
- Array (default [])
- Start hostile to this faction. Deprecated, use
startRelationshipsinstead.
- Array (default [])
- Start welcoming to this faction. Deprecated, use
startRelationshipsinstead.
- Boolean (default false)
- Set to true to apply faction's starting relationships in non-random sector (normally a mod would apply this in code)
- Boolean (default false)
- If true, this faction's markets will have the Free Market condition. Does not affect Corvus mode.
- Float (default 1)
- Weighted share of the number of markets this faction gets in random generation mode.
- Array
- Each entry is an Object containing sub-objects:
- ids (Array)
- Specify the industry IDs for this station type, one for each level
- weight (Float) (default 1)
- Chance of this station type being picked for a particular market
- ids (Array)
- Array
- This specifies industries that will always be added to your faction at the start of the game, when in random sector mode
- Each entry is an Object containing sub-objects:
- id (String)
- Industry ID to add
- mult (Float)
- Number of industries added = this × number of markets
- roundUp (boolean) (default true)
- Specifies whether to round up or down the result of above multiplication for getting number of industries
- id (String)
- Object
- Each entry is a pair of industry type string and float multiplier for the chance of this industry being semi-randomly added to markets
- Industry type is as specified in
data/config/exerelin/industryClassDefs.csv, not the normal industry ID
- Industry type is as specified in
- Array
- This "bonus items" that will always be added to your faction at the start of the game, when in random sector mode
- Each entry is an Object containing sub-objects:
- id (String)
- Bonus type to add
- count (Integer)
- Number of bonuses to add, on top of mult
- mult (Float)
- Number of bonuses added = this × number of markets
- id (String)
- See
data/config/exerelin/industry_bonuses.csvfor list of available bonuses
- Float (default 1.0)
- Boolean (default true)
- If false, invasions are replaced by raids
- String
- Currently only used for generating special forces fleets, see "Special forces" section
- Map (default null)
- Used for miscellaneous ground battle configuration, normally you don't need to set this
- Boolean (default false)
- If true, only invades to retake planets or stations lost to another faction
- Float (default 0)
- Bonus/penalty fraction for marine rolls during invasions
- Float (default 0)
- Bonus/penalty fraction for invasion/response fleet size
- Float (default 1)
- Multiplier for accumulating invasion points (launch invasion fleet when filled)
- Array (default empty)
- List ship variants that will be present in mining fleets
- Boolean (default false)
- If true, will allow functionality like mod's Remnant raids
TBD
Available name tags are:
asteroidMiningFleetName-
gasMiningFleetName(unused) invasionFleetNameinvasionSupportFleetNameresponseFleetNamedefenceFleetNamesuppressionFleetNamestationName
- Float (default 0)
- Weighting for when the game picks a random faction to found a new colony.
- Float (default 18)
- After the game picks a random existing faction market to launch the colony expedition from, valid targets must be within this many light-years of the origin market.
- String (default
"exerelin.campaign.colony.ColonyTargetValuator") - Code to decide which colonization target is the most desirable. Other defaults available are
IndustrialColonyTargetValuatorandLuddicColonyTargetValuator, or the mod can define its own.
- Boolean (default false)
- If true, faction will not receive a planet that has the "homeworld" features in random sector
Tags that control the special task groups.
- Integer (default 2)
- Float (default 1)
- Multiplier for how quickly the faction generates spawning points for STGs.
- Float (default 1)
- String (default
exerelin.campaign.intel.specialforces.namer.CommanderNamer) - Can define a custom Java class to generate the name of the task group.
- Array (default null)
- Specify variants here to enforce their use as flagships for a special task group.
The use of the name values is best illustrated by the following example for Luddic Church:
"vengeanceLevelNames":["Excommunication", "Interdiction", "Jihad"],
"vengeanceFleetNames":["Evangelists", "Inquisition", "Crusade"],
"vengeanceFleetNamesSingle":["Evangelists", "an Inquisition", "a Crusade Fleet"],- Array (default empty)
- The length of this list determines how high the vengeance level can go. If list is not provided, max level defaults to 2.
- Array (default empty)
- Should have same length as vengeanceLevelNames
- Array (default empty)
- Entries should be a singular form of the names in
vengeanceFleetNames
- Float (default 1)
- Array (default empty)
- List entity IDs for space stations the faction should use here
- Boolean (default false)
- Use the faction's short name in game start faction picker and faction directory
- Boolean (default true)
- If true, faction will not drop prisoners or lootable crew after battle
- Boolean (default false)
- Blocks the faction from being picked for various missions (e.g. those given by contacts)
- Boolean (default false)
- If true, does not generate a contact for player when starting with this faction
- Boolean (default false)
- If true, faction will not be removed from the intel screen when eliminated or absent
- Use this for factions that have a presence in the campaign even when they have no markets (e.g. pirates)
- Array (default null)
- Set to specify which commodities the faction's officials want to receive as stabilization assistance
- Normally this is supplies and food for "good" or "neutral" factions, supplies and heavy armaments for "amoral" and "evil" factions
- Array
- Will place special items in player cargo at start.
- Each entry is an array of arrays (so 3 levels of arrays in total).
- The deepest array has 2 String elements: special item ID (e.g.
"midline_package") and data (usually empty string, but can specify the hull/wing/weapon/ ID of a specific item blueprint). - Multiple level 3 arrays can be stored in a level 2 array. One item from each level 2 array will be picked at start.
- The deepest array has 2 String elements: special item ID (e.g.
- Boolean (default true)
- If false, this faction cannot be targeted for agent/prisoner actions (including by the player).