mirror of
https://github.com/SWG-Source/dsrc.git
synced 2026-08-01 01:15:59 -04:00
1290 lines
36 KiB
Plaintext
1290 lines
36 KiB
Plaintext
// ======================================================================
|
|
//
|
|
// heraldtatooine2.script
|
|
//
|
|
//
|
|
//
|
|
// Created with SwgConversationEditor 1.36 - DO NOT EDIT THIS AUTO-GENERATED FILE!
|
|
//
|
|
// ======================================================================
|
|
|
|
// ======================================================================
|
|
// Library Includes
|
|
// ======================================================================
|
|
|
|
include library.ai_lib;
|
|
include library.chat;
|
|
include library.money;
|
|
include library.utils;
|
|
|
|
// ======================================================================
|
|
// Script Constants
|
|
// ======================================================================
|
|
|
|
string c_stringFile = "conversation/heraldtatooine2";
|
|
|
|
// ======================================================================
|
|
// Script Conditions
|
|
// ======================================================================
|
|
|
|
boolean heraldtatooine2_condition__defaultCondition (obj_id player, obj_id npc)
|
|
{
|
|
return true;
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
boolean heraldtatooine2_condition_cashyes50 (obj_id player, obj_id npc)
|
|
{
|
|
int cash = getTotalMoney (player);
|
|
if (cash >= 50)
|
|
return true;
|
|
else
|
|
return false;
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
boolean heraldtatooine2_condition_cashyes30 (obj_id player, obj_id npc)
|
|
{
|
|
int cash = getTotalMoney (player);
|
|
if (cash >= 30)
|
|
return true;
|
|
else
|
|
return false;
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
boolean heraldtatooine2_condition_cashyes15 (obj_id player, obj_id npc)
|
|
{
|
|
int cash = getTotalMoney (player);
|
|
if (cash >= 15)
|
|
return true;
|
|
else
|
|
return false;
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
boolean heraldtatooine2_condition_cashyes60 (obj_id player, obj_id npc)
|
|
{
|
|
int cash = getTotalMoney (player);
|
|
if (cash >= 60)
|
|
return true;
|
|
else
|
|
return false;
|
|
}
|
|
|
|
// ======================================================================
|
|
// Script Actions
|
|
// ======================================================================
|
|
|
|
void heraldtatooine2_action_getcash50 (obj_id player, obj_id npc)
|
|
{
|
|
dictionary params = new dictionary();
|
|
money.requestPayment(player, npc, 50, "pass_fail", params, true);
|
|
location rebel = new location(-784, 0, -4451);
|
|
obj_id waypoint = createWaypointInDatapad(player, rebel);
|
|
setWaypointName(waypoint, "Rebel Military Base");
|
|
setWaypointColor( waypoint, "blue" );
|
|
setWaypointVisible( waypoint, true );
|
|
setWaypointActive( waypoint, true );
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
void heraldtatooine2_action_getcash30 (obj_id player, obj_id npc)
|
|
{
|
|
dictionary params = new dictionary();
|
|
money.requestPayment(player, npc, 30, "pass_fail", params, true);
|
|
location rebel = new location(-1084, 0, -4751);
|
|
obj_id waypoint = createWaypointInDatapad(player, rebel);
|
|
setWaypointName(waypoint, "Rebel Military Base");
|
|
setWaypointColor( waypoint, "blue" );
|
|
setWaypointVisible( waypoint, true );
|
|
setWaypointActive( waypoint, true );
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
void heraldtatooine2_action_getcash30a (obj_id player, obj_id npc)
|
|
{
|
|
dictionary params = new dictionary();
|
|
money.requestPayment(player, npc, 15, "pass_fail", params, true);
|
|
location tusken = new location(-1493, 0, -208);
|
|
obj_id waypoint = createWaypointInDatapad(player, tusken);
|
|
setWaypointName(waypoint, "Tusken Bunker");
|
|
setWaypointColor( waypoint, "blue" );
|
|
setWaypointVisible( waypoint, true );
|
|
setWaypointActive( waypoint, true );
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
void heraldtatooine2_action_getcash60 (obj_id player, obj_id npc)
|
|
{
|
|
dictionary params = new dictionary();
|
|
money.requestPayment(player, npc, 60, "pass_fail", params, true);
|
|
location hutt = new location(5021, 0, 547);
|
|
obj_id waypoint = createWaypointInDatapad(player, hutt);
|
|
setWaypointName(waypoint, "Hutt Hideout");
|
|
setWaypointColor( waypoint, "blue" );
|
|
setWaypointVisible( waypoint, true );
|
|
setWaypointActive( waypoint, true );
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
void heraldtatooine2_action_beckon (obj_id player, obj_id npc)
|
|
{
|
|
doAnimationAction(npc, "beckon");
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
void heraldtatooine2_action_dismiss (obj_id player, obj_id npc)
|
|
{
|
|
doAnimationAction(npc, "wave_on_dismissing");
|
|
}
|
|
|
|
// ======================================================================
|
|
// Script %TO Tokens
|
|
// ======================================================================
|
|
|
|
// ======================================================================
|
|
// Script %DI Tokens
|
|
// ======================================================================
|
|
|
|
// ======================================================================
|
|
// Script %DF Tokens
|
|
// ======================================================================
|
|
|
|
// ======================================================================
|
|
// handleBranch<n> Functions
|
|
// ======================================================================
|
|
|
|
int heraldtatooine2_handleBranch1 (obj_id player, obj_id npc, string_id response)
|
|
{
|
|
//-- [BRANCH NOTE]
|
|
//-- NPC: Psst! Hey you! Yeah you! C'mere. You look as if you'd be suitable to join Jabba's forces. But keep your voice down. The Empire rules this place and doesn't take likely to members of the Hutt family.
|
|
|
|
//-- [RESPONSE NOTE]
|
|
//-- PLAYER: I can already tell that I don't want to get into this mess.
|
|
if (response == "s_72ac291d")
|
|
{
|
|
//-- [NOTE]
|
|
if (heraldtatooine2_condition__defaultCondition (player, npc))
|
|
{
|
|
//-- NPC: You're not very exciting. I'll wait for someone else, then. Bye!
|
|
string_id message = new string_id (c_stringFile, "s_19ca58d8");
|
|
utils.removeScriptVar (player, "conversation.heraldtatooine2.branchId");
|
|
|
|
npcEndConversationWithMessage (player, message);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
}
|
|
|
|
//-- [RESPONSE NOTE]
|
|
//-- PLAYER: Yeah, I'm interested.
|
|
if (response == "s_42bcb8b6")
|
|
{
|
|
//-- [NOTE]
|
|
if (heraldtatooine2_condition__defaultCondition (player, npc))
|
|
{
|
|
//-- NPC: Well, you'd have to talk to Jabba about that. I can't just sign you up. But I can tell you the location of our hideout. Maybe you can scope it out and see if you like it. It's gonna cost you, though. In fact, I have a couple of places you might be interested in.
|
|
string_id message = new string_id (c_stringFile, "s_9ac6e8f5");
|
|
int numberOfResponses = 0;
|
|
|
|
boolean hasResponse = false;
|
|
|
|
//-- PLAYER: Sorry, don't have any credits on me.
|
|
boolean hasResponse0 = false;
|
|
if (heraldtatooine2_condition__defaultCondition (player, npc))
|
|
{
|
|
++numberOfResponses;
|
|
hasResponse = true;
|
|
hasResponse0 = true;
|
|
}
|
|
|
|
//-- PLAYER: Go on.
|
|
boolean hasResponse1 = false;
|
|
if (heraldtatooine2_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_d0c6151b");
|
|
|
|
if (hasResponse1)
|
|
responses [responseIndex++] = new string_id (c_stringFile, "s_edb238bc");
|
|
|
|
utils.setScriptVar (player, "conversation.heraldtatooine2.branchId", 3);
|
|
|
|
npcSpeak (player, message);
|
|
npcSetConversationResponses (player, responses);
|
|
}
|
|
else
|
|
{
|
|
utils.removeScriptVar (player, "conversation.heraldtatooine2.branchId");
|
|
|
|
npcEndConversationWithMessage (player, message);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
}
|
|
|
|
return SCRIPT_DEFAULT;
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
int heraldtatooine2_handleBranch3 (obj_id player, obj_id npc, string_id response)
|
|
{
|
|
//-- [BRANCH NOTE]
|
|
//-- NPC: Well, you'd have to talk to Jabba about that. I can't just sign you up. But I can tell you the location of our hideout. Maybe you can scope it out and see if you like it. It's gonna cost you, though. In fact, I have a couple of places you might be interested in.
|
|
|
|
//-- [RESPONSE NOTE]
|
|
//-- PLAYER: Sorry, don't have any credits on me.
|
|
if (response == "s_d0c6151b")
|
|
{
|
|
//-- [NOTE]
|
|
if (heraldtatooine2_condition__defaultCondition (player, npc))
|
|
{
|
|
//-- NPC: Oh. Well, come back when you do. I have other deals to conduct.
|
|
string_id message = new string_id (c_stringFile, "s_c599cc9e");
|
|
utils.removeScriptVar (player, "conversation.heraldtatooine2.branchId");
|
|
|
|
npcEndConversationWithMessage (player, message);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
}
|
|
|
|
//-- [RESPONSE NOTE]
|
|
//-- PLAYER: Go on.
|
|
if (response == "s_edb238bc")
|
|
{
|
|
//-- [NOTE]
|
|
if (heraldtatooine2_condition__defaultCondition (player, npc))
|
|
{
|
|
//-- NPC: First, the Hutt Hideout. Yeah, I know. Selling out my own people. I have to make a living, you know! I also have information regarding the Rebel Military Base and a Tusken Bunker. What do y'say?
|
|
string_id message = new string_id (c_stringFile, "s_f026df25");
|
|
int numberOfResponses = 0;
|
|
|
|
boolean hasResponse = false;
|
|
|
|
//-- PLAYER: Hutt Hideout.
|
|
boolean hasResponse0 = false;
|
|
if (heraldtatooine2_condition__defaultCondition (player, npc))
|
|
{
|
|
++numberOfResponses;
|
|
hasResponse = true;
|
|
hasResponse0 = true;
|
|
}
|
|
|
|
//-- PLAYER: Rebel Military Base.
|
|
boolean hasResponse1 = false;
|
|
if (heraldtatooine2_condition__defaultCondition (player, npc))
|
|
{
|
|
++numberOfResponses;
|
|
hasResponse = true;
|
|
hasResponse1 = true;
|
|
}
|
|
|
|
//-- PLAYER: Tusken Bunker.
|
|
boolean hasResponse2 = false;
|
|
if (heraldtatooine2_condition__defaultCondition (player, npc))
|
|
{
|
|
++numberOfResponses;
|
|
hasResponse = true;
|
|
hasResponse2 = true;
|
|
}
|
|
|
|
if (hasResponse)
|
|
{
|
|
int responseIndex = 0;
|
|
string_id responses [] = new string_id [numberOfResponses];
|
|
|
|
if (hasResponse0)
|
|
responses [responseIndex++] = new string_id (c_stringFile, "s_7f115744");
|
|
|
|
if (hasResponse1)
|
|
responses [responseIndex++] = new string_id (c_stringFile, "s_8d322c6b");
|
|
|
|
if (hasResponse2)
|
|
responses [responseIndex++] = new string_id (c_stringFile, "s_d1f219dd");
|
|
|
|
utils.setScriptVar (player, "conversation.heraldtatooine2.branchId", 5);
|
|
|
|
npcSpeak (player, message);
|
|
npcSetConversationResponses (player, responses);
|
|
}
|
|
else
|
|
{
|
|
utils.removeScriptVar (player, "conversation.heraldtatooine2.branchId");
|
|
|
|
npcEndConversationWithMessage (player, message);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
}
|
|
|
|
return SCRIPT_DEFAULT;
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
int heraldtatooine2_handleBranch5 (obj_id player, obj_id npc, string_id response)
|
|
{
|
|
//-- [BRANCH NOTE]
|
|
//-- NPC: First, the Hutt Hideout. Yeah, I know. Selling out my own people. I have to make a living, you know! I also have information regarding the Rebel Military Base and a Tusken Bunker. What do y'say?
|
|
|
|
//-- [RESPONSE NOTE]
|
|
//-- PLAYER: Hutt Hideout.
|
|
if (response == "s_7f115744")
|
|
{
|
|
//-- [NOTE]
|
|
if (heraldtatooine2_condition__defaultCondition (player, npc))
|
|
{
|
|
//-- NPC: That'll be, uh.. 20 credits? No--60 credits!
|
|
string_id message = new string_id (c_stringFile, "s_5ee77a06");
|
|
int numberOfResponses = 0;
|
|
|
|
boolean hasResponse = false;
|
|
|
|
//-- PLAYER: No way!
|
|
boolean hasResponse0 = false;
|
|
if (heraldtatooine2_condition__defaultCondition (player, npc))
|
|
{
|
|
++numberOfResponses;
|
|
hasResponse = true;
|
|
hasResponse0 = true;
|
|
}
|
|
|
|
//-- PLAYER: I suppose.
|
|
boolean hasResponse1 = false;
|
|
if (heraldtatooine2_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_34cffb60");
|
|
|
|
if (hasResponse1)
|
|
responses [responseIndex++] = new string_id (c_stringFile, "s_4ff8cd88");
|
|
|
|
utils.setScriptVar (player, "conversation.heraldtatooine2.branchId", 6);
|
|
|
|
npcSpeak (player, message);
|
|
npcSetConversationResponses (player, responses);
|
|
}
|
|
else
|
|
{
|
|
utils.removeScriptVar (player, "conversation.heraldtatooine2.branchId");
|
|
|
|
npcEndConversationWithMessage (player, message);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
}
|
|
|
|
//-- [RESPONSE NOTE]
|
|
//-- PLAYER: Rebel Military Base.
|
|
if (response == "s_8d322c6b")
|
|
{
|
|
//-- [NOTE]
|
|
if (heraldtatooine2_condition__defaultCondition (player, npc))
|
|
{
|
|
//-- NPC: I'll give you the information for... 15 credits. That's right. 15 credits for a general location and 50 credits for an exact location.
|
|
string_id message = new string_id (c_stringFile, "s_ea388738");
|
|
int numberOfResponses = 0;
|
|
|
|
boolean hasResponse = false;
|
|
|
|
//-- PLAYER: No. I'm out of here.
|
|
boolean hasResponse0 = false;
|
|
if (heraldtatooine2_condition__defaultCondition (player, npc))
|
|
{
|
|
++numberOfResponses;
|
|
hasResponse = true;
|
|
hasResponse0 = true;
|
|
}
|
|
|
|
//-- PLAYER: I'll have... an exact location, please.
|
|
boolean hasResponse1 = false;
|
|
if (heraldtatooine2_condition__defaultCondition (player, npc))
|
|
{
|
|
++numberOfResponses;
|
|
hasResponse = true;
|
|
hasResponse1 = true;
|
|
}
|
|
|
|
//-- PLAYER: Give me the 'general location special'.
|
|
boolean hasResponse2 = false;
|
|
if (heraldtatooine2_condition__defaultCondition (player, npc))
|
|
{
|
|
++numberOfResponses;
|
|
hasResponse = true;
|
|
hasResponse2 = true;
|
|
}
|
|
|
|
if (hasResponse)
|
|
{
|
|
int responseIndex = 0;
|
|
string_id responses [] = new string_id [numberOfResponses];
|
|
|
|
if (hasResponse0)
|
|
responses [responseIndex++] = new string_id (c_stringFile, "s_c41d4bce");
|
|
|
|
if (hasResponse1)
|
|
responses [responseIndex++] = new string_id (c_stringFile, "s_f2044f4a");
|
|
|
|
/*if (hasResponse2)
|
|
responses [responseIndex++] = new string_id (c_stringFile, "s_b05cb415");*/
|
|
|
|
utils.setScriptVar (player, "conversation.heraldtatooine2.branchId", 12);
|
|
|
|
npcSpeak (player, message);
|
|
npcSetConversationResponses (player, responses);
|
|
}
|
|
else
|
|
{
|
|
utils.removeScriptVar (player, "conversation.heraldtatooine2.branchId");
|
|
|
|
npcEndConversationWithMessage (player, message);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
}
|
|
|
|
//-- [RESPONSE NOTE]
|
|
//-- PLAYER: Tusken Bunker.
|
|
if (response == "s_d1f219dd")
|
|
{
|
|
//-- [NOTE]
|
|
if (heraldtatooine2_condition__defaultCondition (player, npc))
|
|
{
|
|
//-- NPC: I ought to give you the location for free just to see you get a whoopin'! HA! Anyway, the Tusken Bunker is on sale for 30 credits. How about it?
|
|
string_id message = new string_id (c_stringFile, "s_5abff6d6");
|
|
int numberOfResponses = 0;
|
|
|
|
boolean hasResponse = false;
|
|
|
|
//-- PLAYER: I'm going to pass.
|
|
boolean hasResponse0 = false;
|
|
if (heraldtatooine2_condition__defaultCondition (player, npc))
|
|
{
|
|
++numberOfResponses;
|
|
hasResponse = true;
|
|
hasResponse0 = true;
|
|
}
|
|
|
|
//-- PLAYER: Sure.
|
|
boolean hasResponse1 = false;
|
|
if (heraldtatooine2_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_c885bfb0");
|
|
|
|
if (hasResponse1)
|
|
responses [responseIndex++] = new string_id (c_stringFile, "s_8be640b8");
|
|
|
|
utils.setScriptVar (player, "conversation.heraldtatooine2.branchId", 22);
|
|
|
|
npcSpeak (player, message);
|
|
npcSetConversationResponses (player, responses);
|
|
}
|
|
else
|
|
{
|
|
utils.removeScriptVar (player, "conversation.heraldtatooine2.branchId");
|
|
|
|
npcEndConversationWithMessage (player, message);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
}
|
|
|
|
return SCRIPT_DEFAULT;
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
int heraldtatooine2_handleBranch6 (obj_id player, obj_id npc, string_id response)
|
|
{
|
|
//-- [BRANCH NOTE]
|
|
//-- NPC: That'll be, uh.. 20 credits? No--60 credits!
|
|
|
|
//-- [RESPONSE NOTE]
|
|
//-- PLAYER: No way!
|
|
if (response == "s_34cffb60")
|
|
{
|
|
//-- [NOTE]
|
|
if (heraldtatooine2_condition__defaultCondition (player, npc))
|
|
{
|
|
//-- NPC: You're so cheap! I'm desperate here! You think I'm going to sell out my own people for less than 60 credits? You're nuts! Get lost!
|
|
string_id message = new string_id (c_stringFile, "s_6b184c6");
|
|
utils.removeScriptVar (player, "conversation.heraldtatooine2.branchId");
|
|
|
|
npcEndConversationWithMessage (player, message);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
}
|
|
|
|
//-- [RESPONSE NOTE]
|
|
//-- PLAYER: I suppose.
|
|
if (response == "s_4ff8cd88")
|
|
{
|
|
//-- [NOTE]
|
|
if (heraldtatooine2_condition__defaultCondition (player, npc))
|
|
{
|
|
//-- NPC: 60 credits, please. And don't think about cheating on me, here. This information is dangerous to be passing around, especially without pay.
|
|
string_id message = new string_id (c_stringFile, "s_74ed5d50");
|
|
int numberOfResponses = 0;
|
|
|
|
boolean hasResponse = false;
|
|
|
|
//-- PLAYER: Fine, here.
|
|
boolean hasResponse0 = false;
|
|
if (heraldtatooine2_condition__defaultCondition (player, npc))
|
|
{
|
|
++numberOfResponses;
|
|
hasResponse = true;
|
|
hasResponse0 = true;
|
|
}
|
|
|
|
//-- PLAYER: I don't have the money.
|
|
boolean hasResponse1 = false;
|
|
if (heraldtatooine2_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_c3dbbcab");
|
|
|
|
if (hasResponse1)
|
|
responses [responseIndex++] = new string_id (c_stringFile, "s_30c59b36");
|
|
|
|
utils.setScriptVar (player, "conversation.heraldtatooine2.branchId", 8);
|
|
|
|
npcSpeak (player, message);
|
|
npcSetConversationResponses (player, responses);
|
|
}
|
|
else
|
|
{
|
|
utils.removeScriptVar (player, "conversation.heraldtatooine2.branchId");
|
|
|
|
npcEndConversationWithMessage (player, message);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
}
|
|
|
|
return SCRIPT_DEFAULT;
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
int heraldtatooine2_handleBranch8 (obj_id player, obj_id npc, string_id response)
|
|
{
|
|
//-- [BRANCH NOTE]
|
|
//-- NPC: 60 credits, please. And don't think about cheating on me, here. This information is dangerous to be passing around, especially without pay.
|
|
|
|
//-- [RESPONSE NOTE]
|
|
//-- PLAYER: Fine, here.
|
|
if (response == "s_c3dbbcab")
|
|
{
|
|
//-- [NOTE]
|
|
if (heraldtatooine2_condition_cashyes60 (player, npc))
|
|
{
|
|
heraldtatooine2_action_getcash60 (player, npc);
|
|
|
|
//-- NPC: Look at that. You actually have the money. Well, you didn't specify if you wanted a direct location, so I gave you a general location instead! HAHA! So long, sucker!
|
|
string_id message = new string_id (c_stringFile, "s_32a1ecd");
|
|
utils.removeScriptVar (player, "conversation.heraldtatooine2.branchId");
|
|
|
|
npcEndConversationWithMessage (player, message);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
//-- [NOTE]
|
|
if (heraldtatooine2_condition__defaultCondition (player, npc))
|
|
{
|
|
//-- NPC: I didn't expect you to have the money. You're just a commoner, afterall.
|
|
string_id message = new string_id (c_stringFile, "s_241afd0a");
|
|
utils.removeScriptVar (player, "conversation.heraldtatooine2.branchId");
|
|
|
|
npcEndConversationWithMessage (player, message);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
}
|
|
|
|
//-- [RESPONSE NOTE]
|
|
//-- PLAYER: I don't have the money.
|
|
if (response == "s_30c59b36")
|
|
{
|
|
//-- [NOTE]
|
|
if (heraldtatooine2_condition__defaultCondition (player, npc))
|
|
{
|
|
//-- NPC: That's a sad story. I'll find someone else to buy my information, then.
|
|
string_id message = new string_id (c_stringFile, "s_3a28c7c4");
|
|
utils.removeScriptVar (player, "conversation.heraldtatooine2.branchId");
|
|
|
|
npcEndConversationWithMessage (player, message);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
}
|
|
|
|
return SCRIPT_DEFAULT;
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
int heraldtatooine2_handleBranch12 (obj_id player, obj_id npc, string_id response)
|
|
{
|
|
//-- [BRANCH NOTE]
|
|
//-- NPC: I'll give you the information for... 15 credits. That's right. 15 credits for a general location and 50 credits for an exact location.
|
|
|
|
//-- [RESPONSE NOTE]
|
|
//-- PLAYER: No. I'm out of here.
|
|
if (response == "s_c41d4bce")
|
|
{
|
|
//-- [NOTE]
|
|
if (heraldtatooine2_condition__defaultCondition (player, npc))
|
|
{
|
|
//-- NPC: I'll find someone else to buy my information!
|
|
string_id message = new string_id (c_stringFile, "s_b81c8c9");
|
|
utils.removeScriptVar (player, "conversation.heraldtatooine2.branchId");
|
|
|
|
npcEndConversationWithMessage (player, message);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
}
|
|
|
|
//-- [RESPONSE NOTE]
|
|
//-- PLAYER: I'll have... an exact location, please.
|
|
if (response == "s_f2044f4a")
|
|
{
|
|
//-- [NOTE]
|
|
if (heraldtatooine2_condition__defaultCondition (player, npc))
|
|
{
|
|
//-- NPC: 50 credits, please.
|
|
string_id message = new string_id (c_stringFile, "s_17daabb0");
|
|
int numberOfResponses = 0;
|
|
|
|
boolean hasResponse = false;
|
|
|
|
//-- PLAYER: I changed my mind.
|
|
boolean hasResponse0 = false;
|
|
if (heraldtatooine2_condition__defaultCondition (player, npc))
|
|
{
|
|
++numberOfResponses;
|
|
hasResponse = true;
|
|
hasResponse0 = true;
|
|
}
|
|
|
|
//-- PLAYER: Here you are.
|
|
boolean hasResponse1 = false;
|
|
if (heraldtatooine2_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_4440ce87");
|
|
|
|
if (hasResponse1)
|
|
responses [responseIndex++] = new string_id (c_stringFile, "s_81a382e3");
|
|
|
|
utils.setScriptVar (player, "conversation.heraldtatooine2.branchId", 14);
|
|
|
|
npcSpeak (player, message);
|
|
npcSetConversationResponses (player, responses);
|
|
}
|
|
else
|
|
{
|
|
utils.removeScriptVar (player, "conversation.heraldtatooine2.branchId");
|
|
|
|
npcEndConversationWithMessage (player, message);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
}
|
|
|
|
//-- [RESPONSE NOTE]
|
|
//-- PLAYER: Give me the 'general location special'.
|
|
if (response == "s_b05cb415")
|
|
{
|
|
//-- [NOTE]
|
|
if (heraldtatooine2_condition__defaultCondition (player, npc))
|
|
{
|
|
//-- NPC: That'll be 15 credits. Do you have the money?
|
|
string_id message = new string_id (c_stringFile, "s_6cf09e8e");
|
|
int numberOfResponses = 0;
|
|
|
|
boolean hasResponse = false;
|
|
|
|
//-- PLAYER: Yes, I do. Here you are.
|
|
boolean hasResponse0 = false;
|
|
if (heraldtatooine2_condition__defaultCondition (player, npc))
|
|
{
|
|
++numberOfResponses;
|
|
hasResponse = true;
|
|
hasResponse0 = true;
|
|
}
|
|
|
|
//-- PLAYER: Actually, I don't. Bye!
|
|
boolean hasResponse1 = false;
|
|
if (heraldtatooine2_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_d9903b42");
|
|
|
|
if (hasResponse1)
|
|
responses [responseIndex++] = new string_id (c_stringFile, "s_fb859e03");
|
|
|
|
utils.setScriptVar (player, "conversation.heraldtatooine2.branchId", 18);
|
|
|
|
npcSpeak (player, message);
|
|
npcSetConversationResponses (player, responses);
|
|
}
|
|
else
|
|
{
|
|
utils.removeScriptVar (player, "conversation.heraldtatooine2.branchId");
|
|
|
|
npcEndConversationWithMessage (player, message);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
}
|
|
|
|
return SCRIPT_DEFAULT;
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
int heraldtatooine2_handleBranch14 (obj_id player, obj_id npc, string_id response)
|
|
{
|
|
//-- [BRANCH NOTE]
|
|
//-- NPC: 50 credits, please.
|
|
|
|
//-- [RESPONSE NOTE]
|
|
//-- PLAYER: I changed my mind.
|
|
if (response == "s_4440ce87")
|
|
{
|
|
//-- [NOTE]
|
|
if (heraldtatooine2_condition__defaultCondition (player, npc))
|
|
{
|
|
heraldtatooine2_action_dismiss (player, npc);
|
|
|
|
//-- NPC: Pfft! Go away. I see another client. I can't waste my time with you.
|
|
string_id message = new string_id (c_stringFile, "s_88788d03");
|
|
utils.removeScriptVar (player, "conversation.heraldtatooine2.branchId");
|
|
|
|
npcEndConversationWithMessage (player, message);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
}
|
|
|
|
//-- [RESPONSE NOTE]
|
|
//-- PLAYER: Here you are.
|
|
if (response == "s_81a382e3")
|
|
{
|
|
//-- [NOTE]
|
|
if (heraldtatooine2_condition_cashyes50 (player, npc))
|
|
{
|
|
heraldtatooine2_action_getcash50 (player, npc);
|
|
|
|
//-- NPC: Ahh! I will download the information into your datapad. Thank you for your business!
|
|
string_id message = new string_id (c_stringFile, "s_c799721b");
|
|
utils.removeScriptVar (player, "conversation.heraldtatooine2.branchId");
|
|
|
|
npcEndConversationWithMessage (player, message);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
//-- [NOTE]
|
|
if (heraldtatooine2_condition__defaultCondition (player, npc))
|
|
{
|
|
heraldtatooine2_action_dismiss (player, npc);
|
|
|
|
//-- NPC: You don't have enough money. Are you trying to jip me? Who do you think I am? Get out of here!
|
|
string_id message = new string_id (c_stringFile, "s_1c6f5661");
|
|
utils.removeScriptVar (player, "conversation.heraldtatooine2.branchId");
|
|
|
|
npcEndConversationWithMessage (player, message);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
}
|
|
|
|
return SCRIPT_DEFAULT;
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
int heraldtatooine2_handleBranch18 (obj_id player, obj_id npc, string_id response)
|
|
{
|
|
//-- [BRANCH NOTE]
|
|
//-- NPC: That'll be 15 credits. Do you have the money?
|
|
|
|
//-- [RESPONSE NOTE]
|
|
//-- PLAYER: Yes, I do. Here you are.
|
|
if (response == "s_d9903b42")
|
|
{
|
|
//-- [NOTE]
|
|
if (heraldtatooine2_condition_cashyes30 (player, npc))
|
|
{
|
|
heraldtatooine2_action_getcash30 (player, npc);
|
|
|
|
//-- NPC: Excellent! The information has been downloaded. Thank you for your business! I hope you can find it okay! You should have paid for a direct location. HAH!
|
|
string_id message = new string_id (c_stringFile, "s_aae6686e");
|
|
utils.removeScriptVar (player, "conversation.heraldtatooine2.branchId");
|
|
|
|
npcEndConversationWithMessage (player, message);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
//-- [NOTE]
|
|
if (heraldtatooine2_condition__defaultCondition (player, npc))
|
|
{
|
|
heraldtatooine2_action_dismiss (player, npc);
|
|
|
|
//-- NPC: What?! You don't have the money? Ugh! Go away!
|
|
string_id message = new string_id (c_stringFile, "s_38bef1fe");
|
|
utils.removeScriptVar (player, "conversation.heraldtatooine2.branchId");
|
|
|
|
npcEndConversationWithMessage (player, message);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
}
|
|
|
|
//-- [RESPONSE NOTE]
|
|
//-- PLAYER: Actually, I don't. Bye!
|
|
if (response == "s_fb859e03")
|
|
{
|
|
//-- [NOTE]
|
|
if (heraldtatooine2_condition__defaultCondition (player, npc))
|
|
{
|
|
//-- NPC: I hope the Hutts find you and bury you in the desert!
|
|
string_id message = new string_id (c_stringFile, "s_6892af1b");
|
|
utils.removeScriptVar (player, "conversation.heraldtatooine2.branchId");
|
|
|
|
npcEndConversationWithMessage (player, message);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
}
|
|
|
|
return SCRIPT_DEFAULT;
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
int heraldtatooine2_handleBranch22 (obj_id player, obj_id npc, string_id response)
|
|
{
|
|
//-- [BRANCH NOTE]
|
|
//-- NPC: I ought to give you the location for free just to see you get a whoopin'! HA! Anyway, the Tusken Bunker is on sale for 30 credits. How about it?
|
|
|
|
//-- [RESPONSE NOTE]
|
|
//-- PLAYER: I'm going to pass.
|
|
if (response == "s_c885bfb0")
|
|
{
|
|
//-- [NOTE]
|
|
if (heraldtatooine2_condition__defaultCondition (player, npc))
|
|
{
|
|
heraldtatooine2_action_dismiss (player, npc);
|
|
|
|
//-- NPC: Fine, then. Get lost. I'm trying to run a business here.
|
|
string_id message = new string_id (c_stringFile, "s_c9a787f0");
|
|
utils.removeScriptVar (player, "conversation.heraldtatooine2.branchId");
|
|
|
|
npcEndConversationWithMessage (player, message);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
}
|
|
|
|
//-- [RESPONSE NOTE]
|
|
//-- PLAYER: Sure.
|
|
if (response == "s_8be640b8")
|
|
{
|
|
//-- [NOTE]
|
|
if (heraldtatooine2_condition__defaultCondition (player, npc))
|
|
{
|
|
//-- NPC: That'll be... 15 credits!
|
|
string_id message = new string_id (c_stringFile, "s_3d3f67a4");
|
|
int numberOfResponses = 0;
|
|
|
|
boolean hasResponse = false;
|
|
|
|
//-- PLAYER: Oh, look at that. I don't have the money.
|
|
boolean hasResponse0 = false;
|
|
if (heraldtatooine2_condition__defaultCondition (player, npc))
|
|
{
|
|
++numberOfResponses;
|
|
hasResponse = true;
|
|
hasResponse0 = true;
|
|
}
|
|
|
|
//-- PLAYER: I guess. Here.
|
|
boolean hasResponse1 = false;
|
|
if (heraldtatooine2_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_63855d3f");
|
|
|
|
if (hasResponse1)
|
|
responses [responseIndex++] = new string_id (c_stringFile, "s_177f6371");
|
|
|
|
utils.setScriptVar (player, "conversation.heraldtatooine2.branchId", 24);
|
|
|
|
npcSpeak (player, message);
|
|
npcSetConversationResponses (player, responses);
|
|
}
|
|
else
|
|
{
|
|
utils.removeScriptVar (player, "conversation.heraldtatooine2.branchId");
|
|
|
|
npcEndConversationWithMessage (player, message);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
}
|
|
|
|
return SCRIPT_DEFAULT;
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
int heraldtatooine2_handleBranch24 (obj_id player, obj_id npc, string_id response)
|
|
{
|
|
//-- [BRANCH NOTE]
|
|
//-- NPC: That'll be... 15 credits!
|
|
|
|
//-- [RESPONSE NOTE]
|
|
//-- PLAYER: Oh, look at that. I don't have the money.
|
|
if (response == "s_63855d3f")
|
|
{
|
|
//-- [NOTE]
|
|
if (heraldtatooine2_condition__defaultCondition (player, npc))
|
|
{
|
|
//-- NPC: I'm not surprised.
|
|
string_id message = new string_id (c_stringFile, "s_c9ff39ea");
|
|
utils.removeScriptVar (player, "conversation.heraldtatooine2.branchId");
|
|
|
|
npcEndConversationWithMessage (player, message);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
}
|
|
|
|
//-- [RESPONSE NOTE]
|
|
//-- PLAYER: I guess. Here.
|
|
if (response == "s_177f6371")
|
|
{
|
|
//-- [NOTE]
|
|
if (heraldtatooine2_condition_cashyes30 (player, npc))
|
|
{
|
|
heraldtatooine2_action_getcash30a (player, npc);
|
|
|
|
//-- NPC: Thank you! Here's your information. Now, get lost. I have other business to attend to.
|
|
string_id message = new string_id (c_stringFile, "s_5d7da0");
|
|
utils.removeScriptVar (player, "conversation.heraldtatooine2.branchId");
|
|
|
|
npcEndConversationWithMessage (player, message);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
//-- [NOTE]
|
|
if (heraldtatooine2_condition__defaultCondition (player, npc))
|
|
{
|
|
heraldtatooine2_action_dismiss (player, npc);
|
|
|
|
//-- NPC: I should--ugh! You don't have enough money! Get lost, you cheapskate!
|
|
string_id message = new string_id (c_stringFile, "s_e3dda380");
|
|
utils.removeScriptVar (player, "conversation.heraldtatooine2.branchId");
|
|
|
|
npcEndConversationWithMessage (player, message);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
}
|
|
|
|
return SCRIPT_DEFAULT;
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
// ======================================================================
|
|
// User Script Triggers
|
|
// ======================================================================
|
|
|
|
trigger OnInitialize ()
|
|
{
|
|
if ((!isTangible (self)) || (isPlayer (self)))
|
|
detachScript(self, "conversation.heraldtatooine2");
|
|
|
|
setCondition (self, CONDITION_CONVERSABLE);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
trigger OnAttach ()
|
|
{
|
|
setCondition (self, CONDITION_CONVERSABLE);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
trigger OnObjectMenuRequest (obj_id player, menu_info menuInfo)
|
|
{
|
|
int menu = menuInfo.addRootMenu (menu_info_types.CONVERSE_START, null);
|
|
menu_info_data menuInfoData = menuInfo.getMenuItemById (menu);
|
|
menuInfoData.setServerNotify (false);
|
|
setCondition (self, CONDITION_CONVERSABLE);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
trigger OnIncapacitated (obj_id killer)
|
|
{
|
|
clearCondition (self, CONDITION_CONVERSABLE);
|
|
detachScript (self, "conversation.heraldtatooine2");
|
|
|
|
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 (heraldtatooine2_condition__defaultCondition (player, npc))
|
|
{
|
|
heraldtatooine2_action_beckon (player, npc);
|
|
|
|
//-- NPC: Psst! Hey you! Yeah you! C'mere. You look as if you'd be suitable to join Jabba's forces. But keep your voice down. The Empire rules this place and doesn't take likely to members of the Hutt family.
|
|
string_id message = new string_id (c_stringFile, "s_13fcbd87");
|
|
int numberOfResponses = 0;
|
|
|
|
boolean hasResponse = false;
|
|
|
|
//-- PLAYER: I can already tell that I don't want to get into this mess.
|
|
boolean hasResponse0 = false;
|
|
if (heraldtatooine2_condition__defaultCondition (player, npc))
|
|
{
|
|
++numberOfResponses;
|
|
hasResponse = true;
|
|
hasResponse0 = true;
|
|
}
|
|
|
|
//-- PLAYER: Yeah, I'm interested.
|
|
boolean hasResponse1 = false;
|
|
if (heraldtatooine2_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_72ac291d");
|
|
|
|
if (hasResponse1)
|
|
responses [responseIndex++] = new string_id (c_stringFile, "s_42bcb8b6");
|
|
|
|
utils.setScriptVar (player, "conversation.heraldtatooine2.branchId", 1);
|
|
|
|
npcStartConversation (player, npc, "heraldtatooine2", message, responses);
|
|
}
|
|
else
|
|
{
|
|
chat.chat (npc, player, message);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
chat.chat (npc, "Error: All conditions for OnStartNpcConversation were false.");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
|
|
trigger OnNpcConversationResponse (string conversationId, obj_id player, string_id response)
|
|
{
|
|
if (conversationId != "heraldtatooine2")
|
|
return SCRIPT_CONTINUE;
|
|
|
|
obj_id npc = self;
|
|
|
|
int branchId = utils.getIntScriptVar (player, "conversation.heraldtatooine2.branchId");
|
|
|
|
if (branchId == 1 && heraldtatooine2_handleBranch1 (player, npc, response) == SCRIPT_CONTINUE)
|
|
return SCRIPT_CONTINUE;
|
|
|
|
if (branchId == 3 && heraldtatooine2_handleBranch3 (player, npc, response) == SCRIPT_CONTINUE)
|
|
return SCRIPT_CONTINUE;
|
|
|
|
if (branchId == 5 && heraldtatooine2_handleBranch5 (player, npc, response) == SCRIPT_CONTINUE)
|
|
return SCRIPT_CONTINUE;
|
|
|
|
if (branchId == 6 && heraldtatooine2_handleBranch6 (player, npc, response) == SCRIPT_CONTINUE)
|
|
return SCRIPT_CONTINUE;
|
|
|
|
if (branchId == 8 && heraldtatooine2_handleBranch8 (player, npc, response) == SCRIPT_CONTINUE)
|
|
return SCRIPT_CONTINUE;
|
|
|
|
if (branchId == 12 && heraldtatooine2_handleBranch12 (player, npc, response) == SCRIPT_CONTINUE)
|
|
return SCRIPT_CONTINUE;
|
|
|
|
if (branchId == 14 && heraldtatooine2_handleBranch14 (player, npc, response) == SCRIPT_CONTINUE)
|
|
return SCRIPT_CONTINUE;
|
|
|
|
if (branchId == 18 && heraldtatooine2_handleBranch18 (player, npc, response) == SCRIPT_CONTINUE)
|
|
return SCRIPT_CONTINUE;
|
|
|
|
if (branchId == 22 && heraldtatooine2_handleBranch22 (player, npc, response) == SCRIPT_CONTINUE)
|
|
return SCRIPT_CONTINUE;
|
|
|
|
if (branchId == 24 && heraldtatooine2_handleBranch24 (player, npc, response) == SCRIPT_CONTINUE)
|
|
return SCRIPT_CONTINUE;
|
|
|
|
chat.chat (npc, "Error: Fell through all branches and responses for OnNpcConversationResponse.");
|
|
|
|
utils.removeScriptVar (player, "conversation.heraldtatooine2.branchId");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
// ======================================================================
|
|
|