Add Fire Trial to Fewer Tunic Requirements (#6336)
This commit is contained in:
@@ -28,7 +28,7 @@ void RegionTable_Init_GanonsCastle() {
|
||||
//Exits
|
||||
ENTRANCE(RR_GANONS_CASTLE_LOBBY, true),
|
||||
ENTRANCE(RR_GANONS_CASTLE_FOREST_TRIAL_WOLFOS_ROOM, !ctx->GetOption(RSK_MEDALLION_LOCKED_TRIALS) || logic->HasItem(RG_FOREST_MEDALLION)),
|
||||
ENTRANCE(RR_GANONS_CASTLE_FIRE_TRIAL_MAIN_ROOM, !ctx->GetOption(RSK_MEDALLION_LOCKED_TRIALS) || logic->HasItem(RG_FIRE_MEDALLION)),
|
||||
ENTRANCE(RR_GANONS_CASTLE_FIRE_TRIAL_FROM_OPEN, !ctx->GetOption(RSK_MEDALLION_LOCKED_TRIALS) || logic->HasItem(RG_FIRE_MEDALLION)),
|
||||
ENTRANCE(RR_GANONS_CASTLE_WATER_TRIAL_BLUE_FIRE_ROOM, !ctx->GetOption(RSK_MEDALLION_LOCKED_TRIALS) || logic->HasItem(RG_WATER_MEDALLION)),
|
||||
ENTRANCE(RR_GANONS_CASTLE_SHADOW_TRIAL_START, !ctx->GetOption(RSK_MEDALLION_LOCKED_TRIALS) || logic->HasItem(RG_SHADOW_MEDALLION)),
|
||||
ENTRANCE(RR_GANONS_CASTLE_SPIRIT_TRIAL_BEAMOS_ROOM, !ctx->GetOption(RSK_MEDALLION_LOCKED_TRIALS) || logic->HasItem(RG_SPIRIT_MEDALLION)),
|
||||
@@ -103,21 +103,37 @@ void RegionTable_Init_GanonsCastle() {
|
||||
ENTRANCE(RR_GANONS_CASTLE_FOREST_TRIAL_BEAMOS_ROOM_FINAL_DOOR, true),
|
||||
});
|
||||
|
||||
areaTable[RR_GANONS_CASTLE_FIRE_TRIAL_MAIN_ROOM] = Region("Ganon's Castle Fire Trial Main Room", SCENE_INSIDE_GANONS_CASTLE, {
|
||||
// backwalking hoverboots with backflip reaches silver rupee without needing str3
|
||||
EVENT_ACCESS(LOGIC_FIRE_TRIAL_SILVER_RUPEES, logic->CanUse(RG_GORON_TUNIC) && logic->CanUse(RG_GOLDEN_GAUNTLETS)),
|
||||
}, {
|
||||
//Locations
|
||||
LOCATION(RC_GANONS_CASTLE_FIRE_TRIAL_HEART, logic->CanUse(RG_GORON_TUNIC)),
|
||||
}, {
|
||||
areaTable[RR_GANONS_CASTLE_FIRE_TRIAL_OPEN_DOOR] = Region("Ganon's Castle Fire Trial Open Door", SCENE_INSIDE_GANONS_CASTLE, {}, {}, {
|
||||
//Exits
|
||||
ENTRANCE(RR_GANONS_CASTLE_MAIN, true),
|
||||
ENTRANCE(RR_GANONS_CASTLE_FIRE_TRIAL_MAIN_ROOM_END, logic->CanUse(RG_LONGSHOT)),
|
||||
ENTRANCE(RR_GANONS_CASTLE_MAIN, true),
|
||||
});
|
||||
|
||||
areaTable[RR_GANONS_CASTLE_FIRE_TRIAL_MAIN_ROOM_END] = Region("Ganon's Castle Fire Trial Main Room", SCENE_INSIDE_GANONS_CASTLE, {}, {}, {
|
||||
areaTable[RR_GANONS_CASTLE_FIRE_TRIAL_FROM_OPEN] = Region("Ganon's Castle Fire Trial From Open Door", SCENE_INSIDE_GANONS_CASTLE, {
|
||||
// backwalking hoverboots with backflip reaches silver rupee without needing str3
|
||||
EVENT_ACCESS(LOGIC_FIRE_TRIAL_SILVER_RUPEES, logic->FireTimer() >= 48 && logic->CanUse(RG_GOLDEN_GAUNTLETS)),
|
||||
}, {
|
||||
//Locations
|
||||
LOCATION(RC_GANONS_CASTLE_FIRE_TRIAL_HEART, logic->FireTimer() >= 16),
|
||||
}, {
|
||||
//Exits
|
||||
ENTRANCE(RR_GANONS_CASTLE_FIRE_TRIAL_OPEN_DOOR, true),
|
||||
ENTRANCE(RR_GANONS_CASTLE_FIRE_TRIAL_BARRED_DOOR, logic->CanUse(RG_LONGSHOT) && logic->FireTimer() >= 16),
|
||||
});
|
||||
|
||||
areaTable[RR_GANONS_CASTLE_FIRE_TRIAL_FROM_BARRED] = Region("Ganon's Castle Fire Trial From Barred Door", SCENE_INSIDE_GANONS_CASTLE, {
|
||||
// backwalking hoverboots with backflip reaches silver rupee without needing str3
|
||||
EVENT_ACCESS(LOGIC_FIRE_TRIAL_SILVER_RUPEES, logic->FireTimer() >= 56 && logic->CanUse(RG_GOLDEN_GAUNTLETS)),
|
||||
}, {
|
||||
//Locations
|
||||
LOCATION(RC_GANONS_CASTLE_FIRE_TRIAL_HEART, logic->FireTimer() >= 16),
|
||||
}, {
|
||||
//Exits
|
||||
ENTRANCE(RR_GANONS_CASTLE_FIRE_TRIAL_OPEN_DOOR, logic->CanUse(RG_LONGSHOT) && logic->FireTimer() >= 24),
|
||||
ENTRANCE(RR_GANONS_CASTLE_FIRE_TRIAL_BARRED_DOOR, true),
|
||||
});
|
||||
|
||||
areaTable[RR_GANONS_CASTLE_FIRE_TRIAL_BARRED_DOOR] = Region("Ganon's Castle Fire Trial Barred Door", SCENE_INSIDE_GANONS_CASTLE, {}, {}, {
|
||||
//Exits
|
||||
ENTRANCE(RR_GANONS_CASTLE_FIRE_TRIAL_MAIN_ROOM, logic->CanUse(RG_LONGSHOT)),
|
||||
ENTRANCE(RR_GANONS_CASTLE_FIRE_TRIAL_FINAL_ROOM, logic->Get(LOGIC_FIRE_TRIAL_SILVER_RUPEES)),
|
||||
});
|
||||
|
||||
@@ -130,7 +146,7 @@ void RegionTable_Init_GanonsCastle() {
|
||||
LOCATION(RC_GANONS_CASTLE_FIRE_TRIAL_POT_2, logic->CanBreakPots()),
|
||||
}, {
|
||||
//Exits
|
||||
ENTRANCE(RR_GANONS_CASTLE_FIRE_TRIAL_MAIN_ROOM_END, true),
|
||||
ENTRANCE(RR_GANONS_CASTLE_FIRE_TRIAL_FROM_BARRED, true),
|
||||
});
|
||||
|
||||
areaTable[RR_GANONS_CASTLE_WATER_TRIAL_BLUE_FIRE_ROOM] = Region("Ganon's Castle Water Trial Blue Fire Room", SCENE_INSIDE_GANONS_CASTLE, {
|
||||
@@ -352,7 +368,7 @@ void RegionTable_Init_GanonsCastle() {
|
||||
//Exits
|
||||
ENTRANCE(RR_GANONS_CASTLE_MQ_LOBBY, true),
|
||||
ENTRANCE(RR_GANONS_CASTLE_MQ_FOREST_TRIAL_STALFOS_ROOM, !ctx->GetOption(RSK_MEDALLION_LOCKED_TRIALS) || logic->HasItem(RG_FOREST_MEDALLION)),
|
||||
ENTRANCE(RR_GANONS_CASTLE_MQ_FIRE_TRIAL_MAIN_ROOM, !ctx->GetOption(RSK_MEDALLION_LOCKED_TRIALS) || logic->HasItem(RG_FIRE_MEDALLION)),
|
||||
ENTRANCE(RR_GANONS_CASTLE_MQ_FIRE_TRIAL_OPEN_DOOR, !ctx->GetOption(RSK_MEDALLION_LOCKED_TRIALS) || logic->HasItem(RG_FIRE_MEDALLION)),
|
||||
ENTRANCE(RR_GANONS_CASTLE_MQ_WATER_TRIAL_GEYSER_ROOM, !ctx->GetOption(RSK_MEDALLION_LOCKED_TRIALS) || logic->HasItem(RG_WATER_MEDALLION)),
|
||||
ENTRANCE(RR_GANONS_CASTLE_MQ_SHADOW_TRIAL_STARTING_LEDGE, !ctx->GetOption(RSK_MEDALLION_LOCKED_TRIALS) || logic->HasItem(RG_SHADOW_MEDALLION)),
|
||||
ENTRANCE(RR_GANONS_CASTLE_MQ_SPIRIT_TRIAL_CHAIRS_ROOM, !ctx->GetOption(RSK_MEDALLION_LOCKED_TRIALS) || logic->HasItem(RG_SPIRIT_MEDALLION)),
|
||||
@@ -443,11 +459,29 @@ void RegionTable_Init_GanonsCastle() {
|
||||
ENTRANCE(RR_GANONS_CASTLE_MQ_FOREST_TRIAL_BEAMOS_ROOM_END, true),
|
||||
});
|
||||
|
||||
areaTable[RR_GANONS_CASTLE_MQ_FIRE_TRIAL_MAIN_ROOM] = Region("Ganon's Castle MQ Fire Trial Main Room", SCENE_INSIDE_GANONS_CASTLE, {}, {}, {
|
||||
areaTable[RR_GANONS_CASTLE_MQ_FIRE_TRIAL_OPEN_DOOR] = Region("Ganon's Castle MQ Fire Trial Open Door", SCENE_INSIDE_GANONS_CASTLE, {}, {}, {
|
||||
//Exits
|
||||
ENTRANCE(RR_GANONS_CASTLE_MQ_MAIN, true),
|
||||
//2 checks, 1 for the rupees, 1 for actually making it, as the rupees are permanent but throwing a pillar is not
|
||||
ENTRANCE(RR_GANONS_CASTLE_MQ_FIRE_TRIAL_FINAL_ROOM, AnyAgeTime([]{return logic->CanUse(RG_GORON_TUNIC) && logic->CanUse(RG_GOLDEN_GAUNTLETS);}) && logic->CanUse(RG_GORON_TUNIC) && (logic->CanUse(RG_LONGSHOT) || (logic->CanUse(RG_GOLDEN_GAUNTLETS) && (logic->CanUse(RG_HOVER_BOOTS) || (ctx->GetTrickOption(RT_GANON_MQ_FIRE_TRIAL) && logic->IsAdult && logic->CanUse(RG_HOOKSHOT)))))),
|
||||
ENTRANCE(RR_GANONS_CASTLE_MQ_MAIN, true)
|
||||
});
|
||||
|
||||
areaTable[RR_GANONS_CASTLE_MQ_FIRE_TRIAL_FROM_OPEN] = Region("Ganon's Castle MQ Fire Trial From Open Door", SCENE_INSIDE_GANONS_CASTLE, {
|
||||
//Events
|
||||
EVENT_ACCESS(LOGIC_FIRE_TRIAL_SILVER_RUPEES, logic->FireTimer() >= 72 && logic->CanUse(RG_GOLDEN_GAUNTLETS);),
|
||||
}, {}, {
|
||||
//Exits
|
||||
ENTRANCE(RR_GANONS_CASTLE_MQ_FIRE_TRIAL_OPEN_DOOR, true),
|
||||
ENTRANCE(RR_GANONS_CASTLE_MQ_FIRE_TRIAL_BARRED_DOOR, logic->FireTimer() >= 32 && (logic->CanUse(RG_LONGSHOT) ||
|
||||
(logic->CanUse(RG_GOLDEN_GAUNTLETS) && (logic->CanUse(RG_HOVER_BOOTS) || (ctx->GetTrickOption(RT_GANON_MQ_FIRE_TRIAL) && logic->IsAdult && logic->CanUse(RG_HOOKSHOT)))))),
|
||||
});
|
||||
|
||||
areaTable[RR_GANONS_CASTLE_MQ_FIRE_TRIAL_FROM_BARRED] = Region("Ganon's Castle MQ Fire Trial From Barred Door", SCENE_INSIDE_GANONS_CASTLE, {}, {}, {
|
||||
//Exits
|
||||
ENTRANCE(RR_GANONS_CASTLE_MQ_FIRE_TRIAL_BARRED_DOOR, true)
|
||||
});
|
||||
|
||||
areaTable[RR_GANONS_CASTLE_MQ_FIRE_TRIAL_BARRED_DOOR] = Region("Ganon's Castle MQ Fire Trial Barred Door", SCENE_INSIDE_GANONS_CASTLE, {}, {}, {
|
||||
//Exits
|
||||
ENTRANCE(RR_GANONS_CASTLE_MQ_FIRE_TRIAL_FINAL_ROOM, logic->Get(LOGIC_FIRE_TRIAL_SILVER_RUPEES)),
|
||||
});
|
||||
|
||||
areaTable[RR_GANONS_CASTLE_MQ_FIRE_TRIAL_FINAL_ROOM] = Region("Ganon's Castle MQ Fire Trial Final Room", SCENE_INSIDE_GANONS_CASTLE, {
|
||||
@@ -460,7 +494,7 @@ void RegionTable_Init_GanonsCastle() {
|
||||
LOCATION(RC_GANONS_CASTLE_MQ_FIRE_TRIAL_POT_2, logic->CanBreakPots()),
|
||||
}, {
|
||||
//Exits
|
||||
ENTRANCE(RR_GANONS_CASTLE_MQ_FIRE_TRIAL_MAIN_ROOM, true),
|
||||
ENTRANCE(RR_GANONS_CASTLE_MQ_FIRE_TRIAL_OPEN_DOOR, true),
|
||||
});
|
||||
|
||||
areaTable[RR_GANONS_CASTLE_MQ_WATER_TRIAL_GEYSER_ROOM] = Region("Ganon's Castle MQ Water Trial Geyser Room", SCENE_INSIDE_GANONS_CASTLE, {
|
||||
|
||||
@@ -954,7 +954,7 @@ void RegionTable_Init_WaterTemple() {
|
||||
//Locations
|
||||
//Boxes can kill Gold Skulltulas.
|
||||
LOCATION(RC_WATER_TEMPLE_MQ_GS_BEFORE_UPPER_WATER_SWITCH, (logic->CanBreakCrates() && logic->HasItem(RG_POWER_BRACELET)) ||
|
||||
(logic->CanBreakCrates() || ctx->GetTrickOption(RT_VISIBLE_COLLISION)) && logic->CanKillEnemy(RE_GOLD_SKULLTULA)),
|
||||
((logic->CanBreakCrates() || ctx->GetTrickOption(RT_VISIBLE_COLLISION)) && logic->CanKillEnemy(RE_GOLD_SKULLTULA))),
|
||||
LOCATION(RC_WATER_TEMPLE_MQ_GS_STORAGE_ROOM_UPPER_CRATE_1, logic->CanBreakCrates()),
|
||||
LOCATION(RC_WATER_TEMPLE_MQ_GS_STORAGE_ROOM_UPPER_CRATE_2, logic->CanBreakCrates()),
|
||||
LOCATION(RC_WATER_TEMPLE_MQ_GS_STORAGE_ROOM_UPPER_SMALL_CRATE, logic->CanBreakSmallCrates()),
|
||||
|
||||
@@ -1004,8 +1004,10 @@ RANDO_ENUM_ITEM(RR_GANONS_CASTLE_FOREST_TRIAL_BEAMOS_ROOM)
|
||||
RANDO_ENUM_ITEM(RR_GANONS_CASTLE_FOREST_TRIAL_BEAMOS_ROOM_END)
|
||||
RANDO_ENUM_ITEM(RR_GANONS_CASTLE_FOREST_TRIAL_BEAMOS_ROOM_FINAL_DOOR)
|
||||
RANDO_ENUM_ITEM(RR_GANONS_CASTLE_FOREST_TRIAL_FINAL_ROOM)
|
||||
RANDO_ENUM_ITEM(RR_GANONS_CASTLE_FIRE_TRIAL_MAIN_ROOM)
|
||||
RANDO_ENUM_ITEM(RR_GANONS_CASTLE_FIRE_TRIAL_MAIN_ROOM_END)
|
||||
RANDO_ENUM_ITEM(RR_GANONS_CASTLE_FIRE_TRIAL_OPEN_DOOR)
|
||||
RANDO_ENUM_ITEM(RR_GANONS_CASTLE_FIRE_TRIAL_FROM_OPEN)
|
||||
RANDO_ENUM_ITEM(RR_GANONS_CASTLE_FIRE_TRIAL_FROM_BARRED)
|
||||
RANDO_ENUM_ITEM(RR_GANONS_CASTLE_FIRE_TRIAL_BARRED_DOOR)
|
||||
RANDO_ENUM_ITEM(RR_GANONS_CASTLE_FIRE_TRIAL_FINAL_ROOM)
|
||||
RANDO_ENUM_ITEM(RR_GANONS_CASTLE_WATER_TRIAL_BLUE_FIRE_ROOM)
|
||||
RANDO_ENUM_ITEM(RR_GANONS_CASTLE_WATER_TRIAL_BLUE_FIRE_ROOM_END)
|
||||
@@ -1035,7 +1037,11 @@ RANDO_ENUM_ITEM(RR_GANONS_CASTLE_MQ_FOREST_TRIAL_BEAMOS_ROOM)
|
||||
RANDO_ENUM_ITEM(RR_GANONS_CASTLE_MQ_FOREST_TRIAL_BEAMOS_ROOM_MIDDLE)
|
||||
RANDO_ENUM_ITEM(RR_GANONS_CASTLE_MQ_FOREST_TRIAL_BEAMOS_ROOM_END)
|
||||
RANDO_ENUM_ITEM(RR_GANONS_CASTLE_MQ_FOREST_TRIAL_FINAL_ROOM)
|
||||
RANDO_ENUM_ITEM(RR_GANONS_CASTLE_MQ_FIRE_TRIAL_MAIN_ROOM)
|
||||
RANDO_ENUM_ITEM(RR_GANONS_CASTLE_MQ_FIRE_TRIAL_OPEN_DOOR)
|
||||
RANDO_ENUM_ITEM(RR_GANONS_CASTLE_MQ_FIRE_TRIAL_FROM_OPEN)
|
||||
RANDO_ENUM_ITEM(RR_GANONS_CASTLE_MQ_FIRE_TRIAL_FROM_BARRED)
|
||||
RANDO_ENUM_ITEM(RR_GANONS_CASTLE_MQ_FIRE_TRIAL_BARRED_DOOR)
|
||||
RANDO_ENUM_ITEM(RR_GANONS_CASTLE_MQ_FIRE_TRIAL_TARGET_DOOR)
|
||||
RANDO_ENUM_ITEM(RR_GANONS_CASTLE_MQ_FIRE_TRIAL_FINAL_ROOM)
|
||||
RANDO_ENUM_ITEM(RR_GANONS_CASTLE_MQ_WATER_TRIAL_GEYSER_ROOM)
|
||||
RANDO_ENUM_ITEM(RR_GANONS_CASTLE_MQ_WATER_TRIAL_BLOCK_ROOM)
|
||||
|
||||
Reference in New Issue
Block a user