mirror of
https://github.com/SWG-Source/dsrc.git
synced 2026-07-31 00:15:54 -04:00
91 lines
2.6 KiB
Plaintext
91 lines
2.6 KiB
Plaintext
/**
|
|
* Copyright (c)2000-2002 Sony Online Entertainment Inc.
|
|
* All Rights Reserved
|
|
*
|
|
* Title: magic_eight_ball.script
|
|
* DesCRiption: when examined displays a special message randomly picked
|
|
* from 50 predefined messages
|
|
* @author $AutHor: Matthew Kwid$
|
|
* @version $Revision:$
|
|
*/
|
|
|
|
/***** INCLUDES ********************************************************/
|
|
|
|
include library.utils;
|
|
include library.prose;
|
|
include library.marriage;
|
|
include library.static_item;
|
|
|
|
/***** INCLUDES ********************************************************/
|
|
|
|
/***** CONSTANTS *******************************************************/
|
|
|
|
const string_id SID_ALREADY_PROPOSING = new string_id("unity", "already_proposing");
|
|
|
|
/***** TRIGGERS ********************************************************/
|
|
trigger OnObjectMenuRequest(obj_id player, menu_info mi)
|
|
{
|
|
obj_id inv = utils.getInventoryContainer(player);
|
|
if ( isIdValid(inv) && utils.isNestedWithin(self, inv) )
|
|
{
|
|
|
|
if(static_item.isStaticItem(self))
|
|
if(!static_item.canEquip(player, self) )
|
|
return SCRIPT_CONTINUE;
|
|
|
|
if ( !marriage.isMarried(player) )
|
|
{
|
|
obj_id target = getIntendedTarget(player);
|
|
if ( isIdValid(target) )
|
|
mi.addRootMenu (menu_info_types.SERVER_MENU1, marriage.MNU_PROPOSE);
|
|
}
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
trigger OnObjectMenuSelect(obj_id player, int item)
|
|
{
|
|
if ( item == menu_info_types.SERVER_MENU1 ) //propose
|
|
{
|
|
obj_id inv = utils.getInventoryContainer(player);
|
|
if ( isIdValid(inv) && utils.isNestedWithin(self, inv) )
|
|
{
|
|
obj_id target = getIntendedTarget(player);
|
|
if ( !isIdValid(target) || (target == player) )
|
|
{
|
|
sendSystemMessage(player, marriage.SID_BAD_TARGET);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
if ( utils.hasScriptVar(player, marriage.VAR_PROPOSAL_NAME) )
|
|
{
|
|
string targetName = utils.getStringScriptVar(player, marriage.VAR_PROPOSAL_NAME);
|
|
if ( targetName != null && !targetName.equals("") )
|
|
{
|
|
prose_package ppAlreadyProposing = prose.getPackage(SID_ALREADY_PROPOSING);
|
|
prose.setTT(ppAlreadyProposing, target);
|
|
sendSystemMessageProse(player, ppAlreadyProposing);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
}
|
|
|
|
if ( marriage.isMarried(player) )
|
|
{
|
|
string spouseName = getStringObjVar(player, marriage.VAR_SPOUSE_NAME);
|
|
if ( spouseName != null && !spouseName.equals("") )
|
|
{
|
|
prose_package ppAlreadyMarried = prose.getPackage(marriage.PROSE_ALREADY_MARRIED, spouseName);
|
|
sendSystemMessageProse(player, ppAlreadyMarried);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
}
|
|
|
|
marriage.propose(player, target, self);
|
|
}
|
|
}
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
|