Skip to content

.#36

Open
Damian-I wants to merge 1342 commits into
1-bluetooth-lock-system-implementationfrom
main
Open

.#36
Damian-I wants to merge 1342 commits into
1-bluetooth-lock-system-implementationfrom
main

Conversation

@Damian-I

@Damian-I Damian-I commented Mar 9, 2025

Copy link
Copy Markdown
Collaborator

No description provided.

cliffe and others added 30 commits April 24, 2026 02:07
…cility_safe_state and remove historian_reviewed variable
…ll access

- Introduced a new keycard item, "Plant Room Access Badge," to be held by Priya Chandra.
- The badge unlocks Battery Hall 1 and is now collected during the briefing conversation.
- Removed placeholder badge definition from the scenario to streamline item transfer mechanics.
mg-05: Coverage Decision Form minigame for sis03_cyber_insurance
- Removed TODO comments for NPCs and added detailed NPC configurations.
- Updated player sprite and global variables for improved gameplay.
- Enhanced music event triggers for better narrative flow.
- Reorganized objectives and aims with consistent naming conventions.
- Implemented detailed descriptions for evidence and underwriting files.
- Improved NPC event mappings for dynamic interactions.
…ions for tasks; enhance messaging for clarity and context
- Changed coverage decision options from A, B, C to A1, A2, A3 for clarity.
- Updated conditions for war exclusion to use strict equality checks.
- Enhanced Trent Water assessment messaging to reflect new coverage scope inclusion and forensic referral process.
- Added new variable `trent_water_in_scope` to track coverage inclusion status.
…lock conditions, and add puzzle graph roles

- Compiled full Ink dialogue trees for Phone NPCs (Whitworth, Osei, Ngata) and Eleanor Vance.
- Introduced new unlock conditions for tasks related to evidence review and warranty assessments.
- Added puzzle graph roles and aims to various items, enhancing gameplay mechanics.
- Updated placeholder assets and descriptions for better clarity and functionality.
…nd puzzle graph roles

- Added puzzle graph roles and aims to incident notification and forensic exhibits
- Included detailed breakdown of claim quantum and incident timeline in the incident notification
- Expanded IT and OT forensics summaries with critical evidence notes and implications
All content (zones, rules, auth labels, variable names, consequences) is
now driven by scenarioData passed from the scenario JSON rather than
hardcoded. Adds test scenario and updates sis01_healthcare scenarioData
to supply all required fields.
All topology data (nodes, zones, lines, attack paths, external orgs) now
driven by scenarioData passed from scenario JSON. Removes all hardcoded
Albion constants from the JS. Adds startNetworkArchitectureMinigame helper,
wires up interactions.js, updates SIS02 scenarioData with full Albion
topology, and adds Riverside WTW test scenario.
… Assets

- Modified room_hospital_ward.tmj to adjust room data and update object IDs.
- Added new tilemap loading for room_battery_hall and room_control_1x2gu in game.js.
- Updated dungeon_graph.html for m01_first_contact and sis02_energy to include a new Rooms tab and display room connections.
- Adjusted scenario.json.erb to change room types for scada_control_room and battery_hall_1.
- Implemented a new rooms-only graph generation in generate_dungeon_graph.rb.
- Added new audio files for SIS02 Energy scenario in tts_cache.
- Remove hardcoded title/cancelText overrides in constructor so
  scenarioData values are respected
- Add _resumeStateFromGlobals to restore confirmed state on reopen
- Add completionActions support in _onConfirm (set_global, complete_task)
- Warn on unknown tabSet instead of silently falling back to Albion content
- Guard _updateConfirmButton against empty tabs array
- Replace Albion-specific fallback title with generic one
Replace hardcoded label, auth gate global, activation global, status
texts, and completion actions with params read from scenarioData.
Add conditionalActions[] support for ifGlobalFalse/ifGlobalTrue
side-effects. Split activatedText into alreadyActiveText (reopen) and
confirmedText (just pressed) to preserve original behaviour exactly.

Update startEsdPushbuttonMinigame to spread lockable.scenarioData into
params. Migrate all Albion-specific values (marcus_webb_contacted,
esd_activated, rack label, early ESD conditional, task completion)
into sis02_energy/scenario.json.erb.
Read scenarioData directly from lockable in the constructor via
this._sd rather than enumerating every field in the starter.
Starter now just passes lockable, consistent with other starters.
- Added 20 new MP3 files to the tts_cache/sis02_energy directory.
- Each file is a new addition with unique identifiers and varying sizes.
- These files are intended for use in text-to-speech applications.
- Removed unnecessary task completion flag for escalating Bed 4 in Sarah's dialogue.
- Updated JSON structure for NPC Sarah to reflect changes in dialogue flow and task management.
- Adjusted the ICO notification text to align with the scenario context and deadlines.
- Added new notes regarding vendor remote access and internal audit follow-ups to enhance scenario depth.
…andling

