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; } } }
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); }
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]; } } } }
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; }
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; }
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(); } } }