diff options
| author | historia <[not public]> | 2026-06-25 15:40:48 -0400 |
|---|---|---|
| committer | historia <[not public]> | 2026-06-25 15:40:48 -0400 |
| commit | abd612c15799f604e671e83dc7c410ed2b44185f (patch) | |
| tree | 0597ca92350de73aac2a7cf26b2f2d6595dac0cc /building_guide | |
| parent | 2725e2927a1595c7b100d942d1f14146252adeb7 (diff) | |
| download | thehouseoficarus-abd612c15799f604e671e83dc7c410ed2b44185f.tar.gz | |
slop refactor
Diffstat (limited to 'building_guide')
| -rw-r--r-- | building_guide/hidden_objects.md | 13 | ||||
| -rw-r--r-- | building_guide/rooms.md | 10 |
2 files changed, 12 insertions, 11 deletions
diff --git a/building_guide/hidden_objects.md b/building_guide/hidden_objects.md index 65940d6..0adb7d9 100644 --- a/building_guide/hidden_objects.md +++ b/building_guide/hidden_objects.md @@ -42,10 +42,10 @@ specific enough to avoid overlap between objects in the same room. ### Descriptions that react to flags -An object can show different `look` text depending on the looking player's flags, -using a `descriptions` list (first matching condition wins). This is the simplest -way to fake per-player scenery — a crowd that becomes a queue, an NPC that -"appears" partway through a scene — without spawning real objects or mobs. +An object's `description` can be a plain string or a list of conditional variants +(first matching condition wins). This is the simplest way to fake per-player +scenery — a crowd that becomes a queue, an NPC that "appears" partway through a +scene — without spawning real objects or mobs. **If none of the variants match, the object is treated as absent for that player** — `look <it>` reports nothing is there. Combined with `hidden: true`, the @@ -56,7 +56,7 @@ an intro) and vanish on return visits. name: crowd of people aliases: [people, crowd, passengers] hidden: true -descriptions: +description: - condition: # after the pilot arrives all_of: - player_flag: boarded @@ -73,7 +73,8 @@ descriptions: # once `boarded` is set, no variant matches -> the crowd is gone ``` -A plain `description:` (with no `descriptions:` list) is always present, as before. +A bare string in `description:` maps to a single unconditional entry, so a plain +object is always present as before. ### Safespot Objects diff --git a/building_guide/rooms.md b/building_guide/rooms.md index e1408c5..7028393 100644 --- a/building_guide/rooms.md +++ b/building_guide/rooms.md @@ -171,17 +171,17 @@ Notes: ### Conditional room descriptions -A room can show a different description depending on the looking player's flags. -`descriptions` are checked top-to-bottom; the first whose condition passes wins, -otherwise the base `description` is used. +A room's `description` can be a plain string or a list of conditional variants. +Entries are checked top-to-bottom; the first whose condition passes wins. An +entry with no condition always matches — put it last as the fallback. ```yaml -description: "A large, empty concrete pad in the middle of the ocean." -descriptions: +description: - condition: player_flag: boarded not: true text: "A concrete pad swarming with a couple dozen anxious passengers." + - text: "A large, empty concrete pad in the middle of the ocean." ``` ### Hazardous rooms — environmental danger |
