Skip to content

.#36

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

.#36
Damian-I wants to merge 1351 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 11:17
…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.
- Added timed messages for key events in the SIS02 energy scenario to improve narrative flow and player guidance.
- Updated observations in the scenario to include additional context for log analysis.
- Introduced new puzzle graph unlocks and roles to enhance gameplay mechanics and player engagement.
- Enhanced the validation script to check for proper placement of #give_item tags in Ink files, ensuring item transfers occur correctly.
- Added cross-referencing for #give_item types to ensure they match items in NPC's itemsHeld array, preventing silent failures at runtime.
… item

- Changed note type from "notes2" to "notes" for NIS Notification Form.
- Removed the decorative atmosphere item for the Shift Supervisor Laptop.
- Updated Facility Status Board type from "smartscreen" to "screens".
…x2gu.tmj; enhance title screen minigame safety timer logic
…sound, and change password requirements

- Changed Priya Chandra's sprite to female_scientist and updated associated talk image.
- Removed ambient sound and volume settings from SCADA Control Room.
- Updated the password requirement for the locked door to a static value "Albion2024!".
- Changed the type of an object from pc to emergency-button for better clarity in interactions.
cliffe added 30 commits June 25, 2026 10:27
…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.
… scenario

- Added dialogue regarding ENTROPY's previous operations to deepen narrative context.
- Updated character sprites and configurations for improved visual consistency.
- Adjusted NPC types and behaviors to reflect in-person interactions instead of phone calls.
- Enhanced mission objectives and recovery instructions for clarity and urgency.
- Added a new variable `showed_empathy` to track player engagement with patients.
- Modified nurse dialogue to provide different responses based on player empathy.
- Updated JSON representation of the nurse's dialogue to reflect new empathy logic.
- Introduced new variables in scenario JSON for tracking board advice decisions.
…d encrypted workstation objects for gameplay mechanics
- Restructured the opening briefing to enhance player engagement with a question-hub format.
- Updated dialogue for Agent HaX to provide clearer context and urgency regarding the ransomware attack.
- Introduced new variables to track player inquiries about the stakes and connections to ENTROPY.
- Revised mission objectives to clarify the player's role and the urgency of the situation.
- Changed the background music playlist from "hospital-crisis" to "noir" for a more fitting atmosphere.
- Updated the debrief track name to "Digital Ghost" to align with the mission theme.
- Introduced new room preview images: room_lab.png, room_security.png, and small_office_room4_1x1gu.png.
- Added templates.json containing room configurations for 10x10 and 5x6 rooms, including wall, room, and door layouts.
- Created tilesets_ref.json to reference various tilesets used in room generation, including office and door assets.
- Added multiple new MP3 files to enhance the text-to-speech capabilities.
- Each file corresponds to different audio prompts or responses required for the module.
…nd remove unused conclusion screen in scenario
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