From fbe5090ac3325ff8ea6989cdf4515c7f077c975b Mon Sep 17 00:00:00 2001 From: historia <[not public]> Date: Wed, 1 Jul 2026 03:21:52 -0400 Subject: feat: item messaging standardized, custom messages for production paths implemented --- building_guide/rooms.md | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) (limited to 'building_guide/rooms.md') 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 -- cgit v1.2.3