diff --git a/js/core/game.js b/js/core/game.js index 1c30fc7..6d606c5 100644 --- a/js/core/game.js +++ b/js/core/game.js @@ -398,8 +398,9 @@ export function preload() { this.load.audio('message_received', 'assets/sounds/message_received.mp3'); // Initialize sound manager and preload all sounds - const soundManager = new SoundManager(this); - soundManager.preloadSounds(); + // Store as window property so we can access it later in create() + window.soundManagerPreload = new SoundManager(this); + window.soundManagerPreload.preloadSounds(); // Get scenario from URL parameter or use default const urlParams = new URLSearchParams(window.location.search); @@ -610,10 +611,19 @@ export function create() { // Process initial inventory items processInitialInventoryItems(); - // Initialize sound manager after all assets are loaded - const soundManager = new SoundManager(this); - soundManager.initializeSounds(); - window.soundManager = soundManager; + // Initialize sound manager - reuse the instance created in preload() + if (window.soundManagerPreload) { + // Reuse the sound manager that was created in preload + window.soundManagerPreload.initializeSounds(); + window.soundManager = window.soundManagerPreload; + delete window.soundManagerPreload; // Clean up temporary reference + } else { + // Fallback in case preload didn't run properly + const soundManager = new SoundManager(this); + soundManager.preloadSounds(); + soundManager.initializeSounds(); + window.soundManager = soundManager; + } console.log('πŸ”Š Sound Manager initialized'); // Show introduction diff --git a/js/systems/sound-manager.js b/js/systems/sound-manager.js index 1d7fb16..f0d6af3 100644 --- a/js/systems/sound-manager.js +++ b/js/systems/sound-manager.js @@ -147,6 +147,9 @@ class SoundManager { play(soundName, options = {}) { if (!this.enabled) return; + // console log + console.log(`πŸ”Š Playing sound: ${soundName}`); + const sound = this.sounds[soundName]; if (!sound) { console.warn(`Sound not found: ${soundName}`); diff --git a/scenarios/ink/helper-npc.ink b/scenarios/ink/helper-npc.ink index 1658b4a..9aa8acd 100644 --- a/scenarios/ink/helper-npc.ink +++ b/scenarios/ink/helper-npc.ink @@ -59,7 +59,7 @@ I can unlock doors, give you items, and provide hints. { trust_level >= 2: Here's a lockpick set. Use it wisely! πŸ”“ ~ has_given_lockpick = true - # give_item:lockpick_set + # give_item:lockpick -> main_menu - else: I need to trust you more before I give you something like that. diff --git a/scenarios/ink/helper-npc.ink.json b/scenarios/ink/helper-npc.ink.json deleted file mode 100644 index b56d535..0000000 --- a/scenarios/ink/helper-npc.ink.json +++ /dev/null @@ -1 +0,0 @@ -{"inkVersion":21,"root":[[["done",{"#n":"g-0"}],null],"done",{"start":[["^Hey there! I'm here to help you out if you need it. πŸ‘‹","\n","^What can I do for you?","\n","ev","str","^Who are you?","/str","/ev",{"*":".^.c-0","flg":4},"ev","str","^Can you help me get into the CEO's office?","/str","/ev",{"*":".^.c-1","flg":4},"ev","str","^Do you have any items for me?","/str","/ev",{"*":".^.c-2","flg":4},"ev","str","^Thanks, I'm good for now.","/str","/ev",{"*":".^.c-3","flg":4},{"c-0":["^ ",{"->":"who_are_you"},"\n",null],"c-1":["^ ",{"->":"help_ceo_office"},"\n",null],"c-2":["^ ",{"->":"give_items"},"\n",null],"c-3":["^ ",{"->":"goodbye"},"\n",null]}],null],"who_are_you":["^I'm a friendly NPC who can help you progress through the mission.","\n","^I can unlock doors, give you items, and provide hints.","\n","ev",{"VAR?":"trust_level"},1,"+","/ev",{"VAR=":"trust_level","re":true},{"->":"start"},null],"help_ceo_office":["ev",{"VAR?":"has_unlocked_ceo"},"/ev",[{"->":".^.b","c":true},{"b":["\n","^I already unlocked the CEO's office for you! Just head on in.","\n",{"->":"start"},{"->":".^.^.^.5"},null]}],[{"->":".^.b"},{"b":["\n","^The CEO's office? That's a tough one...","\n","ev",{"VAR?":"trust_level"},1,">=","/ev",[{"->":".^.b","c":true},{"b":["\n","^Alright, I trust you. Let me unlock that door for you.","\n","ev",true,"/ev",{"VAR=":"has_unlocked_ceo","re":true},"#","^unlock_door:ceo","/#","^There you go! The door to the CEO's office is now unlocked.","\n","ev",{"VAR?":"trust_level"},2,"+","/ev",{"VAR=":"trust_level","re":true},{"->":"start"},{"->":".^.^.^.10"},null]}],[{"->":".^.b"},{"b":["\n","^I don't know you well enough yet. Ask me something else first.","\n",{"->":"start"},{"->":".^.^.^.10"},null]}],"nop","\n",{"->":".^.^.^.5"},null]}],"nop","\n",null],"give_items":["ev",{"VAR?":"has_given_keycard"},"/ev",[{"->":".^.b","c":true},{"b":["\n","^I already gave you a keycard! Check your inventory.","\n",{"->":"start"},{"->":".^.^.^.5"},null]}],[{"->":".^.b"},{"b":["\n","^Let me see what I have...","\n","ev",{"VAR?":"trust_level"},2,">=","/ev",[{"->":".^.b","c":true},{"b":["\n","^Ah, here's a keycard that might be useful!","\n","ev",true,"/ev",{"VAR=":"has_given_keycard","re":true},"#","^give_item:keycard","/#","^Added a keycard to your inventory.","\n",{"->":"start"},{"->":".^.^.^.10"},null]}],[{"->":".^.b"},{"b":["\n","^I can't just hand out items to strangers. Get to know me better first.","\n",{"->":"start"},{"->":".^.^.^.10"},null]}],"nop","\n",{"->":".^.^.^.5"},null]}],"nop","\n",null],"goodbye":["^No problem! Let me know if you need anything.","\n","end",null],"global decl":["ev",0,{"VAR=":"trust_level"},false,{"VAR=":"has_unlocked_ceo"},false,{"VAR=":"has_given_keycard"},"/ev","end",null]}],"listDefs":{}} \ No newline at end of file diff --git a/scenarios/ink/helper-npc.json b/scenarios/ink/helper-npc.json index 8e951d0..bc6122d 100644 --- a/scenarios/ink/helper-npc.json +++ b/scenarios/ink/helper-npc.json @@ -1 +1 @@ -{"inkVersion":21,"root":[[["done",{"#n":"g-0"}],null],"done",{"start":["ev",{"VAR?":"has_greeted"},"/ev",[{"->":".^.b","c":true},{"b":["\n",{"->":"main_menu"},{"->":"start.5"},null]}],[{"->":".^.b"},{"b":["\n","^Hey there! I'm here to help you out if you need it. πŸ‘‹","\n","^What can I do for you?","\n","ev",true,"/ev",{"VAR=":"has_greeted","re":true},{"->":"main_menu"},{"->":"start.5"},null]}],"nop","\n",null],"main_menu":[["ev","str","^Who are you?","/str","/ev",{"*":".^.c-0","flg":4},"ev","str","^Can you help me get into the CEO's office?","/str","/ev",{"*":".^.c-1","flg":4},"ev","str","^Do you have any items for me?","/str","/ev",{"*":".^.c-2","flg":4},"ev","str","^Thanks for the lockpick! It worked great.","/str",{"VAR?":"saw_lockpick_used"},"/ev",{"*":".^.c-3","flg":5},"ev","str","^Thanks, I'm good for now.","/str","/ev",{"*":".^.c-4","flg":4},{"c-0":["^ ",{"->":"who_are_you"},"\n",null],"c-1":["^ ",{"->":"help_ceo_office"},"\n",null],"c-2":["^ ",{"->":"give_items"},"\n",null],"c-3":["^ ",{"->":"lockpick_feedback"},"\n",null],"c-4":["^ ",{"->":"goodbye"},"\n",null]}],null],"who_are_you":["^I'm a friendly NPC who can help you progress through the mission.","\n","^I can unlock doors, give you items, and provide hints.","\n","ev",{"VAR?":"trust_level"},1,"+","/ev",{"VAR=":"trust_level","re":true},{"->":"main_menu"},null],"help_ceo_office":["ev",{"VAR?":"has_unlocked_ceo"},"/ev",[{"->":".^.b","c":true},{"b":["\n","^I already unlocked the CEO's office for you! Just head on in.","\n",{"->":"main_menu"},{"->":".^.^.^.5"},null]}],[{"->":".^.b"},{"b":["\n","^The CEO's office? That's a tough one...","\n","ev",{"VAR?":"trust_level"},1,">=","/ev",[{"->":".^.b","c":true},{"b":["\n","^Alright, I trust you. Let me unlock that door for you.","\n","ev",true,"/ev",{"VAR=":"has_unlocked_ceo","re":true},"^There you go! The door to the CEO's office is now unlocked. ","#","^unlock_door:ceo","/#","\n","ev",{"VAR?":"trust_level"},2,"+","/ev",{"VAR=":"trust_level","re":true},{"->":"main_menu"},{"->":".^.^.^.10"},null]}],[{"->":".^.b"},{"b":["\n","^I don't know you well enough yet. Ask me something else first.","\n",{"->":"main_menu"},{"->":".^.^.^.10"},null]}],"nop","\n",{"->":".^.^.^.5"},null]}],"nop","\n",null],"give_items":["ev",{"VAR?":"has_given_lockpick"},"/ev",[{"->":".^.b","c":true},{"b":["\n","^I already gave you a lockpick set! Check your inventory.","\n",{"->":"main_menu"},{"->":".^.^.^.5"},null]}],[{"->":".^.b"},{"b":["\n","^Let me see what I have...","\n","ev",{"VAR?":"trust_level"},2,">=","/ev",[{"->":".^.b","c":true},{"b":["\n","^Here's a lockpick set. Use it wisely! πŸ”“","\n","ev",true,"/ev",{"VAR=":"has_given_lockpick","re":true},"#","^give_item:lockpick_set","/#",{"->":"main_menu"},{"->":".^.^.^.10"},null]}],[{"->":".^.b"},{"b":["\n","^I need to trust you more before I give you something like that.","\n",{"->":"main_menu"},{"->":".^.^.^.10"},null]}],"nop","\n",{"->":".^.^.^.5"},null]}],"nop","\n",null],"lockpick_feedback":["^Great! I'm glad it helped you out. That's what I'm here for.","\n","ev",{"VAR?":"trust_level"},1,"+","/ev",{"VAR=":"trust_level","re":true},{"->":"main_menu"},null],"goodbye":["^No problem! Let me know if you need anything.","\n","end",null],"on_lockpick_pickup":["ev",{"VAR?":"has_given_lockpick"},"/ev",[{"->":".^.b","c":true},{"b":["\n","^Great! You found the lockpick I gave you. Try it on a locked door or container!","\n",{"->":".^.^.^.5"},null]}],[{"->":".^.b"},{"b":["\n","^Nice find! That lockpick set looks professional. Could be very useful. πŸ”“","\n",{"->":".^.^.^.5"},null]}],"nop","\n",{"->":"main_menu"},null],"on_lockpick_success":["ev",true,"/ev",{"VAR=":"saw_lockpick_used","re":true},"ev",{"VAR?":"has_given_lockpick"},"/ev",[{"->":".^.b","c":true},{"b":["\n","^Excellent! Glad I could help you get through that. 🎯","\n",{"->":".^.^.^.9"},null]}],[{"->":".^.b"},{"b":["\n","^Nice work getting through that lock! πŸ”“","\n",{"->":".^.^.^.9"},null]}],"nop","\n",{"->":"main_menu"},null],"on_lockpick_failed":["ev",{"VAR?":"has_given_lockpick"},"/ev",[{"->":".^.b","c":true},{"b":["\n","^Don't give up! Lockpicking takes practice. Try adjusting the tension. πŸ”§","\n",{"->":".^.^.^.5"},null]}],[{"->":".^.b"},{"b":["\n","^Tough break. Lockpicking isn't easy without the right tools...","\n",{"->":".^.^.^.5"},null]}],"nop","\n",{"->":"main_menu"},null],"on_door_unlocked":["ev",true,"/ev",{"VAR=":"saw_door_unlock","re":true},"ev",{"VAR?":"has_unlocked_ceo"},"/ev",[{"->":".^.b","c":true},{"b":["\n","^Another door open! You're making great progress. πŸšͺβœ“","\n",{"->":".^.^.^.9"},null]}],[{"->":".^.b"},{"b":["\n","^Nice! You found a way through that door. Keep going!","\n",{"->":".^.^.^.9"},null]}],"nop","\n",{"->":"main_menu"},null],"on_door_attempt":["^That door's locked tight. You'll need to find a way to unlock it. πŸ”’","\n","ev",{"VAR?":"trust_level"},2,">=","/ev",[{"->":".^.b","c":true},{"b":["\n","^Want me to help you out? Just ask!","\n",{"->":".^.^.^.8"},null]}],"nop","\n",{"->":"main_menu"},null],"on_ceo_desk_interact":["ev",{"VAR?":"has_unlocked_ceo"},"/ev",[{"->":".^.b","c":true},{"b":["\n","^The CEO's desk - you made it! Nice work. πŸ“‹","\n",{"->":".^.^.^.5"},null]}],[{"->":".^.b"},{"b":["\n","^Trying to get into the CEO's office? I might be able to help with that...","\n",{"->":".^.^.^.5"},null]}],"nop","\n",{"->":"main_menu"},null],"on_item_found":["ev",{"VAR?":"trust_level"},1,">=","/ev",[{"->":".^.b","c":true},{"b":["\n","^Good find! Every item could be important for your mission. πŸ“¦","\n",{"->":".^.^.^.6"},null]}],"nop","\n",{"->":"main_menu"},null],"on_room_entered":["ev",{"VAR?":"has_unlocked_ceo"},"/ev",[{"->":".^.b","c":true},{"b":["\n","^Keep searching for that evidence! πŸ”","\n",{"->":".^.^.^.5"},null]}],[{"->":".^.b"},{"b":["\n","ev",{"VAR?":"trust_level"},1,">=","/ev",[{"->":".^.b","c":true},{"b":["\n","^You're making progress through the building. 🚢","\n",{"->":".^.^.^.8"},null]}],[{"->":".^.b"},{"b":["\n","^Exploring new areas... 🚢","\n",{"->":".^.^.^.8"},null]}],"nop","\n",{"->":".^.^.^.5"},null]}],"nop","\n",{"->":"main_menu"},null],"on_room_discovered":["ev",{"VAR?":"trust_level"},2,">=","/ev",[{"->":".^.b","c":true},{"b":["\n","^Great find! This new area might have what we need. πŸ—ΊοΈβœ¨","\n",{"->":".^.^.^.7"},null]}],[{"->":".^.b"},{"b":["\n","ev",{"VAR?":"trust_level"},1,">=","/ev",[{"->":".^.b","c":true},{"b":["\n","^Interesting! You've found a new area. Be careful exploring. πŸ—ΊοΈ","\n",{"->":".^.^.^.8"},null]}],[{"->":".^.b"},{"b":["\n","^A new room... wonder what's inside. πŸšͺ","\n",{"->":".^.^.^.8"},null]}],"nop","\n",{"->":".^.^.^.7"},null]}],"nop","\n",{"->":"main_menu"},null],"on_ceo_office_entered":["ev",{"VAR?":"has_unlocked_ceo"},"/ev",[{"->":".^.b","c":true},{"b":["\n","^You're in! Remember, you're looking for evidence of the data breach. πŸ•΅οΈ","\n",{"->":".^.^.^.5"},null]}],[{"->":".^.b"},{"b":["\n","^Whoa, you got into the CEO's office! That's impressive! πŸŽ‰","\n","ev",{"VAR?":"trust_level"},1,"+","/ev",{"VAR=":"trust_level","re":true},{"->":".^.^.^.5"},null]}],"nop","\n",{"->":"main_menu"},null],"global decl":["ev",0,{"VAR=":"trust_level"},false,{"VAR=":"has_unlocked_ceo"},false,{"VAR=":"has_given_lockpick"},false,{"VAR=":"saw_lockpick_used"},false,{"VAR=":"saw_door_unlock"},false,{"VAR=":"has_greeted"},"/ev","end",null]}],"listDefs":{}} \ No newline at end of file +{"inkVersion":21,"root":[[["done",{"#n":"g-0"}],null],"done",{"start":["ev",{"VAR?":"has_greeted"},"/ev",[{"->":".^.b","c":true},{"b":["\n",{"->":"main_menu"},{"->":"start.5"},null]}],[{"->":".^.b"},{"b":["\n","^Hey there! I'm here to help you out if you need it. πŸ‘‹","\n","^What can I do for you?","\n","ev",true,"/ev",{"VAR=":"has_greeted","re":true},{"->":"main_menu"},{"->":"start.5"},null]}],"nop","\n",null],"main_menu":[["ev","str","^Who are you?","/str","/ev",{"*":".^.c-0","flg":4},"ev","str","^Can you help me get into the CEO's office?","/str","/ev",{"*":".^.c-1","flg":4},"ev","str","^Do you have any items for me?","/str","/ev",{"*":".^.c-2","flg":4},"ev","str","^Thanks for the lockpick! It worked great.","/str",{"VAR?":"saw_lockpick_used"},"/ev",{"*":".^.c-3","flg":5},"ev","str","^Thanks, I'm good for now.","/str","/ev",{"*":".^.c-4","flg":4},{"c-0":["^ ",{"->":"who_are_you"},"\n",null],"c-1":["^ ",{"->":"help_ceo_office"},"\n",null],"c-2":["^ ",{"->":"give_items"},"\n",null],"c-3":["^ ",{"->":"lockpick_feedback"},"\n",null],"c-4":["^ ",{"->":"goodbye"},"\n",null]}],null],"who_are_you":["^I'm a friendly NPC who can help you progress through the mission.","\n","^I can unlock doors, give you items, and provide hints.","\n","ev",{"VAR?":"trust_level"},1,"+","/ev",{"VAR=":"trust_level","re":true},{"->":"main_menu"},null],"help_ceo_office":["ev",{"VAR?":"has_unlocked_ceo"},"/ev",[{"->":".^.b","c":true},{"b":["\n","^I already unlocked the CEO's office for you! Just head on in.","\n",{"->":"main_menu"},{"->":".^.^.^.5"},null]}],[{"->":".^.b"},{"b":["\n","^The CEO's office? That's a tough one...","\n","ev",{"VAR?":"trust_level"},1,">=","/ev",[{"->":".^.b","c":true},{"b":["\n","^Alright, I trust you. Let me unlock that door for you.","\n","ev",true,"/ev",{"VAR=":"has_unlocked_ceo","re":true},"^There you go! The door to the CEO's office is now unlocked. ","#","^unlock_door:ceo","/#","\n","ev",{"VAR?":"trust_level"},2,"+","/ev",{"VAR=":"trust_level","re":true},{"->":"main_menu"},{"->":".^.^.^.10"},null]}],[{"->":".^.b"},{"b":["\n","^I don't know you well enough yet. Ask me something else first.","\n",{"->":"main_menu"},{"->":".^.^.^.10"},null]}],"nop","\n",{"->":".^.^.^.5"},null]}],"nop","\n",null],"give_items":["ev",{"VAR?":"has_given_lockpick"},"/ev",[{"->":".^.b","c":true},{"b":["\n","^I already gave you a lockpick set! Check your inventory.","\n",{"->":"main_menu"},{"->":".^.^.^.5"},null]}],[{"->":".^.b"},{"b":["\n","^Let me see what I have...","\n","ev",{"VAR?":"trust_level"},2,">=","/ev",[{"->":".^.b","c":true},{"b":["\n","^Here's a lockpick set. Use it wisely! πŸ”“","\n","ev",true,"/ev",{"VAR=":"has_given_lockpick","re":true},"#","^give_item:lockpick","/#",{"->":"main_menu"},{"->":".^.^.^.10"},null]}],[{"->":".^.b"},{"b":["\n","^I need to trust you more before I give you something like that.","\n",{"->":"main_menu"},{"->":".^.^.^.10"},null]}],"nop","\n",{"->":".^.^.^.5"},null]}],"nop","\n",null],"lockpick_feedback":["^Great! I'm glad it helped you out. That's what I'm here for.","\n","ev",{"VAR?":"trust_level"},1,"+","/ev",{"VAR=":"trust_level","re":true},{"->":"main_menu"},null],"goodbye":["^No problem! Let me know if you need anything.","\n","end",null],"on_lockpick_pickup":["ev",{"VAR?":"has_given_lockpick"},"/ev",[{"->":".^.b","c":true},{"b":["\n","^Great! You found the lockpick I gave you. Try it on a locked door or container!","\n",{"->":".^.^.^.5"},null]}],[{"->":".^.b"},{"b":["\n","^Nice find! That lockpick set looks professional. Could be very useful. πŸ”“","\n",{"->":".^.^.^.5"},null]}],"nop","\n",{"->":"main_menu"},null],"on_lockpick_success":["ev",true,"/ev",{"VAR=":"saw_lockpick_used","re":true},"ev",{"VAR?":"has_given_lockpick"},"/ev",[{"->":".^.b","c":true},{"b":["\n","^Excellent! Glad I could help you get through that. 🎯","\n",{"->":".^.^.^.9"},null]}],[{"->":".^.b"},{"b":["\n","^Nice work getting through that lock! πŸ”“","\n",{"->":".^.^.^.9"},null]}],"nop","\n",{"->":"main_menu"},null],"on_lockpick_failed":["ev",{"VAR?":"has_given_lockpick"},"/ev",[{"->":".^.b","c":true},{"b":["\n","^Don't give up! Lockpicking takes practice. Try adjusting the tension. πŸ”§","\n",{"->":".^.^.^.5"},null]}],[{"->":".^.b"},{"b":["\n","^Tough break. Lockpicking isn't easy without the right tools...","\n",{"->":".^.^.^.5"},null]}],"nop","\n",{"->":"main_menu"},null],"on_door_unlocked":["ev",true,"/ev",{"VAR=":"saw_door_unlock","re":true},"ev",{"VAR?":"has_unlocked_ceo"},"/ev",[{"->":".^.b","c":true},{"b":["\n","^Another door open! You're making great progress. πŸšͺβœ“","\n",{"->":".^.^.^.9"},null]}],[{"->":".^.b"},{"b":["\n","^Nice! You found a way through that door. Keep going!","\n",{"->":".^.^.^.9"},null]}],"nop","\n",{"->":"main_menu"},null],"on_door_attempt":["^That door's locked tight. You'll need to find a way to unlock it. πŸ”’","\n","ev",{"VAR?":"trust_level"},2,">=","/ev",[{"->":".^.b","c":true},{"b":["\n","^Want me to help you out? Just ask!","\n",{"->":".^.^.^.8"},null]}],"nop","\n",{"->":"main_menu"},null],"on_ceo_desk_interact":["ev",{"VAR?":"has_unlocked_ceo"},"/ev",[{"->":".^.b","c":true},{"b":["\n","^The CEO's desk - you made it! Nice work. πŸ“‹","\n",{"->":".^.^.^.5"},null]}],[{"->":".^.b"},{"b":["\n","^Trying to get into the CEO's office? I might be able to help with that...","\n",{"->":".^.^.^.5"},null]}],"nop","\n",{"->":"main_menu"},null],"on_item_found":["ev",{"VAR?":"trust_level"},1,">=","/ev",[{"->":".^.b","c":true},{"b":["\n","^Good find! Every item could be important for your mission. πŸ“¦","\n",{"->":".^.^.^.6"},null]}],"nop","\n",{"->":"main_menu"},null],"on_room_entered":["ev",{"VAR?":"has_unlocked_ceo"},"/ev",[{"->":".^.b","c":true},{"b":["\n","^Keep searching for that evidence! πŸ”","\n",{"->":".^.^.^.5"},null]}],[{"->":".^.b"},{"b":["\n","ev",{"VAR?":"trust_level"},1,">=","/ev",[{"->":".^.b","c":true},{"b":["\n","^You're making progress through the building. 🚢","\n",{"->":".^.^.^.8"},null]}],[{"->":".^.b"},{"b":["\n","^Exploring new areas... 🚢","\n",{"->":".^.^.^.8"},null]}],"nop","\n",{"->":".^.^.^.5"},null]}],"nop","\n",{"->":"main_menu"},null],"on_room_discovered":["ev",{"VAR?":"trust_level"},2,">=","/ev",[{"->":".^.b","c":true},{"b":["\n","^Great find! This new area might have what we need. πŸ—ΊοΈβœ¨","\n",{"->":".^.^.^.7"},null]}],[{"->":".^.b"},{"b":["\n","ev",{"VAR?":"trust_level"},1,">=","/ev",[{"->":".^.b","c":true},{"b":["\n","^Interesting! You've found a new area. Be careful exploring. πŸ—ΊοΈ","\n",{"->":".^.^.^.8"},null]}],[{"->":".^.b"},{"b":["\n","^A new room... wonder what's inside. πŸšͺ","\n",{"->":".^.^.^.8"},null]}],"nop","\n",{"->":".^.^.^.7"},null]}],"nop","\n",{"->":"main_menu"},null],"on_ceo_office_entered":["ev",{"VAR?":"has_unlocked_ceo"},"/ev",[{"->":".^.b","c":true},{"b":["\n","^You're in! Remember, you're looking for evidence of the data breach. πŸ•΅οΈ","\n",{"->":".^.^.^.5"},null]}],[{"->":".^.b"},{"b":["\n","^Whoa, you got into the CEO's office! That's impressive! πŸŽ‰","\n","ev",{"VAR?":"trust_level"},1,"+","/ev",{"VAR=":"trust_level","re":true},{"->":".^.^.^.5"},null]}],"nop","\n",{"->":"main_menu"},null],"global decl":["ev",0,{"VAR=":"trust_level"},false,{"VAR=":"has_unlocked_ceo"},false,{"VAR=":"has_given_lockpick"},false,{"VAR=":"saw_lockpick_used"},false,{"VAR=":"saw_door_unlock"},false,{"VAR=":"has_greeted"},"/ev","end",null]}],"listDefs":{}} \ No newline at end of file