Data/Abilities/Augment

## Augment

### Description

Applies an effect followed instantly by another ability at the nearest valid target/point for that ability.

### Hint

* Known to give trouble with the Move ability because it targets directly under the casters feet.
* As it ressembles to Effect-Target ability, the notable differences is the absence of a range field, and the importance given to the ability command that is augmented. For example, if setting a teleport effect like Dark Templar's that augments an attack ability, the blink won't occur if the Dark Templar can already acquire an attack target nearby. The teleport effect will simply not run. If the modder REALLY wishes the effect to **always** operate, with an ending command, Effect-Target is the better solution.
* Since there is no range, the effect may occur from anywhere, unless the first effect has a validator. The reason why this validator will not return with an error message (if failed) is because the alternate effect is simply an extra effect that gets casted if possible. Also, since the attack command is given more importance in that case, the ability will vouch for the attack command, so, will reach the right range. It is for this exact reason that Zealot's charge does not work at insane range, but never refuses to commit to the ability if the validators are not respected. It that sense, we could think that only spawning the effect does use the cost.

## Example Usage

### Charge (Zealot)

* Applies an Effect called **Zealot - Charge (Apply Buff)** to the caster before using the **Ability Command** of Attack to target the nearest enemy.

## Fields Description

### (None): Orders - Display Type

* How the waypoint lines appear when queueing this ability.
* **Attack:** (Unknown)
* **Confirm:** (Unknown)
* **Legacy:** (Unknown)
* **Move:** (Unknown)
* **Rally:** (Unknown)

### Ability: Ability Command

* The ability used after the effect
* Make sure it cannot just target the unit's feet

### Ability: Alignment

* Determines target prioritization.
* **Negative:** Targets enemies preferentially
* **Neutral:** Targets both friends and foes
* **Positive:** Targets friends preferentially

### Ability: Auto Cast Filters

* Determines what the auto cast can target

### Ability: Auto Cast Validators

* Validators that need to return true for this ability to auto cast

### Ability: Command Buttons - Default Button

* The Buttons for commands the ability can show in the command card of a unit

### Ability: Command Buttons - Flags

* **Allow Minimap:** (Unknown)
* **Allow Self Cast:** (Unknown)
* **Continuous:** (Unknown)
* **Hidden:** Sets the button to hidden by default
* **Hide Path:** (Unknown)
* **Ignore User:** (Unknown)
* **Send to Selection:** (Unknown)
* **Show In Glossary:** (Unknown)

### Ability: Command Buttons - Requirements

* Requirements for using the button in the command card
* Does not disable acquiring a target with right click or auto-targeting

### Ability: Command Buttons - State

* **Available:** means the button is always visible
* **Restricted:** means the Show requirements can hide it
* **Supressed:** means the button is hidden by default

### Ability: Debug Trace

* If enabled logs ability use and execution/errors when testing the map

### Ability: Set ID

* String that groups different abilities of the same type
* Abilities sharing the same string will also be used by selected units when using any one of the abilities

### Ability: Shared Flags

* **Disable While Dead:** Disables the ability if the host unit is dead until the unit is revived or the corpse expires
* **Hide Target Cursor For Invalid Targets:** Hides the mouse cursor when hovering over an invalid target
* **Skip Preload:** (Unknown)
* **Snap Cursor To Unit Radius:** (Unknown)
* **Target Cursor Visible In Black Mask:** (Unknown)

### Ability: Smart Priority

* Value for determining ability preference when right clicking

### Ability: Smart Validators

* Validators that need to return true for this ability to be activated by right clicking

### Ability: Target Type

* Determines what and where the effect of the ability can target
* **Point:** The effect can target a point
* **Unit:** The effect can target a unit
* **Unit or Point:** The effect can target either

### Ability: Tech Alias

* String used as an alias to group data objects together as equivalent for use by Requirements

### Ability: Tech Player

* **Owner:** Player currently in control of the unit (eg. neural parasite) is used for requirements of the ability
* **Upkeep:** Player paying the supply of the unit is used for requirements of the ability

### Cost: Cost - Charge - Count (Max)

