Beispiel #1
0
        private static int CompareMinerals(Ore x, Ore y)
        {
            if (x == null)
            {
                if (y == null)
                    return 0;
                else
                    return -1;
            }
            else
            {
                if (y == null)
                    return 1;
                else
                {
                    float xDiv = Properties.Settings.Default.compressed ? x.compressed : x.uncompressed;
                    float yDiv = Properties.Settings.Default.compressed ? y.compressed : y.uncompressed;

                    float xVal = ((float)x[mineralCompareIndex] / xDiv);
                    float yVal = ((float)y[mineralCompareIndex] / yDiv);
                    bool retVal = xVal < yVal;

                    if (retVal)
                        return 1;
                    else
                        return -1;
                }
            }
        }
Beispiel #2
0
        private void LoadRegions()
        {
            newOre = new Ore();
            string[] lines = EVE_Manufact.Properties.Resources.regions.Split(new char[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries);
            List<RegionDef> sortList = new List<RegionDef>();

            for (int x = 0; x < lines.Length; x++)
            {
                string[] parts = lines[x].Split(new char[] { '\t' }, StringSplitOptions.None);

                for (int i = 0; i < parts.Length; i++)
                {
                    if (parts[i] == "")
                        parts[i] = "0";
                }

                if (!parts[0].Contains("//"))
                {
                    RegionDef region = new RegionDef();
                    region.name = parts[1];
                    region.typeID = parts[0];
                    sortList.Add(region);
                }
            }
            sortList.Sort(CompareRegions);
            object[] copyList = sortList.Cast<object>().ToArray<object>();
            comboRegions.Items.AddRange(copyList);
        }
Beispiel #3
0
        private void LoadOreList()
        {
            newOre = new Ore();
            string[] lines = EVE_Manufact.Properties.Resources.minerals.Split(new char[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries);

            int oreCounter = 0;

            for (int x = 0; x < lines.Length; x++)
            {
                string[] parts = lines[x].Split(new char[] { '\t' }, StringSplitOptions.None);

                for (int i = 0; i < parts.Length; i++)
                {
                    if (parts[i] == "")
                        parts[i] = "0";
                }

                if (!parts[0].Contains("//"))
                {
                    if (parts[0].Contains("+5%"))
                    {
                        newOre.FivePercentName = parts[0];
                        newOre.fivePercentID = parts[12];
                        newOre.compressedFivePercentID = parts[13];
                    }
                    else if (parts[0].Contains("+10%"))
                    {
                        newOre.TenPercentName = parts[0];
                        newOre.tenPercentID = parts[12];
                        newOre.compressedTenPercentID = parts[13];

                        allOres[oreCounter] = newOre;
                        oreCounter++;
                    }
                    else
                    {
                        newOre = new Ore();

                        newOre.name = parts[0];

                        newOre.uncompressed = Convert.ToSingle(parts[1]);
                        newOre.compressed = Convert.ToSingle(parts[2]);

                        newOre.trit = Convert.ToInt32(parts[3]);
                        newOre.pyer = Convert.ToInt32(parts[4]);
                        newOre.mex = Convert.ToInt32(parts[5]);
                        newOre.iso = Convert.ToInt32(parts[6]);
                        newOre.nocx = Convert.ToInt32(parts[7]);
                        newOre.mega = Convert.ToInt32(parts[8]);
                        newOre.zyd = Convert.ToInt32(parts[9]);
                        newOre.morph = Convert.ToInt32(parts[10]);

                        newOre.location = parts[11];
                        newOre.baseID = parts[12];
                        newOre.compressedBaseID = parts[13];
                        newOre.skillID = parts[14];
                    }
                }
            }
        }
Beispiel #4
0
        private int GetExtraMinerals(OreValue ore, Ore.Minerals min)
        {
            int reproLvl = Properties.Settings.Default.repro;
            int reproEffLvl = Properties.Settings.Default.reproEff;
            decimal baseRepro = Properties.Settings.Default.baseRepro;
            bool comp = Properties.Settings.Default.compressed;
            Ore selectedOre = ore.baseOre;
            string name = ore.name;
            int qty = ore.qty;

            List<OreValue> selectedOres = new List<OreValue>();

            decimal multiplier;
            decimal reproAbility = (baseRepro *
                (1.0m + (reproLvl * 0.03m) *
                (1.0m + (reproEffLvl * 0.02m)) *
                (1.0m + (selectedOre.Reprocess * 0.02m)))) / 100;
            decimal taxes = (100m - (decimal)Properties.Settings.Default.taxes) / 100m;
            int quantityMod = comp ? 1 : 100;

            if (name.Contains("10%"))
            {
                //========================================================== 10% Ore
                multiplier = (decimal)selectedOre[(int)min] * 1.10m;
                multiplier *= reproAbility;
                multiplier *= taxes;
                if (multiplier != 0)
                {
                    decimal mineralCount = qty * multiplier;
                    return Convert.ToInt32(mineralCount);
                }
            }
            else if (name.Contains("5%"))
            {
                //========================================================== 5% Ore
                multiplier = (decimal)selectedOre[(int)min] * 1.05m;
                multiplier *= reproAbility;
                multiplier *= taxes;
                if (multiplier != 0)
                {
                    decimal mineralCount = qty * multiplier;
                    return Convert.ToInt32(mineralCount);
                }
            }
            else
            {
                //========================================================== Base Ore
                multiplier = (decimal)selectedOre[(int)min] * 1.00m;
                multiplier *= reproAbility;
                multiplier *= taxes;
                if (multiplier != 0)
                {
                    decimal mineralCount = qty * multiplier;
                    return Convert.ToInt32(mineralCount);
                }
            }

            return 0;
        }
Beispiel #5
0
        private List<OreValue> CheckMinerals(Ore.Minerals min, decimal requirement)
        {
            int reproLvl = Properties.Settings.Default.repro;
            int reproEffLvl = Properties.Settings.Default.reproEff;
            decimal baseRepro = Properties.Settings.Default.baseRepro;
            bool comp = Properties.Settings.Default.compressed;

            List<OreValue> selectedOres = new List<OreValue>();
            if (requirement > 0 && allSortedOres.Count > 0)
            {
                foreach (Ore item in allSortedOres[(int)min])
                {
                    int val;
                    decimal prelim;
                    decimal multiplier;
                    decimal reproAbility = (baseRepro *
                        (1.0m + (reproLvl * 0.03m) *
                        (1.0m + (reproEffLvl * 0.02m)) *
                        (1.0m + (item.Reprocess * 0.02m)))) / 100;
                    decimal taxes = (100m - (decimal)Properties.Settings.Default.taxes) / 100m;
                    int quantityMod = comp ? 1 : 100;

                    //========================================================== 10% Ore
                    multiplier = (decimal)item[(int)min] * 1.10m;
                    multiplier *= reproAbility;
                    multiplier *= taxes;
                    if (multiplier != 0)
                    {
                        prelim = (requirement / multiplier);
                        val = Convert.ToInt32(prelim + 0.5m);
                        val *= quantityMod;

                        OreValue ten = new OreValue();
                        ten.name = item.TenPercentName;
                        ten.qty = val;
                        ten.value = (decimal)val * item.TenPercentPrice;
                        ten.baseOre = item;

                        selectedOres.Add(ten);
                    }

                    //========================================================== 5% Ore
                    multiplier = (decimal)item[(int)min] * 1.05m;
                    multiplier *= reproAbility;
                    multiplier *= taxes;
                    if (multiplier != 0)
                    {
                        prelim = (requirement / multiplier);
                        val = Convert.ToInt32(prelim + 0.5m);
                        val *= quantityMod;

                        OreValue five = new OreValue();
                        five.name = item.FivePercentName;
                        five.qty = val;
                        five.value = (decimal)val * item.FivePrecentPrice;
                        five.baseOre = item;

                        selectedOres.Add(five);
                    }

                    //========================================================== Base Ore
                    multiplier = (decimal)item[(int)min] * 1.00m;
                    multiplier *= reproAbility;
                    multiplier *= taxes;
                    if (multiplier != 0)
                    {
                        prelim = (requirement / multiplier);
                        val = Convert.ToInt32(prelim + 0.5m);
                        val *= quantityMod;

                        OreValue baseOre = new OreValue();
                        baseOre.name = item.name;
                        baseOre.qty = val;
                        baseOre.value = (decimal)val * item.BasePrice;
                        baseOre.baseOre = item;

                        selectedOres.Add(baseOre);
                    }
                }

                selectedOres.Sort(CompareValue);
            }

            return selectedOres;
        }
Beispiel #6
0
 public Ore this[int i]
 {
     get
     {
         switch (i)
         {
             case 0:
                 return veldspar;
             case 1:
                 return scordite;
             case 2:
                 return pyroxeres;
             case 3:
                 return plagioclase;
             case 4:
                 return omber;
             case 5:
                 return kernite;
             case 6:
                 return jaspet;
             case 7:
                 return hemorphite;
             case 8:
                 return hedbergite;
             case 9:
                 return gneiss;
             case 10:
                 return dark_Ochre;
             case 11:
                 return spodumain;
             case 12:
                 return crokite;
             case 13:
                 return bistot;
             case 14:
                 return arkonor;
             case 15:
                 return mercoxit;
             default:
                 throw new IndexOutOfRangeException();
         }
     }
     set
     {
         switch (i)
         {
             case 0:
                 veldspar = value;
                 break;
             case 1:
                 scordite = value;
                 break;
             case 2:
                 pyroxeres = value;
                 break;
             case 3:
                 plagioclase = value;
                 break;
             case 4:
                 omber = value;
                 break;
             case 5:
                 kernite = value;
                 break;
             case 6:
                 jaspet = value;
                 break;
             case 7:
                 hemorphite = value;
                 break;
             case 8:
                 hedbergite = value;
                 break;
             case 9:
                 gneiss = value;
                 break;
             case 10:
                 dark_Ochre = value;
                 break;
             case 11:
                 spodumain = value;
                 break;
             case 12:
                 crokite = value;
                 break;
             case 13:
                 bistot = value;
                 break;
             case 14:
                 arkonor = value;
                 break;
             case 15:
                 mercoxit = value;
                 break;
             default:
                 throw new IndexOutOfRangeException();
         }
     }
 }