Handle receiving iron boots chest location externally
This commit is contained in:
@@ -307,8 +307,9 @@ void RandomizerOnExternalCheckHandler(uint32_t randomizerCheck) {
|
|||||||
inSameArea = scene == gPlayState->sceneNum;
|
inSameArea = scene == gPlayState->sceneNum;
|
||||||
}
|
}
|
||||||
|
|
||||||
// setting the ocarinina obtained event flag
|
// Receiving the OoT or Iron Boots chest locations without preventing the locations locked behind them.
|
||||||
if (rc == RC_HF_OCARINA_OF_TIME_ITEM) {
|
// OoT locks Song of Time, Iron boots chest locks the song from Sheik in Ice Cavern.
|
||||||
|
if (rc == RC_HF_OCARINA_OF_TIME_ITEM || rc == RC_ICE_CAVERN_IRON_BOOTS_CHEST) {
|
||||||
randomizerQueuedChecks.push(rc);
|
randomizerQueuedChecks.push(rc);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -387,8 +388,11 @@ void RandomizerOnPlayerUpdateForRCQueueHandler() {
|
|||||||
getItemEntry = Rando::Context::GetInstance()->GetFinalGIEntry(rc, true, (GetItemID)vanillaRandomizerGet);
|
getItemEntry = Rando::Context::GetInstance()->GetFinalGIEntry(rc, true, (GetItemID)vanillaRandomizerGet);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (rc == RC_HF_OCARINA_OF_TIME_ITEM && loc->HasObtained()) {
|
// When Ocarina or Iron Boots chest has been received externally before, and then picked up in the game itself,
|
||||||
RandomizerOnExternalCheckHandler(RC_SONG_FROM_OCARINA_OF_TIME);
|
// it'll be skipped and not give the song properly because the RC is already checked off. So instead we handle
|
||||||
|
// it here and send out the check locked behind them manually.
|
||||||
|
if ((rc == RC_HF_OCARINA_OF_TIME_ITEM || rc == RC_ICE_CAVERN_IRON_BOOTS_CHEST) && loc->HasObtained()) {
|
||||||
|
RandomizerOnExternalCheckHandler(rc);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (loc->HasObtained()) {
|
if (loc->HasObtained()) {
|
||||||
|
|||||||
Reference in New Issue
Block a user