private static List <MissionModifier> GetRandomMissionModifiers() { return(new List <MissionModifier>() { MissionModifier.GetRandomMissionModifier() }); }
public static List <AbstractMission> GenerateAllMissionsForRegion() { var dayNumber = GameState.Instance.Day; var missions = new List <AbstractMission> { new KillEnemiesMission() { DaysUntilExpiration = 1000, Difficulty = 1, MaxNumberOfFriendlyCharacters = 3, Name = AbstractMission.GenerateMissionName(), Rewards = new List <AbstractMissionReward> { new GoldMissionReward(60) }, EnemySquad = MissionRules.GetRandomSquadForCurrentActAndDay(SquadType.NORMAL), ProtoSprite = AbstractMission.RetrieveIconFromMissionIconFolder("cash"), MissionModifiers = GetRandomMissionModifiers() }, new KillEnemiesMission() { DaysUntilExpiration = 1000, Difficulty = 1, MaxNumberOfFriendlyCharacters = 3, Name = AbstractMission.GenerateMissionName(), Rewards = new List <AbstractMissionReward> { new GoldMissionReward(60) }, EnemySquad = MissionRules.GetRandomSquadForCurrentActAndDay(SquadType.ELITE), ProtoSprite = AbstractMission.RetrieveIconFromMissionIconFolder("key"), MissionModifiers = GetRandomMissionModifiers() }, new KillEnemiesMission() { DaysUntilExpiration = 1000, Difficulty = 1, MaxNumberOfFriendlyCharacters = 3, Name = AbstractMission.GenerateMissionName(), Rewards = new List <AbstractMissionReward> { new RandomAugmentationMissionReward() }, EnemySquad = MissionRules.GetRandomSquadForCurrentActAndDay(SquadType.NORMAL), ProtoSprite = AbstractMission.RetrieveIconFromMissionIconFolder("relic") }, new GateMission() { DaysUntilExpiration = 1000, Difficulty = 4, MaxNumberOfFriendlyCharacters = 3, Name = AbstractMission.GenerateMissionName(), Rewards = new List <AbstractMissionReward> { new GateBypassMissionReward() }, EnemySquad = MissionRules.GetRandomSquadForCurrentActAndDay(SquadType.BOSS), ProtoSprite = AbstractMission.RetrieveIconFromMissionIconFolder("gate") }, new KillEnemiesMission() { DaysUntilExpiration = 1000, Difficulty = 2, MaxNumberOfFriendlyCharacters = 3, Name = AbstractMission.GenerateMissionName(), Rewards = new List <AbstractMissionReward> { new GateKeyMissionReward() }, EnemySquad = MissionRules.GetEliteSquad(), ProtoSprite = AbstractMission.RetrieveIconFromMissionIconFolder("key") }, new KillEnemiesMission() { DaysUntilExpiration = 1000, Difficulty = 2, MaxNumberOfFriendlyCharacters = 3, Name = AbstractMission.GenerateMissionName(), Rewards = new List <AbstractMissionReward> { new GateKeyMissionReward() }, EnemySquad = MissionRules.GetEliteSquad(), ProtoSprite = AbstractMission.RetrieveIconFromMissionIconFolder("key") } }; foreach (var mission in missions) { mission.Terrain = MissionTerrain.TerrainTypes.PickRandom(); ProbabilityUtils.PerformWithProbability(.2f, () => { var modifier = MissionModifier.GetRandomMissionModifier(); mission.MissionModifiers.Add(modifier); }); mission.Init(); } return(missions); }