示例#1
0
        public static ShipDesign DefaultShipDesign(Game game, Entity faction)
        {
            if (_defaultShipDesign != null)
            {
                return(_defaultShipDesign);
            }
            var factionInfo = faction.GetDataBlob <FactionInfoDB>();
            List <(ComponentDesign, int)> components2 = new List <(ComponentDesign, int)>()
            {
                (ShipPassiveSensor(game, faction), 1),
                (DefaultSimpleLaser(game, faction), 2),
                (DefaultBFC(game, faction), 1),
                (ShipSmallCargo(game, faction), 1),
                (DefaultFuelTank(game, faction), 2),
                (DefaultWarpDesign(game, faction), 4),
                (DefaultBatteryBank(game, faction), 3),
                (DefaultFisionReactor(game, faction), 1),
                (DefaultThrusterDesign(game, faction), 3),
            };
            ArmorSD plastic = game.StaticData.ArmorTypes[new Guid("207af637-95a0-4b89-ac4a-6d66a81cfb2f")];

            _defaultShipDesign = new ShipDesign(factionInfo, "Ob'enn Dropship", components2, (plastic, 3));
            _defaultShipDesign.DamageProfileDB = new EntityDamageProfileDB(components2, _defaultShipDesign.Armor);
            return(_defaultShipDesign);
        }
示例#2
0
        public static ShipDesign SpaceXStarShip(Game game, Entity faction)
        {
            /*
             * targetStats:
             * dry mass: 120,000 kg
             * gross mass: 1,320,000 kg
             * propellent mass: 1,200,000 kg max
             * 6.9 Dv
             * 3,700 isp in vac
             */
            if (_spaceXStarShipDesign != null)
            {
                return(_spaceXStarShipDesign);
            }
            var factionInfo = faction.GetDataBlob <FactionInfoDB>();
            List <(ComponentDesign, int)> components2 = new List <(ComponentDesign, int)>()
            {
                (ShipPassiveSensor(game, faction), 1),
                (ShipSmallCargo(game, faction), 1),
                (LargeFuelTank(game, faction), 1),
                (RaptorThrusterDesign(game, faction), 3), //3 for vac
            };
            ArmorSD stainless = game.StaticData.ArmorTypes[new Guid("05dce711-8846-488a-b0f3-57fd7924b268")];

            _defaultShipDesign = new ShipDesign(factionInfo, "Starship", components2, (stainless, 3));
            _defaultShipDesign.DamageProfileDB = new EntityDamageProfileDB(components2, _defaultShipDesign.Armor);
            return(_defaultShipDesign);
        }
示例#3
0
        public static ShipDesign TargetDrone(Game game, Entity faction)
        {
            var factionInfo = faction.GetDataBlob <FactionInfoDB>();
            List <(ComponentDesign, int)> components2 = new List <(ComponentDesign, int)>()
            {
                (_sensor_50, 1),
                (_fuelTank_1000, 2),
                (_warpDrive, 4),
                (_battery, 3),
                (_reactor, 1),
                (_merlin, 4),
            };
            ArmorSD plastic    = game.StaticData.ArmorTypes[new Guid("207af637-95a0-4b89-ac4a-6d66a81cfb2f")];
            var     shipdesign = new ShipDesign(factionInfo, "TargetDrone", components2, (plastic, 3));

            shipdesign.DamageProfileDB = new EntityDamageProfileDB(components2, shipdesign.Armor);
            return(shipdesign);
        }
示例#4
0
        public static ShipDesign CargoShipDesign(Game game, Entity faction)
        {
            var factionInfo = faction.GetDataBlob <FactionInfoDB>();
            List <(ComponentDesign, int)> components2 = new List <(ComponentDesign, int)>()
            {
                (DefaultSimpleLaser(game, faction), 1),
                (DefaultBFC(game, faction), 1),
                (_sensor_50, 1),
                (DefaultFuelTank(game, faction), 2),
                (_cargoHold, 1),
                (_warpDrive, 4),
                (_battery, 3),
                (_reactor, 1),
                (_thruster500, 4),
            };
            ArmorSD plastic    = game.StaticData.ArmorTypes[new Guid("207af637-95a0-4b89-ac4a-6d66a81cfb2f")];
            var     shipdesign = new ShipDesign(factionInfo, "Cargo Courier", components2, (plastic, 3));

            shipdesign.DamageProfileDB = new EntityDamageProfileDB(components2, shipdesign.Armor);
            return(shipdesign);
        }
示例#5
0
        public static ShipDesign GunShipDesign(Game game, Entity faction)
        {
            var factionInfo = faction.GetDataBlob <FactionInfoDB>();
            List <(ComponentDesign, int)> components2 = new List <(ComponentDesign, int)>()
            {
                (_sensor_50, 1),
                (_laser, 2),
                (_fireControl, 2),
                (DefaultMissileTube(game, faction), 1),
                (ShipSmallOrdnanceStore(game, faction), 2),
                (ShipSmallCargo(game, faction), 1),
                (_fuelTank_1000, 2),
                (_warpDrive, 4),
                (_battery, 3),
                (_reactor, 1),
                (_merlin, 4),
            };
            ArmorSD plastic    = game.StaticData.ArmorTypes[new Guid("207af637-95a0-4b89-ac4a-6d66a81cfb2f")];
            var     shipdesign = new ShipDesign(factionInfo, "Sanctum Adroit GunShip", components2, (plastic, 3));

            shipdesign.DamageProfileDB = new EntityDamageProfileDB(components2, shipdesign.Armor);
            return(shipdesign);
        }