Files
dsrc/sku.0/sys.server/compiled/game/script/item/ring/base.script
T
2013-09-10 23:17:15 -07:00

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