Files
BreakEscape/scenarios/ink/rfid-security-guard-fixed.json
Z. Cliffe Schreuders 08ed220618 Enhance RFID system interactions and NPC conversations
- Updated door sprite creation to support lock properties from both doors and connected rooms.
- Added RFID cloner interaction logic to handle minigame initiation from inventory.
- Implemented inventory variable synchronization for NPC conversations, including RFID card details.
- Introduced new scenarios for RFID guards with varying security levels and interactions.
- Revised test scenarios to include comprehensive RFID protocol testing with detailed notes and NPC interactions.
2025-11-15 23:48:15 +00:00

1 line
5.1 KiB
JSON

{"inkVersion":21,"root":[[["done",{"#n":"g-0"}],null],"done",{"start":["ev",{"VAR?":"conversation_count"},1,"+",{"VAR=":"conversation_count","re":true},"/ev","#","^speaker:npc","/#","^Hey there. I'm the security guard for this facility.","\n","ev",{"VAR?":"has_keycard"},"/ev",[{"->":".^.b","c":true},{"b":["\n","^I've got the master keycard that opens the secure room.","\n","ev",{"VAR?":"card_protocol"},"str","^EM4100","/str","==","/ev",[{"->":".^.b","c":true},{"b":["\n","^It's a basic EM4100 card - nothing fancy.","\n",{"->":".^.^.^.11"},null]}],"nop","\n","ev",{"VAR?":"card_security"},"str","^medium","/str","==","/ev",[{"->":".^.b","c":true},{"b":["\n","^This one's got proper encryption. Corporate security.","\n",{"->":".^.^.^.21"},null]}],"nop","\n",{"->":"start.15"},null]}],"nop","\n",{"->":"hub"},null],"hub":[["ev",{"VAR?":"has_keycard"},{"VAR?":"card_instant_clone"},"!","&&","/ev",[{"->":".^.b","c":true},{"b":["\n","ev","str","^Ask about the keycard security","/str","/ev",{"*":".^.c-0","flg":4},{"->":"hub.0.7"},{"c-0":["\n",{"->":"ask_security"},null]}]}],"nop","\n","ev",{"VAR?":"has_keycard"},"/ev",[{"->":".^.b","c":true},{"b":["\n","ev","str","^Ask about the keycard","/str","/ev",{"*":".^.c-0","flg":4},{"->":"hub.0.13"},{"c-0":["\n",{"->":"ask_keycard"},null]}]}],"nop","\n","ev",{"VAR?":"has_keycard"},{"VAR?":"has_rfid_cloner"},"&&",{"VAR?":"card_instant_clone"},"&&","/ev",[{"->":".^.b","c":true},{"b":["\n","ev","str","^Subtly scan their badge","/str","/ev",{"*":".^.c-0","flg":4},{"->":"hub.0.23"},{"c-0":["^ ","#","^clone_keycard:","ev",{"VAR?":"card_card_id"},"out","/ev","/#","\n","#","^speaker:player","/#","^You casually position your Flipper Zero near their badge...","\n",{"->":"cloned_success"},null]}]}],"nop","\n","ev",{"VAR?":"has_keycard"},{"VAR?":"has_rfid_cloner"},"&&",{"VAR?":"card_needs_attack"},"&&","/ev",[{"->":".^.b","c":true},{"b":["\n","ev","str","^Scan badge (requires attack)","/str","/ev",{"*":".^.c-0","flg":4},{"->":"hub.0.33"},{"c-0":["\n","#","^speaker:player","/#","^You try to scan their badge, but it's encrypted.","\n","#","^speaker:player","/#","^You'll need to run a Darkside attack - this will take about 30 seconds.","\n",{"->":"needs_attack"},null]}]}],"nop","\n","ev","str","^Just browsing","/str","/ev",{"*":".^.c-0","flg":4},{"c-0":["^ ","#","^exit_conversation","/#","\n","#","^speaker:npc","/#","^Alright, let me know if you need anything.","\n",{"->":"hub"},null]}],null],"ask_security":["#","^speaker:npc","/#","ev",{"VAR?":"card_security"},"str","^low","/str","==","/ev",[{"->":".^.b","c":true},{"b":["\n","^Honestly? It's just a basic proximity card. Nothing special.","\n","^The company's been meaning to upgrade for years...","\n",{"->":".^.^.^.12"},null]}],[{"->":".^.b"},{"b":["\n","^This card uses ","ev",{"VAR?":"card_protocol"},"out","/ev","^ with custom encryption.","\n","^Pretty secure stuff. Can't just clone these easily.","\n",{"->":".^.^.^.12"},null]}],"nop","\n",{"->":"hub"},null],"ask_keycard":[["#","^speaker:npc","/#","^This keycard? Yeah, it's the master access card. Opens everything in the building.","\n","^I can't just hand it to you though - security policy and all that.","\n","ev","str","^Offer to buy it","/str","/ev",{"*":".^.c-0","flg":4},"ev","str","^Ask if you can borrow it","/str","/ev",{"*":".^.c-1","flg":4},"ev","str","^Back","/str","/ev",{"*":".^.c-2","flg":4},{"c-0":["\n","#","^speaker:npc","/#","^Ha! Nice try, but I can't sell company property. I'd lose my job.","\n",{"->":"hub"},null],"c-1":["\n","#","^speaker:npc","/#","^Sorry, no can do. This thing never leaves my person.","\n",{"->":"hub"},null],"c-2":["\n",{"->":"hub"},null]}],null],"cloned_success":[["#","^speaker:npc","/#","^...So anyway, that's why I love working nights. Much quieter, you know?","\n","^The pay's better too. Plus I get to catch up on my podcasts.","\n","ev","str","^Thanks for the chat!","/str","/ev",{"*":".^.c-0","flg":4},"ev","str","^Any other secure areas?","/str","/ev",{"*":".^.c-1","flg":4},{"c-0":["^ ","#","^exit_conversation","/#","\n","#","^speaker:npc","/#","^No problem! Stay safe out there.","\n",{"->":"hub"},null],"c-1":["\n","#","^speaker:npc","/#","^Well, there's the CEO's office, but that's on a different floor entirely.","\n","^This master card works for most areas on this level though.","\n",{"->":"hub"},null]}],null],"needs_attack":["#","^speaker:npc","/#","^Hey, what are you doing with that device?","\n","#","^speaker:player","/#","^Oh, just... checking the time!","\n","#","^speaker:npc","/#","^That didn't look like checking the time...","\n","^You'll need to be more subtle. Or find a way to get the card when they're not looking.","\n",{"->":"hub"},null],"global decl":["ev",false,{"VAR=":"has_keycard"},false,{"VAR=":"has_rfid_cloner"},0,{"VAR=":"conversation_count"},"str","^","/str",{"VAR=":"card_protocol"},"str","^","/str",{"VAR=":"card_name"},"str","^","/str",{"VAR=":"card_card_id"},"str","^","/str",{"VAR=":"card_security"},false,{"VAR=":"card_instant_clone"},false,{"VAR=":"card_needs_attack"},false,{"VAR=":"card_uid_only"},"str","^","/str",{"VAR=":"card_uid"},"str","^","/str",{"VAR=":"card_hex"},"/ev","end",null]}],"listDefs":{}}