The Glest Wiki
Advertisement
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]

v  d  e


Skills define the abilities of a unit, and are generally used with commands to provide actions that the unit can perform, but sometimes mandate automated events too, such as the death skill, which fires every time the unit dies. There can be as many skills as you want (though there can only be one of some types of skills, such as the death or be_built skill).

Stop

GAE Only
GAE and MegaGlest Only
<skill>
	<type value="stop" />
	<name value="stop_skill" />
	<!-- Start MG Only -->
	<hp-cost value="0"/>
	<!-- End MG Only -->
	<ep-cost value="0" />
	<speed value="100" />
	<anim-speed value="35" />
	<animation path="models/model.g3d" />
	<!-- Start MG Only -->
	<animation-random-cycle-maxcount value="1" />
	<!-- End MG Only -->
	<sound enabled="true">
		<sound-file path="sounds/sound-file.wav" />
	</sound>
	<!-- Start GAE+MG Only -->
	<particles value="true" start-time="0.0" end-time="1.0">
		<particle-file path="unit_particle_system.xml"/>
	</particles>
	<!-- End GAE+MG Only -->
	<!-- Start MG Only -->
	<damage-particles value="true">
		<particle-file path="unit_particles.xml" minHp="0" maxHp="5000"/>
	</damage-particles>
	<!-- End MG Only -->
</skill>

The stop skill is used for some commands where the unit would stand still, such as attack-stopped (hold position) or stop. Generally, when a unit isn't do any action, it performs the stop action, so it is necessary that all units have a stop skill, even if they don't have a stop command.

type

This defines the type of the skill, in this case, stop.

name

The name the skill is referenced in commands by, can be any valid variable name (starts with a letter, can contain letters, numbers, dashes, or underscores).

hp-cost

A MegaGlest only feature which allows a certain amount of HP to be depleted each time this skill is used (per skill cycle). This is currently broken.

ep-cost

How much EP the skill will require for each cycle. If there isn't enough EP, the skill cannot be executed. Note that a stop skill should NEVER use EP, because if there is no EP, the fallback is a stop skill, which just won't work.

speed

The speed that skill cycles at. Higher numbers make the skill go faster. The time it takes to perform a standard skill cycle can be found via the skill cycle formula.

anim-speed

The speed to play the animation at. G3DHack is capable of setting an anim-speed for testing to find the perfect speed. Note that the anim-speed should generally be a lower number than the speed, otherwise the skill cycle will be repeated multiple times for a single animation.

animation

The path to the G3D model that will be used when the unit is performing the skill. In MegaGlest, there can be multiples of this tag, and one will be chosen at random. You can also force a certain animation to be used when the unit's HP is between certain values with the minHp and maxHp attributes. For example, <animation path="model.g3d" minHp="0" maxHp="100" /> would force the animation model.g3d to be used when the unit's HP is between zero and 100. You can also force a certain animation to be used when the unit's HP is between certain values with the minHp and maxHp attributes. For example, <animation path="model.g3d" minHp="0" maxHp="100" /> would force the animation model.g3d to be used when the unit's HP is between zero and 100.

animation-random-cycle-maxcount

This optional, MegaGlest only node tells the engine to cycle through the maximum specified random models. This is useful for death animations, where it can pick a random one but won't switch to another after it finishes animating. If this node does not exist the engine assume no maximum. Generally, it's only used for "one time" skills such as death or morph, while other skills would not not use the tag at all.

sound

If true, randomly plays one of the listed sound files every time a skill cycle commences. There can be any number of sound files, and only one will be played each time, though the choice of which is random. The path is a relative path to the sound file, which can be either OGG or WAV.

particles

In MegaGlest and GAE only, you can set particles. If true, the unit will emit particles via a unit particle system. This is applied on a per skill basis, so if you want them to always be emitting the same particles, give them the same tags on every skill, except possibly be_built and die. You could also change the particles to modify the unit's appearance while doing a certain skill. For example, black smoke might turn fiery when a building is producing. There can be as many particle systems on a skill as you want, and each is placed by giving a particle-file tag the relative path of a Unit Particle XML.

MegaGlest can additionally use the start-time and end-time parameters (which will not work in GAE). These are as a percentage of the animation cycle, in decimal form, so a start-time of 0.5 would mean the particles start half way through the animation.

damage-particles

If true, these particles are displayed when the unit is damaged. You can specify the maximum and minimum HP (ie, a range) to display those particles, so you may have one particle system displayed when it is over half health, and one when it is under half health. The path links to the Unit Particle XML, and there can be as many particle-file children elements as desired.

Move

<skill>
	<type value="move" />
	<name value="move_skill" />
	<!-- Start MG Only -->
	<hp-cost value="0"/>
	<!-- End MG Only -->
	<ep-cost value="0" />
	<speed value="275" />
	<anim-speed value="250" />
	<animation path="models/model.g3d" />
	<!-- Start MG Only -->
	<animation-random-cycle-maxcount value="1" />
	<!-- End MG Only -->
	<sound enabled="true">
		<sound-file path="sounds/sound-file.wav" />
	</sound>
	<!-- Start GAE+MG Only -->
	<particles value="true" start-time="0.0" end-time="1.0">
		<particle-file path="unit_particle_system.xml"/>
	</particles>
	<!-- End GAE+MG Only -->
	<!-- Start MG Only -->
	<damage-particles value="true">
		<particle-file path="unit_particles.xml" minHp="0" maxHp="5000"/>
	</damage-particles>
	<!-- End MG Only -->
</skill>

The move skill is the next most commonly used, used by mobile units to be able to move from place to place. It's used in commands like attack, move, patrol, and guard.

type

This defines the type of the skill, in this case, move.

name

The name the skill is referenced in commands by, can be any valid variable name (starts with a letter, can contain letters, numbers, dashes, or underscores).

hp-cost

A MegaGlest only feature which allows a certain amount of HP to be depleted each time this skill is used (per skill cycle). This is currently broken.

ep-cost

How much EP the skill will require for each cycle. If there isn't enough EP, the skill cannot be executed.

speed

The speed that skill cycles at. Higher numbers make the skill go faster. The time it takes to perform a standard skill cycle can be found via the skill cycle formula.

anim-speed

The speed to play the animation at. G3DHack is capable of setting an anim-speed for testing to find the perfect speed. Note that the anim-speed should generally be a lower number than the speed, otherwise the skill cycle will be repeated multiple times for a single animation.

animation

The path to the G3D model that will be used when the unit is performing the skill. In MegaGlest, there can be multiples of this tag, and one will be chosen at random. You can also force a certain animation to be used when the unit's HP is between certain values with the minHp and maxHp attributes. For example, <animation path="model.g3d" minHp="0" maxHp="100" /> would force the animation model.g3d to be used when the unit's HP is between zero and 100.

animation-random-cycle-maxcount

This optional, MegaGlest only node tells the engine to cycle through the maximum specified random models. This is useful for death animations, where it can pick a random one but won't switch to another after it finishes animating. If this node does not exist the engine assume no maximum. Generally, it's only used for "one time" skills such as death or morph, while other skills would not not use the tag at all.

sound