- Adjusted battery storage capacity in mission description from 220 MWh to 200 MWh.
- Revised facilitator notes for clarity and updated incident commander responsibilities.
- Modified scenario brief to reflect the correct battery storage capacity.
- Changed RFID badge references for battery hall access.
- Updated NIS notification process to include competent authority alongside NCSC.
- Enhanced hydrogen alarm thresholds and related messaging for accuracy.
- Introduced observation and text variants for dynamic scenario responses.
- Added new schema properties for observation and text variants to support runtime conditions.
- Added claim synthesis section with detailed claims assessments (CLAIM-INS-001, CLAIM-INS-003, CLAIM-INS-008, CLAIM-INS-009) to the scenario.json.erb.
- Updated Eleanor Vance's messages to reflect new insurance logic and claims context.
- Introduced puzzle graph actions for engaging with claims and warranty discussions.
- Revised observations and subtitle in the coverage decision section for clarity.
- Enhanced the attribution brief and underwriting file sections to include assessment flags for claims.
- Improved validation script to enforce top-level 'startRoom' field requirement and prevent nesting under 'player'.
- Updated dungeon graph generation script to include room contents and NPCs, enhancing the visual representation of the scenario.
- Added zoom and fullscreen functionality to the dungeon graph HTML output for better usability.
Move all lamp definitions, panel title, and footer out of the hardcoded
JS LAMPS array and into the alarm_panel object in scenario.json.erb.
The minigame now reads these from scenarioData via params.lockable.
Move all hardcoded content out of ncsc-brief-minigame.js into the
ncsc_brief_envelope object in SIS03's scenario.json.erb: gateVar,
reviewedVar, caseRef, envelope messages, briefTitle, briefMeta, and
all five content sections via a typed block renderer (section,
legal-gap, coverage-note).
Remove the hardcoded ELEANOR_OUTCOMES constant, all four form sections,
the policy ref, claims manager, global var names, and outcome speaker
label from the JS. All content now comes from top-level fields on the
coverage_decision_form scenario object: sections[], completionActions[],
outcomeQuotes{}, headerRef, claimsManager, openVar, and outcomeQuoteSection.

completionActions[] supports fixed values, raw section value pass-through,
and boolean equality checks (equalsValue) — preserving the original
war_exclusion_invoked and trent_water_in_scope boolean semantics.

Also moves the close button into the footer
Replace Press Start 2P and VT323 with Courier New throughout. Make the
minigame full-screen. Remove max-width constraint on the paper. Align
letterhead and footer palette to #1a233a/#334466. Move submit into the
paper header, close into a bottom bar matching CDF/FDP convention.
- Introduced a comprehensive dungeon graph in markdown format for the sis01_healthcare scenario.
- Included scenario statistics, critical path, and detailed diagrams for puzzle graph, story aims, integrated story and puzzle, room layouts, and room contents.
- Enhanced visual representation using Mermaid diagrams to illustrate dependencies, objectives, and room connections.
- Updated scenario JSON files for sis02_energy and sis03_cyber_insurance to change "show_scenario_brief" from "on_start" to "on_resume" for better user experience.
- Enhanced the `render_erb_to_json` method to optionally return the rendered JSON string alongside the parsed JSON object.
- Implemented a new method `top_level_key_counts` to detect duplicate top-level keys in the rendered JSON, specifically checking for "show_scenario_brief".
- Added validation logic in `check_common_issues` to warn about potential conflicts between opening timed conversations and the scenario brief display settings.
- Updated suggestions for adding opening briefing cutscenes to reflect new requirements for timed conversations.
cliffe added 30 commits June 23, 2026 19:09
…ing in flag submission, and improve station ID assignment
…ailure

- Introduced the "Lockpick Gauntlet" scenario with detailed mission structure, objectives, and room layouts.
- Implemented two phases: lockpicking through a series of doors and key selection in key rooms.
- Added a comprehensive testing walkthrough for the "Critical Failure" scenario, covering prerequisites, aims, steps, and testing checklist.
…d JSON file. Changed "General mission advice" to "Got any general advice?" for improved clarity and engagement.
… files

- Updated physical lock count from 19 to 18 in dungeon_graph.html and dungeon_graph.md.
- Adjusted puzzle graph nodes/edges count from 59/64 to 58/64 in both files.
- Renamed "Lock Emergency Storage Safe" to "Emergency Storage Safe" in dungeon_graph.html and dungeon_graph.md.
- Updated references to the emergency storage safe in scenario.json.erb to match the new naming convention.
- Added a room geometry check in validate_scenario.rb to prevent overlapping room layouts.
- Updated the scenario layout for m02_ransomed_trust to clarify room connections and roles.
- Introduced a narrator configuration with a defined voice profile for enhanced storytelling.
- Changed the task type for the press terminal decision to 'manual' for better gameplay mechanics.
- Added a new NPC for the Hospital Comms Terminal with specific attributes and behaviors.
- Modified patrol and line of sight parameters for improved NPC interactions.
- Enhanced the validate_scenario script to check for narrator usage in ink files and ensure a corresponding narrator voice is defined, preventing silent narration.
…spital scenario

- Introduced new aim "Unmask the Inside Asset" with tasks for gathering evidence and identifying the insider.
- Added global variables to track evidence and identification status of the inside asset.
- Implemented event triggers for completing tasks related to the inside asset.
- Created new NPCs: a roaming ward nurse and a night security supervisor, with specific behaviors and interactions.
- Updated existing documents and notes to include clues about the insider's identity and actions.
- Introduced a new lab workstation for the SAFETYNET Field Guide: Scanning and Exploitation.
- Added event mapping to offer the scanning and exploitation guide when interacting with the VM launcher.
- Updated global variables to track the offering and requesting of the scanning exploitation guide.
- Enhanced validation script to ensure NPC knockout resilience for required tasks, preventing potential mission soft-locks.
- Updated display name for NPCs to "Agent HaX" for consistency.
- Changed sprite sheet for the opening briefing NPC to "female_spy" and added talking sprite.
- Adjusted sprite configuration for idle and walk animations.
- Added voice attributes for NPCs, specifying accent, pitch, and urgency for mission briefings.
- Updated avatar for phone agent to match the new character design.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants