XML/Faction

From MegaGlest
(Redirected from Faction)
Jump to: navigation, search
Engines icons.png This article documents Glest, GAE, and MegaGlest

This is noted in the colored backgrounds, which denote lines as being engine specific. See the key below.[Editing help]


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).

XML[edit]

GAE Only
MegaGlest Only
GAE and MegaGlest Only
<?xml version="1.0" standalone="no"?>
<faction>
	<starting-resources>
		<resource name="resource_name" amount="100" />
	</starting-resources>
	<starting-units>
		<unit name="unit_name" amount="1" />
	</starting-units> 
	<music value="true" path="music_tech.ogg" />
	<!-- Start GAE Only -->
	<logo value="true">
		<team-colour path="logo_team.png" />
		<rgba-colour path="logo_rgba.png" />
	</logo>
	<attack-notice enabled="true" min-delay="15">
		<sound-file path="sound/attacked.ogg" />
	</attack-notice>
	<subfactions>
		<subfaction name="subfaction_name"/>
	</subfactions>
	<loading-screen>
		<background-image path="loading_screen.png" />
	</loading-screen>
	<!-- End GAE Only -->
	<!-- Start MG Only -->
	<link>
		<techtree name="techtree_name" />
	</link>
	<ai-behavior>
		<worker-units>
			<unit name="unit_name" minimum="1" />
		</worker-units>
		<warrior-units>
			<unit name="unit_name" minimum="1" />
		</warrior-units>
		<resource-producer-units>
			<unit name="unit_name" minimum="1" />
		</resource-producer-units>
		<building-units>
			<unit name="unit_name" minimum="1" />
		</building-units>
		<upgrades>
			<upgrade name="upgrade_name" />
		</upgrades>
	</ai-behavior>
    <flat-particle-positions value="true"/>
	<!-- End MG Only -->
</faction>

Documentation[edit]

resource[edit]

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

unit[edit]

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

music[edit]

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:

<!-- Start GAE Only -->
<music value="true" play-list="true" shuffle="true">
	<music-file path="music/track1.ogg" />
	<music-file path="music/track2.ogg" />
</music>
<!-- End GAE Only -->

[edit]

Main article: GAE/Faction logos

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[edit]

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[edit]

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

loading-screen[edit]

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[edit]

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[edit]

Main article: MG/AI control

MegaGlest only, this tag will be present in the <faction> tag of the faction XML, and will contain all the other elements to define the AI's behavior.

worker-units[edit]

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[edit]

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[edit]

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[edit]

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[edit]

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

flat-particle-positions[edit]

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.

See also[edit]