If true, randomly plays one of the listed sound files every time a skill cycle commences. There can be any number of sound files, and only one will be played each time, though the choice of which is random. The path is a relative path to the sound file, which can be either OGG or WAV.

particles

In MegaGlest and GAE only, you can set particles. If true, the unit will emit particles via a unit particle system. This is applied on a per skill basis, so if you want them to always be emitting the same particles, give them the same tags on every skill, except possibly be_built and die. You could also change the particles to modify the unit's appearance while doing a certain skill. For example, black smoke might turn fiery when a building is producing. There can be as many particle systems on a skill as you want, and each is placed by giving a particle-file tag the relative path of a Unit Particle XML.

MegaGlest can additionally use the start-time and end-time parameters (which will not work in GAE). These are as a percentage of the animation cycle, in decimal form, so a start-time of 0.5 would mean the particles start half way through the animation.

damage-particles

If true, these particles are displayed when the unit is damaged. You can specify the maximum and minimum HP (ie, a range) to display those particles, so you may have one particle system displayed when it is over half health, and one when it is under half health. The path links to the Unit Particle XML, and there can be as many particle-file children elements as desired.

Be built

<skill>
	<type value="be_built" />
	<name value="be_built_skill" />
	<!-- Start MG Only -->
	<hp-cost value="0"/>
	<!-- End MG Only -->
	<ep-cost value="0" />
	<speed value="300" />
	<anim-speed value="300" />
	<animation path="models/model.g3d" />
	<!-- Start MG Only -->
	<animation-random-cycle-maxcount value="1" />
	<!-- End MG Only -->
	<!-- Start GAE+MG Only -->
	<anim-progress-bound value="true"/>
	<!-- End GAE+MG Only -->
	<sound enabled="true">
		<sound-file path="sounds/sound-file.wav" />
	</sound>
	<!-- Start GAE+MG Only -->
	<particles value="true" start-time="0.0" end-time="1.0">
		<particle-file path="unit_particle_system.xml"/>
	</particles>
	<!-- End GAE+MG Only -->
	<!-- Start MG Only -->
	<damage-particles value="true">
		<particle-file path="unit_particles.xml" minHp="0" maxHp="5000"/>
	</damage-particles>
	<!-- End MG Only -->
</skill>

The be_built skill is an autoskill, meaning that it is not called by a command, but is automatically used as needed. All buildings should have a be_built skill, and it will be used to display the model while the build process takes place.

type

This defines the type of the skill, in this case, be_built.

name

The name the skill is referenced in commands by, can be any valid variable name (starts with a letter, can contain letters, numbers, dashes, or underscores).

hp-cost

A MegaGlest only feature which allows a certain amount of HP to be depleted each time this skill is used (per skill cycle). This is currently broken.

ep-cost

How much EP the skill will require for each cycle. If there isn't enough EP, the skill cannot be executed.

speed

Not used here, as the time to construct the building is actually the time value, in the unit XML.

anim-speed

The speed to play the animation at. G3DHack is capable of setting an anim-speed for testing to find the perfect speed. Note that the anim-speed should generally be a lower number than the speed, otherwise the skill cycle will be repeated multiple times for a single animation.

animation

The path to the G3D model that will be used when the unit is performing the skill. In MegaGlest, there can be multiples of this tag, and one will be chosen at random. You can also force a certain animation to be used when the unit's HP is between certain values with the minHp and maxHp attributes. For example, <animation path="model.g3d" minHp="0" maxHp="100" /> would force the animation model.g3d to be used when the unit's HP is between zero and 100.

animation-random-cycle-maxcount

This optional, MegaGlest only node tells the engine to cycle through the maximum specified random models. This is useful for death animations, where it can pick a random one but won't switch to another after it finishes animating. If this node does not exist the engine assume no maximum. Generally, it's only used for "one time" skills such as death or morph, while other skills would not not use the tag at all.

anim-hp-bound

A MegaGlest and GAE only value that, if true, will lock the animation speed to the hp of the unit as it builds. Thus, when the unit is half built, the animation would be halfway through, etc. This will override any specified animation speed and if not used, the entire tag may be omitted.

sound

If true, randomly plays one of the listed sound files every time a skill cycle commences. There can be any number of sound files, and only one will be played each time, though the choice of which is random. The path is a relative path to the sound file, which can be either OGG or WAV.

particles

In MegaGlest and GAE only, you can set particles. If true, the unit will emit particles via a unit particle system. This is applied on a per skill basis, so if you want them to always be emitting the same particles, give them the same tags on every skill, except possibly be_built and die. You could also change the particles to modify the unit's appearance while doing a certain skill. For example, black smoke might turn fiery when a building is producing. There can be as many particle systems on a skill as you want, and each is placed by giving a particle-file tag the relative path of a Unit Particle XML.

MegaGlest can additionally use the start-time and end-time parameters (which will not work in GAE). These are as a percentage of the animation cycle, in decimal form, so a start-time of 0.5 would mean the particles start half way through the animation.

damage-particles

If true, these particles are displayed when the unit is damaged. You can specify the maximum and minimum HP (ie, a range) to display those particles, so you may have one particle system displayed when it is over half health, and one when it is under half health. The path links to the Unit Particle XML, and there can be as many particle-file children elements as desired.

Repair

<skill>
	<type value="repair" />
	<name value="repair_skill" />
	<!-- Start MG Only -->
	<hp-cost value="0"/>
	<!-- End MG Only -->
	<ep-cost value="0" />
	<speed value="80" />
	<anim-speed value="100" />
	<animation path="models/model.g3d" />
	<!-- Start MG Only -->
	<animation-random-cycle-maxcount value="1" />
	<!-- End MG Only -->
	<sound enabled="true">
		<sound-file path="sounds/sound-file.wav" />
	</sound>
	<!-- Start GAE Only -->
	<max-range value="1" />
	<amount value="50" />
	<multiplier value="1.0" />
	<pet-only value="false" />
	<self-allowed value="true" />
	<self-only value="false" />
	<!-- End GAE Only -->
	<!-- Start GAE+MG Only -->
	<particles value="true" start-time="0.0" end-time="1.0">
		<particle-file path="unit_particle_system.xml"/>
	</particles>
	<!-- End GAE+MG Only -->
	<!-- Start MG Only -->
	<damage-particles value="true">
		<particle-file path="unit_particles.xml" minHp="0" maxHp="5000"/>
	</damage-particles>
	<!-- End MG Only -->
</skill>

Repair is used to heal units and repair buildings.

type

This defines the type of the skill, in this case, repair.

name

The name the skill is referenced in commands by, can be any valid variable name (starts with a letter, can contain letters, numbers, dashes, or underscores).

hp-cost

A MegaGlest only feature which allows a certain amount of HP to be depleted each time this skill is used (per skill cycle). This is currently broken.

ep-cost

How much EP the skill will require for each cycle. If there isn't enough EP, the skill cannot be executed.

speed

The speed that skill cycles at. Higher numbers make the skill go faster. The time it takes to perform a standard skill cycle can be found via the skill cycle formula.

anim-speed

The speed to play the animation at. G3DHack is capable of setting an anim-speed for testing to find the perfect speed. Note that if the anim-speed is a lower number than the speed, the skill cycle will be repeated multiple times for a single animation.

