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/courses.md | 2 +- building_guide/rooms.md | 14 ++++++++++---- 2 files changed, 11 insertions(+), 5 deletions(-) (limited to 'building_guide') diff --git a/building_guide/courses.md b/building_guide/courses.md index 5e92318..71dd255 100644 --- a/building_guide/courses.md +++ b/building_guide/courses.md @@ -6,7 +6,7 @@ Agility courses are defined in `data/courses/.yaml`. Each course defines a s > Editing courses is done from the **Map screen** in the admin web GUI: select an obstacle room and use its **Course** side-panel tab to create a course, add the room as a step, edit all of its parameters, or remove it. The legacy standalone "Courses" editor tab has been removed. > -> When a room is added as a course step, the admin GUI auto-creates **always-blocked one-way exits** between consecutive obstacle rooms so the in-game map can lay them out correctly. The direction of these exits is chosen by the builder. Always-blocked exits are impassable to players but visible on the map — they exist solely for map rendering. On the map, course links appear as blue dashed one-way arrows (colored via the `map_course` theme token). +> When a room is added as a course step, the admin GUI auto-creates **always-blocked one-way exits** between consecutive obstacle rooms so the in-game map can lay them out correctly. The direction of these exits is chosen by the builder. Always-blocked exits are blocked to players (movement is refused with the standard "blocked" message and they show "(blocked)" in `look`) but visible on the map — they exist solely for map rendering. On the map, course links appear as blue dashed one-way arrows (colored via the `map_course` theme token). ### Course YAML 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