summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--soh/src/overlays/actors/ovl_En_Dnt_Demo/z_en_dnt_demo.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/soh/src/overlays/actors/ovl_En_Dnt_Demo/z_en_dnt_demo.c b/soh/src/overlays/actors/ovl_En_Dnt_Demo/z_en_dnt_demo.c
index 93eeb9490..07c3ead6e 100644
--- a/soh/src/overlays/actors/ovl_En_Dnt_Demo/z_en_dnt_demo.c
+++ b/soh/src/overlays/actors/ovl_En_Dnt_Demo/z_en_dnt_demo.c
@@ -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;
}