animation

The path to the G3D model that will be used when the unit is performing the skill. In MegaGlest, there can be multiples of this tag, and one will be chosen at random. You can also force a certain animation to be used when the unit's HP is between certain values with the minHp and maxHp attributes. For example, <animation path="model.g3d" minHp="0" maxHp="100" /> would force the animation model.g3d to be used when the unit's HP is between zero and 100.

animation-random-cycle-maxcount

This optional, MegaGlest only node tells the engine to cycle through the maximum specified random models. This is useful for death animations, where it can pick a random one but won't switch to another after it finishes animating. If this node does not exist the engine assume no maximum. Generally, it's only used for "one time" skills such as death or morph, while other skills would not not use the tag at all.

sound

If true, randomly plays one of the listed sound files every time a skill cycle commences. There can be any number of sound files, and only one will be played each time, though the choice of which is random. The path is a relative path to the sound file, which can be either OGG or WAV.

max-range

GAE only, how far away the unit can be from its target when repairing.

amount

GAE only, if this tag is present, the formula used to calculate how much of the building to repair is overridden and this specified amount will be repaired each time.

multiplier

GAE only, how much to multiply the repair amount by, defaults to 1. For example, if set to 2.0, the unit will repair at double the speed it did before.

pet-only

GAE only, if true, this repairing can only be done to the unit's pets. Defaults to false. You cannot have self-only and pet-only both true at the same time, because those collide.

self-allowed

GAE only, if true, the unit is able to repair itself. If false, it cannot repair itself, even if it is capable of repairing units of the same type. Defaults to true.

self-only

GAE only, if true, the unit is only able to repair itself. If false, it can repair other units too (which may or may not include itself, depending on the value of self-allowed above). Note that you cannot have self-only be true but self-allowed be false, as that would collide. You also cannot have self-only and pet-only both true at the same time, because those also collide.

particles

In MegaGlest and GAE only, you can set particles. If true, the unit will emit particles via a unit particle system. This is applied on a per skill basis, so if you want them to always be emitting the same particles, give them the same tags on every skill, except possibly be_built and die. You could also change the particles to modify the unit's appearance while doing a certain skill. For example, black smoke might turn fiery when a building is producing. There can be as many particle systems on a skill as you want, and each is placed by giving a particle-file tag the relative path of a Unit Particle XML.

MegaGlest can additionally use the start-time and end-time parameters (which will not work in GAE). These are as a percentage of the animation cycle, in decimal form, so a start-time of 0.5 would mean the particles start half way through the animation.

damage-particles

If true, these particles are displayed when the unit is damaged. You can specify the maximum and minimum HP (ie, a range) to display those particles, so you may have one particle system displayed when it is over half health, and one when it is under half health. The path links to the Unit Particle XML, and there can be as many particle-file children elements as desired.

Build

<skill>
	<type value="build" />
	<name value="build_skill" />
	<!-- Start MG Only -->
	<hp-cost value="0"/>
	<!-- End MG Only -->
	<ep-cost value="0" />
	<speed value="105" />
	<anim-speed value="100" />
	<animation path="models/model.g3d" />
	<!-- Start MG Only -->
	<animation-random-cycle-maxcount value="1" />
	<!-- End MG Only -->
	<sound enabled="true">
		<sound-file path="sounds/sound-file.wav" />
	</sound>
	<!-- Start GAE+MG Only -->
	<particles value="true" start-time="0.0" end-time="1.0">
		<particle-file path="unit_particle_system.xml"/>
	</particles>
	<!-- End GAE+MG Only -->
	<!-- Start MG Only -->
	<damage-particles value="true">
		<particle-file path="unit_particles.xml" minHp="0" maxHp="5000"/>
	</damage-particles>
	<!-- End MG Only -->
</skill>

The build skill is used to build buildings.

type

This defines the type of the skill, in this case, build.

name

The name the skill is referenced in commands by, can be any valid variable name (starts with a letter, can contain letters, numbers, dashes, or underscores).

hp-cost

A MegaGlest only feature which allows a certain amount of HP to be depleted each time this skill is used (per skill cycle). This is currently broken.

ep-cost

How much EP the skill will require for each cycle. If there isn't enough EP, the skill cannot be executed.

speed

The speed that skill cycles at. Higher numbers make the skill go faster. The time it takes to perform a standard skill cycle can be found via the skill cycle formula.

anim-speed

The speed to play the animation at. G3DHack is capable of setting an anim-speed for testing to find the perfect speed. Note that the anim-speed should generally be a lower number than the speed, otherwise the skill cycle will be repeated multiple times for a single animation.

animation

The path to the G3D model that will be used when the unit is performing the skill. In MegaGlest, there can be multiples of this tag, and one will be chosen at random. You can also force a certain animation to be used when the unit's HP is between certain values with the minHp and maxHp attributes. For example, <animation path="model.g3d" minHp="0" maxHp="100" /> would force the animation model.g3d to be used when the unit's HP is between zero and 100.

animation-random-cycle-maxcount

This optional, MegaGlest only node tells the engine to cycle through the maximum specified random models. This is useful for death animations, where it can pick a random one but won't switch to another after it finishes animating. If this node does not exist the engine assume no maximum. Generally, it's only used for "one time" skills such as death or morph, while other skills would not not use the tag at all.

sound

If true, randomly plays one of the listed sound files every time a skill cycle commences. There can be any number of sound files, and only one will be played each time, though the choice of which is random. The path is a relative path to the sound file, which can be either OGG or WAV.

particles

In MegaGlest and GAE only, you can set particles. If true, the unit will emit particles via a unit particle system. This is applied on a per skill basis, so if you want them to always be emitting the same particles, give them the same tags on every skill, except possibly be_built and die. You could also change the particles to modify the unit's appearance while doing a certain skill. For example, black smoke might turn fiery when a building is producing. There can be as many particle systems on a skill as you want, and each is placed by giving a particle-file tag the relative path of a Unit Particle XML.

MegaGlest can additionally use the start-time and end-time parameters (which will not work in GAE). These are as a percentage of the animation cycle, in decimal form, so a start-time of 0.5 would mean the particles start half way through the animation.

damage-particles

If true, these particles are displayed when the unit is damaged. You can specify the maximum and minimum HP (ie, a range) to display those particles, so you may have one particle system displayed when it is over half health, and one when it is under half health. The path links to the Unit Particle XML, and there can be as many particle-file children elements as desired.

Harvest

<skill>
	<type value="harvest" />
	<name value="harvest_skill" />
	<!-- Start MG Only -->
	<hp-cost value="0"/>
	<!-- End MG Only -->
	<ep-cost value="0" />
	<speed value="225" />
	<anim-speed value="100" />
	<animation path="models/model.g3d" />
	<!-- Start MG Only -->
	<animation-random-cycle-maxcount value="1" />
	<!-- End MG Only -->
	<sound enabled="true">
		<sound-file path="sounds/sound-file.wav" />
	</sound>
	<!-- Start GAE+MG Only -->
	<particles value="true" start-time="0.0" end-time="1.0">
		<particle-file path="unit_particle_system.xml"/>
	</particles>
	<!-- End GAE+MG Only -->
	<!-- Start MG Only -->
	<damage-particles value="true">
		<particle-file path="unit_particles.xml" minHp="0" maxHp="5000"/>
	</damage-particles>
	<!-- End MG Only -->
