diff --git a/content/campaigns/main/systems/krenn/stations/sova/districts/transit/monologue/detective/general.yaml b/content/campaigns/main/systems/krenn/stations/sova/districts/transit/monologue/detective/general.yaml index d8df251ae..9b224a8cf 100644 --- a/content/campaigns/main/systems/krenn/stations/sova/districts/transit/monologue/detective/general.yaml +++ b/content/campaigns/main/systems/krenn/stations/sova/districts/transit/monologue/detective/general.yaml @@ -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] diff --git a/content/campaigns/main/systems/krenn/stations/sova/districts/transit/monologue/detective/maintenance-corridors.yaml b/content/campaigns/main/systems/krenn/stations/sova/districts/transit/monologue/detective/maintenance-corridors.yaml index 3c7758eb9..a9b2bb5e6 100644 --- a/content/campaigns/main/systems/krenn/stations/sova/districts/transit/monologue/detective/maintenance-corridors.yaml +++ b/content/campaigns/main/systems/krenn/stations/sova/districts/transit/monologue/detective/maintenance-corridors.yaml @@ -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] diff --git a/content/campaigns/main/systems/krenn/stations/sova/districts/transit/monologue/detective/the-last-shift.yaml b/content/campaigns/main/systems/krenn/stations/sova/districts/transit/monologue/detective/the-last-shift.yaml index ef61e3f81..63d8e3af6 100644 --- a/content/campaigns/main/systems/krenn/stations/sova/districts/transit/monologue/detective/the-last-shift.yaml +++ b/content/campaigns/main/systems/krenn/stations/sova/districts/transit/monologue/detective/the-last-shift.yaml @@ -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] diff --git a/content/campaigns/main/systems/krenn/stations/sova/districts/transit/monologue/detective/the-terminal.yaml b/content/campaigns/main/systems/krenn/stations/sova/districts/transit/monologue/detective/the-terminal.yaml index d3d199329..fb7996277 100644 --- a/content/campaigns/main/systems/krenn/stations/sova/districts/transit/monologue/detective/the-terminal.yaml +++ b/content/campaigns/main/systems/krenn/stations/sova/districts/transit/monologue/detective/the-terminal.yaml @@ -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] diff --git a/content/campaigns/main/systems/krenn/stations/sova/districts/transit/monologue/smuggler/general.yaml b/content/campaigns/main/systems/krenn/stations/sova/districts/transit/monologue/smuggler/general.yaml index 46efbe223..4c15f8ad4 100644 --- a/content/campaigns/main/systems/krenn/stations/sova/districts/transit/monologue/smuggler/general.yaml +++ b/content/campaigns/main/systems/krenn/stations/sova/districts/transit/monologue/smuggler/general.yaml @@ -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] diff --git a/content/campaigns/main/systems/krenn/stations/sova/districts/transit/monologue/smuggler/maintenance-corridors.yaml b/content/campaigns/main/systems/krenn/stations/sova/districts/transit/monologue/smuggler/maintenance-corridors.yaml index b1bdb0778..243d20a97 100644 --- a/content/campaigns/main/systems/krenn/stations/sova/districts/transit/monologue/smuggler/maintenance-corridors.yaml +++ b/content/campaigns/main/systems/krenn/stations/sova/districts/transit/monologue/smuggler/maintenance-corridors.yaml @@ -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] diff --git a/content/campaigns/main/systems/krenn/stations/sova/districts/transit/monologue/smuggler/the-last-shift.yaml b/content/campaigns/main/systems/krenn/stations/sova/districts/transit/monologue/smuggler/the-last-shift.yaml index 24304988d..6ef63187c 100644 --- a/content/campaigns/main/systems/krenn/stations/sova/districts/transit/monologue/smuggler/the-last-shift.yaml +++ b/content/campaigns/main/systems/krenn/stations/sova/districts/transit/monologue/smuggler/the-last-shift.yaml @@ -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] diff --git a/content/campaigns/main/systems/krenn/stations/sova/districts/transit/monologue/smuggler/the-terminal.yaml b/content/campaigns/main/systems/krenn/stations/sova/districts/transit/monologue/smuggler/the-terminal.yaml index 9c7de827b..a2b564b30 100644 --- a/content/campaigns/main/systems/krenn/stations/sova/districts/transit/monologue/smuggler/the-terminal.yaml +++ b/content/campaigns/main/systems/krenn/stations/sova/districts/transit/monologue/smuggler/the-terminal.yaml @@ -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] diff --git a/content/campaigns/main/systems/krenn/stations/sova/districts/transit/ticker/the-last-shift.yaml b/content/campaigns/main/systems/krenn/stations/sova/districts/transit/ticker/the-last-shift.yaml new file mode 100644 index 000000000..c7e251384 --- /dev/null +++ b/content/campaigns/main/systems/krenn/stations/sova/districts/transit/ticker/the-last-shift.yaml @@ -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."