aboutsummaryrefslogtreecommitdiff
path: root/building_guide/triggers.md
diff options
context:
space:
mode:
Diffstat (limited to 'building_guide/triggers.md')
-rw-r--r--building_guide/triggers.md16
1 files changed, 7 insertions, 9 deletions
diff --git a/building_guide/triggers.md b/building_guide/triggers.md
index ba44c40..d99230b 100644
--- a/building_guide/triggers.md
+++ b/building_guide/triggers.md
@@ -92,8 +92,7 @@ wait elapses.
| `aps_node` | Marks this room's APS node as unlocked. |
| `condition` | Per-step gate (evaluated once when the sequence reaches this step). |
-Messages are **plain strings**, no longer `{message, delay}` maps. The `delay` field is
-gone — use `wait` instead.
+Messages are plain strings. Use `wait` to pause before a step fires.
### Condition vocabulary
@@ -108,7 +107,7 @@ check passes when the flag is **set to a truthy value**. `not: true` inverts any
| `not` | `true` inverts the entire condition. |
| `has_item` | Passes when the player carries this item. |
| `min_credits` | Passes when the player has at least this many credits. |
-| `room` | **New.** Passes when the triggering player is currently in this room. Use it to scope flag-change triggers to a location. |
+| `room` | Passes when the triggering player is currently in this room. Use it to scope flag-change triggers to a location. |
| `all_of` | List of sub-conditions; all must pass. |
| `any_of` | List of sub-conditions; any one must pass. |
@@ -144,10 +143,9 @@ on_use:
crystal_inserted: true
```
-For `on_enter` specifically, the old flat step list ran **every** matching step. Migration
-wraps the old steps into a single Trigger entry, so all the old steps still run as one
-sequence. New `on_enter` content should use multiple entries with distinct conditions when
-the steps are mutually exclusive.
+For `on_enter` specifically, entries are walked top-to-bottom and the first whose
+condition passes runs. Use multiple entries with distinct conditions when the steps
+are mutually exclusive.
### Lock
@@ -181,7 +179,7 @@ entity:
| Object | `on_use`, `on_look` |
| Mob | `on_kill` |
| Exit (room YAML) | `on_traverse` |
-| Room | `on_enter`, `on_exit` (NEW) |
+| Room | `on_enter`, `on_exit` |
| Flag trigger file (`data/triggers/player_flag/`, `data/triggers/global_flag/`) | one Trigger per file (`on_player_flag` / `on_global_flag`) |
- **on_use / on_look** — see `objects.md`. `item_id` filters which item triggers the entry.
@@ -190,7 +188,7 @@ entity:
(not when it's blocked). The exit's own `condition:` / `blocked_message:` belong to the
exit gate, not the Trigger list.
- **on_enter** — fires after the player enters the room.
-- **on_exit** (NEW) — fires when a player leaves the room, **before** `RoomID` is updated
+- **on_exit** — fires when a player leaves the room, **before** `RoomID` is updated
to the destination. Broadcasts/spawn resolve against the old (departed) room. Mirror of
on_enter, useful for parting messages, closing spawns, or recording departures.
- **on_flag_change** / **on_global_flag_change** — flag-watch triggers are **file-backed**, one per file under `data/triggers/player_flag/` or `data/triggers/global_flag/`. They are not room fields. See Flag triggers below.