How to make legenday artifacts spawn 100% of the time?

ParanoiaPhD

Well-Known Member
May 2, 2019
112
12
31
California
www.iceyou.org
Shard Name
Central USA
I've been fiddling around with LootPack.cs like a mad man... but have only seen negative impact on the amount of legendary artifact spawns... My goal is to make every single item that spawns a legendary artifact... Is that possible? If so could you help me find the code I need to mess with?
 

ParanoiaPhD

Well-Known Member
May 2, 2019
112
12
31
California
www.iceyou.org
Shard Name
Central USA
Sry for bump but I have to say that I went through this 8 years ago when I tried to make loot come out better all the time... no one helped me then and I don't see help coming now lol because I think it's impossible? I felt like I figured it out like 5 times today but nothing changes each time I test a setting literally nothing changes... I've tried literally everything in lootpack.cs and also harrower.cs and baseweapon.cs and basearmor.cs I'm using the harrower as my test mob because it's supposed to give the best loot... ive got some settings to work in loot pack where it gives no loot but that's not important... I just cant figure this out ill keep working on it until I give up... I feel like giving up that's why im venting in forum sorry
 

ParanoiaPhD

Well-Known Member
May 2, 2019
112
12
31
California
www.iceyou.org
Shard Name
Central USA
Ok so Sidle pointed me to RunicReforging.cs ! Who woulda thought loot would be controlled there... man... Anyways so! I found where to actually tweak the properties count and force items to always spawn as Legendary artifacts... This does nothing but force items to spawn with tons of properties WHICH makes them legendary artifacts (due to the total weight of all the properties)... It doesn't control how high those properties actually go that's something I will work on next.

Sloppily edited Code (Not posting the original too I don't feel like getting the original right now)
C#:
                    if (!powerful)
                    {
                        mods = Math.Max(10, GetProperties(10));

                        perchigh = Math.Max(100, Math.Min(50000, budget) / mods);
                        perclow = Math.Max(100, perchigh / 1);
                    }
                    else
                    {
                        int maxmods = Math.Max(20, Math.Min(RandomItemGenerator.MaxProps - 1, (int)Math.Ceiling((double)budget / (double)Utility.RandomMinMax(100, 140))));
                        int minmods = Math.Max(20, maxmods - 1);

                        mods = Math.Max(minmods, GetProperties(maxmods));

                        perchigh = 100;
                        perclow = Utility.RandomMinMax(100, 100);
                    }

                    if (perchigh > 100) perchigh = 100;
                    if (perclow < 100) perclow = 100;
                    if (perclow > 100) perclow = 100;
                }
 

ParanoiaPhD

