From 582b7be2e12e6166242b84b33d33cf18ba954f21 Mon Sep 17 00:00:00 2001 From: "Z. Cliffe Schreuders" Date: Tue, 18 Nov 2025 10:36:09 +0000 Subject: [PATCH] refactor: Convert ink dialogue to inline speaker prefix format Convert all ink files from #speaker: tag format to inline speaker prefixes: - "Narrator: " for narration/descriptions - "Netherton: " for Director Netherton dialogue - "Haxolottle: " for Agent 0x99 dialogue - "Dr. Chen: " for Dr. Chen dialogue Changes: - agent_0x00_cyber_division_intro.ink: Multi-character scene with Netherton and Haxolottle - haxolottle_ongoing_conversations.ink: Single-NPC conversations (Phases 1-2) - haxolottle_ongoing_conversations_advanced.ink: Single-NPC conversations (Phases 3-4) - lore_exploration_hub.ink: Conversations with multiple possible NPCs Preserves all functional tags (#exit_conversation, etc.) Follows Break Escape ink best practices for speaker attribution --- .../ink/agent_0x00_cyber_division_intro.ink | 296 ++++++------------ .../ink/haxolottle_ongoing_conversations.ink | 41 --- ...olottle_ongoing_conversations_advanced.ink | 42 --- story_design/ink/lore_exploration_hub.ink | 55 +--- 4 files changed, 108 insertions(+), 326 deletions(-) diff --git a/story_design/ink/agent_0x00_cyber_division_intro.ink b/story_design/ink/agent_0x00_cyber_division_intro.ink index 42805e9..db98b6e 100644 --- a/story_design/ink/agent_0x00_cyber_division_intro.ink +++ b/story_design/ink/agent_0x00_cyber_division_intro.ink @@ -27,8 +27,7 @@ EXTERNAL previous_missions_completed [Location: SAFETYNET Headquarters, Director's Office] [Time: 0900 hours] -#speaker:narration -The elevator doors open with a soft chime. You step into the corridor of SAFETYNET's executive level—a place you've only heard about in whispers. Sleek, minimalist, and impossibly secure. +Narrator: The elevator doors open with a soft chime. You step into the corridor of SAFETYNET's executive level—a place you've only heard about in whispers. Sleek, minimalist, and impossibly secure. The walls are lined with framed commendations and photos of operations you'll probably never be cleared to know about. Each door bears only a number, no names. @@ -60,20 +59,17 @@ No explanation. No context. Just the summons. // =========================================== === directors_office === -#speaker:narration -You reach Office 7A. The door is already open. +Narrator: You reach Office 7A. The door is already open. Director Magnus Netherton sits behind an immaculate desk, reviewing something on a tablet. He's exactly as described—impeccably dressed in a charcoal suit, gray at the temples, and radiating the kind of authority that comes from two decades of making life-or-death decisions. Without looking up: -#speaker:director_netherton -Agent {player_name}. You're three minutes early. Acceptable. +Netherton: Agent {player_name}. You're three minutes early. Acceptable. He gestures to a chair. -#speaker:director_netherton -Please, sit. +Netherton: Please, sit. * [Sit immediately] You take the offered seat, maintaining professional posture. @@ -92,11 +88,9 @@ Please, sit. -> first_briefing === premature_question === -#speaker:director_netherton -Netherton finally looks up, his expression unreadable. +Netherton: Netherton finally looks up, his expression unreadable. -#speaker:director_netherton -You'll find out momentarily, Agent. Patience is a virtue outlined in handbook section 3.4—though I suspect you already know that. +Netherton: You'll find out momentarily, Agent. Patience is a virtue outlined in handbook section 3.4—though I suspect you already know that. He returns his attention to the tablet for exactly five more seconds, then sets it down. @@ -107,8 +101,7 @@ He returns his attention to the tablet for exactly five more seconds, then sets // =========================================== === first_briefing === -#speaker:director_netherton -Your performance over the past {previous_missions_completed > 0: {previous_missions_completed} operations | several months} has been noted. +Netherton: Your performance over the past {previous_missions_completed > 0: {previous_missions_completed} operations | several months} has been noted. {player_attitude == "confident": Netherton: You carry yourself with confidence. Good. You'll need that. @@ -120,18 +113,15 @@ Your performance over the past {previous_missions_completed > 0: {previous_missi Netherton: Your analytical approach to challenges has not gone unnoticed. } -#speaker:director_netherton -You've proven yourself capable in {previous_missions_completed > 0: fieldwork | your previous assignments}. However, SAFETYNET has a more... specialized need for your skills. +Netherton: You've proven yourself capable in {previous_missions_completed > 0: fieldwork | your previous assignments}. However, SAFETYNET has a more... specialized need for your skills. He taps the tablet, and a holographic display materializes above his desk—organizational charts, mission statistics, threat assessments. -#speaker:director_netherton -The CYBER-PHYSICAL division. Our operatives who engage with threats that exist at the intersection of digital and physical security. +Netherton: The CYBER-PHYSICAL division. Our operatives who engage with threats that exist at the intersection of digital and physical security. The display shifts to show images: server rooms, corporate facilities, critical infrastructure, research labs. -#speaker:director_netherton -ENTROPY doesn't simply hack systems from a distance, Agent. They infiltrate facilities. They compromise supply chains. They plant hardware backdoors. They manipulate both silicon and society. +Netherton: ENTROPY doesn't simply hack systems from a distance, Agent. They infiltrate facilities. They compromise supply chains. They plant hardware backdoors. They manipulate both silicon and society. * [Express eagerness to join] ~ player_attitude = "eager" @@ -152,49 +142,41 @@ ENTROPY doesn't simply hack systems from a distance, Agent. They infiltrate faci -> why_selected === eager_response === -#speaker:director_netherton -Netherton's expression doesn't change, but there's something that might be approval in his eyes. +Netherton: Netherton's expression doesn't change, but there's something that might be approval in his eyes. -#speaker:director_netherton -Enthusiasm is noted, Agent. However, there are protocols. Per handbook section 12.3, new division assignments require a comprehensive briefing and handler assignment. +Netherton: Enthusiasm is noted, Agent. However, there are protocols. Per handbook section 12.3, new division assignments require a comprehensive briefing and handler assignment. -> division_details === division_details === -#speaker:director_netherton -The CYBER-PHYSICAL division handles operations requiring both cyber security expertise and physical infiltration capability. +Netherton: The CYBER-PHYSICAL division handles operations requiring both cyber security expertise and physical infiltration capability. He highlights several case files on the display: -#speaker:director_netherton -- Facility infiltration to access air-gapped systems -- Physical implantation of monitoring devices -- On-site network penetration and data exfiltration -- Supply chain interdiction -- Hardware security assessments of critical infrastructure +Netherton: - Facility infiltration to access air-gapped systems +Netherton: - Physical implantation of monitoring devices +Netherton: - On-site network penetration and data exfiltration +Netherton: - Supply chain interdiction +Netherton: - Hardware security assessments of critical infrastructure {not knows_cyber_division: ~ knows_cyber_division = true } -#speaker:director_netherton -Unlike pure cyber operations conducted remotely, or pure physical security assessments, CYBER-PHYSICAL operatives must excel at both. The margin for error is... minimal. +Netherton: Unlike pure cyber operations conducted remotely, or pure physical security assessments, CYBER-PHYSICAL operatives must excel at both. The margin for error is... minimal. -> handler_introduction_setup === why_selected === -#speaker:director_netherton -A valid question. +Netherton: A valid question. He pulls up what appears to be your personnel file. -#speaker:director_netherton -Your technical proficiency is well-documented. Your adaptability in the field has been demonstrated repeatedly. And perhaps most importantly... +Netherton: Your technical proficiency is well-documented. Your adaptability in the field has been demonstrated repeatedly. And perhaps most importantly... He looks directly at you. -#speaker:director_netherton -You complete missions while adhering to operational protocols. A rarer combination than one might expect. +Netherton: You complete missions while adhering to operational protocols. A rarer combination than one might expect. {player_attitude == "cautious": Netherton: Your cautious nature is an asset, not a liability. CYBER-PHYSICAL operations require agents who think before they act. @@ -205,13 +187,11 @@ You complete missions while adhering to operational protocols. A rarer combinati -> division_details === handler_introduction_setup === -#speaker:director_netherton -Per standard operating procedure outlined in handbook section 14.7, you will be assigned a dedicated handler for CYBER-PHYSICAL operations. +Netherton: Per standard operating procedure outlined in handbook section 14.7, you will be assigned a dedicated handler for CYBER-PHYSICAL operations. He presses a button on his desk. -#speaker:director_netherton -Someone with extensive field experience who can provide real-time support during your operations. +Netherton: Someone with extensive field experience who can provide real-time support during your operations. The office door opens. @@ -223,16 +203,13 @@ The office door opens. // =========================================== === haxolottle_entrance === -#speaker:narration -A figure enters—relaxed posture, tech-casual attire, holding what appears to be a coffee mug with an unusual design. They look comfortable in a way that suggests years of experience. +Narrator: A figure enters—relaxed posture, tech-casual attire, holding what appears to be a coffee mug with an unusual design. They look comfortable in a way that suggests years of experience. -#speaker:agent_haxolottle -Agent {player_name}, I presume? +Haxolottle: Agent {player_name}, I presume? They extend a hand for a handshake. -#speaker:agent_haxolottle -Agent 0x99. Callsign "Haxolottle." Yes, like the axolotl. Yes, I know it's unusual. And yes, there's a story behind it that I'll probably tell you over comms during a mission at exactly the wrong moment. +Haxolottle: Agent 0x99. Callsign "Haxolottle." Yes, like the axolotl. Yes, I know it's unusual. And yes, there's a story behind it that I'll probably tell you over comms during a mission at exactly the wrong moment. * [Shake hands professionally] ~ haxolottle_trust += 5 @@ -255,65 +232,49 @@ Agent 0x99. Callsign "Haxolottle." Yes, like the axolotl. Yes, I know it's unusu -> axolotl_story_teaser === haxolottle_initial_banter === -#speaker:agent_haxolottle -Haxolottle grins and glances at Director Netherton. +Haxolottle: Haxolottle grins and glances at Director Netherton. -#speaker:agent_haxolottle -Still as warm and welcoming as ever, I see, Director. +Haxolottle: Still as warm and welcoming as ever, I see, Director. -#speaker:director_netherton -Netherton doesn't look up from his tablet. +Netherton: Netherton doesn't look up from his tablet. -#speaker:director_netherton -Agent 0x99, please maintain professional decorum per handbook section— +Netherton: Agent 0x99, please maintain professional decorum per handbook section— -#speaker:agent_haxolottle -—Section 3.2.b, interpersonal conduct. I know, I know. Fifteen years and you're still citing the handbook at me. +Haxolottle: —Section 3.2.b, interpersonal conduct. I know, I know. Fifteen years and you're still citing the handbook at me. Haxolottle turns back to you with a conspiratorial wink. -#speaker:agent_haxolottle -You'll get used to it. The Director's bark is worse than his bite. Actually, wait, that's not true. His bite is exactly as strict as his bark. But it comes from a good place. +Haxolottle: You'll get used to it. The Director's bark is worse than his bite. Actually, wait, that's not true. His bite is exactly as strict as his bark. But it comes from a good place. -> handler_explanation === axolotl_story_teaser === -#speaker:agent_haxolottle -Haxolottle's eyes light up. +Haxolottle: Haxolottle's eyes light up. -#speaker:agent_haxolottle -Oh, you're going to fit in just fine. The short version: axolotls are masters of regeneration and adaptation. Lost a limb? Grow it back. Need to change your approach? Metamorphosis is an option. +Haxolottle: Oh, you're going to fit in just fine. The short version: axolotls are masters of regeneration and adaptation. Lost a limb? Grow it back. Need to change your approach? Metamorphosis is an option. -#speaker:director_netherton -Director Netherton clears his throat. +Netherton: Director Netherton clears his throat. -#speaker:director_netherton -Agent 0x99, perhaps we could save the amphibian biology lecture for after the formal briefing. +Netherton: Agent 0x99, perhaps we could save the amphibian biology lecture for after the formal briefing. -#speaker:agent_haxolottle -Right, right. Professional decorum. Got it, Director. +Haxolottle: Right, right. Professional decorum. Got it, Director. Haxolottle turns back to you with a smile. -#speaker:agent_haxolottle -Long version later. For now, just know: in this job, the ability to regenerate from setbacks and adapt to changing circumstances is everything. Hence, Haxolottle. +Haxolottle: Long version later. For now, just know: in this job, the ability to regenerate from setbacks and adapt to changing circumstances is everything. Hence, Haxolottle. -> handler_explanation === handler_explanation === -#speaker:director_netherton -Director Netherton stands, hands clasped behind his back. +Netherton: Director Netherton stands, hands clasped behind his back. -#speaker:director_netherton -Agent 0x99 will serve as your handler for CYBER-PHYSICAL operations. They will provide mission briefings, real-time support during operations, and post-mission debriefing. +Netherton: Agent 0x99 will serve as your handler for CYBER-PHYSICAL operations. They will provide mission briefings, real-time support during operations, and post-mission debriefing. -#speaker:agent_haxolottle -Translation: I'm the voice in your ear when you're standing in a server room you're not supposed to be in, trying to bypass security you definitely shouldn't be bypassing, while maintaining a cover story that seemed way more convincing during planning. +Haxolottle: Translation: I'm the voice in your ear when you're standing in a server room you're not supposed to be in, trying to bypass security you definitely shouldn't be bypassing, while maintaining a cover story that seemed way more convincing during planning. ~ haxolottle_trust += 5 -#speaker:agent_haxolottle -I've been doing this for fifteen years. Spent eight in the field before transitioning to handler work. Whatever you run into out there, I've probably seen it—or something close enough to help. +Haxolottle: I've been doing this for fifteen years. Spent eight in the field before transitioning to handler work. Whatever you run into out there, I've probably seen it—or something close enough to help. * [Express confidence in the arrangement] ~ haxolottle_trust += 10 @@ -334,17 +295,13 @@ I've been doing this for fifteen years. Spent eight in the field before transiti -> disagreement_protocol === haxolottle_experience_brief === -#speaker:agent_haxolottle -Haxolottle leans against the Director's desk casually—earning a slight frown from Netherton, which they ignore. +Haxolottle: Haxolottle leans against the Director's desk casually—earning a slight frown from Netherton, which they ignore. -#speaker:agent_haxolottle -Infiltrated controlled corporations. Ran counter-intelligence on ENTROPY cells. Did some work that's still classified and will probably stay that way until we're both retired. +Haxolottle: Infiltrated controlled corporations. Ran counter-intelligence on ENTROPY cells. Did some work that's still classified and will probably stay that way until we're both retired. -#speaker:agent_haxolottle -The operation that earned me the callsign involved being pinned in a compromised position for three days, surviving through adaptation and creative problem-solving. Turned a blown mission into our biggest intelligence coup that year. +Haxolottle: The operation that earned me the callsign involved being pinned in a compromised position for three days, surviving through adaptation and creative problem-solving. Turned a blown mission into our biggest intelligence coup that year. -#speaker:agent_haxolottle -Point is: I know what you'll be dealing with. The fear. The adrenaline. The moment when everything goes sideways and you have to improvise. I've been there. +Haxolottle: Point is: I know what you'll be dealing with. The fear. The adrenaline. The moment when everything goes sideways and you have to improvise. I've been there. ~ knows_handler_role = true ~ haxolottle_trust += 5 @@ -352,17 +309,13 @@ Point is: I know what you'll be dealing with. The fear. The adrenaline. The mome -> mission_philosophy_question === disagreement_protocol === -#speaker:director_netherton -Netherton answers before Haxolottle can. +Netherton: Netherton answers before Haxolottle can. -#speaker:director_netherton -An excellent question. Per handbook section 14.9, field agents have operational discretion when directly engaged. You are on-site. You have eyes on the situation. Your handler provides guidance, not commands. +Netherton: An excellent question. Per handbook section 14.9, field agents have operational discretion when directly engaged. You are on-site. You have eyes on the situation. Your handler provides guidance, not commands. -#speaker:agent_haxolottle -What the Director's saying is: I'll give you my best assessment based on the big picture I can see. But you're the one in the room. If you've got a better read on the situation, I trust your judgment. +Haxolottle: What the Director's saying is: I'll give you my best assessment based on the big picture I can see. But you're the one in the room. If you've got a better read on the situation, I trust your judgment. -#speaker:agent_haxolottle -That said, if I'm telling you something's dangerous, there's probably a very good reason. We're partners in this. +Haxolottle: That said, if I'm telling you something's dangerous, there's probably a very good reason. We're partners in this. ~ netherton_respect += 10 ~ haxolottle_trust += 10 @@ -370,17 +323,13 @@ That said, if I'm telling you something's dangerous, there's probably a very goo -> mission_philosophy_question === mission_philosophy_question === -#speaker:director_netherton -Director Netherton pulls up a new display—threat assessments, ENTROPY cell activities, ongoing operations. +Netherton: Director Netherton pulls up a new display—threat assessments, ENTROPY cell activities, ongoing operations. -#speaker:director_netherton -The CYBER-PHYSICAL division faces unique challenges. ENTROPY operates in the shadows between digital and physical security. They exploit the gaps where traditional defenses fail. +Netherton: The CYBER-PHYSICAL division faces unique challenges. ENTROPY operates in the shadows between digital and physical security. They exploit the gaps where traditional defenses fail. -#speaker:agent_haxolottle -We're the ones who close those gaps. Sometimes with elegant technical solutions. Sometimes with a lockpick and a convincing cover story. +Haxolottle: We're the ones who close those gaps. Sometimes with elegant technical solutions. Sometimes with a lockpick and a convincing cover story. -#speaker:director_netherton -Your approach to these operations will shape your effectiveness. I'm interested in understanding your operational philosophy, Agent {player_name}. +Netherton: Your approach to these operations will shape your effectiveness. I'm interested in understanding your operational philosophy, Agent {player_name}. * [Prioritize thoroughness and caution] ~ player_attitude = "cautious" @@ -405,72 +354,54 @@ Your approach to these operations will shape your effectiveness. I'm interested -> adaptive_philosophy_response === cautious_philosophy_response === -#speaker:director_netherton -Netherton nods approvingly. +Netherton: Netherton nods approvingly. -#speaker:director_netherton -A methodical approach. This aligns well with handbook guidance on operational planning section 7.3. Measured execution reduces unnecessary exposure and maintains operational security. +Netherton: A methodical approach. This aligns well with handbook guidance on operational planning section 7.3. Measured execution reduces unnecessary exposure and maintains operational security. -#speaker:agent_haxolottle -And when things inevitably go sideways—because they always do—that thorough planning gives you a foundation to build your improvisation on. Like an axolotl regenerating a limb: you need the core structure first. +Haxolottle: And when things inevitably go sideways—because they always do—that thorough planning gives you a foundation to build your improvisation on. Like an axolotl regenerating a limb: you need the core structure first. There's that axolotl reference again. -> specialization_discussion === confident_philosophy_response === -#speaker:agent_haxolottle -Haxolottle grins. +Haxolottle: Haxolottle grins. -#speaker:agent_haxolottle -I like it. Decisiveness is underrated. Analysis paralysis has killed more operations than bold action, in my experience. +Haxolottle: I like it. Decisiveness is underrated. Analysis paralysis has killed more operations than bold action, in my experience. -#speaker:director_netherton -Netherton looks less enthusiastic but not disapproving. +Netherton: Netherton looks less enthusiastic but not disapproving. -#speaker:director_netherton -Confidence is valuable, Agent, provided it's paired with sound judgment. Per handbook section 8.5, field discretion requires balancing speed with caution. +Netherton: Confidence is valuable, Agent, provided it's paired with sound judgment. Per handbook section 8.5, field discretion requires balancing speed with caution. -#speaker:agent_haxolottle -Translation: be bold, but don't be reckless. We're working on it together. If your instincts say "go," and I don't have a compelling reason to stop you, we go. +Haxolottle: Translation: be bold, but don't be reckless. We're working on it together. If your instincts say "go," and I don't have a compelling reason to stop you, we go. -> specialization_discussion === adaptive_philosophy_response === -#speaker:agent_haxolottle -Haxolottle actually looks impressed. +Haxolottle: Haxolottle actually looks impressed. -#speaker:agent_haxolottle -Now that's the mindset. Adaptability. Flexibility. Like I said—axolotl thinking. The ability to regenerate your approach when the first one doesn't work. +Haxolottle: Now that's the mindset. Adaptability. Flexibility. Like I said—axolotl thinking. The ability to regenerate your approach when the first one doesn't work. -#speaker:director_netherton -Director Netherton also appears satisfied. +Netherton: Director Netherton also appears satisfied. -#speaker:director_netherton -A balanced perspective. The handbook acknowledges in section 14.2 that field conditions are inherently unpredictable. Agents who can adjust methodology while maintaining mission focus demonstrate advanced operational maturity. +Netherton: A balanced perspective. The handbook acknowledges in section 14.2 that field conditions are inherently unpredictable. Agents who can adjust methodology while maintaining mission focus demonstrate advanced operational maturity. -#speaker:agent_haxolottle -In other words: you get it. Perfect. We're going to work well together. +Haxolottle: In other words: you get it. Perfect. We're going to work well together. -> specialization_discussion === specialization_discussion === -#speaker:director_netherton -Netherton dismisses the holographic display. +Netherton: Netherton dismisses the holographic display. -#speaker:director_netherton -Agent 0x99 will handle your detailed orientation over the coming week. You'll receive technical briefings, facility access, and equipment assignments. +Netherton: Agent 0x99 will handle your detailed orientation over the coming week. You'll receive technical briefings, facility access, and equipment assignments. He looks directly at you. -#speaker:director_netherton -The CYBER-PHYSICAL division handles the operations that are too complex for single-discipline approaches. You will encounter challenges that test both your technical capabilities and your field craft. +Netherton: The CYBER-PHYSICAL division handles the operations that are too complex for single-discipline approaches. You will encounter challenges that test both your technical capabilities and your field craft. -#speaker:agent_haxolottle -What the Director's not saying is: you're going to be challenged. But you're also going to grow faster than you ever thought possible. We don't assign people to CYBER-PHYSICAL unless we believe they can handle it. +Haxolottle: What the Director's not saying is: you're going to be challenged. But you're also going to grow faster than you ever thought possible. We don't assign people to CYBER-PHYSICAL unless we believe they can handle it. -#speaker:director_netherton -Quite. Do you have any questions before you begin orientation? +Netherton: Quite. Do you have any questions before you begin orientation? * [Ask about first assignment] You: When will I receive my first CYBER-PHYSICAL operation? @@ -485,30 +416,24 @@ Quite. Do you have any questions before you begin orientation? -> ready_to_begin === first_assignment_timing === -#speaker:director_netherton -Netherton glances at his tablet. +Netherton: Netherton glances at his tablet. -#speaker:director_netherton -Per protocol, new division assignments require a one-week orientation period. However, given current operational tempo and ENTROPY activity levels... +Netherton: Per protocol, new division assignments require a one-week orientation period. However, given current operational tempo and ENTROPY activity levels... He looks at Haxolottle. -#speaker:agent_haxolottle -I've got a scenario developing that's perfect for a shakedown operation. Corporate facility, suspected ENTROPY infiltration, moderate complexity. Could be ready to brief in 72 hours. +Haxolottle: I've got a scenario developing that's perfect for a shakedown operation. Corporate facility, suspected ENTROPY infiltration, moderate complexity. Could be ready to brief in 72 hours. -#speaker:director_netherton -Acceptable. Agent {player_name}, complete your orientation, review the required materials, and report to Agent 0x99 on Thursday at 0800 hours. +Netherton: Acceptable. Agent {player_name}, complete your orientation, review the required materials, and report to Agent 0x99 on Thursday at 0800 hours. ~ netherton_respect += 5 -> closing_briefing === training_guidance === -#speaker:agent_haxolottle -Haxolottle answers first. +Haxolottle: Haxolottle answers first. -#speaker:agent_haxolottle -Honestly? The best preparation is reviewing what you already know. You've got the fundamentals. Now it's about integrating them. +Haxolottle: Honestly? The best preparation is reviewing what you already know. You've got the fundamentals. Now it's about integrating them. {specialization_interest == "cyber": Haxolottle: Your technical skills are solid. Brush up on physical infiltration basics—lockpicking, cover stories, reading floor plans. The cyber part, you've got. @@ -520,8 +445,7 @@ Honestly? The best preparation is reviewing what you already know. You've got th Haxolottle: You've got a good foundation in both areas. Focus on integration—how to use physical access to enable cyber operations, and vice versa. That's where CYBER-PHYSICAL work gets interesting. } -#speaker:director_netherton -Additionally, review handbook sections 12 through 18. CYBER-PHYSICAL operations have specific protocols regarding evidence handling, data exfiltration, and operational security. +Netherton: Additionally, review handbook sections 12 through 18. CYBER-PHYSICAL operations have specific protocols regarding evidence handling, data exfiltration, and operational security. ~ netherton_respect += 8 ~ haxolottle_trust += 5 @@ -529,19 +453,15 @@ Additionally, review handbook sections 12 through 18. CYBER-PHYSICAL operations -> closing_briefing === ready_to_begin === -#speaker:director_netherton -Netherton almost smiles. Almost. +Netherton: Netherton almost smiles. Almost. -#speaker:director_netherton -Confidence without arrogance. Acceptable. Agent 0x99, proceed with orientation protocol per handbook section 12.5. +Netherton: Confidence without arrogance. Acceptable. Agent 0x99, proceed with orientation protocol per handbook section 12.5. -#speaker:agent_haxolottle -Copy that, Director. +Haxolottle: Copy that, Director. Haxolottle gestures toward the door. -#speaker:agent_haxolottle -Come on, Agent {player_name}. Let me show you your new office space, introduce you to the team, and explain why the coffee on level 3 is better than level 5 despite what anyone tells you. +Haxolottle: Come on, Agent {player_name}. Let me show you your new office space, introduce you to the team, and explain why the coffee on level 3 is better than level 5 despite what anyone tells you. ~ haxolottle_trust += 10 ~ professional_impression = true @@ -549,11 +469,9 @@ Come on, Agent {player_name}. Let me show you your new office space, introduce y -> closing_briefing === closing_briefing === -#speaker:director_netherton -Director Netherton stands, signaling the meeting's conclusion. +Netherton: Director Netherton stands, signaling the meeting's conclusion. -#speaker:director_netherton -Agent {player_name}, welcome to the CYBER-PHYSICAL division. Your performance will be evaluated continuously. I expect excellence. +Netherton: Agent {player_name}, welcome to the CYBER-PHYSICAL division. Your performance will be evaluated continuously. I expect excellence. {netherton_respect >= 60: Netherton: Based on your record and this conversation, I believe you're capable of meeting that standard. @@ -569,27 +487,21 @@ He extends his hand for a formal handshake. -> final_moment === final_moment === -#speaker:director_netherton -Per handbook section 2.7, maintain operational security regarding your division assignment. Dismissed. +Netherton: Per handbook section 2.7, maintain operational security regarding your division assignment. Dismissed. As you turn to leave with Haxolottle, the Director speaks once more: -#speaker:director_netherton -{netherton_respect >= 70: Agent {player_name}... good luck. | Agent... don't disappoint me.} +Netherton: {netherton_respect >= 70: Agent {player_name}... good luck. | Agent... don't disappoint me.} The door closes behind you. -#speaker:agent_haxolottle -Haxolottle grins as you walk down the corridor. +Haxolottle: Haxolottle grins as you walk down the corridor. -#speaker:agent_haxolottle -So! Welcome to CYBER-PHYSICAL. You survived a Netherton briefing without him citing the handbook more than... okay, he cited it a lot. But he likes you—I can tell. +Haxolottle: So! Welcome to CYBER-PHYSICAL. You survived a Netherton briefing without him citing the handbook more than... okay, he cited it a lot. But he likes you—I can tell. -#speaker:agent_haxolottle -First rule of working with me: I will make axolotl metaphors. They're genuinely helpful about 60% of the time. Second rule: when I say "get out now," trust me and get out. +Haxolottle: First rule of working with me: I will make axolotl metaphors. They're genuinely helpful about 60% of the time. Second rule: when I say "get out now," trust me and get out. -#speaker:agent_haxolottle -Everything else we'll figure out together. Ready to see your new workspace? +Haxolottle: Everything else we'll figure out together. Ready to see your new workspace? * [Absolutely] ~ haxolottle_trust += 5 @@ -601,38 +513,30 @@ Everything else we'll figure out together. Ready to see your new workspace? -> team_tease === orientation_begins === -#speaker:agent_haxolottle -Haxolottle leads you toward the elevators. +Haxolottle: Haxolottle leads you toward the elevators. -#speaker:agent_haxolottle -One more thing—and this is important. We're partners in this work. I've got experience and perspective. You've got skills and fresh eyes. Best operations happen when we trust each other. +Haxolottle: One more thing—and this is important. We're partners in this work. I've got experience and perspective. You've got skills and fresh eyes. Best operations happen when we trust each other. They press the elevator button. -#speaker:agent_haxolottle -So if you've got questions, ask. If something doesn't feel right, speak up. And if I tell you about axolotl regeneration during a critical moment... well, it'll probably be relevant. Probably. +Haxolottle: So if you've got questions, ask. If something doesn't feel right, speak up. And if I tell you about axolotl regeneration during a critical moment... well, it'll probably be relevant. Probably. The elevator arrives. -#speaker:agent_haxolottle -Welcome to CYBER-PHYSICAL, Agent {player_name}. This is going to be interesting. +Haxolottle: Welcome to CYBER-PHYSICAL, Agent {player_name}. This is going to be interesting. -> END === team_tease === -#speaker:agent_haxolottle -Oh, you'll like them. We've got Dr. Chen in technical support—brilliant, talks incredibly fast, lives on energy drinks. There's a betting pool on whether they actually sleep. +Haxolottle: Oh, you'll like them. We've got Dr. Chen in technical support—brilliant, talks incredibly fast, lives on energy drinks. There's a betting pool on whether they actually sleep. -#speaker:agent_haxolottle -Then there's Agent 0x42—you might not meet them directly. They're... mysterious. Legendary field operative. Appears cryptically, provides crucial information, vanishes. Very dramatic. +Haxolottle: Then there's Agent 0x42—you might not meet them directly. They're... mysterious. Legendary field operative. Appears cryptically, provides crucial information, vanishes. Very dramatic. -#speaker:agent_haxolottle -And of course, there's the rest of the CYBER-PHYSICAL agents. Good people. We look out for each other out there. +Haxolottle: And of course, there's the rest of the CYBER-PHYSICAL agents. Good people. We look out for each other out there. They press the elevator button. -#speaker:agent_haxolottle -You're joining a solid team, Agent. We've got your back. +Haxolottle: You're joining a solid team, Agent. We've got your back. -> orientation_begins diff --git a/story_design/ink/haxolottle_ongoing_conversations.ink b/story_design/ink/haxolottle_ongoing_conversations.ink index 838c949..e2fefa8 100644 --- a/story_design/ink/haxolottle_ongoing_conversations.ink +++ b/story_design/ink/haxolottle_ongoing_conversations.ink @@ -78,7 +78,6 @@ EXTERNAL current_mission_number // =========================================== === phase_1_hub === -#speaker:agent_haxolottle {missions_together == 1: Haxolottle: So, we've got some downtime. Want to chat about non-work stuff? Per Regulation 847, personal conversation is encouraged for psychological wellbeing. @@ -104,7 +103,6 @@ EXTERNAL current_mission_number // ---------------- === hobbies_general === -#speaker:agent_haxolottle ~ talked_hobbies_general = true ~ friendship_level += 5 ~ conversations_had += 1 @@ -136,7 +134,6 @@ Haxolottle: And I tinker with old electronics. Pull apart vintage computers, rep -> hobbies_electronics_followup === hobbies_scifi_followup === -#speaker:agent_haxolottle ~ friendship_level += 5 Haxolottle: Oh, you read sci-fi? Nice! I'm partial to the stuff that explores emergence and complexity—you know, how simple rules create complex systems. @@ -166,7 +163,6 @@ Haxolottle: What about you? What kind of stories do you gravitate toward? -> phase_1_hub === hobbies_swimming_followup === -#speaker:agent_haxolottle Haxolottle: That's fair. Swimming isn't for everyone. The whole "put your face in water and breathe at specific intervals" thing is surprisingly hard. @@ -180,7 +176,6 @@ Haxolottle: Plus, it's one of the few activities where I can guarantee I'm not c -> phase_1_hub === hobbies_electronics_followup === -#speaker:agent_haxolottle Haxolottle: You'd think it'd be busman's holiday—working with electronics all day, then doing it for fun. But there's a difference. @@ -200,7 +195,6 @@ Haxolottle: Plus, there's satisfaction in making a thirty-year-old computer boot // ---------------- === axolotl_deep_dive === -#speaker:agent_haxolottle ~ talked_axolotl_obsession = true ~ friendship_level += 8 ~ conversations_had += 1 @@ -229,7 +223,6 @@ Haxolottle: Found this section on axolotls—*Ambystoma mexicanum*. These amazin -> axolotl_joke_response === axolotl_operation_connection === -#speaker:agent_haxolottle ~ friendship_level += 5 Haxolottle: It gave me a framework. See, I'd lost my original cover story—that identity was "severed" when the real person appeared. Dead. Gone. @@ -246,7 +239,6 @@ Haxolottle: The metaphor stuck. Now every operation that goes sideways, I think: -> phase_1_hub === axolotl_biology_detail === -#speaker:agent_haxolottle ~ friendship_level += 5 Haxolottle: *lights up with enthusiasm* @@ -267,7 +259,6 @@ Haxolottle: Sorry, I can talk about this for hours. The point is: regeneration, -> phase_1_hub === axolotl_joke_response === -#speaker:agent_haxolottle ~ friendship_level += 8 ~ humor_shared += 1 @@ -294,7 +285,6 @@ Haxolottle: You're laughing, but I'm serious. The metaphor has kept me sane for // ---------------- === music_discussion === -#speaker:agent_haxolottle ~ talked_music_taste = true ~ friendship_level += 5 ~ conversations_had += 1 @@ -325,7 +315,6 @@ Haxolottle: And then sometimes... *looks slightly embarrassed* ...sometimes I li -> music_nature_tease === music_ambient_detail === -#speaker:agent_haxolottle ~ friendship_level += 5 Haxolottle: Oh, good taste! For concentration, I keep coming back to Eno's *Music for Airports*. It's designed to be ignorable but interesting—perfect for background. @@ -349,7 +338,6 @@ Haxolottle: What about you? Any favorites? -> phase_1_hub === music_silence_response === -#speaker:agent_haxolottle Haxolottle: That's valid. Some people work better in complete silence. Brain needs quiet to process. @@ -361,7 +349,6 @@ Haxolottle: But everyone's different. That's why we have noise-cancelling headph -> phase_1_hub === music_nature_tease === -#speaker:agent_haxolottle ~ friendship_level += 8 ~ humor_shared += 1 @@ -385,7 +372,6 @@ Haxolottle: You can judge me, but I won't stop. I have a whole collection. "Thun // ---------------- === coffee_chat === -#speaker:agent_haxolottle ~ talked_coffee_preferences = true ~ friendship_level += 4 ~ conversations_had += 1 @@ -415,7 +401,6 @@ Haxolottle: Dr. Chen thinks I'm weird for it. They survive on energy drinks and -> coffee_mug_discussion === coffee_tea_solidarity === -#speaker:agent_haxolottle ~ friendship_level += 5 Haxolottle: A fellow tea person! Excellent. We're a minority in SAFETYNET. @@ -430,7 +415,6 @@ Haxolottle: Consider it insider knowledge. Handler privilege. -> phase_1_hub === coffee_defense === -#speaker:agent_haxolottle Haxolottle: Hey, no judgment! Coffee works for a lot of people. Dr. Chen would probably collapse without it. @@ -442,7 +426,6 @@ Haxolottle: As long as you're alert and functional, I don't care if you're power -> phase_1_hub === coffee_mug_discussion === -#speaker:agent_haxolottle ~ friendship_level += 8 ~ humor_shared += 1 @@ -464,7 +447,6 @@ Haxolottle: Director Netherton pretends not to notice it in briefings, but I've // ---------------- === stress_management === -#speaker:agent_haxolottle ~ talked_stress_management = true ~ friendship_level += 10 ~ conversations_had += 1 @@ -497,7 +479,6 @@ Haxolottle: I've had agents get hurt. I've had operations go wrong despite every -> stress_coping_methods === stress_honest_response === -#speaker:agent_haxolottle ~ friendship_level += 10 Haxolottle: Of course. We're in this together, Agent. I'm not just a voice on comms—I'm a person who cares about whether you come back safe. @@ -511,7 +492,6 @@ Haxolottle: You're not just an asset to me. You're a colleague. Maybe even a fri -> phase_1_hub === stress_mutual_understanding === -#speaker:agent_haxolottle ~ friendship_level += 15 ~ trust_moments += 2 @@ -532,7 +512,6 @@ Haxolottle: And we do it together. That makes it bearable. -> phase_1_hub === stress_coping_methods === -#speaker:agent_haxolottle ~ friendship_level += 10 Haxolottle: Honestly? I remind myself why we do this. ENTROPY is real. The threats are real. The people we protect—even though they don't know we exist—they're real. @@ -552,7 +531,6 @@ Haxolottle: And... *slight smile* ...I have my ridiculous axolotl metaphors. Whe // =========================================== === phase_2_hub === -#speaker:agent_haxolottle {missions_together == 6: Haxolottle: We've been working together for a while now. Starting to feel like a real partnership. Got time to talk? @@ -580,7 +558,6 @@ Haxolottle: And... *slight smile* ...I have my ridiculous axolotl metaphors. Whe // ---------------- === philosophy_evolution === -#speaker:agent_haxolottle ~ talked_philosophy_change = true ~ friendship_level += 10 ~ conversations_had += 1 @@ -614,7 +591,6 @@ Haxolottle: The philosophy that's stuck is: Do the work as ethically as you can -> philosophy_immediate_good === philosophy_gray_areas === -#speaker:agent_haxolottle ~ friendship_level += 15 ~ trust_moments += 1 @@ -630,7 +606,6 @@ Haxolottle: The day we stop feeling uncomfortable with the gray areas is the day -> phase_2_hub === philosophy_haunting_decision === -#speaker:agent_haxolottle ~ friendship_level += 20 ~ vulnerable_moments += 2 ~ hax_shared_doubt = true @@ -665,7 +640,6 @@ Haxolottle: And I don't know if I would. If I could do it again, with the same i -> philosophy_shared_burden === philosophy_comfort_response === -#speaker:agent_haxolottle ~ friendship_level += 15 Haxolottle: *slight smile* Thank you. I know that, intellectually. Regulation 911—mission objectives sometimes outweigh agent safety when lives are at stake. @@ -678,7 +652,6 @@ Haxolottle: You're a good person, Agent {player_name}. I'm glad we're working to -> phase_2_hub === philosophy_shared_burden === -#speaker:agent_haxolottle ~ friendship_level += 25 ~ trust_moments += 3 @@ -696,7 +669,6 @@ Haxolottle: And what we have is this. Honest conversations within the boundaries -> phase_2_hub === philosophy_immediate_good === -#speaker:agent_haxolottle ~ friendship_level += 8 Haxolottle: That's a healthy approach. Zoom in on what you can control, the immediate impact. Today's mission. This operation. This prevented attack. @@ -713,7 +685,6 @@ Haxolottle: That's sustainable. I should probably do more of that myself. // ---------------- === handler_reality === -#speaker:agent_haxolottle ~ talked_handler_life = true ~ friendship_level += 12 ~ conversations_had += 1 @@ -743,7 +714,6 @@ Haxolottle: And when things go wrong, I can only watch. I can't run in and help. -> handler_stress_acknowledgment === handler_appreciation === -#speaker:agent_haxolottle ~ friendship_level += 20 ~ trust_moments += 1 @@ -759,7 +729,6 @@ Haxolottle: We're a team. You're my eyes and hands in the field. I'm your strate -> phase_2_hub === handler_field_return_question === -#speaker:agent_haxolottle ~ friendship_level += 12 Haxolottle: *considers carefully* @@ -776,7 +745,6 @@ Haxolottle: Plus, I'm better at this. Supporting multiple agents, seeing the str -> phase_2_hub === handler_stress_acknowledgment === -#speaker:agent_haxolottle ~ friendship_level += 15 Haxolottle: It really is. Different kind of exhaustion. @@ -797,7 +765,6 @@ Haxolottle: Trade-offs. Everything in SAFETYNET is trade-offs. // ---------------- === field_nostalgia === -#speaker:agent_haxolottle ~ talked_field_nostalgia = true ~ friendship_level += 15 ~ conversations_had += 1 @@ -827,7 +794,6 @@ Haxolottle: And honestly? I miss the simplicity. One mission, one objective, han -> field_nostalgia_memorable_op === field_nostalgia_negative === -#speaker:agent_haxolottle ~ friendship_level += 15 Haxolottle: *laughs* Oh, plenty. The fear, for one. That sustained low-level anxiety of maintaining cover, wondering if today's the day someone sees through it. @@ -842,7 +808,6 @@ Haxolottle: Plus, I hated the paperwork. At least as a handler, I'm the one rece -> phase_2_hub === field_nostalgia_shared_joy === -#speaker:agent_haxolottle ~ friendship_level += 20 ~ trust_moments += 1 @@ -858,7 +823,6 @@ Haxolottle: That's part of why I love this partnership. You're really good at wh -> phase_2_hub === field_nostalgia_memorable_op === -#speaker:agent_haxolottle ~ friendship_level += 15 Haxolottle: Most memorable? Hard to pick one... but there was this operation in Prague. Corporate espionage case, ENTROPY front company. @@ -881,7 +845,6 @@ Haxolottle: That was the operation that convinced me I'd found the right line of // ---------------- === weird_habits_discussion === -#speaker:agent_haxolottle ~ talked_weird_habits = true ~ friendship_level += 10 ~ conversations_had += 1 @@ -917,7 +880,6 @@ Haxolottle: SAFETYNET gets in your head. You start treating normal life like an -> weird_habits_healthy_question === weird_habits_shared === -#speaker:agent_haxolottle ~ friendship_level += 20 ~ humor_shared += 1 @@ -933,7 +895,6 @@ Haxolottle: But hey, if there ever IS an emergency at a grocery store, we'll be -> phase_2_hub === weird_habits_player_share === -#speaker:agent_haxolottle ~ friendship_level += 20 ~ trust_moments += 2 @@ -951,7 +912,6 @@ Haxolottle: Honestly, it helps to know we're all doing this. Makes it feel less -> phase_2_hub === weird_habits_healthy_question === -#speaker:agent_haxolottle ~ friendship_level += 10 Haxolottle: *considers* Probably somewhere in between healthy professional awareness and mild paranoia. @@ -975,7 +935,6 @@ Haxolottle: But it's worth checking in with yourself. "Is this useful vigilance // =========================================== === conversation_end === -#speaker:agent_haxolottle {conversations_had >= 5 and friendship_level >= 40: Haxolottle: I really appreciate these talks, Agent {player_name}. Makes the work feel less isolating. diff --git a/story_design/ink/haxolottle_ongoing_conversations_advanced.ink b/story_design/ink/haxolottle_ongoing_conversations_advanced.ink index 417b45a..2703dd5 100644 --- a/story_design/ink/haxolottle_ongoing_conversations_advanced.ink +++ b/story_design/ink/haxolottle_ongoing_conversations_advanced.ink @@ -39,7 +39,6 @@ EXTERNAL player_name // =========================================== === phase_3_hub === -#speaker:agent_haxolottle {missions_together == 11: Haxolottle: We've been through a lot together, Agent {player_name}. Over ten missions now. That's... that means something. @@ -67,7 +66,6 @@ EXTERNAL player_name // ---------------- === fears_conversation === -#speaker:agent_haxolottle ~ talked_fears_anxieties = true ~ friendship_level += 15 ~ conversations_had += 1 @@ -106,7 +104,6 @@ Haxolottle: And I'm afraid that when it does happen—because statistics say eve -> fears_mutual_sharing === fears_careful_promise === -#speaker:agent_haxolottle ~ friendship_level += 20 Haxolottle: *emotional* Thank you. I know you can't guarantee that—this work doesn't allow guarantees. But knowing you care about... about not putting me through that... @@ -121,7 +118,6 @@ Haxolottle: We're a team. We keep each other safe. That's how this works. -> phase_3_hub === fears_acknowledgment === -#speaker:agent_haxolottle ~ friendship_level += 25 ~ trust_moments += 1 @@ -137,7 +133,6 @@ Haxolottle: It's not perfect. But it's sustainable. -> phase_3_hub === fears_mutual_sharing === -#speaker:agent_haxolottle ~ friendship_level += 35 ~ trust_moments += 3 ~ vulnerable_moments += 2 @@ -162,7 +157,6 @@ Haxolottle: We're real friends, Agent {player_name}. With constraints, yes. But // ---------------- === alternate_life_discussion === -#speaker:agent_haxolottle ~ talked_what_if_different = true ~ friendship_level += 20 ~ conversations_had += 1 @@ -198,7 +192,6 @@ Haxolottle: I don't know. Maybe. Maybe I'd be blissfully ignorant and perfectly -> alternate_mutual_wondering === alternate_understanding === -#speaker:agent_haxolottle ~ friendship_level += 20 Haxolottle: Exactly. The pull between normal and meaningful. Comfortable and important. Safe and significant. @@ -211,7 +204,6 @@ Haxolottle: At least this way, we know. We're doing something that matters, even -> phase_3_hub === alternate_regret_question === -#speaker:agent_haxolottle ~ friendship_level += 25 ~ vulnerable_moments += 1 @@ -230,7 +222,6 @@ Haxolottle: I don't regret joining SAFETYNET. But I regret what I've lost becaus -> phase_3_hub === alternate_mutual_wondering === -#speaker:agent_haxolottle ~ friendship_level += 30 ~ trust_moments += 2 @@ -254,7 +245,6 @@ Haxolottle: At least we found each other in this weird path. That counts for som // ---------------- === meaning_of_work === -#speaker:agent_haxolottle ~ talked_meaning_work = true ~ friendship_level += 25 ~ conversations_had += 1 @@ -291,7 +281,6 @@ Haxolottle: That's what we do. We're gardeners in the storm. And yeah, that soun -> meaning_sustainability_question === meaning_metaphor_appreciation === -#speaker:agent_haxolottle ~ friendship_level += 25 Haxolottle: *smiles genuinely* Thank you. I've never actually said that out loud before. Thought it in my head, but never voiced it. @@ -304,7 +293,6 @@ Haxolottle: We're gardeners together, then. Tending our little corner of the wor -> phase_3_hub === meaning_personal_share === -#speaker:agent_haxolottle ~ friendship_level += 40 ~ trust_moments += 3 @@ -322,7 +310,6 @@ Haxolottle: I'm honored to work with you. -> phase_3_hub === meaning_sustainability_question === -#speaker:agent_haxolottle ~ friendship_level += 25 ~ vulnerable_moments += 1 @@ -344,7 +331,6 @@ Haxolottle: People like you. These conversations help more than you know. Sharin // ---------------- === friendship_boundaries === -#speaker:agent_haxolottle ~ talked_friendship_boundaries = true ~ friendship_level += 35 ~ conversations_had += 1 @@ -378,7 +364,6 @@ Haxolottle: Is that strange? To have genuine friendship with someone whose real -> friendship_frustration === friendship_strange_but_real === -#speaker:agent_haxolottle ~ friendship_level += 35 ~ trust_moments += 1 @@ -396,7 +381,6 @@ Haxolottle: I'll take that over a lot of "normal" friendships. -> phase_3_hub === friendship_names_dont_matter === -#speaker:agent_haxolottle ~ friendship_level += 50 ~ trust_moments += 3 @@ -418,7 +402,6 @@ Haxolottle: You're a good friend, Agent {player_name}. Better than many I've had -> phase_3_hub === friendship_frustration === -#speaker:agent_haxolottle ~ friendship_level += 45 ~ vulnerable_moments += 2 @@ -444,7 +427,6 @@ Haxolottle: But I won't pretend the constraints don't hurt sometimes. They do. E // ---------------- === future_dreams === -#speaker:agent_haxolottle ~ talked_future_dreams = true ~ friendship_level += 30 ~ conversations_had += 1 @@ -478,7 +460,6 @@ Haxolottle: What about you? What do you dream about for after all this? -> future_uncertain_leaving === future_shared_dream === -#speaker:agent_haxolottle ~ friendship_level += 40 ~ trust_moments += 2 @@ -498,7 +479,6 @@ Haxolottle: I'd like that. -> phase_3_hub === future_present_focused === -#speaker:agent_haxolottle ~ friendship_level += 25 Haxolottle: That's probably healthier, honestly. Focusing on the present, the current mission, what you can control right now. @@ -511,7 +491,6 @@ Haxolottle: Just... don't forget that there IS an after. This work doesn't have -> phase_3_hub === future_uncertain_leaving === -#speaker:agent_haxolottle ~ friendship_level += 35 ~ vulnerable_moments += 1 @@ -537,7 +516,6 @@ Haxolottle: But that's future worry. For now, we have work that matters and each // ---------------- === hax_personal_loss === -#speaker:agent_haxolottle ~ friendship_level += 50 ~ vulnerable_moments += 3 ~ hax_shared_loss = true @@ -558,7 +536,6 @@ Haxolottle: Can I tell you something personal? And I mean really personal, withi -> hax_loss_tell === hax_loss_tell === -#speaker:agent_haxolottle ~ friendship_level += 30 ~ trust_moments += 3 @@ -598,7 +575,6 @@ Haxolottle: It's not the same. But it's something real. -> hax_loss_mutual === hax_loss_comfort === -#speaker:agent_haxolottle ~ friendship_level += 45 Haxolottle: *slight smile through sadness* @@ -613,7 +589,6 @@ Haxolottle: That's invaluable. -> phase_3_hub === hax_loss_mutual === -#speaker:agent_haxolottle ~ friendship_level += 60 ~ trust_moments += 5 @@ -640,7 +615,6 @@ Haxolottle: That means everything. // =========================================== === phase_4_hub === -#speaker:agent_haxolottle {missions_together == 16: Haxolottle: Sixteen missions together. That's... we've built something real here, haven't we? @@ -667,7 +641,6 @@ Haxolottle: That means everything. // For brevity, I'll include a few key ones: === identity_burden === -#speaker:agent_haxolottle ~ talked_identity_burden = true ~ friendship_level += 40 ~ conversations_had += 1 @@ -697,7 +670,6 @@ Haxolottle: Sometimes I wonder: if no one knows the real you, are you even real? -> identity_shared_experience === identity_affirmation === -#speaker:agent_haxolottle ~ friendship_level += 50 ~ trust_moments += 2 @@ -713,7 +685,6 @@ Haxolottle: That's more real than most people get, even without Protocol 47-Alph -> phase_4_hub === identity_shared_experience === -#speaker:agent_haxolottle ~ friendship_level += 60 ~ trust_moments += 4 @@ -731,7 +702,6 @@ Haxolottle: But at least we're losing them together. At least there's someone el // ---------------- === name_temptation === -#speaker:agent_haxolottle ~ talked_real_name_temptation = true ~ friendship_level += 50 ~ conversations_had += 1 @@ -745,7 +715,6 @@ Haxolottle: Can I be honest about something that probably violates the spirit if -> name_temptation_reveal === name_temptation_reveal === -#speaker:agent_haxolottle ~ friendship_level += 40 Haxolottle: I've been tempted to tell you my real name. So many times. Just... drop it in conversation. Let you know me completely. @@ -772,7 +741,6 @@ Haxolottle: Have you felt that? The urge to just... tell me? -> name_peace_with_boundaries === name_mutual_temptation === -#speaker:agent_haxolottle ~ friendship_level += 70 ~ trust_moments += 5 @@ -792,7 +760,6 @@ Haxolottle: So we'll keep our names. And we'll keep this friendship. And somehow -> phase_4_hub === name_peace_with_boundaries === -#speaker:agent_haxolottle ~ friendship_level += 45 Haxolottle: You're wiser than me, then. Or maybe just more disciplined. @@ -809,7 +776,6 @@ Haxolottle: Thank you for that perspective. Helps me make peace with it too. // ---------------- === friendship_acknowledgment === -#speaker:agent_haxolottle ~ talked_genuine_friendship = true ~ friendship_level += 60 ~ conversations_had += 1 @@ -840,7 +806,6 @@ Haxolottle: That's friendship. Real, genuine friendship. Protocol 47-Alpha be da -> friendship_gratitude === friendship_mutual_acknowledgment === -#speaker:agent_haxolottle ~ friendship_level += 90 ~ trust_moments += 6 @@ -856,7 +821,6 @@ Haxolottle: Whatever happens—missions, careers, future—I want you to know th -> phase_4_hub === friendship_gratitude === -#speaker:agent_haxolottle ~ friendship_level += 75 Haxolottle: The gratitude is mutual, Agent {player_name}. Completely mutual. @@ -873,7 +837,6 @@ Haxolottle: That's not nothing. That's everything. // ---------------- === hax_secret_hobby === -#speaker:agent_haxolottle ~ friendship_level += 50 ~ vulnerable_moments += 2 ~ hax_shared_secret_hobby = true @@ -888,7 +851,6 @@ Haxolottle: Promise not to laugh? -> hax_hobby_reveal === hax_hobby_reveal === -#speaker:agent_haxolottle ~ friendship_level += 40 Haxolottle: I... write poetry. Bad poetry, probably. But I write it. @@ -917,7 +879,6 @@ Haxolottle: Axolotl metaphors in prose apparently aren't enough. I need them in -> secret_outlet_exchange === hax_poetry_share === -#speaker:agent_haxolottle ~ friendship_level += 60 ~ trust_moments += 4 @@ -935,7 +896,6 @@ Haxolottle: Told you it was bad. But it's honest. -> phase_4_hub === secret_outlet_exchange === -#speaker:agent_haxolottle ~ friendship_level += 75 ~ trust_moments += 6 @@ -963,7 +923,6 @@ Haxolottle: I'm honored you shared that with me. Truly. // =========================================== === conversation_end_phase3 === -#speaker:agent_haxolottle {friendship_level >= 70: Haxolottle: These conversations... they keep me grounded. Thank you for being real with me. @@ -975,7 +934,6 @@ Haxolottle: I'm honored you shared that with me. Truly. -> END === conversation_end_phase4 === -#speaker:agent_haxolottle {friendship_level >= 90: Haxolottle: You know I care about you, right? Within all the protocols and boundaries—genuine care. diff --git a/story_design/ink/lore_exploration_hub.ink b/story_design/ink/lore_exploration_hub.ink index 6770323..d26e5e6 100644 --- a/story_design/ink/lore_exploration_hub.ink +++ b/story_design/ink/lore_exploration_hub.ink @@ -46,7 +46,6 @@ EXTERNAL mission_active === start_handler_lore === ~ current_speaker = "handler" -#speaker:agent_haxolottle {mission_active: Haxolottle: Got a quiet moment? Happy to answer questions while you're on downtime. @@ -87,7 +86,6 @@ EXTERNAL mission_active // =========================================== === entropy_origins_handler === -#speaker:agent_haxolottle ~ discussed_entropy_origins = true ~ handler_influence += 5 ~ conversation_depth += 1 @@ -115,8 +113,7 @@ Haxolottle: By 2025, it was clear: this was an organization. Decentralized, cell -> lore_hub_handler === entropy_origins_followup_concern === -#speaker:agent_haxolottle -Haxolottle nods seriously. +Haxolottle: Haxolottle nods seriously. Haxolottle: Yes and no. We understand their methods—we see them in action every day. We understand their capabilities—they're formidable but not unlimited. @@ -126,8 +123,7 @@ Haxolottle: What we don't fully grasp is the "why" behind the "what." And that u -> lore_hub_handler === entropy_origins_followup_goals === -#speaker:agent_haxolottle -Haxolottle leans back, considering. +Haxolottle: Haxolottle leans back, considering. Haxolottle: That's where it gets interesting. Different ENTROPY cells seem to have different goals. Some are clearly financial—ransomware, data theft, extortion. Others appear ideological—accelerationism, techno-anarchism, chaos for its own sake. @@ -145,7 +141,6 @@ Haxolottle: The unifying thread seems to be "entropy"—increasing chaos, destab // =========================================== === entropy_philosophy_handler === -#speaker:agent_haxolottle ~ discussed_entropy_philosophy = true ~ handler_influence += 5 ~ conversation_depth += 1 @@ -173,8 +168,7 @@ Haxolottle: And some are just using the philosophy as cover for criminal enterpr -> lore_hub_handler === philosophy_danger_assessment === -#speaker:agent_haxolottle -Haxolottle: The true believers, without question. +Haxolottle: Haxolottle: The true believers, without question. Haxolottle: Criminals can be caught, assets seized, organizations dismantled. Nihilists burn out eventually—chaos for its own sake is exhausting. @@ -186,8 +180,7 @@ Haxolottle: That makes them harder to predict, harder to deter, and much more da -> lore_hub_handler === philosophy_redemption_question === -#speaker:agent_haxolottle -Haxolottle looks thoughtful. +Haxolottle: Haxolottle looks thoughtful. Haxolottle: You're asking the right questions, Agent. That shows good judgment. @@ -206,7 +199,6 @@ Haxolottle: Not everyone wearing an ENTROPY badge is beyond saving. Some are jus // =========================================== === entropy_cells_handler === -#speaker:agent_haxolottle ~ discussed_entropy_cells = true ~ handler_influence += 5 ~ conversation_depth += 1 @@ -235,7 +227,6 @@ Haxolottle: **Ransomware Incorporated**—exactly what it sounds like. Criminal -> lore_hub_handler === specific_cell_details === -#speaker:agent_haxolottle Haxolottle: Which one are you curious about? @@ -251,7 +242,6 @@ Haxolottle: Which one are you curious about? -> lore_hub_handler === digital_vanguard_details === -#speaker:agent_haxolottle ~ handler_influence += 3 Haxolottle: Digital Vanguard—the tech perfectionists of ENTROPY. They treat hacking like an art form. @@ -265,7 +255,6 @@ Haxolottle: Their operations tend to be surgical—highly targeted, meticulously -> lore_hub_handler === critical_mass_details === -#speaker:agent_haxolottle ~ handler_influence += 3 Haxolottle: Critical Mass—the infrastructure saboteurs. They're after the systems that keep society running. @@ -279,7 +268,6 @@ Haxolottle: They've been linked to several near-miss incidents. We've stopped th -> lore_hub_handler === ghost_protocol_details === -#speaker:agent_haxolottle ~ handler_influence += 3 Haxolottle: Ghost Protocol—the information brokers and surveillance specialists. @@ -293,7 +281,6 @@ Haxolottle: Encountering Ghost Protocol is weird because they're often not hosti -> lore_hub_handler === ransomware_inc_details === -#speaker:agent_haxolottle ~ handler_influence += 3 Haxolottle: Ransomware Incorporated—the criminal enterprise wing of ENTROPY. @@ -307,7 +294,6 @@ Haxolottle: Don't underestimate them just because they're financially motivated. -> lore_hub_handler === cell_coordination_explanation === -#speaker:agent_haxolottle ~ handler_influence += 8 Haxolottle: Good question. The answer is: we're not entirely certain. @@ -327,7 +313,6 @@ Haxolottle: It's one of the biggest intelligence gaps we have. How do decentrali // =========================================== === safetynet_mission_handler === -#speaker:agent_haxolottle ~ discussed_safetynet_mission = true ~ handler_influence += 5 ~ conversation_depth += 1 @@ -356,8 +341,7 @@ Haxolottle: The philosophy is "best defense is a preemptive offense." Don't wait -> lore_hub_handler === legal_authority_question === -#speaker:agent_haxolottle -Haxolottle: Complicated question. Complicated answer. +Haxolottle: Haxolottle: Complicated question. Complicated answer. Haxolottle: We operate under classified executive orders and emergency powers acts. Technically legal, practically untested in court, definitely not something the public knows about. @@ -372,8 +356,7 @@ Haxolottle: If an operation goes wrong, SAFETYNET doesn't officially exist. You' -> lore_hub_handler === oversight_question === -#speaker:agent_haxolottle -Haxolottle: Officially? Select committee members in certain governments. People with security clearances so high they probably don't exist on paper. +Haxolottle: Haxolottle: Officially? Select committee members in certain governments. People with security clearances so high they probably don't exist on paper. Haxolottle: Practically? We're overseen by SAFETYNET Command Council—people like Director Netherton. They report to... someone. I'm not cleared to know the full chain of command, and honestly, I'm okay with that. @@ -390,7 +373,6 @@ Haxolottle: We're given enormous power and minimal oversight. That makes our int // =========================================== === shadow_war_handler === -#speaker:agent_haxolottle ~ discussed_shadow_war = true ~ handler_influence += 8 ~ conversation_depth += 1 @@ -420,8 +402,7 @@ Haxolottle: It's exhausting, honestly. A war where victories aren't celebrated a -> lore_hub_handler === shadow_war_appreciation === -#speaker:agent_haxolottle -Haxolottle smiles, genuinely touched. +Haxolottle: Haxolottle smiles, genuinely touched. Haxolottle: Thank you, Agent. That means more than you might think. @@ -431,8 +412,7 @@ Haxolottle: We're in this together now. Every operation you run, every threat yo -> lore_hub_handler === shadow_war_psychological === -#speaker:agent_haxolottle -Haxolottle takes a moment before responding. +Haxolottle: Haxolottle takes a moment before responding. Haxolottle: Honestly? It's hard. Some days I wonder if we're making any difference. We stop one cell, two more spring up. We close one vulnerability, ENTROPY finds three others. @@ -451,7 +431,6 @@ Haxolottle: You'll have hard days too, Agent. When that happens, remember you're // =========================================== === field_ops_advice_handler === -#speaker:agent_haxolottle ~ discussed_field_ops = true ~ handler_influence += 5 ~ conversation_depth += 1 @@ -481,7 +460,6 @@ Haxolottle: **Fourth**: When in doubt, slow down. Rushing causes mistakes. Bette -> lore_hub_handler === complications_advice === -#speaker:agent_haxolottle ~ handler_influence += 8 Haxolottle: When things go wrong—and they will—focus on what you can control. @@ -504,7 +482,6 @@ Haxolottle: *laughs* You're catching on. -> lore_hub_handler === fear_management === -#speaker:agent_haxolottle ~ handler_influence += 12 Haxolottle becomes more serious. @@ -527,7 +504,6 @@ Haxolottle: I've been exactly where you'll be—heart pounding, hands shaking, w // =========================================== === cyber_physical_handler === -#speaker:agent_haxolottle ~ discussed_cyber_physical = true ~ handler_influence += 8 ~ conversation_depth += 1 @@ -556,7 +532,6 @@ Haxolottle: Best CYBER-PHYSICAL operations use both in concert—a beautiful sym -> lore_hub_handler === cyber_physical_scenarios === -#speaker:agent_haxolottle ~ handler_influence += 5 Haxolottle: Common scenarios? Let me walk you through the hits: @@ -574,7 +549,6 @@ Haxolottle: You'll run all of these eventually. Each one teaches you something a -> lore_hub_handler === cyber_physical_challenges === -#speaker:agent_haxolottle ~ handler_influence += 8 Haxolottle: The challenge is cognitive load. You're managing two completely different threat models simultaneously. @@ -597,7 +571,6 @@ Haxolottle: But that's why you're here. You've got the foundations in both domai // =========================================== === handler_backstory === -#speaker:agent_haxolottle ~ knows_handler_backstory = true ~ handler_influence += 15 ~ conversation_depth += 2 @@ -629,7 +602,6 @@ Haxolottle: During those three days, the only reading material I had was biology -> lore_hub_handler === why_handler_transition === -#speaker:agent_haxolottle ~ handler_influence += 10 Haxolottle: Good question. Honestly? I was getting burned out. @@ -648,7 +620,6 @@ Haxolottle: And I get to make all the axolotl metaphors I want without someone t -> lore_hub_handler === operation_regenerate_story === -#speaker:agent_haxolottle ~ handler_influence += 12 Haxolottle: Operation Regenerate. That's a story. @@ -673,7 +644,6 @@ Haxolottle: Got out with intelligence that led to dismantling three connected ce // =========================================== === berlin_crisis_story === -#speaker:agent_haxolottle ~ knows_berlin_crisis = true ~ handler_influence += 20 ~ director_influence += 10 @@ -703,7 +673,6 @@ Haxolottle: And it's why I trust him completely. He'll protect you, Agent. Even // =========================================== === end_handler_conversation === -#speaker:agent_haxolottle {conversation_depth >= 5: Haxolottle: You ask good questions, Agent {player_name}. Curiosity is a valuable trait in this work. Keep thinking deeply about what we do and why. @@ -723,7 +692,6 @@ Haxolottle: And it's why I trust him completely. He'll protect you, Agent. Even // Entry point for technical support NPC (like Dr. Chen) === start_tech_support_lore === ~ current_speaker = "tech_support" -#speaker:dr_chen Dr. Chen: Got questions? I can explain technical details about ENTROPY's methods or our countermeasures. Rapid-fire style, hope you can keep up. @@ -742,7 +710,6 @@ Dr. Chen: Got questions? I can explain technical details about ENTROPY's methods -> END === entropy_tactics_tech === -#speaker:dr_chen ~ discussed_entropy_tactics = true ~ tech_influence += 8 @@ -760,7 +727,6 @@ We counter with our own technical capabilities, but it's an arms race. They deve -> lore_hub_tech_support === safetynet_tech_methods === -#speaker:dr_chen ~ discussed_safetynet_methods = true ~ tech_influence += 8 @@ -778,7 +744,6 @@ It's like running a security research lab combined with a mission support center -> lore_hub_tech_support === cutting_edge_research === -#speaker:dr_chen ~ tech_influence += 15 Dr. Chen speaks even faster, excited about the topic. @@ -798,7 +763,6 @@ It's fascinating and terrifying simultaneously. We're at the frontier of cyberse === start_director_lore === ~ current_speaker = "director" -#speaker:director_netherton Director Netherton: You have questions regarding operational context, Agent? @@ -816,7 +780,6 @@ Director Netherton: You have questions regarding operational context, Agent? -> END === safetynet_mandate_director === -#speaker:director_netherton ~ discussed_safetynet_mission = true ~ director_influence += 8 @@ -833,7 +796,6 @@ We are not vigilantes. We are not above the law. We operate in the gray areas th -> lore_hub_director === rules_of_engagement_director === -#speaker:director_netherton ~ discussed_moral_complexity = true ~ director_influence += 10 @@ -851,7 +813,6 @@ The power we wield demands discipline. Without it, we become the threat we're su -> lore_hub_director === safetynet_future_director === -#speaker:director_netherton ~ director_influence += 20 Netherton pauses, considering the question carefully.