From f0959c6e79b20a6fb2502d8fa526911570de65dc Mon Sep 17 00:00:00 2001 From: TheLynk Date: Sat, 24 May 2025 23:33:39 +0200 Subject: [PATCH] Add RT_BOTTOM_OF_THE_WELL_OCARINA_ITEMS_GLITCH + MQ --- .../location_access/dungeons/bottom_of_the_well.cpp | 4 ++-- soh/soh/Enhancements/randomizer/randomizerTypes.h | 2 ++ soh/soh/Enhancements/randomizer/settings.cpp | 6 ++++++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/soh/soh/Enhancements/randomizer/location_access/dungeons/bottom_of_the_well.cpp b/soh/soh/Enhancements/randomizer/location_access/dungeons/bottom_of_the_well.cpp index 8a8393ba1..2d332d9d5 100644 --- a/soh/soh/Enhancements/randomizer/location_access/dungeons/bottom_of_the_well.cpp +++ b/soh/soh/Enhancements/randomizer/location_access/dungeons/bottom_of_the_well.cpp @@ -21,7 +21,7 @@ void RegionTable_Init_BottomOfTheWell() { //Events EventAccess(&logic->StickPot, []{return true;}), EventAccess(&logic->NutPot, []{return true;}), - EventAccess(&logic->LoweredWaterInsideBotw, []{return logic->CanUse(RG_ZELDAS_LULLABY);}), + EventAccess(&logic->LoweredWaterInsideBotw, []{return (logic->CanUse(RG_ZELDAS_LULLABY) || (ctx->GetTrickOption(RT_BOTTOM_OF_THE_WELL_OCARINA_ITEMS_GLITCH) && logic->OcarinaItemsGlitchZeldasLullaby()));}), }, { //Locations LOCATION(RC_BOTTOM_OF_THE_WELL_FRONT_CENTER_BOMBABLE_CHEST, logic->HasExplosives()), @@ -210,7 +210,7 @@ void RegionTable_Init_BottomOfTheWell() { Entrance(RR_BOTTOM_OF_THE_WELL_MQ_COFFIN_ROOM, []{return (logic->LoweredWaterInsideBotw || logic->HasItem(RG_BRONZE_SCALE)) && logic->SmallKeys(RR_BOTTOM_OF_THE_WELL, 2);}), Entrance(RR_BOTTOM_OF_THE_WELL_MQ_LOCKED_CAGE, []{return logic->IsChild && logic->SmallKeys(RR_BOTTOM_OF_THE_WELL, 2) && logic->CanUseProjectile();}), Entrance(RR_BOTTOM_OF_THE_WELL_MQ_DEAD_HAND_ROOM, []{return logic->IsChild && logic->LoweredWaterInsideBotw;}), - Entrance(RR_BOTTOM_OF_THE_WELL_MQ_MIDDLE, []{return logic->CanUse(RG_ZELDAS_LULLABY);}), + Entrance(RR_BOTTOM_OF_THE_WELL_MQ_MIDDLE, []{return (logic->CanUse(RG_ZELDAS_LULLABY) || (ctx->GetTrickOption(RT_BOTTOM_OF_THE_WELL_OCARINA_ITEMS_GLITCH_MQ) && logic->OcarinaItemsGlitchZeldasLullaby()));}), Entrance(RR_BOTTOM_OF_THE_WELL_MQ_BASEMENT, []{return true;}), }); diff --git a/soh/soh/Enhancements/randomizer/randomizerTypes.h b/soh/soh/Enhancements/randomizer/randomizerTypes.h index 6188b7f48..313aa33d5 100644 --- a/soh/soh/Enhancements/randomizer/randomizerTypes.h +++ b/soh/soh/Enhancements/randomizer/randomizerTypes.h @@ -3701,6 +3701,8 @@ typedef enum { RT_MEGASIDEHOP_BOMBCHU, RT_NAVI_DIVE, RT_BOTTOM_OF_THE_WELL_NAVI_DIVE, + RT_BOTTOM_OF_THE_WELL_OCARINA_ITEMS_GLITCH, + RT_BOTTOM_OF_THE_WELL_OCARINA_ITEMS_GLITCH_MQ, RT_LOST_WOOD_NAVI_DIVE, RT_OCARINA_ITEMS, RT_OCARINA_ITEMS_BOMB, diff --git a/soh/soh/Enhancements/randomizer/settings.cpp b/soh/soh/Enhancements/randomizer/settings.cpp index 7c0469708..dc7bd0190 100644 --- a/soh/soh/Enhancements/randomizer/settings.cpp +++ b/soh/soh/Enhancements/randomizer/settings.cpp @@ -718,6 +718,12 @@ void Settings::CreateOptions() { OPT_TRICK(RT_BOTTOM_OF_THE_WELL_NAVI_DIVE, RCQUEST_BOTH, RA_BOTTOM_OF_THE_WELL, { Tricks::Tag::NOVICE }, "Bottom of the Well Navi dive", "You need Deku Sticks or Kokiri Sword to dive with Navi for entering Bottom of the Well."); + OPT_TRICK(RT_BOTTOM_OF_THE_WELL_OCARINA_ITEMS_GLITCH, RCQUEST_VANILLA, RA_BOTTOM_OF_THE_WELL, { Tricks::Tag::NOVICE }, + "Lowered Water Inside BOTW with Ocarina Items Glitch", + "Allows you to lower the water level in BOTW with the Ocarina Items Glitch."); + OPT_TRICK(RT_BOTTOM_OF_THE_WELL_OCARINA_ITEMS_GLITCH_MQ, RCQUEST_MQ, RA_BOTTOM_OF_THE_WELL, { Tricks::Tag::NOVICE }, + "Open Door BOTW with Ocarina Items Glitch (MQ)", + "Open Door in BOTW with the Ocarina Items Glitch. (MQ)"); OPT_TRICK(RT_BOTW_CHILD_DEADHAND, RCQUEST_BOTH, RA_BOTTOM_OF_THE_WELL, { Tricks::Tag::NOVICE }, "Child Dead Hand without Kokiri Sword", "Requires 9 sticks or 5 jump slashes."); OPT_TRICK(RT_BOTW_BASEMENT, RCQUEST_VANILLA, RA_BOTTOM_OF_THE_WELL, { Tricks::Tag::NOVICE },