Docs/Atom library/Conditions (IF)
Conditions (IF)
Every condition atom — 37 gates you can drop into the IF slot of a rule.
Last updated 2026-06-06
Conditions re-evaluate every time the event fires — there's no “global” condition that runs continuously. If you need to react to a value changing, pair the condition with an event like on_variable_threshold.
📌 Note
economy1
Has Enough Currency
has_enough_currencyChecks if the player has at least the specified amount of a variable-backed currency.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
variableId | string | "player_coins" | Variable |
amount | int | 100 | Minimum amount |
enemy1
Agent is NOT a Player
agent_is_not_playerTrue when the agent is NOT a player — an enemy creature / NPC. Use to make a zone or event affect ONLY enemies, not players (e.g. a tower-defense base-damage zone that players can walk through without triggering).
logic1
Random Chance
random_chanceSucceeds with a given percentage probability (1–100%).
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
percentage | int | 50 | Chance % |
phase1
Is Phase
is_phaseChecks if the current game phase matches a given phase ID (e.g. warmup, combat).
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
phaseId | string | "" | Phase ID |
player3
Agent is Player
agent_is_playerCasts the agent to a player. Required for actions that need a player reference (HUD, inventory, etc.).
Player Count <=
player_count_lteChecks if the number of players in the experience is less than or equal to a threshold.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
threshold | int | 2 | Max Players |
Player Count >=
player_count_gteChecks if the number of players in the experience is greater than or equal to a threshold.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
threshold | int | 2 | Min Players |
score3
Score <=
score_lteChecks if the player score is less than or equal to a threshold.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
threshold | int | 10 | Threshold |
Score =
score_equalsChecks if the player score is exactly equal to a value.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
threshold | int | 10 | Value |
Score >=
score_gteChecks if the player score is greater than or equal to a threshold.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
threshold | int | 10 | Threshold |
tags1
Near Tagged Object
check_distance_to_tagChecks if the player is within a maximum distance of any object with the specified tag.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
tagName | tag | "my_tag" | Tag Name |
maxDistance | float | 1000 | Max Distance (cm) |
team1
Is On Team
is_on_teamChecks if the agent is on the device's configured team. Failable expression.
timer1
Is Timer Active
is_timer_activeChecks if the timer is currently running. Tracked via an internal variable.
tracker2
Is Tracker Active
is_tracker_activeChecks if the agent currently has the tracker active. Failable expression.
Tracker Reached Target
tracker_reached_targetChecks if the agent has reached the target value of a tracker device (e.g. collected enough items).
trade-system2
Has All Items
has_all_itemsChecks if the agent has all items required by a Conditional Button device. Failable expression.
Is Referenced Player
is_referenced_playerChecks if the agent is the player currently tracked by a Player Reference device. Failable expression.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
deviceTag | string | "" | Device Tag |
variable2
Compare Two Variables
compare_two_variablesCompares two player variables against each other (e.g. trade_offer + 10 <= trade_coins).
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
variableIdA | string | "my_var_a" | Variable A |
operator | select | "<=" | Operator |
variableIdB | string | "my_var_b" | Variable B |
offsetA | int | 0 | Offset on A |
Compare Variable
compare_variableChecks a variable against a value using comparison operators (>=, <=, ==, >, <, !=).
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
variableId | string | "my_var" | Variable |
operator | select | ">=" | Operator |
value | int | 0 | Value |
zone1
Is In Zone
is_in_zoneChecks if the agent is inside a volume device (ZoneTrigger). Failable expression.
other17
Inventory Has Item
inventory_has_itemTrue when the slot Inventory contains at least one slot holding the given item id.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
inventoryId | string | "inv_slot" | Inventory |
itemId | int | 1 | Item ID |
Inventory Is Full
inventory_is_fullTrue when the slot Inventory has no empty slot left for a new item (every slot is occupied).
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
inventoryId | string | "inv_slot" | Inventory |
Is Agent In Capture Area
is_agent_in_capture_areaChecks whether the agent is currently inside the capture area.
Is Agent In Conversation
is_agent_in_conversationChecks whether the agent is currently in this NPC conversation.
Is Agent In Mutator Zone
is_agent_in_mutator_zoneChecks whether the agent is currently inside the mutator zone.
Is Any Vehicle Inside Station
is_any_vehicle_insideChecks whether any vehicle is currently inside the service station.
Is Chair Occupied
is_chair_occupiedChecks if the Chair device is currently occupied by any player. Useful for musical chairs logic.
Is Mod Box Spawned
is_mod_box_spawnedChecks whether a mod box is currently spawned at the spawner.
Is Player Alive
is_player_aliveChecks whether the player is currently alive and active.
Is Player Crouching
is_player_crouchingChecks whether the player is currently crouching.
Is Player Down But Not Out
is_player_down_but_not_outChecks whether the player is downed (knocked) but not eliminated.
Is Player Falling
is_player_fallingChecks whether the player is currently falling.
Is Player Health Below
is_player_health_belowChecks whether the player health is below a threshold (max 100).
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
threshold | float | 50 | Health Threshold |
Is Player In Air
is_player_in_airChecks whether the player is currently airborne.
Is Player Seated
is_seatedChecks if a specific player is currently sitting on the Chair device.
Is Zone Owner
is_zone_ownerPasses only when the interacting player OWNS zone N (claimed via claim_zone). Use it to gate every device of a plot: machines of zone 2 only respond to the owner of zone 2. Zones are numbered from 1.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
zone | int | 1 | Zone number (1 = first plot) |
Victim Is Referenced Player
victim_is_referenced_playerChecks if the ELIMINATED player (the victim) is the player currently tracked by a Player Reference device. Only available on events that provide the victim, e.g. On Player Eliminated By Player.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
deviceTag | string | "" | Device Tag |
See also