XML/Faction

The faction XML is the base definition for each faction in a tech tree mod and defines the starting units, starting resources and music. The actual name of the file will be the faction's name (which must match the folder).

resource
Starting resources the faction start with. Name is the name of the resource, and amount is how much to begin with.

unit
Starting units. The name is the exact name of the unit, and the amount is how many to start with.

music
If true, the specified music will be played in a loop while using the specified faction. In GAE Only, you can specify multiple music tracks and can choose whether to shuffle them (play randomly) or in order. In order to use multiple tracks, play-list must be true, such as in the below example:

logo
If enabled, a faction logo will be placed in the unit info box when no units or resources are selected. This image is made of two parts, a team color part which uses greyscale to define how dark or how light team color is, and a true color image that will be rendered on top of the team color image. GAE only.

attack-notice
If enabled, a sound file will be played whenever your units are attacked offscreen. This will not trigger if you are attacked inside your viewing area, and will not sound more often than the min-delay, in seconds. Multiple sound files can be linked to by using multiple sound-file tags.

MegaGlest has an attack notice feature, but does not yet have an option to configure the sound file used for it.

subfactions
If not a closed tag, a list of subfactions available must be registered here.

loading-screen
GAE specific tag that let you specify a loading screen image to use. As of 0.4, it only allows a single image, but will later allow multiple images to be used for loading screens (chosen at random). If a scenario loading screen is also specified, it will take priority over this one.

MG does not need this tag, as it always looks for a loading screen which must be called loading_screen.* in the faction folder.

link
This feature is available in the latest SVN. A MegaGlest only command which makes the faction a reference to another, existing faction, in a different techtree. The only attribute is the techtree the faction should be found in. The faction loaded will be the same name as this faction's XML name (so if creating a link to the Indian faction in the MegaPack, the faction XML would be called indian.xml, with the same folder structure as any other faction. When the link element is used, all other elements except the top level faction element and XML declaration should be removed.

ai-behavior
MegaGlest only, this tag will be present in the &lt;faction&gt; tag of the faction XML, and will contain all the other elements to define the AI's behavior.

worker-units
MegaGlest only, units specified here are treated as workers and make up the bulk of production and expansion. A minimum number is specified to tell the AI how many of this unit it should try and maintain at all times.

warrior-units
MegaGlest only, units specified here are treated as warriors, meaning they will be used as the primary attack force. A minimum number is specified to tell the AI how many of this unit it should try and maintain at all times.

resource-producer-units
MegaGlest only, units here are considered to be necessary for producing different resources, such as food. A minimum number is specified to tell the AI how many of this unit it should try and maintain at all times.

building-units
MegaGlest only, units here are considered to be other important buildings that the AI should attempt to build early. A minimum number is specified to tell the AI how many of this unit it should try and maintain at all times.

upgrades
MegaGlest only, upgrades here are considered to be important upgrades that are priority for the AI to develop.

flat-particle-positions
MegaGlest only, if this is set to true the positions that are given for the particle systems are based on the ground. This means the positioning is no more unit height dependend which makes changes much more easy. This field is not mandatory and the default is set to false.