コード例 #1
0
        public int GetTimeToReload(PowerCells powerCell, int cellCount)
        {
            switch (powerCell)
            {
            case PowerCells.A:
            case PowerCells.B:
            case PowerCells.C:
                return(3 * cellCount);

            case PowerCells.D:
            case PowerCells.E:
            case PowerCells.F:
                return(5 * cellCount);
            }
            return(0);
        }
コード例 #2
0
        public double GetFullWeight(double emptyWeight, PowerCells powerCell, int cellCount, out string specials, bool powerPack)
        {
            double tempMod = 0;
            string tempPP;

            switch (powerCell)
            {
            case PowerCells.A:
                tempMod = 0.0005;
                break;

            case PowerCells.B:
                tempMod = 0.005;
                break;

            case PowerCells.C:
                tempMod = 0.5;
                break;

            case PowerCells.D:
                tempMod = 5;
                break;

            case PowerCells.E:
                tempMod = 20;
                break;

            case PowerCells.F:
                tempMod = 200;
                break;
            }
            if (powerPack)
            {
                tempPP    = "p";
                tempMod   = 1;
                cellCount = 1;
            }
            else
            {
                tempPP = "";
            }
            specials = $"{cellCount}{powerCell}{tempPP}";
            return(emptyWeight * (tempMod * cellCount));
        }
コード例 #3
0
        public int GetShots(double d, TLs tl, Beams beam, PowerCells powerCell, int cellCount, out string specials, TLs cellTL = 0)
        {
            int shots = 0;

            cellTL   = tl;
            specials = "";
            switch (beam)
            {
            case Beams.Laser:
                ShotsByTL(tl, 255, 450, 450, 450);
                ShotsByTL(cellTL, shots);
                break;

            case Beams.Blaster:
                ShotsByTL(tl, 34, 68, 68, 68);
                ShotsByTL(cellTL, shots);
                break;

            case Beams.NeutralParticleBeam:
                ShotsByTL(tl, 16, 67, 67, 67);
                ShotsByTL(cellTL, shots);
                break;

            case Beams.RainbowLaser:
                ShotsByTL(cellTL, 112);
                break;

            case Beams.XRayLaser:
                ShotsByTL(tl, 112, 112, 225, 225);
                ShotsByTL(cellTL, shots);
                break;

            case Beams.Pulsar:
                ShotsByTL(tl, 135, 135, 135, 270);
                ShotsByTL(cellTL, shots);
                break;

            case Beams.Graser:
                ShotsByTL(cellTL, 28);
                break;

            case Beams.LowTechLaser:
                if (tl == TLs.TL8)
                {
                    shots = 45;
                }
                ShotsByTL(cellTL, shots);
                break;

            case Beams.Electrolaser:
                ShotsByTL(tl, 2304, 5760, 5670, 5670);
                ShotsByTL(cellTL, shots);
                break;

            case Beams.SonicStunner:
                ShotsByTL(cellTL, 445);
                break;

            case Beams.HighOutputPulseLaser:
                ShotsByTL(tl, 2083, 2083, 5670, 5670);
                ShotsByTL(cellTL, shots);
                break;

            case Beams.Plasma:
                ShotsByTL(tl, 844, 2110, 2110, 2110);
                ShotsByTL(cellTL, shots);
                break;

            case Beams.PlasmaFlamer:
                ShotsByTL(tl, 450, 1125, 1125, 1125);
                ShotsByTL(cellTL, shots);
                break;

            case Beams.PlasmaLance:
                ShotsByTL(tl, 29, 29, 72, 72);
                ShotsByTL(cellTL, shots);
                break;

            case Beams.SonicScreamer:
            case Beams.SoundDisruptors:
                ShotsByTL(cellTL, 1780);
                break;

            case Beams.GravitonBeam:
                ShotsByTL(tl, 14, 14, 14, 28);
                ShotsByTL(cellTL, shots);
                break;

            case Beams.ForceBeam:
                ShotsByTL(tl, 270, 270, 540, 540);
                ShotsByTL(cellTL, shots);
                break;

            case Beams.Disraptor:
                ShotsByTL(cellTL, 6250);
                break;

            case Beams.NeuralDisraptor:
            case Beams.MindDisraptor:
                ShotsByTL(cellTL, 111);
                break;
            }
            return((int)(shots * cellCount / Math.Pow(d, 3)));
        }