mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2025-08-19 21:03:42 -07:00
@deprioritize
This commit is contained in:
parent
4416d641b1
commit
94f0b21265
3 changed files with 31 additions and 25 deletions
|
@ -300,7 +300,13 @@ for rr in RRs:
|
|||
if rr.exits:
|
||||
output("\n")
|
||||
for name, code in rr.exits:
|
||||
output(f"\tEntrance({name}, []{{return {rr.gen(code)};}}),\n")
|
||||
deprioritize = code.startswith("@deprioritize ")
|
||||
if deprioritize:
|
||||
_, code = code.split(None, 1)
|
||||
output(f"\tEntrance({name}, []{{return {rr.gen(code)};}}")
|
||||
if deprioritize:
|
||||
output(", \"\", false")
|
||||
output("),\n")
|
||||
output("});\n")
|
||||
|
||||
source = "".join(result)
|
||||
|
|
|
@ -6,7 +6,7 @@ using namespace Rando;
|
|||
extern "C" SaveContext gSaveContext;
|
||||
|
||||
void RegionTable_Init_Generated() {
|
||||
// clang-format off
|
||||
// clang-format off
|
||||
areaTable[RR_ROOT] = Region("Root", SCENE_ID_MAX, false, {RA_LINKS_POCKET}, {
|
||||
EventAccess(&logic->KakarikoVillageGateOpen, []{return ctx->GetOption(RSK_KAK_GATE).Is(RO_KAK_GATE_OPEN);}),
|
||||
EventAccess(&logic->THCouldFree1TorchCarpenter, []{return ctx->GetOption(RSK_GERUDO_FORTRESS).Is(RO_GF_CARPENTERS_FREE);}),
|
||||
|
@ -637,7 +637,7 @@ areaTable[RR_LAKE_HYLIA] = Region("Lake Hylia", SCENE_LAKE_HYLIA, true, {RA_LAKE
|
|||
}, {
|
||||
Entrance(RR_HYRULE_FIELD, []{return true;}),
|
||||
Entrance(RR_LH_FROM_SHORTCUT, []{return true;}),
|
||||
Entrance(RR_LH_OWL_FLIGHT, []{return logic->IsChild;}),
|
||||
Entrance(RR_LH_OWL_FLIGHT, []{return logic->IsChild;}, "", false),
|
||||
Entrance(RR_LH_FISHING_ISLAND, []{return (((logic->IsChild || logic->WaterTempleClear) && logic->HasItem(RG_BRONZE_SCALE)) || (logic->IsAdult && (logic->CanUse(RG_SCARECROW) || CanPlantBean(RR_LAKE_HYLIA))));}),
|
||||
Entrance(RR_LH_LAB, []{return logic->CanOpenOverworldDoor(RG_HYLIA_LAB_KEY);}),
|
||||
Entrance(RR_LH_FROM_WATER_TEMPLE, []{return true;}),
|
||||
|
@ -656,7 +656,7 @@ areaTable[RR_LH_FISHING_ISLAND] = Region("LH Fishing Island", SCENE_LAKE_HYLIA,
|
|||
Entrance(RR_LH_FISHING_POND, []{return logic->CanOpenOverworldDoor(RG_FISHING_HOLE_KEY);}),
|
||||
});
|
||||
areaTable[RR_LH_OWL_FLIGHT] = Region("LH Owl Flight", SCENE_LAKE_HYLIA, true, {RA_LAKE_HYLIA}, {}, {}, {
|
||||
Entrance(RR_HYRULE_FIELD, []{return true;}),
|
||||
Entrance(RR_HYRULE_FIELD, []{return true;}, "", false),
|
||||
});
|
||||
areaTable[RR_LH_LAB] = Region("LH Lab", SCENE_LAKESIDE_LABORATORY, false, {}, {}, {
|
||||
LOCATION(RC_LH_LAB_DIVE, (logic->HasItem(RG_GOLDEN_SCALE) || ((bool)ctx->GetTrickOption(RT_LH_LAB_DIVING) && (logic->CanUse(RG_IRON_BOOTS) && (logic->CanUse(RG_HOOKSHOT) && logic->HasItem(RG_BRONZE_SCALE)))))),
|
||||
|
@ -1732,7 +1732,7 @@ areaTable[RR_GRAVEYARD_DAMPES_GRAVE] = Region("Graveyard Dampes Grave", SCENE_WI
|
|||
LOCATION(RC_GRAVEYARD_DAMPE_RACE_RUPEE_8, true),
|
||||
}, {
|
||||
Entrance(RR_THE_GRAVEYARD, []{return true;}),
|
||||
Entrance(RR_KAK_WINDMILL, []{return (logic->IsAdult && logic->CanUse(RG_SONG_OF_TIME));}),
|
||||
Entrance(RR_KAK_WINDMILL, []{return (logic->IsAdult && logic->CanUse(RG_SONG_OF_TIME));}, "", false),
|
||||
});
|
||||
areaTable[RR_GRAVEYARD_DAMPES_HOUSE] = Region("Graveyard Dampes House", SCENE_GRAVEKEEPERS_HUT, false, {}, {}, {
|
||||
LOCATION(RC_DAMPE_HINT, logic->IsAdult),
|
||||
|
@ -2766,7 +2766,7 @@ areaTable[RR_DEKU_TREE_BOSS_ROOM] = Region("Deku Tree Boss Room", SCENE_DEKU_TRE
|
|||
LOCATION(RC_DEKU_TREE_QUEEN_GOHMA_GRASS_8, logic->CanCutShrubs()),
|
||||
}, {
|
||||
Entrance(RR_DEKU_TREE_BOSS_EXIT, []{return true;}),
|
||||
Entrance(RR_KF_OUTSIDE_DEKU_TREE, []{return logic->DekuTreeClear;}),
|
||||
Entrance(RR_KF_OUTSIDE_DEKU_TREE, []{return logic->DekuTreeClear;}, "", false),
|
||||
});
|
||||
areaTable[RR_DODONGOS_CAVERN_BEGINNING] = Region("Dodongos Cavern Beginning", SCENE_DODONGOS_CAVERN, false, {RA_DODONGOS_CAVERN}, {}, {}, {
|
||||
Entrance(RR_DODONGOS_CAVERN_ENTRYWAY, []{return true;}),
|
||||
|
@ -3168,7 +3168,7 @@ areaTable[RR_DODONGOS_CAVERN_BOSS_ROOM] = Region("Dodongos Cavern Boss Room", SC
|
|||
LOCATION(RC_KING_DODONGO, logic->DodongosCavernClear),
|
||||
}, {
|
||||
Entrance(RR_DODONGOS_CAVERN_BOSS_EXIT, []{return true;}),
|
||||
Entrance(RR_DEATH_MOUNTAIN_TRAIL, []{return logic->DodongosCavernClear;}),
|
||||
Entrance(RR_DEATH_MOUNTAIN_TRAIL, []{return logic->DodongosCavernClear;}, "", false),
|
||||
});
|
||||
areaTable[RR_JABU_JABUS_BELLY_BEGINNING] = Region("Jabu Jabus Belly Beginning", SCENE_JABU_JABU, false, {RA_JABU_JABUS_BELLY}, {}, {}, {
|
||||
Entrance(RR_JABU_JABUS_BELLY_ENTRYWAY, []{return true;}),
|
||||
|
@ -3410,7 +3410,7 @@ areaTable[RR_JABU_JABUS_BELLY_BOSS_ROOM] = Region("Jabu Jabus Belly Boss Room",
|
|||
LOCATION(RC_BARINADE, logic->JabuJabusBellyClear),
|
||||
}, {
|
||||
Entrance(RR_JABU_JABUS_BELLY_BOSS_EXIT, []{return false;}),
|
||||
Entrance(RR_ZORAS_FOUNTAIN, []{return logic->JabuJabusBellyClear;}),
|
||||
Entrance(RR_ZORAS_FOUNTAIN, []{return logic->JabuJabusBellyClear;}, "", false),
|
||||
});
|
||||
areaTable[RR_FOREST_TEMPLE_FIRST_ROOM] = Region("Forest Temple First Room", SCENE_FOREST_TEMPLE, false, {RA_FOREST_TEMPLE}, {}, {
|
||||
LOCATION(RC_FOREST_TEMPLE_FIRST_ROOM_CHEST, true),
|
||||
|
@ -3823,7 +3823,7 @@ areaTable[RR_FOREST_TEMPLE_BOSS_ROOM] = Region("Forest Temple Boss Room", SCENE_
|
|||
LOCATION(RC_PHANTOM_GANON, logic->ForestTempleClear),
|
||||
}, {
|
||||
Entrance(RR_FOREST_TEMPLE_BOSS_ENTRYWAY, []{return false;}),
|
||||
Entrance(RR_SACRED_FOREST_MEADOW, []{return logic->ForestTempleClear;}),
|
||||
Entrance(RR_SACRED_FOREST_MEADOW, []{return logic->ForestTempleClear;}, "", false),
|
||||
});
|
||||
areaTable[RR_FIRE_TEMPLE_FIRST_ROOM] = Region("Fire Temple First Room", SCENE_FIRE_TEMPLE, false, {RA_FIRE_TEMPLE}, {}, {}, {
|
||||
Entrance(RR_FIRE_TEMPLE_ENTRYWAY, []{return true;}),
|
||||
|
@ -4323,7 +4323,7 @@ areaTable[RR_FIRE_TEMPLE_BOSS_ROOM] = Region("Fire Temple Boss Room", SCENE_FIRE
|
|||
LOCATION(RC_VOLVAGIA, logic->FireTempleClear),
|
||||
}, {
|
||||
Entrance(RR_FIRE_TEMPLE_BOSS_ENTRYWAY, []{return false;}),
|
||||
Entrance(RR_DMC_CENTRAL_LOCAL, []{return logic->FireTempleClear;}),
|
||||
Entrance(RR_DMC_CENTRAL_LOCAL, []{return logic->FireTempleClear;}, "", false),
|
||||
});
|
||||
areaTable[RR_WATER_TEMPLE_LOBBY] = Region("Water Temple Lobby", SCENE_WATER_TEMPLE, false, {RA_WATER_TEMPLE}, {}, {
|
||||
LOCATION(RC_WATER_TEMPLE_MAIN_LEVEL_2_POT_1, (logic->CanBreakPots() && (logic->CanWaterTempleLowFromHigh || (logic->CanWaterTempleMiddle || (logic->CanUse(RG_IRON_BOOTS) && logic->CanUse(RG_HOOKSHOT)))))),
|
||||
|
@ -4893,7 +4893,7 @@ areaTable[RR_WATER_TEMPLE_BOSS_ROOM] = Region("Water Temple Boss Room", SCENE_WA
|
|||
LOCATION(RC_MORPHA, logic->WaterTempleClear),
|
||||
}, {
|
||||
Entrance(RR_WATER_TEMPLE_BOSS_ENTRYWAY, []{return false;}),
|
||||
Entrance(RR_LAKE_HYLIA, []{return logic->WaterTempleClear;}),
|
||||
Entrance(RR_LAKE_HYLIA, []{return logic->WaterTempleClear;}, "", false),
|
||||
});
|
||||
areaTable[RR_SPIRIT_TEMPLE_LOBBY] = Region("Spirit Temple Lobby", SCENE_SPIRIT_TEMPLE, false, {RA_SPIRIT_TEMPLE}, {}, {
|
||||
LOCATION(RC_SPIRIT_TEMPLE_LOBBY_POT_1, logic->CanBreakPots()),
|
||||
|
@ -5247,7 +5247,7 @@ areaTable[RR_SPIRIT_TEMPLE_BOSS_ROOM] = Region("Spirit Temple Boss Room", SCENE_
|
|||
LOCATION(RC_TWINROVA, logic->SpiritTempleClear),
|
||||
}, {
|
||||
Entrance(RR_SPIRIT_TEMPLE_BOSS_ENTRYWAY, []{return false;}),
|
||||
Entrance(RR_DESERT_COLOSSUS, []{return logic->SpiritTempleClear;}),
|
||||
Entrance(RR_DESERT_COLOSSUS, []{return logic->SpiritTempleClear;}, "", false),
|
||||
});
|
||||
areaTable[RR_SHADOW_TEMPLE_BEGINNING] = Region("Shadow Temple Beginning", SCENE_SHADOW_TEMPLE, false, {RA_SHADOW_TEMPLE}, {
|
||||
EventAccess(&logic->NutPot, []{return true;}),
|
||||
|
@ -6324,5 +6324,5 @@ areaTable[RR_GANONS_CASTLE_ESCAPE] = Region("Ganon's Castle Escape", SCENE_GANON
|
|||
areaTable[RR_GANONS_CASTLE_GANON_ARENA] = Region("Ganon's Arena", SCENE_GANON_BOSS, false, {}, {}, {
|
||||
LOCATION(RC_GANON, logic->CanKillEnemy(RE_GANON)),
|
||||
}, {});
|
||||
// clang-format on
|
||||
// clang-format on
|
||||
}
|
||||
|
|
|
@ -7,7 +7,7 @@ using namespace Rando;
|
|||
extern "C" SaveContext gSaveContext;
|
||||
|
||||
void RegionTable_Init_Generated() {
|
||||
// clang-format off
|
||||
// clang-format off
|
||||
::
|
||||
|
||||
def RR_ROOT SCENE_ID_MAX false RA_LINKS_POCKET
|
||||
|
@ -637,7 +637,7 @@ RC_LH_WARP_PAD_GRASS_1 CanCutShrubs
|
|||
RC_LH_WARP_PAD_GRASS_2 CanCutShrubs
|
||||
RR_HYRULE_FIELD true
|
||||
RR_LH_FROM_SHORTCUT true
|
||||
RR_LH_OWL_FLIGHT IsChild
|
||||
RR_LH_OWL_FLIGHT @deprioritize IsChild
|
||||
RR_LH_FISHING_ISLAND (or (and (or IsChild WaterTempleClear) (HasItem RG_BRONZE_SCALE)) (and IsAdult (or (CanUse RG_SCARECROW) (CanPlantBean RR_LAKE_HYLIA))))
|
||||
RR_LH_LAB (CanOpenOverworldDoor RG_HYLIA_LAB_KEY)
|
||||
RR_LH_FROM_WATER_TEMPLE true
|
||||
|
@ -660,7 +660,7 @@ RR_LH_FISHING_POND (CanOpenOverworldDoor RG_FISHING_HOLE_KEY)
|
|||
|
||||
def RR_LH_OWL_FLIGHT SCENE_LAKE_HYLIA true RA_LAKE_HYLIA
|
||||
LH Owl Flight
|
||||
RR_HYRULE_FIELD true
|
||||
RR_HYRULE_FIELD @deprioritize true
|
||||
|
||||
def RR_LH_LAB SCENE_LAKESIDE_LABORATORY false
|
||||
LH Lab
|
||||
|
@ -1736,7 +1736,7 @@ RC_GRAVEYARD_DAMPE_RACE_RUPEE_6 true
|
|||
RC_GRAVEYARD_DAMPE_RACE_RUPEE_7 true
|
||||
RC_GRAVEYARD_DAMPE_RACE_RUPEE_8 true
|
||||
RR_THE_GRAVEYARD true
|
||||
RR_KAK_WINDMILL (and IsAdult (CanUse RG_SONG_OF_TIME))
|
||||
RR_KAK_WINDMILL @deprioritize (and IsAdult (CanUse RG_SONG_OF_TIME))
|
||||
|
||||
def RR_GRAVEYARD_DAMPES_HOUSE SCENE_GRAVEKEEPERS_HUT false
|
||||
Graveyard Dampes House
|
||||
|
@ -2764,7 +2764,7 @@ RC_DEKU_TREE_QUEEN_GOHMA_GRASS_6 CanCutShrubs
|
|||
RC_DEKU_TREE_QUEEN_GOHMA_GRASS_7 CanCutShrubs
|
||||
RC_DEKU_TREE_QUEEN_GOHMA_GRASS_8 CanCutShrubs
|
||||
RR_DEKU_TREE_BOSS_EXIT true
|
||||
RR_KF_OUTSIDE_DEKU_TREE DekuTreeClear
|
||||
RR_KF_OUTSIDE_DEKU_TREE @deprioritize DekuTreeClear
|
||||
|
||||
def RR_DODONGOS_CAVERN_BEGINNING SCENE_DODONGOS_CAVERN false RA_DODONGOS_CAVERN
|
||||
Dodongos Cavern Beginning
|
||||
|
@ -3167,7 +3167,7 @@ RC_DODONGOS_CAVERN_BOSS_ROOM_CHEST true
|
|||
RC_DODONGOS_CAVERN_KING_DODONGO_HEART DodongosCavernClear
|
||||
RC_KING_DODONGO DodongosCavernClear
|
||||
RR_DODONGOS_CAVERN_BOSS_EXIT true
|
||||
RR_DEATH_MOUNTAIN_TRAIL DodongosCavernClear
|
||||
RR_DEATH_MOUNTAIN_TRAIL @deprioritize DodongosCavernClear
|
||||
|
||||
def RR_JABU_JABUS_BELLY_BEGINNING SCENE_JABU_JABU false RA_JABU_JABUS_BELLY
|
||||
Jabu Jabus Belly Beginning
|
||||
|
@ -3400,7 +3400,7 @@ RC_JABU_JABUS_BELLY_BARINADE_POT_6 CanBreakPots
|
|||
RC_JABU_JABUS_BELLY_BARINADE_HEART JabuJabusBellyClear
|
||||
RC_BARINADE JabuJabusBellyClear
|
||||
RR_JABU_JABUS_BELLY_BOSS_EXIT false
|
||||
RR_ZORAS_FOUNTAIN JabuJabusBellyClear
|
||||
RR_ZORAS_FOUNTAIN @deprioritize JabuJabusBellyClear
|
||||
|
||||
def RR_FOREST_TEMPLE_FIRST_ROOM SCENE_FOREST_TEMPLE false RA_FOREST_TEMPLE
|
||||
Forest Temple First Room
|
||||
|
@ -3805,7 +3805,7 @@ ForestTempleClear (CanKillEnemy RE_PHANTOM_GANON)
|
|||
RC_FOREST_TEMPLE_PHANTOM_GANON_HEART ForestTempleClear
|
||||
RC_PHANTOM_GANON ForestTempleClear
|
||||
RR_FOREST_TEMPLE_BOSS_ENTRYWAY false
|
||||
RR_SACRED_FOREST_MEADOW ForestTempleClear
|
||||
RR_SACRED_FOREST_MEADOW @deprioritize ForestTempleClear
|
||||
|
||||
def RR_FIRE_TEMPLE_FIRST_ROOM SCENE_FIRE_TEMPLE false RA_FIRE_TEMPLE
|
||||
Fire Temple First Room
|
||||
|
@ -4315,7 +4315,7 @@ FireTempleClear (and (>= FireTimer 64) (CanKillEnemy RE_VOLVAGIA))
|
|||
RC_FIRE_TEMPLE_VOLVAGIA_HEART FireTempleClear
|
||||
RC_VOLVAGIA FireTempleClear
|
||||
RR_FIRE_TEMPLE_BOSS_ENTRYWAY false
|
||||
RR_DMC_CENTRAL_LOCAL FireTempleClear
|
||||
RR_DMC_CENTRAL_LOCAL @deprioritize FireTempleClear
|
||||
|
||||
def RR_WATER_TEMPLE_LOBBY SCENE_WATER_TEMPLE false RA_WATER_TEMPLE
|
||||
Water Temple Lobby
|
||||
|
@ -4898,7 +4898,7 @@ WaterTempleClear (CanKillEnemy RE_MORPHA)
|
|||
RC_WATER_TEMPLE_MORPHA_HEART WaterTempleClear
|
||||
RC_MORPHA WaterTempleClear
|
||||
RR_WATER_TEMPLE_BOSS_ENTRYWAY false
|
||||
RR_LAKE_HYLIA WaterTempleClear
|
||||
RR_LAKE_HYLIA @deprioritize WaterTempleClear
|
||||
|
||||
def RR_SPIRIT_TEMPLE_LOBBY SCENE_SPIRIT_TEMPLE false RA_SPIRIT_TEMPLE
|
||||
Spirit Temple Lobby
|
||||
|
@ -5256,7 +5256,7 @@ SpiritTempleClear (CanKillEnemy RE_TWINROVA)
|
|||
RC_SPIRIT_TEMPLE_TWINROVA_HEART SpiritTempleClear
|
||||
RC_TWINROVA SpiritTempleClear
|
||||
RR_SPIRIT_TEMPLE_BOSS_ENTRYWAY false
|
||||
RR_DESERT_COLOSSUS SpiritTempleClear
|
||||
RR_DESERT_COLOSSUS @deprioritize SpiritTempleClear
|
||||
|
||||
def RR_SHADOW_TEMPLE_BEGINNING SCENE_SHADOW_TEMPLE false RA_SHADOW_TEMPLE
|
||||
Shadow Temple Beginning
|
||||
|
@ -6340,6 +6340,6 @@ Ganon's Arena
|
|||
RC_GANON (CanKillEnemy RE_GANON)
|
||||
|
||||
::
|
||||
// clang-format on
|
||||
// clang-format on
|
||||
}
|
||||
::
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue