More minor stuff and start of logic entries

This commit is contained in:
aMannus 2024-01-26 12:35:58 +01:00
parent bc7efa5257
commit 2a36ae1818
4 changed files with 33 additions and 15 deletions

View File

@ -100,16 +100,32 @@ void AreaTable_Init_GerudoValley() {
EventAccess(&logic->GtG_GateOpen, {[]{return logic->GtG_GateOpen || (logic->IsAdult && logic->GerudoToken && logic->ChildsWallet);}}), EventAccess(&logic->GtG_GateOpen, {[]{return logic->GtG_GateOpen || (logic->IsAdult && logic->GerudoToken && logic->ChildsWallet);}}),
}, { }, {
//Locations //Locations
LocationAccess(RC_GF_CHEST, {[]{return logic->CanUse(RG_HOVER_BOOTS) || (logic->IsAdult && logic->CanUse(RG_SCARECROW)) || logic->CanUse(RG_LONGSHOT);}}), LocationAccess(RC_GF_CHEST, {[]{return logic->CanUse(RG_HOVER_BOOTS) || (logic->IsAdult && logic->CanUse(RG_SCARECROW)) || logic->CanUse(RG_LONGSHOT);}}),
LocationAccess(RC_GF_HBA_1000_POINTS, {[]{return logic->ChildsWallet && logic->GerudoToken && logic->CanRideEpona && logic->Bow && logic->AtDay;}}), LocationAccess(RC_GF_HBA_1000_POINTS, {[]{return logic->ChildsWallet && logic->GerudoToken && logic->CanRideEpona && logic->Bow && logic->AtDay;}}),
LocationAccess(RC_GF_HBA_1500_POINTS, {[]{return logic->ChildsWallet && logic->GerudoToken && logic->CanRideEpona && logic->Bow && logic->AtDay;}}), LocationAccess(RC_GF_HBA_1500_POINTS, {[]{return logic->ChildsWallet && logic->GerudoToken && logic->CanRideEpona && logic->Bow && logic->AtDay;}}),
LocationAccess(RC_GF_NORTH_F1_CARPENTER, {[]{return logic->CanUse(RG_KOKIRI_SWORD) || logic->CanUse(RG_MASTER_SWORD) || logic->CanUse(RG_BIGGORON_SWORD);}}), LocationAccess(RC_GF_NORTH_F1_CARPENTER, {[]{return logic->CanUse(RG_KOKIRI_SWORD) || logic->CanUse(RG_MASTER_SWORD) || logic->CanUse(RG_BIGGORON_SWORD);}}),
LocationAccess(RC_GF_NORTH_F2_CARPENTER, {[]{return (logic->CanUse(RG_KOKIRI_SWORD) || logic->CanUse(RG_MASTER_SWORD) || logic->CanUse(RG_BIGGORON_SWORD)) && (logic->GerudoToken || logic->CanUse(RG_FAIRY_BOW) || logic->CanUse(RG_HOOKSHOT) || logic->CanUse(RG_HOVER_BOOTS) || randoCtx->GetTrickOption(RT_GF_KITCHEN));}}), LocationAccess(RC_GF_NORTH_F2_CARPENTER, {[]{return (logic->CanUse(RG_KOKIRI_SWORD) || logic->CanUse(RG_MASTER_SWORD) || logic->CanUse(RG_BIGGORON_SWORD)) && (logic->GerudoToken || logic->CanUse(RG_FAIRY_BOW) || logic->CanUse(RG_HOOKSHOT) || logic->CanUse(RG_HOVER_BOOTS) || randoCtx->GetTrickOption(RT_GF_KITCHEN));}}),
LocationAccess(RC_GF_SOUTH_F1_CARPENTER, {[]{return logic->CanUse(RG_KOKIRI_SWORD) || logic->CanUse(RG_MASTER_SWORD) || logic->CanUse(RG_BIGGORON_SWORD);}}), LocationAccess(RC_GF_SOUTH_F1_CARPENTER, {[]{return logic->CanUse(RG_KOKIRI_SWORD) || logic->CanUse(RG_MASTER_SWORD) || logic->CanUse(RG_BIGGORON_SWORD);}}),
LocationAccess(RC_GF_SOUTH_F2_CARPENTER, {[]{return logic->CanUse(RG_KOKIRI_SWORD) || logic->CanUse(RG_MASTER_SWORD) || logic->CanUse(RG_BIGGORON_SWORD);}}), LocationAccess(RC_GF_SOUTH_F2_CARPENTER, {[]{return logic->CanUse(RG_KOKIRI_SWORD) || logic->CanUse(RG_MASTER_SWORD) || logic->CanUse(RG_BIGGORON_SWORD);}}),
LocationAccess(RC_GF_GERUDO_MEMBERSHIP_CARD, {[]{return logic->CanFinishGerudoFortress;}}), LocationAccess(RC_GF_GERUDO_MEMBERSHIP_CARD, {[]{return logic->CanFinishGerudoFortress;}}),
LocationAccess(RC_GF_GS_ARCHERY_RANGE, {[]{return logic->IsAdult && logic->HookshotOrBoomerang && logic->GerudoToken && logic->AtNight && logic->CanGetNightTimeGS;}}), LocationAccess(RC_GF_GS_ARCHERY_RANGE, {[]{return logic->IsAdult && logic->HookshotOrBoomerang && logic->GerudoToken && logic->AtNight && logic->CanGetNightTimeGS;}}),
LocationAccess(RC_GF_GS_TOP_FLOOR, {[]{return logic->IsAdult && logic->AtNight && (logic->CanJumpslash || logic->CanUse(RG_FAIRY_SLINGSHOT) || logic->CanUse(RG_BOOMERANG) || logic->HasExplosives || logic->CanUse(RG_FAIRY_BOW) || logic->CanUse(RG_HOOKSHOT) || logic->CanUse(RG_DINS_FIRE)) && (logic->GerudoToken || logic->CanUse(RG_FAIRY_BOW) || logic->CanUse(RG_HOOKSHOT) || logic->CanUse(RG_HOVER_BOOTS) || randoCtx->GetTrickOption(RT_GF_KITCHEN) || randoCtx->GetTrickOption(RT_GF_JUMP)) && logic->CanGetNightTimeGS;}}), LocationAccess(RC_GF_GS_TOP_FLOOR, {[]{return logic->IsAdult && logic->AtNight && (logic->CanJumpslash || logic->CanUse(RG_FAIRY_SLINGSHOT) || logic->CanUse(RG_BOOMERANG) || logic->HasExplosives || logic->CanUse(RG_FAIRY_BOW) || logic->CanUse(RG_HOOKSHOT) || logic->CanUse(RG_DINS_FIRE)) && (logic->GerudoToken || logic->CanUse(RG_FAIRY_BOW) || logic->CanUse(RG_HOOKSHOT) || logic->CanUse(RG_HOVER_BOOTS) || randoCtx->GetTrickOption(RT_GF_KITCHEN) || randoCtx->GetTrickOption(RT_GF_JUMP)) && logic->CanGetNightTimeGS;}}),
LocationAccess(RC_GF_BREAK_ROOM_POT_1, {[]{return logic->CanBreakPots;}}),
LocationAccess(RC_GF_BREAK_ROOM_POT_2, {[]{return logic->CanBreakPots;}}),
LocationAccess(RC_GF_KITCHEN_POT_1, {[]{return logic->CanBreakPots;}}),
LocationAccess(RC_GF_KITCHEN_POT_2, {[]{return logic->CanBreakPots;}}),
LocationAccess(RC_GF_NORTH_F1_CARPENTER_POT_1, {[]{return logic->CanBreakPots;}}),
LocationAccess(RC_GF_NORTH_F1_CARPENTER_POT_2, {[]{return logic->CanBreakPots;}}),
LocationAccess(RC_GF_NORTH_F1_CARPENTER_POT_3, {[]{return logic->CanBreakPots;}}),
LocationAccess(RC_GF_NORTH_F2_CARPENTER_POT_1, {[]{return logic->CanBreakPots;}}),
LocationAccess(RC_GF_NORTH_F2_CARPENTER_POT_2, {[]{return logic->CanBreakPots;}}),
LocationAccess(RC_GF_SOUTH_F1_CARPENTER_POT_1, {[]{return logic->CanBreakPots;}}),
LocationAccess(RC_GF_SOUTH_F1_CARPENTER_POT_2, {[]{return logic->CanBreakPots;}}),
LocationAccess(RC_GF_SOUTH_F1_CARPENTER_POT_3, {[]{return logic->CanBreakPots;}}),
LocationAccess(RC_GF_SOUTH_F1_CARPENTER_CELL_POT_1, {[]{return logic->CanBreakPots;}}),
LocationAccess(RC_GF_SOUTH_F1_CARPENTER_CELL_POT_2, {[]{return logic->CanBreakPots;}}),
LocationAccess(RC_GF_SOUTH_F1_CARPENTER_CELL_POT_3, {[]{return logic->CanBreakPots;}}),
LocationAccess(RC_GF_SOUTH_F1_CARPENTER_CELL_POT_4, {[]{return logic->CanBreakPots;}}),
}, { }, {
//Exits //Exits
Entrance(RR_GV_FORTRESS_SIDE, {[]{return true;}}), Entrance(RR_GV_FORTRESS_SIDE, {[]{return true;}}),

View File

@ -72,8 +72,8 @@ void AreaTable_Init_LostWoods() {
areaTable[RR_KF_HOUSE_OF_TWINS] = Area("KF House of Twins", "KF House of Twins", RA_NONE, NO_DAY_NIGHT_CYCLE, {}, { areaTable[RR_KF_HOUSE_OF_TWINS] = Area("KF House of Twins", "KF House of Twins", RA_NONE, NO_DAY_NIGHT_CYCLE, {}, {
//Locations //Locations
LocationAccess(RC_KF_TWINS_HOUSE_POT_1, {[]{return true;}}), LocationAccess(RC_KF_TWINS_HOUSE_POT_1, {[]{return logic->CanBreakPots;}}),
LocationAccess(RC_KF_TWINS_HOUSE_POT_2, {[]{return true;}}), LocationAccess(RC_KF_TWINS_HOUSE_POT_2, {[]{return logic->CanBreakPots;}}),
}, { }, {
//Exits //Exits
Entrance(RR_KOKIRI_FOREST, {[]{return true;}}), Entrance(RR_KOKIRI_FOREST, {[]{return true;}}),
@ -81,8 +81,8 @@ void AreaTable_Init_LostWoods() {
areaTable[RR_KF_KNOW_IT_ALL_HOUSE] = Area("KF Know It All House", "KF Know It All House", RA_NONE, NO_DAY_NIGHT_CYCLE, {}, { areaTable[RR_KF_KNOW_IT_ALL_HOUSE] = Area("KF Know It All House", "KF Know It All House", RA_NONE, NO_DAY_NIGHT_CYCLE, {}, {
// Locations // Locations
LocationAccess(RC_KF_BROTHERS_HOUSE_POT_1, {[]{return true;}}), LocationAccess(RC_KF_BROTHERS_HOUSE_POT_1, {[]{return logic->CanBreakPots;}}),
LocationAccess(RC_KF_BROTHERS_HOUSE_POT_2, {[]{return true;}}), LocationAccess(RC_KF_BROTHERS_HOUSE_POT_2, {[]{return logic->CanBreakPots;}}),
}, { }, {
//Exits //Exits
Entrance(RR_KOKIRI_FOREST, {[]{return true;}}), Entrance(RR_KOKIRI_FOREST, {[]{return true;}}),

View File

@ -1677,7 +1677,7 @@ void Rando::StaticData::InitLocationTable() {
locationTable[RC_DODONGOS_CAVERN_STAIRCASE_POT_2] = Location::Base(RC_DODONGOS_CAVERN_STAIRCASE_POT_2, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(-2368, -1827), 0x6802, "Staircase Pot 2", "Dodongos Cavern Staircase Pot 2", RHT_POT_DODONGOS_CAVERN, RG_RED_RUPEE, { Category::cPot }, SpoilerCollectionCheck::Pot(0x01, 0x00), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN); locationTable[RC_DODONGOS_CAVERN_STAIRCASE_POT_2] = Location::Base(RC_DODONGOS_CAVERN_STAIRCASE_POT_2, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(-2368, -1827), 0x6802, "Staircase Pot 2", "Dodongos Cavern Staircase Pot 2", RHT_POT_DODONGOS_CAVERN, RG_RED_RUPEE, { Category::cPot }, SpoilerCollectionCheck::Pot(0x01, 0x00), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN);
locationTable[RC_DODONGOS_CAVERN_STAIRCASE_POT_3] = Location::Base(RC_DODONGOS_CAVERN_STAIRCASE_POT_3, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(-1574, -1831), 0x6a02, "Staircase Pot 3", "Dodongos Cavern Staircase Pot 3", RHT_POT_DODONGOS_CAVERN, RG_RED_RUPEE, { Category::cPot }, SpoilerCollectionCheck::Pot(0x01, 0x00), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN); locationTable[RC_DODONGOS_CAVERN_STAIRCASE_POT_3] = Location::Base(RC_DODONGOS_CAVERN_STAIRCASE_POT_3, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(-1574, -1831), 0x6a02, "Staircase Pot 3", "Dodongos Cavern Staircase Pot 3", RHT_POT_DODONGOS_CAVERN, RG_RED_RUPEE, { Category::cPot }, SpoilerCollectionCheck::Pot(0x01, 0x00), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN);
locationTable[RC_DODONGOS_CAVERN_STAIRCASE_POT_4] = Location::Base(RC_DODONGOS_CAVERN_STAIRCASE_POT_4, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(-1528, -1827), 0x6c03, "Staircase Pot 4", "Dodongos Cavern Staircase Pot 4", RHT_POT_DODONGOS_CAVERN, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::Pot(0x01, 0x00), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN); locationTable[RC_DODONGOS_CAVERN_STAIRCASE_POT_4] = Location::Base(RC_DODONGOS_CAVERN_STAIRCASE_POT_4, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(-1528, -1827), 0x6c03, "Staircase Pot 4", "Dodongos Cavern Staircase Pot 4", RHT_POT_DODONGOS_CAVERN, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::Pot(0x01, 0x00), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN);
locationTable[RC_DODONGOS_CAVERN_SINGLE_EYE_POT_1] = Location::Base(RC_DODONGOS_CAVERN_SINGLE_EYE_POT_1, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(3704, -483), 0x7401, "Single Eye Pot 1", "Dodongos Cavern Single Eye Pot 1", RHT_POT_DODONGOS_CAVERN, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::Pot(0x01, 0x00), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN); locationTable[RC_DODONGOS_CAVERN_SINGLE_EYE_POT_1] = Location::Base(RC_DODONGOS_CAVERN_SINGLE_EYE_POT_1, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(2704, -483), 0x7401, "Single Eye Pot 1", "Dodongos Cavern Single Eye Pot 1", RHT_POT_DODONGOS_CAVERN, RG_BLUE_RUPEE, { Category::cPot }, SpoilerCollectionCheck::Pot(0x01, 0x00), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN);
locationTable[RC_DODONGOS_CAVERN_SINGLE_EYE_POT_2] = Location::Base(RC_DODONGOS_CAVERN_SINGLE_EYE_POT_2, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(3195, -155), 0x7203, "Single Eye Pot 2", "Dodongos Cavern Single Eye Pot 2", RHT_POT_DODONGOS_CAVERN, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::Pot(0x01, 0x00), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN); locationTable[RC_DODONGOS_CAVERN_SINGLE_EYE_POT_2] = Location::Base(RC_DODONGOS_CAVERN_SINGLE_EYE_POT_2, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(3195, -155), 0x7203, "Single Eye Pot 2", "Dodongos Cavern Single Eye Pot 2", RHT_POT_DODONGOS_CAVERN, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::Pot(0x01, 0x00), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN);
locationTable[RC_DODONGOS_CAVERN_BLADE_POT_1] = Location::Base(RC_DODONGOS_CAVERN_BLADE_POT_1, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(1656, -531), 0x6e03, "Blade Pot 1", "Dodongos Cavern Blade Pot 1", RHT_POT_DODONGOS_CAVERN, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::Pot(0x01, 0x00), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN); locationTable[RC_DODONGOS_CAVERN_BLADE_POT_1] = Location::Base(RC_DODONGOS_CAVERN_BLADE_POT_1, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(1656, -531), 0x6e03, "Blade Pot 1", "Dodongos Cavern Blade Pot 1", RHT_POT_DODONGOS_CAVERN, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::Pot(0x01, 0x00), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN);
locationTable[RC_DODONGOS_CAVERN_BLADE_POT_2] = Location::Base(RC_DODONGOS_CAVERN_BLADE_POT_2, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(1831, -593), 0x7003, "Blade Pot 2", "Dodongos Cavern Blade Pot 2", RHT_POT_DODONGOS_CAVERN, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::Pot(0x01, 0x00), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN); locationTable[RC_DODONGOS_CAVERN_BLADE_POT_2] = Location::Base(RC_DODONGOS_CAVERN_BLADE_POT_2, RCQUEST_VANILLA, RCTYPE_POT, RCAREA_DODONGOS_CAVERN, ACTOR_OBJ_TSUBO, SCENE_DODONGOS_CAVERN, TWO_ACTOR_PARAMS(1831, -593), 0x7003, "Blade Pot 2", "Dodongos Cavern Blade Pot 2", RHT_POT_DODONGOS_CAVERN, RG_RECOVERY_HEART, { Category::cPot }, SpoilerCollectionCheck::Pot(0x01, 0x00), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN);

View File

@ -246,6 +246,8 @@ void Settings::CreateOptionDescriptions() {
"the gate to Haunted Wasteland and the Horseback Archery minigame."; "the gate to Haunted Wasteland and the Horseback Archery minigame.";
mOptionDescriptions[RSK_SHUFFLE_POTS] = "Freestanding pots will drop a randomized item the first time they're broken and collected." mOptionDescriptions[RSK_SHUFFLE_POTS] = "Freestanding pots will drop a randomized item the first time they're broken and collected."
" Pots will have a different appearance when they hold a randomized item.\n" " Pots will have a different appearance when they hold a randomized item.\n"
"With this option enabled, Ganon's boss key door is moved further up the stairs to\n"
"allow access to the pots before obtaining Ganon's Boss Key.\n"
"\n" "\n"
"Off - Pots will not be shuffled.\n" "Off - Pots will not be shuffled.\n"
"\n" "\n"