/********************************************************************** * Copyright (c)2000-2002 Sony Online Entertainment Inc. * All Rights Reserved * * Title: * Description: <description> * @author $Author:$ * @version $Revision:$ **********************************************************************/ /***** INCLUDES ********************************************************/ include library.ai_lib; include library.chat; include library.utils; include library.prose; /***** CONSTANTS *******************************************************/ const string PP_FILE_LOC = "quest/legacy/legacy_wounded"; const string RESPONSE_TEXT = "datatables/npc/legacy/legacy_lamentations.iff"; int INITIAL_DELAY = 10; /***** TRIGGERS ********************************************************/ trigger OnAttach() { if (hasScript(self, "ai.ai")) { detachScript(self, "ai.ai"); } if (hasScript(self, "ai.creature_combat")) { detachScript(self, "ai.creature_combat"); } if (hasScript(self, "systems.combat.credit_for_kills")) { detachScript(self, "systems.combat.credit_for_kills"); } if (hasScript(self, "systems.combat.combat_actions")) { detachScript(self, "systems.combat.combat_actions"); } setPosture( self, POSTURE_KNOCKED_DOWN ); messageTo (self, "legLam", null, INITIAL_DELAY, false); return SCRIPT_CONTINUE; } /***** MESSAGEHANDLERS *************************************************/ messageHandler legLam() { int randMoan = rand(0, 9); chat.publicChat(self, null, null, null, getRandLamentation(self, randMoan)); int randMsg = rand(90, 300); messageTo (self, "legLam", null, randMsg, false); return SCRIPT_CONTINUE; } /***** COMMANDHANDLERS *************************************************/ /***** FUNCTIONS *******************************************************/ prose_package getRandLamentation(obj_id target, int moanRow) { string_id response = new string_id(PP_FILE_LOC, utils.dataTableGetString(RESPONSE_TEXT, moanRow, 1)); prose_package pp = prose.getPackage(response, target); return pp; }