Files
dsrc/sku.0/sys.server/compiled/game/script/conversation/legacy_darklighter_guard.script
T

608 lines
17 KiB
Plaintext

// ======================================================================
//
// legacy_darklighter_guard.script
//
//
//
// Created with SwgConversationEditor 1.35 - DO NOT EDIT THIS AUTO-GENERATED FILE!
//
// ======================================================================
// ======================================================================
// Library Includes
// ======================================================================
include library.ai_lib;
include library.chat;
include library.features;
include library.groundquests;
include library.utils;
// ======================================================================
// Script Constants
// ======================================================================
string c_stringFile = "conversation/legacy_darklighter_guard";
// ======================================================================
// Script Conditions
// ======================================================================
boolean legacy_darklighter_guard_condition__defaultCondition (obj_id player, obj_id npc)
{
return true;
}
// ----------------------------------------------------------------------
boolean legacy_darklighter_guard_condition_onQuest (obj_id player, obj_id npc)
{
int questId1 = questGetQuestId("quest/tatooine_knives_thrust");
boolean OnTask= (questIsQuestActive(questId1, player));
return OnTask;
}
// ----------------------------------------------------------------------
boolean legacy_darklighter_guard_condition_onTask (obj_id player, obj_id npc)
{
int questId1 = questGetQuestId("quest/tatooine_knives_thrust");
int snitch = groundquests.getTaskId(questId1, "tatooine_knives_thrust_e4");
boolean legacy_darklighter_guard_condition_onTask = questIsTaskActive(questId1, snitch, player);
return legacy_darklighter_guard_condition_onTask;
}
// ----------------------------------------------------------------------
boolean legacy_darklighter_guard_condition_questComplete (obj_id player, obj_id npc)
{
int questId1 = questGetQuestId("quest/legacy_button_dark");
int questId2 = questGetQuestId("quest/tatooine_knives_thrust");
boolean OnTask = (questIsQuestComplete(questId1, player))||(questIsQuestComplete(questId2, player));
return OnTask;
}
// ----------------------------------------------------------------------
boolean legacy_darklighter_guard_condition_onTorP (obj_id player, obj_id npc)
{
int questId1 = questGetQuestId("quest/tatoonie_knives_thrust");
int questId2 = questGetQuestId("quest/tatoonie_knives_parry");
boolean OnTask= (questIsQuestActive(questId1, player))||(questIsQuestActive(questId2, player));
return OnTask;
}
// ======================================================================
// Script Actions
// ======================================================================
void legacy_darklighter_guard_action_facePlayer (obj_id player, obj_id npc)
{
faceTo(npc, player);
}
// ----------------------------------------------------------------------
void legacy_darklighter_guard_action_giveQuest (obj_id player, obj_id npc)
{
int questId = questGetQuestId("quest/yavin_meganjobs_hyperdrive");
groundquests.grantQuest(questId, player, npc, true);
}
// ----------------------------------------------------------------------
void legacy_darklighter_guard_action_startRun (obj_id player, obj_id npc)
{
groundquests.sendSignal(player, "legacy_button_darklighter_launch_e2");
}
// ======================================================================
// Script %TO Tokens
// ======================================================================
// ======================================================================
// Script %DI Tokens
// ======================================================================
// ======================================================================
// Script %DF Tokens
// ======================================================================
// ======================================================================
// handleBranch<n> Functions
// ======================================================================
int legacy_darklighter_guard_handleBranch1 (obj_id player, obj_id npc, string_id response)
{
//-- [BRANCH NOTE]
//-- NPC: They just blew their way in!
//-- [RESPONSE NOTE]
//-- PLAYER: Who did?
if (response == "s_8")
{
//-- [NOTE]
if (legacy_darklighter_guard_condition__defaultCondition (player, npc))
{
doAnimationAction (npc, "blame");
//-- NPC: Desert Demons. I couldn't do anything to stop them, and they are cleaning the place out.
string_id message = new string_id (c_stringFile, "s_10");
int numberOfResponses = 0;
boolean hasResponse = false;
//-- PLAYER: How much time do we have before it's all cleared out?
boolean hasResponse0 = false;
if (legacy_darklighter_guard_condition__defaultCondition (player, npc))
{
++numberOfResponses;
hasResponse = true;
hasResponse0 = true;
}
//-- PLAYER: Sounds bad.
boolean hasResponse1 = false;
if (legacy_darklighter_guard_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_43");
if (hasResponse1)
responses [responseIndex++] = new string_id (c_stringFile, "s_13");
utils.setScriptVar (player, "conversation.legacy_darklighter_guard.branchId", 2);
npcSpeak (player, message);
npcSetConversationResponses (player, responses);
}
else
{
utils.removeScriptVar (player, "conversation.legacy_darklighter_guard.branchId");
npcEndConversationWithMessage (player, message);
}
return SCRIPT_CONTINUE;
}
}
return SCRIPT_DEFAULT;
}
// ----------------------------------------------------------------------
int legacy_darklighter_guard_handleBranch2 (obj_id player, obj_id npc, string_id response)
{
//-- [BRANCH NOTE]
//-- NPC: Desert Demons. I couldn't do anything to stop them, and they are cleaning the place out.
//-- [RESPONSE NOTE]
//-- PLAYER: How much time do we have before it's all cleared out?
if (response == "s_43")
{
//-- [NOTE]
if (legacy_darklighter_guard_condition__defaultCondition (player, npc))
{
legacy_darklighter_guard_action_startRun (player, npc);
//-- NPC: 15 minutes tops.
string_id message = new string_id (c_stringFile, "s_44");
int numberOfResponses = 0;
boolean hasResponse = false;
//-- PLAYER: I've got to run then.
boolean hasResponse0 = false;
if (legacy_darklighter_guard_condition__defaultCondition (player, npc))
{
++numberOfResponses;
hasResponse = true;
hasResponse0 = true;
}
if (hasResponse)
{
int responseIndex = 0;
string_id responses [] = new string_id [numberOfResponses];
if (hasResponse0)
responses [responseIndex++] = new string_id (c_stringFile, "s_47");
utils.setScriptVar (player, "conversation.legacy_darklighter_guard.branchId", 3);
npcSpeak (player, message);
npcSetConversationResponses (player, responses);
}
else
{
utils.removeScriptVar (player, "conversation.legacy_darklighter_guard.branchId");
npcEndConversationWithMessage (player, message);
}
return SCRIPT_CONTINUE;
}
}
//-- [RESPONSE NOTE]
//-- PLAYER: Sounds bad.
if (response == "s_13")
{
//-- [NOTE]
if (legacy_darklighter_guard_condition__defaultCondition (player, npc))
{
doAnimationAction (npc, "catchbreath");
legacy_darklighter_guard_action_facePlayer (player, npc);
//-- NPC: It is. The Darklighter clan has been gathering supplies to help them through the tough times.
string_id message = new string_id (c_stringFile, "s_15");
int numberOfResponses = 0;
boolean hasResponse = false;
//-- PLAYER: Tough times?
boolean hasResponse0 = false;
if (legacy_darklighter_guard_condition__defaultCondition (player, npc))
{
++numberOfResponses;
hasResponse = true;
hasResponse0 = true;
}
if (hasResponse)
{
int responseIndex = 0;
string_id responses [] = new string_id [numberOfResponses];
if (hasResponse0)
responses [responseIndex++] = new string_id (c_stringFile, "s_40");
utils.setScriptVar (player, "conversation.legacy_darklighter_guard.branchId", 5);
npcSpeak (player, message);
npcSetConversationResponses (player, responses);
}
else
{
utils.removeScriptVar (player, "conversation.legacy_darklighter_guard.branchId");
npcEndConversationWithMessage (player, message);
}
return SCRIPT_CONTINUE;
}
}
return SCRIPT_DEFAULT;
}
// ----------------------------------------------------------------------
int legacy_darklighter_guard_handleBranch3 (obj_id player, obj_id npc, string_id response)
{
//-- [BRANCH NOTE]
//-- NPC: 15 minutes tops.
//-- [RESPONSE NOTE]
//-- PLAYER: I've got to run then.
if (response == "s_47")
{
//-- [NOTE]
if (legacy_darklighter_guard_condition__defaultCondition (player, npc))
{
doAnimationAction (npc, "blame");
//-- NPC: So you are just another looter.
string_id message = new string_id (c_stringFile, "s_48");
utils.removeScriptVar (player, "conversation.legacy_darklighter_guard.branchId");
npcEndConversationWithMessage (player, message);
return SCRIPT_CONTINUE;
}
}
return SCRIPT_DEFAULT;
}
// ----------------------------------------------------------------------
int legacy_darklighter_guard_handleBranch5 (obj_id player, obj_id npc, string_id response)
{
//-- [BRANCH NOTE]
//-- NPC: It is. The Darklighter clan has been gathering supplies to help them through the tough times.
//-- [RESPONSE NOTE]
//-- PLAYER: Tough times?
if (response == "s_40")
{
//-- [NOTE]
if (legacy_darklighter_guard_condition__defaultCondition (player, npc))
{
//-- NPC: There is a civil war going on, if you hadn't noticed. Supplies and equipment are going to be in short supply for the civilian population. The Darklighters saw this coming and have been accumulating a cache of supplies to help get though these times.
string_id message = new string_id (c_stringFile, "s_42");
int numberOfResponses = 0;
boolean hasResponse = false;
//-- PLAYER: And how long until everything is gone?
boolean hasResponse0 = false;
if (legacy_darklighter_guard_condition__defaultCondition (player, npc))
{
++numberOfResponses;
hasResponse = true;
hasResponse0 = true;
}
if (hasResponse)
{
int responseIndex = 0;
string_id responses [] = new string_id [numberOfResponses];
if (hasResponse0)
responses [responseIndex++] = new string_id (c_stringFile, "s_46");
utils.setScriptVar (player, "conversation.legacy_darklighter_guard.branchId", 6);
npcSpeak (player, message);
npcSetConversationResponses (player, responses);
}
else
{
utils.removeScriptVar (player, "conversation.legacy_darklighter_guard.branchId");
npcEndConversationWithMessage (player, message);
}
return SCRIPT_CONTINUE;
}
}
return SCRIPT_DEFAULT;
}
// ----------------------------------------------------------------------
int legacy_darklighter_guard_handleBranch6 (obj_id player, obj_id npc, string_id response)
{
//-- [BRANCH NOTE]
//-- NPC: There is a civil war going on, if you hadn't noticed. Supplies and equipment are going to be in short supply for the civilian population. The Darklighters saw this coming and have been accumulating a cache of supplies to help get though these times.
//-- [RESPONSE NOTE]
//-- PLAYER: And how long until everything is gone?
if (response == "s_46")
{
//-- [NOTE]
if (legacy_darklighter_guard_condition__defaultCondition (player, npc))
{
legacy_darklighter_guard_action_startRun (player, npc);
//-- NPC: 15 minutes tops.
string_id message = new string_id (c_stringFile, "s_44");
int numberOfResponses = 0;
boolean hasResponse = false;
//-- PLAYER: I've got to run then.
boolean hasResponse0 = false;
if (legacy_darklighter_guard_condition__defaultCondition (player, npc))
{
++numberOfResponses;
hasResponse = true;
hasResponse0 = true;
}
if (hasResponse)
{
int responseIndex = 0;
string_id responses [] = new string_id [numberOfResponses];
if (hasResponse0)
responses [responseIndex++] = new string_id (c_stringFile, "s_47");
utils.setScriptVar (player, "conversation.legacy_darklighter_guard.branchId", 3);
npcSpeak (player, message);
npcSetConversationResponses (player, responses);
}
else
{
utils.removeScriptVar (player, "conversation.legacy_darklighter_guard.branchId");
npcEndConversationWithMessage (player, message);
}
return SCRIPT_CONTINUE;
}
}
return SCRIPT_DEFAULT;
}
// ----------------------------------------------------------------------
// ======================================================================
// User Script Triggers
// ======================================================================
trigger OnInitialize ()
{
if ((!isMob (self)) || (isPlayer (self)))
detachScript(self, "conversation.legacy_darklighter_guard");
setCondition (self, CONDITION_CONVERSABLE);
setCondition (self, CONDITION_INTERESTING);
setInvulnerable (self, true);
setName (self, "Draci");
ai_lib.setDefaultCalmBehavior( self, ai_lib.BEHAVIOR_SENTINEL );
return SCRIPT_CONTINUE;
}
trigger OnAttach ()
{
setCondition (self, CONDITION_CONVERSABLE);
setCondition (self, CONDITION_INTERESTING);
setInvulnerable (self, true);
setName (self, "Draci");
ai_lib.setDefaultCalmBehavior( self, ai_lib.BEHAVIOR_SENTINEL );
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);
setCondition (self, CONDITION_CONVERSABLE);
return SCRIPT_CONTINUE;
}
trigger OnIncapacitated (obj_id killer)
{
clearCondition (self, CONDITION_CONVERSABLE);
detachScript (self, "conversation.legacy_darklighter_guard");
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 (legacy_darklighter_guard_condition__defaultCondition (player, npc))
{
legacy_darklighter_guard_action_facePlayer (player, npc);
//-- NPC: They just blew their way in!
string_id message = new string_id (c_stringFile, "s_41");
int numberOfResponses = 0;
boolean hasResponse = false;
//-- PLAYER: Who did?
boolean hasResponse0 = false;
if (legacy_darklighter_guard_condition__defaultCondition (player, npc))
{
++numberOfResponses;
hasResponse = true;
hasResponse0 = true;
}
if (hasResponse)
{
int responseIndex = 0;
string_id responses [] = new string_id [numberOfResponses];
if (hasResponse0)
responses [responseIndex++] = new string_id (c_stringFile, "s_8");
utils.setScriptVar (player, "conversation.legacy_darklighter_guard.branchId", 1);
npcStartConversation (player, npc, "legacy_darklighter_guard", 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 != "legacy_darklighter_guard")
return SCRIPT_CONTINUE;
obj_id npc = self;
int branchId = utils.getIntScriptVar (player, "conversation.legacy_darklighter_guard.branchId");
if (branchId == 1 && legacy_darklighter_guard_handleBranch1 (player, npc, response) == SCRIPT_CONTINUE)
return SCRIPT_CONTINUE;
if (branchId == 2 && legacy_darklighter_guard_handleBranch2 (player, npc, response) == SCRIPT_CONTINUE)
return SCRIPT_CONTINUE;
if (branchId == 3 && legacy_darklighter_guard_handleBranch3 (player, npc, response) == SCRIPT_CONTINUE)
return SCRIPT_CONTINUE;
if (branchId == 5 && legacy_darklighter_guard_handleBranch5 (player, npc, response) == SCRIPT_CONTINUE)
return SCRIPT_CONTINUE;
if (branchId == 6 && legacy_darklighter_guard_handleBranch6 (player, npc, response) == SCRIPT_CONTINUE)
return SCRIPT_CONTINUE;
chat.chat (npc, "Error: Fell through all branches and responses for OnNpcConversationResponse.");
utils.removeScriptVar (player, "conversation.legacy_darklighter_guard.branchId");
return SCRIPT_CONTINUE;
}
// ======================================================================