Beispiel #1
0
        public override void SetWave()
        {
            switch (Level)
            {
            case 1:
                //                                    12345678901234567890123456789012345678901234567890
                Waves.Add(new WaveLine("Catcher   ", "1111 111111 111111 111111 111111 111111 111111 111"));
                Waves.Add(new WaveLine("Faster    ", "    1      1      1      1      1      1      1   "));
                Waves.Add(new WaveLine("Dragonfly ", "        8          A          C          E        "));
                Waves.Add(new WaveLine("@Shrink   ", " ++          ++          ++          ++         ++"));
                break;

            case 2:
                //                                    12345678901234567890123456789012345678901234567890
                Waves.Add(new WaveLine("Frog      ", "1111 111111 111111 111111 111111 111111 111111 111"));
                Waves.Add(new WaveLine("Faster    ", "    1      1      1      1      1      1      1   "));
                Waves.Add(new WaveLine("Dragonfly ", "        8          A          C          E        "));
                Waves.Add(new WaveLine("Arrow     ", "     4                   5                  6     "));
                Waves.Add(new WaveLine("@Dark     ", "             ++                    ++             "));
                break;

            case 3:
                //                                    12345678901234567890123456789012345678901234567890
                Waves.Add(new WaveLine("Frog      ", "1111 111111 111111 111111 111111 111111 111111 111"));
                Waves.Add(new WaveLine("Faster    ", "    1      1      1      1      1      1      1   "));
                Waves.Add(new WaveLine("Dragonfly ", "                 8               9                "));
                Waves.Add(new WaveLine("Arrow     ", "         4               5                 6      "));
                Waves.Add(new WaveLine("WallA     ", "     2       2       2      2  2  2  2  2    22222"));
                break;

            case 4:
                //                                    12345678901234567890123456789012345678901234567890
                Waves.Add(new WaveLine("Frog      ", "1111 111111 111111 111111 111111 111111 111111 111"));
                Waves.Add(new WaveLine("Faster    ", "    1      1      1      1      1      1      1   "));
                Waves.Add(new WaveLine("Dragonfly ", "       3      4      5      6      7      8     9 "));
                Waves.Add(new WaveLine("Arrow     ", "   2      3      4      5      6      7      8    "));
                Waves.Add(new WaveLine("@Dark     ", "             ++                    ++             "));
                break;

            case 5:
                //                                    12345678901234567890123456789012345678901234567890
                Waves.Add(new WaveLine("Frog      ", "1111 111111 111111 111111 111111 111111 111111 111"));
                Waves.Add(new WaveLine("Faster    ", "    1      1      1      1      1      1      1   "));
                Waves.Add(new WaveLine("Dragonfly ", "  4   4   5   5   6   6   7   7   8   8   9   9555"));
                Waves.Add(new WaveLine("Arrow     ", "    1     1     1    1    1   1   1    1    1   1 "));
                break;

            case 6:
                //                                    12345678901234567890123456789012345678901234567890
                Waves.Add(new WaveLine("Frog      ", "1111 111111 111111 111111 111111 111111 111111 111"));
                Waves.Add(new WaveLine("Faster    ", "    1      1      1      1      1      1      1   "));
                Waves.Add(new WaveLine("Dragonfly ", "33333333333333333333333333333333333333333333333333"));
                Waves.Add(new WaveLine("Arrow     ", "11111111111111111111111111111111111111111111111111"));
                Waves.Add(new WaveLine("Arrow     ", "           111111111111111111111111111111111111111"));
                Waves.Add(new WaveLine("Arrow     ", "                      1111111111111111111111111111"));
                Waves.Add(new WaveLine("Arrow     ", "                                 11111111111111111"));
                Waves.Add(new WaveLine("Arrow     ", "                                            111111"));
                break;
            }
        }
Beispiel #2
0
        protected override void PrepareLevel()
        {
            this.Player = new CharlottePlayer();
            this.Player.AssociatedLevel = this;

            Waves.Add(new List <Projectiles.EnemyProjectiles.EnemyProjectile>
            {
                new Bedsheet(this)
            });
        }