Well-Known Member
May 2, 2019
112
12
31
California
www.iceyou.org
Shard Name
Central USA
C#:
        #region Tables
        #region All
        public static int[][] DexIntTable = new int[][]
        {
            new int[] { 60, 70, 80, 100, 100, 100, 100 },
            new int[] { 80, 100, 100, 100, 100, 100, 100 },
            new int[] { 100, 100, 100, 100, 100, 100, 100 },
            new int[] { 70, 100, 100, 100, 100, 100, 100 },
            new int[] { 80, 100, 100, 100, 100, 100, 100 },
            new int[] { 100, 100, 100, 100, 100, 100, 100 },
        };

        public static int[][] LowerStatReqTable = new int[][]
        {
            new int[] { 60, 70, 80, 100, 100, 100, 100 },
            new int[] { 80, 100, 100, 100, 100, 100, 100 },
            new int[] { 100, 100, 100, 100, 100, 100, 100 },
            new int[] { 70, 100, 100, 100, 100, 100, 100 },
            new int[] { 80, 100, 100, 100, 100, 100, 100 },
            new int[] { 100, 100, 100, 100, 100, 100, 100 },
        };

        public static int[][] SelfRepairTable = new int[][]
        {
            new int[] { 60, 70, 80, 100, 100, 100, 100 },
            new int[] { 80, 100, 100, 100, 100, 100, 100 },
            new int[] { 100, 100, 100, 100, 100, 100, 100 },
            new int[] { 70, 100, 100, 100, 100, 100, 100 },
            new int[] { 80, 100, 100, 100, 100, 100, 100 },
            new int[] { 100, 100, 100, 100, 100, 100, 100 },
        };

        public static int[][] DurabilityTable = new int[][]
        {
            new int[] { 60, 70, 80, 100, 100, 100, 100 },
            new int[] { 80, 100, 100, 100, 100, 100, 100 },
            new int[] { 100, 100, 100, 100, 100, 100, 100 },
            new int[] { 70, 100, 100, 100, 100, 100, 100 },
            new int[] { 80, 100, 100, 100, 100, 100, 100 },
            new int[] { 100, 100, 100, 100, 100, 100, 100 },
        };

        public static int[][] ResistTable = new int[][]
        {
            new int[] { 60, 70, 80, 100, 100, 100, 100 },
            new int[] { 80, 100, 100, 100, 100, 100, 100 },
            new int[] { 100, 100, 100, 100, 100, 100, 100 },
            new int[] { 70, 100, 100, 100, 100, 100, 100 },
            new int[] { 80, 100, 100, 100, 100, 100, 100 },
            new int[] { 100, 100, 100, 100, 100, 100, 100 },
        };

        public static int[][] EaterTable = new int[][]
        {
            new int[] { 60, 70, 80, 100, 100, 100, 100 },
            new int[] { 80, 100, 100, 100, 100, 100, 100 },
            new int[] { 100, 100, 100, 100, 100, 100, 100 },
            new int[] { 70, 100, 100, 100, 100, 100, 100 },
            new int[] { 80, 100, 100, 100, 100, 100, 100 },
            new int[] { 100, 100, 100, 100, 100, 100, 100 },
        };
        #endregion

        #region Weapon Tables
        public static int[][] ElementalDamageTable = new int[][]
        {
            new int[] { 100, 100, 100, 100, 100, 100, 100 },
            new int[] { 100, 100, 100, 100, 100, 100, 100 },
            new int[] { 100, 100, 100, 100, 100, 100, 100 },
            new int[] {  },
            new int[] { 100, 100, 100, 100, 100, 100, 100 },
            new int[] { 100, 100, 100, 100, 100, 100, 100 },
        };

        // Hit magic, area, HLA
        public static int[][] HitWeaponTable1 = new int[][]
        {
            new int[] { 30, 50, 50, 60, 70, 70, 100 },
            new int[] { 50, 60, 70, 70, 70, 70, 100 },
            new int[] { 70, 70, 70, 70, 70, 70, 100 },
            new int[] {  },
            new int[] { 50, 60, 70, 70, 70, 70, 100 },
            new int[] { 70, 70, 70, 70, 70, 70, 100 },
        };

        // hit fatigue, mana drain, HLD
        public static int[][] HitWeaponTable2 = new int[][]
        {
            new int[] { 30, 40, 50, 50, 60, 70, 100 },
            new int[] { 50, 50, 50, 60, 70, 70, 100 },
            new int[] { 50, 60, 70, 70, 70, 70, 100 },
            new int[] {  },
            new int[] { 50, 50, 50, 60, 70, 70, 100 },
            new int[] { 70, 70, 70, 70, 70, 70, 100 },
        };

        public static int[][] WeaponVelocityTable = new int[][]
        {
            new int[] { 25, 35, 40, 40, 40, 45, 100 },
            new int[] { 40, 40, 40, 45, 50, 50, 100 },
            new int[] { 40, 45, 50, 50, 50, 50, 100 },
            new int[] {  },
            new int[] { 40, 40, 40, 45, 50, 50, 100 },
            new int[] { 45, 50, 50, 50, 50, 50, 100 },
        };

        public static int[][] HitsAndManaLeechTable = new int[][]
        {
            new int[] { 15, 25, 25, 30, 35, 35, 100 },
            new int[] { 25, 25, 30, 35, 35, 35, 100 },
            new int[] { 30, 35, 35, 35, 35, 35, 100 },
            new int[] {  },
            new int[] { 25, 25, 30, 35, 35, 35, 100 },
            new int[] { 35, 35, 35, 35, 35, 35, 100 },
        };

        public static int[][] HitStamLeechTable = new int[][]
        {
            new int[] { 30, 50, 50, 60, 70, 70, 100 },
            new int[] { 50, 60, 70, 70, 70, 70, 100 },
            new int[] { 70, 70, 70, 70, 70, 70, 100 },
            new int[] {  },
            new int[] { 50, 60, 70, 70, 70, 70, 100 },
            new int[] { 70, 70, 70, 70, 70, 70, 100 },
        };

        public static int[][] LuckTable = new int[][]
        {
            new int[] { 80, 100, 100, 120, 140, 1500, 1500 },
            new int[] { 100, 120, 140, 1500, 1500, 1500, 1500 },
            new int[] { 130, 1500, 1500, 1500, 1500, 1500, 1500 },
            new int[] { 100, 120, 140, 1500, 1500, 1500, 1500 },
            new int[] { 100, 120, 140, 1500, 1500, 1500, 1500 },
            new int[] { 150, 150, 1500, 1500, 1500, 1500, 1500 },
        };

        public static int[][] MageWeaponTable = new int[][]
        {
            new int[] { 25, 20, 20, 20, 0, 0, 0 },
            new int[] { 20, 20, 20, 15, 0, 0, 0 },
            new int[] { 20, 15, 15, 15, 0, 0, 0 },
            new int[] {  },
            new int[] { 20, 20, 20, 15, 0, 0, 0 },
            new int[] { 15, 15, 15, 15, 0, 0, 0 },
        };

        public static int[][] WeaponRegenTable = new int[][]
        {
            new int[] { 2, 3, 6, 6, 10, 15, 20 },
            new int[] { 3, 6, 6, 6, 10, 15, 20 },
            new int[] { 6, 6, 6, 6, 10, 15, 20 },
            new int[] {  },
            new int[] { 3, 6, 6, 6, 10, 15, 20 },
            new int[] { 6, 9, 9, 9, 10, 15, 20 },
        };

        public static int[][] WeaponHitsTable = new int[][]
        {
            new int[] { 100, 100, 100, 100, 100, 100, 100 },
            new int[] { 100, 100, 100, 100, 100, 100, 100 },
            new int[] { 100, 100, 100, 100, 100, 100, 100 },
            new int[] {  },
            new int[] { 100, 100, 100, 100, 100, 100, 100 },
            new int[] { 100, 100, 100, 100, 100, 100, 100 },
        };

        public static int[][] WeaponStamManaLMCTable = new int[][]
        {
            new int[] { 2, 4, 4, 4, 20, 50, 100 },
            new int[] { 4, 4, 5, 5, 20, 50, 100 },
            new int[] { 5, 5, 5, 5, 20, 50, 100 },
            new int[] { },
            new int[] { 4, 4, 5, 5, 20, 50, 100 },
            new int[] { 5, 5, 5, 5, 20, 50, 100 },
        };

        public static int[][] WeaponStrTable = new int[][]
        {
            new int[] { 2, 4, 4, 4, 20, 50, 100 },
            new int[] { 4, 4, 5, 5, 20, 50, 100 },
            new int[] { 5, 5, 5, 5, 20, 50, 100 },
            new int[] {  },
            new int[] { 4, 4, 5, 5, 20, 50, 100 },
            new int[] { 5, 5, 5, 5, 20, 50, 100 },
        };

        public static int[][] WeaponHCITable = new int[][]
        {
            new int[] { 5, 10, 15, 15, 50, 70, 100 },
            new int[] { 15, 15, 15, 20, 50, 70, 100 },
            new int[] { 15, 20, 20, 20, 50, 70, 100 },
            new int[] {  },
            new int[] { 15, 15, 20, 20, 50, 70, 100 },
            new int[] { 20, 20, 20, 20, 50, 70, 100 },
        };

        public static int[][] WeaponDCITable = new int[][]
        {
            new int[] { 10, 15, 15, 15, 20, 50, 100 },
            new int[] { 15, 15, 20, 20, 20, 50, 100 },
            new int[] { 20, 20, 20, 20, 20, 50, 100 },
            new int[] {  },
            new int[] { 15, 15, 20, 20, 20, 50, 100 },
            new int[] { 20, 20, 20, 20, 20, 50, 100 },
        };

        public static int[][] WeaponDamageTable = new int[][]
        {
            new int[] { 30, 50, 50, 60, 70, 70, 100 },
            new int[] { 50, 60, 70, 70, 70, 70, 100 },
            new int[] { 70, 70, 70, 70, 70, 70, 100 },
            new int[] {  },
            new int[] { 50, 60, 70, 70, 70, 70, 100 },
            new int[] { 70, 70, 70, 70, 70, 70, 100 },
        };

        public static int[][] WeaponEnhancePots = new int[][]
        {
            new int[] { 5, 10, 15, 20, 30, 50, 100 },
            new int[] { 10, 10, 15, 20, 30, 50, 100 },
            new int[] { 10, 15, 15, 20, 30, 50, 100 },
            new int[] {  },
            new int[] { 10, 10, 15, 20, 30, 50, 100 },
            new int[] { 15, 15, 15, 20, 30, 50, 100 },
        };

        public static int[][] WeaponWeaponSpeedTable = new int[][]
        {
            new int[] { 20, 30, 30, 35, 50, 50, 100 },
            new int[] { 30, 35, 40, 40, 50, 50, 100 },
            new int[] { 35, 40, 40, 40, 50, 50, 100 },
            new int[] {  },
            new int[] { 30, 35, 40, 40, 50, 75, 100 },
            new int[] { 40, 40, 40, 40, 50, 75, 100 },
        };
        #endregion

        #region Ranged Weapons
        public static int[][] RangedLuckTable = new int[][]
        {
            new int[] { 80, 100, 100, 120, 140, 1500, 1500 },
            new int[] { 100, 120, 140, 1500, 1500, 1500, 1500 },
            new int[] { 130, 1500, 1500, 1500, 1500, 1500, 1500 },
            new int[] { 100, 120, 140, 1500, 1500, 1500, 1500 },
            new int[] { 100, 120, 140, 1500, 1500, 1500, 1500 },
            new int[] { 150, 150, 1500, 1500, 1500, 1500, 1500 },
        };

        public static int[][] RangedHCITable = new int[][]
        {
            new int[] { 5, 10, 15, 15, 50, 70, 100 },
            new int[] { 15, 15, 15, 20, 50, 70, 100 },
            new int[] { 15, 20, 20, 20, 50, 70, 100 },
            new int[] {  },
            new int[] { 15, 15, 20, 20, 50, 70, 100 },
            new int[] { 20, 20, 20, 20, 50, 70, 100 },
        };

        public static int[][] RangedDCITable = new int[][]
        {
            new int[] { 10, 15, 15, 15, 20, 50, 100 },
            new int[] { 15, 15, 20, 20, 20, 50, 100 },
            new int[] { 20, 20, 20, 20, 20, 50, 100 },
            new int[] {  },
            new int[] { 15, 15, 20, 20, 20, 50, 100 },
            new int[] { 20, 20, 20, 20, 20, 50, 100 },
        };
        #endregion

        #region Armor Tables
        public static int[][] LowerRegTable = new int[][]
        {
            new int[] { 10, 20, 20, 20, 25, 50, 100 },
            new int[] { 20, 20, 25, 25, 25, 50, 100 },
            new int[] { 25, 25, 25, 25, 25, 50, 100 },
            new int[] { 20, 20, 25, 25, 25, 50, 100 },
            new int[] { 20, 20, 25, 25, 25, 50, 100 },
            new int[] { 25, 25, 25, 25, 25, 50, 100 },
        };

        public static int[][] ArmorHitsTable = new int[][]
        {
            new int[] { 3, 5, 5, 6, 10, 20, 100 },
            new int[] { 5, 6, 7, 7, 10, 20, 100 },
            new int[] { 7, 7, 7, 7, 10, 20, 100 },
            new int[] { 5, 5, 6, 7, 10, 20, 100 },
            new int[] { 5, 6, 7, 7, 10, 20, 100 },
            new int[] { 7, 7, 7, 7, 10, 20, 100 },
        };

        public static int[][] ArmorStrTable = new int[][]
        {
            new int[] { 3, 4, 4, 10, 20, 50, 100 },
            new int[] { 4, 4, 5, 10, 20, 50, 100 },
            new int[] { 5, 5, 5, 10, 20, 50, 100 },
            new int[] { 4, 4, 5, 10, 20, 50, 100 },
            new int[] { 4, 4, 5, 10, 20, 50, 100 },
            new int[] { 5, 5, 5, 10, 20, 50, 100 },
        };

        public static int[][] ArmorRegenTable = new int[][]
        {
            new int[] { 2, 3, 3, 3, 5, 10, 20 },
            new int[] { 3, 3, 4, 4, 5, 10, 20 },
            new int[] { 4, 4, 4, 4, 5, 10, 20 },
            new int[] { 3, 3, 4, 4, 5, 10, 20 },
            new int[] { 3, 3, 4, 4, 5, 10, 20 },
            new int[] { 4, 4, 4, 4, 5, 10, 20 },
        };

        public static int[][] ArmorStamManaLMCTable = new int[][]
        {
            new int[] { 2, 4, 4, 4, 20, 50, 100 },
            new int[] { 4, 4, 5, 5, 20, 50, 100 },
            new int[] { 5, 5, 5, 5, 20, 50, 100 },
            new int[] { },
            new int[] { 4, 4, 5, 5, 20, 50, 100 },
            new int[] { 5, 5, 5, 5, 20, 50, 100 },
        };

        public static int[][] ArmorEnhancePotsTable = new int[][]
        {
            new int[] { 2, 2, 3, 3, 3, 3, 3 },
            new int[] { 3, 3, 3, 3, 3, 3, 3 },
            new int[] { 3, 3, 3, 3, 3, 3, 3 },
            new int[] { 3, 3, 3, 3, 3, 3, 3 },
            new int[] { 3, 3, 3, 3, 3, 3, 3 },
            new int[] { 3, 3, 3, 3, 3, 3, 3 },
        };

        public static int[][] ArmorHCIDCITable = new int[][]
        {
            new int[] { 4, 4, 5, 5, 5, 5, 5 },
            new int[] { 5, 5, 5, 5, 5, 5, 5 },
            new int[] { 5, 5, 5, 5, 5, 5, 5 },
            new int[] { 5, 5, 5, 5, 5, 5, 5 },
            new int[] { 5, 5, 5, 5, 5, 5, 5 },
            new int[] { 5, 5, 5, 5, 5, 5, 5 },
        };

        public static int[][] ArmorCastingFocusTable = new int[][]
        {
            new int[] { 10, 10, 10, 10, 30, 75, 100 },
            new int[] { 10, 10, 10, 10, 30, 75, 100 },
            new int[] { 10, 10, 10, 10, 30, 75, 100 },
            new int[] { 10, 10, 10, 10, 30, 75, 100 },
            new int[] { 10, 10, 10, 10, 30, 75, 100 },
            new int[] { 10, 10, 10, 10, 30, 75, 100 },
        };

        public static int[][] ShieldWeaponSpeedTable = new int[][]
        {
            new int[] { 5, 10, 15, 20, 30, 50, 100 },
            new int[] { 10, 10, 15, 20, 30, 50, 100 },
            new int[] { 10, 15, 15, 20, 30, 50, 100 },
            new int[] {  },
            new int[] { 10, 10, 15, 20, 30, 50, 100 },
            new int[] { 15, 15, 15, 20, 30, 50, 100 },
        };

        public static int[][] ShieldSoulChargeTable = new int[][]
        {
            new int[] { 15, 20, 20, 20, 25, 50, 100 },
            new int[] { 20, 20, 25, 30, 30, 50, 100 },
            new int[] { 25, 30, 30, 30, 30, 50, 100 },
            new int[] {  },
            new int[] { 20, 20, 25, 30, 30, 50, 100 },
            new int[] { 25, 30, 30, 30, 30, 50, 100 },
        };
