summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mm/2s2h/Rando/MiscBehavior/OnCycleSave.cpp13
-rw-r--r--mm/2s2h/Rando/StaticData/Checks.cpp2
2 files changed, 12 insertions, 3 deletions
diff --git a/mm/2s2h/Rando/MiscBehavior/OnCycleSave.cpp b/mm/2s2h/Rando/MiscBehavior/OnCycleSave.cpp
index 2dda00f7d..473a61c70 100644
--- a/mm/2s2h/Rando/MiscBehavior/OnCycleSave.cpp
+++ b/mm/2s2h/Rando/MiscBehavior/OnCycleSave.cpp
@@ -87,8 +87,17 @@ void Rando::MiscBehavior::AfterEndOfCycleSave() {
~(1 << (randoStaticCheck.flag & 0x1F));
}
break;
- // most of the others are handled by the game, with the exception of PERSISTENT_CYCLE_FLAGS_SET, not
- // sure if any of these cases affect us yet so ignoring for now
+ case FLAG_CYCL_SCENE_COLLECTIBLE:
+ // Clear the flag without triggering hook
+ if (gPlayState->sceneId == randoStaticCheck.sceneId) {
+ gPlayState->actorCtx.sceneFlags.collectible[(randoStaticCheck.flag & ~0x1F) >> 5] &=
+ ~(1 << (randoStaticCheck.flag & 0x1F));
+ }
+ gSaveContext.save.saveInfo.permanentSceneFlags[randoStaticCheck.sceneId].collectible &=
+ ~(1 << (randoStaticCheck.flag & 0x1F));
+ gSaveContext.cycleSceneFlags[randoStaticCheck.sceneId].collectible &=
+ ~(1 << (randoStaticCheck.flag & 0x1F));
+ break;
}
}
diff --git a/mm/2s2h/Rando/StaticData/Checks.cpp b/mm/2s2h/Rando/StaticData/Checks.cpp
index 3bc91fcea..31b6ca31a 100644
--- a/mm/2s2h/Rando/StaticData/Checks.cpp
+++ b/mm/2s2h/Rando/StaticData/Checks.cpp
@@ -51,7 +51,7 @@ std::map<RandoCheckId, RandoStaticCheck> Checks = {
RC(RC_CLOCK_TOWN_GREAT_FAIRY_ALT, RCTYPE_NPC, SCENE_YOUSEI_IZUMI, FLAG_NONE, 0x00, RI_MASK_GREAT_FAIRY),
RC(RC_CLOCK_TOWN_GREAT_FAIRY, RCTYPE_NPC, SCENE_YOUSEI_IZUMI, FLAG_NONE, 0x00, RI_PROGRESSIVE_MAGIC),
RC(RC_CLOCK_TOWN_LAUNDRY_GURU_GURU, RCTYPE_NPC, SCENE_ALLEY, FLAG_WEEK_EVENT_REG, WEEKEVENTREG_38_40, RI_MASK_BREMEN),
- RC(RC_CLOCK_TOWN_NORTH_BOMB_LADY, RCTYPE_NPC, SCENE_BACKTOWN, FLAG_CYCL_SCENE_COLLECTIBLE, WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_BLAST_MASK, RI_MASK_BLAST),
+ RC(RC_CLOCK_TOWN_NORTH_BOMB_LADY, RCTYPE_NPC, SCENE_BACKTOWN, FLAG_WEEK_EVENT_REG, WEEKEVENTREG_BOMBERS_NOTEBOOK_EVENT_RECEIVED_BLAST_MASK, RI_MASK_BLAST),
RC(RC_CLOCK_TOWN_NORTH_TINGLE_MAP_01, RCTYPE_TINGLE_SHOP, SCENE_BACKTOWN, FLAG_NONE, 0x00, RI_TINGLE_MAP_CLOCK_TOWN),
RC(RC_CLOCK_TOWN_NORTH_TINGLE_MAP_02, RCTYPE_TINGLE_SHOP, SCENE_BACKTOWN, FLAG_NONE, 0x00, RI_TINGLE_MAP_WOODFALL),
RC(RC_CLOCK_TOWN_NORTH_TREE_PIECE_OF_HEART, RCTYPE_HEART, SCENE_BACKTOWN, FLAG_CYCL_SCENE_COLLECTIBLE, 0x0A, RI_HEART_PIECE),