> For the complete documentation index, see [llms.txt](https://docs.bestway.com.ua/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.bestway.com.ua/animation/animation-system-for-actor/animation-selection-setup/general-conditions-of-animation-selector.md).

# General conditions of Animation Selector

Below are the conditions currently used in the engine.\
However, the engine also supports additional condition types.

{% hint style="info" %}
Conditions used in the editor interface can also be applied in Animation Selector configurations.
{% endhint %}

<table><thead><tr><th width="274.40234375">Condition</th><th>Description</th></tr></thead><tbody><tr><td><code>fsm_tags ["name" ... ]</code></td><td>Checks whether the current FSM state contains the specified tags. The list of valid tags can be found in the FSM configuration files. For human units, these are located in <code>resource\properties\human_fsm\*</code>.</td></tr><tr><td><code>terrain_pp "&#x3C;terrain_type>"</code></td><td>Checks if the unit is located on the specified terrain type.<br>See: <a href="#terrain-type-reference"><strong>Terrain Type reference</strong></a>.</td></tr><tr><td><code>place_mask "&#x3C;mask>"</code></td><td>Checks whether the actor is linked to a place with a name matching the given mask. Wildcard <code>*</code> is supported. If the mask contains no <code>*</code>, the comparison is exact.<br>See: <a href="#actor-to-vehicle-place-linking-reference"><strong>Actor-to-vehicle place linking reference</strong></a>.</td></tr><tr><td><code>linked ["&#x3C;prop>" ... ]</code></td><td>If no properties are specified, checks whether the actor is linked. If properties are listed, checks whether the linked object (via <code>uplink</code>) has the specified tags. Property values can be found in the <code>.def</code>file of the target object.</td></tr><tr><td><code>have_enemy</code></td><td>Returns true if the actor has detected enemies.</td></tr><tr><td><code>movement_mode "&#x3C;mode>"</code></td><td>Checks whether the actor is currently using the specified movement mode.<br>See: <a href="#movement-mode-reference"><strong>Movement mode reference</strong></a>.</td></tr><tr><td><code>throwing_range &#x3C;min> &#x3C;max></code></td><td>Checks if the target is within throwing range. The values are in meters.</td></tr><tr><td><code>cover_type "&#x3C;name>"</code></td><td>Checks whether the unit is currently in a cover of the specified type.<br>See: <a href="#cover-type-reference"><strong>Cover type reference</strong></a>.</td></tr></tbody></table>

<details>

<summary><strong>Terrain Type reference</strong></summary>

In the **Gem RTS** engine, the condition `terrain_pp "<terrain_type>"` uses a predefined set of **Terrain Types**. These are defined in map configurations and influence unit behavior and animation selection (e.g., for walking, cover, vehicle movement, etc.).

* `ground`
* `swamp`
* `road`
* `deep_snow`
* `water`

</details>

<details>

<summary><strong>Actor-to-vehicle place linking reference</strong></summary>

These are common place names used for linking actors to vehicle or weapon positions:

* `driver`, `driver1`, `driver2` — driver seats
* `commander` — commander seat
* `gunner`, `gunner2`, ... — gunner positions
* `seat1`, `seat2`, ... `seat10` — passenger seats on vehicle hull
* `support1`, `support2` — gun crew positions
* `supportmove1`, `supportmove2` — mobile gun crew positions

</details>

<details>

<summary><strong>Movement mode reference</strong></summary>

Running:

* `slow` — slow run
* `normal` — standard run
* `fast` — fast run
* `bow` — crouch run
* `assault` — assault run

Walking:

* `walk` — standard walk
* `spot` — movement while scanning for targets
* `sneak` — stealth walk with alternate animations

</details>

<details>

<summary><strong>Cover type reference</strong></summary>

* `none` — not in cover
* `look_left`, `look_right`, `look_2way` — vertical covers that allow peeking
* `snipe_cover` — low cover suitable for accurate fire
* `squat_lie` — lying behind a wall
* `hide_stand` — standing cover
* `hide_squat` — crouch cover
* `open_lie` — lying in open terrain
* `terrain_lie` — terrain-based cover (dips, craters)
* `bush_stand`, `bush_squat`, `bush_lie` — cover in bushes (offers no bullet protection)

</details>
