Example #1
0
        public SnakeBoss()
            : base(new Vector2(Screen.X/2, 0))
        {
            Tesseract.Engine.GameWorld.GameState.InstantiateCurrent(new StoryElement(LevelManager.world.Reward));
            SetState(SnakeState.Left);
            stateTime = 0;
            speed = .3f;
            health = 5;
            nBuild.PolyColor = Color.Fuchsia;
            radius *= 2f;
            Invulnerable = true;
            Orbs = new List<Enemy>();
            cooldown = 0;
            //init orbs
            float s = .5f;
            rand = new Random();
            for (int i = 0; i <3; i++)
            {
                EnemyMelee o = new EnemyMelee(Vector2.Zero, -1);
                o.Position = Position;
                o.nBuild.PolyColor = Color.ForestGreen;
                o.radius = radius*s;
                o.health = 5;

                s -= .1f;
                    o.Invulnerable = true;
                Orbs.Add(o);
            }
            Orbs.Last().Invulnerable = false;
            tailCount = Orbs.Count+1;
        }
Example #2
0
        public SpinningBoss()
            : base(new Vector2(Screen.X, 0))
        {
            Tesseract.Engine.GameWorld.GameState.InstantiateCurrent(new StoryElement(LevelManager.world.Reward));
            lastHit = -(float)Math.PI / 2;
            leftPieces = new List<Enemy>();
            rightPieces = new List<Enemy>();
            emitter = ParticleFactory.CreateStream(Color.Fuchsia, 4, 2, 64);

            for (int i = 0; i < 3; ++i)
            {
                EnemyMelee em = new EnemyMelee(Vector2.Zero, -1);
                em.radius *= 0.75f;
                leftPieces.Add(em);
            }
            for (int i = 0; i < 3; ++i)
            {
                EnemyMelee em = new EnemyMelee(Vector2.Zero, -1);
                em.radius *= 0.75f;
                rightPieces.Add(em);
            }
            leftOrb = new EnemyMelee(Vector2.Zero, -1);
            leftOrb.radius *= 1.5f;
            leftOrb.nBuild.PolyColor = Color.Fuchsia;
            leftOrb.Invulnerable = true;
            rightOrb = new EnemyMelee(Vector2.Zero, -1);
            rightOrb.radius *= 1.5f;
            rightOrb.nBuild.PolyColor = Color.Fuchsia;
            rightOrb.Invulnerable = true;

            spinTarget = Rotation + 1;
            Rotation = 0;
            state = SpinState.Spin;
            stateTime = 0;
            health = 8;
            nBuild.PolyColor = Color.Fuchsia;
            radius *= 1.5f;
            Invulnerable = true;
        }
Example #3
0
 public WormBoss()
     : base(new Vector2(Screen.X, 0))
 {
     emitter = ParticleFactory.CreateStream(Color.Violet, 4, 2, 64);
     stateTime = 0;
     health = 8;
     nBuild.PolyColor = Color.Brown;
     radius *= 1.5f;
     Invulnerable = true;
     Enemy o = new EnemyMelee(new Vector2((float)(Position.X - (radius * 1.5)), (float)Position.Y), 5);
     o.radius = radius / 2;
     Tail.Add(o);
     for (int i = 0; i < 6; i++)
     {
         o = new EnemyMelee(new Vector2((float)(Tail.Last().Position.X-(Tail.Last().radius)),(float)Tail.Last().Position.Y),5);
         o.radius = radius / 2;
         if (i == 5)
             o.nBuild.PolyColor = Color.Red;
         Tail.Add(o);
     }
     SetState(WormState.Left);
 }