From 5965fd51c7ba3ec253f99c2454c3b87d57d7d597 Mon Sep 17 00:00:00 2001 From: Kara Alexandra Date: Mon, 8 Jun 2026 23:52:44 -0500 Subject: [PATCH] Require ganon item setting --- ALttPRandomizer/Model/SeedSettings.cs | 9 +++++++++ ALttPRandomizer/Randomizers/BaseRandomizer.cs | 12 ++++++++++++ BaseRandomizer | 2 +- BetaRandomizer | 2 +- PikitRandomizer | 2 +- 5 files changed, 24 insertions(+), 3 deletions(-) diff --git a/ALttPRandomizer/Model/SeedSettings.cs b/ALttPRandomizer/Model/SeedSettings.cs index c101a62..e434cf6 100644 --- a/ALttPRandomizer/Model/SeedSettings.cs +++ b/ALttPRandomizer/Model/SeedSettings.cs @@ -51,6 +51,10 @@ [IgnoreSetting(Apr2025)] public GanonItem GanonItem { get; set; } = GanonItem.Silver; + [NoSettingName] + [IgnoreSetting(Apr2025)] + public RequireGanonItem RequireGanonItem { get; set; } = RequireGanonItem.SilverlessAllowed; + [SettingName("shuffle")] [ForbiddenSetting([Apr2025], EntranceShuffle.Swapped)] public EntranceShuffle EntranceShuffle { get; set; } = EntranceShuffle.Vanilla; @@ -327,6 +331,11 @@ None, } + public enum RequireGanonItem { + SilverlessAllowed, + [AdditionalSetting("--require_ganon_item")] SpecialItemRequired, + } + public enum EntranceShuffle { Vanilla, Full, diff --git a/ALttPRandomizer/Randomizers/BaseRandomizer.cs b/ALttPRandomizer/Randomizers/BaseRandomizer.cs index 31145a7..ce67de0 100644 --- a/ALttPRandomizer/Randomizers/BaseRandomizer.cs +++ b/ALttPRandomizer/Randomizers/BaseRandomizer.cs @@ -18,6 +18,8 @@ public const int MULTI_TRIES = 100; public const int SINGLE_TRIES = 5; + private static readonly Random random = new(); + public BaseRandomizer( AzureStorage azureStorage, CommonSettingsProcessor settingsProcessor, @@ -64,10 +66,20 @@ args.Add("--shuffletavern"); } + if (settings.Randomizer == RandomizerInstance.Beta) { + if (random.NextDouble() < 0.25) { + args.Add("--orange_potion"); + } + } + if (settings.DoorShuffle == DoorShuffle.Vanilla) { settings.DoorTypeMode = DoorTypeMode.Original; } + if (settings.GanonItem == GanonItem.None) { + settings.RequireGanonItem = RequireGanonItem.SilverlessAllowed; + } + foreach (var arg in SettingsProcessor.GetSettings(settings.Randomizer, settings)) { args.Add(arg); } diff --git a/BaseRandomizer b/BaseRandomizer index 36e57bc..68c8d17 160000 --- a/BaseRandomizer +++ b/BaseRandomizer @@ -1 +1 @@ -Subproject commit 36e57bcdf4863cd408ebe7a880fefba9c6569ef1 +Subproject commit 68c8d17d32e944fa5ea8a5bcec3cd04c61d20f2f diff --git a/BetaRandomizer b/BetaRandomizer index b72a045..0bc1a5c 160000 --- a/BetaRandomizer +++ b/BetaRandomizer @@ -1 +1 @@ -Subproject commit b72a04511b21a19e0d87139537c3e00ce16caebd +Subproject commit 0bc1a5c2ad80b7490306793aa86167f5ff910ebf diff --git a/PikitRandomizer b/PikitRandomizer index 1e10673..1d4a77b 160000 --- a/PikitRandomizer +++ b/PikitRandomizer @@ -1 +1 @@ -Subproject commit 1e10673e318753cb0c5d68c989724a7e0170c64c +Subproject commit 1d4a77b8e79639b5f3b3c9e0ee7c5f2056676737