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; }
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; }
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); }