internal static int GetNewTier(Item item, List <float> stats, int[] mods, int amount)
        {
            if (item.baseTier == 0 && item.originalName != "Wooden Spear")
            {
                item.baseTier = Item.LoadItem(item.originalName).tier;
            }
            //
            long total = 0;

            //damage
            for (int i = 0; i < item.damage.Length; i++)
            {
                total += item.damage[i] * 15;
            }
            //resistance
            for (int i = 0; i < item.resistance.Length; i++)
            {
                total += item.resistance[i] * 15;
            }
            //stats
            total += (item.healthBuff * 10) + item.durability
                     + item.agility + (item.staminaBuff * 5) +
                     Convert.ToInt64(item.critChance) + Convert.ToInt64(item.critMult);
            if (item.perk != null)
            {
                total += (200 * item.perk.tier) + 200;
            }
            foreach (int i in mods)
            {
                if (i == 0 || i > 4)
                {
                    total += (long)(stats[i] * 10) * amount;
                }
                else if (i > -1)
                {
                    total += (long)stats[i] * amount;
                }
            }
            //
            return(Convert.ToInt32(Linear.ALinear(total, 0.07)));
        }