aboutsummaryrefslogtreecommitdiff
path: root/building_guide/rooms.md
diff options
context:
space:
mode:
authorhistoria <[not public]>2026-07-06 23:05:04 -0400
committerhistoria <[not public]>2026-07-06 23:05:04 -0400
commit9292634f2f8d71a53879ff07e1330c671b207d51 (patch)
treedcffadf7f697e8ad0705d787d8f599bdeeedb812 /building_guide/rooms.md
parent911aae15f4e869c93239ef7c630c61e1d9d4ef3f (diff)
downloadthehouseoficarus-9292634f2f8d71a53879ff07e1330c671b207d51.tar.gz
feat: split the concept of hidden and impassable exits. add player_flag for discovered hidden exits.
Diffstat (limited to 'building_guide/rooms.md')
-rw-r--r--building_guide/rooms.md34
1 files changed, 34 insertions, 0 deletions
diff --git a/building_guide/rooms.md b/building_guide/rooms.md
index d3412de..111404a 100644
--- a/building_guide/rooms.md
+++ b/building_guide/rooms.md
@@ -90,6 +90,40 @@ exits:
boarded_shuttle: true # marks "left this area" on the way out
```
+### Hidden exits
+
+Hidden exits are invisible in `look` and `verbs` output until the player
+discovers them by traversing them once. Even hidden, the exit is still
+traversable — just not listed. Once a player moves through a hidden exit, it
+becomes "discovered" for that character and appears in listing with a
+`(HIDDEN)` tag. On the map, hidden exits (and rooms only reachable via them)
+do not appear until the character discovers them. Gods in `god` mode see all
+hidden exits regardless of discovery.
+
+```yaml
+exits:
+ down:
+ room: 1002
+ hidden: true
+```
+
+### 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
+room-to-room links so the map can lay the course out visually.
+
+```yaml
+exits:
+ north:
+ room: 99999221
+ always_blocked: true
+```
+
+Hidden and always_blocked can be combined: the exit is invisible until
+discovered (or seen by a god), and then shows as impassable.
+
### Map grid & one-way exits
All exits (north/south/east/west/ne/nw/se/sw) must form a consistent 3D grid: from