예제 #1
0
        public static List <LevelStep> CreateSteps(List <Point> spawns) // Fix rapide : choix entre 3 modèles de niveaux
        {
            var idLevel = World.Random.Next(3);

            if (idLevel == 0)
            {
                var steps = new List <LevelStep>
                {
                    new LevelStep(3, Actors.OrangeCultist(), 2, spawns[World.Random.Next(spawns.Count)]),
                    new LevelStep(15, Actors.GreenCultist(), 2, spawns[World.Random.Next(spawns.Count)]),
                    new LevelStep(15, Actors.OrangeCultist(), 3, spawns[World.Random.Next(spawns.Count)]),
                    new LevelStep(15, Actors.GreenCultist(), 3, spawns[World.Random.Next(spawns.Count)]),
                    new LevelStep(12, null, 0, null)
                };
                return(steps);
            }
            else if (idLevel == 1)
            {
                var tmp1  = World.Random.Next(spawns.Count);
                var steps = new List <LevelStep>
                {
                    new LevelStep(3, Actors.OrangeCultist(), 2, spawns[tmp1]),
                    new LevelStep(0, Actors.GreenCultist(), 2, spawns[tmp1]),
                    new LevelStep(30, Actors.GreenCultist(), 1, spawns[World.Random.Next(spawns.Count)]),
                    new LevelStep(0, Actors.GreenCultist(), 1, spawns[World.Random.Next(spawns.Count)]),
                    new LevelStep(0, Actors.GreenCultist(), 1, spawns[World.Random.Next(spawns.Count)]),
                    new LevelStep(18, Actors.OrangeCultist(), 3, spawns[World.Random.Next(spawns.Count)]),
                    new LevelStep(12, null, 0, null)
                };
                return(steps);
            }
            else
            {
                var steps = new List <LevelStep>
                {
                    new LevelStep(3, Actors.GreenCultist(), 1, spawns[World.Random.Next(spawns.Count)]),
                    new LevelStep(4, Actors.OrangeCultist(), 1, spawns[World.Random.Next(spawns.Count)]),
                    new LevelStep(5, Actors.GreenCultist(), 1, spawns[World.Random.Next(spawns.Count)]),
                    new LevelStep(5, Actors.OrangeCultist(), 1, spawns[World.Random.Next(spawns.Count)]),
                    new LevelStep(15, Actors.GreenCultist(), 3, spawns[World.Random.Next(spawns.Count)]),
                    new LevelStep(18, Actors.OrangeCultist(), 3, spawns[World.Random.Next(spawns.Count)]),
                    new LevelStep(12, null, 0, null)
                };
                return(steps);
            }
        }
예제 #2
0
 /// <summary>
 /// Retourne un sort d'entrave à distance du boss.
 /// Celui-ci ralentit de plus en plus les joueurs, où qu'ils soient.
 /// </summary>
 /// <returns> Le sort </returns>
 public static SpellData CthulhuMeteor()
 {
     if (_cthulhuMeteor == null)
     {
         _cthulhuMeteor = new SpellData((owner, arg) =>
         {
             var players   = World.GetWorld().GetPlayers();
             var numPlayer = World.Random.Next(players.Count);
             var player    = players[numPlayer];
             var shiftX    = World.Random.Next(CthulhuMeteorDispersion * 2) - CthulhuMeteorDispersion;
             var shiftY    = World.Random.Next(CthulhuMeteorDispersion * 2) - CthulhuMeteorDispersion;
             var position  = player.Position + new Point(shiftX, shiftY);
             new Explosion(position, (CthulhuGhost)owner, Actors.Meteor());
         }, AnimationType.Stand, 0.65, 0, 0, true, 1, 4000);
     }
     return(_cthulhuMeteor);
 }