예제 #1
0
        public Gunboat(Vector2d loc, double facing, IController ai) : base(loc, facing, ai)
        {
            Mesh = Loader.GetMesh("gunboat.mesh");

            Moment      = 1000.0;
            Mass        = 2000.0;
            Vulnerable  = true;
            ThrustForce = 300.0;
            DragAmount  = 0.6;
            TurnForce   = 5.0;
            RDragAmount = 0.85;
            BrakeDrag   = 0.90;

            Hits        = MaxHits = 150;
            MaxEnergy   = Energy = 130;
            EnergyRegen = 3;

            Vector2d[] firepoints = new Vector2d[1];
            firepoints[0].X = 25;
            firepoints[0].Y = 0;
            Vector2d[] firedirs = new Vector2d[1];
            firedirs[0].X = 1;
            firedirs[0].Y = 0;
            WeaponPoint[] weaponpoints = new WeaponPoint[1];
            weaponpoints[0] = WeaponFactory.RailgunPoint(firepoints[0], firedirs[0]);
            Weapons         = new BaseWeapon[1];
            Weapons[0]      = new BaseWeapon(20, 10, weaponpoints, ShotMode.BURST);
        }
예제 #2
0
        public Cruiser(Vector2d loc, double facing, IController ai) : base(loc, facing, ai)
        {
            Mesh        = Loader.GetMesh("cruiser.mesh");
            Mass        = 10000;
            ThrustForce = 50;
            DragAmount  = 0.6;
            TurnForce   = 0.01;
            RDragAmount = 0.90;
            MaxHits     = Hits = 1000;

            Vector2d[] firepoints = new Vector2d[4];
            firepoints[0].X = 25;
            firepoints[0].Y = 1;
            firepoints[1].X = 25;
            firepoints[1].Y = -1;
            firepoints[2].X = 25;
            firepoints[2].Y = 2;
            firepoints[3].X = 25;
            firepoints[3].Y = -2;

            Vector2d[] firedirs = new Vector2d[1];
            firedirs[0].X = 1;
            firedirs[0].Y = 0;
            WeaponPoint[] weaponpoints = new WeaponPoint[4];
            weaponpoints[0] = WeaponFactory.RailgunPoint(firepoints[0], firedirs[0]);
            weaponpoints[1] = WeaponFactory.RailgunPoint(firepoints[1], firedirs[0]);
            weaponpoints[2] = WeaponFactory.RailgunPoint(firepoints[2], firedirs[0]);
            weaponpoints[3] = WeaponFactory.RailgunPoint(firepoints[3], firedirs[0]);
            Weapons         = new BaseWeapon[1];
            Weapons[0]      = new BaseWeapon(20, 10, weaponpoints, ShotMode.BURST);
        }
예제 #3
0
        public Fighter(Vector2d loc, double facing, IController ai) : base(loc, facing, ai)
        {
            Mesh = Loader.GetMesh("fighter.mesh");

            Moment      = 200.0;
            Mass        = 500.0;
            Vulnerable  = true;
            ThrustForce = 200.0;
            DragAmount  = 0.9;
            TurnForce   = 10.0;
            RDragAmount = 0.8;
            BrakeDrag   = 0.90;

            Hits        = MaxHits = 50;
            MaxEnergy   = Energy = 100;
            EnergyRegen = 1;


            Vector2d[] firepoints = new Vector2d[1];
            firepoints[0].X = 25;
            firepoints[0].Y = 0;
            Vector2d[] firedirs = new Vector2d[1];
            firedirs[0].X = 1;
            firedirs[0].Y = 0;
            WeaponPoint[] weaponpoints = new WeaponPoint[1];
            weaponpoints[0] = WeaponFactory.VulcanPoint(firepoints[0], firedirs[0]);
            Weapons         = new BaseWeapon[1];
            Weapons[0]      = new BaseWeapon(2, 2, weaponpoints, ShotMode.BURST);
        }
예제 #4
0
        public Swarmer(Vector2d loc, double facing, IController ai) : base(loc, facing, ai)
        {
            Mesh        = Loader.GetMesh("swarmer.mesh");
            Mass        = 150;
            ThrustForce = 3;
            DragAmount  = 0.9;
            TurnForce   = 0.1;
            RDragAmount = 0.00;
            MaxHits     = Hits = 10;

            Moment      = 50.0;
            Mass        = 150.0;
            Vulnerable  = true;
            ThrustForce = 75.0;
            DragAmount  = 0.9;
            TurnForce   = 10.0;
            RDragAmount = 0.85;
            BrakeDrag   = 0.90;

            Hits        = MaxHits = 10;
            MaxEnergy   = Energy = 20;
            EnergyRegen = 1;

            Vector2d[] firepoints = new Vector2d[1];
            firepoints[0].X = 25;
            firepoints[0].Y = 0;
            Vector2d[] firedirs = new Vector2d[1];
            firedirs[0].X = 1;
            firedirs[0].Y = 0;
            WeaponPoint[] weaponpoints = new WeaponPoint[1];
            weaponpoints[0] = WeaponFactory.ShootgunPoint(firepoints[0], firedirs[0]);
            Weapons         = new BaseWeapon[1];
            Weapons[0]      = new BaseWeapon(20, 10, weaponpoints, ShotMode.BURST);
        }