* Determines the maxiumum number of times the ability can be used before having to obtain more charges
* Ability is disabled when charges reach 0

### Cost: Cost - Charge - Count (Start)

* Number of starting charges the ability has on unit creation

### Cost: Cost - Charge - Count (Use)

* Determines how many charges each use of the ability costs

### Cost: Cost - Charge - Enable Charge Time Queueing

* **e\_chargeFlagRestoreAllChargesOnCooldown:** (Unknown)
* **Enable Charge Time Queueing:** (Unknown)

### Cost: Cost - Charge - Hide Count

* Hides the number of charges the ability has from the UI

### Cost: Cost - Charge - Link

* Alias string to which the charge counts refer
* Allows several abilities/behaviours/weapons to use the same pool of charges

### Cost: Cost - Charge - Location

* Determines to what degree the charge pool is shared
* **Ability:** Is if the ability has it's own independent charge pool
* **Behavior:** (Unknown)
* **Global:** Is if there is a single charge pool that all players must share
* **Player:** Is if all units of the player share the same charge pool
* **Unit:** Is if the charge pool is limited only to the abilities on the unit

### Cost: Cost - Charge - Time Start

* Initial time taken for a charge to be generated since one was last generated
* With some abilities this has been changed since WoL to be the time taken to first generate a charge but this modification is inconsistently implemented

### Cost: Cost - Charge - Time Use

* The increment to the time needed to regenerate a charge with each use of a charge
* Does not reset with time
* Can be a negative number
* 0.0002(s) is the smallest increment/decrement possible
* With some abilities this has been changed since WoL to be the time taken to generate a charge after use but this modification is inconsistently implemented

### Cost: Cost - Cooldown - Link

* Alias string used for cooldown of the ability
* Can be used to have several abilities/behaviors/weapons share the same cool down

### Cost: Cost - Cooldown - Location

* Determines to what degree the cooldown is shared
* **Ability:** Is if the ability has it's own independent cooldown
* **Behavior:** (Unknown)
* **Global:** Is if there is a single cooldown for the abilitiy that all players must share
* **Player:** Is if all units of the player share the same cooldown for the ability
* **Unit:** Is if the cooldown sharing is limited only to the abilities on the unit

### Cost: Cost - Cooldown - Operation

* **Add:** (Unknown) Adds the Cost: Cost - Cooldown - Time Start value onto the current cooldown with each use?
* **Add If Not In Cooldown:** (Unknown) Adds the Cost: Cost - Cooldown - Time Start value if the weapon is not already in cooldown?
* **Max:** (Unknown)
* **Min:** (Unknown)
* **Multiply:** (Unknown) Multiply the current cooldown by the Cost: Cost - Cooldown - Time Start value?
* **Set:** (Unknown)

### Cost: Cost - Cooldown - Time Start

* Time taken for the ability to cooldown
* With some abilities this has been changed since WoL to be the time taken to be able to first use the ability but this modification is inconsistently implemented

### Cost: Cost - Cooldown - Time Use

* Increment to cooldown with each use
* Does not reset with time
* Can be a negative number
* 0.0002(s) is the smallest increment/decrement possible
* With some abilities this has been changed since WoL to be the time taken to cooldown after ability use but this modification is inconsistently implemented

### Cost: Cost - Cost Display

* Dictates what resources and/or vitals are shown for the cost

### Cost: Cost - Technology Resource Cost

* Cost of minerals, vespene, terrazine and custom resources needed by the caster player to use the ability

### Cost: Cost - Vital Fraction

* Determines the vital fraction cost for using the ability

### Cost: Cost - Vitals

* The cost to the caster's vitals to use the ability

### Effect: Effect

* The effect cast before **Ability: Ability Command** is used

### Stats - Flags

* **Auto Cast:** Enables the ability to auto cast
* **Auto Cast Initially On:** Auto cast is set to on when a unit is created
* **Smart Command:** enables the ability to be used by right clicking with the mouse
* **Target Best Unit:** (Unknown)
* **Turn Auto Cast Off When Owner Leaves:** Sets auto cast to off on units owned by a human player when they leave the game

## Related

* Abilities
* Effects
* Requirements
* Validators