// ====================================================================== // // 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 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; } // ======================================================================