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

2053 lines
55 KiB
Plaintext

// ======================================================================
//
// loveday_romance_target.script
// Copyright 2004, Sony Online Entertainment
// All Rights Reserved.
//
// Created with SwgConversationEditor 1.37 - DO NOT EDIT THIS AUTO-GENERATED FILE!
//
// ======================================================================
// ======================================================================
// Library Includes
// ======================================================================
include library.ai_lib;
include library.buff;
include library.callable;
include library.chat;
include library.conversation;
include library.groundquests;
include library.holiday;
include library.prose;
include library.utils;
// ======================================================================
// Script Constants
// ======================================================================
string c_stringFile = "conversation/loveday_romance_target";
// ======================================================================
// Script Conditions
// ======================================================================
boolean loveday_romance_target_condition__defaultCondition (obj_id player, obj_id npc)
{
return true;
}
// ----------------------------------------------------------------------
boolean loveday_romance_target_condition_hasQuest (obj_id player, obj_id npc)
{
return groundquests.isTaskActive(player, "loveday_playing_cupid", "loveday_playing_cupid_01");
}
// ----------------------------------------------------------------------
boolean loveday_romance_target_condition_companionNotOut (obj_id player, obj_id npc)
{
if ( groundquests.isTaskActive(player, "loveday_playing_cupid", "loveday_playing_cupid_01") )
{
obj_id controlDevice = holiday.getLovedayRomanceSeekerCompanionControlDevice(player);
if ( isIdValid(controlDevice) )
{
obj_id companion = callable.getCDCallable(controlDevice);
if ( !isIdValid(companion) )
{
return true;
}
}
}
return false;
}
// ----------------------------------------------------------------------
boolean loveday_romance_target_condition_wrongGender (obj_id player, obj_id npc)
{
obj_id controlDevice = holiday.getLovedayRomanceSeekerCompanionControlDevice(player);
if ( isIdValid(controlDevice) )
{
obj_id companion = callable.getCDCallable(controlDevice);
if ( isIdValid(companion) && getGender(npc) == getGender(companion) )
{
return true;
}
}
return false;
}
// ----------------------------------------------------------------------
boolean loveday_romance_target_condition_hasNoCompanion (obj_id player, obj_id npc)
{
if ( groundquests.isTaskActive(player, "loveday_playing_cupid", "loveday_playing_cupid_01") )
{
obj_id controlDevice = holiday.getLovedayRomanceSeekerCompanionControlDevice(player);
if ( !isIdValid(controlDevice) )
{
return true;
}
}
return false;
}
// ----------------------------------------------------------------------
boolean loveday_romance_target_condition_goodMatch (obj_id player, obj_id npc)
{
int targetTraitsSet = getIntObjVar(npc, "playingCupid.traitSet");
int seekerTraitsSet = -1;
obj_id controlDevice = holiday.getLovedayRomanceSeekerCompanionControlDevice(player);
if ( isIdValid(controlDevice) )
{
seekerTraitsSet = getIntObjVar(controlDevice, "playingCupid.traitSet");
}
return ( targetTraitsSet == seekerTraitsSet );
}
// ----------------------------------------------------------------------
boolean loveday_romance_target_condition_alreadyMatched (obj_id player, obj_id npc)
{
return groundquests.isTaskActive(player, "loveday_playing_cupid", "loveday_playing_cupid_02") ||
groundquests.hasCompletedQuest(player, "loveday_playing_cupid");
}
// ----------------------------------------------------------------------
boolean loveday_romance_target_condition_wasRejected (obj_id player, obj_id npc)
{
return buff.hasBuff(player, "loveday_rejected");
}
// ======================================================================
// Script Actions
// ======================================================================
void loveday_romance_target_action_completeMatch (obj_id player, obj_id npc)
{
groundquests.sendSignal(player, "loveday_playing_cupid_01");
obj_id controlDevice = holiday.getLovedayRomanceSeekerCompanionControlDevice(player);
if ( isIdValid(controlDevice) )
{
obj_id companion = callable.getCDCallable(controlDevice);
if ( isIdValid(companion) )
{
doAnimationAction(companion, "celebrate");
prose_package pp = new prose_package ();
pp.stringId = new string_id("event/love_day","playing_cupid_match_found");
string name = getEncodedName(npc);
string[] parse = split(name, ' ');
string firstName = parse[0];
prose.setTO(pp, firstName);
chat.publicChat(companion, player, null, null, pp);
}
}
return ;
}
// ----------------------------------------------------------------------
void loveday_romance_target_action_rejected (obj_id player, obj_id npc)
{
buff.applyBuff(player, npc, "loveday_rejected");
}
// ======================================================================
// Script %TO Tokens
// ======================================================================
string loveday_romance_target_tokenTO_trait_00 (obj_id player, obj_id npc)
{
string file = "event/love_day";
resizeable int[] randomOrder = utils.getResizeableIntArrayScriptVar(player, "traits_randomOrder");
string traitObjVar = "playingCupid.trait_0"+randomOrder[0];
string message = getString(new string_id(file, "trait_" + getStringObjVar(npc, traitObjVar)));
return message;
}
// ----------------------------------------------------------------------
string loveday_romance_target_tokenTO_trait_04 (obj_id player, obj_id npc)
{
string file = "event/love_day";
resizeable int[] randomOrder = utils.getResizeableIntArrayScriptVar(player, "traits_randomOrder");
string traitObjVar = "playingCupid.trait_0"+randomOrder[4];
string message = getString(new string_id(file, "trait_" + getStringObjVar(npc, traitObjVar)));
return message;
}
// ----------------------------------------------------------------------
string loveday_romance_target_tokenTO_trait_03 (obj_id player, obj_id npc)
{
string file = "event/love_day";
resizeable int[] randomOrder = utils.getResizeableIntArrayScriptVar(player, "traits_randomOrder");
string traitObjVar = "playingCupid.trait_0"+randomOrder[3];
string message = getString(new string_id(file, "trait_" + getStringObjVar(npc, traitObjVar)));
return message;
}
// ----------------------------------------------------------------------
string loveday_romance_target_tokenTO_trait_02 (obj_id player, obj_id npc)
{
string file = "event/love_day";
resizeable int[] randomOrder = utils.getResizeableIntArrayScriptVar(player, "traits_randomOrder");
string traitObjVar = "playingCupid.trait_0"+randomOrder[2];
string message = getString(new string_id(file, "trait_" + getStringObjVar(npc, traitObjVar)));
return message;
}
// ----------------------------------------------------------------------
string loveday_romance_target_tokenTO_trait_01 (obj_id player, obj_id npc)
{
string file = "event/love_day";
resizeable int[] randomOrder = utils.getResizeableIntArrayScriptVar(player, "traits_randomOrder");
string traitObjVar = "playingCupid.trait_0"+randomOrder[1];
string message = getString(new string_id(file, "trait_" + getStringObjVar(npc, traitObjVar)));
return message;
}
// ----------------------------------------------------------------------
string loveday_romance_target_tokenTO_companionName (obj_id player, obj_id npc)
{
obj_id controlDevice = holiday.getLovedayRomanceSeekerCompanionControlDevice(player);
if ( isIdValid(controlDevice) )
{
obj_id companion = callable.getCDCallable(controlDevice);
if ( isIdValid(companion) )
{
string name = getEncodedName(companion);
string[] parse = split(name, ' ');
return parse[0];
}
}
return new string();
}
// ======================================================================
// Script %DI Tokens
// ======================================================================
// ======================================================================
// Script %DF Tokens
// ======================================================================
// ======================================================================
// handleBranch<n> Functions
// ======================================================================
int loveday_romance_target_handleBranch6 (obj_id player, obj_id npc, string_id response)
{
//-- [BRANCH NOTE]
//-- NPC: Yes, hello. So good to meet you.
//-- [RESPONSE NOTE]
//-- PLAYER: Tell us something about yourself.
if (response == "s_30")
{
//-- [NOTE]
if (loveday_romance_target_condition__defaultCondition (player, npc))
{
//-- NPC: \#FF33C2 \#.Well, %TO.
string_id message = new string_id (c_stringFile, "s_31");
int numberOfResponses = 0;
boolean hasResponse = false;
//-- PLAYER: I see. Anything else?
boolean hasResponse0 = false;
if (loveday_romance_target_condition__defaultCondition (player, npc))
{
++numberOfResponses;
hasResponse = true;
hasResponse0 = true;
}
//-- PLAYER: That's enough.
boolean hasResponse1 = false;
if (loveday_romance_target_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_34");
if (hasResponse1)
responses [responseIndex++] = new string_id (c_stringFile, "s_48");
utils.setScriptVar (player, "conversation.loveday_romance_target.branchId", 7);
prose_package pp = new prose_package ();
pp.stringId = message;
pp.actor.set (player);
pp.target.set (npc);
pp.other.set (loveday_romance_target_tokenTO_trait_00 (player, npc));
npcSpeak (player, pp);
npcSetConversationResponses (player, responses);
}
else
{
utils.removeScriptVar (player, "conversation.loveday_romance_target.branchId");
prose_package pp = new prose_package ();
pp.stringId = message;
pp.actor.set (player);
pp.target.set (npc);
pp.other.set (loveday_romance_target_tokenTO_trait_00 (player, npc));
npcEndConversationWithMessage (player, pp);
}
return SCRIPT_CONTINUE;
}
}
//-- [RESPONSE NOTE]
//-- PLAYER: I think you'd be a great match for my companion here.
if (response == "s_55")
{
//-- [NOTE]
if (loveday_romance_target_condition__defaultCondition (player, npc))
{
//-- NPC: Are you certain?
string_id message = new string_id (c_stringFile, "s_63");
int numberOfResponses = 0;
boolean hasResponse = false;
//-- PLAYER: Yes, I'm positive that you two would be a good match..
boolean hasResponse0 = false;
if (loveday_romance_target_condition__defaultCondition (player, npc))
{
++numberOfResponses;
hasResponse = true;
hasResponse0 = true;
}
//-- PLAYER: Hmm...maybe I should make certain that you're a good match.
boolean hasResponse1 = false;
if (loveday_romance_target_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_64");
if (hasResponse1)
responses [responseIndex++] = new string_id (c_stringFile, "s_65");
utils.setScriptVar (player, "conversation.loveday_romance_target.branchId", 17);
npcSpeak (player, message);
npcSetConversationResponses (player, responses);
}
else
{
utils.removeScriptVar (player, "conversation.loveday_romance_target.branchId");
npcEndConversationWithMessage (player, message);
}
return SCRIPT_CONTINUE;
}
}
return SCRIPT_DEFAULT;
}
// ----------------------------------------------------------------------
int loveday_romance_target_handleBranch7 (obj_id player, obj_id npc, string_id response)
{
//-- [BRANCH NOTE]
//-- NPC: \#FF33C2 \#.Well, %TO.
//-- [RESPONSE NOTE]
//-- PLAYER: I see. Anything else?
if (response == "s_34")
{
//-- [NOTE]
if (loveday_romance_target_condition__defaultCondition (player, npc))
{
//-- NPC: \#FF33C2 \#.Yes, %TO.
string_id message = new string_id (c_stringFile, "s_35");
int numberOfResponses = 0;
boolean hasResponse = false;
//-- PLAYER: How about something more.
boolean hasResponse0 = false;
if (loveday_romance_target_condition__defaultCondition (player, npc))
{
++numberOfResponses;
hasResponse = true;
hasResponse0 = true;
}
//-- PLAYER: I think we've heard enough.
boolean hasResponse1 = false;
if (loveday_romance_target_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_36");
if (hasResponse1)
responses [responseIndex++] = new string_id (c_stringFile, "s_33");
utils.setScriptVar (player, "conversation.loveday_romance_target.branchId", 8);
prose_package pp = new prose_package ();
pp.stringId = message;
pp.actor.set (player);
pp.target.set (npc);
pp.other.set (loveday_romance_target_tokenTO_trait_01 (player, npc));
npcSpeak (player, pp);
npcSetConversationResponses (player, responses);
}
else
{
utils.removeScriptVar (player, "conversation.loveday_romance_target.branchId");
prose_package pp = new prose_package ();
pp.stringId = message;
pp.actor.set (player);
pp.target.set (npc);
pp.other.set (loveday_romance_target_tokenTO_trait_01 (player, npc));
npcEndConversationWithMessage (player, pp);
}
return SCRIPT_CONTINUE;
}
}
//-- [RESPONSE NOTE]
//-- PLAYER: That's enough.
if (response == "s_48")
{
//-- [NOTE]
if (loveday_romance_target_condition__defaultCondition (player, npc))
{
//-- NPC: I see. Any other questions?
string_id message = new string_id (c_stringFile, "s_53");
int numberOfResponses = 0;
boolean hasResponse = false;
//-- PLAYER: Tell us something about yourself.
boolean hasResponse0 = false;
if (loveday_romance_target_condition__defaultCondition (player, npc))
{
++numberOfResponses;
hasResponse = true;
hasResponse0 = true;
}
//-- PLAYER: I think you'd be a great match for my companion here.
boolean hasResponse1 = false;
if (loveday_romance_target_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_30");
if (hasResponse1)
responses [responseIndex++] = new string_id (c_stringFile, "s_55");
utils.setScriptVar (player, "conversation.loveday_romance_target.branchId", 6);
npcSpeak (player, message);
npcSetConversationResponses (player, responses);
}
else
{
utils.removeScriptVar (player, "conversation.loveday_romance_target.branchId");
npcEndConversationWithMessage (player, message);
}
return SCRIPT_CONTINUE;
}
}
return SCRIPT_DEFAULT;
}
// ----------------------------------------------------------------------
int loveday_romance_target_handleBranch8 (obj_id player, obj_id npc, string_id response)
{
//-- [BRANCH NOTE]
//-- NPC: \#FF33C2 \#.Yes, %TO.
//-- [RESPONSE NOTE]
//-- PLAYER: How about something more.
if (response == "s_36")
{
//-- [NOTE]
if (loveday_romance_target_condition__defaultCondition (player, npc))
{
//-- NPC: \#FF33C2 \#.Of course. Let's see...%TO.
string_id message = new string_id (c_stringFile, "s_37");
int numberOfResponses = 0;
boolean hasResponse = false;
//-- PLAYER: I bet you have something else to add.
boolean hasResponse0 = false;
if (loveday_romance_target_condition__defaultCondition (player, npc))
{
++numberOfResponses;
hasResponse = true;
hasResponse0 = true;
}
//-- PLAYER: Okay, thank you.
boolean hasResponse1 = false;
if (loveday_romance_target_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_38");
if (hasResponse1)
responses [responseIndex++] = new string_id (c_stringFile, "s_28");
utils.setScriptVar (player, "conversation.loveday_romance_target.branchId", 9);
prose_package pp = new prose_package ();
pp.stringId = message;
pp.actor.set (player);
pp.target.set (npc);
pp.other.set (loveday_romance_target_tokenTO_trait_02 (player, npc));
npcSpeak (player, pp);
npcSetConversationResponses (player, responses);
}
else
{
utils.removeScriptVar (player, "conversation.loveday_romance_target.branchId");
prose_package pp = new prose_package ();
pp.stringId = message;
pp.actor.set (player);
pp.target.set (npc);
pp.other.set (loveday_romance_target_tokenTO_trait_02 (player, npc));
npcEndConversationWithMessage (player, pp);
}
return SCRIPT_CONTINUE;
}
}
//-- [RESPONSE NOTE]
//-- PLAYER: I think we've heard enough.
if (response == "s_33")
{
//-- [NOTE]
if (loveday_romance_target_condition__defaultCondition (player, npc))
{
//-- NPC: Okay. Are we done?
string_id message = new string_id (c_stringFile, "s_44");
int numberOfResponses = 0;
boolean hasResponse = false;
//-- PLAYER: Tell us something about yourself.
boolean hasResponse0 = false;
if (loveday_romance_target_condition__defaultCondition (player, npc))
{
++numberOfResponses;
hasResponse = true;
hasResponse0 = true;
}
//-- PLAYER: I think you'd be a great match for my companion here.
boolean hasResponse1 = false;
if (loveday_romance_target_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_30");
if (hasResponse1)
responses [responseIndex++] = new string_id (c_stringFile, "s_55");
utils.setScriptVar (player, "conversation.loveday_romance_target.branchId", 6);
npcSpeak (player, message);
npcSetConversationResponses (player, responses);
}
else
{
utils.removeScriptVar (player, "conversation.loveday_romance_target.branchId");
npcEndConversationWithMessage (player, message);
}
return SCRIPT_CONTINUE;
}
}
return SCRIPT_DEFAULT;
}
// ----------------------------------------------------------------------
int loveday_romance_target_handleBranch9 (obj_id player, obj_id npc, string_id response)
{
//-- [BRANCH NOTE]
//-- NPC: \#FF33C2 \#.Of course. Let's see...%TO.
//-- [RESPONSE NOTE]
//-- PLAYER: I bet you have something else to add.
if (response == "s_38")
{
//-- [NOTE]
if (loveday_romance_target_condition__defaultCondition (player, npc))
{
//-- NPC: \#FF33C2 \#.I do...%TO.
string_id message = new string_id (c_stringFile, "s_39");
int numberOfResponses = 0;
boolean hasResponse = false;
//-- PLAYER: Anything more to add?
boolean hasResponse0 = false;
if (loveday_romance_target_condition__defaultCondition (player, npc))
{
++numberOfResponses;
hasResponse = true;
hasResponse0 = true;
}
//-- PLAYER: I think that should do it.
boolean hasResponse1 = false;
if (loveday_romance_target_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_40");
if (hasResponse1)
responses [responseIndex++] = new string_id (c_stringFile, "s_46");
utils.setScriptVar (player, "conversation.loveday_romance_target.branchId", 10);
prose_package pp = new prose_package ();
pp.stringId = message;
pp.actor.set (player);
pp.target.set (npc);
pp.other.set (loveday_romance_target_tokenTO_trait_03 (player, npc));
npcSpeak (player, pp);
npcSetConversationResponses (player, responses);
}
else
{
utils.removeScriptVar (player, "conversation.loveday_romance_target.branchId");
prose_package pp = new prose_package ();
pp.stringId = message;
pp.actor.set (player);
pp.target.set (npc);
pp.other.set (loveday_romance_target_tokenTO_trait_03 (player, npc));
npcEndConversationWithMessage (player, pp);
}
return SCRIPT_CONTINUE;
}
}
//-- [RESPONSE NOTE]
//-- PLAYER: Okay, thank you.
if (response == "s_28")
{
//-- [NOTE]
if (loveday_romance_target_condition__defaultCondition (player, npc))
{
//-- NPC: You're welcome. Anything more?
string_id message = new string_id (c_stringFile, "s_42");
int numberOfResponses = 0;
boolean hasResponse = false;
//-- PLAYER: Tell us something about yourself.
boolean hasResponse0 = false;
if (loveday_romance_target_condition__defaultCondition (player, npc))
{
++numberOfResponses;
hasResponse = true;
hasResponse0 = true;
}
//-- PLAYER: I think you'd be a great match for my companion here.
boolean hasResponse1 = false;
if (loveday_romance_target_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_30");
if (hasResponse1)
responses [responseIndex++] = new string_id (c_stringFile, "s_55");
utils.setScriptVar (player, "conversation.loveday_romance_target.branchId", 6);
npcSpeak (player, message);
npcSetConversationResponses (player, responses);
}
else
{
utils.removeScriptVar (player, "conversation.loveday_romance_target.branchId");
npcEndConversationWithMessage (player, message);
}
return SCRIPT_CONTINUE;
}
}
return SCRIPT_DEFAULT;
}
// ----------------------------------------------------------------------
int loveday_romance_target_handleBranch10 (obj_id player, obj_id npc, string_id response)
{
//-- [BRANCH NOTE]
//-- NPC: \#FF33C2 \#.I do...%TO.
//-- [RESPONSE NOTE]
//-- PLAYER: Anything more to add?
if (response == "s_40")
{
//-- [NOTE]
if (loveday_romance_target_condition__defaultCondition (player, npc))
{
//-- NPC: \#FF33C2 \#.One last thing: %TO.
string_id message = new string_id (c_stringFile, "s_41");
int numberOfResponses = 0;
boolean hasResponse = false;
//-- PLAYER: Thank you.
boolean hasResponse0 = false;
if (loveday_romance_target_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_49");
utils.setScriptVar (player, "conversation.loveday_romance_target.branchId", 11);
prose_package pp = new prose_package ();
pp.stringId = message;
pp.actor.set (player);
pp.target.set (npc);
pp.other.set (loveday_romance_target_tokenTO_trait_04 (player, npc));
npcSpeak (player, pp);
npcSetConversationResponses (player, responses);
}
else
{
utils.removeScriptVar (player, "conversation.loveday_romance_target.branchId");
prose_package pp = new prose_package ();
pp.stringId = message;
pp.actor.set (player);
pp.target.set (npc);
pp.other.set (loveday_romance_target_tokenTO_trait_04 (player, npc));
npcEndConversationWithMessage (player, pp);
}
return SCRIPT_CONTINUE;
}
}
//-- [RESPONSE NOTE]
//-- PLAYER: I think that should do it.
if (response == "s_46")
{
//-- [NOTE]
if (loveday_romance_target_condition__defaultCondition (player, npc))
{
//-- NPC: I see. Anything else?
string_id message = new string_id (c_stringFile, "s_47");
int numberOfResponses = 0;
boolean hasResponse = false;
//-- PLAYER: Tell us something about yourself.
boolean hasResponse0 = false;
if (loveday_romance_target_condition__defaultCondition (player, npc))
{
++numberOfResponses;
hasResponse = true;
hasResponse0 = true;
}
//-- PLAYER: I think you'd be a great match for my companion here.
boolean hasResponse1 = false;
if (loveday_romance_target_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_30");
if (hasResponse1)
responses [responseIndex++] = new string_id (c_stringFile, "s_55");
utils.setScriptVar (player, "conversation.loveday_romance_target.branchId", 6);
npcSpeak (player, message);
npcSetConversationResponses (player, responses);
}
else
{
utils.removeScriptVar (player, "conversation.loveday_romance_target.branchId");
npcEndConversationWithMessage (player, message);
}
return SCRIPT_CONTINUE;
}
}
return SCRIPT_DEFAULT;
}
// ----------------------------------------------------------------------
int loveday_romance_target_handleBranch11 (obj_id player, obj_id npc, string_id response)
{
//-- [BRANCH NOTE]
//-- NPC: \#FF33C2 \#.One last thing: %TO.
//-- [RESPONSE NOTE]
//-- PLAYER: Thank you.
if (response == "s_49")
{
//-- [NOTE]
if (loveday_romance_target_condition__defaultCondition (player, npc))
{
//-- NPC: You're welcome. Anything more?
string_id message = new string_id (c_stringFile, "s_50");
int numberOfResponses = 0;
boolean hasResponse = false;
//-- PLAYER: Tell us something about yourself.
boolean hasResponse0 = false;
if (loveday_romance_target_condition__defaultCondition (player, npc))
{
++numberOfResponses;
hasResponse = true;
hasResponse0 = true;
}
//-- PLAYER: I think you'd be a great match for my companion here.
boolean hasResponse1 = false;
if (loveday_romance_target_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_30");
if (hasResponse1)
responses [responseIndex++] = new string_id (c_stringFile, "s_55");
utils.setScriptVar (player, "conversation.loveday_romance_target.branchId", 6);
npcSpeak (player, message);
npcSetConversationResponses (player, responses);
}
else
{
utils.removeScriptVar (player, "conversation.loveday_romance_target.branchId");
npcEndConversationWithMessage (player, message);
}
return SCRIPT_CONTINUE;
}
}
return SCRIPT_DEFAULT;
}
// ----------------------------------------------------------------------
int loveday_romance_target_handleBranch12 (obj_id player, obj_id npc, string_id response)
{
//-- [BRANCH NOTE]
//-- NPC: You're welcome. Anything more?
//-- [RESPONSE NOTE]
//-- PLAYER: Tell us something about yourself.
if (response == "s_30")
{
//-- [NOTE]
if (loveday_romance_target_condition__defaultCondition (player, npc))
{
//-- NPC: \#FF33C2 \#.Well, %TO.
string_id message = new string_id (c_stringFile, "s_31");
int numberOfResponses = 0;
boolean hasResponse = false;
//-- PLAYER: I see. Anything else?
boolean hasResponse0 = false;
if (loveday_romance_target_condition__defaultCondition (player, npc))
{
++numberOfResponses;
hasResponse = true;
hasResponse0 = true;
}
//-- PLAYER: That's enough.
boolean hasResponse1 = false;
if (loveday_romance_target_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_34");
if (hasResponse1)
responses [responseIndex++] = new string_id (c_stringFile, "s_48");
utils.setScriptVar (player, "conversation.loveday_romance_target.branchId", 7);
prose_package pp = new prose_package ();
pp.stringId = message;
pp.actor.set (player);
pp.target.set (npc);
pp.other.set (loveday_romance_target_tokenTO_trait_00 (player, npc));
npcSpeak (player, pp);
npcSetConversationResponses (player, responses);
}
else
{
utils.removeScriptVar (player, "conversation.loveday_romance_target.branchId");
prose_package pp = new prose_package ();
pp.stringId = message;
pp.actor.set (player);
pp.target.set (npc);
pp.other.set (loveday_romance_target_tokenTO_trait_00 (player, npc));
npcEndConversationWithMessage (player, pp);
}
return SCRIPT_CONTINUE;
}
}
//-- [RESPONSE NOTE]
//-- PLAYER: I think you'd be a great match for my companion here.
if (response == "s_55")
{
//-- [NOTE]
if (loveday_romance_target_condition__defaultCondition (player, npc))
{
//-- NPC: Are you certain?
string_id message = new string_id (c_stringFile, "s_63");
int numberOfResponses = 0;
boolean hasResponse = false;
//-- PLAYER: Yes, I'm positive that you two would be a good match..
boolean hasResponse0 = false;
if (loveday_romance_target_condition__defaultCondition (player, npc))
{
++numberOfResponses;
hasResponse = true;
hasResponse0 = true;
}
//-- PLAYER: Hmm...maybe I should make certain that you're a good match.
boolean hasResponse1 = false;
if (loveday_romance_target_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_64");
if (hasResponse1)
responses [responseIndex++] = new string_id (c_stringFile, "s_65");
utils.setScriptVar (player, "conversation.loveday_romance_target.branchId", 17);
npcSpeak (player, message);
npcSetConversationResponses (player, responses);
}
else
{
utils.removeScriptVar (player, "conversation.loveday_romance_target.branchId");
npcEndConversationWithMessage (player, message);
}
return SCRIPT_CONTINUE;
}
}
return SCRIPT_DEFAULT;
}
// ----------------------------------------------------------------------
int loveday_romance_target_handleBranch13 (obj_id player, obj_id npc, string_id response)
{
//-- [BRANCH NOTE]
//-- NPC: I see. Anything else?
//-- [RESPONSE NOTE]
//-- PLAYER: Tell us something about yourself.
if (response == "s_30")
{
//-- [NOTE]
if (loveday_romance_target_condition__defaultCondition (player, npc))
{
//-- NPC: \#FF33C2 \#.Well, %TO.
string_id message = new string_id (c_stringFile, "s_31");
int numberOfResponses = 0;
boolean hasResponse = false;
//-- PLAYER: I see. Anything else?
boolean hasResponse0 = false;
if (loveday_romance_target_condition__defaultCondition (player, npc))
{
++numberOfResponses;
hasResponse = true;
hasResponse0 = true;
}
//-- PLAYER: That's enough.
boolean hasResponse1 = false;
if (loveday_romance_target_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_34");
if (hasResponse1)
responses [responseIndex++] = new string_id (c_stringFile, "s_48");
utils.setScriptVar (player, "conversation.loveday_romance_target.branchId", 7);
prose_package pp = new prose_package ();
pp.stringId = message;
pp.actor.set (player);
pp.target.set (npc);
pp.other.set (loveday_romance_target_tokenTO_trait_00 (player, npc));
npcSpeak (player, pp);
npcSetConversationResponses (player, responses);
}
else
{
utils.removeScriptVar (player, "conversation.loveday_romance_target.branchId");
prose_package pp = new prose_package ();
pp.stringId = message;
pp.actor.set (player);
pp.target.set (npc);
pp.other.set (loveday_romance_target_tokenTO_trait_00 (player, npc));
npcEndConversationWithMessage (player, pp);
}
return SCRIPT_CONTINUE;
}
}
//-- [RESPONSE NOTE]
//-- PLAYER: I think you'd be a great match for my companion here.
if (response == "s_55")
{
//-- [NOTE]
if (loveday_romance_target_condition__defaultCondition (player, npc))
{
//-- NPC: Are you certain?
string_id message = new string_id (c_stringFile, "s_63");
int numberOfResponses = 0;
boolean hasResponse = false;
//-- PLAYER: Yes, I'm positive that you two would be a good match..
boolean hasResponse0 = false;
if (loveday_romance_target_condition__defaultCondition (player, npc))
{
++numberOfResponses;
hasResponse = true;
hasResponse0 = true;
}
//-- PLAYER: Hmm...maybe I should make certain that you're a good match.
boolean hasResponse1 = false;
if (loveday_romance_target_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_64");
if (hasResponse1)
responses [responseIndex++] = new string_id (c_stringFile, "s_65");
utils.setScriptVar (player, "conversation.loveday_romance_target.branchId", 17);
npcSpeak (player, message);
npcSetConversationResponses (player, responses);
}
else
{
utils.removeScriptVar (player, "conversation.loveday_romance_target.branchId");
npcEndConversationWithMessage (player, message);
}
return SCRIPT_CONTINUE;
}
}
return SCRIPT_DEFAULT;
}
// ----------------------------------------------------------------------
int loveday_romance_target_handleBranch14 (obj_id player, obj_id npc, string_id response)
{
//-- [BRANCH NOTE]
//-- NPC: You're welcome. Anything more?
//-- [RESPONSE NOTE]
//-- PLAYER: Tell us something about yourself.
if (response == "s_30")
{
//-- [NOTE]
if (loveday_romance_target_condition__defaultCondition (player, npc))
{
//-- NPC: \#FF33C2 \#.Well, %TO.
string_id message = new string_id (c_stringFile, "s_31");
int numberOfResponses = 0;
boolean hasResponse = false;
//-- PLAYER: I see. Anything else?
boolean hasResponse0 = false;
if (loveday_romance_target_condition__defaultCondition (player, npc))
{
++numberOfResponses;
hasResponse = true;
hasResponse0 = true;
}
//-- PLAYER: That's enough.
boolean hasResponse1 = false;
if (loveday_romance_target_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_34");
if (hasResponse1)
responses [responseIndex++] = new string_id (c_stringFile, "s_48");
utils.setScriptVar (player, "conversation.loveday_romance_target.branchId", 7);
prose_package pp = new prose_package ();
pp.stringId = message;
pp.actor.set (player);
pp.target.set (npc);
pp.other.set (loveday_romance_target_tokenTO_trait_00 (player, npc));
npcSpeak (player, pp);
npcSetConversationResponses (player, responses);
}
else
{
utils.removeScriptVar (player, "conversation.loveday_romance_target.branchId");
prose_package pp = new prose_package ();
pp.stringId = message;
pp.actor.set (player);
pp.target.set (npc);
pp.other.set (loveday_romance_target_tokenTO_trait_00 (player, npc));
npcEndConversationWithMessage (player, pp);
}
return SCRIPT_CONTINUE;
}
}
//-- [RESPONSE NOTE]
//-- PLAYER: I think you'd be a great match for my companion here.
if (response == "s_55")
{
//-- [NOTE]
if (loveday_romance_target_condition__defaultCondition (player, npc))
{
//-- NPC: Are you certain?
string_id message = new string_id (c_stringFile, "s_63");
int numberOfResponses = 0;
boolean hasResponse = false;
//-- PLAYER: Yes, I'm positive that you two would be a good match..
boolean hasResponse0 = false;
if (loveday_romance_target_condition__defaultCondition (player, npc))
{
++numberOfResponses;
hasResponse = true;
hasResponse0 = true;
}
//-- PLAYER: Hmm...maybe I should make certain that you're a good match.
boolean hasResponse1 = false;
if (loveday_romance_target_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_64");
if (hasResponse1)
responses [responseIndex++] = new string_id (c_stringFile, "s_65");
utils.setScriptVar (player, "conversation.loveday_romance_target.branchId", 17);
npcSpeak (player, message);
npcSetConversationResponses (player, responses);
}
else
{
utils.removeScriptVar (player, "conversation.loveday_romance_target.branchId");
npcEndConversationWithMessage (player, message);
}
return SCRIPT_CONTINUE;
}
}
return SCRIPT_DEFAULT;
}
// ----------------------------------------------------------------------
int loveday_romance_target_handleBranch15 (obj_id player, obj_id npc, string_id response)
{
//-- [BRANCH NOTE]
//-- NPC: Okay. Are we done?
//-- [RESPONSE NOTE]
//-- PLAYER: Tell us something about yourself.
if (response == "s_30")
{
//-- [NOTE]
if (loveday_romance_target_condition__defaultCondition (player, npc))
{
//-- NPC: \#FF33C2 \#.Well, %TO.
string_id message = new string_id (c_stringFile, "s_31");
int numberOfResponses = 0;
boolean hasResponse = false;
//-- PLAYER: I see. Anything else?
boolean hasResponse0 = false;
if (loveday_romance_target_condition__defaultCondition (player, npc))
{
++numberOfResponses;
hasResponse = true;
hasResponse0 = true;
}
//-- PLAYER: That's enough.
boolean hasResponse1 = false;
if (loveday_romance_target_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_34");
if (hasResponse1)
responses [responseIndex++] = new string_id (c_stringFile, "s_48");
utils.setScriptVar (player, "conversation.loveday_romance_target.branchId", 7);
prose_package pp = new prose_package ();
pp.stringId = message;
pp.actor.set (player);
pp.target.set (npc);
pp.other.set (loveday_romance_target_tokenTO_trait_00 (player, npc));
npcSpeak (player, pp);
npcSetConversationResponses (player, responses);
}
else
{
utils.removeScriptVar (player, "conversation.loveday_romance_target.branchId");
prose_package pp = new prose_package ();
pp.stringId = message;
pp.actor.set (player);
pp.target.set (npc);
pp.other.set (loveday_romance_target_tokenTO_trait_00 (player, npc));
npcEndConversationWithMessage (player, pp);
}
return SCRIPT_CONTINUE;
}
}
//-- [RESPONSE NOTE]
//-- PLAYER: I think you'd be a great match for my companion here.
if (response == "s_55")
{
//-- [NOTE]
if (loveday_romance_target_condition__defaultCondition (player, npc))
{
//-- NPC: Are you certain?
string_id message = new string_id (c_stringFile, "s_63");
int numberOfResponses = 0;
boolean hasResponse = false;
//-- PLAYER: Yes, I'm positive that you two would be a good match..
boolean hasResponse0 = false;
if (loveday_romance_target_condition__defaultCondition (player, npc))
{
++numberOfResponses;
hasResponse = true;
hasResponse0 = true;
}
//-- PLAYER: Hmm...maybe I should make certain that you're a good match.
boolean hasResponse1 = false;
if (loveday_romance_target_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_64");
if (hasResponse1)
responses [responseIndex++] = new string_id (c_stringFile, "s_65");
utils.setScriptVar (player, "conversation.loveday_romance_target.branchId", 17);
npcSpeak (player, message);
npcSetConversationResponses (player, responses);
}
else
{
utils.removeScriptVar (player, "conversation.loveday_romance_target.branchId");
npcEndConversationWithMessage (player, message);
}
return SCRIPT_CONTINUE;
}
}
return SCRIPT_DEFAULT;
}
// ----------------------------------------------------------------------
int loveday_romance_target_handleBranch16 (obj_id player, obj_id npc, string_id response)
{
//-- [BRANCH NOTE]
//-- NPC: I see. Any other questions?
//-- [RESPONSE NOTE]
//-- PLAYER: Tell us something about yourself.
if (response == "s_30")
{
//-- [NOTE]
if (loveday_romance_target_condition__defaultCondition (player, npc))
{
//-- NPC: \#FF33C2 \#.Well, %TO.
string_id message = new string_id (c_stringFile, "s_31");
int numberOfResponses = 0;
boolean hasResponse = false;
//-- PLAYER: I see. Anything else?
boolean hasResponse0 = false;
if (loveday_romance_target_condition__defaultCondition (player, npc))
{
++numberOfResponses;
hasResponse = true;
hasResponse0 = true;
}
//-- PLAYER: That's enough.
boolean hasResponse1 = false;
if (loveday_romance_target_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_34");
if (hasResponse1)
responses [responseIndex++] = new string_id (c_stringFile, "s_48");
utils.setScriptVar (player, "conversation.loveday_romance_target.branchId", 7);
prose_package pp = new prose_package ();
pp.stringId = message;
pp.actor.set (player);
pp.target.set (npc);
pp.other.set (loveday_romance_target_tokenTO_trait_00 (player, npc));
npcSpeak (player, pp);
npcSetConversationResponses (player, responses);
}
else
{
utils.removeScriptVar (player, "conversation.loveday_romance_target.branchId");
prose_package pp = new prose_package ();
pp.stringId = message;
pp.actor.set (player);
pp.target.set (npc);
pp.other.set (loveday_romance_target_tokenTO_trait_00 (player, npc));
npcEndConversationWithMessage (player, pp);
}
return SCRIPT_CONTINUE;
}
}
//-- [RESPONSE NOTE]
//-- PLAYER: I think you'd be a great match for my companion here.
if (response == "s_55")
{
//-- [NOTE]
if (loveday_romance_target_condition__defaultCondition (player, npc))
{
//-- NPC: Are you certain?
string_id message = new string_id (c_stringFile, "s_63");
int numberOfResponses = 0;
boolean hasResponse = false;
//-- PLAYER: Yes, I'm positive that you two would be a good match..
boolean hasResponse0 = false;
if (loveday_romance_target_condition__defaultCondition (player, npc))
{
++numberOfResponses;
hasResponse = true;
hasResponse0 = true;
}
//-- PLAYER: Hmm...maybe I should make certain that you're a good match.
boolean hasResponse1 = false;
if (loveday_romance_target_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_64");
if (hasResponse1)
responses [responseIndex++] = new string_id (c_stringFile, "s_65");
utils.setScriptVar (player, "conversation.loveday_romance_target.branchId", 17);
npcSpeak (player, message);
npcSetConversationResponses (player, responses);
}
else
{
utils.removeScriptVar (player, "conversation.loveday_romance_target.branchId");
npcEndConversationWithMessage (player, message);
}
return SCRIPT_CONTINUE;
}
}
return SCRIPT_DEFAULT;
}
// ----------------------------------------------------------------------
int loveday_romance_target_handleBranch17 (obj_id player, obj_id npc, string_id response)
{
//-- [BRANCH NOTE]
//-- NPC: Are you certain?
//-- [RESPONSE NOTE]
//-- PLAYER: Yes, I'm positive that you two would be a good match..
if (response == "s_64")
{
//-- [NOTE]
if (loveday_romance_target_condition_goodMatch (player, npc))
{
doAnimationAction (npc, "celebrate");
loveday_romance_target_action_completeMatch (player, npc);
//-- NPC: I do too! I look forward to getting to know %TO better.
string_id message = new string_id (c_stringFile, "s_67");
utils.removeScriptVar (player, "conversation.loveday_romance_target.branchId");
prose_package pp = new prose_package ();
pp.stringId = message;
pp.actor.set (player);
pp.target.set (npc);
pp.other.set (loveday_romance_target_tokenTO_companionName (player, npc));
npcEndConversationWithMessage (player, pp);
return SCRIPT_CONTINUE;
}
//-- [NOTE]
if (!loveday_romance_target_condition_goodMatch (player, npc))
{
doAnimationAction (npc, "shake_head_disgust");
loveday_romance_target_action_rejected (player, npc);
//-- NPC: Um...I don't think so.
string_id message = new string_id (c_stringFile, "s_69");
utils.removeScriptVar (player, "conversation.loveday_romance_target.branchId");
npcEndConversationWithMessage (player, message);
return SCRIPT_CONTINUE;
}
}
//-- [RESPONSE NOTE]
//-- PLAYER: Hmm...maybe I should make certain that you're a good match.
if (response == "s_65")
{
//-- [NOTE]
if (loveday_romance_target_condition__defaultCondition (player, npc))
{
//-- NPC: I understand. May you both have a wonderful Festival of Love.
string_id message = new string_id (c_stringFile, "s_70");
utils.removeScriptVar (player, "conversation.loveday_romance_target.branchId");
npcEndConversationWithMessage (player, message);
return SCRIPT_CONTINUE;
}
}
return SCRIPT_DEFAULT;
}
// ----------------------------------------------------------------------
// ======================================================================
// User Script Triggers
// ======================================================================
trigger OnInitialize ()
{
if ((!isTangible (self)) || (isPlayer (self)))
detachScript(self, "conversation.loveday_romance_target");
setCondition(self, CONDITION_CONVERSABLE);
setCondition(self, CONDITION_HOLIDAY_INTERESTING);
return SCRIPT_CONTINUE;
}
trigger OnAttach ()
{
setCondition (self, CONDITION_CONVERSABLE);
setCondition(self, CONDITION_HOLIDAY_INTERESTING);
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);
faceTo(self, player);
resizeable int[] traitIndexes = new int[0];
for ( int j = 1; j <= 5; j++ )
{
utils.addElement(traitIndexes, j);
}
resizeable int[] randomOrder = new int[0];
for ( int i = 0; i < 5; i++ )
{
int index = rand(0, traitIndexes.length - 1);
utils.addElement(randomOrder, traitIndexes[index]);
utils.removeElementAt(traitIndexes, index);
}
utils.setScriptVar(player, "traits_randomOrder", randomOrder);
return SCRIPT_CONTINUE;
}
trigger OnIncapacitated (obj_id killer)
{
clearCondition (self, CONDITION_CONVERSABLE);
detachScript (self, "conversation.loveday_romance_target");
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_romance_target_condition_wasRejected (player, npc))
{
doAnimationAction (npc, "taken_aback");
//-- NPC: Oh my...you should come back later when your companion has had a chance to get over being rejected.
string_id message = new string_id (c_stringFile, "s_61");
chat.chat (npc, player, message);
return SCRIPT_CONTINUE;
}
//-- [NOTE]
if (loveday_romance_target_condition_alreadyMatched (player, npc))
{
doAnimationAction (npc, "sigh_deeply");
//-- NPC: You've already found a match for your companion.
string_id message = new string_id (c_stringFile, "s_51");
chat.chat (npc, player, message);
return SCRIPT_CONTINUE;
}
//-- [NOTE]
if (loveday_romance_target_condition_hasNoCompanion (player, npc))
{
doAnimationAction (npc, "wave_finger_warning");
//-- NPC: You do not have a companion to try and match with me.
string_id message = new string_id (c_stringFile, "s_22");
chat.chat (npc, player, message);
return SCRIPT_CONTINUE;
}
//-- [NOTE]
if (loveday_romance_target_condition_companionNotOut (player, npc))
{
doAnimationAction (npc, "explain");
//-- NPC: Would you please summon your companion? I think it would be best if we could meet.
string_id message = new string_id (c_stringFile, "s_8");
chat.chat (npc, player, message);
return SCRIPT_CONTINUE;
}
//-- [NOTE]
if (loveday_romance_target_condition_wrongGender (player, npc))
{
//-- NPC: I'm afraid I'm not interested, but thank you all the same.
string_id message = new string_id (c_stringFile, "s_29");
chat.chat (npc, player, message);
return SCRIPT_CONTINUE;
}
//-- [NOTE]
if (loveday_romance_target_condition_hasQuest (player, npc))
{
//-- NPC: Yes, hello. So good to meet you.
string_id message = new string_id (c_stringFile, "s_10");
int numberOfResponses = 0;
boolean hasResponse = false;
//-- PLAYER: Tell us something about yourself.
boolean hasResponse0 = false;
if (loveday_romance_target_condition__defaultCondition (player, npc))
{
++numberOfResponses;
hasResponse = true;
hasResponse0 = true;
}
//-- PLAYER: I think you'd be a great match for my companion here.
boolean hasResponse1 = false;
if (loveday_romance_target_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_30");
if (hasResponse1)
responses [responseIndex++] = new string_id (c_stringFile, "s_55");
utils.setScriptVar (player, "conversation.loveday_romance_target.branchId", 6);
npcStartConversation (player, npc, "loveday_romance_target", message, responses);
}
else
{
chat.chat (npc, player, message);
}
return SCRIPT_CONTINUE;
}
//-- [NOTE]
if (loveday_romance_target_condition__defaultCondition (player, npc))
{
doAnimationAction (npc, "implore");
//-- NPC: Happy Festival of Love!
string_id message = new string_id (c_stringFile, "s_68");
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_romance_target")
return SCRIPT_CONTINUE;
obj_id npc = self;
int branchId = utils.getIntScriptVar (player, "conversation.loveday_romance_target.branchId");
if (branchId == 6 && loveday_romance_target_handleBranch6 (player, npc, response) == SCRIPT_CONTINUE)
return SCRIPT_CONTINUE;
if (branchId == 7 && loveday_romance_target_handleBranch7 (player, npc, response) == SCRIPT_CONTINUE)
return SCRIPT_CONTINUE;
if (branchId == 8 && loveday_romance_target_handleBranch8 (player, npc, response) == SCRIPT_CONTINUE)
return SCRIPT_CONTINUE;
if (branchId == 9 && loveday_romance_target_handleBranch9 (player, npc, response) == SCRIPT_CONTINUE)
return SCRIPT_CONTINUE;
if (branchId == 10 && loveday_romance_target_handleBranch10 (player, npc, response) == SCRIPT_CONTINUE)
return SCRIPT_CONTINUE;
if (branchId == 11 && loveday_romance_target_handleBranch11 (player, npc, response) == SCRIPT_CONTINUE)
return SCRIPT_CONTINUE;
if (branchId == 12 && loveday_romance_target_handleBranch12 (player, npc, response) == SCRIPT_CONTINUE)
return SCRIPT_CONTINUE;
if (branchId == 13 && loveday_romance_target_handleBranch13 (player, npc, response) == SCRIPT_CONTINUE)
return SCRIPT_CONTINUE;
if (branchId == 14 && loveday_romance_target_handleBranch14 (player, npc, response) == SCRIPT_CONTINUE)
return SCRIPT_CONTINUE;
if (branchId == 15 && loveday_romance_target_handleBranch15 (player, npc, response) == SCRIPT_CONTINUE)
return SCRIPT_CONTINUE;
if (branchId == 16 && loveday_romance_target_handleBranch16 (player, npc, response) == SCRIPT_CONTINUE)
return SCRIPT_CONTINUE;
if (branchId == 17 && loveday_romance_target_handleBranch17 (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_romance_target.branchId");
return SCRIPT_CONTINUE;
}
// ======================================================================