mirror of
https://github.com/cliffe/BreakEscape.git
synced 2026-02-21 11:18:08 +00:00
fix: Correct Ink syntax for EXTERNAL variables and conditionals
CRITICAL FIXES:
- Add empty parentheses to all EXTERNAL declarations
* EXTERNAL player_name() instead of EXTERNAL player_name
* EXTERNAL current_mission_id() instead of EXTERNAL current_mission_id
* Fixed in all hub files and personal conversation files
- Fix conditional syntax to require explicit else clauses
* Changed from implicit multi-condition to explicit {- condition: ... - else: ...}
* Fixed in all entry points and hub menus
- Fix player_name references throughout to use function call syntax
* {player_name()} instead of {player_name}
- Fix remaining double-prefix bug in dr_chen file
* npc_npc_chen_rapport -> npc_chen_rapport
FILES UPDATED:
- netherton_hub.ink
- netherton_ongoing_conversations.ink
- chen_hub.ink
- dr_chen_ongoing_conversations.ink
- haxolottle_hub.ink
- haxolottle_ongoing_conversations.ink
These changes fix Ink compiler errors:
- 'Expected declaration of arguments for EXTERNAL, even if empty'
- 'Expected an '- else:' clause here rather than an extra condition'
All files should now compile successfully with inklecate.
This commit is contained in:
@@ -19,11 +19,11 @@ INCLUDE dr_chen_ongoing_conversations.ink
|
||||
// These are provided by the game engine
|
||||
// ===========================================
|
||||
|
||||
EXTERNAL player_name // LOCAL - Player's agent name
|
||||
EXTERNAL current_mission_id // LOCAL - Current mission being discussed
|
||||
EXTERNAL npc_location // LOCAL - Where conversation happens ("lab", "equipment_room", "briefing_room", "field_support")
|
||||
EXTERNAL mission_phase // LOCAL - Phase of current mission ("pre_briefing", "active", "debriefing", "downtime")
|
||||
EXTERNAL equipment_status // LOCAL - Status of player's equipment ("nominal", "damaged", "needs_upgrade")
|
||||
EXTERNAL player_name() // LOCAL - Player's agent name
|
||||
EXTERNAL current_mission_id() // LOCAL - Current mission being discussed
|
||||
EXTERNAL npc_location() // LOCAL - Where conversation happens ("lab", "equipment_room", "briefing_room", "field_support")
|
||||
EXTERNAL mission_phase() // LOCAL - Phase of current mission ("pre_briefing", "active", "debriefing", "downtime")
|
||||
EXTERNAL equipment_status() // LOCAL - Status of player's equipment ("nominal", "damaged", "needs_upgrade")
|
||||
|
||||
// ===========================================
|
||||
// GLOBAL VARIABLES (shared across all NPCs)
|
||||
@@ -40,16 +40,17 @@ VAR professional_reputation = 0 // GLOBAL - Agent standing
|
||||
=== chen_conversation_entry ===
|
||||
// This is the main entry point - game engine calls this
|
||||
|
||||
{npc_location == "lab":
|
||||
Dr. Chen: {player_name}! *looks up from workbench* Perfect timing. Come check this out!
|
||||
- npc_location == "equipment_room":
|
||||
Dr. Chen: Oh hey! Here for gear? I just finished calibrating some new equipment.
|
||||
- npc_location == "briefing_room":
|
||||
Dr. Chen: Agent {player_name}. *gestures to technical displays* Let's talk about the tech side of this operation.
|
||||
- npc_location == "field_support":
|
||||
Dr. Chen: *over comms* Reading you loud and clear. What do you need?
|
||||
- else:
|
||||
Dr. Chen: Hey! What brings you by?
|
||||
{
|
||||
- npc_location() == "lab":
|
||||
Dr. Chen: {player_name()}! *looks up from workbench* Perfect timing. Come check this out!
|
||||
- npc_location() == "equipment_room":
|
||||
Dr. Chen: Oh hey! Here for gear? I just finished calibrating some new equipment.
|
||||
- npc_location() == "briefing_room":
|
||||
Dr. Chen: Agent {player_name()}. *gestures to technical displays* Let's talk about the tech side of this operation.
|
||||
- npc_location() == "field_support":
|
||||
Dr. Chen: *over comms* Reading you loud and clear. What do you need?
|
||||
- else:
|
||||
Dr. Chen: Hey! What brings you by?
|
||||
}
|
||||
|
||||
-> chen_main_hub
|
||||
@@ -64,47 +65,48 @@ VAR professional_reputation = 0 // GLOBAL - Agent standing
|
||||
// Show different options based on location, mission phase, and relationship level
|
||||
|
||||
// PERSONAL FRIENDSHIP OPTION (always available if topics exist)
|
||||
+ {has_available_personal_topics() and mission_phase != "active"} [How are you doing, Dr. Chen?]
|
||||
+ {has_available_personal_topics() and mission_phase() != "active"} [How are you doing, Dr. Chen?]
|
||||
Dr. Chen: Oh! *surprised by personal question*
|
||||
{npc_chen_rapport >= 70:
|
||||
Dr. Chen: You know, I really appreciate when people ask that. Want to chat for a bit?
|
||||
- else:
|
||||
Dr. Chen: I'm good! Busy, but good. What's up?
|
||||
{
|
||||
- npc_chen_rapport >= 70:
|
||||
Dr. Chen: You know, I really appreciate when people ask that. Want to chat for a bit?
|
||||
- else:
|
||||
Dr. Chen: I'm good! Busy, but good. What's up?
|
||||
}
|
||||
-> jump_to_personal_conversations
|
||||
|
||||
// EQUIPMENT AND TECHNICAL SUPPORT (high priority when damaged or needs upgrade)
|
||||
+ {equipment_status == "damaged"} [My equipment took damage in the field]
|
||||
+ {equipment_status() == "damaged"} [My equipment took damage in the field]
|
||||
Dr. Chen: *immediately concerned* Let me see it. What happened?
|
||||
-> equipment_repair_discussion
|
||||
|
||||
+ {equipment_status == "needs_upgrade"} [Request equipment upgrades for upcoming mission]
|
||||
+ {equipment_status() == "needs_upgrade"} [Request equipment upgrades for upcoming mission]
|
||||
Dr. Chen: Upgrades! Yes! I've been working on some new gear. Let me show you what's available.
|
||||
-> equipment_upgrade_menu
|
||||
|
||||
+ {mission_phase == "active" and npc_location == "field_support"} [I need technical support in the field]
|
||||
+ {mission_phase() == "active" and npc_location() == "field_support"} [I need technical support in the field]
|
||||
Dr. Chen: *alert* Okay, talk to me. What's the technical problem?
|
||||
-> field_technical_support
|
||||
|
||||
// MISSION-SPECIFIC TECHNICAL DISCUSSIONS
|
||||
+ {current_mission_id == "ghost_in_machine" and mission_phase == "pre_briefing"} [What tech will I need for Ghost Protocol?]
|
||||
+ {current_mission_id() == "ghost_in_machine" and mission_phase() == "pre_briefing"} [What tech will I need for Ghost Protocol?]
|
||||
Dr. Chen: Ghost Protocol! Okay, so I've prepared some specialized equipment for this one. Let me walk you through it.
|
||||
-> mission_ghost_equipment_briefing
|
||||
|
||||
+ {current_mission_id == "ghost_in_machine" and mission_phase == "debriefing"} [Technical debrief for Ghost Protocol]
|
||||
+ {current_mission_id() == "ghost_in_machine" and mission_phase() == "debriefing"} [Technical debrief for Ghost Protocol]
|
||||
Dr. Chen: How did the equipment perform? I need field data to improve the designs.
|
||||
-> mission_ghost_tech_debrief
|
||||
|
||||
+ {current_mission_id == "data_sanctuary"} [What tech is protecting the Data Sanctuary?]
|
||||
+ {current_mission_id() == "data_sanctuary"} [What tech is protecting the Data Sanctuary?]
|
||||
Dr. Chen: *pulls up schematics* The sanctuary has multi-layered security. Let me explain the architecture.
|
||||
-> mission_sanctuary_tech_overview
|
||||
|
||||
// GENERAL TECHNICAL TOPICS
|
||||
+ {mission_phase == "downtime"} [Ask about experimental technology]
|
||||
+ {mission_phase() == "downtime"} [Ask about experimental technology]
|
||||
Dr. Chen: *eyes light up* Oh! You want to hear about the experimental stuff? Because I have some REALLY cool projects going.
|
||||
-> experimental_tech_discussion
|
||||
|
||||
+ {mission_phase == "downtime" and npc_chen_rapport >= 50} [Offer to help test experimental equipment]
|
||||
+ {mission_phase() == "downtime" and npc_chen_rapport >= 50} [Offer to help test experimental equipment]
|
||||
Dr. Chen: *excited* You'd volunteer for field testing? That would be incredibly helpful!
|
||||
-> volunteer_field_testing
|
||||
|
||||
@@ -113,18 +115,19 @@ VAR professional_reputation = 0 // GLOBAL - Agent standing
|
||||
-> technical_training_discussion
|
||||
|
||||
// EXIT OPTIONS
|
||||
+ {mission_phase == "active" and npc_location == "field_support"} [That's all I needed, thanks]
|
||||
+ {mission_phase() == "active" and npc_location() == "field_support"} [That's all I needed, thanks]
|
||||
Dr. Chen: Roger that. I'll keep monitoring your situation. Call if you need anything!
|
||||
#exit_conversation
|
||||
-> END
|
||||
|
||||
+ [That's all for now, Chen]
|
||||
{npc_chen_rapport >= 80:
|
||||
Dr. Chen: Sounds good! *warm smile* Always great talking with you. Stay safe out there!
|
||||
- npc_chen_rapport >= 50:
|
||||
Dr. Chen: Alright! Let me know if you need anything. Seriously, anytime.
|
||||
- else:
|
||||
Dr. Chen: Okay. Good luck with the mission!
|
||||
{
|
||||
- npc_chen_rapport >= 80:
|
||||
Dr. Chen: Sounds good! *warm smile* Always great talking with you. Stay safe out there!
|
||||
- npc_chen_rapport >= 50:
|
||||
Dr. Chen: Alright! Let me know if you need anything. Seriously, anytime.
|
||||
- else:
|
||||
Dr. Chen: Okay. Good luck with the mission!
|
||||
}
|
||||
#exit_conversation
|
||||
-> END
|
||||
|
||||
@@ -56,8 +56,8 @@ VAR professional_reputation = 0 // GLOBAL - Agent standing (affects all
|
||||
// Provided by game engine when conversation starts
|
||||
// ===========================================
|
||||
|
||||
EXTERNAL player_name // LOCAL - Player's agent name
|
||||
EXTERNAL current_mission_id // LOCAL - Current mission identifier
|
||||
EXTERNAL player_name() // LOCAL - Player's agent name
|
||||
EXTERNAL current_mission_id() // LOCAL - Current mission identifier
|
||||
|
||||
// ===========================================
|
||||
// ENTRY POINT - Conversation Selector
|
||||
@@ -83,12 +83,13 @@ EXTERNAL current_mission_id // LOCAL - Current mission identifier
|
||||
|
||||
=== phase_1_hub ===
|
||||
|
||||
{total_missions_completed == 1:
|
||||
Dr. Chen: Agent {player_name}! Great timing. Just finished calibrating the new sensor array. What can I help you with today?
|
||||
- npc_npc_chen_rapport >= 60:
|
||||
Dr. Chen: Oh hey! Got a minute? I've been dying to show someone this new encryption bypass I developed.
|
||||
- else:
|
||||
Dr. Chen: Agent {player_name}. Need tech support? Equipment upgrades? I'm all ears.
|
||||
{
|
||||
- total_missions_completed == 1:
|
||||
Dr. Chen: Agent {player_name()}! Great timing. Just finished calibrating the new sensor array. What can I help you with today?
|
||||
- npc_chen_rapport >= 60:
|
||||
Dr. Chen: Oh hey! Got a minute? I've been dying to show someone this new encryption bypass I developed.
|
||||
- else:
|
||||
Dr. Chen: Agent {player_name()}. Need tech support? Equipment upgrades? I'm all ears.
|
||||
}
|
||||
|
||||
+ {not npc_chen_discussed_tech_philosophy} [Ask about their approach to technology]
|
||||
|
||||
@@ -20,11 +20,11 @@ INCLUDE haxolottle_ongoing_conversations.ink
|
||||
// These are provided by the game engine
|
||||
// ===========================================
|
||||
|
||||
EXTERNAL player_name // LOCAL - Player's agent codename (not real name!)
|
||||
EXTERNAL current_mission_id // LOCAL - Current mission being discussed
|
||||
EXTERNAL npc_location // LOCAL - Where conversation happens ("handler_station", "briefing_room", "comms_active", "safehouse")
|
||||
EXTERNAL mission_phase // LOCAL - Phase of current mission ("planning", "active", "debriefing", "downtime")
|
||||
EXTERNAL operational_stress_level // LOCAL - How stressed the current situation is ("low", "moderate", "high", "crisis")
|
||||
EXTERNAL player_name() // LOCAL - Player's agent codename (not real name!)
|
||||
EXTERNAL current_mission_id() // LOCAL - Current mission being discussed
|
||||
EXTERNAL npc_location() // LOCAL - Where conversation happens ("handler_station", "briefing_room", "comms_active", "safehouse")
|
||||
EXTERNAL mission_phase() // LOCAL - Phase of current mission ("planning", "active", "debriefing", "downtime")
|
||||
EXTERNAL operational_stress_level() // LOCAL - How stressed the current situation is ("low", "moderate", "high", "crisis")
|
||||
|
||||
// ===========================================
|
||||
// GLOBAL VARIABLES (shared across all NPCs)
|
||||
@@ -41,16 +41,17 @@ VAR professional_reputation = 0 // GLOBAL - Agent standing
|
||||
=== haxolottle_conversation_entry ===
|
||||
// This is the main entry point - game engine calls this
|
||||
|
||||
{npc_location == "handler_station":
|
||||
Haxolottle: Agent {player_name}! *swivels chair around from monitors* Good to see you. What's up?
|
||||
- npc_location == "briefing_room":
|
||||
Haxolottle: *sits across from you with tablet* Okay, let's review the handler support plan for this operation.
|
||||
- npc_location == "comms_active":
|
||||
Haxolottle: *over secure comms, calm and focused* Reading you clearly, {player_name}. How can I help?
|
||||
- npc_location == "safehouse":
|
||||
Haxolottle: *relaxed posture, coffee mug nearby* Hey. Safe to talk here. What do you need?
|
||||
- else:
|
||||
Haxolottle: {player_name}! What brings you by?
|
||||
{
|
||||
- npc_location() == "handler_station":
|
||||
Haxolottle: Agent {player_name()}! *swivels chair around from monitors* Good to see you. What's up?
|
||||
- npc_location() == "briefing_room":
|
||||
Haxolottle: *sits across from you with tablet* Okay, let's review the handler support plan for this operation.
|
||||
- npc_location() == "comms_active":
|
||||
Haxolottle: *over secure comms, calm and focused* Reading you clearly, {player_name()}. How can I help?
|
||||
- npc_location() == "safehouse":
|
||||
Haxolottle: *relaxed posture, coffee mug nearby* Hey. Safe to talk here. What do you need?
|
||||
- else:
|
||||
Haxolottle: {player_name()}! What brings you by?
|
||||
}
|
||||
|
||||
-> haxolottle_main_hub
|
||||
@@ -65,82 +66,84 @@ VAR professional_reputation = 0 // GLOBAL - Agent standing
|
||||
// Show different options based on location, mission phase, stress level, and friendship
|
||||
|
||||
// CRISIS HANDLING (takes priority during high-stress situations)
|
||||
+ {operational_stress_level == "crisis" and mission_phase == "active"} [I need immediate handler support!]
|
||||
+ {operational_stress_level() == "crisis" and mission_phase() == "active"} [I need immediate handler support!]
|
||||
Haxolottle: *instantly alert* Talk to me. What's happening?
|
||||
-> crisis_handler_support
|
||||
|
||||
// PERSONAL FRIENDSHIP OPTION (available during downtime if topics exist)
|
||||
+ {has_available_personal_topics() and mission_phase == "downtime"} [Want to chat? Non-work stuff?]
|
||||
+ {has_available_personal_topics() and mission_phase() == "downtime"} [Want to chat? Non-work stuff?]
|
||||
Haxolottle: *grins* Personal conversation? According to Regulation 847, that's encouraged for psychological wellbeing.
|
||||
{npc_haxolottle_friendship_level >= 60:
|
||||
Haxolottle: And honestly, I could use a break from staring at monitors. What's on your mind?
|
||||
- else:
|
||||
Haxolottle: Sure, I've got time. What do you want to talk about?
|
||||
{
|
||||
- npc_haxolottle_friendship_level >= 60:
|
||||
Haxolottle: And honestly, I could use a break from staring at monitors. What's on your mind?
|
||||
- else:
|
||||
Haxolottle: Sure, I've got time. What do you want to talk about?
|
||||
}
|
||||
-> jump_to_personal_conversations
|
||||
|
||||
// ACTIVE MISSION HANDLER SUPPORT
|
||||
+ {mission_phase == "active" and operational_stress_level != "crisis"} [Request handler support]
|
||||
+ {mission_phase() == "active" and operational_stress_level() != "crisis"} [Request handler support]
|
||||
Haxolottle: On it. What do you need?
|
||||
-> active_mission_handler_support
|
||||
|
||||
+ {mission_phase == "active"} [Request intel update]
|
||||
+ {mission_phase() == "active"} [Request intel update]
|
||||
Haxolottle: *pulls up intel feeds* Let me give you the current situation...
|
||||
-> intel_update_active
|
||||
|
||||
+ {mission_phase == "active" and operational_stress_level == "high"} [Situation is getting complicated]
|
||||
+ {mission_phase() == "active" and operational_stress_level() == "high"} [Situation is getting complicated]
|
||||
Haxolottle: *focused* Okay. Talk me through what's happening. We'll adapt.
|
||||
-> complicated_situation_support
|
||||
|
||||
// MISSION PLANNING AND BRIEFING
|
||||
+ {current_mission_id == "ghost_in_machine" and mission_phase == "planning"} [Review handler plan for Ghost Protocol]
|
||||
+ {current_mission_id() == "ghost_in_machine" and mission_phase() == "planning"} [Review handler plan for Ghost Protocol]
|
||||
Haxolottle: Ghost Protocol. Right. *pulls up mission docs* Let's go through the support plan.
|
||||
-> mission_ghost_handler_briefing
|
||||
|
||||
+ {current_mission_id == "data_sanctuary" and mission_phase == "planning"} [Discuss Data Sanctuary handler support]
|
||||
+ {current_mission_id() == "data_sanctuary" and mission_phase() == "planning"} [Discuss Data Sanctuary handler support]
|
||||
Haxolottle: Data Sanctuary defensive operation. I'll be coordinating multi-agent support. Here's how we'll handle it.
|
||||
-> mission_sanctuary_handler_plan
|
||||
|
||||
+ {mission_phase == "planning"} [Ask about contingency planning]
|
||||
+ {mission_phase() == "planning"} [Ask about contingency planning]
|
||||
Haxolottle: Contingencies! Yes. Let's talk about what happens when things go sideways.
|
||||
Haxolottle: Per the axolotl principle—*slight smile*—we plan for regeneration.
|
||||
-> contingency_planning_discussion
|
||||
|
||||
// DEBRIEFING
|
||||
+ {mission_phase == "debriefing"} [Debrief the operation]
|
||||
+ {mission_phase() == "debriefing"} [Debrief the operation]
|
||||
Haxolottle: *opens debrief form* Alright. Let's walk through what happened. Start from the beginning.
|
||||
-> operation_debrief
|
||||
|
||||
+ {mission_phase == "debriefing" and operational_stress_level == "high"} [That mission was rough]
|
||||
+ {mission_phase() == "debriefing" and operational_stress_level() == "high"} [That mission was rough]
|
||||
Haxolottle: *concerned* Yeah, I saw. Are you okay? Physically? Mentally?
|
||||
-> rough_mission_debrief
|
||||
|
||||
// GENERAL HANDLER TOPICS (available during downtime)
|
||||
+ {mission_phase == "downtime"} [Ask about current threat landscape]
|
||||
+ {mission_phase() == "downtime"} [Ask about current threat landscape]
|
||||
Haxolottle: *brings up threat analysis dashboard* So, here's what ENTROPY is up to lately...
|
||||
-> threat_landscape_update
|
||||
|
||||
+ {mission_phase == "downtime" and npc_haxolottle_friendship_level >= 40} [Ask for operational advice]
|
||||
+ {mission_phase() == "downtime" and npc_haxolottle_friendship_level >= 40} [Ask for operational advice]
|
||||
Haxolottle: You want my handler perspective? *settles in* Sure. What's the question?
|
||||
-> operational_advice_from_handler
|
||||
|
||||
+ {npc_haxolottle_friendship_level >= 50 and mission_phase == "downtime"} [Ask about handler tradecraft]
|
||||
+ {npc_haxolottle_friendship_level >= 50 and mission_phase() == "downtime"} [Ask about handler tradecraft]
|
||||
Haxolottle: Handler tradecraft! You're interested in the behind-the-scenes stuff?
|
||||
-> handler_tradecraft_discussion
|
||||
|
||||
// EXIT OPTIONS
|
||||
+ {mission_phase == "active"} [That's all I needed. Thanks, Hax.]
|
||||
+ {mission_phase() == "active"} [That's all I needed. Thanks, Hax.]
|
||||
Haxolottle: Roger. I'm monitoring your situation. Call if you need anything. Stay safe out there.
|
||||
#exit_conversation
|
||||
-> END
|
||||
|
||||
+ [That's all for now]
|
||||
{npc_haxolottle_friendship_level >= 70:
|
||||
Haxolottle: Alright, {player_name}. *genuine warmth* Always good talking with you. Take care of yourself.
|
||||
- npc_haxolottle_friendship_level >= 40:
|
||||
Haxolottle: Sounds good. Let me know if you need anything. Really, anytime.
|
||||
- else:
|
||||
Haxolottle: Okay. Talk later!
|
||||
{
|
||||
- npc_haxolottle_friendship_level >= 70:
|
||||
Haxolottle: Alright, {player_name()}. *genuine warmth* Always good talking with you. Take care of yourself.
|
||||
- npc_haxolottle_friendship_level >= 40:
|
||||
Haxolottle: Sounds good. Let me know if you need anything. Really, anytime.
|
||||
- else:
|
||||
Haxolottle: Okay. Talk later!
|
||||
}
|
||||
#exit_conversation
|
||||
-> END
|
||||
|
||||
@@ -62,8 +62,8 @@ VAR professional_reputation = 0 // GLOBAL - Agent standing (affects all
|
||||
// Provided by game engine when conversation starts
|
||||
// ===========================================
|
||||
|
||||
EXTERNAL player_name // LOCAL - Player's agent name
|
||||
EXTERNAL current_mission_id // LOCAL - Current mission identifier
|
||||
EXTERNAL player_name() // LOCAL - Player's agent name
|
||||
EXTERNAL current_mission_id() // LOCAL - Current mission identifier
|
||||
|
||||
// ===========================================
|
||||
// ENTRY POINT - Conversation Selector
|
||||
|
||||
@@ -20,10 +20,10 @@ INCLUDE netherton_ongoing_conversations.ink
|
||||
// These are provided by the game engine
|
||||
// ===========================================
|
||||
|
||||
EXTERNAL player_name // LOCAL - Player's agent name
|
||||
EXTERNAL current_mission_id // LOCAL - Current mission being discussed
|
||||
EXTERNAL npc_location // LOCAL - Where conversation happens ("office", "safehouse", "field", "briefing_room")
|
||||
EXTERNAL mission_phase // LOCAL - Phase of current mission ("pre_briefing", "active", "debriefing", "downtime")
|
||||
EXTERNAL player_name() // LOCAL - Player's agent name
|
||||
EXTERNAL current_mission_id() // LOCAL - Current mission being discussed
|
||||
EXTERNAL npc_location() // LOCAL - Where conversation happens ("office", "safehouse", "field", "briefing_room")
|
||||
EXTERNAL mission_phase() // LOCAL - Phase of current mission ("pre_briefing", "active", "debriefing", "downtime")
|
||||
|
||||
// ===========================================
|
||||
// GLOBAL VARIABLES (shared across all NPCs)
|
||||
@@ -40,16 +40,17 @@ VAR professional_reputation = 0 // GLOBAL - Agent standing
|
||||
=== netherton_conversation_entry ===
|
||||
// This is the main entry point - game engine calls this
|
||||
|
||||
{npc_location == "office":
|
||||
Netherton: Agent {player_name}. *gestures to chair* What do you need?
|
||||
- npc_location == "briefing_room":
|
||||
Netherton: Agent. *stands at tactical display* We have matters to discuss.
|
||||
- npc_location == "field":
|
||||
Netherton: *over secure comms* Agent. Report.
|
||||
- npc_location == "safehouse":
|
||||
Netherton: *sits across from you in the secure room* We're clear to talk here. What's on your mind?
|
||||
- else:
|
||||
Netherton: Agent {player_name}. What requires my attention?
|
||||
{
|
||||
- npc_location() == "office":
|
||||
Netherton: Agent {player_name()}. *gestures to chair* What do you need?
|
||||
- npc_location() == "briefing_room":
|
||||
Netherton: Agent. *stands at tactical display* We have matters to discuss.
|
||||
- npc_location() == "field":
|
||||
Netherton: *over secure comms* Agent. Report.
|
||||
- npc_location() == "safehouse":
|
||||
Netherton: *sits across from you in the secure room* We're clear to talk here. What's on your mind?
|
||||
- else:
|
||||
Netherton: Agent {player_name()}. What requires my attention?
|
||||
}
|
||||
|
||||
-> netherton_main_hub
|
||||
@@ -64,58 +65,60 @@ VAR professional_reputation = 0 // GLOBAL - Agent standing
|
||||
// Show different options based on location, mission phase, and relationship level
|
||||
|
||||
// PERSONAL RELATIONSHIP OPTION (always available if topics exist)
|
||||
+ {has_available_personal_topics() and mission_phase != "active"} [How are you, Director?]
|
||||
+ {has_available_personal_topics() and mission_phase() != "active"} [How are you, Director?]
|
||||
Netherton: *slight pause, as if surprised by personal question*
|
||||
{npc_netherton_respect >= 70:
|
||||
Netherton: That's... considerate of you to ask, Agent. I have a moment for personal discussion.
|
||||
- else:
|
||||
Netherton: An unusual question. But acceptable. What do you wish to discuss?
|
||||
{
|
||||
- npc_netherton_respect >= 70:
|
||||
Netherton: That's... considerate of you to ask, Agent. I have a moment for personal discussion.
|
||||
- else:
|
||||
Netherton: An unusual question. But acceptable. What do you wish to discuss?
|
||||
}
|
||||
-> jump_to_personal_conversations
|
||||
|
||||
// MISSION-SPECIFIC CONVERSATIONS (context-dependent)
|
||||
+ {current_mission_id == "ghost_in_machine" and mission_phase == "pre_briefing"} [Request briefing for Ghost Protocol operation]
|
||||
+ {current_mission_id() == "ghost_in_machine" and mission_phase() == "pre_briefing"} [Request briefing for Ghost Protocol operation]
|
||||
Netherton: Very well. Let me bring you up to speed on Ghost Protocol.
|
||||
-> mission_ghost_briefing
|
||||
|
||||
+ {current_mission_id == "ghost_in_machine" and mission_phase == "active"} [Request tactical guidance]
|
||||
+ {current_mission_id() == "ghost_in_machine" and mission_phase() == "active"} [Request tactical guidance]
|
||||
Netherton: *reviews your position on tactical display* What do you need?
|
||||
-> mission_ghost_tactical_support
|
||||
|
||||
+ {current_mission_id == "ghost_in_machine" and mission_phase == "debriefing"} [Debrief Ghost Protocol operation]
|
||||
+ {current_mission_id() == "ghost_in_machine" and mission_phase() == "debriefing"} [Debrief Ghost Protocol operation]
|
||||
Netherton: Submit your report, Agent.
|
||||
-> mission_ghost_debrief
|
||||
|
||||
+ {current_mission_id == "data_sanctuary"} [About the Data Sanctuary operation...]
|
||||
+ {current_mission_id() == "data_sanctuary"} [About the Data Sanctuary operation...]
|
||||
Netherton: The Data Sanctuary. A delicate situation. What questions do you have?
|
||||
-> mission_sanctuary_discussion
|
||||
|
||||
+ {mission_phase == "downtime" and npc_netherton_respect >= 60} [Ask for operational advice]
|
||||
+ {mission_phase() == "downtime" and npc_netherton_respect >= 60} [Ask for operational advice]
|
||||
Netherton: You want my counsel? *slight approval* Very well.
|
||||
-> operational_advice_discussion
|
||||
|
||||
// GENERAL PROFESSIONAL TOPICS (available when not in active mission)
|
||||
+ {mission_phase != "active"} [Ask about SAFETYNET operations status]
|
||||
+ {mission_phase() != "active"} [Ask about SAFETYNET operations status]
|
||||
Netherton: *brings up secure display* Current operations status...
|
||||
-> safetynet_status_update
|
||||
|
||||
+ {professional_reputation >= 50 and mission_phase == "downtime"} [Request additional training opportunities]
|
||||
+ {professional_reputation >= 50 and mission_phase() == "downtime"} [Request additional training opportunities]
|
||||
Netherton: Initiative. Good. What areas do you wish to develop?
|
||||
-> training_discussion
|
||||
|
||||
// EXIT OPTIONS
|
||||
+ {mission_phase == "active"} [That's all I needed, Director]
|
||||
+ {mission_phase() == "active"} [That's all I needed, Director]
|
||||
Netherton: Understood. Execute the mission. Report any developments.
|
||||
#exit_conversation
|
||||
-> END
|
||||
|
||||
+ [That will be all, Director]
|
||||
{npc_netherton_respect >= 80:
|
||||
Netherton: Very well, Agent {player_name}. *almost warm* Continue your excellent work.
|
||||
- npc_netherton_respect >= 60:
|
||||
Netherton: Dismissed. Maintain your current performance level.
|
||||
- else:
|
||||
Netherton: Dismissed.
|
||||
{
|
||||
- npc_netherton_respect >= 80:
|
||||
Netherton: Very well, Agent {player_name()}. *almost warm* Continue your excellent work.
|
||||
- npc_netherton_respect >= 60:
|
||||
Netherton: Dismissed. Maintain your current performance level.
|
||||
- else:
|
||||
Netherton: Dismissed.
|
||||
}
|
||||
#exit_conversation
|
||||
-> END
|
||||
|
||||
@@ -55,8 +55,8 @@ VAR professional_reputation = 0 // GLOBAL - Agent standing (affects all
|
||||
// Provided by game engine when conversation starts
|
||||
// ===========================================
|
||||
|
||||
EXTERNAL player_name // LOCAL - Player's agent name
|
||||
EXTERNAL current_mission_id // LOCAL - Current mission identifier
|
||||
EXTERNAL player_name() // LOCAL - Player's agent name
|
||||
EXTERNAL current_mission_id() // LOCAL - Current mission identifier
|
||||
|
||||
// ===========================================
|
||||
// ENTRY POINT - Conversation Selector
|
||||
|
||||
Reference in New Issue
Block a user