Moved some randomizer types into a separate files so the enums can be stringified.

This commit is contained in:
Anthony Stewart 2025-06-13 19:49:45 -05:00 committed by xxAtrain223
commit e1f689ade4
15 changed files with 4813 additions and 4554 deletions

View file

@ -9,20 +9,20 @@ void RegionTable_Init_GerudoFortress() {
areaTable[RR_GF_OUTSKIRTS] = Region("Gerudo Fortress Outskirts", SCENE_GERUDOS_FORTRESS, {
//Events
EventAccess(&logic->GF_GateOpen, []{return logic->IsAdult && logic->HasItem(RG_GERUDO_MEMBERSHIP_CARD);}), //needs climb
EVENT_ACCESS(GF_GateOpen, logic->IsAdult && logic->HasItem(RG_GERUDO_MEMBERSHIP_CARD)), //needs climb
}, {
//Locations
LOCATION(RC_GF_OUTSKIRTS_NE_CRATE, (logic->IsChild || logic->CanPassEnemy(RE_GERUDO_GUARD)) && logic->CanBreakCrates()),
LOCATION(RC_GF_OUTSKIRTS_NW_CRATE, logic->IsChild || logic->CanPassEnemy(RE_GERUDO_GUARD)),
}, {
//Exits
Entrance(RR_GV_FORTRESS_SIDE, []{return true;}),
Entrance(RR_TH_1_TORCH_CELL, []{return true;}),
Entrance(RR_GF_OUTSIDE_GATE, []{return logic->GF_GateOpen;}),
Entrance(RR_GF_NEAR_GROTTO, []{return logic->IsChild || logic->CanPassEnemy(RE_GERUDO_GUARD);}),
Entrance(RR_GF_OUTSIDE_GTG, []{return logic->IsChild || logic->CanPassEnemy(RE_GERUDO_GUARD);}),
ENTRANCE(RR_GV_FORTRESS_SIDE, true),
ENTRANCE(RR_TH_1_TORCH_CELL, true),
ENTRANCE(RR_GF_OUTSIDE_GATE, logic->GF_GateOpen),
ENTRANCE(RR_GF_NEAR_GROTTO, logic->IsChild || logic->CanPassEnemy(RE_GERUDO_GUARD)),
ENTRANCE(RR_GF_OUTSIDE_GTG, logic->IsChild || logic->CanPassEnemy(RE_GERUDO_GUARD)),
//You can talk to the guards to get yourself thrown in jail, so long as you have a hookshot to actually end up there
Entrance(RR_GF_JAIL_WINDOW, []{return logic->CanUse(RG_HOOKSHOT);}),
ENTRANCE(RR_GF_JAIL_WINDOW, logic->CanUse(RG_HOOKSHOT)),
});
areaTable[RR_GF_NEAR_GROTTO] = Region("GF Near Grotto", SCENE_GERUDOS_FORTRESS, {}, {
@ -33,42 +33,42 @@ void RegionTable_Init_GerudoFortress() {
LOCATION(RR_GF_NORTHMOST_CENTER_CRATE, logic->CanBreakCrates()),
}, {
//Exits
Entrance(RR_TH_1_TORCH_CELL, []{return true;}),
Entrance(RR_TH_STEEP_SLOPE_CELL, []{return true;}),
Entrance(RR_TH_KITCHEN_CORRIDOR, []{return true;}),
ENTRANCE(RR_TH_1_TORCH_CELL, true),
ENTRANCE(RR_TH_STEEP_SLOPE_CELL, true),
ENTRANCE(RR_TH_KITCHEN_CORRIDOR, true),
//Jail
Entrance(RR_GF_OUTSKIRTS, []{return true;}),
Entrance(RR_GF_JAIL_WINDOW, []{return logic->CanUse(RG_HOOKSHOT);}),
Entrance(RR_GF_OUTSIDE_GTG, []{return logic->IsChild || logic->CanPassEnemy(RE_GERUDO_GUARD);}),
Entrance(RR_GF_TOP_OF_UPPER_VINES, []{return logic->CanUse(RG_LONGSHOT);}),
Entrance(RR_GF_STORMS_GROTTO, []{return logic->IsAdult && logic->CanOpenStormsGrotto();}),
ENTRANCE(RR_GF_OUTSKIRTS, true),
ENTRANCE(RR_GF_JAIL_WINDOW, logic->CanUse(RG_HOOKSHOT)),
ENTRANCE(RR_GF_OUTSIDE_GTG, logic->IsChild || logic->CanPassEnemy(RE_GERUDO_GUARD)),
ENTRANCE(RR_GF_TOP_OF_UPPER_VINES, logic->CanUse(RG_LONGSHOT)),
ENTRANCE(RR_GF_STORMS_GROTTO, logic->IsAdult && logic->CanOpenStormsGrotto()),
});
areaTable[RR_GF_OUTSIDE_GTG] = Region("GF Outside GTG", SCENE_GERUDOS_FORTRESS, {
//Events
EventAccess(&logic->GtG_GateOpen, []{return (logic->IsAdult && logic->HasItem(RG_GERUDO_MEMBERSHIP_CARD) && logic->HasItem(RG_CHILD_WALLET));}),
EVENT_ACCESS(GtG_GateOpen, (logic->IsAdult && logic->HasItem(RG_GERUDO_MEMBERSHIP_CARD) && logic->HasItem(RG_CHILD_WALLET))),
}, {}, {
//Exits
Entrance(RR_GF_TO_GTG, []{return logic->GtG_GateOpen && (logic->IsAdult || ctx->GetOption(RSK_SHUFFLE_DUNGEON_ENTRANCES));}),
ENTRANCE(RR_GF_TO_GTG, logic->GtG_GateOpen && (logic->IsAdult || ctx->GetOption(RSK_SHUFFLE_DUNGEON_ENTRANCES))),
//Jail
Entrance(RR_GF_JAIL_WINDOW, []{return logic->CanUse(RG_HOOKSHOT);}),
Entrance(RR_GF_OUTSKIRTS, []{return true;}),
Entrance(RR_GF_NEAR_GROTTO, []{return logic->IsChild || logic->CanPassEnemy(RE_GERUDO_GUARD);}),
ENTRANCE(RR_GF_JAIL_WINDOW, logic->CanUse(RG_HOOKSHOT)),
ENTRANCE(RR_GF_OUTSKIRTS, true),
ENTRANCE(RR_GF_NEAR_GROTTO, logic->IsChild || logic->CanPassEnemy(RE_GERUDO_GUARD)),
// RANDTODO: Add tricks for getting past the gerudo guarding the hba range
Entrance(RR_GF_ABOVE_GTG, []{return logic->IsChild || logic->CanPassEnemy(RE_GERUDO_GUARD);}),
Entrance(RR_GF_TOP_OF_UPPER_VINES, []{return logic->HasItem(RG_GERUDO_MEMBERSHIP_CARD) && logic->CanUse(RG_LONGSHOT);}),
Entrance(RR_GF_HBA_RANGE, []{return logic->IsChild || logic->HasItem(RG_GERUDO_MEMBERSHIP_CARD);}),
ENTRANCE(RR_GF_ABOVE_GTG, logic->IsChild || logic->CanPassEnemy(RE_GERUDO_GUARD)),
ENTRANCE(RR_GF_TOP_OF_UPPER_VINES, logic->HasItem(RG_GERUDO_MEMBERSHIP_CARD) && logic->CanUse(RG_LONGSHOT)),
ENTRANCE(RR_GF_HBA_RANGE, logic->IsChild || logic->HasItem(RG_GERUDO_MEMBERSHIP_CARD)),
});
areaTable[RR_GF_TO_GTG] = Region("GF to GTG", SCENE_GERUDOS_FORTRESS, {}, {}, {
Entrance(RR_GERUDO_TRAINING_GROUND_ENTRYWAY, []{return true;}),
ENTRANCE(RR_GERUDO_TRAINING_GROUND_ENTRYWAY, true),
});
// Split out to handle adult being immediately captured without card
areaTable[RR_GF_EXITING_GTG] = Region("GF Exiting GTG", SCENE_GERUDOS_FORTRESS, {}, {}, {
Entrance(RR_GF_OUTSIDE_GTG, []{return logic->IsChild || logic->HasItem(RG_GERUDO_MEMBERSHIP_CARD);}),
Entrance(RR_GF_JAIL_WINDOW, []{return logic->CanUse(RG_HOOKSHOT);}),
Entrance(RR_GF_OUTSKIRTS, []{return true;}),
ENTRANCE(RR_GF_OUTSIDE_GTG, logic->IsChild || logic->HasItem(RG_GERUDO_MEMBERSHIP_CARD)),
ENTRANCE(RR_GF_JAIL_WINDOW, logic->CanUse(RG_HOOKSHOT)),
ENTRANCE(RR_GF_OUTSKIRTS, true),
});
#pragma endregion
@ -77,33 +77,33 @@ void RegionTable_Init_GerudoFortress() {
areaTable[RR_GF_ABOVE_GTG] = Region("GF Above GTG", SCENE_GERUDOS_FORTRESS, {}, {}, {
//Exits
Entrance(RR_TH_DOUBLE_CELL, []{return true;}),
Entrance(RR_TH_KITCHEN_CORRIDOR, []{return true;}),
ENTRANCE(RR_TH_DOUBLE_CELL, true),
ENTRANCE(RR_TH_KITCHEN_CORRIDOR, true),
//Jail
Entrance(RR_GF_JAIL_WINDOW, []{return logic->CanUse(RG_HOOKSHOT);}),
Entrance(RR_GF_OUTSKIRTS, []{return true;}),
Entrance(RR_GF_NEAR_GROTTO, []{return true;}),
Entrance(RR_GF_OUTSIDE_GTG, []{return logic->IsChild || logic->CanPassEnemy(RE_GERUDO_GUARD);}),
ENTRANCE(RR_GF_JAIL_WINDOW, logic->CanUse(RG_HOOKSHOT)),
ENTRANCE(RR_GF_OUTSKIRTS, true),
ENTRANCE(RR_GF_NEAR_GROTTO, true),
ENTRANCE(RR_GF_OUTSIDE_GTG, logic->IsChild || logic->CanPassEnemy(RE_GERUDO_GUARD)),
// need to explicitly convert it into a bool
Entrance(RR_GF_BOTTOM_OF_LOWER_VINES, []{return ctx->GetTrickOption(RT_GF_JUMP).Get() != 0 ;}),
ENTRANCE(RR_GF_BOTTOM_OF_LOWER_VINES, ctx->GetTrickOption(RT_GF_JUMP).Get() != 0 ),
});
areaTable[RR_GF_BOTTOM_OF_LOWER_VINES] = Region("GF Bottom of Lower Vines", SCENE_GERUDOS_FORTRESS, {}, {}, {
//Exits
Entrance(RR_TH_STEEP_SLOPE_CELL, []{return true;}),
Entrance(RR_GF_NEAR_GROTTO, []{return true;}),
Entrance(RR_GF_TOP_OF_LOWER_VINES, []{return true /* logic->CanClimb() */;}),
Entrance(RR_GF_ABOVE_GTG, []{return true;}),
ENTRANCE(RR_TH_STEEP_SLOPE_CELL, true),
ENTRANCE(RR_GF_NEAR_GROTTO, true),
ENTRANCE(RR_GF_TOP_OF_LOWER_VINES, true /* logic->CanClimb() */),
ENTRANCE(RR_GF_ABOVE_GTG, true),
});
areaTable[RR_GF_TOP_OF_LOWER_VINES] = Region("GF Top of Lower Vines", SCENE_GERUDOS_FORTRESS, {}, {}, {
//Exits
Entrance(RR_TH_KITCHEN_TOP, []{return true;}),
Entrance(RR_TH_DOUBLE_CELL, []{return true;}),
Entrance(RR_GF_ABOVE_GTG, []{return true;}),
Entrance(RR_GF_BOTTOM_OF_LOWER_VINES, []{return true;}),
ENTRANCE(RR_TH_KITCHEN_TOP, true),
ENTRANCE(RR_TH_DOUBLE_CELL, true),
ENTRANCE(RR_GF_ABOVE_GTG, true),
ENTRANCE(RR_GF_BOTTOM_OF_LOWER_VINES, true),
// need to explicitly convert it into a bool
Entrance(RR_GF_BOTTOM_OF_UPPER_VINES, []{return logic->IsAdult && ctx->GetTrickOption(RT_GF_JUMP).Get();}),
ENTRANCE(RR_GF_BOTTOM_OF_UPPER_VINES, logic->IsAdult && ctx->GetTrickOption(RT_GF_JUMP).Get()),
});
areaTable[RR_GF_NEAR_GS] = Region("GF Near GS", SCENE_GERUDOS_FORTRESS, {}, {
@ -111,30 +111,30 @@ void RegionTable_Init_GerudoFortress() {
LOCATION(RC_GF_GS_TOP_FLOOR, logic->IsAdult && logic->CanGetEnemyDrop(RE_GOLD_SKULLTULA, ED_BOMB_THROW) && logic->CanGetNightTimeGS()),
}, {
//Exits
Entrance(RR_TH_KITCHEN_TOP, []{return true;}),
Entrance(RR_GF_BOTTOM_OF_LOWER_VINES, []{return true;}),
Entrance(RR_GF_TOP_OF_LOWER_VINES, []{return true;}),
Entrance(RR_GF_SLOPED_ROOF, []{return logic->IsAdult;}),
Entrance(RR_GF_LONG_ROOF, []{return logic->CanUse(RG_HOVER_BOOTS) /* || bunny hood jump */ || logic->IsAdult && ctx->GetTrickOption(RT_GF_JUMP);}),
Entrance(RR_GF_NEAR_CHEST, []{return logic->CanUse(RG_LONGSHOT);}),
Entrance(RR_GF_BELOW_GS, []{return true;}),
ENTRANCE(RR_TH_KITCHEN_TOP, true),
ENTRANCE(RR_GF_BOTTOM_OF_LOWER_VINES, true),
ENTRANCE(RR_GF_TOP_OF_LOWER_VINES, true),
ENTRANCE(RR_GF_SLOPED_ROOF, logic->IsAdult),
ENTRANCE(RR_GF_LONG_ROOF, logic->CanUse(RG_HOVER_BOOTS) /* || bunny hood jump */ || logic->IsAdult && ctx->GetTrickOption(RT_GF_JUMP)),
ENTRANCE(RR_GF_NEAR_CHEST, logic->CanUse(RG_LONGSHOT)),
ENTRANCE(RR_GF_BELOW_GS, true),
});
areaTable[RR_GF_SLOPED_ROOF] = Region("GF Sloped Roof", SCENE_GERUDOS_FORTRESS, {}, {}, {
//Exits
Entrance(RR_GF_TOP_OF_LOWER_VINES, []{return true;}),
Entrance(RR_GF_NEAR_GS, []{return true;}),
Entrance(RR_GF_BOTTOM_OF_UPPER_VINES, []{return true;}),
Entrance(RR_GF_TOP_OF_UPPER_VINES, []{return logic->IsAdult && ctx->GetTrickOption(RT_GF_JUMP).Get();}),
ENTRANCE(RR_GF_TOP_OF_LOWER_VINES, true),
ENTRANCE(RR_GF_NEAR_GS, true),
ENTRANCE(RR_GF_BOTTOM_OF_UPPER_VINES, true),
ENTRANCE(RR_GF_TOP_OF_UPPER_VINES, logic->IsAdult && ctx->GetTrickOption(RT_GF_JUMP).Get()),
});
areaTable[RR_GF_BOTTOM_OF_UPPER_VINES] = Region("GF Bottom of Upper Vines", SCENE_GERUDOS_FORTRESS, {}, {}, {
//Exits
Entrance(RR_GF_OUTSIDE_GTG, []{return true;}),
Entrance(RR_GF_TOP_OF_LOWER_VINES, []{return true;}),
Entrance(RR_GF_SLOPED_ROOF, []{return logic->IsAdult && logic->CanUse(RG_HOVER_BOOTS);}),
Entrance(RR_GF_TOP_OF_UPPER_VINES, []{return true /* logic->CanClimb() */;}),
Entrance(RR_GF_TO_GTG, []{return logic->IsAdult && ctx->GetTrickOption(RT_GF_LEDGE_CLIP_INTO_GTG).Get();}),
ENTRANCE(RR_GF_OUTSIDE_GTG, true),
ENTRANCE(RR_GF_TOP_OF_LOWER_VINES, true),
ENTRANCE(RR_GF_SLOPED_ROOF, logic->IsAdult && logic->CanUse(RG_HOVER_BOOTS)),
ENTRANCE(RR_GF_TOP_OF_UPPER_VINES, true /* logic->CanClimb() */),
ENTRANCE(RR_GF_TO_GTG, logic->IsAdult && ctx->GetTrickOption(RT_GF_LEDGE_CLIP_INTO_GTG).Get()),
});
areaTable[RR_GF_TOP_OF_UPPER_VINES] = Region("GF Top of Upper Vines", SCENE_GERUDOS_FORTRESS, {}, {
@ -143,10 +143,10 @@ void RegionTable_Init_GerudoFortress() {
LOCATION(RC_GF_GS_TOP_FLOOR, logic->IsAdult && logic->CanGetEnemyDrop(RE_GOLD_SKULLTULA, ED_SHORT_JUMPSLASH) && logic->CanGetNightTimeGS()),
}, {
//Exits
Entrance(RR_GF_TOP_OF_LOWER_VINES, []{return true;}),
Entrance(RR_GF_SLOPED_ROOF, []{return true;}),
Entrance(RR_GF_BOTTOM_OF_UPPER_VINES, []{return true;}),
Entrance(RR_GF_NEAR_CHEST, []{return logic->CanUse(RG_HOVER_BOOTS) || (logic->IsAdult && logic->CanUse(RG_SCARECROW) && logic->CanUse(RG_HOOKSHOT)) || logic->CanUse(RG_LONGSHOT);}),
ENTRANCE(RR_GF_TOP_OF_LOWER_VINES, true),
ENTRANCE(RR_GF_SLOPED_ROOF, true),
ENTRANCE(RR_GF_BOTTOM_OF_UPPER_VINES, true),
ENTRANCE(RR_GF_NEAR_CHEST, logic->CanUse(RG_HOVER_BOOTS) || (logic->IsAdult && logic->CanUse(RG_SCARECROW) && logic->CanUse(RG_HOOKSHOT)) || logic->CanUse(RG_LONGSHOT)),
});
areaTable[RR_GF_NEAR_CHEST] = Region("GF Near Chest", SCENE_GERUDOS_FORTRESS, {}, {
@ -155,17 +155,17 @@ void RegionTable_Init_GerudoFortress() {
LOCATION(RC_GF_GS_TOP_FLOOR, logic->IsAdult && logic->CanGetEnemyDrop(RE_GOLD_SKULLTULA, ED_BOOMERANG) && logic->CanGetNightTimeGS()),
}, {
//Exits
Entrance(RR_GF_NEAR_GS, []{return true;}),
Entrance(RR_GF_LONG_ROOF, []{return true;}),
ENTRANCE(RR_GF_NEAR_GS, true),
ENTRANCE(RR_GF_LONG_ROOF, true),
});
areaTable[RR_GF_LONG_ROOF] = Region("GF Long Roof", SCENE_GERUDOS_FORTRESS, {}, {}, {
//Exits
Entrance(RR_GF_BOTTOM_OF_LOWER_VINES, []{return true;}),
Entrance(RR_GF_NEAR_GS, []{return (logic->IsAdult && ctx->GetTrickOption(RT_GF_JUMP)) || logic->CanUse(RG_HOVER_BOOTS);}),
Entrance(RR_GF_BELOW_GS, []{return true;}),
Entrance(RR_GF_NEAR_CHEST, []{return logic->CanUse(RG_LONGSHOT);}),
Entrance(RR_GF_BELOW_CHEST, []{return true;}),
ENTRANCE(RR_GF_BOTTOM_OF_LOWER_VINES, true),
ENTRANCE(RR_GF_NEAR_GS, (logic->IsAdult && ctx->GetTrickOption(RT_GF_JUMP)) || logic->CanUse(RG_HOVER_BOOTS)),
ENTRANCE(RR_GF_BELOW_GS, true),
ENTRANCE(RR_GF_NEAR_CHEST, logic->CanUse(RG_LONGSHOT)),
ENTRANCE(RR_GF_BELOW_CHEST, true),
});
areaTable[RR_GF_BELOW_GS] = Region("GF Below GS", SCENE_GERUDOS_FORTRESS, {}, {
@ -173,14 +173,14 @@ void RegionTable_Init_GerudoFortress() {
LOCATION(RC_GF_GS_TOP_FLOOR, logic->IsAdult && logic->CanGetEnemyDrop(RE_GOLD_SKULLTULA, ED_LONGSHOT) && logic->CanGetNightTimeGS()),
}, {
//Exits
Entrance(RR_TH_DEAD_END_CELL, []{return true;}),
Entrance(RR_GF_BOTTOM_OF_LOWER_VINES, []{return true;}),
ENTRANCE(RR_TH_DEAD_END_CELL, true),
ENTRANCE(RR_GF_BOTTOM_OF_LOWER_VINES, true),
});
areaTable[RR_GF_BELOW_CHEST] = Region("GF Below Chest", SCENE_GERUDOS_FORTRESS, {}, {}, {
//Exits
Entrance(RR_TH_BREAK_ROOM, []{return true;}),
Entrance(RR_GF_OUTSKIRTS, []{return true;}),
ENTRANCE(RR_TH_BREAK_ROOM, true),
ENTRANCE(RR_GF_OUTSKIRTS, true),
});
@ -193,17 +193,17 @@ void RegionTable_Init_GerudoFortress() {
//Exits
//you don't take fall damage if you land on the rock with the flag on for some reason
//there's a trick to reach RR_GF_LONG_ROOF but that's too intricate for GF_JUMP
Entrance(RR_GF_OUTSKIRTS, []{return ctx->GetTrickOption(RT_GF_JUMP).Get() != 0;}),
Entrance(RR_GF_NEAR_CHEST, []{return logic->CanUse(RG_LONGSHOT);}),
Entrance(RR_GF_BELOW_CHEST, []{return logic->TakeDamage();}),
Entrance(RR_GF_JAIL_WINDOW, []{return logic->CanUse(RG_HOOKSHOT);}),
ENTRANCE(RR_GF_OUTSKIRTS, ctx->GetTrickOption(RT_GF_JUMP).Get() != 0),
ENTRANCE(RR_GF_NEAR_CHEST, logic->CanUse(RG_LONGSHOT)),
ENTRANCE(RR_GF_BELOW_CHEST, logic->TakeDamage()),
ENTRANCE(RR_GF_JAIL_WINDOW, logic->CanUse(RG_HOOKSHOT)),
});
areaTable[RR_GF_JAIL_WINDOW] = Region("GF Jail Window", SCENE_GERUDOS_FORTRESS, {}, {}, {
//Exits
//There's a trick where hovers backwalk into backflip gives access to RR_GF_LONG_ROOF from here
Entrance(RR_GF_OUTSKIRTS, []{return true;}),
Entrance(RR_GF_BELOW_CHEST, []{return true;}),
ENTRANCE(RR_GF_OUTSKIRTS, true),
ENTRANCE(RR_GF_BELOW_CHEST, true),
});
areaTable[RR_GF_HBA_RANGE] = Region("GF HBA Range", SCENE_GERUDOS_FORTRESS, {}, {
@ -228,21 +228,21 @@ void RegionTable_Init_GerudoFortress() {
LOCATION(RC_GF_SOUTH_TARGET_WEST_CRATE, logic->CanBreakCrates()),
}, {
//Exits
Entrance(RR_GF_OUTSIDE_GTG, []{return logic->IsChild || logic->HasItem(RG_GERUDO_MEMBERSHIP_CARD);}),
ENTRANCE(RR_GF_OUTSIDE_GTG, logic->IsChild || logic->HasItem(RG_GERUDO_MEMBERSHIP_CARD)),
});
areaTable[RR_GF_OUTSIDE_GATE] = Region("GF Outside Gate", SCENE_GERUDOS_FORTRESS, {
//Events
EventAccess(&logic->GF_GateOpen, []{return logic->IsAdult && logic->HasItem(RG_GERUDO_MEMBERSHIP_CARD);}),
EVENT_ACCESS(GF_GateOpen, logic->IsAdult && logic->HasItem(RG_GERUDO_MEMBERSHIP_CARD)),
}, {}, {
//Exits
Entrance(RR_GF_OUTSKIRTS, []{return logic->GF_GateOpen;}),
Entrance(RR_WASTELAND_NEAR_FORTRESS, []{return true;}),
ENTRANCE(RR_GF_OUTSKIRTS, logic->GF_GateOpen),
ENTRANCE(RR_WASTELAND_NEAR_FORTRESS, true),
});
areaTable[RR_GF_STORMS_GROTTO] = Region("GF Storms Grotto", SCENE_GROTTOS, {
//Events
EventAccess(&logic->FreeFairies, []{return true;}),
EVENT_ACCESS(FreeFairies, true),
}, {
//Locations
LOCATION(RC_GF_FAIRY_GROTTO_FAIRY_1, true),
@ -255,7 +255,7 @@ void RegionTable_Init_GerudoFortress() {
LOCATION(RC_GF_FAIRY_GROTTO_FAIRY_8, true),
}, {
//Exits
Entrance(RR_GF_NEAR_GROTTO, []{return true;}),
ENTRANCE(RR_GF_NEAR_GROTTO, true),
});
}
// clang-format on

View file

@ -8,8 +8,8 @@ using namespace Rando;
void RegionTable_Init_ThievesHideout() {
areaTable[RR_TH_1_TORCH_CELL] = Region("Thieves Hideout 1 Torch Cell", SCENE_THIEVES_HIDEOUT, {
//Events
EventAccess(&logic->THCouldFree1TorchCarpenter, []{return logic->CanKillEnemy(RE_GERUDO_WARRIOR);}),
EventAccess(&logic->THRescuedAllCarpenters, []{return logic->SmallKeys(RR_GF_OUTSKIRTS, ctx->GetOption(RSK_GERUDO_FORTRESS).Is(RO_GF_CARPENTERS_NORMAL) ? 4 : 1) && logic->THCouldFree1TorchCarpenter && logic->THCouldFreeDoubleCellCarpenter && logic->TH_CouldFreeDeadEndCarpenter && logic->THCouldRescueSlopeCarpenter;}),
EVENT_ACCESS(THCouldFree1TorchCarpenter, logic->CanKillEnemy(RE_GERUDO_WARRIOR)),
EVENT_ACCESS(THRescuedAllCarpenters, logic->SmallKeys(RR_GF_OUTSKIRTS, ctx->GetOption(RSK_GERUDO_FORTRESS).Is(RO_GF_CARPENTERS_NORMAL) ? 4 : 1) && logic->THCouldFree1TorchCarpenter && logic->THCouldFreeDoubleCellCarpenter && logic->TH_CouldFreeDeadEndCarpenter && logic->THCouldRescueSlopeCarpenter),
}, {
//Locations
LOCATION(RC_TH_1_TORCH_CARPENTER, logic->CanKillEnemy(RE_GERUDO_WARRIOR)),
@ -20,14 +20,14 @@ void RegionTable_Init_ThievesHideout() {
LOCATION(RC_TH_FREED_CARPENTERS, logic->THRescuedAllCarpenters),
}, {
//Exits
Entrance(RR_GF_OUTSKIRTS, []{return true;}),
Entrance(RR_GF_NEAR_GROTTO, []{return true;}),
ENTRANCE(RR_GF_OUTSKIRTS, true),
ENTRANCE(RR_GF_NEAR_GROTTO, true),
});
areaTable[RR_TH_DOUBLE_CELL] = Region("Thieves Hideout Double Cell", SCENE_THIEVES_HIDEOUT, {
//Events
EventAccess(&logic->THCouldFreeDoubleCellCarpenter, []{return logic->CanKillEnemy(RE_GERUDO_WARRIOR);}),
EventAccess(&logic->THRescuedAllCarpenters, []{return ctx->GetOption(RSK_GERUDO_FORTRESS).Is(RO_GF_CARPENTERS_NORMAL) && logic->SmallKeys(RR_GF_OUTSKIRTS, 4) && logic->THCouldFree1TorchCarpenter && logic->THCouldFreeDoubleCellCarpenter && logic->TH_CouldFreeDeadEndCarpenter && logic->THCouldRescueSlopeCarpenter;}),
EVENT_ACCESS(THCouldFreeDoubleCellCarpenter, logic->CanKillEnemy(RE_GERUDO_WARRIOR)),
EVENT_ACCESS(THRescuedAllCarpenters, ctx->GetOption(RSK_GERUDO_FORTRESS).Is(RO_GF_CARPENTERS_NORMAL) && logic->SmallKeys(RR_GF_OUTSKIRTS, 4) && logic->THCouldFree1TorchCarpenter && logic->THCouldFreeDoubleCellCarpenter && logic->TH_CouldFreeDeadEndCarpenter && logic->THCouldRescueSlopeCarpenter),
}, {
//Locations
LOCATION(RC_TH_DOUBLE_CELL_CARPENTER, logic->CanKillEnemy(RE_GERUDO_WARRIOR)),
@ -43,14 +43,14 @@ void RegionTable_Init_ThievesHideout() {
LOCATION(RC_TH_FREED_CARPENTERS, logic->THRescuedAllCarpenters),
}, {
//Exits
Entrance(RR_GF_OUTSKIRTS, []{return true;}),
Entrance(RR_GF_NEAR_GROTTO, []{return true;}),
ENTRANCE(RR_GF_OUTSKIRTS, true),
ENTRANCE(RR_GF_NEAR_GROTTO, true),
});
areaTable[RR_TH_DEAD_END_CELL] = Region("Thieves Hideout Dead End Cell", SCENE_THIEVES_HIDEOUT, {
//Events
EventAccess(&logic->TH_CouldFreeDeadEndCarpenter, []{return logic->CanKillEnemy(RE_GERUDO_WARRIOR);}),
EventAccess(&logic->THRescuedAllCarpenters, []{return ctx->GetOption(RSK_GERUDO_FORTRESS).Is(RO_GF_CARPENTERS_NORMAL) && logic->SmallKeys(RR_GF_OUTSKIRTS, 4) && logic->THCouldFree1TorchCarpenter && logic->THCouldFreeDoubleCellCarpenter && logic->TH_CouldFreeDeadEndCarpenter && logic->THCouldRescueSlopeCarpenter;}),
EVENT_ACCESS(TH_CouldFreeDeadEndCarpenter, logic->CanKillEnemy(RE_GERUDO_WARRIOR)),
EVENT_ACCESS(THRescuedAllCarpenters, ctx->GetOption(RSK_GERUDO_FORTRESS).Is(RO_GF_CARPENTERS_NORMAL) && logic->SmallKeys(RR_GF_OUTSKIRTS, 4) && logic->THCouldFree1TorchCarpenter && logic->THCouldFreeDoubleCellCarpenter && logic->TH_CouldFreeDeadEndCarpenter && logic->THCouldRescueSlopeCarpenter),
}, {
//Locations
LOCATION(RC_TH_DEAD_END_CARPENTER, logic->CanKillEnemy(RE_GERUDO_WARRIOR)),
@ -58,13 +58,13 @@ void RegionTable_Init_ThievesHideout() {
LOCATION(RC_TH_FREED_CARPENTERS, logic->THRescuedAllCarpenters),
}, {
//Exits
Entrance(RR_GF_BELOW_GS, []{return true;}),
ENTRANCE(RR_GF_BELOW_GS, true),
});
areaTable[RR_TH_STEEP_SLOPE_CELL] = Region("Thieves Hideout Steep Slope Cell", SCENE_THIEVES_HIDEOUT, {
//Events
EventAccess(&logic->THCouldRescueSlopeCarpenter, []{return logic->CanKillEnemy(RE_GERUDO_WARRIOR);}),
EventAccess(&logic->THRescuedAllCarpenters, []{return ctx->GetOption(RSK_GERUDO_FORTRESS).Is(RO_GF_CARPENTERS_NORMAL) && logic->SmallKeys(RR_GF_OUTSKIRTS, 4) && logic->THCouldFree1TorchCarpenter && logic->THCouldFreeDoubleCellCarpenter && logic->TH_CouldFreeDeadEndCarpenter && logic->THCouldRescueSlopeCarpenter;}),
EVENT_ACCESS(THCouldRescueSlopeCarpenter, logic->CanKillEnemy(RE_GERUDO_WARRIOR)),
EVENT_ACCESS(THRescuedAllCarpenters, ctx->GetOption(RSK_GERUDO_FORTRESS).Is(RO_GF_CARPENTERS_NORMAL) && logic->SmallKeys(RR_GF_OUTSKIRTS, 4) && logic->THCouldFree1TorchCarpenter && logic->THCouldFreeDoubleCellCarpenter && logic->TH_CouldFreeDeadEndCarpenter && logic->THCouldRescueSlopeCarpenter),
}, {
//Locations
LOCATION(RC_TH_STEEP_SLOPE_CARPENTER, logic->CanKillEnemy(RE_GERUDO_WARRIOR)),
@ -73,8 +73,8 @@ void RegionTable_Init_ThievesHideout() {
LOCATION(RC_TH_FREED_CARPENTERS, logic->THRescuedAllCarpenters),
}, {
//Exits
Entrance(RR_GF_ABOVE_GTG, []{return true;}),
Entrance(RR_GF_TOP_OF_LOWER_VINES, []{return true;}),
ENTRANCE(RR_GF_ABOVE_GTG, true),
ENTRANCE(RR_GF_TOP_OF_LOWER_VINES, true),
});
areaTable[RR_TH_KITCHEN_CORRIDOR] = Region("Thieves Hideout Kitchen Corridor", SCENE_THIEVES_HIDEOUT, {}, {
@ -85,9 +85,9 @@ void RegionTable_Init_ThievesHideout() {
LOCATION(RC_TH_NEAR_KITCHEN_RIGHTMOST_CRATE, logic->CanBreakCrates()),
}, {
//Exits
Entrance(RR_GF_NEAR_GROTTO, []{return true;}),
Entrance(RR_GF_ABOVE_GTG, []{return true;}),
Entrance(RR_TH_KITCHEN_MAIN, []{return logic->CanPassEnemy(RE_GERUDO_GUARD);}),
ENTRANCE(RR_GF_NEAR_GROTTO, true),
ENTRANCE(RR_GF_ABOVE_GTG, true),
ENTRANCE(RR_TH_KITCHEN_MAIN, logic->CanPassEnemy(RE_GERUDO_GUARD)),
});
areaTable[RR_TH_KITCHEN_MAIN] = Region("Thieves Hideout Kitchen Bottom", SCENE_THIEVES_HIDEOUT, {}, {
@ -98,8 +98,8 @@ void RegionTable_Init_ThievesHideout() {
LOCATION(RC_TH_KITCHEN_SUN_FAIRY, logic->CanPassEnemy(RE_GERUDO_GUARD) && logic->CanUse(RG_SUNS_SONG)),
}, {
//Exits
Entrance(RR_TH_KITCHEN_CORRIDOR, []{return logic->CanPassEnemy(RE_GERUDO_GUARD);}),
Entrance(RR_TH_KITCHEN_TOP, []{return logic->CanPassEnemy(RE_GERUDO_GUARD);}),
ENTRANCE(RR_TH_KITCHEN_CORRIDOR, logic->CanPassEnemy(RE_GERUDO_GUARD)),
ENTRANCE(RR_TH_KITCHEN_TOP, logic->CanPassEnemy(RE_GERUDO_GUARD)),
});
areaTable[RR_TH_KITCHEN_TOP] = Region("Thieves Hideout Kitchen Top", SCENE_THIEVES_HIDEOUT, {}, {
@ -108,10 +108,10 @@ void RegionTable_Init_ThievesHideout() {
LOCATION(RC_TH_KITCHEN_POT_2, logic->CanUse(RG_BOOMERANG)),
}, {
//Exits
Entrance(RR_TH_KITCHEN_MAIN, []{return true;}),
ENTRANCE(RR_TH_KITCHEN_MAIN, true),
//hookshot to cross using the rafters is implied in logic->CanPassEnemy(RE_GERUDO_GUARD)
Entrance(RR_GF_NEAR_GS, []{return logic->CanPassEnemy(RE_GERUDO_GUARD) || logic->CanUse(RG_HOVER_BOOTS);}),
Entrance(RR_GF_TOP_OF_LOWER_VINES, []{return logic->CanPassEnemy(RE_GERUDO_GUARD) || logic->CanUse(RG_HOVER_BOOTS);}),
ENTRANCE(RR_GF_NEAR_GS, logic->CanPassEnemy(RE_GERUDO_GUARD) || logic->CanUse(RG_HOVER_BOOTS)),
ENTRANCE(RR_GF_TOP_OF_LOWER_VINES, logic->CanPassEnemy(RE_GERUDO_GUARD) || logic->CanUse(RG_HOVER_BOOTS)),
});
areaTable[RR_TH_BREAK_ROOM] = Region("Thieves Hideout Break Room", SCENE_THIEVES_HIDEOUT, {}, {
@ -128,15 +128,15 @@ void RegionTable_Init_ThievesHideout() {
(logic->CanPassEnemy(RE_GERUDO_GUARD) && logic->HasExplosives() && logic->CanUse(RG_BOOMERANG))),
}, {
//Exits
Entrance(RR_GF_BELOW_CHEST, []{return logic->CanPassEnemy(RE_GERUDO_GUARD);}),
ENTRANCE(RR_GF_BELOW_CHEST, logic->CanPassEnemy(RE_GERUDO_GUARD)),
//Implies logic->CanPassEnemy(RE_GERUDO_GUARD)
Entrance(RR_TH_BREAK_ROOM_CORRIDOR, []{return logic->CanUse(RG_HOOKSHOT);}),
ENTRANCE(RR_TH_BREAK_ROOM_CORRIDOR, logic->CanUse(RG_HOOKSHOT)),
});
areaTable[RR_TH_BREAK_ROOM_CORRIDOR] = Region("Thieves Hideout Break Room", SCENE_THIEVES_HIDEOUT, {}, {}, {
//Exits
Entrance(RR_TH_BREAK_ROOM, []{return logic->CanUse(RG_HOOKSHOT);}),
Entrance(RR_GF_ABOVE_JAIL, []{return true;}),
ENTRANCE(RR_TH_BREAK_ROOM, logic->CanUse(RG_HOOKSHOT)),
ENTRANCE(RR_GF_ABOVE_JAIL, true),
});
}
// clang-format on

View file

@ -73,8 +73,8 @@ void RegionTable_Init_ZoraRiver() {
areaTable[RR_ZR_FROM_SHORTCUT] = Region("ZR From Shortcut", SCENE_ZORAS_RIVER, TIME_DOESNT_PASS, {RA_ZORAS_RIVER}, {}, {}, {
//Exits
Entrance(RR_ZORAS_RIVER, []{return logic->Hearts() > 1 || logic->HasItem(RG_BOTTLE_WITH_FAIRY) || logic->HasItem(RG_BRONZE_SCALE);}),
Entrance(RR_THE_LOST_WOODS, []{return logic->HasItem(RG_SILVER_SCALE) || logic->CanUse(RG_IRON_BOOTS);}),
ENTRANCE(RR_ZORAS_RIVER, logic->Hearts() > 1 || logic->HasItem(RG_BOTTLE_WITH_FAIRY) || logic->HasItem(RG_BRONZE_SCALE)),
ENTRANCE(RR_THE_LOST_WOODS, logic->HasItem(RG_SILVER_SCALE) || logic->CanUse(RG_IRON_BOOTS)),
});
areaTable[RR_ZR_BEHIND_WATERFALL] = Region("ZR Behind Waterfall", SCENE_ZORAS_RIVER, {}, {}, {

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,12 @@
DEFINE_DUNGEON_KEY(DEKU_TREE)
DEFINE_DUNGEON_KEY(DODONGOS_CAVERN)
DEFINE_DUNGEON_KEY(JABU_JABUS_BELLY)
DEFINE_DUNGEON_KEY(FOREST_TEMPLE)
DEFINE_DUNGEON_KEY(FIRE_TEMPLE)
DEFINE_DUNGEON_KEY(WATER_TEMPLE)
DEFINE_DUNGEON_KEY(SPIRIT_TEMPLE)
DEFINE_DUNGEON_KEY(SHADOW_TEMPLE)
DEFINE_DUNGEON_KEY(BOTTOM_OF_THE_WELL)
DEFINE_DUNGEON_KEY(ICE_CAVERN)
DEFINE_DUNGEON_KEY(GERUDO_TRAINING_GROUND)
DEFINE_DUNGEON_KEY(GANONS_CASTLE)

View file

@ -0,0 +1,12 @@
// RANDOTODO compare child long jumpslash range with adult short
DEFINE_ENEMY_DISTANCE(ED_CLOSE)
// hammer or kokiri sword
DEFINE_ENEMY_DISTANCE(ED_SHORT_JUMPSLASH)
DEFINE_ENEMY_DISTANCE(ED_MASTER_SWORD_JUMPSLASH)
// sticks or BGS
DEFINE_ENEMY_DISTANCE(ED_LONG_JUMPSLASH)
DEFINE_ENEMY_DISTANCE(ED_BOMB_THROW)
DEFINE_ENEMY_DISTANCE(ED_BOOMERANG)
DEFINE_ENEMY_DISTANCE(ED_HOOKSHOT)
DEFINE_ENEMY_DISTANCE(ED_LONGSHOT)
DEFINE_ENEMY_DISTANCE(ED_FAR)

View file

@ -0,0 +1,632 @@
#ifndef DEFINE_RANDO_OPTIONS
#ifndef RANDO_OPTIONS_H
#define RANDO_OPTIONS_H
// Generic Settings (any binary option can use this)
// off/on
typedef enum {
RO_GENERIC_OFF,
RO_GENERIC_ON,
} RandoOptionGenericOffOn;
// no/yes
typedef enum {
RO_GENERIC_NO,
RO_GENERIC_YES,
} RandoOptionGenericNoYes;
// don't skip/skip
typedef enum {
RO_GENERIC_DONT_SKIP,
RO_GENERIC_SKIP,
} RandoOptionGenericSkip;
// Closed Forest settings (On, Deku Only, Off)
typedef enum {
RO_CLOSED_FOREST_ON,
RO_CLOSED_FOREST_DEKU_ONLY,
RO_CLOSED_FOREST_OFF,
} RandoOptionForest;
// Door of Time settings (closed, song only, open)
typedef enum {
RO_DOOROFTIME_CLOSED,
RO_DOOROFTIME_SONGONLY,
RO_DOOROFTIME_OPEN,
} RandoOptionDoorOfTime;
// Zora's Fountain settings (closed, closed as child, open)
typedef enum {
RO_ZF_CLOSED,
RO_ZF_CLOSED_CHILD,
RO_ZF_OPEN,
} RandoOptionZorasFountain;
// Sleeping Waterfall settings (closed, open)
typedef enum {
RO_WATERFALL_CLOSED,
RO_WATERFALL_OPEN,
} RandoOptionSleepingWaterfall;
// Jabu-Jabu settings (closed, open)
typedef enum {
RO_JABU_CLOSED,
RO_JABU_OPEN,
} RandoOptionJabu;
// Starting Age settings (child, adult, random)
typedef enum {
RO_AGE_CHILD,
RO_AGE_ADULT,
RO_AGE_RANDOM,
} RandoOptionStartingAge;
// Fortress Carpenters settings (normal, fast, free)
typedef enum {
RO_GF_CARPENTERS_NORMAL,
RO_GF_CARPENTERS_FAST,
RO_GF_CARPENTERS_FREE,
} RandoOptionGerudoFortress;
// Kakariko Gate settings (closed/open)
typedef enum {
RO_KAK_GATE_CLOSED,
RO_KAK_GATE_OPEN,
} RandoOptionKakarikoGate;
// Rainbow Bridge settings (vanilla, always open, stones, medallions, dungeon rewards, dungeons, Tokens)
typedef enum {
RO_BRIDGE_VANILLA = 0,
RO_BRIDGE_ALWAYS_OPEN,
RO_BRIDGE_STONES,
RO_BRIDGE_MEDALLIONS,
RO_BRIDGE_DUNGEON_REWARDS,
RO_BRIDGE_DUNGEONS,
RO_BRIDGE_TOKENS,
RO_BRIDGE_GREG,
} RandoOptionRainbowBridge;
// Bridge Reward Options settings (Standard rewards, Greg as reward, Greg as wildcard)
typedef enum {
RO_BRIDGE_STANDARD_REWARD,
RO_BRIDGE_GREG_REWARD,
RO_BRIDGE_WILDCARD_REWARD,
} RandoOptionBridgeRewards;
// Shopsanity settings (off, specific count, random)
typedef enum {
RO_SHOPSANITY_OFF,
RO_SHOPSANITY_SPECIFIC_COUNT,
RO_SHOPSANITY_RANDOM,
} RandoOptionShopsanity;
// Shopsanity count settings (0-7 items)
typedef enum {
RO_SHOPSANITY_COUNT_ZERO_ITEMS,
RO_SHOPSANITY_COUNT_ONE_ITEM,
RO_SHOPSANITY_COUNT_TWO_ITEMS,
RO_SHOPSANITY_COUNT_THREE_ITEMS,
RO_SHOPSANITY_COUNT_FOUR_ITEMS,
RO_SHOPSANITY_COUNT_FIVE_ITEMS,
RO_SHOPSANITY_COUNT_SIX_ITEMS,
RO_SHOPSANITY_COUNT_SEVEN_ITEMS,
RO_SHOPSANITY_COUNT_EIGHT_ITEMS,
} RandoOptionShopsanityCount;
// Shopsanity price ranges
typedef enum {
RO_PRICE_VANILLA,
RO_PRICE_CHEAP_BALANCED, // Balanced random from 0-95, favoring lower numbers
RO_PRICE_BALANCED, // Random from 0-300, favoring lower numbers
RO_PRICE_FIXED,
RO_PRICE_RANGE,
RO_PRICE_SET_BY_WALLET,
} RandoOptionPrices;
// Scrubsanity settings (off, affordable, expensive, random)
typedef enum {
RO_SCRUBS_OFF,
RO_SCRUBS_ONE_TIME_ONLY,
RO_SCRUBS_ALL,
} RandoOptionScrubsanity;
// Ammo drop settings (on, "on+bombchu", off)
typedef enum {
RO_AMMO_DROPS_OFF,
// RO_AMMO_DROPS_ON_PLUS_BOMBCHU,
RO_AMMO_DROPS_ON,
} RandoOptionAmmoDrops;
typedef enum {
RO_BOSS_SOULS_OFF,
RO_BOSS_SOULS_ON,
RO_BOSS_SOULS_ON_PLUS_GANON,
} RandoOptionBossSouls;
// Fishsanity settings (off, loach only, pond only, grottos only, both)
typedef enum {
RO_FISHSANITY_OFF,
RO_FISHSANITY_HYRULE_LOACH,
RO_FISHSANITY_POND,
RO_FISHSANITY_OVERWORLD,
RO_FISHSANITY_BOTH
} RandoOptionsFishsanity;
// Infinite Upgrades settings (off, progressive, condensed progressive)
typedef enum {
RO_INF_UPGRADES_OFF,
RO_INF_UPGRADES_PROGRESSIVE,
RO_INF_UPGRADES_CONDENSED_PROGRESSIVE,
} RandoOptionInfiniteUpgrades;
// Any Dungeon Item (start with, vanilla, own dungeon, any dungeon,
// overworld, anywhere)
typedef enum {
RO_DUNGEON_ITEM_LOC_STARTWITH,
RO_DUNGEON_ITEM_LOC_VANILLA,
RO_DUNGEON_ITEM_LOC_OWN_DUNGEON,
RO_DUNGEON_ITEM_LOC_ANY_DUNGEON,
RO_DUNGEON_ITEM_LOC_OVERWORLD,
RO_DUNGEON_ITEM_LOC_ANYWHERE,
} RandoOptionDungeonItemLocation;
// Dungeon reward settings
typedef enum {
RO_DUNGEON_REWARDS_VANILLA,
RO_DUNGEON_REWARDS_END_OF_DUNGEON,
RO_DUNGEON_REWARDS_ANY_DUNGEON,
RO_DUNGEON_REWARDS_OVERWORLD,
RO_DUNGEON_REWARDS_ANYWHERE,
} RandoOptionDungeonRewards;
// Keyring Settings
typedef enum {
RO_KEYRINGS_OFF,
RO_KEYRINGS_RANDOM,
RO_KEYRINGS_COUNT,
RO_KEYRINGS_SELECTION,
} RandoOptionKeyrings;
typedef enum {
RO_KEYRING_FOR_DUNGEON_OFF,
RO_KEYRING_FOR_DUNGEON_RANDOM,
RO_KEYRING_FOR_DUNGEON_ON,
} RandoOptionKeyringForDungeon;
// Ganon's Boss Key Settings (vanilla, own dungeon, start with,
// overworld, anywhere, 100 GS reward)
typedef enum {
RO_GANON_BOSS_KEY_VANILLA,
RO_GANON_BOSS_KEY_OWN_DUNGEON,
RO_GANON_BOSS_KEY_STARTWITH,
RO_GANON_BOSS_KEY_ANY_DUNGEON,
RO_GANON_BOSS_KEY_OVERWORLD,
RO_GANON_BOSS_KEY_ANYWHERE,
RO_GANON_BOSS_KEY_LACS_VANILLA,
RO_GANON_BOSS_KEY_LACS_STONES,
RO_GANON_BOSS_KEY_LACS_MEDALLIONS,
RO_GANON_BOSS_KEY_LACS_REWARDS,
RO_GANON_BOSS_KEY_LACS_DUNGEONS,
RO_GANON_BOSS_KEY_LACS_TOKENS,
RO_GANON_BOSS_KEY_KAK_TOKENS,
} RandoOptionGanonsBossKey;
typedef enum {
RO_LACS_VANILLA,
RO_LACS_STONES,
RO_LACS_MEDALLIONS,
RO_LACS_REWARDS,
RO_LACS_DUNGEONS,
RO_LACS_TOKENS,
} RandoOptionLACSCondition;
// LACS Reward Options settings (Standard rewards, Greg as reward, Greg as wildcard)
typedef enum {
RO_LACS_STANDARD_REWARD,
RO_LACS_GREG_REWARD,
RO_LACS_WILDCARD_REWARD,
} RandoOptionLACSRewards;
// Ganon's Trials
typedef enum {
RO_GANONS_TRIALS_SKIP,
RO_GANONS_TRIALS_SET_NUMBER,
RO_GANONS_TRIALS_RANDOM_NUMBER,
} RandoOptionGanonsTrials;
// Shuffle Dungeon Entrance Settings (Off, on, plus ganon)
typedef enum {
RO_DUNGEON_ENTRANCE_SHUFFLE_OFF,
RO_DUNGEON_ENTRANCE_SHUFFLE_ON,
RO_DUNGEON_ENTRANCE_SHUFFLE_ON_PLUS_GANON,
} RandoOptionDungeonEntranceShuffle;
// Shuffle Boss Room Entrance Settings (Off, Age Restricted, Full)
typedef enum {
RO_BOSS_ROOM_ENTRANCE_SHUFFLE_OFF,
RO_BOSS_ROOM_ENTRANCE_SHUFFLE_AGE_RESTRICTED,
RO_BOSS_ROOM_ENTRANCE_SHUFFLE_FULL,
} RandoOptionBossRoomEntranceShuffle;
// Shuffle Interior Entrance Settings (Off, simple, all)
typedef enum {
RO_INTERIOR_ENTRANCE_SHUFFLE_OFF,
RO_INTERIOR_ENTRANCE_SHUFFLE_SIMPLE,
RO_INTERIOR_ENTRANCE_SHUFFLE_ALL,
} RandoOptionInteriorEntranceShuffle;
// Song shuffle Settings (Song locations, Dungeon rewards, anywhere)
typedef enum {
RO_SONG_SHUFFLE_OFF,
RO_SONG_SHUFFLE_SONG_LOCATIONS,
RO_SONG_SHUFFLE_DUNGEON_REWARDS,
RO_SONG_SHUFFLE_ANYWHERE,
} RandoOptionSongShuffle;
// Shuffle Merchants Settings (Off, Beans Only, All but Beans, All)
typedef enum {
RO_SHUFFLE_MERCHANTS_OFF,
RO_SHUFFLE_MERCHANTS_BEANS_ONLY,
RO_SHUFFLE_MERCHANTS_ALL_BUT_BEANS,
RO_SHUFFLE_MERCHANTS_ALL
} RandoOptionShuffleMerchants;
// Starting Ocarina Settings (off, fairy)
typedef enum {
RO_STARTING_OCARINA_OFF,
RO_STARTING_OCARINA_FAIRY,
RO_STARTING_OCARINA_TIME,
} RandoOptionStartingOcarina;
// Item Pool Settings
typedef enum {
RO_ITEM_POOL_PLENTIFUL,
RO_ITEM_POOL_BALANCED,
RO_ITEM_POOL_SCARCE,
RO_ITEM_POOL_MINIMAL,
} RandoOptionItemPool;
// Ice Trap Settings
typedef enum {
RO_ICE_TRAPS_OFF,
RO_ICE_TRAPS_NORMAL,
RO_ICE_TRAPS_EXTRA,
RO_ICE_TRAPS_MAYHEM,
RO_ICE_TRAPS_ONSLAUGHT,
} RandoOptionIceTraps;
// Gossip Stone Hint Settings (no hints, needs nothing,
// needs mask of truth, needs stone of agony)
typedef enum {
RO_GOSSIP_STONES_NONE,
RO_GOSSIP_STONES_NEED_NOTHING,
RO_GOSSIP_STONES_NEED_TRUTH,
RO_GOSSIP_STONES_NEED_STONE,
} RandoOptionGossipStones;
// Hint Clarity Settings (obscure, ambiguous, clear)
typedef enum {
RO_HINT_CLARITY_OBSCURE,
RO_HINT_CLARITY_AMBIGUOUS,
RO_HINT_CLARITY_CLEAR,
} RandoOptionHintClarity;
// Hint Distribution Settings (useless, balanced, strong, very strong)
typedef enum {
RO_HINT_DIST_USELESS,
RO_HINT_DIST_BALANCED,
RO_HINT_DIST_STRONG,
RO_HINT_DIST_VERY_STRONG,
} RandoOptionHintDistribution;
// Gerudo Fortress Key Settings (vanilla, any dungeon, overworld,
// anywhere)
typedef enum {
RO_GERUDO_KEYS_VANILLA,
RO_GERUDO_KEYS_ANY_DUNGEON,
RO_GERUDO_KEYS_OVERWORLD,
RO_GERUDO_KEYS_ANYWHERE,
} RandoOptionGerudoKeys;
// Tokensanity settings (off, dungeons, overworld, all)
typedef enum {
RO_TOKENSANITY_OFF,
RO_TOKENSANITY_DUNGEONS,
RO_TOKENSANITY_OVERWORLD,
RO_TOKENSANITY_ALL,
} RandoOptionTokensanity;
// Freestanding Hearts/Rupees settings (off, dungeons, overworld, all)
typedef enum {
RO_SHUFFLE_FREESTANDING_OFF,
RO_SHUFFLE_FREESTANDING_DUNGEONS,
RO_SHUFFLE_FREESTANDING_OVERWORLD,
RO_SHUFFLE_FREESTANDING_ALL,
} RandoOptionFreestanding;
// Shuffle Pots settings (off, dungeons, overworld, all)
typedef enum {
RO_SHUFFLE_POTS_OFF,
RO_SHUFFLE_POTS_DUNGEONS,
RO_SHUFFLE_POTS_OVERWORLD,
RO_SHUFFLE_POTS_ALL,
} RandoOptionShufflePots;
// Shuffle Grass settings (off, dungeons, overworld, all)
typedef enum {
RO_SHUFFLE_GRASS_OFF,
RO_SHUFFLE_GRASS_DUNGEONS,
RO_SHUFFLE_GRASS_OVERWORLD,
RO_SHUFFLE_GRASS_ALL,
} RandoOptionShuffleGrass;
// Shuffle Crates settings (off, dungeons, overworld, all)
typedef enum {
RO_SHUFFLE_CRATES_OFF,
RO_SHUFFLE_CRATES_DUNGEONS,
RO_SHUFFLE_CRATES_OVERWORLD,
RO_SHUFFLE_CRATES_ALL,
} RandoOptionShuffleCrates;
// Link's Pocket Settings (dungeon reward, advancement, anything, nothing)
typedef enum {
RO_LINKS_POCKET_DUNGEON_REWARD,
RO_LINKS_POCKET_ADVANCEMENT,
RO_LINKS_POCKET_ANYTHING,
RO_LINKS_POCKET_NOTHING,
} RandoOptionLinksPocket;
// Logic (glitchless/no logic)
typedef enum {
RO_LOGIC_GLITCHLESS,
RO_LOGIC_NO_LOGIC,
RO_LOGIC_VANILLA,
} RandoOptionLogic;
// Damage Multiplier
typedef enum {
RO_DAMAGE_MULTIPLIER_HALF,
RO_DAMAGE_MULTIPLIER_DEFAULT,
RO_DAMAGE_MULTIPLIER_DOUBLE,
RO_DAMAGE_MULTIPLIER_QUADRUPLE,
RO_DAMAGE_MULTIPLIER_OCTUPLE,
RO_DAMAGE_MULTIPLIER_SEXDECUPLE,
RO_DAMAGE_MULTIPLIER_OHKO,
} RandoOptionDamageMultiplier;
// MQ Dungeons
typedef enum {
RO_MQ_DUNGEONS_NONE,
RO_MQ_DUNGEONS_SET_NUMBER,
RO_MQ_DUNGEONS_RANDOM_NUMBER,
RO_MQ_DUNGEONS_SELECTION,
} RandoOptionMQDungeons;
typedef enum {
RO_LOCATION_INCLUDE,
RO_LOCATION_EXCLUDE,
} RandoOptionLocationInclusion;
typedef enum {
RO_CHEST_GAME_OFF,
RO_CHEST_GAME_SINGLE_KEYS,
RO_CHEST_GAME_PACK,
} RandoOptionChestGame;
typedef enum {
RO_MQ_SET_VANILLA,
RO_MQ_SET_MQ,
RO_MQ_SET_RANDOM,
} RandoOptionMQSet;
#endif // RANDO_OPTIONS_H
#else // DEFINE_RANDO_OPTIONS
// clang-format off
{ "RO_GENERIC_OFF", RO_GENERIC_OFF },
{ "RO_GENERIC_ON", RO_GENERIC_ON },
{ "RO_GENERIC_NO", RO_GENERIC_NO },
{ "RO_GENERIC_YES", RO_GENERIC_YES },
{ "RO_GENERIC_DONT_SKIP", RO_GENERIC_DONT_SKIP },
{ "RO_GENERIC_SKIP", RO_GENERIC_SKIP },
{ "RO_CLOSED_FOREST_ON", RO_CLOSED_FOREST_ON },
{ "RO_CLOSED_FOREST_DEKU_ONLY", RO_CLOSED_FOREST_DEKU_ONLY },
{ "RO_CLOSED_FOREST_OFF", RO_CLOSED_FOREST_OFF },
{ "RO_DOOROFTIME_CLOSED", RO_DOOROFTIME_CLOSED },
{ "RO_DOOROFTIME_SONGONLY", RO_DOOROFTIME_SONGONLY },
{ "RO_DOOROFTIME_OPEN", RO_DOOROFTIME_OPEN },
{ "RO_ZF_CLOSED", RO_ZF_CLOSED },
{ "RO_ZF_CLOSED_CHILD", RO_ZF_CLOSED_CHILD },
{ "RO_ZF_OPEN", RO_ZF_OPEN },
{ "RO_WATERFALL_CLOSED", RO_WATERFALL_CLOSED },
{ "RO_WATERFALL_OPEN", RO_WATERFALL_OPEN },
{ "RO_AGE_CHILD", RO_AGE_CHILD },
{ "RO_AGE_ADULT", RO_AGE_ADULT },
{ "RO_AGE_RANDOM", RO_AGE_RANDOM },
{ "RO_GF_CARPENTERS_NORMAL", RO_GF_CARPENTERS_NORMAL },
{ "RO_GF_CARPENTERS_FAST", RO_GF_CARPENTERS_FAST },
{ "RO_GF_CARPENTERS_FREE", RO_GF_CARPENTERS_FREE },
{ "RO_KAK_GATE_CLOSED", RO_KAK_GATE_CLOSED },
{ "RO_KAK_GATE_OPEN", RO_KAK_GATE_OPEN },
{ "RO_BRIDGE_VANILLA", RO_BRIDGE_VANILLA },
{ "RO_BRIDGE_ALWAYS_OPEN", RO_BRIDGE_ALWAYS_OPEN },
{ "RO_BRIDGE_STONES", RO_BRIDGE_STONES },
{ "RO_BRIDGE_MEDALLIONS", RO_BRIDGE_MEDALLIONS },
{ "RO_BRIDGE_DUNGEON_REWARDS", RO_BRIDGE_DUNGEON_REWARDS },
{ "RO_BRIDGE_DUNGEONS", RO_BRIDGE_DUNGEONS },
{ "RO_BRIDGE_TOKENS", RO_BRIDGE_TOKENS },
{ "RO_BRIDGE_GREG", RO_BRIDGE_GREG },
{ "RO_BRIDGE_STANDARD_REWARD", RO_BRIDGE_STANDARD_REWARD },
{ "RO_BRIDGE_GREG_REWARD", RO_BRIDGE_GREG_REWARD },
{ "RO_BRIDGE_WILDCARD_REWARD", RO_BRIDGE_WILDCARD_REWARD },
{ "RO_SHOPSANITY_OFF", RO_SHOPSANITY_OFF },
{ "RO_SHOPSANITY_SPECIFIC_COUNT", RO_SHOPSANITY_SPECIFIC_COUNT },
{ "RO_SHOPSANITY_RANDOM", RO_SHOPSANITY_RANDOM },
{ "RO_SHOPSANITY_COUNT_ZERO_ITEMS", RO_SHOPSANITY_COUNT_ZERO_ITEMS },
{ "RO_SHOPSANITY_COUNT_ONE_ITEM", RO_SHOPSANITY_COUNT_ONE_ITEM },
{ "RO_SHOPSANITY_COUNT_TWO_ITEMS", RO_SHOPSANITY_COUNT_TWO_ITEMS },
{ "RO_SHOPSANITY_COUNT_THREE_ITEMS", RO_SHOPSANITY_COUNT_THREE_ITEMS },
{ "RO_SHOPSANITY_COUNT_FOUR_ITEMS", RO_SHOPSANITY_COUNT_FOUR_ITEMS },
{ "RO_SHOPSANITY_COUNT_FIVE_ITEMS", RO_SHOPSANITY_COUNT_FIVE_ITEMS },
{ "RO_SHOPSANITY_COUNT_SIX_ITEMS", RO_SHOPSANITY_COUNT_SIX_ITEMS },
{ "RO_SHOPSANITY_COUNT_SEVEN_ITEMS", RO_SHOPSANITY_COUNT_SEVEN_ITEMS },
{ "RO_SHOPSANITY_COUNT_EIGHT_ITEMS", RO_SHOPSANITY_COUNT_EIGHT_ITEMS },
{ "RO_PRICE_VANILLA", RO_PRICE_VANILLA },
{ "RO_PRICE_CHEAP_BALANCED", RO_PRICE_CHEAP_BALANCED },
{ "RO_PRICE_BALANCED", RO_PRICE_BALANCED },
{ "RO_PRICE_FIXED", RO_PRICE_FIXED },
{ "RO_PRICE_RANGE", RO_PRICE_RANGE },
{ "RO_PRICE_SET_BY_WALLET", RO_PRICE_SET_BY_WALLET },
{ "RO_SCRUBS_OFF", RO_SCRUBS_OFF },
{ "RO_SCRUBS_ONE_TIME_ONLY", RO_SCRUBS_ONE_TIME_ONLY },
{ "RO_SCRUBS_ALL", RO_SCRUBS_ALL },
{ "RO_AMMO_DROPS_OFF", RO_AMMO_DROPS_OFF },
{ "RO_AMMO_DROPS_ON", RO_AMMO_DROPS_ON },
{ "RO_BOSS_SOULS_OFF", RO_BOSS_SOULS_OFF },
{ "RO_BOSS_SOULS_ON", RO_BOSS_SOULS_ON },
{ "RO_BOSS_SOULS_ON_PLUS_GANON", RO_BOSS_SOULS_ON_PLUS_GANON },
{ "RO_FISHSANITY_OFF", RO_FISHSANITY_OFF },
{ "RO_FISHSANITY_HYRULE_LOACH", RO_FISHSANITY_HYRULE_LOACH },
{ "RO_FISHSANITY_POND", RO_FISHSANITY_POND },
{ "RO_FISHSANITY_OVERWORLD", RO_FISHSANITY_OVERWORLD },
{ "RO_FISHSANITY_BOTH", RO_FISHSANITY_BOTH },
{ "RO_INF_UPGRADES_OFF", RO_INF_UPGRADES_OFF },
{ "RO_INF_UPGRADES_PROGRESSIVE", RO_INF_UPGRADES_PROGRESSIVE },
{ "RO_INF_UPGRADES_CONDENSED_PROGRESSIVE", RO_INF_UPGRADES_CONDENSED_PROGRESSIVE },
{ "RO_DUNGEON_ITEM_LOC_STARTWITH", RO_DUNGEON_ITEM_LOC_STARTWITH },
{ "RO_DUNGEON_ITEM_LOC_VANILLA", RO_DUNGEON_ITEM_LOC_VANILLA },
{ "RO_DUNGEON_ITEM_LOC_OWN_DUNGEON", RO_DUNGEON_ITEM_LOC_OWN_DUNGEON },
{ "RO_DUNGEON_ITEM_LOC_ANY_DUNGEON", RO_DUNGEON_ITEM_LOC_ANY_DUNGEON },
{ "RO_DUNGEON_ITEM_LOC_OVERWORLD", RO_DUNGEON_ITEM_LOC_OVERWORLD },
{ "RO_DUNGEON_ITEM_LOC_ANYWHERE", RO_DUNGEON_ITEM_LOC_ANYWHERE },
{ "RO_DUNGEON_REWARDS_VANILLA", RO_DUNGEON_REWARDS_VANILLA },
{ "RO_DUNGEON_REWARDS_END_OF_DUNGEON", RO_DUNGEON_REWARDS_END_OF_DUNGEON },
{ "RO_DUNGEON_REWARDS_ANY_DUNGEON", RO_DUNGEON_REWARDS_ANY_DUNGEON },
{ "RO_DUNGEON_REWARDS_OVERWORLD", RO_DUNGEON_REWARDS_OVERWORLD },
{ "RO_DUNGEON_REWARDS_ANYWHERE", RO_DUNGEON_REWARDS_ANYWHERE },
{ "RO_KEYRINGS_OFF", RO_KEYRINGS_OFF },
{ "RO_KEYRINGS_RANDOM", RO_KEYRINGS_RANDOM },
{ "RO_KEYRINGS_COUNT", RO_KEYRINGS_COUNT },
{ "RO_KEYRINGS_SELECTION", RO_KEYRINGS_SELECTION },
{ "RO_KEYRING_FOR_DUNGEON_OFF", RO_KEYRING_FOR_DUNGEON_OFF },
{ "RO_KEYRING_FOR_DUNGEON_RANDOM", RO_KEYRING_FOR_DUNGEON_RANDOM },
{ "RO_KEYRING_FOR_DUNGEON_ON", RO_KEYRING_FOR_DUNGEON_ON },
{ "RO_GANON_BOSS_KEY_VANILLA", RO_GANON_BOSS_KEY_VANILLA },
{ "RO_GANON_BOSS_KEY_OWN_DUNGEON", RO_GANON_BOSS_KEY_OWN_DUNGEON },
{ "RO_GANON_BOSS_KEY_STARTWITH", RO_GANON_BOSS_KEY_STARTWITH },
{ "RO_GANON_BOSS_KEY_ANY_DUNGEON", RO_GANON_BOSS_KEY_ANY_DUNGEON },
{ "RO_GANON_BOSS_KEY_OVERWORLD", RO_GANON_BOSS_KEY_OVERWORLD },
{ "RO_GANON_BOSS_KEY_ANYWHERE", RO_GANON_BOSS_KEY_ANYWHERE },
{ "RO_GANON_BOSS_KEY_LACS_VANILLA", RO_GANON_BOSS_KEY_LACS_VANILLA },
{ "RO_GANON_BOSS_KEY_LACS_STONES", RO_GANON_BOSS_KEY_LACS_STONES },
{ "RO_GANON_BOSS_KEY_LACS_MEDALLIONS", RO_GANON_BOSS_KEY_LACS_MEDALLIONS },
{ "RO_GANON_BOSS_KEY_LACS_REWARDS", RO_GANON_BOSS_KEY_LACS_REWARDS },
{ "RO_GANON_BOSS_KEY_LACS_DUNGEONS", RO_GANON_BOSS_KEY_LACS_DUNGEONS },
{ "RO_GANON_BOSS_KEY_LACS_TOKENS", RO_GANON_BOSS_KEY_LACS_TOKENS },
{ "RO_GANON_BOSS_KEY_KAK_TOKENS", RO_GANON_BOSS_KEY_KAK_TOKENS },
{ "RO_LACS_VANILLA", RO_LACS_VANILLA },
{ "RO_LACS_STONES", RO_LACS_STONES },
{ "RO_LACS_MEDALLIONS", RO_LACS_MEDALLIONS },
{ "RO_LACS_REWARDS", RO_LACS_REWARDS },
{ "RO_LACS_DUNGEONS", RO_LACS_DUNGEONS },
{ "RO_LACS_TOKENS", RO_LACS_TOKENS },
{ "RO_LACS_STANDARD_REWARD", RO_LACS_STANDARD_REWARD },
{ "RO_LACS_GREG_REWARD", RO_LACS_GREG_REWARD },
{ "RO_LACS_WILDCARD_REWARD", RO_LACS_WILDCARD_REWARD },
{ "RO_GANONS_TRIALS_SKIP", RO_GANONS_TRIALS_SKIP },
{ "RO_GANONS_TRIALS_SET_NUMBER", RO_GANONS_TRIALS_SET_NUMBER },
{ "RO_GANONS_TRIALS_RANDOM_NUMBER", RO_GANONS_TRIALS_RANDOM_NUMBER },
{ "RO_DUNGEON_ENTRANCE_SHUFFLE_OFF", RO_DUNGEON_ENTRANCE_SHUFFLE_OFF },
{ "RO_DUNGEON_ENTRANCE_SHUFFLE_ON", RO_DUNGEON_ENTRANCE_SHUFFLE_ON },
{ "RO_DUNGEON_ENTRANCE_SHUFFLE_ON_PLUS_GANON", RO_DUNGEON_ENTRANCE_SHUFFLE_ON_PLUS_GANON },
{ "RO_BOSS_ROOM_ENTRANCE_SHUFFLE_OFF", RO_BOSS_ROOM_ENTRANCE_SHUFFLE_OFF },
{ "RO_BOSS_ROOM_ENTRANCE_SHUFFLE_AGE_RESTRICTED", RO_BOSS_ROOM_ENTRANCE_SHUFFLE_AGE_RESTRICTED },
{ "RO_BOSS_ROOM_ENTRANCE_SHUFFLE_FULL", RO_BOSS_ROOM_ENTRANCE_SHUFFLE_FULL },
{ "RO_INTERIOR_ENTRANCE_SHUFFLE_OFF", RO_INTERIOR_ENTRANCE_SHUFFLE_OFF },
{ "RO_INTERIOR_ENTRANCE_SHUFFLE_SIMPLE", RO_INTERIOR_ENTRANCE_SHUFFLE_SIMPLE },
{ "RO_INTERIOR_ENTRANCE_SHUFFLE_ALL", RO_INTERIOR_ENTRANCE_SHUFFLE_ALL },
{ "RO_SONG_SHUFFLE_OFF", RO_SONG_SHUFFLE_OFF },
{ "RO_SONG_SHUFFLE_SONG_LOCATIONS", RO_SONG_SHUFFLE_SONG_LOCATIONS },
{ "RO_SONG_SHUFFLE_DUNGEON_REWARDS", RO_SONG_SHUFFLE_DUNGEON_REWARDS },
{ "RO_SONG_SHUFFLE_ANYWHERE", RO_SONG_SHUFFLE_ANYWHERE },
{ "RO_SHUFFLE_MERCHANTS_OFF", RO_SHUFFLE_MERCHANTS_OFF },
{ "RO_SHUFFLE_MERCHANTS_BEANS_ONLY", RO_SHUFFLE_MERCHANTS_BEANS_ONLY },
{ "RO_SHUFFLE_MERCHANTS_ALL_BUT_BEANS", RO_SHUFFLE_MERCHANTS_ALL_BUT_BEANS },
{ "RO_SHUFFLE_MERCHANTS_ALL", RO_SHUFFLE_MERCHANTS_ALL },
{ "RO_STARTING_OCARINA_OFF", RO_STARTING_OCARINA_OFF },
{ "RO_STARTING_OCARINA_FAIRY", RO_STARTING_OCARINA_FAIRY },
{ "RO_STARTING_OCARINA_TIME", RO_STARTING_OCARINA_TIME },
{ "RO_ITEM_POOL_PLENTIFUL", RO_ITEM_POOL_PLENTIFUL },
{ "RO_ITEM_POOL_BALANCED", RO_ITEM_POOL_BALANCED },
{ "RO_ITEM_POOL_SCARCE", RO_ITEM_POOL_SCARCE },
{ "RO_ITEM_POOL_MINIMAL", RO_ITEM_POOL_MINIMAL },
{ "RO_ICE_TRAPS_OFF", RO_ICE_TRAPS_OFF },
{ "RO_ICE_TRAPS_NORMAL", RO_ICE_TRAPS_NORMAL },
{ "RO_ICE_TRAPS_EXTRA", RO_ICE_TRAPS_EXTRA },
{ "RO_ICE_TRAPS_MAYHEM", RO_ICE_TRAPS_MAYHEM },
{ "RO_ICE_TRAPS_ONSLAUGHT", RO_ICE_TRAPS_ONSLAUGHT },
{ "RO_GOSSIP_STONES_NONE", RO_GOSSIP_STONES_NONE },
{ "RO_GOSSIP_STONES_NEED_NOTHING", RO_GOSSIP_STONES_NEED_NOTHING },
{ "RO_GOSSIP_STONES_NEED_TRUTH", RO_GOSSIP_STONES_NEED_TRUTH },
{ "RO_GOSSIP_STONES_NEED_STONE", RO_GOSSIP_STONES_NEED_STONE },
{ "RO_HINT_CLARITY_OBSCURE", RO_HINT_CLARITY_OBSCURE },
{ "RO_HINT_CLARITY_AMBIGUOUS", RO_HINT_CLARITY_AMBIGUOUS },
{ "RO_HINT_CLARITY_CLEAR", RO_HINT_CLARITY_CLEAR },
{ "RO_HINT_DIST_USELESS", RO_HINT_DIST_USELESS },
{ "RO_HINT_DIST_BALANCED", RO_HINT_DIST_BALANCED },
{ "RO_HINT_DIST_STRONG", RO_HINT_DIST_STRONG },
{ "RO_HINT_DIST_VERY_STRONG", RO_HINT_DIST_VERY_STRONG },
{ "RO_GERUDO_KEYS_VANILLA", RO_GERUDO_KEYS_VANILLA },
{ "RO_GERUDO_KEYS_ANY_DUNGEON", RO_GERUDO_KEYS_ANY_DUNGEON },
{ "RO_GERUDO_KEYS_OVERWORLD", RO_GERUDO_KEYS_OVERWORLD },
{ "RO_GERUDO_KEYS_ANYWHERE", RO_GERUDO_KEYS_ANYWHERE },
{ "RO_TOKENSANITY_OFF", RO_TOKENSANITY_OFF },
{ "RO_TOKENSANITY_DUNGEONS", RO_TOKENSANITY_DUNGEONS },
{ "RO_TOKENSANITY_OVERWORLD", RO_TOKENSANITY_OVERWORLD },
{ "RO_TOKENSANITY_ALL", RO_TOKENSANITY_ALL },
{ "RO_SHUFFLE_FREESTANDING_OFF", RO_SHUFFLE_FREESTANDING_OFF },
{ "RO_SHUFFLE_FREESTANDING_DUNGEONS", RO_SHUFFLE_FREESTANDING_DUNGEONS },
{ "RO_SHUFFLE_FREESTANDING_OVERWORLD", RO_SHUFFLE_FREESTANDING_OVERWORLD },
{ "RO_SHUFFLE_FREESTANDING_ALL", RO_SHUFFLE_FREESTANDING_ALL },
{ "RO_SHUFFLE_POTS_OFF", RO_SHUFFLE_POTS_OFF },
{ "RO_SHUFFLE_POTS_DUNGEONS", RO_SHUFFLE_POTS_DUNGEONS },
{ "RO_SHUFFLE_POTS_OVERWORLD", RO_SHUFFLE_POTS_OVERWORLD },
{ "RO_SHUFFLE_POTS_ALL", RO_SHUFFLE_POTS_ALL },
{ "RO_SHUFFLE_GRASS_OFF", RO_SHUFFLE_GRASS_OFF },
{ "RO_SHUFFLE_GRASS_DUNGEONS", RO_SHUFFLE_GRASS_DUNGEONS },
{ "RO_SHUFFLE_GRASS_OVERWORLD", RO_SHUFFLE_GRASS_OVERWORLD },
{ "RO_SHUFFLE_GRASS_ALL", RO_SHUFFLE_GRASS_ALL },
{ "RO_SHUFFLE_CRATES_OFF", RO_SHUFFLE_CRATES_OFF },
{ "RO_SHUFFLE_CRATES_DUNGEONS", RO_SHUFFLE_CRATES_DUNGEONS },
{ "RO_SHUFFLE_CRATES_OVERWORLD", RO_SHUFFLE_CRATES_OVERWORLD },
{ "RO_SHUFFLE_CRATES_ALL", RO_SHUFFLE_CRATES_ALL },
{ "RO_LINKS_POCKET_DUNGEON_REWARD", RO_LINKS_POCKET_DUNGEON_REWARD },
{ "RO_LINKS_POCKET_ADVANCEMENT", RO_LINKS_POCKET_ADVANCEMENT },
{ "RO_LINKS_POCKET_ANYTHING", RO_LINKS_POCKET_ANYTHING },
{ "RO_LINKS_POCKET_NOTHING", RO_LINKS_POCKET_NOTHING },
{ "RO_LOGIC_GLITCHLESS", RO_LOGIC_GLITCHLESS },
{ "RO_LOGIC_NO_LOGIC", RO_LOGIC_NO_LOGIC },
{ "RO_LOGIC_VANILLA", RO_LOGIC_VANILLA },
{ "RO_DAMAGE_MULTIPLIER_HALF", RO_DAMAGE_MULTIPLIER_HALF },
{ "RO_DAMAGE_MULTIPLIER_DEFAULT", RO_DAMAGE_MULTIPLIER_DEFAULT },
{ "RO_DAMAGE_MULTIPLIER_DOUBLE", RO_DAMAGE_MULTIPLIER_DOUBLE },
{ "RO_DAMAGE_MULTIPLIER_QUADRUPLE", RO_DAMAGE_MULTIPLIER_QUADRUPLE },
{ "RO_DAMAGE_MULTIPLIER_OCTUPLE", RO_DAMAGE_MULTIPLIER_OCTUPLE },
{ "RO_DAMAGE_MULTIPLIER_SEXDECUPLE", RO_DAMAGE_MULTIPLIER_SEXDECUPLE },
{ "RO_DAMAGE_MULTIPLIER_OHKO", RO_DAMAGE_MULTIPLIER_OHKO },
{ "RO_MQ_DUNGEONS_NONE", RO_MQ_DUNGEONS_NONE },
{ "RO_MQ_DUNGEONS_SET_NUMBER", RO_MQ_DUNGEONS_SET_NUMBER },
{ "RO_MQ_DUNGEONS_RANDOM_NUMBER", RO_MQ_DUNGEONS_RANDOM_NUMBER },
{ "RO_MQ_DUNGEONS_SELECTION", RO_MQ_DUNGEONS_SELECTION },
{ "RO_LOCATION_INCLUDE", RO_LOCATION_INCLUDE },
{ "RO_LOCATION_EXCLUDE", RO_LOCATION_EXCLUDE },
{ "RO_CHEST_GAME_OFF", RO_CHEST_GAME_OFF },
{ "RO_CHEST_GAME_SINGLE_KEYS", RO_CHEST_GAME_SINGLE_KEYS },
{ "RO_CHEST_GAME_PACK", RO_CHEST_GAME_PACK },
{ "RO_MQ_SET_VANILLA", RO_MQ_SET_VANILLA },
{ "RO_MQ_SET_MQ", RO_MQ_SET_MQ },
{ "RO_MQ_SET_RANDOM", RO_MQ_SET_RANDOM },
// clang-format on
#endif

View file

@ -0,0 +1,5 @@
DEFINE_RANDO_WATER_LEVEL(WL_LOW)
DEFINE_RANDO_WATER_LEVEL(WL_MID)
DEFINE_RANDO_WATER_LEVEL(WL_HIGH)
DEFINE_RANDO_WATER_LEVEL(WL_LOW_OR_MID)
DEFINE_RANDO_WATER_LEVEL(WL_HIGH_OR_MID)

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,53 @@
DEFINE_RANDOMIZER_ENEMY(RE_GOLD_SKULLTULA)
DEFINE_RANDOMIZER_ENEMY(RE_BIG_SKULLTULA)
DEFINE_RANDOMIZER_ENEMY(RE_DODONGO)
DEFINE_RANDOMIZER_ENEMY(RE_LIZALFOS)
DEFINE_RANDOMIZER_ENEMY(RE_GOHMA_LARVA)
DEFINE_RANDOMIZER_ENEMY(RE_KEESE)
DEFINE_RANDOMIZER_ENEMY(RE_FIRE_KEESE)
DEFINE_RANDOMIZER_ENEMY(RE_MAD_SCRUB)
DEFINE_RANDOMIZER_ENEMY(RE_BLUE_BUBBLE)
DEFINE_RANDOMIZER_ENEMY(RE_DEAD_HAND)
DEFINE_RANDOMIZER_ENEMY(RE_DEKU_BABA)
DEFINE_RANDOMIZER_ENEMY(RE_WITHERED_DEKU_BABA)
DEFINE_RANDOMIZER_ENEMY(RE_LIKE_LIKE)
DEFINE_RANDOMIZER_ENEMY(RE_STALFOS)
DEFINE_RANDOMIZER_ENEMY(RE_IRON_KNUCKLE)
DEFINE_RANDOMIZER_ENEMY(RE_FLARE_DANCER)
DEFINE_RANDOMIZER_ENEMY(RE_WOLFOS)
DEFINE_RANDOMIZER_ENEMY(RE_FLOORMASTER)
DEFINE_RANDOMIZER_ENEMY(RE_REDEAD)
DEFINE_RANDOMIZER_ENEMY(RE_MEG)
DEFINE_RANDOMIZER_ENEMY(RE_ARMOS)
DEFINE_RANDOMIZER_ENEMY(RE_GREEN_BUBBLE)
DEFINE_RANDOMIZER_ENEMY(RE_DINOLFOS)
DEFINE_RANDOMIZER_ENEMY(RE_TORCH_SLUG)
DEFINE_RANDOMIZER_ENEMY(RE_FREEZARD)
DEFINE_RANDOMIZER_ENEMY(RE_SHELL_BLADE)
DEFINE_RANDOMIZER_ENEMY(RE_SPIKE)
DEFINE_RANDOMIZER_ENEMY(RE_WHITE_WOLFOS)
DEFINE_RANDOMIZER_ENEMY(RE_STINGER)
DEFINE_RANDOMIZER_ENEMY(RE_BIG_OCTO)
DEFINE_RANDOMIZER_ENEMY(RE_GERUDO_WARRIOR)
DEFINE_RANDOMIZER_ENEMY(RE_GERUDO_GUARD)
DEFINE_RANDOMIZER_ENEMY(RE_BREAK_ROOM_GUARD)
DEFINE_RANDOMIZER_ENEMY(RE_GIBDO)
DEFINE_RANDOMIZER_ENEMY(RE_GOHMA)
DEFINE_RANDOMIZER_ENEMY(RE_KING_DODONGO)
DEFINE_RANDOMIZER_ENEMY(RE_BARINADE)
DEFINE_RANDOMIZER_ENEMY(RE_PHANTOM_GANON)
DEFINE_RANDOMIZER_ENEMY(RE_VOLVAGIA)
DEFINE_RANDOMIZER_ENEMY(RE_MORPHA)
DEFINE_RANDOMIZER_ENEMY(RE_BONGO_BONGO)
DEFINE_RANDOMIZER_ENEMY(RE_TWINROVA)
DEFINE_RANDOMIZER_ENEMY(RE_GANONDORF)
DEFINE_RANDOMIZER_ENEMY(RE_GANON)
DEFINE_RANDOMIZER_ENEMY(RE_DARK_LINK)
DEFINE_RANDOMIZER_ENEMY(RE_ANUBIS)
DEFINE_RANDOMIZER_ENEMY(RE_BEAMOS)
DEFINE_RANDOMIZER_ENEMY(RE_WALLMASTER)
DEFINE_RANDOMIZER_ENEMY(RE_PURPLE_LEEVER)
DEFINE_RANDOMIZER_ENEMY(RE_TENTACLE)
DEFINE_RANDOMIZER_ENEMY(RE_BARI)
DEFINE_RANDOMIZER_ENEMY(RE_SHABOM)
DEFINE_RANDOMIZER_ENEMY(RE_OCTOROK)

View file

@ -0,0 +1,282 @@
// based on https://github.com/TestRunnerSRL/OoT-Randomizer/blob/e337d7f603b91a6bacb618fb32cc7fd70ed9ffca/ItemList.py
DEFINE_RANDOMIZER_GET(RG_KOKIRI_SWORD)
DEFINE_RANDOMIZER_GET(RG_MASTER_SWORD)
DEFINE_RANDOMIZER_GET(RG_GIANTS_KNIFE)
DEFINE_RANDOMIZER_GET(RG_BIGGORON_SWORD)
DEFINE_RANDOMIZER_GET(RG_DEKU_SHIELD)
DEFINE_RANDOMIZER_GET(RG_HYLIAN_SHIELD)
DEFINE_RANDOMIZER_GET(RG_MIRROR_SHIELD)
DEFINE_RANDOMIZER_GET(RG_GORON_TUNIC)
DEFINE_RANDOMIZER_GET(RG_ZORA_TUNIC)
DEFINE_RANDOMIZER_GET(RG_IRON_BOOTS)
DEFINE_RANDOMIZER_GET(RG_HOVER_BOOTS)
DEFINE_RANDOMIZER_GET(RG_BOOMERANG)
DEFINE_RANDOMIZER_GET(RG_LENS_OF_TRUTH)
DEFINE_RANDOMIZER_GET(RG_MEGATON_HAMMER)
DEFINE_RANDOMIZER_GET(RG_STONE_OF_AGONY)
DEFINE_RANDOMIZER_GET(RG_DINS_FIRE)
DEFINE_RANDOMIZER_GET(RG_FARORES_WIND)
DEFINE_RANDOMIZER_GET(RG_NAYRUS_LOVE)
DEFINE_RANDOMIZER_GET(RG_FIRE_ARROWS)
DEFINE_RANDOMIZER_GET(RG_ICE_ARROWS)
DEFINE_RANDOMIZER_GET(RG_LIGHT_ARROWS)
DEFINE_RANDOMIZER_GET(RG_GERUDO_MEMBERSHIP_CARD)
DEFINE_RANDOMIZER_GET(RG_MAGIC_BEAN)
DEFINE_RANDOMIZER_GET(RG_MAGIC_BEAN_PACK)
DEFINE_RANDOMIZER_GET(RG_DOUBLE_DEFENSE)
DEFINE_RANDOMIZER_GET(RG_WEIRD_EGG)
DEFINE_RANDOMIZER_GET(RG_ZELDAS_LETTER)
DEFINE_RANDOMIZER_GET(RG_POCKET_EGG)
DEFINE_RANDOMIZER_GET(RG_COJIRO)
DEFINE_RANDOMIZER_GET(RG_ODD_MUSHROOM)
DEFINE_RANDOMIZER_GET(RG_ODD_POTION)
DEFINE_RANDOMIZER_GET(RG_POACHERS_SAW)
DEFINE_RANDOMIZER_GET(RG_BROKEN_SWORD)
DEFINE_RANDOMIZER_GET(RG_PRESCRIPTION)
DEFINE_RANDOMIZER_GET(RG_EYEBALL_FROG)
DEFINE_RANDOMIZER_GET(RG_EYEDROPS)
DEFINE_RANDOMIZER_GET(RG_CLAIM_CHECK)
DEFINE_RANDOMIZER_GET(RG_GOLD_SKULLTULA_TOKEN)
DEFINE_RANDOMIZER_GET(RG_PROGRESSIVE_HOOKSHOT)
DEFINE_RANDOMIZER_GET(RG_PROGRESSIVE_STRENGTH)
DEFINE_RANDOMIZER_GET(RG_PROGRESSIVE_BOMB_BAG)
DEFINE_RANDOMIZER_GET(RG_PROGRESSIVE_BOW)
DEFINE_RANDOMIZER_GET(RG_PROGRESSIVE_SLINGSHOT)
DEFINE_RANDOMIZER_GET(RG_PROGRESSIVE_WALLET)
DEFINE_RANDOMIZER_GET(RG_PROGRESSIVE_SCALE)
DEFINE_RANDOMIZER_GET(RG_PROGRESSIVE_NUT_UPGRADE)
DEFINE_RANDOMIZER_GET(RG_PROGRESSIVE_STICK_UPGRADE)
DEFINE_RANDOMIZER_GET(RG_PROGRESSIVE_BOMBCHUS)
DEFINE_RANDOMIZER_GET(RG_PROGRESSIVE_MAGIC_METER)
DEFINE_RANDOMIZER_GET(RG_MAGIC_SINGLE) // Added for refactor of GetItemEntries
DEFINE_RANDOMIZER_GET(RG_MAGIC_DOUBLE) // Added for refactor of GetItemEntries
DEFINE_RANDOMIZER_GET(RG_PROGRESSIVE_OCARINA)
DEFINE_RANDOMIZER_GET(RG_PROGRESSIVE_GORONSWORD)
DEFINE_RANDOMIZER_GET(RG_EMPTY_BOTTLE)
DEFINE_RANDOMIZER_GET(RG_BOTTLE_WITH_MILK)
DEFINE_RANDOMIZER_GET(RG_BOTTLE_WITH_RED_POTION)
DEFINE_RANDOMIZER_GET(RG_BOTTLE_WITH_GREEN_POTION)
DEFINE_RANDOMIZER_GET(RG_BOTTLE_WITH_BLUE_POTION)
DEFINE_RANDOMIZER_GET(RG_BOTTLE_WITH_FAIRY)
DEFINE_RANDOMIZER_GET(RG_BOTTLE_WITH_FISH)
DEFINE_RANDOMIZER_GET(RG_BOTTLE_WITH_BLUE_FIRE)
DEFINE_RANDOMIZER_GET(RG_BOTTLE_WITH_BUGS)
DEFINE_RANDOMIZER_GET(RG_BOTTLE_WITH_POE)
DEFINE_RANDOMIZER_GET(RG_RUTOS_LETTER)
DEFINE_RANDOMIZER_GET(RG_BOTTLE_WITH_BIG_POE)
DEFINE_RANDOMIZER_GET(RG_ZELDAS_LULLABY)
DEFINE_RANDOMIZER_GET(RG_EPONAS_SONG)
DEFINE_RANDOMIZER_GET(RG_SARIAS_SONG)
DEFINE_RANDOMIZER_GET(RG_SUNS_SONG)
DEFINE_RANDOMIZER_GET(RG_SONG_OF_TIME)
DEFINE_RANDOMIZER_GET(RG_SONG_OF_STORMS)
DEFINE_RANDOMIZER_GET(RG_MINUET_OF_FOREST)
DEFINE_RANDOMIZER_GET(RG_BOLERO_OF_FIRE)
DEFINE_RANDOMIZER_GET(RG_SERENADE_OF_WATER)
DEFINE_RANDOMIZER_GET(RG_REQUIEM_OF_SPIRIT)
DEFINE_RANDOMIZER_GET(RG_NOCTURNE_OF_SHADOW)
DEFINE_RANDOMIZER_GET(RG_PRELUDE_OF_LIGHT)
DEFINE_RANDOMIZER_GET(RG_DEKU_TREE_MAP)
DEFINE_RANDOMIZER_GET(RG_DODONGOS_CAVERN_MAP)
DEFINE_RANDOMIZER_GET(RG_JABU_JABUS_BELLY_MAP)
DEFINE_RANDOMIZER_GET(RG_FOREST_TEMPLE_MAP)
DEFINE_RANDOMIZER_GET(RG_FIRE_TEMPLE_MAP)
DEFINE_RANDOMIZER_GET(RG_WATER_TEMPLE_MAP)
DEFINE_RANDOMIZER_GET(RG_SPIRIT_TEMPLE_MAP)
DEFINE_RANDOMIZER_GET(RG_SHADOW_TEMPLE_MAP)
DEFINE_RANDOMIZER_GET(RG_BOTTOM_OF_THE_WELL_MAP)
DEFINE_RANDOMIZER_GET(RG_ICE_CAVERN_MAP)
DEFINE_RANDOMIZER_GET(RG_DEKU_TREE_COMPASS)
DEFINE_RANDOMIZER_GET(RG_DODONGOS_CAVERN_COMPASS)
DEFINE_RANDOMIZER_GET(RG_JABU_JABUS_BELLY_COMPASS)
DEFINE_RANDOMIZER_GET(RG_FOREST_TEMPLE_COMPASS)
DEFINE_RANDOMIZER_GET(RG_FIRE_TEMPLE_COMPASS)
DEFINE_RANDOMIZER_GET(RG_WATER_TEMPLE_COMPASS)
DEFINE_RANDOMIZER_GET(RG_SPIRIT_TEMPLE_COMPASS)
DEFINE_RANDOMIZER_GET(RG_SHADOW_TEMPLE_COMPASS)
DEFINE_RANDOMIZER_GET(RG_BOTTOM_OF_THE_WELL_COMPASS)
DEFINE_RANDOMIZER_GET(RG_ICE_CAVERN_COMPASS)
DEFINE_RANDOMIZER_GET(RG_FOREST_TEMPLE_BOSS_KEY)
DEFINE_RANDOMIZER_GET(RG_FIRE_TEMPLE_BOSS_KEY)
DEFINE_RANDOMIZER_GET(RG_WATER_TEMPLE_BOSS_KEY)
DEFINE_RANDOMIZER_GET(RG_SPIRIT_TEMPLE_BOSS_KEY)
DEFINE_RANDOMIZER_GET(RG_SHADOW_TEMPLE_BOSS_KEY)
DEFINE_RANDOMIZER_GET(RG_GANONS_CASTLE_BOSS_KEY)
DEFINE_RANDOMIZER_GET(RG_FOREST_TEMPLE_SMALL_KEY)
DEFINE_RANDOMIZER_GET(RG_FIRE_TEMPLE_SMALL_KEY)
DEFINE_RANDOMIZER_GET(RG_WATER_TEMPLE_SMALL_KEY)
DEFINE_RANDOMIZER_GET(RG_SPIRIT_TEMPLE_SMALL_KEY)
DEFINE_RANDOMIZER_GET(RG_SHADOW_TEMPLE_SMALL_KEY)
DEFINE_RANDOMIZER_GET(RG_BOTTOM_OF_THE_WELL_SMALL_KEY)
DEFINE_RANDOMIZER_GET(RG_GERUDO_TRAINING_GROUND_SMALL_KEY)
DEFINE_RANDOMIZER_GET(RG_GERUDO_FORTRESS_SMALL_KEY)
DEFINE_RANDOMIZER_GET(RG_GANONS_CASTLE_SMALL_KEY)
DEFINE_RANDOMIZER_GET(RG_TREASURE_GAME_SMALL_KEY)
DEFINE_RANDOMIZER_GET(RG_FOREST_TEMPLE_KEY_RING)
DEFINE_RANDOMIZER_GET(RG_FIRE_TEMPLE_KEY_RING)
DEFINE_RANDOMIZER_GET(RG_WATER_TEMPLE_KEY_RING)
DEFINE_RANDOMIZER_GET(RG_SPIRIT_TEMPLE_KEY_RING)
DEFINE_RANDOMIZER_GET(RG_SHADOW_TEMPLE_KEY_RING)
DEFINE_RANDOMIZER_GET(RG_BOTTOM_OF_THE_WELL_KEY_RING)
DEFINE_RANDOMIZER_GET(RG_GERUDO_TRAINING_GROUND_KEY_RING)
DEFINE_RANDOMIZER_GET(RG_GERUDO_FORTRESS_KEY_RING)
DEFINE_RANDOMIZER_GET(RG_GANONS_CASTLE_KEY_RING)
DEFINE_RANDOMIZER_GET(RG_TREASURE_GAME_KEY_RING)
DEFINE_RANDOMIZER_GET(RG_KOKIRI_EMERALD)
DEFINE_RANDOMIZER_GET(RG_GORON_RUBY)
DEFINE_RANDOMIZER_GET(RG_ZORA_SAPPHIRE)
DEFINE_RANDOMIZER_GET(RG_FOREST_MEDALLION)
DEFINE_RANDOMIZER_GET(RG_FIRE_MEDALLION)
DEFINE_RANDOMIZER_GET(RG_WATER_MEDALLION)
DEFINE_RANDOMIZER_GET(RG_SPIRIT_MEDALLION)
DEFINE_RANDOMIZER_GET(RG_SHADOW_MEDALLION)
DEFINE_RANDOMIZER_GET(RG_LIGHT_MEDALLION)
DEFINE_RANDOMIZER_GET(RG_RECOVERY_HEART)
DEFINE_RANDOMIZER_GET(RG_GREEN_RUPEE)
DEFINE_RANDOMIZER_GET(RG_GREG_RUPEE)
DEFINE_RANDOMIZER_GET(RG_BLUE_RUPEE)
DEFINE_RANDOMIZER_GET(RG_RED_RUPEE)
DEFINE_RANDOMIZER_GET(RG_PURPLE_RUPEE)
DEFINE_RANDOMIZER_GET(RG_HUGE_RUPEE)
DEFINE_RANDOMIZER_GET(RG_PIECE_OF_HEART)
DEFINE_RANDOMIZER_GET(RG_HEART_CONTAINER)
DEFINE_RANDOMIZER_GET(RG_ICE_TRAP)
DEFINE_RANDOMIZER_GET(RG_MILK)
DEFINE_RANDOMIZER_GET(RG_FISH)
DEFINE_RANDOMIZER_GET(RG_BOMBS_5)
DEFINE_RANDOMIZER_GET(RG_BOMBS_10)
DEFINE_RANDOMIZER_GET(RG_BOMBS_20)
DEFINE_RANDOMIZER_GET(RG_BOMBCHU_5)
DEFINE_RANDOMIZER_GET(RG_BOMBCHU_10)
DEFINE_RANDOMIZER_GET(RG_BOMBCHU_20)
DEFINE_RANDOMIZER_GET(RG_ARROWS_5)
DEFINE_RANDOMIZER_GET(RG_ARROWS_10)
DEFINE_RANDOMIZER_GET(RG_ARROWS_30)
DEFINE_RANDOMIZER_GET(RG_DEKU_NUTS_5)
DEFINE_RANDOMIZER_GET(RG_DEKU_NUTS_10)
DEFINE_RANDOMIZER_GET(RG_DEKU_SEEDS_30)
DEFINE_RANDOMIZER_GET(RG_DEKU_STICK_1)
DEFINE_RANDOMIZER_GET(RG_RED_POTION_REFILL)
DEFINE_RANDOMIZER_GET(RG_GREEN_POTION_REFILL)
DEFINE_RANDOMIZER_GET(RG_BLUE_POTION_REFILL)
DEFINE_RANDOMIZER_GET(RG_TREASURE_GAME_HEART)
DEFINE_RANDOMIZER_GET(RG_TREASURE_GAME_GREEN_RUPEE)
DEFINE_RANDOMIZER_GET(RG_BUY_DEKU_NUTS_5)
DEFINE_RANDOMIZER_GET(RG_BUY_ARROWS_30)
DEFINE_RANDOMIZER_GET(RG_BUY_ARROWS_50)
DEFINE_RANDOMIZER_GET(RG_BUY_BOMBS_525)
DEFINE_RANDOMIZER_GET(RG_BUY_DEKU_NUTS_10)
DEFINE_RANDOMIZER_GET(RG_BUY_DEKU_STICK_1)
DEFINE_RANDOMIZER_GET(RG_BUY_BOMBS_10)
DEFINE_RANDOMIZER_GET(RG_BUY_FISH)
DEFINE_RANDOMIZER_GET(RG_BUY_RED_POTION_30)
DEFINE_RANDOMIZER_GET(RG_BUY_GREEN_POTION)
DEFINE_RANDOMIZER_GET(RG_BUY_BLUE_POTION)
DEFINE_RANDOMIZER_GET(RG_BUY_HYLIAN_SHIELD)
DEFINE_RANDOMIZER_GET(RG_BUY_DEKU_SHIELD)
DEFINE_RANDOMIZER_GET(RG_BUY_GORON_TUNIC)
DEFINE_RANDOMIZER_GET(RG_BUY_ZORA_TUNIC)
DEFINE_RANDOMIZER_GET(RG_BUY_HEART)
DEFINE_RANDOMIZER_GET(RG_BUY_BOMBCHUS_10)
DEFINE_RANDOMIZER_GET(RG_BUY_BOMBCHUS_20)
DEFINE_RANDOMIZER_GET(RG_BUY_DEKU_SEEDS_30)
DEFINE_RANDOMIZER_GET(RG_SOLD_OUT)
DEFINE_RANDOMIZER_GET(RG_BUY_BLUE_FIRE)
DEFINE_RANDOMIZER_GET(RG_BUY_BOTTLE_BUG)
DEFINE_RANDOMIZER_GET(RG_BUY_POE)
DEFINE_RANDOMIZER_GET(RG_BUY_FAIRYS_SPIRIT)
DEFINE_RANDOMIZER_GET(RG_BUY_ARROWS_10)
DEFINE_RANDOMIZER_GET(RG_BUY_BOMBS_20)
DEFINE_RANDOMIZER_GET(RG_BUY_BOMBS_30)
DEFINE_RANDOMIZER_GET(RG_BUY_BOMBS_535)
DEFINE_RANDOMIZER_GET(RG_BUY_RED_POTION_40)
DEFINE_RANDOMIZER_GET(RG_BUY_RED_POTION_50)
DEFINE_RANDOMIZER_GET(RG_TRIFORCE)
DEFINE_RANDOMIZER_GET(RG_TRIFORCE_PIECE)
DEFINE_RANDOMIZER_GET(RG_GOHMA_SOUL)
DEFINE_RANDOMIZER_GET(RG_KING_DODONGO_SOUL)
DEFINE_RANDOMIZER_GET(RG_BARINADE_SOUL)
DEFINE_RANDOMIZER_GET(RG_PHANTOM_GANON_SOUL)
DEFINE_RANDOMIZER_GET(RG_VOLVAGIA_SOUL)
DEFINE_RANDOMIZER_GET(RG_MORPHA_SOUL)
DEFINE_RANDOMIZER_GET(RG_BONGO_BONGO_SOUL)
DEFINE_RANDOMIZER_GET(RG_TWINROVA_SOUL)
DEFINE_RANDOMIZER_GET(RG_GANON_SOUL)
DEFINE_RANDOMIZER_GET(RG_OCARINA_A_BUTTON)
DEFINE_RANDOMIZER_GET(RG_OCARINA_C_UP_BUTTON)
DEFINE_RANDOMIZER_GET(RG_OCARINA_C_DOWN_BUTTON)
DEFINE_RANDOMIZER_GET(RG_OCARINA_C_LEFT_BUTTON)
DEFINE_RANDOMIZER_GET(RG_OCARINA_C_RIGHT_BUTTON)
DEFINE_RANDOMIZER_GET(RG_SKELETON_KEY)
DEFINE_RANDOMIZER_GET(RG_FISHING_POLE)
DEFINE_RANDOMIZER_GET(RG_DEKU_STICK_BAG)
DEFINE_RANDOMIZER_GET(RG_DEKU_NUT_BAG)
DEFINE_RANDOMIZER_GET(RG_HINT)
DEFINE_RANDOMIZER_GET(RG_TYCOON_WALLET)
DEFINE_RANDOMIZER_GET(RG_BRONZE_SCALE)
DEFINE_RANDOMIZER_GET(RG_CHILD_WALLET)
DEFINE_RANDOMIZER_GET(RG_BOMBCHU_BAG)
DEFINE_RANDOMIZER_GET(RG_QUIVER_INF)
DEFINE_RANDOMIZER_GET(RG_BOMB_BAG_INF)
DEFINE_RANDOMIZER_GET(RG_BULLET_BAG_INF)
DEFINE_RANDOMIZER_GET(RG_STICK_UPGRADE_INF)
DEFINE_RANDOMIZER_GET(RG_NUT_UPGRADE_INF)
DEFINE_RANDOMIZER_GET(RG_MAGIC_INF)
DEFINE_RANDOMIZER_GET(RG_BOMBCHU_INF)
DEFINE_RANDOMIZER_GET(RG_WALLET_INF)
DEFINE_RANDOMIZER_GET(RG_FAIRY_OCARINA)
DEFINE_RANDOMIZER_GET(RG_OCARINA_OF_TIME)
DEFINE_RANDOMIZER_GET(RG_BOMB_BAG)
DEFINE_RANDOMIZER_GET(RG_BIG_BOMB_BAG)
DEFINE_RANDOMIZER_GET(RG_BIGGEST_BOMB_BAG)
DEFINE_RANDOMIZER_GET(RG_FAIRY_BOW)
DEFINE_RANDOMIZER_GET(RG_BIG_QUIVER)
DEFINE_RANDOMIZER_GET(RG_BIGGEST_QUIVER)
DEFINE_RANDOMIZER_GET(RG_FAIRY_SLINGSHOT)
DEFINE_RANDOMIZER_GET(RG_BIG_BULLET_BAG)
DEFINE_RANDOMIZER_GET(RG_BIGGEST_BULLET_BAG)
DEFINE_RANDOMIZER_GET(RG_GORONS_BRACELET)
DEFINE_RANDOMIZER_GET(RG_SILVER_GAUNTLETS)
DEFINE_RANDOMIZER_GET(RG_GOLDEN_GAUNTLETS)
DEFINE_RANDOMIZER_GET(RG_SILVER_SCALE)
DEFINE_RANDOMIZER_GET(RG_GOLDEN_SCALE)
DEFINE_RANDOMIZER_GET(RG_ADULT_WALLET)
DEFINE_RANDOMIZER_GET(RG_GIANT_WALLET)
DEFINE_RANDOMIZER_GET(RG_DEKU_NUT_CAPACITY_30)
DEFINE_RANDOMIZER_GET(RG_DEKU_NUT_CAPACITY_40)
DEFINE_RANDOMIZER_GET(RG_DEKU_STICK_CAPACITY_20)
DEFINE_RANDOMIZER_GET(RG_DEKU_STICK_CAPACITY_30)
DEFINE_RANDOMIZER_GET(RG_HOOKSHOT)
DEFINE_RANDOMIZER_GET(RG_LONGSHOT)
DEFINE_RANDOMIZER_GET(RG_SCARECROW)
// Overworld keys
DEFINE_RANDOMIZER_GET(RG_GUARD_HOUSE_KEY)
DEFINE_RANDOMIZER_GET(RG_MARKET_BAZAAR_KEY)
DEFINE_RANDOMIZER_GET(RG_MARKET_POTION_SHOP_KEY)
DEFINE_RANDOMIZER_GET(RG_MASK_SHOP_KEY)
DEFINE_RANDOMIZER_GET(RG_MARKET_SHOOTING_GALLERY_KEY)
DEFINE_RANDOMIZER_GET(RG_BOMBCHU_BOWLING_KEY)
DEFINE_RANDOMIZER_GET(RG_TREASURE_CHEST_GAME_BUILDING_KEY)
DEFINE_RANDOMIZER_GET(RG_BOMBCHU_SHOP_KEY)
DEFINE_RANDOMIZER_GET(RG_RICHARDS_HOUSE_KEY)
DEFINE_RANDOMIZER_GET(RG_ALLEY_HOUSE_KEY)
DEFINE_RANDOMIZER_GET(RG_KAK_BAZAAR_KEY)
DEFINE_RANDOMIZER_GET(RG_KAK_POTION_SHOP_KEY)
DEFINE_RANDOMIZER_GET(RG_BOSS_HOUSE_KEY)
DEFINE_RANDOMIZER_GET(RG_GRANNYS_POTION_SHOP_KEY)
DEFINE_RANDOMIZER_GET(RG_SKULLTULA_HOUSE_KEY)
DEFINE_RANDOMIZER_GET(RG_IMPAS_HOUSE_KEY)
DEFINE_RANDOMIZER_GET(RG_WINDMILL_KEY)
DEFINE_RANDOMIZER_GET(RG_KAK_SHOOTING_GALLERY_KEY)
DEFINE_RANDOMIZER_GET(RG_DAMPES_HUT_KEY)
DEFINE_RANDOMIZER_GET(RG_TALONS_HOUSE_KEY)
DEFINE_RANDOMIZER_GET(RG_STABLES_KEY)
DEFINE_RANDOMIZER_GET(RG_BACK_TOWER_KEY)
DEFINE_RANDOMIZER_GET(RG_HYLIA_LAB_KEY)
DEFINE_RANDOMIZER_GET(RG_FISHING_HOLE_KEY)
// Logic Only
DEFINE_RANDOMIZER_GET(RG_DISTANT_SCARECROW)
DEFINE_RANDOMIZER_GET(RG_STICKS)
DEFINE_RANDOMIZER_GET(RG_NUTS)
DEFINE_RANDOMIZER_GET(RG_EPONA)

View file

@ -0,0 +1,733 @@
DEFINE_RANDOMIZER_REGION(RR_ROOT)
DEFINE_RANDOMIZER_REGION(RR_ROOT_EXITS)
DEFINE_RANDOMIZER_REGION(RR_CHILD_SPAWN)
DEFINE_RANDOMIZER_REGION(RR_ADULT_SPAWN)
DEFINE_RANDOMIZER_REGION(RR_MINUET_OF_FOREST_WARP)
DEFINE_RANDOMIZER_REGION(RR_BOLERO_OF_FIRE_WARP)
DEFINE_RANDOMIZER_REGION(RR_SERENADE_OF_WATER_WARP)
DEFINE_RANDOMIZER_REGION(RR_REQUIEM_OF_SPIRIT_WARP)
DEFINE_RANDOMIZER_REGION(RR_NOCTURNE_OF_SHADOW_WARP)
DEFINE_RANDOMIZER_REGION(RR_PRELUDE_OF_LIGHT_WARP)
DEFINE_RANDOMIZER_REGION(RR_KOKIRI_FOREST)
DEFINE_RANDOMIZER_REGION(RR_KF_LINKS_HOUSE)
DEFINE_RANDOMIZER_REGION(RR_KF_MIDOS_HOUSE)
DEFINE_RANDOMIZER_REGION(RR_KF_SARIAS_HOUSE)
DEFINE_RANDOMIZER_REGION(RR_KF_HOUSE_OF_TWINS)
DEFINE_RANDOMIZER_REGION(RR_KF_KNOW_IT_ALL_HOUSE)
DEFINE_RANDOMIZER_REGION(RR_KF_KOKIRI_SHOP)
DEFINE_RANDOMIZER_REGION(RR_KF_OUTSIDE_DEKU_TREE)
DEFINE_RANDOMIZER_REGION(RR_KF_STORMS_GROTTO)
DEFINE_RANDOMIZER_REGION(RR_THE_LOST_WOODS)
DEFINE_RANDOMIZER_REGION(RR_LW_BRIDGE_FROM_FOREST)
DEFINE_RANDOMIZER_REGION(RR_LW_BRIDGE)
DEFINE_RANDOMIZER_REGION(RR_LW_FOREST_EXIT)
DEFINE_RANDOMIZER_REGION(RR_LW_BEYOND_MIDO)
DEFINE_RANDOMIZER_REGION(RR_LW_NEAR_SHORTCUTS_GROTTO)
DEFINE_RANDOMIZER_REGION(RR_DEKU_THEATER)
DEFINE_RANDOMIZER_REGION(RR_LW_SCRUBS_GROTTO)
DEFINE_RANDOMIZER_REGION(RR_SFM_ENTRYWAY)
DEFINE_RANDOMIZER_REGION(RR_SACRED_FOREST_MEADOW)
DEFINE_RANDOMIZER_REGION(RR_SFM_WOLFOS_GROTTO)
DEFINE_RANDOMIZER_REGION(RR_SFM_FAIRY_GROTTO)
DEFINE_RANDOMIZER_REGION(RR_SFM_STORMS_GROTTO)
DEFINE_RANDOMIZER_REGION(RR_HYRULE_FIELD)
DEFINE_RANDOMIZER_REGION(RR_HF_SOUTHEAST_GROTTO)
DEFINE_RANDOMIZER_REGION(RR_HF_OPEN_GROTTO)
DEFINE_RANDOMIZER_REGION(RR_HF_INSIDE_FENCE_GROTTO)
DEFINE_RANDOMIZER_REGION(RR_HF_COW_GROTTO)
DEFINE_RANDOMIZER_REGION(RR_HF_COW_GROTTO_BEHIND_WEBS)
DEFINE_RANDOMIZER_REGION(RR_HF_NEAR_MARKET_GROTTO)
DEFINE_RANDOMIZER_REGION(RR_HF_FAIRY_GROTTO)
DEFINE_RANDOMIZER_REGION(RR_HF_NEAR_KAK_GROTTO)
DEFINE_RANDOMIZER_REGION(RR_HF_TEKTITE_GROTTO)
DEFINE_RANDOMIZER_REGION(RR_LAKE_HYLIA)
DEFINE_RANDOMIZER_REGION(RR_LH_FROM_SHORTCUT)
DEFINE_RANDOMIZER_REGION(RR_LH_FROM_WATER_TEMPLE)
DEFINE_RANDOMIZER_REGION(RR_LH_FISHING_ISLAND)
DEFINE_RANDOMIZER_REGION(RR_LH_OWL_FLIGHT)
DEFINE_RANDOMIZER_REGION(RR_LH_LAB)
DEFINE_RANDOMIZER_REGION(RR_LH_FISHING_POND)
DEFINE_RANDOMIZER_REGION(RR_LH_GROTTO)
DEFINE_RANDOMIZER_REGION(RR_GERUDO_VALLEY)
DEFINE_RANDOMIZER_REGION(RR_GV_UPPER_STREAM)
DEFINE_RANDOMIZER_REGION(RR_GV_LOWER_STREAM)
DEFINE_RANDOMIZER_REGION(RR_GV_GROTTO_LEDGE)
DEFINE_RANDOMIZER_REGION(RR_GV_CRATE_LEDGE)
DEFINE_RANDOMIZER_REGION(RR_GV_OCTOROK_GROTTO)
DEFINE_RANDOMIZER_REGION(RR_GV_FORTRESS_SIDE)
DEFINE_RANDOMIZER_REGION(RR_GV_CARPENTER_TENT)
DEFINE_RANDOMIZER_REGION(RR_GV_STORMS_GROTTO)
DEFINE_RANDOMIZER_REGION(RR_GF_OUTSKIRTS)
DEFINE_RANDOMIZER_REGION(RR_GF_NEAR_GROTTO)
DEFINE_RANDOMIZER_REGION(RR_GF_OUTSIDE_GTG)
DEFINE_RANDOMIZER_REGION(RR_GF_TO_GTG)
DEFINE_RANDOMIZER_REGION(RR_GF_EXITING_GTG)
DEFINE_RANDOMIZER_REGION(RR_GF_ABOVE_GTG)
DEFINE_RANDOMIZER_REGION(RR_GF_BOTTOM_OF_LOWER_VINES)
DEFINE_RANDOMIZER_REGION(RR_GF_TOP_OF_LOWER_VINES)
DEFINE_RANDOMIZER_REGION(RR_GF_NEAR_GS)
DEFINE_RANDOMIZER_REGION(RR_GF_SLOPED_ROOF)
DEFINE_RANDOMIZER_REGION(RR_GF_BOTTOM_OF_UPPER_VINES)
DEFINE_RANDOMIZER_REGION(RR_GF_TOP_OF_UPPER_VINES)
DEFINE_RANDOMIZER_REGION(RR_GF_NEAR_CHEST)
DEFINE_RANDOMIZER_REGION(RR_GF_LONG_ROOF)
DEFINE_RANDOMIZER_REGION(RR_GF_BELOW_GS)
DEFINE_RANDOMIZER_REGION(RR_GF_BELOW_CHEST)
DEFINE_RANDOMIZER_REGION(RR_GF_HBA_RANGE)
DEFINE_RANDOMIZER_REGION(RR_GF_ABOVE_JAIL)
DEFINE_RANDOMIZER_REGION(RR_GF_JAIL_WINDOW)
DEFINE_RANDOMIZER_REGION(RR_GF_OUTSIDE_GATE)
DEFINE_RANDOMIZER_REGION(RR_GF_STORMS_GROTTO)
DEFINE_RANDOMIZER_REGION(RR_TH_1_TORCH_CELL)
DEFINE_RANDOMIZER_REGION(RR_TH_DOUBLE_CELL)
DEFINE_RANDOMIZER_REGION(RR_TH_DEAD_END_CELL)
DEFINE_RANDOMIZER_REGION(RR_TH_STEEP_SLOPE_CELL)
DEFINE_RANDOMIZER_REGION(RR_TH_KITCHEN_CORRIDOR)
DEFINE_RANDOMIZER_REGION(RR_TH_KITCHEN_MAIN)
DEFINE_RANDOMIZER_REGION(RR_TH_KITCHEN_TOP)
DEFINE_RANDOMIZER_REGION(RR_TH_BREAK_ROOM)
DEFINE_RANDOMIZER_REGION(RR_TH_BREAK_ROOM_CORRIDOR)
DEFINE_RANDOMIZER_REGION(RR_WASTELAND_NEAR_FORTRESS)
DEFINE_RANDOMIZER_REGION(RR_HAUNTED_WASTELAND)
DEFINE_RANDOMIZER_REGION(RR_WASTELAND_NEAR_COLOSSUS)
DEFINE_RANDOMIZER_REGION(RR_DESERT_COLOSSUS)
DEFINE_RANDOMIZER_REGION(RR_DESERT_COLOSSUS_OASIS)
DEFINE_RANDOMIZER_REGION(RR_DESERT_COLOSSUS_OUTSIDE_TEMPLE)
DEFINE_RANDOMIZER_REGION(RR_COLOSSUS_GREAT_FAIRY_FOUNTAIN)
DEFINE_RANDOMIZER_REGION(RR_COLOSSUS_GROTTO)
DEFINE_RANDOMIZER_REGION(RR_MARKET_ENTRANCE)
DEFINE_RANDOMIZER_REGION(RR_THE_MARKET)
DEFINE_RANDOMIZER_REGION(RR_MARKET_GUARD_HOUSE)
DEFINE_RANDOMIZER_REGION(RR_MARKET_BAZAAR)
DEFINE_RANDOMIZER_REGION(RR_MARKET_MASK_SHOP)
DEFINE_RANDOMIZER_REGION(RR_MARKET_SHOOTING_GALLERY)
DEFINE_RANDOMIZER_REGION(RR_MARKET_BOMBCHU_BOWLING)
DEFINE_RANDOMIZER_REGION(RR_MARKET_TREASURE_CHEST_GAME)
DEFINE_RANDOMIZER_REGION(RR_MARKET_POTION_SHOP)
DEFINE_RANDOMIZER_REGION(RR_MARKET_BACK_ALLEY)
DEFINE_RANDOMIZER_REGION(RR_MARKET_BOMBCHU_SHOP)
DEFINE_RANDOMIZER_REGION(RR_MARKET_DOG_LADY_HOUSE)
DEFINE_RANDOMIZER_REGION(RR_MARKET_MAN_IN_GREEN_HOUSE)
DEFINE_RANDOMIZER_REGION(RR_TOT_ENTRANCE)
DEFINE_RANDOMIZER_REGION(RR_TEMPLE_OF_TIME)
DEFINE_RANDOMIZER_REGION(RR_TOT_BEYOND_DOOR_OF_TIME)
DEFINE_RANDOMIZER_REGION(RR_CASTLE_GROUNDS)
DEFINE_RANDOMIZER_REGION(RR_CASTLE_GROUNDS_FROM_GANONS_CASTLE)
DEFINE_RANDOMIZER_REGION(RR_HYRULE_CASTLE_GROUNDS)
DEFINE_RANDOMIZER_REGION(RR_HC_GARDEN)
DEFINE_RANDOMIZER_REGION(RR_HC_GREAT_FAIRY_FOUNTAIN)
DEFINE_RANDOMIZER_REGION(RR_HC_STORMS_GROTTO)
DEFINE_RANDOMIZER_REGION(RR_HC_STORMS_GROTTO_BEHIND_WALLS)
DEFINE_RANDOMIZER_REGION(RR_GANONS_CASTLE_GROUNDS)
DEFINE_RANDOMIZER_REGION(RR_OGC_GREAT_FAIRY_FOUNTAIN)
DEFINE_RANDOMIZER_REGION(RR_GANONS_CASTLE_LEDGE)
DEFINE_RANDOMIZER_REGION(RR_KAKARIKO_VILLAGE)
DEFINE_RANDOMIZER_REGION(RR_KAK_CARPENTER_BOSS_HOUSE)
DEFINE_RANDOMIZER_REGION(RR_KAK_HOUSE_OF_SKULLTULA)
DEFINE_RANDOMIZER_REGION(RR_KAK_IMPAS_HOUSE)
DEFINE_RANDOMIZER_REGION(RR_KAK_IMPAS_LEDGE)
DEFINE_RANDOMIZER_REGION(RR_KAK_IMPAS_HOUSE_BACK)
DEFINE_RANDOMIZER_REGION(RR_KAK_WINDMILL)
DEFINE_RANDOMIZER_REGION(RR_KAK_BAZAAR)
DEFINE_RANDOMIZER_REGION(RR_KAK_SHOOTING_GALLERY)
DEFINE_RANDOMIZER_REGION(RR_KAK_POTION_SHOP_FRONT)
DEFINE_RANDOMIZER_REGION(RR_KAK_POTION_SHOP_BACK)
DEFINE_RANDOMIZER_REGION(RR_KAK_WATCHTOWER)
DEFINE_RANDOMIZER_REGION(RR_KAK_ROOFTOP)
DEFINE_RANDOMIZER_REGION(RR_KAK_IMPAS_ROOFTOP)
DEFINE_RANDOMIZER_REGION(RR_KAK_BEHIND_GATE)
DEFINE_RANDOMIZER_REGION(RR_KAK_BACKYARD)
DEFINE_RANDOMIZER_REGION(RR_KAK_WELL)
DEFINE_RANDOMIZER_REGION(RR_KAK_ODD_POTION_BUILDING)
DEFINE_RANDOMIZER_REGION(RR_KAK_REDEAD_GROTTO)
DEFINE_RANDOMIZER_REGION(RR_KAK_OPEN_GROTTO)
DEFINE_RANDOMIZER_REGION(RR_THE_GRAVEYARD)
DEFINE_RANDOMIZER_REGION(RR_GRAVEYARD_DAMPES_GRAVE)
DEFINE_RANDOMIZER_REGION(RR_GRAVEYARD_DAMPES_HOUSE)
DEFINE_RANDOMIZER_REGION(RR_GRAVEYARD_SHIELD_GRAVE)
DEFINE_RANDOMIZER_REGION(RR_GRAVEYARD_SHIELD_GRAVE_BACK)
DEFINE_RANDOMIZER_REGION(RR_GRAVEYARD_COMPOSERS_GRAVE)
DEFINE_RANDOMIZER_REGION(RR_GRAVEYARD_HEART_PIECE_GRAVE)
DEFINE_RANDOMIZER_REGION(RR_GRAVEYARD_WARP_PAD_REGION)
DEFINE_RANDOMIZER_REGION(RR_DEATH_MOUNTAIN_TRAIL)
DEFINE_RANDOMIZER_REGION(RR_DEATH_MOUNTAIN_SUMMIT)
DEFINE_RANDOMIZER_REGION(RR_DMT_OWL_FLIGHT)
DEFINE_RANDOMIZER_REGION(RR_DMT_GREAT_FAIRY_FOUNTAIN)
DEFINE_RANDOMIZER_REGION(RR_DMT_COW_GROTTO)
DEFINE_RANDOMIZER_REGION(RR_DMT_STORMS_GROTTO)
DEFINE_RANDOMIZER_REGION(RR_GORON_CITY)
DEFINE_RANDOMIZER_REGION(RR_GC_MEDIGORON)
DEFINE_RANDOMIZER_REGION(RR_GC_WOODS_WARP)
DEFINE_RANDOMIZER_REGION(RR_GC_DARUNIAS_CHAMBER)
DEFINE_RANDOMIZER_REGION(RR_GC_GROTTO_PLATFORM)
DEFINE_RANDOMIZER_REGION(RR_GC_SHOP)
DEFINE_RANDOMIZER_REGION(RR_GC_GROTTO)
DEFINE_RANDOMIZER_REGION(RR_DMC_UPPER_LOCAL)
DEFINE_RANDOMIZER_REGION(RR_DMC_CENTRAL_LOCAL)
DEFINE_RANDOMIZER_REGION(RR_DMC_LOWER_LOCAL)
DEFINE_RANDOMIZER_REGION(RR_DMC_LOWER_NEARBY)
DEFINE_RANDOMIZER_REGION(RR_DMC_UPPER_NEARBY)
DEFINE_RANDOMIZER_REGION(RR_DMC_CENTRAL_NEARBY)
DEFINE_RANDOMIZER_REGION(RR_DMC_LADDER_AREA_NEARBY)
DEFINE_RANDOMIZER_REGION(RR_DMC_UPPER_GROTTO)
DEFINE_RANDOMIZER_REGION(RR_DMC_HAMMER_GROTTO)
DEFINE_RANDOMIZER_REGION(RR_DMC_GREAT_FAIRY_FOUNTAIN)
DEFINE_RANDOMIZER_REGION(RR_DMC_DISTANT_PLATFORM)
DEFINE_RANDOMIZER_REGION(RR_ZR_FRONT)
DEFINE_RANDOMIZER_REGION(RR_ZORAS_RIVER)
DEFINE_RANDOMIZER_REGION(RR_ZR_FROM_SHORTCUT)
DEFINE_RANDOMIZER_REGION(RR_ZR_BEHIND_WATERFALL)
DEFINE_RANDOMIZER_REGION(RR_ZR_OPEN_GROTTO)
DEFINE_RANDOMIZER_REGION(RR_ZR_FAIRY_GROTTO)
DEFINE_RANDOMIZER_REGION(RR_ZR_STORMS_GROTTO)
DEFINE_RANDOMIZER_REGION(RR_ZORAS_DOMAIN)
DEFINE_RANDOMIZER_REGION(RR_ZORAS_DOMAIN_ISLAND)
DEFINE_RANDOMIZER_REGION(RR_ZD_BEHIND_KING_ZORA)
DEFINE_RANDOMIZER_REGION(RR_ZD_SHOP)
DEFINE_RANDOMIZER_REGION(RR_ZD_STORMS_GROTTO)
DEFINE_RANDOMIZER_REGION(RR_ZORAS_FOUNTAIN)
DEFINE_RANDOMIZER_REGION(RR_ZF_ICEBERGS)
DEFINE_RANDOMIZER_REGION(RR_ZF_LAKEBED)
DEFINE_RANDOMIZER_REGION(RR_ZF_LEDGE)
DEFINE_RANDOMIZER_REGION(RR_ZF_HIDDEN_CAVE)
DEFINE_RANDOMIZER_REGION(RR_ZF_HIDDEN_LEDGE)
DEFINE_RANDOMIZER_REGION(RR_ZF_ROCK)
DEFINE_RANDOMIZER_REGION(RR_ZF_GREAT_FAIRY_FOUNTAIN)
DEFINE_RANDOMIZER_REGION(RR_LON_LON_RANCH)
DEFINE_RANDOMIZER_REGION(RR_LLR_TALONS_HOUSE)
DEFINE_RANDOMIZER_REGION(RR_LLR_STABLES)
DEFINE_RANDOMIZER_REGION(RR_LLR_TOWER)
DEFINE_RANDOMIZER_REGION(RR_LLR_GROTTO)
DEFINE_RANDOMIZER_REGION(RR_DEKU_TREE_ENTRYWAY)
DEFINE_RANDOMIZER_REGION(RR_DODONGOS_CAVERN_ENTRYWAY)
DEFINE_RANDOMIZER_REGION(RR_JABU_JABUS_BELLY_ENTRYWAY)
DEFINE_RANDOMIZER_REGION(RR_FOREST_TEMPLE_ENTRYWAY)
DEFINE_RANDOMIZER_REGION(RR_FIRE_TEMPLE_ENTRYWAY)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_ENTRYWAY)
DEFINE_RANDOMIZER_REGION(RR_SPIRIT_TEMPLE_ENTRYWAY)
DEFINE_RANDOMIZER_REGION(RR_SHADOW_TEMPLE_ENTRYWAY)
DEFINE_RANDOMIZER_REGION(RR_BOTTOM_OF_THE_WELL_ENTRYWAY)
DEFINE_RANDOMIZER_REGION(RR_ICE_CAVERN_ENTRYWAY)
DEFINE_RANDOMIZER_REGION(RR_GERUDO_TRAINING_GROUND_ENTRYWAY)
DEFINE_RANDOMIZER_REGION(RR_GANONS_CASTLE_ENTRYWAY)
DEFINE_RANDOMIZER_REGION(RR_DEKU_TREE_LOBBY)
DEFINE_RANDOMIZER_REGION(RR_DEKU_TREE_2F_MIDDLE_ROOM)
DEFINE_RANDOMIZER_REGION(RR_DEKU_TREE_SLINGSHOT_ROOM)
DEFINE_RANDOMIZER_REGION(RR_DEKU_TREE_COMPASS_ROOM)
DEFINE_RANDOMIZER_REGION(RR_DEKU_TREE_BASEMENT_LOWER)
DEFINE_RANDOMIZER_REGION(RR_DEKU_TREE_BASEMENT_SCRUB_ROOM)
DEFINE_RANDOMIZER_REGION(RR_DEKU_TREE_BASEMENT_WATER_ROOM_FRONT)
DEFINE_RANDOMIZER_REGION(RR_DEKU_TREE_BASEMENT_WATER_ROOM_BACK)
DEFINE_RANDOMIZER_REGION(RR_DEKU_TREE_BASEMENT_TORCH_ROOM)
DEFINE_RANDOMIZER_REGION(RR_DEKU_TREE_BASEMENT_BACK_LOBBY)
DEFINE_RANDOMIZER_REGION(RR_DEKU_TREE_BASEMENT_BACK_ROOM)
DEFINE_RANDOMIZER_REGION(RR_DEKU_TREE_BASEMENT_UPPER)
DEFINE_RANDOMIZER_REGION(RR_DEKU_TREE_OUTSIDE_BOSS_ROOM)
DEFINE_RANDOMIZER_REGION(RR_DEKU_TREE_MQ_1F)
DEFINE_RANDOMIZER_REGION(RR_DEKU_TREE_MQ_2F)
DEFINE_RANDOMIZER_REGION(RR_DEKU_TREE_MQ_3F)
DEFINE_RANDOMIZER_REGION(RR_DEKU_TREE_MQ_EYE_TARGET_ROOM)
DEFINE_RANDOMIZER_REGION(RR_DEKU_TREE_MQ_COMPASS_ROOM)
DEFINE_RANDOMIZER_REGION(RR_DEKU_TREE_MQ_PAST_BOULDER_VINES)
DEFINE_RANDOMIZER_REGION(RR_DEKU_TREE_MQ_BASEMENT)
DEFINE_RANDOMIZER_REGION(RR_DEKU_TREE_MQ_BASEMENT_SOUTHEAST_ROOM)
DEFINE_RANDOMIZER_REGION(RR_DEKU_TREE_MQ_BASEMENT_WATER_ROOM_FRONT)
DEFINE_RANDOMIZER_REGION(RR_DEKU_TREE_MQ_BASEMENT_WATER_ROOM_BACK)
DEFINE_RANDOMIZER_REGION(RR_DEKU_TREE_MQ_BASEMENT_SOUTHWEST_ROOM)
DEFINE_RANDOMIZER_REGION(RR_DEKU_TREE_MQ_BASEMENT_GRAVE_ROOM)
DEFINE_RANDOMIZER_REGION(RR_DEKU_TREE_MQ_BASEMENT_BACK_ROOM)
DEFINE_RANDOMIZER_REGION(RR_DEKU_TREE_MQ_BASEMENT_LEDGE)
DEFINE_RANDOMIZER_REGION(RR_DEKU_TREE_MQ_OUTSIDE_BOSS_ROOM)
DEFINE_RANDOMIZER_REGION(RR_DEKU_TREE_BOSS_ENTRYWAY)
DEFINE_RANDOMIZER_REGION(RR_DEKU_TREE_BOSS_EXIT)
DEFINE_RANDOMIZER_REGION(RR_DEKU_TREE_BOSS_ROOM)
DEFINE_RANDOMIZER_REGION(RR_DODONGOS_CAVERN_BEGINNING)
DEFINE_RANDOMIZER_REGION(RR_DODONGOS_CAVERN_LOBBY)
DEFINE_RANDOMIZER_REGION(RR_DODONGOS_CAVERN_LOBBY_SWITCH)
DEFINE_RANDOMIZER_REGION(RR_DODONGOS_CAVERN_SE_CORRIDOR)
DEFINE_RANDOMIZER_REGION(RR_DODONGOS_CAVERN_SE_ROOM)
DEFINE_RANDOMIZER_REGION(RR_DODONGOS_CAVERN_NEAR_LOWER_LIZALFOS)
DEFINE_RANDOMIZER_REGION(RR_DODONGOS_CAVERN_LOWER_LIZALFOS)
DEFINE_RANDOMIZER_REGION(RR_DODONGOS_CAVERN_DODONGO_ROOM)
DEFINE_RANDOMIZER_REGION(RR_DODONGOS_CAVERN_NEAR_DODONGO_ROOM)
DEFINE_RANDOMIZER_REGION(RR_DODONGOS_CAVERN_STAIRS_LOWER)
DEFINE_RANDOMIZER_REGION(RR_DODONGOS_CAVERN_STAIRS_UPPER)
DEFINE_RANDOMIZER_REGION(RR_DODONGOS_CAVERN_COMPASS_ROOM)
DEFINE_RANDOMIZER_REGION(RR_DODONGOS_CAVERN_ARMOS_ROOM)
DEFINE_RANDOMIZER_REGION(RR_DODONGOS_CAVERN_BOMB_ROOM_LOWER)
DEFINE_RANDOMIZER_REGION(RR_DODONGOS_CAVERN_2F_SIDE_ROOM)
DEFINE_RANDOMIZER_REGION(RR_DODONGOS_CAVERN_FIRST_SLINGSHOT_ROOM)
DEFINE_RANDOMIZER_REGION(RR_DODONGOS_CAVERN_UPPER_LIZALFOS)
DEFINE_RANDOMIZER_REGION(RR_DODONGOS_CAVERN_SECOND_SLINGSHOT_ROOM)
DEFINE_RANDOMIZER_REGION(RR_DODONGOS_CAVERN_BOMB_ROOM_UPPER)
DEFINE_RANDOMIZER_REGION(RR_DODONGOS_CAVERN_FAR_BRIDGE)
DEFINE_RANDOMIZER_REGION(RR_DODONGOS_CAVERN_BOSS_AREA)
DEFINE_RANDOMIZER_REGION(RR_DODONGOS_CAVERN_BACK_ROOM)
DEFINE_RANDOMIZER_REGION(RR_DODONGOS_CAVERN_MQ_BEGINNING)
DEFINE_RANDOMIZER_REGION(RR_DODONGOS_CAVERN_MQ_LOBBY)
DEFINE_RANDOMIZER_REGION(RR_DODONGOS_CAVERN_MQ_GOSSIP_STONE)
DEFINE_RANDOMIZER_REGION(RR_DODONGOS_CAVERN_MQ_MOUTH_SIDE_BRIDGE)
DEFINE_RANDOMIZER_REGION(RR_DODONGOS_CAVERN_MQ_STAIRS_PAST_MUD_WALL)
DEFINE_RANDOMIZER_REGION(RR_DODONGOS_CAVERN_MQ_STAIRS_LOWER)
DEFINE_RANDOMIZER_REGION(RR_DODONGOS_CAVERN_MQ_STAIRS_UPPER)
DEFINE_RANDOMIZER_REGION(RR_DODONGOS_CAVERN_MQ_STAIRS_PAST_BIG_SKULLTULAS)
DEFINE_RANDOMIZER_REGION(RR_DODONGOS_CAVERN_MQ_DODONGO_ROOM)
DEFINE_RANDOMIZER_REGION(RR_DODONGOS_CAVERN_MQ_TORCH_PUZZLE_LOWER)
DEFINE_RANDOMIZER_REGION(RR_DODONGOS_CAVERN_MQ_BIG_BLOCK_ROOM)
DEFINE_RANDOMIZER_REGION(RR_DODONGOS_CAVERN_MQ_LARVAE_ROOM)
DEFINE_RANDOMIZER_REGION(RR_DODONGOS_CAVERN_MQ_UPPER_LIZALFOS)
DEFINE_RANDOMIZER_REGION(RR_DODONGOS_CAVERN_MQ_TWO_FIRES_ROOM)
DEFINE_RANDOMIZER_REGION(RR_DODONGOS_CAVERN_MQ_TORCH_PUZZLE_UPPER)
DEFINE_RANDOMIZER_REGION(RR_DODONGOS_CAVERN_MQ_LOWER_RIGHT_SIDE)
DEFINE_RANDOMIZER_REGION(RR_DODONGOS_CAVERN_MQ_LOWER_LIZALFOS)
DEFINE_RANDOMIZER_REGION(RR_DODONGOS_CAVERN_MQ_POES_ROOM)
DEFINE_RANDOMIZER_REGION(RR_DODONGOS_CAVERN_MQ_MAD_SCRUB_ROOM)
DEFINE_RANDOMIZER_REGION(RR_DODONGOS_CAVERN_MQ_BEHIND_MOUTH)
DEFINE_RANDOMIZER_REGION(RR_DODONGOS_CAVERN_MQ_BACK_BEHIND_FIRE)
DEFINE_RANDOMIZER_REGION(RR_DODONGOS_CAVERN_MQ_BACK_SWITCH_GRAVE)
DEFINE_RANDOMIZER_REGION(RR_DODONGOS_CAVERN_BOSS_ENTRYWAY)
DEFINE_RANDOMIZER_REGION(RR_DODONGOS_CAVERN_BOSS_EXIT)
DEFINE_RANDOMIZER_REGION(RR_DODONGOS_CAVERN_BOSS_ROOM)
DEFINE_RANDOMIZER_REGION(RR_JABU_JABUS_BELLY_BEGINNING)
DEFINE_RANDOMIZER_REGION(RR_JABU_JABUS_BELLY_MAIN)
DEFINE_RANDOMIZER_REGION(RR_JABU_JABUS_BELLY_B1_NORTH)
DEFINE_RANDOMIZER_REGION(RR_JABU_JABUS_BELLY_WATER_SWITCH_ROOM_SOUTH)
DEFINE_RANDOMIZER_REGION(RR_JABU_JABUS_BELLY_WATER_SWITCH_ROOM_LEDGE)
DEFINE_RANDOMIZER_REGION(RR_JABU_JABUS_BELLY_COMPASS_ROOM)
DEFINE_RANDOMIZER_REGION(RR_JABU_JABUS_BELLY_BLUE_TENTACLE)
DEFINE_RANDOMIZER_REGION(RR_JABU_JABUS_BELLY_GREEN_TENTACLE)
DEFINE_RANDOMIZER_REGION(RR_JABU_JABUS_BELLY_BIGOCTO_LEDGE)
DEFINE_RANDOMIZER_REGION(RR_JABU_JABUS_BELLY_ABOVE_BIGOCTO)
DEFINE_RANDOMIZER_REGION(RR_JABU_JABUS_BELLY_LIFT_UPPER)
DEFINE_RANDOMIZER_REGION(RR_JABU_JABUS_BELLY_NEAR_BOSS_ROOM)
DEFINE_RANDOMIZER_REGION(RR_JABU_JABUS_BELLY_MQ_BEGINNING)
DEFINE_RANDOMIZER_REGION(RR_JABU_JABUS_BELLY_MQ_LIFT_ROOM)
DEFINE_RANDOMIZER_REGION(RR_JABU_JABUS_BELLY_MQ_LIFT_ROOM_EAST_LEDGE)
DEFINE_RANDOMIZER_REGION(RR_JABU_JABUS_BELLY_MQ_UNDERWATER_ALCOVE)
DEFINE_RANDOMIZER_REGION(RR_JABU_JABUS_BELLY_MQ_HOLES_ROOM)
DEFINE_RANDOMIZER_REGION(RR_JABU_JABUS_BELLY_MQ_WATER_SWITCH_ROOM)
DEFINE_RANDOMIZER_REGION(RR_JABU_JABUS_BELLY_MQ_FORKED_CORRIDOR)
DEFINE_RANDOMIZER_REGION(RR_JABU_JABUS_BELLY_MQ_WEST_FORKED_ROOMS)
DEFINE_RANDOMIZER_REGION(RR_JABU_JABUS_BELLY_MQ_INVISIBLE_KEESE_ROOM)
DEFINE_RANDOMIZER_REGION(RR_JABU_JABUS_BELLY_MQ_PAST_OCTO)
DEFINE_RANDOMIZER_REGION(RR_JABU_JABUS_BELLY_MQ_EAST_ROOM)
DEFINE_RANDOMIZER_REGION(RR_JABU_JABUS_BELLY_BOSS_ENTRYWAY)
DEFINE_RANDOMIZER_REGION(RR_JABU_JABUS_BELLY_BOSS_EXIT)
DEFINE_RANDOMIZER_REGION(RR_JABU_JABUS_BELLY_BOSS_ROOM)
DEFINE_RANDOMIZER_REGION(RR_FOREST_TEMPLE_FIRST_ROOM)
DEFINE_RANDOMIZER_REGION(RR_FOREST_TEMPLE_SOUTH_CORRIDOR)
DEFINE_RANDOMIZER_REGION(RR_FOREST_TEMPLE_LOBBY)
DEFINE_RANDOMIZER_REGION(RR_FOREST_TEMPLE_NORTH_CORRIDOR)
DEFINE_RANDOMIZER_REGION(RR_FOREST_TEMPLE_LOWER_STALFOS)
DEFINE_RANDOMIZER_REGION(RR_FOREST_TEMPLE_NW_OUTDOORS_LOWER)
DEFINE_RANDOMIZER_REGION(RR_FOREST_TEMPLE_NW_OUTDOORS_UPPER)
DEFINE_RANDOMIZER_REGION(RR_FOREST_TEMPLE_NE_OUTDOORS_LOWER)
DEFINE_RANDOMIZER_REGION(RR_FOREST_TEMPLE_NE_OUTDOORS_UPPER)
DEFINE_RANDOMIZER_REGION(RR_FOREST_TEMPLE_MAP_ROOM)
DEFINE_RANDOMIZER_REGION(RR_FOREST_TEMPLE_SEWER)
DEFINE_RANDOMIZER_REGION(RR_FOREST_TEMPLE_BELOW_BOSS_KEY_CHEST)
DEFINE_RANDOMIZER_REGION(RR_FOREST_TEMPLE_FLOORMASTER_ROOM)
DEFINE_RANDOMIZER_REGION(RR_FOREST_TEMPLE_WEST_CORRIDOR)
DEFINE_RANDOMIZER_REGION(RR_FOREST_TEMPLE_BLOCK_PUSH_ROOM)
DEFINE_RANDOMIZER_REGION(RR_FOREST_TEMPLE_NW_CORRIDOR_TWISTED)
DEFINE_RANDOMIZER_REGION(RR_FOREST_TEMPLE_NW_CORRIDOR_STRAIGHTENED)
DEFINE_RANDOMIZER_REGION(RR_FOREST_TEMPLE_RED_POE_ROOM)
DEFINE_RANDOMIZER_REGION(RR_FOREST_TEMPLE_UPPER_STALFOS)
DEFINE_RANDOMIZER_REGION(RR_FOREST_TEMPLE_BLUE_POE_ROOM)
DEFINE_RANDOMIZER_REGION(RR_FOREST_TEMPLE_NE_CORRIDOR_STRAIGHTENED)
DEFINE_RANDOMIZER_REGION(RR_FOREST_TEMPLE_NE_CORRIDOR_TWISTED)
DEFINE_RANDOMIZER_REGION(RR_FOREST_TEMPLE_FROZEN_EYE_ROOM)
DEFINE_RANDOMIZER_REGION(RR_FOREST_TEMPLE_FALLING_ROOM)
DEFINE_RANDOMIZER_REGION(RR_FOREST_TEMPLE_GREEN_POE_ROOM)
DEFINE_RANDOMIZER_REGION(RR_FOREST_TEMPLE_EAST_CORRIDOR)
DEFINE_RANDOMIZER_REGION(RR_FOREST_TEMPLE_BOSS_REGION)
DEFINE_RANDOMIZER_REGION(RR_FOREST_TEMPLE_MQ_LOBBY)
DEFINE_RANDOMIZER_REGION(RR_FOREST_TEMPLE_MQ_CENTRAL_AREA)
DEFINE_RANDOMIZER_REGION(RR_FOREST_TEMPLE_MQ_WOLFOS_ROOM)
DEFINE_RANDOMIZER_REGION(RR_FOREST_TEMPLE_MQ_LOWER_BLOCK_PUZZLE)
DEFINE_RANDOMIZER_REGION(RR_FOREST_TEMPLE_MQ_MIDDLE_BLOCK_PUZZLE)
DEFINE_RANDOMIZER_REGION(RR_FOREST_TEMPLE_MQ_UPPER_BLOCK_PUZZLE)
DEFINE_RANDOMIZER_REGION(RR_FOREST_TEMPLE_MQ_STRAIGHT_HALLWAY)
DEFINE_RANDOMIZER_REGION(RR_FOREST_TEMPLE_MQ_FLOORMASTER_ROOM)
DEFINE_RANDOMIZER_REGION(RR_FOREST_TEMPLE_MQ_OUTDOOR_LEDGE)
DEFINE_RANDOMIZER_REGION(RR_FOREST_TEMPLE_MQ_NW_OUTDOORS)
DEFINE_RANDOMIZER_REGION(RR_FOREST_TEMPLE_MQ_NE_OUTDOORS)
DEFINE_RANDOMIZER_REGION(RR_FOREST_TEMPLE_MQ_OUTDOORS_TOP_LEDGES)
DEFINE_RANDOMIZER_REGION(RR_FOREST_TEMPLE_MQ_NE_OUTDOORS_LEDGE)
DEFINE_RANDOMIZER_REGION(RR_FOREST_TEMPLE_MQ_JOELLE_ROOM)
DEFINE_RANDOMIZER_REGION(RR_FOREST_TEMPLE_MQ_3_STALFOS_ROOM)
DEFINE_RANDOMIZER_REGION(RR_FOREST_TEMPLE_MQ_BETH_ROOM)
DEFINE_RANDOMIZER_REGION(RR_FOREST_TEMPLE_MQ_TORCH_SHOT_ROOM)
DEFINE_RANDOMIZER_REGION(RR_FOREST_TEMPLE_MQ_FALLING_ROOM)
DEFINE_RANDOMIZER_REGION(RR_FOREST_TEMPLE_MQ_AMY_ROOM)
DEFINE_RANDOMIZER_REGION(RR_FOREST_TEMPLE_MQ_BASEMENT)
DEFINE_RANDOMIZER_REGION(RR_FOREST_TEMPLE_MQ_BASEMENT_POT_ROOM)
DEFINE_RANDOMIZER_REGION(RR_FOREST_TEMPLE_MQ_BOSS_REGION)
DEFINE_RANDOMIZER_REGION(RR_FOREST_TEMPLE_BOSS_ENTRYWAY)
DEFINE_RANDOMIZER_REGION(RR_FOREST_TEMPLE_BOSS_ROOM)
DEFINE_RANDOMIZER_REGION(RR_FIRE_TEMPLE_FIRST_ROOM)
DEFINE_RANDOMIZER_REGION(RR_FIRE_TEMPLE_NEAR_BOSS_ROOM)
DEFINE_RANDOMIZER_REGION(RR_FIRE_TEMPLE_LOOP_ENEMIES)
DEFINE_RANDOMIZER_REGION(RR_FIRE_TEMPLE_LOOP_TILES)
DEFINE_RANDOMIZER_REGION(RR_FIRE_TEMPLE_LOOP_FLARE_DANCER)
DEFINE_RANDOMIZER_REGION(RR_FIRE_TEMPLE_LOOP_HAMMER_SWITCH)
DEFINE_RANDOMIZER_REGION(RR_FIRE_TEMPLE_LOOP_GORON_ROOM)
DEFINE_RANDOMIZER_REGION(RR_FIRE_TEMPLE_LOOP_EXIT)
DEFINE_RANDOMIZER_REGION(RR_FIRE_TEMPLE_BIG_LAVA_ROOM)
DEFINE_RANDOMIZER_REGION(RR_FIRE_TEMPLE_BIG_LAVA_ROOM_NORTH_GORON)
DEFINE_RANDOMIZER_REGION(RR_FIRE_TEMPLE_BIG_LAVA_ROOM_NORTH_TILES)
DEFINE_RANDOMIZER_REGION(RR_FIRE_TEMPLE_BIG_LAVA_ROOM_SOUTH_GORON)
DEFINE_RANDOMIZER_REGION(RR_FIRE_TEMPLE_FIRE_PILLAR_ROOM)
DEFINE_RANDOMIZER_REGION(RR_FIRE_TEMPLE_SHORTCUT_ROOM)
DEFINE_RANDOMIZER_REGION(RR_FIRE_TEMPLE_SHORTCUT_CLIMB)
DEFINE_RANDOMIZER_REGION(RR_FIRE_TEMPLE_BOULDER_MAZE_LOWER)
DEFINE_RANDOMIZER_REGION(RR_FIRE_TEMPLE_BOULDER_MAZE_LOWER_SIDE_ROOM)
DEFINE_RANDOMIZER_REGION(RR_FIRE_TEMPLE_EAST_CENTRAL_ROOM)
DEFINE_RANDOMIZER_REGION(RR_FIRE_TEMPLE_FIRE_WALL_CHASE)
DEFINE_RANDOMIZER_REGION(RR_FIRE_TEMPLE_MAP_AREA)
DEFINE_RANDOMIZER_REGION(RR_FIRE_TEMPLE_BOULDER_MAZE_UPPER)
DEFINE_RANDOMIZER_REGION(RR_FIRE_TEMPLE_SCARECROW_ROOM)
DEFINE_RANDOMIZER_REGION(RR_FIRE_TEMPLE_EAST_PEAK)
DEFINE_RANDOMIZER_REGION(RR_FIRE_TEMPLE_CORRIDOR)
DEFINE_RANDOMIZER_REGION(RR_FIRE_TEMPLE_FIRE_MAZE_ROOM)
DEFINE_RANDOMIZER_REGION(RR_FIRE_TEMPLE_FIRE_MAZE_UPPER)
DEFINE_RANDOMIZER_REGION(RR_FIRE_TEMPLE_FIRE_MAZE_SIDE_ROOM)
DEFINE_RANDOMIZER_REGION(RR_FIRE_TEMPLE_WEST_CENTRAL_LOWER)
DEFINE_RANDOMIZER_REGION(RR_FIRE_TEMPLE_WEST_CENTRAL_UPPER)
DEFINE_RANDOMIZER_REGION(RR_FIRE_TEMPLE_LATE_FIRE_MAZE)
DEFINE_RANDOMIZER_REGION(RR_FIRE_TEMPLE_UPPER_FLARE_DANCER)
DEFINE_RANDOMIZER_REGION(RR_FIRE_TEMPLE_WEST_CLIMB)
DEFINE_RANDOMIZER_REGION(RR_FIRE_TEMPLE_WEST_PEAK)
DEFINE_RANDOMIZER_REGION(RR_FIRE_TEMPLE_HAMMER_RETURN_PATH)
DEFINE_RANDOMIZER_REGION(RR_FIRE_TEMPLE_ABOVE_FIRE_MAZE)
DEFINE_RANDOMIZER_REGION(RR_FIRE_TEMPLE_MQ_FIRST_ROOM_LOWER)
DEFINE_RANDOMIZER_REGION(RR_FIRE_TEMPLE_MQ_FIRST_ROOM_UPPER)
DEFINE_RANDOMIZER_REGION(RR_FIRE_TEMPLE_MQ_MAP_ROOM_SOUTH)
DEFINE_RANDOMIZER_REGION(RR_FIRE_TEMPLE_MQ_STALFOS_ROOM)
DEFINE_RANDOMIZER_REGION(RR_FIRE_TEMPLE_MQ_IRON_KNUCKLE_ROOM)
DEFINE_RANDOMIZER_REGION(RR_FIRE_TEMPLE_MQ_LOWER_FLARE_DANCER)
DEFINE_RANDOMIZER_REGION(RR_FIRE_TEMPLE_MQ_MAP_ROOM_NORTH)
DEFINE_RANDOMIZER_REGION(RR_FIRE_TEMPLE_MQ_MAP_ROOM_CAGE)
DEFINE_RANDOMIZER_REGION(RR_FIRE_TEMPLE_MQ_NEAR_BOSS_ROOM)
DEFINE_RANDOMIZER_REGION(RR_FIRE_TEMPLE_MQ_NEAR_BOSS_ROOM_NORTH)
DEFINE_RANDOMIZER_REGION(RR_FIRE_TEMPLE_MQ_BIG_LAVA_ROOM)
DEFINE_RANDOMIZER_REGION(RR_FIRE_TEMPLE_MQ_TORCH_FIREWALL_ROOM)
DEFINE_RANDOMIZER_REGION(RR_FIRE_TEMPLE_MQ_ELEVATOR_ROOM)
DEFINE_RANDOMIZER_REGION(RR_FIRE_TEMPLE_MQ_BIG_TORCH_ROOM)
DEFINE_RANDOMIZER_REGION(RR_FIRE_TEMPLE_MQ_LOWER_MAZE)
DEFINE_RANDOMIZER_REGION(RR_FIRE_TEMPLE_MQ_LOWER_MAZE_CRATE_CAGE)
DEFINE_RANDOMIZER_REGION(RR_FIRE_TEMPLE_MQ_UPPER_MAZE)
DEFINE_RANDOMIZER_REGION(RR_FIRE_TEMPLE_MQ_UPPER_MAZE_BOX_CAGE)
DEFINE_RANDOMIZER_REGION(RR_FIRE_TEMPLE_MQ_MAZE_SHORTCUT)
DEFINE_RANDOMIZER_REGION(RR_FIRE_TEMPLE_MQ_MAZE_SHORTCUT_CAGE)
DEFINE_RANDOMIZER_REGION(RR_FIRE_TEMPLE_MQ_BURNING_BLOCK_CLIMB)
DEFINE_RANDOMIZER_REGION(RR_FIRE_TEMPLE_MQ_NARROW_PATH_ROOM)
DEFINE_RANDOMIZER_REGION(RR_FIRE_TEMPLE_MQ_HIGH_TORCH_ROOM)
DEFINE_RANDOMIZER_REGION(RR_FIRE_TEMPLE_MQ_SOUTH_FIRE_MAZE)
DEFINE_RANDOMIZER_REGION(RR_FIRE_TEMPLE_MQ_FIRE_MAZE_PLATFORMS)
DEFINE_RANDOMIZER_REGION(RR_FIRE_TEMPLE_MQ_NORTH_FIRE_MAZE)
DEFINE_RANDOMIZER_REGION(RR_FIRE_TEMPLE_MQ_WEST_FIRE_MAZE)
DEFINE_RANDOMIZER_REGION(RR_FIRE_TEMPLE_MQ_FIRE_MAZE_PAST_WALL)
DEFINE_RANDOMIZER_REGION(RR_FIRE_TEMPLE_MQ_UPPER_FLARE_DANCER)
DEFINE_RANDOMIZER_REGION(RR_FIRE_TEMPLE_MQ_SCARECROW_ROOM)
DEFINE_RANDOMIZER_REGION(RR_FIRE_TEMPLE_MQ_COLLAPSED_STAIRS)
DEFINE_RANDOMIZER_REGION(RR_FIRE_TEMPLE_BOSS_ENTRYWAY)
DEFINE_RANDOMIZER_REGION(RR_FIRE_TEMPLE_BOSS_ROOM)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_LOBBY)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_EAST_LOWER)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_MAP_ROOM)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_CRACKED_WALL)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_TORCH_ROOM)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_NORTH_LOWER)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_BOULDERS_LOWER)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_BLOCK_ROOM)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_JETS_ROOM)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_BOULDERS_UPPER)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_BOSS_KEY_ROOM)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_SOUTH_LOWER)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_WEST_LOWER)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_DRAGON_ROOM)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_CENTRAL_PILLAR_LOWER)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_CENTRAL_PILLAR_UPPER)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_CENTRAL_PILLAR_BASEMENT)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_EAST_MIDDLE)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_WEST_MIDDLE)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_HIGH_WATER)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_BLOCK_CORRIDOR)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_FALLING_PLATFORM_ROOM)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_DRAGON_PILLARS_ROOM)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_DARK_LINK_ROOM)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_LONGSHOT_ROOM)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_RIVER)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_PRE_BOSS_ROOM)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_MQ_3F_SOUTH_LEDGE)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_MQ_MAIN)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_MQ_3F_CENTRAL)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_MQ_2F_CENTRAL)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_MQ_2F_CENTRAL_HIGH)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_MQ_HIGH_EMBLEM)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_MQ_3F_NORTH_LEDGE)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_MQ_BOSS_DOOR)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_MQ_EAST_TOWER)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_MQ_EAST_TOWER_1F_ROOM)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_MQ_CENTRAL_PILLAR_1F)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_MQ_CENTRAL_PILLAR_2F)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_MQ_CENTRAL_PILLAR_HIGH)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_MQ_CENTRAL_PILLAR_B1)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_MQ_CENTRAL_PILLAR_B1_FINAL)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_MQ_BEHIND_BLUE_SWITCH_2F)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_MQ_BEHIND_BLUE_SWITCH_3F)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_MQ_STORAGE_ROOM)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_MQ_LIZALFOS_HALLWAY)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_MQ_LIZALFOS_CAGE)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_MQ_3F_EAST_LEDGE)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_MQ_WATERFALL)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_MQ_STALFOS_PIT)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_MQ_STALFOS_PIT_POTS)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_MQ_STALFOS_PIT_UPPER)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_MQ_AFTER_DARK_LINK)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_MQ_RIVER_SKULL)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_MQ_RIVER_POTS)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_MQ_DRAGON_ROOM_DOOR)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_MQ_DRAGON_ROOM_TUNNEL)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_MQ_DRAGON_ROOM_ALCOVE)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_MQ_BOSS_KEY_ROOM_SWITCH)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_MQ_BOSS_KEY_ROOM_PIT)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_MQ_BOSS_KEY_ROOM_CHEST)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_MQ_B1_GATE_SWITCH)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_MQ_TRIANGLE_TORCH_ROOM)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_MQ_TRIANGLE_TORCH_CAGE)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_MQ_CRATES_WHIRLPOOLS_ROOM)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_MQ_SINGLE_STALFOS_ROOM)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_MQ_4_TORCH_ROOM)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_MQ_DODONGO_ROOM)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_MQ_CRATES_WHIRLPOOLS_CAGE)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_BOSS_ENTRYWAY)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE_BOSS_ROOM)
DEFINE_RANDOMIZER_REGION(RR_SPIRIT_TEMPLE_LOBBY)
DEFINE_RANDOMIZER_REGION(RR_SPIRIT_TEMPLE_CHILD)
DEFINE_RANDOMIZER_REGION(RR_SPIRIT_TEMPLE_CHILD_CLIMB)
DEFINE_RANDOMIZER_REGION(RR_SPIRIT_TEMPLE_EARLY_ADULT)
DEFINE_RANDOMIZER_REGION(RR_SPIRIT_TEMPLE_CENTRAL_CHAMBER)
DEFINE_RANDOMIZER_REGION(RR_SPIRIT_TEMPLE_OUTDOOR_HANDS)
DEFINE_RANDOMIZER_REGION(RR_SPIRIT_TEMPLE_BEYOND_CENTRAL_LOCKED_DOOR)
DEFINE_RANDOMIZER_REGION(RR_SPIRIT_TEMPLE_BEYOND_FINAL_LOCKED_DOOR)
DEFINE_RANDOMIZER_REGION(RR_SPIRIT_TEMPLE_INSIDE_STATUE_HEAD)
DEFINE_RANDOMIZER_REGION(RR_SPIRIT_TEMPLE_MQ_LOBBY)
DEFINE_RANDOMIZER_REGION(RR_SPIRIT_TEMPLE_MQ_1F_WEST)
DEFINE_RANDOMIZER_REGION(RR_SPIRIT_TEMPLE_MQ_1F_GIBDO_ROOM_NORTH)
DEFINE_RANDOMIZER_REGION(RR_SPIRIT_TEMPLE_MQ_1F_GIBDO_ROOM_SOUTH)
DEFINE_RANDOMIZER_REGION(RR_SPIRIT_TEMPLE_MQ_TURNTABLE_ROOM)
DEFINE_RANDOMIZER_REGION(RR_SPIRIT_TEMPLE_MQ_MAP_ROOM_NORTH)
DEFINE_RANDOMIZER_REGION(RR_SPIRIT_TEMPLE_MQ_MAP_ROOM_SOUTH)
DEFINE_RANDOMIZER_REGION(RR_SPIRIT_TEMPLE_MQ_WEST_1F_RUSTED_SWITCH)
DEFINE_RANDOMIZER_REGION(RR_SPIRIT_TEMPLE_MQ_UNDER_LIKE_LIKE)
DEFINE_RANDOMIZER_REGION(RR_SPIRIT_TEMPLE_MQ_BROKEN_WALL_ROOM)
DEFINE_RANDOMIZER_REGION(RR_SPIRIT_TEMPLE_MQ_STATUE_ROOM)
DEFINE_RANDOMIZER_REGION(RR_SPIRIT_TEMPLE_MQ_SUN_BLOCK_ROOM)
DEFINE_RANDOMIZER_REGION(RR_SPIRIT_TEMPLE_MQ_WEST_IRON_KNUCKLE)
DEFINE_RANDOMIZER_REGION(RR_SPIRIT_TEMPLE_MQ_SILVER_GAUNTLETS_HAND)
DEFINE_RANDOMIZER_REGION(RR_SPIRIT_TEMPLE_MQ_BIG_BLOCK_ROOM_SOUTH)
DEFINE_RANDOMIZER_REGION(RR_SPIRIT_TEMPLE_MQ_BIG_BLOCK_ROOM_NORTH)
DEFINE_RANDOMIZER_REGION(RR_SPIRIT_TEMPLE_MQ_STATUE_ROOM_EAST)
DEFINE_RANDOMIZER_REGION(RR_SPIRIT_TEMPLE_MQ_THREE_SUNS_ROOM_2F)
DEFINE_RANDOMIZER_REGION(RR_SPIRIT_TEMPLE_MQ_THREE_SUNS_ROOM_1F)
DEFINE_RANDOMIZER_REGION(RR_SPIRIT_TEMPLE_MQ_1F_EAST)
DEFINE_RANDOMIZER_REGION(RR_SPIRIT_TEMPLE_MQ_LEEVER_ROOM)
DEFINE_RANDOMIZER_REGION(RR_SPIRIT_TEMPLE_MQ_SYMPHONY_ROOM)
DEFINE_RANDOMIZER_REGION(RR_SPIRIT_TEMPLE_MQ_AFTER_SYMPHONY_ROOM)
DEFINE_RANDOMIZER_REGION(RR_SPIRIT_TEMPLE_MQ_FOUR_BEAMOS_ROOM)
DEFINE_RANDOMIZER_REGION(RR_SPIRIT_TEMPLE_MQ_SOT_SUN_ROOM)
DEFINE_RANDOMIZER_REGION(RR_SPIRIT_TEMPLE_MQ_EAST_STAIRS_TO_HAND)
DEFINE_RANDOMIZER_REGION(RR_SPIRIT_TEMPLE_MQ_EAST_IRON_KNUCKLE)
DEFINE_RANDOMIZER_REGION(RR_SPIRIT_TEMPLE_MQ_MIRROR_SHIELD_HAND)
DEFINE_RANDOMIZER_REGION(RR_SPIRIT_TEMPLE_MQ_3F_GIBDO_ROOM)
DEFINE_RANDOMIZER_REGION(RR_SPIRIT_TEMPLE_MQ_BIG_WALL)
DEFINE_RANDOMIZER_REGION(RR_SPIRIT_TEMPLE_MQ_4F_CENTRAL)
DEFINE_RANDOMIZER_REGION(RR_SPIRIT_TEMPLE_MQ_NINE_CHAIRS_ROOM)
DEFINE_RANDOMIZER_REGION(RR_SPIRIT_TEMPLE_MQ_BIG_MIRROR_ROOM)
DEFINE_RANDOMIZER_REGION(RR_SPIRIT_TEMPLE_MQ_BIG_MIRROR_CAVE)
DEFINE_RANDOMIZER_REGION(RR_SPIRIT_TEMPLE_MQ_INSIDE_STATUE_HEAD)
DEFINE_RANDOMIZER_REGION(RR_SPIRIT_TEMPLE_BOSS_ENTRYWAY)
DEFINE_RANDOMIZER_REGION(RR_SPIRIT_TEMPLE_BOSS_ROOM)
DEFINE_RANDOMIZER_REGION(RR_SHADOW_TEMPLE_BEGINNING)
DEFINE_RANDOMIZER_REGION(RR_SHADOW_TEMPLE_FIRST_BEAMOS)
DEFINE_RANDOMIZER_REGION(RR_SHADOW_TEMPLE_HUGE_PIT)
DEFINE_RANDOMIZER_REGION(RR_SHADOW_TEMPLE_WIND_TUNNEL)
DEFINE_RANDOMIZER_REGION(RR_SHADOW_TEMPLE_BEYOND_BOAT)
DEFINE_RANDOMIZER_REGION(RR_SHADOW_TEMPLE_MQ_ENTRYWAY)
DEFINE_RANDOMIZER_REGION(RR_SHADOW_TEMPLE_MQ_BEGINNING)
DEFINE_RANDOMIZER_REGION(RR_SHADOW_TEMPLE_MQ_SPINNER_ROOM)
DEFINE_RANDOMIZER_REGION(RR_SHADOW_TEMPLE_MQ_DEAD_HAND_AREA)
DEFINE_RANDOMIZER_REGION(RR_SHADOW_TEMPLE_MQ_FIRST_BEAMOS)
DEFINE_RANDOMIZER_REGION(RR_SHADOW_TEMPLE_MQ_B2_SPINNING_BLADE_ROOM)
DEFINE_RANDOMIZER_REGION(RR_SHADOW_TEMPLE_MQ_SHORTCUT_PATH)
DEFINE_RANDOMIZER_REGION(RR_SHADOW_TEMPLE_MQ_B2_TO_B3_CORRIDOR)
DEFINE_RANDOMIZER_REGION(RR_SHADOW_TEMPLE_MQ_UPPER_HUGE_PIT)
DEFINE_RANDOMIZER_REGION(RR_SHADOW_TEMPLE_MQ_INVISIBLE_BLADES_ROOM)
DEFINE_RANDOMIZER_REGION(RR_SHADOW_TEMPLE_MQ_LOWER_HUGE_PIT)
DEFINE_RANDOMIZER_REGION(RR_SHADOW_TEMPLE_MQ_STONE_UMBRELLA_ROOM)
DEFINE_RANDOMIZER_REGION(RR_SHADOW_TEMPLE_MQ_UPPER_STONE_UMBRELLA)
DEFINE_RANDOMIZER_REGION(RR_SHADOW_TEMPLE_MQ_FLOOR_SPIKES_ROOM)
DEFINE_RANDOMIZER_REGION(RR_SHADOW_TEMPLE_MQ_STALFOS_ROOM)
DEFINE_RANDOMIZER_REGION(RR_SHADOW_TEMPLE_MQ_WIND_TUNNEL)
DEFINE_RANDOMIZER_REGION(RR_SHADOW_TEMPLE_MQ_WIND_HINT_ROOM)
DEFINE_RANDOMIZER_REGION(RR_SHADOW_TEMPLE_MQ_B4_GIBDO_ROOM)
DEFINE_RANDOMIZER_REGION(RR_SHADOW_TEMPLE_MQ_DOCK)
DEFINE_RANDOMIZER_REGION(RR_SHADOW_TEMPLE_MQ_BEYOND_BOAT)
DEFINE_RANDOMIZER_REGION(RR_SHADOW_TEMPLE_MQ_ACROSS_CHASM)
DEFINE_RANDOMIZER_REGION(RR_SHADOW_TEMPLE_MQ_BOSS_DOOR)
DEFINE_RANDOMIZER_REGION(RR_SHADOW_TEMPLE_MQ_INVISIBLE_MAZE)
DEFINE_RANDOMIZER_REGION(RR_SHADOW_TEMPLE_MQ_SPIKE_WALLS_ROOM)
DEFINE_RANDOMIZER_REGION(RR_SHADOW_TEMPLE_BOSS_ENTRYWAY)
DEFINE_RANDOMIZER_REGION(RR_SHADOW_TEMPLE_BOSS_ROOM)
DEFINE_RANDOMIZER_REGION(RR_BOTTOM_OF_THE_WELL_PERIMETER)
DEFINE_RANDOMIZER_REGION(RR_BOTTOM_OF_THE_WELL_BEHIND_FAKE_WALLS)
DEFINE_RANDOMIZER_REGION(RR_BOTTOM_OF_THE_WELL_SOUTHWEST_ROOM)
DEFINE_RANDOMIZER_REGION(RR_BOTTOM_OF_THE_WELL_KEESE_BEAMOS_ROOM)
DEFINE_RANDOMIZER_REGION(RR_BOTTOM_OF_THE_WELL_LIKE_LIKE_CAGE)
DEFINE_RANDOMIZER_REGION(RR_BOTTOM_OF_THE_WELL_INNER_ROOMS)
DEFINE_RANDOMIZER_REGION(RR_BOTTOM_OF_THE_WELL_COFFIN_ROOM)
DEFINE_RANDOMIZER_REGION(RR_BOTTOM_OF_THE_WELL_DEAD_HAND_ROOM)
DEFINE_RANDOMIZER_REGION(RR_BOTTOM_OF_THE_WELL_BASEMENT)
DEFINE_RANDOMIZER_REGION(RR_BOTTOM_OF_THE_WELL_BASEMENT_USEFUL_BOMB_FLOWERS)
DEFINE_RANDOMIZER_REGION(RR_BOTTOM_OF_THE_WELL_BASEMENT_PLATFORM)
DEFINE_RANDOMIZER_REGION(RR_BOTTOM_OF_THE_WELL_MQ_PERIMETER)
DEFINE_RANDOMIZER_REGION(RR_BOTTOM_OF_THE_WELL_MQ_WEST_ROOM_SWITCH)
DEFINE_RANDOMIZER_REGION(RR_BOTTOM_OF_THE_WELL_MQ_COFFIN_ROOM)
DEFINE_RANDOMIZER_REGION(RR_BOTTOM_OF_THE_WELL_MQ_LOCKED_CAGE)
DEFINE_RANDOMIZER_REGION(RR_BOTTOM_OF_THE_WELL_MQ_DEAD_HAND_ROOM)
DEFINE_RANDOMIZER_REGION(RR_BOTTOM_OF_THE_WELL_MQ_MIDDLE)
DEFINE_RANDOMIZER_REGION(RR_BOTTOM_OF_THE_WELL_MQ_BASEMENT)
DEFINE_RANDOMIZER_REGION(RR_BOTTOM_OF_THE_WELL_MQ_BASEMENT_SWITCH_PLATFORM)
DEFINE_RANDOMIZER_REGION(RR_ICE_CAVERN_BEGINNING)
DEFINE_RANDOMIZER_REGION(RR_ICE_CAVERN_MAIN)
DEFINE_RANDOMIZER_REGION(RR_ICE_CAVERN_MQ_BEGINNING)
DEFINE_RANDOMIZER_REGION(RR_ICE_CAVERN_MQ_HUB)
DEFINE_RANDOMIZER_REGION(RR_ICE_CAVERN_MQ_MAP_ROOM)
DEFINE_RANDOMIZER_REGION(RR_ICE_CAVERN_MQ_SCARECROW_ROOM)
DEFINE_RANDOMIZER_REGION(RR_ICE_CAVERN_MQ_STALFOS_ROOM)
DEFINE_RANDOMIZER_REGION(RR_ICE_CAVERN_MQ_WEST_CORRIDOR)
DEFINE_RANDOMIZER_REGION(RR_ICE_CAVERN_MQ_COMPASS_ROOM)
DEFINE_RANDOMIZER_REGION(RR_GERUDO_TRAINING_GROUND_LOBBY)
DEFINE_RANDOMIZER_REGION(RR_GERUDO_TRAINING_GROUND_CENTRAL_MAZE)
DEFINE_RANDOMIZER_REGION(RR_GERUDO_TRAINING_GROUND_CENTRAL_MAZE_RIGHT)
DEFINE_RANDOMIZER_REGION(RR_GERUDO_TRAINING_GROUND_LAVA_ROOM)
DEFINE_RANDOMIZER_REGION(RR_GERUDO_TRAINING_GROUND_HAMMER_ROOM)
DEFINE_RANDOMIZER_REGION(RR_GERUDO_TRAINING_GROUND_EYE_STATUE_LOWER)
DEFINE_RANDOMIZER_REGION(RR_GERUDO_TRAINING_GROUND_EYE_STATUE_UPPER)
DEFINE_RANDOMIZER_REGION(RR_GERUDO_TRAINING_GROUND_HEAVY_BLOCK_ROOM)
DEFINE_RANDOMIZER_REGION(RR_GERUDO_TRAINING_GROUND_LIKE_LIKE_ROOM)
DEFINE_RANDOMIZER_REGION(RR_GERUDO_TRAINING_GROUND_MQ_LOBBY)
DEFINE_RANDOMIZER_REGION(RR_GERUDO_TRAINING_GROUND_MQ_MAZE_HIDDEN_ROOM)
DEFINE_RANDOMIZER_REGION(RR_GERUDO_TRAINING_GROUND_MQ_MAZE_FIRST_LOCK)
DEFINE_RANDOMIZER_REGION(RR_GERUDO_TRAINING_GROUND_MQ_MAZE_CENTER)
DEFINE_RANDOMIZER_REGION(RR_GERUDO_TRAINING_GROUND_MQ_SAND_ROOM)
DEFINE_RANDOMIZER_REGION(RR_GERUDO_TRAINING_GROUND_MQ_LEFT_SIDE)
DEFINE_RANDOMIZER_REGION(RR_GERUDO_TRAINING_GROUND_MQ_STALFOS_ROOM)
DEFINE_RANDOMIZER_REGION(RR_GERUDO_TRAINING_GROUND_MQ_BEHIND_BLOCK)
DEFINE_RANDOMIZER_REGION(RR_GERUDO_TRAINING_GROUND_MQ_STATUE_ROOM_LEDGE)
DEFINE_RANDOMIZER_REGION(RR_GERUDO_TRAINING_GROUND_MQ_MAGENTA_FIRE_ROOM)
DEFINE_RANDOMIZER_REGION(RR_GERUDO_TRAINING_GROUND_MQ_STATUE_ROOM)
DEFINE_RANDOMIZER_REGION(RR_GERUDO_TRAINING_GROUND_MQ_TORCH_SLUG_ROOM)
DEFINE_RANDOMIZER_REGION(RR_GERUDO_TRAINING_GROUND_MQ_SWITCH_LEDGE)
DEFINE_RANDOMIZER_REGION(RR_GERUDO_TRAINING_GROUND_MQ_LEDGE_SIDE_PLATFORMS)
DEFINE_RANDOMIZER_REGION(RR_GERUDO_TRAINING_GROUND_MQ_FURTHEST_PLATFORM)
DEFINE_RANDOMIZER_REGION(RR_GERUDO_TRAINING_GROUND_MQ_TORCH_SIDE_PLATFORMS)
DEFINE_RANDOMIZER_REGION(RR_GERUDO_TRAINING_GROUND_MQ_PLATFORMS_UNLIT_TORCH)
DEFINE_RANDOMIZER_REGION(RR_GERUDO_TRAINING_GROUND_MQ_DINOLFOS_ROOM)
DEFINE_RANDOMIZER_REGION(RR_GERUDO_TRAINING_GROUND_MQ_UNDERWATER)
DEFINE_RANDOMIZER_REGION(RR_GERUDO_TRAINING_GROUND_MQ_MAZE_RIGHT)
DEFINE_RANDOMIZER_REGION(RR_GANONS_CASTLE_LOBBY)
DEFINE_RANDOMIZER_REGION(RR_GANONS_CASTLE_MAIN)
DEFINE_RANDOMIZER_REGION(RR_GANONS_CASTLE_DEKU_SCRUBS)
DEFINE_RANDOMIZER_REGION(RR_GANONS_CASTLE_FOREST_TRIAL)
DEFINE_RANDOMIZER_REGION(RR_GANONS_CASTLE_FIRE_TRIAL)
DEFINE_RANDOMIZER_REGION(RR_GANONS_CASTLE_WATER_TRIAL)
DEFINE_RANDOMIZER_REGION(RR_GANONS_CASTLE_SHADOW_TRIAL)
DEFINE_RANDOMIZER_REGION(RR_GANONS_CASTLE_SPIRIT_TRIAL)
DEFINE_RANDOMIZER_REGION(RR_GANONS_CASTLE_LIGHT_TRIAL)
DEFINE_RANDOMIZER_REGION(RR_GANONS_CASTLE_MQ_LOBBY)
DEFINE_RANDOMIZER_REGION(RR_GANONS_CASTLE_MQ_MAIN)
DEFINE_RANDOMIZER_REGION(RR_GANONS_CASTLE_MQ_DEKU_SCRUBS)
DEFINE_RANDOMIZER_REGION(RR_GANONS_CASTLE_MQ_FOREST_TRIAL_STALFOS_ROOM)
DEFINE_RANDOMIZER_REGION(RR_GANONS_CASTLE_MQ_FOREST_TRIAL_BEAMOS_ROOM)
DEFINE_RANDOMIZER_REGION(RR_GANONS_CASTLE_MQ_FOREST_TRIAL_FINAL_ROOM)
DEFINE_RANDOMIZER_REGION(RR_GANONS_CASTLE_MQ_FIRE_TRIAL_MAIN_ROOM)
DEFINE_RANDOMIZER_REGION(RR_GANONS_CASTLE_MQ_FIRE_TRIAL_FINAL_ROOM)
DEFINE_RANDOMIZER_REGION(RR_GANONS_CASTLE_MQ_WATER_TRIAL_GEYSER_ROOM)
DEFINE_RANDOMIZER_REGION(RR_GANONS_CASTLE_MQ_WATER_TRIAL_BLOCK_ROOM)
DEFINE_RANDOMIZER_REGION(RR_GANONS_CASTLE_MQ_WATER_TRIAL_FINAL_ROOM)
DEFINE_RANDOMIZER_REGION(RR_GANONS_CASTLE_MQ_SHADOW_TRIAL_STARTING_LEDGE)
DEFINE_RANDOMIZER_REGION(RR_GANONS_CASTLE_MQ_SHADOW_TRIAL_CHEST_PLATFORM)
DEFINE_RANDOMIZER_REGION(RR_GANONS_CASTLE_MQ_SHADOW_TRIAL_MOVING_PLATFORM)
DEFINE_RANDOMIZER_REGION(RR_GANONS_CASTLE_MQ_SHADOW_TRIAL_BEAMOS_TORCH)
DEFINE_RANDOMIZER_REGION(RR_GANONS_CASTLE_MQ_SHADOW_TRIAL_FAR_SIDE)
DEFINE_RANDOMIZER_REGION(RR_GANONS_CASTLE_MQ_SHADOW_TRIAL_FINAL_ROOM)
DEFINE_RANDOMIZER_REGION(RR_GANONS_CASTLE_MQ_SPIRIT_TRIAL_CHAIRS_ROOM)
DEFINE_RANDOMIZER_REGION(RR_GANONS_CASTLE_MQ_SPIRIT_TRIAL_BEFORE_SWITCH)
DEFINE_RANDOMIZER_REGION(RR_GANONS_CASTLE_MQ_SPIRIT_TRIAL_AFTER_SWITCH)
DEFINE_RANDOMIZER_REGION(RR_GANONS_CASTLE_MQ_SPIRIT_TRIAL_FINAL_ROOM)
DEFINE_RANDOMIZER_REGION(RR_GANONS_CASTLE_MQ_LIGHT_TRIAL_DINOLFOS_ROOM)
DEFINE_RANDOMIZER_REGION(RR_GANONS_CASTLE_MQ_LIGHT_TRIAL_TRIFORCE_ROOM)
DEFINE_RANDOMIZER_REGION(RR_GANONS_CASTLE_MQ_LIGHT_TRIAL_BOULDER_ROOM_FRONT)
DEFINE_RANDOMIZER_REGION(RR_GANONS_CASTLE_MQ_LIGHT_TRIAL_BOULDER_ROOM_BACK)
DEFINE_RANDOMIZER_REGION(RR_GANONS_CASTLE_MQ_LIGHT_TRIAL_FINAL_ROOM)
DEFINE_RANDOMIZER_REGION(RR_GANONS_TOWER_ENTRYWAY)
DEFINE_RANDOMIZER_REGION(RR_GANONS_TOWER_FLOOR_1)
DEFINE_RANDOMIZER_REGION(RR_GANONS_TOWER_FLOOR_2)
DEFINE_RANDOMIZER_REGION(RR_GANONS_TOWER_FLOOR_3)
DEFINE_RANDOMIZER_REGION(RR_GANONS_TOWER_BEFORE_GANONDORF_LAIR)
DEFINE_RANDOMIZER_REGION(RR_GANONS_TOWER_GANONDORF_LAIR)
DEFINE_RANDOMIZER_REGION(RR_GANONS_CASTLE_ESCAPE)
DEFINE_RANDOMIZER_REGION(RR_GANONS_CASTLE_GANON_ARENA)
DEFINE_RANDOMIZER_REGION(RR_MARKER_AREAS_END) // Used for area key count
// DUNGEONS
DEFINE_RANDOMIZER_REGION(RR_DEKU_TREE)
DEFINE_RANDOMIZER_REGION(RR_DODONGOS_CAVERN)
DEFINE_RANDOMIZER_REGION(RR_JABU_JABUS_BELLY)
DEFINE_RANDOMIZER_REGION(RR_FOREST_TEMPLE)
DEFINE_RANDOMIZER_REGION(RR_FIRE_TEMPLE)
DEFINE_RANDOMIZER_REGION(RR_WATER_TEMPLE)
DEFINE_RANDOMIZER_REGION(RR_SPIRIT_TEMPLE)
DEFINE_RANDOMIZER_REGION(RR_SHADOW_TEMPLE)
DEFINE_RANDOMIZER_REGION(RR_BOTTOM_OF_THE_WELL)
DEFINE_RANDOMIZER_REGION(RR_ICE_CAVERN)
DEFINE_RANDOMIZER_REGION(RR_GERUDO_TRAINING_GROUND)
DEFINE_RANDOMIZER_REGION(RR_GANONS_CASTLE)

