From a51f7a53aa2c487ebf94ba0363038574ae8bb590 Mon Sep 17 00:00:00 2001 From: historia <[not public]> Date: Tue, 7 Jul 2026 00:22:32 -0400 Subject: feat: hidden exits (and related flags) work with commands that change room ids. exit code simplified and unified between impassable and blocked exits. --- building_guide/rooms.md | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'building_guide/rooms.md') diff --git a/building_guide/rooms.md b/building_guide/rooms.md index 111404a..35fd85a 100644 --- a/building_guide/rooms.md +++ b/building_guide/rooms.md @@ -109,9 +109,11 @@ exits: ### Always-blocked exits -Always-blocked exits are impassable to players but always visible. They -appear in `look`/`verbs` and render on the map as blocked `X` connectors. -Gods in `god` mode can traverse them. Primarily used for agility course +Always-blocked exits are blocked to players but always visible. They appear in +`look`/`verbs`/`exits` tagged `(blocked)` (same as a conditionally-blocked exit), +refuse movement with the standard "The way is blocked." message, and +render on the map as blocked `X` connectors. Gods in `god` mode can traverse +them (and see no `(blocked)` tag). Primarily used for agility course room-to-room links so the map can lay the course out visually. ```yaml @@ -121,8 +123,12 @@ exits: always_blocked: true ``` +`always_blocked` is absolute: when set, a `condition:` on the same exit is not +evaluated (the exit is blocked unconditionally). Don't combine the two — if you +need a conditionally-gated exit, use `condition:` alone. + Hidden and always_blocked can be combined: the exit is invisible until -discovered (or seen by a god), and then shows as impassable. +discovered (or seen by a god), and then shows as blocked. ### Map grid & one-way exits -- cgit v1.2.3