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.

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.