Fix temp flags transfering in dungeon chains and various issues with voidouts in mixed entrances (#4637)

This commit is contained in:
Archez
2024-12-09 21:17:26 -05:00
committed by GitHub
parent de6f5d8b65
commit 6470522a02
4 changed files with 42 additions and 10 deletions

View File

@@ -5145,9 +5145,9 @@ s32 Player_HandleExitsAndVoids(PlayState* play, Player* this, CollisionPoly* pol
Scene_SetTransitionForNextEntrance(play);
} else {
// In Entrance rando, if our respawnFlag is set for a grotto return, we don't want the void out to happen
if (SurfaceType_GetSlope(&play->colCtx, poly, bgId) == 2 &&
(!IS_RANDO || (Randomizer_GetSettingValue(RSK_SHUFFLE_ENTRANCES) && gSaveContext.respawnFlag != 2))) {
if (GameInteractor_Should(VB_SET_VOIDOUT_FROM_SURFACE,
SurfaceType_GetSlope(&play->colCtx, poly, bgId) == 2,
play->setupExitList[exitIndex - 1])) {
gSaveContext.respawn[RESPAWN_MODE_DOWN].entranceIndex = play->nextEntranceIndex;
Play_TriggerVoidOut(play);
gSaveContext.respawnFlag = -2;