diff --git a/content/_schema/monologue-pool.schema.json b/content/_schema/monologue-pool.schema.json index fa8a1438b..83abdd5bd 100644 --- a/content/_schema/monologue-pool.schema.json +++ b/content/_schema/monologue-pool.schema.json @@ -75,12 +75,13 @@ "emergency", "routine", "observation", - "greeting" + "greeting", + "triangle_activated" ] }, "minItems": 1, "uniqueItems": true, - "description": "D-035 structural tag: situations in which this monologue line is contextually appropriate. 14 v0.1 values. The engine selects using trigger; situation provides additional authoring context for filtering by the caller. NOTE: 'greeting' is not yet in server/src/content/line_pool.rs Situation enum." + "description": "D-035 structural tag: situations in which this monologue line is contextually appropriate. 15 v0.1 values (triangle_activated added Sprint 24). The engine selects using trigger; situation provides additional authoring context for filtering by the caller. NOTE: 'greeting' is not yet in server/src/content/line_pool.rs Situation enum." }, "trigger": { "type": "string", @@ -124,6 +125,10 @@ "enum": ["unknown", "known", "friendly", "person_of_interest", "hostile"] } } + }, + "npc_in_los": { + "type": "boolean", + "description": "Gate: line only fires when the triggering NPC is in the player's line of sight. Added Sprint 24 for triangle_activated observe_npc lines." } } } 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 2c961932f..22415c76a 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 @@ -446,3 +446,77 @@ lines: state: person_of_interest priority: 8 tags: [npc, kael, investigation, evidence, analytical] + + # --- Triangle Activation: Sera Venn / Torek Lintar (T2 informant-question) --- + # Fires post-TriangleActivated when player has LOS to Sera or Torek. One beat per line. + # Beat 1: pattern recognition. Beat 2: deviation logged. Beat 3: hypothesis. Beat 4: inference. Beat 5: procedural next step. + + - id: pc-detective_m_d_041 + text: "Venn changed her transit route. Bay six to bay four bypass — three times today." + role: player_character + access: [public] + trust: surface + situation: [triangle_activated] + trigger: observe_npc + mood: [suspicious] + priority: 8 + cooldown: 9999 + tags: [triangle-signal, tell-observation, npc, sera, analytical] + prerequisites: + npc_in_los: true + + - id: pc-detective_m_d_042 + text: "She passed Torek without acknowledgment. Third instance logged. They have worked adjacent bays for months." + role: player_character + access: [public] + trust: surface + situation: [triangle_activated] + trigger: observe_npc + mood: [suspicious] + priority: 8 + cooldown: 9999 + tags: [triangle-signal, tell-observation, npc, sera, torek, behavioral] + prerequisites: + npc_in_los: true + + - id: pc-detective_m_d_043 + text: "If she knows about the manifest discrepancy, why has she not reported it?" + role: player_character + access: [public] + trust: surface + situation: [triangle_activated] + trigger: observe_npc + mood: [suspicious] + priority: 8 + cooldown: 9999 + tags: [triangle-signal, tell-observation, npc, sera, analytical, friend-arc] + prerequisites: + npc_in_los: true + + - id: pc-detective_m_d_044 + text: "She is protecting something. Or someone. The distinction matters." + role: player_character + access: [public] + trust: surface + situation: [triangle_activated] + trigger: observe_npc + mood: [suspicious] + priority: 8 + cooldown: 9999 + tags: [triangle-signal, tell-observation, npc, sera, analytical, friend-arc] + prerequisites: + npc_in_los: true + + - id: pc-detective_m_d_045 + text: "Worth a direct conversation. Controlled setting. Not here." + role: player_character + access: [public] + trust: surface + situation: [triangle_activated] + trigger: observe_npc + mood: [suspicious] + priority: 8 + cooldown: 9999 + tags: [triangle-signal, tell-observation, npc, sera, procedural, friend-arc] + prerequisites: + npc_in_los: true 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 ae260689c..820396ec8 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 @@ -373,3 +373,77 @@ lines: state: person_of_interest priority: 9 tags: [npc, kael, contaminated-trust, friend-arc] + + # --- Triangle Activation: Kael Davan (T1 hub-power) --- + # Fires post-TriangleActivated when player has LOS to Kael. One beat per line. + # Beat 1: physical observation. Beat 2: rationalization. Beat 3: doubt. Beat 4: doubt breaks. + + - id: pc-smuggler_m_s_036 + text: "Kael's in the main corridor. He doesn't usually come through here." + role: player_character + access: [public] + trust: surface + situation: [triangle_activated] + trigger: observe_npc + mood: [suspicious] + priority: 8 + cooldown: 9999 + tags: [triangle-signal, tell-observation, npc, kael, friend-arc] + prerequisites: + npc_in_los: true + + - id: pc-smuggler_m_s_037 + text: "Voss probably moved him. Schedule shifts happen." + role: player_character + access: [public] + trust: surface + situation: [triangle_activated] + trigger: observe_npc + mood: [suspicious] + priority: 8 + cooldown: 9999 + tags: [triangle-signal, tell-observation, npc, kael, friend-arc] + prerequisites: + npc_in_los: true + + - id: pc-smuggler_m_s_038 + text: "...Kael would've told me." + role: player_character + access: [public] + trust: surface + situation: [triangle_activated] + trigger: observe_npc + mood: [anxious] + priority: 8 + cooldown: 9999 + tags: [triangle-signal, tell-observation, npc, kael, friend-arc] + prerequisites: + npc_in_los: true + + - id: pc-smuggler_m_s_039 + text: "He's not looking at the cargo. He's watching the exits." + role: player_character + access: [public] + trust: surface + situation: [triangle_activated] + trigger: observe_npc + mood: [anxious] + priority: 8 + cooldown: 9999 + tags: [triangle-signal, tell-observation, npc, kael, tell, friend-arc] + prerequisites: + npc_in_los: true + + - id: pc-smuggler_m_s_040 + text: "I don't know what I'm looking at. But I know Kael. And this isn't Kael." + role: player_character + access: [public] + trust: surface + situation: [triangle_activated] + trigger: observe_npc + mood: [anxious] + priority: 8 + cooldown: 9999 + tags: [triangle-signal, tell-observation, npc, kael, contradiction, friend-arc] + prerequisites: + npc_in_los: true