MQ: make switch across chasm an event

This commit is contained in:
Demur Rumed 2025-07-05 15:10:55 +00:00
commit 9f49ce57d3
3 changed files with 5 additions and 2 deletions

View file

@ -560,11 +560,13 @@ void RegionTable_Init_ShadowTemple() {
}, {
//Exits
Entrance(RR_SHADOW_TEMPLE_MQ_ACROSS_CHASM, []{return logic->ShadowBridgeBeyondBoatLowered;}),
Entrance(RR_SHADOW_TEMPLE_MQ_INVISIBLE_MAZE, []{return logic->MQShadowSwitchAcrossChasm;}),
});
areaTable[RR_SHADOW_TEMPLE_MQ_ACROSS_CHASM] = Region("Shadow Temple MQ Across Chasm", SCENE_SHADOW_TEMPLE, {
//Events
EventAccess(&logic->ShadowBridgeBeyondBoatLowered, []{return logic->CanDetonateUprightBombFlower();})
EventAccess(&logic->ShadowBridgeBeyondBoatLowered, []{return logic->CanDetonateUprightBombFlower();}),
EventAccess(&logic->MQShadowSwitchAcrossChasm, []{return logic->CanHitEyeTargets() && logic->CanUse(RG_SONG_OF_TIME) && logic->CanUse(RG_LONGSHOT);}),
}, {
//Locations
LOCATION(RC_SHADOW_TEMPLE_MQ_AFTER_CHASM_WEST_POT, logic->CanBreakPots()),
@ -576,7 +578,6 @@ void RegionTable_Init_ShadowTemple() {
}, {
//Exits
Entrance(RR_SHADOW_TEMPLE_MQ_BEYOND_BOAT, []{return logic->ShadowBridgeBeyondBoatLowered && logic->IsAdult;}),
Entrance(RR_SHADOW_TEMPLE_MQ_INVISIBLE_MAZE, []{return Here(RR_SHADOW_TEMPLE_MQ_ACROSS_CHASM, []{return logic->CanHitEyeTargets() && logic->CanUse(RG_SONG_OF_TIME) && logic->CanUse(RG_LONGSHOT);});}),
Entrance(RR_SHADOW_TEMPLE_MQ_PRE_BOSS_ROOM, []{return true;}),
});

View file

@ -2519,6 +2519,7 @@ void Logic::Reset(bool resetSaveContext /*= true*/) {
LoweredJabuPath = false;
MQJabuLiftRoomCow = false;
MQShadowFloorSpikeRupees = false;
MQShadowSwitchAcrossChasm = false;
ShadowShortcutBlock = false;
ShadowBridgeBeyondBoatLowered = false;
MQWaterStalfosPit = false;

View file

@ -169,6 +169,7 @@ class Logic {
bool LoweredJabuPath = false;
bool MQJabuLiftRoomCow = false;
bool MQShadowFloorSpikeRupees = false;
bool MQShadowSwitchAcrossChasm = false;
bool ShadowShortcutBlock = false;
bool ShadowBridgeBeyondBoatLowered = false;
bool MQWaterStalfosPit = false;