Require ganon item setting

This commit is contained in:
2026-06-08 23:52:44 -05:00
parent 2eb946a042
commit 5965fd51c7
5 changed files with 24 additions and 3 deletions

View File

@@ -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,

View File

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