diff --git a/ALttPRandomizer/Model/SeedSettings.cs b/ALttPRandomizer/Model/SeedSettings.cs index 8220d83..8c01c63 100644 --- a/ALttPRandomizer/Model/SeedSettings.cs +++ b/ALttPRandomizer/Model/SeedSettings.cs @@ -87,6 +87,9 @@ [RequiredSetting([Apr2025], PrizeShuffle.Vanilla)] [NoSettingName([Apr2025])] public PrizeShuffle PrizeShuffle { get; set; } = PrizeShuffle.Vanilla; + + [NoSettingName] + public BootsSettings StartingBoots { get; set; } = BootsSettings.None; } public enum RandomizerInstance { @@ -211,4 +214,9 @@ Nearby, Wild, } + + public enum BootsSettings { + None, + [AdditionalSetting("--pseudoboots")] Pseudoboots, + } } diff --git a/ALttPRandomizer/Program.cs b/ALttPRandomizer/Program.cs index 0744ccb..795269d 100644 --- a/ALttPRandomizer/Program.cs +++ b/ALttPRandomizer/Program.cs @@ -49,11 +49,12 @@ }); }); - builder.Services.AddControllers().AddJsonOptions(x => { - x.JsonSerializerOptions.PropertyNameCaseInsensitive = true; - x.JsonSerializerOptions.PropertyNamingPolicy = JsonNamingPolicy.SnakeCaseLower; - x.JsonSerializerOptions.Converters.Add(new JsonStringEnumConverter(JsonNamingPolicy.SnakeCaseLower, false)); - }); + builder.Services.AddControllers() + .AddJsonOptions(x => { + x.JsonSerializerOptions.PropertyNameCaseInsensitive = true; + x.JsonSerializerOptions.PropertyNamingPolicy = JsonNamingPolicy.SnakeCaseLower; + x.JsonSerializerOptions.Converters.Add(new JsonStringEnumConverter(JsonNamingPolicy.SnakeCaseLower, false)); + }); builder.Services.AddSwaggerGen(); var options = new DefaultAzureCredentialOptions(); diff --git a/ALttPRandomizer/SeedController.cs b/ALttPRandomizer/SeedController.cs index b579929..75f4585 100644 --- a/ALttPRandomizer/SeedController.cs +++ b/ALttPRandomizer/SeedController.cs @@ -20,6 +20,9 @@ [Route("/generate")] [HttpPost] public async Task Generate([FromBody] SeedSettings settings) { + if (!ModelState.IsValid) { + return BadRequest(ModelState); + } try { var id = await this.RandomizeService.RandomizeSeed(settings); var url = string.Format("/seed/{0}", id);