mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2025-08-19 21:03:42 -07:00
Ruto in Jabu requires zora jabbernut to sit down
This commit is contained in:
parent
bca2ba769a
commit
50da9b20dc
4 changed files with 11 additions and 3 deletions
|
@ -1,4 +1,5 @@
|
||||||
#include "soh/Enhancements/game-interactor/GameInteractor.h"
|
#include "soh/Enhancements/game-interactor/GameInteractor.h"
|
||||||
|
#include "soh/Enhancements/randomizer/context.h"
|
||||||
#include "soh/ShipInit.hpp"
|
#include "soh/ShipInit.hpp"
|
||||||
|
|
||||||
extern "C" {
|
extern "C" {
|
||||||
|
@ -9,6 +10,11 @@ Actor* func_80AEB124(PlayState* play);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Ru1Init(void* actorRef) {
|
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);
|
EnRu1* enRu1 = static_cast<EnRu1*>(actorRef);
|
||||||
|
|
||||||
if (enRu1->action == 22) {
|
if (enRu1->action == 22) {
|
||||||
|
|
|
@ -2115,7 +2115,8 @@ void RandomizerOnActorInitHandler(void* actorRef) {
|
||||||
return;
|
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);
|
Actor_Kill(actor);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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
|
//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, {
|
areaTable[RR_JABU_JABUS_BELLY_B1_NORTH] = Region("Jabu Jabus Belly B1 North", SCENE_JABU_JABU, {
|
||||||
//Events
|
//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));}),
|
EventAccess(&logic->FairyPot, []{return logic->CanUse(RG_BOOMERANG) || (logic->CanUse(RG_HOVER_BOOTS) && logic->CanKillEnemy(RE_OCTOROK));}),
|
||||||
}, {
|
}, {
|
||||||
//Locations
|
//Locations
|
||||||
|
|
|
@ -251,7 +251,8 @@ void Settings::CreateOptionDescriptions() {
|
||||||
"\n"
|
"\n"
|
||||||
"If you enter a water entrance without swim you will be respawned on land to prevent infinite death loops.\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.";
|
"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 "
|
mOptionDescriptions[RSK_SHUFFLE_WEIRD_EGG] = "Shuffles the Weird Egg from Malon in to the item pool. Enabling "
|
||||||
"\"Skip Child Zelda\" disables this feature.\n"
|
"\"Skip Child Zelda\" disables this feature.\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue