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

1566 lines
48 KiB
Plaintext

// ======================================================================
//
// event_cheerleader_luke.script
//
//
//
// Created with SwgConversationEditor 1.30 - DO NOT EDIT THIS AUTO-GENERATED FILE!
//
// ======================================================================
// ======================================================================
// Library Includes
// ======================================================================
include library.ai_lib;
include library.chat;
include library.factions;
include library.groundquests;
include library.utils;
// ======================================================================
// Script Constants
// ======================================================================
string c_stringFile = "conversation/event_cheerleader_luke";
// ======================================================================
// Script Conditions
// ======================================================================
boolean event_cheerleader_luke_condition__defaultCondition (obj_id player, obj_id npc)
{
return true;
}
// ----------------------------------------------------------------------
boolean event_cheerleader_luke_condition_isImperial (obj_id player, obj_id npc)
{
int factionHashCode = factions.pvpGetAlignedFaction(player);
string whichFaction = factions.getFactionNameByHashCode(factionHashCode);
if (whichFaction==null)
return false;
if (whichFaction == "Imperial")
return true;
return false;
}
// ----------------------------------------------------------------------
boolean event_cheerleader_luke_condition_isNeutral (obj_id player, obj_id npc)
{
int factionHashCode = factions.pvpGetAlignedFaction(player);
string whichFaction = factions.getFactionNameByHashCode(factionHashCode);
if (whichFaction==null)
return true;
return false;
}
// ----------------------------------------------------------------------
boolean event_cheerleader_luke_condition_hasMaxQuests (obj_id player, obj_id npc)
{
int killImp5 = questGetQuestId("quest/event_gcwcheerleader_sfimp5");
int killImp10 = questGetQuestId("quest/event_gcwcheerleader_sfimp10");
int killImp20 = questGetQuestId("quest/event_gcwcheerleader_sfimp20");
int killImp50 = questGetQuestId("quest/event_gcwcheerleader_sfimp50");
int cmReb1 = questGetQuestId("quest/event_gcwcheerleader_cmreb1");
int cmReb2 = questGetQuestId("quest/event_gcwcheerleader_cmreb2");
int cmReb3 = questGetQuestId("quest/event_gcwcheerleader_cmreb3");
int cmReb4 = questGetQuestId("quest/event_gcwcheerleader_cmreb4");
return (
// One PvE and One PvP active
( ( questIsQuestActive(killImp5, player) ||
questIsQuestActive(killImp10, player) ||
questIsQuestActive(killImp20, player) ||
questIsQuestActive(killImp50, player) ) &&
( questIsQuestActive(cmReb1, player) ||
questIsQuestActive(cmReb2, player) ||
questIsQuestActive(cmReb3, player) ||
questIsQuestActive(cmReb4, player) ) ) ||
// All PvP done and any PvE active
( questIsQuestComplete(killImp50, player) &&
( questIsQuestActive(cmReb1, player) ||
questIsQuestActive(cmReb2, player) ||
questIsQuestActive(cmReb3, player) ||
questIsQuestActive(cmReb4, player) ) ) ||
// All PvE done and any PvP active
( questIsQuestComplete(cmReb4, player) &&
( questIsQuestActive(killImp5, player) ||
questIsQuestActive(killImp10, player) ||
questIsQuestActive(killImp20, player) ||
questIsQuestActive(killImp50, player) ) ) );
}
// ----------------------------------------------------------------------
boolean event_cheerleader_luke_condition_completedAll (obj_id player, obj_id npc)
{
int killImp5 = questGetQuestId("quest/event_gcwcheerleader_sfimp5");
int killImp10 = questGetQuestId("quest/event_gcwcheerleader_sfimp10");
int killImp20 = questGetQuestId("quest/event_gcwcheerleader_sfimp20");
int killImp50 = questGetQuestId("quest/event_gcwcheerleader_sfimp50");
int cmReb1 = questGetQuestId("quest/event_gcwcheerleader_cmreb1");
int cmReb2 = questGetQuestId("quest/event_gcwcheerleader_cmreb2");
int cmReb3 = questGetQuestId("quest/event_gcwcheerleader_cmreb3");
int cmReb4 = questGetQuestId("quest/event_gcwcheerleader_cmreb4");
return(questIsQuestComplete(killImp5, player) &&
questIsQuestComplete(killImp10, player) &&
questIsQuestComplete(killImp20, player) &&
questIsQuestComplete(killImp50, player) &&
questIsQuestComplete(cmReb1, player) &&
questIsQuestComplete(cmReb2, player) &&
questIsQuestComplete(cmReb3, player) &&
questIsQuestComplete(cmReb4, player) );
}
// ----------------------------------------------------------------------
boolean event_cheerleader_luke_condition_noMissionsComplete (obj_id player, obj_id npc)
{
int killImp5 = questGetQuestId("quest/event_gcwcheerleader_sfimp5");
int cmReb1 = questGetQuestId("quest/event_gcwcheerleader_cmreb1");
return (!questIsQuestComplete(killImp5, player) && !questIsQuestComplete(cmReb1, player) &&
!questIsQuestActive(killImp5, player) && !questIsQuestActive(cmReb1, player) );
}
// ----------------------------------------------------------------------
boolean event_cheerleader_luke_condition_pvp1Ready (obj_id player, obj_id npc)
{
int killImp20 = questGetQuestId("quest/event_gcwcheerleader_sfimp20");
int killImp10 = questGetQuestId("quest/event_gcwcheerleader_sfimp10");
int killImp5 = questGetQuestId("quest/event_gcwcheerleader_sfimp5");
return (!questIsQuestActive(killImp20, player) &&
!questIsQuestActive(killImp10, player) &&
!questIsQuestActive(killImp5, player) &&
!questIsQuestComplete(killImp20, player) &&
!questIsQuestComplete(killImp10, player) &&
!questIsQuestComplete(killImp5, player) );
}
// ----------------------------------------------------------------------
boolean event_cheerleader_luke_condition_pve1Ready (obj_id player, obj_id npc)
{
int cmReb3 = questGetQuestId("quest/event_gcwcheerleader_cmreb3");
int cmReb2 = questGetQuestId("quest/event_gcwcheerleader_cmreb2");
int cmReb1 = questGetQuestId("quest/event_gcwcheerleader_cmreb1");
return ( !questIsQuestComplete(cmReb3, player) &&
!questIsQuestComplete(cmReb2, player) &&
!questIsQuestComplete(cmReb1, player) &&
!questIsQuestActive(cmReb3, player) &&
!questIsQuestActive(cmReb2, player) &&
!questIsQuestActive(cmReb1, player) );
}
// ----------------------------------------------------------------------
boolean event_cheerleader_luke_condition_pve2Ready (obj_id player, obj_id npc)
{
int cmReb3 = questGetQuestId("quest/event_gcwcheerleader_cmreb3");
int cmReb2 = questGetQuestId("quest/event_gcwcheerleader_cmreb2");
int cmReb1 = questGetQuestId("quest/event_gcwcheerleader_cmreb1");
return ( !questIsQuestComplete(cmReb3, player) &&
!questIsQuestComplete(cmReb2, player) &&
!questIsQuestActive(cmReb3, player) &&
!questIsQuestActive(cmReb2, player) &&
questIsQuestComplete(cmReb1, player) );
}
// ----------------------------------------------------------------------
boolean event_cheerleader_luke_condition_pvp2Ready (obj_id player, obj_id npc)
{
int killImp20 = questGetQuestId("quest/event_gcwcheerleader_sfimp20");
int killImp10 = questGetQuestId("quest/event_gcwcheerleader_sfimp10");
int killImp5 = questGetQuestId("quest/event_gcwcheerleader_sfimp5");
return (!questIsQuestActive(killImp20, player) &&
!questIsQuestActive(killImp10, player) &&
!questIsQuestComplete(killImp20, player) &&
!questIsQuestComplete(killImp10, player) &&
questIsQuestComplete(killImp5, player) );
}
// ----------------------------------------------------------------------
boolean event_cheerleader_luke_condition_pve3Ready (obj_id player, obj_id npc)
{
int cmReb3 = questGetQuestId("quest/event_gcwcheerleader_cmreb3");
int cmReb2 = questGetQuestId("quest/event_gcwcheerleader_cmreb2");
int cmReb1 = questGetQuestId("quest/event_gcwcheerleader_cmreb1");
return ( !questIsQuestComplete(cmReb3, player) &&
!questIsQuestActive(cmReb3, player) &&
questIsQuestComplete(cmReb2, player) &&
questIsQuestComplete(cmReb1, player) );
}
// ----------------------------------------------------------------------
boolean event_cheerleader_luke_condition_pvp3Ready (obj_id player, obj_id npc)
{
int killImp20 = questGetQuestId("quest/event_gcwcheerleader_sfimp20");
int killImp10 = questGetQuestId("quest/event_gcwcheerleader_sfimp10");
int killImp5 = questGetQuestId("quest/event_gcwcheerleader_sfimp5");
return (!questIsQuestActive(killImp20, player) &&
!questIsQuestComplete(killImp20, player) &&
questIsQuestComplete(killImp10, player) &&
questIsQuestComplete(killImp5, player) );
}
// ----------------------------------------------------------------------
boolean event_cheerleader_luke_condition_pvp4Ready (obj_id player, obj_id npc)
{
int killImp50 = questGetQuestId("quest/event_gcwcheerleader_sfimp50");
int killImp20 = questGetQuestId("quest/event_gcwcheerleader_sfimp20");
int killImp10 = questGetQuestId("quest/event_gcwcheerleader_sfimp10");
int killImp5 = questGetQuestId("quest/event_gcwcheerleader_sfimp5");
return (!questIsQuestActive(killImp50, player) &&
!questIsQuestComplete(killImp50, player) &&
questIsQuestComplete(killImp20, player) &&
questIsQuestComplete(killImp10, player) &&
questIsQuestComplete(killImp5, player) );
}
// ----------------------------------------------------------------------
boolean event_cheerleader_luke_condition_pve4Ready (obj_id player, obj_id npc)
{
int cmReb4 = questGetQuestId("quest/event_gcwcheerleader_cmreb4");
int cmReb3 = questGetQuestId("quest/event_gcwcheerleader_cmreb3");
int cmReb2 = questGetQuestId("quest/event_gcwcheerleader_cmreb2");
int cmReb1 = questGetQuestId("quest/event_gcwcheerleader_cmreb1");
return (!questIsQuestComplete(cmReb4, player) &&
!questIsQuestActive(cmReb4, player) &&
questIsQuestComplete(cmReb3, player) &&
questIsQuestComplete(cmReb2, player) &&
questIsQuestComplete(cmReb1, player) );
}
// ----------------------------------------------------------------------
boolean event_cheerleader_luke_condition_hasMinOne (obj_id player, obj_id npc)
{
int killImp5 = questGetQuestId("quest/event_gcwcheerleader_sfimp5");
int cmReb1 = questGetQuestId("quest/event_gcwcheerleader_cmreb1");
return(questIsQuestComplete(killImp5, player) || questIsQuestComplete(cmReb1, player) ||
questIsQuestActive(killImp5, player) || questIsQuestActive(cmReb1, player) );
}
// ======================================================================
// Script Actions
// ======================================================================
void event_cheerleader_luke_action_pvp1mission (obj_id player, obj_id npc)
{
int questId = questGetQuestId("quest/event_gcwcheerleader_sfimp5");
groundquests.grantQuest(questId, player, npc, true);
attachScript(player, "event.gcwraids.spec_force_killer");
}
// ----------------------------------------------------------------------
void event_cheerleader_luke_action_pve1mission (obj_id player, obj_id npc)
{
int questId = questGetQuestId("quest/event_gcwcheerleader_cmreb1");
groundquests.grantQuest(questId, player, npc, true);
}
// ----------------------------------------------------------------------
void event_cheerleader_luke_action_pvp2mission (obj_id player, obj_id npc)
{
int questId = questGetQuestId("quest/event_gcwcheerleader_sfimp10");
groundquests.grantQuest(questId, player, npc, true);
attachScript(player, "event.gcwraids.spec_force_killer");
}
// ----------------------------------------------------------------------
void event_cheerleader_luke_action_pve2mission (obj_id player, obj_id npc)
{
int questId = questGetQuestId("quest/event_gcwcheerleader_cmreb2");
groundquests.grantQuest(questId, player, npc, true);
}
// ----------------------------------------------------------------------
void event_cheerleader_luke_action_pvp3mission (obj_id player, obj_id npc)
{
int questId = questGetQuestId("quest/event_gcwcheerleader_sfimp20");
groundquests.grantQuest(questId, player, npc, true);
attachScript(player, "event.gcwraids.spec_force_killer");
}
// ----------------------------------------------------------------------
void event_cheerleader_luke_action_pve3mission (obj_id player, obj_id npc)
{
int questId = questGetQuestId("quest/event_gcwcheerleader_cmreb3");
groundquests.grantQuest(questId, player, npc, true);
}
// ----------------------------------------------------------------------
void event_cheerleader_luke_action_pvp4mission (obj_id player, obj_id npc)
{
int questId = questGetQuestId("quest/event_gcwcheerleader_sfimp50");
groundquests.grantQuest(questId, player, npc, true);
attachScript(player, "event.gcwraids.spec_force_killer");
}
// ----------------------------------------------------------------------
void event_cheerleader_luke_action_pve4mission (obj_id player, obj_id npc)
{
int questId = questGetQuestId("quest/event_gcwcheerleader_cmreb4");
groundquests.grantQuest(questId, player, npc, true);
attachScript(player, "event.gcwraids.pve_badge");
}
// ======================================================================
// Script %TO Tokens
// ======================================================================
// ======================================================================
// Script %DI Tokens
// ======================================================================
// ======================================================================
// Script %DF Tokens
// ======================================================================
// ======================================================================
// handleBranch<n> Functions
// ======================================================================
int event_cheerleader_luke_handleBranch5 (obj_id player, obj_id npc, string_id response)
{
//-- [BRANCH NOTE]
//-- NPC: I'm looking for Soldiers willing to take on military missions. Are you with us?
//-- [RESPONSE NOTE]
//-- PLAYER: I'm ready to serve.
if (response == "s_112")
{
//-- [NOTE]
if (event_cheerleader_luke_condition__defaultCondition (player, npc))
{
//-- NPC: We need to make sure the Empire doesn't stage a counter-strike. We need to keep them busy and prevent them from regrouping.
string_id message = new string_id (c_stringFile, "s_114");
int numberOfResponses = 0;
boolean hasResponse = false;
//-- PLAYER: What do you need me to do?
boolean hasResponse0 = false;
if (event_cheerleader_luke_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_116");
utils.setScriptVar (player, "conversation.event_cheerleader_luke.branchId", 6);
npcSpeak (player, message);
npcSetConversationResponses (player, responses);
}
else
{
utils.removeScriptVar (player, "conversation.event_cheerleader_luke.branchId");
chat.chat (npc, player, message);
npcEndConversation (player);
}
return SCRIPT_CONTINUE;
}
}
return SCRIPT_DEFAULT;
}
// ----------------------------------------------------------------------
int event_cheerleader_luke_handleBranch6 (obj_id player, obj_id npc, string_id response)
{
//-- [BRANCH NOTE]
//-- NPC: We need to make sure the Empire doesn't stage a counter-strike. We need to keep them busy and prevent them from regrouping.
//-- [RESPONSE NOTE]
//-- PLAYER: What do you need me to do?
if (response == "s_116")
{
//-- [NOTE]
if (event_cheerleader_luke_condition__defaultCondition (player, npc))
{
//-- NPC: We need you to take part in hit-and-run strikes on their ground forces. Just enough to keep them busy. Do you want to take on regular combatants or Imperial Special Forces?
string_id message = new string_id (c_stringFile, "s_118");
int numberOfResponses = 0;
boolean hasResponse = false;
//-- PLAYER: I'll face the Empire's combatants.
boolean hasResponse0 = false;
if (event_cheerleader_luke_condition__defaultCondition (player, npc))
{
++numberOfResponses;
hasResponse = true;
hasResponse0 = true;
}
//-- PLAYER: I'll take on the Empire's Special forces.
boolean hasResponse1 = false;
if (event_cheerleader_luke_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_120");
if (hasResponse1)
responses [responseIndex++] = new string_id (c_stringFile, "s_124");
utils.setScriptVar (player, "conversation.event_cheerleader_luke.branchId", 7);
npcSpeak (player, message);
npcSetConversationResponses (player, responses);
}
else
{
utils.removeScriptVar (player, "conversation.event_cheerleader_luke.branchId");
chat.chat (npc, player, message);
npcEndConversation (player);
}
return SCRIPT_CONTINUE;
}
}
return SCRIPT_DEFAULT;
}
// ----------------------------------------------------------------------
int event_cheerleader_luke_handleBranch7 (obj_id player, obj_id npc, string_id response)
{
//-- [BRANCH NOTE]
//-- NPC: We need you to take part in hit-and-run strikes on their ground forces. Just enough to keep them busy. Do you want to take on regular combatants or Imperial Special Forces?
//-- [RESPONSE NOTE]
//-- PLAYER: I'll face the Empire's combatants.
if (response == "s_120")
{
//-- [NOTE]
if (event_cheerleader_luke_condition__defaultCondition (player, npc))
{
event_cheerleader_luke_action_pve1mission (player, npc);
//-- NPC: Very good. I'll upload the mission for you. May the Force be with you.
string_id message = new string_id (c_stringFile, "s_122");
utils.removeScriptVar (player, "conversation.event_cheerleader_luke.branchId");
chat.chat (npc, player, message);
npcEndConversation (player);
return SCRIPT_CONTINUE;
}
}
//-- [RESPONSE NOTE]
//-- PLAYER: I'll take on the Empire's Special forces.
if (response == "s_124")
{
//-- [NOTE]
if (event_cheerleader_luke_condition__defaultCondition (player, npc))
{
event_cheerleader_luke_action_pvp1mission (player, npc);
//-- NPC: Very good. I'll upload the mission for you. May the Force be with you.
string_id message = new string_id (c_stringFile, "s_126");
utils.removeScriptVar (player, "conversation.event_cheerleader_luke.branchId");
chat.chat (npc, player, message);
npcEndConversation (player);
return SCRIPT_CONTINUE;
}
}
return SCRIPT_DEFAULT;
}
// ----------------------------------------------------------------------
int event_cheerleader_luke_handleBranch10 (obj_id player, obj_id npc, string_id response)
{
//-- [BRANCH NOTE]
//-- NPC: I remember you. Nice work on that last mission. Are you ready for a tougher assignment?
//-- [RESPONSE NOTE]
//-- PLAYER: I want to fight against enemy combatants.
if (response == "s_130")
{
//-- [NOTE]
if (event_cheerleader_luke_condition__defaultCondition (player, npc))
{
//-- NPC: We need to make sure the Empire doesn't stage a counter-strike. We need to keep them busy and prevent them from regrouping.
string_id message = new string_id (c_stringFile, "s_132");
int numberOfResponses = 0;
boolean hasResponse = false;
//-- PLAYER: What do you need me to do?
boolean hasResponse0 = false;
if (event_cheerleader_luke_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_134");
utils.setScriptVar (player, "conversation.event_cheerleader_luke.branchId", 11);
npcSpeak (player, message);
npcSetConversationResponses (player, responses);
}
else
{
utils.removeScriptVar (player, "conversation.event_cheerleader_luke.branchId");
chat.chat (npc, player, message);
npcEndConversation (player);
}
return SCRIPT_CONTINUE;
}
}
//-- [RESPONSE NOTE]
//-- PLAYER: I want to fight against enemy Special Forces.
if (response == "s_142")
{
//-- [NOTE]
if (event_cheerleader_luke_condition__defaultCondition (player, npc))
{
//-- NPC: We need to make sure the Empire doesn't stage a counter-strike. We need to keep them busy and prevent them from regrouping.
string_id message = new string_id (c_stringFile, "s_144");
int numberOfResponses = 0;
boolean hasResponse = false;
//-- PLAYER: What do you need me to do?
boolean hasResponse0 = false;
if (event_cheerleader_luke_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_146");
utils.setScriptVar (player, "conversation.event_cheerleader_luke.branchId", 14);
npcSpeak (player, message);
npcSetConversationResponses (player, responses);
}
else
{
utils.removeScriptVar (player, "conversation.event_cheerleader_luke.branchId");
chat.chat (npc, player, message);
npcEndConversation (player);
}
return SCRIPT_CONTINUE;
}
}
//-- [RESPONSE NOTE]
//-- PLAYER: I want to fight more enemy combatants.
if (response == "s_154")
{
//-- [NOTE]
if (event_cheerleader_luke_condition__defaultCondition (player, npc))
{
//-- NPC: Stormtroopers in the cities are trying to scare the locals into compliance. We need to show everyone that the Alliance is in control.
string_id message = new string_id (c_stringFile, "s_156");
int numberOfResponses = 0;
boolean hasResponse = false;
//-- PLAYER: Take out Stormtroopers in the cities? I can do that.
boolean hasResponse0 = false;
if (event_cheerleader_luke_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_158");
utils.setScriptVar (player, "conversation.event_cheerleader_luke.branchId", 17);
npcSpeak (player, message);
npcSetConversationResponses (player, responses);
}
else
{
utils.removeScriptVar (player, "conversation.event_cheerleader_luke.branchId");
chat.chat (npc, player, message);
npcEndConversation (player);
}
return SCRIPT_CONTINUE;
}
}
//-- [RESPONSE NOTE]
//-- PLAYER: I want to fight more enemy Special Forces.
if (response == "s_162")
{
//-- [NOTE]
if (event_cheerleader_luke_condition__defaultCondition (player, npc))
{
event_cheerleader_luke_action_pvp2mission (player, npc);
//-- NPC: Good. We need to prove we can handle security. Removing some of these Imperials should ease everyone's fears.
string_id message = new string_id (c_stringFile, "s_164");
utils.removeScriptVar (player, "conversation.event_cheerleader_luke.branchId");
chat.chat (npc, player, message);
npcEndConversation (player);
return SCRIPT_CONTINUE;
}
}
//-- [RESPONSE NOTE]
//-- PLAYER: I'm ready for a real challenge against enemy combatants.
if (response == "s_166")
{
//-- [NOTE]
if (event_cheerleader_luke_condition__defaultCondition (player, npc))
{
//-- NPC: We're doing well on this planet, but the Empire could retaliate at any time. We have to deplete their resources to keep them off balance. The best way to do this is from the ground up.
string_id message = new string_id (c_stringFile, "s_168");
int numberOfResponses = 0;
boolean hasResponse = false;
//-- PLAYER: Just like last time?
boolean hasResponse0 = false;
if (event_cheerleader_luke_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_170");
utils.setScriptVar (player, "conversation.event_cheerleader_luke.branchId", 20);
npcSpeak (player, message);
npcSetConversationResponses (player, responses);
}
else
{
utils.removeScriptVar (player, "conversation.event_cheerleader_luke.branchId");
chat.chat (npc, player, message);
npcEndConversation (player);
}
return SCRIPT_CONTINUE;
}
}
//-- [RESPONSE NOTE]
//-- PLAYER: I'm ready for a real challenge against enemy Special Forces.
if (response == "s_174")
{
//-- [NOTE]
if (event_cheerleader_luke_condition__defaultCondition (player, npc))
{
//-- NPC: We're doing well on this planet, but the Empire could retaliate at any time. We have to deplete their resources to keep them off balance.
string_id message = new string_id (c_stringFile, "s_176");
int numberOfResponses = 0;
boolean hasResponse = false;
//-- PLAYER: Just like last time?
boolean hasResponse0 = false;
if (event_cheerleader_luke_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_178");
utils.setScriptVar (player, "conversation.event_cheerleader_luke.branchId", 22);
npcSpeak (player, message);
npcSetConversationResponses (player, responses);
}
else
{
utils.removeScriptVar (player, "conversation.event_cheerleader_luke.branchId");
chat.chat (npc, player, message);
npcEndConversation (player);
}
return SCRIPT_CONTINUE;
}
}
//-- [RESPONSE NOTE]
//-- PLAYER: Enemy combatants are my specialty.
if (response == "s_182")
{
//-- [NOTE]
if (event_cheerleader_luke_condition__defaultCondition (player, npc))
{
//-- NPC: The Empire is relying more and more on their Elite Novatrooper Commanders. By breaking the chain of command at that level we can disrupt their operations greatly.
string_id message = new string_id (c_stringFile, "s_184");
int numberOfResponses = 0;
boolean hasResponse = false;
//-- PLAYER: What do I do?
boolean hasResponse0 = false;
if (event_cheerleader_luke_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_186");
utils.setScriptVar (player, "conversation.event_cheerleader_luke.branchId", 24);
npcSpeak (player, message);
npcSetConversationResponses (player, responses);
}
else
{
utils.removeScriptVar (player, "conversation.event_cheerleader_luke.branchId");
chat.chat (npc, player, message);
npcEndConversation (player);
}
return SCRIPT_CONTINUE;
}
}
//-- [RESPONSE NOTE]
//-- PLAYER: Enemy Special Forces are my specialty.
if (response == "s_194")
{
//-- [NOTE]
if (event_cheerleader_luke_condition__defaultCondition (player, npc))
{
event_cheerleader_luke_action_pvp4mission (player, npc);
//-- NPC: These Special Forces are responsible for almost all of our base losses. Do everything you can to stop them and we'll give you command of your detachment headquarters.
string_id message = new string_id (c_stringFile, "s_196");
utils.removeScriptVar (player, "conversation.event_cheerleader_luke.branchId");
chat.chat (npc, player, message);
npcEndConversation (player);
return SCRIPT_CONTINUE;
}
}
return SCRIPT_DEFAULT;
}
// ----------------------------------------------------------------------
int event_cheerleader_luke_handleBranch11 (obj_id player, obj_id npc, string_id response)
{
//-- [BRANCH NOTE]
//-- NPC: We need to make sure the Empire doesn't stage a counter-strike. We need to keep them busy and prevent them from regrouping.
//-- [RESPONSE NOTE]
//-- PLAYER: What do you need me to do?
if (response == "s_134")
{
//-- [NOTE]
if (event_cheerleader_luke_condition__defaultCondition (player, npc))
{
//-- NPC: We need you to take part in hit-and-run strikes on their ground forces. Just enough to keep them busy.
string_id message = new string_id (c_stringFile, "s_136");
int numberOfResponses = 0;
boolean hasResponse = false;
//-- PLAYER: I'll face the Empires Combatants.
boolean hasResponse0 = false;
if (event_cheerleader_luke_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_138");
utils.setScriptVar (player, "conversation.event_cheerleader_luke.branchId", 12);
npcSpeak (player, message);
npcSetConversationResponses (player, responses);
}
else
{
utils.removeScriptVar (player, "conversation.event_cheerleader_luke.branchId");
chat.chat (npc, player, message);
npcEndConversation (player);
}
return SCRIPT_CONTINUE;
}
}
return SCRIPT_DEFAULT;
}
// ----------------------------------------------------------------------
int event_cheerleader_luke_handleBranch12 (obj_id player, obj_id npc, string_id response)
{
//-- [BRANCH NOTE]
//-- NPC: We need you to take part in hit-and-run strikes on their ground forces. Just enough to keep them busy.
//-- [RESPONSE NOTE]
//-- PLAYER: I'll face the Empires Combatants.
if (response == "s_138")
{
//-- [NOTE]
if (event_cheerleader_luke_condition__defaultCondition (player, npc))
{
event_cheerleader_luke_action_pve1mission (player, npc);
//-- NPC: Very good. I'll upload the mission for you. May the Force be with you.
string_id message = new string_id (c_stringFile, "s_140");
utils.removeScriptVar (player, "conversation.event_cheerleader_luke.branchId");
chat.chat (npc, player, message);
npcEndConversation (player);
return SCRIPT_CONTINUE;
}
}
return SCRIPT_DEFAULT;
}
// ----------------------------------------------------------------------
int event_cheerleader_luke_handleBranch14 (obj_id player, obj_id npc, string_id response)
{
//-- [BRANCH NOTE]
//-- NPC: We need to make sure the Empire doesn't stage a counter-strike. We need to keep them busy and prevent them from regrouping.
//-- [RESPONSE NOTE]
//-- PLAYER: What do you need me to do?
if (response == "s_146")
{
//-- [NOTE]
if (event_cheerleader_luke_condition__defaultCondition (player, npc))
{
//-- NPC: We need you to take part in hit-and-run strikes on their ground forces. Just enough to keep them busy.
string_id message = new string_id (c_stringFile, "s_148");
int numberOfResponses = 0;
boolean hasResponse = false;
//-- PLAYER: I'll take on the Empire's Special forces.
boolean hasResponse0 = false;
if (event_cheerleader_luke_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_150");
utils.setScriptVar (player, "conversation.event_cheerleader_luke.branchId", 15);
npcSpeak (player, message);
npcSetConversationResponses (player, responses);
}
else
{
utils.removeScriptVar (player, "conversation.event_cheerleader_luke.branchId");
chat.chat (npc, player, message);
npcEndConversation (player);
}
return SCRIPT_CONTINUE;
}
}
return SCRIPT_DEFAULT;
}
// ----------------------------------------------------------------------
int event_cheerleader_luke_handleBranch15 (obj_id player, obj_id npc, string_id response)
{
//-- [BRANCH NOTE]
//-- NPC: We need you to take part in hit-and-run strikes on their ground forces. Just enough to keep them busy.
//-- [RESPONSE NOTE]
//-- PLAYER: I'll take on the Empire's Special forces.
if (response == "s_150")
{
//-- [NOTE]
if (event_cheerleader_luke_condition__defaultCondition (player, npc))
{
event_cheerleader_luke_action_pvp1mission (player, npc);
//-- NPC: Very good. I'll upload the mission for you. May the Force be with you.
string_id message = new string_id (c_stringFile, "s_152");
utils.removeScriptVar (player, "conversation.event_cheerleader_luke.branchId");
chat.chat (npc, player, message);
npcEndConversation (player);
return SCRIPT_CONTINUE;
}
}
return SCRIPT_DEFAULT;
}
// ----------------------------------------------------------------------
int event_cheerleader_luke_handleBranch17 (obj_id player, obj_id npc, string_id response)
{
//-- [BRANCH NOTE]
//-- NPC: Stormtroopers in the cities are trying to scare the locals into compliance. We need to show everyone that the Alliance is in control.
//-- [RESPONSE NOTE]
//-- PLAYER: Take out Stormtroopers in the cities? I can do that.
if (response == "s_158")
{
//-- [NOTE]
if (event_cheerleader_luke_condition__defaultCondition (player, npc))
{
event_cheerleader_luke_action_pve2mission (player, npc);
//-- NPC: Good. We need to prove we can handle security. Removing some Stormtroopers should ease everyone's fears.
string_id message = new string_id (c_stringFile, "s_160");
utils.removeScriptVar (player, "conversation.event_cheerleader_luke.branchId");
chat.chat (npc, player, message);
npcEndConversation (player);
return SCRIPT_CONTINUE;
}
}
return SCRIPT_DEFAULT;
}
// ----------------------------------------------------------------------
int event_cheerleader_luke_handleBranch20 (obj_id player, obj_id npc, string_id response)
{
//-- [BRANCH NOTE]
//-- NPC: We're doing well on this planet, but the Empire could retaliate at any time. We have to deplete their resources to keep them off balance. The best way to do this is from the ground up.
//-- [RESPONSE NOTE]
//-- PLAYER: Just like last time?
if (response == "s_170")
{
//-- [NOTE]
if (event_cheerleader_luke_condition__defaultCondition (player, npc))
{
event_cheerleader_luke_action_pve3mission (player, npc);
//-- NPC: No, this time you'll be targetting their elite forces and then moving up the ranks to their officers.The more we can deplete their forces, the easier time we'll have taking down their bases. You manage to do this and I'll see to it you get a base of your own to command.
string_id message = new string_id (c_stringFile, "s_172");
utils.removeScriptVar (player, "conversation.event_cheerleader_luke.branchId");
chat.chat (npc, player, message);
npcEndConversation (player);
return SCRIPT_CONTINUE;
}
}
return SCRIPT_DEFAULT;
}
// ----------------------------------------------------------------------
int event_cheerleader_luke_handleBranch22 (obj_id player, obj_id npc, string_id response)
{
//-- [BRANCH NOTE]
//-- NPC: We're doing well on this planet, but the Empire could retaliate at any time. We have to deplete their resources to keep them off balance.
//-- [RESPONSE NOTE]
//-- PLAYER: Just like last time?
if (response == "s_178")
{
//-- [NOTE]
if (event_cheerleader_luke_condition__defaultCondition (player, npc))
{
event_cheerleader_luke_action_pvp3mission (player, npc);
//-- NPC: Yes, the more we can deplete their Special Forces, the easier time we'll have taking down their bases. You manage to do this and I'll see to it you get a base of your own to command.
string_id message = new string_id (c_stringFile, "s_180");
utils.removeScriptVar (player, "conversation.event_cheerleader_luke.branchId");
chat.chat (npc, player, message);
npcEndConversation (player);
return SCRIPT_CONTINUE;
}
}
return SCRIPT_DEFAULT;
}
// ----------------------------------------------------------------------
int event_cheerleader_luke_handleBranch24 (obj_id player, obj_id npc, string_id response)
{
//-- [BRANCH NOTE]
//-- NPC: The Empire is relying more and more on their Elite Novatrooper Commanders. By breaking the chain of command at that level we can disrupt their operations greatly.
//-- [RESPONSE NOTE]
//-- PLAYER: What do I do?
if (response == "s_186")
{
//-- [NOTE]
if (event_cheerleader_luke_condition__defaultCondition (player, npc))
{
//-- NPC: Elite Novatrooper Commanders aren't easy to find, but they are out there. Do what you can to find one and remove him from command.
string_id message = new string_id (c_stringFile, "s_188");
int numberOfResponses = 0;
boolean hasResponse = false;
//-- PLAYER: I'm on it.
boolean hasResponse0 = false;
if (event_cheerleader_luke_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_190");
utils.setScriptVar (player, "conversation.event_cheerleader_luke.branchId", 25);
npcSpeak (player, message);
npcSetConversationResponses (player, responses);
}
else
{
utils.removeScriptVar (player, "conversation.event_cheerleader_luke.branchId");
chat.chat (npc, player, message);
npcEndConversation (player);
}
return SCRIPT_CONTINUE;
}
}
return SCRIPT_DEFAULT;
}
// ----------------------------------------------------------------------
int event_cheerleader_luke_handleBranch25 (obj_id player, obj_id npc, string_id response)
{
//-- [BRANCH NOTE]
//-- NPC: Elite Novatrooper Commanders aren't easy to find, but they are out there. Do what you can to find one and remove him from command.
//-- [RESPONSE NOTE]
//-- PLAYER: I'm on it.
if (response == "s_190")
{
//-- [NOTE]
if (event_cheerleader_luke_condition__defaultCondition (player, npc))
{
event_cheerleader_luke_action_pve4mission (player, npc);
//-- NPC: Do this and we'll give you command of your own detachment headquarters. You'll have earned it.
string_id message = new string_id (c_stringFile, "s_192");
utils.removeScriptVar (player, "conversation.event_cheerleader_luke.branchId");
chat.chat (npc, player, message);
npcEndConversation (player);
return SCRIPT_CONTINUE;
}
}
return SCRIPT_DEFAULT;
}
// ----------------------------------------------------------------------
// ======================================================================
// User Script Triggers
// ======================================================================
trigger OnInitialize ()
{
if ((!isMob (self)) || (isPlayer (self)))
detachScript(self, "conversation.event_cheerleader_luke");
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.event_cheerleader_luke");
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 (event_cheerleader_luke_condition_isImperial (player, npc))
{
//-- NPC: You've chosen the wrong path. I suggest you find an Alliance recruiter and join the Light side.
string_id message = new string_id (c_stringFile, "s_102");
chat.chat (npc, player, message);
return SCRIPT_CONTINUE;
}
//-- [NOTE]
if (event_cheerleader_luke_condition_isNeutral (player, npc))
{
//-- NPC: I know you want to help, but you'll have to join the Rebellion before I can assign you any missions.
string_id message = new string_id (c_stringFile, "s_104");
chat.chat (npc, player, message);
return SCRIPT_CONTINUE;
}
//-- [NOTE]
if (event_cheerleader_luke_condition_hasMaxQuests (player, npc))
{
//-- NPC: Good to see you again. You need to finish your mission before I can assign you another. May the Force be with you.
string_id message = new string_id (c_stringFile, "s_106");
chat.chat (npc, player, message);
return SCRIPT_CONTINUE;
}
//-- [NOTE]
if (event_cheerleader_luke_condition_completedAll (player, npc))
{
//-- NPC: Good to see you again. I know you want more missions, but I've asked enough of you already. I don't have any more missions for you. Thanks for your service to the Rebellion.
string_id message = new string_id (c_stringFile, "s_108");
chat.chat (npc, player, message);
return SCRIPT_CONTINUE;
}
//-- [NOTE]
if (event_cheerleader_luke_condition_noMissionsComplete (player, npc))
{
//-- NPC: I'm looking for Soldiers willing to take on military missions. Are you with us?
string_id message = new string_id (c_stringFile, "s_110");
int numberOfResponses = 0;
boolean hasResponse = false;
//-- PLAYER: I'm ready to serve.
boolean hasResponse0 = false;
if (event_cheerleader_luke_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_112");
utils.setScriptVar (player, "conversation.event_cheerleader_luke.branchId", 5);
npcStartConversation (player, npc, "event_cheerleader_luke", message, responses);
}
else
{
chat.chat (npc, player, message);
}
return SCRIPT_CONTINUE;
}
//-- [NOTE]
if (event_cheerleader_luke_condition_hasMinOne (player, npc))
{
//-- NPC: I remember you. Nice work on that last mission. Are you ready for a tougher assignment?
string_id message = new string_id (c_stringFile, "s_128");
int numberOfResponses = 0;
boolean hasResponse = false;
//-- PLAYER: I want to fight against enemy combatants.
boolean hasResponse0 = false;
if (event_cheerleader_luke_condition_pve1Ready (player, npc))
{
++numberOfResponses;
hasResponse = true;
hasResponse0 = true;
}
//-- PLAYER: I want to fight against enemy Special Forces.
boolean hasResponse1 = false;
if (event_cheerleader_luke_condition_pvp1Ready (player, npc))
{
++numberOfResponses;
hasResponse = true;
hasResponse1 = true;
}
//-- PLAYER: I want to fight more enemy combatants.
boolean hasResponse2 = false;
if (event_cheerleader_luke_condition_pve2Ready (player, npc))
{
++numberOfResponses;
hasResponse = true;
hasResponse2 = true;
}
//-- PLAYER: I want to fight more enemy Special Forces.
boolean hasResponse3 = false;
if (event_cheerleader_luke_condition_pvp2Ready (player, npc))
{
++numberOfResponses;
hasResponse = true;
hasResponse3 = true;
}
//-- PLAYER: I'm ready for a real challenge against enemy combatants.
boolean hasResponse4 = false;
if (event_cheerleader_luke_condition_pve3Ready (player, npc))
{
++numberOfResponses;
hasResponse = true;
hasResponse4 = true;
}
//-- PLAYER: I'm ready for a real challenge against enemy Special Forces.
boolean hasResponse5 = false;
if (event_cheerleader_luke_condition_pvp3Ready (player, npc))
{
++numberOfResponses;
hasResponse = true;
hasResponse5 = true;
}
//-- PLAYER: Enemy combatants are my specialty.
boolean hasResponse6 = false;
if (event_cheerleader_luke_condition_pve4Ready (player, npc))
{
++numberOfResponses;
hasResponse = true;
hasResponse6 = true;
}
//-- PLAYER: Enemy Special Forces are my specialty.
boolean hasResponse7 = false;
if (event_cheerleader_luke_condition_pvp4Ready (player, npc))
{
++numberOfResponses;
hasResponse = true;
hasResponse7 = true;
}
if (hasResponse)
{
int responseIndex = 0;
string_id responses [] = new string_id [numberOfResponses];
if (hasResponse0)
responses [responseIndex++] = new string_id (c_stringFile, "s_130");
if (hasResponse1)
responses [responseIndex++] = new string_id (c_stringFile, "s_142");
if (hasResponse2)
responses [responseIndex++] = new string_id (c_stringFile, "s_154");
if (hasResponse3)
responses [responseIndex++] = new string_id (c_stringFile, "s_162");
if (hasResponse4)
responses [responseIndex++] = new string_id (c_stringFile, "s_166");
if (hasResponse5)
responses [responseIndex++] = new string_id (c_stringFile, "s_174");
if (hasResponse6)
responses [responseIndex++] = new string_id (c_stringFile, "s_182");
if (hasResponse7)
responses [responseIndex++] = new string_id (c_stringFile, "s_194");
utils.setScriptVar (player, "conversation.event_cheerleader_luke.branchId", 10);
npcStartConversation (player, npc, "event_cheerleader_luke", 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 != "event_cheerleader_luke")
return SCRIPT_CONTINUE;
obj_id npc = self;
int branchId = utils.getIntScriptVar (player, "conversation.event_cheerleader_luke.branchId");
if (branchId == 5 && event_cheerleader_luke_handleBranch5 (player, npc, response) == SCRIPT_CONTINUE)
return SCRIPT_CONTINUE;
if (branchId == 6 && event_cheerleader_luke_handleBranch6 (player, npc, response) == SCRIPT_CONTINUE)
return SCRIPT_CONTINUE;
if (branchId == 7 && event_cheerleader_luke_handleBranch7 (player, npc, response) == SCRIPT_CONTINUE)
return SCRIPT_CONTINUE;
if (branchId == 10 && event_cheerleader_luke_handleBranch10 (player, npc, response) == SCRIPT_CONTINUE)
return SCRIPT_CONTINUE;
if (branchId == 11 && event_cheerleader_luke_handleBranch11 (player, npc, response) == SCRIPT_CONTINUE)
return SCRIPT_CONTINUE;
if (branchId == 12 && event_cheerleader_luke_handleBranch12 (player, npc, response) == SCRIPT_CONTINUE)
return SCRIPT_CONTINUE;
if (branchId == 14 && event_cheerleader_luke_handleBranch14 (player, npc, response) == SCRIPT_CONTINUE)
return SCRIPT_CONTINUE;
if (branchId == 15 && event_cheerleader_luke_handleBranch15 (player, npc, response) == SCRIPT_CONTINUE)
return SCRIPT_CONTINUE;
if (branchId == 17 && event_cheerleader_luke_handleBranch17 (player, npc, response) == SCRIPT_CONTINUE)
return SCRIPT_CONTINUE;
if (branchId == 20 && event_cheerleader_luke_handleBranch20 (player, npc, response) == SCRIPT_CONTINUE)
return SCRIPT_CONTINUE;
if (branchId == 22 && event_cheerleader_luke_handleBranch22 (player, npc, response) == SCRIPT_CONTINUE)
return SCRIPT_CONTINUE;
if (branchId == 24 && event_cheerleader_luke_handleBranch24 (player, npc, response) == SCRIPT_CONTINUE)
return SCRIPT_CONTINUE;
if (branchId == 25 && event_cheerleader_luke_handleBranch25 (player, npc, response) == SCRIPT_CONTINUE)
return SCRIPT_CONTINUE;
chat.chat (npc, "Error: Fell through all branches and responses for OnNpcConversationResponse.");
utils.removeScriptVar (player, "conversation.event_cheerleader_luke.branchId");
return SCRIPT_CONTINUE;
}
// ======================================================================