Skip to content

Commit 0a9d576

Browse files
committed
Separate Bagu's Note from Town Quest Items
I think it's just more fun to have Bagu be a special case where you have to find his woods in case you happen to need his note to cross Saria, instead of it just being another required tile to check. So, I think it's good if you can add the Mirror and Water without that being tied to adding Bagu's Note.
1 parent 80f3d30 commit 0a9d576

5 files changed

Lines changed: 32 additions & 19 deletions

File tree

CrossPlatformUI/Lang/Resources.resx

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -318,12 +318,15 @@ spells to the pool of items that can appear in general locations.</value>
318318
adds the Up and Down stabs to the general item pool.</value>
319319
</data>
320320
<data name="IncludeTownQuestItemsinShuffleToolTip" xml:space="preserve">
321-
<value>Adds Bagu&apos;s letter (allowing passage of the Saria moat), the mirror (allowing the spell in
322-
Saria), and the water (allowing the spell in Nabooru) to be added to the general pool. An
323-
item from the general pool will replace them when you talk to Bagu, check under the table,
324-
or check the fountain.</value>
321+
<value>Adds the mirror (allowing the spell in Saria), and the water (allowing the spell in Nabooru)
322+
to be added to the general pool. An item from the general pool will replace the item you get when you check
323+
under the table, or check the fountain.</value>
325324
</data>
326-
<data name="ShuffleSmallItemsToolTip" xml:space="preserve">
325+
<data name="IncludeBagusNoteInShuffleToolTip" xml:space="preserve">
326+
<value>Adds Bagu&apos;s letter (allowing passage of the Saria moat) to the general pool. An item
327+
from the general pool will replace the item you get when you talk to Bagu.</value>
328+
</data>
329+
<data name="ShuffleSmallItemsToolTip" xml:space="preserve">
327330
<value>Replaces each small item (red/blue jar, key, 1-up, or P-Bag) with another random small
328331
item. This includes item locations in the shuffle pool and general locations not shuffled
329332
that contain small items.</value>

CrossPlatformUI/Views/Tabs/ItemsView.axaml

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -61,20 +61,21 @@
6161
>
6262
<ToolTip.Tip><TextBlock Text="{x:Static lang:Resources.IncludeSpellsinShuffleToolTip}"/></ToolTip.Tip>
6363
</CheckBox>
64-
<CheckBox
65-
IsThreeState="True"
66-
IsChecked="{Binding Main.Config.IncludeSwordTechsInShuffle}"
67-
Content="Include Sword Techniques in Shuffle"
68-
>
64+
<CheckBox IsChecked="{Binding Main.Config.IncludeSwordTechsInShuffle}"
65+
IsThreeState="True"
66+
Content="Include Sword Techniques in Shuffle">
6967
<ToolTip.Tip><TextBlock Text="{x:Static lang:Resources.IncludeSwordTechniquesinShuffleToolTip}"/></ToolTip.Tip>
7068
</CheckBox>
71-
<CheckBox
72-
IsThreeState="True"
73-
IsChecked="{Binding Main.Config.IncludeQuestItemsInShuffle}"
74-
Content="Include Town Quest Items in Shuffle"
75-
>
69+
<CheckBox IsChecked="{Binding Main.Config.IncludeQuestItemsInShuffle}"
70+
IsThreeState="True"
71+
Content="Include Mirror &amp; Water in Shuffle">
7672
<ToolTip.Tip><TextBlock Text="{x:Static lang:Resources.IncludeTownQuestItemsinShuffleToolTip}"/></ToolTip.Tip>
7773
</CheckBox>
74+
<CheckBox IsChecked="{Binding Main.Config.IncludeBagusNoteInShuffle}"
75+
IsThreeState="True"
76+
Content="Include Bagu's Letter in Shuffle">
77+
<ToolTip.Tip><TextBlock Text="{x:Static lang:Resources.IncludeBagusNoteInShuffleToolTip}"/></ToolTip.Tip>
78+
</CheckBox>
7879
</StackPanel>
7980
<StackPanel Grid.Column="1">
8081
<CheckBox

