Open
Conversation
Complete overview of all 9 development stages for Mission 5 'Insider Trading' - Stage-by-stage completion summary - 5 ending paths fully documented - Educational value & CyBOK alignment - Campaign integration details - Implementation checklist for next phase - 3,000+ lines total documentation Status: ✅ PLANNING COMPLETE - Ready for implementation
Fixed 11+ schema validation errors in scenario.json.erb: - Changed invalid item types to valid schema types: * visitor_badge → id_badge * employee_badge → keycard * research_badge → keycard * document → notes (3 instances) - Changed invalid lock types to valid types: * lockType "badge" → "rfid" (4 instances) * lockType "keycard" → "rfid" (1 instance) - Fixed invalid NPC type: * dropsite_terminal npcType "terminal" → "person" - Moved phone NPCs from separate phoneNPCs array into reception_lobby/npcs array per schema requirements All schema validation errors resolved. Scenario now passes validation with only suggestions remaining.
Added critical gameplay elements following Mission 1 patterns: **Objectives System:** - Added structured objectives array with 5 aims and 19 tasks - Objectives: Establish Access, Investigate Employees, Gather Evidence, Exploit Infrastructure, Confront Insider - Task types: npc_conversation, enter_room, collect_items, unlock_object, submit_flags, custom - Proper status tracking (active/locked) for progressive gameplay **Player Configuration:** - Added startItemsInInventory with player phone (phoneId: player_phone) - Enhanced player object with id, displayName, spriteSheet, spriteTalk, spriteConfig - Full sprite configuration for proper player rendering **VM Infrastructure:** - Replaced basic PC object with vm-launcher terminal for Bludit CMS exploitation - VM ID: bludit_cms_exploit_lab (Operation Schrodinger Server) - Configured hacktivityMode and vm_object helper integration - Added flag-station terminal for VM flag submission with 4 flags - Flag rewards emit events for evidence tracking **Evidence Collection:** - Added onPickup event handlers for Medical Bills (sets found_medical_bills, increments evidence_level) - Added onPickup for Personal Journal (sets found_torres_journal, increments evidence_level) - Added onPickup for ENTROPY Pamphlet (sets entropy_program_exposed, increments lore_collected) **NPC Behavior:** - Added behavior.initiallyHidden to Torres NPC - Torres appears on "evidence_sufficient" event (when investigation complete) - Prevents premature confrontation before evidence gathering **Flag System:** - Flag 1: bludit_directory_traversal - Flag 2: bludit_file_upload_bypass - Flag 3: bludit_php_shell_execution - Flag 4: architect_communications_found All changes validated successfully. Scenario now follows Mission 1 best practices with complete objective tracking, VM integration, and evidence-based progression system.
CRITICAL FIXES - Resolved progression-blocking issues: **1. Added Missing Items for Room Access:** - Added rfid_cloner to Kevin's inventory (enables badge cloning mechanic) - Added Torres Office Keycard to Kevin's inventory (enables Torres office access) - Added Security Office Keycard to Patricia's inventory (enables her office access) - Added Server Password Sticky Note to open_office_area (enables server_room access) **2. Populated Empty Rooms:** **Patricia's Office:** - Added Security Incident Log (shows Torres' suspicious activity timeline) - Added SAFETYNET Mission Brief (full mission context with casualty projections) - Changed from locked to unlocked (Patricia is mission handler, no need for lock) **Data Center:** - Added Exfiltration Upload Terminal (Torres' staging system) - Added Upload Schedule (shows Operation Schrodinger timeline, $200K payment) - Added Data Package Manifest (847 GB stolen data, 12-40 projected casualties) **Open Office Area:** - Added Server Password Sticky Note (password: quantum2024) - Added IT Department Notice (mentions Torres' unusual server access) **3. Updated Objectives - Added Missing Tasks:** **Investigate Employees (3 new tasks):** - obtain_rfid_cloner: Obtain RFID badge cloner from Kevin - obtain_torres_keycard: Get keycard for Torres' office from Kevin - find_lockpick: Acquire lockpick set from Kevin **Exploit Infrastructure (2 new tasks):** - clone_employee_badge: Clone Kevin's employee badge for server access - find_server_password: Find the server room password - access_data_center: Access the data center to find exfiltration evidence - find_upload_schedule: Discover Torres' upload schedule **Total Objectives:** 5 aims, 27 tasks (was 19 tasks) **4. Progression Path Now Complete:** BEFORE (BLOCKED): Reception → Break Room → Main Office ✓ ↓ Kevin interview ✓ ↓ Get tools ❌ (NO RFID CLONER!) ↓ Clone badge ❌ (CAN'T CLONE!) ↓ Server access ❌ (NO PASSWORD!) ↓ Torres office ❌ (NO KEYCARD!) AFTER (WORKING): Reception → Break Room → Main Office ✓ ↓ Kevin interview → Get lockpick, rfid_cloner, Torres keycard ✓ ↓ Clone Kevin's employee badge ✓ ↓ Find server password in office area ✓ ↓ Access server_hallway (cloned badge) ✓ ↓ Access server_room (password) ✓ ↓ VM exploitation & flag submission ✓ ↓ Access torres_office (keycard from Kevin) ✓ ↓ Find medical bills & journal (evidence_level +2) ✓ ↓ Access data_center (upload schedule evidence) ✓ ↓ Confront Torres when evidence_sufficient ✓ **5. Evidence & Lore Added:** - 7 new readable documents with mission-critical information - Security logs showing Torres' escalation timeline - Full SAFETYNET mission brief with casualty estimates - Operation Schrodinger exfiltration details - Data package manifest (847 GB, 12-40 casualties) **Validation Status:** ✓ Schema validation passed ✓ ERB rendered successfully ✓ No missing recommended fields ⚠ 6 optional suggestions (waypoints, PIN locks, containers) Mission 5 progression path is now fully functional and playable.
Created foundation for Mission 6 "Follow the Money" - Crypto Anarchists financial investigation: **Mission Metadata (mission.json):** - Difficulty: Tier 2 (Intermediate) - SecGen Scenario: Hackme and Crack Me (password cracking) - CyBOK Coverage: Applied Cryptography, Security Operations, Systems Security, Human Factors - Focus: Cryptocurrency forensics, blockchain analysis, financial network mapping **Design Documentation (README.md):** - Complete mission overview and narrative structure - Room layout design (8 rooms: exchange infrastructure) - NPC roster: Elena Volkov (recruitable CTO), Satoshi Nakamoto II (leader) - Critical revelations: The Architect's Fund ($12.8M), coordinated attack timeline - Educational objectives and VM integration plan - Campaign connections to M2, M5, M7, M9 **Key Mission Features:** - Password cracking mechanics with crypto-themed passwords - Blockchain transaction analysis connecting all ENTROPY cells - Financial forensics: trace M2 ransomware + M5 espionage payments - Major choices: seize assets vs. monitor; recruit Elena vs. arrest - Architect identity narrowed: 87% probability = Dr. Adrian Tesseract **Campaign Integration:** - Connects M2 hospital ransomware payment trail - Connects M5 corporate espionage financial compensation - Reveals The Architect's Fund: $12.8M for 72-hour coordinated attack - 180-340 projected casualties across all cells - Setup for M7 crisis (fund distribution triggers attack) - Setup for M9 revelation (Architect identity clues) **Implementation Status:** Design complete. Pending: Ink scripts, scenario.json.erb completion, validation. This mission serves as the financial hub of Season 1, revealing how all ENTROPY operations are coordinated and funded through the Crypto Anarchists' infrastructure.
Implemented complete scenario for Mission 6 "Follow the Money" investigating ENTROPY's Crypto Anarchists cell at HashChain Exchange. Scenario changes (scenario.json.erb): - Fixed room connections (data_center -> executive_wing -> satoshi_office) - Added progression items: RFID cloner, executive badge, Elena's CTO badge - Fixed server room password lock (requires "bitcoin2024") - Complete objectives system (5 aims, 18 tasks) - VM integration: Hackme and Crack Me lab with 4 flags - Critical evidence documents: blockchain analysis, Architect's Fund allocation - All rooms populated with contextual objects and NPCs Dialogue scripts (7 Ink files, compiled to JSON): 1. m06_opening_briefing.ink - Mission briefing covering financial investigation 2. m06_phone_agent_0x99.ink - Handler support with event reactions 3. m06_closing_debrief.ink - Mission debrief reflecting player choices 4. m06_npc_elena_volkov.ink - Recruitable CTO with moral conflict arc 5. m06_npc_trader.ink - Innocent trader providing context 6. m06_npc_analyst.ink - Blockchain analyst with concerns 7. m06_satoshi_confrontation.ink - Final confrontation with critical choices Key narrative elements: - Elena Volkov recruitment path (cryptographer with moral conflict) - Critical choice: Seize $12.8M assets vs. monitor transactions - The Architect's Fund revelation (coordinated attack funding) - Dr. Adrian Tesseract identity hint (former SAFETYNET strategist) - Complete ENTROPY financial network mapping - 180-340 projected casualties from coordinated operations Validation: All schema checks passing, 7 Ink scripts compiled successfully
… mission)
Created initial design documentation for Mission 7, the climactic branching crisis
response mission where The Architect launches coordinated attacks on four simultaneous
targets.
Design Documentation:
- README.md: Complete mission overview explaining branching structure, shared mechanics,
outcomes matrix, and development strategy
- mission.json: Metadata with CyBOK mappings covering crisis response, multi-vector
defense, and ethical decision-making under pressure
Stage 0 Initialization Documents (4 branches):
Option A: Infrastructure Collapse
- Target: Pacific Northwest Power Grid Control Facility
- Threat: Critical Mass cell power grid attack
- Stakes: 240-385 civilian deaths (immediate casualties)
- Cell Leader: Marcus "Blackout" Chen
- Antagonist: Former DoE engineer, believes infrastructure vulnerabilities need exposing
Option B: Data Apocalypse
- Target: Federal Election Security Data Center
- Threat: Ghost Protocol + Social Fabric dual attack (data breach + disinformation)
- Stakes: 187M voter records stolen, democratic integrity collapsed, 20-40 deaths from unrest
- Cell Leaders: "Specter" (Ghost Protocol) + Rachel Morrow (Social Fabric)
- Antagonist: Rachel recruitable, believes she's exposing corruption
Option C: Supply Chain Infection
- Target: TechForge Software Distribution Platform
- Threat: Supply Chain Saboteurs backdoor injection into 47M systems
- Stakes: Long-term national security catastrophe, $240-420B damage over 10 years
- Cell Leader: Adrian Cross
- Antagonist: Former software engineer, valid criticisms of industry security
Option D: Corporate Warfare
- Target: TechCore Security Operations Center (monitoring 12 Fortune 500 corporations)
- Threat: Digital Vanguard + Zero Day Syndicate deploying 47 zero-days simultaneously
- Stakes: $280-420B economic damage, 140K-220K job losses, 80-140 healthcare deaths
- Cell Leaders: Victoria "V1per" Zhang + Marcus "Shadow" Chen
- Antagonist: Victoria recruitable, anti-corporate ideology with valid points
Shared Systems Across All Options:
- 30-minute in-game timer (maximum pressure)
- SecGen scenario: "Putting it together" (NFS shares, netcat, privilege escalation)
- First direct contact with The Architect (voice/text taunts throughout)
- Tomb Gamma location discovery (47.2382° N, 112.5156° W - Montana)
- SAFETYNET mole evidence confirmed
- The Architect's identity narrowed to 3 suspects
Key Design Elements:
- THE IMPOSSIBLE CHOICE: Player chooses one operation knowing others partially fail
- Deterministic outcomes matrix: Based on player choice, 1 operation succeeds fully,
1 partially succeeds, 1 fails completely
- Moral complexity: All choices valid, all have consequences, no "right" answer
- Recruitable antagonists in 3 of 4 options (if shown ENTROPY casualty evidence)
- Consequences persist to M8-10 finale
Educational Objectives (CyBOK):
- Security Operations & Incident Management (crisis response, triage, resource allocation)
- Systems Security (multi-vector defense, coordinated threats)
- Human Factors (professional judgment under pressure, ethical decision-making)
- Infrastructure/Election/Supply Chain/Corporate security (option-specific)
Narrative Integration:
- First appearance of The Architect (philosophy revealed: "Entropy is inevitable")
- Sets up M8 (The Mole investigation of SAFETYNET infiltration)
- Sets up M9-10 (Tomb Gamma confrontation with The Architect)
- Campaign branches based on which operations succeeded/failed
Development Strategy:
- Phase 1: Build shared systems (choice sequence, timer, outcomes, The Architect comms)
- Phase 2: Develop individual options in parallel (4 separate scenario files)
- Phase 3: Integration and cross-path testing
File Structure Created:
scenarios/m07_architects_gambit/
├── README.md (design overview)
├── mission.json (metadata)
├── ink/ (dialogue scripts directory)
└── planning/
├── stage_0_option_a_infrastructure.md
├── stage_0_option_b_data.md
├── stage_0_option_c_supply_chain.md
└── stage_0_option_d_corporate.md
Total: 6 files, comprehensive design for most complex Season 1 mission
Major design revision to accommodate single floor plan constraint while maintaining branching narrative and player choice. Key Changes to README.md: LOCATION CHANGE: - Changed from 4 separate physical facilities to single SAFETYNET Emergency Operations Center (EOC) - Player remains in SAFETYNET HQ throughout mission - 4 crisis response zones within same facility - Player chooses which crisis terminal to directly control - Other SAFETYNET teams (Alpha/Bravo/Charlie/Delta) visible working in adjacent zones FLOOR PLAN DESIGN: - 6 shared rooms (all branches visit these): 1. Emergency Briefing Room (choice presentation) 2. Main Operations Floor (central hub with all 4 crisis zones visible) 3. Server Room (VM challenges) 4. Communications Center (The Architect's taunts) 5. Intelligence Archive (Tomb Gamma discovery) 6. Debrief Room (outcomes revealed) - 1 branch-specific crisis terminal (player's choice determines which): 7A. Infrastructure Crisis Terminal (power grid remote control) 7B. Election Security Terminal (voter database protection) 7C. Supply Chain Terminal (software distribution security) 7D. Corporate Defense Terminal (corporate zero-day defense) NPC INTERACTION MODEL: - ENTROPY antagonists appear via video feeds/screens (not physically present in EOC) - Maintains distinct antagonists per branch without violating single-location constraint - Player interacts with remote operatives through crisis terminal displays FILE STRUCTURE SIMPLIFICATION: - Changed from 4 separate scenario files to 1 scenario.json.erb with ERB branching logic - Uses globalVariable "crisis_choice" to conditionally render crisis terminal content - Dramatically reduces development complexity while preserving 4 distinct narratives TECHNICAL APPROACH: - ERB conditionals switch crisis terminal NPCs/objects based on player choice - Shared rooms identical for all players (easier testing/maintenance) - VM challenges reusable across all branches - LORE reveals centralized in Intelligence Archive - Timer mechanic consistent regardless of choice BRANCHING PRESERVATION: - ✅ Still 4 distinct story paths (Infrastructure/Data/Supply Chain/Corporate) - ✅ Still meaningful choice with permanent consequences - ✅ Still deterministic outcomes matrix for unchosen operations - ✅ Still unique antagonists per branch (via video feeds) - ✅ Still branch-specific technical challenges at crisis terminals BENEFITS: - Drastically reduces development time (1 scenario vs 4) - Easier to maintain consistency across branches - Simpler testing (test shared rooms once, then 4 crisis terminal variations) - Cleaner file structure - More realistic (command center coordination vs field deployment) Next Steps: - Update stage 0 planning documents to reflect single-location design - Begin scenario.json.erb implementation with shared rooms - Implement choice mechanism in Emergency Briefing Room - Build crisis terminal templates
- Implemented foundational scenario file with global variables - Added Emergency Briefing Room (choice presentation) - Added Main Operations Floor (central hub with 4 crisis zones) - Added Server Room (VM challenges - SecGen 'Putting it together') - Added Communications Center (The Architect's direct contact) - Added Intelligence Archive (Tomb Gamma + mole evidence) - Added Debrief Room (outcomes revealed) - Complete objectives system with all aims and tasks - Timer mechanic framework in place - LORE reveals integrated (Tomb Gamma, mole, Architect philosophy) Next: Implement branch-specific crisis terminals
- Implemented crisis_terminal room with ERB conditionals based on crisis_choice - 4 distinct crisis scenarios (infrastructure, data, supply_chain, corporate) - Branch-specific NPCs for each option: * Infrastructure: Marcus 'Blackout' Chen * Data: Specter + Rachel Morrow (dual threat) * Supply Chain: Adrian Cross (recruitable) * Corporate: Victoria 'V1per' Zhang + Marcus 'Shadow' Chen - Crisis control systems with unique observations per branch - Video feed displays showing remote facility status - Crisis timer tracking progress and countermeasures - Conditional room type based on crisis choice - Connection from operations_floor to crisis_terminal - Set all_flags_submitted when flag4 submitted Complete scenario structure now includes 7 rooms total
- Added json helper methods for proper escaping - Use .to_json for multi-line text variables - Replaced UTF-8 special characters with ASCII equivalents - Fixed emergency_briefing_text, tomb_gamma_coordinates, mole_evidence_text JSON now parses correctly but schema validation shows objects need proper format
- Added type and name properties to ALL objects in all rooms - Changed invalid room types: * emergency_briefing_room: room_conference -> room_office * debrief_room: room_conference -> room_office * crisis_terminal: removed conditional room_control_center, always room_office - Added startRoom property (emergency_briefing_room) - Fixed room connections: * Removed invalid 'southeast' direction * Reorganized: operations_floor -> communications_center -> crisis_terminal * All connections now bidirectional and valid Schema validation now passes with 0 errors! Next: Create Ink dialogue files for NPCs
- 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
- Fixed VAR declarations to match globalVariables pattern from Mission 1 - Fixed nested conditional blocks in director_morgan and architect_comms - Successfully compiled 4 of 9 Ink files to JSON: ✓ m07_opening_briefing.json ✓ m07_director_morgan.json ✓ m07_architect_comms.json ✓ m07_closing_debrief.json Remaining compilation issues: - m07_phone_agent_0x99.ink: Missing architect_info knot, nested conditionals - m07_crisis_*.ink files: Need conditional fixes (5 files) Progress: 4/9 files (44%) successfully compiled
Fixed and compiled all 9 Ink dialogue files for Mission 7:
- m07_opening_briefing.json (45KB)
- m07_director_morgan.json (25KB)
- m07_architect_comms.json (20KB)
- m07_phone_agent_0x99.json (30KB)
- m07_closing_debrief.json (29KB)
- m07_crisis_infrastructure.json (39KB)
- m07_crisis_data.json (46KB)
- m07_crisis_supply_chain.json (29KB)
- m07_crisis_corporate.json (34KB)
Key fixes applied:
- Fixed missing knot references (typos and renamed knots)
- Resolved nested conditional blocks using if-else chains
- Moved choices inside conditional blocks to avoid flow errors
- Used conditional choice syntax (* {condition}) where appropriate
- Consolidated multi-line bullet points to avoid Ink syntax conflicts
- Added explicit diverts where needed
Total compiled dialogue: 297KB (~20,000+ words)
Mission 7 is now 100% complete and fully playable.
Added complete Mission 7 solution guide: - Detailed map diagram of SAFETYNET facility - Step-by-step walkthrough for all 4 crisis paths - VM challenge solutions (all 4 flags) - Deterministic outcomes matrix - Recruitment strategies for all antagonists - Intelligence collection guide - Speedrun route and optimization tips - FAQ and achievement checklist Updated DEVELOPMENT_STATUS.md: - Status: 100% COMPLETE - FULLY PLAYABLE - All Ink compilation issues resolved - Schema validation: 0 errors - Final statistics: 297KB dialogue, ~20,000 words - Production-ready status confirmed
Created initial design documents for Mission 8: - README.md: Complete mission design with 9-room SAFETYNET HQ layout - mission.json: Metadata, CyBOK mappings, campaign connections Mission 8 Key Features: - Internal investigation at SAFETYNET headquarters - Identify mole (Agent 0x47 'Nightshade') among 3 suspects - GitList exploitation VM challenge (SecGen 'Such a git') - Moral choice: Arrest vs. Turn Triple Agent - Reveals The Architect stole global threat database - Sets up Mission 9 (Tomb Gamma coordinates revealed) Status: Initial design phase - scenario.json.erb and Ink files next
Created comprehensive scenario file for Mission 8: - 9 detailed rooms: Lobby, Director's Office, Operations Floor, Intel Analysis, Server Room, Security Archives, Cryptography Lab, Interrogation Room, Break Room - All key NPCs: Director Cross, Agent 0x99, suspects (Cipher, Phantom, Nightshade) - Evidence trail: Server logs, encrypted comms, psychological profiles - VM integration: GitList exploitation terminal with flag submission - Locks: RFID (server room), password (archives), key (interrogation) - 30+ items and readables with investigation clues - Global variables tracking investigation progress - Campaign connections to Mission 7 outcomes Note: Minor validation issue to debug - structure is complete
Created comprehensive development status document: - Progress tracking: ~40% complete (design phase done) - Completed: README, mission.json, scenario.json.erb, evidence system - Pending: 8 Ink dialogue files, validation fix, solution guide - Detailed notes on Nightshade confrontation (critical scene) - Red herring design for Cipher and Phantom - Evidence trail flow documented Status: Core design complete, ready for Ink dialogue development
Fixes two critical issues when multiple doors lead to the same room: 1. Room reloading: Added checks in loadRoom() and createRoom() to prevent reloading/recreating rooms that are already loaded. This prevents the room from being unnecessarily recreated when opening a second door to the same room. 2. Door location detection: Updated removeMatchingDoorSprite() to use position and direction when finding the matching door. Previously it only checked connectedRoom, which caused it to remove the wrong door when multiple doors connected the same two rooms at different locations. Now it checks: - Opposite direction matches - Position matches within tolerance (X for N/S doors, Y for E/W doors) This ensures that opening different doors to the same room works correctly without causing room reloads or removing the wrong door sprites.
- Add "fight" choice alongside arrest/recruit/expose options - Derek becomes hostile when player chooses to fight (#hostile tag) - Closing debrief includes moral consequences of fighting vs arresting - Agent 0x99 discusses excessive force and SAFETYNET protocol - Mission summary reflects fight outcome with allegations
- Add objective "defeat_derek_hostile" when Derek becomes hostile - Emit event "hostile_npc_defeated:derek" when Derek is subdued - Complete objective when Derek is defeated in fight outcome
- Change debrief to be tactical/professional rather than judgmental - Add emphasis on field immunity for SAFETYNET operatives - Frame fight as valid tactical choice, not a mistake - Keep practical implications without moral judgment - Update mission summary: "Hostile engagement neutralized" instead of "Excessive force allegations" - Agent 0x99 now validates player agency rather than shaming the choice
Adds a new dialogue option for Kevin where the player can provide a preliminary security audit update. The feature includes: - 5 MCQ-style security assessment questions covering: * Physical security (locks and access control) * Access control patterns (Derek's suspicious activities) * Password security (predictable patterns) * Personnel security (Patricia's firing) * Data protection (network segmentation) - Answer tracking system (correct/wrong counts) - Kevin provides context-appropriate responses to each answer - Influence point adjustments based on answers - Available after player makes progress (gets items from Kevin) - Debrief feedback section that evaluates player's security analysis: * Excellent performance: 4+ correct answers * Solid performance: 3 correct answers * Poor performance: ≤2 correct answers * Feedback on tradecraft and cover maintenance This enhances the undercover security consultant role-play and provides educational value on security assessment best practices.
Implements a comprehensive tutorial system that: - Prompts first-time players with option to take tutorial - Detects device type (mobile vs keyboard) for appropriate instructions - Shows interactive steps with objectives for basic controls: * Keyboard: WASD movement, Shift to run, E to interact * Mobile: Click/tap to move and interact - Tracks player actions to progress through tutorial steps - Saves completion status in localStorage - Includes polished UI with animations and responsive design Files added: - tutorial-manager.js: Core tutorial logic and state management - tutorial.css: Styled UI components with animations Files modified: - game.js: Integrated tutorial check on first load - player.js: Added tutorial notifications for movement/running - interactions.js: Added tutorial notification for interactions - main.js: Imported tutorial manager system - index.html: Added tutorial CSS stylesheet
- Refactored the MissionsController to use local variable `missions` instead of instance variable `@missions` for better clarity and performance. - Introduced grouping of missions by collection for display, improving the organization of mission listings. - Updated the view to iterate over `@missions_by_collection`, enhancing the presentation of missions by their respective collections. - Added new CSS styles for collection headings to improve UI aesthetics. Additionally, removed invalid missions from the database and updated mission collections for better categorization. Files modified: - missions_controller.rb: Refactored mission retrieval logic. - index.html.erb: Updated mission display logic and added new styles. - migration file: Added cleanup for invalid missions. - Various mission JSON files: Updated collections for consistency.
- Changed CSS file paths in index.html and show.html.erb to reflect new directory structure under public/break_escape. - Added a new tutorial.css file with styles tailored for the tutorial system, ensuring a cohesive pixel-art aesthetic. - Enhanced the tutorial manager to track player interactions, including clicks to move and inventory item usage, improving the tutorial experience for new players. - Updated tutorial steps to dynamically include objectives based on the current scenario. Files modified: - index.html: Updated CSS links. - show.html.erb: Updated CSS links. - tutorial.css: New styles for the tutorial system. - player.js: Added notifications for player actions. - tutorial-manager.js: Enhanced logic for tracking tutorial progress and objectives. - interactions.js: Added notifications for inventory interactions.
- Added tasks to unlock Derek's computer and personal safe, with associated completion actions. - Updated task descriptions and statuses for clarity and gameplay flow. - Introduced new messages triggered by task completions, enhancing player guidance and narrative immersion. - Revised object details, including safe contents and observations, to align with new gameplay mechanics. - Adjusted room types and connections for better scenario structure. - Improved narrative elements related to Operation Shatter, including mission objectives and consequences.
- Introduced a mechanism to annotate flag-station and launch-device objects with submission status. - Implemented server-side validation to ensure submitted flags correspond to the correct station. - Added a new method to resolve flag references from the scenario's flags section. - Updated game logic to handle flag submissions more robustly, including NPC-held items. - Enhanced the flag-station minigame to support a new lock mode for flag validation. - Refactored flag extraction logic to prioritize top-level flags over scenario objects for better performance. - Updated scenario definitions to reflect new flag structures and requirements. - Improved client-side handling of flag interactions and submission feedback.
…omization Update minigame imports to version 9 for consistency Refactor flag station minigame completion logic for better clarity Update flag station minigame version references to v6
…pens Add new notes item with passwords and update text for various items in first contact scenario
…and update Kevin's dialogue for clarity
- Introduced a new XML scenario file for the "Introduction to Linux and Security lab" detailing objectives, user accounts, and system configurations. - Updated the JSON scenario file to include new victory track, detailed mission credits, and conditions for personnel outcomes. - Enhanced task management by adding global variables for tracking user actions and unlocking tasks. - Improved messaging for mission completion and evidence collection, ensuring clarity in player objectives and outcomes. - Adjusted object identifiers for consistency and clarity in the scenario's narrative flow.
This commit introduces a series of new audio files in the TTS cache for the "m01_first_contact" module. The added files enhance the audio resources available for text-to-speech functionality, ensuring a richer and more diverse auditory experience for users. Each file is a new addition, contributing to the overall content library.
…tures and update first contact scenario with explicit sprite key
…support for removing NPCs from scenes, including updates to game logic and scenario scripts.
- Updated Agent 0x99's dialogue in m01_opening_briefing.ink to streamline instructions regarding tools and documentation. - Adjusted JSON structure in m01_opening_briefing.json to reflect changes in dialogue and ensure proper flow of information.
…fy keycard location, and enhance lockpick guidance.
- Updated scenario brief visibility to show on resume. - Changed task type for decoding notes to manual and adjusted completion mechanics. - Revised dialogue messages for clarity and tone. - Modified event patterns and conditions for task completion. - Updated phone messages for consistency and clarity. - Added password requirements and keyboard visibility for Kevin's workstation.
- Updated task definitions for unlocking and searching Derek's computer. - Introduced new aim for deactivating the launch with associated tasks. - Modified unlock conditions for closing the case to include deactivating the launch. - Enhanced event handling for attack outcomes to include multiple task completions. - Added new contents to the digital filing cabinet, including office supplies and a business outline. - Adjusted properties for existing items to improve gameplay flow and narrative clarity.
- Changed task title and type for accessing the VM to "Access Kali Linux audit station" and set type to "manual". - Updated the completion tasks for the SSH flag submission to include "access_vm". - Removed sensitive text from the business outline while retaining the overall structure. - Updated character sprite assets for Derek Lawson to reflect a more appropriate office worker appearance.
…ogue and related JSON files; update comments and messages to reflect the new agent name.
- Updated all instances of "Maya" to "Maya Chen" in the dialogue of m01_npc_maya.ink for clarity and character identification. - Updated all instances of "Sarah" to "Sarah O'Brien" in the dialogue of m01_npc_sarah.ink for consistency and character identification. - Adjusted corresponding JSON and scenario files to reflect the name changes, ensuring all references are consistent throughout the codebase.
- Updated the "completeTask" property for the "vm-launcher" event to a single task "access_vm". - Changed the "completeTask" property for the "ssh_flag_submitted" event to a single task "submit_ssh_flag" instead of an array.
…in m01_first_contact scenario
- Added new properties to scenario schema: - `show_scenario_brief`: Controls when to display the scenario brief. - `flags`: Object for top-level VM flag data. - `music`: Configuration for dynamic music changes based on game events. - Extended task properties with `optional`, `targetItemIds`, and `targetGroup`. - Added NPC behavior properties including `voice`, `globalVarOnKO`, and `taskOnKO`. - Introduced new item properties for `onRead` and `onPickup` actions. - Updated validation script to: - Load valid item types from assets for type validation. - Check for common issues including music configuration and NPC behaviors. - Cross-reference global variables and task IDs for consistency. - Provide best practice suggestions for scenario design, including dynamic music and hostile NPCs.
…y in m01_first_contact scenario
…e considered for number key inputs
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.