Beispiel #1
0
        private static void LoadSupport()
        {
            ShipTemplate template = TemplateDatabase.AddShip("DefensePlatform");

            template.SetName(Resources.Corvette_DefensePlatformName);
            template.SetDescription(Resources.Corvette_DefensePlatformDescription);
            template.SetClass("Corvette", "Support");
            template.SetModel("space_station_4");
            template.SetRadarTrace("radartrace_smallstation.png");
            template.SetHull(150);
            template.SetShields(new float[] { 120, 120, 120, 120, 120, 120 });
            template.SetSpeed(0, 0.5f, 0);

            // Arc, Dir, Range, CycleTime, Dmg
            template.SetupBeamWeapon(0, 30, 0, 4000.0f, 1.5f, 20);
            template.SetupBeamWeapon(1, 30, 60, 4000.0f, 1.5f, 20);
            template.SetupBeamWeapon(2, 30, 120, 4000.0f, 1.5f, 20);
            template.SetupBeamWeapon(3, 30, 180, 4000.0f, 1.5f, 20);
            template.SetupBeamWeapon(4, 30, 240, 4000.0f, 1.5f, 20);
            template.SetupBeamWeapon(5, 30, 300, 4000.0f, 1.5f, 20);

            ShipTemplate.DockingPortInfo port = new ShipTemplate.DockingPortInfo();
            port.Legacy  = true;
            port.MaxSize = DockingClasses.Small;
            template.DockingPorts.Add(port);
        }
Beispiel #2
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);
        }
Beispiel #3
0
        private static void LoadAdders()
        {
            // MK5
            ShipTemplate template = TemplateDatabase.AddShip("AdderMk5");

            template.SetName(Resources.Fighter_AdderMk5Name);
            template.SetDescription(Resources.Fighter_AdderMk5Description);
            template.SetClass("Starfighter", "Gunship");
            template.SetModel("AdlerLongRangeScoutYellow");
            template.SetRadarTrace("radar_cruiser.png");
            template.SetHull(50);
            template.SetShields(30);
            template.SetSpeed(80, 28, 25);
            // Arc, Dir, Range, CycleTime, Dmg
            template.SetupBeamWeapon(0, 35, 0, 800, 5.0f, 2.0f);
            template.SetupBeamWeapon(1, 70, 30, 600, 5.0f, 2.0f);
            template.SetupBeamWeapon(2, 70, -35, 600, 5.0f, 2.0f);
            template.SetMissleTubeCount(1, 15);
            template.SetupMissileMagazine(MissileWeaponTypes.HVLI, 4);


            // MK4
            ShipTemplate variation = TemplateDatabase.CloneShip(template, "AdderMk4");

            variation.SetName(Resources.Fighter_AdderMk4Name);
            variation.SetDescription(Resources.Fighter_AdderMk4Description);
            variation.SetModel("AdlerLongRangeScoutBlue");
            variation.SetHull(40);
            variation.SetShields(20);
            variation.SetSpeed(60, 20, 20);
            variation.SetMissleTubeCount(1, 20);
            variation.ClearMagazines();
            variation.SetupMissileMagazine(MissileWeaponTypes.HVLI, 2);


            // MK6
            variation = TemplateDatabase.CloneShip(template, "AdderMk6");
            variation.SetName(Resources.Fighter_AdderMk6Name);
            variation.SetDescription(Resources.Fighter_AdderMk6Description);
            variation.SetupBeamWeapon(3, 35, 180, 600, 6.0f, 2.0f);
            variation.ClearMagazines();
            variation.SetupMissileMagazine(MissileWeaponTypes.HVLI, 8);
        }
Beispiel #4
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);
            }
        }
Beispiel #5
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);
            }
        }
Beispiel #6
0
        private static void LoadLindworm()
        {
            ShipTemplate template = TemplateDatabase.AddShip("Lindworm");

            template.SetName(Resources.Fighter_LindwormName);
            template.SetDescription(Resources.Fighter_LindwormDescription);
            template.SetClass("Starfighter", "Bomber");
            template.SetModel("LindwurmFighterYellow");
            template.SetRadarTrace("radar_fighter.png");
            template.SetHull(50);
            template.SetShields(20);
            template.SetSpeed(50, 15, 25);

            template.SetMissleTubeCount(3, 15);
            template.SetupMissileMagazine(MissileWeaponTypes.HVLI, 4);
            template.SetupMissileMagazine(MissileWeaponTypes.Homing, 1);

            template.SetMissileWeaponLoadingTypes(1, MissileWeaponTypes.HVLI);
            template.SetMissileWeaponLoadingTypes(2, MissileWeaponTypes.HVLI);

            template.SetMissleWeaponDirection(1, 1);
            template.SetMissleWeaponDirection(2, -1);
        }
Beispiel #7
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);
        }
Beispiel #8
0
        private static void LoadHorrents()
        {
            ShipTemplate template = TemplateDatabase.AddShip("HornetMk1");

            template.SetName(Resources.Fighter_HornetName);
            template.SetDescription(Resources.Fighter_HornetDescription);
            template.SetClass("Starfighter", "Interceptor");
            template.SetModel("WespeScoutYellow");
            template.SetRadarTrace("radar_fighter.png");
            template.SetHull(30);
            template.SetShields(20);
            template.SetSpeed(120, 30, 25);
            template.SetDefaultAI("fighter");
            // Arc, Dir, Range, CycleTime, Dmg
            template.SetupBeamWeapon(0, 30, 0, 700.0f, 4.0f, 2);

            template.SetFuelCapcity(400);

            template.SetReairCrew(1);

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

            template.AddDoor(2, 1, true);
            template.AddDoor(3, 1, true);
            template.AddDoor(1, 1, false);
            template.AddDoor(3, 1, false);
            template.AddDoor(3, 2, false);
            template.AddDoor(3, 3, true);
            template.AddDoor(2, 3, true);
            template.AddDoor(5, 1, false);
            template.AddDoor(5, 2, false);


            // mk2 upgrade
            ShipTemplate variation = TemplateDatabase.CloneShip(template, "HornetMk2");

            variation.SetName(Resources.Fighter_HornetMk2Name);
            variation.SetDescription(Resources.Fighter_HornetMk2Description);
            variation.SetModel("WespeScoutRed");
            variation.SetHull(35);
            variation.SetShields(22);
            variation.SetSpeed(125, 32, 25);
            variation.SetupBeamWeapon(0, 30, 0, 900.0f, 4.0f, 2.5f);


            // mk 3 player variant
            variation = TemplateDatabase.CloneShip(template, "HornetMk3P");
            variation.SetName(Resources.Fighter_HornetMk3Name);
            variation.SetDescription(Resources.Fighter_HornetMk3Description);

            variation.SetHull(70);
            variation.SetShields(60);
            variation.SetSpeed(125, 32, 25);
            variation.SetupBeamWeapon(0, 30, 0, 900.0f, 4.0f, 2.5f);
            variation.SetupBeamWeapon(1, 30, -5, 900.0f, 4.0f, 2.5f);
        }