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

396 lines
11 KiB
Plaintext

// ======================================================================
//
// ep3_rroow.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.groundquests;
include library.utils;
// ======================================================================
// Script Constants
// ======================================================================
string c_stringFile = "conversation/ep3_rroow";
// ======================================================================
// Script Conditions
// ======================================================================
boolean ep3_rroow_condition__defaultCondition (obj_id player, obj_id npc)
{
return true;
}
// ----------------------------------------------------------------------
boolean ep3_rroow_condition_canTakeSeraDeliverQuest (obj_id player, obj_id npc)
{
return (!groundquests.hasCompletedQuest(player, "ep3_rroow_sera_package_deliver") &&
!groundquests.isQuestActive(player, "ep3_rroow_sera_package_deliver"));
}
// ----------------------------------------------------------------------
boolean ep3_rroow_condition_hasSeraDeliverquest (obj_id player, obj_id npc)
{
return groundquests.isQuestActive(player, "ep3_rroow_sera_package_deliver");
}
// ----------------------------------------------------------------------
boolean ep3_rroow_condition_wookieeNub (obj_id player, obj_id npc)
{
return utils.canSpeakWookiee(player, npc);
}
// ======================================================================
// Script Actions
// ======================================================================
void ep3_rroow_action_grantSeraDeliverQuest (obj_id player, obj_id npc)
{
groundquests.grantQuest(player, "ep3_rroow_sera_package_deliver");
}
// ----------------------------------------------------------------------
void ep3_rroow_action_doWookieeNub (obj_id player, obj_id npc)
{
utils.emoteWookieeConfusion(player, npc);
}
// ======================================================================
// Script %TO Tokens
// ======================================================================
// ======================================================================
// Script %DI Tokens
// ======================================================================
// ======================================================================
// Script %DF Tokens
// ======================================================================
// ======================================================================
// handleBranch<n> Functions
// ======================================================================
int ep3_rroow_handleBranch2 (obj_id player, obj_id npc, string_id response)
{
//-- [BRANCH NOTE]
//-- NPC: If you are not busy, I need someone to run a package to Sera Jossi on the outskirts.
//-- [RESPONSE NOTE]
//-- PLAYER: Just a package?
if (response == "s_242")
{
//-- [NOTE]
if (ep3_rroow_condition__defaultCondition (player, npc))
{
//-- NPC: Yes, she doesn't get into town very often and gets her food delivered but my usual courier isn't around. Can you do it for me? Sera will pay you for the delivery I'm sure.
string_id message = new string_id (c_stringFile, "s_244");
int numberOfResponses = 0;
boolean hasResponse = false;
//-- PLAYER: Sounds easy enough.
boolean hasResponse0 = false;
if (ep3_rroow_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_246");
utils.setScriptVar (player, "conversation.ep3_rroow.branchId", 3);
npcSpeak (player, message);
npcSetConversationResponses (player, responses);
}
else
{
utils.removeScriptVar (player, "conversation.ep3_rroow.branchId");
npcEndConversationWithMessage (player, message);
}
return SCRIPT_CONTINUE;
}
}
return SCRIPT_DEFAULT;
}
// ----------------------------------------------------------------------
int ep3_rroow_handleBranch3 (obj_id player, obj_id npc, string_id response)
{
//-- [BRANCH NOTE]
//-- NPC: Yes, she doesn't get into town very often and gets her food delivered but my usual courier isn't around. Can you do it for me? Sera will pay you for the delivery I'm sure.
//-- [RESPONSE NOTE]
//-- PLAYER: Sounds easy enough.
if (response == "s_246")
{
//-- [NOTE]
if (ep3_rroow_condition__defaultCondition (player, npc))
{
ep3_rroow_action_grantSeraDeliverQuest (player, npc);
//-- NPC: If you travel east out of town you will find a path to your left that leads down to the river. She can usually be found around there.
string_id message = new string_id (c_stringFile, "s_248");
utils.removeScriptVar (player, "conversation.ep3_rroow.branchId");
npcEndConversationWithMessage (player, message);
return SCRIPT_CONTINUE;
}
}
return SCRIPT_DEFAULT;
}
// ----------------------------------------------------------------------
int ep3_rroow_handleBranch5 (obj_id player, obj_id npc, string_id response)
{
//-- [BRANCH NOTE]
//-- NPC: Yes, did you get the package delivered?
//-- [RESPONSE NOTE]
//-- PLAYER: Not yet.
if (response == "s_252")
{
//-- [NOTE]
if (ep3_rroow_condition__defaultCondition (player, npc))
{
//-- NPC: Well hurry, she must be hungry by now.
string_id message = new string_id (c_stringFile, "s_254");
utils.removeScriptVar (player, "conversation.ep3_rroow.branchId");
npcEndConversationWithMessage (player, message);
return SCRIPT_CONTINUE;
}
}
return SCRIPT_DEFAULT;
}
// ----------------------------------------------------------------------
// ======================================================================
// User Script Triggers
// ======================================================================
trigger OnInitialize ()
{
if ((!isMob (self)) || (isPlayer (self)))
detachScript(self, "conversation.ep3_rroow");
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);
setCondition (self, CONDITION_CONVERSABLE);
return SCRIPT_CONTINUE;
}
trigger OnIncapacitated (obj_id killer)
{
clearCondition (self, CONDITION_CONVERSABLE);
detachScript (self, "conversation.ep3_rroow");
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 (ep3_rroow_condition_wookieeNub (player, npc))
{
ep3_rroow_action_doWookieeNub (player, npc);
//-- NPC: Chararot
string_id message = new string_id (c_stringFile, "s_145");
chat.chat (npc, player, message);
return SCRIPT_CONTINUE;
}
//-- [NOTE]
if (ep3_rroow_condition_canTakeSeraDeliverQuest (player, npc))
{
//-- NPC: If you are not busy, I need someone to run a package to Sera Jossi on the outskirts.
string_id message = new string_id (c_stringFile, "s_240");
int numberOfResponses = 0;
boolean hasResponse = false;
//-- PLAYER: Just a package?
boolean hasResponse0 = false;
if (ep3_rroow_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_242");
utils.setScriptVar (player, "conversation.ep3_rroow.branchId", 2);
npcStartConversation (player, npc, "ep3_rroow", message, responses);
}
else
{
chat.chat (npc, player, message);
}
return SCRIPT_CONTINUE;
}
//-- [NOTE]
if (ep3_rroow_condition_hasSeraDeliverquest (player, npc))
{
//-- NPC: Yes, did you get the package delivered?
string_id message = new string_id (c_stringFile, "s_250");
int numberOfResponses = 0;
boolean hasResponse = false;
//-- PLAYER: Not yet.
boolean hasResponse0 = false;
if (ep3_rroow_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_252");
utils.setScriptVar (player, "conversation.ep3_rroow.branchId", 5);
npcStartConversation (player, npc, "ep3_rroow", message, responses);
}
else
{
chat.chat (npc, player, message);
}
return SCRIPT_CONTINUE;
}
//-- [NOTE]
if (ep3_rroow_condition__defaultCondition (player, npc))
{
//-- NPC: Have you visited the Rodian camps? I hear their hunts are most dangerous.
string_id message = new string_id (c_stringFile, "s_256");
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 != "ep3_rroow")
return SCRIPT_CONTINUE;
obj_id npc = self;
int branchId = utils.getIntScriptVar (player, "conversation.ep3_rroow.branchId");
if (branchId == 2 && ep3_rroow_handleBranch2 (player, npc, response) == SCRIPT_CONTINUE)
return SCRIPT_CONTINUE;
if (branchId == 3 && ep3_rroow_handleBranch3 (player, npc, response) == SCRIPT_CONTINUE)
return SCRIPT_CONTINUE;
if (branchId == 5 && ep3_rroow_handleBranch5 (player, npc, response) == SCRIPT_CONTINUE)
return SCRIPT_CONTINUE;
chat.chat (npc, "Error: Fell through all branches and responses for OnNpcConversationResponse.");
utils.removeScriptVar (player, "conversation.ep3_rroow.branchId");
return SCRIPT_CONTINUE;
}
// ======================================================================