From 63597ec6335d95d3ec057a6fcce585e11d183d56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philip=20Dub=C3=A9?= Date: Wed, 4 Mar 2026 15:35:45 +0000 Subject: [PATCH] Prevent winning Talon's game without str0. Prevent starting Diving Game without Zora Jabbernut (#6324) --- soh/soh/Enhancements/randomizer/ShuffleSpeak.cpp | 1 + .../randomizer/location_access/overworld/lon_lon_ranch.cpp | 2 +- soh/src/overlays/actors/ovl_En_Ta/z_en_ta.c | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/soh/soh/Enhancements/randomizer/ShuffleSpeak.cpp b/soh/soh/Enhancements/randomizer/ShuffleSpeak.cpp index 62aecce61..14f8d91b2 100644 --- a/soh/soh/Enhancements/randomizer/ShuffleSpeak.cpp +++ b/soh/soh/Enhancements/randomizer/ShuffleSpeak.cpp @@ -93,6 +93,7 @@ void RegisterShuffleSpeak() { case ACTOR_EN_SKJ: inf = RAND_INF_CAN_SPEAK_KOKIRI; break; + case ACTOR_EN_DIVING_GAME: case ACTOR_EN_KZ: case ACTOR_EN_RU1: case ACTOR_EN_RU2: diff --git a/soh/soh/Enhancements/randomizer/location_access/overworld/lon_lon_ranch.cpp b/soh/soh/Enhancements/randomizer/location_access/overworld/lon_lon_ranch.cpp index 675c7b59f..5e940ab57 100644 --- a/soh/soh/Enhancements/randomizer/location_access/overworld/lon_lon_ranch.cpp +++ b/soh/soh/Enhancements/randomizer/location_access/overworld/lon_lon_ranch.cpp @@ -36,7 +36,7 @@ void RegionTable_Init_LonLonRanch() { areaTable[RR_LLR_TALONS_HOUSE] = Region("LLR Talons House", SCENE_LON_LON_BUILDINGS, {}, { //Locations - LOCATION(RC_LLR_TALONS_CHICKENS, logic->HasItem(RG_CHILD_WALLET) && logic->HasItem(RG_SPEAK_HYLIAN) && logic->IsChild && logic->AtDay && logic->HasItem(RG_ZELDAS_LETTER)), + LOCATION(RC_LLR_TALONS_CHICKENS, logic->HasItem(RG_CHILD_WALLET) && logic->HasItem(RG_SPEAK_HYLIAN) && logic->IsChild && logic->AtDay && logic->HasItem(RG_ZELDAS_LETTER) && logic->HasItem(RG_POWER_BRACELET)), LOCATION(RC_LLR_TALONS_HOUSE_POT_1, logic->HasItem(RG_POWER_BRACELET) || logic->CanUseSword()), // TODO: CanBreakPots() restricted LOCATION(RC_LLR_TALONS_HOUSE_POT_2, logic->HasItem(RG_POWER_BRACELET) || logic->CanUseSword()), // TODO: CanBreakPots() restricted LOCATION(RC_LLR_TALONS_HOUSE_POT_3, logic->HasItem(RG_POWER_BRACELET) || logic->CanUseSword()), // TODO: CanBreakPots() restricted diff --git a/soh/src/overlays/actors/ovl_En_Ta/z_en_ta.c b/soh/src/overlays/actors/ovl_En_Ta/z_en_ta.c index 02c65b468..0ad230b11 100644 --- a/soh/src/overlays/actors/ovl_En_Ta/z_en_ta.c +++ b/soh/src/overlays/actors/ovl_En_Ta/z_en_ta.c @@ -697,7 +697,7 @@ void EnTa_RunCuccoGame(EnTa* this, PlayState* play) { this->superCuccos[i]->actor.gravity -= 0.03f; } - if (func_80B150AC(this, play, i)) { + if (!GameInteractor_Should(VB_PREVENT_STRENGTH, !func_80B150AC(this, play, i))) { if (this->unk_2C4[i] > 0) { this->unk_2C4[i]--; } else {