Beispiel #3
0
        protected override void PrepareLevel()
        {
            this.Player = new BobPlayer();
            this.Player.AssociatedLevel = this;

            Waves.Add(new List <Projectiles.EnemyProjectiles.EnemyProjectile>
            {
                new KillerKlownPhish(this)
            });
        }
Beispiel #4
0
        public FieldModelDefault()
        {
            var gs = GameModel.Instance.GameSettings;

            Name         = string.Format("Field {0}", _fieldCtr++);
            Size         = new Vector2Int(20, 20);
            TargetHealth = gs.TargetHealth;
            for (var i = 0; i < gs.NumberOfWaves; ++i)
            {
                Waves.Add(new WaveModelDefault());
            }
        }
Beispiel #5
0
        protected override void PrepareLevel()
        {
            this.Player = new BobPlayer();
            this.Player.AssociatedLevel = this;

            Waves.Add(new List <Projectiles.EnemyProjectiles.EnemyProjectile>
            {
                new Seal1(this),
                new Seal2(this),
                new Seal3(this),
                new Seal4(this)
            });
        }
Beispiel #6
0
        private void StoreWaves()
        {
            var loadedWaves = data.GetChildren("Wave");

            foreach (var loadedWave in loadedWaves)
            {
                Waves.Add(new Wave(loadedWave.GetAttributeValue("WaitTime", 0.0f),
                                   loadedWave.GetAttributeValue("SpawnInterval", 5.0f),
                                   loadedWave.GetAttributeValue("SpawnTypeList"), loadedWave.GetAttributeValue("ShortName"),
                                   loadedWave.GetAttributeValue("MaxTime", 0.0f),
                                   loadedWave.GetAttributeValue("MaxNumber", 1)));
            }
        }
Beispiel #7
0
        protected override int BuildWave()
        {
            var spawn = mSpawnRand.Next(Spawns.Count);

            UnitType++;
            if ((int)UnitType >= (int)EUnitType.MAX)
            {
                UnitType = EUnitType.Basic;
            }

            Waves.Add(new UnitTypeWave(UnitType, Spawns[spawn], SpawnSize, TileSize, mUnitInterval));
            return(spawn);
        }
Beispiel #8
0
        protected override void PrepareLevel()
        {
            Waves.Add(new List <Projectiles.EnemyProjectiles.EnemyProjectile>
            {
                new DummyEnemyProjectile(this, new Vector2(Main.SCREEN_WIDTH + 30, Main.SCREEN_HEIGHT / 2), new Vector2(-3, 0))
            });

            Waves.Add(new List <Projectiles.EnemyProjectiles.EnemyProjectile>
            {
                new DummyEnemyProjectile(this, new Vector2(Main.SCREEN_WIDTH + 30, 100), new Vector2(-3, 0)),
                new DummyEnemyProjectile(this, new Vector2(Main.SCREEN_WIDTH + 60, 300), new Vector2(-3, 0)),
                new DummyEnemyProjectile(this, new Vector2(Main.SCREEN_WIDTH + 80, 500), new Vector2(-3, 0))
            });
        }
Beispiel #9
0
        protected override void PrepareLevel()
        {
            this.Player = new BobPlayer();
            this.Player.AssociatedLevel = this;

            Waves.Add(new List <Projectiles.EnemyProjectiles.EnemyProjectile>
            {
                new NarmSlide(this, 1, Main.SCREEN_WIDTH + 300),
                new NarmSlide(this, 2, Main.SCREEN_WIDTH + 300 + 600),
                new NarmSlide(this, 3, Main.SCREEN_WIDTH + 300 + 1200),
                new NarmSlide(this, 4, Main.SCREEN_WIDTH + 300 + 1800),
                new NarmSlide(this, 5, Main.SCREEN_WIDTH + 300 + 2400),
                new NarmSlide(this, 6, Main.SCREEN_WIDTH + 300 + 3000),
                new NarmSlide(this, 7, Main.SCREEN_WIDTH + 300 + 3600),
                new NarmSlide(this, 8, Main.SCREEN_WIDTH + 300 + 4200),
                new NarmSlide(this, 9, Main.SCREEN_WIDTH + 300 + 4800)
            });
        }
        private void SpawnAliens()
        {
            var waveSize = Match.GetInstance().GetPlayer(PlayerNumber).AlienWaveSize;

            if (Waves.Count == 0)
            {
                Waves.Add(AlienFactory.Build(
                              PlayerNumber,
                              waveSize,
                              DeltaX == 1 ? 1 : Match.GetInstance().Map.Width - 2,
                              DeltaX));
            }
            else
            {
                Waves.Add(AlienFactory.Build(
                              PlayerNumber,
                              waveSize,
                              DeltaX == 1 ? FindLeftMostAlienX() : FindRightMostAlienX(),
                              DeltaX));
            }
        }
