mirror of
https://github.com/cliffe/BreakEscape.git
synced 2026-02-21 11:18:08 +00:00
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:
197
scenarios/m07_architects_gambit/DEVELOPMENT_STATUS.md
Normal file
197
scenarios/m07_architects_gambit/DEVELOPMENT_STATUS.md
Normal 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)
|
||||
356
scenarios/m07_architects_gambit/ink/m07_architect_comms.ink
Normal file
356
scenarios/m07_architects_gambit/ink/m07_architect_comms.ink
Normal 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
|
||||
444
scenarios/m07_architects_gambit/ink/m07_closing_debrief.ink
Normal file
444
scenarios/m07_architects_gambit/ink/m07_closing_debrief.ink
Normal 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
|
||||
529
scenarios/m07_architects_gambit/ink/m07_crisis_corporate.ink
Normal file
529
scenarios/m07_architects_gambit/ink/m07_crisis_corporate.ink
Normal 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
|
||||
609
scenarios/m07_architects_gambit/ink/m07_crisis_data.ink
Normal file
609
scenarios/m07_architects_gambit/ink/m07_crisis_data.ink
Normal 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
|
||||
@@ -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
|
||||
419
scenarios/m07_architects_gambit/ink/m07_crisis_supply_chain.ink
Normal file
419
scenarios/m07_architects_gambit/ink/m07_crisis_supply_chain.ink
Normal 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
|
||||
289
scenarios/m07_architects_gambit/ink/m07_director_morgan.ink
Normal file
289
scenarios/m07_architects_gambit/ink/m07_director_morgan.ink
Normal 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
|
||||
313
scenarios/m07_architects_gambit/ink/m07_opening_briefing.ink
Normal file
313
scenarios/m07_architects_gambit/ink/m07_opening_briefing.ink
Normal 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
|
||||
350
scenarios/m07_architects_gambit/ink/m07_phone_agent_0x99.ink
Normal file
350
scenarios/m07_architects_gambit/ink/m07_phone_agent_0x99.ink
Normal 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
|
||||
Reference in New Issue
Block a user