Data/Target Finds

## Target Finds

### Description

Target Finds are used by Tactical AI Data objects to find good targets for abilities that need them. Using an Order type Tactical AI object, an Ability and an Ability Command Index can be specified, along with a Target Find object. When valid targets are found, the Ability Command specified in the Tactical AI object will be executed.

### Hints

Any ability from Tactical AI Data can use other abilities Target Finds. For example, one can cast ability that works like an AOE, but still use the Psi Storm target finds to establish the targeting logic. In that sense, even if the effect (Search Effect) referenced doesn't match up with the same effect tree of the custom ability, mostly its stats (radius, filters, etc.) will be taken into consideration.

## Inherited fields

### Caster Validator

A validator that checks the caster, and permits the Target Find to continue if passed.

### Flags

* **Evaluate Command Flag:** Tells the unit to execute the ability command (in a Tactical AI object that called the Target Find) if the Target Find is successful. Use in the last Target Find in a Set Sequential.

### Target Validator

* A validator that checks possible targets.

### Best Point

* Checks for the best location to cast an ability based on the data from an Effect.

### Bonus Attribute

* (Unknown) - an attribute which receives extra damage from the Effect?

### Effect

* The Effect that represents the ability to be cast. This can be a damage effect from a summoned unit's weapon (as in Auto Turret Best Point), or it can be a search area effect (EMP Best Point).

### Minimum Count

* The minimum number of units that will be damaged by the Effect.

## Effect

Determines whether an ability is worth casting based on an Effect.

### Effect

* The effect which is being tested to determine whether to cast the ability.

### Extend Radius

* The radius to be added to whatever radius the Effect might have (e.g. if it is a search area effect) to determine the viability of using the ability.

### Target Sorts - Request Count

* The number of units found which are to be ranked by the Target Sorts.

### Target Sorts - Request Percentage

* The fraction of units found which are to be ranked by the Target Sorts.

### Target Sorts - Sorts

* Target Sorts to be checked to determine which units are the highest priority targets, to be hit first.

## Enumerate Area

* Tests an area around the Impact Location for units and casts an Ability on them if found.

### Ability

* The Ability which is cast on valid units found.

### Areas - Arc

* The angle in front of the Impact Location which is being checked.

### Areas - Radius

* The distance out from the Impact Location which is being checked. If left blank, the Radius will be determined based on the Ability's range.

### Areas - Radius Bonus

* Amount the distance is increased on subsequent sequential checks.

### Areas - Validator

* Validator run on possible targets to determine whether they are valid.

### Exclude - Effect

* The effect (per the same tree only) which the Exclude Value field is in relation to. If left blank, it will check according to the current Target Find.

### Exclude - Value

* The unit to be excluded from the search, relative to the Exclude - Effect.

### Extend Radius

* The distance to check in addition to the Ability's range (if the Area - Radius is left blank). Valid targets found outside of the range will cause the unit to move close enough to cast the ability.

### Impact Location - Effect

* The effect (per the same tree only) which the Impact Location - Value field is in relation to. If left blank, it will check according to the current Target Find.

### Impact Location - Value

* The unit or location where the search is centered, relative to the Impact Location - Effect.

### Include - Effect

* The effect (per the same tree only) which the Include - Value field is in relation to. If left blank, it will check according to the current Target Find.

### Include - Value

* The unit to be included in the search, even if it fails the Search Filters check. Relative to the Include - Effect.

### Launch Location - Effect

* The effect (per the same tree only) which the Launch Location - Value field is in relation to. If left blank, it will check according to the current Target Find.

### Launch Location - Value

* The unit or location which is considered to have launched the search, relative to the Launch Location - Effect. In a Target Find, this probably only determines who the Search Filters and the Same Cliff Level flag are relative to.

### Maximum Count

* The maximum number of units to be found in all of the areas combined, at which point it gives up.

### Minimum Count

* The minimum number of units to be found in all of the areas combined, or else an Error is reported.

### Minimum Count Error

* The error given when the minimum count is not met.

### Recycle Count

* The number of times to repeat the search?

### Search Filters

* Filters to check for valid targets. The Include - Value unit(s) will be excepted from this check.

### Search Flags +

* **Call For Help:** (Uncertain) Notifies the Impact Location unit to call for help if it is an enemy to the caster.
* **Extend By Unit Radius:** Add the Impact Location unit's radius to the search radius, finding units within the unit's radius as well.
* **Offset By Unit Radius:** Begin the radius outside the Impact Location unit's radius. Units within the radius will not be found.

### Offset Area By Angle - (Unknown)

* Same Cliff Level - only find units on the same cliff level as the Launch Location.

### Target Sorts - Request Count

* The number of units found which are to be ranked by the Target Sorts.

### Target Sorts - Request Percentage

* The fraction of units found which are to be ranked by the Target Sorts.

### Target Sorts - Sorts

* Target Sorts to be checked to determine which units are the highest priority targets, to be hit first.

## Last Attacker

Runs the Target - Validator on whichever unit attacked the caster last in order to determine whether to use an ability. Use in conjunction with a Set Sequential so that if the validator passes, the next Target Find in the set will be executed.

## Offset

Finds a point at the specified angle between the minimum and maximum distances at which to target the ability. Use with the **Execute Command Flag** flag to execute the ability.

### Angle

* The angle relative to the caster's facing at which to find the point. 0 is for in front of the caster, 180 is behind the caster.

### Distance - Min

* The minimum random distance to place the point.

### Distance - Max

* The maximum random distance to place the point.

## Order

Checks the target of the caster's Ability command against the Target Validator.

### Ability

* The ability whose target is being checked, usually Attack to get the caster's current attack target.

### Ability Command Index

* The ability's command index whose target is being checked.

## Rally Point (Worker)

Finds a rally point for workers (e.g. on a nearby resource)

### Array+

* The list of Target Finds to be evaluated in the Set.

### Type

* **Set Combined:** Performs all of the Target Finds listed in the Array+.
* **Set Sequential:** Performs each of the Target Finds listed in the Array+ in order. Use the flag Evaluate Command Flag on the last Target Find in the set to execute the ability.

Set Successful
(Uncertain) Performs whichever one Target Find is found to be valid.