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

292 lines
8.8 KiB
Plaintext

// ======================================================================
//
// rtp_leia_summoned.script
//
//
//
// Created with SwgConversationEditor 1.36 - DO NOT EDIT THIS AUTO-GENERATED FILE!
//
// ======================================================================
// ======================================================================
// Library Includes
// ======================================================================
include library.ai_lib;
include library.chat;
include library.groundquests;
include library.space_quest;
include library.utils;
// ======================================================================
// Script Constants
// ======================================================================
string c_stringFile = "conversation/rtp_leia_summoned";
// ======================================================================
// Script Conditions
// ======================================================================
boolean rtp_leia_summoned_condition__defaultCondition (obj_id player, obj_id npc)
{
return true;
}
// ----------------------------------------------------------------------
boolean rtp_leia_summoned_condition_leia02TaskActive (obj_id player, obj_id npc)
{
return groundquests.isTaskActive(player, "rtp_leia_02", "rtp_leia_02_03");
}
// ----------------------------------------------------------------------
boolean rtp_leia_summoned_condition_leia02TaskComplete (obj_id player, obj_id npc)
{
return groundquests.hasCompletedQuest(player, "rtp_leia_02");
}
// ======================================================================
// Script Actions
// ======================================================================
void rtp_leia_summoned_action_leia02Signal (obj_id player, obj_id npc)
{
groundquests.sendSignal(player, "rtp_leia_02_03");
}
// ----------------------------------------------------------------------
void rtp_leia_summoned_action_leia03Granted (obj_id player, obj_id npc)
{
groundquests.grantQuest(player, "rtp_leia_03");
dictionary webster = new dictionary();
webster.put("player", player);
messageTo(npc, "leiaWalkThenDisappear", webster, 1, false);
}
// ======================================================================
// Script %TO Tokens
// ======================================================================
// ======================================================================
// Script %DI Tokens
// ======================================================================
// ======================================================================
// Script %DF Tokens
// ======================================================================
// ======================================================================
// handleBranch<n> Functions
// ======================================================================
int rtp_leia_summoned_handleBranch2 (obj_id player, obj_id npc, string_id response)
{
//-- [BRANCH NOTE]
//-- NPC: Something important has come up here in Nashal. A Selonian advocate named Nomi has been murdered. She was targeted by the Empire because she is sympathetic to our cause.
//-- [RESPONSE NOTE]
//-- PLAYER: What do you need me to do?
if (response == "s_7")
{
//-- [NOTE]
if (rtp_leia_summoned_condition__defaultCondition (player, npc))
{
rtp_leia_summoned_action_leia03Granted (player, npc);
//-- NPC: The Empire is attempting to make it look like the Rebel Alliance killed Nomi. It is their desire to sow dissension within our ranks and to raise doubts among those who might be sympathetic to our cause. You need to make sure the blame for this atrocious act is rightfully placed on the Empire.
string_id message = new string_id (c_stringFile, "s_9");
utils.removeScriptVar (player, "conversation.rtp_leia_summoned.branchId");
npcEndConversationWithMessage (player, message);
return SCRIPT_CONTINUE;
}
}
return SCRIPT_DEFAULT;
}
// ----------------------------------------------------------------------
// ======================================================================
// User Script Triggers
// ======================================================================
trigger OnInitialize ()
{
if ((!isMob (self)) || (isPlayer (self)))
detachScript(self, "conversation.rtp_leia_summoned");
setCondition (self, CONDITION_CONVERSABLE);
messageTo(self, "leiaMakeSureLeiaDespawns", null, 130, false);
return SCRIPT_CONTINUE;
}
trigger OnAttach ()
{
setCondition (self, CONDITION_CONVERSABLE);
messageTo(self, "leiaMakeSureLeiaDespawns", null, 120, false);
return SCRIPT_CONTINUE;
}
messageHandler leiaWalkThenDisappear()
{
obj_id player = params.getObjId("player");
npcEndConversation(player);
location here = getLocation(self);
here.x = here.x + 9;
here.y = here.y - 9;
pathTo(self, here);
messageTo(self, "leiaMakeSureLeiaDespawns", null, 5, false);
return SCRIPT_CONTINUE;
}
messageHandler leiaMakeSureLeiaDespawns()
{
destroyObject(self);
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.rtp_leia_summoned");
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 (rtp_leia_summoned_condition_leia02TaskComplete (player, npc))
{
//-- NPC: A Selonian advocate named Nomi has been murdered by the Empire. They are attempting to make it look like we are responsible. You need to make sure the blame for this atrocious act is rightfully placed on the Empire.
string_id message = new string_id (c_stringFile, "s_6");
chat.chat (npc, player, message);
return SCRIPT_CONTINUE;
}
//-- [NOTE]
if (rtp_leia_summoned_condition_leia02TaskActive (player, npc))
{
rtp_leia_summoned_action_leia02Signal (player, npc);
//-- NPC: Something important has come up here in Nashal. A Selonian advocate named Nomi has been murdered. She was targeted by the Empire because she is sympathetic to our cause.
string_id message = new string_id (c_stringFile, "s_32");
int numberOfResponses = 0;
boolean hasResponse = false;
//-- PLAYER: What do you need me to do?
boolean hasResponse0 = false;
if (rtp_leia_summoned_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_7");
utils.setScriptVar (player, "conversation.rtp_leia_summoned.branchId", 2);
npcStartConversation (player, npc, "rtp_leia_summoned", message, responses);
}
else
{
chat.chat (npc, player, message);
}
return SCRIPT_CONTINUE;
}
//-- [NOTE]
if (rtp_leia_summoned_condition__defaultCondition (player, npc))
{
//-- NPC: I'm here on urgent business and do not have time for idle chatter. Please forgive me.
string_id message = new string_id (c_stringFile, "s_34");
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 != "rtp_leia_summoned")
return SCRIPT_CONTINUE;
obj_id npc = self;
int branchId = utils.getIntScriptVar (player, "conversation.rtp_leia_summoned.branchId");
if (branchId == 2 && rtp_leia_summoned_handleBranch2 (player, npc, response) == SCRIPT_CONTINUE)
return SCRIPT_CONTINUE;
chat.chat (npc, "Error: Fell through all branches and responses for OnNpcConversationResponse.");
utils.removeScriptVar (player, "conversation.rtp_leia_summoned.branchId");
return SCRIPT_CONTINUE;
}
// ======================================================================