mirror of
https://github.com/SWG-Source/dsrc.git
synced 2026-07-31 00:15:54 -04:00
842 lines
30 KiB
Plaintext
842 lines
30 KiB
Plaintext
// ======================================================================
|
|
//
|
|
// coa3ltactofficer.script
|
|
// Copyright 2003, Sony Online Entertainment
|
|
// All Rights Reserved.
|
|
//
|
|
// DO NOT EDIT THIS AUTO-GENERATED FILE. PLEASE USE THE CONVERATION EDITOR!
|
|
//
|
|
// ======================================================================
|
|
|
|
// ======================================================================
|
|
// Library Includes
|
|
// ======================================================================
|
|
|
|
include library.ai_lib;
|
|
include library.badge;
|
|
include library.chat;
|
|
|
|
// ======================================================================
|
|
// Script Constants
|
|
// ======================================================================
|
|
|
|
string c_stringFile = "conversation/coa3ltactofficer";
|
|
|
|
// ======================================================================
|
|
// Script Conditions
|
|
// ======================================================================
|
|
|
|
boolean coa3ltactofficer_condition__defaultCondition (obj_id player, obj_id npc)
|
|
{
|
|
return true;
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
boolean coa3ltactofficer_condition_extraFloraMissionActive (obj_id player, obj_id npc)
|
|
{
|
|
// Is the extra flora mission active?
|
|
return (getIntObjVar (player, "coa3.extraFlora") == 1);
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
boolean coa3ltactofficer_condition_hasWonStory (obj_id player, obj_id npc)
|
|
{
|
|
// Check to see if the player has the COA3 story badge. # TBA
|
|
return (badge.hasBadge(player, "event_coa3_imperial"));
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
boolean coa3ltactofficer_condition_storyFloraMissionComplete (obj_id player, obj_id npc)
|
|
{
|
|
return (getIntObjVar (player, "coa3.convTracker") > 302);
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
boolean coa3ltactofficer_condition_talkedToCoordinator (obj_id player, obj_id npc)
|
|
{
|
|
return (getIntObjVar (player, "coa3.convTracker") == 301);
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
boolean coa3ltactofficer_condition_storyFloraMissionActive (obj_id player, obj_id npc)
|
|
{
|
|
return (getIntObjVar (player, "coa3.convTracker") == 302);
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
boolean coa3ltactofficer_condition_temp (obj_id player, obj_id npc)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
// ======================================================================
|
|
// Script Actions
|
|
// ======================================================================
|
|
|
|
void coa3ltactofficer_action__defaultAction (obj_id player, obj_id npc)
|
|
{
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
void coa3ltactofficer_action_refreshExtraFloraMission (obj_id player, obj_id npc)
|
|
{
|
|
// Refresh the extra flora mission. This mission is independent of the story arc.
|
|
dictionary params = new dictionary();
|
|
params.put("player", player);
|
|
params.put("npc", npc);
|
|
params.put("value", 3);
|
|
|
|
messageTo(npc, "messageStartMission", params, 0, false);
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
void coa3ltactofficer_action_abortExtraFloraMission (obj_id player, obj_id npc)
|
|
{
|
|
// Abort the extra flora mission
|
|
removeObjVar (player, "coa3.extraFlora");
|
|
|
|
dictionary params = new dictionary();
|
|
params.put("player", player);
|
|
params.put("npc", npc);
|
|
params.put("value", -1);
|
|
|
|
messageTo(player, "handleAbortMission", params, 0, false);
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
void coa3ltactofficer_action_getExtraFloraMission (obj_id player, obj_id npc)
|
|
{
|
|
// Give player an extra flora mission. This is independent of the story arc.
|
|
setObjVar (player, "coa3.extraFlora", 1);
|
|
|
|
dictionary params = new dictionary();
|
|
params.put("player", player);
|
|
params.put("npc", npc);
|
|
params.put("value", 3);
|
|
|
|
messageTo(npc, "messageStartMission", params, 0, false);
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
void coa3ltactofficer_action_getStoryFloraMission (obj_id player, obj_id npc)
|
|
{
|
|
setObjVar (player, "coa3.convTracker", 302);
|
|
|
|
// Give flora destroy mission. Completing this mission
|
|
// should set COA3ConvTracker objvar to 303
|
|
dictionary params = new dictionary();
|
|
params.put("player", player);
|
|
params.put("npc", npc);
|
|
params.put("value", 3);
|
|
|
|
messageTo(npc, "messageStartMission", params, 0, false);
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
void coa3ltactofficer_action_refreshStoryFloraMission (obj_id player, obj_id npc)
|
|
{
|
|
setObjVar (player, "coa3.convTracker", 302);
|
|
|
|
// Refresh the story flora mission waypoint
|
|
dictionary params = new dictionary();
|
|
params.put("player", player);
|
|
params.put("npc", npc);
|
|
params.put("value", 3);
|
|
|
|
messageTo(npc, "messageStartMission", params, 0, false);
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
void coa3ltactofficer_action_abortStoryFloraMission (obj_id player, obj_id npc)
|
|
{
|
|
setObjVar (player, "coa3.convTracker", 301);
|
|
|
|
// Abort the story flora mission.
|
|
dictionary params = new dictionary();
|
|
params.put("player", player);
|
|
params.put("npc", npc);
|
|
params.put("value", 3);
|
|
|
|
messageTo(player, "handleAbortMission", params, 0, false);
|
|
}
|
|
|
|
// ======================================================================
|
|
// User Script Triggers
|
|
// ======================================================================
|
|
|
|
trigger OnInitialize ()
|
|
{
|
|
if ((!isMob (self)) || (isPlayer (self)))
|
|
detachScript(self, "npc.conversation.coa3ltactofficer");
|
|
|
|
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, "npc.conversation.coa3ltactofficer");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
// ======================================================================
|
|
// Script Triggers
|
|
// ======================================================================
|
|
|
|
trigger OnStartNpcConversation (obj_id player)
|
|
{
|
|
if (ai_lib.isInCombat (self) || ai_lib.isInCombat (player))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
//-- [NOTE] Check if the outside flora mission is active.
|
|
if (coa3ltactofficer_condition_extraFloraMissionActive (player, self))
|
|
{
|
|
//-- NPC: You still haven't destroyed that warehouse. Why is that?
|
|
string_id message = new string_id (c_stringFile, "s_743c9f18");
|
|
int numberOfResponses = 0;
|
|
|
|
boolean hasResponse = false;
|
|
|
|
//-- PLAYER: Sorry, I'll get right now it.
|
|
boolean hasResponse0 = false;
|
|
if (coa3ltactofficer_condition__defaultCondition (player, self))
|
|
{
|
|
++numberOfResponses;
|
|
hasResponse = true;
|
|
hasResponse0 = true;
|
|
}
|
|
|
|
//-- PLAYER: I was not able to find the warehouse.
|
|
boolean hasResponse1 = false;
|
|
if (coa3ltactofficer_condition__defaultCondition (player, self))
|
|
{
|
|
++numberOfResponses;
|
|
hasResponse = true;
|
|
hasResponse1 = true;
|
|
}
|
|
|
|
//-- PLAYER: I can't complete this mission.
|
|
boolean hasResponse2 = false;
|
|
if (coa3ltactofficer_condition__defaultCondition (player, self))
|
|
{
|
|
++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_688721b0");
|
|
|
|
if (hasResponse1)
|
|
responses [responseIndex++] = new string_id (c_stringFile, "s_f2fe6350");
|
|
|
|
if (hasResponse2)
|
|
responses [responseIndex++] = new string_id (c_stringFile, "s_2e791c9d");
|
|
|
|
setObjVar (player, "conversation.coa3ltactofficer.branchId", 1);
|
|
|
|
npcStartConversation (player, self, "coa3ltactofficer", message, responses);
|
|
}
|
|
else
|
|
{
|
|
chat.chat (self, message);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
//-- [NOTE] Check to see if the player has recieved their story badge for Act 3. If so, they can take an extra flora mission.
|
|
if (coa3ltactofficer_condition_hasWonStory (player, self))
|
|
{
|
|
//-- NPC: You've been a real hero lately, people have been buzzing about your work. If you're looking for something to do, there's plenty more warehouses to take care of! And I'm still offering a reward for turning in any Alderaanian Flora you come across.
|
|
string_id message = new string_id (c_stringFile, "s_958a6a44");
|
|
int numberOfResponses = 0;
|
|
|
|
boolean hasResponse = false;
|
|
|
|
//-- PLAYER: I'm ready to take out another warehouse
|
|
boolean hasResponse0 = false;
|
|
if (coa3ltactofficer_condition__defaultCondition (player, self))
|
|
{
|
|
++numberOfResponses;
|
|
hasResponse = true;
|
|
hasResponse0 = true;
|
|
}
|
|
|
|
//-- PLAYER: I'm not interested in that right now.
|
|
boolean hasResponse1 = false;
|
|
if (coa3ltactofficer_condition__defaultCondition (player, self))
|
|
{
|
|
++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_1cb2157b");
|
|
|
|
if (hasResponse1)
|
|
responses [responseIndex++] = new string_id (c_stringFile, "s_5166bfb2");
|
|
|
|
setObjVar (player, "conversation.coa3ltactofficer.branchId", 5);
|
|
|
|
npcStartConversation (player, self, "coa3ltactofficer", message, responses);
|
|
}
|
|
else
|
|
{
|
|
chat.chat (self, message);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
//-- [NOTE] If the player's objvar is more then 302, they have got past the story flora mission and they can take an extra flora mission.
|
|
if (coa3ltactofficer_condition_storyFloraMissionComplete (player, self))
|
|
{
|
|
//-- NPC: If you haven't completed the Coordinator's tasks, you should return to him. If you have, we know of more warehouses you can assault. Either way, you can hand me any Alderaanian Flora you have and I will happily reward you for it.
|
|
string_id message = new string_id (c_stringFile, "s_2c01da39");
|
|
int numberOfResponses = 0;
|
|
|
|
boolean hasResponse = false;
|
|
|
|
//-- PLAYER: I'm ready to take out another warehouse
|
|
boolean hasResponse0 = false;
|
|
if (coa3ltactofficer_condition__defaultCondition (player, self))
|
|
{
|
|
++numberOfResponses;
|
|
hasResponse = true;
|
|
hasResponse0 = true;
|
|
}
|
|
|
|
//-- PLAYER: I need to take care of other things right now.
|
|
boolean hasResponse1 = false;
|
|
if (coa3ltactofficer_condition__defaultCondition (player, self))
|
|
{
|
|
++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_1cb2157b");
|
|
|
|
if (hasResponse1)
|
|
responses [responseIndex++] = new string_id (c_stringFile, "s_4e9f338");
|
|
|
|
setObjVar (player, "conversation.coa3ltactofficer.branchId", 8);
|
|
|
|
npcStartConversation (player, self, "coa3ltactofficer", message, responses);
|
|
}
|
|
else
|
|
{
|
|
chat.chat (self, message);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
//-- [NOTE] The player has talked to coordinator and was told to seek out the info officer.
|
|
if (coa3ltactofficer_condition_talkedToCoordinator (player, self))
|
|
{
|
|
//-- NPC: I hear that you've been working with the coordinator lately to try to put a stop to this whole Dead Eye thing. Good for you! Another way we can hamper the production of Dead Eye is by attacking their store houses directly. The more Alderaanian Flora we can keep out of their hands, the better. Would you be willing to help us out in this matter?
|
|
string_id message = new string_id (c_stringFile, "s_1c693828");
|
|
int numberOfResponses = 0;
|
|
|
|
boolean hasResponse = false;
|
|
|
|
//-- PLAYER: I'd be happy to help.
|
|
boolean hasResponse0 = false;
|
|
if (coa3ltactofficer_condition__defaultCondition (player, self))
|
|
{
|
|
++numberOfResponses;
|
|
hasResponse = true;
|
|
hasResponse0 = true;
|
|
}
|
|
|
|
//-- PLAYER: I'm not going to be able to help you right now.
|
|
boolean hasResponse1 = false;
|
|
if (coa3ltactofficer_condition__defaultCondition (player, self))
|
|
{
|
|
++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_f96e5eed");
|
|
|
|
if (hasResponse1)
|
|
responses [responseIndex++] = new string_id (c_stringFile, "s_e4daff30");
|
|
|
|
setObjVar (player, "conversation.coa3ltactofficer.branchId", 11);
|
|
|
|
npcStartConversation (player, self, "coa3ltactofficer", message, responses);
|
|
}
|
|
else
|
|
{
|
|
chat.chat (self, message);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
//-- [NOTE] Player is in the middle of the flora story mission.
|
|
if (coa3ltactofficer_condition_storyFloraMissionActive (player, self))
|
|
{
|
|
//-- NPC: Why haven't you destroyed that warehouse? Is something the matter?
|
|
string_id message = new string_id (c_stringFile, "s_3c57b03");
|
|
int numberOfResponses = 0;
|
|
|
|
boolean hasResponse = false;
|
|
|
|
//-- PLAYER: Nothing's wrong, never mind.
|
|
boolean hasResponse0 = false;
|
|
if (coa3ltactofficer_condition__defaultCondition (player, self))
|
|
{
|
|
++numberOfResponses;
|
|
hasResponse = true;
|
|
hasResponse0 = true;
|
|
}
|
|
|
|
//-- PLAYER: I was not able to find the warehouse.
|
|
boolean hasResponse1 = false;
|
|
if (coa3ltactofficer_condition__defaultCondition (player, self))
|
|
{
|
|
++numberOfResponses;
|
|
hasResponse = true;
|
|
hasResponse1 = true;
|
|
}
|
|
|
|
//-- PLAYER: I can't complete this mission.
|
|
boolean hasResponse2 = false;
|
|
if (coa3ltactofficer_condition__defaultCondition (player, self))
|
|
{
|
|
++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_ba1a3080");
|
|
|
|
if (hasResponse1)
|
|
responses [responseIndex++] = new string_id (c_stringFile, "s_f2fe6350");
|
|
|
|
if (hasResponse2)
|
|
responses [responseIndex++] = new string_id (c_stringFile, "s_2e791c9d");
|
|
|
|
setObjVar (player, "conversation.coa3ltactofficer.branchId", 14);
|
|
|
|
npcStartConversation (player, self, "coa3ltactofficer", message, responses);
|
|
}
|
|
else
|
|
{
|
|
chat.chat (self, message);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
//-- [NOTE]
|
|
if (coa3ltactofficer_condition__defaultCondition (player, self))
|
|
{
|
|
//-- NPC: I'm sorry I can't talk right now. I'm very busy. This Dead Eye situation is getting out of control and I have my hands full. Rather then chit-chatting, how about you lend a hand already? Go and talk to the coordinator and make yourself useful.
|
|
string_id message = new string_id (c_stringFile, "s_f64d217f");
|
|
chat.chat (self, message);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
//-- [NOTE] This branch is spoken when the player drags an Alderaanian Flora onto the Tactical Officer.
|
|
if (coa3ltactofficer_condition_temp (player, self))
|
|
{
|
|
//-- NPC: Thanks. You can hand in flora for a reward, or keep it for yourself. Either way, we have more warehouses to take down if you're willing.
|
|
string_id message = new string_id (c_stringFile, "s_4fcdc5b8");
|
|
chat.chat (self, message);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
chat.chat (self, "Error: All conditions for OnStartNpcConversation were false.");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
trigger OnNpcConversationResponse (string conversationId, obj_id player, string_id response)
|
|
{
|
|
if (conversationId != "coa3ltactofficer")
|
|
return SCRIPT_CONTINUE;
|
|
|
|
int branchId = getIntObjVar (player, "conversation.coa3ltactofficer.branchId");
|
|
|
|
//-- [BRANCH NOTE] Check if the outside flora mission is active.
|
|
//-- NPC: You still haven't destroyed that warehouse. Why is that?
|
|
//-- [RESPONSE NOTE]
|
|
//-- PLAYER: Sorry, I'll get right now it.
|
|
if (branchId == 1 && response == "s_688721b0")
|
|
{
|
|
//-- [NOTE]
|
|
if (coa3ltactofficer_condition__defaultCondition (player, self))
|
|
{
|
|
//-- NPC: Quit standing around then and move it.
|
|
string_id message = new string_id (c_stringFile, "s_38f00205");
|
|
removeObjVar (player, "conversation.coa3ltactofficer.branchId");
|
|
|
|
npcSpeak (player, message);
|
|
npcEndConversation (player);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
chat.chat (self, "Error: All conditions for OnNpcConversationResponse for branch 'You still haven't destroyed that warehouse. Why is that?' were false.");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
//-- [BRANCH NOTE] Check if the outside flora mission is active.
|
|
//-- NPC: You still haven't destroyed that warehouse. Why is that?
|
|
//-- [RESPONSE NOTE] Refresh the story flora mission waypoint
|
|
//-- PLAYER: I was not able to find the warehouse.
|
|
if (branchId == 1 && response == "s_f2fe6350")
|
|
{
|
|
coa3ltactofficer_action_refreshExtraFloraMission (player, self);
|
|
|
|
//-- [NOTE]
|
|
if (coa3ltactofficer_condition__defaultCondition (player, self))
|
|
{
|
|
//-- NPC: Hmm, that's odd. Maybe we already took care of that one. Here, I've given you a waypoint for another warehouse we need taken out. Good luck to you!
|
|
string_id message = new string_id (c_stringFile, "s_268282e6");
|
|
removeObjVar (player, "conversation.coa3ltactofficer.branchId");
|
|
|
|
npcSpeak (player, message);
|
|
npcEndConversation (player);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
chat.chat (self, "Error: All conditions for OnNpcConversationResponse for branch 'You still haven't destroyed that warehouse. Why is that?' were false.");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
//-- [BRANCH NOTE] Check if the outside flora mission is active.
|
|
//-- NPC: You still haven't destroyed that warehouse. Why is that?
|
|
//-- [RESPONSE NOTE] Abort the extra flora mission
|
|
//-- PLAYER: I can't complete this mission.
|
|
if (branchId == 1 && response == "s_2e791c9d")
|
|
{
|
|
coa3ltactofficer_action_abortExtraFloraMission (player, self);
|
|
|
|
//-- [NOTE]
|
|
if (coa3ltactofficer_condition__defaultCondition (player, self))
|
|
{
|
|
//-- NPC: Well I appreciate the offer of help anyway. If you want to try it again later, come back and let me know.
|
|
string_id message = new string_id (c_stringFile, "s_3d82703f");
|
|
removeObjVar (player, "conversation.coa3ltactofficer.branchId");
|
|
|
|
npcSpeak (player, message);
|
|
npcEndConversation (player);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
chat.chat (self, "Error: All conditions for OnNpcConversationResponse for branch 'You still haven't destroyed that warehouse. Why is that?' were false.");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
//-- [BRANCH NOTE] Check to see if the player has recieved their story badge for Act 3. If so, they can take an extra flora mission.
|
|
//-- NPC: You've been a real hero lately, people have been buzzing about your work. If you're looking for something to do, there's plenty more warehouses to take care of! And I'm still offering a reward for turning in any Alderaanian Flora you come across.
|
|
//-- [RESPONSE NOTE] Give player an extra flora mission. This is independent of the story arc.
|
|
//-- PLAYER: I'm ready to take out another warehouse
|
|
if (branchId == 5 && response == "s_1cb2157b")
|
|
{
|
|
coa3ltactofficer_action_getExtraFloraMission (player, self);
|
|
|
|
//-- [NOTE]
|
|
if (coa3ltactofficer_condition__defaultCondition (player, self))
|
|
{
|
|
//-- NPC: That's what I like to hear. There's a waypoint in your datapad for another warehouse we've found. Go get it!
|
|
string_id message = new string_id (c_stringFile, "s_1f281089");
|
|
removeObjVar (player, "conversation.coa3ltactofficer.branchId");
|
|
|
|
npcSpeak (player, message);
|
|
npcEndConversation (player);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
chat.chat (self, "Error: All conditions for OnNpcConversationResponse for branch 'You've been a real hero lately, people have been buzzing about your work. If you're looking for something to do, there's plenty more warehouses to take care of! And I'm still offering a reward for turning in any Alderaanian Flora you come across.' were false.");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
//-- [BRANCH NOTE] Check to see if the player has recieved their story badge for Act 3. If so, they can take an extra flora mission.
|
|
//-- NPC: You've been a real hero lately, people have been buzzing about your work. If you're looking for something to do, there's plenty more warehouses to take care of! And I'm still offering a reward for turning in any Alderaanian Flora you come across.
|
|
//-- [RESPONSE NOTE]
|
|
//-- PLAYER: I'm not interested in that right now.
|
|
if (branchId == 5 && response == "s_5166bfb2")
|
|
{
|
|
//-- [NOTE]
|
|
if (coa3ltactofficer_condition__defaultCondition (player, self))
|
|
{
|
|
//-- NPC: Ok, suit yourself then. Come back any time you feel like helping me get rid of these stores of Alderaanian Flora.
|
|
string_id message = new string_id (c_stringFile, "s_18c581cc");
|
|
removeObjVar (player, "conversation.coa3ltactofficer.branchId");
|
|
|
|
npcSpeak (player, message);
|
|
npcEndConversation (player);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
chat.chat (self, "Error: All conditions for OnNpcConversationResponse for branch 'You've been a real hero lately, people have been buzzing about your work. If you're looking for something to do, there's plenty more warehouses to take care of! And I'm still offering a reward for turning in any Alderaanian Flora you come across.' were false.");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
//-- [BRANCH NOTE] If the player's objvar is more then 302, they have got past the story flora mission and they can take an extra flora mission.
|
|
//-- NPC: If you haven't completed the Coordinator's tasks, you should return to him. If you have, we know of more warehouses you can assault. Either way, you can hand me any Alderaanian Flora you have and I will happily reward you for it.
|
|
//-- [RESPONSE NOTE] Give player an extra flora mission. This is independent of the story arc.
|
|
//-- PLAYER: I'm ready to take out another warehouse
|
|
if (branchId == 8 && response == "s_1cb2157b")
|
|
{
|
|
coa3ltactofficer_action_getExtraFloraMission (player, self);
|
|
|
|
//-- [NOTE] Give player waypoint for spawned
|
|
if (coa3ltactofficer_condition__defaultCondition (player, self))
|
|
{
|
|
//-- NPC: Excellent! I've uploaded another waypoint to your datapad. Go destroy the warehouse and collect the flora.
|
|
string_id message = new string_id (c_stringFile, "s_ed0f23a8");
|
|
removeObjVar (player, "conversation.coa3ltactofficer.branchId");
|
|
|
|
npcSpeak (player, message);
|
|
npcEndConversation (player);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
chat.chat (self, "Error: All conditions for OnNpcConversationResponse for branch 'If you haven't completed the Coordinator's tasks, you should return to him. If you have, we know of more warehouses you can assault. Either way, you can hand me any Alderaanian Flora you have and I will happily reward you for it.' were false.");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
//-- [BRANCH NOTE] If the player's objvar is more then 302, they have got past the story flora mission and they can take an extra flora mission.
|
|
//-- NPC: If you haven't completed the Coordinator's tasks, you should return to him. If you have, we know of more warehouses you can assault. Either way, you can hand me any Alderaanian Flora you have and I will happily reward you for it.
|
|
//-- [RESPONSE NOTE]
|
|
//-- PLAYER: I need to take care of other things right now.
|
|
if (branchId == 8 && response == "s_4e9f338")
|
|
{
|
|
//-- [NOTE]
|
|
if (coa3ltactofficer_condition__defaultCondition (player, self))
|
|
{
|
|
//-- NPC: Ok, suit yourself then. Come back any time you feel like helping me get rid of these stores of Alderaanian Flora.
|
|
string_id message = new string_id (c_stringFile, "s_18c581cc");
|
|
removeObjVar (player, "conversation.coa3ltactofficer.branchId");
|
|
|
|
npcSpeak (player, message);
|
|
npcEndConversation (player);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
chat.chat (self, "Error: All conditions for OnNpcConversationResponse for branch 'If you haven't completed the Coordinator's tasks, you should return to him. If you have, we know of more warehouses you can assault. Either way, you can hand me any Alderaanian Flora you have and I will happily reward you for it.' were false.");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
//-- [BRANCH NOTE] The player has talked to coordinator and was told to seek out the info officer.
|
|
//-- NPC: I hear that you've been working with the coordinator lately to try to put a stop to this whole Dead Eye thing. Good for you! Another way we can hamper the production of Dead Eye is by attacking their store houses directly. The more Alderaanian Flora we can keep out of their hands, the better. Would you be willing to help us out in this matter?
|
|
//-- [RESPONSE NOTE] Give flora destroy mission. objvar set to 302.
|
|
//-- PLAYER: I'd be happy to help.
|
|
if (branchId == 11 && response == "s_f96e5eed")
|
|
{
|
|
coa3ltactofficer_action_getStoryFloraMission (player, self);
|
|
|
|
//-- [NOTE]
|
|
if (coa3ltactofficer_condition__defaultCondition (player, self))
|
|
{
|
|
//-- NPC: Good! Jabba has warehouses of that flora all over the Galaxy. As we find them, we are sending volunteers out to destroy them and confiscate the flora. I've added a waypoint to your datapad for a warehouse we've located close by. Go destroy it and confiscate any flora you find. I'll reward you for any Alderaanian Flora that you turn in.
|
|
string_id message = new string_id (c_stringFile, "s_1b5eac32");
|
|
removeObjVar (player, "conversation.coa3ltactofficer.branchId");
|
|
|
|
npcSpeak (player, message);
|
|
npcEndConversation (player);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
chat.chat (self, "Error: All conditions for OnNpcConversationResponse for branch 'I hear that you've been working with the coordinator lately to try to put a stop to this whole Dead Eye thing. Good for you! Another way we can hamper the production of Dead Eye is by attacking their store houses directly. The more Alderaanian Flora we can keep out of their hands, the better. Would you be willing to help us out in this matter?' were false.");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
//-- [BRANCH NOTE] The player has talked to coordinator and was told to seek out the info officer.
|
|
//-- NPC: I hear that you've been working with the coordinator lately to try to put a stop to this whole Dead Eye thing. Good for you! Another way we can hamper the production of Dead Eye is by attacking their store houses directly. The more Alderaanian Flora we can keep out of their hands, the better. Would you be willing to help us out in this matter?
|
|
//-- [RESPONSE NOTE]
|
|
//-- PLAYER: I'm not going to be able to help you right now.
|
|
if (branchId == 11 && response == "s_e4daff30")
|
|
{
|
|
//-- [NOTE]
|
|
if (coa3ltactofficer_condition__defaultCondition (player, self))
|
|
{
|
|
//-- NPC: What? Don't have the stomach for it? Come back when you've had a chance to settle your nerves.
|
|
string_id message = new string_id (c_stringFile, "s_83258fb0");
|
|
removeObjVar (player, "conversation.coa3ltactofficer.branchId");
|
|
|
|
npcSpeak (player, message);
|
|
npcEndConversation (player);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
chat.chat (self, "Error: All conditions for OnNpcConversationResponse for branch 'I hear that you've been working with the coordinator lately to try to put a stop to this whole Dead Eye thing. Good for you! Another way we can hamper the production of Dead Eye is by attacking their store houses directly. The more Alderaanian Flora we can keep out of their hands, the better. Would you be willing to help us out in this matter?' were false.");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
//-- [BRANCH NOTE] Player is in the middle of the flora story mission.
|
|
//-- NPC: Why haven't you destroyed that warehouse? Is something the matter?
|
|
//-- [RESPONSE NOTE]
|
|
//-- PLAYER: Nothing's wrong, never mind.
|
|
if (branchId == 14 && response == "s_ba1a3080")
|
|
{
|
|
//-- [NOTE]
|
|
if (coa3ltactofficer_condition__defaultCondition (player, self))
|
|
{
|
|
//-- NPC: Well quit standing around! There's work to be done!
|
|
string_id message = new string_id (c_stringFile, "s_e40779f7");
|
|
removeObjVar (player, "conversation.coa3ltactofficer.branchId");
|
|
|
|
npcSpeak (player, message);
|
|
npcEndConversation (player);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
chat.chat (self, "Error: All conditions for OnNpcConversationResponse for branch 'Why haven't you destroyed that warehouse? Is something the matter?' were false.");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
//-- [BRANCH NOTE] Player is in the middle of the flora story mission.
|
|
//-- NPC: Why haven't you destroyed that warehouse? Is something the matter?
|
|
//-- [RESPONSE NOTE] Refresh mission and objvar 302
|
|
//-- PLAYER: I was not able to find the warehouse.
|
|
if (branchId == 14 && response == "s_f2fe6350")
|
|
{
|
|
coa3ltactofficer_action_refreshStoryFloraMission (player, self);
|
|
|
|
//-- [NOTE]
|
|
if (coa3ltactofficer_condition__defaultCondition (player, self))
|
|
{
|
|
//-- NPC: Hmm, that's odd. Maybe we already took care of that one. Here, I've given you a waypoint for another warehouse we need taken out. Good luck to you!
|
|
string_id message = new string_id (c_stringFile, "s_268282e6");
|
|
removeObjVar (player, "conversation.coa3ltactofficer.branchId");
|
|
|
|
npcSpeak (player, message);
|
|
npcEndConversation (player);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
chat.chat (self, "Error: All conditions for OnNpcConversationResponse for branch 'Why haven't you destroyed that warehouse? Is something the matter?' were false.");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
//-- [BRANCH NOTE] Player is in the middle of the flora story mission.
|
|
//-- NPC: Why haven't you destroyed that warehouse? Is something the matter?
|
|
//-- [RESPONSE NOTE] Abort and set objvar to 301
|
|
//-- PLAYER: I can't complete this mission.
|
|
if (branchId == 14 && response == "s_2e791c9d")
|
|
{
|
|
coa3ltactofficer_action_abortStoryFloraMission (player, self);
|
|
|
|
//-- [NOTE]
|
|
if (coa3ltactofficer_condition__defaultCondition (player, self))
|
|
{
|
|
//-- NPC: Are you a moisture farmer or something? I guess we all can't be soldiers. Well I appreciate the offer of help anyway. If you want to try it again later, come back and let me know.
|
|
string_id message = new string_id (c_stringFile, "s_6a582260");
|
|
removeObjVar (player, "conversation.coa3ltactofficer.branchId");
|
|
|
|
npcSpeak (player, message);
|
|
npcEndConversation (player);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
chat.chat (self, "Error: All conditions for OnNpcConversationResponse for branch 'Why haven't you destroyed that warehouse? Is something the matter?' were false.");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
chat.chat (self, "Error: Fell through all branches and responses for OnNpcConversationResponse.");
|
|
|
|
removeObjVar (player, "conversation.coa3ltactofficer.branchId");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
// ======================================================================
|
|
|