Files
dsrc/sku.0/sys.server/compiled/game/script/item/ring/wedding.script
T

95 lines
2.1 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;
/***** INCLUDES ********************************************************/
/***** CONSTANTS *******************************************************/
const string_id SID_CANNOT_REMOVE_RING = new string_id("unity", "cannot_remove_ring");
/***** TRIGGERS ********************************************************/
trigger OnAttach()
{
detachScript(self, marriage.SCRIPT_RING_BASE);
if (hasScript(self, "item.special.nomove"))
setObjVar(self, "wasNoMove", 1);
else
attachScript(self, "item.special.nomove");
setAutoInsured(self);
setHitpoints(self, getMaxHitpoints(self));
return SCRIPT_CONTINUE;
}
trigger OnDetach()
{
attachScript(self, marriage.SCRIPT_RING_BASE);
if (!hasObjVar(self, "wasNoMove"))
detachScript(self, "item.special.nomove");
setUninsurable(self, false);
setInsured(self, true);
return SCRIPT_CONTINUE;
}
trigger OnInitialize()
{
setAutoInsured(self);
setHitpoints(self, getMaxHitpoints(self));
return SCRIPT_CONTINUE;
}
trigger OnDestroy()
{
obj_id player = utils.getContainingPlayer(self);
if ( !isIdValid(player) )
return SCRIPT_CONTINUE;
if ( marriage.isMarried(player) )
marriage.divorce(player);
return SCRIPT_CONTINUE;
}
trigger OnObjectMenuRequest(obj_id player, menu_info mi)
{
if ( utils.isNestedWithin(self, player) )
{
if ( marriage.isMarried(player) )
{
mi.addRootMenu (menu_info_types.SERVER_MENU2, marriage.MNU_DIVORCE);
}
}
return SCRIPT_CONTINUE;
}
trigger OnObjectMenuSelect(obj_id player, int item)
{
if ( item == menu_info_types.SERVER_MENU2 ) //divorce
{
if ( marriage.isMarried(player) )
marriage.divorce(player);
}
return SCRIPT_CONTINUE;
}