예제 #5
0
        public Turret(Vector2d vec, double facing, IController c) : base(vec, facing, c)
        {
            Mesh       = Loader.GetMesh("turret.mesh");
            Dangerness = 5;

            Moment      = 200.0;
            Mass        = 1000.0;
            Vulnerable  = true;
            ThrustForce = 0.0;
            DragAmount  = 0.9;
            TurnForce   = 10.0;
            RDragAmount = 0.8;
            BrakeDrag   = 0.90;

            Hits        = MaxHits = 20;
            MaxEnergy   = Energy = 100;
            EnergyRegen = 1;

            Vector2d[] firepoints = new Vector2d[3];
            firepoints[0].X = 20;
            firepoints[0].Y = 1;
            Vector2d[] firedirs = new Vector2d[3];
            firedirs[0].X = 1;
            firedirs[0].Y = 0.00;

            WeaponPoint[] weaponpoints = new WeaponPoint[3];
            weaponpoints[0] = WeaponFactory.VulcanPoint(firepoints[0], firedirs[0]);
            Weapons         = new BaseWeapon[1];
            Weapons[0]      = new BaseWeapon(2, 1, weaponpoints, ShotMode.BURST);
        }
예제 #6
0
 public Feral(Vector2d loc, double facing, IController ai) : base(loc, facing, ai)
 {
     Mesh = Loader.GetMesh("feral.mesh");
     Vector2d[] firepoints = new Vector2d[1];
     firepoints[0].X = 25;
     firepoints[0].Y = 0;
     Vector2d[] firedirs = new Vector2d[1];
     firedirs[0].X = 1;
     firedirs[0].Y = 0;
     WeaponPoint[] weaponpoints = new WeaponPoint[1];
     weaponpoints[0] = WeaponFactory.PulseBeamPoint(firepoints[0], firedirs[0]);
     Weapons         = new BaseWeapon[1];
     Weapons[0]      = new BaseWeapon(20, 10, weaponpoints, ShotMode.BURST);
 }
예제 #7
0
        public Spider(Vector2d loc, double facing, IController ai) : base(loc, facing, ai)
        {
            Mesh = Loader.GetMesh("spider.mesh");

            Vector2d[] firepoints = new Vector2d[2];
            firepoints[0].X = 25;
            firepoints[0].Y = 1;
            firepoints[0].X = 25;
            firepoints[0].Y = -1;
            Vector2d[] firedirs = new Vector2d[1];
            firedirs[0].X = 1;
            firedirs[0].Y = 0;
            WeaponPoint[] weaponpoints = new WeaponPoint[1];
            weaponpoints[0] = WeaponFactory.FireballPoint(firepoints[0], firedirs[0]);
            weaponpoints[0] = WeaponFactory.FireballPoint(firepoints[1], firedirs[0]);
            Weapons         = new BaseWeapon[1];
            Weapons[0]      = new BaseWeapon(10, 10, weaponpoints, ShotMode.BURST);
        }
예제 #8
0
        public Player(Vector2d vec, double facing, IController c) : base(vec, facing, c)
        {
            Mesh = Loader.GetMesh("player.mesh");

            Moment      = 200.0;
            Mass        = 1000.0;
            Vulnerable  = true;
            ThrustForce = 500.0;
            DragAmount  = 0.9;
            TurnForce   = 10.0;
            RDragAmount = 0.8;
            BrakeDrag   = 0.90;

            Hits        = MaxHits = 100;
            MaxEnergy   = Energy = 100;
            EnergyRegen = 1;

            Vector2d[] firepoints = new Vector2d[2];
            firepoints[0].X = 23;
            firepoints[0].Y = 5;
            firepoints[1].X = 23;
            firepoints[1].Y = -5;
            Vector2d[] firedirs = new Vector2d[2];
            firedirs[0].X = 1;
            firedirs[0].Y = 0;
            firedirs[1].X = 1;
            firedirs[1].Y = 0;
            WeaponPoint[] weaponpoints1 = new WeaponPoint[2];
            WeaponPoint[] weaponpoints2 = new WeaponPoint[2];
            WeaponPoint[] weaponpoints3 = new WeaponPoint[2];
            weaponpoints1[0] = WeaponFactory.VulcanPoint(firepoints[0], firedirs[0]);
            weaponpoints1[1] = WeaponFactory.VulcanPoint(firepoints[1], firedirs[1]);
            weaponpoints2[0] = WeaponFactory.GrenadePoint(firepoints[0], firedirs[0]);
            weaponpoints2[1] = WeaponFactory.GrenadePoint(firepoints[1], firedirs[1]);
            weaponpoints3[0] = WeaponFactory.PulsarPoint(firepoints[0], firedirs[0]);
            weaponpoints3[1] = WeaponFactory.PulsarPoint(firepoints[1], firedirs[1]);

            Weapons    = new BaseWeapon[3];
            Weapons[0] = new BaseWeapon(1, 3, weaponpoints1, ShotMode.CYCLE);
            Weapons[1] = new BaseWeapon(5, 15, weaponpoints2, ShotMode.BURST);
            Weapons[2] = new BaseWeapon(15, 20, weaponpoints3, ShotMode.BURST);
        }