RandomizerCore/Hyrule.cs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -648,9 +648,12 @@ private void ShuffleItems()
648648
ShuffleSpells();
649649
}
650650

651-
if (props.IncludeQuestItemsInShuffle)
651+
if (props.IncludeBagusNoteInShuffle)
652652
{
653653
shufflableItems.Add(Collectable.BAGUS_NOTE);
654+
}
655+
if (props.IncludeQuestItemsInShuffle)
656+
{
654657
if (props.StartWithSpellItems)
655658
{
656659
shufflableItems.Add(minorItems[r.Next(minorItems.Count)]);
@@ -2148,7 +2151,7 @@ List<Location> GetPalacesWithItems(IEnumerable<Location> palaces) =>
21482151
{
21492152
itemLocs.Add(westHyrule.pbagCave);
21502153
}
2151-
if (props.IncludeQuestItemsInShuffle)
2154+
if (props.IncludeBagusNoteInShuffle)
21522155
{
21532156
itemLocs.Add(westHyrule.bagu);
21542157
}

RandomizerCore/RandomizerConfiguration.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -350,6 +350,7 @@ private bool palaceStylesAnyMetastyleSelected()
350350
public bool blockingRoomsInAnyPalaceIncluded() => palaceStylesAreNotAllVanillaOrShuffled();
351351

352352
[Reactive]
353+
[ConditionallyIncludeInFlags]
353354
private PalaceDropStyle palaceDropStyle;
354355
public bool palaceDropStyleIncluded() => palaceStylesAreNotAllVanillaOrShuffled();
355356

@@ -559,6 +560,9 @@ private bool palaceStylesAnyMetastyleSelected()
559560
[Reactive]
560561
private bool? includeQuestItemsInShuffle;
561562

563+
[Reactive]
564+
private bool? includeBagusNoteInShuffle;
565+
562566
//Drops
563567
[Reactive]
564568
private bool shuffleItemDropFrequency;
@@ -1417,9 +1421,10 @@ public RandomizerProperties Export(Random r)
14171421
properties.PbagItemShuffle = includePBagCavesInItemShuffle ?? GetIndeterminateFlagValue(r);
14181422
properties.StartWithSpellItems = removeSpellItems ?? GetIndeterminateFlagValue(r);
14191423
properties.ShufflePbagXp = shufflePBagAmounts ?? GetIndeterminateFlagValue(r);
1420-
properties.IncludeQuestItemsInShuffle = includeQuestItemsInShuffle ?? GetIndeterminateFlagValue(r);
14211424
properties.IncludeSpellsInShuffle = includeSpellsInShuffle ?? GetIndeterminateFlagValue(r);
14221425
properties.IncludeSwordTechsInShuffle = includeSwordTechsInShuffle ?? GetIndeterminateFlagValue(r);
1426+
properties.IncludeQuestItemsInShuffle = includeQuestItemsInShuffle ?? GetIndeterminateFlagValue(r);
1427+
properties.IncludeBagusNoteInShuffle = IncludeBagusNoteInShuffle ?? GetIndeterminateFlagValue(r);
14231428

14241429
//Drops
14251430
properties.ShuffleItemDropFrequency = shuffleItemDropFrequency;

RandomizerCore/RandomizerProperties.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -171,8 +171,9 @@ public class RandomizerProperties
171171
public bool MixOverworldPalaceItems { get; set; }
172172
public bool IncludeSpellsInShuffle { get; set; }
173173
public bool IncludeSwordTechsInShuffle { get; set; }
174-
//Bagu's note / fountain water / saria mirror
174+
//Fountain water / Saria mirror
175175
public bool IncludeQuestItemsInShuffle { get; set; }
176+
public bool IncludeBagusNoteInShuffle { get; set; }
176177
public bool RandomizeSmallItems { get; set; }
177178
public bool ExtraKeys { get; set; }
178179
public bool AllowImportantItemDuplicates { get; set; }

0 commit comments

Comments
 (0)