diff options
| author | historia <[not public]> | 2026-06-25 21:23:34 -0400 |
|---|---|---|
| committer | historia <[not public]> | 2026-06-25 21:23:34 -0400 |
| commit | e2d5b081f27141bb3dd89dbe595860b8a1345d55 (patch) | |
| tree | 3090f8150580fe85a872caa04165ff70613bbaa8 /AGENTS.md | |
| parent | 84d74ca4351a97148ad8339676f9df7946bc21fb (diff) | |
| download | thehouseoficarus-e2d5b081f27141bb3dd89dbe595860b8a1345d55.tar.gz | |
feat: on_enter features ported over to triggers, cosmetic fixes with trigger messages
Diffstat (limited to 'AGENTS.md')
| -rw-r--r-- | AGENTS.md | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -94,7 +94,7 @@ The pattern is: lock, snapshot/unmarshal, unlock, then process. The engine creat ## Room Scripting -- **`on_enter` steps** fire when a player enters. Each has a `message` + optional `condition`. A step may also have a `delay` (ticks) and/or `set_flags`/`set_player_flags`. If any surviving step is timed (has a delay or sets a flag) the sequence runs as a scheduled **cutscene** (driven by `EnterSeqTick`); otherwise messages print synchronously. Step conditions are snapshotted once at entry. A cutscene persists `Player.CutsceneRoom` and **resumes on reconnect** if interrupted; plain on_enter never runs on login. +- **`on_enter` steps** fire when a player enters. Each has a `message` + optional `condition`. A step may also have a `delay` (ticks) and/or `set_flags`/`set_player_flags`. If any surviving step is timed (has a delay or sets a flag) the sequence runs as a scheduled **enter sequence** (driven by `EnterSeqTick`); otherwise messages print synchronously. Step conditions are snapshotted once at entry. An enter sequence persists `Player.EnterSeqRoom` and **resumes on reconnect** if interrupted; plain on_enter never runs on login (except the first room for new characters). - **Conditional descriptions** (`description: [{text, condition}]`) on rooms and objects pick the first variant whose condition passes (per-looker), else the first entry with no condition. Accepts either a plain string or a list. For an **object**, if it has a `description` list and no variant matches, the object is **absent** for that player (`look` falls through). Objects also support `aliases: [...]` for extra names. `look` lists candidates when multiple distinct objects match. - **Exits** support `set_flags`/`set_player_flags`, applied only on a successful traverse. |
