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

780 lines
22 KiB
Plaintext

// ======================================================================
//
// npe_collector.script
// Copyright 2004, Sony Online Entertainment
// All Rights Reserved.
//
// Created with SwgConversationEditor 1.37 - DO NOT EDIT THIS AUTO-GENERATED FILE!
//
// ======================================================================
// ======================================================================
// Library Includes
// ======================================================================
include library.ai_lib;
include library.chat;
include library.conversation;
include library.utils;
// ======================================================================
// Script Constants
// ======================================================================
string c_stringFile = "conversation/npe_collector";
// ======================================================================
// Script Conditions
// ======================================================================
boolean npe_collector_condition__defaultCondition (obj_id player, obj_id npc)
{
return true;
}
// ----------------------------------------------------------------------
boolean npe_collector_condition_DustDurniStarted (obj_id player, obj_id npc)
{
if(!hasCompletedCollection(player, "col_dust_durni_01"))
{
if(hasCompletedCollectionSlot(player, "dust_durni_01")||
hasCompletedCollectionSlot(player, "dust_durni_02")||hasCompletedCollectionSlot(player, "dust_durni_03")||
hasCompletedCollectionSlot(player, "dust_durni_04")||hasCompletedCollectionSlot(player, "dust_durni_05")||
hasCompletedCollectionSlot(player, "dust_durni_06")||hasCompletedCollectionSlot(player, "dust_durni_07")||
hasCompletedCollectionSlot(player, "dust_durni_08")||hasCompletedCollectionSlot(player, "dust_durni_09")||
hasCompletedCollectionSlot(player, "dust_durni_10"))
return true;
}
return false;
}
// ----------------------------------------------------------------------
boolean npe_collector_condition_DustDurniComplete (obj_id player, obj_id npc)
{
if(hasCompletedCollection(player, "col_dust_durni_01"))
{
return true;
}
return false;
}
// ----------------------------------------------------------------------
boolean npe_collector_condition_showStartDialog (obj_id player, obj_id npc)
{
if(!hasCompletedCollectionSlot(player, "dust_durni_02") && !hasCompletedCollectionSlot(player, "dust_durni_03")&&
!hasCompletedCollectionSlot(player, "dust_durni_04") && !hasCompletedCollectionSlot(player, "dust_durni_05")&&
!hasCompletedCollectionSlot(player, "dust_durni_06") && !hasCompletedCollectionSlot(player, "dust_durni_07")&&
!hasCompletedCollectionSlot(player, "dust_durni_08") && !hasCompletedCollectionSlot(player, "dust_durni_09")&&
!hasCompletedCollectionSlot(player, "dust_durni_01") && !hasCompletedCollectionSlot(player, "dust_durni_10"))
{
return true;
}
return false;
}
// ======================================================================
// Script Actions
// ======================================================================
// ======================================================================
// Script %TO Tokens
// ======================================================================
// ======================================================================
// Script %DI Tokens
// ======================================================================
// ======================================================================
// Script %DF Tokens
// ======================================================================
// ======================================================================
// handleBranch<n> Functions
// ======================================================================
int npe_collector_handleBranch1 (obj_id player, obj_id npc, string_id response)
{
//-- [BRANCH NOTE]
//-- NPC: Hi there! It's always nice to see a new face.
//-- [RESPONSE NOTE]
//-- PLAYER: What are you doing here?
if (response == "s_6")
{
//-- [NOTE]
if (npe_collector_condition__defaultCondition (player, npc))
{
//-- NPC: I stopped by to see if there are any collectibles.
string_id message = new string_id (c_stringFile, "s_8");
int numberOfResponses = 0;
boolean hasResponse = false;
//-- PLAYER: Collectibles? What do you mean?
boolean hasResponse0 = false;
if (npe_collector_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_10");
utils.setScriptVar (player, "conversation.npe_collector.branchId", 2);
npcSpeak (player, message);
npcSetConversationResponses (player, responses);
}
else
{
utils.removeScriptVar (player, "conversation.npe_collector.branchId");
npcEndConversationWithMessage (player, message);
}
return SCRIPT_CONTINUE;
}
}
return SCRIPT_DEFAULT;
}
// ----------------------------------------------------------------------
int npe_collector_handleBranch2 (obj_id player, obj_id npc, string_id response)
{
//-- [BRANCH NOTE]
//-- NPC: I stopped by to see if there are any collectibles.
//-- [RESPONSE NOTE]
//-- PLAYER: Collectibles? What do you mean?
if (response == "s_10")
{
//-- [NOTE]
if (npe_collector_condition__defaultCondition (player, npc))
{
//-- NPC: There are items scattered throughout the Galaxy that you can collect. If you collect all of the items for a given collection, you are rewarded with various gifts.
string_id message = new string_id (c_stringFile, "s_12");
int numberOfResponses = 0;
boolean hasResponse = false;
//-- PLAYER: Sounds like a decent hobby. Can I become a Collector too?
boolean hasResponse0 = false;
if (npe_collector_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_14");
utils.setScriptVar (player, "conversation.npe_collector.branchId", 3);
npcSpeak (player, message);
npcSetConversationResponses (player, responses);
}
else
{
utils.removeScriptVar (player, "conversation.npe_collector.branchId");
npcEndConversationWithMessage (player, message);
}
return SCRIPT_CONTINUE;
}
}
return SCRIPT_DEFAULT;
}
// ----------------------------------------------------------------------
int npe_collector_handleBranch3 (obj_id player, obj_id npc, string_id response)
{
//-- [BRANCH NOTE]
//-- NPC: There are items scattered throughout the Galaxy that you can collect. If you collect all of the items for a given collection, you are rewarded with various gifts.
//-- [RESPONSE NOTE]
//-- PLAYER: Sounds like a decent hobby. Can I become a Collector too?
if (response == "s_14")
{
//-- [NOTE]
if (npe_collector_condition__defaultCondition (player, npc))
{
//-- NPC: You sure can! Collecting is for everyone.
string_id message = new string_id (c_stringFile, "s_16");
int numberOfResponses = 0;
boolean hasResponse = false;
//-- PLAYER: Alright, I'll start looking.
boolean hasResponse0 = false;
if (npe_collector_condition__defaultCondition (player, npc))
{
++numberOfResponses;
hasResponse = true;
hasResponse0 = true;
}
//-- PLAYER: Uhh, what is a Dust Durni?
boolean hasResponse1 = false;
if (npe_collector_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_18");
if (hasResponse1)
responses [responseIndex++] = new string_id (c_stringFile, "s_30");
utils.setScriptVar (player, "conversation.npe_collector.branchId", 4);
npcSpeak (player, message);
npcSetConversationResponses (player, responses);
}
else
{
utils.removeScriptVar (player, "conversation.npe_collector.branchId");
npcEndConversationWithMessage (player, message);
}
return SCRIPT_CONTINUE;
}
}
return SCRIPT_DEFAULT;
}
// ----------------------------------------------------------------------
int npe_collector_handleBranch4 (obj_id player, obj_id npc, string_id response)
{
//-- [BRANCH NOTE]
//-- NPC: You sure can! Collecting is for everyone.
//-- [RESPONSE NOTE]
//-- PLAYER: Alright, I'll start looking.
if (response == "s_18")
{
//-- [NOTE]
if (npe_collector_condition__defaultCondition (player, npc))
{
//-- NPC: Since this is your first collection, I'll give you a few hints. There are 4 on this level, 3 in the atrium, and 3 in the droid repair area.
string_id message = new string_id (c_stringFile, "s_20");
utils.removeScriptVar (player, "conversation.npe_collector.branchId");
npcEndConversationWithMessage (player, message);
return SCRIPT_CONTINUE;
}
}
//-- [RESPONSE NOTE]
//-- PLAYER: Uhh, what is a Dust Durni?
if (response == "s_30")
{
//-- [NOTE]
if (npe_collector_condition__defaultCondition (player, npc))
{
//-- NPC: Durni are small creatures that live mainly on the planet Corellia. They shed their fur quite often which then accumulates into balls of hair. Many people think dust balls in their homes look like these balls of fur, hence the name Dust Durni.
string_id message = new string_id (c_stringFile, "s_31");
utils.removeScriptVar (player, "conversation.npe_collector.branchId");
npcEndConversationWithMessage (player, message);
return SCRIPT_CONTINUE;
}
}
return SCRIPT_DEFAULT;
}
// ----------------------------------------------------------------------
int npe_collector_handleBranch7 (obj_id player, obj_id npc, string_id response)
{
//-- [BRANCH NOTE]
//-- NPC: How are things going with your Dust Durni collection?
//-- [RESPONSE NOTE]
//-- PLAYER: I'm doing pretty good. I just have a few more to find.
if (response == "s_26")
{
//-- [NOTE]
if (npe_collector_condition__defaultCondition (player, npc))
{
//-- NPC: Just in case you need a reminder, there are 4 on this level, 3 in the atrium, and 3 in the droid repair area.
string_id message = new string_id (c_stringFile, "s_28");
int numberOfResponses = 0;
boolean hasResponse = false;
//-- PLAYER: What if I can't find them all before I leave the station?
boolean hasResponse0 = false;
if (npe_collector_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_32");
utils.setScriptVar (player, "conversation.npe_collector.branchId", 8);
npcSpeak (player, message);
npcSetConversationResponses (player, responses);
}
else
{
utils.removeScriptVar (player, "conversation.npe_collector.branchId");
npcEndConversationWithMessage (player, message);
}
return SCRIPT_CONTINUE;
}
}
//-- [RESPONSE NOTE]
//-- PLAYER: Not too good, I'm having trouble locating all of them.
if (response == "s_36")
{
//-- [NOTE]
if (npe_collector_condition__defaultCondition (player, npc))
{
//-- NPC: Sorry to hear that. Be sure to check all the rooms. Dust Durni tend to be found in corners and crevices.
string_id message = new string_id (c_stringFile, "s_38");
utils.removeScriptVar (player, "conversation.npe_collector.branchId");
npcEndConversationWithMessage (player, message);
return SCRIPT_CONTINUE;
}
}
//-- [RESPONSE NOTE]
//-- PLAYER: Uhh, what is a Dust Durni?
if (response == "s_40")
{
//-- [NOTE]
if (npe_collector_condition__defaultCondition (player, npc))
{
//-- NPC: Durni are small creatures that live mainly on the planet Corellia. They shed their fur quite often which then accumulates into balls of hair. Many people think dust balls in their homes look like these balls of fur, hence the name Dust Durni.
string_id message = new string_id (c_stringFile, "s_42");
utils.removeScriptVar (player, "conversation.npe_collector.branchId");
npcEndConversationWithMessage (player, message);
return SCRIPT_CONTINUE;
}
}
return SCRIPT_DEFAULT;
}
// ----------------------------------------------------------------------
int npe_collector_handleBranch8 (obj_id player, obj_id npc, string_id response)
{
//-- [BRANCH NOTE]
//-- NPC: Just in case you need a reminder, there are 4 on this level, 3 in the atrium, and 3 in the droid repair area.
//-- [RESPONSE NOTE]
//-- PLAYER: What if I can't find them all before I leave the station?
if (response == "s_32")
{
//-- [NOTE]
if (npe_collector_condition__defaultCondition (player, npc))
{
//-- NPC: Don't worry too much about that. You can complete the Dust Durni collection in a different space station at a later time.
string_id message = new string_id (c_stringFile, "s_34");
utils.removeScriptVar (player, "conversation.npe_collector.branchId");
npcEndConversationWithMessage (player, message);
return SCRIPT_CONTINUE;
}
}
return SCRIPT_DEFAULT;
}
// ----------------------------------------------------------------------
int npe_collector_handleBranch12 (obj_id player, obj_id npc, string_id response)
{
//-- [BRANCH NOTE]
//-- NPC: I see you've finished the Dust Durni collection.
//-- [RESPONSE NOTE]
//-- PLAYER: Yeah, it was pretty easy. Are there any more things to collect here?
if (response == "s_46")
{
//-- [NOTE]
if (npe_collector_condition__defaultCondition (player, npc))
{
//-- NPC: No, that was it for this space station.
string_id message = new string_id (c_stringFile, "s_48");
int numberOfResponses = 0;
boolean hasResponse = false;
//-- PLAYER: That sounds great. I'll look for her when I get there.
boolean hasResponse0 = false;
if (npe_collector_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_50");
utils.setScriptVar (player, "conversation.npe_collector.branchId", 13);
npcSpeak (player, message);
npcSetConversationResponses (player, responses);
}
else
{
utils.removeScriptVar (player, "conversation.npe_collector.branchId");
npcEndConversationWithMessage (player, message);
}
return SCRIPT_CONTINUE;
}
}
return SCRIPT_DEFAULT;
}
// ----------------------------------------------------------------------
int npe_collector_handleBranch13 (obj_id player, obj_id npc, string_id response)
{
//-- [BRANCH NOTE]
//-- NPC: No, that was it for this space station.
//-- [RESPONSE NOTE]
//-- PLAYER: That sounds great. I'll look for her when I get there.
if (response == "s_50")
{
//-- [NOTE]
if (npe_collector_condition__defaultCondition (player, npc))
{
//-- NPC: Good Luck to you!
string_id message = new string_id (c_stringFile, "s_52");
utils.removeScriptVar (player, "conversation.npe_collector.branchId");
npcEndConversationWithMessage (player, message);
return SCRIPT_CONTINUE;
}
}
return SCRIPT_DEFAULT;
}
// ----------------------------------------------------------------------
// ======================================================================
// User Script Triggers
// ======================================================================
trigger OnInitialize ()
{
if ((!isTangible (self)) || (isPlayer (self)))
detachScript(self, "conversation.npe_collector");
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.npe_collector");
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 (npe_collector_condition_showStartDialog (player, npc))
{
//-- NPC: Hi there! It's always nice to see a new face.
string_id message = new string_id (c_stringFile, "s_4");
int numberOfResponses = 0;
boolean hasResponse = false;
//-- PLAYER: What are you doing here?
boolean hasResponse0 = false;
if (npe_collector_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_6");
utils.setScriptVar (player, "conversation.npe_collector.branchId", 1);
npcStartConversation (player, npc, "npe_collector", message, responses);
}
else
{
chat.chat (npc, player, message);
}
return SCRIPT_CONTINUE;
}
//-- [NOTE]
if (npe_collector_condition_DustDurniStarted (player, npc))
{
//-- NPC: How are things going with your Dust Durni collection?
string_id message = new string_id (c_stringFile, "s_24");
int numberOfResponses = 0;
boolean hasResponse = false;
//-- PLAYER: I'm doing pretty good. I just have a few more to find.
boolean hasResponse0 = false;
if (npe_collector_condition__defaultCondition (player, npc))
{
++numberOfResponses;
hasResponse = true;
hasResponse0 = true;
}
//-- PLAYER: Not too good, I'm having trouble locating all of them.
boolean hasResponse1 = false;
if (npe_collector_condition__defaultCondition (player, npc))
{
++numberOfResponses;
hasResponse = true;
hasResponse1 = true;
}
//-- PLAYER: Uhh, what is a Dust Durni?
boolean hasResponse2 = false;
if (npe_collector_condition__defaultCondition (player, npc))
{
++numberOfResponses;
hasResponse = true;
hasResponse2 = true;
}
if (hasResponse)
{
int responseIndex = 0;
string_id responses [] = new string_id [numberOfResponses];
if (hasResponse0)
responses [responseIndex++] = new string_id (c_stringFile, "s_26");
if (hasResponse1)
responses [responseIndex++] = new string_id (c_stringFile, "s_36");
if (hasResponse2)
responses [responseIndex++] = new string_id (c_stringFile, "s_40");
utils.setScriptVar (player, "conversation.npe_collector.branchId", 7);
npcStartConversation (player, npc, "npe_collector", message, responses);
}
else
{
chat.chat (npc, player, message);
}
return SCRIPT_CONTINUE;
}
//-- [NOTE]
if (npe_collector_condition_DustDurniComplete (player, npc))
{
//-- NPC: I see you've finished the Dust Durni collection.
string_id message = new string_id (c_stringFile, "s_44");
int numberOfResponses = 0;
boolean hasResponse = false;
//-- PLAYER: Yeah, it was pretty easy. Are there any more things to collect here?
boolean hasResponse0 = false;
if (npe_collector_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.npe_collector.branchId", 12);
npcStartConversation (player, npc, "npe_collector", 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 != "npe_collector")
return SCRIPT_CONTINUE;
obj_id npc = self;
int branchId = utils.getIntScriptVar (player, "conversation.npe_collector.branchId");
if (branchId == 1 && npe_collector_handleBranch1 (player, npc, response) == SCRIPT_CONTINUE)
return SCRIPT_CONTINUE;
if (branchId == 2 && npe_collector_handleBranch2 (player, npc, response) == SCRIPT_CONTINUE)
return SCRIPT_CONTINUE;
if (branchId == 3 && npe_collector_handleBranch3 (player, npc, response) == SCRIPT_CONTINUE)
return SCRIPT_CONTINUE;
if (branchId == 4 && npe_collector_handleBranch4 (player, npc, response) == SCRIPT_CONTINUE)
return SCRIPT_CONTINUE;
if (branchId == 7 && npe_collector_handleBranch7 (player, npc, response) == SCRIPT_CONTINUE)
return SCRIPT_CONTINUE;
if (branchId == 8 && npe_collector_handleBranch8 (player, npc, response) == SCRIPT_CONTINUE)
return SCRIPT_CONTINUE;
if (branchId == 12 && npe_collector_handleBranch12 (player, npc, response) == SCRIPT_CONTINUE)
return SCRIPT_CONTINUE;
if (branchId == 13 && npe_collector_handleBranch13 (player, npc, response) == SCRIPT_CONTINUE)
return SCRIPT_CONTINUE;
chat.chat (npc, "Error: Fell through all branches and responses for OnNpcConversationResponse.");
utils.removeScriptVar (player, "conversation.npe_collector.branchId");
return SCRIPT_CONTINUE;
}
// ======================================================================