//::////////////////////////////////////////////// // Common Loot Generator Script // Created By: Scott Milliorn // Module - A Carpathian Nightmare // Date: June 13th, 2018 // // Additional help with donation of code from Dorrian of Trials of Newcastle // // If any code is used from this script please give credit to both - // Milliorn of A Carpathian Nightmare // Dorrian of Trials of Newcastle //::////////////////////////////////////////////// #include "prc_x2_itemprop" //:: Randomize the color of Weapons. void ColorWeapon(object oItem, int iBottom, int iMiddle ,int iTop, object oPC); //:: Randomize the color of Armor. (By Dorrian & Milliorn) void ColorArmor(object oItem, int cloth1, int cloth2, int leather1, int leather2, int metal1, int metal2, object oPC); //:: Randomize the appearance of Rings, Amulets & Belts. void ChangeRingAmuBelt(object oItem, int appearance, object oPC); //:: Random Weapon parts. void ChangeWeaponAppearance(object oItem, int iBottom, int iMiddle ,int iTop, int iBottomC, int iMiddleC ,int iTopC, object oPC); //:: Random Helm & Cloak color and/or appearance. void ColorHelmClk(object oItem, int cloth1, int cloth2, int leather1, int leather2, int metal1, int metal2, int appearance, object oPC); //:: Random Armor parts. void ChangeArmor(object oItem, int iRandomShoulder, int iRandomBicep, int iRandomForearm, int iRandomHand, int iRandomThigh, int iRandomShins, int iRandomFeet, int iRandomPelvis, int iRandomBelt, int iRandomNeck, int iRandomChest, int cloth1, int cloth2, int leather1, int leather2, int metal1, int metal2, object oPC); void ChangeArmor(object oItem, int iRandomShoulder, int iRandomBicep, int iRandomForearm, int iRandomHand, int iRandomThigh, int iRandomShins, int iRandomFeet, int iRandomPelvis, int iRandomBelt, int iRandomNeck, int iRandomChest, int cloth1, int cloth2, int leather1, int leather2, int metal1, int metal2, object oPC) { object oCopyBox = GetObjectByTag("LOOT_GENERATOR"); object oCopy = CopyItem(oItem,oCopyBox, TRUE); DestroyObject(oItem); // remove old item object oCopy1 = CopyItemAndModify(oCopy, ITEM_APPR_TYPE_ARMOR_MODEL, ITEM_APPR_ARMOR_MODEL_RFOOT, iRandomFeet, TRUE); DestroyObject(oCopy); // remove old item object oCopy2 = CopyItemAndModify(oCopy1, ITEM_APPR_TYPE_ARMOR_MODEL, ITEM_APPR_ARMOR_MODEL_LFOOT, iRandomFeet, TRUE); DestroyObject(oCopy1); // remove old item object oCopy3 = CopyItemAndModify(oCopy2, ITEM_APPR_TYPE_ARMOR_MODEL, ITEM_APPR_ARMOR_MODEL_RSHIN, iRandomShins, TRUE); DestroyObject(oCopy2); // remove old item object oCopy4 = CopyItemAndModify(oCopy3, ITEM_APPR_TYPE_ARMOR_MODEL, ITEM_APPR_ARMOR_MODEL_LSHIN, iRandomShins, TRUE); DestroyObject(oCopy3); // remove old item object oCopy5 = CopyItemAndModify(oCopy4, ITEM_APPR_TYPE_ARMOR_MODEL, ITEM_APPR_ARMOR_MODEL_LTHIGH, iRandomThigh, TRUE); DestroyObject(oCopy4); // remove old item object oCopy6 = CopyItemAndModify(oCopy5, ITEM_APPR_TYPE_ARMOR_MODEL, ITEM_APPR_ARMOR_MODEL_RTHIGH, iRandomThigh, TRUE); DestroyObject(oCopy5); // remove old item object oCopy7 = CopyItemAndModify(oCopy6, ITEM_APPR_TYPE_ARMOR_MODEL, ITEM_APPR_ARMOR_MODEL_PELVIS, iRandomPelvis, TRUE); DestroyObject(oCopy6); // remove old item object oCopy8 = CopyItemAndModify(oCopy7, ITEM_APPR_TYPE_ARMOR_MODEL, ITEM_APPR_ARMOR_MODEL_TORSO, iRandomChest, TRUE); DestroyObject(oCopy7); // remove old item object oCopy9 = CopyItemAndModify(oCopy8, ITEM_APPR_TYPE_ARMOR_MODEL, ITEM_APPR_ARMOR_MODEL_BELT, iRandomBelt, TRUE); DestroyObject(oCopy8); // remove old item object oCopy10 = CopyItemAndModify(oCopy9, ITEM_APPR_TYPE_ARMOR_MODEL, ITEM_APPR_ARMOR_MODEL_NECK, iRandomNeck, TRUE); DestroyObject(oCopy9); // remove old item object oCopy11 = CopyItemAndModify(oCopy10, ITEM_APPR_TYPE_ARMOR_MODEL, ITEM_APPR_ARMOR_MODEL_RFOREARM, iRandomForearm, TRUE); DestroyObject(oCopy10); // remove old item object oCopy12 = CopyItemAndModify(oCopy11, ITEM_APPR_TYPE_ARMOR_MODEL, ITEM_APPR_ARMOR_MODEL_LFOREARM, iRandomForearm, TRUE); DestroyObject(oCopy11); // remove old item object oCopy13 = CopyItemAndModify(oCopy12, ITEM_APPR_TYPE_ARMOR_MODEL, ITEM_APPR_ARMOR_MODEL_RBICEP, iRandomBicep, TRUE); DestroyObject(oCopy12); // remove old item object oCopy14 = CopyItemAndModify(oCopy13, ITEM_APPR_TYPE_ARMOR_MODEL, ITEM_APPR_ARMOR_MODEL_LBICEP, iRandomBicep, TRUE); DestroyObject(oCopy13); // remove old item object oCopy15 = CopyItemAndModify(oCopy14, ITEM_APPR_TYPE_ARMOR_MODEL, ITEM_APPR_ARMOR_MODEL_RSHOULDER, iRandomShoulder, TRUE); DestroyObject(oCopy14); // remove old item object oCopy16 = CopyItemAndModify(oCopy15, ITEM_APPR_TYPE_ARMOR_MODEL, ITEM_APPR_ARMOR_MODEL_LSHOULDER, iRandomShoulder, TRUE); DestroyObject(oCopy15); // remove old item object oCopy17 = CopyItemAndModify(oCopy16, ITEM_APPR_TYPE_ARMOR_MODEL, ITEM_APPR_ARMOR_MODEL_RHAND, iRandomHand, TRUE); DestroyObject(oCopy16); // remove old item object oCopy18 = CopyItemAndModify(oCopy17, ITEM_APPR_TYPE_ARMOR_MODEL, ITEM_APPR_ARMOR_MODEL_LHAND, iRandomHand, TRUE); DestroyObject(oCopy17); // remove old item object oCopy19 = CopyItemAndModify(oCopy18, ITEM_APPR_TYPE_ARMOR_COLOR, ITEM_APPR_ARMOR_COLOR_CLOTH1, cloth1, TRUE); DestroyObject(oCopy18); // remove old item object oCopy20 = CopyItemAndModify(oCopy19, ITEM_APPR_TYPE_ARMOR_COLOR, ITEM_APPR_ARMOR_COLOR_CLOTH2, cloth2, TRUE); DestroyObject(oCopy19); // remove old item object oCopy21 = CopyItemAndModify(oCopy20, ITEM_APPR_TYPE_ARMOR_COLOR, ITEM_APPR_ARMOR_COLOR_LEATHER1, leather1, TRUE); DestroyObject(oCopy20); // remove old item object oCopy22 = CopyItemAndModify(oCopy21, ITEM_APPR_TYPE_ARMOR_COLOR, ITEM_APPR_ARMOR_COLOR_LEATHER2, leather2, TRUE); DestroyObject(oCopy21); // remove old item object oCopy23 = CopyItemAndModify(oCopy22, ITEM_APPR_TYPE_ARMOR_COLOR, ITEM_APPR_ARMOR_COLOR_METAL1, metal1, TRUE); DestroyObject(oCopy22); // remove old item object oCopy24 = CopyItemAndModify(oCopy23, ITEM_APPR_TYPE_ARMOR_COLOR, ITEM_APPR_ARMOR_COLOR_METAL2, metal2, TRUE); DestroyObject(oCopy23); // remove old item object oCopy25 = CopyItem(oCopy24,oPC, TRUE); DestroyObject(oCopy24); // remove old item } void ColorArmor(object oItem, int cloth1, int cloth2, int leather1, int leather2, int metal1, int metal2, object oPC) { object oCopyBox = GetObjectByTag("LOOT_GENERATOR"); object oCopy = CopyItem(oItem,oCopyBox, TRUE); DestroyObject(oItem); // remove old item object oCopy1 = CopyItemAndModify(oCopy, ITEM_APPR_TYPE_ARMOR_COLOR, ITEM_APPR_ARMOR_COLOR_CLOTH1, cloth1, TRUE); DestroyObject(oCopy); // remove old item object oCopy2 = CopyItemAndModify(oCopy1, ITEM_APPR_TYPE_ARMOR_COLOR, ITEM_APPR_ARMOR_COLOR_CLOTH2, cloth2, TRUE); DestroyObject(oCopy1); // remove old item object oCopy3 = CopyItemAndModify(oCopy2, ITEM_APPR_TYPE_ARMOR_COLOR, ITEM_APPR_ARMOR_COLOR_LEATHER1, leather1, TRUE); DestroyObject(oCopy2); // remove old item object oCopy4 = CopyItemAndModify(oCopy3, ITEM_APPR_TYPE_ARMOR_COLOR, ITEM_APPR_ARMOR_COLOR_LEATHER2, leather2, TRUE); DestroyObject(oCopy3); // remove old item object oCopy5 = CopyItemAndModify(oCopy4, ITEM_APPR_TYPE_ARMOR_COLOR, ITEM_APPR_ARMOR_COLOR_METAL1, metal1, TRUE); DestroyObject(oCopy4); // remove old item object oCopy6 = CopyItemAndModify(oCopy5, ITEM_APPR_TYPE_ARMOR_COLOR, ITEM_APPR_ARMOR_COLOR_METAL2, metal2, TRUE); DestroyObject(oCopy5); // remove old item object oCopy7 = CopyItem(oCopy6,oPC, TRUE); DestroyObject(oCopy6); // remove old item } void ColorHelmClk(object oItem, int cloth1, int cloth2, int leather1, int leather2, int metal1, int metal2, int appearance, object oPC) { object oCopyBox = GetObjectByTag("LOOT_GENERATOR"); object oCopy = CopyItem(oItem,oCopyBox, TRUE); DestroyObject(oItem); // remove old item object oCopy1 = CopyItemAndModify(oCopy, ITEM_APPR_TYPE_ARMOR_COLOR, ITEM_APPR_ARMOR_COLOR_CLOTH1, cloth1, TRUE); DestroyObject(oCopy); // remove old item object oCopy2 = CopyItemAndModify(oCopy1, ITEM_APPR_TYPE_ARMOR_COLOR, ITEM_APPR_ARMOR_COLOR_CLOTH2, cloth2, TRUE); DestroyObject(oCopy1); // remove old item object oCopy3 = CopyItemAndModify(oCopy2, ITEM_APPR_TYPE_ARMOR_COLOR, ITEM_APPR_ARMOR_COLOR_LEATHER1, leather1, TRUE); DestroyObject(oCopy2); // remove old item object oCopy4 = CopyItemAndModify(oCopy3, ITEM_APPR_TYPE_ARMOR_COLOR, ITEM_APPR_ARMOR_COLOR_LEATHER2, leather2, TRUE); DestroyObject(oCopy3); // remove old item object oCopy5 = CopyItemAndModify(oCopy4, ITEM_APPR_TYPE_ARMOR_COLOR, ITEM_APPR_ARMOR_COLOR_METAL1, metal1, TRUE); DestroyObject(oCopy4); // remove old item object oCopy6 = CopyItemAndModify(oCopy5, ITEM_APPR_TYPE_ARMOR_COLOR, ITEM_APPR_ARMOR_COLOR_METAL2, metal2, TRUE); DestroyObject(oCopy5); // remove old item object oCopy7 = CopyItemAndModify(oCopy6, ITEM_APPR_TYPE_SIMPLE_MODEL, 0, appearance, TRUE); DestroyObject(oCopy6); // remove old item object oCopy8 = CopyItem(oCopy7,oPC, TRUE); DestroyObject(oCopy7); // remove old item } void ChangeRingAmuBelt(object oItem, int appearance, object oPC) { object oCopyBox = GetObjectByTag("LOOT_GENERATOR"); object oCopy = CopyItem(oItem,oCopyBox, TRUE); DestroyObject(oItem); // remove old item object oCopy1 = CopyItemAndModify(oCopy, ITEM_APPR_TYPE_SIMPLE_MODEL, 0, appearance, TRUE); DestroyObject(oCopy); // remove old item object oCopy2 = CopyItem(oCopy1,oPC, TRUE); DestroyObject(oCopy1); // remove old item } void ChangeWeaponAppearance(object oItem, int iBottom, int iMiddle ,int iTop, int iBottomC, int iMiddleC, int iTopC, object oPC) { object oCopyBox = GetObjectByTag("LOOT_GENERATOR"); object oCopy = CopyItem(oItem,oCopyBox, TRUE); DestroyObject(oItem); // remove old item object oCopy1 = CopyItemAndModify(oCopy, ITEM_APPR_TYPE_WEAPON_MODEL, ITEM_APPR_WEAPON_MODEL_BOTTOM, iBottom, TRUE); DestroyObject(oCopy); // remove old item object oCopy2 = CopyItemAndModify(oCopy1, ITEM_APPR_TYPE_WEAPON_MODEL, ITEM_APPR_WEAPON_MODEL_MIDDLE, iMiddle, TRUE); DestroyObject(oCopy1); // remove old item object oCopy3 = CopyItemAndModify(oCopy2, ITEM_APPR_TYPE_WEAPON_MODEL, ITEM_APPR_WEAPON_MODEL_TOP, iTop, TRUE); DestroyObject(oCopy2); // remove old item object oCopy4 = CopyItemAndModify(oCopy3, ITEM_APPR_TYPE_WEAPON_COLOR, ITEM_APPR_WEAPON_COLOR_BOTTOM, iBottomC, TRUE); DestroyObject(oCopy3); // remove old item object oCopy5 = CopyItemAndModify(oCopy4, ITEM_APPR_TYPE_WEAPON_COLOR, ITEM_APPR_WEAPON_COLOR_MIDDLE, iMiddleC, TRUE); DestroyObject(oCopy4); // remove old item object oCopy6 = CopyItemAndModify(oCopy5, ITEM_APPR_TYPE_WEAPON_COLOR, ITEM_APPR_WEAPON_COLOR_TOP, iTopC, TRUE); DestroyObject(oCopy5); // remove old item object oCopy7 = CopyItem(oCopy6,oPC, TRUE); DestroyObject(oCopy6); // remove old item } void ColorWeapon(object oItem, int iBottom, int iMiddle ,int iTop, object oPC) { object oCopyBox = GetObjectByTag("LOOT_GENERATOR"); object oCopy = CopyItem(oItem,oCopyBox, TRUE); DestroyObject(oItem); // remove old item object oCopy1 = CopyItemAndModify(oCopy, ITEM_APPR_TYPE_WEAPON_COLOR, ITEM_APPR_WEAPON_COLOR_BOTTOM, iBottom, TRUE); DestroyObject(oCopy); // remove old item object oCopy2 = CopyItemAndModify(oCopy1, ITEM_APPR_TYPE_WEAPON_COLOR, ITEM_APPR_WEAPON_COLOR_MIDDLE, iMiddle, TRUE); DestroyObject(oCopy1); // remove old item object oCopy3 = CopyItemAndModify(oCopy2, ITEM_APPR_TYPE_WEAPON_COLOR, ITEM_APPR_WEAPON_COLOR_TOP, iTop, TRUE); DestroyObject(oCopy2); // remove old item object oCopy4 = CopyItem(oCopy3,oPC, TRUE); DestroyObject(oCopy3); // remove old item } //::void main () {}