Example #1
0
 /// <summary>
 /// Sets the yield and cycle time
 /// </summary>
 /// <param name="yield">The yield.</param>
 /// <param name="cycleTime">The cycle time.</param>
 /// <param name="turret">The turret.</param>
 public void SetYieldCycle(double yield, double cycleTime, MiningTurret turret)
 {
     Text = string.Format("{0}m3 / {1}sec - {2}", yield.ToString("F2"), cycleTime.ToString("F2"), turret);
 }
Example #2
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;
        }
Example #3
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;
        }
Example #4
0
        /// <summary>
        /// Fills the turret list.
        /// </summary>
        private void FillTurretList()
        {
            if(Config<Settings>.Instance.SelectedShip.Length == 0)
                Config<Settings>.Instance.SelectedShip = "Venture";
            Ship ship = _dictShips[Config<Settings>.Instance.SelectedShip];
            _turretsList.Clear();
            if (ship.Type != ShipType.Barge && ship.Type != ShipType.Exhumer)
            {
                //Mining Turrets
                MiningTurret turret = new MiningTurret("Basic Miner", 60, 30.0, false);
                _turretsList.Add(turret.Name, turret);
                turret = new MiningTurret("Cu Vapor Particle Bore Stream I", 60, 49.0, false);
                _turretsList.Add(turret.Name, turret);
                turret = new MiningTurret("Deep Core Mining Laser I", 60, 40.0, false);
                _turretsList.Add(turret.Name, turret);
                turret = new MiningTurret("Dual Diode Mining Laser I", 60, 44.0, false);
                _turretsList.Add(turret.Name, turret);
                turret = new MiningTurret("EP-S Gaussian I Excavation Pulse", 60, 42, false);
                _turretsList.Add(turret.Name, turret);
                turret = new MiningTurret("Miner I", 60, 40, false);
                _turretsList.Add(turret.Name, turret);
                turret = new MiningTurret("Miner II", 60, 60.0, false);
                _turretsList.Add(turret.Name, turret);
                turret = new MiningTurret("Modulated Deep Core Miner II", 180, 120.0, true);
                _turretsList.Add(turret.Name, turret);
                turret = new MiningTurret("XeCl Drilling Beam I", 60, 47.0, false);
                _turretsList.Add(turret.Name, turret);
            }
            else
            {
                //Strips
                MiningTurret turret = new MiningTurret("Strip Miner I", 180, 540.0, false);
                _turretsList.Add(turret.Name, turret);
                turret = new MiningTurret("Modulated Strip Miner II", 180, 360.0, true);
                _turretsList.Add(turret.Name, turret);
                turret = new MiningTurret("Modulated Deep Core Strip Miner II ", 180, 250.0, true);
                _turretsList.Add(turret.Name, turret);
                //Ice Harvesters
                turret = new MiningTurret("Ice Harvester I", 300, 1.0, false);
                _turretsList.Add(turret.Name, turret);
                turret = new MiningTurret("Ice Harvester II", 250, 1.0, false);
                _turretsList.Add(turret.Name, turret);
            }

            comboBoxTurret.BeginUpdate();
            comboBoxTurret.Items.Clear();
            foreach (KeyValuePair<string, MiningTurret> pair in _turretsList)
            {
                comboBoxTurret.Items.Add(pair.Value);
            }
            comboBoxTurret.EndUpdate();

            comboBoxTurret.SelectedIndex = 0;
        }