Fix kak backyard logic with shuffle climb (#6288)
Missed ladder to potion shop
This commit is contained in:
@@ -355,16 +355,16 @@ void SetAllEntrancesData() {
|
||||
{ { EntranceType::Interior, RR_ZORAS_FOUNTAIN, RR_ZF_GREAT_FAIRY_FOUNTAIN, ENTR_GREAT_FAIRYS_FOUNTAIN_SPELLS_FARORES_ZF },
|
||||
{ EntranceType::Interior, RR_ZF_GREAT_FAIRY_FOUNTAIN, RR_ZORAS_FOUNTAIN, ENTR_ZORAS_FOUNTAIN_OUTSIDE_GREAT_FAIRY } },
|
||||
|
||||
{ { EntranceType::SpecialInterior, RR_KF_LINKS_PORCH, RR_KF_LINKS_HOUSE, ENTR_LINKS_HOUSE_1 },
|
||||
{ EntranceType::SpecialInterior, RR_KF_LINKS_HOUSE, RR_KF_LINKS_PORCH, ENTR_KOKIRI_FOREST_OUTSIDE_LINKS_HOUSE } },
|
||||
{ { EntranceType::SpecialInterior, RR_TOT_ENTRANCE, RR_TEMPLE_OF_TIME, ENTR_TEMPLE_OF_TIME_ENTRANCE },
|
||||
{ EntranceType::SpecialInterior, RR_TEMPLE_OF_TIME, RR_TOT_ENTRANCE, ENTR_TEMPLE_OF_TIME_EXTERIOR_DAY_OUTSIDE_TEMPLE } },
|
||||
{ { EntranceType::SpecialInterior, RR_KAKARIKO_VILLAGE, RR_KAK_WINDMILL_LOWER, ENTR_WINDMILL_AND_DAMPES_GRAVE_WINDMILL },
|
||||
{ EntranceType::SpecialInterior, RR_KAK_WINDMILL_LOWER, RR_KAKARIKO_VILLAGE, ENTR_KAKARIKO_VILLAGE_OUTSIDE_WINDMILL } },
|
||||
{ { EntranceType::SpecialInterior, RR_KAKARIKO_VILLAGE, RR_KAK_POTION_SHOP_FRONT, ENTR_POTION_SHOP_KAKARIKO_FRONT },
|
||||
{ EntranceType::SpecialInterior, RR_KAK_POTION_SHOP_FRONT, RR_KAKARIKO_VILLAGE, ENTR_KAKARIKO_VILLAGE_OUTSIDE_POTION_SHOP_FRONT } },
|
||||
{ { EntranceType::SpecialInterior, RR_KAK_BACKYARD, RR_KAK_POTION_SHOP_BACK, ENTR_POTION_SHOP_KAKARIKO_BACK },
|
||||
{ EntranceType::SpecialInterior, RR_KAK_POTION_SHOP_BACK, RR_KAK_BACKYARD, ENTR_KAKARIKO_VILLAGE_OUTSIDE_POTION_SHOP_BACK } },
|
||||
{ { EntranceType::SpecialInterior, RR_KF_LINKS_PORCH, RR_KF_LINKS_HOUSE, ENTR_LINKS_HOUSE_1 },
|
||||
{ EntranceType::SpecialInterior, RR_KF_LINKS_HOUSE, RR_KF_LINKS_PORCH, ENTR_KOKIRI_FOREST_OUTSIDE_LINKS_HOUSE } },
|
||||
{ { EntranceType::SpecialInterior, RR_TOT_ENTRANCE, RR_TEMPLE_OF_TIME, ENTR_TEMPLE_OF_TIME_ENTRANCE },
|
||||
{ EntranceType::SpecialInterior, RR_TEMPLE_OF_TIME, RR_TOT_ENTRANCE, ENTR_TEMPLE_OF_TIME_EXTERIOR_DAY_OUTSIDE_TEMPLE } },
|
||||
{ { EntranceType::SpecialInterior, RR_KAKARIKO_VILLAGE, RR_KAK_WINDMILL_LOWER, ENTR_WINDMILL_AND_DAMPES_GRAVE_WINDMILL },
|
||||
{ EntranceType::SpecialInterior, RR_KAK_WINDMILL_LOWER, RR_KAKARIKO_VILLAGE, ENTR_KAKARIKO_VILLAGE_OUTSIDE_WINDMILL } },
|
||||
{ { EntranceType::SpecialInterior, RR_KAKARIKO_VILLAGE, RR_KAK_POTION_SHOP, ENTR_POTION_SHOP_KAKARIKO_FRONT },
|
||||
{ EntranceType::SpecialInterior, RR_KAK_POTION_SHOP, RR_KAKARIKO_VILLAGE, ENTR_KAKARIKO_VILLAGE_OUTSIDE_POTION_SHOP_FRONT } },
|
||||
{ { EntranceType::SpecialInterior, RR_KAK_BEHIND_POTION_SHOP, RR_KAK_POTION_SHOP, ENTR_POTION_SHOP_KAKARIKO_BACK },
|
||||
{ EntranceType::SpecialInterior, RR_KAK_POTION_SHOP, RR_KAK_BEHIND_POTION_SHOP, ENTR_KAKARIKO_VILLAGE_OUTSIDE_POTION_SHOP_BACK } },
|
||||
|
||||
{ { EntranceType::ThievesHideout, RR_GF_OUTSKIRTS, RR_TH_1_TORCH_CELL, ENTR_THIEVES_HIDEOUT_0 },
|
||||
{ EntranceType::ThievesHideout, RR_TH_1_TORCH_CELL, RR_GF_OUTSKIRTS, ENTR_GERUDOS_FORTRESS_1 } },
|
||||
|
||||
@@ -70,7 +70,7 @@ void RegionTable_Init_Kakariko() {
|
||||
ENTRANCE(RR_KAK_BAZAAR, logic->IsAdult && logic->AtDay && logic->CanOpenOverworldDoor(RG_KAK_BAZAAR_KEY)),
|
||||
ENTRANCE(RR_KAK_SHOOTING_GALLERY, logic->IsAdult && logic->AtDay && logic->CanOpenOverworldDoor(RG_KAK_SHOOTING_GALLERY_KEY)),
|
||||
ENTRANCE(RR_KAK_WELL, logic->IsAdult || logic->Get(LOGIC_DRAIN_WELL) || logic->CanUse(RG_IRON_BOOTS) || (ctx->GetTrickOption(RT_BOTTOM_OF_THE_WELL_NAVI_DIVE) && logic->IsChild && logic->HasItem(RG_BRONZE_SCALE) && logic->CanJumpslash())),
|
||||
ENTRANCE(RR_KAK_POTION_SHOP_FRONT, (logic->AtDay || logic->IsChild) && logic->CanOpenOverworldDoor(RG_KAK_POTION_SHOP_KEY)),
|
||||
ENTRANCE(RR_KAK_POTION_SHOP, (logic->AtDay || logic->IsChild) && logic->CanOpenOverworldDoor(RG_KAK_POTION_SHOP_KEY)),
|
||||
ENTRANCE(RR_KAK_REDEAD_GROTTO, logic->CanOpenBombGrotto()),
|
||||
ENTRANCE(RR_KAK_IMPAS_LEDGE, (logic->IsChild && logic->AtDay && logic->HasItem(RG_POWER_BRACELET)) || (logic->IsAdult && ctx->GetTrickOption(RT_VISIBLE_COLLISION))),
|
||||
ENTRANCE(RR_KAK_WATCHTOWER, logic->HasItem(RG_CLIMB) && (logic->IsAdult || logic->AtDay || logic->CanKillEnemy(RE_GOLD_SKULLTULA, ED_LONGSHOT) || (ctx->GetTrickOption(RT_KAK_TOWER_GS) && logic->CanJumpslashExceptHammer()))),
|
||||
@@ -80,6 +80,7 @@ void RegionTable_Init_Kakariko() {
|
||||
ENTRANCE(RR_KAK_BEHIND_GATE, logic->IsAdult || logic->Get(LOGIC_KAKARIKO_GATE_OPEN)),
|
||||
//adult can jump from the fence near the windmill to ledgegrab the fence near granny's shop. is in logic on N64
|
||||
ENTRANCE(RR_KAK_BACKYARD, logic->IsAdult || (logic->AtDay && logic->HasItem(RG_POWER_BRACELET))),
|
||||
ENTRANCE(RR_KAK_BEHIND_POTION_SHOP, logic->CanUse(RG_HOOKSHOT) || (ctx->GetTrickOption(RT_UNINTUITIVE_JUMPS) && logic->IsAdult)),
|
||||
});
|
||||
|
||||
areaTable[RR_KAK_IMPAS_LEDGE] = Region("Kak Impas Ledge", SCENE_KAKARIKO_VILLAGE, {}, {}, {
|
||||
@@ -104,7 +105,7 @@ void RegionTable_Init_Kakariko() {
|
||||
}, {
|
||||
//Exits
|
||||
ENTRANCE(RR_KAKARIKO_VILLAGE, true),
|
||||
ENTRANCE(RR_KAK_ROOFTOP, ctx->GetTrickOption(RT_UNINTUITIVE_JUMPS) && logic->IsChild),
|
||||
ENTRANCE(RR_KAK_ROOFTOP, !!ctx->GetTrickOption(RT_UNINTUITIVE_JUMPS)),
|
||||
});
|
||||
|
||||
areaTable[RR_KAK_ROOFTOP] = Region("Kak Rooftop", SCENE_KAKARIKO_VILLAGE, {}, {
|
||||
@@ -112,8 +113,9 @@ void RegionTable_Init_Kakariko() {
|
||||
LOCATION(RC_KAK_MAN_ON_ROOF, logic->HasItem(RG_SPEAK_HYLIAN)),
|
||||
}, {
|
||||
//Exits
|
||||
ENTRANCE(RR_KAK_BACKYARD, true),
|
||||
ENTRANCE(RR_KAKARIKO_VILLAGE, true),
|
||||
ENTRANCE(RR_KAK_BACKYARD, true),
|
||||
ENTRANCE(RR_KAK_BEHIND_POTION_SHOP, logic->HasItem(RG_HOVER_BOOTS)),
|
||||
ENTRANCE(RR_KAKARIKO_VILLAGE, true),
|
||||
});
|
||||
|
||||
areaTable[RR_KAK_BACKYARD] = Region("Kak Backyard", SCENE_KAKARIKO_VILLAGE, {}, {
|
||||
@@ -126,7 +128,15 @@ void RegionTable_Init_Kakariko() {
|
||||
ENTRANCE(RR_KAKARIKO_VILLAGE, true),
|
||||
ENTRANCE(RR_KAK_OPEN_GROTTO, true),
|
||||
ENTRANCE(RR_KAK_ODD_POTION_BUILDING, logic->IsAdult && logic->CanOpenOverworldDoor(RG_GRANNYS_POTION_SHOP_KEY)),
|
||||
ENTRANCE(RR_KAK_POTION_SHOP_BACK, logic->IsAdult && logic->AtDay && logic->CanOpenOverworldDoor(RG_KAK_POTION_SHOP_KEY)),
|
||||
ENTRANCE(RR_KAK_BEHIND_POTION_SHOP, logic->HasItem(RG_CLIMB)),
|
||||
});
|
||||
|
||||
areaTable[RR_KAK_BEHIND_POTION_SHOP] = Region("Kak Behind Potion Shop", SCENE_KAKARIKO_VILLAGE, {}, {}, {
|
||||
//Exits
|
||||
ENTRANCE(RR_KAK_BACKYARD, true),
|
||||
ENTRANCE(RR_KAK_POTION_SHOP, logic->IsAdult && logic->AtDay && logic->CanOpenOverworldDoor(RG_KAK_POTION_SHOP_KEY)),
|
||||
//can ledgegrab fence to rooftop with hover boots, but that's more difficult than the unintuitive jump, so not including in default logic
|
||||
ENTRANCE(RR_KAK_ROOFTOP, ctx->GetTrickOption(RT_HOVER_BOOST_SIMPLE) && logic->CanUse(RG_HOVER_BOOTS) && logic->CanUse(RG_MEGATON_HAMMER) && logic->IsAdult),
|
||||
});
|
||||
|
||||
areaTable[RR_KAK_CARPENTER_BOSS_HOUSE] = Region("Kak Carpenter Boss House", SCENE_KAKARIKO_CENTER_GUEST_HOUSE, {
|
||||
@@ -211,7 +221,7 @@ void RegionTable_Init_Kakariko() {
|
||||
ENTRANCE(RR_KAKARIKO_VILLAGE, true),
|
||||
});
|
||||
|
||||
areaTable[RR_KAK_POTION_SHOP_FRONT] = Region("Kak Potion Shop Front", SCENE_POTION_SHOP_KAKARIKO, {}, {
|
||||
areaTable[RR_KAK_POTION_SHOP] = Region("Kak Potion Shop", SCENE_POTION_SHOP_KAKARIKO, {}, {
|
||||
//Locations
|
||||
LOCATION(RC_KAK_POTION_SHOP_ITEM_1, logic->IsAdult && logic->HasItem(RG_SPEAK_HYLIAN) && GetCheckPrice() <= GetWalletCapacity()),
|
||||
LOCATION(RC_KAK_POTION_SHOP_ITEM_2, logic->IsAdult && logic->HasItem(RG_SPEAK_HYLIAN) && GetCheckPrice() <= GetWalletCapacity()),
|
||||
@@ -224,13 +234,7 @@ void RegionTable_Init_Kakariko() {
|
||||
}, {
|
||||
//Exits
|
||||
ENTRANCE(RR_KAKARIKO_VILLAGE, true),
|
||||
ENTRANCE(RR_KAK_POTION_SHOP_BACK, logic->IsAdult),
|
||||
});
|
||||
|
||||
areaTable[RR_KAK_POTION_SHOP_BACK] = Region("Kak Potion Shop Back", SCENE_POTION_SHOP_KAKARIKO, {}, {}, {
|
||||
//Exits
|
||||
ENTRANCE(RR_KAK_BACKYARD, logic->IsAdult),
|
||||
ENTRANCE(RR_KAK_POTION_SHOP_FRONT, true),
|
||||
ENTRANCE(RR_KAK_BEHIND_POTION_SHOP, logic->IsAdult),
|
||||
});
|
||||
|
||||
areaTable[RR_KAK_ODD_POTION_BUILDING] = Region("Kak Granny's Potion Shop", SCENE_POTION_SHOP_GRANNY, {
|
||||
|
||||
@@ -673,13 +673,13 @@ typedef enum {
|
||||
RR_KAK_WINDMILL_UPPER,
|
||||
RR_KAK_BAZAAR,
|
||||
RR_KAK_SHOOTING_GALLERY,
|
||||
RR_KAK_POTION_SHOP_FRONT,
|
||||
RR_KAK_POTION_SHOP_BACK,
|
||||
RR_KAK_POTION_SHOP,
|
||||
RR_KAK_WATCHTOWER,
|
||||
RR_KAK_ROOFTOP,
|
||||
RR_KAK_IMPAS_ROOFTOP,
|
||||
RR_KAK_BEHIND_GATE,
|
||||
RR_KAK_BACKYARD,
|
||||
RR_KAK_BEHIND_POTION_SHOP,
|
||||
RR_KAK_WELL,
|
||||
RR_KAK_ODD_POTION_BUILDING,
|
||||
RR_KAK_REDEAD_GROTTO,
|
||||
|
||||
Reference in New Issue
Block a user