View file

@ -0,0 +1,208 @@
DEFINE_RANDOMIZER_SETTING_KEY(RSK_LOGIC_RULES)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_FOREST)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_KAK_GATE)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_DOOR_OF_TIME)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_ZORAS_FOUNTAIN)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SLEEPING_WATERFALL)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_JABU_OPEN)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_STARTING_AGE)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SELECTED_STARTING_AGE)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_GERUDO_FORTRESS)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_RAINBOW_BRIDGE)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_RAINBOW_BRIDGE_STONE_COUNT)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_RAINBOW_BRIDGE_MEDALLION_COUNT)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_RAINBOW_BRIDGE_REWARD_COUNT)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_RAINBOW_BRIDGE_DUNGEON_COUNT)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_RAINBOW_BRIDGE_TOKEN_COUNT)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_BRIDGE_OPTIONS)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_GANONS_TRIALS)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_TRIAL_COUNT)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_STARTING_OCARINA)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SHUFFLE_OCARINA)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SHUFFLE_OCARINA_BUTTONS)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SHUFFLE_SWIM)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_STARTING_DEKU_SHIELD)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_STARTING_KOKIRI_SWORD)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_STARTING_MASTER_SWORD)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_STARTING_ZELDAS_LULLABY)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_STARTING_EPONAS_SONG)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_STARTING_SARIAS_SONG)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_STARTING_SUNS_SONG)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_STARTING_SONG_OF_TIME)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_STARTING_SONG_OF_STORMS)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_STARTING_MINUET_OF_FOREST)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_STARTING_BOLERO_OF_FIRE)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_STARTING_SERENADE_OF_WATER)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_STARTING_REQUIEM_OF_SPIRIT)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_STARTING_NOCTURNE_OF_SHADOW)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_STARTING_PRELUDE_OF_LIGHT)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SHUFFLE_KOKIRI_SWORD)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SHUFFLE_MASTER_SWORD)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SHUFFLE_CHILD_WALLET)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_INCLUDE_TYCOON_WALLET)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SHUFFLE_DUNGEON_REWARDS)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SHUFFLE_SONGS)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SHUFFLE_TOKENS)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SHOPSANITY)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SHOPSANITY_COUNT)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SHOPSANITY_PRICES)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SHOPSANITY_PRICES_FIXED_PRICE)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SHOPSANITY_PRICES_RANGE_1)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SHOPSANITY_PRICES_RANGE_2)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SHOPSANITY_PRICES_NO_WALLET_WEIGHT)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SHOPSANITY_PRICES_CHILD_WALLET_WEIGHT)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SHOPSANITY_PRICES_ADULT_WALLET_WEIGHT)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SHOPSANITY_PRICES_GIANT_WALLET_WEIGHT)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SHOPSANITY_PRICES_TYCOON_WALLET_WEIGHT)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SHOPSANITY_PRICES_AFFORDABLE)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SHUFFLE_SCRUBS)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SCRUBS_PRICES)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SCRUBS_PRICES_FIXED_PRICE)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SCRUBS_PRICES_RANGE_1)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SCRUBS_PRICES_RANGE_2)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SCRUBS_PRICES_NO_WALLET_WEIGHT)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SCRUBS_PRICES_CHILD_WALLET_WEIGHT)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SCRUBS_PRICES_ADULT_WALLET_WEIGHT)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SCRUBS_PRICES_GIANT_WALLET_WEIGHT)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SCRUBS_PRICES_TYCOON_WALLET_WEIGHT)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SCRUBS_PRICES_AFFORDABLE)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SHUFFLE_BEEHIVES)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SHUFFLE_COWS)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SHUFFLE_WEIRD_EGG)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SHUFFLE_GERUDO_MEMBERSHIP_CARD)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SHUFFLE_POTS)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SHUFFLE_CRATES)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SHUFFLE_FROG_SONG_RUPEES)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_ITEM_POOL)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_ICE_TRAPS)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_GOSSIP_STONE_HINTS)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_TOT_ALTAR_HINT)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_GANONDORF_HINT)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SHEIK_LA_HINT)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_DAMPES_DIARY_HINT)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_GREG_HINT)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_LOACH_HINT)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SARIA_HINT)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_FROGS_HINT)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_OOT_HINT)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_KAK_10_SKULLS_HINT)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_KAK_20_SKULLS_HINT)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_KAK_30_SKULLS_HINT)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_KAK_40_SKULLS_HINT)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_KAK_50_SKULLS_HINT)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_KAK_100_SKULLS_HINT)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_MASK_SHOP_HINT)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_BIGGORON_HINT)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_BIG_POES_HINT)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_CHICKENS_HINT)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_MALON_HINT)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_HBA_HINT)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_WARP_SONG_HINTS)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SCRUB_TEXT_HINT)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_MERCHANT_TEXT_HINT)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_FISHING_POLE_HINT)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_HINT_CLARITY)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_HINT_DISTRIBUTION)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SHUFFLE_MAPANDCOMPASS)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_KEYSANITY)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_GERUDO_KEYS)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_BOSS_KEYSANITY)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_GANONS_BOSS_KEY)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SKIP_CHILD_STEALTH)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SKIP_CHILD_ZELDA)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_STARTING_STICKS)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_STARTING_NUTS)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_FULL_WALLETS)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SHUFFLE_CHEST_MINIGAME)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_CUCCO_COUNT)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_BIG_POE_COUNT)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SKIP_EPONA_RACE)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_COMPLETE_MASK_QUEST)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SKIP_SCARECROWS_SONG)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SKULLS_SUNS_SONG)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SHUFFLE_ADULT_TRADE)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SHUFFLE_MERCHANTS)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_MERCHANT_PRICES)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_MERCHANT_PRICES_FIXED_PRICE)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_MERCHANT_PRICES_RANGE_1)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_MERCHANT_PRICES_RANGE_2)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_MERCHANT_PRICES_NO_WALLET_WEIGHT)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_MERCHANT_PRICES_CHILD_WALLET_WEIGHT)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_MERCHANT_PRICES_ADULT_WALLET_WEIGHT)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_MERCHANT_PRICES_GIANT_WALLET_WEIGHT)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_MERCHANT_PRICES_TYCOON_WALLET_WEIGHT)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_MERCHANT_PRICES_AFFORDABLE)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_BLUE_FIRE_ARROWS)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SUNLIGHT_ARROWS)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_ENABLE_BOMBCHU_DROPS)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_BOMBCHU_BAG)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_LINKS_POCKET)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_MQ_DUNGEON_RANDOM)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_MQ_DUNGEON_COUNT)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_MQ_DUNGEON_SET)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_MQ_DEKU_TREE)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_MQ_DODONGOS_CAVERN)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_MQ_JABU_JABU)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_MQ_FOREST_TEMPLE)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_MQ_FIRE_TEMPLE)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_MQ_WATER_TEMPLE)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_MQ_SPIRIT_TEMPLE)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_MQ_SHADOW_TEMPLE)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_MQ_BOTTOM_OF_THE_WELL)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_MQ_ICE_CAVERN)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_MQ_GTG)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_MQ_GANONS_CASTLE)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_LACS_STONE_COUNT)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_LACS_MEDALLION_COUNT)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_LACS_REWARD_COUNT)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_LACS_DUNGEON_COUNT)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_LACS_TOKEN_COUNT)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_LACS_OPTIONS)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_KEYRINGS)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_KEYRINGS_RANDOM_COUNT)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_KEYRINGS_GERUDO_FORTRESS)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_KEYRINGS_FOREST_TEMPLE)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_KEYRINGS_FIRE_TEMPLE)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_KEYRINGS_WATER_TEMPLE)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_KEYRINGS_SPIRIT_TEMPLE)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_KEYRINGS_SHADOW_TEMPLE)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_KEYRINGS_BOTTOM_OF_THE_WELL)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_KEYRINGS_GTG)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_KEYRINGS_GANONS_CASTLE)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SHUFFLE_ENTRANCES)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SHUFFLE_DUNGEON_ENTRANCES)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SHUFFLE_OVERWORLD_ENTRANCES)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SHUFFLE_INTERIOR_ENTRANCES)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SHUFFLE_GROTTO_ENTRANCES)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SHUFFLE_OWL_DROPS)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SHUFFLE_WARP_SONGS)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SHUFFLE_OVERWORLD_SPAWNS)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_MIXED_ENTRANCE_POOLS)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_MIX_DUNGEON_ENTRANCES)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_MIX_BOSS_ENTRANCES)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_MIX_OVERWORLD_ENTRANCES)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_MIX_INTERIOR_ENTRANCES)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_MIX_GROTTO_ENTRANCES)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_DECOUPLED_ENTRANCES)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_STARTING_SKULLTULA_TOKEN)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_STARTING_HEARTS)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_DAMAGE_MULTIPLIER)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_ALL_LOCATIONS_REACHABLE)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SHUFFLE_BOSS_ENTRANCES)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SHUFFLE_100_GS_REWARD)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_TRIFORCE_HUNT)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_TRIFORCE_HUNT_PIECES_TOTAL)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_TRIFORCE_HUNT_PIECES_REQUIRED)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SHUFFLE_BOSS_SOULS)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_FISHSANITY)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_FISHSANITY_POND_COUNT)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_FISHSANITY_AGE_SPLIT)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SHUFFLE_FISHING_POLE)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_INFINITE_UPGRADES)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SKELETON_KEY)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SHUFFLE_DEKU_STICK_BAG)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SHUFFLE_DEKU_NUT_BAG)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SHUFFLE_FREESTANDING)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SHUFFLE_FAIRIES)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_LOCK_OVERWORLD_DOORS)
DEFINE_RANDOMIZER_SETTING_KEY(RSK_SHUFFLE_GRASS)

