200 monologue lines (100 per character) across 8 location files: arrival flavor, NPC commentary, knowledge-gated contradiction lines. 20 dual-lens news ticker headlines for The Last Shift bar. First real content load for the monologue system. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
+52
-2
@@ -1,2 +1,52 @@
|
||||
# TODO: Revise structure when automatic dialogue/monologue generators mature (D-028 Tier 2).
|
||||
# Monologue: detective at general
|
||||
character: detective
|
||||
location: general
|
||||
lines:
|
||||
- id: general_m_d_001
|
||||
text: "Sova Transit District. Population twelve thousand and change. Let's narrow that down."
|
||||
trigger: enter_location
|
||||
tags: [arrival, analytical]
|
||||
|
||||
- id: general_m_d_002
|
||||
text: "The span gate resonance is constant here. Background radiation of a freight hub."
|
||||
trigger: hear_sound
|
||||
tags: [environmental]
|
||||
|
||||
- id: general_m_d_003
|
||||
text: "First week on station. The case file is thin. The manifest discrepancies are not."
|
||||
trigger: time_idle
|
||||
tags: [investigation, orientation]
|
||||
|
||||
- id: general_m_d_004
|
||||
text: "Everyone knows I'm Commission. The conversations stop when I walk in. Noted."
|
||||
trigger: time_idle
|
||||
tags: [investigation, social]
|
||||
|
||||
- id: general_m_d_005
|
||||
text: "Station gravity's point-nine-three standard. Enough to notice after a long shift."
|
||||
trigger: time_idle
|
||||
tags: [environmental, personal]
|
||||
|
||||
- id: general_m_d_006
|
||||
text: "The previous liaison rotated out three months ago. That gap matters."
|
||||
trigger: time_idle
|
||||
tags: [investigation, analytical]
|
||||
|
||||
- id: general_m_d_007
|
||||
text: "Back in the district. Let's see what changed while I wasn't watching."
|
||||
trigger: return_visit
|
||||
tags: [arrival, analytical]
|
||||
|
||||
- id: general_m_d_008
|
||||
text: "Recycled air, industrial residue, and that constant gate hum. Sova in three notes."
|
||||
trigger: enter_location
|
||||
tags: [environmental, atmospheric]
|
||||
|
||||
- id: general_m_d_009
|
||||
text: "Communities like this close ranks around outsiders. Patient work."
|
||||
trigger: time_idle
|
||||
tags: [reflection, social]
|
||||
|
||||
- id: general_m_d_010
|
||||
text: "The manifest data goes back eighteen months. The pattern starts around month six."
|
||||
trigger: time_idle
|
||||
tags: [investigation, analytical]
|
||||
|
||||
+174
-2
@@ -1,2 +1,174 @@
|
||||
# TODO: Revise structure when automatic dialogue/monologue generators mature (D-028 Tier 2).
|
||||
# Monologue: detective at maintenance-corridors
|
||||
character: detective
|
||||
location: maintenance-corridors
|
||||
lines:
|
||||
# --- Arrival + Environmental Flavor ---
|
||||
|
||||
- id: maintenance-corridors_m_d_001
|
||||
text: "Maintenance level. Low lighting, exposed conduit, restricted access nobody enforces."
|
||||
trigger: enter_location
|
||||
tags: [arrival, environmental]
|
||||
|
||||
- id: maintenance-corridors_m_d_002
|
||||
text: "The air's different down here. Cooler. Damper. Less filtered."
|
||||
trigger: enter_location
|
||||
tags: [environmental, atmospheric]
|
||||
|
||||
- id: maintenance-corridors_m_d_003
|
||||
text: "Service corridor B-section. Not on the public transit map. Interesting routing options."
|
||||
trigger: enter_location
|
||||
tags: [arrival, investigation]
|
||||
|
||||
- id: maintenance-corridors_m_d_004
|
||||
text: "Water recycling conduits. The station's circulatory system, hidden from view."
|
||||
trigger: hear_sound
|
||||
tags: [environmental]
|
||||
|
||||
- id: maintenance-corridors_m_d_005
|
||||
text: "Pipe network branching three directions. Good for maintenance. Better for privacy."
|
||||
trigger: enter_location
|
||||
tags: [environmental, analytical]
|
||||
|
||||
- id: maintenance-corridors_m_d_006
|
||||
text: "Emergency lighting only. Visibility reduced, but so is surveillance coverage."
|
||||
trigger: enter_location
|
||||
tags: [environmental, investigation]
|
||||
|
||||
- id: maintenance-corridors_m_d_007
|
||||
text: "The rust smell is stronger near junction B-7. Older section. Less maintenance."
|
||||
trigger: enter_location
|
||||
tags: [environmental, atmospheric]
|
||||
|
||||
- id: maintenance-corridors_m_d_008
|
||||
text: "Back in the corridors. Different route this time — mapping the alternatives."
|
||||
trigger: return_visit
|
||||
tags: [arrival, investigation]
|
||||
|
||||
# --- Investigation Observations ---
|
||||
|
||||
- id: maintenance-corridors_m_d_009
|
||||
text: "Scuff marks on the floor. Recent, heavy. Cargo weight, not foot traffic."
|
||||
trigger: observe_anomaly
|
||||
tags: [investigation, evidence]
|
||||
|
||||
- id: maintenance-corridors_m_d_010
|
||||
text: "The service hatch has been used recently. Oil on the handle, dust disturbed."
|
||||
trigger: observe_anomaly
|
||||
tags: [investigation, evidence]
|
||||
|
||||
- id: maintenance-corridors_m_d_011
|
||||
text: "Restricted access, but the lock plate shows wear. Regular use by someone with clearance."
|
||||
trigger: observe_anomaly
|
||||
tags: [investigation, evidence]
|
||||
|
||||
- id: maintenance-corridors_m_d_012
|
||||
text: "Sound carries differently down here. Voices from two junctions away, if you're patient."
|
||||
trigger: hear_sound
|
||||
tags: [environmental, investigation]
|
||||
|
||||
- id: maintenance-corridors_m_d_013
|
||||
text: "Chalk marks on the wall. Low, deliberate. Not maintenance notation — wrong color."
|
||||
trigger: observe_anomaly
|
||||
tags: [investigation, evidence]
|
||||
|
||||
- id: maintenance-corridors_m_d_014
|
||||
text: "This corridor connects bay four to temp storage. Bypasses the main freight floor entirely."
|
||||
trigger: enter_location
|
||||
tags: [investigation, operational]
|
||||
|
||||
- id: maintenance-corridors_m_d_015
|
||||
text: "Footsteps ahead. Single set, moving fast. Someone who knows where they're going."
|
||||
trigger: hear_sound
|
||||
tags: [investigation, caution]
|
||||
|
||||
- id: maintenance-corridors_m_d_016
|
||||
text: "The temp storage access from this side isn't logged on the manifest system. Blind spot."
|
||||
trigger: observe_anomaly
|
||||
tags: [investigation, evidence]
|
||||
|
||||
# --- Knowledge-Gated Lines ---
|
||||
|
||||
- id: maintenance-corridors_m_d_017
|
||||
text: "The cargo scuff pattern matches bay four containers. Dock to corridor to storage — the route."
|
||||
trigger: observe_anomaly
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: smuggling_route
|
||||
min_confidence: suspects
|
||||
priority: 8
|
||||
tags: [investigation, evidence, breakthrough]
|
||||
|
||||
- id: maintenance-corridors_m_d_018
|
||||
text: "Those chalk marks match the courier's timing. Renn's route markers, if I had to guess."
|
||||
trigger: observe_anomaly
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: renn_courier_role
|
||||
min_confidence: knows_of
|
||||
priority: 7
|
||||
tags: [npc, renn, investigation, evidence]
|
||||
|
||||
- id: maintenance-corridors_m_d_019
|
||||
text: "Camera blind spot at junction C-2. Coincidence, or someone mapped the coverage?"
|
||||
trigger: observe_anomaly
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: surveillance_gaps
|
||||
min_confidence: suspects
|
||||
tags: [investigation, operational]
|
||||
|
||||
- id: maintenance-corridors_m_d_020
|
||||
text: "Standard container, no manifest checkpoint along this route. That's the gap."
|
||||
trigger: time_idle
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: smuggling_route
|
||||
min_confidence: knows_details
|
||||
priority: 9
|
||||
tags: [investigation, breakthrough]
|
||||
|
||||
- id: maintenance-corridors_m_d_021
|
||||
text: "Hatch lubricant is fresh. Someone's maintaining this access point. Not station maintenance."
|
||||
trigger: observe_anomaly
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: corridor_regular_use
|
||||
min_confidence: knows_of
|
||||
tags: [investigation, evidence]
|
||||
|
||||
- id: maintenance-corridors_m_d_022
|
||||
text: "Davan was seen near B-7 during off-shift. Cross-reference with container movements."
|
||||
trigger: time_idle
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: kael_corridor_sighting
|
||||
min_confidence: suspects
|
||||
priority: 7
|
||||
tags: [npc, kael, investigation]
|
||||
|
||||
- id: maintenance-corridors_m_d_023
|
||||
text: "Two access routes, one manifest checkpoint. Someone designed this gap. Or discovered it."
|
||||
trigger: time_idle
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: oversight_gap_pattern
|
||||
min_confidence: knows_details
|
||||
tags: [investigation, analytical]
|
||||
|
||||
- id: maintenance-corridors_m_d_024
|
||||
text: "Rosta's gambling debt gives me leverage. But using it makes me the authority they resent."
|
||||
trigger: time_idle
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: drin_gambling_debt
|
||||
min_confidence: knows_details
|
||||
priority: 6
|
||||
tags: [npc, drin, investigation, moral]
|
||||
|
||||
- id: maintenance-corridors_m_d_025
|
||||
text: "Evidence is accumulating. Names, routes, timing. But I still can't see the full picture."
|
||||
trigger: time_idle
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: ring_existence
|
||||
min_confidence: suspects
|
||||
tags: [investigation, reflection]
|
||||
|
||||
+202
-2
@@ -1,2 +1,202 @@
|
||||
# TODO: Revise structure when automatic dialogue/monologue generators mature (D-028 Tier 2).
|
||||
# Monologue: detective at the-last-shift
|
||||
character: detective
|
||||
location: the-last-shift
|
||||
lines:
|
||||
# --- Arrival + Environmental Flavor ---
|
||||
|
||||
- id: the-last-shift_m_d_001
|
||||
text: "The Last Shift. Only place in this district that doesn't smell like freight lubricant."
|
||||
trigger: enter_location
|
||||
tags: [arrival, atmospheric]
|
||||
|
||||
- id: the-last-shift_m_d_002
|
||||
text: "Grain spirit and low conversation. The social nexus of Sova Transit."
|
||||
trigger: enter_location
|
||||
tags: [arrival, analytical]
|
||||
|
||||
- id: the-last-shift_m_d_003
|
||||
text: "Bar's busy tonight. Good — crowds talk. Bad — they notice outsiders."
|
||||
trigger: enter_location
|
||||
tags: [arrival, investigation]
|
||||
|
||||
- id: the-last-shift_m_d_004
|
||||
text: "Standard district bar. Prefab fixtures, aftermarket lighting, a menu board nobody reads."
|
||||
trigger: enter_location
|
||||
tags: [arrival, environmental]
|
||||
|
||||
- id: the-last-shift_m_d_005
|
||||
text: "The Meridian feed on the wall display. Local news, freight indices, Assembly coverage."
|
||||
trigger: enter_location
|
||||
tags: [environmental]
|
||||
|
||||
- id: the-last-shift_m_d_006
|
||||
text: "The overhead vent rattles every thirty seconds. Like clockwork. Nobody else notices."
|
||||
trigger: hear_sound
|
||||
tags: [environmental]
|
||||
|
||||
- id: the-last-shift_m_d_007
|
||||
text: "The conversation volume dropped when I walked in. Recovering now. They're adjusting."
|
||||
trigger: enter_location
|
||||
tags: [social, investigation]
|
||||
|
||||
- id: the-last-shift_m_d_008
|
||||
text: "Back at the bar. Same booth. Let's see who's here and who isn't."
|
||||
trigger: return_visit
|
||||
tags: [arrival, analytical]
|
||||
|
||||
- id: the-last-shift_m_d_009
|
||||
text: "Kitchen's running. Fried protein and something spiced. The bar's other currency: hot food."
|
||||
trigger: enter_location
|
||||
tags: [environmental, atmospheric]
|
||||
|
||||
- id: the-last-shift_m_d_010
|
||||
text: "Someone carved initials into this table. Old. A history I don't have."
|
||||
trigger: time_idle
|
||||
tags: [environmental, reflection]
|
||||
|
||||
# --- NPC Commentary ---
|
||||
|
||||
- id: the-last-shift_m_d_011
|
||||
text: "The bartender — Sessik, L. Knows everyone. Watches everything. Gives away nothing."
|
||||
trigger: observe_npc
|
||||
tags: [npc, lera, analytical]
|
||||
|
||||
- id: the-last-shift_m_d_012
|
||||
text: "Good to see Sera. At least someone in this district speaks my language."
|
||||
trigger: observe_npc
|
||||
tags: [npc, sera, warm]
|
||||
|
||||
- id: the-last-shift_m_d_013
|
||||
text: "Lintar, T. — the loud one at the bar. Spends freely. Where's the money from?"
|
||||
trigger: observe_npc
|
||||
tags: [npc, torek, investigation]
|
||||
|
||||
- id: the-last-shift_m_d_014
|
||||
text: "A woman at the corner table — Tamm, N., according to Sera. Davan's partner."
|
||||
trigger: observe_npc
|
||||
tags: [npc, naia, analytical]
|
||||
|
||||
- id: the-last-shift_m_d_015
|
||||
text: "The regulars have assigned seating. Unofficial, but enforced. I don't have a spot yet."
|
||||
trigger: observe_npc
|
||||
tags: [social, atmospheric]
|
||||
|
||||
- id: the-last-shift_m_d_016
|
||||
text: "Sessik greeted three people by name since I sat down. I got a nod. Progress."
|
||||
trigger: witness_interaction
|
||||
tags: [npc, lera, social]
|
||||
|
||||
- id: the-last-shift_m_d_017
|
||||
text: "Two dock workers in the corner. Heads close, voices low. Not unusual for after-shift."
|
||||
trigger: witness_interaction
|
||||
tags: [social, investigation]
|
||||
|
||||
- id: the-last-shift_m_d_018
|
||||
text: "Sera introduced me to Tamm. Brief, polite, guarded. Expected."
|
||||
trigger: post_conversation
|
||||
tags: [npc, sera, naia, social]
|
||||
|
||||
- id: the-last-shift_m_d_019
|
||||
text: "Sessik poured my drink without asking. She remembered. Small thing, but noted."
|
||||
trigger: observe_npc
|
||||
tags: [npc, lera, social, warm]
|
||||
|
||||
- id: the-last-shift_m_d_020
|
||||
text: "The old man by the window hasn't spoken to anyone all evening. Watching, though."
|
||||
trigger: observe_npc
|
||||
tags: [social, atmospheric]
|
||||
|
||||
# --- Knowledge-Gated Lines ---
|
||||
|
||||
- id: the-last-shift_m_d_021
|
||||
text: "Sera left when Torek arrived. Second time. Different excuse. Same result."
|
||||
trigger: observe_anomaly
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: sera_avoidance_pattern
|
||||
min_confidence: suspects
|
||||
priority: 7
|
||||
tags: [npc, sera, torek, tell, friend-arc]
|
||||
|
||||
- id: the-last-shift_m_d_022
|
||||
text: "That's the third time. Three excuses, one result. That's data."
|
||||
trigger: observe_anomaly
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: sera_avoidance_pattern
|
||||
min_confidence: knows_of
|
||||
priority: 9
|
||||
tags: [npc, sera, torek, tell, friend-arc, contradiction]
|
||||
|
||||
- id: the-last-shift_m_d_023
|
||||
text: "Lintar's spending doesn't match a dock worker's salary. Source unknown."
|
||||
trigger: observe_npc
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: torek_spending_pattern
|
||||
min_confidence: knows_of
|
||||
tags: [npc, torek, investigation]
|
||||
|
||||
- id: the-last-shift_m_d_024
|
||||
text: "Sessik's eyes tracked me when I sat near the back room. Protective, not hostile."
|
||||
trigger: observe_npc
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: bar_back_room_significance
|
||||
min_confidence: suspects
|
||||
tags: [npc, lera, investigation]
|
||||
|
||||
- id: the-last-shift_m_d_025
|
||||
text: "Sera's being extra helpful tonight. Names, backgrounds, context. Compensating?"
|
||||
trigger: post_conversation
|
||||
prerequisites:
|
||||
relationship:
|
||||
target: sera_venn
|
||||
state: person_of_interest
|
||||
priority: 7
|
||||
tags: [npc, sera, friend-arc, behavioral]
|
||||
|
||||
- id: the-last-shift_m_d_026
|
||||
text: "Same booth. Same warm smile. Same offer to buy me a drink. Everything except the truth."
|
||||
trigger: observe_npc
|
||||
prerequisites:
|
||||
relationship:
|
||||
target: sera_venn
|
||||
state: person_of_interest
|
||||
priority: 8
|
||||
tags: [npc, sera, contaminated-trust, friend-arc]
|
||||
|
||||
- id: the-last-shift_m_d_027
|
||||
text: "Tamm seems distressed tonight. Not her baseline. Something at home, or something she heard?"
|
||||
trigger: observe_npc
|
||||
prerequisites:
|
||||
relationship:
|
||||
target: naia_tamm
|
||||
state: known
|
||||
tags: [npc, naia, behavioral]
|
||||
|
||||
- id: the-last-shift_m_d_028
|
||||
text: "Sessik just redirected a conversation away from freight schedules. Protective reflex?"
|
||||
trigger: witness_interaction
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: bar_ring_awareness
|
||||
min_confidence: suspects
|
||||
tags: [npc, lera, investigation]
|
||||
|
||||
- id: the-last-shift_m_d_029
|
||||
text: "Davan and his partner at the bar. She's talking. He's not listening. Noted."
|
||||
trigger: witness_interaction
|
||||
prerequisites:
|
||||
relationship:
|
||||
target: kael_davan
|
||||
state: known
|
||||
tags: [npc, kael, naia, behavioral]
|
||||
|
||||
- id: the-last-shift_m_d_030
|
||||
text: "The regulars are warming up. Three visits and I'm almost furniture. Almost."
|
||||
trigger: return_visit
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: bar_regular_status
|
||||
min_confidence: knows_of
|
||||
tags: [social, progress]
|
||||
|
||||
+234
-2
@@ -1,2 +1,234 @@
|
||||
# TODO: Revise structure when automatic dialogue/monologue generators mature (D-028 Tier 2).
|
||||
# Monologue: detective at the-terminal
|
||||
character: detective
|
||||
location: the-terminal
|
||||
lines:
|
||||
# --- Arrival + Environmental Flavor ---
|
||||
|
||||
- id: the-terminal_m_d_001
|
||||
text: "Logistics hub. Standard prefab, heavy foot traffic. Let's see what the shift change tells me."
|
||||
trigger: enter_location
|
||||
tags: [arrival, analytical]
|
||||
|
||||
- id: the-terminal_m_d_002
|
||||
text: "Sixteen bays, four loading arms, one manifest board. Everything routes through here."
|
||||
trigger: enter_location
|
||||
tags: [arrival, orientation]
|
||||
|
||||
- id: the-terminal_m_d_003
|
||||
text: "Cargo lubricant and recycled air. The smell of honest work. Or a convincing imitation."
|
||||
trigger: enter_location
|
||||
tags: [arrival, atmospheric]
|
||||
|
||||
- id: the-terminal_m_d_004
|
||||
text: "Loading arm three has a grind in its cycle. Maintenance deferred — budget, or negligence?"
|
||||
trigger: hear_sound
|
||||
tags: [environmental, analytical]
|
||||
|
||||
- id: the-terminal_m_d_005
|
||||
text: "Shift change in twenty minutes. The handover period is where oversight gets thin."
|
||||
trigger: time_idle
|
||||
tags: [investigation, operational]
|
||||
|
||||
- id: the-terminal_m_d_006
|
||||
text: "The manifest board updates in real-time. Container movement, weight, destination. All logged."
|
||||
trigger: enter_location
|
||||
tags: [environmental, orientation]
|
||||
|
||||
- id: the-terminal_m_d_007
|
||||
text: "Heavy foot traffic at shift change. Good — observation is easier in a crowd."
|
||||
trigger: enter_location
|
||||
tags: [arrival, investigation]
|
||||
|
||||
- id: the-terminal_m_d_008
|
||||
text: "Containers stacked to regulation height in most bays. Bay four is the exception."
|
||||
trigger: observe_anomaly
|
||||
tags: [environmental, investigation]
|
||||
|
||||
- id: the-terminal_m_d_009
|
||||
text: "Back at the hub. Different shift, different faces. Same manifest board."
|
||||
trigger: return_visit
|
||||
tags: [arrival]
|
||||
|
||||
- id: the-terminal_m_d_010
|
||||
text: "The dock lights are running half-cycle. Saves power. Also reduces visibility."
|
||||
trigger: enter_location
|
||||
tags: [environmental, analytical]
|
||||
|
||||
- id: the-terminal_m_d_011
|
||||
text: "Something in the air beyond the lubricant. Chemical, faint. Not standard freight residue."
|
||||
trigger: enter_location
|
||||
tags: [environmental, investigation]
|
||||
|
||||
- id: the-terminal_m_d_012
|
||||
text: "Overhead conveyor running at capacity. The manifest says otherwise. Interesting."
|
||||
trigger: hear_sound
|
||||
tags: [environmental, investigation]
|
||||
|
||||
# --- NPC Commentary ---
|
||||
|
||||
- id: the-terminal_m_d_013
|
||||
text: "Shift supervisor Voss. Tense posture, checking the dock more than the schedule."
|
||||
trigger: observe_npc
|
||||
tags: [npc, voss, behavioral]
|
||||
|
||||
- id: the-terminal_m_d_014
|
||||
text: "Korr, M. — freight scheduler. Efficient, focused. Either very good or very careful."
|
||||
trigger: observe_npc
|
||||
tags: [npc, maret, analytical]
|
||||
|
||||
- id: the-terminal_m_d_015
|
||||
text: "Rosta, D. — dock inspector. Quick checks, minimal documentation. That's a pattern."
|
||||
trigger: observe_npc
|
||||
tags: [npc, drin, investigation]
|
||||
|
||||
- id: the-terminal_m_d_016
|
||||
text: "Dock worker. Davan, K. Unremarkable on paper. But he knows the bay layout cold."
|
||||
trigger: observe_npc
|
||||
tags: [npc, kael]
|
||||
|
||||
- id: the-terminal_m_d_017
|
||||
text: "Conversations stop when I pass. Standard response to Commission presence. Expected."
|
||||
trigger: witness_interaction
|
||||
tags: [social, investigation]
|
||||
|
||||
- id: the-terminal_m_d_018
|
||||
text: "Two workers talking by bay six. One sees me, taps the other. Both go quiet."
|
||||
trigger: witness_interaction
|
||||
tags: [social, investigation]
|
||||
|
||||
- id: the-terminal_m_d_019
|
||||
text: "Voss gave Davan a look across the bay. Brief. Loaded. Filing it."
|
||||
trigger: witness_interaction
|
||||
tags: [npc, voss, kael, behavioral]
|
||||
|
||||
- id: the-terminal_m_d_020
|
||||
text: "The courier — Renn — moves fast. Efficient routing. Knows these corridors well."
|
||||
trigger: observe_npc
|
||||
tags: [npc, renn, analytical]
|
||||
|
||||
- id: the-terminal_m_d_021
|
||||
text: "New shift starting. Different bodies, same avoidance radius around me."
|
||||
trigger: observe_npc
|
||||
tags: [social, atmospheric]
|
||||
|
||||
- id: the-terminal_m_d_022
|
||||
text: "Rosta's inspection of bay four took forty seconds. The others: three minutes each."
|
||||
trigger: observe_npc
|
||||
tags: [npc, drin, investigation, behavioral]
|
||||
|
||||
- id: the-terminal_m_d_023
|
||||
text: "Voss deflected when I asked about overnight containers. Smooth, but I caught it."
|
||||
trigger: post_conversation
|
||||
tags: [npc, voss, investigation]
|
||||
|
||||
- id: the-terminal_m_d_024
|
||||
text: "Korr won't make eye contact. Not hostility — something else. Anxiety, maybe."
|
||||
trigger: observe_npc
|
||||
tags: [npc, maret, behavioral]
|
||||
|
||||
# --- Knowledge-Gated Lines ---
|
||||
|
||||
- id: the-terminal_m_d_025
|
||||
text: "Davan's lattice activity spiked. Expecting a message? Or checking for surveillance?"
|
||||
trigger: observe_anomaly
|
||||
prerequisites:
|
||||
relationship:
|
||||
target: kael_davan
|
||||
state: known
|
||||
tags: [npc, kael, behavioral, tell]
|
||||
|
||||
- id: the-terminal_m_d_026
|
||||
text: "Container 4471. Logged for temp storage overnight. Turnaround should be sub-eight hours."
|
||||
trigger: observe_anomaly
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: manifest_discrepancy
|
||||
min_confidence: knows_of
|
||||
priority: 7
|
||||
tags: [investigation, evidence]
|
||||
|
||||
- id: the-terminal_m_d_027
|
||||
text: "Weight discrepancy on the bay four manifest. Point-three kilos over declared. Noted."
|
||||
trigger: observe_anomaly
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: manifest_discrepancy
|
||||
min_confidence: suspects
|
||||
tags: [investigation, evidence]
|
||||
|
||||
- id: the-terminal_m_d_028
|
||||
text: "Rosta's gambling debts are in the case file. Leverage, if I need it. Do I need it?"
|
||||
trigger: time_idle
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: drin_gambling_debt
|
||||
min_confidence: knows_details
|
||||
tags: [npc, drin, investigation, moral]
|
||||
|
||||
- id: the-terminal_m_d_029
|
||||
text: "Three names keep appearing near the anomalous manifests: Voss, Davan, Renn. Coincidence?"
|
||||
trigger: time_idle
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: manifest_discrepancy
|
||||
min_confidence: knows_of
|
||||
priority: 7
|
||||
tags: [investigation, analytical]
|
||||
|
||||
- id: the-terminal_m_d_030
|
||||
text: "The shift transition creates a twenty-minute gap in active oversight. Every cycle."
|
||||
trigger: time_idle
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: oversight_gap_pattern
|
||||
min_confidence: knows_details
|
||||
priority: 7
|
||||
tags: [investigation, operational]
|
||||
|
||||
- id: the-terminal_m_d_031
|
||||
text: "Korr changed the schedule after our conversation. Covering tracks, or just doing her job?"
|
||||
trigger: observe_anomaly
|
||||
prerequisites:
|
||||
entity_attributes:
|
||||
- entity: maret_korr
|
||||
key: behavior_flags
|
||||
value: schedule_modification
|
||||
tags: [npc, maret, investigation]
|
||||
|
||||
- id: the-terminal_m_d_032
|
||||
text: "Rosta inspects everything else by the book. Bay four is the exception. That's the tell."
|
||||
trigger: observe_npc
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: drin_inspection_pattern
|
||||
min_confidence: knows_of
|
||||
priority: 8
|
||||
tags: [npc, drin, investigation, behavioral]
|
||||
|
||||
- id: the-terminal_m_d_033
|
||||
text: "Davan's at an unusual terminal. Not his assigned bay. Why the move?"
|
||||
trigger: observe_anomaly
|
||||
prerequisites:
|
||||
relationship:
|
||||
target: kael_davan
|
||||
state: known
|
||||
tags: [npc, kael, investigation]
|
||||
|
||||
- id: the-terminal_m_d_034
|
||||
text: "Voss is watching me watch his people. He knows what I'm here for."
|
||||
trigger: observe_npc
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: voss_awareness
|
||||
min_confidence: suspects
|
||||
priority: 6
|
||||
tags: [npc, voss, investigation]
|
||||
|
||||
- id: the-terminal_m_d_035
|
||||
text: "The routing logs and the physical movement don't match. Someone's hand-editing."
|
||||
trigger: discover_evidence
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: manifest_discrepancy
|
||||
min_confidence: knows_details
|
||||
priority: 9
|
||||
tags: [investigation, evidence, breakthrough]
|
||||
|
||||
+52
-2
@@ -1,2 +1,52 @@
|
||||
# TODO: Revise structure when automatic dialogue/monologue generators mature (D-028 Tier 2).
|
||||
# Monologue: smuggler at general
|
||||
character: smuggler
|
||||
location: general
|
||||
lines:
|
||||
- id: general_m_s_001
|
||||
text: "Another day on Sova. Same air, same hum, same faces."
|
||||
trigger: enter_location
|
||||
tags: [arrival, atmospheric]
|
||||
|
||||
- id: general_m_s_002
|
||||
text: "The span gate hum's louder today. Maintenance hasn't touched it in weeks."
|
||||
trigger: hear_sound
|
||||
tags: [environmental]
|
||||
|
||||
- id: general_m_s_003
|
||||
text: "Twenty minutes between shifts. That's the window. Always has been."
|
||||
trigger: time_idle
|
||||
tags: [operational, orientation]
|
||||
|
||||
- id: general_m_s_004
|
||||
text: "People talk about leaving Sova. Nobody actually does."
|
||||
trigger: time_idle
|
||||
tags: [reflection]
|
||||
|
||||
- id: general_m_s_005
|
||||
text: "Two years of this. Still not used to the gate vibration in my teeth."
|
||||
trigger: hear_sound
|
||||
tags: [environmental, personal]
|
||||
|
||||
- id: general_m_s_006
|
||||
text: "The money's good. The risk's manageable. Keep telling yourself that."
|
||||
trigger: time_idle
|
||||
tags: [reflection, operational]
|
||||
|
||||
- id: general_m_s_007
|
||||
text: "Back again. Same corridors, same shortcuts, same reasons."
|
||||
trigger: return_visit
|
||||
tags: [arrival]
|
||||
|
||||
- id: general_m_s_008
|
||||
text: "Commission patrols are thinner this cycle. Good or bad — hard to say."
|
||||
trigger: observe_anomaly
|
||||
tags: [operational, caution]
|
||||
|
||||
- id: general_m_s_009
|
||||
text: "If anyone asks, I'm clocking overtime. That's always the story."
|
||||
trigger: time_idle
|
||||
tags: [operational, cover]
|
||||
|
||||
- id: general_m_s_010
|
||||
text: "Recycled air tastes different near the outer ring. Sharper. More machine."
|
||||
trigger: enter_location
|
||||
tags: [environmental, atmospheric]
|
||||
|
||||
+170
-2
@@ -1,2 +1,170 @@
|
||||
# TODO: Revise structure when automatic dialogue/monologue generators mature (D-028 Tier 2).
|
||||
# Monologue: smuggler at maintenance-corridors
|
||||
character: smuggler
|
||||
location: maintenance-corridors
|
||||
lines:
|
||||
# --- Arrival + Environmental Flavor ---
|
||||
|
||||
- id: maintenance-corridors_m_s_001
|
||||
text: "Service corridor. Dim lights, damp walls, and the constant drip of condensation."
|
||||
trigger: enter_location
|
||||
tags: [arrival, atmospheric]
|
||||
|
||||
- id: maintenance-corridors_m_s_002
|
||||
text: "Cooler down here. The ventilation doesn't reach this far."
|
||||
trigger: enter_location
|
||||
tags: [environmental, atmospheric]
|
||||
|
||||
- id: maintenance-corridors_m_s_003
|
||||
text: "The access panel's still loose. Good — our route's intact."
|
||||
trigger: enter_location
|
||||
tags: [arrival, operational]
|
||||
|
||||
- id: maintenance-corridors_m_s_004
|
||||
text: "Pipes groaning overhead. Station's old. These corridors are older."
|
||||
trigger: hear_sound
|
||||
tags: [environmental, atmospheric]
|
||||
|
||||
- id: maintenance-corridors_m_s_005
|
||||
text: "Water recycling rumbles through the walls down here. Constant."
|
||||
trigger: hear_sound
|
||||
tags: [environmental]
|
||||
|
||||
- id: maintenance-corridors_m_s_006
|
||||
text: "Back in the maintenance tunnels. Rust and coolant."
|
||||
trigger: return_visit
|
||||
tags: [arrival, atmospheric]
|
||||
|
||||
- id: maintenance-corridors_m_s_007
|
||||
text: "Emergency lighting only. Just enough to see where you're going."
|
||||
trigger: enter_location
|
||||
tags: [environmental]
|
||||
|
||||
- id: maintenance-corridors_m_s_008
|
||||
text: "Footsteps echo different down here. You learn to listen."
|
||||
trigger: hear_sound
|
||||
tags: [environmental, operational]
|
||||
|
||||
# --- NPC + Operational ---
|
||||
|
||||
- id: maintenance-corridors_m_s_009
|
||||
text: "Renn's chalk marks on the wall. Route's been used recently."
|
||||
trigger: observe_anomaly
|
||||
tags: [operational, renn]
|
||||
|
||||
- id: maintenance-corridors_m_s_010
|
||||
text: "Someone left a crate at junction B-4. Not one of ours."
|
||||
trigger: observe_anomaly
|
||||
tags: [operational, caution]
|
||||
|
||||
- id: maintenance-corridors_m_s_011
|
||||
text: "The temp storage hatch is warm. Cargo cycled through recently."
|
||||
trigger: enter_location
|
||||
tags: [operational]
|
||||
|
||||
- id: maintenance-corridors_m_s_012
|
||||
text: "Scratches on the lock plate. Someone's been forcing this access point."
|
||||
trigger: observe_anomaly
|
||||
tags: [environmental, caution]
|
||||
|
||||
- id: maintenance-corridors_m_s_013
|
||||
text: "Timer says twelve minutes until the oversight gap closes. Plenty."
|
||||
trigger: time_idle
|
||||
tags: [operational]
|
||||
|
||||
- id: maintenance-corridors_m_s_014
|
||||
text: "That's Renn's jacket on the pipe junction. He was here."
|
||||
trigger: observe_anomaly
|
||||
tags: [npc, renn, operational]
|
||||
|
||||
- id: maintenance-corridors_m_s_015
|
||||
text: "Voices echoing from the junction. Can't make out words yet."
|
||||
trigger: hear_sound
|
||||
tags: [caution]
|
||||
|
||||
- id: maintenance-corridors_m_s_016
|
||||
text: "The route through B-section is clear. Voss kept his word."
|
||||
trigger: enter_location
|
||||
tags: [operational, voss]
|
||||
|
||||
# --- Knowledge-Gated Lines ---
|
||||
|
||||
- id: maintenance-corridors_m_s_017
|
||||
text: "Corridor B-7. This is where I saw Kael. With someone I don't know."
|
||||
trigger: enter_location
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: kael_corridor_meeting
|
||||
min_confidence: suspects
|
||||
priority: 8
|
||||
tags: [npc, kael, contradiction, friend-arc]
|
||||
|
||||
- id: maintenance-corridors_m_s_018
|
||||
text: "Fresh boot prints in the dust. Two sets. Different sizes."
|
||||
trigger: observe_anomaly
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: kael_corridor_meeting
|
||||
min_confidence: suspects
|
||||
tags: [evidence, kael, friend-arc]
|
||||
|
||||
- id: maintenance-corridors_m_s_019
|
||||
text: "New scratch marks on the service hatch. Someone's using our route."
|
||||
trigger: observe_anomaly
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: ring_route_compromise
|
||||
min_confidence: suspects
|
||||
priority: 7
|
||||
tags: [operational, caution]
|
||||
|
||||
- id: maintenance-corridors_m_s_020
|
||||
text: "The container in temp was supposed to move last shift. It didn't. Why?"
|
||||
trigger: observe_anomaly
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: container_delay
|
||||
min_confidence: knows_of
|
||||
tags: [operational, contraband]
|
||||
|
||||
- id: maintenance-corridors_m_s_021
|
||||
text: "Camera's been repositioned at junction C-2. Who authorized that?"
|
||||
trigger: observe_anomaly
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: surveillance_change
|
||||
min_confidence: suspects
|
||||
priority: 7
|
||||
tags: [investigation, caution]
|
||||
|
||||
- id: maintenance-corridors_m_s_022
|
||||
text: "If Kael's meeting people down here without telling us, the whole route's exposed."
|
||||
trigger: time_idle
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: kael_unknown_contact
|
||||
min_confidence: knows_of
|
||||
priority: 8
|
||||
tags: [npc, kael, operational, friend-arc]
|
||||
|
||||
- id: maintenance-corridors_m_s_023
|
||||
text: "Sealed containers don't end up in temp storage by accident. Someone rerouted."
|
||||
trigger: observe_anomaly
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: ring_routing_knowledge
|
||||
min_confidence: knows_details
|
||||
tags: [operational, contraband]
|
||||
|
||||
- id: maintenance-corridors_m_s_024
|
||||
text: "Kael's not answering his lattice. He was supposed to meet me here."
|
||||
trigger: time_idle
|
||||
prerequisites:
|
||||
relationship:
|
||||
target: kael_davan
|
||||
state: person_of_interest
|
||||
priority: 7
|
||||
tags: [npc, kael, concern, friend-arc]
|
||||
|
||||
- id: maintenance-corridors_m_s_025
|
||||
text: "Someone wiped the dust off this hatch. Recently. Carefully."
|
||||
trigger: observe_anomaly
|
||||
tags: [environmental, caution]
|
||||
|
||||
+201
-2
@@ -1,2 +1,201 @@
|
||||
# TODO: Revise structure when automatic dialogue/monologue generators mature (D-028 Tier 2).
|
||||
# Monologue: smuggler at the-last-shift
|
||||
character: smuggler
|
||||
location: the-last-shift
|
||||
lines:
|
||||
# --- Arrival + Environmental Flavor ---
|
||||
|
||||
- id: the-last-shift_m_s_001
|
||||
text: "Lera's. Grain spirit and noise. Could use both right now."
|
||||
trigger: enter_location
|
||||
tags: [arrival, atmospheric]
|
||||
|
||||
- id: the-last-shift_m_s_002
|
||||
text: "Bar's half full. The after-shift crowd's starting to filter in."
|
||||
trigger: enter_location
|
||||
tags: [arrival]
|
||||
|
||||
- id: the-last-shift_m_s_003
|
||||
text: "Lera's got the Meridian feed running. Same headlines, different day."
|
||||
trigger: enter_location
|
||||
tags: [arrival, environmental]
|
||||
|
||||
- id: the-last-shift_m_s_004
|
||||
text: "Smells like fried protein and cheap grain spirit. Perfect."
|
||||
trigger: enter_location
|
||||
tags: [environmental, atmospheric]
|
||||
|
||||
- id: the-last-shift_m_s_005
|
||||
text: "My booth's free. Small victories."
|
||||
trigger: enter_location
|
||||
tags: [arrival, personal]
|
||||
|
||||
- id: the-last-shift_m_s_006
|
||||
text: "The overhead light's still buzzing. Lera says it adds character."
|
||||
trigger: hear_sound
|
||||
tags: [environmental]
|
||||
|
||||
- id: the-last-shift_m_s_007
|
||||
text: "Music's louder tonight. Lera's in a good mood, or drowning something out."
|
||||
trigger: hear_sound
|
||||
tags: [environmental, atmospheric]
|
||||
|
||||
- id: the-last-shift_m_s_008
|
||||
text: "Back at Lera's. Same booth, same drink, same crowd."
|
||||
trigger: return_visit
|
||||
tags: [arrival]
|
||||
|
||||
- id: the-last-shift_m_s_009
|
||||
text: "The ventilation rattles when the kitchen's on. You learn to talk over it."
|
||||
trigger: hear_sound
|
||||
tags: [environmental]
|
||||
|
||||
- id: the-last-shift_m_s_010
|
||||
text: "Quiet night at Lera's. Fewer people means fewer ears."
|
||||
trigger: enter_location
|
||||
tags: [arrival, operational]
|
||||
|
||||
# --- NPC Commentary ---
|
||||
|
||||
- id: the-last-shift_m_s_011
|
||||
text: "Lera's behind the bar. Good — she keeps things steady."
|
||||
trigger: observe_npc
|
||||
tags: [npc, lera]
|
||||
|
||||
- id: the-last-shift_m_s_012
|
||||
text: "Kael's at the corner table. Looks relaxed. That's something."
|
||||
trigger: observe_npc
|
||||
tags: [npc, kael]
|
||||
|
||||
- id: the-last-shift_m_s_013
|
||||
text: "Torek's buying rounds again. That man doesn't know the word 'discreet.'"
|
||||
trigger: observe_npc
|
||||
tags: [npc, torek, caution]
|
||||
|
||||
- id: the-last-shift_m_s_014
|
||||
text: "Sera's here. Commission field tech. She keeps to herself — mostly."
|
||||
trigger: observe_npc
|
||||
tags: [npc, sera, commission]
|
||||
|
||||
- id: the-last-shift_m_s_015
|
||||
text: "Naia's laughing at something Lera said. Nice to see her relaxed."
|
||||
trigger: observe_npc
|
||||
tags: [npc, naia]
|
||||
|
||||
- id: the-last-shift_m_s_016
|
||||
text: "Old Pael's in his usual spot. Hasn't moved in three hours. Impressive."
|
||||
trigger: observe_npc
|
||||
tags: [npc, atmospheric]
|
||||
|
||||
- id: the-last-shift_m_s_017
|
||||
text: "Lera just cut someone off. Smooth about it, but firm."
|
||||
trigger: witness_interaction
|
||||
tags: [npc, lera]
|
||||
|
||||
- id: the-last-shift_m_s_018
|
||||
text: "Kael and Naia at the bar. Leaning into each other. They look good together."
|
||||
trigger: witness_interaction
|
||||
tags: [npc, kael, naia]
|
||||
|
||||
- id: the-last-shift_m_s_019
|
||||
text: "Voss is drinking alone. Not his usual pace."
|
||||
trigger: observe_npc
|
||||
tags: [npc, voss]
|
||||
|
||||
- id: the-last-shift_m_s_020
|
||||
text: "That new face in the corner — been nursing the same drink for an hour."
|
||||
trigger: observe_npc
|
||||
tags: [npc, caution]
|
||||
|
||||
# --- Knowledge-Gated Lines ---
|
||||
|
||||
- id: the-last-shift_m_s_021
|
||||
text: "Sera left when Torek walked in. Coincidence? Maybe."
|
||||
trigger: observe_anomaly
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: sera_avoidance_pattern
|
||||
min_confidence: suspects
|
||||
tags: [npc, sera, torek, pattern]
|
||||
|
||||
- id: the-last-shift_m_s_022
|
||||
text: "Torek just paid cash credit, not station account. Sloppy."
|
||||
trigger: observe_npc
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: torek_spending_pattern
|
||||
min_confidence: knows_of
|
||||
tags: [npc, torek, operational]
|
||||
|
||||
- id: the-last-shift_m_s_023
|
||||
text: "Lera gave me that look. The one that says 'not here, not now.'"
|
||||
trigger: post_conversation
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: ring_bar_operations
|
||||
min_confidence: knows_details
|
||||
tags: [npc, lera, operational]
|
||||
|
||||
- id: the-last-shift_m_s_024
|
||||
text: "Naia looks tired. Has Kael been coming home late again?"
|
||||
trigger: observe_npc
|
||||
prerequisites:
|
||||
relationship:
|
||||
target: naia_tamm
|
||||
state: known
|
||||
tags: [npc, naia, kael, concern]
|
||||
|
||||
- id: the-last-shift_m_s_025
|
||||
text: "The detective is here. At the bar. My bar."
|
||||
trigger: observe_npc
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: detective_presence
|
||||
min_confidence: knows_of
|
||||
priority: 8
|
||||
tags: [investigation, caution]
|
||||
|
||||
- id: the-last-shift_m_s_026
|
||||
text: "Sera and the detective sharing a booth. Commission people stick together."
|
||||
trigger: witness_interaction
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: detective_presence
|
||||
min_confidence: knows_of
|
||||
tags: [npc, sera, investigation]
|
||||
|
||||
- id: the-last-shift_m_s_027
|
||||
text: "Kael didn't save my seat tonight. First time in months."
|
||||
trigger: observe_anomaly
|
||||
prerequisites:
|
||||
relationship:
|
||||
target: kael_davan
|
||||
state: person_of_interest
|
||||
priority: 8
|
||||
tags: [npc, kael, contaminated-trust, friend-arc]
|
||||
|
||||
- id: the-last-shift_m_s_028
|
||||
text: "The back room light's on. Nils is here, then."
|
||||
trigger: observe_anomaly
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: ring_bar_operations
|
||||
min_confidence: knows_details
|
||||
tags: [operational, nils]
|
||||
|
||||
- id: the-last-shift_m_s_029
|
||||
text: "Kael bought Naia a drink but barely looked at her. That's new."
|
||||
trigger: witness_interaction
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: kael_behavioral_change
|
||||
min_confidence: suspects
|
||||
tags: [npc, kael, naia, tell, friend-arc]
|
||||
|
||||
- id: the-last-shift_m_s_030
|
||||
text: "Everyone's a little too quiet tonight. Something happened. I can feel it."
|
||||
trigger: enter_location
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: ring_tension_escalation
|
||||
min_confidence: suspects
|
||||
priority: 7
|
||||
tags: [atmospheric, caution, operational]
|
||||
|
||||
+235
-2
@@ -1,2 +1,235 @@
|
||||
# TODO: Revise structure when automatic dialogue/monologue generators mature (D-028 Tier 2).
|
||||
# Monologue: smuggler at the-terminal
|
||||
character: smuggler
|
||||
location: the-terminal
|
||||
lines:
|
||||
# --- Arrival + Environmental Flavor ---
|
||||
|
||||
- id: the-terminal_m_s_001
|
||||
text: "Morning shift. Recycled air and cargo lubricant. Home sweet home."
|
||||
trigger: enter_location
|
||||
tags: [arrival, atmospheric]
|
||||
|
||||
- id: the-terminal_m_s_002
|
||||
text: "The loading arms are cycling. Freight's on schedule — for once."
|
||||
trigger: enter_location
|
||||
tags: [arrival, operational]
|
||||
|
||||
- id: the-terminal_m_s_003
|
||||
text: "Shift board's already full. Voss has everyone running double today."
|
||||
trigger: enter_location
|
||||
tags: [arrival, operational]
|
||||
|
||||
- id: the-terminal_m_s_004
|
||||
text: "Cargo lubricant and ozone. You'd think I'd stop noticing."
|
||||
trigger: enter_location
|
||||
tags: [environmental, atmospheric]
|
||||
|
||||
- id: the-terminal_m_s_005
|
||||
text: "Loading arm three is grinding again. Someone should file that."
|
||||
trigger: hear_sound
|
||||
tags: [environmental]
|
||||
|
||||
- id: the-terminal_m_s_006
|
||||
text: "Containers stacked six high in bay four. That's new."
|
||||
trigger: observe_anomaly
|
||||
tags: [environmental, operational]
|
||||
|
||||
- id: the-terminal_m_s_007
|
||||
text: "The freight manifest board's flickering. Always flickering."
|
||||
trigger: enter_location
|
||||
tags: [environmental]
|
||||
|
||||
- id: the-terminal_m_s_008
|
||||
text: "Dock lights are on half-cycle. Budget cuts again."
|
||||
trigger: enter_location
|
||||
tags: [environmental, atmospheric]
|
||||
|
||||
- id: the-terminal_m_s_009
|
||||
text: "Back at the hub. Shift transition in fifty minutes."
|
||||
trigger: return_visit
|
||||
tags: [arrival, operational]
|
||||
|
||||
- id: the-terminal_m_s_010
|
||||
text: "Quiet morning. Containers moving, nobody talking. I like it this way."
|
||||
trigger: enter_location
|
||||
tags: [arrival, atmospheric]
|
||||
|
||||
- id: the-terminal_m_s_011
|
||||
text: "Bay three's been sealed off. Inspection, or something else?"
|
||||
trigger: observe_anomaly
|
||||
tags: [environmental, caution]
|
||||
|
||||
- id: the-terminal_m_s_012
|
||||
text: "The conveyor hums at a different pitch when it's loaded heavy. This one's heavy."
|
||||
trigger: hear_sound
|
||||
tags: [environmental, operational]
|
||||
|
||||
# --- NPC Commentary ---
|
||||
|
||||
- id: the-terminal_m_s_013
|
||||
text: "Kael's already at the dock. Good. The day's better when he's on shift."
|
||||
trigger: observe_npc
|
||||
tags: [npc, kael, warm]
|
||||
|
||||
- id: the-terminal_m_s_014
|
||||
text: "Voss is pacing. Never a good sign."
|
||||
trigger: observe_npc
|
||||
tags: [npc, voss, caution]
|
||||
|
||||
- id: the-terminal_m_s_015
|
||||
text: "Maret's got her scheduling face on. Tight lips, fast hands on the terminal."
|
||||
trigger: observe_npc
|
||||
tags: [npc, maret]
|
||||
|
||||
- id: the-terminal_m_s_016
|
||||
text: "New face at dock seven. Temp worker, or someone I should know about?"
|
||||
trigger: observe_npc
|
||||
tags: [npc, caution]
|
||||
|
||||
- id: the-terminal_m_s_017
|
||||
text: "Drin's at inspection again. Going through the motions, same as always."
|
||||
trigger: observe_npc
|
||||
tags: [npc, drin]
|
||||
|
||||
- id: the-terminal_m_s_018
|
||||
text: "Renn's running late. Third time this week."
|
||||
trigger: observe_npc
|
||||
tags: [npc, renn, operational]
|
||||
|
||||
- id: the-terminal_m_s_019
|
||||
text: "Voss and Maret talking by the schedule board. Both look tense."
|
||||
trigger: witness_interaction
|
||||
tags: [npc, voss, maret]
|
||||
|
||||
- id: the-terminal_m_s_020
|
||||
text: "Kael nodded at me across the bay. Business as usual."
|
||||
trigger: observe_npc
|
||||
tags: [npc, kael]
|
||||
|
||||
- id: the-terminal_m_s_021
|
||||
text: "Someone I don't recognize talking to Drin. Drin's smiling. Drin never smiles."
|
||||
trigger: witness_interaction
|
||||
tags: [npc, drin, anomaly]
|
||||
|
||||
- id: the-terminal_m_s_022
|
||||
text: "Torek's on the dock. Shouldn't be — his shift ended two hours ago."
|
||||
trigger: observe_anomaly
|
||||
tags: [npc, torek, caution]
|
||||
|
||||
- id: the-terminal_m_s_023
|
||||
text: "Nils isn't here yet. That's unusual."
|
||||
trigger: observe_anomaly
|
||||
tags: [npc, nils, operational]
|
||||
|
||||
- id: the-terminal_m_s_024
|
||||
text: "Kael's eating alone today. He always eats with me."
|
||||
trigger: observe_anomaly
|
||||
tags: [npc, kael, concern]
|
||||
|
||||
# --- Knowledge-Gated Lines ---
|
||||
|
||||
- id: the-terminal_m_s_025
|
||||
text: "Kael keeps checking his lattice. Waiting for a message? Not like him to be jumpy."
|
||||
trigger: observe_anomaly
|
||||
prerequisites:
|
||||
relationship:
|
||||
target: kael_davan
|
||||
state: friendly
|
||||
priority: 7
|
||||
tags: [npc, kael, tell, friend-arc]
|
||||
|
||||
- id: the-terminal_m_s_026
|
||||
text: "Container 4471's been in temp since yesterday. That's not the normal routing."
|
||||
trigger: observe_anomaly
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: ring_routing_knowledge
|
||||
min_confidence: knows_details
|
||||
tags: [operational, contraband]
|
||||
|
||||
- id: the-terminal_m_s_027
|
||||
text: "Voss changed the rotation again. Third time this month. Covering something."
|
||||
trigger: observe_anomaly
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: voss_ring_involvement
|
||||
min_confidence: knows_of
|
||||
tags: [npc, voss, operational]
|
||||
|
||||
- id: the-terminal_m_s_028
|
||||
text: "That detective's back. Asking questions near bay four. Stay calm."
|
||||
trigger: observe_npc
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: detective_presence
|
||||
min_confidence: knows_of
|
||||
priority: 8
|
||||
tags: [investigation, caution]
|
||||
|
||||
- id: the-terminal_m_s_029
|
||||
text: "Maret hasn't looked at me all shift. She noticed something. I know she did."
|
||||
trigger: observe_npc
|
||||
prerequisites:
|
||||
entity_attributes:
|
||||
- entity: maret_korr
|
||||
key: behavior_flags
|
||||
value: avoidance
|
||||
priority: 6
|
||||
tags: [npc, maret, paranoia]
|
||||
|
||||
- id: the-terminal_m_s_030
|
||||
text: "Shift transition in ten. If the route's clean, we move tonight."
|
||||
trigger: time_idle
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: ring_routing_knowledge
|
||||
min_confidence: knows_details
|
||||
tags: [operational, contraband]
|
||||
|
||||
- id: the-terminal_m_s_031
|
||||
text: "Kael was in corridor B-7 last night. Off-shift. Off-route. That's not nothing."
|
||||
trigger: time_idle
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: kael_corridor_meeting
|
||||
min_confidence: suspects
|
||||
priority: 8
|
||||
tags: [npc, kael, contradiction, friend-arc]
|
||||
|
||||
- id: the-terminal_m_s_032
|
||||
text: "Who was Kael talking to? Not anyone from our rotation. I'd know the face."
|
||||
trigger: time_idle
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: kael_unknown_contact
|
||||
min_confidence: suspects
|
||||
priority: 9
|
||||
tags: [npc, kael, contradiction, friend-arc]
|
||||
|
||||
- id: the-terminal_m_s_033
|
||||
text: "He looked left before answering. He always looks left when he's lying."
|
||||
trigger: post_conversation
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: kael_evasion
|
||||
min_confidence: direct
|
||||
priority: 9
|
||||
tags: [npc, kael, tell, friend-arc]
|
||||
|
||||
- id: the-terminal_m_s_034
|
||||
text: "Torek's spending too much at Lera's. Someone's going to notice."
|
||||
trigger: observe_npc
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: torek_spending_pattern
|
||||
min_confidence: knows_of
|
||||
tags: [npc, torek, operational, caution]
|
||||
|
||||
- id: the-terminal_m_s_035
|
||||
text: "Same old Kael. Same jokes, same routine. ...What are you not telling me?"
|
||||
trigger: post_conversation
|
||||
prerequisites:
|
||||
relationship:
|
||||
target: kael_davan
|
||||
state: person_of_interest
|
||||
priority: 9
|
||||
tags: [npc, kael, contaminated-trust, friend-arc]
|
||||
|
||||
+157
@@ -0,0 +1,157 @@
|
||||
# News ticker headline pool — The Last Shift bar
|
||||
# Meridian Feed (Krenn System local news network)
|
||||
# Dual-lens content: each headline reads differently to smuggler vs detective.
|
||||
# v0.1: static background text. v0.2: cycling ticker system.
|
||||
|
||||
location: the-last-shift
|
||||
feed: meridian
|
||||
headlines:
|
||||
# --- Freight / Commodity (6) ---
|
||||
|
||||
- id: ticker_001
|
||||
text: "KRENN FREIGHT INDEX: Lattice components +12% on Syndic supply restrictions"
|
||||
category: freight
|
||||
dual_lens:
|
||||
smuggler: "Prices up. Every run is worth more — and every run is riskier."
|
||||
detective: "Supply restrictions mean increased black market pressure. Watch for volume spikes."
|
||||
|
||||
- id: ticker_002
|
||||
text: "SOVA DOCKING: Revised rates effective cycle 14 — bulk freight +0.8 cred/tonne"
|
||||
category: freight
|
||||
dual_lens:
|
||||
smuggler: "Costs going up. Nils won't be happy. Margins are already thin."
|
||||
detective: "Administrative noise. But fee changes affect which routes are economically viable."
|
||||
|
||||
- id: ticker_003
|
||||
text: "ROUTE ADVISORY: Span gate maintenance on Krenn-Havara corridor — 48hr delays"
|
||||
category: freight
|
||||
dual_lens:
|
||||
smuggler: "Havara corridor's down. If Sabel's shipments are routed through there, we wait."
|
||||
detective: "Transit disruption changes shipping patterns. New routes create new anomalies."
|
||||
|
||||
- id: ticker_004
|
||||
text: "COMMODITY ALERT: Medical-grade neural components — backorder extends to 6 cycles"
|
||||
category: freight
|
||||
dual_lens:
|
||||
smuggler: "Six cycles. People need those replacements now. That's why we do this."
|
||||
detective: "Extended shortage increases incentive for diversion. Motive for the operation."
|
||||
|
||||
- id: ticker_005
|
||||
text: "FREIGHT QUARTERLY: Sova throughput up 3% year-on-year — transit district credited"
|
||||
category: freight
|
||||
dual_lens:
|
||||
smuggler: "More volume, more cover. Good news for us."
|
||||
detective: "Increased throughput makes statistical anomalies harder to spot. More noise."
|
||||
|
||||
- id: ticker_006
|
||||
text: "INSURANCE: Premium review for manifest discrepancy incidents — sector-wide audit"
|
||||
category: freight
|
||||
dual_lens:
|
||||
smuggler: "Manifest discrepancies. If the insurers are looking, the Commission's next."
|
||||
detective: "Insurance sector flagging the same pattern I'm seeing. Independent confirmation."
|
||||
|
||||
# --- Assembly Politics (4) ---
|
||||
|
||||
- id: ticker_007
|
||||
text: "ASSEMBLY: Lattice regulation amendments tabled — vote deferred to next session"
|
||||
category: politics
|
||||
dual_lens:
|
||||
smuggler: "Deferred. Status quo holds. The demand stays, the supply stays illegal."
|
||||
detective: "Regulatory gap continues. No political will to address the root cause."
|
||||
|
||||
- id: ticker_008
|
||||
text: "ASSEMBLY VOTE: Infrastructure bill passes 312-287 — Reach districts gain allocations"
|
||||
category: politics
|
||||
dual_lens:
|
||||
smuggler: "More money for the Reach. Maybe Sova gets a refit. Maybe things change."
|
||||
detective: "Allocation shifts. New infrastructure means new oversight — or new blind spots."
|
||||
|
||||
- id: ticker_009
|
||||
text: "DELEGATE PROFILE: Rep. Hask (Krenn) calls for Commission oversight review"
|
||||
category: politics
|
||||
dual_lens:
|
||||
smuggler: "Commission oversight review. Could mean more patrols. Could mean fewer. Either way, noise."
|
||||
detective: "Political pressure on Commission operations. Budget review affects field resources."
|
||||
|
||||
- id: ticker_010
|
||||
text: "POLICY WATCH: Cross-system freight harmonization bill enters second reading"
|
||||
category: politics
|
||||
dual_lens:
|
||||
smuggler: "Harmonization means standardization. Standardization means fewer gaps in the paperwork."
|
||||
detective: "Cross-system data sharing would connect manifest anomalies across jurisdictions."
|
||||
|
||||
# --- Local Infrastructure (4) ---
|
||||
|
||||
- id: ticker_011
|
||||
text: "SOVA STATION: Deck 4 ventilation overhaul — expect cycled air disruptions"
|
||||
category: infrastructure
|
||||
dual_lens:
|
||||
smuggler: "Construction crews on Deck 4. More people in the corridors. Watch the routes."
|
||||
detective: "Infrastructure work. Construction means altered access patterns."
|
||||
|
||||
- id: ticker_012
|
||||
text: "TRANSIT: Corridor B maintenance scheduled cycle 16-18 — alternate routing posted"
|
||||
category: infrastructure
|
||||
dual_lens:
|
||||
smuggler: "Corridor B. That's our route. Maintenance means official access. We shut down for three cycles."
|
||||
detective: "Scheduled maintenance on a corridor near the freight bays. Who requested it?"
|
||||
|
||||
- id: ticker_013
|
||||
text: "WATER RECYCLING: Stage 2 filter replacement ahead of schedule — capacity at 97%"
|
||||
category: infrastructure
|
||||
dual_lens:
|
||||
smuggler: "Good. One less thing to worry about."
|
||||
detective: "Infrastructure baseline. Station systems functioning normally."
|
||||
|
||||
- id: ticker_014
|
||||
text: "POWER GRID: Outer ring voltage fluctuations traced to span gate resonance"
|
||||
category: infrastructure
|
||||
dual_lens:
|
||||
smuggler: "Voltage fluctuations in the outer ring. Cameras might glitch. Useful."
|
||||
detective: "Power issues could affect surveillance systems. Note the timing."
|
||||
|
||||
# --- Sports (3) ---
|
||||
|
||||
- id: ticker_015
|
||||
text: "GRAV-BALL: Sova Drifters fall to Havara United 3-1 — playoff hopes dim"
|
||||
category: sports
|
||||
dual_lens:
|
||||
smuggler: "Drifters lost again. Lera's going to be in a mood."
|
||||
detective: "Sports. The universal social lubricant. File under 'conversation openers.'"
|
||||
|
||||
- id: ticker_016
|
||||
text: "LEAGUE TABLE: Krenn Conference — Sova 4th, Mirren Station leads"
|
||||
category: sports
|
||||
dual_lens:
|
||||
smuggler: "Fourth. We were second last season. This place is sliding."
|
||||
detective: "Local standings. Note who cares about the Drifters — it's a belonging marker."
|
||||
|
||||
- id: ticker_017
|
||||
text: "HIGHLIGHT: Drifters' Pael Tev named to All-Reach reserve squad"
|
||||
category: sports
|
||||
dual_lens:
|
||||
smuggler: "Tev made the reserves. Good for him. At least someone's getting out."
|
||||
detective: "The name Tev — any relation to dock personnel? Check roster."
|
||||
|
||||
# --- Commission Advisories (3) ---
|
||||
|
||||
- id: ticker_018
|
||||
text: "COMMISSION: Manifest compliance audits scheduled — Sova Transit, cycles 15-20"
|
||||
category: commission
|
||||
dual_lens:
|
||||
smuggler: "Compliance audits. Cycle 15. That's five cycles from now. We need to be clean by then."
|
||||
detective: "Scheduled audits. Standard, but the timing aligns with my investigation window."
|
||||
|
||||
- id: ticker_019
|
||||
text: "ADVISORY: Unlicensed lattice modifications carry Category 3 penalties — report anonymously"
|
||||
category: commission
|
||||
dual_lens:
|
||||
smuggler: "Category 3. Years in detention. Same poster, same message, same empty threat. Until it isn't."
|
||||
detective: "Public messaging campaign. Commission HQ wants visible enforcement. Pressure from above."
|
||||
|
||||
- id: ticker_020
|
||||
text: "ENFORCEMENT: Commission confirms 'routine assessment' of Reach freight operations"
|
||||
category: commission
|
||||
dual_lens:
|
||||
smuggler: "'Routine assessment.' Is that the detective? Is that why he's here?"
|
||||
detective: "That's my cover story. Or headquarters' way of telling me the clock is running."
|
||||
Reference in New Issue
Block a user