Beispiel #11
0
        protected override void PrepareLevel()
        {
            this.Player = new BobPlayer();
            this.Player.AssociatedLevel = this;

            Waves.Add(new List<Projectiles.EnemyProjectiles.EnemyProjectile>
            {
                new PPP(this)
            });

            Waves.Add(new List<Projectiles.EnemyProjectiles.EnemyProjectile>
            {
                new PPP(this),
                new Assailant(this, new Vector2(900, 200)),
                new Assailant(this, new Vector2(900, 400))
            });

            Waves.Add(new List<Projectiles.EnemyProjectiles.EnemyProjectile>
            {
                new PPP(this),
                new FocusedAssailant(this, new Vector2(900, 200)),
                new FocusedAssailant(this, new Vector2(900, 400))
            });

            Waves.Add(new List<Projectiles.EnemyProjectiles.EnemyProjectile>
            {
                new PPP(this, 200),
                new PPP(this, 400),
            });

            Waves.Add(new List<Projectiles.EnemyProjectiles.EnemyProjectile>
            {
                new FocusedAssailant(this, new Vector2(900, 100)),
                new Assailant(this, new Vector2(800, 200)),
                new Assailant(this, new Vector2(700, 300)),
                new PPP(this),
                new Assailant(this, new Vector2(800, 400)),
                new FocusedAssailant(this, new Vector2(900, 500))
            });
        }
Beispiel #12
0
        public void SpawnWave()
        {
            Wave++;

            Region.SendRegionMessage(1152528, Wave.ToString());

            int toSpawn = (int)Math.Ceiling(Math.Max(5, Math.Sqrt(Wave) * 2) * 1.5);
            List <BaseCreature> creatures = new List <BaseCreature>();

            for (int i = 0; i < toSpawn; i++)
            {
                Point3D start = i % 2 == 0 ? StartPoint1 : StartPoint2;

                for (int j = 0; j < 25; j++)
                {
                    int x = start.X + Utility.RandomMinMax(start.X - (StartPointVariance / 2), start.X + (StartPointVariance / 2));
                    int y = start.Y + Utility.RandomMinMax(start.Y - (StartPointVariance / 2), start.Y + (StartPointVariance / 2));
                    int z = this.Map.GetAverageZ(x, y);

                    if (this.Map.CanSpawnMobile(x, y, z))
                    {
                        start = new Point3D(x, y, z);
                        break;
                    }
                }

                int  ran = Utility.RandomMinMax(0, Stage < 10 ? 12 : Stage < 15 ? 14 : 15);
                Type t;

                switch (ran)
                {
                default:
                case 0:
                case 1:
                case 3:
                case 4: t = SpawnTable[(int)VoidType][0]; break;

                case 5:
                case 6:
                case 7:
                case 8: t = SpawnTable[(int)VoidType][1]; break;

                case 9:
                case 10:
                case 11: t = SpawnTable[(int)VoidType][2]; break;

                case 12:
                case 13: t = SpawnTable[(int)VoidType][3]; break;

                case 14:
                case 15: t = SpawnTable[(int)VoidType][4]; break;
                }

                BaseCreature bc = Activator.CreateInstance(t, Wave, true) as BaseCreature;

                if (bc != null)
                {
                    bc.NoLootOnDeath = true;
                    Timer.DelayCall(TimeSpan.FromSeconds((double)i * .75), () =>
                    {
                        if (OnGoing)
                        {
                            bc.MoveToWorld(start, this.Map);
                            bc.Home      = EndPoint;
                            bc.RangeHome = 1;

                            creatures.Add(bc);

                            bc.CurrentWayPoint = GetNearestWaypoint(bc);
                        }
                        else
                        {
                            bc.Delete();
                        }
                    });
                }
            }

            var gate1 = new VoidPoolGate();

            gate1.MoveToWorld(StartPoint1, Map);
            Effects.PlaySound(StartPoint1, Map, 0x20E);

            var gate2 = new VoidPoolGate();

            gate2.MoveToWorld(StartPoint2, Map);
            Effects.PlaySound(StartPoint2, Map, 0x20E);

            Timer.DelayCall(TimeSpan.FromSeconds(toSpawn * .80), () =>
            {
                Effects.SendLocationParticles(EffectItem.Create(gate1.Location, gate1.Map, EffectItem.DefaultDuration), 0x376A, 9, 20, 5042);
                Effects.PlaySound(gate1.GetWorldLocation(), gate1.Map, 0x201);

                Effects.SendLocationParticles(EffectItem.Create(gate2.Location, gate2.Map, EffectItem.DefaultDuration), 0x376A, 9, 20, 5042);
                Effects.PlaySound(gate2.GetWorldLocation(), gate2.Map, 0x201);

                gate1.Delete();
                gate2.Delete();
            });

            Waves.Add(new WaveInfo(Wave, creatures));
            NextWave = GetNextWaveTime();
        }
