Faction Configuration
The Faction configuration files act as relays for the GameObject race ODF command. These files define global attributes for anything that belongs to a faction (as defined by "name") and act as the default for some values if they are not specified elsewhere.
Table of Contents
- Stock Configuration ODF Commands
- name
- displayKey
- instantActionSlot
- canPlayColonizePlanets
- canPlayCollectLatinum
- canPlayCaptureTheFlag
- officerRes
- officerTooltip
- officerVerboseTooltip
- creationLabel
- recycledLabel
- interfaceConfiguration
- interfaceSprites
- singlePlayerMusic
- multiPlayerMusic
- repairStrength
- boardingStrength
- maxOfficerMultiplier
- retreatStrength
- crewRetreatRatio
- crewAccumulationRate
- planetCrewAccumulationModifier
- crewYellowStatus
- crewRedStatus
- repairYellow
- repairRed
- weaponYellow
- weaponRed
- standardUnitsX
- minimalUnitsX
- superUnitsX
- transportToFriendsOnNotEasy
- transportToEnemyOnHard
- canCommandeer
- canBeCommandeered
- affectedByPsionicInsanity
- miningRateModifier
- canTrade
- insufficientOfficersEvent
- normalDilithium
- normalLatinum
- normalMetal
- normalBiomatter
- normalCrew
- lotsDilithium
- lotsLatinum
- lotsMetal
- lotsBiomatter
- lotsCrew
- recycleDilithiumFraction
- recycleMetalFraction
- transportSprite
- Fleet Operations Configuration ODF Commands
Stock Configuration ODF Commands
name
String, Default: "unknown" - causes a crash
The name used to refer to the faction in the code and scripts. This serves as a relay for the GameObject race ODF command to determine which of the other Faction configuration ODF commands apply.
name = "species8472"
Note that the game uses this label to directly determine which sound effect to call in only two instances:
{faction-name}_rollover.sound file extension //When the cursor is moved over a button while playing as this faction
{faction-name}_click.sound file extension //When a button is clicked while playing as this faction
displayKey
String, Default: name ODF command
The name displayed in the interface for this faction (either when starting a multiplayer or instant action game or while in-game). Dynamic_Localized_Strings.h file can be used to save space and store longer tooltips.
displaykey = "GUI_RD_8472"
instantActionSlot
Integer, Default: -1
The Instant Action and Multiplayer slot that the faction appears in. The value of the integer determines the order of the factions in the drop down panels of the Game Setup menu.
Positive integers must begin with 0 and cannot skip any values or the game will crash.
A negative integer is unselectable by the Player.
Note that although in Instant Action it is possible to select and play as an unlimited number of factions, in Multiplayer this is not the case. Armada is currently hardcoded to support only 8 playable factions in Multiplayer - any additional factions in the drop down panel will cause the player to revert back to the first 8 (in their corresponding order).
canPlayColonizePlanets
Boolean, Default: TRUE
Determines whether the faction can be used to play Colonize Planets games in multiplayer.
canPlayCollectLatinum
Boolean, Default: TRUE
Determines whether the faction can be used to play Collect Latinum games in multiplayer.
canPlayCaptureTheFlag
Boolean, Default: TRUE
Determines whether the faction can be used to play Capture the Flag games in multiplayer.
officerRes
String, Default: "GUI_CP_OFFICERS_RES"
This is the tooltip displayed when hovering over the Officer capacity icon for GameObject interfaces. The Dynamic_Localized_Strings.h file can be used to save space and store longer tooltips.
officerTooltip
String, Default: "GUI_RD_OFFICERS_TOOLTIP"
This is the tooltip displayed when hovering over the global Officer capacity icon on the Player's GUI. The Dynamic_Localized_Strings.h file can be used to save space and store longer tooltips.
officerVerboseTooltip
String, Default: "GUI_RD_OFFICERS_VTOOLTIP"
This is the longer tooltip displayed when hovering over the global Officer capacity icon on the Player's GUI. It overwrites the officerTooltip when displayed. The Dynamic_Localized_Strings.h file can be used to save space and store longer tooltips.
creationLabel
String, Default: "ADM_COMMISSIONED"
The Dynamic_Localized_Strings.h label that is displayed in the Admiral's Log if a GameObject has been constructed.
recycledLabel
String, Default: "ADM_DECOMMISSIONED"
The Dynamic_Localized_Strings.h label that is displayed in the Admiral's Log if a GameObject has been decommissioned.
interfaceConfiguration
String, Default: "gui_fed.cfg"
Determines which GUI configuration file is used for this faction. Requires file extension.
interfaceSprites
String, Default: "gui_federation.spr"
Determines which sprite file is used for this faction. Requires file extension.
singlePlayerMusic
String, Default: Null
Determines which sound file is used when playing a mission for this faction. Requires file extension.
multiPlayerMusic
String, Default: Null
Determines which sound file is used when playing Instant Action or a multiplayer game for this faction. Requires file extension.
repairStrength
Float, Default: ???
Modifies the rate at which the faction repairs damage to subsystems and hull. A larger value indicates slower repair speeds.
boardingStrength
Float, Default: 0.6667
Modifies the default strength of the faction's crew when acting as a boarding party or defending against one (1.0 = 100%). This holds true for GameObjects captured by the faction as well.
maxOfficerMultiplier
Float, Default: 1.0
Modifies the Player's global Officer capacity by this value (with Game Setup values of Restricted, Normal, More, and Max) to determine the total number of Officers available to the Player.
retreatStrength
Float, Default: ???
Determines when vessels of this faction will retreat from battle. This is the fraction of shields (if the GameObject has no shields, it is the hull fraction) that must remain before the behavior is exhibited (1.0 = 100%).
crewRetreatRatio
Float, Default: ???
Determines when vessels of this faction will retreat from battle. This is the fraction of crew that must remain before the behavior is exhibited (1.0 = 100%).
crewAccumulationRate
Float, Default: 3.0
The number of crew added to the Player's global crew resource per second per Starbase.
Note that Planets have a hardcoded base crew accumulation rate such that every 1000 civilians added to a Planet increases crew gain by 0.8.
Consequently, crewAccumulationRate * Planet base crew accumulation rate = the per Planet crew accumulation rate.
planetCrewAccumulationModifier
Float: Default: XX
The modifier for the crewAccumulationRate for a Starbase if it is close to a planet. Has no effect in Stock Armada II or Fleet Ops.
crewYellowStatus
Float, Default: 0.50
The percent at which the crew complement of the GameObjects enter yellow crew status (1.0 = 100%).
crewRedStatus
Float, Default: 0.25
The percent at which the crew complement of the GameObjects enter red crew status (1.0 = 100%).
repairYellow
Float, Default: 2.0
The multiplier for the delay for how long it takes to repair subsystem hitpoints while in yellow crew status.
repairRed
Float, Default: ~6.00
The multiplier for the delay for how long it takes to repair subsystem hitpoints while in red crew status.
weaponYellow
Float, Default: 3.00
The multiplier for the shotDelay of weapons while in yellow crew status.
weaponRed
Float, Default: 9.00
The multiplier for the shotDelay of weapons while in red crew status.
standardUnitsX
String, Default: Null
Determines which GameObjects the Player starts off with when beginning an Instant Action or multiplayer match as this faction. X must be an integer and the list must begin with 1. Requires .odf file extension.
Note that only the first 6 entries (1-6) are valid.
standardunits1 = "fed_outpostS.odf"
minimalUnitsX
String, Default: Null
Determines which GameObjects the Player starts off with when beginning an Instant Action or multiplayer match as this faction, with the Minimal Units game mode selected. X must be an integer and the list must begin with 1. Requires .odf file extension.
This game-mode is currently disabled in A2/FO and will be brought back later.
superUnitsX
String, Default: Null
Determines which GameObjects the Player starts off with when beginning an Instant Action or multiplayer match as this faction, with the Super Units game mode selected. X must be an integer and the list must begin with 1. Requires .odf file extension.
This game-mode is currently disabled in A2/FO and will be brought back later.
transportToFriendsOnNotEasy
Boolean, Default: TRUE
When set to false (0), the AI will initiate transporting actions to friendly GameObjects when the game difficulty is not at its minimum level.
transportToEnemyOnHard
Boolean, Default: TRUE
When set to false (0), the AI will initiate transporting actions to enemy GameObjects when the game difficulty is at its maximum level.
canCommandeer
Boolean, Default: TRUE
When set to false (0), this faction cannot capture GameObjects from other Teams (the GameObjects are made invalid). The command does not affect boarding from the same Team.
This command disables the cursor and effects when attempting to use Assault and normal transporting, as well as the KlingonCommandoTeam, Unibeam, Unitorpedo, BorgBore (note it can still be used by the Special Weapons Autonomy however), and HoldingBeam Ordnances on these invalid GameObjects.
canBeCommandeered
Boolean, Default: TRUE
When set to false (0), this faction's GameObjects cannot be captured by other Teams or boarded by the same Team.
This command disables the cursor and effects when attempting to use Assault and normal transporting, as well as the KlingonCommandoTeam, Unibeam, Unitorpedo, BorgBore (note it can still be used by the Special Weapons Autonomy however), and HoldingBeam Ordnances on these invalid GameObjects.
affectedByPsionicInsanity
Boolean, Default: TRUE
When set to false (0), this faction's GameObjects (as determined by the GameObject race ODF command, not captured units) are not affected by the PsionicInsanity Ordnance.
miningRateModifier
Float, Default: 1.0
Modifies the speed at which resources are mined by GameObjects (1.0 = 100%).
canTrade
Boolean, Default: TRUE
When set to false (0) the faction cannot use TradingStations to purchase or sell resources (the Trade menu and nested commands are hidden). The CargoShips's Trade Menu and nested commands are also hidden and unuseable.
insufficientOfficersEvent
String, Default: Null
The event that is played when the Player has insufficient Officers to build a particular GameObject.
normalDilithium
Integer, Default: RTS_CFG.h int STARTING_DILITHIUM
Determines the amount of dilithium the faction begins with on Normal resource settings (from the Game Setup menu).
normalLatinum
Integer, Default: RTS_CFG.h int STARTING_LATINUM
Determines the amount of latinum the faction begins with on Normal resource settings (selected from the Game Setup menu).
normalMetal
Integer, Default: RTS_CFG.h int STARTING_METAL
Determines the amount of metal the faction begins with on Normal resource settings (selected from the Game Setup menu).
normalBiomatter
Integer, Default: RTS_CFG.h int STARTING_BIOMATTER
Determines the amount of biomatter the faction begins with on Normal resource settings (selected from the Game Setup menu).
normalCrew
Integer, Default: RTS_CFG.h int STARTING_CREW
Determines the amount of crew the faction begins with on Normal resource settings (selected from the Game Setup menu).
lotsDilithium
Integer, Default: RTS_CFG.h int STARTING_DILITHIUM
Determines the amount of dilithium the faction begins with on Double/Lots resource settings (selected from the Game Setup menu).
lotsLatinum
Integer, Default: RTS_CFG.h int STARTING_LATINUM
Determines the amount of latinum the faction begins with on Double/Lots resource settings (selected from the Game Setup menu).
lotsMetal
Integer, Default: RTS_CFG.h int STARTING_METAL
Determines the amount of metal the faction begins with on Double/Lots resource settings (selected from the Game Setup menu).
lotsBiomatter
Integer, Default: RTS_CFG.h int STARTING_BIOMATTER
Determines the amount of biomatter the faction begins with on Double/Lots resource settings (selected from the Game Setup menu).
lotsCrew
Integer, Default: RTS_CFG.h int STARTING_CREW
Determines the amount of crew the faction begins with on Double/Lots resource settings (selected from the Game Setup menu).
recycleDilithiumFraction
Float, Default: see below*
The fraction of dilithium returned when a GameObject is decomissioned (1.0 = 100%).
*When no Craft recycling costs are defined (recycleDilithium, recycleMetal, recycleLatinum, and/or recycleBiomatter cannot even be present as an empty command in the ODF) recycleDilithiumFraction is used.
recycleMetalFraction
Float, Default: see below*
The fraction of metal returned when a GameObject is decomissioned (1.0 = 100%).
*When no Craft recycling costs are defined (recycleDilithium, recycleMetal, recycleLatinum, and/or recycleBiomatter cannot even be present as an empty command in the ODF) recycleMetalFraction is used.
Note recycleBiomatterFraction is in the RTS_CFG.h file.
transportSprite
String, Default: "ftransport"
Determines which texture file is used for this faction's animated transport action. File extension not required.
transportsprite = "federationtransport"
Fleet Operations Configuration ODF Commands
AIFreightersPerMoon
Integer, Default: RTS_CFG.h cfgFREIGHTERS_PER_MOON
Determines how many freighters the AI assigns per resource object in order to mine. Enhanced function with the Craft freighterSize ODF Command.
allowGiveDilithium
Boolean, Default: TRUE
When set to false (0), a Player using this faction cannot give dilithium to other allied Players using the in-game Communications Menu.
Does not affect trading via CargoShips.
allowGiveLatinum
Boolean, Default: TRUE
When set to false (0), a Player using this faction cannot give latinum to other allied Players using the in-game Communications Menu.
Does not affect trading via CargoShips.
allowGiveMetal
Boolean, Default: TRUE
When set to false (0), a Player using this faction cannot give metal to other allied Players using the in-game Communications Menu.
Does not affect trading via CargoShips.
allowGiveBiomatter
Boolean, Default: TRUE
When set to false (0), a Player using this faction cannot give biomatter to other allied Players using the in-game Communications Menu.
Does not affect trading via CargoShips.
allowGiveCrew
Boolean, Default: TRUE
When set to false (0), a Player using this faction cannot give crew to other allied Players using the in-game Communications Menu.
Does not affect trading via CargoShips.
giveToOtherRaceDilithiumRatio
Float, Defaul: 1.0
Defines the fraction of the original resources that are received when transferred from one player to another using the in-game Communications Menu (1.0 = 100%).
For example, if giveToOtherRaceDilithiumRatio = 0.5, if player 1 gives 200 dilithium to player 2, player 2 only receives 100 dilithium.
Does not affect trading via CargoShips.
giveToOtherRaceLatinumRatio
Float, Defaul: 1.0
Defines the fraction of the original resources that are received when transferred from one player to another using the in-game Communications Menu (1.0 = 100%).
Does not affect trading via CargoShips.
giveToOtherRaceMetalRatio
Float, Defaul: 1.0
Defines the fraction of the original resources that are received when transferred from one player to another using the in-game Communications Menu (1.0 = 100%).
Does not affect trading via CargoShips.
giveToOtherRaceBiomatterRatio
Float, Defaul: 1.0
Defines the fraction of the original resources that are received when transferred from one player to another using the in-game Communications Menu (1.0 = 100%).
Does not affect trading via CargoShips.
canGainXP
Boolean, Default: TRUE
When set to false (0), the Craft XPLevel ODF command is nullified. GameObjects which can rank will be unable to gain experience when playing as this faction (even if the GameObject is captured by this faction) and the rank icons will not be displayed.
preloadUnitsX
String, Default: Null
This doesn't do anything visually, but it improves the performance of the game. Does not require .odf extension.
preloadunits0 = "fed_mediterraneanY"
When placing a Producer GameObject, all of its buildList object classes are loaded into memory. This can take a few seconds on a large or complex build list.
In stock Armada II that happens automatically during the load screen, where such a delay isn't noticed, as the start units are put on the map.
However in Fleet Ops a replaceWeapon is used for the first starbase (the initial Avatar selection fake starbase doesn't have a build list), in order so the player doesn't experience a "freeze" after selecting an avatar while Armada loads the build list of the 'real' starbase. The preload command thus makes these buildList items load during the loading screen, which includes all the required ODFs and models (though not the textures), as the models include the hardpoint positions, size, and geometry for game logic.