</skill>

The harvest skill is used to gather tech- and tileset-type Resources. If the resources are meant to be harvested as different mediums, you may wish to use multiple harvest skills and commands to allow you to use different models and harvest speeds.

type

This defines the type of the skill, in this case, harvest.

name

The name the skill is referenced in commands by, can be any valid variable name (starts with a letter, can contain letters, numbers, dashes, or underscores).

hp-cost

A MegaGlest only feature which allows a certain amount of HP to be depleted each time this skill is used (per skill cycle). This is currently broken.

ep-cost

How much EP the skill will require for each cycle. If there isn't enough EP, the skill cannot be executed.

speed

The speed that skill cycles at. Higher numbers make the skill go faster. The time it takes to perform a standard skill cycle can be found via the skill cycle formula.

anim-speed

The speed to play the animation at. G3DHack is capable of setting an anim-speed for testing to find the perfect speed. Note that the anim-speed should generally be a lower number than the speed, otherwise the skill cycle will be repeated multiple times for a single animation.

animation

The path to the G3D model that will be used when the unit is performing the skill. In MegaGlest, there can be multiples of this tag, and one will be chosen at random. You can also force a certain animation to be used when the unit's HP is between certain values with the minHp and maxHp attributes. For example, <animation path="model.g3d" minHp="0" maxHp="100" /> would force the animation model.g3d to be used when the unit's HP is between zero and 100.

animation-random-cycle-maxcount

This optional, MegaGlest only node tells the engine to cycle through the maximum specified random models. This is useful for death animations, where it can pick a random one but won't switch to another after it finishes animating. If this node does not exist the engine assume no maximum. Generally, it's only used for "one time" skills such as death or morph, while other skills would not not use the tag at all.

sound

If true, randomly plays one of the listed sound files every time a skill cycle commences. There can be any number of sound files, and only one will be played each time, though the choice of which is random. The path is a relative path to the sound file, which can be either OGG or WAV.

particles

In MegaGlest and GAE only, you can set particles. If true, the unit will emit particles via a unit particle system. This is applied on a per skill basis, so if you want them to always be emitting the same particles, give them the same tags on every skill, except possibly be_built and die. You could also change the particles to modify the unit's appearance while doing a certain skill. For example, black smoke might turn fiery when a building is producing. There can be as many particle systems on a skill as you want, and each is placed by giving a particle-file tag the relative path of a Unit Particle XML.

MegaGlest can additionally use the start-time and end-time parameters (which will not work in GAE). These are as a percentage of the animation cycle, in decimal form, so a start-time of 0.5 would mean the particles start half way through the animation.

damage-particles

If true, these particles are displayed when the unit is damaged. You can specify the maximum and minimum HP (ie, a range) to display those particles, so you may have one particle system displayed when it is over half health, and one when it is under half health. The path links to the Unit Particle XML, and there can be as many particle-file children elements as desired.

Produce

<skill>
	<type value="produce" />
	<name value="produce_skill" />
	<!-- Start MG Only -->
	<hp-cost value="0"/>
	<!-- End MG Only -->
	<ep-cost value="0" />
	<speed value="300" />
	<anim-speed value="100" />
	<animation path="models/model.g3d" />
	<!-- Start MG Only -->
	<animation-random-cycle-maxcount value="1" />
	<anim-progress-bound value="true"/>
	<!-- End MG Only -->
	<sound enabled="true">
		<sound-file path="sounds/sound-file.wav" />
	</sound>
	<!-- Start GAE Only -->
	<pet value="true" max="3" />
	<!-- End GAE Only -->
	<!-- Start GAE+MG Only -->
	<particles value="true" start-time="0.0" end-time="1.0">
		<particle-file path="unit_particle_system.xml"/>
	</particles>
	<!-- End GAE+MG Only -->
	<!-- Start MG Only -->
	<damage-particles value="true">
		<particle-file path="unit_particles.xml" minHp="0" maxHp="5000"/>
	</damage-particles>
	<!-- End MG Only -->
</skill>

The produce skill is used to produce units. This is most commonly done from a building, but can be done by mobile units too, such as how Magic's summoner works.

type

This defines the type of the skill, in this case, produce.

name

The name the skill is referenced in commands by, can be any valid variable name (starts with a letter, can contain letters, numbers, dashes, or underscores).

hp-cost

A MegaGlest only feature which allows a certain amount of HP to be depleted each time this skill is used (per skill cycle). This is currently broken.

ep-cost

How much EP the skill will require for each cycle. If there isn't enough EP, the skill cannot be executed.

speed

The speed that skill cycles at. Higher numbers make the skill go faster. The time it takes is dependant on the producee's time parameter, and uses the formula below.

anim-speed

The speed to play the animation at. G3DHack is capable of setting an anim-speed for testing to find the perfect speed. Note that the anim-speed should generally be a lower number than the speed, otherwise the skill cycle will be repeated multiple times for a single animation.

animation

The path to the G3D model that will be used when the unit is performing the skill. In MegaGlest, there can be multiples of this tag, and one will be chosen at random. You can also force a certain animation to be used when the unit's HP is between certain values with the minHp and maxHp attributes. For example, <animation path="model.g3d" minHp="0" maxHp="100" /> would force the animation model.g3d to be used when the unit's HP is between zero and 100.

animation-random-cycle-maxcount

This optional, MegaGlest only node tells the engine to cycle through the maximum specified random models. This is useful for death animations, where it can pick a random one but won't switch to another after it finishes animating. If this node does not exist the engine assume no maximum. Generally, it's only used for "one time" skills such as death or morph, while other skills would not not use the tag at all.

sound

If true, randomly plays one of the listed sound files every time a skill cycle commences. There can be any number of sound files, and only one will be played each time, though the choice of which is random. The path is a relative path to the sound file, which can be either OGG or WAV.

pet

Main article: GAE/Pets

A GAE only value that, if true, makes the produced units into pets. Pets attack where their master attacks, and will die when the master dies, and have a maximum number that can be bound to one master unit, which is defined by the max parameter. Pets can also be given special targets in emanations so that it is possible to have a pet that has a negative HP regeneration normally, but when near their master, the master's emanation will boost their regen to be positive, thus further binding them to their master.

particles

In MegaGlest and GAE only, you can set particles. If true, the unit will emit particles via a unit particle system. This is applied on a per skill basis, so if you want them to always be emitting the same particles, give them the same tags on every skill, except possibly be_built and die. You could also change the particles to modify the unit's appearance while doing a certain skill. For example, black smoke might turn fiery when a building is producing. There can be as many particle systems on a skill as you want, and each is placed by giving a particle-file tag the relative path of a Unit Particle XML.

MegaGlest can additionally use the start-time and end-time parameters (which will not work in GAE). These are as a percentage of the animation cycle, in decimal form, so a start-time of 0.5 would mean the particles start half way through the animation.

damage-particles

If true, these particles are displayed when the unit is damaged. You can specify the maximum and minimum HP (ie, a range) to display those particles, so you may have one particle system displayed when it is over half health, and one when it is under half health. The path links to the Unit Particle XML, and there can be as many particle-file children elements as desired.

