/// <summary> /// Fills the implants menu. /// </summary> private void FillImplantsMenu() { //Mining implants DeviceBonus imp = new DeviceBonus("None", 0.0, 0.0, Resources.slot10); _dictImpS10.Add(imp.Name, imp); imp = new DeviceBonus("Hardwiring - Inherent Implants 'Highwall' HX-0", 1.0, 0.0, Resources.icon40_16); _dictImpS10.Add(imp.Name, imp); imp = new DeviceBonus("Hardwiring - Inherent Implants 'Highwall' HX-1", 3.0, 0.0, Resources.icon40_16); _dictImpS10.Add(imp.Name, imp); imp = new DeviceBonus("Hardwiring - Inherent Implants 'Highwall' HX-2", 5.0, 0.0, Resources.icon40_16); _dictImpS10.Add(imp.Name, imp); //Ice implants imp = new DeviceBonus("Hardwiring - Inherent Implants 'Yeti' BX-0", 0.0, 1.0, Resources.icon40_16); _dictImpS10.Add(imp.Name, imp); imp = new DeviceBonus("Hardwiring - Inherent Implants 'Yeti' BX-1", 0.0, 3.0, Resources.icon40_16); _dictImpS10.Add(imp.Name, imp); imp = new DeviceBonus("Hardwiring - Inherent Implants 'Yeti' BX-2", 0.0, 5.0, Resources.icon40_16); _dictImpS10.Add(imp.Name, imp); //Формируем менюшку для выбора импланта слота 10 foreach (KeyValuePair <string, DeviceBonus> pair in _dictImpS10) { DeviceBonus device = pair.Value; ToolStripItem item = new ToolStripMenuItem(device.Name, device.Image, MenuSlot10Clicked); contextMenuStripImpS10.Items.Add(item); contextMenuStripImpS10.Items[contextMenuStripImpS10.Items.Count - 1].Tag = device; } }
/// <summary> /// Menus the slot10 clicked. /// </summary> /// <param name="sender">The sender.</param> /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param> private void MenuSlot10Clicked(object sender, EventArgs e) { ToolStripMenuItem item = sender as ToolStripMenuItem; if (item != null) { DeviceBonus imp = (DeviceBonus)item.Tag; Config <Settings> .Instance.ImplantS10 = imp.Name; pictureBoxImpSlot10.Image = imp.Image; pictureBoxImpSlot10.Tag = item.Tag; CalculateMining(); } }
/// <summary> /// Fills the minig laser upgrades. /// </summary> private void FillMinigLaserUpgrades() { //MLU DeviceBonus mlu = new DeviceBonus("None", 0.0, 0.0, Resources.lowSlot); _dictMlu.Add(mlu.Name, mlu); mlu = new DeviceBonus("Mining Laser Upgrade I", 5.0, 0.0, Resources.icon05_12); _dictMlu.Add(mlu.Name, mlu); mlu = new DeviceBonus("Erin Mining Upgrade I", 6.0, 0.0, Resources.icon05_12); _dictMlu.Add(mlu.Name, mlu); mlu = new DeviceBonus("Elara Mining Upgrade I", 7.0, 0.0, Resources.icon05_12); _dictMlu.Add(mlu.Name, mlu); mlu = new DeviceBonus("Carpo Mining Upgrade I", 8.0, 0.0, Resources.icon05_12); _dictMlu.Add(mlu.Name, mlu); mlu = new DeviceBonus("Aoede Mining Upgrade I", 9.0, 0.0, Resources.icon05_12); _dictMlu.Add(mlu.Name, mlu); mlu = new DeviceBonus("Mining Laser Upgrade II", 9.0, 0.0, Resources.icon05_12_t2); _dictMlu.Add(mlu.Name, mlu); //IHU mlu = new DeviceBonus("Ice Harvester Upgrade I", 0.0, 5.0, Resources.icon05_12); _dictMlu.Add(mlu.Name, mlu); mlu = new DeviceBonus("Crisium Ice Harvester Upgrade I", 0.0, 6.0, Resources.icon05_12); _dictMlu.Add(mlu.Name, mlu); mlu = new DeviceBonus("Frigoris Ice Harvester Upgrade I", 0.0, 7.0, Resources.icon05_12); _dictMlu.Add(mlu.Name, mlu); mlu = new DeviceBonus("Anguis Ice Harvester Upgrade I", 0.0, 8.0, Resources.icon05_12); _dictMlu.Add(mlu.Name, mlu); mlu = new DeviceBonus("Ingenii Ice Harvester Upgrade I", 0.0, 9.0, Resources.icon05_12); _dictMlu.Add(mlu.Name, mlu); mlu = new DeviceBonus("Ice Harvester Upgrade II", 0.0, 9.0, Resources.icon05_12_t2); _dictMlu.Add(mlu.Name, mlu); //Формируем менюшку для выбора MLU foreach (KeyValuePair <string, DeviceBonus> pair in _dictMlu) { DeviceBonus device = pair.Value; ToolStripItem item = new ToolStripMenuItem(device.Name, device.Image, MenuMluClicked); contextMenuStripMLU.Items.Add(item); contextMenuStripMLU.Items[contextMenuStripMLU.Items.Count - 1].Tag = device; } }
/// <summary> /// Handles the clicked event of the MenuMLU control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param> private void MenuMluClicked(object sender, EventArgs e) { ToolStripMenuItem item = sender as ToolStripMenuItem; if (item != null) { DeviceBonus mlu = (DeviceBonus)item.Tag; _mluPictureClicked.Image = mlu.Image; _mluPictureClicked.Tag = item.Tag; if (_mluPictureClicked == pictureBoxMLU1) { Config <Settings> .Instance.Mlu1 = mlu.Name; } else if (_mluPictureClicked == pictureBoxMLU2) { Config <Settings> .Instance.Mlu2 = mlu.Name; } else if (_mluPictureClicked == pictureBoxMLU3) { Config <Settings> .Instance.Mlu3 = mlu.Name; } CalculateMining(); } }
/// <summary> ///Подсчет объема руды за цикл /// </summary> /// <param name="turret"></param> /// <returns></returns> private double GetYield(MiningTurret turret) { double yield = turret.MiningAmount; Skills skills = Config <Settings> .Instance.Skills; Ship ship = _dictShips[comboBoxShip.SelectedItem.ToString()]; yield *= (1 + skills.Mining * 0.05) * (1 + skills.Astrogeology * 0.05); yield *= ship.YieldBonus(); //if (ship.Barge) // yield *= (1 + skills.MiningBarge*0.03); //if (ship.Exhumer && ship.Name != "Hulk") // yield *= (1 + skills.Exhumers*0.03); //if (ship.Name.Contains("Frigate")) // yield *= (1 + skills.MiningFrigates*0.2); //else if (ship.Name.Contains("Cruiser")) // yield *= (1 + skills.Cruisers*0.2); DeviceBonus mlu = pictureBoxMLU1.Tag as DeviceBonus; if (mlu != null) { yield *= (1 + mlu.OreYieldBonus / 100); } mlu = pictureBoxMLU2.Tag as DeviceBonus; if (mlu != null && ship.LowSlots > 1) { yield *= (1 + mlu.OreYieldBonus / 100); } mlu = pictureBoxMLU3.Tag as DeviceBonus; if (mlu != null && ship.LowSlots > 2) { yield *= (1 + mlu.OreYieldBonus / 100); } if (turret.UseCrystals) { if (Config <Settings> .Instance.SelectedCrystals == 2) { if (ship.Name == "Skif" && turret.Name.Contains("Deep")) { yield *= 1.375 * (1 + skills.Exhumers * 0.6); } else { yield *= 1.75; } } else { if (ship.Name == "Skif" && turret.Name.Contains("Deep")) { yield *= (1.25 * (1 + skills.Exhumers * 0.6)); } else { yield *= 1.625; } } } DeviceBonus db = _dictImpS10[Config <Settings> .Instance.ImplantS10]; double bonus = 1 + db.OreYieldBonus / 100; yield *= bonus; if (Config <Settings> .Instance.ImpMichi) { yield *= 1.05; } //Ганг бонусы if (Config <Settings> .Instance.IsGang) { if (Config <Settings> .Instance.ImpMindLink) { //Implant Replaces mining foreman skill bonus with fixed 15% mining yield bonus. yield *= (1 + 0.15 /* skills.MiningForeman * 0.02 * 1.5*/); //yield *= 1/(1 - 2*skills.MiningDirector*(1 + skills.WarfareLinkSpec*0.1)*1.5/100*gangAssistModule); } else { yield *= (1 + skills.MiningForeman * 0.02); } } return(yield); }
/// <summary> /// Посчитать цикл /// </summary> /// <param name="turret"></param> /// <returns></returns> private double GetCycleTime(MiningTurret turret) { double cycle = turret.CycleTime; Skills skills = Config <Settings> .Instance.Skills; Ship ship = _dictShips[comboBoxShip.SelectedItem.ToString()]; //Если турелька лед роет if (turret.CycleTime > 200) { cycle *= (1 - skills.IceHarvesting * 0.05); DeviceBonus mlu = pictureBoxMLU1.Tag as DeviceBonus; if (mlu != null) { cycle *= (1 - mlu.TimeBonus / 100); } mlu = pictureBoxMLU2.Tag as DeviceBonus; if (mlu != null && ship.LowSlots > 1) { cycle *= (1 - mlu.TimeBonus / 100); } mlu = pictureBoxMLU3.Tag as DeviceBonus; if (mlu != null && ship.LowSlots > 2) { cycle *= (1 - mlu.TimeBonus / 100); } cycle *= ship.IceHarvestTimeBonus(); ////Если макинаву юзаем //if (Config<Settings>.Instance.SelectedShip == "Mackinaw") //{ // cycle *= 1.25; // cycle *= (1 - skills.Exhumers*0.05); //} ////Если халк //else if (Config<Settings>.Instance.SelectedShip == "Hulk") //{ // cycle *= (1 - skills.Exhumers*0.03); //} //учет имплантов но только для Ice харвестеров DeviceBonus db = _dictImpS10[Config <Settings> .Instance.ImplantS10]; double bonus = 1 - db.TimeBonus / 100; cycle *= bonus; } int gangAssistModule = 0; if (Config <Settings> .Instance.GangAssistModule1) { gangAssistModule++; } if (Config <Settings> .Instance.GangAssistModule2) { gangAssistModule++; } if (Config <Settings> .Instance.GangAssistModule3) { gangAssistModule++; } //Ганг бонусы if (Config <Settings> .Instance.IsGang) { double bonusIndustrial = 0.0; switch (Config <Settings> .Instance.BoosterShip) { case ShipType.Orca: bonusIndustrial = 0.03; break; case ShipType.Rorqual: bonusIndustrial = 0.05; break; } if (Config <Settings> .Instance.ImpMindLink) { cycle *= (1 - 2 * skills.MiningDirector * (1 + skills.WarfareLinkSpec * 0.1) * (1 + skills.IndustrialCommandShip * bonusIndustrial) * 1.5 / 100 * gangAssistModule); } else { cycle *= (1 - 2 * skills.MiningDirector * (1 + skills.WarfareLinkSpec * 0.1) * (1 + skills.IndustrialCommandShip * bonusIndustrial) / 100 * gangAssistModule); } } return(cycle); }
/// <summary> /// Fills the minig laser upgrades. /// </summary> private void FillMinigLaserUpgrades() { //MLU DeviceBonus mlu = new DeviceBonus("None", 0.0, 0.0, Resources.lowSlot); _dictMlu.Add(mlu.Name, mlu); mlu = new DeviceBonus("Mining Laser Upgrade I", 5.0, 0.0, Resources.icon05_12); _dictMlu.Add(mlu.Name, mlu); mlu = new DeviceBonus("Erin Mining Upgrade I", 6.0, 0.0, Resources.icon05_12); _dictMlu.Add(mlu.Name, mlu); mlu = new DeviceBonus("Elara Mining Upgrade I", 7.0, 0.0, Resources.icon05_12); _dictMlu.Add(mlu.Name, mlu); mlu = new DeviceBonus("Carpo Mining Upgrade I", 8.0, 0.0, Resources.icon05_12); _dictMlu.Add(mlu.Name, mlu); mlu = new DeviceBonus("Aoede Mining Upgrade I", 9.0, 0.0, Resources.icon05_12); _dictMlu.Add(mlu.Name, mlu); mlu = new DeviceBonus("Mining Laser Upgrade II", 9.0, 0.0, Resources.icon05_12_t2); _dictMlu.Add(mlu.Name, mlu); //IHU mlu = new DeviceBonus("Ice Harvester Upgrade I", 0.0, 5.0, Resources.icon05_12); _dictMlu.Add(mlu.Name, mlu); mlu = new DeviceBonus("Crisium Ice Harvester Upgrade I", 0.0, 6.0, Resources.icon05_12); _dictMlu.Add(mlu.Name, mlu); mlu = new DeviceBonus("Frigoris Ice Harvester Upgrade I", 0.0, 7.0, Resources.icon05_12); _dictMlu.Add(mlu.Name, mlu); mlu = new DeviceBonus("Anguis Ice Harvester Upgrade I", 0.0, 8.0, Resources.icon05_12); _dictMlu.Add(mlu.Name, mlu); mlu = new DeviceBonus("Ingenii Ice Harvester Upgrade I", 0.0, 9.0, Resources.icon05_12); _dictMlu.Add(mlu.Name, mlu); mlu = new DeviceBonus("Ice Harvester Upgrade II", 0.0, 9.0, Resources.icon05_12_t2); _dictMlu.Add(mlu.Name, mlu); //Формируем менюшку для выбора MLU foreach (KeyValuePair<string, DeviceBonus> pair in _dictMlu) { DeviceBonus device = pair.Value; ToolStripItem item = new ToolStripMenuItem(device.Name, device.Image, MenuMluClicked); contextMenuStripMLU.Items.Add(item); contextMenuStripMLU.Items[contextMenuStripMLU.Items.Count - 1].Tag = device; } }
/// <summary> /// Fills the implants menu. /// </summary> private void FillImplantsMenu() { //Mining implants DeviceBonus imp = new DeviceBonus("None", 0.0, 0.0, Resources.slot10); _dictImpS10.Add(imp.Name, imp); imp = new DeviceBonus("Hardwiring - Inherent Implants 'Highwall' HX-0", 1.0, 0.0, Resources.icon40_16); _dictImpS10.Add(imp.Name, imp); imp = new DeviceBonus("Hardwiring - Inherent Implants 'Highwall' HX-1", 3.0, 0.0, Resources.icon40_16); _dictImpS10.Add(imp.Name, imp); imp = new DeviceBonus("Hardwiring - Inherent Implants 'Highwall' HX-2", 5.0, 0.0, Resources.icon40_16); _dictImpS10.Add(imp.Name, imp); //Ice implants imp = new DeviceBonus("Hardwiring - Inherent Implants 'Yeti' BX-0", 0.0, 1.0, Resources.icon40_16); _dictImpS10.Add(imp.Name, imp); imp = new DeviceBonus("Hardwiring - Inherent Implants 'Yeti' BX-1", 0.0, 3.0, Resources.icon40_16); _dictImpS10.Add(imp.Name, imp); imp = new DeviceBonus("Hardwiring - Inherent Implants 'Yeti' BX-2", 0.0, 5.0, Resources.icon40_16); _dictImpS10.Add(imp.Name, imp); //Формируем менюшку для выбора импланта слота 10 foreach (KeyValuePair<string, DeviceBonus> pair in _dictImpS10) { DeviceBonus device = pair.Value; ToolStripItem item = new ToolStripMenuItem(device.Name, device.Image, MenuSlot10Clicked); contextMenuStripImpS10.Items.Add(item); contextMenuStripImpS10.Items[contextMenuStripImpS10.Items.Count - 1].Tag = device; } }