Exemplo n.º 1
0
        private static void LoadStarhammer()
        {
            ShipTemplate template = TemplateDatabase.AddShip("Starhammer2");

            template.SetName(Resources.Corvette_StarhammerName);
            template.SetDescription(Resources.Corvette_StarhammerDescription);
            template.SetClass("Corvette", "Destroyer");
            template.SetModel("battleship_destroyer_4_upgraded");
            template.SetRadarTrace("radar_dread.png");
            template.SetHull(200);
            template.SetShields(new float[] { 450, 350, 150, 150, 350 });
            template.SetSpeed(335, 6, 10);
            template.SetJumpDrive();
            // Arc, Dir, Range, CycleTime, Dmg
            template.SetupBeamWeapon(0, 60, -10, 2000, 8, 11);
            template.SetupBeamWeapon(1, 60, 10, 2000, 8, 11);
            template.SetupBeamWeapon(2, 60, -20, 1500, 8, 11);
            template.SetupBeamWeapon(3, 60, 20, 1500, 8, 11);

            template.SetMissleTubeCount(2, 10);
            template.SetupMissileMagazine(MissileWeaponTypes.HVLI, 20);
            template.SetupMissileMagazine(MissileWeaponTypes.Homing, 4);
            template.SetupMissileMagazine(MissileWeaponTypes.EMP, 2);
            template.RemoveTubeLoadTypes(1, MissileWeaponTypes.EMP);
        }
Exemplo n.º 2
0
        private static void AddFreighter(string haul, string displayName, string description, int index, int baseModelIndex, bool jump)
        {
            string name    = displayName + (jump ? "JumpFreighter" : "Freighter") + index.ToString();
            string display = displayName + " " + (jump ? Resources.JumpFreighterBaseName : Resources.FreighterBaseName) + " " + index.ToString();

            ShipTemplate template = TemplateDatabase.AddShip(name);

            template.SetName(display);
            template.SetDescription(description);
            template.SetClass("Corvette", "Freighter");
            template.SetModel("transport_" + baseModelIndex.ToString() + "_" + index.ToString());
            template.SetRadarTrace("radartrace_smallstation.png");
            template.SetHull(150);
            template.SetShields(new float[] { 50, 50 });
            template.SetSpeed(60 - 5 * index, 6, 10);
            if (jump)
            {
                template.SetJumpDrive();
                template.SetJumpRanges(2000, 40000);
            }
        }
Exemplo n.º 3
0
        private static void LoadJumpCarrier()
        {
            ShipTemplate template = TemplateDatabase.AddShip("JumpCarrier");

            template.SetName(Resources.Corvette_JumpCarrierName);
            template.SetDescription(Resources.Corvette_JumpCarrierDescription);
            template.SetClass("Corvette", "Freighter");
            template.SetModel("transport_4_2");
            template.SetRadarTrace("radar_transport.png");
            template.SetHull(100);
            template.SetShields(new float[] { 50, 50 });
            template.SetSpeed(50, 6, 10);
            template.SetJumpDrive();
            template.SetJumpRanges(5000, 100 * 50000);

            for (int i = 0; i < 20; i++)
            {
                ShipTemplate.DockingPortInfo port = new ShipTemplate.DockingPortInfo();
                port.Legacy  = true;
                port.MaxSize = DockingClasses.Medium;
                template.DockingPorts.Add(port);
            }
        }
Exemplo n.º 4
0
        private static void LoadAtlantis()
        {
            ShipTemplate template = TemplateDatabase.AddShip("AtlantisAI");

            template.SetName(Resources.Corvette_AtlantisX32Name);
            template.SetDescription(Resources.Corvette_AtlantisX32Description);
            template.SetClass("Corvette", "Destroyer");
            template.SetModel("battleship_destroyer_1_upgraded");
            template.SetRadarTrace("radar_dread.png");
            template.SetHull(100);
            template.SetShields(new float[] { 200, 200, 200, 200 });
            template.SetSpeed(30, 3.5f, 5);
            template.SetJumpDrive();
            // Arc, Dir, Range, CycleTime, Dmg
            template.SetupBeamWeapon(0, 100, -20, 1500.0f, 6.0f, 8);
            template.SetupBeamWeapon(1, 100, 20, 1500.0f, 6.0f, 8);
            template.SetupBeamWeapon(2, 100, 180, 1500.0f, 6.0f, 8);
            template.SetMissleTubeCount(4, 10);
            template.SetupMissileMagazine(MissileWeaponTypes.HVLI, 20);
            template.SetupMissileMagazine(MissileWeaponTypes.Homing, 20);
            template.SetMissleWeaponDirection(0, -90);
            template.SetMissleWeaponDirection(1, -90);
            template.SetMissleWeaponDirection(2, 90);
            template.SetMissleWeaponDirection(3, 90);

            template.AddRoom(1, 0, 2, 1, ShipSystemTypes.Maneuver);
            template.AddRoom(1, 1, 2, 1, ShipSystemTypes.Beams);
            template.AddRoom(2, 2, 2, 1);
            template.AddRoom(0, 3, 1, 2, ShipSystemTypes.Shields(1));
            template.AddRoom(1, 3, 2, 2, ShipSystemTypes.Reactor);
            template.AddRoom(3, 3, 2, 2, ShipSystemTypes.FTL);
            template.AddRoom(5, 3, 1, 2, ShipSystemTypes.Jump);
            template.AddRoom(6, 3, 2, 1);
            template.AddRoom(6, 4, 2, 1);
            template.AddRoom(8, 3, 1, 2, ShipSystemTypes.Shields(0));
            template.AddRoom(2, 5, 2, 1);
            template.AddRoom(1, 6, 2, 1, ShipSystemTypes.Missiles);
            template.AddRoom(1, 7, 2, 1, ShipSystemTypes.Sublight);

            template.AddDoor(1, 1, true);
            template.AddDoor(2, 2, true);
            template.AddDoor(3, 3, true);
            template.AddDoor(1, 3, false);
            template.AddDoor(3, 4, false);
            template.AddDoor(3, 5, true);
            template.AddDoor(2, 6, true);
            template.AddDoor(1, 7, true);
            template.AddDoor(5, 3, false);
            template.AddDoor(6, 3, false);
            template.AddDoor(6, 4, false);
            template.AddDoor(8, 3, false);
            template.AddDoor(8, 4, false);


            // player version
            var variation = TemplateDatabase.CloneShip(template, "AtlantisPlayer");

            variation.SetName(Resources.Corvette_AtlantisX32PName);
            variation.SetPlayable();
            variation.SetDescription(Resources.Corvette_AtlantisX32PDescription);
            variation.SetShields(new float[] { 200, 200 });
            variation.SetHull(250);
            variation.SetSpeed(90, 10, 20);
            variation.SetCombatManeuvers(400, 250);

            variation.RemoveBeamWeapon(2);
            variation.SetupMissileMagazine(MissileWeaponTypes.HVLI, 12);
            variation.SetupMissileMagazine(MissileWeaponTypes.Homing, 12);
            variation.SetupMissileMagazine(MissileWeaponTypes.Nuke, 4);
            variation.SetupMissileMagazine(MissileWeaponTypes.Mine, 8);
            variation.SetupMissileMagazine(MissileWeaponTypes.EMP, 6);

            variation.SetMissleTubeCount(5, 8);
            for (int i = 0; i < 4; i++)
            {
                variation.RemoveTubeLoadTypes(i, MissileWeaponTypes.Mine);
            }

            variation.SetMissileWeaponLoadingTypes(4, MissileWeaponTypes.Mine);
        }