Upgrade

<skill>
	<type value="produce" />
	<name value="produce_skill" />
	<!-- Start MG Only -->
	<hp-cost value="0"/>
	<!-- End MG Only -->
	<ep-cost value="0" />
	<speed value="300" />
	<anim-speed value="300" />
	<animation path="models/model.g3d" />
	<!-- Start MG Only -->
	<animation-random-cycle-maxcount value="1" />
	<anim-progress-bound value="true"/>
	<!-- End MG Only -->
	<sound enabled="true">
		<sound-file path="sounds/sound-file.wav" />
	</sound>
	<!-- Start GAE+MG Only -->
	<particles value="true" start-time="0.0" end-time="1.0">
		<particle-file path="unit_particle_system.xml"/>
	</particles>
	<!-- End GAE+MG Only -->
	<!-- Start MG Only -->
	<damage-particles value="true">
		<particle-file path="unit_particles.xml" minHp="0" maxHp="5000"/>
	</damage-particles>
	<!-- End MG Only -->
</skill>

Skill used for the upgrade command. Unlike production, upgrades are one time events which can increase stats or unlock units (by having a unit use an upgrade-requirement).

type

This defines the type of the skill, in this case, upgrade.

name

The name the skill is referenced in commands by, can be any valid variable name (starts with a letter, can contain letters, numbers, dashes, or underscores).

hp-cost

A MegaGlest only feature which allows a certain amount of HP to be depleted each time this skill is used (per skill cycle). This is currently broken.

ep-cost

How much EP the skill will require for each cycle. If there isn't enough EP, the skill cannot be executed.

speed

The speed that skill cycles at. Higher numbers make the skill go faster. The time it takes is dependant on the upgrade's time parameter, and uses the formula below.

anim-speed

The speed to play the animation at. G3DHack is capable of setting an anim-speed for testing to find the perfect speed. Note that the anim-speed should generally be a lower number than the speed, otherwise the skill cycle will be repeated multiple times for a single animation.

animation

The path to the G3D model that will be used when the unit is performing the skill. In MegaGlest, there can be multiples of this tag, and one will be chosen at random. You can also force a certain animation to be used when the unit's HP is between certain values with the minHp and maxHp attributes. For example, <animation path="model.g3d" minHp="0" maxHp="100" /> would force the animation model.g3d to be used when the unit's HP is between zero and 100.

animation-random-cycle-maxcount

This optional, MegaGlest only node tells the engine to cycle through the maximum specified random models. This is useful for death animations, where it can pick a random one but won't switch to another after it finishes animating. If this node does not exist the engine assume no maximum. Generally, it's only used for "one time" skills such as death or morph, while other skills would not not use the tag at all.

sound

If true, randomly plays one of the listed sound files every time a skill cycle commences. There can be any number of sound files, and only one will be played each time, though the choice of which is random. The path is a relative path to the sound file, which can be either OGG or WAV.

particles

In MegaGlest and GAE only, you can set particles. If true, the unit will emit particles via a unit particle system. This is applied on a per skill basis, so if you want them to always be emitting the same particles, give them the same tags on every skill, except possibly be_built and die. You could also change the particles to modify the unit's appearance while doing a certain skill. For example, black smoke might turn fiery when a building is producing. There can be as many particle systems on a skill as you want, and each is placed by giving a particle-file tag the relative path of a Unit Particle XML.

MegaGlest can additionally use the start-time and end-time parameters (which will not work in GAE). These are as a percentage of the animation cycle, in decimal form, so a start-time of 0.5 would mean the particles start half way through the animation.

damage-particles

If true, these particles are displayed when the unit is damaged. You can specify the maximum and minimum HP (ie, a range) to display those particles, so you may have one particle system displayed when it is over half health, and one when it is under half health. The path links to the Unit Particle XML, and there can be as many particle-file children elements as desired.

Morph

<skill>
	<type value="morph" />
	<name value="morph_skill" />
	<!-- Start MG Only -->
	<hp-cost value="0"/>
	<!-- End MG Only -->
	<ep-cost value="0" />
	<speed value="500" />
	<anim-speed value="200" />
	<animation path="models/model.g3d" />
	<!-- Start MG Only -->
	<animation-random-cycle-maxcount value="1" />
	<!-- End MG Only -->
	<sound enabled="true">
		<sound-file path="sounds/sound-file.wav" />
	</sound>
	<!-- Start GAE+MG Only -->
	<particles value="true" start-time="0.0" end-time="1.0">
		<particle-file path="unit_particle_system.xml"/>
	</particles>
	<!-- End GAE+MG Only -->
	<!-- Start MG Only -->
	<damage-particles value="true">
		<particle-file path="unit_particles.xml" minHp="0" maxHp="5000"/>
	</damage-particles>
	<!-- End MG Only -->
</skill>

Similar to the produce skill, but rather than creating a new unit, it turns the current unit into a new unit.

type

This defines the type of the skill, in this case, morph.

name

The name the skill is referenced in commands by, can be any valid variable name (starts with a letter, can contain letters, numbers, dashes, or underscores).

hp-cost

A MegaGlest only feature which allows a certain amount of HP to be depleted each time this skill is used (per skill cycle). This is currently broken.

ep-cost

How much EP the skill will require for each cycle. If there isn't enough EP, the skill cannot be executed.

speed

The speed that skill cycles at. Higher numbers make the skill go faster. The time it takes is dependant on the product's time parameter, and uses the formula below.

anim-speed

The speed to play the animation at. G3DHack is capable of setting an anim-speed for testing to find the perfect speed. Note that the anim-speed should generally be a lower number than the speed, otherwise the skill cycle will be repeated multiple times for a single animation.

animation

The path to the G3D model that will be used when the unit is performing the skill. In MegaGlest, there can be multiples of this tag, and one will be chosen at random. You can also force a certain animation to be used when the unit's HP is between certain values with the minHp and maxHp attributes. For example, <animation path="model.g3d" minHp="0" maxHp="100" /> would force the animation model.g3d to be used when the unit's HP is between zero and 100.

animation-random-cycle-maxcount

This optional, MegaGlest only node tells the engine to cycle through the maximum specified random models. This is useful for death animations, where it can pick a random one but won't switch to another after it finishes animating. If this node does not exist the engine assume no maximum. Generally, it's only used for "one time" skills such as death or morph, while other skills would not not use the tag at all.

sound

If true, randomly plays one of the listed sound files every time a skill cycle commences. There can be any number of sound files, and only one will be played each time, though the choice of which is random. The path is a relative path to the sound file, which can be either OGG or WAV.

particles

In MegaGlest and GAE only, you can set particles. If true, the unit will emit particles via a unit particle system. This is applied on a per skill basis, so if you want them to always be emitting the same particles, give them the same tags on every skill, except possibly be_built and die. You could also change the particles to modify the unit's appearance while doing a certain skill. For example, black smoke might turn fiery when a building is producing. There can be as many particle systems on a skill as you want, and each is placed by giving a particle-file tag the relative path of a Unit Particle XML.

