//::///////////////////////////////////////////////
//:: Dye Kit - Dye Item
//:: dye_dyeitem.nss
//:: Copyright (c) 2003 Jake E. Fitch
//:://////////////////////////////////////////////
/*
    Dye the item.
*/
//:://////////////////////////////////////////////
//:: Created By: Jake E. Fitch (Milambus Mandragon)
//:: Created On: Jan. 10, 2004
//:://////////////////////////////////////////////
void main()
{
    object oPC = OBJECT_SELF;
    object oChest = GetObjectByTag("ClothingBuilder");

    int iItemToDye = GetLocalInt(oPC, "ItemToDye");
    int iMaterialToDye = GetLocalInt(oPC, "MaterialToDye");
    int iColorGroup = GetLocalInt(oPC, "ColorGroup");
    int iColorToDye = GetLocalInt(oPC, "ColorToDye");

    int iColor = (iColorGroup * 8) + iColorToDye;
    object oItem = GetItemInSlot(iItemToDye, oPC);

    if (GetIsObjectValid(oItem)) {
        // Set armor to being edited
        SetLocalInt(oItem, "mil_EditingItem", TRUE);

        // Copy item to the chest
        object oInChest = CopyItem(oItem, oChest, TRUE);
        DestroyObject(oItem);

        // Dye the item
        object oDyedItem = CopyItemAndModify(oInChest, ITEM_APPR_TYPE_ARMOR_COLOR, iMaterialToDye, iColor, TRUE);
        DestroyObject(oInChest);

        // Copy the armor back to the PC
        object oOnPC = CopyItem(oDyedItem, oPC, TRUE);
        DestroyObject(oDyedItem);

        // Equip the armor
       DelayCommand(0.5f, AssignCommand(oPC, ActionEquipItem(oOnPC, iItemToDye)));

       // Set armor editable again
       DelayCommand(3.0f, DeleteLocalInt(oOnPC, "mil_EditingItem"));
    }
}