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