# MG/Attack-boost

Attack boosts are a MegaGlest only extender which allows boosts to be applied to units in the form of emanations. Within a radius of the unit with the attack boost, other units (which can be foes, allies, a specific faction, a specific unit, or any unit) can have their stats modified and have an optional particle effect. So in other words, attack boosts provide a way to boost or detriment nearby units.

## XML

<attack-boost>
<allow-multiple-boosts value="false" />
<target value="all|ally|foe|faction" include-self="false">
<unit-type name="name" />
</target>
<max-hp value="0" regeneration="0" value-percent-multipler="false" />
<max-ep value="0" regeneration="0" value-percent-multipler="false" />
<sight value="0" value-percent-multipler="false" />
<attack-strenght value="0" value-percent-multipler="false" />
<attack-range value="0" value-percent-multipler="false" />
<armor value="0" value-percent-multipler="false" />
<move-speed value="0" value-percent-multipler="false" />
<production-speed value="0" value-percent-multipler="false" />
<particles value="true">
<originator-particle-file path="glow_particles.xml" />
<affected-particle-file path="glow_particles.xml" />
</particles>
</attack-boost>

## Documentation

All tags except <allow-multiple-boost>, <radius>, and <target> are optional.

The value-percent-multipler attribute causes the value to be treated as a multiple to add. So if a unit has a base speed of 100 and you set the speed value of the attack boost to 150 with value-percent-multipler true, then the speed will be increased by $$100 \times 1.50 = 150$$ for a total of 250 speed. The value can be negative to decrease the stat by the multiple.

If value-percent-multipler is false, the stat is simple added.

### allow-multiple-boosts

If true, there can be multiple boosts, which will stack. If false, boosts cannot stack, but will simply overwrite.

The maximum distance from the attacking unit from which the attack-boost will take effect.

### target

This tag defines who gets effected by the attack boosts. The value defines the broad characteristic, either all (any unit, regardless of alliances), ally (only allied units), foe (only opposing units), or faction (only units in the same faction).

This tag can have aunit-type children which can limit them down to only the listed units that fit the broader characteristic previously listed. However, it's also possible to use just these broader characteristics. For example, having just <target value="ally" /> allows it to effect all unit types of all allies. However, you can give it unit-type children tags to allow it to effect those types of units only if they are allies. For example, you might want it to only boost allied melee units, where you'd set the target value to ally and give a child unit-type tag to each melee unit.

The include-self tag defines whether or not the unit with the attack boost should be included as a target.

Note:MG Deveopment branch features "tags" wich can be used to define a goup of units" this tag is suposed to work most places including here

### max-hp

How much to effect the max HP by. Negative numbers can decrease the skill. The regeneration attribute affects HP regeneration.

### max-ep

How much to effect the max EP by. Negative numbers can decrease the skill. The regeneration attribute affects EP regeneration.

### sight

How much to effect the sight by. Negative numbers can decrease the skill.

### attack-strenght

How much to effect the attack strength by (note the necessary misspelling of the tag). Negative numbers can decrease the skill.

### attack-range

How much to effect the attack range by. Negative numbers can decrease the skill.

### armor

How much to effect the armor by. Negative numbers can decrease the skill.

### move-speed

How much to effect the move speed by. Negative numbers can decrease the skill.

### production-speed

How much to effect the production speed (produce/morph/upgrade) by. Negative numbers can decrease the skill.

### Particles

It's also possible to apply particle systems to the attacker and/or the affected units. These tags are optional. The attack can be given a particle system with the originator-particle-file tag, while the affected units can be given one with the affected-particle-file tag. The originator particle effect only occurs if the attack boost is being used (it must be affecting at least one unit, which can include the user if include-self is set to true.

## Examples

### Example 1

In this example, all swordmen in the same faction within a five cell radius of the attacking unit will gain 10% more HP and +20 attack. The affected units will all have the particle system defined in the glow_particles.xml file applied to them.

<attack-boost>
<allow-multiple-boosts value="false" />
<target value="faction">
<unit-type name="swordman" />
</target>
<max-hp value="110" value-percent-multipler="true" />
<max-ep value="0"/>
<sight value="0"/>
<attack-strenght value="20"/>
<attack-range value="0"/>
<armor value="0"/>
<move-speed value="0" />
<production-speed value="0"/>
<particles value="true">
<affected-particle-file path="glow_particles.xml"/>
</particles>
</attack-boost>

### Example 2

In this system, all nearby enemy units (on a different team) within 10 tiles will have their move speed reduced by 20% (so it's 80% of the original). Multiple boosts will not stack (as that could result in extremely slow speeds). There are no used particle effects. In this example, all optional tags have been excluded.

<attack-boost>
<allow-multiple-boosts value="false" />
</attack-boost>