mirror of
https://github.com/SWG-Source/dsrc.git
synced 2026-07-31 00:15:54 -04:00
94 lines
2.2 KiB
Plaintext
94 lines
2.2 KiB
Plaintext
/**
|
|
* Copyright (c) ©2000-2002 Sony Online Entertainment Inc.
|
|
* All Rights Reserved
|
|
*
|
|
* Title: systems.beast.dna.script
|
|
* Description:
|
|
* @author jbenjamin
|
|
* @version $Revision: 1$
|
|
*/
|
|
|
|
|
|
|
|
//Script on Enzymes
|
|
include library.beast_lib;
|
|
include library.incubator
|
|
include library.utils;
|
|
|
|
//constants
|
|
const string_id SID_GOD_DNA_DATA = new string_id("incubator", "GODMODE_ADD_DATA");
|
|
const string_id SID_GOD_FIX = new string_id("incubator", "GODMODE_FIX_DATA");
|
|
|
|
|
|
trigger OnAttach()
|
|
{
|
|
messageTo(self, "handleInitializeValues", null, 1, false);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
trigger OnGetAttributes(obj_id player, string[] names, string[] attribs)
|
|
{
|
|
int idx = utils.getValidAttributeIndex(names);
|
|
if (idx == -1)
|
|
return SCRIPT_CONTINUE;
|
|
|
|
if(exists(self))
|
|
{
|
|
|
|
if(incubator.hasDnaQuality(self))
|
|
{
|
|
names[idx] = "quality";
|
|
float attrib = incubator.getDnaQuality(self);
|
|
attrib = utils.roundFloatByDecimal(attrib);
|
|
attribs[idx] = "" + attrib + "%";
|
|
idx++;
|
|
if (idx >= names.length)
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
names[idx] = "bm_template";
|
|
string template = incubator.getDnaParentCreature(self);
|
|
if(template == null || template.equals(""))
|
|
{
|
|
|
|
names[idx] = "beast_type";
|
|
int intTemplate = incubator.getDnaCreatureTemplate(self);
|
|
template = incubator.getCreatureTypeFromHashTemplateDna(self, intTemplate);
|
|
template = beast_lib.stripBmFromType(template);
|
|
}
|
|
|
|
string attrib = "";
|
|
string_id templateId = new string_id("monster_name", template);
|
|
if(localize(templateId) == null)
|
|
{
|
|
templateId = new string_id("mob/creature_names", template);
|
|
if(localize(templateId) == null && hasObjVar(self, incubator.DNA_PARENT_TEMPLATE_NAME))
|
|
{
|
|
templateId = utils.unpackString(getStringObjVar(self, incubator.DNA_PARENT_TEMPLATE_NAME));
|
|
if(localize(templateId) == null)
|
|
{
|
|
attrib = getStringObjVar(self, incubator.DNA_PARENT_TEMPLATE_NAME);
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
if(localize(templateId) != null)
|
|
attrib = localize(templateId);
|
|
|
|
attribs[idx] = "" + attrib;
|
|
idx++;
|
|
if (idx >= names.length)
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
|
|
}
|
|
messageHandler handleInitializeValues ()
|
|
{
|
|
obj_id player = utils.getContainingPlayer(self);
|
|
incubator.initializeDna(self, player);
|
|
return SCRIPT_CONTINUE;
|
|
}
|