Post automatically merged:

Loot feels awesome now.
Post automatically merged:
2019-05-10.jpg
Post automatically merged:

got that from ClockworkExodus. So now the thing that determines the quality of the loot is the fame of the spawn. I think there are 5 categories and clockwork exodus is in the highest level so... I've tried killing 20 greater shame poison elementals and the artifacts are not nearly as perfect... Sweet... Thanks Sidel for helping me with this.
 
Last edited:

ParanoiaPhD

Well-Known Member
May 2, 2019
112
12
31
California
www.iceyou.org
Shard Name
Central USA
some how imbuing.cs is also tied into the loot generation process. So you have to turn up stuff in imbuing.cs for the edit in runicreforging.cs to work.
Post automatically merged:

In imbuing.cs this line of code seams to dramatically effect loot quality.

C#:
                    from.CheckSkill(SkillName.Imbuing, difficulty - 50, difficulty + 50);
                }

                success /= 100;
I increased loot quality by setting 100 to 10 so reducing this value affects it... this is the main setting to boost loot I think

C#:
                    from.CheckSkill(SkillName.Imbuing, difficulty - 50, difficulty + 50);
                }

                success /= 10;
Post automatically merged:

ok so on a final noted the above setting will not do much unless you don't alter the following code too... So your extent of you imbuing properties affect it as well... here is the edited code that makes all the edits work together...