MegaGlest can additionally use the start-time and end-time parameters (which will not work in GAE). These are as a percentage of the animation cycle, in decimal form, so a start-time of 0.5 would mean the particles start half way through the animation.

damage-particles

If true, these particles are displayed when the unit is damaged. You can specify the maximum and minimum HP (ie, a range) to display those particles, so you may have one particle system displayed when it is over half health, and one when it is under half health. The path links to the Unit Particle XML, and there can be as many particle-file children elements as desired.

Attack

<skill>
	<type value="attack"/>
	<name value="attack_skill"/>
	<!-- Start MG Only -->
	<hp-cost value="0"/>
	<!-- End MG Only -->
	<ep-cost value="50"/>
	<speed value="80"/>
	<anim-speed value="80"/>
	<animation path="models/model.g3d"/>
	<!-- Start MG Only -->
	<animation-random-cycle-maxcount value="1" />
	<!-- End MG Only -->
	<sound enabled="true" start-time="0.5">
		<sound-file path="sounds/sound-file.wav" />
	</sound>
	<!-- Start MG Only -->
	<unit value="unit_name" amount="1" />
	<!-- End MG Only -->
	<attack-strenght value="150"/>
	<attack-var value="50"/>
	<attack-range value="8"/>
	<attack-type value="attack_type"/>
	<attack-fields>
		<field value="land"/>
	</attack-fields>
	<attack-start-time value="0"/>
	<projectile value="true">
	<particle value="true" path="particle_proj.xml"/>
		<sound enabled="true">
			<sound-file path="sound/sound.wav"/>
		</sound>
	</projectile>
	<splash value="true">
		<radius value="3"/>
		<damage-all value="true"/>
		<particle value="true" path="particle_splash.xml"/>
	</splash>
	<!-- Start GAE+MG Only -->
	<particles value="true" start-time="0.0" end-time="1.0">
		<particle-file path="unit_particle_system.xml"/>
	</particles>
	<!-- Start MG Only -->
	<damage-particles value="true">
		<particle-file path="unit_particles.xml" minHp="0" maxHp="5000"/>
	</damage-particles>
	<!-- End MG Only -->
	<!-- End GAE+MG Only -->
	<!-- Start GAE Only -->
	<effects/>
	<!-- End GAE Only -->
	<!-- Start MG Only -->
	<attack-boost/>
	<!-- End MG Only -->
</skill>

Attacks are the most complex skills, but also have the largest area of customizability. All types of attacks, long ranged, melee, splash attacks, etc all use the same attack skill and are defined via its elements.

type

This defines the type of the skill, in this case, attack.

name

The name the skill is referenced in commands by, can be any valid variable name (starts with a letter, can contain letters, numbers, dashes, or underscores).

hp-cost

A MegaGlest only feature which allows a certain amount of HP to be depleted each time this skill is used (per skill cycle). This is currently broken.

ep-cost

How much EP the skill will require for each cycle. If there isn't enough EP, the skill cannot be executed.

speed

The speed that skill cycles at. Higher numbers make the skill go faster. The time it takes to perform a standard skill cycle can be found via the skill cycle formula.

anim-speed

The speed to play the animation at. G3DHack is capable of setting an anim-speed for testing to find the perfect speed. Note that the anim-speed should generally be a lower number than the speed, otherwise the skill cycle will be repeated multiple times for a single animation.

animation

The path to the G3D model that will be used when the unit is performing the skill. In MegaGlest, there can be multiples of this tag, and one will be chosen at random. You can also force a certain animation to be used when the unit's HP is between certain values with the minHp and maxHp attributes. For example, <animation path="model.g3d" minHp="0" maxHp="100" /> would force the animation model.g3d to be used when the unit's HP is between zero and 100.

animation-random-cycle-maxcount

This optional, MegaGlest only node tells the engine to cycle through the maximum specified random models. This is useful for death animations, where it can pick a random one but won't switch to another after it finishes animating. If this node does not exist the engine assume no maximum. Generally, it's only used for "one time" skills such as death or morph, while other skills would not not use the tag at all.

sound

If true, randomly plays one of the listed sound files every time a skill cycle commences. There can be any number of sound files, and only one will be played each time, though the choice of which is random. The path is a relative path to the sound file, which can be either OGG or WAV. Start-time is the percentage through the skill cycle to play the sound, so if the sound, for example, is a sword hitting a foe, but the sword doesn't hit the foe until halfway through the animation, then you might want to give it a start time of 0.5.

unit

A MegaGlest only feature which spawns a unit of the specified name and quantity each time this attack is commenced. If this feature is not used, the tag should be excluded completely. Currently, it is not checked if the spawned units are dead before creating more. This feature is most useful for creating a custom unit such as a suicide bomb, or such which will destroy itself eventually.

attack-strenght

The base damage an attack will deal, in HP. Note the misspelling in the element tag, it must be spelled as "attack-strenght" in order for the tag to work.

attack-var

This is the amount of variance that is added to the attack strenght. So if the base damage is 150, and the var is 50, it will do (150-50) - (150+50), or 100-200 damage each time. Thus, the variance creates a range of numbers from the attack-strenght variable to make the damage more random.

attack-range

How many cell spaces away the unit can attack from. Generally, melee attacks would have a range of 1 (sometimes more for longer weapons), while range units can have as long as they like, though they can only attack enemies that are within a unit's sights.

attack-type

The type that is assigned to the task, which must be defined in the techtree XML, and affects how the damage multiplier will impact the final damage dealt.

attack-fields

The fields that the attack skill is capable of damaging. Either land or air, and depends on what the target unit has as their field. While GAE technically has additional fields such as any_water, they are not used for attack fields because attacks with the land field will hit such units.

attack-start-time

