Files
dsrc/sku.0/sys.server/compiled/game/script/npc/legacy_wounded.script
T

76 lines
1.6 KiB
Plaintext

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