Beispiel #13
0
 public void AddWave(Wave wave)
 {
     Waves.Add(wave);
 }
 /// <summary>
 /// Добавить волну в уровень
 /// </summary>
 public void AddWave(MonsterWave wave, double period = 10.0)
 {
     Waves.Add(wave);
     WaveTime.Add(period);
 }
Beispiel #15
0
        protected override void PrepareLevel()
        {
            this.Player = new CharlottePlayer();
            this.Player.AssociatedLevel = this;

            Waves.Add(new List <Projectiles.EnemyProjectiles.EnemyProjectile>
            {
                new Skull(this, new Vector2(Main.SCREEN_WIDTH + 30, Main.SCREEN_HEIGHT / 2), new Vector2(-3, 0))
            });

            Waves.Add(new List <Projectiles.EnemyProjectiles.EnemyProjectile>
            {
                new Skull(this, new Vector2(Main.SCREEN_WIDTH + 30, 100), new Vector2(-3, 0)),
                new Skull(this, new Vector2(Main.SCREEN_WIDTH + 60, 300), new Vector2(-3, 0)),
                new Skull(this, new Vector2(Main.SCREEN_WIDTH + 80, 500), new Vector2(-3, 0))
            });

            Waves.Add(new List <Projectiles.EnemyProjectiles.EnemyProjectile>
            {
                new Que(this, new Vector2(Main.SCREEN_WIDTH + 30, 100)),
                new Que(this, new Vector2(Main.SCREEN_WIDTH + 60, 300)),
                new Que(this, new Vector2(Main.SCREEN_WIDTH + 80, 500))
            });

            Waves.Add(new List <Projectiles.EnemyProjectiles.EnemyProjectile>
            {
                new Plastic(this, new Vector2(Main.SCREEN_WIDTH + 30, 100)),
                new Plastic(this, new Vector2(Main.SCREEN_WIDTH + 60, 300)),
                new Plastic(this, new Vector2(Main.SCREEN_WIDTH + 80, 500))
            });

            Waves.Add(new List <Projectiles.EnemyProjectiles.EnemyProjectile>
            {
                new Que(this, new Vector2(Main.SCREEN_WIDTH + 30, 100)),
                new Que(this, new Vector2(Main.SCREEN_WIDTH + 60, 300)),
                new Que(this, new Vector2(Main.SCREEN_WIDTH + 80, 500)),
                new Que(this, new Vector2(Main.SCREEN_WIDTH + 80, 200)),
                new Que(this, new Vector2(Main.SCREEN_WIDTH + 60, 450)),
                new Que(this, new Vector2(Main.SCREEN_WIDTH + 30, 550)),
                new Plastic(this, new Vector2(Main.SCREEN_WIDTH + 30, 200)),
                new Plastic(this, new Vector2(Main.SCREEN_WIDTH + 60, 400)),
                new Plastic(this, new Vector2(Main.SCREEN_WIDTH + 100, 200)),
                new Plastic(this, new Vector2(Main.SCREEN_WIDTH + 300, 400)),
                new Plastic(this, new Vector2(Main.SCREEN_WIDTH + 300, 200)),
                new Plastic(this, new Vector2(Main.SCREEN_WIDTH + 300, 400)),
                new Plastic(this, new Vector2(Main.SCREEN_WIDTH + 300, 200)),
                new Plastic(this, new Vector2(Main.SCREEN_WIDTH + 300, 400))
            });

            Waves.Add(new List <Projectiles.EnemyProjectiles.EnemyProjectile>
            {
                new Skull(this, new Vector2(Main.SCREEN_WIDTH + 30, 100), new Vector2(-3, 0)),
                new Skull(this, new Vector2(Main.SCREEN_WIDTH + 60, 300), new Vector2(-3, 0)),
                new Skull(this, new Vector2(Main.SCREEN_WIDTH + 80, 500), new Vector2(-3, 0)),
                new Plastic(this, new Vector2(Main.SCREEN_WIDTH + 30, 200)),
                new Plastic(this, new Vector2(Main.SCREEN_WIDTH + 60, 400)),
                new Plastic(this, new Vector2(Main.SCREEN_WIDTH + 100, 200)),
                new Plastic(this, new Vector2(Main.SCREEN_WIDTH + 300, 400)),
                new Plastic(this, new Vector2(Main.SCREEN_WIDTH + 300, 200)),
                new Plastic(this, new Vector2(Main.SCREEN_WIDTH + 300, 400)),
                new Plastic(this, new Vector2(Main.SCREEN_WIDTH + 300, 200)),
                new Plastic(this, new Vector2(Main.SCREEN_WIDTH + 300, 400)),
            });
        }
