mirror of
https://bitbucket.org/seefoe/dsrc.git
synced 2026-07-31 01:15:55 -04:00
492 lines
15 KiB
Plaintext
492 lines
15 KiB
Plaintext
// ======================================================================
|
|
//
|
|
// itp_kaja_main.script
|
|
//
|
|
//
|
|
//
|
|
// Created with SwgConversationEditor 1.36 - DO NOT EDIT THIS AUTO-GENERATED FILE!
|
|
//
|
|
// ======================================================================
|
|
|
|
// ======================================================================
|
|
// Library Includes
|
|
// ======================================================================
|
|
|
|
include library.ai_lib;
|
|
include library.chat;
|
|
include library.factions;
|
|
include library.groundquests;
|
|
include library.space_quest;
|
|
include library.utils;
|
|
|
|
// ======================================================================
|
|
// Script Constants
|
|
// ======================================================================
|
|
|
|
string c_stringFile = "conversation/itp_kaja_main";
|
|
|
|
// ======================================================================
|
|
// Script Conditions
|
|
// ======================================================================
|
|
|
|
boolean itp_kaja_main_condition__defaultCondition (obj_id player, obj_id npc)
|
|
{
|
|
return true;
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
boolean itp_kaja_main_condition_itp_kaja_01_active (obj_id player, obj_id npc)
|
|
{
|
|
return groundquests.isQuestActive(player, "itp_kaja_01");
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
boolean itp_kaja_main_condition_itp_kaja_01_complete (obj_id player, obj_id npc)
|
|
{
|
|
return groundquests.isTaskActive(player, "itp_kaja_01", "itp_kaja_01_04") ||
|
|
groundquests.hasCompletedQuest(player, "itp_kaja_01");
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
boolean itp_kaja_main_condition_itp_kaja_02_active (obj_id player, obj_id npc)
|
|
{
|
|
return groundquests.isQuestActive(player, "itp_kaja_02");
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
boolean itp_kaja_main_condition_playerLevelCheck (obj_id player, obj_id npc)
|
|
{
|
|
return (getLevel(player) < 80);
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
boolean itp_kaja_main_condition_itp_kaja_02_complete (obj_id player, obj_id npc)
|
|
{
|
|
return groundquests.isTaskActive(player, "itp_kaja_02", "itp_kaja_02_03") ||
|
|
groundquests.hasCompletedQuest(player, "itp_kaja_02");
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
boolean itp_kaja_main_condition_notImperial (obj_id player, obj_id npc)
|
|
{
|
|
string playerFaction = factions.getFaction(player);
|
|
if ( playerFaction == null || !playerFaction.equals("Imperial") )
|
|
{
|
|
return true;
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
boolean itp_kaja_main_condition_imperial_isOnLeave (obj_id player, obj_id npc)
|
|
{
|
|
return factions.isOnLeave(player);
|
|
}
|
|
|
|
// ======================================================================
|
|
// Script Actions
|
|
// ======================================================================
|
|
|
|
void itp_kaja_main_action_itp_kaja_01_granted (obj_id player, obj_id npc)
|
|
{
|
|
groundquests.grantQuest(player, "itp_kaja_01");
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
void itp_kaja_main_action_itp_kaja_01_signal (obj_id player, obj_id npc)
|
|
{
|
|
groundquests.sendSignal(player, "itp_kaja_01_04");
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
void itp_kaja_main_action_itp_kaja_02_signal (obj_id player, obj_id npc)
|
|
{
|
|
groundquests.sendSignal(player, "itp_kaja_02_03");
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
void itp_kaja_main_action_itp_kaja_02_granted (obj_id player, obj_id npc)
|
|
{
|
|
groundquests.grantQuest(player, "itp_kaja_02");
|
|
}
|
|
|
|
// ======================================================================
|
|
// Script %TO Tokens
|
|
// ======================================================================
|
|
|
|
// ======================================================================
|
|
// Script %DI Tokens
|
|
// ======================================================================
|
|
|
|
// ======================================================================
|
|
// Script %DF Tokens
|
|
// ======================================================================
|
|
|
|
// ======================================================================
|
|
// handleBranch<n> Functions
|
|
// ======================================================================
|
|
|
|
int itp_kaja_main_handleBranch5 (obj_id player, obj_id npc, string_id response)
|
|
{
|
|
//-- [BRANCH NOTE]
|
|
//-- NPC: We wish to track down Major Herand's contacts here on Naboo. Using his codes, send a signal from the communication array asking for help escaping from Naboo.
|
|
|
|
//-- [RESPONSE NOTE]
|
|
//-- PLAYER: I'll handle it immediately.
|
|
if (response == "s_22")
|
|
{
|
|
//-- [NOTE]
|
|
if (itp_kaja_main_condition__defaultCondition (player, npc))
|
|
{
|
|
itp_kaja_main_action_itp_kaja_02_granted (player, npc);
|
|
|
|
//-- NPC: The message should say that you suspect your cover has been compromised and that you need immediate help escaping the planet. Then track them and eliminate them. Gather any intel from their camp that you can.
|
|
string_id message = new string_id (c_stringFile, "s_25");
|
|
utils.removeScriptVar (player, "conversation.itp_kaja_main.branchId");
|
|
|
|
npcEndConversationWithMessage (player, message);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
}
|
|
|
|
//-- [RESPONSE NOTE]
|
|
//-- PLAYER: No thank you.
|
|
if (response == "s_26")
|
|
{
|
|
//-- [NOTE]
|
|
if (itp_kaja_main_condition__defaultCondition (player, npc))
|
|
{
|
|
//-- NPC: Very well.
|
|
string_id message = new string_id (c_stringFile, "s_30");
|
|
utils.removeScriptVar (player, "conversation.itp_kaja_main.branchId");
|
|
|
|
npcEndConversationWithMessage (player, message);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
}
|
|
|
|
return SCRIPT_DEFAULT;
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
int itp_kaja_main_handleBranch10 (obj_id player, obj_id npc, string_id response)
|
|
{
|
|
//-- [BRANCH NOTE]
|
|
//-- NPC: There is reason to believe that an officer in this retreat is selling information to the Rebel Alliance. Your assistance is required to help find and apprehend this traitor
|
|
|
|
//-- [RESPONSE NOTE]
|
|
//-- PLAYER: I am ready to help.
|
|
if (response == "s_36")
|
|
{
|
|
//-- [NOTE]
|
|
if (itp_kaja_main_condition__defaultCondition (player, npc))
|
|
{
|
|
itp_kaja_main_action_itp_kaja_01_granted (player, npc);
|
|
|
|
//-- NPC: To find the identity of the traitor, you will investigate recent suspicious incidents. Check the requisition terminal's logs and find out who procured a jamming device that was discovered on an AT-ST. Examine the terminals on the guard towers for unauthorized access. Question the shuttle pilot about the person he saw tampering with the shuttle.
|
|
string_id message = new string_id (c_stringFile, "s_39");
|
|
utils.removeScriptVar (player, "conversation.itp_kaja_main.branchId");
|
|
|
|
npcEndConversationWithMessage (player, message);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
}
|
|
|
|
//-- [RESPONSE NOTE]
|
|
//-- PLAYER: No thank you.
|
|
if (response == "s_41")
|
|
{
|
|
//-- [NOTE]
|
|
if (itp_kaja_main_condition__defaultCondition (player, npc))
|
|
{
|
|
//-- NPC: Very well.
|
|
string_id message = new string_id (c_stringFile, "s_45");
|
|
utils.removeScriptVar (player, "conversation.itp_kaja_main.branchId");
|
|
|
|
npcEndConversationWithMessage (player, message);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
}
|
|
|
|
return SCRIPT_DEFAULT;
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
// ======================================================================
|
|
// User Script Triggers
|
|
// ======================================================================
|
|
|
|
trigger OnInitialize ()
|
|
{
|
|
if ((!isMob (self)) || (isPlayer (self)))
|
|
detachScript(self, "conversation.itp_kaja_main");
|
|
|
|
setCondition (self, CONDITION_CONVERSABLE);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
trigger OnAttach ()
|
|
{
|
|
setCondition (self, CONDITION_CONVERSABLE);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
trigger OnObjectMenuRequest (obj_id player, menu_info menuInfo)
|
|
{
|
|
int menu = menuInfo.addRootMenu (menu_info_types.CONVERSE_START, null);
|
|
menu_info_data menuInfoData = menuInfo.getMenuItemById (menu);
|
|
menuInfoData.setServerNotify (false);
|
|
|
|
faceTo( self, player );
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
trigger OnIncapacitated (obj_id killer)
|
|
{
|
|
clearCondition (self, CONDITION_CONVERSABLE);
|
|
detachScript (self, "conversation.itp_kaja_main");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
// ======================================================================
|
|
// Script Triggers
|
|
// ======================================================================
|
|
|
|
//-- This function should move to base_class.java
|
|
boolean npcStartConversation(obj_id player, obj_id npc, string convoName, string_id greetingId, prose_package greetingProse, string_id[] responses)
|
|
{
|
|
Object[] objects = new Object[responses.length];
|
|
System.arraycopy(responses, 0, objects, 0, responses.length);
|
|
return npcStartConversation(player, npc, convoName, greetingId, greetingProse, objects);
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
trigger OnStartNpcConversation (obj_id player)
|
|
{
|
|
obj_id npc = self;
|
|
|
|
if (ai_lib.isInCombat (npc) || ai_lib.isInCombat (player))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
//-- [NOTE]
|
|
if (itp_kaja_main_condition_notImperial (player, npc))
|
|
{
|
|
//-- NPC: You are not welcome here.
|
|
string_id message = new string_id (c_stringFile, "s_44");
|
|
chat.chat (npc, player, message);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
//-- [NOTE]
|
|
if (itp_kaja_main_condition_imperial_isOnLeave (player, npc))
|
|
{
|
|
//-- NPC: I'm afraid I only have orders I have are for those on active duty.
|
|
string_id message = new string_id (c_stringFile, "s_43");
|
|
chat.chat (npc, player, message);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
//-- [NOTE]
|
|
if (itp_kaja_main_condition_itp_kaja_02_complete (player, npc))
|
|
{
|
|
itp_kaja_main_action_itp_kaja_02_signal (player, npc);
|
|
|
|
//-- NPC: Well done. With the traitor Herand eliminated and his contacts removed, you have helped to make Naboo safer for the Empire. Oh, but before you go, Inquisitor Redge would like a word with you.
|
|
string_id message = new string_id (c_stringFile, "s_28");
|
|
chat.chat (npc, player, message);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
//-- [NOTE]
|
|
if (itp_kaja_main_condition_itp_kaja_02_active (player, npc))
|
|
{
|
|
//-- NPC: Using Major Herand's codes, send a signal from the communication array. The message should say that you suspect your cover has been compromised and that you need immediate help escaping the planet. Then track them and eliminate them. Gather any intel from their camp that you can.
|
|
string_id message = new string_id (c_stringFile, "s_16");
|
|
chat.chat (npc, player, message);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
//-- [NOTE]
|
|
if (itp_kaja_main_condition_itp_kaja_01_complete (player, npc))
|
|
{
|
|
itp_kaja_main_action_itp_kaja_01_signal (player, npc);
|
|
|
|
//-- NPC: We wish to track down Major Herand's contacts here on Naboo. Using his codes, send a signal from the communication array asking for help escaping from Naboo.
|
|
string_id message = new string_id (c_stringFile, "s_20");
|
|
int numberOfResponses = 0;
|
|
|
|
boolean hasResponse = false;
|
|
|
|
//-- PLAYER: I'll handle it immediately.
|
|
boolean hasResponse0 = false;
|
|
if (itp_kaja_main_condition__defaultCondition (player, npc))
|
|
{
|
|
++numberOfResponses;
|
|
hasResponse = true;
|
|
hasResponse0 = true;
|
|
}
|
|
|
|
//-- PLAYER: No thank you.
|
|
boolean hasResponse1 = false;
|
|
if (itp_kaja_main_condition__defaultCondition (player, npc))
|
|
{
|
|
++numberOfResponses;
|
|
hasResponse = true;
|
|
hasResponse1 = true;
|
|
}
|
|
|
|
if (hasResponse)
|
|
{
|
|
int responseIndex = 0;
|
|
string_id responses [] = new string_id [numberOfResponses];
|
|
|
|
if (hasResponse0)
|
|
responses [responseIndex++] = new string_id (c_stringFile, "s_22");
|
|
|
|
if (hasResponse1)
|
|
responses [responseIndex++] = new string_id (c_stringFile, "s_26");
|
|
|
|
utils.setScriptVar (player, "conversation.itp_kaja_main.branchId", 5);
|
|
|
|
npcStartConversation (player, npc, "itp_kaja_main", message, responses);
|
|
}
|
|
else
|
|
{
|
|
chat.chat (npc, player, message);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
//-- [NOTE]
|
|
if (itp_kaja_main_condition_itp_kaja_01_active (player, npc))
|
|
{
|
|
//-- NPC: To find the identity of the traitor, you will investigate recent suspicious incidents. Check the requisition terminal's logs and find out who procured a jamming device that was discovered on an AT-ST. Examine the terminals on the guard towers for unauthorized access. Question the shuttle pilot about the person he saw tampering with the shuttle. Get to it, trooper.
|
|
string_id message = new string_id (c_stringFile, "s_32");
|
|
chat.chat (npc, player, message);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
//-- [NOTE]
|
|
if (itp_kaja_main_condition_playerLevelCheck (player, npc))
|
|
{
|
|
//-- NPC: Greetings, my friend and well met. I am always glad to see an upcoming member of the Empire show an interest in furthering their military career. Unfortunately, the military objectives I can offer are for someone a bit more seasoned. Return when you have more experience.
|
|
string_id message = new string_id (c_stringFile, "s_19");
|
|
chat.chat (npc, player, message);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
//-- [NOTE]
|
|
if (itp_kaja_main_condition__defaultCondition (player, npc))
|
|
{
|
|
//-- NPC: There is reason to believe that an officer in this retreat is selling information to the Rebel Alliance. Your assistance is required to help find and apprehend this traitor
|
|
string_id message = new string_id (c_stringFile, "s_34");
|
|
int numberOfResponses = 0;
|
|
|
|
boolean hasResponse = false;
|
|
|
|
//-- PLAYER: I am ready to help.
|
|
boolean hasResponse0 = false;
|
|
if (itp_kaja_main_condition__defaultCondition (player, npc))
|
|
{
|
|
++numberOfResponses;
|
|
hasResponse = true;
|
|
hasResponse0 = true;
|
|
}
|
|
|
|
//-- PLAYER: No thank you.
|
|
boolean hasResponse1 = false;
|
|
if (itp_kaja_main_condition__defaultCondition (player, npc))
|
|
{
|
|
++numberOfResponses;
|
|
hasResponse = true;
|
|
hasResponse1 = true;
|
|
}
|
|
|
|
if (hasResponse)
|
|
{
|
|
int responseIndex = 0;
|
|
string_id responses [] = new string_id [numberOfResponses];
|
|
|
|
if (hasResponse0)
|
|
responses [responseIndex++] = new string_id (c_stringFile, "s_36");
|
|
|
|
if (hasResponse1)
|
|
responses [responseIndex++] = new string_id (c_stringFile, "s_41");
|
|
|
|
utils.setScriptVar (player, "conversation.itp_kaja_main.branchId", 10);
|
|
|
|
npcStartConversation (player, npc, "itp_kaja_main", message, responses);
|
|
}
|
|
else
|
|
{
|
|
chat.chat (npc, player, message);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
chat.chat (npc, "Error: All conditions for OnStartNpcConversation were false.");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
trigger OnNpcConversationResponse (string conversationId, obj_id player, string_id response)
|
|
{
|
|
if (conversationId != "itp_kaja_main")
|
|
return SCRIPT_CONTINUE;
|
|
|
|
obj_id npc = self;
|
|
|
|
int branchId = utils.getIntScriptVar (player, "conversation.itp_kaja_main.branchId");
|
|
|
|
if (branchId == 5 && itp_kaja_main_handleBranch5 (player, npc, response) == SCRIPT_CONTINUE)
|
|
return SCRIPT_CONTINUE;
|
|
|
|
if (branchId == 10 && itp_kaja_main_handleBranch10 (player, npc, response) == SCRIPT_CONTINUE)
|
|
return SCRIPT_CONTINUE;
|
|
|
|
chat.chat (npc, "Error: Fell through all branches and responses for OnNpcConversationResponse.");
|
|
|
|
utils.removeScriptVar (player, "conversation.itp_kaja_main.branchId");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
// ======================================================================
|
|
|