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