Files
dsrc/sku.0/sys.server/compiled/game/script/systems/beast/beast_dye.script
T

69 lines
1.6 KiB
Plaintext

include library.hue;
include library.utils;
include library.beast_lib;
include library.static_item;
include library.sui;
/***** CONSTANTS ****************************************************/
const string_id SID_DYE_BEAST = new string_id("beast", "menu_dye");
/***** TRIGGERS *****************************************************/
trigger OnObjectMenuRequest(obj_id player, menu_info mi)
{
if(!utils.isNestedWithin(self, player))
return SCRIPT_CONTINUE;
int management_root = mi.addRootMenu (menu_info_types.ITEM_USE, SID_DYE_BEAST);
return SCRIPT_CONTINUE;
}
trigger OnObjectMenuSelect(obj_id player, int item)
{
if(!utils.isNestedWithin(self, player))
return SCRIPT_CONTINUE;
if(item == menu_info_types.ITEM_USE)
{
obj_id beast = beast_lib.getBeastOnPlayer(player);
if(!isIdValid(beast))
{
sendSystemMessage(player, beast_lib.SID_NO_BEAST);
return SCRIPT_CONTINUE;
}
if(isDead(beast))
{
sendSystemMessage(player, new string_id("beast", "beast_cant_when_dead"));
return SCRIPT_CONTINUE;
}
ranged_int_custom_var[] palColors = hue.getPalcolorVars(beast);
if(palColors == null || palColors.length == 0)
{
return SCRIPT_CONTINUE;
}
string [] palettes = {"", "", "", ""};
for(int i = 0; i < palColors.length; i++)
{
ranged_int_custom_var ri = palColors[i];
string customizationVar = ri.getVarName();
if(customizationVar.startsWith("/"))
palettes[i] = customizationVar;
}
utils.setScriptVar(beast, "beast.tool_oid", self);
openCustomizationWindow(player, beast, palettes[0], -1, -1, palettes[1], -1, -1, palettes[2], -1, -1, palettes[3], -1, -1);
}
return SCRIPT_CONTINUE;
}