From 84170426d8c5fea8c3eb6e21e44d66af69f15ebd Mon Sep 17 00:00:00 2001 From: "Z. Cliffe Schreuders" Date: Wed, 14 Jan 2026 09:46:32 +0000 Subject: [PATCH] Compile m03_npc_receptionist.ink to JSON - add EXTERNAL player_name() --- .../stages/stage_7/m03_npc_receptionist.ink | 5 ++++- .../stages/stage_7/m03_npc_receptionist.json | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) create mode 100644 planning_notes/overall_story_plan/mission_initializations/m03_ghost_in_the_machine/stages/stage_7/m03_npc_receptionist.json diff --git a/planning_notes/overall_story_plan/mission_initializations/m03_ghost_in_the_machine/stages/stage_7/m03_npc_receptionist.ink b/planning_notes/overall_story_plan/mission_initializations/m03_ghost_in_the_machine/stages/stage_7/m03_npc_receptionist.ink index e4b1317..1e28710 100644 --- a/planning_notes/overall_story_plan/mission_initializations/m03_ghost_in_the_machine/stages/stage_7/m03_npc_receptionist.ink +++ b/planning_notes/overall_story_plan/mission_initializations/m03_ghost_in_the_machine/stages/stage_7/m03_npc_receptionist.ink @@ -12,6 +12,9 @@ VAR topic_company_history = false VAR topic_james = false VAR pin_hint_given = false +// External variables (from game) +EXTERNAL player_name() + // =========================================== // INITIAL GREETING // =========================================== @@ -22,7 +25,7 @@ VAR pin_hint_given = false {not badge_received: #display:receptionist-professional - Receptionist: Good afternoon! You must be {player_name}. + Receptionist: Good afternoon! You must be {player_name()}. Receptionist: Ms. Sterling mentioned you'd be coming in for a consultation. diff --git a/planning_notes/overall_story_plan/mission_initializations/m03_ghost_in_the_machine/stages/stage_7/m03_npc_receptionist.json b/planning_notes/overall_story_plan/mission_initializations/m03_ghost_in_the_machine/stages/stage_7/m03_npc_receptionist.json new file mode 100644 index 0000000..46ad503 --- /dev/null +++ b/planning_notes/overall_story_plan/mission_initializations/m03_ghost_in_the_machine/stages/stage_7/m03_npc_receptionist.json @@ -0,0 +1 @@ +{"inkVersion":21,"root":[[["done",{"#n":"g-0"}],null],"done",{"start":["#","^speaker:receptionist","/#","ev",{"VAR?":"badge_received"},"!","/ev",[{"->":".^.b","c":true},{"b":["\n","#","^display:receptionist-professional","/#","^Receptionist: Good afternoon! You must be ","ev",{"x()":"player_name"},"out","/ev","^.","\n","^Receptionist: Ms. Sterling mentioned you'd be coming in for a consultation.","\n","^Receptionist: Let me get you checked in.","\n",{"->":"badge_process"},{"->":"start.8"},null]}],"nop","\n","ev",{"VAR?":"badge_received"},"/ev",[{"->":".^.b","c":true},{"b":["\n","#","^display:receptionist-friendly","/#","^Receptionist: Hi again! How's your visit going?","\n",{"->":"hub"},{"->":"start.14"},null]}],"nop","\n",null],"badge_process":[["#","^speaker:receptionist","/#","^Receptionist: I just need you to sign in here, and I'll print you a visitor badge.","\n","^[She slides a clipboard across the desk]","\n","^Receptionist: Ms. Sterling's in the conference room. Second door on the right down that hallway.","\n","ev","str","^Thank you - sign in","/str","/ev",{"*":".^.c-0","flg":20},"ev","str","^Ask about the company first","/str","/ev",{"*":".^.c-1","flg":20},"ev","str","^Just sign quickly and head to meeting","/str","/ev",{"*":".^.c-2","flg":20},{"c-0":["\n","ev",true,"/ev",{"VAR=":"badge_received","re":true},"ev",{"VAR?":"receptionist_influence"},5,"+",{"VAR=":"receptionist_influence","re":true},"/ev","^You sign the visitor log.","\n","^Receptionist: Here's your badge. Please keep it visible while you're in the building.","\n","#","^give_item:visitor_badge","/#","^Receptionist: And welcome to WhiteHat Security!","\n",{"->":"first_impression_choice"},{"#f":5}],"c-1":["\n","^You: Before I meet with Victoria, can you tell me a bit about WhiteHat Security?","\n","ev",{"VAR?":"receptionist_influence"},10,"+",{"VAR=":"receptionist_influence","re":true},"/ev","^Receptionist: Of course! We're a cybersecurity research and penetration testing firm.","\n",{"->":"company_overview"},{"#f":5}],"c-2":["\n","ev",true,"/ev",{"VAR=":"badge_received","re":true},"^You quickly sign the log.","\n","^Receptionist: Here's your badge. Ms. Sterling's waiting in the conference room.","\n","#","^give_item:visitor_badge","/#","#","^exit_conversation","/#","done",{"#f":5}]}],null],"company_overview":[["#","^speaker:receptionist","/#","^Receptionist: WhiteHat Security was founded in 2010 by Victoria Sterling.","\n","^Receptionist: We do penetration testing, security audits, and advanced research training.","\n","ev",{"VAR?":"receptionist_influence"},10,">=","/ev",[{"->":".^.b","c":true},{"b":["\n","^Receptionist: We also have a research division - Zero Day training programs. Very cutting-edge stuff.","\n",{"->":".^.^.^.13"},null]}],"nop","\n","ev",true,"/ev",{"VAR=":"topic_company_history","re":true},"ev",true,"/ev",{"VAR=":"pin_hint_given","re":true},"ev","str","^2010 founding - that's the PIN to the safe!","/str","/ev",{"*":".^.c-0","flg":20},"ev","str","^What kind of training programs?","/str","/ev",{"*":".^.c-1","flg":20},{"c-0":["\n","^[Mental note: 2010 might be useful...]","\n","ev",{"VAR?":"receptionist_influence"},5,"+",{"VAR=":"receptionist_influence","re":true},"/ev","^You: 2010, interesting. Victoria must be proud of how far the company's come.","\n","^Receptionist: Oh, very much so. She has a whole display of awards in her office.","\n",{"->":"badge_process"},{"#f":5}],"c-1":["\n","^You: What kind of training does Zero Day offer?","\n","^Receptionist: [Slightly evasive] Advanced penetration testing techniques. For serious researchers.","\n","^Receptionist: Ms. Sterling is very selective about who gets into the program.","\n","ev",{"VAR?":"receptionist_influence"},5,"+",{"VAR=":"receptionist_influence","re":true},"/ev",{"->":"badge_process"},{"#f":5}]}],null],"first_impression_choice":[["#","^speaker:receptionist","/#","^Receptionist: Is this your first time working with a cybersecurity firm?","\n","ev","str","^I've done some freelance pen testing","/str","/ev",{"*":".^.c-0","flg":20},"ev","str","^Yes, I'm new to the field","/str","/ev",{"*":".^.c-1","flg":20},"ev","str","^I need to get to the meeting","/str","/ev",{"*":".^.c-2","flg":20},{"c-0":["\n","ev",{"VAR?":"receptionist_influence"},10,"+",{"VAR=":"receptionist_influence","re":true},"/ev","^You: I've done freelance penetration testing before. Looking to level up.","\n","^Receptionist: Well, you're in the right place! Ms. Sterling is brilliant.","\n",{"->":"hub"},{"#f":5}],"c-1":["\n","ev",{"VAR?":"receptionist_influence"},5,"+",{"VAR=":"receptionist_influence","re":true},"/ev","^You: Relatively new, yes. Still learning.","\n","^Receptionist: That's exciting! Everyone here is very passionate about security.","\n",{"->":"hub"},{"#f":5}],"c-2":["\n","^You: I should head to the conference room. Don't want to keep Victoria waiting.","\n","^Receptionist: Of course! Down the hall, second door on the right.","\n","#","^exit_conversation","/#","done",{"#f":5}]}],null],"hub":[["ev","str","^Ask about Victoria Sterling","/str",{"VAR?":"topic_victoria"},"!","/ev",{"*":".^.c-0","flg":5},"ev","str","^Ask about other employees","/str",{"VAR?":"topic_james"},"!","/ev",{"*":".^.c-1","flg":5},"ev","str","^Ask about company history","/str",{"VAR?":"topic_company_history"},"!",{"VAR?":"pin_hint_given"},"!","&&","/ev",{"*":".^.c-2","flg":5},"ev","str","^Ask about the building layout","/str",{"VAR?":"receptionist_influence"},15,">=","/ev",{"*":".^.c-3","flg":5},"ev","str","^End conversation","/str","/ev",{"*":".^.c-4","flg":4},{"c-0":["\n",{"->":"ask_victoria"},null],"c-1":["\n",{"->":"ask_james"},null],"c-2":["\n",{"->":"ask_company_history"},null],"c-3":["\n",{"->":"ask_building_layout"},null],"c-4":["\n","#","^exit_conversation","/#","^Receptionist: Have a great visit!","\n","done",null]}],null],"ask_victoria":[["#","^speaker:receptionist","/#","ev",true,"/ev",{"VAR=":"topic_victoria","re":true},"ev",{"VAR?":"receptionist_influence"},5,"+",{"VAR=":"receptionist_influence","re":true},"/ev","^Receptionist: Ms. Sterling is amazing. She's a DEFCON speaker, published researcher, the whole package.","\n","^Receptionist: And she really cares about the work. Sometimes she's here until midnight.","\n","ev",{"VAR?":"receptionist_influence"},20,">=","/ev",[{"->":".^.b","c":true},{"b":["\n","^Receptionist: Between you and me, she can be intense. Very particular about her research.","\n","^Receptionist: But she's fair. If you're good at what you do, she'll respect you.","\n",{"->":".^.^.^.23"},null]}],"nop","\n","ev","str","^She sounds dedicated","/str","/ev",{"*":".^.c-0","flg":20},"ev","str","^Midnight? That's late","/str","/ev",{"*":".^.c-1","flg":20},"ev","str","^Continue","/str","/ev",{"*":".^.c-2","flg":4},{"c-0":["\n","ev",{"VAR?":"receptionist_influence"},5,"+",{"VAR=":"receptionist_influence","re":true},"/ev","^You: She sounds very dedicated to the work.","\n","^Receptionist: Absolutely. Cybersecurity is her passion.","\n",{"->":"hub"},{"#f":5}],"c-1":["\n","^You: Midnight work sessions? That's some serious dedication.","\n","^Receptionist: Yeah, sometimes I see her car still in the lot when I leave at 6.","\n","^Receptionist: She has a whole setup in her office - coffee maker, the works.","\n","ev",{"VAR?":"receptionist_influence"},5,"+",{"VAR=":"receptionist_influence","re":true},"/ev",{"->":"hub"},{"#f":5}],"c-2":["\n",{"->":"hub"},null]}],null],"ask_james":[["#","^speaker:receptionist","/#","ev",true,"/ev",{"VAR=":"topic_james","re":true},"ev",{"VAR?":"receptionist_influence"},5,"+",{"VAR=":"receptionist_influence","re":true},"/ev","^Receptionist: Well, there's James Park - he's one of our senior consultants.","\n","^Receptionist: Really nice guy. Always brings donuts on Fridays.","\n","ev",{"VAR?":"receptionist_influence"},15,">=","/ev",[{"->":".^.b","c":true},{"b":["\n","^Receptionist: He's been a bit stressed lately, though. I think he's working on a big project.","\n",{"->":".^.^.^.23"},null]}],"nop","\n","ev","str","^What kind of work does James do?","/str","/ev",{"*":".^.c-0","flg":20},"ev","str","^Where's his office?","/str","/ev",{"*":".^.c-1","flg":20},"ev","str","^Continue","/str","/ev",{"*":".^.c-2","flg":4},{"c-0":["\n","^You: What kind of consulting work does James do?","\n","^Receptionist: Penetration testing, mostly. He goes on-site to client locations for security audits.","\n","^Receptionist: He's been with WhiteHat since the beginning - 2010, I think.","\n","ev",{"VAR?":"receptionist_influence"},5,"+",{"VAR=":"receptionist_influence","re":true},"/ev",{"->":"hub"},{"#f":5}],"c-1":["\n","^You: Where does James work? In case I run into him.","\n","^Receptionist: His office is down the main hallway, past the server room.","\n","^Receptionist: Though he's usually out at client sites during the day.","\n",{"->":"hub"},{"#f":5}],"c-2":["\n",{"->":"hub"},null]}],null],"ask_company_history":[["#","^speaker:receptionist","/#","ev",true,"/ev",{"VAR=":"topic_company_history","re":true},"ev",true,"/ev",{"VAR=":"pin_hint_given","re":true},"ev",{"VAR?":"receptionist_influence"},5,"+",{"VAR=":"receptionist_influence","re":true},"/ev","^Receptionist: WhiteHat Security was founded in 2010 by Victoria Sterling.","\n","^Receptionist: There's actually a plaque right over there [gestures to wall] with the founding year and mission statement.","\n","^Receptionist: \"Security Through Economics\" - that's our motto.","\n","ev","str","^What does \"Security Through Economics\" mean?","/str","/ev",{"*":".^.c-0","flg":20},"ev","str","^2010 - I'll remember that","/str","/ev",{"*":".^.c-1","flg":20},"ev","str","^Continue","/str","/ev",{"*":".^.c-2","flg":4},{"c-0":["\n","^You: That's an unusual motto. What does it mean?","\n","^Receptionist: [Uncertain] Something about market-driven security research? Ms. Sterling explains it better than I can.","\n","^Receptionist: She has strong opinions about how the security industry should work.","\n","ev",{"VAR?":"receptionist_influence"},5,"+",{"VAR=":"receptionist_influence","re":true},"/ev",{"->":"hub"},{"#f":5}],"c-1":["\n","^[Mental note: 2010 might be important...]","\n","^You: 2010. That's a significant year for the company then.","\n","^Receptionist: Absolutely! Ms. Sterling is very proud of everything we've built since then.","\n","ev",{"VAR?":"receptionist_influence"},5,"+",{"VAR=":"receptionist_influence","re":true},"/ev",{"->":"hub"},{"#f":5}],"c-2":["\n",{"->":"hub"},null]}],null],"ask_building_layout":[["#","^speaker:receptionist","/#","ev",{"VAR?":"receptionist_influence"},5,"+",{"VAR=":"receptionist_influence","re":true},"/ev","^Receptionist: Sure! It's a pretty straightforward layout.","\n","^Receptionist: Reception here, conference rooms to the right, main offices down the central hallway.","\n","^Receptionist: Server room and IT area in the back - that's usually locked, executive access only.","\n","^Receptionist: And Ms. Sterling's office is in the executive wing on the north side.","\n","ev","str","^What about after hours?","/str","/ev",{"*":".^.c-0","flg":20},"ev","str","^Executive access for the server room?","/str","/ev",{"*":".^.c-1","flg":20},"ev","str","^That's helpful, thanks","/str","/ev",{"*":".^.c-2","flg":4},{"c-0":["\n","^You: Is anyone here after business hours?","\n","^Receptionist: Usually just Ms. Sterling if she's working late. And we have a night security guard - makes rounds to keep the place safe.","\n","ev",{"VAR?":"receptionist_influence"},5,"+",{"VAR=":"receptionist_influence","re":true},"/ev",{"->":"hub"},{"#f":5}],"c-1":["\n","^You: Executive access for the server room - is that a key card system?","\n","^Receptionist: RFID badges. Ms. Sterling and the senior staff have access. Security precaution.","\n","ev",{"VAR?":"receptionist_influence"},5,"+",{"VAR=":"receptionist_influence","re":true},"/ev",{"->":"hub"},{"#f":5}],"c-2":["\n",{"->":"hub"},null]}],null],"daytime_return":[["#","^speaker:receptionist","/#","#","^display:receptionist-friendly","/#","^Receptionist: How did your meeting with Ms. Sterling go?","\n","ev","str","^Very well - she's impressive","/str","/ev",{"*":".^.c-0","flg":20},"ev","str","^Interesting conversation","/str","/ev",{"*":".^.c-1","flg":20},"ev","str","^I need to think about it","/str","/ev",{"*":".^.c-2","flg":20},{"c-0":["\n","ev",{"VAR?":"receptionist_influence"},10,"+",{"VAR=":"receptionist_influence","re":true},"/ev","^You: It went great. Victoria is very impressive. I learned a lot.","\n","^Receptionist: I'm so glad! She has that effect on people.","\n","#","^exit_conversation","/#","done",{"#f":5}],"c-1":["\n","^You: It was... illuminating. She has strong ideas about security.","\n","^Receptionist: [Laughs] That's one way to put it! She definitely has opinions.","\n","ev",{"VAR?":"receptionist_influence"},5,"+",{"VAR=":"receptionist_influence","re":true},"/ev","#","^exit_conversation","/#","done",{"#f":5}],"c-2":["\n","^You: I need some time to consider the training program. Big decision.","\n","^Receptionist: Of course! Take your time. Let us know if you have any questions.","\n","#","^exit_conversation","/#","done",{"#f":5}]}],null],"restricted_area_daytime":["#","^speaker:receptionist","/#","^Receptionist: Oh, I'm sorry - that area is for employees only.","\n","^Receptionist: Please stay in the public areas. Conference rooms and the main hallway are open to visitors.","\n","ev",{"VAR?":"receptionist_influence"},20,">=","/ev",[{"->":".^.b","c":true},{"b":["\n","^Receptionist: If you need access to something specific, Ms. Sterling can authorize it.","\n",{"->":".^.^.^.13"},null]}],"nop","\n","#","^exit_conversation","/#","done",null],"global decl":["ev",0,{"VAR=":"receptionist_influence"},false,{"VAR=":"badge_received"},false,{"VAR=":"topic_victoria"},false,{"VAR=":"topic_company_history"},false,{"VAR=":"topic_james"},false,{"VAR=":"pin_hint_given"},"/ev","end",null]}],"listDefs":{}} \ No newline at end of file