From 6dc3a123e640842a84cf93e753b2d32e7ee529cd Mon Sep 17 00:00:00 2001 From: Jeroen Schweitzer Date: Sat, 21 Feb 2026 14:05:17 +0100 Subject: [PATCH] =?UTF-8?q?feat(copy):=20#299=20#300=20opening=20hook=20mo?= =?UTF-8?q?nologue=20=E2=80=94=20smuggler=20+=20detective=20first=205=20mi?= =?UTF-8?q?nutes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Smuggler: 11-line diegetic tutorial arc (station hum → Kael → fog → sound ping) Detective: 12-line analytical tutorial arc (lattice overlay → Sera → manifest anomaly) Both sequences: priority 8-10, cooldown 9999 (fire once), prerequisites null, fully D-035 schema-compliant. Voice-checked against docs/design/voice-patterns.md. Co-Authored-By: Claude Opus 4.6 --- .../transit/monologue/detective/opening.yaml | 165 ++++++++++++++++++ .../transit/monologue/smuggler/opening.yaml | 152 ++++++++++++++++ 2 files changed, 317 insertions(+) create mode 100644 content/campaigns/main/systems/krenn/stations/sova/districts/transit/monologue/detective/opening.yaml create mode 100644 content/campaigns/main/systems/krenn/stations/sova/districts/transit/monologue/smuggler/opening.yaml diff --git a/content/campaigns/main/systems/krenn/stations/sova/districts/transit/monologue/detective/opening.yaml b/content/campaigns/main/systems/krenn/stations/sova/districts/transit/monologue/detective/opening.yaml new file mode 100644 index 000000000..c087e6d3e --- /dev/null +++ b/content/campaigns/main/systems/krenn/stations/sova/districts/transit/monologue/detective/opening.yaml @@ -0,0 +1,165 @@ +character: detective +location: opening +lines: + # Opening Hook Sequence — Ticket #300 — Detective Diegetic Tutorial Arc / First 5 Minutes + # 12 lines. Prerequisites null on all — fires before any knowledge graph state exists. + # Priority 8-10 ensures these fire before the general terminal pool lines. + # cooldown: 9999 — each line fires once, does not repeat. + # Arc: institutional orientation → sensory/analytical → lattice overlay → Commission kiosk → fog boundary → + # NPC lattice scan → Sera sighting → Sera warmth → manifest board → anomaly → flag it → operational settle. + # Contraction discipline: analytical lines = uncontracted; personal lines (Sera) = contracted. + # All lines fully schema-compliant per D-035 (role, access, trust, situation present). + + - id: opening_m_d_001 + text: "Sova Transit. Mid-morning shift, dock lighting at half-cycle. Consistent with the Commission pre-arrival briefing." + role: player_character + access: [public] + trust: surface + situation: [arrival, shift_start] + trigger: enter_location + mood: [focused] + priority: 10 + cooldown: 9999 + tags: [opening-hook, tutorial-arc, analytical, orientation] + notes: "Opening line. Reality matches the briefing — he arrived prepared. Establishes: detective as institutional outsider sent here. Cool-lit corridors per D-046 expressed through 'half-cycle' lighting observation. No contractions (analytical)." + + - id: opening_m_d_002 + text: "Cargo lubricant, recycled atmosphere. Same mixture on every freight hub from here to the wormhole threshold. First observation: consistent with Commission briefing profile." + role: player_character + access: [public] + trust: surface + situation: [arrival, shift_start] + trigger: enter_location + priority: 10 + cooldown: 9999 + tags: [opening-hook, tutorial-arc, atmospheric, analytical] + notes: "Environmental sensory in analytical register. Colon usage (detective verbal pattern, section 2.2). No contractions. Contrast with smuggler's 'Home sweet home' — same smell, opposite emotional valence. He's working, not home." + + - id: opening_m_d_003 + text: "Lattice overlay initializing. Four identity flags in immediate range — cross-referencing against Commission case file." + role: player_character + access: [public] + trust: surface + situation: [arrival, shift_start] + trigger: enter_location + mood: [focused] + priority: 10 + cooldown: 9999 + tags: [opening-hook, tutorial-arc, lattice, perception] + notes: "Teaches insert channel. The analytical lattice is active on entry — it flags and cross-references automatically. Teaches: detective's insert HUD is denser and diegetically active (D-048). Players learn the lattice is a tool, not decoration." + + - id: opening_m_d_004 + text: "Commission kiosk confirmed my credentials on entry. Authority access logged. The floor knows someone's here." + role: player_character + access: [public] + trust: surface + situation: [arrival, shift_start] + trigger: enter_location + mood: [focused] + priority: 9 + cooldown: 9999 + tags: [opening-hook, tutorial-arc, institutional, authority] + notes: "Commission kiosk visible, institutional standing established. Sardonic close — dry awareness of his effect on the social environment. Confidence register: wry humor (section 2.8). Teaches: Authority access tier, institutional role is visible to NPCs." + + - id: opening_m_d_005 + text: "Visual range terminates at bay nine. Approximately fifteen meters. Consistent with district atmo settings." + role: player_character + access: [public] + trust: surface + situation: [arrival, shift_start, observation] + trigger: enter_location + priority: 9 + cooldown: 9999 + tags: [opening-hook, tutorial-arc, fog, perception] + notes: "Fog boundary in analytical register. He clocks the measurement, notes 'approximately' — precision with honest calibration. Contrast with smuggler's 'Can't see the far dock' — same fog, different framing: limitation vs. measurement." + + - id: opening_m_d_006 + text: "Dock workers distributed across nine visible bays. Lattice flagging each on contact. Names from the case file, faces from the floor." + role: player_character + access: [public] + trust: surface + situation: [arrival, shift_start, observation] + trigger: enter_location + mood: [focused] + priority: 9 + cooldown: 9999 + tags: [opening-hook, tutorial-arc, lattice, orientation] + notes: "Spatial overview with lattice overlay tutorial. Explains how the insert channel works: lattice matches observed faces against the pre-loaded case file. Parallel structure ('Names from... faces from...'). Teaches: NPC identification comes through the lattice." + + - id: opening_m_d_007 + text: "Venn, S. at the far terminal. She said she'd come in early." + role: player_character + access: [public] + trust: surface + situation: [arrival, shift_start, social] + trigger: observe_npc + mood: [warm] + priority: 10 + cooldown: 9999 + tags: [opening-hook, tutorial-arc, sera, friend-arc] + notes: "First Sera sighting. Surname-initial filing first (institutional reflex) — then breaks to personal contracted voice ('she'd') in the same beat. Teaches contrast: case-file subjects get 'Davan, K.'; Sera gets a different register. D-033 Unknown/Neutral teal entity." + + - id: opening_m_d_008 + text: "She's got the manifest logs open already. We've worked this district before — she knows what I need before I ask." + role: player_character + access: [public] + trust: surface + situation: [arrival, shift_start, social] + trigger: observe_npc + mood: [warm] + priority: 9 + cooldown: 9999 + tags: [opening-hook, tutorial-arc, sera, friend-arc] + notes: "Sera warmth. Fully contracted throughout ('She's', 'We've', 'she knows') — personal mode, no analytical distance. Em-dash. Prior relationship established. Contrast with how he processes everyone else. Teaches: some NPCs are in a different relational category (THE FRIEND pattern, D-034)." + + - id: opening_m_d_009 + text: "Central manifest board: real-time container routing, weight declarations, bay assignments. Everything routes through here." + role: player_character + access: [public] + trust: surface + situation: [arrival, shift_start, investigation] + trigger: enter_location + mood: [focused] + priority: 8 + cooldown: 9999 + tags: [opening-hook, tutorial-arc, manifest, investigation] + notes: "Manifest board labeled and cataloged. Colon usage (section 2.2). No contractions (analytical). Teaches: the manifest board is the information hub — and therefore the investigation's starting point." + + - id: opening_m_d_010 + text: "Container 4471. Temp storage flag since yesterday. Standard turnaround is sub-eight hours — that's not standard." + role: player_character + access: [public] + trust: surface + situation: [arrival, observation, investigation] + trigger: observe_anomaly + mood: [focused, suspicious] + priority: 9 + cooldown: 9999 + tags: [opening-hook, tutorial-arc, manifest, investigation, anomaly] + notes: "First manifest anomaly. Specific container ID from case file. 'That's not standard' — only contraction in an analytical line, marking it as personal reaction to the finding. Sets the investigation hook: something is wrong before he asks a single question." + + - id: opening_m_d_011 + text: "Worth flagging. Let's see what the shift logs say about that container's overnight routing." + role: player_character + access: [public] + trust: surface + situation: [observation, investigation] + trigger: observe_anomaly + mood: [focused] + priority: 8 + cooldown: 9999 + tags: [opening-hook, tutorial-arc, investigation, next-step] + notes: "'Worth flagging' + 'Let's see what' — both detective verbal tics in sequence (section 2.7). Frames the next investigative step. Teaches: investigation is incremental — observe, flag, investigate deeper." + + - id: opening_m_d_012 + text: "Lattice stable. Nine identity flags and counting. Let's see what this shift tells me." + role: player_character + access: [public] + trust: surface + situation: [arrival, shift_start] + trigger: enter_location + mood: [focused] + priority: 7 + cooldown: 9999 + tags: [opening-hook, tutorial-arc, lattice, operational] + notes: "Operational settle — closes the opening arc. Lattice confirmed active, identity count growing. 'Let's see what...' verbal tic as the closing beat. The whole opening hook lands here: credentials logged, floor scanned, first anomaly flagged. Investigation begins." diff --git a/content/campaigns/main/systems/krenn/stations/sova/districts/transit/monologue/smuggler/opening.yaml b/content/campaigns/main/systems/krenn/stations/sova/districts/transit/monologue/smuggler/opening.yaml new file mode 100644 index 000000000..96420c9c4 --- /dev/null +++ b/content/campaigns/main/systems/krenn/stations/sova/districts/transit/monologue/smuggler/opening.yaml @@ -0,0 +1,152 @@ +character: smuggler +location: opening +lines: + # Opening Hook Sequence — Ticket #299 — Smuggler Diegetic Tutorial Arc / First 5 Minutes + # 11 lines. Prerequisites null on all — fires before any knowledge graph state exists. + # Priority 8-10 ensures these fire before the general terminal pool lines. + # cooldown: 9999 — each line fires once, does not repeat. + # Arc: station hum → spatial count → fog boundary → thin crowd → Kael sighting ×2 → news ticker → sound ping → time countdown → settle ×2. + # All lines fully schema-compliant per D-035 (role, access, trust, situation present). + + - id: opening_m_s_001 + text: "Station hum. B-flat, steady — freight's moving." + role: player_character + access: [public] + trust: surface + situation: [arrival, shift_start] + trigger: enter_location + mood: [content] + priority: 10 + cooldown: 9999 + tags: [opening-hook, tutorial-arc, atmospheric] + notes: "Opening sensation. Station audio registers first — the hum tells her freight is running. Teaches: audio environment carries operational information (D-074)." + + - id: opening_m_s_002 + text: "Sixteen bays, three arms running. Standard morning." + role: player_character + access: [public] + trust: surface + situation: [arrival, shift_start] + trigger: enter_location + mood: [content] + priority: 10 + cooldown: 9999 + tags: [opening-hook, tutorial-arc, orientation] + notes: "Spatial orientation. She clocks the floor in two beats — count of bays, count of running arms. Everything in fragments. Teaches: the terminal layout." + + - id: opening_m_s_003 + text: "Haze past bay eight today. Can't see the far dock from here." + role: player_character + access: [public] + trust: surface + situation: [arrival, shift_start, observation] + trigger: enter_location + mood: [content] + priority: 10 + cooldown: 9999 + tags: [opening-hook, tutorial-arc, fog, perception] + notes: "Fog boundary. She notices the edge of her vision as a fact of the floor, not a mechanic. Teaches: perception range has limits (D-015, D-046)." + + - id: opening_m_s_004 + text: "Morning crew's spread thin. Good. Room to move." + role: player_character + access: [public] + trust: surface + situation: [arrival, shift_start] + trigger: enter_location + mood: [content] + priority: 9 + cooldown: 9999 + tags: [opening-hook, tutorial-arc] + notes: "Light crowd = operational comfort. 'Good.' standalone verbal tic (section 1.7). Teaches: NPC density affects movement options." + + - id: opening_m_s_005 + text: "Kael's at dock three. Right where he should be." + role: player_character + access: [public] + trust: surface + situation: [arrival, shift_start, social] + trigger: observe_npc + mood: [content, warm] + priority: 10 + cooldown: 9999 + tags: [opening-hook, tutorial-arc, kael, friend-arc] + notes: "First Kael sighting. Warm, immediate — she locates him before she finishes reading the floor. Teaches: named NPCs are identifiable via insert overlay (D-033 green entity)." + + - id: opening_m_s_006 + text: "Already has his clipboard. Day's organized before it starts. That's Kael." + role: player_character + access: [public] + trust: surface + situation: [arrival, shift_start, social] + trigger: observe_npc + mood: [warm] + priority: 9 + cooldown: 9999 + tags: [opening-hook, tutorial-arc, kael, friend-arc] + notes: "Kael warmth. Three beats: observation → interpretation → naming. The name at the end lands as affection. Establishes: Kael is trusted, competent, reliable — the baseline before the friend arc erodes it." + + - id: opening_m_s_007 + text: "Bulletin board's got a new Commission notice. Lattice registration updates. Not today's problem." + role: player_character + access: [public] + trust: surface + situation: [arrival, routine] + trigger: enter_location + mood: [content] + priority: 8 + cooldown: 9999 + tags: [opening-hook, tutorial-arc, news-ticker] + notes: "News ticker glance. She reads and dismisses it. The Commission exists as background noise — relevant only when it stops being ignorable. Teaches: environmental text exists, player can engage or skip. D-037 irony: lattice registration is exactly what the ring circumvents." + + - id: opening_m_s_008 + text: "Span gate echo from dock fourteen. Something inbound, running heavy by the sound of it." + role: player_character + access: [public] + trust: surface + situation: [arrival, shift_start, observation] + trigger: hear_sound + mood: [content] + priority: 9 + cooldown: 9999 + tags: [opening-hook, tutorial-arc, sound, perception] + notes: "First sound ping at the edge of range. She interprets pitch instantly — the echo tells her load weight. Teaches: sound carries operational information (D-018, D-074 sound model). Sound channel is meaningful." + + - id: opening_m_s_009 + text: "Shift board says light cargo today. Fifty minutes before Voss does his rounds." + role: player_character + access: [public] + trust: surface + situation: [arrival, shift_start, routine] + trigger: enter_location + mood: [content] + priority: 8 + cooldown: 9999 + tags: [opening-hook, tutorial-arc, operational] + notes: "'Fifty minutes' = time-as-countdown verbal tic (section 1.7). She's already calculating windows. Teaches: time and NPC patrol rhythms are trackable." + + - id: opening_m_s_010 + text: "Same floor, same faces, same hum. Could be worse." + role: player_character + access: [public] + trust: surface + situation: [arrival, shift_start] + trigger: enter_location + mood: [content] + priority: 8 + cooldown: 9999 + tags: [opening-hook, tutorial-arc, atmospheric] + notes: "Settling line. Baseline contentment. Parallel three-beat structure then understatement. 'Could be worse' is her comfort language — not enthusiastic, just settled. Voice anchor for confidence register (section 1.8)." + + - id: opening_m_s_011 + text: "Dock's clean this morning. Good start." + role: player_character + access: [public] + trust: surface + situation: [arrival, shift_start, routine] + trigger: enter_location + mood: [content] + priority: 7 + cooldown: 9999 + tags: [opening-hook, tutorial-arc] + notes: "Close of opening arc. Short, approving. 'Good start' = positive 'Good.' tic applied to the environment. Everything is where it should be — for now."