예제 #1
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);
        }
예제 #2
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);
        }