diff --git a/soh/soh/Enhancements/randomizer/3drando/keys.hpp b/soh/soh/Enhancements/randomizer/3drando/keys.hpp index e6e36e93d..95d31070e 100644 --- a/soh/soh/Enhancements/randomizer/3drando/keys.hpp +++ b/soh/soh/Enhancements/randomizer/3drando/keys.hpp @@ -1542,6 +1542,7 @@ typedef enum { GERUDO_TRAINING_GROUNDS_MQ_CENTRAL_MAZE_RIGHT, GANONS_CASTLE_LOBBY, + GANONS_CASTLE_MAIN, GANONS_CASTLE_DEKU_SCRUBS, GANONS_CASTLE_FOREST_TRIAL, GANONS_CASTLE_FIRE_TRIAL, @@ -1552,6 +1553,7 @@ typedef enum { GANONS_CASTLE_TOWER, GANONS_CASTLE_MQ_LOBBY, + GANONS_CASTLE_MQ_MAIN, GANONS_CASTLE_MQ_DEKU_SCRUBS, GANONS_CASTLE_MQ_FOREST_TRIAL, GANONS_CASTLE_MQ_FIRE_TRIAL, diff --git a/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_ganons_castle.cpp b/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_ganons_castle.cpp index fa6ab967b..007276ecb 100644 --- a/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_ganons_castle.cpp +++ b/soh/soh/Enhancements/randomizer/3drando/location_access/locacc_ganons_castle.cpp @@ -24,7 +24,13 @@ void AreaTable_Init_GanonsCastle() { if (Dungeon::GanonsCastle.IsVanilla()) { areaTable[GANONS_CASTLE_LOBBY] = Area("Ganon's Castle Lobby", "Ganon's Castle", GANONS_CASTLE, NO_DAY_NIGHT_CYCLE, {}, {}, { //Exits - Entrance(GANONS_CASTLE_ENTRYWAY, {[]{return true;}}), + Entrance(GANONS_CASTLE_ENTRYWAY, {[]{return true;}}), + Entrance(GANONS_CASTLE_MAIN, {[]{return true;}}), + }); + + areaTable[GANONS_CASTLE_MAIN] = Area("Ganon's Castle Main", "Ganon's Castle", GANONS_CASTLE, NO_DAY_NIGHT_CYCLE, {}, {}, { + //Exits + Entrance(GANONS_CASTLE_LOBBY, {[]{return true;}}), Entrance(GANONS_CASTLE_FOREST_TRIAL, {[]{return true;}}), Entrance(GANONS_CASTLE_FIRE_TRIAL, {[]{return true;}}), Entrance(GANONS_CASTLE_WATER_TRIAL, {[]{return true;}}), @@ -123,7 +129,13 @@ void AreaTable_Init_GanonsCastle() { if (Dungeon::GanonsCastle.IsMQ()) { areaTable[GANONS_CASTLE_MQ_LOBBY] = Area("Ganon's Castle MQ Lobby", "Ganons Castle", GANONS_CASTLE, NO_DAY_NIGHT_CYCLE, {}, {}, { //Exits - Entrance(GANONS_CASTLE_ENTRYWAY, {[]{return (CanUse(MASTER_SWORD) || (HasExplosives || ((Nuts || Boomerang) && (Sticks || KokiriSword))));}}), + Entrance(GANONS_CASTLE_ENTRYWAY, {[]{return true;}}), + Entrance(GANONS_CASTLE_MQ_MAIN, {[]{return (CanUse(MASTER_SWORD) || CanUse(BIGGORON_SWORD) || CanUse(MEGATON_HAMMER)) || ((HasExplosives || Nuts || CanUse(BOOMERANG)) && CanJumpslash);}}), + }); + + areaTable[GANONS_CASTLE_MQ_MAIN] = Area("Ganon's Castle MQ Main", "Ganons Castle", GANONS_CASTLE, NO_DAY_NIGHT_CYCLE, {}, {}, { + //Exits + Entrance(GANONS_CASTLE_MQ_LOBBY, {[]{return true;}}), Entrance(GANONS_CASTLE_MQ_FOREST_TRIAL, {[]{return true;}}), Entrance(GANONS_CASTLE_MQ_FIRE_TRIAL, {[]{return true;}}), Entrance(GANONS_CASTLE_MQ_WATER_TRIAL, {[]{return true;}}),