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