mirror of
https://github.com/SWG-Source/dsrc.git
synced 2026-08-04 04:15:52 -04:00
866 lines
26 KiB
Plaintext
866 lines
26 KiB
Plaintext
// ======================================================================
|
|
//
|
|
// loveday_disillusion_blaire.script
|
|
//
|
|
//
|
|
//
|
|
// 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.groundquests;
|
|
include library.utils;
|
|
|
|
// ======================================================================
|
|
// Script Constants
|
|
// ======================================================================
|
|
|
|
string c_stringFile = "conversation/loveday_disillusion_blaire";
|
|
|
|
// ======================================================================
|
|
// Script Conditions
|
|
// ======================================================================
|
|
|
|
boolean loveday_disillusion_blaire_condition__defaultCondition (obj_id player, obj_id npc)
|
|
{
|
|
return true;
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
boolean loveday_disillusion_blaire_condition_petLoverActive (obj_id player, obj_id npc)
|
|
{
|
|
return groundquests.isTaskActive(player, "loveday_disillusion_pet_lover_v2", "loveday_disillusion_pet_lover_02") ||
|
|
groundquests.isTaskActive(player, "loveday_disillusion_pet_lover_v2", "loveday_disillusion_pet_lover_03") ||
|
|
groundquests.isTaskActive(player, "loveday_disillusion_pet_lover_v2", "loveday_disillusion_pet_lover_complete");
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
boolean loveday_disillusion_blaire_condition_questStart (obj_id player, obj_id npc)
|
|
{
|
|
return groundquests.isTaskActive(player, "loveday_disillusion_pet_lover_v2", "loveday_disillusion_pet_lover_01");
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
boolean loveday_disillusion_blaire_condition_petLoverReturn (obj_id player, obj_id npc)
|
|
{
|
|
if ( groundquests.isTaskActive(player, "loveday_disillusion_pet_lover_v2", "loveday_disillusion_pet_lover_complete") )
|
|
{
|
|
return true;
|
|
}
|
|
|
|
if ( groundquests.hasCompletedQuest(player, "loveday_disillusion_pet_lover_v2") )
|
|
{
|
|
if ( !groundquests.isQuestActive(player, "loveday_disillusion_love_note_v2") )
|
|
{
|
|
return true;
|
|
}
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
boolean loveday_disillusion_blaire_condition_loveNoteActive (obj_id player, obj_id npc)
|
|
{
|
|
return groundquests.isQuestActive(player, "loveday_disillusion_love_note_v2");
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
boolean loveday_disillusion_blaire_condition_loveNoteReturn (obj_id player, obj_id npc)
|
|
{
|
|
if ( groundquests.isTaskActive(player, "loveday_disillusion_love_note_v2", "loveday_disillusion_love_note_complete") )
|
|
{
|
|
return true;
|
|
}
|
|
|
|
if ( groundquests.hasCompletedQuest(player, "loveday_disillusion_love_note_v2") )
|
|
{
|
|
if ( !groundquests.isQuestActive(player, "loveday_disillusion_mr_hate_v2") &&
|
|
!groundquests.isQuestActive(player, "loveday_disillusion_mr_hate_v2_noloot") )
|
|
{
|
|
return true;
|
|
}
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
boolean loveday_disillusion_blaire_condition_mrHateActive (obj_id player, obj_id npc)
|
|
{
|
|
return groundquests.isQuestActive(player, "loveday_disillusion_mr_hate_v2") ||
|
|
groundquests.isQuestActive(player, "loveday_disillusion_mr_hate_v2_noloot");
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
boolean loveday_disillusion_blaire_condition_mrHateReturn (obj_id player, obj_id npc)
|
|
{
|
|
if ( groundquests.isTaskActive(player, "loveday_disillusion_mr_hate_v2", "loveday_disillusion_mr_hate_complete") ||
|
|
groundquests.isTaskActive(player, "loveday_disillusion_mr_hate_v2_noloot", "loveday_disillusion_mr_hate_complete") )
|
|
{
|
|
return true;
|
|
}
|
|
|
|
/* if ( groundquests.hasCompletedQuest(player, "loveday_disillusion_mr_hate_v2") ||
|
|
groundquests.hasCompletedQuest(player, "loveday_disillusion_mr_hate_v2_noloot") )
|
|
{
|
|
if ( !hasCompletedCollectionSlot(player, "loveday_2010_disillusion_quest") )
|
|
{
|
|
return true;
|
|
}
|
|
}*/
|
|
|
|
|
|
return false;
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
boolean loveday_disillusion_blaire_condition_questComplete (obj_id player, obj_id npc)
|
|
{
|
|
return hasCompletedCollectionSlot(player, "loveday_2010_disillusion_quest");
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
boolean loveday_disillusion_blaire_condition_undisillusioned (obj_id player, obj_id npc)
|
|
{
|
|
return utils.hasScriptVar(npc, "unDisillusioned");
|
|
}
|
|
|
|
// ======================================================================
|
|
// Script Actions
|
|
// ======================================================================
|
|
|
|
void loveday_disillusion_blaire_action_grantLoveNote (obj_id player, obj_id npc)
|
|
{
|
|
if ( groundquests.isQuestActive(player, "loveday_disillusion_love_note_v2") )
|
|
groundquests.clearQuest(player, "loveday_disillusion_love_note_v2");
|
|
|
|
groundquests.requestGrantQuest(player, "loveday_disillusion_love_note_v2");
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
void loveday_disillusion_blaire_action_grantMrHate (obj_id player, obj_id npc)
|
|
{
|
|
if ( groundquests.hasCompletedQuest(player, "loveday_disillusion_mr_hate_v2") )
|
|
{
|
|
groundquests.requestGrantQuest(player, "loveday_disillusion_mr_hate_v2_noloot");
|
|
}
|
|
else
|
|
{
|
|
groundquests.requestGrantQuest(player, "loveday_disillusion_mr_hate_v2");
|
|
}
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
void loveday_disillusion_blaire_action_signalPetLover (obj_id player, obj_id npc)
|
|
{
|
|
groundquests.sendSignal(player, "loveday_disillusion_pet_lover_complete");
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
void loveday_disillusion_blaire_action_signalStart (obj_id player, obj_id npc)
|
|
{
|
|
groundquests.sendSignal(player, "loveday_disillusion_pet_lover_01");
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
void loveday_disillusion_blaire_action_signalLoveNote (obj_id player, obj_id npc)
|
|
{
|
|
groundquests.sendSignal(player, "loveday_disillusion_love_note_complete");
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
void loveday_disillusion_blaire_action_signalMrHate (obj_id player, obj_id npc)
|
|
{
|
|
groundquests.sendSignal(player, "loveday_disillusion_mr_hate_complete");
|
|
|
|
if ( !hasCompletedCollectionSlot(player, "loveday_2010_disillusion_quest") )
|
|
{
|
|
modifyCollectionSlotValue(player, "loveday_2010_disillusion_quest", 1);
|
|
}
|
|
|
|
location here = getLocation(npc);
|
|
//playClientEffectLoc(getPlayerCreaturesInRange(here, 100.0f), "clienteffect/jedi_master_cloak_good.cef", here, 0.0f);
|
|
setObjectAppearance(npc, "object/mobile/shared_loveday_ewok_cupid.iff");
|
|
|
|
setName(npc, "Benjamin (a Festival of Love Sage)");
|
|
|
|
messageTo(npc, "handleResetDisillusionAppearance", null, 19, false);
|
|
utils.setScriptVar(npc, "unDisillusioned", true);
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
void loveday_disillusion_blaire_action_grantCollectionSlot (obj_id player, obj_id npc)
|
|
{
|
|
if ( !hasCompletedCollectionSlot(player, "loveday_2010_disillusion_quest") )
|
|
{
|
|
modifyCollectionSlotValue(player, "loveday_2010_disillusion_quest", 1);
|
|
}
|
|
return;
|
|
}
|
|
|
|
// ======================================================================
|
|
// Script %TO Tokens
|
|
// ======================================================================
|
|
|
|
// ======================================================================
|
|
// Script %DI Tokens
|
|
// ======================================================================
|
|
|
|
// ======================================================================
|
|
// Script %DF Tokens
|
|
// ======================================================================
|
|
|
|
// ======================================================================
|
|
// handleBranch<n> Functions
|
|
// ======================================================================
|
|
|
|
int loveday_disillusion_blaire_handleBranch3 (obj_id player, obj_id npc, string_id response)
|
|
{
|
|
//-- [BRANCH NOTE]
|
|
//-- NPC: Mister Hate? You...you brought peace to Mister Hate through love? I...I'm overwhelmed.
|
|
|
|
//-- [RESPONSE NOTE]
|
|
//-- PLAYER: So do you believe in love again?
|
|
if (response == "s_37")
|
|
{
|
|
//-- [NOTE]
|
|
if (loveday_disillusion_blaire_condition__defaultCondition (player, npc))
|
|
{
|
|
//-- NPC: It will take some time, I think, but I have hope again. You have brought me hope. And maybe that in itself is the proof I needed. Thank you.
|
|
string_id message = new string_id (c_stringFile, "s_38");
|
|
int numberOfResponses = 0;
|
|
|
|
boolean hasResponse = false;
|
|
|
|
//-- PLAYER: You're welcome.
|
|
boolean hasResponse0 = false;
|
|
if (loveday_disillusion_blaire_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_39");
|
|
|
|
utils.setScriptVar (player, "conversation.loveday_disillusion_blaire.branchId", 4);
|
|
|
|
npcSpeak (player, message);
|
|
npcSetConversationResponses (player, responses);
|
|
}
|
|
else
|
|
{
|
|
utils.removeScriptVar (player, "conversation.loveday_disillusion_blaire.branchId");
|
|
|
|
npcEndConversationWithMessage (player, message);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
}
|
|
|
|
return SCRIPT_DEFAULT;
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
int loveday_disillusion_blaire_handleBranch4 (obj_id player, obj_id npc, string_id response)
|
|
{
|
|
//-- [BRANCH NOTE]
|
|
//-- NPC: It will take some time, I think, but I have hope again. You have brought me hope. And maybe that in itself is the proof I needed. Thank you.
|
|
|
|
//-- [RESPONSE NOTE]
|
|
//-- PLAYER: You're welcome.
|
|
if (response == "s_39")
|
|
{
|
|
//-- [NOTE]
|
|
if (loveday_disillusion_blaire_condition__defaultCondition (player, npc))
|
|
{
|
|
loveday_disillusion_blaire_action_signalMrHate (player, npc);
|
|
|
|
//-- NPC: I think maybe I have a Festival to get back to.
|
|
string_id message = new string_id (c_stringFile, "s_40");
|
|
utils.removeScriptVar (player, "conversation.loveday_disillusion_blaire.branchId");
|
|
|
|
npcEndConversationWithMessage (player, message);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
}
|
|
|
|
return SCRIPT_DEFAULT;
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
int loveday_disillusion_blaire_handleBranch7 (obj_id player, obj_id npc, string_id response)
|
|
{
|
|
//-- [BRANCH NOTE]
|
|
//-- NPC: Hmm...he wanted to let his beloved know how much he loves her? It is compelling to know that someone would go to such lengths to share his love with another, and I truly hope it lasts. But it isn't enough.
|
|
|
|
//-- [RESPONSE NOTE]
|
|
//-- PLAYER: Not enough?
|
|
if (response == "s_31")
|
|
{
|
|
//-- [NOTE]
|
|
if (loveday_disillusion_blaire_condition__defaultCondition (player, npc))
|
|
{
|
|
//-- NPC: One person is something, I'll grant you. It's a start. But what is one person in an entire galaxy of beings? What difference does one couple's love make to a galaxy of hate?
|
|
string_id message = new string_id (c_stringFile, "s_32");
|
|
int numberOfResponses = 0;
|
|
|
|
boolean hasResponse = false;
|
|
|
|
//-- PLAYER: It matters.
|
|
boolean hasResponse0 = false;
|
|
if (loveday_disillusion_blaire_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_33");
|
|
|
|
utils.setScriptVar (player, "conversation.loveday_disillusion_blaire.branchId", 8);
|
|
|
|
npcSpeak (player, message);
|
|
npcSetConversationResponses (player, responses);
|
|
}
|
|
else
|
|
{
|
|
utils.removeScriptVar (player, "conversation.loveday_disillusion_blaire.branchId");
|
|
|
|
npcEndConversationWithMessage (player, message);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
}
|
|
|
|
return SCRIPT_DEFAULT;
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
int loveday_disillusion_blaire_handleBranch8 (obj_id player, obj_id npc, string_id response)
|
|
{
|
|
//-- [BRANCH NOTE]
|
|
//-- NPC: One person is something, I'll grant you. It's a start. But what is one person in an entire galaxy of beings? What difference does one couple's love make to a galaxy of hate?
|
|
|
|
//-- [RESPONSE NOTE]
|
|
//-- PLAYER: It matters.
|
|
if (response == "s_33")
|
|
{
|
|
//-- [NOTE]
|
|
if (loveday_disillusion_blaire_condition__defaultCondition (player, npc))
|
|
{
|
|
//-- NPC: How?
|
|
string_id message = new string_id (c_stringFile, "s_34");
|
|
int numberOfResponses = 0;
|
|
|
|
boolean hasResponse = false;
|
|
|
|
//-- PLAYER: ...
|
|
boolean hasResponse0 = false;
|
|
if (loveday_disillusion_blaire_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_35");
|
|
|
|
utils.setScriptVar (player, "conversation.loveday_disillusion_blaire.branchId", 9);
|
|
|
|
npcSpeak (player, message);
|
|
npcSetConversationResponses (player, responses);
|
|
}
|
|
else
|
|
{
|
|
utils.removeScriptVar (player, "conversation.loveday_disillusion_blaire.branchId");
|
|
|
|
npcEndConversationWithMessage (player, message);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
}
|
|
|
|
return SCRIPT_DEFAULT;
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
int loveday_disillusion_blaire_handleBranch9 (obj_id player, obj_id npc, string_id response)
|
|
{
|
|
//-- [BRANCH NOTE]
|
|
//-- NPC: How?
|
|
|
|
//-- [RESPONSE NOTE]
|
|
//-- PLAYER: ...
|
|
if (response == "s_35")
|
|
{
|
|
//-- [NOTE]
|
|
if (loveday_disillusion_blaire_condition__defaultCondition (player, npc))
|
|
{
|
|
loveday_disillusion_blaire_action_grantMrHate (player, npc);
|
|
|
|
//-- NPC: That's what I thought.
|
|
string_id message = new string_id (c_stringFile, "s_36");
|
|
utils.removeScriptVar (player, "conversation.loveday_disillusion_blaire.branchId");
|
|
|
|
npcEndConversationWithMessage (player, message);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
}
|
|
|
|
return SCRIPT_DEFAULT;
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
int loveday_disillusion_blaire_handleBranch12 (obj_id player, obj_id npc, string_id response)
|
|
{
|
|
//-- [BRANCH NOTE]
|
|
//-- NPC: A pet lover? Someone loves their pet durni enough to have lost hope without it? While that is nice, don't get me wrong, it hardly shows that love matters. And how much could he truly love that durni if he named it ''Peaches.'' Seriously.
|
|
|
|
//-- [RESPONSE NOTE]
|
|
//-- PLAYER: I'm not giving up.
|
|
if (response == "s_29")
|
|
{
|
|
//-- [NOTE]
|
|
if (loveday_disillusion_blaire_condition__defaultCondition (player, npc))
|
|
{
|
|
loveday_disillusion_blaire_action_grantLoveNote (player, npc);
|
|
|
|
//-- NPC: You will. Love no longer matters.
|
|
string_id message = new string_id (c_stringFile, "s_30");
|
|
utils.removeScriptVar (player, "conversation.loveday_disillusion_blaire.branchId");
|
|
|
|
npcEndConversationWithMessage (player, message);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
}
|
|
|
|
return SCRIPT_DEFAULT;
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
int loveday_disillusion_blaire_handleBranch15 (obj_id player, obj_id npc, string_id response)
|
|
{
|
|
//-- [BRANCH NOTE]
|
|
//-- NPC: You say my herald sent you to me? I don't see the point. There is no love left in the world. Oh, there are brief glimpses, but those soon fade or are crushed beneath the boots of war and strife.
|
|
|
|
//-- [RESPONSE NOTE]
|
|
//-- PLAYER: You can't really believe that?
|
|
if (response == "s_45")
|
|
{
|
|
//-- [NOTE]
|
|
if (loveday_disillusion_blaire_condition__defaultCondition (player, npc))
|
|
{
|
|
loveday_disillusion_blaire_action_signalStart (player, npc);
|
|
|
|
//-- NPC: Why wouldn't I? Show me otherwise. Show me any sign that love actually matters any more.
|
|
string_id message = new string_id (c_stringFile, "s_47");
|
|
utils.removeScriptVar (player, "conversation.loveday_disillusion_blaire.branchId");
|
|
|
|
npcEndConversationWithMessage (player, message);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
}
|
|
|
|
return SCRIPT_DEFAULT;
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
// ======================================================================
|
|
// User Script Triggers
|
|
// ======================================================================
|
|
|
|
trigger OnInitialize ()
|
|
{
|
|
if ((!isTangible (self)) || (isPlayer (self)))
|
|
detachScript(self, "conversation.loveday_disillusion_blaire");
|
|
|
|
setCondition (self, CONDITION_CONVERSABLE);
|
|
|
|
ai_lib.setDefaultCalmBehavior (self, ai_lib.BEHAVIOR_SENTINEL);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
trigger OnAttach ()
|
|
{
|
|
setCondition (self, CONDITION_CONVERSABLE);
|
|
|
|
ai_lib.setDefaultCalmBehavior (self, ai_lib.BEHAVIOR_SENTINEL);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
messageHandler handleResetDisillusionAppearance()
|
|
{
|
|
utils.removeScriptVar(self, "unDisillusioned");
|
|
|
|
setName(self, "Benjamin (the disillisioned Festival of Love Sage)");
|
|
revertObjectAppearance(self);
|
|
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.loveday_disillusion_blaire");
|
|
|
|
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 (loveday_disillusion_blaire_condition_questComplete (player, npc))
|
|
{
|
|
loveday_disillusion_blaire_action_grantCollectionSlot (player, npc);
|
|
|
|
//-- NPC: Don't worry...I haven't regressed. But it will take some time for me to completely get back on track.
|
|
string_id message = new string_id (c_stringFile, "s_4");
|
|
chat.chat (npc, player, message);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
//-- [NOTE]
|
|
if (loveday_disillusion_blaire_condition_undisillusioned (player, npc))
|
|
{
|
|
//-- NPC: Bear with me for a bit...finishing up some business with someone else.
|
|
string_id message = new string_id (c_stringFile, "s_49");
|
|
chat.chat (npc, player, message);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
//-- [NOTE]
|
|
if (loveday_disillusion_blaire_condition_mrHateReturn (player, npc))
|
|
{
|
|
//-- NPC: Mister Hate? You...you brought peace to Mister Hate through love? I...I'm overwhelmed.
|
|
string_id message = new string_id (c_stringFile, "s_7");
|
|
int numberOfResponses = 0;
|
|
|
|
boolean hasResponse = false;
|
|
|
|
//-- PLAYER: So do you believe in love again?
|
|
boolean hasResponse0 = false;
|
|
if (loveday_disillusion_blaire_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_37");
|
|
|
|
utils.setScriptVar (player, "conversation.loveday_disillusion_blaire.branchId", 3);
|
|
|
|
npcStartConversation (player, npc, "loveday_disillusion_blaire", message, responses);
|
|
}
|
|
else
|
|
{
|
|
chat.chat (npc, player, message);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
//-- [NOTE]
|
|
if (loveday_disillusion_blaire_condition_mrHateActive (player, npc))
|
|
{
|
|
//-- NPC: Love cannot vanquish bloodshed.
|
|
string_id message = new string_id (c_stringFile, "s_13");
|
|
chat.chat (npc, player, message);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
//-- [NOTE]
|
|
if (loveday_disillusion_blaire_condition_loveNoteReturn (player, npc))
|
|
{
|
|
loveday_disillusion_blaire_action_signalLoveNote (player, npc);
|
|
|
|
//-- NPC: Hmm...he wanted to let his beloved know how much he loves her? It is compelling to know that someone would go to such lengths to share his love with another, and I truly hope it lasts. But it isn't enough.
|
|
string_id message = new string_id (c_stringFile, "s_21");
|
|
int numberOfResponses = 0;
|
|
|
|
boolean hasResponse = false;
|
|
|
|
//-- PLAYER: Not enough?
|
|
boolean hasResponse0 = false;
|
|
if (loveday_disillusion_blaire_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_31");
|
|
|
|
utils.setScriptVar (player, "conversation.loveday_disillusion_blaire.branchId", 7);
|
|
|
|
npcStartConversation (player, npc, "loveday_disillusion_blaire", message, responses);
|
|
}
|
|
else
|
|
{
|
|
chat.chat (npc, player, message);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
//-- [NOTE]
|
|
if (loveday_disillusion_blaire_condition_loveNoteActive (player, npc))
|
|
{
|
|
//-- NPC: Apathy is less joyous, but it never lets you down.
|
|
string_id message = new string_id (c_stringFile, "s_23");
|
|
chat.chat (npc, player, message);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
//-- [NOTE]
|
|
if (loveday_disillusion_blaire_condition_petLoverReturn (player, npc))
|
|
{
|
|
loveday_disillusion_blaire_action_signalPetLover (player, npc);
|
|
|
|
//-- NPC: A pet lover? Someone loves their pet durni enough to have lost hope without it? While that is nice, don't get me wrong, it hardly shows that love matters. And how much could he truly love that durni if he named it ''Peaches.'' Seriously.
|
|
string_id message = new string_id (c_stringFile, "s_25");
|
|
int numberOfResponses = 0;
|
|
|
|
boolean hasResponse = false;
|
|
|
|
//-- PLAYER: I'm not giving up.
|
|
boolean hasResponse0 = false;
|
|
if (loveday_disillusion_blaire_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_29");
|
|
|
|
utils.setScriptVar (player, "conversation.loveday_disillusion_blaire.branchId", 12);
|
|
|
|
npcStartConversation (player, npc, "loveday_disillusion_blaire", message, responses);
|
|
}
|
|
else
|
|
{
|
|
chat.chat (npc, player, message);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
//-- [NOTE]
|
|
if (loveday_disillusion_blaire_condition_petLoverActive (player, npc))
|
|
{
|
|
//-- NPC: What difference does love make when everyone is so busy killing everyone else?
|
|
string_id message = new string_id (c_stringFile, "s_41");
|
|
chat.chat (npc, player, message);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
//-- [NOTE]
|
|
if (loveday_disillusion_blaire_condition_questStart (player, npc))
|
|
{
|
|
//-- NPC: You say my herald sent you to me? I don't see the point. There is no love left in the world. Oh, there are brief glimpses, but those soon fade or are crushed beneath the boots of war and strife.
|
|
string_id message = new string_id (c_stringFile, "s_43");
|
|
int numberOfResponses = 0;
|
|
|
|
boolean hasResponse = false;
|
|
|
|
//-- PLAYER: You can't really believe that?
|
|
boolean hasResponse0 = false;
|
|
if (loveday_disillusion_blaire_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_45");
|
|
|
|
utils.setScriptVar (player, "conversation.loveday_disillusion_blaire.branchId", 15);
|
|
|
|
npcStartConversation (player, npc, "loveday_disillusion_blaire", message, responses);
|
|
}
|
|
else
|
|
{
|
|
chat.chat (npc, player, message);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
//-- [NOTE]
|
|
if (loveday_disillusion_blaire_condition__defaultCondition (player, npc))
|
|
{
|
|
//-- NPC: Love has lost all meaning in this war-torn, blood thirsty galaxy. There's nothing more we can do but give up.
|
|
string_id message = new string_id (c_stringFile, "s_50");
|
|
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 != "loveday_disillusion_blaire")
|
|
return SCRIPT_CONTINUE;
|
|
|
|
obj_id npc = self;
|
|
|
|
int branchId = utils.getIntScriptVar (player, "conversation.loveday_disillusion_blaire.branchId");
|
|
|
|
if (branchId == 3 && loveday_disillusion_blaire_handleBranch3 (player, npc, response) == SCRIPT_CONTINUE)
|
|
return SCRIPT_CONTINUE;
|
|
|
|
if (branchId == 4 && loveday_disillusion_blaire_handleBranch4 (player, npc, response) == SCRIPT_CONTINUE)
|
|
return SCRIPT_CONTINUE;
|
|
|
|
if (branchId == 7 && loveday_disillusion_blaire_handleBranch7 (player, npc, response) == SCRIPT_CONTINUE)
|
|
return SCRIPT_CONTINUE;
|
|
|
|
if (branchId == 8 && loveday_disillusion_blaire_handleBranch8 (player, npc, response) == SCRIPT_CONTINUE)
|
|
return SCRIPT_CONTINUE;
|
|
|
|
if (branchId == 9 && loveday_disillusion_blaire_handleBranch9 (player, npc, response) == SCRIPT_CONTINUE)
|
|
return SCRIPT_CONTINUE;
|
|
|
|
if (branchId == 12 && loveday_disillusion_blaire_handleBranch12 (player, npc, response) == SCRIPT_CONTINUE)
|
|
return SCRIPT_CONTINUE;
|
|
|
|
if (branchId == 15 && loveday_disillusion_blaire_handleBranch15 (player, npc, response) == SCRIPT_CONTINUE)
|
|
return SCRIPT_CONTINUE;
|
|
|
|
chat.chat (npc, "Error: Fell through all branches and responses for OnNpcConversationResponse.");
|
|
|
|
utils.removeScriptVar (player, "conversation.loveday_disillusion_blaire.branchId");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
// ======================================================================
|
|
|