Files
dsrc/sku.0/sys.server/compiled/game/script/conversation/rtp_ackbar_main.script
T
2013-09-10 23:17:15 -07:00

492 lines
15 KiB
Plaintext

// ======================================================================
//
// rtp_ackbar_main.script
// Copyright 2004, Sony Online Entertainment
// All Rights Reserved.
//
// 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/rtp_ackbar_main";
// ======================================================================
// Script Conditions
// ======================================================================
boolean rtp_ackbar_main_condition__defaultCondition (obj_id player, obj_id npc)
{
return true;
}
// ----------------------------------------------------------------------
boolean rtp_ackbar_main_condition_rtp_ackbar_01_active (obj_id player, obj_id npc)
{
return groundquests.isQuestActive(player, "rtp_ackbar_01");
}
// ----------------------------------------------------------------------
boolean rtp_ackbar_main_condition_rtp_ackbar_01_complete (obj_id player, obj_id npc)
{
return groundquests.isTaskActive(player, "rtp_ackbar_01", "rtp_ackbar_01_02") ||
groundquests.hasCompletedQuest(player, "rtp_ackbar_01");
}
// ----------------------------------------------------------------------
boolean rtp_ackbar_main_condition_rtp_ackbar_02_active (obj_id player, obj_id npc)
{
return groundquests.isQuestActive(player, "rtp_ackbar_02");
}
// ----------------------------------------------------------------------
boolean rtp_ackbar_main_condition_rtp_ackbar_02_completed (obj_id player, obj_id npc)
{
return groundquests.isTaskActive(player, "rtp_ackbar_02", "rtp_ackbar_02_02") ||
groundquests.hasCompletedQuest(player, "rtp_ackbar_02");
}
// ----------------------------------------------------------------------
boolean rtp_ackbar_main_condition_completedHanSolo (obj_id player, obj_id npc)
{
return groundquests.hasCompletedQuest(player, "rtp_han_solo_02");
}
// ----------------------------------------------------------------------
boolean rtp_ackbar_main_condition_notRebel (obj_id player, obj_id npc)
{
string playerFaction = factions.getFaction(player);
if ( playerFaction == null || !playerFaction.equals("Rebel") )
{
return true;
}
return false;
}
// ----------------------------------------------------------------------
boolean rtp_ackbar_main_condition_rebel_isOnLeave (obj_id player, obj_id npc)
{
return factions.isOnLeave(player);
}
// ======================================================================
// Script Actions
// ======================================================================
void rtp_ackbar_main_action_rtp_ackbar_01_granted (obj_id player, obj_id npc)
{
groundquests.grantQuest(player, "rtp_ackbar_01");
}
// ----------------------------------------------------------------------
void rtp_ackbar_main_action_rtp_ackbar_01_signal (obj_id player, obj_id npc)
{
groundquests.sendSignal(player, "rtp_ackbar_01_02");
}
// ----------------------------------------------------------------------
void rtp_ackbar_main_action_rtp_ackbar_02_signal (obj_id player, obj_id npc)
{
groundquests.sendSignal(player, "rtp_ackbar_02_02");
}
// ----------------------------------------------------------------------
void rtp_ackbar_main_action_rtp_ackbar_02_granted (obj_id player, obj_id npc)
{
groundquests.grantQuest(player, "rtp_ackbar_02");
}
// ======================================================================
// Script %TO Tokens
// ======================================================================
// ======================================================================
// Script %DI Tokens
// ======================================================================
// ======================================================================
// Script %DF Tokens
// ======================================================================
// ======================================================================
// handleBranch<n> Functions
// ======================================================================
int rtp_ackbar_main_handleBranch6 (obj_id player, obj_id npc, string_id response)
{
//-- [BRANCH NOTE]
//-- NPC: It was a trap! I'm so surprised. Were you surprised? Well anyway, moving on. An important transmission must be sent to General Dodonna on Yavin IV.Go activate our communication array and protect it as the message is sent.
//-- [RESPONSE NOTE]
//-- PLAYER: I'm on my way.
if (response == "s_22")
{
//-- [NOTE]
if (rtp_ackbar_main_condition__defaultCondition (player, npc))
{
rtp_ackbar_main_action_rtp_ackbar_02_granted (player, npc);
//-- NPC: Be alert. Imperial forces are certain to detect the transmission and try to stop it.
string_id message = new string_id (c_stringFile, "s_25");
utils.removeScriptVar (player, "conversation.rtp_ackbar_main.branchId");
npcEndConversationWithMessage (player, message);
return SCRIPT_CONTINUE;
}
}
//-- [RESPONSE NOTE]
//-- PLAYER: No thank you.
if (response == "s_26")
{
//-- [NOTE]
if (rtp_ackbar_main_condition__defaultCondition (player, npc))
{
//-- NPC: Very well.
string_id message = new string_id (c_stringFile, "s_30");
utils.removeScriptVar (player, "conversation.rtp_ackbar_main.branchId");
npcEndConversationWithMessage (player, message);
return SCRIPT_CONTINUE;
}
}
return SCRIPT_DEFAULT;
}
// ----------------------------------------------------------------------
int rtp_ackbar_main_handleBranch10 (obj_id player, obj_id npc, string_id response)
{
//-- [BRANCH NOTE]
//-- NPC: Reporting in? Very good. An Imperial officer claiming to sympathize with our cause has contacted us. Meet with him and find out what he has to offer.
//-- [RESPONSE NOTE]
//-- PLAYER: Yes, sir.
if (response == "s_36")
{
//-- [NOTE]
if (rtp_ackbar_main_condition__defaultCondition (player, npc))
{
rtp_ackbar_main_action_rtp_ackbar_01_granted (player, npc);
//-- NPC: Be careful. This may well be a trap.
string_id message = new string_id (c_stringFile, "s_38");
utils.removeScriptVar (player, "conversation.rtp_ackbar_main.branchId");
npcEndConversationWithMessage (player, message);
return SCRIPT_CONTINUE;
}
}
//-- [RESPONSE NOTE]
//-- PLAYER: No thank you.
if (response == "s_40")
{
//-- [NOTE]
if (rtp_ackbar_main_condition__defaultCondition (player, npc))
{
//-- NPC: Very well.
string_id message = new string_id (c_stringFile, "s_42");
utils.removeScriptVar (player, "conversation.rtp_ackbar_main.branchId");
npcEndConversationWithMessage (player, message);
return SCRIPT_CONTINUE;
}
}
return SCRIPT_DEFAULT;
}
// ----------------------------------------------------------------------
// ======================================================================
// User Script Triggers
// ======================================================================
trigger OnInitialize ()
{
if ((!isMob (self)) || (isPlayer (self)))
detachScript(self, "conversation.rtp_ackbar_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.rtp_ackbar_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 (rtp_ackbar_main_condition_notRebel (player, npc))
{
//-- NPC: Guard! Escort this one off of the premises.
string_id message = new string_id (c_stringFile, "s_44");
chat.chat (npc, player, message);
return SCRIPT_CONTINUE;
}
//-- [NOTE]
if (!rtp_ackbar_main_condition_completedHanSolo (player, npc))
{
//-- NPC: Have you spoken with Han Solo? I suggest you start there. If he's not ready for you, I'm sure he'll point you in the right direction.
string_id message = new string_id (c_stringFile, "s_24");
chat.chat (npc, player, message);
return SCRIPT_CONTINUE;
}
//-- [NOTE]
if (rtp_ackbar_main_condition_rebel_isOnLeave (player, npc))
{
//-- NPC: I must insist on working only with those on active duty. Return when you are no longer on leave.
string_id message = new string_id (c_stringFile, "s_43");
chat.chat (npc, player, message);
return SCRIPT_CONTINUE;
}
//-- [NOTE]
if (rtp_ackbar_main_condition_rtp_ackbar_02_completed (player, npc))
{
rtp_ackbar_main_action_rtp_ackbar_02_signal (player, npc);
//-- NPC: The transmission was successfully sent, thanks to you. I'm not sure how General Dodonna will respond, but he always find a way. But enough on that. You are to report to Mon Mothma for your next assignment.
string_id message = new string_id (c_stringFile, "s_9");
chat.chat (npc, player, message);
return SCRIPT_CONTINUE;
}
//-- [NOTE]
if (rtp_ackbar_main_condition_rtp_ackbar_02_active (player, npc))
{
//-- NPC: An important transmission must be sent to General Dodonna on Yavin IV.Go activate our communication array and protect it as the message is sent. Be alert. Imperial forces are certain to detect the transmission and try to stop it.
string_id message = new string_id (c_stringFile, "s_16");
chat.chat (npc, player, message);
return SCRIPT_CONTINUE;
}
//-- [NOTE]
if (rtp_ackbar_main_condition_rtp_ackbar_01_complete (player, npc))
{
rtp_ackbar_main_action_rtp_ackbar_01_signal (player, npc);
//-- NPC: It was a trap! I'm so surprised. Were you surprised? Well anyway, moving on. An important transmission must be sent to General Dodonna on Yavin IV.Go activate our communication array and protect it as the message is sent.
string_id message = new string_id (c_stringFile, "s_20");
int numberOfResponses = 0;
boolean hasResponse = false;
//-- PLAYER: I'm on my way.
boolean hasResponse0 = false;
if (rtp_ackbar_main_condition__defaultCondition (player, npc))
{
++numberOfResponses;
hasResponse = true;
hasResponse0 = true;
}
//-- PLAYER: No thank you.
boolean hasResponse1 = false;
if (rtp_ackbar_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.rtp_ackbar_main.branchId", 6);
npcStartConversation (player, npc, "rtp_ackbar_main", message, responses);
}
else
{
chat.chat (npc, player, message);
}
return SCRIPT_CONTINUE;
}
//-- [NOTE]
if (rtp_ackbar_main_condition_rtp_ackbar_01_active (player, npc))
{
//-- NPC: An Imperial officer claiming to sympathize with our cause has contacted us. Meet with him and find out what he has to offer. Be careful. This may well be a trap.
string_id message = new string_id (c_stringFile, "s_32");
chat.chat (npc, player, message);
return SCRIPT_CONTINUE;
}
//-- [NOTE]
if (rtp_ackbar_main_condition__defaultCondition (player, npc))
{
//-- NPC: Reporting in? Very good. An Imperial officer claiming to sympathize with our cause has contacted us. Meet with him and find out what he has to offer.
string_id message = new string_id (c_stringFile, "s_34");
int numberOfResponses = 0;
boolean hasResponse = false;
//-- PLAYER: Yes, sir.
boolean hasResponse0 = false;
if (rtp_ackbar_main_condition__defaultCondition (player, npc))
{
++numberOfResponses;
hasResponse = true;
hasResponse0 = true;
}
//-- PLAYER: No thank you.
boolean hasResponse1 = false;
if (rtp_ackbar_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_40");
utils.setScriptVar (player, "conversation.rtp_ackbar_main.branchId", 10);
npcStartConversation (player, npc, "rtp_ackbar_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 != "rtp_ackbar_main")
return SCRIPT_CONTINUE;
obj_id npc = self;
int branchId = utils.getIntScriptVar (player, "conversation.rtp_ackbar_main.branchId");
if (branchId == 6 && rtp_ackbar_main_handleBranch6 (player, npc, response) == SCRIPT_CONTINUE)
return SCRIPT_CONTINUE;
if (branchId == 10 && rtp_ackbar_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.rtp_ackbar_main.branchId");
return SCRIPT_CONTINUE;
}
// ======================================================================