summaryrefslogtreecommitdiff
path: root/soh/src
diff options
context:
space:
mode:
authorPepper0ni <93387759+Pepper0ni@users.noreply.github.com>2026-03-05 22:07:06 +0000
committerGitHub <noreply@github.com>2026-03-05 22:07:06 +0000
commit6deff6d749868dc97a699ef362402af89ed77add (patch)
tree8433a9d1f77caedfb7cdb43c60b520b8df014983 /soh/src
parent92a1d260da3739abea9f2c2d3c0feebeb582a1bf (diff)
Enforce mask select properly on completed (#6326)
Diffstat (limited to 'soh/src')
-rw-r--r--soh/src/overlays/misc/ovl_kaleido_scope/z_kaleido_item.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/soh/src/overlays/misc/ovl_kaleido_scope/z_kaleido_item.c b/soh/src/overlays/misc/ovl_kaleido_scope/z_kaleido_item.c
index 7d9ae98c3..16cfd8742 100644
--- a/soh/src/overlays/misc/ovl_kaleido_scope/z_kaleido_item.c
+++ b/soh/src/overlays/misc/ovl_kaleido_scope/z_kaleido_item.c
@@ -322,7 +322,9 @@ void KaleidoScope_HandleItemCycleExtras(PlayState* play, u8 slot, bool canCycle,
bool CanMaskSelect() {
if (IS_RANDO) {
- return (CVarGetInteger(CVAR_ENHANCEMENT("MaskSelect"), 0) && Flags_GetRandomizerInf(RAND_INF_ZELDAS_LETTER) &&
+ return ((CVarGetInteger(CVAR_ENHANCEMENT("MaskSelect"), 0) ||
+ Randomizer_GetSettingValue(RSK_MASK_QUEST) != RO_MASK_QUEST_VANILLA) &&
+ Flags_GetRandomizerInf(RAND_INF_ZELDAS_LETTER) &&
Flags_GetInfTable(INFTABLE_SHOWED_ZELDAS_LETTER_TO_GATE_GUARD)) ||
Randomizer_GetSettingValue(RSK_MASK_QUEST) == RO_MASK_QUEST_SHUFFLE;
}
@@ -332,7 +334,8 @@ bool CanMaskSelect() {
// * zelda's letter check: Flags_GetEventChkInf(EVENTCHKINF_OBTAINED_ZELDAS_LETTER)
// * kak gate check: Flags_GetInfTable(INFTABLE_SHOWED_ZELDAS_LETTER_TO_GATE_GUARD)
// and the mask quest is complete: Flags_GetEventChkInf(EVENTCHKINF_PAID_BACK_BUNNY_HOOD_FEE)
- return CVarGetInteger(CVAR_ENHANCEMENT("MaskSelect"), 0) &&
+ return (CVarGetInteger(CVAR_ENHANCEMENT("MaskSelect"), 0) ||
+ Randomizer_GetSettingValue(RSK_MASK_QUEST) != RO_MASK_QUEST_VANILLA) &&
Flags_GetEventChkInf(EVENTCHKINF_PAID_BACK_BUNNY_HOOD_FEE) &&
Flags_GetEventChkInf(EVENTCHKINF_OBTAINED_ZELDAS_LETTER) &&
Flags_GetInfTable(INFTABLE_SHOWED_ZELDAS_LETTER_TO_GATE_GUARD);