Beispiel #16
0
        public override void SetWave()
        {
            switch (Level)
            {
            case 1:
                //                                    12345678901234567890123456789012345678901234567890
                Waves.Add(new WaveLine("Catcher   ", "1111 111111 111111 111111 111111 111111 111111 111"));
                Waves.Add(new WaveLine("Faster    ", "    1      1      1      1      1      1      1   "));
                Waves.Add(new WaveLine("Blocker   ", "                    1                     1       "));
                Waves.Add(new WaveLine("Mine      ", "        4                  5                  6   "));
                Waves.Add(new WaveLine("@Shrink   ", "              ++++                     ++++       "));
                break;

            case 2:
                //                                    12345678901234567890123456789012345678901234567890
                Waves.Add(new WaveLine("Catcher   ", "1111 111111 111111 111111 111111 111111 111111 111"));
                Waves.Add(new WaveLine("Faster    ", "    1      1      1      1      1      1      1   "));
                Waves.Add(new WaveLine("Blocker   ", "        1           1            1          1     "));
                Waves.Add(new WaveLine("Mine      ", "              4               5                  6"));
                Waves.Add(new WaveLine("Meteor    ", "   4                6                  8          "));
                Waves.Add(new WaveLine("@Dark     ", "          ++                    ++                "));
                break;

            case 3:
                //                                    12345678901234567890123456789012345678901234567890
                Waves.Add(new WaveLine("Catcher   ", "1111 111111 111111 111111 111111 111111 111111 111"));
                Waves.Add(new WaveLine("Faster    ", "    1      1      1      1      1      1      1   "));
                Waves.Add(new WaveLine("WallA     ", "  1         2         3         4         5    444"));
                Waves.Add(new WaveLine("WallB     ", "       2         3         4         5            "));
                Waves.Add(new WaveLine("Mine      ", "          3              4                  5     "));
                Waves.Add(new WaveLine("Meteor    ", "   4                6                  8          "));
                break;

            case 4:
                //                                    12345678901234567890123456789012345678901234567890
                Waves.Add(new WaveLine("Catcher   ", "1111 111111 111111 111111 111111 111111 111111 111"));
                Waves.Add(new WaveLine("Faster    ", "    1      1      1      1      1      1      1   "));
                Waves.Add(new WaveLine("Mine      ", "  6     7           8       9          4444       "));
                Waves.Add(new WaveLine("MineSplit ", "              6                 8            6 6 6"));
                Waves.Add(new WaveLine("Meteor    ", "      4                6             8            "));
                break;

            case 5:
                //                                    12345678901234567890123456789012345678901234567890
                Waves.Add(new WaveLine("Catcher   ", "1111 111111 111111 111111 111111 111111 111111 111"));
                Waves.Add(new WaveLine("Faster    ", "    1      1      1      1      1      1      1   "));
                Waves.Add(new WaveLine("Series    ", "         5         6         7         8         9"));
                Waves.Add(new WaveLine("WallA     ", "  1           3           5           7          9"));
                Waves.Add(new WaveLine("Mine      ", "        3            4                     5      "));
                Waves.Add(new WaveLine("Bomber      ", "           1                  1                 "));
                Waves.Add(new WaveLine("Meteor    ", "   2   2   2   2   2   2   2   2   2   2   2   2  "));
                break;

            case 6:
                //                                    12345678901234567890123456789012345678901234567890
                Waves.Add(new WaveLine("Catcher   ", "1111 111111 111111 111111 111111 111111 111111 111"));
                Waves.Add(new WaveLine("Faster    ", "    1      1      1      1      1      1      1   "));
                Waves.Add(new WaveLine("Blocker   ", "        1                              1          "));
                Waves.Add(new WaveLine("Series    ", "   4          5         6        7           8    "));
                Waves.Add(new WaveLine("WallA     ", "         6         A         E          I         "));
                Waves.Add(new WaveLine("Mine      ", "            4            5           6         7  "));
                Waves.Add(new WaveLine("MineSplit ", "                  6                      7        "));
                Waves.Add(new WaveLine("Meteor    ", "     4        5        6        7        8      9 "));
                break;
            }
        }
