Files
BreakEscape/scenarios/ink/rfid-guard-custom.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
3.4 KiB
JSON

{"inkVersion":21,"root":[[["done",{"#n":"g-0"}],null],"done",{"start":["#","^speaker:npc","/#","^Hey. I'm in charge of corporate security.","\n","ev",{"VAR?":"has_keycard"},"/ev",[{"->":".^.b","c":true},{"b":["\n","^This badge uses MIFARE Classic with custom encryption keys.","\n","^Much more secure than those old EM4100 cards.","\n",{"->":"start.9"},null]}],"nop","\n",{"->":"hub"},null],"hub":[["ev",{"VAR?":"has_keycard"},"/ev",[{"->":".^.b","c":true},{"b":["\n","ev","str","^Ask about badge security","/str","/ev",{"*":".^.c-0","flg":4},{"->":"hub.0.4"},{"c-0":["\n",{"->":"ask_security"},null]}]}],"nop","\n","ev",{"VAR?":"has_keycard"},{"VAR?":"has_rfid_cloner"},"&&",{"VAR?":"card_needs_attack"},"&&","/ev",[{"->":".^.b","c":true},{"b":["\n","ev","str","^Try to scan their badge","/str","/ev",{"*":".^.c-0","flg":4},{"->":"hub.0.14"},{"c-0":["\n","#","^speaker:player","/#","^You try to scan, but it's encrypted...","\n",{"->":"needs_attack"},null]}]}],"nop","\n","ev","str","^Chat about security","/str","/ev",{"*":".^.c-0","flg":4},"ev","str","^Leave","/str","/ev",{"*":".^.c-1","flg":4},{"c-0":["\n",{"->":"chat_security"},null],"c-1":["^ ","#","^exit_conversation","/#","\n","#","^speaker:npc","/#","^Stay safe.","\n",{"->":"hub"},null]}],null],"ask_security":[["#","^speaker:npc","/#","^This badge? It's a MIFARE Classic 1K with custom encryption keys.","\n","^Much better than the factory defaults some companies use.","\n","^Can't just clone these with a quick scan. The crypto is... well, it's broken technically, but it takes time to crack.","\n","ev","str","^How long to crack?","/str","/ev",{"*":".^.c-0","flg":4},"ev","str","^Interesting...","/str","/ev",{"*":".^.c-1","flg":4},{"c-0":["\n","#","^speaker:npc","/#","^With the right tools? Maybe 30 seconds using a Darkside attack.","\n","^But most people don't have those tools.","\n",{"->":"hub"},null],"c-1":["\n",{"->":"hub"},null]}],null],"chat_security":["#","^speaker:npc","/#","^Corporate security is no joke. We take access control seriously.","\n","^All our badges use custom keys. Random generation, changed quarterly.","\n","^The CEO even has a DESFire card - that's military-grade encryption.","\n",{"->":"hub"},null],"needs_attack":[["#","^speaker:npc","/#","^What are you doing?","\n","#","^speaker:player","/#","^Oh, just... checking my phone!","\n","#","^speaker:npc","/#","^That looked like you were trying to scan my badge.","\n","^You'd need to run a proper attack to get this one. Can't just quick-clone it.","\n","ev","str","^Play it cool","/str","/ev",{"*":".^.c-0","flg":20},"ev","str","^Tell the truth","/str","/ev",{"*":".^.c-1","flg":20},{"c-0":["\n","#","^speaker:player","/#","^Sorry, my device sometimes picks up NFC signals by accident.","\n","#","^speaker:npc","/#","^Uh huh. Sure.","\n",{"->":"hub"},{"#f":5}],"c-1":["\n","#","^speaker:player","/#","^You're right - I was trying to clone it. But it's encrypted.","\n","#","^speaker:npc","/#","^Yeah, that's the point of custom keys.","\n","^You'd need to be close for about 30 seconds to run a Darkside attack.","\n","^Good luck with that while I'm watching!","\n",{"->":"hub"},{"#f":5}]}],null],"global decl":["ev",false,{"VAR=":"has_keycard"},false,{"VAR=":"has_rfid_cloner"},"str","^","/str",{"VAR=":"card_protocol"},"str","^","/str",{"VAR=":"card_name"},"str","^","/str",{"VAR=":"card_card_id"},false,{"VAR=":"card_needs_attack"},"str","^","/str",{"VAR=":"card_uid"},"/ev","end",null]}],"listDefs":{}}