Two separated brothers, Marlon (conservatory) and Malte (boiler room), can be reunited as optional content. Carry each twin's marble to the other as proof he's alive and that twin follows you; lead both to the foyer and they escape together, granting a Brass Compass keepsake and unlocking a new top-priority "No One Left Behind" ending. Purely optional — no main win condition depends on it. The new EscortEngine drives following and the foyer reunion from flags alone, so save/load needs no format change (it reconciles follower placement on the first tick after loading). Adds Room.removeNpc, one tick call in the game loop, and a follower note appended by LookCommand. descriptionStates swap the twins' home-room prose once they leave. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
214 lines
6.5 KiB
YAML
214 lines
6.5 KiB
YAML
# Haunted Manor — 14 rooms across three levels, wired over compass exits.
|
|
# Ground floor (manor-theme), cellar (cellar-drone, dark), upper floor
|
|
# (musicbox / lament). The upward stair is power-locked; everything else is open.
|
|
|
|
# ── Ground floor ──────────────────────────────────────────────────────────
|
|
|
|
- id: foyer
|
|
name: Entrance Foyer
|
|
description: |
|
|
A grand, decaying foyer. The heavy front door stands at your back; an
|
|
oil lamp waits on a side table. A wide archway opens north into the hall.
|
|
music: manor-theme.ogg
|
|
exits:
|
|
north: grand_hall
|
|
items: [front_door, lamp]
|
|
npcs: []
|
|
|
|
- id: grand_hall
|
|
name: Grand Hall
|
|
description: |
|
|
A cavernous hall, the hub of the house. Passages branch in every
|
|
direction: the foyer to the south, a dining room north, the kitchen
|
|
east, and the library west.
|
|
music: manor-theme.ogg
|
|
exits:
|
|
south: foyer
|
|
north: dining_room
|
|
east: kitchen
|
|
west: library
|
|
items: []
|
|
npcs: []
|
|
|
|
- id: kitchen
|
|
name: Old Kitchen
|
|
description: |
|
|
A dusty kitchen. Cobwebs hang from the rafters, a box of matches sits
|
|
by the stove, and a letter lies on the table. A narrow stair descends
|
|
south into darkness.
|
|
music: manor-theme.ogg
|
|
exits:
|
|
west: grand_hall
|
|
south: cellar_stairs
|
|
items: [matches, letter]
|
|
npcs: []
|
|
|
|
- id: library
|
|
name: Library
|
|
description: |
|
|
Tall shelves crammed with mouldering books. A rusty shovel leans in one
|
|
corner and a leather journal lies open on a reading stand. A stooped old
|
|
man keeps watch among the stacks.
|
|
music: manor-theme.ogg
|
|
exits:
|
|
east: grand_hall
|
|
items: [shovel, journal]
|
|
npcs: [old_man]
|
|
|
|
- id: dining_room
|
|
name: Dining Room
|
|
description: |
|
|
A long banquet table under a sheet of dust. An unlit torch rests in a
|
|
wall bracket and a faded portrait hangs above the hearth. A conservatory
|
|
lies north; a grand staircase rises to the east.
|
|
music: manor-theme.ogg
|
|
exits:
|
|
south: grand_hall
|
|
north: conservatory
|
|
east: grand_staircase
|
|
items: [torch, portrait]
|
|
npcs: []
|
|
|
|
- id: conservatory
|
|
name: Conservatory
|
|
description: |
|
|
A glass-roofed room choked with dead ferns. Rusted plumbing lines the
|
|
walls, and a heavy iron valve wheel has been left on a potting bench.
|
|
A frightened young man cowers among the planters, a blue marble in his fist.
|
|
music: manor-theme.ogg
|
|
exits:
|
|
south: dining_room
|
|
items: [valve_wheel, marlon_keepsake]
|
|
npcs: [marlon]
|
|
descriptionStates:
|
|
- when: [{ flag: marlon_following }]
|
|
text: |
|
|
A glass-roofed room choked with dead ferns. Rusted plumbing lines the
|
|
walls, and a heavy iron valve wheel has been left on a potting bench.
|
|
The corner where the frightened young man crouched is empty now.
|
|
|
|
- id: grand_staircase
|
|
name: Grand Staircase
|
|
description: |
|
|
A sweeping staircase climbs into the gloom of the upper floor. The dining
|
|
room lies west. Without power, the lift gate at the top is sealed shut.
|
|
music: manor-theme.ogg
|
|
exits:
|
|
west: dining_room
|
|
north: landing
|
|
items: []
|
|
npcs: []
|
|
exitLocks:
|
|
- direction: north
|
|
requires: [{ flag: power_on }]
|
|
blocked: |
|
|
The lift gate at the head of the stairs is bolted by a dead electric
|
|
lock. Until the manor has power, the upper floor stays out of reach.
|
|
|
|
# ── Cellar (dark — needs a carried light source) ────────────────────────────
|
|
|
|
- id: cellar_stairs
|
|
name: Cellar Landing
|
|
description: |
|
|
The bottom of the kitchen stair. The air is wet and close. Passages lead
|
|
east toward the sound of standing water and west toward a cold furnace.
|
|
music: cellar-drone.ogg
|
|
dark: true
|
|
exits:
|
|
north: kitchen
|
|
east: flooded_cellar
|
|
west: boiler_room
|
|
items: []
|
|
npcs: []
|
|
|
|
- id: flooded_cellar
|
|
name: Flooded Cellar
|
|
description: |
|
|
You stand knee-deep in black, freezing water. A drainage valve juts from
|
|
the wall, its wheel long since removed.
|
|
music: cellar-drone.ogg
|
|
dark: true
|
|
exits:
|
|
west: cellar_stairs
|
|
items: [valve]
|
|
npcs: []
|
|
descriptionStates:
|
|
- when: [{ flag: cellar_drained }]
|
|
text: |
|
|
The drained basin has given up its muddy floor. The valve still
|
|
stands open against the wall, water trickling away below.
|
|
|
|
- id: boiler_room
|
|
name: Boiler Room
|
|
description: |
|
|
A cramped stone room behind the furnace. A rusty generator squats in the
|
|
corner, an empty fuse socket gaping in its housing. A shivering young man
|
|
huddles against the cold iron, a red marble clenched in his hand.
|
|
music: cellar-drone.ogg
|
|
dark: true
|
|
exits:
|
|
east: cellar_stairs
|
|
items: [generator, malte_keepsake]
|
|
npcs: [malte]
|
|
descriptionStates:
|
|
- when: [{ flag: malte_following }]
|
|
text: |
|
|
A cramped stone room behind the furnace. A rusty generator squats in
|
|
the corner, an empty fuse socket gaping in its housing. The cold spot
|
|
by the iron where the shivering man huddled is empty now.
|
|
|
|
# ── Upper floor (reachable only once the power is on) ───────────────────────
|
|
|
|
- id: landing
|
|
name: Upper Landing
|
|
description: |
|
|
A railed landing above the hall, lit now by the restored lights. Doors
|
|
open north to the master bedroom, east to a study, and west to a small
|
|
chapel. The staircase falls away to the south.
|
|
music: musicbox.ogg
|
|
exits:
|
|
south: grand_staircase
|
|
north: master_bedroom
|
|
east: study
|
|
west: chapel
|
|
items: []
|
|
npcs: []
|
|
|
|
- id: master_bedroom
|
|
name: Master Bedroom
|
|
description: |
|
|
A grand four-poster bed, its drapes rotted to lace. On the nightstand,
|
|
catching the light, lies a silver locket.
|
|
music: musicbox.ogg
|
|
exits:
|
|
south: landing
|
|
items: [locket]
|
|
npcs: []
|
|
|
|
- id: study
|
|
name: Study
|
|
description: |
|
|
A cluttered writing study. Papers lie scattered across the desk, and a
|
|
framed photograph has fallen face-up among them.
|
|
music: musicbox.ogg
|
|
exits:
|
|
west: landing
|
|
items: [photograph]
|
|
npcs: []
|
|
|
|
- id: chapel
|
|
name: Manor Chapel
|
|
description: |
|
|
A tiny private chapel. A stone shrine stands at the far end beneath a
|
|
narrow window. A cold presence presses against you here.
|
|
music: lament.ogg
|
|
exits:
|
|
east: landing
|
|
items: [shrine]
|
|
npcs: []
|
|
descriptionStates:
|
|
- when: [{ flag: ghost_banished }]
|
|
text: |
|
|
A tiny private chapel. The shrine stands quiet beneath the window,
|
|
and only still moonlight remains. The cold presence is gone.
|