View file

@ -0,0 +1,264 @@
DEFINE_RANDOMIZER_TRICK(RT_VISIBLE_COLLISION) // -- general tricks
DEFINE_RANDOMIZER_TRICK(RT_GROTTOS_WITHOUT_AGONY)
DEFINE_RANDOMIZER_TRICK(RT_FEWER_TUNIC_REQUIREMENTS)
DEFINE_RANDOMIZER_TRICK(RT_RUSTED_SWITCHES)
DEFINE_RANDOMIZER_TRICK(RT_FLAMING_CHESTS)
DEFINE_RANDOMIZER_TRICK(RT_BUNNY_HOOD_JUMPS)
DEFINE_RANDOMIZER_TRICK(RT_DAMAGE_BOOST_SIMPLE)
DEFINE_RANDOMIZER_TRICK(RT_HOVER_BOOST_SIMPLE)
DEFINE_RANDOMIZER_TRICK(RT_BOMBCHU_BEEHIVES)
DEFINE_RANDOMIZER_TRICK(RT_BLUE_FIRE_MUD_WALLS)
DEFINE_RANDOMIZER_TRICK(RT_OPEN_UNDERWATER_CHEST)
DEFINE_RANDOMIZER_TRICK(RT_KF_ADULT_GS) // -- location tricks
DEFINE_RANDOMIZER_TRICK(RT_LW_BRIDGE)
DEFINE_RANDOMIZER_TRICK(RT_LW_MIDO_BACKFLIP)
DEFINE_RANDOMIZER_TRICK(RT_LW_GS_BEAN)
DEFINE_RANDOMIZER_TRICK(RT_HC_STORMS_GS)
DEFINE_RANDOMIZER_TRICK(RT_HF_BIG_POE_WITHOUT_EPONA)
DEFINE_RANDOMIZER_TRICK(RT_KAK_MAN_ON_ROOF)
DEFINE_RANDOMIZER_TRICK(RT_KAK_TOWER_GS)
DEFINE_RANDOMIZER_TRICK(RT_KAK_ADULT_WINDMILL_POH)
DEFINE_RANDOMIZER_TRICK(RT_KAK_CHILD_WINDMILL_POH)
DEFINE_RANDOMIZER_TRICK(RT_KAK_ROOFTOP_GS)
DEFINE_RANDOMIZER_TRICK(RT_GY_POH)
DEFINE_RANDOMIZER_TRICK(RT_GY_CHILD_DAMPE_RACE_POH)
DEFINE_RANDOMIZER_TRICK(RT_GY_SHADOW_FIRE_ARROWS)
DEFINE_RANDOMIZER_TRICK(RT_DMT_SOIL_GS)
DEFINE_RANDOMIZER_TRICK(RT_DMT_BOMBABLE)
DEFINE_RANDOMIZER_TRICK(RT_DMT_HOOKSHOT_LOWER_GS)
DEFINE_RANDOMIZER_TRICK(RT_DMT_HOVERS_LOWER_GS)
DEFINE_RANDOMIZER_TRICK(RT_DMT_BEAN_LOWER_GS)
DEFINE_RANDOMIZER_TRICK(RT_DMT_JS_LOWER_GS)
DEFINE_RANDOMIZER_TRICK(RT_DMT_CLIMB_HOVERS)
DEFINE_RANDOMIZER_TRICK(RT_DMT_UPPER_GS)
DEFINE_RANDOMIZER_TRICK(RT_DMT_BOLERO_BIGGORON)
DEFINE_RANDOMIZER_TRICK(RT_GC_POT)
DEFINE_RANDOMIZER_TRICK(RT_GC_POT_STRENGTH)
DEFINE_RANDOMIZER_TRICK(RT_GC_ROLLING_STRENGTH)
DEFINE_RANDOMIZER_TRICK(RT_GC_LEFTMOST)
DEFINE_RANDOMIZER_TRICK(RT_GC_GROTTO)
DEFINE_RANDOMIZER_TRICK(RT_GC_LINK_GORON_DINS)
DEFINE_RANDOMIZER_TRICK(RT_DMC_HOVER_BEAN_POH)
DEFINE_RANDOMIZER_TRICK(RT_DMC_BOLERO_JUMP)
DEFINE_RANDOMIZER_TRICK(RT_DMC_BOULDER_JS)
DEFINE_RANDOMIZER_TRICK(RT_DMC_BOULDER_SKIP)
DEFINE_RANDOMIZER_TRICK(RT_ZR_LOWER)
DEFINE_RANDOMIZER_TRICK(RT_ZR_UPPER)
DEFINE_RANDOMIZER_TRICK(RT_ZR_HOVERS)
DEFINE_RANDOMIZER_TRICK(RT_ZR_CUCCO)
DEFINE_RANDOMIZER_TRICK(RT_ZD_KING_ZORA_SKIP)
DEFINE_RANDOMIZER_TRICK(RT_ZD_GS)
DEFINE_RANDOMIZER_TRICK(RT_ZF_GREAT_FAIRY_WITHOUT_EXPLOSIVES)
DEFINE_RANDOMIZER_TRICK(RT_LH_LAB_WALL_GS)
DEFINE_RANDOMIZER_TRICK(RT_LH_LAB_DIVING)
DEFINE_RANDOMIZER_TRICK(RT_LH_WATER_HOOKSHOT)
DEFINE_RANDOMIZER_TRICK(RT_GV_CRATE_HOVERS)
DEFINE_RANDOMIZER_TRICK(RT_PASS_GUARDS_WITH_NOTHING)
DEFINE_RANDOMIZER_TRICK(RT_GF_JUMP)
DEFINE_RANDOMIZER_TRICK(RT_GF_WARRIOR_WITH_DIFFICULT_WEAPON)
DEFINE_RANDOMIZER_TRICK(RT_GF_LEDGE_CLIP_INTO_GTG)
DEFINE_RANDOMIZER_TRICK(RT_HW_BUNNY_CROSSING)
DEFINE_RANDOMIZER_TRICK(RT_HW_CROSSING)
DEFINE_RANDOMIZER_TRICK(RT_LENS_HW)
DEFINE_RANDOMIZER_TRICK(RT_HW_REVERSE)
DEFINE_RANDOMIZER_TRICK(RT_COLOSSUS_GS)
DEFINE_RANDOMIZER_TRICK(RT_DEKU_BASEMENT_GS)
DEFINE_RANDOMIZER_TRICK(RT_DEKU_B1_SKIP)
DEFINE_RANDOMIZER_TRICK(RT_DEKU_B1_BOW_WEBS)
DEFINE_RANDOMIZER_TRICK(RT_DEKU_B1_BACKFLIP_OVER_SPIKED_LOG)
DEFINE_RANDOMIZER_TRICK(RT_DEKU_MQ_COMPASS_GS)
DEFINE_RANDOMIZER_TRICK(RT_DEKU_MQ_LOG)
DEFINE_RANDOMIZER_TRICK(RT_DC_SCARECROW_GS)
DEFINE_RANDOMIZER_TRICK(RT_DC_VINES_GS)
DEFINE_RANDOMIZER_TRICK(RT_DC_STAIRS_WITH_BOW)
DEFINE_RANDOMIZER_TRICK(RT_DC_SLINGSHOT_SKIP)
DEFINE_RANDOMIZER_TRICK(RT_DC_SCRUB_ROOM)
DEFINE_RANDOMIZER_TRICK(RT_DC_JUMP)
DEFINE_RANDOMIZER_TRICK(RT_DC_HAMMER_FLOOR)
DEFINE_RANDOMIZER_TRICK(RT_DC_MQ_STAIRS_WITH_ONLY_STRENGTH)
DEFINE_RANDOMIZER_TRICK(RT_DC_MQ_CHILD_BOMBS)
DEFINE_RANDOMIZER_TRICK(RT_DC_MQ_CHILD_EYES)
DEFINE_RANDOMIZER_TRICK(RT_DC_MQ_ADULT_EYES)
DEFINE_RANDOMIZER_TRICK(RT_DC_DODONGO_CHU)
DEFINE_RANDOMIZER_TRICK(RT_JABU_ALCOVE_JUMP_DIVE)
DEFINE_RANDOMIZER_TRICK(RT_JABU_BOSS_HOVER)
DEFINE_RANDOMIZER_TRICK(RT_JABU_NEAR_BOSS_RANGED)
DEFINE_RANDOMIZER_TRICK(RT_JABU_NEAR_BOSS_EXPLOSIVES)
DEFINE_RANDOMIZER_TRICK(RT_LENS_JABU_MQ)
DEFINE_RANDOMIZER_TRICK(RT_JABU_MQ_RANG_JUMP)
DEFINE_RANDOMIZER_TRICK(RT_JABU_MQ_SOT_GS)
DEFINE_RANDOMIZER_TRICK(RT_LENS_BOTW)
DEFINE_RANDOMIZER_TRICK(RT_BOTW_CHILD_DEADHAND)
DEFINE_RANDOMIZER_TRICK(RT_BOTW_BASEMENT)
DEFINE_RANDOMIZER_TRICK(RT_BOTW_MQ_PITS)
DEFINE_RANDOMIZER_TRICK(RT_BOTW_MQ_DEADHAND_KEY)
DEFINE_RANDOMIZER_TRICK(RT_FOREST_FIRST_GS)
DEFINE_RANDOMIZER_TRICK(RT_FOREST_OUTDOORS_EAST_GS)
DEFINE_RANDOMIZER_TRICK(RT_FOREST_VINES)
DEFINE_RANDOMIZER_TRICK(RT_FOREST_OUTDOORS_LEDGE)
DEFINE_RANDOMIZER_TRICK(RT_FOREST_DOORFRAME)
DEFINE_RANDOMIZER_TRICK(RT_FOREST_OUTSIDE_BACKDOOR)
DEFINE_RANDOMIZER_TRICK(RT_FOREST_OUTDOORS_HEARTS_BOOMERANG)
DEFINE_RANDOMIZER_TRICK(RT_FOREST_MQ_WELL_SWIM)
DEFINE_RANDOMIZER_TRICK(RT_FOREST_MQ_BLOCK_PUZZLE)
DEFINE_RANDOMIZER_TRICK(RT_FOREST_MQ_JS_HALLWAY_SWITCH)
DEFINE_RANDOMIZER_TRICK(RT_FOREST_MQ_HOOKSHOT_HALLWAY_SWITCH)
DEFINE_RANDOMIZER_TRICK(RT_FOREST_MQ_RANG_HALLWAY_SWITCH)
DEFINE_RANDOMIZER_TRICK(RT_FIRE_BOSS_DOOR_JUMP)
DEFINE_RANDOMIZER_TRICK(RT_FIRE_SOT)
DEFINE_RANDOMIZER_TRICK(RT_FIRE_STRENGTH)
DEFINE_RANDOMIZER_TRICK(RT_FIRE_SCARECROW)
DEFINE_RANDOMIZER_TRICK(RT_FIRE_FLAME_MAZE)
DEFINE_RANDOMIZER_TRICK(RT_FIRE_MQ_NEAR_BOSS)
DEFINE_RANDOMIZER_TRICK(RT_FIRE_MQ_BLOCKED_CHEST)
DEFINE_RANDOMIZER_TRICK(RT_FIRE_MQ_BK_CHEST)
DEFINE_RANDOMIZER_TRICK(RT_FIRE_MQ_CLIMB)
DEFINE_RANDOMIZER_TRICK(RT_FIRE_MQ_MAZE_SIDE_ROOM)
DEFINE_RANDOMIZER_TRICK(RT_FIRE_MQ_MAZE_HOVERS)
DEFINE_RANDOMIZER_TRICK(RT_FIRE_MQ_MAZE_JUMP)
DEFINE_RANDOMIZER_TRICK(RT_FIRE_MQ_ABOVE_MAZE_GS)
DEFINE_RANDOMIZER_TRICK(RT_FIRE_MQ_FLAME_MAZE)
DEFINE_RANDOMIZER_TRICK(RT_WATER_LONGSHOT_TORCH)
DEFINE_RANDOMIZER_TRICK(RT_WATER_CRACKED_WALL_HOVERS)
DEFINE_RANDOMIZER_TRICK(RT_WATER_CRACKED_WALL)
DEFINE_RANDOMIZER_TRICK(RT_WATER_BK_REGION)
DEFINE_RANDOMIZER_TRICK(RT_WATER_NORTH_BASEMENT_LEDGE_JUMP)
DEFINE_RANDOMIZER_TRICK(RT_WATER_BK_JUMP_DIVE)
DEFINE_RANDOMIZER_TRICK(RT_WATER_FW_CENTRAL_GS)
DEFINE_RANDOMIZER_TRICK(RT_WATER_IRONS_CENTRAL_GS)
DEFINE_RANDOMIZER_TRICK(RT_WATER_CENTRAL_BOW)
DEFINE_RANDOMIZER_TRICK(RT_WATER_HOOKSHOT_FALLING_PLATFORM_GS)
DEFINE_RANDOMIZER_TRICK(RT_WATER_RANG_FALLING_PLATFORM_GS)
DEFINE_RANDOMIZER_TRICK(RT_WATER_RIVER_GS)
DEFINE_RANDOMIZER_TRICK(RT_WATER_DRAGON_JUMP_DIVE)
DEFINE_RANDOMIZER_TRICK(RT_WATER_ADULT_DRAGON)
DEFINE_RANDOMIZER_TRICK(RT_WATER_CHILD_DRAGON)
DEFINE_RANDOMIZER_TRICK(RT_WATER_MQ_CENTRAL_PILLAR)
DEFINE_RANDOMIZER_TRICK(RT_WATER_MQ_LOCKED_GS)
DEFINE_RANDOMIZER_TRICK(RT_WATER_MORPHA_WITHOUT_HOOKSHOT)
DEFINE_RANDOMIZER_TRICK(RT_LENS_SHADOW)
DEFINE_RANDOMIZER_TRICK(RT_LENS_SHADOW_PLATFORM)
DEFINE_RANDOMIZER_TRICK(RT_LENS_BONGO)
DEFINE_RANDOMIZER_TRICK(RT_SHADOW_UMBRELLA)
DEFINE_RANDOMIZER_TRICK(RT_SHADOW_UMBRELLA_GS)
DEFINE_RANDOMIZER_TRICK(RT_SHADOW_FREESTANDING_KEY)
DEFINE_RANDOMIZER_TRICK(RT_SHADOW_STATUE)
DEFINE_RANDOMIZER_TRICK(RT_SHADOW_BONGO)
DEFINE_RANDOMIZER_TRICK(RT_LENS_SHADOW_MQ)
DEFINE_RANDOMIZER_TRICK(RT_LENS_SHADOW_MQ_INVISIBLE_BLADES)
DEFINE_RANDOMIZER_TRICK(RT_LENS_SHADOW_MQ_PLATFORM)
DEFINE_RANDOMIZER_TRICK(RT_LENS_SHADOW_MQ_DEADHAND)
DEFINE_RANDOMIZER_TRICK(RT_SHADOW_MQ_GAP)
DEFINE_RANDOMIZER_TRICK(RT_SHADOW_MQ_INVISIBLE_BLADES)
DEFINE_RANDOMIZER_TRICK(RT_SHADOW_MQ_HUGE_PIT)
DEFINE_RANDOMIZER_TRICK(RT_SHADOW_MQ_WINDY_WALKWAY)
DEFINE_RANDOMIZER_TRICK(RT_LENS_SPIRIT)
DEFINE_RANDOMIZER_TRICK(RT_SPIRIT_CHILD_CHU)
DEFINE_RANDOMIZER_TRICK(RT_SPIRIT_LOBBY_GS)
DEFINE_RANDOMIZER_TRICK(RT_SPIRIT_LOWER_ADULT_SWITCH)
DEFINE_RANDOMIZER_TRICK(RT_SPIRIT_LOBBY_JUMP)
DEFINE_RANDOMIZER_TRICK(RT_SPIRIT_PLATFORM_HOOKSHOT)
DEFINE_RANDOMIZER_TRICK(RT_SPIRIT_MAP_CHEST)
DEFINE_RANDOMIZER_TRICK(RT_SPIRIT_SUN_CHEST)
DEFINE_RANDOMIZER_TRICK(RT_SPIRIT_WALL)
DEFINE_RANDOMIZER_TRICK(RT_LENS_SPIRIT_MQ)
DEFINE_RANDOMIZER_TRICK(RT_SPIRIT_MQ_SUN_BLOCK_SOT)
DEFINE_RANDOMIZER_TRICK(RT_SPIRIT_MQ_SUN_BLOCK_GS)
DEFINE_RANDOMIZER_TRICK(RT_SPIRIT_MQ_LOWER_ADULT)
DEFINE_RANDOMIZER_TRICK(RT_SPIRIT_MQ_FROZEN_EYE)
DEFINE_RANDOMIZER_TRICK(RT_ICE_BLOCK_GS)
DEFINE_RANDOMIZER_TRICK(RT_ICE_MQ_RED_ICE_GS)
DEFINE_RANDOMIZER_TRICK(RT_ICE_MQ_SCARECROW)
DEFINE_RANDOMIZER_TRICK(RT_LENS_GTG)
DEFINE_RANDOMIZER_TRICK(RT_GTG_WITHOUT_HOOKSHOT)
DEFINE_RANDOMIZER_TRICK(RT_GTG_FAKE_WALL)
DEFINE_RANDOMIZER_TRICK(RT_LENS_GTG_MQ)
DEFINE_RANDOMIZER_TRICK(RT_GTG_MQ_WITH_HOOKSHOT)
DEFINE_RANDOMIZER_TRICK(RT_GTG_MQ_WITHOUT_HOOKSHOT)
DEFINE_RANDOMIZER_TRICK(RT_LENS_GANON)
DEFINE_RANDOMIZER_TRICK(RT_GANON_SPIRIT_TRIAL_HOOKSHOT)
DEFINE_RANDOMIZER_TRICK(RT_LENS_GANON_MQ)
DEFINE_RANDOMIZER_TRICK(RT_GANON_MQ_FIRE_TRIAL)
DEFINE_RANDOMIZER_TRICK(RT_GANON_MQ_SHADOW_TRIAL)
DEFINE_RANDOMIZER_TRICK(RT_GANON_MQ_LIGHT_TRIAL)
// RT_ROCS_FEATHER --if implemented with main branch
DEFINE_RANDOMIZER_TRICK(RT_FOREST_TEMPLE_BK_SKIP)
DEFINE_RANDOMIZER_TRICK(RT_FIRE_TEMPLE_BK_SKIP)
DEFINE_RANDOMIZER_TRICK(RT_WATER_TEMPLE_BK_SKIP)
DEFINE_RANDOMIZER_TRICK(RT_SHADOW_TEMPLE_BK_SKIP)
DEFINE_RANDOMIZER_TRICK(RT_SPIRIT_BK_SKIP)
DEFINE_RANDOMIZER_TRICK(RT_ACUTE_ANGLE_CLIP)
DEFINE_RANDOMIZER_TRICK(RT_ADVANCED_CLIPS)
DEFINE_RANDOMIZER_TRICK(RT_BLANK_A)
DEFINE_RANDOMIZER_TRICK(RT_CUTSCENE_DIVE)
DEFINE_RANDOMIZER_TRICK(RT_DAMAGE_BOOST)
DEFINE_RANDOMIZER_TRICK(RT_DOOM_JUMP)
DEFINE_RANDOMIZER_TRICK(RT_EPG)
DEFINE_RANDOMIZER_TRICK(RT_EQUIP_SWAP)
DEFINE_RANDOMIZER_TRICK(RT_EQUIP_SWAP_EXPECTS_DINS)
DEFINE_RANDOMIZER_TRICK(RT_FLAME_STORAGE)
DEFINE_RANDOMIZER_TRICK(RT_FW_VOID_WARP)
DEFINE_RANDOMIZER_TRICK(RT_GROUND_CLIP)
DEFINE_RANDOMIZER_TRICK(RT_GROUND_JUMP)
DEFINE_RANDOMIZER_TRICK(RT_HESS)
DEFINE_RANDOMIZER_TRICK(RT_HOOKSHOT_CLIP)
DEFINE_RANDOMIZER_TRICK(RT_HOOKSHOT_JUMP)
DEFINE_RANDOMIZER_TRICK(RT_HOVERING)
DEFINE_RANDOMIZER_TRICK(RT_HOVERING_BOW_SLINGSHOT)
DEFINE_RANDOMIZER_TRICK(RT_HOVERING_CONTORTION)
DEFINE_RANDOMIZER_TRICK(RT_HOVERING_ENEMY)
DEFINE_RANDOMIZER_TRICK(RT_HOVERING_HOVERBOOTS)
DEFINE_RANDOMIZER_TRICK(RT_HOVERING_WALL)
DEFINE_RANDOMIZER_TRICK(RT_ISG)
DEFINE_RANDOMIZER_TRICK(RT_LADDER_CLIP)
DEFINE_RANDOMIZER_TRICK(RT_LADDER_CLIP_HOOKSHOT)
DEFINE_RANDOMIZER_TRICK(RT_LEDGE_CANCEL)
DEFINE_RANDOMIZER_TRICK(RT_LEDGE_CLIP)
DEFINE_RANDOMIZER_TRICK(RT_LUNGE_STORAGE)
DEFINE_RANDOMIZER_TRICK(RT_MEGAFLIP_BOMB)
DEFINE_RANDOMIZER_TRICK(RT_MEGAFLIP_BOMBCHU)
DEFINE_RANDOMIZER_TRICK(RT_MEGASIDEHOP_BOMB)
DEFINE_RANDOMIZER_TRICK(RT_MEGASIDEHOP_BOMBCHU)
DEFINE_RANDOMIZER_TRICK(RT_NAVI_DIVE)
DEFINE_RANDOMIZER_TRICK(RT_BOTTOM_OF_THE_WELL_NAVI_DIVE)
DEFINE_RANDOMIZER_TRICK(RT_LOST_WOOD_NAVI_DIVE)
DEFINE_RANDOMIZER_TRICK(RT_OCARINA_ITEMS)
DEFINE_RANDOMIZER_TRICK(RT_OCARINA_ITEMS_BOMB)
DEFINE_RANDOMIZER_TRICK(RT_OCARINA_ITEMS_ESS)
DEFINE_RANDOMIZER_TRICK(RT_OCARINA_ITEMS_PUTAWAY)
DEFINE_RANDOMIZER_TRICK(RT_ONE_WAY_CLIPS)
DEFINE_RANDOMIZER_TRICK(RT_QUICKDRAW)
DEFINE_RANDOMIZER_TRICK(RT_QUICK_PUTAWAY)
DEFINE_RANDOMIZER_TRICK(RT_SEEMWALK)
DEFINE_RANDOMIZER_TRICK(RT_SUPERSLIDE)
DEFINE_RANDOMIZER_TRICK(RT_SUPERSLIDE_TELEPORT)
DEFINE_RANDOMIZER_TRICK(RT_TIME_STOP)
DEFINE_RANDOMIZER_TRICK(RT_TRIPLE_SLASH_CLIP)
DEFINE_RANDOMIZER_TRICK(RT_VINE_CLIP)
DEFINE_RANDOMIZER_TRICK(RT_WEIRDSHOT)
DEFINE_RANDOMIZER_TRICK(RT_WEIRDSHOT_CHU)
DEFINE_RANDOMIZER_TRICK(RT_WEIRDSHOT_ENEMY)
// DEFINE_RANDOMIZER_TRICK(RT_FW_VOID_WARP_FAST_TEXT) --untested tricks:
// DEFINE_RANDOMIZER_TRICK(RT_ACTION_SWAP)
// DEFINE_RANDOMIZER_TRICK(RT_ACTOR_GLITCH)
// DEFINE_RANDOMIZER_TRICK(RT_ADULT_TRADE_TTG)
DEFINE_RANDOMIZER_TRICK(RT_TOT_DOT_SKIP_SWORDLESS) // AREA SPECIFIC GLITCHES
DEFINE_RANDOMIZER_TRICK(RT_TOT_DOT_SKIP_SWORD)
DEFINE_RANDOMIZER_TRICK(RT_LLR_STEAL_EPONA)
DEFINE_RANDOMIZER_TRICK(RT_KF_POKEY_SKIP)
DEFINE_RANDOMIZER_TRICK(RT_KF_MIDO_SKIP)
DEFINE_RANDOMIZER_TRICK(RT_KF_CLIMB_TWINS_HOUSE)
DEFINE_RANDOMIZER_TRICK(RT_KF_DEKU_TREE_ADULT)
DEFINE_RANDOMIZER_TRICK(RT_KF_WWT_ESCAPE)
DEFINE_RANDOMIZER_TRICK(RT_LW_AQUAESCAPE)
DEFINE_RANDOMIZER_TRICK(RT_LW_MIDO_SKIP_ADULT)
DEFINE_RANDOMIZER_TRICK(RT_OGC_GOLD_GAUNTLET_SKIP)
DEFINE_RANDOMIZER_TRICK(RT_GY_ROYAL_TOMB)
DEFINE_RANDOMIZER_TRICK(RT_ZF_JABU_ADULT_BOMBCHU)
DEFINE_RANDOMIZER_TRICK(RT_ZF_JABU_ADULT_HOVERBOOT_BOMB)
DEFINE_RANDOMIZER_TRICK(RT_FOREST_TEMPLE_FOUR_POE_SKIP)
DEFINE_RANDOMIZER_TRICK(RT_FOREST_TEMPLE_JUNGLE_JUMP)
// DEFINE_RANDOMIZER_TRICK(RT_DARUNIA_CUTSCENE)
DEFINE_RANDOMIZER_TRICK(RT_BOTTOM_OF_THE_WELL_SKULL_PUSH)
DEFINE_RANDOMIZER_TRICK(RT_GANONS_CASTLE_BARRIER_SKIP_HOVER)
DEFINE_RANDOMIZER_TRICK(RT_GANONS_CASTLE_GOLD_GAUNTLET_SKIP)

View file

@ -0,0 +1,6 @@
DEFINE_TRIAL_KEY(TK_LIGHT_TRIAL)
DEFINE_TRIAL_KEY(TK_FOREST_TRIAL)
DEFINE_TRIAL_KEY(TK_FIRE_TRIAL)
DEFINE_TRIAL_KEY(TK_WATER_TRIAL)
DEFINE_TRIAL_KEY(TK_SPIRIT_TRIAL)
DEFINE_TRIAL_KEY(TK_SHADOW_TRIAL)