fix theater mask checks not always granting items (#2650)

This commit is contained in:
Adam Bird 2023-03-31 21:29:35 -04:00 committed by GitHub
parent e76b990c8a
commit f682102c96
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -136,19 +136,22 @@ void EnDntDemo_Judge(EnDntDemo* this, PlayState* play) {
}
} else {
if (gSaveContext.n64ddFlag) {
Player* player = GET_PLAYER(play);
switch (Player_GetMask(play)) {
case PLAYER_MASK_SKULL:
if (!Flags_GetTreasure(play, 0x1F)) {
if (!Flags_GetTreasure(play, 0x1F) && !Player_InBlockingCsMode(play, player)) {
GetItemEntry getItemEntry = Randomizer_GetItemFromKnownCheck(RC_DEKU_THEATER_SKULL_MASK, GI_STICK_UPGRADE_30);
GiveItemEntryWithoutActor(play, getItemEntry);
Flags_SetTreasure(play, 0x1F);
player->pendingFlag.flagID = 0x1F;
player->pendingFlag.flagType = FLAG_SCENE_TREASURE;
}
break;
case PLAYER_MASK_TRUTH:
if (!Flags_GetTreasure(play, 0x1E)) {
if (!Flags_GetTreasure(play, 0x1E) && !Player_InBlockingCsMode(play, player)) {
GetItemEntry getItemEntry = Randomizer_GetItemFromKnownCheck(RC_DEKU_THEATER_MASK_OF_TRUTH, GI_NUT_UPGRADE_40);
GiveItemEntryWithoutActor(play, getItemEntry);
Flags_SetTreasure(play, 0x1E);
player->pendingFlag.flagID = 0x1E;
player->pendingFlag.flagType = FLAG_SCENE_TREASURE;
}
break;
}