public JetpackEnemy Create(Challenge c, string img, int fc, bool left, int y, int w, int h, float speed, int rad, int diff) { JetpackEnemy enemy = (JetpackEnemy)FindOrMakeEnemy(); enemy.ForceFeedback = ForceFeedback; enemy.Reset(c, img, fc, left, (int)(left ? (CycGame.View.X - (rgen.NextDouble() * 32)) : (CycGame.View.Width / 2 + (rgen.NextDouble() * 32))), y, w, h, speed, rad, diff); return enemy; }
public virtual void Reset(Challenge c, string img, int fc, CollisionStyle col, bool left, int xp, int yp, int w, int h, int diff) { challenge = c; Difficulty = diff; collisionStyle = col; frameCount = fc; assetName = img; LoadContent(); Play("default"); bounds = new Rectangle(0, 0, w, h); int x = 0; if (left) { x = xp - SpriteWidth; leftToRight = true; } else { x = xp; leftToRight = false; } startPosition = new Vector2(x, yp); position = startPosition; velocity = new Vector2(0, 0); alive = true; visible = true; VisualWidth = w; VisualHeight = h; c.EnemyCreated(this); }
//-------------------------------------------------------------------------------- // CODE FOR WHAT THE GAME ACTUALLY SENDS TO THE PLAYER //-------------------------------------------------------------------------------- protected override void SetupChallenges() { const int INT5 = 68; const int MID = INT5*2; #region Demo Level /* Challenge wave0_0 = new Challenge(this, Game, 4); wave0_0.AddBeat(new ChallengeBeat(0, new EnemyMaker[] { MakeJerkEnemy(40), MakeJerkEnemy(100), MakeJerkEnemy(250) })); TriggerChallenge(0, wave0_0); Challenge wave1_0 = new Challenge(this, Game, 8); wave1_0.AddBeat(new ChallengeBeat(0, new EnemyMaker[] { MakeLoopEnemy(50), MakeLoopEnemy(150) })); wave1_0.AddBeat(new ChallengeBeat(2, new EnemyMaker[] { MakeLoopEnemy(100) })); TriggerChallenge(0, wave1_0); Challenge wave2_0 = new Challenge(this, Game, 12); AddStaticBlock(wave2_0, 20, 1, 9); TriggerChallenge(0, wave2_0); Challenge wave3_0 = new Challenge(this, Game, 16); AddEssBeats(wave3_0, 100, 12); TriggerChallenge(0, wave3_0); Challenge wave4_0 = new Challenge(this, Game, 20); wave4_0.AddBeat(new ChallengeBeat(0, new EnemyMaker[] { MakePongEnemy(0) })); TriggerChallenge(0, wave4_0); Challenge wave5_0 = new Challenge(this, Game, 30); AddStaticWall(wave5_0, 20, 9, 3); ; TriggerChallenge(0, wave5_0); Challenge wave6_0 = new Challenge(this, Game, 31); AddStaticWall(wave6_0, 20, 9, 4); ; TriggerChallenge(0, wave6_0); Challenge wave7_0 = new Challenge(this, Game, 32); AddStaticWall(wave7_0, 20, 9, 5); ; TriggerChallenge(0, wave7_0); Challenge wave8_0 = new Challenge(this, Game, 33); AddStaticWall(wave8_0, 20, 9, 6); ; TriggerChallenge(0, wave8_0); Challenge wave9_0 = new Challenge(this, Game, 34); AddStaticWall(wave9_0, 20, 9, 6); ; TriggerChallenge(0, wave9_0); */ #endregion #region Intro Challenge wave1_0 = new Challenge(this, Game, 3); AddSpread(wave1_0, 1, 0, 2, 0); AddSpread(wave1_0, 1, INT5/2, 3, 4); AddSpread(wave1_0, 1, INT5, 3, 8); AddSpread(wave1_0, 1, 0, 3, 12); TriggerChallenge(0, wave1_0); Challenge wave2_0 = new Challenge(this, Game, 9); AddSpread(wave2_0, 1, 0, 2, 2); AddSpread(wave2_0, 2, INT5, 3, 4); AddSpread(wave2_0, 2, INT5*2, 3, 6); AddSpread(wave2_0, 1, 0, 3, 8); TriggerChallenge(0, wave2_0); Challenge wave3_0 = new Challenge(this, Game, 13); wave3_0.AddBeat(new ChallengeBeat(2, new EnemyMaker[] { MakeStaticEnemy(MID) })); wave3_0.AddBeat(new ChallengeBeat(4, new EnemyMaker[] { MakeJerkEnemy(MID+INT5), MakeJerkEnemy(MID-INT5) })); TriggerChallenge(0, wave3_0); Challenge wave4_0 = new Challenge(this, Game, 19); AddSpread(wave4_0, 3, INT5, 9, 0); wave4_0.AddBeat(new ChallengeBeat(4, new EnemyMaker[] { MakePongEnemy(0), MakeStaticEnemy(MID+INT5/2), MakeStaticEnemy(MID-INT5/2) })); AddSpread(wave4_0, 3, INT5, 9, 8); //AddEssBeats(wave4_0, MID + 100, 8, 12); AddSpread(wave4_0, 2, INT5, 9, 12); //AddEssBeats(wave4_0, MID - 100, 8, 12); TriggerChallenge(0, wave4_0); Challenge wave5_0 = new Challenge(this, Game, 25); wave5_0.AddBeat(new ChallengeBeat(2, new EnemyMaker[] { MakeLoopEnemy(MID) })); wave5_0.AddBeat(new ChallengeBeat(6, new EnemyMaker[] { MakeLoopEnemy(MID+80), MakeLoopEnemy(MID-80) })); TriggerChallenge(0, wave5_0); Challenge wave6_0 = new Challenge(this, Game, 29); wave6_0.AddBeat(new ChallengeBeat(2, new EnemyMaker[] { MakeStaticEnemy(MID-90), MakeStaticEnemy(MID+90) })); wave6_0.AddBeat(new ChallengeBeat(4, new EnemyMaker[] { MakeStaticEnemy(MID-30), MakeStaticEnemy(MID+30) })); wave6_0.AddBeat(new ChallengeBeat(6, new EnemyMaker[] { MakeStaticEnemy(MID+30), MakeStaticEnemy(MID-30) })); wave6_0.AddBeat(new ChallengeBeat(8, new EnemyMaker[] { MakeStaticEnemy(MID-90), MakeStaticEnemy(MID+90) })); AddSpread(wave6_0, 3, 60, 4, 16); AddSpread(wave6_0, 4, 60, 5, 24); AddEssBeats(wave6_0, MID - 90, 5, 32); AddEssBeats(wave6_0, MID + 90, 5, 32); TriggerChallenge(0, wave6_0); #endregion #region verse1 Challenge wave7_0 = new Challenge(this, Game, 34); wave7_0.AddBeat(new ChallengeBeat(0, new EnemyMaker[] { MakePongEnemy(0), MakeStaticEnemy(MID-30), MakeStaticEnemy(MID+30) })); wave7_0.AddBeat(new ChallengeBeat(8, new EnemyMaker[] { MakeStaticEnemy(MID-60), MakeStaticEnemy(MID+60) })); TriggerChallenge(0, wave7_0); Challenge wave8_0 = new Challenge(this, Game, 38); AddSpread(wave8_0, 3, 90, 4, 0); AddSpread(wave8_0, 3, 60, 4, 4); AddSpread(wave8_0, 3, 30, 4, 8); AddSpread(wave8_0, 1, 60, 4, 12); //AddEssBeats(wave6_0, MID - 90, 5, 32); TriggerChallenge(0, wave8_0); Challenge wave9_0 = new Challenge(this, Game, 42); wave9_0.AddBeat(new ChallengeBeat(0, new EnemyMaker[] { MakeJerkEnemy(MID-60), MakeJerkEnemy(MID+60) })); AddEssBeats(wave9_0, MID, 5, 8); TriggerChallenge(0, wave9_0); Challenge wave10_0 = new Challenge(this, Game, 46); AddStaticBlock(wave10_0, 60, 5, 5, 0); wave10_0.AddBeat(new ChallengeBeat(0, new EnemyMaker[] { MakePongEnemy(0) })); TriggerChallenge(0, wave10_0); #endregion #region verse2 Challenge wave11_0 = new Challenge(this, Game, 50); wave11_0.AddBeat(new ChallengeBeat(0, new EnemyMaker[] { MakeLoopEnemy(MID+60), MakeLoopEnemy(MID-60) })); AddSpread(wave11_0, 6, 30, 7, 8); wave11_0.AddBeat(new ChallengeBeat(8, new EnemyMaker[] { MakeLoopEnemy(MID+60), MakeLoopEnemy(MID-60) })); TriggerChallenge(0, wave11_0); Challenge wave12_0 = new Challenge(this, Game, 54); wave12_0.AddBeat(new ChallengeBeat(0, new EnemyMaker[] { MakeStaticEnemy(MID-90), MakeJerkEnemy(MID+90) })); wave12_0.AddBeat(new ChallengeBeat(4, new EnemyMaker[] { MakeStaticEnemy(MID-30), MakeJerkEnemy(MID+30) })); wave12_0.AddBeat(new ChallengeBeat(8, new EnemyMaker[] { MakeStaticEnemy(MID+30), MakeJerkEnemy(MID-30) })); wave12_0.AddBeat(new ChallengeBeat(12, new EnemyMaker[] { MakeJerkEnemy(MID-90), MakeStaticEnemy(MID+90) })); TriggerChallenge(0, wave12_0); Challenge wave13_0 = new Challenge(this, Game, 58); wave13_0.AddBeat(new ChallengeBeat(0, new EnemyMaker[] { MakeStaticEnemy(MID-105), MakePongEnemy(0) })); wave13_0.AddBeat(new ChallengeBeat(2, new EnemyMaker[] { MakeStaticEnemy(MID-75) })); wave13_0.AddBeat(new ChallengeBeat(4, new EnemyMaker[] { MakeStaticEnemy(MID-45), MakeStaticEnemy(MID+60) })); wave13_0.AddBeat(new ChallengeBeat(6, new EnemyMaker[] { MakeStaticEnemy(MID-15) })); wave13_0.AddBeat(new ChallengeBeat(8, new EnemyMaker[] { MakeStaticEnemy(MID+15) })); wave13_0.AddBeat(new ChallengeBeat(10, new EnemyMaker[] { MakeStaticEnemy(MID+45), MakeStaticEnemy(MID-60) })); wave13_0.AddBeat(new ChallengeBeat(12, new EnemyMaker[] { MakeStaticEnemy(MID+75) })); wave13_0.AddBeat(new ChallengeBeat(14, new EnemyMaker[] { MakeStaticEnemy(MID+105) })); TriggerChallenge(0, wave13_0); Challenge wave14_0 = new Challenge(this, Game, 62); AddEssBeats(wave14_0, MID - 60, 5, 0); AddEssBeats(wave14_0, MID + 60, 5, 0); AddEssBeats(wave14_0, MID, 5, 4); AddEssBeats(wave14_0, MID - 90, 5, 8); AddEssBeats(wave14_0, MID + 90, 5, 8); AddEssBeats(wave14_0, MID, 5, 12); TriggerChallenge(0, wave14_0); #endregion #region bridge Challenge wave15_0 = new Challenge(this, Game, 66); AddStaticWall(wave15_0, 15, 9, 0, 0); AddStaticWall(wave15_0, 15, 9, 1, 4); AddStaticWall(wave15_0, 15, 9, 2, 8); AddStaticWall(wave15_0, 15, 9, 3, 12); TriggerChallenge(0, wave15_0); Challenge wave16_0 = new Challenge(this, Game, 70); AddStaticWall(wave16_0, 15, 9, 4, 0); AddStaticWall(wave16_0, 15, 9, 5, 4); AddStaticWall(wave16_0, 15, 9, 4, 8); AddStaticWall(wave16_0, 15, 9, 5, 9); AddStaticWall(wave16_0, 15, 9, 6, 10); AddStaticWall(wave16_0, 15, 9, 7, 11); TriggerChallenge(0, wave16_0); Challenge wave17_0 = new Challenge(this, Game, 73); AddSpread(wave17_0, 5, 45, 2, 0); wave17_0.AddBeat(new ChallengeBeat(0, new EnemyMaker[] { MakeJerkEnemy(MID-15) })); AddSpread(wave17_0, 5, 60, 2, 2); wave17_0.AddBeat(new ChallengeBeat(2, new EnemyMaker[] { MakeJerkEnemy(MID+15) })); AddSpread(wave17_0, 5, 45, 2, 4); AddSpread(wave17_0, 5, 60, 2, 6); wave17_0.AddBeat(new ChallengeBeat(8, new EnemyMaker[] { MakeLoopEnemy(MID+60), MakeLoopEnemy(MID-60), MakeJerkEnemy(MID+60), MakeJerkEnemy(MID-60), MakeStaticEnemy(15), MakeStaticEnemy(285) })); wave17_0.AddBeat(new ChallengeBeat(10, new EnemyMaker[] { MakeLoopEnemy(MID+45), MakeLoopEnemy(MID-45) })); wave17_0.AddBeat(new ChallengeBeat(12, new EnemyMaker[] { MakeLoopEnemy(MID+60), MakeLoopEnemy(MID-60), MakeJerkEnemy(MID), MakeStaticEnemy(15), MakeStaticEnemy(285) })); wave17_0.AddBeat(new ChallengeBeat(14, new EnemyMaker[] { MakeLoopEnemy(MID+45), MakeLoopEnemy(MID-45) })); TriggerChallenge(0, wave17_0); Challenge wave18_0 = new Challenge(this, Game, 77); AddSpread(wave18_0, 1, 0, 9, 0); wave18_0.AddBeat(new ChallengeBeat(0, new EnemyMaker[] { MakeLoopEnemy(MID-100), MakeLoopEnemy(MID+100) })); AddSpread(wave18_0, 2, 30, 9, 1); AddSpread(wave18_0, 2, 60, 9, 2); AddSpread(wave18_0, 2, 90, 9, 3); wave18_0.AddBeat(new ChallengeBeat(3, new EnemyMaker[] { MakeLoopEnemy(MID-100), MakeLoopEnemy(MID+100), MakeJerkEnemy(MID), MakeJerkEnemy(MID+15), MakeJerkEnemy(MID-15) })); AddSpread(wave18_0, 2, 60, 9, 4); AddSpread(wave18_0, 2, 30, 9, 5); AddSpread(wave18_0, 1, 0, 9, 6); AddStaticBlock(wave18_0, 15, 3, 10, 7); AddEssBeats(wave18_0, 30, 8, 8); AddEssBeats(wave18_0, 270, 8, 8); AddEssBeats(wave18_0, MID, 8, 8); TriggerChallenge(0, wave18_0); #endregion #region verse3 Challenge wave19_0 = new Challenge(this, Game, 81); wave19_0.AddBeat(new ChallengeBeat(0, new EnemyMaker[] { MakeLoopEnemy(MID-15), MakeLoopEnemy(MID+75), MakeLoopEnemy(MID-105), MakePongEnemy(0) })); wave19_0.AddBeat(new ChallengeBeat(2, new EnemyMaker[] { MakeLoopEnemy(MID+15), MakeLoopEnemy(MID+105), MakeLoopEnemy(MID-75), MakePongEnemy(0) })); wave19_0.AddBeat(new ChallengeBeat(4, new EnemyMaker[] { MakeJerkEnemy(MID+15), MakeJerkEnemy(MID+105), MakeJerkEnemy(MID-75), MakePongEnemy(0) })); wave19_0.AddBeat(new ChallengeBeat(6, new EnemyMaker[] { MakeJerkEnemy(MID+15), MakeJerkEnemy(MID+105), MakeJerkEnemy(MID-75), MakePongEnemy(0) })); AddStaticWall(wave19_0, 15, 10, 10, 8); AddSpread(wave19_0, 9, 30, 4, 9); AddStaticWall(wave19_0, 15, 10, 10, 10); AddSpread(wave19_0, 9, 30, 4, 11); TriggerChallenge(0, wave19_0); Challenge wave20_0 = new Challenge(this, Game, 85); wave20_0.AddBeat(new ChallengeBeat(0, new EnemyMaker[] { MakeLoopEnemy(MID), MakeLoopEnemy(MID+90), MakeLoopEnemy(MID-90) })); AddStaticWall(wave20_0, 15, 10, 3, 0); AddStaticWall(wave20_0, 15, 10, 4, 1); AddStaticWall(wave20_0, 15, 10, 5, 2); AddStaticWall(wave20_0, 15, 10, 6, 3); wave20_0.AddBeat(new ChallengeBeat(3, new EnemyMaker[] { MakePongEnemy(0) })); AddStaticWall(wave20_0, 15, 10, 7, 4); wave20_0.AddBeat(new ChallengeBeat(4, new EnemyMaker[] { MakeJerkEnemy(30), MakeJerkEnemy(60), MakeJerkEnemy(90), MakeJerkEnemy(120), MakeJerkEnemy(150), MakeJerkEnemy(180), MakeJerkEnemy(210), MakeJerkEnemy(240), MakeJerkEnemy(270) })); wave20_0.AddBeat(new ChallengeBeat(4, new EnemyMaker[] { MakePongEnemy(0) })); AddStaticWall(wave20_0, 15, 10, 6, 5); wave20_0.AddBeat(new ChallengeBeat(5, new EnemyMaker[] { MakePongEnemy(0) })); AddStaticWall(wave20_0, 15, 10, 5, 6); wave20_0.AddBeat(new ChallengeBeat(6, new EnemyMaker[] { MakePongEnemy(0) })); AddStaticWall(wave20_0, 15, 10, 4, 7); wave20_0.AddBeat(new ChallengeBeat(7, new EnemyMaker[] { MakePongEnemy(0) })); AddStaticWall(wave20_0, 15, 10, 3, 8); wave20_0.AddBeat(new ChallengeBeat(8, new EnemyMaker[] { MakePongEnemy(0) })); AddStaticWall(wave20_0, 15, 10, 4, 9); wave20_0.AddBeat(new ChallengeBeat(9, new EnemyMaker[] { MakePongEnemy(0) })); AddStaticWall(wave20_0, 15, 10, 5, 10); wave20_0.AddBeat(new ChallengeBeat(10, new EnemyMaker[] { MakePongEnemy(0) })); AddStaticWall(wave20_0, 15, 10, 6, 11); wave20_0.AddBeat(new ChallengeBeat(11, new EnemyMaker[] { MakePongEnemy(0) })); wave20_0.AddBeat(new ChallengeBeat(12, new EnemyMaker[] { MakeJerkEnemy(30), MakeJerkEnemy(60), MakeJerkEnemy(90), MakeJerkEnemy(120), MakeJerkEnemy(150), MakeJerkEnemy(180), MakeJerkEnemy(210), MakeJerkEnemy(240), MakeJerkEnemy(270) })); //AddStaticWall(wave20_0, 15, 10, 7, 12); AddStaticWall(wave20_0, 15, 10, 8, 13); AddEssBeats(wave20_0, 15, 16, 16); AddEssBeats(wave20_0, 45, 16, 16); AddEssBeats(wave20_0, 75, 16, 16); AddEssBeats(wave20_0, 105, 16, 16); AddEssBeats(wave20_0, 135, 16, 16); AddEssBeats(wave20_0, 165, 16, 16); AddEssBeats(wave20_0, 195, 16, 16); AddEssBeats(wave20_0, 225, 16, 16); AddEssBeats(wave20_0, 255, 16, 16); AddEssBeats(wave20_0, 285, 16, 16); TriggerChallenge(0, wave20_0); #endregion }
protected void AddStaticWall(Challenge c, int y, int h, int gap, int beat) { int tempy = y; int temph = h; while (h > 0) { if (h != gap) { c.AddBeat(new ChallengeBeat(beat, new EnemyMaker[] { MakeStaticEnemy(y) })); y += 30; h--; } else { y += 40; h--; } } }
protected void AddStaticBlock(Challenge c, int y, int w, int h, int beat) { int tempy = y; int temph = h; int tempw = w; while (w > 0) { while (h > 0) { c.AddBeat(new ChallengeBeat(beat+((2 * tempw) - (2 * w)), new EnemyMaker[] { MakeStaticEnemy(y) })); y += 30; h--; } y = tempy; h = temph; w--; } }
protected void AddSpread(Challenge c, int number, int interval, int gap, int beat) { int tempy = 0; int temph = 0; if (number % 2 == 1) { tempy = MID - (((number - 1) / 2)*interval); } else { tempy = (MID + interval / 2) - (interval*number/2); } while (temph < number) { if (temph != gap) { c.AddBeat(new ChallengeBeat(beat, new EnemyMaker[] { MakeStaticEnemy(tempy) })); tempy += interval; temph++; } else { tempy += interval; temph ++; } } }
//-------------------------------------------------------------------------------- // DEFINE ENEMY GROUPS //-------------------------------------------------------------------------------- //protected ChallengeBeat MakeEssString(int y) //{ // EnemyMaker[] makers = new EnemyMaker[] { MakeEssEnemy(0, y), MakeEssEnemy(16, y) }; // EnemyMaker[] moreMakers = new EnemyMaker[] { MakeEssEnemy(32, y) }; // makers.Concat(moreMakers); //} protected void AddEssBeats(Challenge c, int y, int length, int beat) { int templength = length; while (length > 0) { c.AddBeat(new ChallengeBeat(beat+(templength - length), new EnemyMaker[] { MakeEssEnemy(y) })); length--; } }
public CycSprite Create(Challenge c, string img, int fc, CollisionStyle col, string curveSet, bool left, int y, int w, int h, double timeScale, int diff) { ShipEnemy enemy = (ShipEnemy)FindOrMakeEnemy(); enemy.Reset(c, img, fc, col, curveSet, left, left ? 0 : CycGame.View.Width, y, w, h, timeScale, diff); return enemy; }
protected void TriggerOtherPlayerChallenge() { Challenge left = new Challenge(this, Game, (int)Math.Floor(Game.CurrentMeasure)); Challenge right = new Challenge(this, Game, (int)Math.Floor(Game.CurrentMeasure)); CoalesceChallengeBeats(left, right); leftChallenges.Add(left); rightChallenges.Add(right); }
protected virtual void CoalesceChallengeBeats(Challenge l, Challenge r) { ChallengeBeat[] leftBeats = CoalesceChallengeBeatEnemies(true, NextMeasureLeftDifficulty); ChallengeBeat[] rightBeats = CoalesceChallengeBeatEnemies(false, NextMeasureRightDifficulty); foreach (ChallengeBeat b in leftBeats) { l.AddBeat(b); } foreach (ChallengeBeat b in rightBeats) { r.AddBeat(b); } }
public void TriggerChallenge(int gradeLevel, Challenge c) { challenges[gradeLevel].Add(c); c.CycGame = this; c.Game = Game; }
protected override void SetupChallenges() { #region Demo Level //Challenge testChallenge = new Challenge(this, Game, 4); //testChallenge.AddBeat(new ChallengeBeat(0, new EnemyMaker[] { MakeEnemy(false, 1), MakeEnemy(false, 1) })); //testChallenge.AddBeat(new ChallengeBeat(2, new EnemyMaker[] { MakeEnemy(true, 1), MakeEnemy(true, 1) })); //TriggerChallenge(0, testChallenge); #endregion #region Intro Challenge wave1_0 = new Challenge(this, Game, 3); wave1_0.AddBeat(new ChallengeBeat(0, new EnemyMaker[] { MakeSpiderEnemy(1,1) })); wave1_0.AddBeat(new ChallengeBeat(4, new EnemyMaker[] { MakeRobotEnemy(1,1) })); wave1_0.AddBeat(new ChallengeBeat(8, new EnemyMaker[] { MakeSpiderEnemy(1,1), MakeSpiderEnemy(1,1) })); TriggerChallenge(0, wave1_0); Challenge wave2_0 = new Challenge(this, Game, 9); wave2_0.AddBeat(new ChallengeBeat(2, new EnemyMaker[] { MakeFrogEnemy(1,2) })); wave2_0.AddBeat(new ChallengeBeat(4, new EnemyMaker[] { MakeFrogEnemy(1,2) })); wave2_0.AddBeat(new ChallengeBeat(6, new EnemyMaker[] { MakeSpiderEnemy(1,2) })); wave2_0.AddBeat(new ChallengeBeat(8, new EnemyMaker[] { MakeFrogEnemy(1,2) })); TriggerChallenge(0, wave2_0); Challenge wave3_0 = new Challenge(this, Game, 13); wave3_0.AddBeat(new ChallengeBeat(2, new EnemyMaker[] { MakeFrogEnemy(1,1) })); wave3_0.AddBeat(new ChallengeBeat(4, new EnemyMaker[] { MakeFrogEnemy(1,1) })); TriggerChallenge(0, wave3_0); Challenge wave4_0 = new Challenge(this, Game, 19); wave4_0.AddBeat(new ChallengeBeat(0, new EnemyMaker[] { MakeRobotEnemy(1,1), MakeHoverEnemy(100, 1, 2) })); wave4_0.AddBeat(new ChallengeBeat(4, new EnemyMaker[] { MakeFrogEnemy(1,1) })); wave4_0.AddBeat(new ChallengeBeat(8, new EnemyMaker[] { MakeSpiderEnemy(1,1) })); wave4_0.AddBeat(new ChallengeBeat(10, new EnemyMaker[] { MakeSpiderEnemy(1,1) })); wave4_0.AddBeat(new ChallengeBeat(12, new EnemyMaker[] { MakeSpiderEnemy(1,1) })); TriggerChallenge(0, wave4_0); Challenge wave5_0 = new Challenge(this, Game, 25); wave5_0.AddBeat(new ChallengeBeat(2, new EnemyMaker[] { MakeHoverEnemy(30, 1, 1), MakeHoverEnemy(80, 1, 1), MakeHoverEnemy(130, 1, 1), MakeHoverEnemy(180, 1, 1), MakeHoverEnemy(230, 1, 1) })); TriggerChallenge(0, wave5_0); Challenge wave6_0 = new Challenge(this, Game, 29); wave6_0.AddBeat(new ChallengeBeat(2, new EnemyMaker[] { MakeRobotEnemy(1,1) })); wave6_0.AddBeat(new ChallengeBeat(4, new EnemyMaker[] { MakeRobotEnemy(1,1) })); wave6_0.AddBeat(new ChallengeBeat(6, new EnemyMaker[] { MakeRobotEnemy(1,1) })); wave6_0.AddBeat(new ChallengeBeat(8, new EnemyMaker[] { MakeRobotEnemy(1,1) })); TriggerChallenge(0, wave6_0); #endregion #region verse1 Challenge wave7_0 = new Challenge(this, Game, 34); wave7_0.AddBeat(new ChallengeBeat(0, new EnemyMaker[] { MakeHoverEnemy(0,1,2), MakeHoverEnemy(30,1,2), MakeHoverEnemy(60,1,2), MakeHoverEnemy(90,1,2), MakeHoverEnemy(120,1,2), MakeHoverEnemy(150,1, 2), MakeHoverEnemy(180,1,2), MakeHoverEnemy(210,1,2), MakeHoverEnemy (240,1,2) })); wave7_0.AddBeat(new ChallengeBeat(8, new EnemyMaker[] { MakeRobotEnemy(2,1) })); TriggerChallenge(0, wave7_0); Challenge wave8_0 = new Challenge(this, Game, 38); wave8_0.AddBeat(new ChallengeBeat(0, new EnemyMaker[] { MakeHoverEnemy(260,1,2) })); wave8_0.AddBeat(new ChallengeBeat(4, new EnemyMaker[] { MakeHoverEnemy(230,1,2) })); wave8_0.AddBeat(new ChallengeBeat(8, new EnemyMaker[] { MakeHoverEnemy(200,1,2) })); wave8_0.AddBeat(new ChallengeBeat(12, new EnemyMaker[] { MakeSpiderEnemy(1,1) })); wave8_0.AddBeat(new ChallengeBeat(16, new EnemyMaker[] { MakeHoverEnemy(170,1,2) })); wave8_0.AddBeat(new ChallengeBeat(20, new EnemyMaker[] { MakeHoverEnemy(140,1,2) })); TriggerChallenge(0, wave8_0); Challenge wave9_0 = new Challenge(this, Game, 42); wave9_0.AddBeat(new ChallengeBeat(0, new EnemyMaker[] { MakeHoverEnemy(0,1,1), MakeHoverEnemy(30,1,1), MakeFrogEnemy(1,1) })); wave9_0.AddBeat(new ChallengeBeat(0, new EnemyMaker[] { MakeHoverEnemy(0,1,1), MakeHoverEnemy(30,1,1), MakeRobotEnemy(1,1) })); TriggerChallenge(0, wave9_0); Challenge wave10_0 = new Challenge(this, Game, 46); wave10_0.AddBeat(new ChallengeBeat(0, new EnemyMaker[] { MakeSpiderEnemy(1,1), MakeHoverEnemy(50, 1, 1) })); wave10_0.AddBeat(new ChallengeBeat(2, new EnemyMaker[] { MakeSpiderEnemy(1,1), MakeHoverEnemy(50, 1, 1) })); wave10_0.AddBeat(new ChallengeBeat(4, new EnemyMaker[] { MakeSpiderEnemy(1,1), MakeHoverEnemy(50, 1, 1) })); wave10_0.AddBeat(new ChallengeBeat(6, new EnemyMaker[] { MakeSpiderEnemy(1,1), MakeHoverEnemy(50, 1, 1) })); TriggerChallenge(0, wave10_0); #endregion #region verse2 Challenge wave11_0 = new Challenge(this, Game, 50); wave11_0.AddBeat(new ChallengeBeat(0, new EnemyMaker[] { MakeHoverEnemy(140,1,1) })); wave11_0.AddBeat(new ChallengeBeat(2, new EnemyMaker[] { MakeHoverEnemy(170,1,1), MakeHoverEnemy(110,1,1) })); wave11_0.AddBeat(new ChallengeBeat(4, new EnemyMaker[] { MakeHoverEnemy(200,1,1), MakeHoverEnemy(80,1,1) })); wave11_0.AddBeat(new ChallengeBeat(6, new EnemyMaker[] { MakeHoverEnemy(230,1,1), MakeHoverEnemy(50,1,1) })); wave11_0.AddBeat(new ChallengeBeat(8, new EnemyMaker[] { MakeHoverEnemy(260,1,1), MakeHoverEnemy(20,1,1) })); TriggerChallenge(0, wave11_0); Challenge wave12_0 = new Challenge(this, Game, 54); wave12_0.AddBeat(new ChallengeBeat(0, new EnemyMaker[] { MakeSpiderEnemy(1,2) })); TriggerChallenge(0, wave12_0); Challenge wave13_0 = new Challenge(this, Game, 58); wave13_0.AddBeat(new ChallengeBeat(0, new EnemyMaker[] { MakeRobotEnemy(2,1) })); TriggerChallenge(0, wave13_0); Challenge wave14_0 = new Challenge(this, Game, 62); wave14_0.AddBeat(new ChallengeBeat(0, new EnemyMaker[] { MakeFrogEnemy(1,1) })); wave14_0.AddBeat(new ChallengeBeat(8, new EnemyMaker[] { MakeFrogEnemy(1,1) })); TriggerChallenge(0, wave14_0); #endregion #region bridge Challenge wave15_0 = new Challenge(this, Game, 66); wave15_0.AddBeat(new ChallengeBeat(0, new EnemyMaker[] { MakeHoverEnemy(180,1,1) })); wave15_0.AddBeat(new ChallengeBeat(2, new EnemyMaker[] { MakeHoverEnemy(220,1,1) })); wave15_0.AddBeat(new ChallengeBeat(4, new EnemyMaker[] { MakeHoverEnemy(180, 1,1) })); wave15_0.AddBeat(new ChallengeBeat(6, new EnemyMaker[] { MakeHoverEnemy(220, 1,1) })); wave15_0.AddBeat(new ChallengeBeat(8, new EnemyMaker[] { MakeHoverEnemy(180, 1,1) })); wave15_0.AddBeat(new ChallengeBeat(10, new EnemyMaker[] { MakeHoverEnemy(220, 1,1) })); TriggerChallenge(0, wave15_0); Challenge wave16_0 = new Challenge(this, Game, 70); wave16_0.AddBeat(new ChallengeBeat(0, new EnemyMaker[] { MakeRobotEnemy(1,1), MakeHoverEnemy(80, 1,1) })); wave16_0.AddBeat(new ChallengeBeat(4, new EnemyMaker[] { MakeRobotEnemy(1,1), MakeHoverEnemy(80, 1,1) })); wave16_0.AddBeat(new ChallengeBeat(8, new EnemyMaker[] { MakeRobotEnemy(1,1), MakeHoverEnemy(80, 1,1) })); TriggerChallenge(0, wave16_0); Challenge wave17_0 = new Challenge(this, Game, 73); wave17_0.AddBeat(new ChallengeBeat(0, new EnemyMaker[] { MakeHoverEnemy(0,1,1), MakeHoverEnemy(30,1,1), MakeHoverEnemy(60,1,1), MakeHoverEnemy(90,1,1),MakeHoverEnemy(120,1,1),MakeHoverEnemy(150,1,1), MakeHoverEnemy(180,1,1), MakeHoverEnemy(210,1,1), MakeHoverEnemy(240,1,1), MakeHoverEnemy(270,1,1), })); wave17_0.AddBeat(new ChallengeBeat(2, new EnemyMaker[] { MakeHoverEnemy(0,1,1), MakeHoverEnemy(30,1,1), MakeHoverEnemy(60,1,1), MakeHoverEnemy(90,1,1),MakeHoverEnemy(120,1,1),MakeHoverEnemy(150,1,1), MakeHoverEnemy(180,1,1), MakeHoverEnemy(210,1,1), MakeHoverEnemy(240,1,1), MakeHoverEnemy(270,1,1), })); TriggerChallenge(0, wave17_0); Challenge wave18_0 = new Challenge(this, Game, 77); wave18_0.AddBeat(new ChallengeBeat(0, new EnemyMaker[] { MakeSpiderEnemy(1,1), MakeFrogEnemy(1,1) })); wave18_0.AddBeat(new ChallengeBeat(2, new EnemyMaker[] { MakeSpiderEnemy(1,1), })); wave18_0.AddBeat(new ChallengeBeat(4, new EnemyMaker[] { MakeSpiderEnemy(1,1), })); wave18_0.AddBeat(new ChallengeBeat(6, new EnemyMaker[] { MakeSpiderEnemy(1,1), })); wave18_0.AddBeat(new ChallengeBeat(8, new EnemyMaker[] { MakeSpiderEnemy(1,1), })); wave18_0.AddBeat(new ChallengeBeat(10, new EnemyMaker[] { MakeSpiderEnemy(1,1), })); TriggerChallenge(0, wave18_0); #endregion #region verse3 Challenge wave19_0 = new Challenge(this, Game, 79); wave19_0.AddBeat(new ChallengeBeat(0, new EnemyMaker[] { MakeHoverEnemy(0,1,1), MakeHoverEnemy(60,1,1), MakeHoverEnemy(120,1,1), MakeHoverEnemy(180,1,1), MakeHoverEnemy(240,1,1) })); wave19_0.AddBeat(new ChallengeBeat(2, new EnemyMaker[] { MakeHoverEnemy(30,1,1), MakeHoverEnemy(90,1,1), MakeHoverEnemy(150,1,1), MakeHoverEnemy(210,1,1), MakeHoverEnemy(270,1,1) })); wave19_0.AddBeat(new ChallengeBeat(4, new EnemyMaker[] { MakeHoverEnemy(0,1,1), MakeHoverEnemy(60,1,1), MakeHoverEnemy(120,1,1), MakeHoverEnemy(180,1,1), MakeHoverEnemy(240,1,1) })); wave19_0.AddBeat(new ChallengeBeat(6, new EnemyMaker[] { MakeHoverEnemy(30,1,1), MakeHoverEnemy(90,1,1), MakeHoverEnemy(150,1,1), MakeHoverEnemy(210,1,1), MakeHoverEnemy(270,1,1) })); wave19_0.AddBeat(new ChallengeBeat(8, new EnemyMaker[] { MakeHoverEnemy(0,1,1), MakeHoverEnemy(60,1,1), MakeHoverEnemy(120,1,1), MakeHoverEnemy(180,1,1), MakeHoverEnemy(240,1,1) })); wave19_0.AddBeat(new ChallengeBeat(12, new EnemyMaker[] { MakeHoverEnemy(30,1,1), MakeHoverEnemy(90,1,1), MakeHoverEnemy(150,1,1), MakeHoverEnemy(210,1,1), MakeHoverEnemy(270,1,1) })); TriggerChallenge(0, wave19_0); Challenge wave20_0 = new Challenge(this, Game, 82); wave20_0.AddBeat(new ChallengeBeat(0, new EnemyMaker[] { MakeRobotEnemy(5,1), MakeRobotEnemy(3,2) })); TriggerChallenge(0, wave20_0); #endregion }