mirror of
https://github.com/cliffe/BreakEscape.git
synced 2026-02-20 13:50:46 +00:00
Add Mission 3 Stage 7 Ink Scripts (Part 1)
- Add m03_opening_briefing.ink (Act 1 opening cutscene) - Agent 0x99 briefs player on Zero Day Syndicate - Establishes M2 hospital attack connection - Victoria Sterling character introduction - Mission approach choice (cautious/aggressive/diplomatic) - Sets up RFID cloning objective - Add m03_npc_victoria.ink (Victoria Sterling NPC) - Daytime meeting in conference room - Victoria's free market philosophy dialogue - RFID cloning sequence (proximity-based, 10-second timer) - Influence/trust system (0-100 scale) - Nighttime confrontation (moral choice) - Recruitment vs arrest options Total: ~860 lines of Ink dialogue Status: Part 1 of Stage 7 (6 more scripts to write)
This commit is contained in:
@@ -0,0 +1,693 @@
|
||||
// ===========================================
|
||||
// Mission 3: Ghost in the Machine
|
||||
// NPC: Victoria Sterling (Cipher)
|
||||
// Location: Conference Room (Day) / Executive Office (Night)
|
||||
// ===========================================
|
||||
|
||||
// Influence and state tracking
|
||||
VAR victoria_influence = 0
|
||||
VAR victoria_trusts_player = false
|
||||
VAR victoria_suspicious = false
|
||||
VAR rfid_clone_started = false
|
||||
VAR rfid_clone_complete = false
|
||||
VAR topic_zero_day_philosophy = false
|
||||
VAR topic_free_market = false
|
||||
VAR topic_ethics = false
|
||||
VAR recruitment_discussed = false
|
||||
|
||||
// External variables (from opening briefing)
|
||||
EXTERNAL player_approach
|
||||
EXTERNAL handler_trust
|
||||
|
||||
// ===========================================
|
||||
// INITIAL MEETING - Conference Room (Daytime)
|
||||
// ===========================================
|
||||
|
||||
=== start ===
|
||||
#speaker:victoria_sterling
|
||||
|
||||
{not recruitment_discussed:
|
||||
#display:victoria-professional
|
||||
[Victoria Sterling stands as you enter. Professional attire, confident bearing.]
|
||||
|
||||
Victoria: You must be {player_name}. Welcome to WhiteHat Security.
|
||||
|
||||
Victoria: I'm Victoria Sterling, CEO. Have a seat.
|
||||
|
||||
[She gestures to the conference table.]
|
||||
|
||||
~ recruitment_discussed = true
|
||||
-> first_impression
|
||||
}
|
||||
|
||||
{recruitment_discussed and not rfid_clone_complete:
|
||||
#display:victoria-neutral
|
||||
Victoria: Back for more conversation?
|
||||
-> hub
|
||||
}
|
||||
|
||||
{rfid_clone_complete:
|
||||
#display:victoria-neutral
|
||||
Victoria: We covered the main points. I'll be in touch about the training program.
|
||||
#exit_conversation
|
||||
-> DONE
|
||||
}
|
||||
|
||||
// ===========================================
|
||||
// FIRST IMPRESSION
|
||||
// ===========================================
|
||||
|
||||
=== first_impression ===
|
||||
#speaker:victoria_sterling
|
||||
|
||||
Victoria: I reviewed your background. Freelance pen testing, some CTF competition work.
|
||||
|
||||
Victoria: Solid technical skills. But that's not why you're here.
|
||||
|
||||
* [Why am I here?]
|
||||
You: Why am I here, then?
|
||||
Victoria: To see if you understand the philosophy behind real security research.
|
||||
~ victoria_influence += 5
|
||||
-> philosophy_intro
|
||||
|
||||
* [I'm interested in advanced research]
|
||||
~ victoria_influence += 10
|
||||
You: I want to work on cutting-edge research. Real impact.
|
||||
Victoria: "Real impact." Good. Let's talk about what that means.
|
||||
-> philosophy_intro
|
||||
|
||||
* [I heard Zero Day does interesting work]
|
||||
~ victoria_influence += 5
|
||||
~ victoria_suspicious += 5
|
||||
You: I've heard Zero Day's training programs are... unconventional.
|
||||
Victoria: [Slight pause] We push boundaries, yes. Let me explain our approach.
|
||||
-> philosophy_intro
|
||||
|
||||
// ===========================================
|
||||
// VICTORIA'S PHILOSOPHY INTRODUCTION
|
||||
// ===========================================
|
||||
|
||||
=== philosophy_intro ===
|
||||
#speaker:victoria_sterling
|
||||
|
||||
Victoria: The traditional security model is broken. Researchers find vulnerabilities, report them to vendors, wait months for patches.
|
||||
|
||||
Victoria: Meanwhile, those same vulnerabilities get discovered by others. Sold on dark markets. Exploited.
|
||||
|
||||
* [That's the responsible disclosure debate]
|
||||
~ victoria_influence += 10
|
||||
You: The responsible disclosure versus full disclosure debate. Classic dilemma.
|
||||
Victoria: Exactly. But there's a third option most won't discuss.
|
||||
-> market_efficiency_pitch
|
||||
|
||||
* [Researchers deserve to be paid]
|
||||
~ victoria_influence += 15
|
||||
You: Researchers deserve compensation for their work. Fair pay for valuable discoveries.
|
||||
Victoria: [Nods appreciatively] Finally, someone who gets it.
|
||||
-> market_efficiency_pitch
|
||||
|
||||
* [Sounds like you sell vulnerabilities]
|
||||
~ victoria_influence -= 5
|
||||
~ victoria_suspicious += 10
|
||||
You: This sounds like you're advocating selling vulnerabilities.
|
||||
Victoria: "Selling" is such a crude term. Think of it as market-driven research incentives.
|
||||
-> market_efficiency_pitch
|
||||
|
||||
// ===========================================
|
||||
// MARKET EFFICIENCY PITCH
|
||||
// ===========================================
|
||||
|
||||
=== market_efficiency_pitch ===
|
||||
#speaker:victoria_sterling
|
||||
|
||||
Victoria: We provide liquidity to the vulnerability market.
|
||||
|
||||
Victoria: Every system tends toward disorder. That's thermodynamics - entropy is inevitable.
|
||||
|
||||
Victoria: The question isn't whether systems will fail. It's who benefits from that knowledge.
|
||||
|
||||
~ topic_free_market = true
|
||||
|
||||
-> hub
|
||||
|
||||
// ===========================================
|
||||
// CONVERSATION HUB
|
||||
// ===========================================
|
||||
|
||||
=== hub ===
|
||||
+ {not topic_zero_day_philosophy} [Ask about Zero Day's mission]
|
||||
-> zero_day_philosophy
|
||||
|
||||
+ {not topic_ethics} [Question the ethics]
|
||||
-> ethics_discussion
|
||||
|
||||
+ {victoria_influence >= 20 and not rfid_clone_started} [Move closer to examine the whiteboard]
|
||||
-> clone_rfid_opportunity
|
||||
|
||||
+ {rfid_clone_started and not rfid_clone_complete} [Continue the conversation (RFID cloning in progress)]
|
||||
-> clone_rfid_distraction
|
||||
|
||||
+ [End the conversation]
|
||||
#exit_conversation
|
||||
#speaker:victoria_sterling
|
||||
{victoria_influence >= 30:
|
||||
Victoria: I think you'd be a good fit for our training program. I'll be in touch.
|
||||
~ victoria_trusts_player = true
|
||||
}
|
||||
{victoria_influence < 30 and victoria_influence >= 10:
|
||||
Victoria: We'll review your application. Thank you for your time.
|
||||
}
|
||||
{victoria_influence < 10:
|
||||
Victoria: I'm not sure you're the right fit for Zero Day's culture. We'll be in touch.
|
||||
}
|
||||
-> DONE
|
||||
|
||||
// ===========================================
|
||||
// ZERO DAY PHILOSOPHY DISCUSSION
|
||||
// ===========================================
|
||||
|
||||
=== zero_day_philosophy ===
|
||||
#speaker:victoria_sterling
|
||||
|
||||
~ topic_zero_day_philosophy = true
|
||||
|
||||
Victoria: Zero Day's mission is simple: recognize that vulnerability knowledge has inherent value.
|
||||
|
||||
Victoria: We discover, we price according to demand, we connect buyers with opportunities.
|
||||
|
||||
* [What do buyers do with the exploits?]
|
||||
You: And what do the buyers do with these exploits?
|
||||
Victoria: That's not our concern. We're security professionals, not moralists.
|
||||
Victoria: A gun manufacturer isn't responsible for every shooting.
|
||||
~ victoria_influence += 5
|
||||
-> moral_rationalization
|
||||
|
||||
* [That sounds like willful ignorance]
|
||||
~ victoria_influence -= 10
|
||||
~ victoria_suspicious += 10
|
||||
You: "Not our concern"? That's willful ignorance of the consequences.
|
||||
Victoria: [Slight defensiveness] It's recognizing the reality of how markets work.
|
||||
-> moral_rationalization
|
||||
|
||||
* [The free market argument]
|
||||
~ victoria_influence += 15
|
||||
You: So you're applying free market principles to vulnerability research.
|
||||
Victoria: [Smiles] Precisely. Supply and demand. Transparent economics.
|
||||
-> moral_rationalization
|
||||
|
||||
=== moral_rationalization ===
|
||||
#speaker:victoria_sterling
|
||||
|
||||
Victoria: We live in a world where vulnerabilities exist whether we like it or not.
|
||||
|
||||
Victoria: Our choice isn't between exploit sales happening or not happening. They already happen.
|
||||
|
||||
Victoria: Our choice is whether security researchers get fairly compensated, or whether only criminals profit.
|
||||
|
||||
~ victoria_influence += 5
|
||||
|
||||
-> hub
|
||||
|
||||
// ===========================================
|
||||
// ETHICS DISCUSSION
|
||||
// ===========================================
|
||||
|
||||
=== ethics_discussion ===
|
||||
#speaker:victoria_sterling
|
||||
|
||||
~ topic_ethics = true
|
||||
|
||||
Victoria: Let me guess - you want to ask about the "morality" of selling exploits.
|
||||
|
||||
Victoria: Go ahead. I've heard every argument.
|
||||
|
||||
* [What about innocent people getting hurt?]
|
||||
~ victoria_influence -= 5
|
||||
You: What about when exploits you sold hurt innocent people? Hospitals, critical infrastructure?
|
||||
Victoria: [Measured response] That's on the buyer, not the researcher who discovered the vulnerability.
|
||||
-> ethics_response_harm
|
||||
|
||||
* [There's a difference between research and weaponization]
|
||||
~ victoria_influence += 5
|
||||
You: There's a line between security research and creating weapons. Where do you draw that line?
|
||||
Victoria: Interesting question. Most people don't even acknowledge there is a line to discuss.
|
||||
-> ethics_response_nuance
|
||||
|
||||
* [I'm not here to judge]
|
||||
~ victoria_influence += 15
|
||||
~ player_approach = "diplomatic"
|
||||
You: I'm not here to judge your business model. I'm here to understand it.
|
||||
Victoria: [Genuinely pleased] That's refreshing. Most people lead with moral indignation.
|
||||
-> ethics_response_pragmatic
|
||||
|
||||
=== ethics_response_harm ===
|
||||
#speaker:victoria_sterling
|
||||
|
||||
Victoria: Do you hold pharmaceutical companies responsible when someone overdoses on painkillers?
|
||||
|
||||
Victoria: Do you blame car manufacturers for drunk driving fatalities?
|
||||
|
||||
Victoria: Tools have utility. People choose how to use them.
|
||||
|
||||
~ victoria_influence -= 5
|
||||
|
||||
-> hub
|
||||
|
||||
=== ethics_response_nuance ===
|
||||
#speaker:victoria_sterling
|
||||
|
||||
Victoria: The line is intent. We don't create exploits TO hurt people. We discover vulnerabilities that already exist.
|
||||
|
||||
Victoria: If someone uses a crowbar to break into a house, you don't blame the crowbar manufacturer.
|
||||
|
||||
~ victoria_influence += 10
|
||||
|
||||
-> hub
|
||||
|
||||
=== ethics_response_pragmatic ===
|
||||
#speaker:victoria_sterling
|
||||
|
||||
Victoria: Pragmatism. I appreciate that.
|
||||
|
||||
Victoria: The truth is, I sleep fine at night because I believe in information freedom.
|
||||
|
||||
Victoria: Vulnerabilities are facts about reality. Suppressing facts doesn't make anyone safer.
|
||||
|
||||
~ victoria_influence += 10
|
||||
~ victoria_trusts_player = true
|
||||
|
||||
-> hub
|
||||
|
||||
// ===========================================
|
||||
// RFID CLONING SEQUENCE
|
||||
// ===========================================
|
||||
|
||||
=== clone_rfid_opportunity ===
|
||||
#speaker:victoria_sterling
|
||||
|
||||
[You stand and move toward the whiteboard, getting closer to Victoria.]
|
||||
|
||||
You: This network diagram - is this your training lab architecture?
|
||||
|
||||
Victoria: Yes, that's the 192.168.100.0 subnet. Students practice on isolated VMs.
|
||||
|
||||
[RFID CLONER ACTIVE - Stay within 2 meters for 10 seconds]
|
||||
[Progress bar appears on screen]
|
||||
|
||||
~ rfid_clone_started = true
|
||||
|
||||
You need to keep Victoria talking while the RFID cloner does its work.
|
||||
|
||||
-> clone_rfid_distraction
|
||||
|
||||
// ===========================================
|
||||
// RFID CLONING DISTRACTION
|
||||
// ===========================================
|
||||
|
||||
=== clone_rfid_distraction ===
|
||||
#speaker:victoria_sterling
|
||||
|
||||
Victoria: The training network uses real vulnerable services. Much more effective than theoretical exercises.
|
||||
|
||||
[CLONING IN PROGRESS...]
|
||||
|
||||
* [What services are in the lab?]
|
||||
You: What kind of services do you run in the lab environment?
|
||||
Victoria: FTP, HTTP, some legacy services like distcc. Real-world targets.
|
||||
-> clone_check_1
|
||||
|
||||
* [How do students access it?]
|
||||
You: How do students access the training network?
|
||||
Victoria: VPN from the server room workstations. Keeps it air-gapped from the internet.
|
||||
-> clone_check_1
|
||||
|
||||
* [Impressive setup]
|
||||
You: That's an impressive training environment. More realistic than most.
|
||||
~ victoria_influence += 5
|
||||
Victoria: We pride ourselves on authenticity. Real exploits, real scenarios.
|
||||
-> clone_check_1
|
||||
|
||||
=== clone_check_1 ===
|
||||
#speaker:victoria_sterling
|
||||
|
||||
[CLONING 50% COMPLETE...]
|
||||
|
||||
Victoria: Of course, what students learn in the lab is just the beginning.
|
||||
|
||||
Victoria: Real Zero Day research requires understanding market dynamics, pricing models, buyer relationships.
|
||||
|
||||
* [How do you price vulnerabilities?]
|
||||
You: How do you determine pricing for a zero-day vulnerability?
|
||||
Victoria: CVSS score is the baseline. Then sector premiums based on defensive capacity.
|
||||
-> clone_check_2
|
||||
|
||||
* [That sounds complex]
|
||||
You: That sounds more complex than pure technical work.
|
||||
Victoria: Security research is as much economics as it is code. Most researchers don't grasp that.
|
||||
~ victoria_influence += 5
|
||||
-> clone_check_2
|
||||
|
||||
* [Who are your typical buyers?]
|
||||
~ victoria_suspicious += 5
|
||||
You: Who typically buys from Zero Day?
|
||||
Victoria: [Slight pause] Clients who need access to specialized research. I can't discuss specifics.
|
||||
-> clone_check_2
|
||||
|
||||
=== clone_check_2 ===
|
||||
#speaker:victoria_sterling
|
||||
|
||||
[CLONING 75% COMPLETE...]
|
||||
|
||||
Victoria: You're asking good questions. Technical competence is common. Strategic thinking is rare.
|
||||
|
||||
* [I believe in understanding the full picture]
|
||||
~ victoria_influence += 10
|
||||
You: Technical skills alone aren't enough. You need to understand the ecosystem.
|
||||
Victoria: Exactly. That's why most security researchers stay poor while we thrive.
|
||||
-> clone_complete
|
||||
|
||||
* [Stay focused on the whiteboard]
|
||||
[You pretend to study the network diagram]
|
||||
You: This training lab must have taken significant investment.
|
||||
Victoria: Worth every dollar. Our students become operational faster than any university program.
|
||||
-> clone_complete
|
||||
|
||||
* [Just a few more seconds...]
|
||||
[Keep her talking]
|
||||
You: And the certifications - do you offer any formal credentials?
|
||||
Victoria: We don't believe in traditional certifications. Results speak louder than paper.
|
||||
-> clone_complete
|
||||
|
||||
// ===========================================
|
||||
// RFID CLONE COMPLETE
|
||||
// ===========================================
|
||||
|
||||
=== clone_complete ===
|
||||
#speaker:victoria_sterling
|
||||
|
||||
[CLONING 100% COMPLETE]
|
||||
[Device vibrates subtly in your pocket]
|
||||
[VICTORIA STERLING'S EXECUTIVE KEYCARD CLONED]
|
||||
|
||||
You step back from the whiteboard, creating distance naturally.
|
||||
|
||||
#complete_task:clone_rfid_card
|
||||
#unlock_aim:network_recon
|
||||
#unlock_aim:gather_evidence
|
||||
~ rfid_clone_complete = true
|
||||
|
||||
Victoria: I think that covers the basic philosophy. The training program starts next month if you're interested.
|
||||
|
||||
* [I'm very interested]
|
||||
~ victoria_influence += 10
|
||||
You: This is exactly the kind of work I've been looking for.
|
||||
Victoria: Excellent. I'll have my assistant send you the enrollment details.
|
||||
-> meeting_end
|
||||
|
||||
* [I need to consider it]
|
||||
You: Let me think it over. This is a significant decision.
|
||||
Victoria: Of course. Take your time. Reach out when you've decided.
|
||||
-> meeting_end
|
||||
|
||||
* [Thank you for your time]
|
||||
You: I appreciate you taking the time to explain Zero Day's approach.
|
||||
Victoria: My pleasure. It's rare to meet someone who actually wants to understand rather than judge.
|
||||
~ victoria_influence += 5
|
||||
-> meeting_end
|
||||
|
||||
=== meeting_end ===
|
||||
#speaker:victoria_sterling
|
||||
|
||||
Victoria: Feel free to look around the office if you'd like. Reception area, main hallway. Get a feel for the company culture.
|
||||
|
||||
{victoria_trusts_player:
|
||||
Victoria: And {player_name}? I think you'd fit in well here. We need more pragmatists.
|
||||
}
|
||||
|
||||
Victoria: I have another meeting in a few minutes. But we'll be in touch.
|
||||
|
||||
[Victoria's phone buzzes. She glances at it.]
|
||||
|
||||
Victoria: Excuse me, I need to take this.
|
||||
|
||||
#exit_conversation
|
||||
-> DONE
|
||||
|
||||
// ===========================================
|
||||
// NIGHTTIME CONFRONTATION (Optional)
|
||||
// ===========================================
|
||||
// This knot is called if player chooses to confront Victoria
|
||||
// at the end of the mission
|
||||
|
||||
=== nighttime_confrontation ===
|
||||
#speaker:victoria_sterling
|
||||
|
||||
[Location: Victoria's Executive Office or Main Hallway]
|
||||
[Time: Late night]
|
||||
|
||||
#display:victoria-shocked
|
||||
|
||||
Victoria: {player_name}? What are you doing here at this hour?
|
||||
|
||||
[She sees that you've clearly been investigating]
|
||||
|
||||
Victoria: You're not a recruit, are you.
|
||||
|
||||
* [SAFETYNET agent. You're under investigation.]
|
||||
You: SAFETYNET. You're under investigation for exploit sales to ENTROPY cells.
|
||||
-> confrontation_safetynet
|
||||
|
||||
* [I know about St. Catherine's Hospital]
|
||||
You: I know about St. Catherine's. The ProFTPD exploit. Six people died.
|
||||
-> confrontation_hospital
|
||||
|
||||
* [You can help us take down The Architect]
|
||||
You: We know about The Architect. You can help us stop Phase 2.
|
||||
-> confrontation_recruitment
|
||||
|
||||
=== confrontation_safetynet ===
|
||||
#speaker:victoria_sterling
|
||||
|
||||
#display:victoria-defensive
|
||||
|
||||
Victoria: SAFETYNET. Of course. The moral guardians of the status quo.
|
||||
|
||||
Victoria: You have no authority here. This is a legitimate business.
|
||||
|
||||
* [Show her the exploit catalog]
|
||||
You: [$12,500 for the hospital exploit. With a healthcare premium.]
|
||||
-> show_evidence
|
||||
|
||||
* [You sold weapons. People died.]
|
||||
You: You sold the tools that killed six people. That's not research, that's murder for profit.
|
||||
-> moral_confrontation
|
||||
|
||||
=== confrontation_hospital ===
|
||||
#speaker:victoria_sterling
|
||||
|
||||
#display:victoria-conflicted
|
||||
|
||||
Victoria: St. Catherine's... [pause] That was a buyer's deployment decision. Not our responsibility.
|
||||
|
||||
* [You charged extra because they couldn't defend themselves]
|
||||
You: You charged a healthcare premium. Extra money because hospitals can't protect themselves.
|
||||
Victoria: [Defensive] That's market pricing. Reflecting risk and value.
|
||||
-> moral_confrontation
|
||||
|
||||
* [Six people in critical care. Two in surgery.]
|
||||
You: Six people died when patient monitoring failed. Real people. Real deaths.
|
||||
Victoria: [Visibly affected] I... we didn't deploy the ransomware. We just provided—
|
||||
You: The weapon. You provided the weapon and took payment.
|
||||
-> moral_confrontation
|
||||
|
||||
=== confrontation_recruitment ===
|
||||
#speaker:victoria_sterling
|
||||
|
||||
#display:victoria-calculating
|
||||
|
||||
Victoria: The Architect? [Pause] You found the directive, didn't you.
|
||||
|
||||
Victoria: Phase 2. Healthcare SCADA. Energy grid ICS.
|
||||
|
||||
* [50,000 patient treatment delays. 1.2 million without power.]
|
||||
You: 50,000 patients. 1.2 million people without power in winter. That's genocide-scale harm.
|
||||
Victoria: [Shaken] Those were projections. Theoretical maximums for pricing—
|
||||
-> moral_confrontation
|
||||
|
||||
* [You can stop it. Become a double agent.]
|
||||
You: You can stop Phase 2. Feed us intelligence. Become a double agent.
|
||||
-> recruitment_pitch
|
||||
|
||||
=== moral_confrontation ===
|
||||
#speaker:victoria_sterling
|
||||
|
||||
#display:victoria-conflicted
|
||||
|
||||
Victoria: I'm a security researcher. I discover vulnerabilities. That's not a crime.
|
||||
|
||||
Victoria: The market exists with or without me. I just participate honestly.
|
||||
|
||||
* [Is $12,500 worth six lives?]
|
||||
You: Was $12,500 worth six lives? Can you honestly tell me you sleep well?
|
||||
Victoria: [Long pause] I... [she struggles] The market model is sound. Individual cases don't invalidate—
|
||||
You: Individual cases? Those are people. With families. With futures you erased for profit.
|
||||
-> victoria_breaking_point
|
||||
|
||||
* [The Architect is using you]
|
||||
You: The Architect is using you. You're not a researcher, you're an arms dealer for a terrorist network.
|
||||
Victoria: [Defensive but wavering] We have standards. Vetting processes—
|
||||
You: You sold to GHOST. To Ransomware Incorporated. You knew exactly who they were.
|
||||
-> victoria_breaking_point
|
||||
|
||||
=== victoria_breaking_point ===
|
||||
#speaker:victoria_sterling
|
||||
|
||||
#display:victoria-broken
|
||||
|
||||
[Victoria sits down heavily, the confidence gone]
|
||||
|
||||
Victoria: I told myself it was about market efficiency. About fair compensation for researchers.
|
||||
|
||||
Victoria: I built a whole philosophy around it. Rational. Defensible.
|
||||
|
||||
[She looks at her hands]
|
||||
|
||||
Victoria: But when I read the news about St. Catherine's... the patient deaths... I knew.
|
||||
|
||||
Victoria: I knew it was our exploit. And I did nothing.
|
||||
|
||||
* [You can still do something now]
|
||||
-> recruitment_pitch
|
||||
|
||||
* [You need to face justice]
|
||||
-> arrest_option
|
||||
|
||||
* [Say nothing, let her process]
|
||||
-> victoria_decision
|
||||
|
||||
=== recruitment_pitch ===
|
||||
#speaker:victoria_sterling
|
||||
|
||||
Victoria: Become a double agent? Feed SAFETYNET intelligence on The Architect?
|
||||
|
||||
Victoria: If I do that, ENTROPY will kill me. You know that.
|
||||
|
||||
* [We can protect you. Witness protection.]
|
||||
You: SAFETYNET can protect you. New identity, relocation, the full program.
|
||||
Victoria: [Considering] And in exchange?
|
||||
You: Everything you know about The Architect. Zero Day's client list. Phase 2 targets.
|
||||
-> recruitment_consideration
|
||||
|
||||
* [It's the only way to stop more deaths]
|
||||
You: Phase 2 will kill thousands. You're the only one positioned to stop it.
|
||||
Victoria: [Conflicted] I'd be betraying everything I built...
|
||||
You: You'd be saving lives. Isn't that what security research is supposed to be about?
|
||||
-> recruitment_consideration
|
||||
|
||||
* [Or you can go to prison]
|
||||
You: The alternative is federal prison. ENTROPY operational charges. 20 years minimum.
|
||||
Victoria: [Grimly] That's not exactly a choice.
|
||||
You: It's more choice than you gave those six people at St. Catherine's.
|
||||
-> recruitment_consideration
|
||||
|
||||
=== recruitment_consideration ===
|
||||
#speaker:victoria_sterling
|
||||
|
||||
[Victoria is silent for a long moment]
|
||||
|
||||
Victoria: If I do this... if I feed you intelligence on The Architect...
|
||||
|
||||
Victoria: I want immunity. Full immunity from prosecution.
|
||||
|
||||
Victoria: And protection for my family. They don't know about Zero Day. They're innocent.
|
||||
|
||||
* [SAFETYNET can arrange that]
|
||||
~ victoria_trusts_player = true
|
||||
You: We can arrange immunity and family protection. But you have to give us everything.
|
||||
Victoria: [Nods slowly] Alright. I'll do it. I'll be your double agent.
|
||||
#complete_task:victoria_choice_made
|
||||
-> recruitment_success
|
||||
|
||||
* [I can't promise immunity without authorization]
|
||||
You: I don't have authority to grant immunity. But I can advocate for it.
|
||||
Victoria: [Frustrated] Not good enough. I need guarantees.
|
||||
You: Help us now, and I'll fight for your immunity. That's all I can promise.
|
||||
-> recruitment_conditional
|
||||
|
||||
=== recruitment_success ===
|
||||
#speaker:victoria_sterling
|
||||
|
||||
Victoria: What do you need to know?
|
||||
|
||||
Victoria: The Architect's real identity? I don't know it. None of us do.
|
||||
|
||||
Victoria: But I know the communication channels. The encryption protocols. The payment methods.
|
||||
|
||||
Victoria: And I know the Phase 2 timeline. It's not theoretical. It's active.
|
||||
|
||||
You: When?
|
||||
|
||||
Victoria: Q4 2024. Three months from now. The Architect's already positioning assets.
|
||||
|
||||
#exit_conversation
|
||||
-> DONE
|
||||
|
||||
=== arrest_option ===
|
||||
#speaker:victoria_sterling
|
||||
|
||||
Victoria: Prison. [Hollow laugh] I suppose that's what I deserve.
|
||||
|
||||
Victoria: For what it's worth... I'm sorry. About St. Catherine's. About all of it.
|
||||
|
||||
Victoria: I convinced myself I was just participating in a market. But markets can be immoral too.
|
||||
|
||||
[She stands, hands out]
|
||||
|
||||
Victoria: I won't resist. Just... tell them the truth at trial. I wasn't trying to kill anyone.
|
||||
|
||||
You: Intent doesn't erase consequences.
|
||||
|
||||
Victoria: No. I suppose it doesn't.
|
||||
|
||||
#complete_task:victoria_choice_made
|
||||
#exit_conversation
|
||||
-> DONE
|
||||
|
||||
=== recruitment_conditional ===
|
||||
#speaker:victoria_sterling
|
||||
|
||||
Victoria: Not good enough. I'm not risking my life on promises.
|
||||
|
||||
Victoria: [Stands] You have your evidence. Use it however you want.
|
||||
|
||||
Victoria: But I'm not betraying The Architect without guaranteed protection.
|
||||
|
||||
[She walks toward the door]
|
||||
|
||||
Victoria: I'll take my chances with lawyers.
|
||||
|
||||
#complete_task:victoria_choice_made
|
||||
#exit_conversation
|
||||
-> DONE
|
||||
|
||||
=== victoria_decision ===
|
||||
#speaker:victoria_sterling
|
||||
|
||||
[Victoria looks up at you]
|
||||
|
||||
Victoria: What happens now?
|
||||
|
||||
* [You help us, or you face trial]
|
||||
-> recruitment_pitch
|
||||
|
||||
* [That's up to you]
|
||||
You: What happens now is your choice. Prison, or redemption.
|
||||
Victoria: [Long pause] Redemption. I choose redemption.
|
||||
-> recruitment_pitch
|
||||
|
||||
* [Justice happens]
|
||||
-> arrest_option
|
||||
|
||||
// ===========================================
|
||||
// END
|
||||
// ===========================================
|
||||
@@ -0,0 +1,422 @@
|
||||
// ===========================================
|
||||
// Mission 3: Ghost in the Machine
|
||||
// ACT 1: OPENING BRIEFING
|
||||
// ===========================================
|
||||
|
||||
// Variables for tracking player choices
|
||||
VAR player_approach = "" // cautious, aggressive, diplomatic
|
||||
VAR handler_trust = 50 // Agent 0x99's confidence in player
|
||||
VAR knows_m2_connection = false // Did player ask about hospital attack?
|
||||
VAR mission_priority = "" // stealth, speed, thoroughness
|
||||
VAR asked_about_victoria = false // Did player ask about Victoria?
|
||||
|
||||
// External variables (set by game)
|
||||
EXTERNAL player_name
|
||||
EXTERNAL scenario_state
|
||||
|
||||
// ===========================================
|
||||
// OPENING
|
||||
// ===========================================
|
||||
|
||||
=== start ===
|
||||
#speaker:agent_0x99
|
||||
|
||||
[Location: SAFETYNET Secure Communication Channel]
|
||||
[Visual: Agent 0x99's avatar - Haxolottle mascot with headset]
|
||||
|
||||
Agent 0x99: {player_name}, thanks for picking up. We have a developing situation.
|
||||
|
||||
Agent 0x99: Zero Day Syndicate. You heard of them?
|
||||
|
||||
* [Refresh my memory]
|
||||
You: Remind me - what's their deal?
|
||||
-> briefing_main
|
||||
|
||||
* [The exploit marketplace]
|
||||
~ handler_trust += 10
|
||||
You: The exploit marketplace. They sell zero-day vulnerabilities.
|
||||
Agent 0x99: Exactly. And we've got evidence they're escalating.
|
||||
-> briefing_main
|
||||
|
||||
* [Just brief me]
|
||||
~ player_approach = "direct"
|
||||
You: Skip the background. What's the mission?
|
||||
Agent 0x99: Right to business. I like it.
|
||||
-> briefing_main
|
||||
|
||||
// ===========================================
|
||||
// MAIN BRIEFING
|
||||
// ===========================================
|
||||
|
||||
=== briefing_main ===
|
||||
#speaker:agent_0x99
|
||||
|
||||
Agent 0x99: Zero Day operates under the cover of WhiteHat Security Services.
|
||||
Agent 0x99: Legitimate pen testing firm by day. Exploit marketplace by night.
|
||||
|
||||
{player_approach == "direct":
|
||||
Agent 0x99: Here's what matters: we need intel on their operations.
|
||||
-> objectives
|
||||
}
|
||||
|
||||
Agent 0x99: They've been selling exploits to other ENTROPY cells.
|
||||
|
||||
* [Which cells?]
|
||||
You: Which ENTROPY cells are they selling to?
|
||||
Agent 0x99: Ransomware Incorporated, Social Fabric, Critical Mass... possibly others.
|
||||
~ handler_trust += 5
|
||||
-> st_catherines_connection
|
||||
|
||||
* [What kind of exploits?]
|
||||
You: What kind of exploits are we talking about?
|
||||
Agent 0x99: Healthcare infrastructure. Energy grid SCADA systems. Critical targets.
|
||||
-> st_catherines_connection
|
||||
|
||||
* [This sounds serious]
|
||||
~ player_approach = "cautious"
|
||||
You: This sounds more serious than usual.
|
||||
Agent 0x99: It is. Much more serious.
|
||||
-> st_catherines_connection
|
||||
|
||||
=== st_catherines_connection ===
|
||||
#speaker:agent_0x99
|
||||
|
||||
Agent 0x99: Remember the St. Catherine's Hospital attack from last month?
|
||||
|
||||
Agent 0x99: The ransomware that killed six people in critical care?
|
||||
|
||||
* [Of course I remember]
|
||||
~ knows_m2_connection = true
|
||||
~ handler_trust += 5
|
||||
You: Of course. The ProFTPD exploit. Patient monitoring systems went down.
|
||||
Agent 0x99: Right. We think Zero Day sold that exploit.
|
||||
-> mission_stakes
|
||||
|
||||
* [That was ENTROPY?]
|
||||
~ knows_m2_connection = true
|
||||
You: Wait - that hospital attack was ENTROPY?
|
||||
Agent 0x99: We didn't have confirmation at the time. Now we do.
|
||||
-> mission_stakes
|
||||
|
||||
* [I heard about it]
|
||||
~ knows_m2_connection = true
|
||||
You: I saw the news coverage. Six deaths.
|
||||
Agent 0x99: Six confirmed. The real number might be higher.
|
||||
-> mission_stakes
|
||||
|
||||
=== mission_stakes ===
|
||||
#speaker:agent_0x99
|
||||
|
||||
Agent 0x99: Zero Day didn't deploy the ransomware. They just sold the exploit.
|
||||
|
||||
Agent 0x99: For $12,500. With a "healthcare premium" markup.
|
||||
|
||||
{knows_m2_connection:
|
||||
Agent 0x99: They charged MORE because hospitals can't defend themselves as well.
|
||||
Agent 0x99: Calculated profit from human suffering.
|
||||
}
|
||||
|
||||
* [That's murder for profit]
|
||||
~ handler_trust += 10
|
||||
~ player_approach = "cautious"
|
||||
You: That's not hacking. That's murder for profit.
|
||||
Agent 0x99: Exactly. And they're planning Phase 2.
|
||||
-> objectives
|
||||
|
||||
* [We need to stop them]
|
||||
~ handler_trust += 5
|
||||
You: We need to shut them down. Now.
|
||||
Agent 0x99: Agreed. That's the mission.
|
||||
-> objectives
|
||||
|
||||
* [What's Phase 2?]
|
||||
You: You said Phase 2. What's Phase 2?
|
||||
Agent 0x99: That's what you're going to find out.
|
||||
-> objectives
|
||||
|
||||
// ===========================================
|
||||
// MISSION OBJECTIVES
|
||||
// ===========================================
|
||||
|
||||
=== objectives ===
|
||||
#speaker:agent_0x99
|
||||
|
||||
Agent 0x99: Your mission objectives:
|
||||
|
||||
Agent 0x99: One - infiltrate WhiteHat Security and clone Victoria Sterling's executive keycard.
|
||||
Agent 0x99: Two - access their training network and gather intelligence on exploit sales.
|
||||
Agent 0x99: Three - find physical evidence linking Zero Day to the hospital attack.
|
||||
|
||||
* [Who's Victoria Sterling?]
|
||||
~ asked_about_victoria = true
|
||||
-> victoria_briefing
|
||||
|
||||
* [What's the training network?]
|
||||
-> training_network_briefing
|
||||
|
||||
* [How do I get in?]
|
||||
-> cover_story
|
||||
|
||||
=== victoria_briefing ===
|
||||
#speaker:agent_0x99
|
||||
|
||||
Agent 0x99: Victoria Sterling, CEO of WhiteHat Security. Former DEFCON speaker, respected researcher.
|
||||
|
||||
Agent 0x99: And likely the operational lead for Zero Day Syndicate. Codename: "Cipher."
|
||||
|
||||
Agent 0x99: Smart, charismatic, ideologically committed to "free market vulnerability research."
|
||||
|
||||
* [She rationalizes selling exploits as capitalism]
|
||||
~ handler_trust += 5
|
||||
You: So she's convinced herself selling hospital exploits is just economics?
|
||||
Agent 0x99: Exactly. She's not a sociopath. She's a true believer.
|
||||
Agent 0x99: Which might make her more dangerous.
|
||||
-> clone_keycard_objective
|
||||
|
||||
* [Can we turn her?]
|
||||
~ handler_trust += 10
|
||||
~ player_approach = "diplomatic"
|
||||
You: Any chance she's recruitable? As a double agent?
|
||||
Agent 0x99: Possible. If you can make her see the human cost of her philosophy.
|
||||
Agent 0x99: But that's optional. Primary mission is intelligence gathering.
|
||||
-> clone_keycard_objective
|
||||
|
||||
* [Got it. The mission?]
|
||||
-> clone_keycard_objective
|
||||
|
||||
=== clone_keycard_objective ===
|
||||
#speaker:agent_0x99
|
||||
|
||||
Agent 0x99: You'll meet Victoria under the cover of a potential recruit consultation.
|
||||
|
||||
Agent 0x99: While you're with her, clone her RFID executive keycard.
|
||||
|
||||
Agent 0x99: That keycard will give you server room access after hours.
|
||||
|
||||
* [How do I clone it?]
|
||||
You: How does the RFID cloning work?
|
||||
-> rfid_tutorial
|
||||
|
||||
* [Sounds risky]
|
||||
~ player_approach = "cautious"
|
||||
You: Cloning her card while she's watching? That's risky.
|
||||
Agent 0x99: You'll need to be within 2 meters for about 10 seconds. Create a distraction if needed.
|
||||
-> training_network_briefing
|
||||
|
||||
* [I can handle it]
|
||||
~ player_approach = "aggressive"
|
||||
~ handler_trust += 5
|
||||
You: I've done proximity ops before. I can handle it.
|
||||
Agent 0x99: Good. Here's the technical details.
|
||||
-> rfid_tutorial
|
||||
|
||||
=== rfid_tutorial ===
|
||||
#speaker:agent_0x99
|
||||
|
||||
Agent 0x99: We're providing you with an RFID cloner device. Pocket-sized.
|
||||
|
||||
Agent 0x99: Get within 2 meters of Victoria for about 10 seconds. The device does the rest.
|
||||
|
||||
Agent 0x99: It'll vibrate when the clone is complete. Then get some distance to be safe.
|
||||
|
||||
* [What if she notices?]
|
||||
You: What if she notices something?
|
||||
Agent 0x99: If questioned, say you're interested in their security research. Play curious recruit.
|
||||
-> training_network_briefing
|
||||
|
||||
* [Understood]
|
||||
-> training_network_briefing
|
||||
|
||||
=== training_network_briefing ===
|
||||
#speaker:agent_0x99
|
||||
|
||||
Agent 0x99: Once you have server room access, you'll find their training network.
|
||||
|
||||
Agent 0x99: It's a VM environment at 192.168.100.0/24. Zero Day uses it to test exploits before selling them.
|
||||
|
||||
Agent 0x99: Run reconnaissance - port scanning, service enumeration, the usual.
|
||||
|
||||
* [What am I looking for specifically?]
|
||||
You: What specific intel am I after?
|
||||
Agent 0x99: Operational logs. Client communications. Evidence of the hospital attack.
|
||||
Agent 0x99: And anything about Phase 2 - their future target list.
|
||||
-> cover_story
|
||||
|
||||
* [Standard pentest procedures]
|
||||
~ handler_trust += 5
|
||||
You: Standard penetration test procedures. Got it.
|
||||
Agent 0x99: Exactly. Scan, enumerate, exploit if needed.
|
||||
-> cover_story
|
||||
|
||||
* [Ready for the cover story]
|
||||
-> cover_story
|
||||
|
||||
// ===========================================
|
||||
// COVER STORY & APPROACH
|
||||
// ===========================================
|
||||
|
||||
=== cover_story ===
|
||||
#speaker:agent_0x99
|
||||
|
||||
Agent 0x99: Your cover: you're a cybersecurity researcher interested in Zero Day training programs.
|
||||
|
||||
Agent 0x99: Victoria is meeting you to assess whether you're recruit material.
|
||||
|
||||
Agent 0x99: Entry point: conference room meeting at 2 PM. Then you'll have until nightfall to prep.
|
||||
|
||||
{asked_about_victoria:
|
||||
Agent 0x99: Be natural with Victoria. She's smart - she'll spot nervousness.
|
||||
}
|
||||
|
||||
* [What's my background story?]
|
||||
You: What's my background if she asks technical questions?
|
||||
Agent 0x99: You're a freelance pentester. Worked with small firms, looking for bigger opportunities.
|
||||
Agent 0x99: Interested in "the morally gray" side of security research. That'll appeal to her philosophy.
|
||||
-> mission_approach
|
||||
|
||||
* [When do I infiltrate the server room?]
|
||||
You: When do I actually infiltrate the server room?
|
||||
Agent 0x99: After the daytime meeting, there's a time skip to nighttime.
|
||||
Agent 0x99: Most staff gone. Just a security guard on patrol. That's when you move.
|
||||
-> mission_approach
|
||||
|
||||
* [I understand the setup]
|
||||
-> mission_approach
|
||||
|
||||
// ===========================================
|
||||
// CRITICAL CHOICE: Mission Approach
|
||||
// ===========================================
|
||||
|
||||
=== mission_approach ===
|
||||
#speaker:agent_0x99
|
||||
|
||||
Agent 0x99: Before you go in - how do you want to approach this?
|
||||
|
||||
Agent 0x99: Your call. I trust your judgment.
|
||||
|
||||
+ [Careful and methodical]
|
||||
~ player_approach = "cautious"
|
||||
~ mission_priority = "thoroughness"
|
||||
You: I'll be thorough. Document everything, leave no stone unturned.
|
||||
Agent 0x99: Smart approach. The more intel we get, the better our case.
|
||||
Agent 0x99: Just remember there's a guard on night patrol. Stealth matters.
|
||||
-> final_instructions
|
||||
|
||||
+ [Fast and decisive]
|
||||
~ player_approach = "aggressive"
|
||||
~ mission_priority = "speed"
|
||||
You: I'll move fast. Get the objectives done and get out.
|
||||
Agent 0x99: Speed has advantages. Less time for things to go wrong.
|
||||
Agent 0x99: But don't rush past critical evidence. The hospital connection proof is vital.
|
||||
-> final_instructions
|
||||
|
||||
+ [Adapt to the situation]
|
||||
~ player_approach = "diplomatic"
|
||||
~ mission_priority = "stealth"
|
||||
You: I'll read the situation. Stay flexible.
|
||||
~ handler_trust += 10
|
||||
Agent 0x99: Adaptability. That's why you're good at this.
|
||||
Agent 0x99: Trust your instincts. Call if you need guidance.
|
||||
-> final_instructions
|
||||
|
||||
// ===========================================
|
||||
// FINAL INSTRUCTIONS
|
||||
// ===========================================
|
||||
|
||||
=== final_instructions ===
|
||||
#speaker:agent_0x99
|
||||
|
||||
{player_approach == "cautious":
|
||||
Agent 0x99: Your careful approach is good for this mission. Zero Day leaves paper trails.
|
||||
Agent 0x99: Find the documents. Connect the dots.
|
||||
}
|
||||
|
||||
{player_approach == "aggressive":
|
||||
Agent 0x99: You'll need speed for the network challenges. But take time for physical evidence.
|
||||
Agent 0x99: Operational logs, client lists, anything linking them to St. Catherine's.
|
||||
}
|
||||
|
||||
{player_approach == "diplomatic":
|
||||
Agent 0x99: Victoria might respect honesty if you find the right moment.
|
||||
Agent 0x99: Optional objective: assess whether she's recruitable as a double agent.
|
||||
}
|
||||
|
||||
Agent 0x99: Field Operations Rule 7 - "When infiltrating corporate environments, remember that the most valuable intelligence is often in the least secure location."
|
||||
|
||||
{knows_m2_connection:
|
||||
Agent 0x99: And {player_name}... six people died because of what Zero Day sold.
|
||||
Agent 0x99: Four in critical care. Two during emergency surgery when systems failed.
|
||||
Agent 0x99: Whatever you find, make it count.
|
||||
}
|
||||
|
||||
* [I won't let you down]
|
||||
~ handler_trust += 10
|
||||
You: I'll get the evidence. Zero Day is going down.
|
||||
Agent 0x99: That's what I wanted to hear. Stay safe out there.
|
||||
-> deployment
|
||||
|
||||
* [Any last advice?]
|
||||
You: Any last advice before I go in?
|
||||
-> last_advice
|
||||
|
||||
* [I'm ready]
|
||||
-> deployment
|
||||
|
||||
=== last_advice ===
|
||||
#speaker:agent_0x99
|
||||
|
||||
Agent 0x99: Victoria will test you. Philosophical questions about security ethics.
|
||||
|
||||
Agent 0x99: Play the curious researcher. Don't tip your hand.
|
||||
|
||||
Agent 0x99: And if you find evidence of James Park's involvement...
|
||||
|
||||
Agent 0x99: He's a mid-level consultant. Might be innocent, might be complicit. Your call on what to do.
|
||||
|
||||
* [I'll assess in the field]
|
||||
~ handler_trust += 5
|
||||
You: I'll make that judgment when I have the facts.
|
||||
Agent 0x99: Good answer. Collect evidence first, decide later.
|
||||
-> deployment
|
||||
|
||||
* [Every ENTROPY operative goes down]
|
||||
~ player_approach = "aggressive"
|
||||
You: If he's involved with ENTROPY, he's compromised.
|
||||
Agent 0x99: Maybe. But gather proof before making that call.
|
||||
-> deployment
|
||||
|
||||
* [Understood]
|
||||
-> deployment
|
||||
|
||||
// ===========================================
|
||||
// DEPLOYMENT
|
||||
// ===========================================
|
||||
|
||||
=== deployment ===
|
||||
#speaker:agent_0x99
|
||||
|
||||
Agent 0x99: WhiteHat Security is at 1247 Market Street, downtown financial district.
|
||||
|
||||
Agent 0x99: I'll be on comms if you need support. The drop-site terminal in the server room connects directly to me.
|
||||
|
||||
{handler_trust >= 70:
|
||||
Agent 0x99: And {player_name}? I know you'll do this right. You always do.
|
||||
}
|
||||
|
||||
{handler_trust >= 50 and handler_trust < 70:
|
||||
Agent 0x99: Good luck. You've got this.
|
||||
}
|
||||
|
||||
{handler_trust < 50:
|
||||
Agent 0x99: Stay focused. Don't let the stakes psych you out.
|
||||
}
|
||||
|
||||
Agent 0x99: Remember: meet with Victoria, clone her keycard, then night infiltration.
|
||||
|
||||
Agent 0x99: Go get 'em, {player_name}. Haxolottle out.
|
||||
|
||||
[Transition: Fade to WhiteHat Security reception lobby, 2 PM]
|
||||
|
||||
#start_gameplay
|
||||
#complete_task:briefing_received
|
||||
-> END
|
||||
Reference in New Issue
Block a user