C#:
            m_Table[1] = new ImbuingDefinition(AosAttribute.DefendChance,             1075620, 110,    typeof(ValoriteIngot),     typeof(ValoriteIngot),     typeof(ValoriteIngot), 50, 1, 1111947, true, true, false, true, true);
            m_Table[2] = new ImbuingDefinition(AosAttribute.AttackChance,             1075616, 130,     typeof(ValoriteIngot), typeof(ValoriteIngot),     typeof(ValoriteIngot),     50, 1, 1111958, true, true, false, true, true);
            m_Table[3] = new ImbuingDefinition(AosAttribute.RegenHits,                1075627, 100,     typeof(ValoriteIngot), typeof(ValoriteIngot),   typeof(ValoriteIngot),         10, 1, 1111994, false, false, true, false, false);
            m_Table[4] = new ImbuingDefinition(AosAttribute.RegenStam,                1079411, 100,     typeof(ValoriteIngot), typeof(ValoriteIngot),         typeof(ValoriteIngot),         10, 1, 1112043, false, false, true, false, false);
            m_Table[5] = new ImbuingDefinition(AosAttribute.RegenMana,              1079410, 100,     typeof(ValoriteIngot), typeof(ValoriteIngot),     typeof(ValoriteIngot),         10, 1, 1112003, false, false, true, false, false);
            m_Table[6] = new ImbuingDefinition(AosAttribute.BonusStr,                 1079767, 110,     typeof(ValoriteIngot), typeof(ValoriteIngot),         typeof(ValoriteIngot),             50, 1, 1112044, false, false, false, false, true);
            m_Table[7] = new ImbuingDefinition(AosAttribute.BonusDex,                 1079732, 110,     typeof(ValoriteIngot), typeof(ValoriteIngot),         typeof(ValoriteIngot),         50, 1, 1111948, false, false, false, false, true);
            m_Table[8] = new ImbuingDefinition(AosAttribute.BonusInt,                 1079756, 110,     typeof(ValoriteIngot), typeof(ValoriteIngot),     typeof(ValoriteIngot),              50, 1, 1111995, false, false, false, false, true);
            m_Table[9] = new ImbuingDefinition(AosAttribute.BonusHits,                1075630, 110,     typeof(ValoriteIngot), typeof(ValoriteIngot),            typeof(ValoriteIngot),    100, 1, 1111993, false, false, true, false, false);
            m_Table[10] = new ImbuingDefinition(AosAttribute.BonusStam,             1075632, 110,     typeof(ValoriteIngot), typeof(ValoriteIngot),         typeof(ValoriteIngot),   100, 1, 1112042, false, false, true, false, false);
            m_Table[11] = new ImbuingDefinition(AosAttribute.BonusMana,               1075631, 110,     typeof(ValoriteIngot), typeof(ValoriteIngot),     typeof(ValoriteIngot),   100, 1, 1112002, false, false, true, false, false);
            m_Table[12] = new ImbuingDefinition(AosAttribute.WeaponDamage,          1079399, 100,     typeof(ValoriteIngot), typeof(ValoriteIngot),         typeof(ValoriteIngot),         100, 1, 1112005, true, true, false, false, true);
            m_Table[13] = new ImbuingDefinition(AosAttribute.WeaponSpeed,             1075629, 110,     typeof(ValoriteIngot),     typeof(ValoriteIngot),     typeof(ValoriteIngot),     100, 5, 1112045, true, true, false, false, false);
            m_Table[14] = new ImbuingDefinition(AosAttribute.SpellDamage,           1075628, 100,     typeof(ValoriteIngot), typeof(ValoriteIngot),         typeof(ValoriteIngot),         50, 1, 1112041, false, false, false, false, true);
            m_Table[15] = new ImbuingDefinition(AosAttribute.CastRecovery,          1075618, 120,     typeof(ValoriteIngot),     typeof(ValoriteIngot),         typeof(ValoriteIngot),   10, 1, 1111952, false, false, false, false, true);
            m_Table[16] = new ImbuingDefinition(AosAttribute.CastSpeed,             1075617, 140,     typeof(ValoriteIngot),  typeof(ValoriteIngot),             typeof(ValoriteIngot), 10, 1, 1111951, false, false, false, true, true);
            m_Table[17] = new ImbuingDefinition(AosAttribute.LowerManaCost,         1075621, 110,    typeof(ValoriteIngot),  typeof(ValoriteIngot),     typeof(ValoriteIngot),         50, 1, 1111996, false, false, true, false, true);
            m_Table[18] = new ImbuingDefinition(AosAttribute.LowerRegCost,          1075625, 100,    typeof(ValoriteIngot), typeof(ValoriteIngot),             typeof(ValoriteIngot),             50, 1, 1111997, false, false, true, false, true);
            m_Table[19] = new ImbuingDefinition(AosAttribute.ReflectPhysical,       1075626, 100,     typeof(ValoriteIngot), typeof(ValoriteIngot),         typeof(ValoriteIngot), 20, 1, 1112006, false, false, true, true, false);
            m_Table[20] = new ImbuingDefinition(AosAttribute.EnhancePotions,        1075624, 100,     typeof(ValoriteIngot), typeof(ValoriteIngot),         typeof(ValoriteIngot),         50, 5, 1111950, false, false, false, false, true);
            m_Table[21] = new ImbuingDefinition(AosAttribute.Luck,                     1061153, 100,     typeof(ValoriteIngot), typeof(ValoriteIngot),         typeof(ValoriteIngot),         1000, 1, 1111999, true, true, true, false, true);
            m_Table[22] = new ImbuingDefinition(AosAttribute.SpellChanneling,       1079766, 100,     typeof(ValoriteIngot), typeof(ValoriteIngot),         typeof(ValoriteIngot),    1, 0, 1112040, true, true, false, true, false);
            m_Table[23] = new ImbuingDefinition(AosAttribute.NightSight,             1015168, 50,     typeof(ValoriteIngot), typeof(ValoriteIngot),     typeof(ValoriteIngot),         1, 0, 1112004, false, false, true, false, true);

            m_Table[24] = new ImbuingDefinition(AosWeaponAttribute.LowerStatReq,    1079757, 100,     typeof(ValoriteIngot), typeof(ValoriteIngot),     typeof(ValoriteIngot),     100, 10, 1111998, true, true, true, true, false);
            m_Table[25] = new ImbuingDefinition(AosWeaponAttribute.HitLeechHits,      1079698, 110,     typeof(ValoriteIngot), typeof(ValoriteIngot),             typeof(ValoriteIngot),             100, 2, 1111964, true, true, false, false, false);
            m_Table[26] = new ImbuingDefinition(AosWeaponAttribute.HitLeechStam,    1079707, 100,     typeof(ValoriteIngot), typeof(ValoriteIngot),         typeof(ValoriteIngot),             100, 2, 1111992, true, true, false, false, false);
            m_Table[27] = new ImbuingDefinition(AosWeaponAttribute.HitLeechMana,    1079701, 110,     typeof(ValoriteIngot), typeof(ValoriteIngot),         typeof(ValoriteIngot),             100, 2, 1111967, true, true, false, false, false);
            m_Table[28] = new ImbuingDefinition(AosWeaponAttribute.HitLowerAttack,  1079699, 110,     typeof(ValoriteIngot), typeof(ValoriteIngot),        typeof(ValoriteIngot),     100, 2, 1111965, true, true, false, false, false);
            m_Table[29] = new ImbuingDefinition(AosWeaponAttribute.HitLowerDefend,  1079700, 130,     typeof(ValoriteIngot), typeof(ValoriteIngot),     typeof(ValoriteIngot),     100, 2, 1111966, true, true, false, false, false);
            m_Table[30] = new ImbuingDefinition(AosWeaponAttribute.HitPhysicalArea, 1079696, 100,     typeof(ValoriteIngot), typeof(ValoriteIngot),         typeof(ValoriteIngot),        100, 2, 1111956, true, true, false, false, false);
            m_Table[31] = new ImbuingDefinition(AosWeaponAttribute.HitFireArea,      1079695, 100,     typeof(ValoriteIngot), typeof(ValoriteIngot),             typeof(ValoriteIngot),        100, 2, 1111955, true, true, false, false, false);
            m_Table[32] = new ImbuingDefinition(AosWeaponAttribute.HitColdArea,     1079693, 100,     typeof(ValoriteIngot), typeof(ValoriteIngot),         typeof(ValoriteIngot),        100, 2, 1111953, true, true, false, false, false);
            m_Table[33] = new ImbuingDefinition(AosWeaponAttribute.HitPoisonArea,   1079697, 100,     typeof(ValoriteIngot), typeof(ValoriteIngot),         typeof(ValoriteIngot),        100, 2, 1111957, true, true, false, false, false);
            m_Table[34] = new ImbuingDefinition(AosWeaponAttribute.HitEnergyArea,      1079694, 100,     typeof(ValoriteIngot), typeof(ValoriteIngot),         typeof(ValoriteIngot),        100, 2, 1111954, true, true, false, false, false);
            m_Table[35] = new ImbuingDefinition(AosWeaponAttribute.HitMagicArrow,   1079706, 120,     typeof(ValoriteIngot),  typeof(ValoriteIngot),             typeof(ValoriteIngot),     100, 2, 1111963, true, true, false, false, false);
            m_Table[36] = new ImbuingDefinition(AosWeaponAttribute.HitHarm,         1079704, 110,    typeof(ValoriteIngot), typeof(ValoriteIngot),         typeof(ValoriteIngot),     100, 2, 1111961, true, true, false, false, false);
            m_Table[37] = new ImbuingDefinition(AosWeaponAttribute.HitFireball,      1079703, 140,    typeof(ValoriteIngot), typeof(ValoriteIngot),         typeof(ValoriteIngot),             100, 2, 1111960, true, true, false, false, false);
            m_Table[38] = new ImbuingDefinition(AosWeaponAttribute.HitLightning,    1079705, 140,     typeof(ValoriteIngot),  typeof(ValoriteIngot),         typeof(ValoriteIngot),     100, 2, 1111962, true, true, false, false, false);
            m_Table[39] = new ImbuingDefinition(AosWeaponAttribute.HitDispel,        1079702, 100,     typeof(ValoriteIngot), typeof(ValoriteIngot),             typeof(ValoriteIngot),        100, 2, 1111959, true, true, false, false, false);
            m_Table[40] = new ImbuingDefinition(AosWeaponAttribute.UseBestSkill,     1079592, 150,     typeof(ValoriteIngot), typeof(ValoriteIngot),             typeof(ValoriteIngot), 1, 0, 1111946, true, false, false, false, false);
            m_Table[41] = new ImbuingDefinition(AosWeaponAttribute.MageWeapon,        1079759, 100,     typeof(ValoriteIngot), typeof(ValoriteIngot),         typeof(ValoriteIngot),   30, 30, 1112001, true, true, false, false, false);
            m_Table[42] = new ImbuingDefinition(AosWeaponAttribute.DurabilityBonus,    1017323, 100,     typeof(ValoriteIngot), typeof(ValoriteIngot),         typeof(ValoriteIngot),       1000, 10, 1111949, true, true, false, false, false);

            m_Table[49] = new ImbuingDefinition(AosArmorAttribute.MageArmor,        1079758, 0,     typeof(ValoriteIngot), typeof(ValoriteIngot),        typeof(ValoriteIngot), 1, 0, 1112000, false, false, true, false, false);

            m_Table[51] = new ImbuingDefinition(AosElementAttribute.Physical,       1061158, 100,   typeof(ValoriteIngot), typeof(ValoriteIngot),        typeof(ValoriteIngot), 30, 1, 1112010, true, true, true, false, true);
            m_Table[52] = new ImbuingDefinition(AosElementAttribute.Fire,           1061159, 100,   typeof(ValoriteIngot), typeof(ValoriteIngot),           typeof(ValoriteIngot), 30, 1, 1112009, true, true, true, false, true);
            m_Table[53] = new ImbuingDefinition(AosElementAttribute.Cold,           1061160, 100,   typeof(ValoriteIngot), typeof(ValoriteIngot),       typeof(ValoriteIngot), 30, 1, 1112007, true, true, true, false, true);
            m_Table[54] = new ImbuingDefinition(AosElementAttribute.Poison,         1061161, 100,   typeof(ValoriteIngot), typeof(ValoriteIngot),        typeof(ValoriteIngot), 30, 1, 1112011, true, true, true, false, true);
            m_Table[55] = new ImbuingDefinition(AosElementAttribute.Energy,         1061162, 100,   typeof(ValoriteIngot), typeof(ValoriteIngot),       typeof(ValoriteIngot), 30, 1, 1112008, true, true, true, false, true);
            
            m_Table[60] = new ImbuingDefinition("WeaponVelocity",                   1080416, 130,     typeof(ValoriteIngot),  typeof(ValoriteIngot),     typeof(ValoriteIngot),   100, 2, 1112048, false, true, false, false, false);
            m_Table[61] = new ImbuingDefinition(AosAttribute.BalancedWeapon,        1072792, 150,     typeof(ValoriteIngot),  typeof(ValoriteIngot),             typeof(ValoriteIngot),     1, 0, 1112047, false, true, false, false, false);
            m_Table[62] = new ImbuingDefinition("SearingWeapon",                    1151183, 150,     null,                   null,                     null,                       1, 0, -1, true, false, false, false, false);

            m_Table[101] = new ImbuingDefinition(SlayerName.OrcSlaying,         1079741, 100,     typeof(ValoriteIngot), typeof(ValoriteIngot),            typeof(ValoriteIngot),         1, 0, 1111977, true, true);
            m_Table[102] = new ImbuingDefinition(SlayerName.TrollSlaughter,     1079754, 100,     typeof(ValoriteIngot), typeof(ValoriteIngot),            typeof(ValoriteIngot),         1, 0, 1111990, true, true);
            m_Table[103] = new ImbuingDefinition(SlayerName.OgreTrashing,       1079739, 100,     typeof(ValoriteIngot), typeof(ValoriteIngot),            typeof(ValoriteIngot),         1, 0, 1111975, true, true);
            m_Table[104] = new ImbuingDefinition(SlayerName.DragonSlaying,      1061284, 100,     typeof(ValoriteIngot), typeof(ValoriteIngot),            typeof(ValoriteIngot),         1, 0, 1111970, true, true);
            m_Table[105] = new ImbuingDefinition(SlayerName.Terathan,           1079753, 100,     typeof(ValoriteIngot), typeof(ValoriteIngot),            typeof(ValoriteIngot),         1, 0, 1111989, true, true);
            m_Table[106] = new ImbuingDefinition(SlayerName.SnakesBane,         1079744, 100,     typeof(ValoriteIngot), typeof(ValoriteIngot),            typeof(ValoriteIngot),         1, 0, 1111980, true, true);
            m_Table[107] = new ImbuingDefinition(SlayerName.LizardmanSlaughter, 1079738, 100,     typeof(ValoriteIngot), typeof(ValoriteIngot),            typeof(ValoriteIngot),         1, 0, 1111974, true, true);
            //m_Table[108] = new ImbuingDefinition(SlayerName.DaemonDismissal,       100,     typeof(MagicalResidue), typeof(Emerald),            typeof(WhitePearl), 1, 0, 1112984);  //check
            m_Table[108] = new ImbuingDefinition(SlayerName.GargoylesFoe,       1079737, 100,     typeof(ValoriteIngot), typeof(ValoriteIngot),            typeof(ValoriteIngot),         1, 0, 1111973, true, true);
            //m_Table[110] = new ImbuingDefinition(SlayerName.BalronDamnation,        100,     typeof(MagicalResidue), typeof(Emerald),            typeof(WhitePearl), 1, 0, 1112001);  //check
            m_Table[111] = new ImbuingDefinition(SlayerName.Ophidian,           1079740, 100,     typeof(ValoriteIngot), typeof(ValoriteIngot),            typeof(ValoriteIngot),         1, 0, 1111976, true, true);
            m_Table[112] = new ImbuingDefinition(SlayerName.SpidersDeath,       1079746, 100,     typeof(ValoriteIngot), typeof(ValoriteIngot),            typeof(ValoriteIngot),         1, 0, 1111982, true, true);
            m_Table[113] = new ImbuingDefinition(SlayerName.ScorpionsBane,      1079743, 100,    typeof(ValoriteIngot), typeof(ValoriteIngot),            typeof(ValoriteIngot),         1, 0, 1111979, true, true);
            m_Table[114] = new ImbuingDefinition(SlayerName.FlameDousing,       1079736, 100,    typeof(ValoriteIngot), typeof(ValoriteIngot),            typeof(ValoriteIngot),         1, 0, 1111972, true, true);
            m_Table[115] = new ImbuingDefinition(SlayerName.WaterDissipation,   1079755, 100,     typeof(ValoriteIngot), typeof(ValoriteIngot),            typeof(ValoriteIngot),         1, 0, 1111991, true, true);
            m_Table[116] = new ImbuingDefinition(SlayerName.Vacuum,             1079733, 100,     typeof(ValoriteIngot), typeof(ValoriteIngot),            typeof(ValoriteIngot),         1, 0, 1111968, true, true);
            m_Table[117] = new ImbuingDefinition(SlayerName.ElementalHealth,    1079742, 100,     typeof(ValoriteIngot), typeof(ValoriteIngot),            typeof(ValoriteIngot),         1, 0, 1111978, true, true);
            m_Table[118] = new ImbuingDefinition(SlayerName.EarthShatter,       1079735, 100,     typeof(ValoriteIngot), typeof(ValoriteIngot),            typeof(ValoriteIngot),         1, 0, 1111971, true, true);
            m_Table[119] = new ImbuingDefinition(SlayerName.BloodDrinking,      1079734, 100,     typeof(ValoriteIngot), typeof(ValoriteIngot),            typeof(ValoriteIngot),         1, 0, 1111969, true, true);
            m_Table[120] = new ImbuingDefinition(SlayerName.SummerWind,         1079745, 100,     typeof(ValoriteIngot), typeof(ValoriteIngot),            typeof(ValoriteIngot),         1, 0, 1111981, true, true);
        
            //Super Slayers
            m_Table[121] = new ImbuingDefinition(SlayerName.Silver,             1079752, 130,     typeof(ValoriteIngot),      typeof(ValoriteIngot),             typeof(ValoriteIngot),         1, 0, 1111988, true, true);
            m_Table[122] = new ImbuingDefinition(SlayerName.Repond,             1079750, 130,     typeof(ValoriteIngot),      typeof(ValoriteIngot),             typeof(ValoriteIngot),         1, 0, 1111986, true, true);
            m_Table[123] = new ImbuingDefinition(SlayerName.ReptilianDeath,     1079751, 130,   typeof(ValoriteIngot),      typeof(ValoriteIngot),           typeof(ValoriteIngot),   1, 0, 1111987, true, true);
            m_Table[124] = new ImbuingDefinition(SlayerName.Exorcism,           1079748, 130,     typeof(ValoriteIngot),      typeof(ValoriteIngot),             typeof(ValoriteIngot),         1, 0, 1111984, true, true);
            m_Table[125] = new ImbuingDefinition(SlayerName.ArachnidDoom,       1079747, 130,     typeof(ValoriteIngot),      typeof(ValoriteIngot),             typeof(ValoriteIngot),     1, 0, 1111983, true, true);
            m_Table[126] = new ImbuingDefinition(SlayerName.ElementalBan,       1079749, 130,     typeof(ValoriteIngot),      typeof(ValoriteIngot),             typeof(ValoriteIngot),         1, 0, 1111985, true, true);
            m_Table[127] = new ImbuingDefinition(SlayerName.Fey,                1154652, 130,   typeof(ValoriteIngot),      typeof(ValoriteIngot),           typeof(ValoriteIngot),           1, 0, 1154652, true, true);

            m_Table[128] = new ImbuingDefinition(SlayerName.Dinosaur,           1156240, 130, null, null, null, 1, 0, -1, true, true);
            m_Table[129] = new ImbuingDefinition(SlayerName.Myrmidex,           1156241, 130, null, null, null, 1, 0, -1, true, true);
            m_Table[130] = new ImbuingDefinition(SlayerName.Eodon,              1156126, 130, null, null, null, 1, 0, -1, true, true);
            m_Table[131] = new ImbuingDefinition(SlayerName.EodonTribe,         1156347, 130, null, null, null, 1, 0, -1, true, true);

            // Talisman Slayers
            m_Table[135] = new ImbuingDefinition(TalismanSlayerName.Bear,       1072504, 130, null, null, null, 1, 0, 0);
            m_Table[136] = new ImbuingDefinition(TalismanSlayerName.Vermin,     1072505, 130, null, null, null, 1, 0, 0);
            m_Table[137] = new ImbuingDefinition(TalismanSlayerName.Bat,        1072506, 130, null, null, null, 1, 0, 0);
            m_Table[138] = new ImbuingDefinition(TalismanSlayerName.Mage,       1072507, 130, null, null, null, 1, 0, 0);
            m_Table[139] = new ImbuingDefinition(TalismanSlayerName.Beetle,     1072508, 130, null, null, null, 1, 0, 0);
            m_Table[140] = new ImbuingDefinition(TalismanSlayerName.Bird,       1072509, 130, null, null, null, 1, 0, 0);
            m_Table[141] = new ImbuingDefinition(TalismanSlayerName.Ice,        1072510, 130, null, null, null, 1, 0, 0);
            m_Table[142] = new ImbuingDefinition(TalismanSlayerName.Flame,      1072511, 130, null, null, null, 1, 0, 0);
            m_Table[143] = new ImbuingDefinition(TalismanSlayerName.Bovine,     1072512, 130, null, null, null, 1, 0, 0);
            m_Table[144] = new ImbuingDefinition(TalismanSlayerName.Wolf,       1075462, 130, null, null, null, 1, 0, 0);
            m_Table[145] = new ImbuingDefinition(TalismanSlayerName.Undead,     1079752, 130, null, null, null, 1, 0, 0);
            m_Table[146] = new ImbuingDefinition(TalismanSlayerName.Goblin,     1095010, 130, null, null, null, 1, 0, 0);

            m_Table[151] = new ImbuingDefinition(SkillName.Fencing,                 1044102, 140,     typeof(ValoriteIngot),   typeof(ValoriteIngot),     typeof(ValoriteIngot),  1000, 1, 1112012, jewels: true);
            m_Table[152] = new ImbuingDefinition(SkillName.Macing,                 1044101, 140,     typeof(ValoriteIngot),   typeof(ValoriteIngot),     typeof(ValoriteIngot),  1000, 1, 1112013, jewels: true);
            m_Table[153] = new ImbuingDefinition(SkillName.Swords,                1044100, 140,     typeof(ValoriteIngot),   typeof(ValoriteIngot),     typeof(ValoriteIngot),  1000, 1, 1112016, jewels: true);
            m_Table[154] = new ImbuingDefinition(SkillName.Musicianship,        1044089, 140,     typeof(ValoriteIngot),   typeof(ValoriteIngot),     typeof(ValoriteIngot),  1000, 1, 1112015, jewels: true);
            m_Table[155] = new ImbuingDefinition(SkillName.Magery,                1044085, 140,     typeof(ValoriteIngot),   typeof(ValoriteIngot),     typeof(ValoriteIngot),  1000, 1, 1112014, jewels: true);
            
            m_Table[156] = new ImbuingDefinition(SkillName.Wrestling,            1044103, 140,     typeof(ValoriteIngot),   typeof(ValoriteIngot),     typeof(ValoriteIngot),  1000, 1, 1112021, jewels: true);
            m_Table[157] = new ImbuingDefinition(SkillName.AnimalTaming,         1044095, 140,     typeof(ValoriteIngot),   typeof(ValoriteIngot),     typeof(ValoriteIngot),  1000, 1, 1112017, jewels: true);
            m_Table[158] = new ImbuingDefinition(SkillName.SpiritSpeak,            1044092, 140,     typeof(ValoriteIngot),   typeof(ValoriteIngot),     typeof(ValoriteIngot),  1000, 1, 1112019, jewels: true);
            m_Table[159] = new ImbuingDefinition(SkillName.Tactics,                1044087, 140,     typeof(ValoriteIngot),   typeof(ValoriteIngot),     typeof(ValoriteIngot),  1000, 1, 1112020, jewels: true);
            m_Table[160] = new ImbuingDefinition(SkillName.Provocation,            1044082, 140,     typeof(ValoriteIngot),   typeof(ValoriteIngot),     typeof(ValoriteIngot),  1000, 1, 1112018, jewels: true);
            
            m_Table[161] = new ImbuingDefinition(SkillName.Focus,                1044110, 140,     typeof(ValoriteIngot),      typeof(ValoriteIngot),     typeof(ValoriteIngot),  1000, 1, 1112024, jewels: true);
            m_Table[162] = new ImbuingDefinition(SkillName.Parry,                 1044065, 140,     typeof(ValoriteIngot),   typeof(ValoriteIngot),     typeof(ValoriteIngot),  1000, 1, 1112026, jewels: true);
            m_Table[163] = new ImbuingDefinition(SkillName.Stealth,                1044107, 140,     typeof(ValoriteIngot),   typeof(ValoriteIngot),     typeof(ValoriteIngot),  1000, 1, 1112027, jewels: true);
            m_Table[164] = new ImbuingDefinition(SkillName.Meditation,            1044106, 140,     typeof(ValoriteIngot),   typeof(ValoriteIngot),     typeof(ValoriteIngot),  1000, 1, 1112025, jewels: true);
            m_Table[165] = new ImbuingDefinition(SkillName.AnimalLore,            1044062, 140,     typeof(ValoriteIngot),   typeof(ValoriteIngot),     typeof(ValoriteIngot),  1000, 1, 1112022, jewels: true);
            m_Table[166] = new ImbuingDefinition(SkillName.Discordance,            1044075, 140,     typeof(ValoriteIngot),   typeof(ValoriteIngot),     typeof(ValoriteIngot),  1000, 1, 1112023, jewels: true);
            
            m_Table[167] = new ImbuingDefinition(SkillName.Mysticism,            1044115, 140,     typeof(ValoriteIngot),      typeof(ValoriteIngot),     typeof(ValoriteIngot),  1000, 1, 1115213, jewels: true);
            m_Table[168] = new ImbuingDefinition(SkillName.Bushido,                1044112, 140,     typeof(ValoriteIngot),      typeof(ValoriteIngot),     typeof(ValoriteIngot),  1000, 1, 1112029, jewels: true);
            m_Table[169] = new ImbuingDefinition(SkillName.Necromancy,             1044109, 140,     typeof(ValoriteIngot),   typeof(ValoriteIngot),     typeof(ValoriteIngot),  1000, 1, 1112031, jewels: true);
            m_Table[170] = new ImbuingDefinition(SkillName.Veterinary,            1044099, 140,     typeof(ValoriteIngot),   typeof(ValoriteIngot),     typeof(ValoriteIngot),  1000, 1, 1112033, jewels: true);
            m_Table[171] = new ImbuingDefinition(SkillName.Stealing,            1044093, 140,     typeof(ValoriteIngot),   typeof(ValoriteIngot),     typeof(ValoriteIngot),  1000, 1, 1112032, jewels: true);
            m_Table[172] = new ImbuingDefinition(SkillName.EvalInt,             1044076, 140,     typeof(ValoriteIngot),   typeof(ValoriteIngot),     typeof(ValoriteIngot),  1000, 1, 1112030, jewels: true);
            m_Table[173] = new ImbuingDefinition(SkillName.Anatomy,                1044061, 140,     typeof(ValoriteIngot),   typeof(ValoriteIngot),     typeof(ValoriteIngot),  1000, 1, 1112028, jewels: true);
            
            m_Table[174] = new ImbuingDefinition(SkillName.Peacemaking,            1044069, 140,     typeof(ValoriteIngot),   typeof(ValoriteIngot),     typeof(ValoriteIngot),  1000, 1, 1112038, jewels: true);
            m_Table[175] = new ImbuingDefinition(SkillName.Ninjitsu,             1044113, 140,     typeof(ValoriteIngot),   typeof(ValoriteIngot),     typeof(ValoriteIngot),  1000, 1, 1112037, jewels: true);
            m_Table[176] = new ImbuingDefinition(SkillName.Chivalry,            1044111, 140,     typeof(ValoriteIngot),   typeof(ValoriteIngot),     typeof(ValoriteIngot),  1000, 1, 1112035, jewels: true);
            m_Table[177] = new ImbuingDefinition(SkillName.Archery,                1044091, 140,     typeof(ValoriteIngot),   typeof(ValoriteIngot),     typeof(ValoriteIngot),  1000, 1, 1112034, jewels: true);
            m_Table[178] = new ImbuingDefinition(SkillName.MagicResist,            1044086, 140,     typeof(ValoriteIngot),   typeof(ValoriteIngot),     typeof(ValoriteIngot),  1000, 1, 1112039, jewels: true);
            m_Table[179] = new ImbuingDefinition(SkillName.Healing,                1044077, 140,     typeof(ValoriteIngot),   typeof(ValoriteIngot),     typeof(ValoriteIngot),  1000, 1, 1112036, jewels: true);
            m_Table[180] = new ImbuingDefinition(SkillName.Throwing,            1044117, 140,     typeof(ValoriteIngot),   typeof(ValoriteIngot),     typeof(ValoriteIngot),  1000, 1, 1115212, jewels: true);
            
            m_Table[181] = new ImbuingDefinition(SkillName.Lumberjacking,        1002100, 140,     typeof(ValoriteIngot),   typeof(ValoriteIngot),     typeof(ValoriteIngot),  1000, 1, 1002101, jewels: true);
            m_Table[182] = new ImbuingDefinition(SkillName.Snooping,            1002138, 140,     typeof(ValoriteIngot),   typeof(ValoriteIngot),     typeof(ValoriteIngot),  1000, 1, 1002139, jewels: true);
            m_Table[183] = new ImbuingDefinition(SkillName.Mining,                1002111, 140,     typeof(ValoriteIngot),   typeof(ValoriteIngot),     typeof(ValoriteIngot),  1000, 1, 1002112, jewels: true);

            // Non-Imbuables for getting item intensity only
            m_Table[200] = new ImbuingDefinition(AosWeaponAttribute.BloodDrinker,           1017407, 140, null, null, null, 1, 1, 1152387);
            m_Table[201] = new ImbuingDefinition(AosWeaponAttribute.BattleLust,             1113710, 140, null, null, null, 1, 1, 1152385);
            m_Table[202] = new ImbuingDefinition(AosWeaponAttribute.HitCurse,               1154673, 140, null, null, null, 100, 1, 1152438);
            m_Table[203] = new ImbuingDefinition(AosWeaponAttribute.HitFatigue,             1154668, 140, null, null, null, 100, 1, 1152437);
            m_Table[204] = new ImbuingDefinition(AosWeaponAttribute.HitManaDrain,           1154669, 140, null, null, null, 100, 1, 1152436);
            m_Table[205] = new ImbuingDefinition(AosWeaponAttribute.SplinteringWeapon,      1154670, 140, null, null, null, 100, 1, 1152396);
            m_Table[206] = new ImbuingDefinition(AosWeaponAttribute.ReactiveParalyze,       1154660, 140, null, null, null, 1, 1, 1152400);

            m_Table[233] = new ImbuingDefinition(AosWeaponAttribute.ResistPhysicalBonus,    1061158, 100, typeof(ValoriteIngot), typeof(ValoriteIngot),  typeof(ValoriteIngot), 100, 1, 1112010);
            m_Table[234] = new ImbuingDefinition(AosWeaponAttribute.ResistFireBonus,        1061159, 100, typeof(ValoriteIngot), typeof(ValoriteIngot),     typeof(ValoriteIngot), 100, 1, 1112009);
            m_Table[235] = new ImbuingDefinition(AosWeaponAttribute.ResistColdBonus,        1061160, 100, typeof(ValoriteIngot), typeof(ValoriteIngot), typeof(ValoriteIngot), 100, 1, 1112007);
            m_Table[236] = new ImbuingDefinition(AosWeaponAttribute.ResistPoisonBonus,      1061161, 100, typeof(ValoriteIngot), typeof(ValoriteIngot),  typeof(ValoriteIngot), 100, 1, 1112011);
            m_Table[237] = new ImbuingDefinition(AosWeaponAttribute.ResistEnergyBonus,      1061162, 100, typeof(ValoriteIngot), typeof(ValoriteIngot), typeof(ValoriteIngot), 100, 1, 1112008);

            m_Table[208] = new ImbuingDefinition(SAAbsorptionAttribute.EaterFire,           1154662, 140, null, null, null, 100, 1, 1152390);
            m_Table[209] = new ImbuingDefinition(SAAbsorptionAttribute.EaterCold,           1154663, 140, null, null, null, 100, 1, 1152390);
            m_Table[210] = new ImbuingDefinition(SAAbsorptionAttribute.EaterPoison,         1154664, 140, null, null, null, 100, 1, 1152390);
            m_Table[211] = new ImbuingDefinition(SAAbsorptionAttribute.EaterEnergy,         1154665, 140, null, null, null, 100, 1, 1152390);
            m_Table[212] = new ImbuingDefinition(SAAbsorptionAttribute.EaterKinetic,        1154666, 140, null, null, null, 100, 1, 1152390);
            m_Table[213] = new ImbuingDefinition(SAAbsorptionAttribute.EaterDamage,         1154667, 140, null, null, null, 100, 1, 1152390);
            m_Table[214] = new ImbuingDefinition(SAAbsorptionAttribute.ResonanceFire,       1154655, 140, null, null, null, 100, 1, 1152391);
            m_Table[215] = new ImbuingDefinition(SAAbsorptionAttribute.ResonanceCold,       1154656, 140, null, null, null, 100, 1, 1152391);
            m_Table[216] = new ImbuingDefinition(SAAbsorptionAttribute.ResonancePoison,     1154657, 140, null, null, null, 100, 1, 1152391);
            m_Table[217] = new ImbuingDefinition(SAAbsorptionAttribute.ResonanceEnergy,     1154658, 140, null, null, null, 100, 1, 1152391);
            m_Table[218] = new ImbuingDefinition(SAAbsorptionAttribute.ResonanceKinetic,    1154659, 140, null, null, null, 100, 1, 1152391);

            m_Table[219] = new ImbuingDefinition(SAAbsorptionAttribute.CastingFocus,        1116535, 140, null, null, null, 100, 1, 1116535);

            m_Table[220] = new ImbuingDefinition(AosArmorAttribute.ReactiveParalyze,        1154660, 140, null, null, null, 1, 1,  1152400);
            m_Table[221] = new ImbuingDefinition(AosArmorAttribute.SoulCharge,              1116536, 140, null, null, null, 100, 1, 1152391);

            m_Table[500] = new ImbuingDefinition(AosArmorAttribute.SelfRepair,              1079709, 100, null, null, null, 100, 1,  1079709);
            m_Table[501] = new ImbuingDefinition(AosWeaponAttribute.SelfRepair,             1079709, 100, null, null, null, 100, 1,  1079709);
            //243 already used above

            m_Table[600] = new ImbuingDefinition(ExtendedWeaponAttribute.BoneBreaker,       1157318, 140, null, null, null, 1, 1,   1157319);
            m_Table[601] = new ImbuingDefinition(ExtendedWeaponAttribute.HitSwarm,          1157328, 140, null, null, null, 100, 1,   1157327);
            m_Table[602] = new ImbuingDefinition(ExtendedWeaponAttribute.HitSparks,         1157330, 140, null, null, null, 100, 1,   1157329);
