Exemplo n.º 1
0
        /// <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;
            }
        }
Exemplo n.º 2
0
        /// <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();
            }
        }
Exemplo n.º 3
0
        /// <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;
            }
        }
Exemplo n.º 4
0
        /// <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();
            }
        }
Exemplo n.º 5
0
        /// <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);
        }
Exemplo n.º 6
0
        /// <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);
        }
Exemplo n.º 7
0
        /// <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;
            }
        }
Exemplo n.º 8
0
        /// <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;
            }
        }