aboutsummaryrefslogtreecommitdiff
path: root/building_guide/rooms.md
diff options
context:
space:
mode:
authorhistoria <[not public]>2026-07-01 03:21:52 -0400
committerhistoria <[not public]>2026-07-01 03:21:52 -0400
commitfbe5090ac3325ff8ea6989cdf4515c7f077c975b (patch)
tree1811ad9c6a596e7177bb2c42944c389c0a120066 /building_guide/rooms.md
parent5f37dc9b6f6b79da04da70ae0c33ec8d02998587 (diff)
downloadthehouseoficarus-fbe5090ac3325ff8ea6989cdf4515c7f077c975b.tar.gz
feat: item messaging standardized, custom messages for production paths implemented
Diffstat (limited to 'building_guide/rooms.md')
-rw-r--r--building_guide/rooms.md18
1 files changed, 11 insertions, 7 deletions
diff --git a/building_guide/rooms.md b/building_guide/rooms.md
index 0211c33..d3412de 100644
--- a/building_guide/rooms.md
+++ b/building_guide/rooms.md
@@ -42,6 +42,8 @@ Simple exit — always passable:
```yaml
exits:
north: 2
+ ne: 3 # ne/nw/se/sw also work
+ southeast: 4
```
Conditional exit — blocked until a world flag is set:
@@ -90,10 +92,11 @@ exits:
### Map grid & one-way exits
-Horizontal exits (north/south/east/west) must form a consistent 2D grid: from any
-starting room, walking N/S/E/W should never land two different rooms on the same
-spot, and a given room must always resolve to the same spot. Up/down don't move on
-the grid — they lead to a separate plane (floor) that is laid out on its own.
+All exits (north/south/east/west/ne/nw/se/sw) must form a consistent 3D grid: from
+any starting room, walking horizontal directions should never land two different
+rooms on the same 3D coordinate, and a given room must always resolve to the same
+spot. Up/down move on the z-axis within this same grid (different floors share the
+same x/y coordinate space).
Startup validation enforces this, starting from `startup_validation.root_rooms`
(see config.yaml). It reports an **overlap** (two rooms on one grid cell) or a
@@ -101,9 +104,10 @@ Startup validation enforces this, starting from `startup_validation.root_rooms`
Exits don't have to be reciprocal. A one-way link (e.g. room 2001 has `east: 2006`
but 2006 has no `west` back) renders on the map as a directional arrow
-(`← ↑ → ↓`, or `< ^ > v` in ASCII) instead of a two-way bar. If a link is open in
-one direction but blocked (failing condition) in the other, the open direction's
-arrow is shown; only a link with no traversable direction shows the blocked `X`.
+(`← ↑ → ↓`, or `< ^ > v` in ASCII, with `↗↖↘↙` for diagonal) instead of a
+two-way bar. If a link is open in one direction but blocked (failing condition) in
+the other, the open direction's arrow is shown; only a link with no traversable
+direction shows the blocked `X`. Blocked up/down exits also show the blocked `X`.
### Item Spawns — ground items that respawn