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