Ruto in Jabu requires zora jabbernut to sit down

This commit is contained in:
Demur Rumed 2025-08-01 18:05:41 +00:00
commit 50da9b20dc
4 changed files with 11 additions and 3 deletions

View file

@ -1,4 +1,5 @@
#include "soh/Enhancements/game-interactor/GameInteractor.h"
#include "soh/Enhancements/randomizer/context.h"
#include "soh/ShipInit.hpp"
extern "C" {
@ -9,6 +10,11 @@ Actor* func_80AEB124(PlayState* play);
}
void Ru1Init(void* actorRef) {
if (IS_RANDO && RAND_GET_OPTION(RSK_SHUFFLE_SPEAK) && !Flags_GetRandomizerInf(RAND_INF_CAN_SPEAK_ZORA)) {
// require zora jabbernut
return;
}
EnRu1* enRu1 = static_cast<EnRu1*>(actorRef);
if (enRu1->action == 22) {

View file

@ -2115,7 +2115,8 @@ void RandomizerOnActorInitHandler(void* actorRef) {
return;
}
if (actor->id == ACTOR_EN_NB && (actor->params & 0xFF) == NB_TYPE_CRAWLSPACE && !RAND_GET_OPTION(RSK_SHUFFLE_SPEAK)) {
if (actor->id == ACTOR_EN_NB && (actor->params & 0xFF) == NB_TYPE_CRAWLSPACE &&
!RAND_GET_OPTION(RSK_SHUFFLE_SPEAK)) {
Actor_Kill(actor);
}

View file

@ -48,7 +48,7 @@ void RegionTable_Init_JabuJabusBelly() {
//contains B1 of hole room (aside from the ledge leading to big octo), 2 octorock room and north water switch room
areaTable[RR_JABU_JABUS_BELLY_B1_NORTH] = Region("Jabu Jabus Belly B1 North", SCENE_JABU_JABU, {
//Events
EventAccess(&logic->JabuRutoIn1F, []{return logic->IsAdult || logic->HasItem(RG_BRONZE_SCALE);}),
EventAccess(&logic->JabuRutoIn1F, []{return (logic->IsAdult || logic->HasItem(RG_BRONZE_SCALE)) && logic->HasItem(RG_SPEAK_ZORA);}),
EventAccess(&logic->FairyPot, []{return logic->CanUse(RG_BOOMERANG) || (logic->CanUse(RG_HOVER_BOOTS) && logic->CanKillEnemy(RE_OCTOROK));}),
}, {
//Locations

View file

@ -251,7 +251,8 @@ void Settings::CreateOptionDescriptions() {
"\n"
"If you enter a water entrance without swim you will be respawned on land to prevent infinite death loops.\n"
"If you void out in Water Temple you will immediately be kicked out to prevent a softlock.";
mOptionDescriptions[RSK_SHUFFLE_SPEAK] = "Shuffle ability to speak to NPCs. 6 jabbernuts will be shuffled:\nDeku, Gerudo, Goron, Hylian, Kokiri, Zora";
mOptionDescriptions[RSK_SHUFFLE_SPEAK] =
"Shuffle ability to speak to NPCs. 6 jabbernuts will be shuffled:\nDeku, Gerudo, Goron, Hylian, Kokiri, Zora";
mOptionDescriptions[RSK_SHUFFLE_WEIRD_EGG] = "Shuffles the Weird Egg from Malon in to the item pool. Enabling "
"\"Skip Child Zelda\" disables this feature.\n"
"\n"