Post automatically merged:

So you have to change multiple things in imbuing.cs and runicreforging.cs to get it to start happening. You have to alter you imbuing system so players will be able to imbue insane amounts of properties in order for the loot to also be insane... it's rather good system because the loot will easily be better than what you can make yourself depending on the max weight of items you can imbue.
 
Last edited:

ParanoiaPhD

Well-Known Member
May 2, 2019
112
12
31
California
www.iceyou.org
Shard Name
Central USA
Just wanna post this because I've noticed that it's so easy to screw up your settings in reunicreforging.cs and make the loot garbage again. Here is my file that I just remade today and it gets me over 90% legendary artifacts from bosses like clockworkexodus. I would like to note that I've also edited imbuing.cs which is tied into the loot generation process but im sure you could take this out of the code if you knew how so you could keep them separate. I also turnt up the number associated with all of the bosses in Randomitemgenerator.cs to 10000. So anyways here is my runicreforging.cs file and on that note there is only one thing left to do with the loot and that's to add properties to each of the classes of properties like vicious and arcane for example. To get more properties on items you have to add them to the different types of properties groups... For me I hate seeing weapons and jewelry with resistances applied so Im going to take them out and then add them to every armor property class so armor will always have max resists applied too. Good luck getting this to work!
 

Attachments