Beispiel #17
0
        protected override void PrepareLevel()
        {
            this.Player = new BobPlayer();
            this.Player.AssociatedLevel = this;

            Waves.Add(new List <Projectiles.EnemyProjectiles.EnemyProjectile>
            {
                new Punkfish(this, new Vector2(Main.SCREEN_WIDTH + 30, Main.SCREEN_HEIGHT / 2), new Vector2(-3, 0))
            });

            Waves.Add(new List <Projectiles.EnemyProjectiles.EnemyProjectile>
            {
                new Punkfish2(this, new Vector2(Main.SCREEN_WIDTH + 30, Main.SCREEN_HEIGHT / 2), new Vector2(-3, 0)),
                new Punkfish2(this, new Vector2(Main.SCREEN_WIDTH + 30, Main.SCREEN_HEIGHT / 2 - 200), new Vector2(-3, 0)),
                new Punkfish2(this, new Vector2(Main.SCREEN_WIDTH + 30, Main.SCREEN_HEIGHT / 2 + 200), new Vector2(-3, 0))
            });

            Waves.Add(new List <Projectiles.EnemyProjectiles.EnemyProjectile>
            {
                new Punkfish3(this, new Vector2(Main.SCREEN_WIDTH + 30, Main.SCREEN_HEIGHT / 2), new Vector2(-3, 0)),
                new Punkfish3(this, new Vector2(Main.SCREEN_WIDTH + 30, Main.SCREEN_HEIGHT / 2 - 200), new Vector2(-3, 0)),
                new Punkfish3(this, new Vector2(Main.SCREEN_WIDTH + 30, Main.SCREEN_HEIGHT / 2 + 200), new Vector2(-3, 0))
            });

            Waves.Add(new List <Projectiles.EnemyProjectiles.EnemyProjectile>
            {
                new Punkfish3(this, new Vector2(Main.SCREEN_WIDTH + 30, Main.SCREEN_HEIGHT / 2), new Vector2(-3, 0)),
                new Punkfish2(this, new Vector2(Main.SCREEN_WIDTH + 130, Main.SCREEN_HEIGHT / 2 - 200), new Vector2(-3, 0)),
                new Punkfish2(this, new Vector2(Main.SCREEN_WIDTH + 130, Main.SCREEN_HEIGHT / 2 + 200), new Vector2(-3, 0)),
                new Punkfish(this, new Vector2(Main.SCREEN_WIDTH + 230, Main.SCREEN_HEIGHT / 2), new Vector2(-3, 0)),
            });

            //Oh Noes! The miniboss!
            Waves.Add(new List <Projectiles.EnemyProjectiles.EnemyProjectile>
            {
                new Anarfish(this)
            });

            Waves.Add(new List <Projectiles.EnemyProjectiles.EnemyProjectile>
            {
                new Punkfish3(this, new Vector2(Main.SCREEN_WIDTH + 130, Main.SCREEN_HEIGHT / 2), new Vector2(-3, 0)),
                new Punkfish(this, new Vector2(Main.SCREEN_WIDTH + 30, Main.SCREEN_HEIGHT / 2), new Vector2(-3, 0)),
                new Punkfish(this, new Vector2(Main.SCREEN_WIDTH + 130, Main.SCREEN_HEIGHT / 2 - 200), new Vector2(-3, 0)),
                new Punkfish(this, new Vector2(Main.SCREEN_WIDTH + 130, Main.SCREEN_HEIGHT / 2 + 200), new Vector2(-3, 0)),
                new Punkfish(this, new Vector2(Main.SCREEN_WIDTH + 230, Main.SCREEN_HEIGHT / 2), new Vector2(-3, 0)),
                new Punkfish3(this, new Vector2(Main.SCREEN_WIDTH + 130, Main.SCREEN_HEIGHT / 2), new Vector2(-3, 0))
            });

            Waves.Add(new List <Projectiles.EnemyProjectiles.EnemyProjectile>
            {
                new Punkfish3(this, new Vector2(Main.SCREEN_WIDTH + 30, Main.SCREEN_HEIGHT / 7 * 2), new Vector2(-5, 0)),
                new Punkfish3(this, new Vector2(Main.SCREEN_WIDTH + 30, Main.SCREEN_HEIGHT / 7 * 3), new Vector2(-5, 0)),
                new Punkfish3(this, new Vector2(Main.SCREEN_WIDTH + 30, Main.SCREEN_HEIGHT / 7 * 4), new Vector2(-5, 0)),
                new Punkfish3(this, new Vector2(Main.SCREEN_WIDTH + 30, Main.SCREEN_HEIGHT / 7 * 5), new Vector2(-5, 0)),
                new Punkfish3(this, new Vector2(Main.SCREEN_WIDTH + 30, Main.SCREEN_HEIGHT / 7 * 6), new Vector2(-5, 0)),

                new Punkfish3(this, new Vector2(Main.SCREEN_WIDTH + 130, Main.SCREEN_HEIGHT / 7 * 1), new Vector2(-5, 0)),
                new Punkfish3(this, new Vector2(Main.SCREEN_WIDTH + 130, Main.SCREEN_HEIGHT / 7 * 2), new Vector2(-5, 0)),
                new Punkfish3(this, new Vector2(Main.SCREEN_WIDTH + 130, Main.SCREEN_HEIGHT / 7 * 3), new Vector2(-5, 0)),
                new Punkfish3(this, new Vector2(Main.SCREEN_WIDTH + 130, Main.SCREEN_HEIGHT / 7 * 4), new Vector2(-5, 0)),
                new Punkfish3(this, new Vector2(Main.SCREEN_WIDTH + 130, Main.SCREEN_HEIGHT / 7 * 5), new Vector2(-5, 0)),
            });

            Waves.Add(new List <Projectiles.EnemyProjectiles.EnemyProjectile>
            {
                new Punkfish2(this, new Vector2(Main.SCREEN_WIDTH + 30, Main.SCREEN_HEIGHT / 2), new Vector2(-3, 0))
            });

            Waves.Add(new List <Projectiles.EnemyProjectiles.EnemyProjectile>
            {
                new Skull(this, new Vector2(Main.SCREEN_WIDTH + 30, Main.SCREEN_HEIGHT / 5), new Vector2(-10, 0)),
                new Skull(this, new Vector2(Main.SCREEN_WIDTH + 30, Main.SCREEN_HEIGHT / 5 * 2), new Vector2(-10, 0)),
                new Skull(this, new Vector2(Main.SCREEN_WIDTH + 30, Main.SCREEN_HEIGHT / 5 * 3), new Vector2(-10, 0)),
                new Que(this, new Vector2(Main.SCREEN_WIDTH + 30, Main.SCREEN_HEIGHT / 5))
            });

            Waves.Add(new List <Projectiles.EnemyProjectiles.EnemyProjectile>
            {
                new Plastic(this, new Vector2(Main.SCREEN_WIDTH + 30, Main.SCREEN_HEIGHT / 10)),
                new Plastic(this, new Vector2(Main.SCREEN_WIDTH + 30, Main.SCREEN_HEIGHT / 10 * 2)),
                new Plastic(this, new Vector2(Main.SCREEN_WIDTH + 30, Main.SCREEN_HEIGHT / 10 * 5)),
                new Plastic(this, new Vector2(Main.SCREEN_WIDTH + 30, Main.SCREEN_HEIGHT / 10 * 6)),
                new Plastic(this, new Vector2(Main.SCREEN_WIDTH + 30, Main.SCREEN_HEIGHT / 10 * 7)),
                new Plastic(this, new Vector2(Main.SCREEN_WIDTH + 30, Main.SCREEN_HEIGHT / 10 * 9)),
                new Plastic(this, new Vector2(Main.SCREEN_WIDTH + 130, Main.SCREEN_HEIGHT / 10)),
                new Plastic(this, new Vector2(Main.SCREEN_WIDTH + 130, Main.SCREEN_HEIGHT / 10 * 3)),
                new Plastic(this, new Vector2(Main.SCREEN_WIDTH + 130, Main.SCREEN_HEIGHT / 10 * 4)),
                new Plastic(this, new Vector2(Main.SCREEN_WIDTH + 130, Main.SCREEN_HEIGHT / 10 * 5)),
                new Plastic(this, new Vector2(Main.SCREEN_WIDTH + 130, Main.SCREEN_HEIGHT / 10 * 8)),
                new Plastic(this, new Vector2(Main.SCREEN_WIDTH + 130, Main.SCREEN_HEIGHT / 10 * 9)),
                new Plastic(this, new Vector2(Main.SCREEN_WIDTH + 230, Main.SCREEN_HEIGHT / 10)),
                new Plastic(this, new Vector2(Main.SCREEN_WIDTH + 230, Main.SCREEN_HEIGHT / 10 * 1)),
                new Plastic(this, new Vector2(Main.SCREEN_WIDTH + 230, Main.SCREEN_HEIGHT / 10 * 2)),
                new Plastic(this, new Vector2(Main.SCREEN_WIDTH + 230, Main.SCREEN_HEIGHT / 10 * 4)),
                new Plastic(this, new Vector2(Main.SCREEN_WIDTH + 230, Main.SCREEN_HEIGHT / 10 * 6)),
                new Plastic(this, new Vector2(Main.SCREEN_WIDTH + 230, Main.SCREEN_HEIGHT / 10 * 8)),
            });

            for (int i = 0; i < 10; i++)
            {
                Maples.Add(new Maple());
            }
        }