mirror of
https://github.com/SWG-Source/dsrc.git
synced 2026-07-31 00:15:54 -04:00
95 lines
2.1 KiB
Plaintext
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;
|
|
}
|
|
|