Time, as a ratio of start to finish, to damage the foe after the animation has played or the attack has hit (if it's a ranged attack). This can prevent a foe from falling dead before your unit finishes his fancy back swing.

projectile

If true, the attack is considered to be a ranged attack, which allows the usage of projectile particles, and effects how the foe is damaged by the attack (must be hit by either the projectile or a splash from the projectile, rather than being automatically considered hit, and the attack-start value is calculated based on the particle time rather than animation time).

particle

If true, the attack will use a particle system. The path is the relative path to the Projectile Particle XML. There is also a sound tag childed in here, which uses similar syntax to the other sound tag in this skill, but is the sound played when the particle hits, rather than when the attack is started (thus making it good for explosions, etc).

splash

If true, the attack will have a splash, an area of affect when the projectile hits the area where its target was, eg: an explosion. The radius is the size, as a radius (thus, the diameter will be almost twice the size, the center is counted as part of the radius, so a 3 radius would have a 5 diameter). Damage all is a function which is meant to toggle whether or not all units (including friendly units) are hurt by the splash, though is currently broken in Glest and GAE, only working in MegaGlest. Finally, a Splash Particle XML is linked to define how the splash will look.

particles

In MegaGlest and GAE only, you can set particles. If true, the unit will emit particles via a unit particle system. This is applied on a per skill basis, so if you want them to always be emitting the same particles, give them the same tags on every skill, except possibly be_built and die. You could also change the particles to modify the unit's appearance while doing a certain skill. For example, black smoke might turn fiery when a building is producing. There can be as many particle systems on a skill as you want, and each is placed by giving a particle-file tag the relative path of a Unit Particle XML.

MegaGlest can additionally use the start-time and end-time parameters (which will not work in GAE). These are as a percentage of the animation cycle, in decimal form, so a start-time of 0.5 would mean the particles start half way through the animation.

damage-particles

If true, these particles are displayed when the unit is damaged. You can specify the maximum and minimum HP (ie, a range) to display those particles, so you may have one particle system displayed when it is over half health, and one when it is under half health. The path links to the Unit Particle XML, and there can be as many particle-file children elements as desired.

effects

Effects are a GAE only extender which allows special effects to be applied to attacks. It allows attacks to add a persisting effect which can modify the stats of the target unit, as well as can allow recourse effects with allows the stats of the attacker to be modified as well. For example, an attack that drains a units stats and gives it to the attacker could be created, or a poisonous arrow which damages the target, or a blinding gas which reduces their sight.

attack-boosts

Attack boosts are a MG only extender which allows boosts to be applied to units when attacking, such as increasing the attacker and units near the attack's stats.

Die

<skill>
	<type value="die" />
	<name value="die_skill" />
	<!-- Start MG Only -->
	<hp-cost value="0"/>
	<!-- End MG Only -->
	<ep-cost value="0" />
	<speed value="300" />
	<anim-speed value="100" />
	<animation path="models/model.g3d" />
	<!-- Start MG Only -->
	<animation-random-cycle-maxcount value="1" />
	<!-- End MG Only -->
	<sound enabled="true">
		<sound-file path="sounds/sound-file.wav" />
	</sound>
	<fade value="false" />
	<!-- Start GAE+MG Only -->
	<particles value="true" start-time="0.0" end-time="1.0">
		<particle-file path="unit_particle_system.xml"/>
	</particles>
	<!-- End GAE+MG Only -->
	<!-- Start MG Only -->
	<damage-particles value="true">
		<particle-file path="unit_particles.xml" minHp="0" maxHp="5000"/>
	</damage-particles>
	<!-- End MG Only -->
</skill>

Death is another autoskill which is executed when the unit's HP reaches zero. This is how the death animation is controlled.

type

This defines the type of the skill, in this case, die.

name

The name the skill is referenced in commands by, can be any valid variable name (starts with a letter, can contain letters, numbers, dashes, or underscores).

hp-cost

A MegaGlest only feature which allows a certain amount of HP to be depleted each time this skill is used (per skill cycle). This is currently broken.

ep-cost

EP should not be placed on a death spell, as you cannot restrict a unit from dying on the basis that it has no energy.

speed

The speed that skill cycles at. Higher numbers make the skill go faster. The time it takes to perform a standard skill cycle can be found via the skill cycle formula.

anim-speed

The speed to play the animation at. G3DHack is capable of setting an anim-speed for testing to find the perfect speed. Note that the anim-speed should generally be a lower number than the speed, otherwise the skill cycle will be repeated multiple times for a single animation.

animation

The path to the G3D model that will be used when the unit is performing the skill. In MegaGlest, there can be multiples of this tag, and one will be chosen at random. You can also force a certain animation to be used when the unit's HP is between certain values with the minHp and maxHp attributes. For example, <animation path="model.g3d" minHp="0" maxHp="100" /> would force the animation model.g3d to be used when the unit's HP is between zero and 100.

animation-random-cycle-maxcount

This optional, MegaGlest only node tells the engine to cycle through the maximum specified random models. This is useful for death animations, where it can pick a random one but won't switch to another after it finishes animating. If this node does not exist the engine assume no maximum. Generally, it's only used for "one time" skills such as death or morph, while other skills would not not use the tag at all.

sound

If true, randomly plays one of the listed sound files every time a skill cycle commences. There can be any number of sound files, and only one will be played each time, though the choice of which is random. The path is a relative path to the sound file, which can be either OGG or WAV.

fade

If true, the unit's "corpse" will fade away at the end of the animation, rather than lying "dead" on the ground for a short period of time.

particles

In MegaGlest and GAE only, you can set particles. If true, the unit will emit particles via a unit particle system. This is applied on a per skill basis, so if you want them to always be emitting the same particles, give them the same tags on every skill, except possibly be_built and die. You could also change the particles to modify the unit's appearance while doing a certain skill. For example, black smoke might turn fiery when a building is producing. There can be as many particle systems on a skill as you want, and each is placed by giving a particle-file tag the relative path of a Unit Particle XML.

MegaGlest can additionally use the start-time and end-time parameters (which will not work in GAE). These are as a percentage of the animation cycle, in decimal form, so a start-time of 0.5 would mean the particles start half way through the animation.

damage-particles

If true, these particles are displayed when the unit is damaged. You can specify the maximum and minimum HP (ie, a range) to display those particles, so you may have one particle system displayed when it is over half health, and one when it is under half health. The path links to the Unit Particle XML, and there can be as many particle-file children elements as desired.

Cast-spell

<!-- Start GAE Only -->
<skill>
	<type value="cast-spell" />
	<name value="cast-spell_skill" />
	<ep-cost value="20" />
	<speed value="20" />
	<anim-speed value="200" />
	<animation path="models/model.g3d" />
	<sound enabled="true">
		<sound-file path="sounds/sound-file.wav" />
	</sound>
	<effects>
		<effect name="effect_name" bias="beneficial"
		stacking="overwrite" duration="10">
			<multipliers>
				<attack-strength value="1.5" />
				<attack-speed value="1.2" />
			</multipliers>
		</effect>
	</effects>
	<particles value="true">
		<particle-file path="unit_particle_system.xml"/>
	</particles>
	<start-time value="0.5" />
	<projectile value="true">
		<particle value="true" path="projectile_particle.xml"/>
		<sound enabled="false" />
	</projectile>
	<splash value="true">
		<radius value="3"/>
		<particle value="true" path="splash_particle.xml"/>
	</splash>
</skill>
<!-- End GAE Only -->

Cast-spell allows a unit to apply an effect to friendly unit. Thus, it could be used to heal them or boost stats temporarly.

type

This defines the type of the skill, in this case, cast-spell.

name

The name the skill is referenced in commands by, can be any valid variable name (starts with a letter, can contain letters, numbers, dashes, or underscores).

ep-cost

How much EP the skill will require for each cycle. If there isn't enough EP, the skill cannot be executed.

speed

The speed that skill cycles at. Higher numbers make the skill go faster. The time it takes to perform a standard skill cycle can be found via the skill cycle formula.

anim-speed

The speed to play the animation at. G3DHack is capable of setting an anim-speed for testing to find the perfect speed. Note that the anim-speed should generally be a lower number than the speed, otherwise the skill cycle will be repeated multiple times for a single animation.

animation

The path to the G3D model that will be used when the unit is performing the skill.

sound

If true, randomly plays one of the listed sound files every time a skill cycle commences. There can be any number of sound files, and only one will be played each time, though the choice of which is random. The path is a relative path to the sound file, which can be either OGG or WAV.

effects

particles

If true, the unit will emit particles via a unit particle system. This is applied on a per skill basis, so if you want them to always be emitting the same particles, give them the same tags on every skill, except possibly be_built and die. You could also change the particles to modify the unit's appearance while doing a certain skill. For example, black smoke might turn fiery when a building is producing. There can be as many particle systems on a skill as you want, and each is placed by giving a particle-file tag the relative path of a Unit Particle XML.

start-time

The time, as a ratio of the animation, to start the projectile (if there is one). Optional.

projectile

If true, allows the usage of projectile particles. If particle is true, the spell will use a particle system. The path is the relative path to the Projectile Particle XML. There is also a sound tag childed in here, which uses similar syntax to the other sound tag in this skill, but the sound is played when the particle hits.

splash

If true, the spell will have a splash, an area of affect when the projectile hits the area where its target was. The radius is the size, as a radius (thus, the diameter will be almost twice the size, the center is counted as part of the radius, so a 3 radius would have a 5 diameter). A Splash Particle XML is linked to define how the splash will look.

Build self

<!-- Start GAE Only -->
<skill>
	<type value="build_self" />
	<name value="build_self_skill" />
	<ep-cost value="0" />
	<speed value="300" />
	<anim-speed value="300" />
	<animation path="models/model.g3d" />
	<anim-hp-bound value="false" />
	<sound enabled="true">
		<sound-file path="sounds/sound-file.wav" />
	</sound>
	<particles value="true">
		<particle-file path="unit_particle_system.xml"/>
	</particles>
</skill>
<!-- End GAE Only -->

Build self is used for the self building command, which allows a unit to build itself once its basis is laid.

type

This defines the type of the skill, in this case, build_self.

name

The name the skill is referenced in commands by, can be any valid variable name (starts with a letter, can contain letters, numbers, dashes, or underscores).

ep-cost

How much EP the skill will require for each cycle. If there isn't enough EP, the skill cannot be executed.

speed

The speed that skill cycles at. Higher numbers make the skill go faster. The time it takes to perform a standard skill cycle can be found via the skill cycle formula.

anim-speed

The speed to play the animation at. G3DHack is capable of setting an anim-speed for testing to find the perfect speed. Note that the anim-speed should generally be a lower number than the speed, otherwise the skill cycle will be repeated multiple times for a single animation.

animation

The path to the G3D model that will be used when the unit is performing the skill.

anim-hp-bound

If true, this will lock the animation speed to the hp of the unit as it builds. Thus, when the unit is half built, the animation would be halfway through, etc. This will override any specified animation speed and if not used, the entire tag may be omitted.

sound

If true, randomly plays one of the listed sound files every time a skill cycle commences. There can be any number of sound files, and only one will be played each time, though the choice of which is random. The path is a relative path to the sound file, which can be either OGG or WAV.

particles

If true, the unit will emit particles via a unit particle system. This is applied on a per skill basis, so if you want them to always be emitting the same particles, give them the same tags on every skill, except possibly be_built and die. You could also change the particles to modify the unit's appearance while doing a certain skill. For example, black smoke might turn fiery when a building is producing. There can be as many particle systems on a skill as you want, and each is placed by giving a particle-file tag the relative path of a Unit Particle XML.

Load

<!-- Start GAE Only -->
<skill>
	<type value="load" />
	<name value="load_skill" />
	<ep-cost value="0" />
	<speed value="120" />
	<anim-speed value="120" />
	<animation path="models/model.g3d" />
	<sound enabled="true">
		<sound-file path="sounds/sound-file.wav" />
	</sound>
	<max-range value="3" />
	<particles value="true">
		<particle-file path="unit_particle_system.xml"/>
	</particles>
</skill>
<!-- End GAE Only -->

The loading command it used to load a unit into a transport, building for garrisoning, etc.

type

This defines the type of the skill, in this case, load.

name

The name the skill is referenced in commands by, can be any valid variable name (starts with a letter, can contain letters, numbers, dashes, or underscores).

ep-cost

How much EP the skill will require for each cycle. If there isn't enough EP, the skill cannot be executed.

speed

The speed that skill cycles at. Higher numbers make the skill go faster. The time it takes to perform a standard skill cycle can be found via the skill cycle formula.

anim-speed

The speed to play the animation at. G3DHack is capable of setting an anim-speed for testing to find the perfect speed. Note that the anim-speed should generally be a lower number than the speed, otherwise the skill cycle will be repeated multiple times for a single animation.

animation

The path to the G3D model that will be used when the unit is performing the skill.

sound

If true, randomly plays one of the listed sound files every time a skill cycle commences. There can be any number of sound files, and only one will be played each time, though the choice of which is random. The path is a relative path to the sound file, which can be either OGG or WAV.

max-range

Maximum distance the unit can be from the transport to be loaded. Too large and the unit will seem to disappear before it reaches the transport, too short and it large size units may have trouble accessing it.

particles

If true, the unit will emit particles via a unit particle system. This is applied on a per skill basis, so if you want them to always be emitting the same particles, give them the same tags on every skill, except possibly be_built and die. You could also change the particles to modify the unit's appearance while doing a certain skill. For example, black smoke might turn fiery when a building is producing. There can be as many particle systems on a skill as you want, and each is placed by giving a particle-file tag the relative path of a Unit Particle XML.

Unload

<!-- Start GAE Only -->
<skill>
	<type value="unload" />
	<name value="unload_skill" />
	<ep-cost value="0" />
	<speed value="120" />
	<anim-speed value="120" />
	<animation path="models/model.g3d" />
	<sound enabled="true">
		<sound-file path="sounds/sound-file.wav" />
	</sound>
	<max-range value="2" />
	<particles value="true">
		<particle-file path="unit_particle_system.xml"/>
	</particles>
</skill>
<!-- End GAE Only -->

The opposite of loading, unloading unloads units which were previously loaded with the load command.

type

This defines the type of the skill, in this case, unload.

name

The name the skill is referenced in commands by, can be any valid variable name (starts with a letter, can contain letters, numbers, dashes, or underscores).

ep-cost

How much EP the skill will require for each cycle. If there isn't enough EP, the skill cannot be executed.

speed

The speed that skill cycles at. Higher numbers make the skill go faster. The time it takes to perform a standard skill cycle can be found via the skill cycle formula.

anim-speed

The speed to play the animation at. G3DHack is capable of setting an anim-speed for testing to find the perfect speed. Note that the anim-speed should generally be a lower number than the speed, otherwise the skill cycle will be repeated multiple times for a single animation.

animation

The path to the G3D model that will be used when the unit is performing the skill.

sound

If true, randomly plays one of the listed sound files every time a skill cycle commences. There can be any number of sound files, and only one will be played each time, though the choice of which is random. The path is a relative path to the sound file, which can be either OGG or WAV.

max-range

Maximum distance from the transport units will be placed when unloading. If too large, they may appear to be appearing nowhere near the loaded unit, but if too small, units risk not having enough space.

particles

If true, the unit will emit particles via a unit particle system. This is applied on a per skill basis, so if you want them to always be emitting the same particles, give them the same tags on every skill, except possibly be_built and die. You could also change the particles to modify the unit's appearance while doing a certain skill. For example, black smoke might turn fiery when a building is producing. There can be as many particle systems on a skill as you want, and each is placed by giving a particle-file tag the relative path of a Unit Particle XML.

See also

Advertisement