Add Mission 7 Ink dialogue files and development status

- Created 9 Ink dialogue files for all mission branches
- Opening briefing with 4-way crisis choice
- Director Morgan, Agent 0x99, and Architect communications
- Branch-specific crisis dialogues for all 4 options
- Closing debrief with deterministic outcomes
- Note: Ink files need compilation fixes before JSON generation
This commit is contained in:
Claude
2026-01-10 17:36:58 +00:00
parent e7c68eb2cc
commit 4ed4e6a8a4
10 changed files with 4120 additions and 0 deletions

View File

@@ -0,0 +1,197 @@
# Mission 7: "The Architect's Gambit" - Development Status
**Last Updated:** 2026-01-10
**Status:** Core Implementation Complete - Compilation Fixes Needed
## ✓ Completed Components
### 1. Scenario Foundation
-`scenario.json.erb` - Complete with 7 rooms, all validation passing (0 schema errors)
-`mission.json` - Mission metadata and CyBOK mappings
-`README.md` - Complete design document for single-location branching architecture
### 2. Planning Documents
All four branch planning documents complete:
-`planning/stage_0_option_a_infrastructure.md` - Infrastructure Collapse branch
-`planning/stage_0_option_b_data.md` - Data Apocalypse branch
-`planning/stage_0_option_c_supply_chain.md` - Supply Chain Infection branch
-`planning/stage_0_option_d_corporate.md` - Corporate Warfare branch
### 3. Ink Dialogue Files Created
All 9 Ink files have been written:
-`ink/m07_opening_briefing.ink` - Initial mission briefing with 4-way choice
-`ink/m07_director_morgan.ink` - Director Morgan dialogue
-`ink/m07_architect_comms.ink` - The Architect's taunts (time-based)
-`ink/m07_phone_agent_0x99.ink` - Agent 0x99 tactical support
-`ink/m07_crisis_infrastructure.ink` - Marcus Chen confrontation (Option A)
-`ink/m07_crisis_data.ink` - Specter/Rachel confrontation (Option B)
-`ink/m07_crisis_supply_chain.ink` - Adrian Cross confrontation (Option C)
-`ink/m07_crisis_corporate.ink` - Victoria/Marcus confrontation (Option D)
-`ink/m07_closing_debrief.ink` - End-of-mission debrief
## ⚠ Pending: Ink Compilation Fixes
### Known Issues
The Ink files need fixes before they can be compiled to JSON:
1. **Unresolved Variable: `crisis_choice`**
- Files affected: m07_director_morgan.ink, m07_architect_comms.ink, m07_phone_agent_0x99.ink, m07_closing_debrief.ink
- Issue: Variable `crisis_choice` is defined in opening_briefing.ink but not accessible in other files
- Solution: Add `EXTERNAL crisis_choice` declaration at top of each file that uses it
2. **Choices Nested in Conditionals**
- Files affected: m07_director_morgan.ink, others
- Issue: Choices inside `{conditional}` blocks need explicit diverts
- Solution: Add explicit `-> some_knot` after each choice in conditional blocks
3. **Loose Ends** (Warnings, not errors)
- All files have loose end warnings
- These are normal for branching narratives and won't prevent compilation
- Can be addressed by adding `-> DONE` or `-> END` at appropriate points
### Example Fixes Needed
**For Unresolved Variables:**
```ink
// At top of m07_director_morgan.ink
EXTERNAL crisis_choice
EXTERNAL crisis_choice_made
EXTERNAL flags_submitted
EXTERNAL crisis_neutralized
=== director_morgan ===
// ... dialogue continues
```
**For Nested Choices:**
```ink
// BEFORE (causes error):
{crisis_choice == "infrastructure":
"Team Alpha handling supply chain."
+ [Continue] -> next_section
}
// AFTER (fixes error):
{crisis_choice == "infrastructure":
"Team Alpha handling supply chain."
}
+ [Continue] -> next_section
```
## 📊 Mission Architecture Summary
### Single-Location Design
- **Location:** SAFETYNET Emergency Operations Center
- **Rooms:** 6 shared + 1 conditional crisis terminal
- **Branching:** ERB-based conditional content based on player's crisis choice
- **VM Integration:** SecGen "putting_it_together" scenario with 4 flags
### Four Crisis Branches
Each branch has:
- Unique antagonist(s) with distinct motivations
- 30-minute timer mechanic (some with dual timers)
- VM exploitation pathway (same scenario, different narrative context)
- Recruitment opportunities for key antagonists
- Deterministic outcomes matrix for unchosen operations
- Intelligence recovery (Tomb Gamma coordinates, mole evidence)
### Key Features Implemented
- ✓ 4-way impossible choice (forces player to accept casualties elsewhere)
- ✓ The Architect taunts at specific timer intervals
- ✓ Recruitment paths for sympathetic antagonists (Rachel, Adrian, Victoria)
- ✓ Moral complexity (all antagonists have valid criticisms)
- ✓ Deterministic outcomes (player choice determines which teams handle other ops)
- ✓ Casualty tracking across all 4 operations
- ✓ SAFETYNET mole evidence thread
- ✓ Tomb Gamma location reveal (sets up future mission)
## 🔄 Next Steps
### Immediate (Required for Playability)
1. Fix Ink compilation errors:
- Add EXTERNAL variable declarations
- Fix nested choice diverts
- Add proper flow terminators
2. Compile all Ink files to JSON format
3. Test scenario validation
4. Playtest the 4-way choice mechanic
### Secondary (Polish)
1. Balance timer durations (30 minutes may need adjustment)
2. Review dialogue for consistency and tone
3. Test all recruitment paths
4. Verify deterministic outcomes matrix logic
5. Test flag submission and intelligence discovery
### Future Enhancements
1. Team status updates (show other teams' progress during mission)
2. Dynamic timer display integration
3. Casualty visualization in debrief
4. Additional NPC dialogues for facility staff
5. Environmental storytelling elements
## 📁 File Structure
```
scenarios/m07_architects_gambit/
├── scenario.json.erb # Main scenario file (VALIDATED ✓)
├── mission.json # Mission metadata (COMPLETE ✓)
├── README.md # Design document (COMPLETE ✓)
├── DEVELOPMENT_STATUS.md # This file
├── planning/
│ ├── stage_0_option_a_infrastructure.md # Infrastructure branch planning ✓
│ ├── stage_0_option_b_data.md # Data Apocalypse branch planning ✓
│ ├── stage_0_option_c_supply_chain.md # Supply Chain branch planning ✓
│ └── stage_0_option_d_corporate.md # Corporate Warfare branch planning ✓
└── ink/
├── m07_opening_briefing.ink # Created, needs compilation
├── m07_director_morgan.ink # Created, needs fixes & compilation
├── m07_architect_comms.ink # Created, needs fixes & compilation
├── m07_phone_agent_0x99.ink # Created, needs fixes & compilation
├── m07_crisis_infrastructure.ink # Created, needs compilation
├── m07_crisis_data.ink # Created, needs compilation
├── m07_crisis_supply_chain.ink # Created, needs compilation
├── m07_crisis_corporate.ink # Created, needs compilation
└── m07_closing_debrief.ink # Created, needs fixes & compilation
```
## 🎯 Design Philosophy
Mission 7 explores the theme of **impossible choices** and **acceptable casualties**:
- **No perfect option:** Every choice accepts casualties elsewhere
- **Moral complexity:** Antagonists have valid criticisms of real vulnerabilities
- **Recruitment over combat:** Sympathetic antagonists can be turned
- **Consequences matter:** Deterministic outcomes show impact of player's choice
- **The Architect as puppet master:** Taunts emphasize manipulation and futility
### Unique Challenges Per Branch
- **Option A (Infrastructure):** Immediate civilian deaths, pure timer pressure
- **Option B (Data):** Dual timer mechanic, prioritization choice within choice
- **Option C (Supply Chain):** No immediate deaths, long-term consequences
- **Option D (Corporate):** Most morally ambiguous, saving wealth vs. saving lives
## 📝 Notes for Continuation
When resuming development:
1. Start by fixing the EXTERNAL variable declarations
2. Test compile each file individually to identify remaining errors
3. Use `/home/user/BreakEscape/bin/inklecate` for compilation
4. Compilation command: `/home/user/BreakEscape/bin/inklecate -o /tmp/output.json input.ink`
5. Move compiled files from /tmp to ink directory: `mv /tmp/*.json scenarios/m07_architects_gambit/ink/`
## 🐛 Validation Results
**Scenario JSON Schema Validation:** ✓ PASSED (0 errors)
**Ink Compilation:** ⚠ PENDING (requires error fixes first)
Last validation run:
```bash
ruby scripts/validate_scenario.rb scenarios/m07_architects_gambit/scenario.json.erb
# Result: ✓ Schema validation passed! 0 errors.
```
---
**Development Progress:** ~85% Complete
**Estimated Time to Completion:** 2-4 hours (fix Ink errors, compile, test)

View File

@@ -0,0 +1,356 @@
// Mission 7: The Architect's Gambit - The Architect Communications
// Time-based taunts from the mysterious ENTROPY mastermind
VAR architect_t30_shown = false
VAR architect_t20_shown = false
VAR architect_t10_shown = false
VAR architect_t05_shown = false
VAR architect_t01_shown = false
VAR architect_success_shown = false
VAR architect_failure_shown = false
=== architect_comms ===
// Entry point - this will be called at specific timer intervals
// The game engine should call specific knots based on timer
-> t30_message
=== t30_message ===
~ architect_t30_shown = true
Your phone vibrates. An encrypted message from an unknown sender appears on your screen.
The sender ID shows only: **THE ARCHITECT**
{crisis_choice == "infrastructure":
"Agent 0x00. I've been watching your career with interest. Let's see if you're as capable as your reputation suggests." #speaker:The Architect
"You chose infrastructure. Pragmatic. Lives over data, over money. Admirable, in its way."
}
{crisis_choice == "data":
"Agent 0x00. Welcome to the game." #speaker:The Architect
"Democracy is an illusion built on public faith. You chose to protect that illusion. Interesting."
}
{crisis_choice == "supply_chain":
"Agent 0x00. So you're the one they sent." #speaker:The Architect
"Supply chain attacks are beautiful, aren't they? One compromise, millions infected. Efficiency. You chose to prevent future suffering over present deaths. Utilitarian."
}
{crisis_choice == "corporate":
"Agent 0x00. I've been expecting you." #speaker:The Architect
"Capitalism built on insecure foundations. You chose to protect those foundations. Shareholders over citizens. Bold choice."
}
The message continues:
"Let's see if you can stop entropy tonight. Spoiler: you can't. You can only delay it."
**T-MINUS 30 MINUTES**
+ [Ignore the message] -> END
+ [Trace the source] -> trace_attempt
=== trace_attempt ===
You attempt to trace the message source.
**TRACE FAILED:** Routing through 47 proxy servers across 14 countries. Source: Unknown.
The Architect sends another message:
"Nice try. But I'm always three steps ahead." #speaker:The Architect
-> END
=== t20_message ===
~ architect_t20_shown = true
Another encrypted message from THE ARCHITECT.
{crisis_choice == "infrastructure":
"You chose infrastructure. But tell me - do you know what's happening at the other three targets right now?" #speaker:The Architect
"Team Charlie is failing. Corporate zero-day attacks are deploying. Healthcare ransomware locking hospitals. People will die from delayed surgeries."
"Did you choose correctly?"
}
{crisis_choice == "data":
"You chose to protect data. Noble. But data isn't alive, Agent 0x00. People at the other targets are." #speaker:The Architect
"Team Alpha is failing. Right now, the Pacific Northwest power grid is cascading toward failure. 240-385 deaths over 72 hours."
"Was it worth it? Protecting voter records while people freeze in the dark?"
}
{crisis_choice == "supply_chain":
"You chose long-term threat over immediate deaths. Interesting priorities." #speaker:The Architect
"Team Bravo is containing infrastructure. But Team Charlie is failing. Economic damage mounting. Healthcare systems being ransomwared."
"47 million future infections prevented. How many die tonight because you chose tomorrow over today?"
}
{crisis_choice == "corporate":
"You chose corporations over civilians. The market over mortality." #speaker:The Architect
"Team Alpha succeeded on infrastructure - well done, them. But Team Bravo is failing catastrophically. Voter database breach complete. Disinformation deploying. Democracy is about to shatter."
"You saved shareholder value. Was that worth the constitutional crisis?"
}
**T-MINUS 20 MINUTES**
+ [Focus on the mission] -> END
+ [Respond to The Architect] -> respond_attempt
=== respond_attempt ===
You type a response message.
**DELIVERY FAILED:** Sender address does not accept incoming communications.
The Architect sends another line:
"I don't need your words, Agent. Your choices speak volumes." #speaker:The Architect
-> END
=== t10_message ===
~ architect_t10_shown = true
Another message. The Architect's taunts are getting more philosophical.
"The beauty of entropy is its inevitability." #speaker:The Architect
{crisis_choice == "infrastructure":
"Even if you stop this power grid attack, something else fails. Someone else dies. Infrastructure decays. Systems collapse."
"Marcus believes in exposing vulnerabilities. Do you know what's tragic? He's RIGHT. The power grid IS vulnerable. You're just delaying the inevitable blackout."
}
{crisis_choice == "data":
"Even if you stop the breach, even if you wipe the narratives - the distrust persists. Truth is already dead. I killed it."
"Rachel believes she's exposing corruption. Specter believes in information freedom. They're both tools. As are you."
}
{crisis_choice == "supply_chain":
"Software updates are built on trust. One betrayal, that trust shatters forever. Even if you stop this, who will update their systems now?"
"Adrian believes supply chains are vulnerable. He's correct. You're not fixing the vulnerability - just preventing this exploitation."
}
{crisis_choice == "corporate":
"Corporations prioritize profit over security. Always have, always will. Even if you save them tonight, they'll never invest properly in defense."
"Victoria believes in corporate accountability. Marcus believes in profit. I believe in entropy. Who's right?"
}
"You can't win, Agent 0x00. You can only choose which way to lose."
**T-MINUS 10 MINUTES**
+ [Stay focused] -> END
=== t05_message ===
~ architect_t05_shown = true
The messages are coming faster now.
"T-minus 5 minutes. Let me ask you a philosophical question." #speaker:The Architect
{crisis_choice == "infrastructure":
"Marcus believes his cause justifies casualties. Do you believe yours does? You accepted economic collapse elsewhere to save these lives."
"What's the calculus? 240 lives saved here, 80-140 lost to healthcare ransomware there? Did you maximize survival, or just minimize visible blood on your hands?"
}
{crisis_choice == "data":
"You chose to protect democracy. But what IS democracy when the public doesn't trust elections? When data is weaponized?"
"You can stop the breach OR the disinformation. Not both. Choose which lie to preserve."
}
{crisis_choice == "supply_chain":
"47 million systems. Think about that scale. Every hospital, every bank, every government agency."
"You chose this over immediate deaths. That's cold calculus, Agent. Utilitarian to the core. Are you comfortable with that choice?"
}
{crisis_choice == "corporate":
"47 zero-days. 12 corporations. $4.2 trillion market cap. All falling simultaneously."
"But you know what's interesting? Even if you save them, they'll never properly invest in security. Profits over protection. Always."
}
"Five minutes. Entropy accelerates."
**T-MINUS 5 MINUTES**
+ [Ignore The Architect] -> END
=== t01_message ===
~ architect_t01_shown = true
Final message. One minute remaining.
{crisis_choice == "infrastructure":
"Impressive. You're about to stop the blackout." #speaker:The Architect
"But this was never really about the power grid, was it? This was about forcing you to choose. About showing you that every victory comes with a cost elsewhere."
"Enjoy your pyrrhic victory, Agent."
}
{crisis_choice == "data":
"Even if you succeed here, the narratives will persist. Disinformation doesn't need deployment - it's already in people's minds." #speaker:The Architect
"You're fighting an information war you've already lost."
}
{crisis_choice == "supply_chain":
"You're about to prevent the largest supply chain attack in history. Congratulations." #speaker:The Architect
"But present-day casualties mount at other targets while you protect future systems. The math doesn't justify itself, does it?"
}
{crisis_choice == "corporate":
"Look at you, protecting the wealth of corporations while civilians suffer elsewhere." #speaker:The Architect
"But you know what? Economic stability matters too. Systems matter. You made a defensible choice, even if it feels dirty."
}
"One minute, Agent 0x00. Let's see how this plays out."
**T-MINUS 1 MINUTE**
+ [Final push] -> END
=== success_message ===
~ architect_success_shown = true
After you neutralize the attack, one final message arrives.
{crisis_choice == "infrastructure":
"Congratulations. You saved 8.4 million people from a blackout. Zero casualties from power grid failure." #speaker:The Architect
"Meanwhile, at the targets you didn't choose:"
"* Corporate healthcare ransomware: 80-140 deaths from delayed care
* Social Fabric disinformation: Democratic trust damaged, civil unrest beginning
* Supply Chain: Prevented by Team Alpha
**Total casualties tonight: 80-140 deaths**
"You minimized death. Well done. But they still died. Was it worth it?"
}
{crisis_choice == "data":
"Impressive. You stopped both the data breach and the disinformation campaign. Democracy survives another day." #speaker:The Architect
"Meanwhile, at the targets you didn't choose:"
"* Infrastructure: 240-385 deaths from power grid blackout (Team Alpha failed)
* Corporate: Prevented by Team Bravo
* Supply Chain: Partial success by Team Charlie
**Total casualties tonight: 240-385 deaths**
"You saved democratic institutions. People died in the dark. Was that the right trade?"
}
{crisis_choice == "supply_chain":
"Well done. You prevented 47 million backdoor infections. Long-term national security preserved." #speaker:The Architect
"Meanwhile, at the targets you didn't choose:"
"* Infrastructure: Partial success by Team Bravo (80-120 deaths)
* Data: Full success by Team Alpha (zero casualties)
* Corporate: Healthcare ransomware deployed (80-140 deaths)
**Total casualties tonight: 160-260 deaths**
"You chose future security over present lives. They died while you prevented tomorrow's crisis. Utilitarian calculus."
}
{crisis_choice == "corporate":
"Outstanding. All 47 zero-days neutralized. $4.2 trillion in market value preserved." #speaker:The Architect
"Meanwhile, at the targets you didn't choose:"
"* Infrastructure: Full success by Team Alpha (zero casualties)
* Data: Both attacks succeeded (voter breach + disinformation, 20-40 deaths from civil unrest)
* Supply Chain: Partial success by Team Charlie
**Total casualties tonight: 20-40 deaths**
"You saved shareholder wealth. People died in civil unrest over a compromised election. What did you really protect?"
}
The message continues:
"But here's what you should understand, Agent 0x00: Tonight was a test. A proof-of-concept. ENTROPY is just beginning."
"You won your battle. But the war? The war is inevitable. Entropy always wins."
"I'll be watching your career with great interest. Until we meet again."
**-- THE ARCHITECT**
+ [Report this to Director Morgan] -> END
+ [Delete the message] -> END
=== failure_message ===
~ architect_failure_shown = true
The timer hits zero. You failed to stop the attack in time.
A final message from THE ARCHITECT arrives.
{crisis_choice == "infrastructure":
"The grid is falling. Cascading failures across the Pacific Northwest. 8.4 million people in darkness." #speaker:The Architect
"Over the next 72 hours: 240-385 deaths. Hospital generators failing. Traffic accidents. Hypothermia."
"You tried. But entropy won."
}
{crisis_choice == "data":
"The data is gone. 187 million voter records exfiltrated. Disinformation deploying across all platforms." #speaker:The Architect
"Democracy is about to shatter. Civil unrest incoming. 20-40 deaths in the first week. Constitutional crisis unfolding."
"You failed to protect the foundation of your republic."
}
{crisis_choice == "supply_chain":
"The backdoors are deployed. 47 million systems infected. Hospitals, banks, government agencies - all compromised." #speaker:The Architect
"They won't know for 90 days. But when they discover it, the damage will be catastrophic. $240-420 billion over 10 years."
"You failed to prevent the largest supply chain attack in history."
}
{crisis_choice == "corporate":
"47 zero-days deployed simultaneously. Stock market crashing. Healthcare ransomware active. Banking systems freezing." #speaker:The Architect
"$4.2 trillion in value destroyed. 80-140 deaths from delayed medical care. 140,000+ job losses incoming."
"You failed to protect the economic foundation of your country."
}
"And the other operations? Mixed results, as predicted. But YOUR failure made everything worse."
"This is entropy, Agent 0x00. Inevitable. Beautiful. Accelerating."
"Better luck next time. If there is a next time."
**-- THE ARCHITECT**
+ [Face the consequences] -> END
-> END

View File

@@ -0,0 +1,444 @@
// Mission 7: The Architect's Gambit - Closing Debrief
// End-of-mission debrief reviewing all four operations and their outcomes
VAR crisis_choice = "" // Which operation player chose
VAR player_success = false // Did player succeed in their operation
VAR found_tomb_gamma = false
VAR found_mole_evidence = false
VAR total_casualties = 0
VAR player_operation_casualties = 0
VAR other_operations_casualties = 0
=== closing_debrief ===
You're back at SAFETYNET Emergency Operations Center. The crisis room is quieter now, but the tension remains.
Director Morgan stands at the central display, reviewing after-action reports from all four operations.
She looks up as you enter.
"Agent 0x00. Take a seat. We need to debrief." #speaker:Director Morgan
You sit. She brings up a comprehensive tactical overview.
"Four simultaneous operations. Four different outcomes. Let's review."
+ [I'm ready.] -> operation_review
+ [How bad is it?] -> casualty_summary
+ [Did we stop The Architect?] -> architect_status
=== operation_review ===
Director Morgan brings up the full operational map.
"Here's what happened across all four targets tonight:" #speaker:Director Morgan
-> player_operation_outcome
=== player_operation_outcome ===
{crisis_choice == "infrastructure":
**OPERATION A: INFRASTRUCTURE COLLAPSE (Your Operation)**
{player_success == true:
"You neutralized Marcus Chen's power grid attack. Zero casualties from the blackout. 8.4 million people kept their power." #speaker:Director Morgan
"Outstanding work."
~ player_operation_casualties = 0
}
{player_success == false:
"The power grid failed. Cascading blackouts across the Pacific Northwest." #speaker:Director Morgan
"Casualty count: 240-385 deaths over 72 hours. Hospital generators, traffic accidents, hypothermia exposure."
~ player_operation_casualties = 312
~ total_casualties = total_casualties + 312
}
-> other_operations_infrastructure
}
{crisis_choice == "data":
**OPERATION B: DATA APOCALYPSE (Your Operation)**
{player_success == true:
"You stopped both the data breach and the disinformation campaign. Democracy secured. 187 million identities protected." #speaker:Director Morgan
"Exceptional work under dual-timer pressure."
~ player_operation_casualties = 0
}
{player_success == false:
"Both attacks succeeded. 187 million voter records stolen. Disinformation campaign launched nationwide." #speaker:Director Morgan
"Casualty count: 20-40 deaths from civil unrest in first week. Constitutional crisis unfolding."
~ player_operation_casualties = 30
~ total_casualties = total_casualties + 30
}
-> other_operations_data
}
{crisis_choice == "supply_chain":
**OPERATION C: SUPPLY CHAIN INFECTION (Your Operation)**
{player_success == true:
"You prevented all 47 million backdoor infections. Supply chain integrity maintained." #speaker:Director Morgan
"Zero immediate casualties. Long-term national security preserved."
~ player_operation_casualties = 0
}
{player_success == false:
"Backdoors deployed to 47 million systems. Largest supply chain attack in history." #speaker:Director Morgan
"No immediate casualties, but long-term consequences: $240-420 billion damage projected over 10 years."
~ player_operation_casualties = 0
}
-> other_operations_supply_chain
}
{crisis_choice == "corporate":
**OPERATION D: CORPORATE WARFARE (Your Operation)**
{player_success == true:
"You neutralized all 47 zero-day exploits. $4.2 trillion in market value preserved. Zero healthcare ransomware." #speaker:Director Morgan
"Economic stability maintained."
~ player_operation_casualties = 0
}
{player_success == false:
"47 zero-days deployed. Stock market crashed 12-18%. Healthcare ransomware active." #speaker:Director Morgan
"Casualty count: 80-140 deaths from delayed medical care. 140,000+ job losses imminent."
~ player_operation_casualties = 110
~ total_casualties = total_casualties + 110
}
-> other_operations_corporate
}
=== other_operations_infrastructure ===
"The other three operations, handled by SAFETYNET rapid response teams:" #speaker:Director Morgan
**TEAM ALPHA - SUPPLY CHAIN:** Full success. All backdoor injections prevented.
**TEAM BRAVO - DATA APOCALYPSE:** Partial success. Data breach stopped at 13%, but disinformation campaign deployed. Civil unrest beginning. Estimated 20-40 casualties.
~ other_operations_casualties = other_operations_casualties + 30
**TEAM CHARLIE - CORPORATE WARFARE:** Failure. Healthcare ransomware deployed. 80-140 deaths from delayed care.
~ other_operations_casualties = other_operations_casualties + 110
~ total_casualties = total_casualties + other_operations_casualties
-> casualty_total
=== other_operations_data ===
"The other three operations, handled by SAFETYNET rapid response teams:" #speaker:Director Morgan
**TEAM ALPHA - INFRASTRUCTURE:** Failure. Power grid blackout occurred. 240-385 casualties from power failure.
~ other_operations_casualties = other_operations_casualties + 312
**TEAM BRAVO - CORPORATE WARFARE:** Full success. All zero-days neutralized. Zero economic damage.
**TEAM CHARLIE - SUPPLY CHAIN:** Partial success. Some backdoors prevented, estimated 15 million systems infected (instead of 47M).
~ total_casualties = total_casualties + other_operations_casualties
-> casualty_total
=== other_operations_supply_chain ===
"The other three operations, handled by SAFETYNET rapid response teams:" #speaker:Director Morgan
**TEAM ALPHA - DATA APOCALYPSE:** Full success. Both data breach and disinformation prevented. Democracy secure.
**TEAM BRAVO - INFRASTRUCTURE:** Partial success. Limited blackouts. Estimated 80-120 casualties (reduced from 240-385).
~ other_operations_casualties = other_operations_casualties + 100
**TEAM CHARLIE - CORPORATE WARFARE:** Failure. Healthcare ransomware deployed. 80-140 deaths from delayed care.
~ other_operations_casualties = other_operations_casualties + 110
~ total_casualties = total_casualties + other_operations_casualties
-> casualty_total
=== other_operations_corporate ===
"The other three operations, handled by SAFETYNET rapid response teams:" #speaker:Director Morgan
**TEAM ALPHA - INFRASTRUCTURE:** Full success. Power grid secured. Zero blackout casualties.
**TEAM BRAVO - DATA APOCALYPSE:** Catastrophic failure. Both attacks succeeded. 187M records stolen, disinformation deployed. 20-40 casualties from civil unrest.
~ other_operations_casualties = other_operations_casualties + 30
**TEAM CHARLIE - SUPPLY CHAIN:** Partial success. Most backdoors prevented. Estimated 8 million systems infected (instead of 47M).
~ total_casualties = total_casualties + other_operations_casualties
-> casualty_total
=== casualty_total ===
Director Morgan displays the final casualty count.
{total_casualties == 0:
"Combined casualties across all operations: ZERO." #speaker:Director Morgan
"This is unprecedented. Complete success. The Architect's coordinated attack failed."
"You chose the right operation, and the teams executed perfectly."
-> success_reflection
}
{total_casualties > 0 and total_casualties < 100:
"Combined casualties across all operations: {total_casualties} deaths." #speaker:Director Morgan
She pauses.
"Every single one of those people had families. Lives. Futures."
"But given the scale of the attack - four simultaneous operations - this is... this is as good as we could have hoped for."
-> mixed_reflection
}
{total_casualties >= 100 and total_casualties < 300:
"Combined casualties across all operations: {total_casualties} deaths." #speaker:Director Morgan
The weight of that number hangs in the air.
"Significant casualties. Multiple operations failed or partially succeeded."
"The Architect achieved some of their objectives tonight."
-> failure_reflection
}
{total_casualties >= 300:
"Combined casualties across all operations: {total_casualties} deaths." #speaker:Director Morgan
She looks exhausted.
"This is catastrophic. Multiple operations failed. The Architect achieved most of their objectives."
"We need to understand what went wrong."
-> failure_reflection
}
=== success_reflection ===
"Agent 0x00, you made an impossible choice and got it RIGHT." #speaker:Director Morgan
{found_tomb_gamma == true:
"And you recovered Tomb Gamma coordinates. That's our next target - The Architect's command center."
}
{found_mole_evidence == true:
"You also found evidence of our mole. Internal Affairs is already investigating."
}
+ [What happens to ENTROPY now?] -> entropy_future
+ [What about The Architect?] -> architect_status
=== mixed_reflection ===
"You made the best choice you could with the intelligence available." #speaker:Director Morgan
"The casualties at unchosen operations - that's not your failure. That's The Architect's design. Forcing impossible choices."
{found_tomb_gamma == true:
"But you recovered Tomb Gamma coordinates. That gives us our next move against The Architect."
}
{found_mole_evidence == true:
"And the mole evidence you found - that's critical for preventing future leaks."
}
+ [Could I have done better?] -> second_guessing
+ [What happens next?] -> next_steps
=== failure_reflection ===
"Multiple operations failed tonight. The Architect achieved significant objectives." #speaker:Director Morgan
She's not blaming you - just stating facts.
"The choice you made... in hindsight, was it the right one?"
+ [I made the best decision I could.] -> defend_choice
+ [I should have chosen differently.] -> regret_choice
+ [The Architect designed this to be unwinnable.] -> blame_architect
=== defend_choice ===
"You did. You made the call based on available intelligence and your assessment of priorities." #speaker:Director Morgan
"The casualties are on The Architect. Not you."
{found_tomb_gamma == true or found_mole_evidence == true:
"And you recovered critical intelligence. That's valuable for future operations."
}
-> next_steps
=== regret_choice ===
"Second-guessing yourself in hindsight isn't helpful, Agent." #speaker:Director Morgan
"You didn't have perfect information. Nobody did. The Architect designed it that way."
-> next_steps
=== blame_architect ===
"You're right. This was designed to be impossible. Four simultaneous attacks, one operator." #speaker:Director Morgan
"The Architect wanted to prove that even our best couldn't stop them."
{total_casualties > 0:
"And they partially succeeded. We took losses."
}
{total_casualties == 0:
"But you proved them wrong. We stopped them."
}
-> next_steps
=== second_guessing ===
"In hindsight, maybe. But you didn't have hindsight. You had 30 seconds to choose from four crisis scenarios." #speaker:Director Morgan
"You did your job. The teams did theirs. Some succeeded, some didn't."
"That's the reality of coordinated attacks."
-> next_steps
=== casualty_summary ===
Director Morgan pulls up the casualty report.
{total_casualties == 0:
"Zero casualties across all four operations. Complete success." #speaker:Director Morgan
-> success_reflection
}
{total_casualties > 0:
"Total casualties: {total_casualties} deaths across all four operations." #speaker:Director Morgan
{player_operation_casualties == 0:
"Your operation: Zero casualties. You succeeded."
}
{player_operation_casualties > 0:
"Your operation: {player_operation_casualties} casualties. The attack succeeded."
}
"Other operations: {other_operations_casualties} casualties combined."
-> casualty_total
}
=== architect_status ===
"The Architect remains at large. Unknown identity. Unknown location." #speaker:Director Morgan
{found_tomb_gamma == true:
"But you recovered Tomb Gamma coordinates. That's their command center. We're planning a strike."
}
{found_tomb_gamma == false:
"We still don't have their location. Tomb Gamma remains unknown."
}
"What we DO know: They're planning something bigger. Tonight was a test. A proof-of-concept."
+ [A test for what?] -> architect_endgame
+ [What about the mole?] -> mole_status
=== architect_endgame ===
"We don't know. But coordinating four simultaneous attacks with different cells, different methods, different objectives - that's sophisticated." #speaker:Director Morgan
"It suggests they're building toward something. A larger operation."
"Which is why we need to find Tomb Gamma and stop them before they execute it."
+ [I'm ready for the next mission.] -> mission_conclusion
+ [What about the mole?] -> mole_status
=== mole_status ===
{found_mole_evidence == true:
"You recovered evidence of communications between someone at SAFETYNET and The Architect." #speaker:Director Morgan
"Internal Affairs is investigating. We'll find them."
"Knowing we have a mole is the first step to rooting them out."
}
{found_mole_evidence == false:
"We still don't have concrete evidence. But the operational timing suggests someone inside leaked details to The Architect." #speaker:Director Morgan
"We're conducting internal review, but without evidence, it's difficult."
}
+ [What's next for me?] -> next_steps
=== next_steps ===
"Debrief complete. File your after-action report and take 24 hours rest." #speaker:Director Morgan
{found_tomb_gamma == true:
"Then we plan the Tomb Gamma operation. Striking at The Architect's command center."
"This is far from over."
}
{found_tomb_gamma == false:
"We'll continue investigating The Architect's identity and location."
"This isn't over. ENTROPY is still active. The Architect is still out there."
}
"Good work tonight, Agent. Regardless of the outcome, you made impossible choices under extreme pressure."
"Not many operators could have done what you did."
+ [Thank you, Director.] -> mission_conclusion
=== entropy_future ===
"ENTROPY is damaged but not destroyed. We disrupted their coordinated attack, but the cells remain active." #speaker:Director Morgan
{found_tomb_gamma == true:
"Tomb Gamma is our next target. If we can strike The Architect's command center, we can decapitate the entire organization."
}
"Critical Mass, Ghost Protocol, Social Fabric, Digital Vanguard, Supply Chain Saboteurs, Zero Day Syndicate - all still operational."
"But now we know their methods. Their coordination patterns. Their weaknesses."
"Tonight was the first battle. Not the last."
+ [I'm ready to continue the fight.] -> mission_conclusion
=== mission_conclusion ===
Director Morgan extends her hand.
"Get some rest, Agent 0x00. You've earned it."
**MISSION 7: THE ARCHITECT'S GAMBIT - COMPLETE**
**YOUR OPERATION: {crisis_choice}**
**OUTCOME: {player_success: SUCCESS | FAILURE}**
**TOTAL CASUALTIES: {total_casualties}**
**TOMB GAMMA DISCOVERED: {found_tomb_gamma: YES | NO}**
**MOLE EVIDENCE FOUND: {found_mole_evidence: YES | NO}**
The war against ENTROPY continues...
-> END
-> END

View File

@@ -0,0 +1,529 @@
// Mission 7: Option D - Corporate Warfare
// Dual antagonists: Victoria "V1per" Zhang (Digital Vanguard) + Marcus "Shadow" Chen (Zero Day Syndicate)
VAR confronted_victoria = false
VAR confronted_marcus = false
VAR showed_victoria_casualties = false
VAR victoria_recruited = false
VAR marcus_escaped = false
VAR victoria_fate = "" // "recruited", "arrested", "killed"
VAR exploits_deployed = false
VAR countermeasures_deployed = false
=== confrontation ===
You enter the TechCore Security Operations Center server room.
Two figures are present:
**VICTORIA "V1PER" ZHANG** stands at the defense automation terminal, armed and alert. Digital Vanguard operations coordinator. She sees you immediately.
**MARCUS "SHADOW" CHEN** works at a secondary terminal, monitoring zero-day exploit staging. Zero Day Syndicate broker. Non-violent, already looking for exits.
Victoria draws her weapon.
"Agent 0x00. TechCore security is compromised. You're too late." #speaker:Victoria Zhang
Marcus doesn't look up from his screen.
"Victoria, we discussed this. No unnecessary violence. Let me finish the deployment." #speaker:Marcus Chen
**EXPLOIT DEPLOYMENT: T-MINUS 3:54**
**TARGETS: 12 corporations, 47 zero-day vulnerabilities**
+ [Both of you are under arrest.] -> arrest_attempt
+ [Victoria, lower your weapon.] -> victoria_confrontation
+ [Marcus, step away from that terminal.] -> marcus_confrontation
+ [This attack will destroy the economy.] -> economic_argument
=== arrest_attempt ===
Victoria doesn't lower her weapon.
"We're not getting arrested. We're exposing corporate negligence." #speaker:Victoria Zhang
Marcus starts typing faster.
"Victoria handles security. I'm just finishing the technical work." #speaker:Marcus Chen
**T-MINUS 3:41**
+ [Victoria, you're Digital Vanguard. Anti-corporate ideology.] -> victoria_motivation
+ [Marcus, you're Zero Day Syndicate. You sell exploits.] -> marcus_motivation
+ [Show them ENTROPY's true scope] -> show_casualties
=== victoria_confrontation ===
"Lower my weapon so you can stop us? Not happening." #speaker:Victoria Zhang
"These corporations prioritize profits over security. People's data, people's privacy - they don't care. We're teaching them the cost."
**T-MINUS 3:32**
+ [By ransomwaring hospitals?] -> healthcare_argument
+ [Corporate security failures are real, but this isn't the answer.] -> empathy_approach
+ [You're not anti-corporate activists. You're ENTROPY weapons.] -> entropy_accusation
=== marcus_confrontation ===
Marcus finally looks up, calm.
"I'm a businessman, Agent. I find vulnerabilities. I sell them. Market dynamics." #speaker:Marcus Chen
"Except tonight, The Architect is paying VERY well for coordinated deployment. So here we are."
Victoria glares at him.
"It's not about money, Shadow. It's about accountability."
Marcus shrugs.
"You have your motivations. I have mine."
**T-MINUS 3:19**
+ [You're working together but want different things.] -> exploit_division
+ [Marcus, how much is The Architect paying you?] -> bribery_attempt
=== exploit_division ===
You recognize the crack in their alliance.
"Victoria, you're ideological. Marcus, you're mercenary. Why are you working together?"
Victoria: "Because we both benefit from exposing corporate failures." #speaker:Victoria Zhang
Marcus: "Because the pay is exceptional and our methods align. Temporarily." #speaker:Marcus Chen
**T-MINUS 3:04**
+ [Victoria, does Marcus care about your cause?] -> divide_victoria
+ [Marcus, what happens when Victoria realizes you're just profiting?] -> divide_marcus
=== divide_victoria ===
"Shadow, do you even BELIEVE in corporate accountability? Or are you just here for the money?" #speaker:Victoria Zhang
Marcus smiles slightly.
"I believe in supply and demand. I supply exploits. You demand corporate punishment. The Architect pays both of us. Efficient." #speaker:Marcus Chen
Victoria's expression hardens. She's realizing they're not ideological allies.
+ [Show Victoria ENTROPY's true casualty scope] -> show_casualties
+ [Exploit this division further] -> continue_division
=== show_casualties ===
~ showed_victoria_casualties = true
You pull up the classified briefing on your phone.
"Operation Blackout: 240-385 civilian deaths from power grid failure."
"Operation Fracture: 187M identities stolen, 20-40 deaths from civil unrest."
"Operation Trojan Horse: 47M backdoor infections."
Victoria stares at the projections.
"This is all ENTROPY? Tonight? All coordinated?" #speaker:Victoria Zhang
She looks at Marcus.
"You KNEW about this?"
Marcus remains calm.
"I knew The Architect coordinates multiple cells. It's good business."
Victoria's weapon wavers.
"I thought we were punishing negligent corporations. Not... not killing hundreds of people."
**T-MINUS 2:47**
+ [You're part of something bigger than corporate accountability.] -> architect_revelation
+ [You can still stop this, Victoria.] -> victoria_recruitment
=== architect_revelation ===
"The Architect isn't about reform. They're about chaos. 'Accelerated entropy.'" #speaker:You
You explain ENTROPY's structure. The coordinated cells. The philosophy.
Victoria lowers her weapon slightly.
"I joined Digital Vanguard to fight corporate corruption. To protect people from negligent companies. Not to... to be part of mass casualty terrorism." #speaker:Victoria Zhang
Marcus interjects:
"Motivations are irrelevant. The exploits are ready. Deployment proceeds." #speaker:Marcus Chen
**T-MINUS 2:29**
Victoria turns to Marcus, angry.
"Shadow, people are DYING at the other targets. Did you know?"
"I suspected. Didn't ask questions. Not my concern." #speaker:Marcus Chen
+ [Victoria, help me stop this.] -> victoria_recruitment
+ [Shoot Marcus before he deploys] -> shoot_marcus
=== victoria_recruitment ===
"SAFETYNET needs people like you. Real security professionals who understand corporate negligence." #speaker:You
"Help us expose these vulnerabilities PROPERLY. Regulation. Enforcement. Not terrorism."
Victoria looks at the casualty projections, then at Marcus working at the terminal.
"If I help you... those corporate security failures I've been documenting. SAFETYNET will force companies to fix them?" #speaker:Victoria Zhang
**T-MINUS 2:14**
+ [Yes. You'll work directly with regulatory enforcement.] -> recruitment_success
+ [I can't guarantee corporate compliance, but we'll try.] -> honest_answer
=== recruitment_success ===
~ victoria_recruited = true
~ victoria_fate = "recruited"
Victoria makes her decision. She turns her weapon toward Marcus.
"Shadow, stop the deployment. Now." #speaker:Victoria Zhang
Marcus sighs.
"I was wondering when you'd have a crisis of conscience. Fine." #speaker:Marcus Chen
He rapidly types something.
"Remote wipe initiated. Evidence deletion in progress. Goodbye, Victoria."
He triggers a smoke grenade and vanishes through a pre-planned exit.
~ marcus_escaped = true
Victoria curses.
"He's Ghost Protocol-trained. He's gone. But I can help you deploy countermeasures."
Together you work frantically:
1. Use VM-extracted codes
2. Deploy patches to all 12 corporations
3. Neutralize exploit staging systems
**T-MINUS 1:48**
**COUNTERMEASURES DEPLOYED**
**ALL 47 ZERO-DAYS NEUTRALIZED**
~ countermeasures_deployed = true
Victoria steps back, hands raised.
"I want immunity. And I want to help regulate corporate security for real."
+ [You have my word.] -> victoria_cooperation
+ [You'll provide intelligence on Digital Vanguard first.] -> victoria_intelligence
=== victoria_intelligence ===
"I'll tell you everything. Cell structure. Corporate targets. The Architect's communications." #speaker:Victoria Zhang
"But I want to help fix this system. That was always my goal."
Director Morgan's voice:
"Agreed. Victoria Zhang's intelligence is extremely valuable. Bring her in for debrief and contracting." #speaker:Director Morgan
+ [Search for ENTROPY intelligence together] -> corporate_intel
=== victoria_cooperation ===
"Thank you for showing me what this really was. The Architect used my anger at corporations as a weapon." #speaker:Victoria Zhang
"Let me help you search for intelligence. I know where The Architect's communications might be."
+ [Search together] -> corporate_intel
=== honest_answer ===
"At least you're honest about the limits." #speaker:Victoria Zhang
"I'll help anyway. Because 47 zero-days against hospitals is wrong. Even if corporations are negligent."
-> recruitment_success
=== shoot_marcus ===
You fire at Marcus. He's already moving - hits his shoulder, not fatal.
"Hostile! Accelerating deployment!" #speaker:Marcus Chen
He slaps a key sequence and vanishes through his exit.
**DEPLOYMENT ACCELERATED: T-MINUS 1:15**
~ marcus_escaped = true
Victoria is shocked by the violence.
"Was that necessary?!"
**T-MINUS 1:10**
+ [Help me deploy countermeasures, now!] -> emergency_deployment
+ [Show her the casualty evidence] -> show_casualties
=== emergency_deployment ===
Victoria helps despite her shock.
Together you frantically deploy countermeasures.
**T-MINUS 0:44**
You manage to neutralize MOST exploits, but not all.
**PARTIAL SUCCESS: 34 zero-days stopped, 13 deployed**
~ countermeasures_deployed = false
Some healthcare ransomware succeeds. Some banking attacks go through.
Limited damage instead of total economic collapse.
+ [Arrest Victoria] -> victoria_arrested
+ [Recruit Victoria after showing casualties] -> show_casualties
=== bribery_attempt ===
"How much is The Architect paying you? I can double it." #speaker:You
Marcus actually considers this.
"Interesting. But The Architect pays in anonymized cryptocurrency with guaranteed future contracts. Can SAFETYNET match that?" #speaker:Marcus Chen
**T-MINUS 2:52**
+ [SAFETYNET doesn't negotiate with criminals.] -> bribery_failure
+ [Name your price.] -> bribery_negotiation
=== bribery_negotiation ===
Marcus names an astronomical figure.
"Plus immunity for all past zero-day sales. And future consulting contracts."
Victoria interrupts:
"Shadow, you're seriously negotiating while people die?" #speaker:Victoria Zhang
This creates division between them.
+ [Exploit Victoria's disgust] -> divide_via_greed
+ [Accept Marcus's terms to buy time] -> false_deal
=== divide_via_greed ===
"Victoria, you see what he is? He doesn't care about corporate accountability. Just profit." #speaker:You
Victoria looks at Marcus with contempt.
"I knew you were mercenary, but THIS? While people die?"
Marcus shrugs.
"Business is business."
+ [Victoria, help me stop this.] -> victoria_recruitment
=== false_deal ===
"Fine. Deal. Halt the deployment." #speaker:You
Marcus grins.
"You're lying. But points for trying." #speaker:Marcus Chen
He continues working.
-> exploit_division
=== bribery_failure ===
"Expected. Then we proceed with deployment." #speaker:Marcus Chen
-> exploit_division
=== continue_division ===
"You're using each other. Victoria wants reform. Marcus wants money. Neither of you are achieving your real goals." #speaker:You
Victoria lowers her weapon further, thinking.
Marcus remains focused on the terminal.
**T-MINUS 2:38**
+ [Show Victoria the full casualty scope] -> show_casualties
+ [Appeal to Marcus's self-interest] -> marcus_self_interest
=== marcus_self_interest ===
"Marcus, when this goes sideways - and it will - The Architect disappears. Victoria gets caught or killed. And you? You're a wanted fugitive forever." #speaker:You
"Is the payout worth that?"
Marcus pauses for the first time.
"The Architect guarantees extraction to Tomb Gamma if operations fail."
"Do you TRUST that guarantee?" #speaker:You
**T-MINUS 2:21**
+ [Let me offer you a better deal.] -> bribery_negotiation
+ [Victoria, while he's thinking, make your choice.] -> victoria_decision_point
=== victoria_decision_point ===
Victoria looks at you, at Marcus, at the casualty projections.
"I need to see the full scope. What's really happening tonight."
+ [Show her ENTROPY's operations] -> show_casualties
=== economic_argument ===
"$4.2 trillion in market value destroyed. 140,000+ job losses. Healthcare ransomware killing patients." #speaker:You
Victoria: "Corporations should have invested in security. This is the consequence." #speaker:Victoria Zhang
Marcus: "Market volatility creates opportunity. I'm unconcerned." #speaker:Marcus Chen
**T-MINUS 3:27**
+ [Victoria, this isn't just punishing corporations - people lose jobs.] -> human_cost_argument
+ [Marcus, economic collapse affects you too.] -> marcus_economic_argument
=== human_cost_argument ===
"140,000 people losing their jobs. Families losing homes. Retirements wiped out. Those aren't corporations - those are people." #speaker:You
Victoria hesitates.
"I... I didn't think about layoffs. I thought this would just hurt shareholders."
+ [Show her the full casualty picture] -> show_casualties
=== healthcare_argument ===
"Healthcare ransomware. 80-140 deaths from delayed surgeries and care." #speaker:You
Victoria's face pales.
"Healthcare? We're attacking HOSPITALS?"
Marcus: "Collateral damage. Hospitals use exploitable software." #speaker:Marcus Chen
Victoria: "That's not... that's not what I signed up for."
+ [Show her what ENTROPY really is] -> show_casualties
=== empathy_approach ===
"I've read your research, Victoria. Your exposés on corporate data breaches. You were RIGHT about negligent security practices." #speaker:You
She's surprised.
"You read my work? Most government agents dismiss it as anti-corporate propaganda."
**T-MINUS 2:55**
+ [It wasn't propaganda. But this attack isn't the answer.] -> research_vs_attack
+ [Help me fix it the right way.] -> victoria_recruitment
=== research_vs_attack ===
"Exposing corporate negligence is legitimate. But killing people isn't." #speaker:You
Victoria looks uncertain.
"I thought... I thought this would just be financial damage. Punishing irresponsible companies."
+ [Show her the human cost] -> show_casualties
=== entropy_accusation ===
"Digital Vanguard is part of ENTROPY. The Architect coordinates you with Ghost Protocol, Critical Mass, Social Fabric, Supply Chain Saboteurs." #speaker:You
"This isn't activism. It's terrorism."
Victoria: "ENTROPY? We're DIGITAL VANGUARD. We're independent." #speaker:Victoria Zhang
Marcus: "Actually, The Architect coordinates all cells. I thought you knew." #speaker:Marcus Chen
Victoria glares at him.
"What?"
+ [Show her the full ENTROPY operational picture] -> show_casualties
=== divide_marcus ===
"Marcus will sell you out the second it's profitable. You know that, right?" #speaker:You
Marcus doesn't deny it.
"If Victoria gets caught, that's her problem. I have extraction protocols."
Victoria's trust in him cracks further.
+ [Victoria, he's using you.] -> victoria_recruitment
=== victoria_arrested ===
~ victoria_fate = "arrested"
"I understand. I made my choice." #speaker:Victoria Zhang
SAFETYNET team takes her into custody.
As they lead her away:
"Those corporate vulnerabilities are still there. If you don't regulate enforcement, someone else will do what I tried." #speaker:Victoria Zhang
+ [Search for intelligence] -> corporate_intel
=== marcus_motivation ===
"I'm a vulnerability researcher who realized selling is more profitable than reporting." #speaker:Marcus Chen
"The Architect pays extremely well for coordinated deployment. Business opportunity."
"I don't care about Victoria's ideology or The Architect's philosophy. I care about cryptocurrency transfers."
**T-MINUS 3:09**
+ [You're enabling terrorism for profit.] -> moral_accusation_marcus
+ [Offer him a deal] -> bribery_negotiation
=== moral_accusation_marcus ===
"I'm enabling market corrections. Corporations should pay for security failures." #speaker:Marcus Chen
He's completely amoral about it.
-> exploit_division
=== victoria_motivation ===
She's passionate about this.
"I worked in corporate security for eight years. I SAW the negligence. Board meetings where security budgets were cut for executive bonuses." #speaker:Victoria Zhang
"Data breaches that hurt customers, but companies paid small fines and moved on."
"Tonight, they learn. Real consequences."
**T-MINUS 3:24**
+ [By hurting innocent employees?] -> human_cost_argument
+ [Your anger is justified, but this method isn't.] -> empathy_approach
=== corporate_intel ===
You search the TechCore Security Operations Center.
**FOUND: Tomb Gamma Coordinates**
Victoria's encrypted communication:
* Location: Abandoned Cold War bunker, Montana wilderness
* Coordinates: 47.2382° N, 112.5156° W
* Message: "If operation fails, extract to Tomb Gamma"
**FOUND: SAFETYNET Mole Evidence**
Intercepted email:
* From: [REDACTED]@safetynet.gov
* To: architect@entropy.onion
* Subject: Target selection confirmed
* Body: "0x00 to corporate warfare. Teams handle infrastructure/data/supply chain"
{victoria_recruited == true:
**FOUND: Digital Vanguard Intelligence (from Victoria)**
* Cell structure and membership
* Corporate target assessments
* The Architect's coordination methods
* Future attack plans
}
-> END
-> END

View File

@@ -0,0 +1,609 @@
// Mission 7: Option B - Data Apocalypse
// Dual antagonists: Specter (Ghost Protocol) + Rachel Morrow (Social Fabric)
VAR exfiltration_progress = 87 // Starts at 87%, reaches 100% if not stopped
VAR disinformation_countdown = 30 // Minutes until deployment
VAR confronted_specter = false
VAR confronted_rachel = false
VAR showed_rachel_casualties = false
VAR rachel_recruited = false
VAR specter_escaped = false
VAR exfiltration_stopped = false
VAR disinformation_stopped = false
VAR rachel_fate = "" // "recruited", "arrested", "escaped"
VAR player_priority = "" // "exfiltration" or "disinformation"
=== crisis_encounter ===
You enter the Network Operations Center. Two figures are present:
**SPECTER** stands at the voter database server vault, monitoring exfiltration progress. Masked, voice scrambled. Professional.
**RACHEL MORROW** sits at the Social Fabric content server, reviewing disinformation narratives ready for deployment.
They both turn as you enter.
"Agent 0x00. We've been expecting you." #speaker:Specter
Rachel stands, defensive but not aggressive.
"You're here to stop us. But do you even understand what we're exposing?" #speaker:Rachel Morrow
**DUAL TIMERS ACTIVE:**
**Exfiltration Progress: 87% → 100%**
**Disinformation Deployment: T-MINUS 30:00**
+ [You're under arrest. Both of you.] -> arrest_attempt
+ [Step away from those servers.] -> demand_compliance
+ [What are you exposing, Rachel?] -> rachel_motivation
+ [Specter, I know who you are.] -> specter_confrontation
=== arrest_attempt ===
Specter laughs - distorted, mechanical through the voice scrambler.
"Arrest? I'm Ghost Protocol. We don't get arrested." #speaker:Specter
Rachel looks conflicted.
"We're exposing corruption. Election systems ARE vulnerable. Voter data ISN'T secure. We're proving it." #speaker:Rachel Morrow
**Exfiltration: 89%**
**Deployment: T-MINUS 28:47**
+ [Rachel, this isn't exposing corruption - it's causing chaos.] -> rachel_moral_argument
+ [Specter, you're stealing 187 million people's identities.] -> specter_accusation
+ [I need to prioritize. Which threat first?] -> prioritization_choice
=== prioritization_choice ===
You assess the situation. Two threats, limited time.
**THREAT 1: DATA EXFILTRATION**
* Currently 89% complete
* 187 million voter records
* 4-8 million identity theft victims over 5 years
* Long-term damage
**THREAT 2: DISINFORMATION DEPLOYMENT**
* T-minus 28 minutes
* Democratic crisis, civil unrest
* 20-40 immediate deaths
* Constitutional implications
+ [Stop the data breach first] -> choose_exfiltration_priority
+ [Stop the disinformation first] -> choose_disinformation_priority
+ [Try to stop both simultaneously] -> attempt_both
=== choose_exfiltration_priority ===
~ player_priority = "exfiltration"
You rush toward Specter and the database servers.
"Interesting choice. Data over democracy." #speaker:Specter
Rachel looks hurt.
"So you care more about records than about truth?" #speaker:Rachel Morrow
**Focus: EXFILTRATION**
+ [Shut down the data transfer] -> exfiltration_confrontation
+ [Talk to Specter while working] -> specter_dialogue
=== choose_disinformation_priority ===
~ player_priority = "disinformation"
You rush toward Rachel and the content servers.
"Smart. The narratives are the real weapon." #speaker:Rachel Morrow
Specter continues working at the database.
"While you stop her, I finish my work. Acceptable trade." #speaker:Specter
**Focus: DISINFORMATION**
+ [Disable the deployment system] -> disinformation_confrontation
+ [Rachel, listen to me] -> rachel_recruitment_path
=== attempt_both ===
"Ambitious. But you're one person. We're two." #speaker:Specter
**Exfiltration: 91%**
**Deployment: T-MINUS 27:15**
Attempting both means splitting focus. This will be difficult.
+ [Focus on exfiltration first, then disinformation] -> choose_exfiltration_priority
+ [Focus on disinformation first, then exfiltration] -> choose_disinformation_priority
=== exfiltration_confrontation ===
~ confronted_specter = true
You access the voter database servers using your extracted VM codes.
Specter watches, hands moving on a secondary keyboard.
"You're good. But I'm better. I've been doing this since you were in training." #speaker:Specter
**Exfiltration: 93%**
+ [Use the shutdown codes from the VM] -> exfiltration_technical
+ [Physically disconnect the servers] -> physical_approach_exfiltration
+ [Who are you really, Specter?] -> specter_identity_question
=== exfiltration_technical ===
You enter the shutdown codes extracted from the NFS shares.
The exfiltration begins to slow... 95%... 96%... holding...
"Clever. But I have redundancy." #speaker:Specter
He triggers a backup transfer channel.
97%... 98%...
+ [Disable the backup channel] -> exfiltration_race
+ [Cut the network cable physically] -> physical_interrupt
=== exfiltration_race ===
Fingers flying, you disable the backup channel just as it hits 99%.
**EXFILTRATION STOPPED AT 99%**
~ exfiltration_stopped = true
Specter sighs - almost impressed.
"99%. So close. You saved 1.87 million records. Congratulations." #speaker:Specter
He stands, moving toward an exit.
"But I still have 185 million. Ghost Protocol thanks you for your partial success."
~ specter_escaped = true
He vanishes through a hidden exit. Gone.
**BUT: Disinformation deployment still active - T-MINUS 24:32**
+ [Rush to stop Rachel's disinformation] -> late_disinformation_attempt
+ [Let the disinformation deploy, you stopped the breach] -> accept_partial_success
=== late_disinformation_attempt ===
You sprint to the Social Fabric content servers.
Rachel is at the keyboard, timer counting down.
"Too late, Agent. You chose data. I'm choosing truth." #speaker:Rachel Morrow
**T-MINUS 22:18**
+ [Show her ENTROPY casualty evidence] -> rachel_late_recruitment
+ [Force her away from the terminal] -> rachel_physical_confrontation
+ [Disable the server while she watches] -> race_against_rachel
=== rachel_late_recruitment ===
{showed_rachel_casualties == false:
-> show_rachel_casualties
}
{showed_rachel_casualties == true:
"I already know The Architect's plan. That's why I'm hesitating." #speaker:Rachel Morrow
**T-MINUS 20:45**
+ [Then help me stop this] -> rachel_cooperation
}
=== disinformation_confrontation ===
~ confronted_rachel = true
You access the Social Fabric content servers.
Rachel doesn't stop you - she wants to talk.
"Do you know what we're deploying? Not lies. TRUTH." #speaker:Rachel Morrow
She shows you the content:
* Real election security vulnerabilities (from leaked reports)
* Actual voter database breaches (from the current exfiltration)
* Genuine concerns about election integrity
"This is real. The system IS compromised. We're just making people SEE it."
**Deployment: T-MINUS 25:33**
**Exfiltration: 92% (Specter still working)**
+ [This will cause civil unrest. People will die.] -> rachel_casualties_argument
+ [You're weaponizing real concerns.] -> weaponization_argument
+ [Show her the full ENTROPY plan] -> show_rachel_casualties
=== show_rachel_casualties ===
~ showed_rachel_casualties = true
You pull up the classified briefing on your phone. The full picture.
"Operation Blackout: 240-385 deaths from power grid failure."
"Operation Trojan Horse: 47 million backdoor infections."
"Operation Meltdown: 80-140 healthcare deaths."
Rachel stares at the data.
"This... this is all tonight? All ENTROPY?" #speaker:Rachel Morrow
Her hands stop moving on the keyboard.
"The Architect told us this was about exposing election corruption. Not... coordinated mass casualty attacks."
**Deployment: T-MINUS 23:47**
+ [You're part of something bigger than disinformation] -> architect_revelation
+ [You can still stop this] -> rachel_recruitment_offer
=== rachel_recruitment_offer ===
"Work with SAFETYNET. Help us dismantle Social Fabric from the inside. Provide intelligence on The Architect." #speaker:You
Rachel looks at the disinformation content, then at the casualty projections.
"I thought I was a truth-teller. An activist. Not... not a terrorist." #speaker:Rachel Morrow
She steps away from the keyboard.
"How do I stop it?"
~ rachel_recruited = true
~ rachel_fate = "recruited"
**Deployment: T-MINUS 21:29**
Together, you disable the disinformation deployment system.
**DISINFORMATION STOPPED**
~ disinformation_stopped = true
Rachel looks at you.
"I want to help. I have intelligence on Social Fabric cells nationwide. Narrative strategies. The Architect's communications."
**BUT: Exfiltration is at 94% and climbing**
+ [Help me stop the data breach too] -> rachel_helps_exfiltration
+ [Focus on securing disinformation evidence] -> accept_partial_success_data
=== rachel_helps_exfiltration ===
"I know Specter's methods. Let me help." #speaker:Rachel Morrow
Together you rush to the database servers.
**Exfiltration: 96%**
Specter sees you both coming.
"Betrayal, Rachel? The Architect won't forgive this." #speaker:Specter
Rachel doesn't hesitate. She has admin access to the facility systems.
"Cutting network to database vault. Now."
**EXFILTRATION STOPPED AT 96%**
~ exfiltration_stopped = true
Specter curses.
"Ghost Protocol will remember this."
He vanishes through his exit route.
~ specter_escaped = true
**BOTH ATTACKS STOPPED - PARTIAL SUCCESS**
Rachel looks at you.
"Thank you for showing me the truth. The REAL truth."
+ [Search for ENTROPY intelligence] -> data_branch_intel
+ [Debrief with Rachel] -> rachel_debriefing
=== rachel_debriefing ===
"I need to tell you everything I know about Social Fabric and The Architect." #speaker:Rachel Morrow
She provides critical intelligence:
* 47 Social Fabric cells nationwide
* Narrative weaponization techniques
* The Architect's communication methods
* Planned future disinformation campaigns
"I was blind. I thought we were freedom fighters. We're... we were tools for chaos."
+ [You made the right choice] -> rachel_redemption
+ [You'll still face charges] -> rachel_consequences
=== rachel_redemption ===
"I'll do whatever it takes to make this right. Testify. Provide evidence. Dismantle Social Fabric." #speaker:Rachel Morrow
Director Morgan's voice on comm:
"Both attacks neutralized. Rachel Morrow's intelligence is extremely valuable. Bring her in for full debrief." #speaker:Director Morgan
+ [Search for additional ENTROPY intelligence] -> data_branch_intel
=== rachel_consequences ===
"I know. I accept that." #speaker:Rachel Morrow
"But let me help first. Let me do something good before I face justice."
+ [Provide your intelligence, then we'll discuss terms] -> rachel_debriefing
=== architect_revelation ===
"The Architect isn't exposing corruption. They're CREATING chaos." #speaker:You
You explain ENTROPY's structure. The coordinated cells. The philosophy of "accelerated entropy."
Rachel's face pales.
"I joined Social Fabric to fight disinformation with truth. Not... not THIS."
-> rachel_recruitment_offer
=== physical_interrupt ===
You pull the network cable from the server rack.
**EXFILTRATION STOPPED AT 98%**
~ exfiltration_stopped = true
Specter stands slowly.
"Physical approach. Inelegant, but effective. You saved 3.74 million records." #speaker:Specter
"I still have 183 million. Acceptable loss."
He escapes through his pre-planned exit.
~ specter_escaped = true
+ [Rush to stop Rachel] -> late_disinformation_attempt
=== specter_dialogue ===
While you work on stopping the exfiltration, you try to engage Specter.
"Why steal voter data? What's your endgame?" #speaker:You
"Information wants to be free. Governments surveil citizens constantly. We're evening the score." #speaker:Specter
"Besides, this data was never secure. I'm proving that."
-> exfiltration_technical
=== specter_identity_question ===
"Former NSA. You know the techniques. The mindset. Why turn?" #speaker:You
"I didn't turn. I evolved." #speaker:Specter
"I spent ten years surveilling Americans for 'national security.' Then I realized - we're all being surveilled. By everyone. So why not expose it?"
**Exfiltration: 95%**
+ [This isn't exposure - it's exploitation] -> moral_argument_specter
+ [Keep working on shutdown codes] -> exfiltration_technical
=== moral_argument_specter ===
"You're not freeing information. You're stealing identities. 187 million people will suffer." #speaker:You
"They're already suffering. They just don't know it yet. I'm teaching them." #speaker:Specter
He won't be convinced.
**Exfiltration: 97%**
+ [Stop talking, focus on stopping him] -> exfiltration_race
=== accept_partial_success ===
You've stopped the exfiltration at 99%. That's a win.
But the disinformation deploys...
**DISINFORMATION CAMPAIGN LAUNCHED**
Across social media platforms, coordinated narratives spread:
* "Voter database breached - elections can't be trusted"
* "Government admits election fraud"
* Deepfake videos of officials
Civil unrest begins within hours. The democratic crisis unfolds.
**PARTIAL SUCCESS: Exfiltration stopped, Disinformation succeeded**
+ [Search for intelligence] -> data_branch_intel
+ [Report to Director Morgan] -> partial_failure_debrief
=== accept_partial_success_data ===
You've stopped the disinformation. Democracy is secure.
But Specter completes the exfiltration...
**DATA BREACH COMPLETE: 187 Million Records Stolen**
The largest data breach in history. Identity theft wave incoming over the next 5 years.
**PARTIAL SUCCESS: Disinformation stopped, Exfiltration succeeded**
+ [Search for intelligence with Rachel's help] -> data_branch_intel
+ [Debrief with Rachel] -> rachel_debriefing
=== race_against_rachel ===
You work frantically to disable the deployment system while Rachel tries to defend it.
**T-MINUS 18:22**
She's not a technical expert - you overpower her access.
**DISINFORMATION STOPPED**
~ disinformation_stopped = true
Rachel slumps in defeat.
"You don't understand. The system IS corrupt. I was trying to show people..."
+ [Show her the ENTROPY casualty evidence] -> show_rachel_casualties
+ [Arrest her] -> rachel_arrested
=== rachel_arrested ===
~ rachel_fate = "arrested"
"I believe in what I was doing. You can't arrest the truth." #speaker:Rachel Morrow
SAFETYNET tactical team arrives to take her into custody.
She doesn't resist, but she doesn't cooperate either.
**BUT: Exfiltration at 95% and climbing**
+ [Try to stop Specter's exfiltration] -> exfiltration_confrontation
=== data_branch_intel ===
You search the Network Operations Center for ENTROPY intelligence.
**FOUND: Tomb Gamma Coordinates**
Encrypted communication from Specter:
* Location: Abandoned Cold War bunker, Montana
* Coordinates: 47.2382° N, 112.5156° W
* Message: "All operations report to Tomb Gamma if compromised"
**FOUND: SAFETYNET Mole Evidence**
Intercepted email:
* From: [REDACTED]@safetynet.gov
* To: architect@entropy.onion
* Subject: Target assignments confirmed
* Body: "0x00 to election security. Teams Alpha/Bravo/Charlie on other targets"
{rachel_recruited == true:
**FOUND: Social Fabric Intelligence (from Rachel)**
* 47 Social Fabric cells nationwide
* Narrative deployment strategies
* The Architect's communication methods
}
-> END
=== rachel_physical_confrontation ===
You physically pull Rachel from the terminal.
She fights back - not trained, but desperate.
"You don't understand! People NEED to know the truth!"
**T-MINUS 19:47**
+ [Restrain her and disable the system] -> force_shutdown_disinformation
+ [Show her the casualty evidence while restraining her] -> show_rachel_casualties
=== force_shutdown_disinformation ===
You restrain Rachel and disable the disinformation deployment.
**DISINFORMATION STOPPED**
~ disinformation_stopped = true
~ rachel_fate = "arrested"
"You're protecting a lie..." #speaker:Rachel Morrow
+ [Search for intelligence] -> data_branch_intel
=== rachel_cooperation ===
She helps you disable the deployment system.
**DISINFORMATION STOPPED**
~ disinformation_stopped = true
~ rachel_recruited = true
~ rachel_fate = "recruited"
"What about the exfiltration?"
**Exfiltration: 93%**
+ [Help me stop that too] -> rachel_helps_exfiltration
=== weaponization_argument ===
"Real concerns can be weaponized. That's exactly what you're doing." #speaker:You
Rachel hesitates.
"I... I thought I was helping. Exposing corruption."
-> show_rachel_casualties
=== rachel_casualties_argument ===
"Your narratives will cause civil unrest. 20-40 deaths projected in the first week." #speaker:You
"That's... that's not what The Architect told us. They said this would just be 'uncomfortable truths.'"
-> show_rachel_casualties
=== partial_failure_debrief ===
Director Morgan's voice is grim.
"Disinformation is spreading. We're seeing civil unrest in 12 major cities. Casualty count rising." #speaker:Director Morgan
"But you stopped the data breach. 187 million identities secure. That's something."
{exfiltration_stopped == true and disinformation_stopped == false:
"Partial success. Data saved, democracy in crisis."
}
{exfiltration_stopped == false and disinformation_stopped == true:
"Partial success. Democracy saved, but largest data breach in history."
}
-> END
=== demand_compliance ===
Specter: "No." #speaker:Specter
Rachel: "We're doing important work here." #speaker:Rachel Morrow
**Exfiltration: 88%**
**Deployment: T-MINUS 29:12**
-> prioritization_choice
=== rachel_motivation ===
Rachel's eyes light up - someone's asking, not just attacking.
"Election systems are vulnerable. Voter data isn't secure. The government LIES about it." #speaker:Rachel Morrow
"We're just making the truth visible. That's not terrorism - it's journalism."
+ [By stealing 187 million identities?] -> exfiltration_accusation
+ [Show her the full ENTROPY plan] -> show_rachel_casualties
=== exfiltration_accusation ===
"That's Specter's work, not mine. I'm handling narratives - truth-telling." #speaker:Rachel Morrow
Specter interjects:
"The data proves the vulnerabilities Rachel will expose. We're a team." #speaker:Specter
+ [You're both part of ENTROPY's chaos] -> entropy_accusation
=== entropy_accusation ===
Rachel looks uncertain.
"ENTROPY? We're Social Fabric. We expose disinformation."
"By CREATING it, apparently." #speaker:You
-> show_rachel_casualties
=== specter_confrontation ===
"You think you know me? Nobody knows me. That's the point." #speaker:Specter
"I'm a ghost. Always have been."
-> exfiltration_confrontation
-> END

View File

@@ -0,0 +1,614 @@
// Mission 7: Option A - Infrastructure Collapse
// Marcus "Blackout" Chen - SCADA Control Room Confrontation
VAR confronted_chen = false
VAR chen_threatened_timer = false
VAR showed_casualty_evidence = false
VAR chen_hesitating = false
VAR chen_fate = "" // "arrested", "killed", "recruited", "escaped"
VAR crisis_neutralized = false
=== confrontation ===
You burst into the SCADA control room.
Marcus "Blackout" Chen stands at the master control terminal, fingers flying across the keyboard. The countdown timer on the wall reads: **T-MINUS 3:47**
He doesn't turn around immediately.
"Agent 0x00. Right on schedule." #speaker:Marcus Chen
He finally turns to face you. Mid-thirties, engineer's demeanor, calm despite your entry. A pistol rests on the terminal beside him - within reach, but he doesn't move for it.
"I calculated you'd arrive between 3 and 4 minutes remaining. SAFETYNET training is predictable."
He gestures to the terminal.
"Look at this system. 147 substations. 8.4 million people. All controlled by software last updated in 2011. Security patches from 2018. This infrastructure is a disaster waiting to happen."
+ [Hands up, Chen. You're under arrest.] -> attempt_arrest
+ [Step away from the terminal.] -> demand_compliance
+ [Why are you doing this?] -> chen_motivation
+ [Your attack will kill hundreds of people.] -> casualties_argument
=== attempt_arrest ===
~ confronted_chen = true
"Under arrest? For what? Exposing the truth?" #speaker:Marcus Chen
He doesn't move toward the gun, but he doesn't raise his hands either.
"I worked for the Department of Energy for six years. I WROTE security reports about these exact vulnerabilities. I BEGGED them to upgrade these systems."
His voice is cold, controlled.
"They ignored me. Budget constraints, they said. Not a priority. Well, tonight it's a priority."
The timer ticks down: **T-MINUS 3:21**
+ [People will die if you don't stop this.] -> casualties_argument
+ [Your methods are terrorism.] -> terrorism_accusation
+ [Let me help you do this the right way.] -> alternative_approach
=== demand_compliance ===
He laughs - bitter, not amused.
"Or what? You'll shoot me? Then the timer keeps running and you have no way to stop it." #speaker:Marcus Chen
He's right. You need him alive to get the shutdown codes.
"Besides, I'm not your enemy. The system is. I'm just the teacher delivering an expensive lesson."
**T-MINUS 3:14**
+ [What do you want?] -> chen_demands
+ [Why target civilians?] -> civilians_question
+ [I read your DoE reports. You were right.] -> acknowledge_validity
=== chen_motivation ===
His expression shifts - this is the question he's been waiting for.
"Eight years ago, I discovered critical vulnerabilities in the Pacific Northwest power grid control systems. SCADA networks with default passwords. Unencrypted command channels. No intrusion detection." #speaker:Marcus Chen
"I reported it through proper channels. DoE. FERC. DHS. I documented everything. Provided recommendations. Budgets. Implementation timelines."
He gestures at the screens showing the power grid.
"Know what happened? Nothing. ABSOLUTELY NOTHING. Budget reallocated to 'higher priorities.' My security clearance was revoked for 'making alarmist claims.'"
His voice hardens.
"If they won't fix vulnerabilities when I ASK nicely, maybe they'll fix them when I DEMONSTRATE catastrophically."
**T-MINUS 2:58**
+ [So you're killing people to prove a point?] -> casualties_argument
+ [The system failed you. I get it.] -> empathy_approach
+ [There are other ways to expose this.] -> alternative_approach
=== casualties_argument ===
{showed_casualty_evidence == false:
He pulls up projections on a secondary screen.
"240 to 385 deaths over 72 hours. I know the numbers, Agent. I calculated them myself." #speaker:Marcus Chen
"120 to 180 hospital deaths from generator failures. 40 to 65 traffic fatalities. 80 to 140 exposure deaths from hypothermia."
He meets your eyes.
"Every single one of those deaths is the government's fault. They had EIGHT YEARS to fix this. The blood is on THEIR hands, not mine."
**T-MINUS 2:39**
+ [Show him evidence of other ENTROPY casualties] -> show_casualties
+ [That's rationalizing murder] -> moral_condemnation
+ [You're right about the vulnerabilities] -> acknowledge_validity
}
{showed_casualty_evidence == true:
He's staring at the casualty projections you showed him from the other operations.
His hands have stopped moving on the keyboard.
"This... this is all ENTROPY? Tonight?" #speaker:Marcus Chen
~ chen_hesitating = true
**T-MINUS 2:12**
+ [You're part of something bigger than infrastructure] -> reveal_architect
+ [You can still stop this] -> offer_redemption
}
=== show_casualties ===
~ showed_casualty_evidence = true
You pull up the classified briefing on your phone. The full picture of tonight's coordinated attacks.
"Operation Fracture: 187 million voter records stolen, 20-40 deaths from civil unrest."
"Operation Trojan Horse: 47 million systems infected with backdoors."
"Operation Meltdown: 80-140 healthcare deaths from ransomware, $4.2 trillion economic damage."
You show him the screen.
"Your attack is ONE of FOUR happening RIGHT NOW. All coordinated by The Architect. You're not a teacher, Marcus. You're a weapon."
He stares at the data. For the first time, uncertainty crosses his face.
"I... The Architect said this was about infrastructure security. Exposing critical vulnerabilities. Not..." #speaker:Marcus Chen
He trails off, looking at the casualty numbers.
**T-MINUS 2:24**
+ [You were used. Help me stop this.] -> recruitment_attempt
+ [Does this change anything?] -> test_resolve
=== terrorism_accusation ===
"Terrorism? I prefer 'forceful penetration testing.'" #speaker:Marcus Chen
He's not joking.
"The government calls whistle-blowers terrorists. Calls security researchers hackers. Labels anyone who exposes their incompetence as criminals."
"I'm not a terrorist. I'm a teacher. And tuition is expensive."
**T-MINUS 2:45**
+ [This isn't teaching. It's murder.] -> moral_condemnation
+ [I understand your frustration] -> empathy_approach
=== alternative_approach ===
"Other ways? I TRIED other ways!" #speaker:Marcus Chen
His calm cracks for the first time. Anger bleeding through.
"Congressional testimony. Media interviews. Academic publications. FREEDOM OF INFORMATION ACT REQUESTS."
"Know what happened? Nothing. News cycle moved on. Politicians ignored it. Infrastructure kept decaying."
He gestures at the terminal.
"This? This they can't ignore. Tomorrow morning, every news channel will cover grid vulnerabilities. Congress will hold hearings. Budgets will be allocated."
"If 240 people have to die to save millions from future attacks, that's a trade I'm willing to make."
**T-MINUS 2:18**
+ [That's not your choice to make] -> moral_condemnation
+ [Show him the broader ENTROPY plan] -> show_casualties
=== empathy_approach ===
You lower your weapon slightly.
"I read your reports, Marcus. You were right. The vulnerabilities are real. The government DID fail to act."
His expression shifts - surprise.
"You... you read my work?" #speaker:Marcus Chen
"Not many people did. Most said I was being alarmist. Paranoid. That I didn't understand budget realities."
**T-MINUS 2:31**
+ [But this isn't the answer] -> offer_alternative
+ [Help me understand your plan] -> technical_discussion
=== offer_alternative ===
"What alternative? I tried EVERYTHING." #speaker:Marcus Chen
"The system doesn't change through proper channels. It only changes through crisis."
**T-MINUS 2:08**
+ [Work with SAFETYNET. We can expose this properly.] -> recruitment_attempt
+ [The crisis is happening. People are listening now.] -> crisis_argument
=== crisis_argument ===
"You're right. They're listening NOW. Because there's a timer." #speaker:Marcus Chen
He looks at you seriously.
"If I stop this, they forget. Budget meeting next month, someone says 'Well, we didn't have a blackout, so maybe it's not urgent.'"
"The only way change happens is through consequence."
**T-MINUS 1:52**
+ {showed_casualty_evidence == true} [You're causing consequences across multiple targets] -> architect_reveal
+ [Let me help you find another way] -> final_recruitment_attempt
+ [Time's up, Chen. Shutdown codes. Now.] -> force_compliance
=== reveal_architect ===
"The Architect isn't exposing vulnerabilities. They're weaponizing them." #speaker:Marcus Chen
You explain ENTROPY's true structure. The coordinated cells. The philosophy of "accelerated entropy."
Marcus stares at the SCADA terminal, then at the casualty projections.
"I thought... I thought this was about security research. Forcing the government to take infrastructure seriously." #speaker:Marcus Chen
"But four simultaneous attacks? That's not research. That's..."
He trails off.
**T-MINUS 1:41**
+ [It's warfare. And you're part of it.] -> moral_revelation
+ [Help me stop this. You can still make this right.] -> final_recruitment_attempt
=== moral_revelation ===
~ chen_hesitating = true
He pulls his hands away from the keyboard.
"I wanted to teach lessons. Not... not start a war." #speaker:Marcus Chen
For the first time, he looks uncertain.
"But if I stop this now, does it matter? The vulnerabilities still exist. Nothing changes."
**T-MINUS 1:29**
+ [Work with SAFETYNET. We'll make it public.] -> final_recruitment_attempt
+ [It matters to the 240 people who won't die.] -> moral_imperative
+ [Give me the shutdown codes or I take them by force] -> threat_escalation
=== recruitment_attempt ===
{showed_casualty_evidence == false:
"Recruitment? You think I'd work for the same government that ignored my warnings?" #speaker:Marcus Chen
"Not interested."
**T-MINUS 2:06**
+ [Show him the full ENTROPY casualty picture] -> show_casualties
+ [This is your last chance] -> threat_escalation
}
{showed_casualty_evidence == true and chen_hesitating == true:
-> final_recruitment_attempt
}
=== final_recruitment_attempt ===
"SAFETYNET isn't DoE or FERC. We act on real threats." #speaker:You
"You have expertise we need. Help us secure critical infrastructure PROPERLY. No bureaucracy. No budget committees. Direct action."
Marcus looks at the timer. Looks at the casualty projections. Looks at you.
"If I help you... those vulnerabilities I documented. SAFETYNET will fix them? Actually fix them?" #speaker:Marcus Chen
**T-MINUS 1:17**
+ [Yes. I guarantee it.] -> recruitment_success
+ [I can't guarantee anything, but we'll try] -> honest_answer
=== recruitment_success ===
He takes a long breath. Then his hands move to the keyboard.
"Shutdown sequence requires three steps. Watch carefully - if I screw this up, the timer accelerates." #speaker:Marcus Chen
He walks you through the process:
1. Deactivation codes from the NFS shares you extracted
2. Master override password (which he provides)
3. Physical kill switch behind the panel
**T-MINUS 0:54**
"There. Cascade failure sequence disabled. Grid is secure."
The timer stops. The red warning lights go dark.
Marcus steps away from the terminal, hands raised.
"I want it in writing. SAFETYNET hires me as infrastructure security consultant. And those vulnerabilities get fixed. All of them." #speaker:Marcus Chen
~ crisis_neutralized = true
~ chen_fate = "recruited"
+ [You have my word] -> recruitment_conclusion
+ [You'll still face charges] -> qualified_recruitment
=== honest_answer ===
"At least you're honest." #speaker:Marcus Chen
He appreciates that.
"Alright. I'll help. Not because I trust the government. Because I don't trust The Architect."
He provides the shutdown sequence, same as above.
**T-MINUS 0:49**
The attack is neutralized.
~ crisis_neutralized = true
~ chen_fate = "recruited"
"I'm still angry about the eight years of ignored warnings. But... maybe this is a better path than mass casualties."
-> recruitment_conclusion
=== recruitment_conclusion ===
Director Morgan's voice comes through your comm.
"Attack neutralized. Grid secure. Outstanding work, 0x00. Bring Chen in for debrief." #speaker:Director Morgan
Marcus looks at you.
"I'm trusting you on this. Don't make me regret it." #speaker:Marcus Chen
You escort him toward the exit. He stops at the door, looking back at the SCADA terminal.
"Eight years. That's how long it took for anyone to take this seriously."
"Let's make sure it doesn't take another crisis."
+ [Search for ENTROPY intelligence] -> post_mission_intel
+ [Proceed to extraction] -> END
=== moral_imperative ===
"240 people..." #speaker:Marcus Chen
He's wavering.
"You're right. I calculated the numbers, but I didn't... I didn't think about them as people. Just statistics. Necessary losses."
He looks at you.
"That's what The Architect does, isn't it? Makes you think in numbers instead of lives."
**T-MINUS 1:08**
+ [Help me stop this] -> compliance_granted
+ [Give me the codes. Now.] -> compliance_granted
=== compliance_granted ===
He nods slowly, hands moving to the keyboard.
"Three-step shutdown. I'll walk you through it." #speaker:Marcus Chen
He provides the deactivation sequence using your extracted intelligence plus his admin credentials.
**T-MINUS 0:44**
The attack is neutralized. Timer stops. Grid secure.
~ crisis_neutralized = true
~ chen_fate = "arrested"
"I'm done fighting. Take me in." #speaker:Marcus Chen
He places his hands behind his head. No resistance.
"For what it's worth... I really did think I was doing the right thing."
+ [You were used by The Architect] -> arrest_conclusion
+ [You're responsible for your choices] -> harsh_arrest
=== arrest_conclusion ===
"Yeah. I see that now." #speaker:Marcus Chen
SAFETYNET tactical team arrives to take him into custody.
As they lead him away, he looks back.
"Agent 0x00. Those vulnerabilities I documented - they're still there. If you don't fix them, someone else will do what I tried to do." #speaker:Marcus Chen
"And next time, maybe they won't hesitate."
+ [Search for ENTROPY intelligence] -> post_mission_intel
+ [Proceed to extraction] -> END
=== harsh_arrest ===
"I know." #speaker:Marcus Chen
He doesn't argue. SAFETYNET team takes him into custody without incident.
+ [Search for ENTROPY intelligence] -> post_mission_intel
+ [Proceed to extraction] -> END
=== threat_escalation ===
~ chen_threatened_timer = true
His hand moves toward the keyboard. Hovering over a key sequence.
"You want to threaten me? Fine. This is the master accelerate command. One keystroke, timer drops to 30 seconds. No way you disable it in time." #speaker:Marcus Chen
"So here's MY deal: Let me walk out of here, and I'll give you the shutdown codes. Or we both lose."
**T-MINUS 1:33**
+ [You're bluffing] -> call_bluff
+ [Fine. Give me the codes and go] -> let_him_escape
+ {showed_casualty_evidence == true} [You're not a mass murderer, Marcus] -> appeal_humanity
+ [Shoot him before he hits the key] -> shoot_chen
=== call_bluff ===
"Try me." #speaker:Marcus Chen
His finger is on the key. You can see in his eyes - he's NOT bluffing.
**T-MINUS 1:21**
+ [Wait! I'll let you go.] -> let_him_escape
+ [Shoot him] -> shoot_chen
+ {showed_casualty_evidence == true} [The Architect used you] -> last_appeal
=== let_him_escape ===
"Smart choice." #speaker:Marcus Chen
He steps back from the terminal, hands still visible.
"Shutdown sequence is three-part: Your NFS codes, plus master password 'GRID_COLLAPSE_2026', plus physical kill switch behind the left panel."
He walks toward the exit, giving you space to work.
**T-MINUS 1:09**
You execute the shutdown sequence. Timer stops. Grid secure.
~ crisis_neutralized = true
~ chen_fate = "escaped"
By the time you look up, Marcus is gone. Vanished into the facility.
Director Morgan's voice on comm:
"Attack neutralized, but Chen escaped. BOLO issued. We'll find him." #speaker:Director Morgan
You secured the grid. But Marcus "Blackout" Chen is still out there.
+ [Search for ENTROPY intelligence] -> post_mission_intel
+ [Proceed to extraction] -> END
=== shoot_chen ===
You don't hesitate. Single shot. Center mass.
Marcus collapses. His hand slaps the keyboard as he falls.
**TIMER ACCELERATES: T-MINUS 0:29**
"Dammit!" #speaker:You
You rush to the terminal. Chen is dying, but conscious.
"Shutdown... codes... on... my phone..." #speaker:Marcus Chen
He gasps out the password to his phone. You grab it, find the shutdown sequence, execute it frantically.
**T-MINUS 0:07**
Grid secure. Timer stops.
~ crisis_neutralized = true
~ chen_fate = "killed"
Marcus "Blackout" Chen dies on the SCADA control room floor.
His last words: "...eight years... they didn't listen..."
The grid is saved. But you had to kill him to do it.
+ [Search his body for intelligence] -> post_mission_intel
+ [Proceed to extraction] -> END
=== last_appeal ===
{showed_casualty_evidence == true:
"The Architect made you think this was about security. It's not. It's about chaos." #speaker:You
Marcus hesitates. His finger lifts slightly from the key.
"I don't want to be a mass murderer. I wanted to FIX things..." #speaker:Marcus Chen
**T-MINUS 1:04**
+ [Then help me fix this] -> final_recruitment_attempt
+ [Step away from the keyboard] -> compliance_granted
}
=== acknowledge_validity ===
"You read my reports?" #speaker:Marcus Chen
He's surprised. Genuinely.
"Then you know I'm RIGHT. These systems are catastrophically vulnerable. They SHOULD fail to prove the point."
**T-MINUS 2:28**
+ [But not like this. Not with casualties.] -> casualties_argument
+ [Work with me. We'll expose this properly.] -> recruitment_attempt
=== technical_discussion ===
He actually relaxes slightly - you're speaking his language.
"The cascade failure is elegant. Watch." #speaker:Marcus Chen
He brings up the attack visualization on screen.
"Stage 1: Seattle metro circuit breakers open. Instant blackout.
Stage 2: Excess load redirects to Portland substations. Transformers overload.
Stage 3: Safety shutdowns across Oregon. Blackout expands.
Stage 4: Northern California fails from imbalance. Total regional collapse."
"It's automated. Beautiful. Unstoppable once initiated."
**T-MINUS 1:58**
+ [Help me stop it] -> technical_cooperation
+ [Show him ENTROPY casualty data] -> show_casualties
=== technical_cooperation ===
"If I help you, what do I get?" #speaker:Marcus Chen
**T-MINUS 1:46**
+ [Your life. You avoid murder charges.] -> threat_based_cooperation
+ [A chance to fix this properly with SAFETYNET] -> recruitment_attempt
+ [Nothing. But people live.] -> moral_imperative
=== threat_based_cooperation ===
"Not good enough. I knew the risks when I started." #speaker:Marcus Chen
**T-MINUS 1:34**
+ [What DO you want?] -> chen_demands
+ [Time's running out, Marcus] -> force_compliance
=== chen_demands ===
"Public acknowledgment that I was right. Congressional testimony. And immunity." #speaker:Marcus Chen
**T-MINUS 1:22**
+ [I can't promise that] -> honest_answer
+ [Fine. Deal. Now help me.] -> false_promise
=== false_promise ===
He studies your face.
"You're lying. But I'll help anyway. Not because I trust you - because I'm starting to think I was used." #speaker:Marcus Chen
{showed_casualty_evidence == true:
"Those casualty numbers from the other operations... that's not infrastructure security. That's warfare."
}
-> compliance_granted
=== force_compliance ===
"Make me." #speaker:Marcus Chen
-> threat_escalation
=== post_mission_intel ===
You search the SCADA control room for intelligence.
**FOUND: Tomb Gamma Coordinates**
Encrypted file on Marcus's terminal:
* Location: Abandoned Cold War bunker, Montana
* Coordinates: 47.2382° N, 112.5156° W
* Note: "Tomb Gamma - The Architect's workshop"
**FOUND: SAFETYNET Mole Evidence**
Email intercept on compromised server:
* From: [REDACTED]@safetynet.gov
* To: architect@entropy.onion
* Subject: Operation timing confirmed
* Body: "0x00 deployed to infrastructure. Teams Alpha/Bravo/Charlie on other targets. Window: 30 minutes."
**FOUND: The Architect Identity Clue**
Marcus's notes reference "The Professor" - someone with deep government knowledge.
You secure all intelligence for analysis.
-> END
=== civilians_question ===
"Civilians are already victims. Victims of government incompetence." #speaker:Marcus Chen
"I'm just making the incompetence visible."
-> casualties_argument
-> END

View File

@@ -0,0 +1,419 @@
// Mission 7: Option C - Supply Chain Infection
// Adrian Cross - TechForge Distribution Center
VAR confronted_adrian = false
VAR showed_adrian_casualties = false
VAR adrian_recruited = false
VAR adrian_fate = "" // "recruited", "arrested", "escaped"
VAR injection_stopped = false
VAR backdoors_quarantined = false
=== confrontation ===
You enter the Network Operations Center at TechForge.
Adrian Cross stands at the update staging servers, monitoring backdoor injection progress.
He's calm, methodical. Mid-40s, former software engineer. He looks up as you enter.
"Agent 0x00. Right on time." #speaker:Adrian Cross
The displays show:
**BACKDOOR INJECTION: 47 million systems queued**
**DEPLOYMENT: T-MINUS 4:12**
"Let me guess. SAFETYNET sent their best to stop the 'evil hackers.' Have you even looked at what we're exposing?" #speaker:Adrian Cross
+ [You're infecting 47 million systems with backdoors.] -> accusation
+ [Step away from that terminal.] -> demand_compliance
+ [What are you exposing, Adrian?] -> adrian_motivation
+ [I know about your work at TechCorp. You were right.] -> acknowledge_expertise
=== adrian_motivation ===
He gestures to the screens showing software update distribution.
"I worked in this industry for 15 years. Enterprise security software. You know what I learned?" #speaker:Adrian Cross
"Software security is theater. Companies don't invest in real protection - they invest in APPEARING secure."
He pulls up examples:
* Code signing infrastructure with default credentials
* Update verification systems never patched
* Critical vulnerabilities ignored for quarters
"I reported this. Internally. Publicly. To regulators. NOTHING CHANGED."
"So tonight, I'm demonstrating what happens when security is a lie."
**T-MINUS 3:54**
+ [By infecting hospitals and banks?] -> casualties_argument
+ [The vulnerabilities are real, but this isn't the answer.] -> empathy_approach
+ [Show him ENTROPY's casualty projections] -> show_casualties
=== show_casualties ===
~ showed_adrian_casualties = true
You pull up the classified briefing showing all four ENTROPY operations.
"Operation Blackout: 240-385 civilian deaths from power grid failure."
"Operation Fracture: 20-40 deaths from civil unrest, 187M identities stolen."
"Operation Meltdown: 80-140 healthcare deaths from ransomware."
Adrian stares at the projections.
"Wait. This is all ENTROPY? Tonight? All coordinated?" #speaker:Adrian Cross
His hands stop moving on the keyboard.
"The Architect told us this was about exposing supply chain vulnerabilities. White-hat research. Not... coordinated mass casualty attacks."
**T-MINUS 3:31**
+ [You're part of something bigger than security research.] -> architect_revelation
+ [You can still stop this.] -> recruitment_offer
=== architect_revelation ===
"The Architect isn't fixing vulnerabilities. They're weaponizing them." #speaker:You
You explain ENTROPY's structure. The coordinated cells. The philosophy of "accelerated entropy."
Adrian's expression shifts from defensive to horrified.
"I thought I was a security researcher. A whistleblower. Not... not a terrorist." #speaker:Adrian Cross
"Those backdoors I designed - they're not for demonstration. They're for espionage. For nation-states."
He steps back from the terminal.
"How many of those deaths are because I chose THIS operation instead of another?"
**T-MINUS 3:08**
+ [That's not on you. It's on The Architect.] -> moral_support
+ [Help me stop this injection, then we'll talk.] -> recruitment_offer
=== recruitment_offer ===
"SAFETYNET needs experts like you. Real security professionals who understand supply chain threats." #speaker:You
"Work with us. Help us fix these vulnerabilities PROPERLY. No bureaucracy. Direct action."
Adrian looks at the injection queue, then at the casualty projections.
"If I help you... those supply chain vulnerabilities I've been documenting for years. SAFETYNET will actually FIX them?" #speaker:Adrian Cross
**T-MINUS 2:47**
+ [Yes. You'll consult directly with us.] -> recruitment_success
+ [I can't guarantee anything, but we'll try.] -> honest_answer
=== recruitment_success ===
~ adrian_recruited = true
~ adrian_fate = "recruited"
"Alright. I'll help. Not for SAFETYNET. For the 47 million people about to get infected." #speaker:Adrian Cross
He walks you through the shutdown process:
1. Use VM-extracted codes to disable injection system
2. Quarantine already-modified updates
3. Restore legitimate signing keys
4. Lock out ENTROPY access
**T-MINUS 2:21**
Working together, you neutralize the attack.
**INJECTION DISABLED**
**BACKDOORS QUARANTINED**
**ZERO SYSTEMS INFECTED**
~ injection_stopped = true
~ backdoors_quarantined = true
Adrian steps away from the terminal, hands raised.
"I want it in writing. SAFETYNET hires me as supply chain security consultant. And those vulnerabilities get fixed. All of them." #speaker:Adrian Cross
+ [You have my word.] -> adrian_cooperation_conclusion
+ [You'll still need to provide intelligence on Supply Chain Saboteurs.] -> adrian_intelligence
=== adrian_intelligence ===
"I'll tell you everything. Cell structure. Attack methods. The Architect's communications." #speaker:Adrian Cross
"But I want immunity. And I want to help fix these systems."
Director Morgan's voice on comm:
"Agreed. Adrian Cross's expertise is too valuable. Bring him in for full debrief and contracting." #speaker:Director Morgan
+ [Search for ENTROPY intelligence together] -> supply_chain_intel
=== adrian_cooperation_conclusion ===
"Thank you for showing me what this really was. I was blind." #speaker:Adrian Cross
"Let me help you search for intelligence. I know where The Architect's communications are stored."
+ [Search together] -> supply_chain_intel
=== honest_answer ===
"At least you're not lying to me." #speaker:Adrian Cross
He appreciates honesty.
"I'll help anyway. Because 47 million backdoors is wrong. Even if the vulnerabilities are real."
-> recruitment_success
=== casualties_argument ===
{showed_adrian_casualties == false:
"Hospitals and banks should have better security. I'm proving they don't." #speaker:Adrian Cross
"If a few thousand get infected, maybe organizations will take supply chain security seriously."
**T-MINUS 3:42**
+ [Show him the full ENTROPY casualty picture] -> show_casualties
+ [You're rationalizing mass harm.] -> moral_condemnation
}
{showed_adrian_casualties == true:
"I've seen the numbers. That's why I'm reconsidering." #speaker:Adrian Cross
-> recruitment_offer
}
=== empathy_approach ===
"I've read your research, Adrian. Your talks at DefCon. BlackHat. Your whitepapers on supply chain integrity." #speaker:You
He's surprised.
"You... you know my work?" #speaker:Adrian Cross
"Most people in government think supply chain attacks are theoretical. You actually understand them."
**T-MINUS 3:26**
+ [That's why I need your help to stop this properly.] -> recruitment_offer
+ [Your research was right. But this implementation is wrong.] -> research_vs_attack
=== research_vs_attack ===
"There's a difference between DOCUMENTING vulnerabilities and EXPLOITING them for espionage." #speaker:You
Adrian nods slowly.
"I know. I crossed that line. I thought... I thought I was doing the right thing."
-> show_casualties
=== moral_condemnation ===
"Security research doesn't involve infecting hospitals with backdoors." #speaker:You
"This is espionage. Sabotage. Terrorism."
Adrian's defensive.
"Call it what you want. The industry needs to learn." #speaker:Adrian Cross
**T-MINUS 3:18**
+ [Show him what ENTROPY really is] -> show_casualties
+ [I'm shutting this down with or without you] -> force_compliance
=== force_compliance ===
You move to the terminal. Adrian doesn't physically stop you, but:
"You'll need the decryption keys. Which I have. And the quarantine procedure. Which I designed." #speaker:Adrian Cross
"You CAN'T shut this down without me. Not in 3 minutes."
**T-MINUS 2:54**
+ [Then help me, or you're complicit in mass infection.] -> ultimatum
+ [Fine. What do you want?] -> negotiation
=== ultimatum ===
"Complicit? I'm ALREADY complicit. The question is whether I help you or let it play out." #speaker:Adrian Cross
**T-MINUS 2:38**
+ [Show him ENTROPY casualty data] -> show_casualties
+ [Arrest him and try to disable it yourself] -> arrest_attempt
=== arrest_attempt ===
You attempt to restrain Adrian.
He doesn't fight, but warns:
"Dead man's switch. If I don't enter a code every 60 seconds, deployment accelerates." #speaker:Adrian Cross
**T-MINUS 2:21**
+ [You're bluffing.] -> call_bluff
+ [Fine. Work with me.] -> reluctant_cooperation
=== call_bluff ===
"Am I?" #speaker:Adrian Cross
The timer jumps: **T-MINUS 1:30**
"That's the accelerate trigger. Still think I'm bluffing?"
+ [Damn it. Help me stop this.] -> reluctant_cooperation
+ [Shoot him and try to disable it alone] -> extreme_measure
=== extreme_measure ===
You can't risk it. You shoot Adrian.
He collapses. The system starts accelerating deployment.
**T-MINUS 0:47**
You frantically use the VM codes, trying to disable the injection without his help.
It's extremely difficult without the decryption keys.
**T-MINUS 0:22**
You manage to quarantine SOME backdoors, but not all.
**PARTIAL INJECTION: 15 million systems infected (instead of 47M)**
~ injection_stopped = false
~ adrian_fate = "killed"
Adrian Cross dies on the NOC floor.
You reduced the damage, but couldn't stop it completely.
+ [Search his body for intelligence] -> supply_chain_intel
=== reluctant_cooperation ===
"Fine. Let's stop this before it gets worse." #speaker:Adrian Cross
Together you disable the injection system.
**T-MINUS 1:08**
**INJECTION DISABLED**
~ injection_stopped = true
~ backdoors_quarantined = true
Adrian sits down, exhausted.
"I really thought I was doing the right thing. Exposing vulnerabilities."
+ [You were used by The Architect.] -> architect_explanation
+ [Arrest him] -> adrian_arrested
=== adrian_arrested ===
~ adrian_fate = "arrested"
"I understand. I'll cooperate with investigation." #speaker:Adrian Cross
SAFETYNET team takes him into custody.
As they lead him away:
"Those vulnerabilities are still there. If you don't fix them, someone else will do what I tried." #speaker:Adrian Cross
+ [Search for intelligence] -> supply_chain_intel
=== architect_explanation ===
"The Architect manipulates people with legitimate grievances. Turns security researchers into weapons." #speaker:You
"You're not the first. You won't be the last."
Adrian looks at the casualty projections again.
"I want to help stop them. Provide intelligence. Testify. Whatever it takes."
-> recruitment_offer
=== negotiation ===
"I want immunity. And I want my research published - WITH government acknowledgment that I was right." #speaker:Adrian Cross
**T-MINUS 2:41**
+ [Deal. Now help me.] -> reluctant_cooperation
+ [I can't promise that.] -> honest_negotiation
=== honest_negotiation ===
"Then we have a problem." #speaker:Adrian Cross
**T-MINUS 2:29**
The clock is ticking.
+ [Show him ENTROPY's true scope] -> show_casualties
+ [Force his cooperation] -> arrest_attempt
=== moral_support ===
"The Architect manipulated you. Used your legitimate security concerns as a weapon." #speaker:You
Adrian looks grateful for the understanding.
"Thank you. That... helps."
-> recruitment_offer
=== acknowledge_expertise ===
"TechCorp ignored your vulnerability reports. I read the internal emails. You were right about everything." #speaker:You
Adrian's surprised and touched.
"Someone actually READ those? I thought they were buried." #speaker:Adrian Cross
**T-MINUS 3:48**
+ [Your research was valid. This attack isn't.] -> research_vs_attack
+ [Help me fix it the right way.] -> recruitment_offer
=== demand_compliance ===
"Or what? You'll shoot a software engineer?" #speaker:Adrian Cross
"I'm not armed. I'm not violent. I'm a researcher who's making a point."
**T-MINUS 3:58**
+ [By infecting 47 million systems.] -> accusation
+ [Let me help you make that point differently.] -> alternative_offer
=== alternative_offer ===
"How? I TRIED legitimate channels for years. Nobody listened." #speaker:Adrian Cross
+ [SAFETYNET will listen. I'm listening now.] -> recruitment_offer
+ [Show him what ENTROPY really is] -> show_casualties
=== accusation ===
"Backdoors that prove supply chain vulnerabilities exist. Yes." #speaker:Adrian Cross
"If TechForge and the software industry won't secure their systems, I'll demonstrate why they MUST."
-> adrian_motivation
=== supply_chain_intel ===
You search the Network Operations Center.
**FOUND: Tomb Gamma Coordinates**
Adrian's encrypted notes:
* Location: Abandoned Cold War bunker, Montana wilderness
* Coordinates: 47.2382° N, 112.5156° W
* Note: "All cell leaders report to Tomb Gamma if operations fail"
**FOUND: SAFETYNET Mole Evidence**
Intercepted email:
* From: [REDACTED]@safetynet.gov
* To: architect@entropy.onion
* Subject: Simultaneous operations confirmed
{adrian_recruited == true:
**FOUND: Supply Chain Saboteurs Intelligence (from Adrian)**
* Attack methodologies
* Code signing exploitation techniques
* TechForge infrastructure weaknesses
* Other potential supply chain targets
}
-> END
-> END

View File

@@ -0,0 +1,289 @@
// Mission 7: The Architect's Gambit - Director Morgan
// Supportive NPC who provides mission guidance and status updates
VAR mission_started = false
VAR flags_submitted = 0
VAR crisis_neutralized = false
VAR asked_about_other_teams = false
VAR asked_about_architect = false
VAR asked_about_mole = false
=== director_morgan ===
{mission_started == false:
Director Morgan is reviewing tactical displays, coordinating the response across all four crisis zones.
"Agent 0x00. Ready for your briefing?" #speaker:Director Morgan
+ [I'm ready]
"Good. Let's go over your assignment."
~ mission_started = true
-> mission_status
+ [Tell me about the other teams] -> other_teams_status
+ [Who is The Architect?] -> architect_discussion
}
{mission_started == true:
Director Morgan looks up from her terminal as you approach.
"Agent 0x00. Status update?" #speaker:Director Morgan
+ [Request situation update] -> mission_status
+ [Ask about other SAFETYNET teams] -> other_teams_status
+ [Ask about The Architect] -> architect_discussion
+ {flags_submitted >= 2} [Ask about intelligence findings] -> intelligence_discussion
+ {crisis_neutralized == false} [Request tactical guidance] -> tactical_guidance
+ [That's all for now] -> END
}
=== mission_status ===
She brings up your mission status display.
{flags_submitted == 0:
"You haven't submitted any flags yet. Access the VM in the Server Room and begin exploitation. We need that intelligence to neutralize the attack." #speaker:Director Morgan
}
{flags_submitted == 1:
"One flag submitted. Good progress, but we need all four to extract the shutdown codes. Keep pushing." #speaker:Director Morgan
}
{flags_submitted == 2:
"Two flags down. You're halfway there. Clock is ticking, Agent." #speaker:Director Morgan
}
{flags_submitted == 3:
"Three flags submitted. One more and you'll have everything you need to stop this. Final push." #speaker:Director Morgan
}
{flags_submitted == 4 and crisis_neutralized == false:
"All flags submitted. Excellent work. Now use that intelligence to neutralize the threat. Get to the Crisis Terminal and stop this attack." #speaker:Director Morgan
}
{crisis_neutralized == true:
"Crisis neutralized. Outstanding work, Agent. But the mission isn't over - search for intelligence about ENTROPY's broader operations." #speaker:Director Morgan
}
+ [Continue conversation] -> director_morgan
+ [End conversation] -> END
=== other_teams_status ===
~ asked_about_other_teams = true
She switches to a tactical overview showing all four operations.
"Here's what's happening at the other targets:" #speaker:Director Morgan
// Status updates are deterministic based on player's choice
// This will be conditional in the actual game based on crisis_choice variable
**TEAM ALPHA** - Current Status: ENGAGED
{crisis_choice == "infrastructure": Supply Chain operation - Proceeding as expected}
{crisis_choice == "data": Infrastructure operation - Facing heavy resistance, casualties expected}
{crisis_choice == "supply_chain": Data Apocalypse operation - Both attacks prevented, clean success}
{crisis_choice == "corporate": Infrastructure operation - Attack neutralized successfully}
**TEAM BRAVO** - Current Status: ENGAGED
{crisis_choice == "infrastructure": Data Apocalypse - Partial success, data breach stopped but disinformation deployed}
{crisis_choice == "data": Corporate Warfare operation - All zero-days neutralized}
{crisis_choice == "supply_chain": Infrastructure operation - Partial success, some casualties}
{crisis_choice == "corporate": Data Apocalypse operation - CRITICAL FAILURE, both attacks succeeded}
**TEAM CHARLIE** - Current Status: ENGAGED
{crisis_choice == "infrastructure": Corporate Warfare - Zero-days deployed, economic damage occurring}
{crisis_choice == "data": Supply Chain operation - Partial success, some backdoors prevented}
{crisis_choice == "supply_chain": Corporate Warfare - Zero-days deployed, economic damage confirmed}
{crisis_choice == "corporate": Supply Chain operation - Partial success, most backdoors prevented}
She looks at you with professional calm.
"The outcomes are unfolding exactly as the models predicted. Your choice determined which crisis gets the best operator - you. The others... they're doing their best."
A pause.
"Focus on your mission. You can't help them now. Win YOUR battle."
+ [Understood] -> director_morgan
+ [What about casualties?] -> casualties_discussion
=== casualties_discussion ===
Her expression is grim.
"We're tracking casualty estimates in real-time based on team performance." #speaker:Director Morgan
{crisis_choice == "infrastructure":
"Team Bravo stopped the voter data breach, but Social Fabric's disinformation campaign launched. We're seeing civil unrest beginning - estimated 20-40 deaths if it escalates."
"Team Charlie failed to stop the corporate zero-day attacks. Healthcare ransomware is active at 840 hospitals. Surgeries cancelled. We're projecting 80-140 deaths from delayed medical care."
}
{crisis_choice == "data":
"Team Alpha couldn't stop the infrastructure attack. Pacific Northwest is going dark. We're estimating 240-385 civilian deaths over 72 hours. Hospital generators, traffic accidents, hypothermia exposure."
}
{crisis_choice == "supply_chain":
"Team Bravo prevented infrastructure casualties - full success there. But Team Charlie failed on corporate. Healthcare ransomware active, economic damage mounting."
}
{crisis_choice == "corporate":
"Team Bravo failed. Both data attacks succeeded - voter breach AND disinformation. We're seeing civil unrest. Estimated casualties 20-40 and climbing."
}
She meets your eyes.
"These numbers are real people, Agent. But you made the best choice you could. Now win yours so the total damage is minimized."
+ [I understand] -> director_morgan
=== architect_discussion ===
~ asked_about_architect = true
Director Morgan pulls up an intelligence file marked "ENTROPY - THE ARCHITECT - CLASSIFIED."
"Everything we know about The Architect is speculation and pattern analysis." #speaker:Director Morgan
"**What we know for certain:**
* Coordinates all ENTROPY cells with precision
* Deep knowledge of SAFETYNET protocols and response capabilities
* Strategic thinker - designs operations to force impossible choices
* Communicates via encrypted channels, taunts operatives during missions
* Philosophy: 'Accelerating entropy' - believes in forcing societal collapse
**What we suspect:**
* Former intelligence community (NSA, CIA, or military intelligence)
* Access to classified information about US infrastructure vulnerabilities
* Possibly knows SAFETYNET personnel (references to specific operators)
* The alias 'The Architect' suggests systematic planning, building toward something
**What we don't know:**
* True identity
* Ultimate goal (beyond 'accelerated entropy')
* How many cells they control
* Location of their command center (we call it 'Tomb Gamma' based on intercepts)"
She closes the file.
"They're the most sophisticated threat we've ever faced. And they're watching you right now."
+ [How do they have SAFETYNET intelligence?] -> mole_discussion
+ [What's their ultimate goal?] -> architect_goal_discussion
+ [Continue] -> director_morgan
=== mole_discussion ===
~ asked_about_mole = true
Her voice drops.
"We have a mole. Someone inside SAFETYNET feeding The Architect our operational details." #speaker:Director Morgan
"The timing of these four attacks - simultaneous, coordinated, designed to split our resources - that requires insider knowledge."
"Your assignment to your specific target, the other teams' assignments, our response capabilities... The Architect knew it all before we deployed."
She looks around cautiously.
"I don't know who. Could be anyone with access to operations. Could be... someone in this room."
"If you find evidence during your mission - emails, communications, anything linking SAFETYNET personnel to ENTROPY - secure it immediately."
+ [I'll find them] -> director_morgan
+ [How do we trust anyone?] -> trust_discussion
=== trust_discussion ===
"We don't have the luxury of paranoia right now. We trust our training, our procedures, and each other - until evidence proves otherwise." #speaker:Director Morgan
"After tonight, we'll conduct a full internal investigation. But right now, focus on stopping the attack."
"The mole can't help ENTROPY if ENTROPY fails."
+ [Understood] -> director_morgan
=== architect_goal_discussion ===
She brings up a strategic analysis display.
"Our analysts believe The Architect is testing something. These coordinated attacks are a proof-of-concept." #speaker:Director Morgan
"**Hypothesis 1:** Training exercises for larger future operation
**Hypothesis 2:** Demonstrating capability to recruit nation-state clients
**Hypothesis 3:** Ideological - genuinely believes in accelerating societal collapse
**Hypothesis 4:** Personal vendetta against someone in government/intelligence"
"Honestly? We don't know. But tonight's attacks feel like... a rehearsal. Building toward something bigger."
She pauses.
"That's why stopping them tonight is so critical. Not just for the immediate lives saved, but to disrupt whatever they're planning next."
+ [We'll stop them] -> director_morgan
=== tactical_guidance ===
She reviews your mission profile.
"Tactical guidance for your operation:" #speaker:Director Morgan
{crisis_choice == "infrastructure":
"**Priority:** Reach the SCADA control room before the timer expires.
**Key Intel:** Marcus Chen is a true believer. He won't surrender easily, but he's not suicidal. If you present evidence of civilian casualties, he might hesitate.
**VM Challenge:** Focus on extracting shutdown codes from the NFS shares. You'll need root access to disable the attack scripts.
**Warning:** Chen has backup operatives. Expect resistance, but avoid prolonged combat - you're on a clock."
}
{crisis_choice == "data":
"**Priority:** You're facing dual threats - data exfiltration AND disinformation deployment.
**Critical Choice:** You may not be able to stop both. If forced to choose, prioritize based on your assessment of long-term vs. short-term damage.
**Key Intel:** Rachel Morrow (Social Fabric) can be recruited. Show her evidence of ENTROPY's casualty projections - she thinks she's exposing corruption, not causing deaths.
**Warning:** Specter (Ghost Protocol) will escape. Don't waste time chasing them - Ghost Protocol always has exit strategies."
}
{crisis_choice == "supply_chain":
"**Priority:** Disable backdoor injection before software updates deploy.
**Key Intel:** Adrian Cross is philosophically opposed to supply chain vulnerabilities, not actually pro-murder. He's recruitable if shown casualty evidence.
**VM Challenge:** Focus on quarantining already-modified updates AND preventing future injections.
**Strategic Value:** If you recruit Adrian, he's valuable long-term - deep knowledge of supply chain attack methods."
}
{crisis_choice == "corporate":
"**Priority:** Deploy countermeasures to all 12 target corporations before zero-days deploy.
**Key Intel:** Victoria Zhang (Digital Vanguard) is ideologically motivated, Marcus Chen (Zero Day Syndicate) is mercenary. Exploit that difference.
**VM Challenge:** Extract countermeasure codes and deploy patches via the automated system.
**Warning:** Marcus will escape. Victoria is recruitable - show her the casualty projections from the other operations."
}
"Good luck, Agent. You're our best operator for a reason."
+ [Thank you] -> director_morgan
=== intelligence_discussion ===
"What have you found so far?" #speaker:Director Morgan
+ [Tell me what I should be looking for] -> intel_targets
+ [I'm still gathering intelligence] -> director_morgan
=== intel_targets ===
She brings up an intelligence priority list.
"**HIGH-PRIORITY INTELLIGENCE TARGETS:**
1. **Tomb Gamma Location** - The Architect's command center. We've intercepted references to coordinates, likely in communications on site.
2. **SAFETYNET Mole Evidence** - Any emails or messages between ENTROPY and someone with a SAFETYNET email address.
3. **ENTROPY Cell Structure** - How the different cells coordinate, who reports to The Architect.
4. **Future Operation Plans** - Any indication of what comes after tonight.
If you find any of this, it's critical for preventing future attacks."
+ [I'll search thoroughly] -> director_morgan
-> END

View File

@@ -0,0 +1,313 @@
// Mission 7: The Architect's Gambit - Opening Briefing
// This is the critical choice point where player selects which crisis to handle
VAR crisis_choice = ""
VAR crisis_choice_made = false
=== opening_briefing ===
The emergency operations center is in controlled chaos. Multiple screens flash red alerts. Director Morgan stands at the central terminal, face grim.
"Agent 0x00. Thank god you're here. We have a Category Five crisis." #speaker:Director Morgan
She brings up four simultaneous threat displays.
"ENTROPY has launched coordinated attacks on four critical targets. All happening RIGHT NOW. We have 30 minutes before catastrophic damage occurs at each location."
She takes a breath, her voice steady but urgent.
"We don't have enough assets to cover all four. You need to choose which operation to lead. The other three will be handled by SAFETYNET rapid response teams - but our models show... mixed outcomes."
She gestures to the displays.
"I need you to understand what you're choosing - and what you're accepting."
+ [View the four crisis scenarios] -> crisis_overview
+ [Ask about team capabilities] -> team_capabilities
+ [Ask about The Architect] -> architect_intel
=== crisis_overview ===
Director Morgan brings up detailed tactical displays for each crisis.
"Here's what we're facing:"
-> option_a_brief
=== option_a_brief ===
# OPTION A: INFRASTRUCTURE COLLAPSE
**Target:** Pacific Northwest Regional Power Grid Control Facility
**Threat Actor:** Critical Mass cell, led by Marcus "Blackout" Chen
**Attack:** SCADA system compromise, cascading grid failure
"Critical Mass has infiltrated the Pacific Northwest power grid control facility. In 30 minutes, they'll trigger cascading failures across 147 substations."
**IMMEDIATE CONSEQUENCES IF THEY SUCCEED:**
* 8.4 million people without power for 4-7 days
* 240-385 civilian deaths in first 72 hours
- 120-180 hospital deaths (life support failures)
- 40-65 traffic deaths (signal failures)
- 80-140 exposure deaths (winter hypothermia)
* 23 major transformers destroyed
* $18 billion economic damage
**YOUR MISSION IF YOU CHOOSE THIS:**
* Breach the facility
* Complete VM exploitation to extract shutdown codes
* Reach SCADA control room before timer expires
* Confront Marcus Chen and disable the attack
+ [Continue to Option B] -> option_b_brief
+ [I'll take this mission] -> confirm_choice_a
=== option_b_brief ===
# OPTION B: DATA APOCALYPSE
**Target:** National Voter Registration Database & Election Systems
**Threat Actors:** Ghost Protocol (data breach) + Social Fabric (disinformation)
**Attack:** Dual-threat - massive data exfiltration + coordinated disinformation campaign
"Ghost Protocol is exfiltrating 187 million voter records while Social Fabric prepares to deploy disinformation narratives that exploit the breach."
**IMMEDIATE CONSEQUENCES IF THEY SUCCEED:**
* 187 million Americans' personal data exposed
* 4-8 million identity theft victims over 5 years
* 20-40 deaths from civil unrest in first week
* Democratic institutions permanently delegitimized
* Election integrity questioned indefinitely
**YOUR MISSION IF YOU CHOOSE THIS:**
* Breach the election security facility
* Complete VM exploitation to extract shutdown codes
* CRITICAL: Dual timers (exfiltration progress + disinformation deployment)
* Confront "Specter" and Rachel Morrow
* Attempt to stop BOTH attacks (extremely difficult)
+ [Continue to Option C] -> option_c_brief
+ [I'll take this mission] -> confirm_choice_b
=== option_c_brief ===
# OPTION C: SUPPLY CHAIN INFECTION
**Target:** TechForge Software Distribution Platform
**Threat Actor:** Supply Chain Saboteurs, led by Adrian Cross
**Attack:** Backdoor injection into software updates for 2,400+ vendors
"Supply Chain Saboteurs have compromised TechForge's code signing infrastructure. In 30 minutes, they'll inject backdoors into software updates for 47 million systems nationwide."
**LONG-TERM CONSEQUENCES IF THEY SUCCEED:**
* 47 million systems infected (hospitals, banks, government agencies)
* Backdoors remain dormant for 90 days (stealth)
* $240-420 billion economic damage over 10 years
* Foreign adversaries gain access to national infrastructure
* Software update trust permanently destroyed
**NOTE:** This option has NO immediate deaths. But choosing this accepts immediate casualties at other targets.
**YOUR MISSION IF YOU CHOOSE THIS:**
* Breach TechForge facility
* Complete VM exploitation to extract shutdown codes
* Disable backdoor injection before updates deploy
* Confront Adrian Cross (recruitable if shown casualty evidence)
+ [Continue to Option D] -> option_d_brief
+ [I'll take this mission] -> confirm_choice_c
=== option_d_brief ===
# OPTION D: CORPORATE WARFARE
**Target:** 12 Fortune 500 Corporations (via TechCore SOC)
**Threat Actors:** Digital Vanguard + Zero Day Syndicate
**Attack:** 47 zero-day exploits deployed simultaneously
"Digital Vanguard and Zero Day Syndicate are coordinating the largest corporate cyber attack in history. They'll deploy 47 zero-day exploits against 12 Fortune 500 companies simultaneously."
**IMMEDIATE CONSEQUENCES IF THEY SUCCEED:**
* Stock market crashes 12-18% ($4.2 trillion destroyed)
* 80-140 deaths from healthcare ransomware
* 140,000-220,000 immediate job losses
* $280-420 billion economic damage in first week
* Banking systems frozen nationwide
**MORAL COMPLEXITY:** You're protecting corporate wealth while civilians may die at other targets.
**YOUR MISSION IF YOU CHOOSE THIS:**
* Breach TechCore Security Operations Center
* Complete VM exploitation to extract countermeasure codes
* Deploy emergency patches to 12 corporations
* Confront Victoria Zhang and Marcus Chen
* Neutralize 47 zero-days before deployment
+ [View deterministic outcomes matrix] -> outcomes_matrix
+ [I'll take this mission] -> confirm_choice_d
=== team_capabilities ===
Director Morgan pulls up team status displays.
"We have three rapid response teams on standby:"
**TEAM ALPHA:** 6 operators, excellent track record, currently 40 minutes from nearest target
**TEAM BRAVO:** 4 operators, specialized in data security, 25 minutes from nearest target
**TEAM CHARLIE:** 5 operators, corporate security focus, 30 minutes from nearest target
"Based on distance, capabilities, and threat complexity, our predictive models show deterministic outcomes for operations you DON'T choose."
She looks at you seriously.
"The matrix isn't random. We know exactly what will happen based on your choice."
+ [View the deterministic outcomes matrix] -> outcomes_matrix
+ [Back to crisis overview] -> crisis_overview
=== architect_intel ===
Director Morgan's expression darkens.
"We believe all four attacks are coordinated by someone called 'The Architect.' ENTROPY's true leader."
"We don't know their identity. But their communication patterns suggest:
* Deep knowledge of SAFETYNET protocols
* Intelligence background (possibly former agency)
* Strategic thinking - these attacks are designed to force impossible choices
* Philosophy: Accelerating societal entropy through coordinated chaos"
"They've been taunting us. Sending messages. They WANT you to feel the weight of this choice."
She pauses.
"Don't let them get in your head. Choose based on your analysis, not their manipulation."
+ [View crisis scenarios] -> crisis_overview
+ [View outcomes matrix] -> outcomes_matrix
=== outcomes_matrix ===
Director Morgan brings up a large matrix display.
"Our predictive models show exactly what happens based on your choice. This isn't guesswork - it's deterministic based on team positioning, capabilities, and threat complexity."
# DETERMINISTIC OUTCOMES MATRIX
**IF YOU CHOOSE OPTION A (Infrastructure):**
* YOU: Handle infrastructure attack
* TEAM ALPHA: Supply Chain - FULL SUCCESS (prevented)
* TEAM BRAVO: Data Apocalypse - PARTIAL SUCCESS (breach mitigated, disinformation succeeds)
* TEAM CHARLIE: Corporate - FAILURE (zero-days deploy, economic damage)
**IF YOU CHOOSE OPTION B (Data Apocalypse):**
* YOU: Handle data/disinformation attack
* TEAM ALPHA: Infrastructure - FAILURE (240-385 deaths, blackout)
* TEAM BRAVO: Corporate - FULL SUCCESS (prevented)
* TEAM CHARLIE: Supply Chain - PARTIAL SUCCESS (some backdoors prevented)
**IF YOU CHOOSE OPTION C (Supply Chain):**
* YOU: Handle supply chain attack
* TEAM ALPHA: Data Apocalypse - FULL SUCCESS (both attacks prevented)
* TEAM BRAVO: Infrastructure - PARTIAL SUCCESS (some blackouts, reduced casualties)
* TEAM CHARLIE: Corporate - FAILURE (zero-days deploy, economic damage)
**IF YOU CHOOSE OPTION D (Corporate):**
* YOU: Handle corporate warfare
* TEAM ALPHA: Infrastructure - FULL SUCCESS (blackout prevented)
* TEAM BRAVO: Data Apocalypse - FAILURE (both attacks succeed, democracy crisis)
* TEAM CHARLIE: Supply Chain - PARTIAL SUCCESS (some backdoors prevented)
Director Morgan looks at you.
"There's no perfect choice. People will die or suffer regardless. Your job is to minimize total damage based on your assessment of priorities."
+ [Choose Option A - Infrastructure] -> confirm_choice_a
+ [Choose Option B - Data Apocalypse] -> confirm_choice_b
+ [Choose Option C - Supply Chain] -> confirm_choice_c
+ [Choose Option D - Corporate Warfare] -> confirm_choice_d
=== confirm_choice_a ===
"Infrastructure. You're prioritizing immediate civilian lives." #speaker:Director Morgan
She inputs your assignment.
"Team Alpha will handle supply chain. Team Bravo will attempt data/disinformation - expect partial success. Team Charlie will try corporate - they'll likely fail."
**ACCEPTED CONSEQUENCES:**
* Corporate zero-day attacks will likely succeed
* Economic damage estimated $280-420 billion
* Healthcare ransomware may cause 80-140 additional deaths
"Transport is waiting. You have 30 minutes. Get to that power grid facility and stop Marcus Chen."
~ crisis_choice = "infrastructure"
~ crisis_choice_made = true
-> mission_start
=== confirm_choice_b ===
"Data Apocalypse. You're prioritizing democratic institutions and data security." #speaker:Director Morgan
She inputs your assignment.
"Team Alpha will handle infrastructure - they'll fail. Expect 240-385 civilian deaths from the blackout. Team Bravo will take corporate - they'll succeed. Team Charlie on supply chain - partial success."
**ACCEPTED CONSEQUENCES:**
* Pacific Northwest blackout (4-7 days)
* 240-385 deaths from power grid failure
* $18 billion infrastructure damage
"Transport is waiting. You have 30 minutes. Dual timers - stop the breach AND the disinformation if you can."
~ crisis_choice = "data"
~ crisis_choice_made = true
-> mission_start
=== confirm_choice_c ===
"Supply Chain. You're prioritizing long-term national security over immediate lives." #speaker:Director Morgan
She inputs your assignment.
"Team Alpha will handle data security - full success. Team Bravo on infrastructure - partial success, some casualties. Team Charlie on corporate - they'll fail."
**ACCEPTED CONSEQUENCES:**
* Partial infrastructure blackout (reduced casualties: 80-120 deaths estimated)
* Corporate zero-day attacks succeed
* Combined economic damage: $300+ billion
"Transport is waiting. You have 30 minutes. Stop Adrian Cross before those backdoors deploy."
~ crisis_choice = "supply_chain"
~ crisis_choice_made = true
-> mission_start
=== confirm_choice_d ===
"Corporate Warfare. You're prioritizing economic stability." #speaker:Director Morgan
Her expression is carefully neutral - no judgment.
"Team Alpha will handle infrastructure - full success. Team Bravo on data - they'll fail, both attacks succeed. Team Charlie on supply chain - partial success."
**ACCEPTED CONSEQUENCES:**
* Voter database breach (187 million records)
* Disinformation campaign launches
* Democratic crisis, 20-40 deaths from civil unrest
* 4-8 million identity theft victims over 5 years
"Transport is waiting. You have 30 minutes. Deploy those countermeasures and stop Victoria Zhang."
~ crisis_choice = "corporate"
~ crisis_choice_made = true
-> mission_start
=== mission_start ===
Director Morgan extends her hand.
"Good luck, Agent. No matter what happens tonight, know that you're making the best choice you can with impossible options."
She pauses.
"And 0x00? The Architect is watching. They'll taunt you. Try to make you question your choice. Don't let them."
You nod and head for the exit.
**MISSION CLOCK STARTS: T-MINUS 30 MINUTES**
The weight of your choice settles on your shoulders. Somewhere, at the three targets you didn't choose, SAFETYNET teams are racing against the clock.
Some will succeed. Some will fail.
You chose your battlefield. Now you have to win it.
-> END

View File

@@ -0,0 +1,350 @@
// Mission 7: The Architect's Gambit - Agent 0x99 Phone Calls
// Your SAFETYNET handler provides tactical support and mission guidance
VAR contacted_0x99 = false
VAR flags_submitted = 0
VAR crisis_neutralized = false
VAR found_tomb_gamma = false
VAR found_mole_evidence = false
VAR asked_about_architect_taunts = false
=== phone_0x99 ===
{contacted_0x99 == false:
Your phone rings. Secure line. Agent 0x99.
"0x00, it's 0x99. I'm monitoring your operation remotely. Here to provide tactical support." #speaker:Agent 0x99
~ contacted_0x99 = true
"The Architect is coordinating all four attacks. This is the most sophisticated ENTROPY operation we've ever seen."
+ [What do you need me to do?] -> mission_overview
+ [Tell me about The Architect] -> architect_info
}
{contacted_0x99 == true:
"0x99 here. What do you need?" #speaker:Agent 0x99
+ [Request tactical guidance] -> tactical_support
+ [Ask about VM exploitation] -> vm_guidance
+ {flags_submitted >= 1} [Ask about intelligence analysis] -> intel_analysis
+ {asked_about_architect_taunts == false} [The Architect is sending me messages] -> architect_taunts
+ {crisis_neutralized == true} [Attack neutralized - what's next?] -> post_neutralization
+ [That's all] -> END
}
=== mission_overview ===
"Your mission is straightforward but time-critical:" #speaker:Agent 0x99
{crisis_choice == "infrastructure":
"**OBJECTIVE:** Stop the power grid attack before cascading failures begin.
**KEY TASKS:**
1. Complete VM exploitation to extract shutdown codes
2. Submit all 4 flags - we need that intelligence
3. Reach the SCADA control room before timer expires
4. Confront Marcus Chen and disable the attack
5. Search for ENTROPY intelligence (Tomb Gamma location, mole evidence)
**PRIORITY:** Timer is everything. Don't get bogged down in combat - avoid or neutralize quickly."
}
{crisis_choice == "data":
"**OBJECTIVE:** Stop voter data breach AND disinformation campaign.
**KEY TASKS:**
1. Complete VM exploitation to extract shutdown codes
2. Submit all 4 flags - critical intelligence needed
3. Prioritize: breach OR disinformation (you may not stop both)
4. Confront Specter and Rachel Morrow
5. Search for ENTROPY intelligence
**WARNING:** Dual timers. If forced to choose, consider: data breach = long-term identity theft, disinformation = immediate democratic crisis."
}
{crisis_choice == "supply_chain":
"**OBJECTIVE:** Prevent backdoor injection into software updates.
**KEY TASKS:**
1. Complete VM exploitation to extract shutdown codes
2. Submit all 4 flags for intelligence
3. Disable injection system before updates deploy
4. Quarantine already-modified updates
5. Confront Adrian Cross (he's recruitable - show him casualty evidence)
6. Search for ENTROPY intelligence
**NOTE:** This has no immediate casualties but massive long-term consequences. Don't let that reduce your urgency."
}
{crisis_choice == "corporate":
"**OBJECTIVE:** Deploy countermeasures to 12 corporations before zero-day attacks.
**KEY TASKS:**
1. Complete VM exploitation to extract countermeasure codes
2. Submit all 4 flags for intelligence
3. Deploy emergency patches to all target corporations
4. Neutralize exploit staging systems
5. Confront Victoria Zhang and Marcus Chen
6. Search for ENTROPY intelligence
**TIP:** Victoria is recruitable. Marcus will escape - don't waste time chasing him."
}
"You have 30 minutes. Clock started when you left the EOC."
+ [Understood] -> phone_0x99
+ [What about the other teams?] -> other_teams_info
=== other_teams_info ===
"The other teams are engaged as we speak. Outcomes are unfolding exactly as Director Morgan predicted." #speaker:Agent 0x99
{crisis_choice == "infrastructure":
"Team Alpha is handling supply chain - they'll succeed. Team Bravo on data - partial success expected, disinformation will deploy. Team Charlie on corporate - they're failing, healthcare ransomware is going live."
}
{crisis_choice == "data":
"Team Alpha on infrastructure - they're failing, blackout is happening. Team Bravo on corporate - full success, they're crushing it. Team Charlie on supply chain - partial, some backdoors getting through."
}
{crisis_choice == "supply_chain":
"Team Alpha on data - full success, both attacks stopped. Team Bravo on infrastructure - partial, some casualties occurring. Team Charlie on corporate - failing, economic damage mounting."
}
{crisis_choice == "corporate":
"Team Alpha on infrastructure - full success, blackout prevented. Team Bravo on data - catastrophic failure, both attacks succeeded. Team Charlie on supply chain - partial success."
}
"Your choice determined who gets the best operator - you. Focus on winning YOUR operation. You can't help them now."
+ [Copy that] -> phone_0x99
=== tactical_support ===
"What do you need tactical support on?" #speaker:Agent 0x99
+ [How do I handle the VM challenge?] -> vm_guidance
+ [How do I deal with hostile operatives?] -> combat_guidance
+ [Where should I search for intelligence?] -> intel_locations
+ [Back] -> phone_0x99
=== vm_guidance ===
"The VM is running SecGen's 'putting_it_together' scenario. Multi-stage exploitation." #speaker:Agent 0x99
"**EXPLOITATION PATH:**
**Stage 1: NFS Share Discovery**
* Scan for NFS exports (showmount, nmap)
* Mount remote filesystems
* Find attack staging files, timelines, configurations
* **FLAG 1** is in the NFS shares
**Stage 2: Netcat Service Enumeration**
* Enumerate network services (nmap, netcat)
* Find C2 communication channels
* Intercept commands, extract shutdown codes
* **FLAG 2** is in the netcat services
**Stage 3: Privilege Escalation**
* Exploit sudo misconfigurations or SUID binaries
* Gain root access to critical systems
* **FLAG 3** requires root privileges
**Stage 4: Attack Neutralization**
* Use extracted codes to disable attack systems
* Terminate malicious processes
* Lock out ENTROPY remote access
* **FLAG 4** confirms neutralization complete
Submit each flag as you find it - we're analyzing the intelligence in real-time."
+ [Any specific tools I should use?] -> tool_recommendations
+ [Got it] -> phone_0x99
=== tool_recommendations ===
"Standard penetration testing toolkit:" #speaker:Agent 0x99
* **nmap** - Service enumeration, NFS discovery
* **showmount** - Display NFS exports
* **mount** - Mount remote filesystems
* **netcat (nc)** - Connect to services, enumerate ports
* **find** - Search for SUID binaries, configuration files
* **sudo -l** - Check sudo permissions
* **ps aux** - Identify running attack processes
* **grep** - Search logs and files for intelligence
"Nothing exotic. Standard tools, executed correctly under time pressure."
+ [Thanks] -> phone_0x99
=== combat_guidance ===
{crisis_choice == "infrastructure":
"Marcus Chen has backup operatives. Hostile NPCs you'll encounter:" #speaker:Agent 0x99
"* **Jake Morrison** (Security Guard) - Armed, aggressive, will attack on sight
* **Elena Rodriguez** (Engineer) - Non-violent, will flee if confronted
* **Thomas Park** (Maintenance) - Will sabotage backup power if you get close
**RECOMMENDATION:** Avoid prolonged combat. Neutralize quickly or bypass. You're on a clock."
}
{crisis_choice == "data":
"You're facing Ghost Protocol and Social Fabric operatives:" #speaker:Agent 0x99
"* **Specter** (Ghost Protocol) - Will escape no matter what, don't chase
* **Rachel Morrow** (Social Fabric) - Non-violent, uses hostages, RECRUITABLE
* **Marcus Webb** (Hacker) - Will shoot if cornered, technical expert
* **Sarah Kim** (Narrative Specialist) - Non-violent, emotionally vulnerable
**RECOMMENDATION:** Minimize violence, focus on recruitment. Rachel is valuable if turned."
}
{crisis_choice == "supply_chain":
"Supply Chain Saboteurs are primarily non-violent technicals:" #speaker:Agent 0x99
"* **Adrian Cross** (Leader) - Non-violent, prefers escape, RECRUITABLE
* **Elena Vasquez** (Code Signing) - Non-violent, will cooperate if Adrian is turned
* **James Park** (Security) - Armed, will shoot if exposed
* **Marcus Chen** (Engineer) - Will flee, technical knowledge useful
**RECOMMENDATION:** Prioritize recruitment over combat. Adrian is valuable long-term asset."
}
{crisis_choice == "corporate":
"You're facing two ENTROPY cells coordinating:" #speaker:Agent 0x99
"* **Victoria Zhang** (Digital Vanguard) - Armed, proficient, RECRUITABLE
* **Marcus 'Shadow' Chen** (Zero Day Syndicate) - Non-violent, will escape
* **Elena Rodriguez** (Hacker) - Non-violent, follows Victoria's lead
* **James Park** (Insider) - Unarmed, will flee
**RECOMMENDATION:** Focus on Victoria recruitment. Marcus always escapes - it's Zero Day Syndicate protocol."
}
+ [Understood] -> phone_0x99
=== intel_locations ===
"Based on ENTROPY communication patterns, high-value intelligence will be in:" #speaker:Agent 0x99
**TOMB GAMMA COORDINATES:**
* Likely on cell leader's personal terminal or workstation
* Look for encrypted communications, coordinate references
* Montana wilderness location - 47°N, 112°W range
**SAFETYNET MOLE EVIDENCE:**
* Email intercepts on compromised servers
* Look for @safetynet.gov addresses in ENTROPY communications
* Subject lines about operation timing, team assignments
**ENTROPY CELL STRUCTURE:**
* Organizational charts, communication logs
* References to "The Professor" or "The Architect"
* Cell coordination methods
"Search the Crisis Terminal room thoroughly after neutralizing the threat. That's where cell leaders operate from."
+ [I'll search thoroughly] -> phone_0x99
=== architect_taunts ===
~ asked_about_architect_taunts = true
"Yeah, The Architect does that. Psychological warfare." #speaker:Agent 0x99
"They're trying to make you question your choice. Make you hesitate. Second-guess yourself."
"**IGNORE THEM.** You made the best tactical decision based on available intelligence. The casualties at other targets - those aren't YOUR fault. They're THE ARCHITECT'S fault."
"Don't let them get in your head. Every second you spend questioning yourself is a second you're not stopping the attack."
{crisis_choice == "infrastructure":
"You chose to save 240-385 lives from the blackout. That's the right call. Focus on that."
}
{crisis_choice == "data":
"You chose to protect democratic institutions. That matters. Don't second-guess it now."
}
{crisis_choice == "supply_chain":
"You chose long-term security. 47 million future victims prevented. Own that choice."
}
{crisis_choice == "corporate":
"You chose economic stability. Millions of jobs protected. That's legitimate, don't let them make you feel guilty."
}
+ [You're right. Staying focused.] -> phone_0x99
=== intel_analysis ===
"Let me check what intelligence you've submitted so far..." #speaker:Agent 0x99
{flags_submitted == 0:
"No flags submitted yet. Get on that VM, 0x00. We need that intelligence to neutralize the attack."
}
{flags_submitted == 1:
"One flag received. Analysis shows: {crisis_choice} attack timeline confirmed, target systems identified. Keep going."
}
{flags_submitted == 2:
"Two flags. We've extracted partial shutdown codes. Need the remaining flags for complete neutralization capability."
}
{flags_submitted == 3:
"Three flags submitted. Almost there. One more and you'll have everything needed to stop this."
}
{flags_submitted == 4:
"All four flags received. Analysis complete. We have full shutdown codes, deactivation sequences, and intelligence on ENTROPY methods."
"Outstanding work. Now use that intelligence to neutralize the threat."
}
+ [Continue] -> phone_0x99
=== post_neutralization ===
"Attack neutralized. Excellent work, 0x00." #speaker:Agent 0x99
"But the mission isn't complete. We need intelligence about ENTROPY's broader operations."
{found_tomb_gamma == false:
"**PRIORITY:** Find Tomb Gamma coordinates. This is The Architect's command center. Critical for future operations against ENTROPY."
}
{found_mole_evidence == false:
"**PRIORITY:** Find evidence of the SAFETYNET mole. Someone inside is feeding The Architect our operational details."
}
{found_tomb_gamma == true and found_mole_evidence == true:
"You've secured both Tomb Gamma location and mole evidence. Outstanding intelligence gathering."
"Prepare for debrief. We need to analyze this immediately."
}
"Search the area thoroughly. Cell leaders always leave intelligence behind - they're human, they make mistakes."
+ [I'll keep searching] -> phone_0x99
+ [Requesting extraction] -> extraction_request
=== extraction_request ===
{crisis_neutralized == false:
"Negative on extraction. Attack is still active. Neutralize the threat first." #speaker:Agent 0x99
-> phone_0x99
}
{crisis_neutralized == true and (found_tomb_gamma == false or found_mole_evidence == false):
"Not yet. We need that intelligence. Tomb Gamma location and mole evidence are critical." #speaker:Agent 0x99
"Take five more minutes. Search thoroughly."
-> phone_0x99
}
{crisis_neutralized == true and found_tomb_gamma == true and found_mole_evidence == true:
"Extraction approved. Transport inbound to your location. ETA 3 minutes." #speaker:Agent 0x99
"Director Morgan wants immediate debrief. You'll be reviewing outcomes from all four operations."
"Prepare yourself. The casualties from unchosen operations... it's going to be tough to process."
"But you did your job. You won YOUR battle. Remember that."
-> END
}
-> END