예제 #9
0
        public Dreadnought(Vector2d loc, double facing, IController ai) : base(loc, facing, ai)
        {
            Mesh        = Loader.GetMesh("dreadnought.mesh");
            Mass        = 20000;
            ThrustForce = 50;
            DragAmount  = 0.4;
            TurnForce   = 0.004;
            RDragAmount = 0.95;
            MaxHits     = Hits = 3500;

            Vector2d[] firepoints = new Vector2d[1];
            firepoints[0].X = 25;
            firepoints[0].Y = 0;
            Vector2d[] firedirs = new Vector2d[1];
            firedirs[0].X = 1;
            firedirs[0].Y = 0;
            WeaponPoint[] weaponpoints = new WeaponPoint[1];
            weaponpoints[0] = WeaponFactory.PhantomHammerPoint(firepoints[0], firedirs[0]);
            Weapons         = new BaseWeapon[1];
            Weapons[0]      = new BaseWeapon(50, 10, weaponpoints, ShotMode.BURST);
        }
예제 #10
0
        public BaseShip(Vector2d loc, double facing, IController ai) : base(loc, facing)
        {
            Collider           = new CircleCollider(loc, 10);
            Control            = ai;
            Control.Controlled = this;
            Target             = null;

            Moment      = 20.0;
            Mass        = 100.0;
            Hits        = MaxHits = 100;
            Vulnerable  = true;
            ThrustForce = 10.0;
            DragAmount  = 0.9;
            TurnForce   = 1.0;
            RDragAmount = 0.8;
            BrakeDrag   = 0.90;
            MaxVel      = 10;

            Hits        = MaxHits = 100;
            MaxEnergy   = Energy = 100;
            EnergyRegen = 1;


            Vector2d[] firepoints = new Vector2d[2];
            firepoints[0].X = 20;
            firepoints[0].Y = 2;
            firepoints[1].X = 20;
            firepoints[1].Y = -2;
            Vector2d[] firedirs = new Vector2d[2];
            firedirs[0].X = 1;
            firedirs[0].Y = 0;
            firedirs[1].X = 1;
            firedirs[1].Y = 0;
            WeaponPoint[] weaponpoints = new WeaponPoint[3];
            weaponpoints[0] = WeaponFactory.VulcanPoint(firepoints[0], firedirs[0]);
            weaponpoints[1] = WeaponFactory.VulcanPoint(firepoints[1], firedirs[1]);
            Weapons         = new BaseWeapon[1];
            Weapons[0]      = new BaseWeapon(0, 2, weaponpoints, ShotMode.CYCLE);
        }
예제 #11
0
        public DeathTurret(Vector2d loc, double facing, IController c) : base(loc, facing, c)
        {
            Mesh       = Loader.GetMesh("deathturret.mesh");
            Dangerness = 10;

            Moment      = 100.0;
            Mass        = 2000.0;
            Vulnerable  = true;
            ThrustForce = 0.0;
            DragAmount  = 0.9;
            TurnForce   = 1.0;
            RDragAmount = 0.8;
            BrakeDrag   = 0.90;

            Hits        = MaxHits = 60;
            MaxEnergy   = Energy = 100;
            EnergyRegen = 1;



            Vector2d[] firepoints = new Vector2d[3];
            firepoints[0].X = 20;
            firepoints[0].Y = 10;
            firepoints[1].X = 20;
            firepoints[1].Y = -10;
            Vector2d[] firedirs = new Vector2d[3];
            firedirs[0].X = 1;
            firedirs[0].Y = 0.05;
            firedirs[1].X = 1;
            firedirs[1].Y = -0.05;

            WeaponPoint[] weaponpoints = new WeaponPoint[3];
            weaponpoints[0] = WeaponFactory.VulcanPoint(firepoints[0], firedirs[0]);
            weaponpoints[1] = WeaponFactory.VulcanPoint(firepoints[1], firedirs[1]);
            Weapons         = new BaseWeapon[1];
            Weapons[0]      = new BaseWeapon(1, 10, weaponpoints, ShotMode.CYCLE);
        }