diff --git a/ootrando_overworldmap_hamsda.zip b/ootrando_overworldmap_hamsda.zip index 400ec2b7..c3381c8f 100644 Binary files a/ootrando_overworldmap_hamsda.zip and b/ootrando_overworldmap_hamsda.zip differ diff --git a/ootrando_overworldmap_hamsda/README.md b/ootrando_overworldmap_hamsda/README.md index aeaa24e5..5c639d0d 100644 --- a/ootrando_overworldmap_hamsda/README.md +++ b/ootrando_overworldmap_hamsda/README.md @@ -36,239 +36,6 @@ Some of this functionality might not be immediately obvious: - Right clicking any of the song icons, e.g. ![Zelda's Lullaby](images/song_zelda.png "Zelda's Lullaby"), will overlay them with a smaller version, e.g. ![Song of Time overlay](images/overlay_song_time.png "Song of Time overlay"), that can be cycled through. This overlay has no logical bearing, but can be used to indicate which song has been found where in non songsanity. - ![Triforce Piece](images/triforce_piece.png "Triforce Piece") is used as a counter for Triforce pieces in the Triforce Hunt mode. -## Settings (for map variants) - -There is a variety of toggles available to accomodate the different settings the randomizer offers. The settings are arranged to mimic the current GUI of the randomizer. The default for all of these should match the settings used for the weekly races (check out the OoTR discord for more info). - -### Main Rules - -This tab contains most of the important settings that can have a major impact on the logic of a randomizer seed ([see wiki](https://wiki.ootrandomizer.com/index.php?title=Readme#Main_Rules)). - -#### Forest - -This setting determines if you can leave the Kokiri Forest without beating the Deku Tree. - -- ![Closed Forest](images/setting_forest_closed.png "Closed Forest") You will find the Kokiri Sword and Slingshot early on to beat the Deku Tree before leaving Kokiri Forest. -- ![Closed Deku](images/setting_forest_deku.png "Closed Deku") You can leave Kokiri Forest but will need the Kokiri Sword and Deku Shield to go to the Deku Tree. -- ![Open Forest](images/setting_forest_open.png "Open Forest") You can immediately leave Kokiri Forest and go to the Deku Tree. - -#### Kakariko Gate - -This setting determines the behaviour of the Kakariko Gate to Death Mountain Trail as child as well as the Happy Mask Shop. - -- ![Open Gate](images/setting_kak_open.png "Open Gate") The gate is always open. The Happy Mask Shop opens once you obtain Zelda's Letter. -- ![Zelda's Letter Opens Gate](images/setting_kak_letter.png "Zelda's Letter Opens Gate") Both the gate and the Happy Mask Shop open once you obtain Zelda's Letter. -- ![Closed Gate](images/setting_kak_closed.png "Closed Gate") Both the gate and the Happy Mask Shop are closed until showing Zelda's Letter to the guard. - -#### Door of Time - -This setting determines whether the Door of Time starts open or closed. - -- ![Closed Door](images/setting_door_closed.png "Closed Door") You will need to find Song of Time to open the Door of Time and unlock the ability to time travel. -- ![Open Door](images/setting_door_open.png "Open Door") The Door of Time starts open and you can immediately switch between ages. - -#### Zora's Fountain - -This setting determines whether Zoras Fountain starts open or closed. - -- ![Closed Fountain](images/setting_fountain_closed.png "Closed Fountain") You can find Rutos Letter and open Zoras Fountain by moving King Zora. -- ![Adult Fountain](images/setting_fountain_adult.png "Adult Fountain") Zoras Fountain can be accessed as adult without handing in Rutos Letter. Child access to the fountain is unchanged. -- ![Open Fountain](images/setting_fountain_open.png "Open Fountain") Rutos Letter can no longer be found, but Zoras Fountain can be accessed without moving King Zora for both ages. - -#### Gerudo Fortress - -This setting determines the state of the. - -- ![Normal Gerudo Fortress](images/setting_gerudo_fortress_normal.png "Normal Gerudo Fortress") You will have to rescue all 4 carpenters. -- ![Fast Gerudo Fortress](images/setting_gerudo_fortress_fast.png "Fast Gerudo Fortress") You only need to free one carpenter (F1 North). -- ![Open Gerudo Fortress](images/setting_gerudo_fortress_open.png "Open Gerudo Fortress") The carpenters start free and the Fortress is immediately accessible (if `Shuffle Gerudo Card` is turned off, mark your ![Gerudo Card](images/gerudocard.png "Gerudo Card") as well). - -#### Rainbow Bridge Requirement - -This setting determines what is needed to trigger the rainbow bridge in front of Ganons castle. - -- ![Always Open](images/setting_bridge_open.png "Always Open") Nothing required, bridge is always open -- ![Vanilla](images/setting_bridge_vanilla.png "Vanilla") Light arrows, shadow medallion, and spirit medallion required -- ![Stones](images/setting_bridge_stones.png "Stones") Variable amount of stones required -- ![Medallions](images/setting_bridge_medallions.png "Medallions") Variable amount of medallions required -- ![Dungeons](images/setting_bridge_dungeons.png "Dungeons") Variable amount of medallions and stones required -- ![GS tokens](images/setting_bridge_gs.png "GS tokens") Variable amount of Gold Skulltula tokens required - -#### Rainbow Bridge Amount - -This setting determines how many (if any) of the items specified in `Rainbow Bridge Requirement` are needed. - -![Bridge Amount](images/setting_bridge_amount.png "Bridge Amount") Increment or decrement the number required. - -#### Number of Trials - -This setting determines how many trials are needed to dispel the barrier in Ganons castle. - -![Trials](images/setting_trials.png "Trials") Increment or decrement the number of trials needed. - -If trials are set to at least 1, Ganons castle will show locations for the trials. When you clear a trial, mark that location as cleared. Once the number of cleared trials is greater than the number of required trials, the last chest will appear available. - -I have not found a good way to represent that a trial started as dispelled. - -#### Starting Age - -This setting determines which age you started as. - -- ![Child Start](images/setting_age_child.png "Child Start") Link started as child. -- ![Adult Start](images/setting_age_adult.png "Adult Start") Link started as adult. - -If you have selected ![Open Door](images/setting_door_open.png "Open Door") or collected an ![Ocarina](images/fairyocarina.png "Ocarina") and ![Song of Time](images/time_colored.png "Song of Time") the checks for the other age will unlock. - -#### Bombchus Are Considered in Logic - -This setting determines if Bombchus are considered by the logic. - -- ![Bombchus not in logic](images/setting_logic_chus_no.png "Bombchus not in logic") Bombchus will never be considered by the logic and can be used to sequence break bomb locations. -- ![Bombchus in logic](images/setting_logic_chus_yes.png "Bombchus in logic") Bombchus can be used as regular explosives like bombs in logic. - -#### Shopsanity - -This setting determines if Shopsanity is active. - -- ![Shopsanity off](images/setting_shopsanity_no.png "Shopsanity off") The shops have their regular items. -- ![Shopsanity on](images/setting_shopsanity_yes.png "Shopsanity on") A varying amount of items in the shops is randomized. - -#### Tokensanity - -This setting determines which Gold Skulltulas are shown, especially useful for Tokensanity. - -- ![Skulltulas hidden](images/setting_tokens_off.png "Skulltulas hidden") Gold Skulltulas will be hidden. -- ![Skulltulas in dungeons](images/setting_tokens_dungeons.png "Skulltulas in dungeons") Gold Skulltulas in dungeons will be displayed. -- ![Skulltulas in overworld](images/setting_tokens_overworld.png "Skulltulas in overworld") Gold Skulltulas in the overworld will be displayed. -- ![Skulltulas everywhere](images/setting_tokens_all.png "Skulltulas everywhere") All Gold Skulltulas will be displayed. - -#### Scrub Shuffle - -This setting determines if all Deku Scrubs have randomized items. - -- ![Scrubs not shuffled](images/setting_scrub_shuffle_no.png "Scrubs not shuffled") Only the three Deku Scrubs that give actual items in the vanilla game can have random items. -- ![Scrubs shuffled](images/setting_scrub_shuffle_yes.png "Scrubs shuffled") All Deku Scrubs can have random items. - -#### Shuffle Cows - -This setting determines if cows have randomized items. - -- ![Cowsanity off](images/setting_cowsanity_no.png "Cowsanity off") The cows just give milk when Eponas song gets played. -- ![Cowsanity on](images/setting_cowsanity_yes.png "Cowsanity on") The cows will give a random item the first time Eponas song gets played. - -#### Shuffle Kokiri Sword - -This setting determines if the Kokiri Sword gets shuffled. - -- ![Kokiri Sword not shuffled](images/setting_shuffle_sword1_no.png "Kokiri Sword not shuffled") The Kokiri Sword is not shuffled and will be captured in the corresponding chest by default. -- ![Kokiri Sword shuffled](images/setting_shuffle_sword1_yes.png "Kokiri Sword shuffled") The Kokiri Sword is shuffled into the item pool and will not be captured. - -#### Shuffle Ocarinas - -This setting determines if the Ocarinas get shuffled. - -- ![Ocarinas not shuffled](images/setting_shuffle_ocarinas_no.png "Ocarinas not shuffled") The Ocarinas are not shuffled and will be captured in the corresponding chests by default. -- ![Ocarinas shuffled](images/setting_shuffle_ocarinas_yes.png "Ocarinas shuffled") The Ocarinas are shuffled into the item pool and will not be captured. - -#### Shuffle Weird Egg - -This setting determines if the Weird Egg gets shuffled. - -- ![Weird Egg not shuffled](images/setting_shuffle_egg_no.png "Weird Egg not shuffled") The Weird Egg is not shuffled and will be captured in the corresponding chest by default. -- ![Weird Egg shuffled](images/setting_shuffle_egg_yes.png "Weird Egg shuffled") The Weird Egg is shuffled into the item pool and will not be captured. - -#### Shuffle Gerudo Card - -This setting determines if the Gerudo Card gets shuffled. - -- ![Gerudo Card not shuffled](images/setting_shuffle_card_no.png "Gerudo Card not shuffled") The Gerudo Card is not shuffled and will be captured in the corresponding chest by default. -- ![Gerudo Card shuffled](images/setting_shuffle_card_yes.png "Gerudo Card shuffled") The Gerudo Card is shuffled into the item pool and will not be captured. - -#### Shuffle Magic Beans - -This setting determines if Magic Beans are shuffled. - -- ![Magic Beans not shuffled](images/setting_shuffle_beans_no.png "Magic Beans not shuffled") Magic Beans are not shuffled and will be captured in the corresponding chest by default. -- ![Magic Beans shuffled](images/setting_shuffle_beans_yes.png "Magic Beans shuffled") The Magic Beans are shuffled into the item pool and will not be captured. - -#### Shuffle Medigoron & Carpet Salesman - -This setting determines if Medigoron and Carpet Salesman items are shuffled. - -- ![Medigoron and Carpet Salesman not shuffled](images/setting_merchants_off.png "Medigoron and Carpet Salesman not shuffled") Medigoron and Carpet Salesman items are not shuffled. -- ![Medigoron and Carpet Salesman shuffled](images/setting_merchants_shuffle.png "Medigoron and Carpet Salesman shuffled") Medigoron and Carpet Salesman items are shuffled and the merchants sell one randomized item for 200 rupees each. - -#### LACS Condition - -This setting determines what is needed to trigger the Light Arrow cutscene in the Temple of Time. - -- ![Vanilla](images/setting_lacs_vanilla.png "Vanilla") Shadow medallion and spirit medallion required -- ![Stones](images/setting_lacs_stones.png "Stones") Variable amount of stones required -- ![Medallions](images/setting_lacs_medallions.png "Medallions") Variable amount of medallions required -- ![Dungeons](images/setting_lacs_dungeons.png "Dungeons") Variable amount of medallions and stones required -- ![GS tokens](images/setting_lacs_gs.png "GS tokens") Variable amount of Gold Skulltula tokens required - -#### LACS Amount - -This setting determines how many (if any) of the items specified in `LACS Condition` are needed. - -![LACS Condition](images/setting_lacs_amount.png "LACS Condition") Increment or decrement the number required. - -#### Skip Child Zelda - -This setting determines if visiting Zelda in the Hyrule Castle Gardens is skipped. - -- ![Child Zelda not skipped](images/setting_zelda_off.png "Child Zelda not skipped") Zelda has to be visited like in the vanilla game. -- ![Child Zelda skipped](images/setting_zelda_free.png "Child Zelda skipped") Zelda already counts as visited, allowing dependent events to unfold. - -#### Complete Mask Quest - -This setting determines if all masks will be available once the Happy Mask Shop is open. - -- ![Mask Quest not complete](images/setting_masks_off.png "Mask Quest not complete") The mask quest has to be completed step by step like in the vanilla game. -- ![Mask Quest complete](images/setting_masks_complete.png "Mask Quest complete") All the masks will be available once the Happy Mask Shop is open. - -#### Hints - -This setting determines when hintable locations will show up on the map ([see wiki](https://wiki.ootrandomizer.com/index.php?title=Readme#Other)). - -- ![Hints off](images/setting_hints_off.png "Hints off") Hintable locations will never show up on the map. -- ![Hints Truth](images/setting_hints_truth.png "Hints Truth") Hintable locations will show up on the map if you have ![Mask of Truth](images/truth.png "Mask of Truth"). -- ![Hints Agony](images/setting_hints_agony.png "Hints Agony") Hintable locations will show up on the map if you have ![Stone of Agony](images/agony.png "Stone of Agony"). -- ![Hints on](images/setting_hints_on.png "Hints on") Hintable locations will always show up on the map. - -#### Damage Multiplier - -This setting determines how much damage you take ([see wiki](https://wiki.ootrandomizer.com/index.php?title=Readme#Other)). - -- ![Damage x0.5](images/setting_damage_half.png "Damage x0.5") Damage is halved. -- ![Damage x1](images/setting_damage_normal.png "Damage x1") Damage is normal. -- ![Damage x2](images/setting_damage_double.png "Damage x2") Damage is doubled. -- ![Damage x4](images/setting_damage_quadruple.png "Damage x4") Damage is quadrupled. -- ![OHKO](images/setting_damage_ohko.png "OHKO") Damage kills you in one hit. - -#### Bean Planting - -This setting determines how the Magic Beans will be handled on the map. - -- ![Plant off](images/setting_plant_no.png "Plant off") The bean patches won't show up on the child map and adult locations will just show up once you have the bean item. -- ![Plant on](images/setting_plant_yes.png "Plant on") The bean patches will show up on the child map and adult locations require those to be checked off (meaning the bean has actually been planted there). - -### Detailed Logic - -This tab includes some options for more granular logic changes ([see wiki](https://wiki.ootrandomizer.com/index.php?title=Readme#Detailed_Logic)). - -#### Nighttime Skulltulas Expect Sun's Song - -This setting determines if logic expects the player to have an ocarina and the Sun’s Song to get Gold Skulltula locations that are only found at nighttime. - -- ![Sun's Song Not Expected](images/setting_skulltulas_sun_off.png "Sun's Song Not Expected") Sun's Song is not expected by logic. -- ![Sun's Song Expected](images/setting_skulltulas_sun_on.png "Sun's Song Expected") Sun's Song is expected, but locations will show as sequence breaks. - -#### Logic Tricks - -This tab also contains a list of (some of) the logic tricks that can be enabled in the randomizer. - ## Entrance Randomizer variants The entrance randomizer variants are very different from the regular map tracker variants: @@ -289,52 +56,16 @@ There are two variants, one for keysanity and one without. The keysanity variant I made a [quick explanation](https://youtu.be/4l8gDPkovAc) on how to use the ER variant, based on the previous split, but it still works basically the same. Excuse the poor sound quality, I don't have a great microphone. -### Settings (Entrance Randomizer only) - -The settings allow you to select which pools are actually shuffled (split based on Dev-R branch, since it is the most popular for ER). If they are not shuffled, the locations that still remain useful will appear on the `Locations` map instead, just like they would for the regular map tracker. - -#### Shuffle Interior Entrances - -- ![Interior Shuffle Off](images/setting_entrance_interiors_off.png "Interior Shuffle Off") No interiors are shuffled. -- ![Simple Interiors Shuffled](images/setting_entrance_interiors_simple.png "Simple Interiors Shuffled") Interiors except Link's House, Temple of Time, Kak Potion Shop, and Windmill are shuffled. -- ![All Interiors Shuffled](images/setting_entrance_interiors_all.png "All Interiors Shuffled") All interiors are shuffled. - -#### Shuffle Grotto Entrances - -- ![Grotto Shuffle Off](images/setting_entrance_grottos_off.png "Grotto Shuffle Off") Grottos and graves are not shuffled. -- ![Grottos Shuffled](images/setting_entrance_grottos_shuffle.png "Grottos Shuffled") Grottos and graves are shuffled. - -#### Shuffle Dungeon Entrances - -- ![Dungeon Shuffle Off](images/setting_entrance_dungeons_off.png "Dungeon Shuffle Off") Dungeons are not shuffled. -- ![Dungeons Shuffled](images/setting_entrance_dungeons_shuffle.png "Dungeons Shuffled") Dungeons are shuffled. - -#### Shuffle Overworld Entrances - -- ![Overworld Entrance Shuffle Off](images/setting_entrance_overworld_off.png "Overworld Entrance Shuffle Off") Overworld entrances are not shuffled. -- ![Overworld Entrances Shuffled](images/setting_entrance_overworld_shuffle.png "Overworld Entrances Shuffled") Overworld entrances are shuffled. - -#### Randomize Owl Drops - -- ![Owl Drop Shuffle Off](images/setting_entrance_owl_off.png "Owl Drop Shuffle Off") Owl drops are not shuffled. -- ![Owl Drops Shuffled](images/setting_entrance_owl_shuffle.png "Owl Drops Shuffled") Owl drops are shuffled. - -#### Randomize Warp Song Destinations - -- ![Warp Song Shuffle Off](images/setting_entrance_warpsong_off.png "Warp Song Shuffle Off") Warp song destinations are not shuffled. -- ![Warp Songs Shuffled](images/setting_entrance_warpsong_shuffle.png "Warp Songs Shuffled") Warp song destinations are shuffled. - -#### Randomize Overworld Spawns - -- ![Spawn Shuffle Off](images/setting_entrance_spawn_off.png "Spawn Shuffle Off") Spawns are not shuffled. -- ![Spawn Shuffled](images/setting_entrance_spawn_shuffle.png "Spawn Shuffled") Spawns are shuffled. - ### Counters -Additionally there are counters for the useful indoors entrances, so you can evaluate how much focus to put on exploring more entrances: +There are counters for the useful indoors entrances, so you can evaluate how much focus to put on exploring more entrances: - ![Counter: Generic Grottos](images/entrance_grotto_generic.png "Counter: Generic Grottos") 9 generic grottos (1 chest, 1 gossip stone). - ![Counter: Scrubs](images/entrance_grotto_scrub.png "Counter: Scrubs") 10 grottos that contain 2 or 3 scrubs each. Only 2 of these are relevant if `Shuffle Scrubs` is off. - ![Counter: Cows](images/entrance_grotto_cow.png "Counter: Cows") 4 grottos/houses that only have a cow (Impas House Back, Ingo Barn, Lon Lon Corner Tower, Mountain Bombable Grotto). The other cow spots have their own markers (![Links House](images/entrance_house_link.png) and ![Field Valley Grotto](images/entrance_grotto_field_valley.png)) - ![Counter: Great Fairies](images/entrance_house_fairy.png "Counter: Great Fairies") 6 Great Fairy Fountains. - ![Counter: Shops](images/entrance_house_shop.png "Counter: Shops") 7 randomized shops (Kakariko Potion Shop has 2 separate icons for capture). + +## Settings + +The cogwheel at the top of the items allows you to change several settings for the tracker. An explanation of each can be found [here](SETTINGS.md). diff --git a/ootrando_overworldmap_hamsda/SETTINGS.md b/ootrando_overworldmap_hamsda/SETTINGS.md new file mode 100644 index 00000000..ea13618b --- /dev/null +++ b/ootrando_overworldmap_hamsda/SETTINGS.md @@ -0,0 +1,303 @@ +# Settings (for map variants) + +There is a variety of toggles available to accomodate the different settings the randomizer offers. The settings are arranged to mimic the current GUI of the randomizer. + +The presets icon is a customizable preset loader. Cycle through the presets with left click and load with right click (some settings might require an extra right click since they depend on other settings). +To customize the presets, please override `scripts/user_presets.lua` and edit to your liking. I hope the structure is fairly straightforward. Which setting number corresponds to which setting can be found in `items/options.json` (0 based indexing). + +## Main Rules: Open + +This tab contains most of the important settings that determine how "open" a randomizer seed is ([see wiki](https://wiki.ootrandomizer.com/index.php?title=Readme#Open)). + +### Forest + +This setting determines if you can leave the Kokiri Forest without beating the Deku Tree. + +- ![Closed Forest](images/setting_forest_closed.png "Closed Forest") You will find the Kokiri Sword and Slingshot early on to beat the Deku Tree before leaving Kokiri Forest. +- ![Closed Deku](images/setting_forest_deku.png "Closed Deku") You can leave Kokiri Forest but will need the Kokiri Sword and Deku Shield to go to the Deku Tree. +- ![Open Forest](images/setting_forest_open.png "Open Forest") You can immediately leave Kokiri Forest and go to the Deku Tree. + +### Kakariko Gate + +This setting determines the behaviour of the Kakariko Gate to Death Mountain Trail as child as well as the Happy Mask Shop. + +- ![Open Gate](images/setting_kak_open.png "Open Gate") The gate is always open. The Happy Mask Shop opens once you obtain Zelda's Letter. +- ![Zelda's Letter Opens Gate](images/setting_kak_letter.png "Zelda's Letter Opens Gate") Both the gate and the Happy Mask Shop open once you obtain Zelda's Letter. +- ![Closed Gate](images/setting_kak_closed.png "Closed Gate") Both the gate and the Happy Mask Shop are closed until showing Zelda's Letter to the guard. + +### Door of Time + +This setting determines whether the Door of Time starts open or closed. + +- ![Closed Door](images/setting_door_closed.png "Closed Door") You will need to find Song of Time to open the Door of Time and unlock the ability to time travel. +- ![Open Door](images/setting_door_open.png "Open Door") The Door of Time starts open and you can immediately switch between ages. + +### Zora's Fountain + +This setting determines whether Zoras Fountain starts open or closed. + +- ![Closed Fountain](images/setting_fountain_closed.png "Closed Fountain") You can find Rutos Letter and open Zoras Fountain by moving King Zora. +- ![Adult Fountain](images/setting_fountain_adult.png "Adult Fountain") Zoras Fountain can be accessed as adult without handing in Rutos Letter. Child access to the fountain is unchanged. +- ![Open Fountain](images/setting_fountain_open.png "Open Fountain") Rutos Letter can no longer be found, but Zoras Fountain can be accessed without moving King Zora for both ages. + +### Gerudo Fortress + +This setting determines the state of the. + +- ![Normal Gerudo Fortress](images/setting_gerudo_fortress_normal.png "Normal Gerudo Fortress") You will have to rescue all 4 carpenters. +- ![Fast Gerudo Fortress](images/setting_gerudo_fortress_fast.png "Fast Gerudo Fortress") You only need to free one carpenter (F1 North). +- ![Open Gerudo Fortress](images/setting_gerudo_fortress_open.png "Open Gerudo Fortress") The carpenters start free and the Fortress is immediately accessible. + +### Rainbow Bridge Requirement + +This setting determines what is needed to trigger the rainbow bridge in front of Ganons castle. + +- ![Always Open](images/setting_bridge_open.png "Always Open") Nothing required, bridge is always open +- ![Vanilla](images/setting_bridge_vanilla.png "Vanilla") Light arrows, shadow medallion, and spirit medallion required +- ![Stones](images/setting_bridge_stones.png "Stones") Variable amount of stones required +- ![Medallions](images/setting_bridge_medallions.png "Medallions") Variable amount of medallions required +- ![Dungeons](images/setting_bridge_dungeons.png "Dungeons") Variable amount of medallions and stones required +- ![GS tokens](images/setting_bridge_gs.png "GS tokens") Variable amount of Gold Skulltula tokens required + +### Rainbow Bridge Amount + +This setting determines how many (if any) of the items specified in `Rainbow Bridge Requirement` are needed. + +![Bridge Amount](images/setting_bridge_amount.png "Bridge Amount") Increment or decrement the number required. + +### Number of Trials + +This setting determines how many trials are needed to dispel the barrier in Ganons castle. + +![Trials](images/setting_trials.png "Trials") Increment or decrement the number of trials needed. + +If trials are set to at least 1, Ganons castle will show locations for the trials. When you clear a trial, mark that location as cleared. Once the number of cleared trials is greater than the number of required trials, the last chest will appear available. + +I have not found a good way to represent that a trial started as dispelled. + +## Main Rules: World + +This tab contains more settings about the world structure of a randomizer seed ([see wiki](https://wiki.ootrandomizer.com/index.php?title=Readme#World)). + +A lot of these settings will not have any influence on the standard variant. To get the full benefits, you will need to use the entrance randomizer variant. + +### Starting Age + +This setting determines which age you started as. + +- ![Child Start](images/setting_age_child.png "Child Start") Link started as child. +- ![Adult Start](images/setting_age_adult.png "Adult Start") Link started as adult. + +If you have selected ![Open Door](images/setting_door_open.png "Open Door") or collected an ![Ocarina](images/fairyocarina.png "Ocarina") and ![Song of Time](images/song_time.png "Song of Time") the checks for the other age will unlock. + +### Shuffle Interior Entrances + +- ![Interior Shuffle Off](images/setting_entrance_interiors_off.png "Interior Shuffle Off") No interiors are shuffled. +- ![Simple Interiors Shuffled](images/setting_entrance_interiors_simple.png "Simple Interiors Shuffled") Interiors except Link's House, Temple of Time, Kak Potion Shop, and Windmill are shuffled. +- ![All Interiors Shuffled](images/setting_entrance_interiors_all.png "All Interiors Shuffled") All interiors are shuffled. + +### Shuffle Grotto Entrances + +- ![Grotto Shuffle Off](images/setting_entrance_grottos_off.png "Grotto Shuffle Off") Grottos and graves are not shuffled. +- ![Grottos Shuffled](images/setting_entrance_grottos_shuffle.png "Grottos Shuffled") Grottos and graves are shuffled. + +### Shuffle Dungeon Entrances + +- ![Dungeon Shuffle Off](images/setting_entrance_dungeons_off.png "Dungeon Shuffle Off") Dungeons are not shuffled. +- ![Dungeons Shuffled](images/setting_entrance_dungeons_shuffle.png "Dungeons Shuffled") Dungeons are shuffled. + +### Shuffle Overworld Entrances + +- ![Overworld Entrance Shuffle Off](images/setting_entrance_overworld_off.png "Overworld Entrance Shuffle Off") Overworld entrances are not shuffled. +- ![Overworld Entrances Shuffled](images/setting_entrance_overworld_shuffle.png "Overworld Entrances Shuffled") Overworld entrances are shuffled. + +### Mix Entrance Pools + +- ![Mix Entrance Pools Off](images/setting_entrance_mixed_off.png "Mix Entrance Pools Off") Entrance pools are not mixed. +- ![Mix Indoor Entrances](images/setting_entrance_mixed_indoor.png "Mix Indoor Entrances") Shuffled entrances that are not `Overworld` are mixed. +- ![Mix All Entrances](images/setting_entrance_mixed_all.png "Mix All Entrances") All shuffled entrances are mixed. + +### Randomize Owl Drops + +- ![Owl Drop Shuffle Off](images/setting_entrance_owl_off.png "Owl Drop Shuffle Off") Owl drops are not shuffled. +- ![Owl Drops Shuffled](images/setting_entrance_owl_shuffle.png "Owl Drops Shuffled") Owl drops are shuffled. + +### Randomize Warp Song Destinations + +- ![Warp Song Shuffle Off](images/setting_entrance_warpsong_off.png "Warp Song Shuffle Off") Warp song destinations are not shuffled. +- ![Warp Songs Shuffled](images/setting_entrance_warpsong_shuffle.png "Warp Songs Shuffled") Warp song destinations are shuffled. + +### Randomize Overworld Spawns + +- ![Spawn Shuffle Off](images/setting_entrance_spawn_off.png "Spawn Shuffle Off") Spawns are not shuffled. +- ![Spawn Shuffled](images/setting_entrance_spawn_shuffle.png "Spawn Shuffled") Spawns are shuffled. + + +### Bombchus Are Considered in Logic + +This setting determines if Bombchus are considered by the logic. + +- ![Bombchus not in logic](images/setting_logic_chus_no.png "Bombchus not in logic") Bombchus will never be considered by the logic and can be used to sequence break bomb locations. +- ![Bombchus in logic](images/setting_logic_chus_yes.png "Bombchus in logic") Bombchus can be used as regular explosives like bombs in logic. + +## Main Rules: Shuffle + +This tab contains settings about additional items being shuffled ([see wiki](https://wiki.ootrandomizer.com/index.php?title=Readme#Shuffle)). + +### Shopsanity + +This setting determines if Shopsanity is active. + +- ![Shopsanity off](images/setting_shopsanity_no.png "Shopsanity off") The shops have their regular items. +- ![Shopsanity on](images/setting_shopsanity_yes.png "Shopsanity on") A varying amount of items in the shops is randomized. + +### Tokensanity + +This setting determines which Gold Skulltulas are shown, especially useful for Tokensanity. + +- ![Skulltulas hidden](images/setting_tokens_off.png "Skulltulas hidden") Gold Skulltulas will be hidden. +- ![Skulltulas in dungeons](images/setting_tokens_dungeons.png "Skulltulas in dungeons") Gold Skulltulas in dungeons will be displayed. +- ![Skulltulas in overworld](images/setting_tokens_overworld.png "Skulltulas in overworld") Gold Skulltulas in the overworld will be displayed. +- ![Skulltulas everywhere](images/setting_tokens_all.png "Skulltulas everywhere") All Gold Skulltulas will be displayed. + +### Scrub Shuffle + +This setting determines if all Deku Scrubs have randomized items. + +- ![Scrubs not shuffled](images/setting_scrub_shuffle_no.png "Scrubs not shuffled") Only the three Deku Scrubs that give actual items in the vanilla game can have random items. +- ![Scrubs shuffled](images/setting_scrub_shuffle_yes.png "Scrubs shuffled") All Deku Scrubs can have random items. + +### Shuffle Cows + +This setting determines if cows have randomized items. + +- ![Cowsanity off](images/setting_cowsanity_no.png "Cowsanity off") The cows just give milk when Eponas song gets played. +- ![Cowsanity on](images/setting_cowsanity_yes.png "Cowsanity on") The cows will give a random item the first time Eponas song gets played. + +### Shuffle Kokiri Sword + +This setting determines if the Kokiri Sword gets shuffled. + +- ![Kokiri Sword not shuffled](images/setting_shuffle_sword1_no.png "Kokiri Sword not shuffled") The Kokiri Sword is not shuffled and will be captured in the corresponding chest by default. +- ![Kokiri Sword shuffled](images/setting_shuffle_sword1_yes.png "Kokiri Sword shuffled") The Kokiri Sword is shuffled into the item pool and will not be captured. + +### Shuffle Ocarinas + +This setting determines if the Ocarinas get shuffled. + +- ![Ocarinas not shuffled](images/setting_shuffle_ocarinas_no.png "Ocarinas not shuffled") The Ocarinas are not shuffled and will be captured in the corresponding chests by default. +- ![Ocarinas shuffled](images/setting_shuffle_ocarinas_yes.png "Ocarinas shuffled") The Ocarinas are shuffled into the item pool and will not be captured. + +### Shuffle Weird Egg + +This setting determines if the Weird Egg gets shuffled. + +- ![Weird Egg not shuffled](images/setting_shuffle_egg_no.png "Weird Egg not shuffled") The Weird Egg is not shuffled and will be captured in the corresponding chest by default. +- ![Weird Egg shuffled](images/setting_shuffle_egg_yes.png "Weird Egg shuffled") The Weird Egg is shuffled into the item pool and will not be captured. + +### Shuffle Gerudo Card + +This setting determines if the Gerudo Card gets shuffled. + +- ![Gerudo Card not shuffled](images/setting_shuffle_card_no.png "Gerudo Card not shuffled") The Gerudo Card is not shuffled and will be captured in the corresponding chest by default. +- ![Gerudo Card shuffled](images/setting_shuffle_card_yes.png "Gerudo Card shuffled") The Gerudo Card is shuffled into the item pool and will not be captured. + +### Shuffle Magic Beans + +This setting determines if Magic Beans are shuffled. + +- ![Magic Beans not shuffled](images/setting_shuffle_beans_no.png "Magic Beans not shuffled") Magic Beans are not shuffled and will be captured in the corresponding chest by default. +- ![Magic Beans shuffled](images/setting_shuffle_beans_yes.png "Magic Beans shuffled") The Magic Beans are shuffled into the item pool and will not be captured. + +### Shuffle Medigoron & Carpet Salesman + +This setting determines if Medigoron and Carpet Salesman items are shuffled. + +- ![Medigoron and Carpet Salesman not shuffled](images/setting_shuffle_merchants_no.png "Medigoron and Carpet Salesman not shuffled") Medigoron and Carpet Salesman items are not shuffled. +- ![Medigoron and Carpet Salesman shuffled](images/setting_shuffle_merchants_yes.png "Medigoron and Carpet Salesman shuffled") Medigoron and Carpet Salesman items are shuffled and the merchants sell one randomized item for 200 rupees each. + +## Main Rules: Shuffle Dungeon Items + +This tab contains settings about dungeon items being shuffled ([see wiki](https://wiki.ootrandomizer.com/index.php?title=Readme#Shuffle_Dungeon_Items)). + +In non keysanity variants, all of these settings will be forced to `Off`, effectively giving you every key. Can be used with the keysanity variants in mystery settings, so you don't have to mark all keys manually. + +The individual keycounts will be remembered, should you turn this on by accident. Just turn it off again to restore your previous keycounts. + +### Shuffle Small Keys + +This setting determines if Small Keys are shuffled (non keys variants will force this off). + +- ![Small Keys not shuffled](images/setting_shuffle_smallkeys_no.png "Small Keys not shuffled") Small Keys are not shuffled and will always be considered at their maximum. +- ![Small Keys shuffled](images/setting_shuffle_smallkeys_yes.png "Small Keys shuffled") Small Keys are shuffled and need to be tracked by the user. + +### Shuffle Thieves' Hideout Keys + +This setting determines if Thieves' Hideout Keys are shuffled (non keys variants will force this off). + +- ![Thieves' Hideout Keys not shuffled](images/setting_shuffle_hideoutkeys_no.png "Thieves' Hideout Keys not shuffled") Thieves' Hideout Keys are not shuffled and will always be considered at their maximum. +- ![Thieves' Hideout Keys shuffled](images/setting_shuffle_hideoutkeys_yes.png "Thieves' Hideout Keys shuffled") Thieves' Hideout Keys are shuffled and need to be tracked by the user. + +### Shuffle Boss Keys + +This setting determines if Boss Keys are shuffled (non keys variants will force this off). + +- ![Boss Keys not shuffled](images/setting_shuffle_bosskeys_no.png "Boss Keys not shuffled") Boss Keys are not shuffled and will always be considered active. +- ![Boss Keys shuffled](images/setting_shuffle_bosskeys_yes.png "Boss Keys shuffled") Boss Keys are shuffled and need to be tracked by the user. + +### Shuffle Ganon's Boss Key + +This setting determines if Ganon's Boss Key is shuffled (non keys variants will force this off). + +- ![Ganon's Boss Key not shuffled](images/setting_shuffle_ganon_bosskey_no.png "Ganon's Boss Key not shuffled") Ganon's Boss Key is not shuffled and will always be considered active. +- ![Ganon's Boss Key shuffled](images/setting_shuffle_ganon_bosskey_yes.png "Ganon's Boss Key shuffled") Ganon's Boss Key is shuffled and needs to be tracked by the user. + +## Other + +This tab contains some additional settings mostly for convenience ([see wiki](https://wiki.ootrandomizer.com/index.php?title=Readme#Other_2)). + +### Skip Child Zelda + +This setting determines if visiting Zelda in the Hyrule Castle Gardens is skipped. + +- ![Child Zelda not skipped](images/setting_zelda_off.png "Child Zelda not skipped") Zelda has to be visited like in the vanilla game. +- ![Child Zelda skipped](images/setting_zelda_free.png "Child Zelda skipped") Zelda already counts as visited, allowing dependent events to unfold. + +### Complete Mask Quest + +This setting determines if all masks will be available once the Happy Mask Shop is open. + +- ![Mask Quest not complete](images/setting_masks_off.png "Mask Quest not complete") The mask quest has to be completed step by step like in the vanilla game. +- ![Mask Quest complete](images/setting_masks_complete.png "Mask Quest complete") All the masks will be available once the Happy Mask Shop is open. + +### Hints + +This setting determines when hintable locations will show up on the map ([see wiki](https://wiki.ootrandomizer.com/index.php?title=Readme#Other)). + +- ![Hints off](images/setting_hints_off.png "Hints off") Hintable locations will never show up on the map. +- ![Hints Truth](images/setting_hints_truth.png "Hints Truth") Hintable locations will show up on the map if you have ![Mask of Truth](images/truth.png "Mask of Truth"). +- ![Hints Agony](images/setting_hints_agony.png "Hints Agony") Hintable locations will show up on the map if you have ![Stone of Agony](images/agony.png "Stone of Agony"). +- ![Hints on](images/setting_hints_on.png "Hints on") Hintable locations will always show up on the map. + +### Damage Multiplier + +This setting determines how much damage you take ([see wiki](https://wiki.ootrandomizer.com/index.php?title=Readme#Other)). + +- ![Damage x0.5](images/setting_damage_half.png "Damage x0.5") Damage is halved. +- ![Damage x1](images/setting_damage_normal.png "Damage x1") Damage is normal. +- ![Damage x2](images/setting_damage_double.png "Damage x2") Damage is doubled. +- ![Damage x4](images/setting_damage_quadruple.png "Damage x4") Damage is quadrupled. +- ![OHKO](images/setting_damage_ohko.png "OHKO") Damage kills you in one hit. + +### Nighttime Skulltulas Expect Sun's Song + +This setting determines if logic expects the player to have an ocarina and the Sun’s Song to get Gold Skulltula locations that are only found at nighttime. + +- ![Sun's Song Not Expected](images/setting_skulltulas_sun_off.png "Sun's Song Not Expected") Sun's Song is not expected by logic. +- ![Sun's Song Expected](images/setting_skulltulas_sun_on.png "Sun's Song Expected") Sun's Song is expected, but locations will show as sequence breaks. + +## Logic Tricks + +This tab contains a list of the logic tricks that can be enabled in the randomizer ([see wiki](https://wiki.ootrandomizer.com/index.php?title=Readme#Detailed_Logic)). + +The tracker will show the tricks from this list as sequence breaks, even if they are turned off. Enabling them will show them as in logic instead, reflecting your chosen logic as closely as possible. diff --git a/ootrando_overworldmap_hamsda/changelog.md b/ootrando_overworldmap_hamsda/changelog.md index a13793ad..eeb1f24f 100644 --- a/ootrando_overworldmap_hamsda/changelog.md +++ b/ootrando_overworldmap_hamsda/changelog.md @@ -1,5 +1,19 @@ # Changelog +## 3.7.0.0 + +- changed startup to fix incorrect save loading +- added missing `Market Back Alley` capture in ER +- added customizable setting preset loader +- added settings for shuffled keys +- changed hintable locations based on [PR #1381](https://github.com/TestRunnerSRL/OoT-Randomizer/pull/1381) +- renamed locations based on [PR #1280](https://github.com/TestRunnerSRL/OoT-Randomizer/pull/1280) and [PR #1282](https://github.com/TestRunnerSRL/OoT-Randomizer/pull/1282) +- removed logic trick in MQ Forest based on [PR #1359](https://github.com/TestRunnerSRL/OoT-Randomizer/pull/1359) +- added logic trick for KZ skip based on [PR #1317](https://github.com/TestRunnerSRL/OoT-Randomizer/pull/1317) +- added setting for mixed pools in ER +- changed style of settings to text instead of icons +- changed bean planting from setting to `user_setting` + ## 3.6.0.0 - fixed overlap between LH owl and grotto in ER @@ -877,7 +891,7 @@ - tried to model the reqs - marked lens as optional (pretty easy to do the entire dungeon without) - added option to reach Bongo Bongo with longshot (there is a scarecrow you can reach) -- improved Gerudo Training Grounds: +- improved Gerudo Training Ground: - split up the items - added reqs to each of the outer chests - marked hammer as optional for the pillar room (can be easily skipped with a damage boost) diff --git a/ootrando_overworldmap_hamsda/images/entrance_grotto_comp.png b/ootrando_overworldmap_hamsda/images/entrance_grotto_comp.png deleted file mode 100644 index c9657140..00000000 Binary files a/ootrando_overworldmap_hamsda/images/entrance_grotto_comp.png and /dev/null differ diff --git a/ootrando_overworldmap_hamsda/images/entrance_grotto_royal_tomb.png b/ootrando_overworldmap_hamsda/images/entrance_grotto_royal_tomb.png new file mode 100644 index 00000000..15a037ca Binary files /dev/null and b/ootrando_overworldmap_hamsda/images/entrance_grotto_royal_tomb.png differ diff --git a/ootrando_overworldmap_hamsda/images/entrance_overworld_mkt_aly.png b/ootrando_overworldmap_hamsda/images/entrance_overworld_mkt_aly.png new file mode 100644 index 00000000..e3368648 Binary files /dev/null and b/ootrando_overworldmap_hamsda/images/entrance_overworld_mkt_aly.png differ diff --git a/ootrando_overworldmap_hamsda/images/label_gf.png b/ootrando_overworldmap_hamsda/images/label_gf.png deleted file mode 100644 index 4f87208c..00000000 Binary files a/ootrando_overworldmap_hamsda/images/label_gf.png and /dev/null differ diff --git a/ootrando_overworldmap_hamsda/images/label_th.png b/ootrando_overworldmap_hamsda/images/label_th.png new file mode 100644 index 00000000..1c632a00 Binary files /dev/null and b/ootrando_overworldmap_hamsda/images/label_th.png differ diff --git a/ootrando_overworldmap_hamsda/images/logic_forest_mq_hallway_switch_hookshot.png b/ootrando_overworldmap_hamsda/images/logic_forest_mq_hallway_switch_hookshot.png deleted file mode 100644 index 725e9c3e..00000000 Binary files a/ootrando_overworldmap_hamsda/images/logic_forest_mq_hallway_switch_hookshot.png and /dev/null differ diff --git a/ootrando_overworldmap_hamsda/images/logic_king_zora_skip.png b/ootrando_overworldmap_hamsda/images/logic_king_zora_skip.png new file mode 100644 index 00000000..430b2dbb Binary files /dev/null and b/ootrando_overworldmap_hamsda/images/logic_king_zora_skip.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_age_adult.png b/ootrando_overworldmap_hamsda/images/setting_age_adult.png index f604de5f..367754e5 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_age_adult.png and b/ootrando_overworldmap_hamsda/images/setting_age_adult.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_age_child.png b/ootrando_overworldmap_hamsda/images/setting_age_child.png index 2b507354..48f97f5c 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_age_child.png and b/ootrando_overworldmap_hamsda/images/setting_age_child.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_bridge_amount.png b/ootrando_overworldmap_hamsda/images/setting_bridge_amount.png index bf4f3fcc..3adce2a7 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_bridge_amount.png and b/ootrando_overworldmap_hamsda/images/setting_bridge_amount.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_bridge_dungeons.png b/ootrando_overworldmap_hamsda/images/setting_bridge_dungeons.png index 4539849c..9c5500c1 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_bridge_dungeons.png and b/ootrando_overworldmap_hamsda/images/setting_bridge_dungeons.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_bridge_gs.png b/ootrando_overworldmap_hamsda/images/setting_bridge_gs.png index 3f5198e5..4e6353d0 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_bridge_gs.png and b/ootrando_overworldmap_hamsda/images/setting_bridge_gs.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_bridge_medallions.png b/ootrando_overworldmap_hamsda/images/setting_bridge_medallions.png index 5b3aacbe..692c260e 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_bridge_medallions.png and b/ootrando_overworldmap_hamsda/images/setting_bridge_medallions.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_bridge_open.png b/ootrando_overworldmap_hamsda/images/setting_bridge_open.png index 4a5aaefa..fb005926 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_bridge_open.png and b/ootrando_overworldmap_hamsda/images/setting_bridge_open.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_bridge_stones.png b/ootrando_overworldmap_hamsda/images/setting_bridge_stones.png index b73bcc2e..50c7104d 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_bridge_stones.png and b/ootrando_overworldmap_hamsda/images/setting_bridge_stones.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_bridge_vanilla.png b/ootrando_overworldmap_hamsda/images/setting_bridge_vanilla.png index db4bd815..a2c65bc0 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_bridge_vanilla.png and b/ootrando_overworldmap_hamsda/images/setting_bridge_vanilla.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_cowsanity_no.png b/ootrando_overworldmap_hamsda/images/setting_cowsanity_no.png index b7145798..ee0c2913 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_cowsanity_no.png and b/ootrando_overworldmap_hamsda/images/setting_cowsanity_no.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_cowsanity_yes.png b/ootrando_overworldmap_hamsda/images/setting_cowsanity_yes.png index 5dc714c9..7ac826a8 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_cowsanity_yes.png and b/ootrando_overworldmap_hamsda/images/setting_cowsanity_yes.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_damage_double.png b/ootrando_overworldmap_hamsda/images/setting_damage_double.png index e4e8bdc1..3ce165c2 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_damage_double.png and b/ootrando_overworldmap_hamsda/images/setting_damage_double.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_damage_half.png b/ootrando_overworldmap_hamsda/images/setting_damage_half.png index cb7e96b4..93adc7e9 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_damage_half.png and b/ootrando_overworldmap_hamsda/images/setting_damage_half.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_damage_normal.png b/ootrando_overworldmap_hamsda/images/setting_damage_normal.png index be4cd48e..09db93f2 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_damage_normal.png and b/ootrando_overworldmap_hamsda/images/setting_damage_normal.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_damage_ohko.png b/ootrando_overworldmap_hamsda/images/setting_damage_ohko.png index 7978a802..be566024 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_damage_ohko.png and b/ootrando_overworldmap_hamsda/images/setting_damage_ohko.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_damage_quadruple.png b/ootrando_overworldmap_hamsda/images/setting_damage_quadruple.png index 29e0ecad..ab8117d1 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_damage_quadruple.png and b/ootrando_overworldmap_hamsda/images/setting_damage_quadruple.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_door_closed.png b/ootrando_overworldmap_hamsda/images/setting_door_closed.png index eac2f7c5..2327b11d 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_door_closed.png and b/ootrando_overworldmap_hamsda/images/setting_door_closed.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_door_open.png b/ootrando_overworldmap_hamsda/images/setting_door_open.png index ca8709df..ab4429bd 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_door_open.png and b/ootrando_overworldmap_hamsda/images/setting_door_open.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_entrance_dungeons_off.png b/ootrando_overworldmap_hamsda/images/setting_entrance_dungeons_off.png index 47880704..132849f7 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_entrance_dungeons_off.png and b/ootrando_overworldmap_hamsda/images/setting_entrance_dungeons_off.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_entrance_dungeons_shuffle.png b/ootrando_overworldmap_hamsda/images/setting_entrance_dungeons_shuffle.png index 36bb0a2e..3cf82937 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_entrance_dungeons_shuffle.png and b/ootrando_overworldmap_hamsda/images/setting_entrance_dungeons_shuffle.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_entrance_grottos_off.png b/ootrando_overworldmap_hamsda/images/setting_entrance_grottos_off.png index 44938b83..94073d57 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_entrance_grottos_off.png and b/ootrando_overworldmap_hamsda/images/setting_entrance_grottos_off.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_entrance_grottos_shuffle.png b/ootrando_overworldmap_hamsda/images/setting_entrance_grottos_shuffle.png index 6abf517f..6668e4ed 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_entrance_grottos_shuffle.png and b/ootrando_overworldmap_hamsda/images/setting_entrance_grottos_shuffle.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_entrance_interiors_all.png b/ootrando_overworldmap_hamsda/images/setting_entrance_interiors_all.png index 9ca7b658..b787c7e7 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_entrance_interiors_all.png and b/ootrando_overworldmap_hamsda/images/setting_entrance_interiors_all.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_entrance_interiors_off.png b/ootrando_overworldmap_hamsda/images/setting_entrance_interiors_off.png index 70e0d66d..afd4b291 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_entrance_interiors_off.png and b/ootrando_overworldmap_hamsda/images/setting_entrance_interiors_off.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_entrance_interiors_simple.png b/ootrando_overworldmap_hamsda/images/setting_entrance_interiors_simple.png index 3858123c..0b71adf6 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_entrance_interiors_simple.png and b/ootrando_overworldmap_hamsda/images/setting_entrance_interiors_simple.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_entrance_mixed_all.png b/ootrando_overworldmap_hamsda/images/setting_entrance_mixed_all.png new file mode 100644 index 00000000..6581d753 Binary files /dev/null and b/ootrando_overworldmap_hamsda/images/setting_entrance_mixed_all.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_entrance_mixed_indoor.png b/ootrando_overworldmap_hamsda/images/setting_entrance_mixed_indoor.png new file mode 100644 index 00000000..7fafd202 Binary files /dev/null and b/ootrando_overworldmap_hamsda/images/setting_entrance_mixed_indoor.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_entrance_mixed_off.png b/ootrando_overworldmap_hamsda/images/setting_entrance_mixed_off.png new file mode 100644 index 00000000..d7971755 Binary files /dev/null and b/ootrando_overworldmap_hamsda/images/setting_entrance_mixed_off.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_entrance_overworld_off.png b/ootrando_overworldmap_hamsda/images/setting_entrance_overworld_off.png index 9d98280a..90989eb0 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_entrance_overworld_off.png and b/ootrando_overworldmap_hamsda/images/setting_entrance_overworld_off.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_entrance_overworld_shuffle.png b/ootrando_overworldmap_hamsda/images/setting_entrance_overworld_shuffle.png index 5d6f046b..f4640825 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_entrance_overworld_shuffle.png and b/ootrando_overworldmap_hamsda/images/setting_entrance_overworld_shuffle.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_entrance_owl_off.png b/ootrando_overworldmap_hamsda/images/setting_entrance_owl_off.png index 6f5fbbfd..35d92e68 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_entrance_owl_off.png and b/ootrando_overworldmap_hamsda/images/setting_entrance_owl_off.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_entrance_owl_shuffle.png b/ootrando_overworldmap_hamsda/images/setting_entrance_owl_shuffle.png index 6e5c2410..3d56893b 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_entrance_owl_shuffle.png and b/ootrando_overworldmap_hamsda/images/setting_entrance_owl_shuffle.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_entrance_spawn_off.png b/ootrando_overworldmap_hamsda/images/setting_entrance_spawn_off.png index b432ba79..f08e4140 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_entrance_spawn_off.png and b/ootrando_overworldmap_hamsda/images/setting_entrance_spawn_off.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_entrance_spawn_shuffle.png b/ootrando_overworldmap_hamsda/images/setting_entrance_spawn_shuffle.png index d73bec85..5c41a9ef 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_entrance_spawn_shuffle.png and b/ootrando_overworldmap_hamsda/images/setting_entrance_spawn_shuffle.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_entrance_warpsong_off.png b/ootrando_overworldmap_hamsda/images/setting_entrance_warpsong_off.png index 31b05a9c..32686466 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_entrance_warpsong_off.png and b/ootrando_overworldmap_hamsda/images/setting_entrance_warpsong_off.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_entrance_warpsong_shuffle.png b/ootrando_overworldmap_hamsda/images/setting_entrance_warpsong_shuffle.png index 62cd54d7..56653fac 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_entrance_warpsong_shuffle.png and b/ootrando_overworldmap_hamsda/images/setting_entrance_warpsong_shuffle.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_forest_closed.png b/ootrando_overworldmap_hamsda/images/setting_forest_closed.png index 9efef457..780d4b32 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_forest_closed.png and b/ootrando_overworldmap_hamsda/images/setting_forest_closed.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_forest_deku.png b/ootrando_overworldmap_hamsda/images/setting_forest_deku.png index 9fbe87b3..bbcbf031 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_forest_deku.png and b/ootrando_overworldmap_hamsda/images/setting_forest_deku.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_forest_open.png b/ootrando_overworldmap_hamsda/images/setting_forest_open.png index 24efad49..f7388d0f 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_forest_open.png and b/ootrando_overworldmap_hamsda/images/setting_forest_open.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_fountain_adult.png b/ootrando_overworldmap_hamsda/images/setting_fountain_adult.png index 2a1e81cb..5910a657 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_fountain_adult.png and b/ootrando_overworldmap_hamsda/images/setting_fountain_adult.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_fountain_closed.png b/ootrando_overworldmap_hamsda/images/setting_fountain_closed.png index a826392a..1071fe96 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_fountain_closed.png and b/ootrando_overworldmap_hamsda/images/setting_fountain_closed.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_fountain_open.png b/ootrando_overworldmap_hamsda/images/setting_fountain_open.png index e5a0b691..c1d448e0 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_fountain_open.png and b/ootrando_overworldmap_hamsda/images/setting_fountain_open.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_gerudo_fortress_fast.png b/ootrando_overworldmap_hamsda/images/setting_gerudo_fortress_fast.png index bf99f769..07fd41cf 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_gerudo_fortress_fast.png and b/ootrando_overworldmap_hamsda/images/setting_gerudo_fortress_fast.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_gerudo_fortress_normal.png b/ootrando_overworldmap_hamsda/images/setting_gerudo_fortress_normal.png index c0000506..0c5ed5c5 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_gerudo_fortress_normal.png and b/ootrando_overworldmap_hamsda/images/setting_gerudo_fortress_normal.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_gerudo_fortress_open.png b/ootrando_overworldmap_hamsda/images/setting_gerudo_fortress_open.png index b30832ad..ed04da8d 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_gerudo_fortress_open.png and b/ootrando_overworldmap_hamsda/images/setting_gerudo_fortress_open.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_hints_agony.png b/ootrando_overworldmap_hamsda/images/setting_hints_agony.png index 466ebba7..4217b05d 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_hints_agony.png and b/ootrando_overworldmap_hamsda/images/setting_hints_agony.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_hints_off.png b/ootrando_overworldmap_hamsda/images/setting_hints_off.png index c484e071..ac848e20 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_hints_off.png and b/ootrando_overworldmap_hamsda/images/setting_hints_off.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_hints_on.png b/ootrando_overworldmap_hamsda/images/setting_hints_on.png index 19951a44..39997bea 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_hints_on.png and b/ootrando_overworldmap_hamsda/images/setting_hints_on.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_hints_truth.png b/ootrando_overworldmap_hamsda/images/setting_hints_truth.png index aa56af29..e37f13fa 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_hints_truth.png and b/ootrando_overworldmap_hamsda/images/setting_hints_truth.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_kak_closed.png b/ootrando_overworldmap_hamsda/images/setting_kak_closed.png index a4e788bc..f0a0e4c2 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_kak_closed.png and b/ootrando_overworldmap_hamsda/images/setting_kak_closed.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_kak_letter.png b/ootrando_overworldmap_hamsda/images/setting_kak_letter.png index 01527b1d..d6412162 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_kak_letter.png and b/ootrando_overworldmap_hamsda/images/setting_kak_letter.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_kak_open.png b/ootrando_overworldmap_hamsda/images/setting_kak_open.png index 0bf08943..dbbb46b1 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_kak_open.png and b/ootrando_overworldmap_hamsda/images/setting_kak_open.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_logic_chus_no.png b/ootrando_overworldmap_hamsda/images/setting_logic_chus_no.png index dfba6cf3..82bbf196 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_logic_chus_no.png and b/ootrando_overworldmap_hamsda/images/setting_logic_chus_no.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_logic_chus_yes.png b/ootrando_overworldmap_hamsda/images/setting_logic_chus_yes.png index 235ea47f..f987cd3a 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_logic_chus_yes.png and b/ootrando_overworldmap_hamsda/images/setting_logic_chus_yes.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_masks_complete.png b/ootrando_overworldmap_hamsda/images/setting_masks_complete.png index 4dc4b18d..ede320f0 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_masks_complete.png and b/ootrando_overworldmap_hamsda/images/setting_masks_complete.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_masks_off.png b/ootrando_overworldmap_hamsda/images/setting_masks_off.png index 4ea07e09..70988466 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_masks_off.png and b/ootrando_overworldmap_hamsda/images/setting_masks_off.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_merchants_off.png b/ootrando_overworldmap_hamsda/images/setting_merchants_off.png deleted file mode 100644 index 63de4e61..00000000 Binary files a/ootrando_overworldmap_hamsda/images/setting_merchants_off.png and /dev/null differ diff --git a/ootrando_overworldmap_hamsda/images/setting_merchants_shuffle.png b/ootrando_overworldmap_hamsda/images/setting_merchants_shuffle.png deleted file mode 100644 index 20b62854..00000000 Binary files a/ootrando_overworldmap_hamsda/images/setting_merchants_shuffle.png and /dev/null differ diff --git a/ootrando_overworldmap_hamsda/images/setting_scrub_shuffle_no.png b/ootrando_overworldmap_hamsda/images/setting_scrub_shuffle_no.png index 102f0d43..de967d8b 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_scrub_shuffle_no.png and b/ootrando_overworldmap_hamsda/images/setting_scrub_shuffle_no.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_scrub_shuffle_yes.png b/ootrando_overworldmap_hamsda/images/setting_scrub_shuffle_yes.png index b9504134..341a2152 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_scrub_shuffle_yes.png and b/ootrando_overworldmap_hamsda/images/setting_scrub_shuffle_yes.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_shopsanity_no.png b/ootrando_overworldmap_hamsda/images/setting_shopsanity_no.png index 984ad609..0a18c0a8 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_shopsanity_no.png and b/ootrando_overworldmap_hamsda/images/setting_shopsanity_no.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_shopsanity_yes.png b/ootrando_overworldmap_hamsda/images/setting_shopsanity_yes.png index 84b61dd3..bb905ba5 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_shopsanity_yes.png and b/ootrando_overworldmap_hamsda/images/setting_shopsanity_yes.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_shuffle_beans_no.png b/ootrando_overworldmap_hamsda/images/setting_shuffle_beans_no.png index f259468e..4f6708d4 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_shuffle_beans_no.png and b/ootrando_overworldmap_hamsda/images/setting_shuffle_beans_no.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_shuffle_beans_yes.png b/ootrando_overworldmap_hamsda/images/setting_shuffle_beans_yes.png index 79b18c68..9fe38797 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_shuffle_beans_yes.png and b/ootrando_overworldmap_hamsda/images/setting_shuffle_beans_yes.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_shuffle_bosskeys_no.png b/ootrando_overworldmap_hamsda/images/setting_shuffle_bosskeys_no.png new file mode 100644 index 00000000..eb27921a Binary files /dev/null and b/ootrando_overworldmap_hamsda/images/setting_shuffle_bosskeys_no.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_shuffle_bosskeys_yes.png b/ootrando_overworldmap_hamsda/images/setting_shuffle_bosskeys_yes.png new file mode 100644 index 00000000..6834b08e Binary files /dev/null and b/ootrando_overworldmap_hamsda/images/setting_shuffle_bosskeys_yes.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_shuffle_card_no.png b/ootrando_overworldmap_hamsda/images/setting_shuffle_card_no.png index fe239045..85f28330 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_shuffle_card_no.png and b/ootrando_overworldmap_hamsda/images/setting_shuffle_card_no.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_shuffle_card_yes.png b/ootrando_overworldmap_hamsda/images/setting_shuffle_card_yes.png index 8e68a824..e127488a 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_shuffle_card_yes.png and b/ootrando_overworldmap_hamsda/images/setting_shuffle_card_yes.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_shuffle_egg_no.png b/ootrando_overworldmap_hamsda/images/setting_shuffle_egg_no.png index 12fdb1a0..344c6b49 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_shuffle_egg_no.png and b/ootrando_overworldmap_hamsda/images/setting_shuffle_egg_no.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_shuffle_egg_yes.png b/ootrando_overworldmap_hamsda/images/setting_shuffle_egg_yes.png index 6ab69eab..a30195f2 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_shuffle_egg_yes.png and b/ootrando_overworldmap_hamsda/images/setting_shuffle_egg_yes.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_shuffle_ganon_bosskey_no.png b/ootrando_overworldmap_hamsda/images/setting_shuffle_ganon_bosskey_no.png new file mode 100644 index 00000000..67b7fe77 Binary files /dev/null and b/ootrando_overworldmap_hamsda/images/setting_shuffle_ganon_bosskey_no.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_shuffle_ganon_bosskey_yes.png b/ootrando_overworldmap_hamsda/images/setting_shuffle_ganon_bosskey_yes.png new file mode 100644 index 00000000..6d620bfe Binary files /dev/null and b/ootrando_overworldmap_hamsda/images/setting_shuffle_ganon_bosskey_yes.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_shuffle_hideoutkeys_no.png b/ootrando_overworldmap_hamsda/images/setting_shuffle_hideoutkeys_no.png new file mode 100644 index 00000000..9e9cb5d0 Binary files /dev/null and b/ootrando_overworldmap_hamsda/images/setting_shuffle_hideoutkeys_no.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_shuffle_hideoutkeys_yes.png b/ootrando_overworldmap_hamsda/images/setting_shuffle_hideoutkeys_yes.png new file mode 100644 index 00000000..af86188e Binary files /dev/null and b/ootrando_overworldmap_hamsda/images/setting_shuffle_hideoutkeys_yes.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_shuffle_merchants_no.png b/ootrando_overworldmap_hamsda/images/setting_shuffle_merchants_no.png new file mode 100644 index 00000000..52bef3b0 Binary files /dev/null and b/ootrando_overworldmap_hamsda/images/setting_shuffle_merchants_no.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_shuffle_merchants_yes.png b/ootrando_overworldmap_hamsda/images/setting_shuffle_merchants_yes.png new file mode 100644 index 00000000..ab18f3da Binary files /dev/null and b/ootrando_overworldmap_hamsda/images/setting_shuffle_merchants_yes.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_shuffle_ocarinas_no.png b/ootrando_overworldmap_hamsda/images/setting_shuffle_ocarinas_no.png index 8600f31f..ec502f28 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_shuffle_ocarinas_no.png and b/ootrando_overworldmap_hamsda/images/setting_shuffle_ocarinas_no.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_shuffle_ocarinas_yes.png b/ootrando_overworldmap_hamsda/images/setting_shuffle_ocarinas_yes.png index 2351d51f..ce46169a 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_shuffle_ocarinas_yes.png and b/ootrando_overworldmap_hamsda/images/setting_shuffle_ocarinas_yes.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_shuffle_smallkeys_no.png b/ootrando_overworldmap_hamsda/images/setting_shuffle_smallkeys_no.png new file mode 100644 index 00000000..74c0c67a Binary files /dev/null and b/ootrando_overworldmap_hamsda/images/setting_shuffle_smallkeys_no.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_shuffle_smallkeys_yes.png b/ootrando_overworldmap_hamsda/images/setting_shuffle_smallkeys_yes.png new file mode 100644 index 00000000..510b2445 Binary files /dev/null and b/ootrando_overworldmap_hamsda/images/setting_shuffle_smallkeys_yes.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_shuffle_sword1_no.png b/ootrando_overworldmap_hamsda/images/setting_shuffle_sword1_no.png index bf4097cb..040b7238 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_shuffle_sword1_no.png and b/ootrando_overworldmap_hamsda/images/setting_shuffle_sword1_no.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_shuffle_sword1_yes.png b/ootrando_overworldmap_hamsda/images/setting_shuffle_sword1_yes.png index 4d944e36..1f1fd19d 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_shuffle_sword1_yes.png and b/ootrando_overworldmap_hamsda/images/setting_shuffle_sword1_yes.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_skulltulas_sun_off.png b/ootrando_overworldmap_hamsda/images/setting_skulltulas_sun_off.png index 96184eea..24dd0186 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_skulltulas_sun_off.png and b/ootrando_overworldmap_hamsda/images/setting_skulltulas_sun_off.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_skulltulas_sun_on.png b/ootrando_overworldmap_hamsda/images/setting_skulltulas_sun_on.png index 21220c9f..93678968 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_skulltulas_sun_on.png and b/ootrando_overworldmap_hamsda/images/setting_skulltulas_sun_on.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_tokens_all.png b/ootrando_overworldmap_hamsda/images/setting_tokens_all.png index a3b82730..bd8a04bf 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_tokens_all.png and b/ootrando_overworldmap_hamsda/images/setting_tokens_all.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_tokens_dungeons.png b/ootrando_overworldmap_hamsda/images/setting_tokens_dungeons.png index 8f96619a..0837a5c8 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_tokens_dungeons.png and b/ootrando_overworldmap_hamsda/images/setting_tokens_dungeons.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_tokens_off.png b/ootrando_overworldmap_hamsda/images/setting_tokens_off.png index 5ee2bab9..7387cdf9 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_tokens_off.png and b/ootrando_overworldmap_hamsda/images/setting_tokens_off.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_tokens_overworld.png b/ootrando_overworldmap_hamsda/images/setting_tokens_overworld.png index df8292ab..a4971ad8 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_tokens_overworld.png and b/ootrando_overworldmap_hamsda/images/setting_tokens_overworld.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_trials.png b/ootrando_overworldmap_hamsda/images/setting_trials.png index a191ff3c..37569660 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_trials.png and b/ootrando_overworldmap_hamsda/images/setting_trials.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_zelda_free.png b/ootrando_overworldmap_hamsda/images/setting_zelda_free.png index 9d16e223..01e7cef3 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_zelda_free.png and b/ootrando_overworldmap_hamsda/images/setting_zelda_free.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_zelda_off.png b/ootrando_overworldmap_hamsda/images/setting_zelda_off.png index 063cecc3..56b0d955 100644 Binary files a/ootrando_overworldmap_hamsda/images/setting_zelda_off.png and b/ootrando_overworldmap_hamsda/images/setting_zelda_off.png differ diff --git a/ootrando_overworldmap_hamsda/items/capture_entrance.json b/ootrando_overworldmap_hamsda/items/capture_entrance.json index 8fcf218a..2b028d31 100644 --- a/ootrando_overworldmap_hamsda/items/capture_entrance.json +++ b/ootrando_overworldmap_hamsda/items/capture_entrance.json @@ -60,7 +60,7 @@ "codes": "entrance_dungeon_ice" }, { - "name": "Gerudo Training Grounds Split", + "name": "Gerudo Training Ground Split", "type": "toggle", "img": "images/entrance_dungeon_gtg.png", "codes": "entrance_dungeon_gtg" @@ -240,10 +240,10 @@ "codes": "entrance_grotto_field_valley" }, { - "name": "Composer Grave", + "name": "Royal Familys Tomb", "type": "toggle", - "img": "images/entrance_grotto_comp.png", - "codes": "entrance_grotto_comp" + "img": "images/entrance_grotto_royal_tomb.png", + "codes": "entrance_grotto_royal_tomb" }, { "name": "Graveyard Dampes Grave", @@ -317,6 +317,12 @@ "img": "images/entrance_overworld_mkt.png", "codes": "entrance_overworld_mkt" }, + { + "name": "Market Back Alley", + "type": "toggle", + "img": "images/entrance_overworld_mkt_aly.png", + "codes": "entrance_overworld_mkt_aly" + }, { "name": "Market Entrance", "type": "toggle", diff --git a/ootrando_overworldmap_hamsda/items/dungeons.json b/ootrando_overworldmap_hamsda/items/dungeons.json index a1a0da49..035c236a 100644 --- a/ootrando_overworldmap_hamsda/items/dungeons.json +++ b/ootrando_overworldmap_hamsda/items/dungeons.json @@ -246,7 +246,7 @@ "type": "consumable", "img": "images/small_key.png", "codes": "forest_small_keys,forestsmall,forestsk", - "max_quantity": 6 + "max_quantity": 99 }, { "name": "Forest Temple Boss Key", @@ -318,7 +318,7 @@ "type": "consumable", "img": "images/small_key.png", "codes": "fire_small_keys,firesmall,firesk", - "max_quantity": 8 + "max_quantity": 99 }, { "name": "Fire Temple Boss Key", @@ -390,7 +390,7 @@ "type": "consumable", "img": "images/small_key.png", "codes": "water_small_keys,watersmall,watersk", - "max_quantity": 6 + "max_quantity": 99 }, { "name": "Water Temple Boss Key", @@ -462,7 +462,7 @@ "type": "consumable", "img": "images/small_key.png", "codes": "spirit_small_keys,spiritsmall,spiritsk", - "max_quantity": 7 + "max_quantity": 99 }, { "name": "Spirit Temple Boss Key", @@ -534,7 +534,7 @@ "type": "consumable", "img": "images/small_key.png", "codes": "shadow_small_keys,shadowsmall,shadowsk", - "max_quantity": 6 + "max_quantity": 99 }, { "name": "Shadow Temple Boss Key", @@ -606,7 +606,7 @@ "type": "consumable", "img": "images/small_key.png", "codes": "botw_small_keys,botwsmall,botwsk", - "max_quantity": 3 + "max_quantity": 99 }, { "name": "Ice Cavern Label", @@ -631,20 +631,20 @@ ] }, { - "name": "Gerudo Fortress Label", + "name": "Thieves Hideout Label", "type": "static", - "img": "images/label_gf.png", - "codes": "gf_label" + "img": "images/label_th.png", + "codes": "th_label" }, { - "name": "Gerudo Fortress Small Keys", + "name": "Thieves Hideout Small Keys", "type": "consumable", "img": "images/small_key.png", - "codes": "gf_small_keys,gfsmall,gfsk", - "max_quantity": 4 + "codes": "th_small_keys,thsmall,thsk", + "max_quantity": 99 }, { - "name": "Gerudo Training Grounds Label", + "name": "Gerudo Training Ground Label", "type": "progressive", "allow_disabled": false, "loop": true, @@ -666,11 +666,11 @@ ] }, { - "name": "Gerudo Training Grounds Small Keys", + "name": "Gerudo Training Ground Small Keys", "type": "consumable", "img": "images/small_key.png", "codes": "gtg_small_keys,gtgsmall,gtgsk", - "max_quantity": 9 + "max_quantity": 99 }, { "name": "Ganons Castle Label", @@ -699,7 +699,7 @@ "type": "consumable", "img": "images/small_key.png", "codes": "gc_small_keys,gcsmall,gcsk", - "max_quantity": 3 + "max_quantity": 99 }, { "name": "Ganons Castle Boss Key", diff --git a/ootrando_overworldmap_hamsda/items/options.json b/ootrando_overworldmap_hamsda/items/options.json index 90b7c7fd..ed609b25 100644 --- a/ootrando_overworldmap_hamsda/items/options.json +++ b/ootrando_overworldmap_hamsda/items/options.json @@ -90,7 +90,7 @@ "type": "progressive", "allow_disabled": false, "loop": true, - "initial_stage_idx": 1, + "initial_stage_idx": 0, "stages": [ { "img": "images/setting_gerudo_fortress_normal.png", @@ -181,6 +181,166 @@ } ] }, + { + "name": "Shuffle Interior Entrances", + "type": "progressive", + "allow_disabled": false, + "loop": true, + "initial_stage_idx": 2, + "stages": [ + { + "img": "images/setting_entrance_interiors_off.png", + "img_mods": "@disabled", + "codes": "setting_entrance_interiors,setting_entrance_interiors_off" + }, + { + "img": "images/setting_entrance_interiors_simple.png", + "codes": "setting_entrance_interiors,setting_entrance_interiors_simple", + "inherits_codes": false + }, + { + "img": "images/setting_entrance_interiors_all.png", + "codes": "setting_entrance_interiors_all" + } + ] + }, + { + "name": "Shuffle Grotto Entrances", + "type": "progressive", + "allow_disabled": false, + "loop": true, + "initial_stage_idx": 1, + "stages": [ + { + "img": "images/setting_entrance_grottos_off.png", + "img_mods": "@disabled", + "codes": "setting_entrance_grottos,setting_entrance_grottos_off" + }, + { + "img": "images/setting_entrance_grottos_shuffle.png", + "codes": "setting_entrance_grottos,setting_entrance_grottos_shuffle", + "inherits_codes": false + } + ] + }, + { + "name": "Shuffle Dungeon Entrances", + "type": "progressive", + "allow_disabled": false, + "loop": true, + "initial_stage_idx": 1, + "stages": [ + { + "img": "images/setting_entrance_dungeons_off.png", + "img_mods": "@disabled", + "codes": "setting_entrance_dungeons,setting_entrance_dungeons_off" + }, + { + "img": "images/setting_entrance_dungeons_shuffle.png", + "codes": "setting_entrance_dungeons,setting_entrance_dungeons_shuffle", + "inherits_codes": false + } + ] + }, + { + "name": "Shuffle Overworld Entrances", + "type": "progressive", + "allow_disabled": false, + "loop": true, + "initial_stage_idx": 1, + "stages": [ + { + "img": "images/setting_entrance_overworld_off.png", + "img_mods": "@disabled", + "codes": "setting_entrance_overworld,setting_entrance_overworld_off" + }, + { + "img": "images/setting_entrance_overworld_shuffle.png", + "codes": "setting_entrance_overworld,setting_entrance_overworld_shuffle", + "inherits_codes": false + } + ] + }, + { + "name": "Mix Entrance Pools", + "type": "progressive", + "allow_disabled": false, + "loop": true, + "initial_stage_idx": 2, + "stages": [ + { + "img": "images/setting_entrance_mixed_off.png", + "img_mods": "@disabled", + "codes": "setting_entrance_mixed,setting_entrance_mixed_off" + }, + { + "img": "images/setting_entrance_mixed_indoor.png", + "codes": "setting_entrance_mixed,setting_entrance_mixed_indoor", + "inherits_codes": false + }, + { + "img": "images/setting_entrance_mixed_all.png", + "codes": "setting_entrance_mixed_all" + } + ] + }, + { + "name": "Randomize Owl Drops", + "type": "progressive", + "allow_disabled": false, + "loop": true, + "initial_stage_idx": 1, + "stages": [ + { + "img": "images/setting_entrance_owl_off.png", + "img_mods": "@disabled", + "codes": "setting_entrance_owl,setting_entrance_owl_off" + }, + { + "img": "images/setting_entrance_owl_shuffle.png", + "codes": "setting_entrance_owl,setting_entrance_owl_shuffle", + "inherits_codes": false + } + ] + }, + { + "name": "Randomize Warp Song Destinations", + "type": "progressive", + "allow_disabled": false, + "loop": true, + "initial_stage_idx": 1, + "stages": [ + { + "img": "images/setting_entrance_warpsong_off.png", + "img_mods": "@disabled", + "codes": "setting_entrance_warpsong,setting_entrance_warpsong_off" + }, + { + "img": "images/setting_entrance_warpsong_shuffle.png", + "codes": "setting_entrance_warpsong,setting_entrance_warpsong_shuffle", + "inherits_codes": false + } + ] + }, + { + "name": "Randomize Overworld Spawns", + "type": "progressive", + "allow_disabled": false, + "loop": true, + "initial_stage_idx": 1, + "stages": [ + { + "img": "images/setting_entrance_spawn_off.png", + "img_mods": "@disabled", + "codes": "setting_entrance_spawn,setting_entrance_spawn_off" + }, + { + "img": "images/setting_entrance_spawn_shuffle.png", + "codes": "setting_entrance_spawn,setting_entrance_spawn_shuffle", + "inherits_codes": false + } + ] + }, { "name": "Bombchus Are Considered in Logic", "type": "progressive", @@ -189,6 +349,7 @@ "stages": [ { "img": "images/setting_logic_chus_no.png", + "img_mods": "@disabled", "codes": "setting_logic_chus,setting_logic_chus_no" }, { @@ -206,6 +367,7 @@ "stages": [ { "img": "images/setting_shopsanity_no.png", + "img_mods": "@disabled", "codes": "setting_shopsanity,setting_shopsanity_no" }, { @@ -223,6 +385,7 @@ "stages": [ { "img": "images/setting_tokens_off.png", + "img_mods": "@disabled", "codes": "setting_tokens_off" }, { @@ -250,6 +413,7 @@ "stages": [ { "img": "images/setting_scrub_shuffle_no.png", + "img_mods": "@disabled", "codes": "setting_scrub_shuffle,setting_scrub_shuffle_no" }, { @@ -267,6 +431,7 @@ "stages": [ { "img": "images/setting_cowsanity_no.png", + "img_mods": "@disabled", "codes": "setting_cowsanity,setting_cowsanity_no" }, { @@ -285,6 +450,7 @@ "stages": [ { "img": "images/setting_shuffle_sword1_no.png", + "img_mods": "@disabled", "codes": "setting_shuffle_sword1,setting_shuffle_sword1_no" }, { @@ -302,6 +468,7 @@ "stages": [ { "img": "images/setting_shuffle_ocarinas_no.png", + "img_mods": "@disabled", "codes": "setting_shuffle_ocarinas,setting_shuffle_ocarinas_no" }, { @@ -319,6 +486,7 @@ "stages": [ { "img": "images/setting_shuffle_egg_no.png", + "img_mods": "@disabled", "codes": "setting_shuffle_egg,setting_shuffle_egg_no" }, { @@ -336,6 +504,7 @@ "stages": [ { "img": "images/setting_shuffle_card_no.png", + "img_mods": "@disabled", "codes": "setting_shuffle_card,setting_shuffle_card_no" }, { @@ -353,6 +522,7 @@ "stages": [ { "img": "images/setting_shuffle_beans_no.png", + "img_mods": "@disabled", "codes": "setting_shuffle_beans,setting_shuffle_beans_no" }, { @@ -369,68 +539,102 @@ "loop": true, "stages": [ { - "img": "images/setting_merchants_off.png", - "codes": "setting_merchants,setting_merchants_off" + "img": "images/setting_shuffle_merchants_no.png", + "img_mods": "@disabled", + "codes": "setting_shuffle_merchants,setting_shuffle_merchants_no" }, { - "img": "images/setting_merchants_shuffle.png", - "codes": "setting_merchants,setting_merchants_shuffle", + "img": "images/setting_shuffle_merchants_yes.png", + "codes": "setting_shuffle_merchants,setting_shuffle_merchants_yes", "inherit_codes": false } ] }, { - "name": "LACS Condition", + "name": "Shuffle Small Keys", "type": "progressive", "allow_disabled": false, "loop": true, - "initial_stage_idx": 0, + "initial_stage_idx": 1, "stages": [ { - "img": "images/setting_lacs_vanilla.png", - "codes": "setting_lacs,setting_lacs_vanilla", - "inherit_codes": false + "img": "images/setting_shuffle_smallkeys_no.png", + "img_mods": "@disabled", + "codes": "setting_shuffle_smallkeys,setting_shuffle_smallkeys_no" }, { - "img": "images/setting_lacs_stones.png", - "codes": "setting_lacs,setting_lacs_stones", + "img": "images/setting_shuffle_smallkeys_yes.png", + "codes": "setting_shuffle_smallkeys,setting_shuffle_smallkeys_yes", "inherit_codes": false - }, + } + ] + }, + { + "name": "Shuffle Thieves' Hideout Keys", + "type": "progressive", + "allow_disabled": false, + "loop": true, + "initial_stage_idx": 1, + "stages": [ { - "img": "images/setting_lacs_medallions.png", - "codes": "setting_lacs,setting_lacs_medallions", - "inherit_codes": false + "img": "images/setting_shuffle_hideoutkeys_no.png", + "img_mods": "@disabled", + "codes": "setting_shuffle_hideoutkeys,setting_shuffle_hideoutkeys_no" }, { - "img": "images/setting_lacs_dungeons.png", - "codes": "setting_lacs,setting_lacs_dungeons", + "img": "images/setting_shuffle_hideoutkeys_yes.png", + "codes": "setting_shuffle_hideoutkeys,setting_shuffle_hideoutkeys_yes", "inherit_codes": false + } + ] + }, + { + "name": "Shuffle Boss Keys", + "type": "progressive", + "allow_disabled": false, + "loop": true, + "initial_stage_idx": 1, + "stages": [ + { + "img": "images/setting_shuffle_bosskeys_no.png", + "img_mods": "@disabled", + "codes": "setting_shuffle_bosskeys,setting_shuffle_bosskeys_no" }, { - "img": "images/setting_lacs_gs.png", - "codes": "setting_lacs,setting_lacs_gs", + "img": "images/setting_shuffle_bosskeys_yes.png", + "codes": "setting_shuffle_bosskeys,setting_shuffle_bosskeys_yes", "inherit_codes": false } ] }, { - "name": "LACS Amount", - "type": "consumable", - "img": "images/setting_lacs_amount.png", - "codes": "setting_lacs_amount", - "disabled_img_mods": "@enabled", - "max_quantity": 6, - "initial_quantity": 6 + "name": "Shuffle Ganon's Boss Key", + "type": "progressive", + "allow_disabled": false, + "loop": true, + "initial_stage_idx": 1, + "stages": [ + { + "img": "images/setting_shuffle_ganon_bosskey_no.png", + "img_mods": "@disabled", + "codes": "setting_shuffle_ganon_bosskey,setting_shuffle_ganon_bosskey_no" + }, + { + "img": "images/setting_shuffle_ganon_bosskey_yes.png", + "codes": "setting_shuffle_ganon_bosskey,setting_shuffle_ganon_bosskey_yes", + "inherit_codes": false + } + ] }, { "name": "Skip Child Zelda", "type": "progressive", "allow_disabled": false, "loop": true, - "initial_stage_idx": 1, "stages": [ { "img": "images/setting_zelda_off.png", + "img_mods": "@disabled", "codes": "setting_zelda,setting_zelda_off" }, { @@ -448,6 +652,7 @@ "stages": [ { "img": "images/setting_masks_off.png", + "img_mods": "@disabled", "codes": "setting_masks,setting_masks_off" }, { @@ -466,6 +671,7 @@ "stages": [ { "img": "images/setting_hints_off.png", + "img_mods": "@disabled", "codes": "setting_hints,setting_hints_off" }, { @@ -518,23 +724,6 @@ } ] }, - { - "name": "Bean Planting", - "type": "progressive", - "allow_disabled": false, - "loop": true, - "stages": [ - { - "img": "images/setting_plant_no.png", - "codes": "setting_plant,setting_plant_no" - }, - { - "img": "images/setting_plant_yes.png", - "codes": "setting_plant,setting_plant_yes", - "inherit_codes": false - } - ] - }, { "name": "Nighttime Skulltulas Expect Sun's Song", "type": "progressive", @@ -543,6 +732,7 @@ "stages": [ { "img": "images/setting_skulltulas_sun_off.png", + "img_mods": "@disabled", "codes": "setting_skulltulas_sun,setting_skulltulas_sun_off" }, { diff --git a/ootrando_overworldmap_hamsda/items/options_entrance.json b/ootrando_overworldmap_hamsda/items/options_entrance.json deleted file mode 100644 index 754b63ce..00000000 --- a/ootrando_overworldmap_hamsda/items/options_entrance.json +++ /dev/null @@ -1,132 +0,0 @@ -[ - { - "name": "Shuffle Interior Entrances", - "type": "progressive", - "allow_disabled": false, - "loop": true, - "initial_stage_idx": 2, - "stages": [ - { - "img": "images/setting_entrance_interiors_off.png", - "codes": "setting_entrance_interiors,setting_entrance_interiors_off" - }, - { - "img": "images/setting_entrance_interiors_simple.png", - "codes": "setting_entrance_interiors,setting_entrance_interiors_simple", - "inherits_codes": false - }, - { - "img": "images/setting_entrance_interiors_all.png", - "codes": "setting_entrance_interiors_all" - } - ] - }, - { - "name": "Shuffle Grotto Entrances", - "type": "progressive", - "allow_disabled": false, - "loop": true, - "initial_stage_idx": 1, - "stages": [ - { - "img": "images/setting_entrance_grottos_off.png", - "codes": "setting_entrance_grottos,setting_entrance_grottos_off" - }, - { - "img": "images/setting_entrance_grottos_shuffle.png", - "codes": "setting_entrance_grottos,setting_entrance_grottos_shuffle", - "inherits_codes": false - } - ] - }, - { - "name": "Shuffle Dungeon Entrances", - "type": "progressive", - "allow_disabled": false, - "loop": true, - "initial_stage_idx": 1, - "stages": [ - { - "img": "images/setting_entrance_dungeons_off.png", - "codes": "setting_entrance_dungeons,setting_entrance_dungeons_off" - }, - { - "img": "images/setting_entrance_dungeons_shuffle.png", - "codes": "setting_entrance_dungeons,setting_entrance_dungeons_shuffle", - "inherits_codes": false - } - ] - }, - { - "name": "Shuffle Overworld Entrances", - "type": "progressive", - "allow_disabled": false, - "loop": true, - "initial_stage_idx": 1, - "stages": [ - { - "img": "images/setting_entrance_overworld_off.png", - "codes": "setting_entrance_overworld,setting_entrance_overworld_off" - }, - { - "img": "images/setting_entrance_overworld_shuffle.png", - "codes": "setting_entrance_overworld,setting_entrance_overworld_shuffle", - "inherits_codes": false - } - ] - }, - { - "name": "Randomize Owl Drops", - "type": "progressive", - "allow_disabled": false, - "loop": true, - "initial_stage_idx": 1, - "stages": [ - { - "img": "images/setting_entrance_owl_off.png", - "codes": "setting_entrance_owl,setting_entrance_owl_off" - }, - { - "img": "images/setting_entrance_owl_shuffle.png", - "codes": "setting_entrance_owl,setting_entrance_owl_shuffle", - "inherits_codes": false - } - ] - }, - { - "name": "Randomize Warp Song Destinations", - "type": "progressive", - "allow_disabled": false, - "loop": true, - "initial_stage_idx": 1, - "stages": [ - { - "img": "images/setting_entrance_warpsong_off.png", - "codes": "setting_entrance_warpsong,setting_entrance_warpsong_off" - }, - { - "img": "images/setting_entrance_warpsong_shuffle.png", - "codes": "setting_entrance_warpsong,setting_entrance_warpsong_shuffle", - "inherits_codes": false - } - ] - }, - { - "name": "Randomize Overworld Spawns", - "type": "progressive", - "allow_disabled": false, - "loop": true, - "initial_stage_idx": 1, - "stages": [ - { - "img": "images/setting_entrance_spawn_off.png", - "codes": "setting_entrance_spawn,setting_entrance_spawn_off" - }, - { - "img": "images/setting_entrance_spawn_shuffle.png", - "codes": "setting_entrance_spawn,setting_entrance_spawn_shuffle", - "inherits_codes": false - } - ] - } -] \ No newline at end of file diff --git a/ootrando_overworldmap_hamsda/items/tricks.json b/ootrando_overworldmap_hamsda/items/tricks.json index f7cc4cac..fb1c36b7 100644 --- a/ootrando_overworldmap_hamsda/items/tricks.json +++ b/ootrando_overworldmap_hamsda/items/tricks.json @@ -154,7 +154,7 @@ "codes": "logic_water_mq_central_pillar" }, { - "name": "Gerudo Training Grounds MQ Left Side Silver Rupees with Hookshot", + "name": "Gerudo Training Ground MQ Left Side Silver Rupees with Hookshot", "type": "toggle", "initial_active_state": false, "img": "images/logic_gtg_mq_with_hookshot.png", @@ -195,13 +195,6 @@ "img": "images/logic_forest_mq_hallway_switch_jumpslash.png", "codes": "logic_forest_mq_hallway_switch_jumpslash" }, - { - "name": "Forest Temple MQ Twisted Hallway Switch with Hookshot", - "type": "toggle", - "initial_active_state": false, - "img": "images/logic_forest_mq_hallway_switch_hookshot.png", - "codes": "logic_forest_mq_hallway_switch_hookshot" - }, { "name": "Death Mountain Trail Bombable Chest with Strength", "type": "toggle", @@ -580,6 +573,13 @@ "img": "images/logic_domain_gs.png", "codes": "logic_domain_gs" }, + { + "name": "Skip King Zora as Adult with Nothing", + "type": "toggle", + "initial_active_state": false, + "img": "images/logic_king_zora_skip.png", + "codes": "logic_king_zora_skip" + }, { "name": "Shadow Temple River Statue with Bombchu", "type": "toggle", @@ -714,21 +714,21 @@ "codes": "logic_dmt_soil_gs" }, { - "name": "Gerudo Training Grounds Left Side Silver Rupees without Hookshot", + "name": "Gerudo Training Ground Left Side Silver Rupees without Hookshot", "type": "toggle", "initial_active_state": false, "img": "images/logic_gtg_without_hookshot.png", "codes": "logic_gtg_without_hookshot" }, { - "name": "Gerudo Training Grounds MQ Left Side Silver Rupees without Hookshot", + "name": "Gerudo Training Ground MQ Left Side Silver Rupees without Hookshot", "type": "toggle", "initial_active_state": false, "img": "images/logic_gtg_mq_without_hookshot.png", "codes": "logic_gtg_mq_without_hookshot" }, { - "name": "Reach Gerudo Training Grounds Fake Wall Ledge with Hover Boots", + "name": "Reach Gerudo Training Ground Fake Wall Ledge with Hover Boots", "type": "toggle", "initial_active_state": false, "img": "images/logic_gtg_fake_wall.png", @@ -980,14 +980,14 @@ "codes": "logic_lens_castle" }, { - "name": "Gerudo Training Grounds MQ without Lens of Truth", + "name": "Gerudo Training Ground MQ without Lens of Truth", "type": "toggle", "initial_active_state": false, "img": "images/logic_lens_gtg_mq.png", "codes": "logic_lens_gtg_mq" }, { - "name": "Gerudo Training Grounds without Lens of Truth", + "name": "Gerudo Training Ground without Lens of Truth", "type": "toggle", "initial_active_state": true, "img": "images/logic_lens_gtg.png", diff --git a/ootrando_overworldmap_hamsda/layouts/capture_entrance.json b/ootrando_overworldmap_hamsda/layouts/capture_entrance.json index 5e684408..3e0e41ad 100644 --- a/ootrando_overworldmap_hamsda/layouts/capture_entrance.json +++ b/ootrando_overworldmap_hamsda/layouts/capture_entrance.json @@ -1,5 +1,5 @@ { - "tracker_capture_mixed_er": { + "tracker_capture_ow": { "type": "container", "content": { "type": "itemgrid", @@ -15,6 +15,15 @@ "entrance_overworld_sfm_ent", "entrance_overworld_sfm" ], + [ + "entrance_overworld_cg", + "entrance_overworld_tot_ent", + "entrance_overworld_mkt", + "entrance_overworld_mkt_aly", + "entrance_overworld_mkt_ent", + "entrance_overworld_hf", + "entrance_overworld_llr" + ], [ "entrance_overworld_kak", "entrance_overworld_kak_impa", @@ -22,15 +31,6 @@ "entrance_overworld_gy", "entrance_overworld_gy_pad", "", - "" - ], - [ - "entrance_overworld_cg", - "entrance_overworld_tot_ent", - "entrance_overworld_mkt", - "entrance_overworld_mkt_ent", - "entrance_overworld_hf", - "entrance_overworld_llr", "entrance_overworld_dm_smt" ], [ @@ -59,83 +59,11 @@ "entrance_overworld_gf", "entrance_overworld_gv_fort", "entrance_overworld_gv" - ], - [ - "entrance_dungeon_deku", - "entrance_dungeon_dodongo", - "entrance_dungeon_jabu", - "", - "entrance_house_fairy", - "entrance_house_cow", - "" - ], - [ - "entrance_dungeon_forest", - "entrance_dungeon_fire", - "entrance_dungeon_water", - "", - "entrance_house_shop", - "entrance_house_potion_front", - "entrance_house_potion_back" - ], - [ - "entrance_dungeon_spirit", - "entrance_dungeon_shadow", - "", - "", - "entrance_house_fishing", - "entrance_house_skull", - "entrance_house_pot" - ], - [ - "entrance_dungeon_botw", - "entrance_dungeon_ice", - "entrance_dungeon_gtg", - "", - "entrance_house_link", - "entrance_house_tot", - "entrance_house_windmill" - ], - [ - "entrance_grotto_generic", - "entrance_grotto_scrub", - "entrance_grotto_cow", - "", - "entrance_house_shoot_child", - "entrance_house_shoot_adult", - "entrance_house_chest" - ], - [ - "entrance_grotto_enemy", - "entrance_grotto_tektite", - "entrance_grotto_theater", - "", - "entrance_house_talon_child", - "entrance_house_masks", - "entrance_house_bowling" - ], - [ - "entrance_grotto_castle_storms", - "entrance_grotto_field_kak", - "entrance_grotto_field_valley", - "", - "entrance_house_talon_adult", - "entrance_house_hag", - "entrance_house_lab" - ], - [ - "entrance_grotto_comp", - "entrance_grotto_dampe", - "entrance_grotto_hp", - "", - "", - "", - "" ] ] } }, - "tracker_capture_grottos": { + "tracker_capture_grotto": { "type": "container", "content": { "type": "itemgrid", @@ -158,14 +86,14 @@ "entrance_grotto_field_valley" ], [ - "entrance_grotto_comp", + "entrance_grotto_royal_tomb", "entrance_grotto_dampe", "entrance_grotto_hp" ] ] } }, - "tracker_capture_houses": { + "tracker_capture_interior": { "type": "container", "content": { "type": "itemgrid", @@ -185,7 +113,7 @@ [ "entrance_house_fishing", "entrance_house_skull", - "entrance_house_pot" + "entrance_house_pot" ], [ "entrance_house_link", @@ -210,7 +138,7 @@ ] } }, - "tracker_capture_dungeons": { + "tracker_capture_dungeon": { "type": "container", "content": { "type": "itemgrid", @@ -240,7 +168,7 @@ ] } }, - "tracker_capture_overworld": { + "tracker_capture_ow_grotto": { "type": "container", "content": { "type": "itemgrid", @@ -254,7 +182,22 @@ "entrance_overworld_lw", "entrance_overworld_lw_mido", "entrance_overworld_sfm_ent", - "entrance_overworld_sfm" + "entrance_overworld_sfm", + "entrance_grotto_generic", + "entrance_grotto_scrub", + "entrance_grotto_cow" + ], + [ + "entrance_overworld_cg", + "entrance_overworld_tot_ent", + "entrance_overworld_mkt", + "entrance_overworld_mkt_aly", + "entrance_overworld_mkt_ent", + "entrance_overworld_hf", + "entrance_overworld_llr", + "entrance_grotto_enemy", + "entrance_grotto_tektite", + "entrance_grotto_theater" ], [ "entrance_overworld_kak", @@ -263,16 +206,101 @@ "entrance_overworld_gy", "entrance_overworld_gy_pad", "", + "entrance_overworld_dm_smt", + "entrance_grotto_castle_storms", + "entrance_grotto_field_kak", + "entrance_grotto_field_valley" + ], + [ + "entrance_overworld_dmc_upr", + "entrance_overworld_dmc_ctr", + "entrance_overworld_dmc_lwr", + "entrance_overworld_gc_drn", + "entrance_overworld_gc_lw", + "entrance_overworld_gc", + "entrance_overworld_dmt", + "entrance_grotto_royal_tomb", + "entrance_grotto_dampe", + "entrance_grotto_hp" + ], + [ + "entrance_overworld_lh", + "entrance_overworld_zr_frnt", + "entrance_overworld_zr", + "entrance_overworld_zr_fall", + "entrance_overworld_zd", + "entrance_overworld_zd_kz", + "entrance_overworld_zf", + "", + "", + "" + ], + [ + "entrance_overworld_col", + "entrance_overworld_wl_col", + "entrance_overworld_wl_fort", + "entrance_overworld_gf_gate", + "entrance_overworld_gf", + "entrance_overworld_gv_fort", + "entrance_overworld_gv", + "", + "", "" + ] + ] + } + }, + "tracker_capture_ow_interior": { + "type": "container", + "content": { + "type": "itemgrid", + "h_alignment": "center", + "item_margin": "1,2", + "rows": [ + [ + "entrance_overworld_kf", + "entrance_overworld_lw_brg2", + "entrance_overworld_lw_brg", + "entrance_overworld_lw", + "entrance_overworld_lw_mido", + "entrance_overworld_sfm_ent", + "entrance_overworld_sfm", + "", + "entrance_house_fairy", + "entrance_house_cow", + "entrance_house_shop", + "entrance_house_potion_front", + "entrance_house_potion_back" ], [ "entrance_overworld_cg", "entrance_overworld_tot_ent", "entrance_overworld_mkt", + "entrance_overworld_mkt_aly", "entrance_overworld_mkt_ent", "entrance_overworld_hf", "entrance_overworld_llr", - "entrance_overworld_dm_smt" + "", + "", + "", + "entrance_house_fishing", + "entrance_house_skull", + "entrance_house_pot" + ], + [ + "entrance_overworld_kak", + "entrance_overworld_kak_impa", + "entrance_overworld_kak_gate", + "entrance_overworld_gy", + "entrance_overworld_gy_pad", + "", + "entrance_overworld_dm_smt", + "", + "", + "", + "entrance_house_link", + "entrance_house_tot", + "entrance_house_windmill" ], [ "entrance_overworld_dmc_upr", @@ -281,7 +309,13 @@ "entrance_overworld_gc_drn", "entrance_overworld_gc_lw", "entrance_overworld_gc", - "entrance_overworld_dmt" + "entrance_overworld_dmt", + "", + "", + "", + "entrance_house_shoot_child", + "entrance_house_shoot_adult", + "entrance_house_chest" ], [ "entrance_overworld_lh", @@ -290,7 +324,13 @@ "entrance_overworld_zr_fall", "entrance_overworld_zd", "entrance_overworld_zd_kz", - "entrance_overworld_zf" + "entrance_overworld_zf", + "", + "", + "", + "entrance_house_talon_child", + "entrance_house_masks", + "entrance_house_bowling" ], [ "entrance_overworld_col", @@ -299,7 +339,763 @@ "entrance_overworld_gf_gate", "entrance_overworld_gf", "entrance_overworld_gv_fort", - "entrance_overworld_gv" + "entrance_overworld_gv", + "", + "", + "", + "entrance_house_talon_adult", + "entrance_house_hag", + "entrance_house_lab" + ] + ] + } + }, + "tracker_capture_ow_dungeon": { + "type": "container", + "content": { + "type": "itemgrid", + "h_alignment": "center", + "item_margin": "1,2", + "rows": [ + [ + "entrance_overworld_kf", + "entrance_overworld_lw_brg2", + "entrance_overworld_lw_brg", + "entrance_overworld_lw", + "entrance_overworld_lw_mido", + "entrance_overworld_sfm_ent", + "entrance_overworld_sfm", + "entrance_dungeon_deku", + "entrance_dungeon_dodongo", + "entrance_dungeon_jabu" + ], + [ + "entrance_overworld_cg", + "entrance_overworld_tot_ent", + "entrance_overworld_mkt", + "entrance_overworld_mkt_aly", + "entrance_overworld_mkt_ent", + "entrance_overworld_hf", + "entrance_overworld_llr", + "entrance_dungeon_forest", + "entrance_dungeon_fire", + "entrance_dungeon_water" + ], + [ + "entrance_overworld_kak", + "entrance_overworld_kak_impa", + "entrance_overworld_kak_gate", + "entrance_overworld_gy", + "entrance_overworld_gy_pad", + "", + "entrance_overworld_dm_smt", + "entrance_dungeon_spirit", + "entrance_dungeon_shadow", + "" + ], + [ + "entrance_overworld_dmc_upr", + "entrance_overworld_dmc_ctr", + "entrance_overworld_dmc_lwr", + "entrance_overworld_gc_drn", + "entrance_overworld_gc_lw", + "entrance_overworld_gc", + "entrance_overworld_dmt", + "entrance_dungeon_botw", + "entrance_dungeon_ice", + "entrance_dungeon_gtg" + ], + [ + "entrance_overworld_lh", + "entrance_overworld_zr_frnt", + "entrance_overworld_zr", + "entrance_overworld_zr_fall", + "entrance_overworld_zd", + "entrance_overworld_zd_kz", + "entrance_overworld_zf", + "", + "", + "" + ], + [ + "entrance_overworld_col", + "entrance_overworld_wl_col", + "entrance_overworld_wl_fort", + "entrance_overworld_gf_gate", + "entrance_overworld_gf", + "entrance_overworld_gv_fort", + "entrance_overworld_gv", + "", + "", + "" + ] + ] + } + }, + "tracker_capture_grotto_interior": { + "type": "container", + "content": { + "type": "itemgrid", + "h_alignment": "center", + "item_margin": "1,2", + "rows": [ + [ + "", + "entrance_house_fairy", + "entrance_house_cow", + "entrance_house_shop", + "entrance_house_potion_front", + "entrance_house_potion_back" + ], + [ + "", + "", + "", + "entrance_house_fishing", + "entrance_house_skull", + "entrance_house_pot" + ], + [ + "entrance_grotto_generic", + "entrance_grotto_scrub", + "entrance_grotto_cow", + "entrance_house_link", + "entrance_house_tot", + "entrance_house_windmill" + ], + [ + "entrance_grotto_enemy", + "entrance_grotto_tektite", + "entrance_grotto_theater", + "entrance_house_shoot_child", + "entrance_house_shoot_adult", + "entrance_house_chest" + ], + [ + "entrance_grotto_castle_storms", + "entrance_grotto_field_kak", + "entrance_grotto_field_valley", + "entrance_house_talon_child", + "entrance_house_masks", + "entrance_house_bowling" + ], + [ + "entrance_grotto_royal_tomb", + "entrance_grotto_dampe", + "entrance_grotto_hp", + "entrance_house_talon_adult", + "entrance_house_hag", + "entrance_house_lab" + ] + ] + } + }, + "tracker_capture_grotto_dungeon": { + "type": "container", + "content": { + "type": "itemgrid", + "h_alignment": "center", + "item_margin": "1,2", + "rows": [ + [ + "entrance_grotto_generic", + "entrance_grotto_scrub", + "entrance_grotto_cow", + "entrance_dungeon_deku", + "entrance_dungeon_dodongo", + "entrance_dungeon_jabu" + ], + [ + "entrance_grotto_enemy", + "entrance_grotto_tektite", + "entrance_grotto_theater", + "entrance_dungeon_forest", + "entrance_dungeon_fire", + "entrance_dungeon_water" + ], + [ + "entrance_grotto_castle_storms", + "entrance_grotto_field_kak", + "entrance_grotto_field_valley", + "entrance_dungeon_spirit", + "entrance_dungeon_shadow", + "" + ], + [ + "entrance_grotto_royal_tomb", + "entrance_grotto_dampe", + "entrance_grotto_hp", + "entrance_dungeon_botw", + "entrance_dungeon_ice", + "entrance_dungeon_gtg" + ], + [ + "", + "", + "", + "", + "", + "" + ], + [ + "", + "", + "", + "", + "", + "" + ] + ] + } + }, + "tracker_capture_interior_dungeon": { + "type": "container", + "content": { + "type": "itemgrid", + "h_alignment": "center", + "item_margin": "1,2", + "rows": [ + [ + "entrance_house_shop", + "entrance_house_potion_front", + "entrance_house_potion_back", + "entrance_dungeon_deku", + "entrance_dungeon_dodongo", + "entrance_dungeon_jabu" + ], + [ + "entrance_house_fishing", + "entrance_house_skull", + "entrance_house_pot", + "entrance_dungeon_forest", + "entrance_dungeon_fire", + "entrance_dungeon_water" + ], + [ + "entrance_house_link", + "entrance_house_tot", + "entrance_house_windmill", + "entrance_dungeon_spirit", + "entrance_dungeon_shadow", + "" + ], + [ + "entrance_house_shoot_child", + "entrance_house_shoot_adult", + "entrance_house_chest", + "entrance_dungeon_botw", + "entrance_dungeon_ice", + "entrance_dungeon_gtg" + ], + [ + "entrance_house_talon_child", + "entrance_house_masks", + "entrance_house_bowling", + "", + "", + "" + ], + [ + "entrance_house_talon_adult", + "entrance_house_hag", + "entrance_house_lab", + "entrance_house_fairy", + "entrance_house_cow", + "" + ] + ] + } + }, + "tracker_capture_ow_grotto_interior": { + "type": "container", + "content": { + "type": "itemgrid", + "h_alignment": "center", + "item_margin": "1,2", + "rows": [ + [ + "entrance_overworld_kf", + "entrance_overworld_lw_brg2", + "entrance_overworld_lw_brg", + "entrance_overworld_lw", + "entrance_overworld_lw_mido", + "entrance_overworld_sfm_ent", + "entrance_overworld_sfm", + "", + "entrance_house_fairy", + "entrance_house_cow", + "entrance_house_shop", + "entrance_house_potion_front", + "entrance_house_potion_back" + ], + [ + "entrance_overworld_cg", + "entrance_overworld_tot_ent", + "entrance_overworld_mkt", + "entrance_overworld_mkt_aly", + "entrance_overworld_mkt_ent", + "entrance_overworld_hf", + "entrance_overworld_llr", + "", + "", + "", + "entrance_house_fishing", + "entrance_house_skull", + "entrance_house_pot" + ], + [ + "entrance_overworld_kak", + "entrance_overworld_kak_impa", + "entrance_overworld_kak_gate", + "entrance_overworld_gy", + "entrance_overworld_gy_pad", + "", + "entrance_overworld_dm_smt", + "entrance_grotto_generic", + "entrance_grotto_scrub", + "entrance_grotto_cow", + "entrance_house_link", + "entrance_house_tot", + "entrance_house_windmill" + ], + [ + "entrance_overworld_dmc_upr", + "entrance_overworld_dmc_ctr", + "entrance_overworld_dmc_lwr", + "entrance_overworld_gc_drn", + "entrance_overworld_gc_lw", + "entrance_overworld_gc", + "entrance_overworld_dmt", + "entrance_grotto_enemy", + "entrance_grotto_tektite", + "entrance_grotto_theater", + "entrance_house_shoot_child", + "entrance_house_shoot_adult", + "entrance_house_chest" + ], + [ + "entrance_overworld_lh", + "entrance_overworld_zr_frnt", + "entrance_overworld_zr", + "entrance_overworld_zr_fall", + "entrance_overworld_zd", + "entrance_overworld_zd_kz", + "entrance_overworld_zf", + "entrance_grotto_castle_storms", + "entrance_grotto_field_kak", + "entrance_grotto_field_valley", + "entrance_house_talon_child", + "entrance_house_masks", + "entrance_house_bowling" + ], + [ + "entrance_overworld_col", + "entrance_overworld_wl_col", + "entrance_overworld_wl_fort", + "entrance_overworld_gf_gate", + "entrance_overworld_gf", + "entrance_overworld_gv_fort", + "entrance_overworld_gv", + "entrance_grotto_royal_tomb", + "entrance_grotto_dampe", + "entrance_grotto_hp", + "entrance_house_talon_adult", + "entrance_house_hag", + "entrance_house_lab" + ] + ] + } + }, + "tracker_capture_ow_grotto_dungeon": { + "type": "container", + "content": { + "type": "itemgrid", + "h_alignment": "center", + "item_margin": "1,2", + "rows": [ + [ + "entrance_overworld_kf", + "entrance_overworld_lw_brg2", + "entrance_overworld_lw_brg", + "entrance_overworld_lw", + "entrance_overworld_lw_mido", + "entrance_overworld_sfm_ent", + "entrance_overworld_sfm", + "entrance_grotto_generic", + "entrance_grotto_scrub", + "entrance_grotto_cow", + "entrance_dungeon_deku", + "entrance_dungeon_dodongo", + "entrance_dungeon_jabu" + ], + [ + "entrance_overworld_cg", + "entrance_overworld_tot_ent", + "entrance_overworld_mkt", + "entrance_overworld_mkt_aly", + "entrance_overworld_mkt_ent", + "entrance_overworld_hf", + "entrance_overworld_llr", + "entrance_grotto_enemy", + "entrance_grotto_tektite", + "entrance_grotto_theater", + "entrance_dungeon_forest", + "entrance_dungeon_fire", + "entrance_dungeon_water" + ], + [ + "entrance_overworld_kak", + "entrance_overworld_kak_impa", + "entrance_overworld_kak_gate", + "entrance_overworld_gy", + "entrance_overworld_gy_pad", + "", + "entrance_overworld_dm_smt", + "entrance_grotto_castle_storms", + "entrance_grotto_field_kak", + "entrance_grotto_field_valley", + "entrance_dungeon_spirit", + "entrance_dungeon_shadow", + "" + ], + [ + "entrance_overworld_dmc_upr", + "entrance_overworld_dmc_ctr", + "entrance_overworld_dmc_lwr", + "entrance_overworld_gc_drn", + "entrance_overworld_gc_lw", + "entrance_overworld_gc", + "entrance_overworld_dmt", + "entrance_grotto_royal_tomb", + "entrance_grotto_dampe", + "entrance_grotto_hp", + "entrance_dungeon_botw", + "entrance_dungeon_ice", + "entrance_dungeon_gtg" + ], + [ + "entrance_overworld_lh", + "entrance_overworld_zr_frnt", + "entrance_overworld_zr", + "entrance_overworld_zr_fall", + "entrance_overworld_zd", + "entrance_overworld_zd_kz", + "entrance_overworld_zf", + "", + "", + "", + "", + "", + "" + ], + [ + "entrance_overworld_col", + "entrance_overworld_wl_col", + "entrance_overworld_wl_fort", + "entrance_overworld_gf_gate", + "entrance_overworld_gf", + "entrance_overworld_gv_fort", + "entrance_overworld_gv", + "", + "", + "", + "", + "", + "" + ] + ] + } + }, + "tracker_capture_ow_interior_dungeon": { + "type": "container", + "content": { + "type": "itemgrid", + "h_alignment": "center", + "item_margin": "1,2", + "rows": [ + [ + "entrance_overworld_kf", + "entrance_overworld_lw_brg2", + "entrance_overworld_lw_brg", + "entrance_overworld_lw", + "entrance_overworld_lw_mido", + "entrance_overworld_sfm_ent", + "entrance_overworld_sfm", + "entrance_house_shop", + "entrance_house_potion_front", + "entrance_house_potion_back", + "entrance_dungeon_deku", + "entrance_dungeon_dodongo", + "entrance_dungeon_jabu" + ], + [ + "entrance_overworld_cg", + "entrance_overworld_tot_ent", + "entrance_overworld_mkt", + "entrance_overworld_mkt_aly", + "entrance_overworld_mkt_ent", + "entrance_overworld_hf", + "entrance_overworld_llr", + "entrance_house_fishing", + "entrance_house_skull", + "entrance_house_pot", + "entrance_dungeon_forest", + "entrance_dungeon_fire", + "entrance_dungeon_water" + ], + [ + "entrance_overworld_kak", + "entrance_overworld_kak_impa", + "entrance_overworld_kak_gate", + "entrance_overworld_gy", + "entrance_overworld_gy_pad", + "", + "entrance_overworld_dm_smt", + "entrance_house_link", + "entrance_house_tot", + "entrance_house_windmill", + "entrance_dungeon_spirit", + "entrance_dungeon_shadow", + "" + ], + [ + "entrance_overworld_dmc_upr", + "entrance_overworld_dmc_ctr", + "entrance_overworld_dmc_lwr", + "entrance_overworld_gc_drn", + "entrance_overworld_gc_lw", + "entrance_overworld_gc", + "entrance_overworld_dmt", + "entrance_house_shoot_child", + "entrance_house_shoot_adult", + "entrance_house_chest", + "entrance_dungeon_botw", + "entrance_dungeon_ice", + "entrance_dungeon_gtg" + ], + [ + "entrance_overworld_lh", + "entrance_overworld_zr_frnt", + "entrance_overworld_zr", + "entrance_overworld_zr_fall", + "entrance_overworld_zd", + "entrance_overworld_zd_kz", + "entrance_overworld_zf", + "entrance_house_talon_child", + "entrance_house_masks", + "entrance_house_bowling", + "", + "", + "" + ], + [ + "entrance_overworld_col", + "entrance_overworld_wl_col", + "entrance_overworld_wl_fort", + "entrance_overworld_gf_gate", + "entrance_overworld_gf", + "entrance_overworld_gv_fort", + "entrance_overworld_gv", + "entrance_house_talon_adult", + "entrance_house_hag", + "entrance_house_lab", + "entrance_house_fairy", + "entrance_house_cow", + "" + ] + ] + } + }, + "tracker_capture_grotto_interior_dungeon": { + "type": "container", + "content": { + "type": "itemgrid", + "h_alignment": "center", + "item_margin": "1,2", + "rows": [ + [ + "", + "entrance_house_fairy", + "entrance_house_cow", + "entrance_house_shop", + "entrance_house_potion_front", + "entrance_house_potion_back", + "entrance_dungeon_deku", + "entrance_dungeon_dodongo", + "entrance_dungeon_jabu" + ], + [ + "", + "", + "", + "entrance_house_fishing", + "entrance_house_skull", + "entrance_house_pot", + "entrance_dungeon_forest", + "entrance_dungeon_fire", + "entrance_dungeon_water" + ], + [ + "entrance_grotto_generic", + "entrance_grotto_scrub", + "entrance_grotto_cow", + "entrance_house_link", + "entrance_house_tot", + "entrance_house_windmill", + "entrance_dungeon_spirit", + "entrance_dungeon_shadow", + "" + ], + [ + "entrance_grotto_enemy", + "entrance_grotto_tektite", + "entrance_grotto_theater", + "entrance_house_shoot_child", + "entrance_house_shoot_adult", + "entrance_house_chest", + "entrance_dungeon_botw", + "entrance_dungeon_ice", + "entrance_dungeon_gtg" + ], + [ + "entrance_grotto_castle_storms", + "entrance_grotto_field_kak", + "entrance_grotto_field_valley", + "entrance_house_talon_child", + "entrance_house_masks", + "entrance_house_bowling", + "", + "", + "" + ], + [ + "entrance_grotto_royal_tomb", + "entrance_grotto_dampe", + "entrance_grotto_hp", + "entrance_house_talon_adult", + "entrance_house_hag", + "entrance_house_lab", + "", + "", + "" + ] + ] + } + }, + "tracker_capture_ow_grotto_interior_dungeon": { + "type": "container", + "content": { + "type": "itemgrid", + "h_alignment": "center", + "item_margin": "1,2", + "rows": [ + [ + "entrance_overworld_kf", + "entrance_overworld_lw_brg2", + "entrance_overworld_lw_brg", + "entrance_overworld_lw", + "entrance_overworld_lw_mido", + "entrance_overworld_sfm_ent", + "entrance_overworld_sfm", + "", + "entrance_house_fairy", + "entrance_house_cow", + "entrance_house_shop", + "entrance_house_potion_front", + "entrance_house_potion_back", + "entrance_dungeon_deku", + "entrance_dungeon_dodongo", + "entrance_dungeon_jabu" + ], + [ + "entrance_overworld_cg", + "entrance_overworld_tot_ent", + "entrance_overworld_mkt", + "entrance_overworld_mkt_aly", + "entrance_overworld_mkt_ent", + "entrance_overworld_hf", + "entrance_overworld_llr", + "", + "", + "", + "entrance_house_fishing", + "entrance_house_skull", + "entrance_house_pot", + "entrance_dungeon_forest", + "entrance_dungeon_fire", + "entrance_dungeon_water" + ], + [ + "entrance_overworld_kak", + "entrance_overworld_kak_impa", + "entrance_overworld_kak_gate", + "entrance_overworld_gy", + "entrance_overworld_gy_pad", + "", + "entrance_overworld_dm_smt", + "entrance_grotto_generic", + "entrance_grotto_scrub", + "entrance_grotto_cow", + "entrance_house_link", + "entrance_house_tot", + "entrance_house_windmill", + "entrance_dungeon_spirit", + "entrance_dungeon_shadow", + "" + ], + [ + "entrance_overworld_dmc_upr", + "entrance_overworld_dmc_ctr", + "entrance_overworld_dmc_lwr", + "entrance_overworld_gc_drn", + "entrance_overworld_gc_lw", + "entrance_overworld_gc", + "entrance_overworld_dmt", + "entrance_grotto_enemy", + "entrance_grotto_tektite", + "entrance_grotto_theater", + "entrance_house_shoot_child", + "entrance_house_shoot_adult", + "entrance_house_chest", + "entrance_dungeon_botw", + "entrance_dungeon_ice", + "entrance_dungeon_gtg" + ], + [ + "entrance_overworld_lh", + "entrance_overworld_zr_frnt", + "entrance_overworld_zr", + "entrance_overworld_zr_fall", + "entrance_overworld_zd", + "entrance_overworld_zd_kz", + "entrance_overworld_zf", + "entrance_grotto_castle_storms", + "entrance_grotto_field_kak", + "entrance_grotto_field_valley", + "entrance_house_talon_child", + "entrance_house_masks", + "entrance_house_bowling", + "", + "", + "" + ], + [ + "entrance_overworld_col", + "entrance_overworld_wl_col", + "entrance_overworld_wl_fort", + "entrance_overworld_gf_gate", + "entrance_overworld_gf", + "entrance_overworld_gv_fort", + "entrance_overworld_gv", + "entrance_grotto_royal_tomb", + "entrance_grotto_dampe", + "entrance_grotto_hp", + "entrance_house_talon_adult", + "entrance_house_hag", + "entrance_house_lab", + "", + "", + "" ] ] } diff --git a/ootrando_overworldmap_hamsda/layouts/dungeon_grids_keysanity.json b/ootrando_overworldmap_hamsda/layouts/dungeon_grids_keysanity.json index 80934e82..f1a2e918 100644 --- a/ootrando_overworldmap_hamsda/layouts/dungeon_grids_keysanity.json +++ b/ootrando_overworldmap_hamsda/layouts/dungeon_grids_keysanity.json @@ -322,14 +322,14 @@ "content": [ { "type": "item", - "item": "gf_label", + "item": "th_label", "canvas_depth": 1, "width": 32, "height": 12 }, { "type": "item", - "item": "gf_small_keys", + "item": "th_small_keys", "canvas_depth": 1, "canvas_left": 0, "canvas_top": 16, @@ -794,14 +794,14 @@ "content": [ { "type": "item", - "item": "gf_label", + "item": "th_label", "canvas_depth": 1, "width": 32, "height": 12 }, { "type": "item", - "item": "gf_small_keys", + "item": "th_small_keys", "canvas_depth": 1, "canvas_left": 34, "canvas_top": 0, diff --git a/ootrando_overworldmap_hamsda/layouts/layouts.json b/ootrando_overworldmap_hamsda/layouts/layouts.json index a137dc77..b4b424e3 100644 --- a/ootrando_overworldmap_hamsda/layouts/layouts.json +++ b/ootrando_overworldmap_hamsda/layouts/layouts.json @@ -35,6 +35,20 @@ "type": "layout", "key": "counters_tall" } + }, + { + "type": "group", + "header": "Presets", + "dock": "top", + "content": { + "type": "item", + "item": "presets", + "h_alignment": "left", + "v_alignment": "top", + "margin": "5", + "width": 32, + "height": 32 + } } ] }, @@ -141,6 +155,20 @@ "type": "layout", "key": "counters_wide" } + }, + { + "type": "group", + "header": "Presets", + "dock": "top", + "content": { + "type": "item", + "item": "presets", + "h_alignment": "left", + "v_alignment": "top", + "margin": "5", + "width": 32, + "height": 32 + } } ] }, diff --git a/ootrando_overworldmap_hamsda/layouts/layouts_entrance.json b/ootrando_overworldmap_hamsda/layouts/layouts_entrance.json index 9bbad870..03abf7f0 100644 --- a/ootrando_overworldmap_hamsda/layouts/layouts_entrance.json +++ b/ootrando_overworldmap_hamsda/layouts/layouts_entrance.json @@ -35,6 +35,20 @@ "type": "layout", "key": "counters_tall" } + }, + { + "type": "group", + "header": "Presets", + "dock": "top", + "content": { + "type": "item", + "item": "presets", + "h_alignment": "left", + "v_alignment": "top", + "margin": "5", + "width": 32, + "height": 32 + } } ] }, @@ -141,6 +155,20 @@ "type": "layout", "key": "counters_wide" } + }, + { + "type": "group", + "header": "Presets", + "dock": "top", + "content": { + "type": "item", + "item": "presets", + "h_alignment": "left", + "v_alignment": "top", + "margin": "5", + "width": 32, + "height": 32 + } } ] }, diff --git a/ootrando_overworldmap_hamsda/layouts/options.json b/ootrando_overworldmap_hamsda/layouts/options.json index 12f850e1..2aa05a96 100644 --- a/ootrando_overworldmap_hamsda/layouts/options.json +++ b/ootrando_overworldmap_hamsda/layouts/options.json @@ -1,99 +1,1217 @@ { + "layout_main_open": { + "type": "array", + "orientation": "vertical", + "item_margin": "1,2", + "content": [ + { + "type": "item", + "item": "setting_forest", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "setting_kak", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "setting_door", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "setting_fountain", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "setting_gerudo", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "setting_bridge", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "setting_bridge_amount", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "setting_trials", + "width": 200, + "height": 16 + } + ] + }, + "layout_main_world": { + "type": "array", + "orientation": "vertical", + "item_margin": "1,2", + "content": [ + { + "type": "item", + "item": "setting_age", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "setting_entrance_interiors", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "setting_entrance_grottos", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "setting_entrance_dungeons", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "setting_entrance_overworld", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "setting_entrance_mixed", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "setting_entrance_owl", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "setting_entrance_warpsong", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "setting_entrance_spawn", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "setting_logic_chus", + "width": 200, + "height": 16 + } + ] + }, + "layout_main_shuffle": { + "type": "array", + "orientation": "vertical", + "item_margin": "1,2", + "content": [ + { + "type": "item", + "item": "setting_shopsanity", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "setting_tokens_off", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "setting_scrub_shuffle", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "setting_cowsanity", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "setting_shuffle_sword1", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "setting_shuffle_ocarinas", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "setting_shuffle_egg", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "setting_shuffle_card", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "setting_shuffle_beans", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "setting_shuffle_merchants", + "width": 200, + "height": 16 + } + ] + }, + "layout_main_dungeon": { + "type": "array", + "orientation": "vertical", + "item_margin": "1,2", + "content": [ + { + "type": "item", + "item": "setting_shuffle_smallkeys", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "setting_shuffle_hideoutkeys", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "setting_shuffle_bosskeys", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "setting_shuffle_ganon_bosskey", + "width": 200, + "height": 16 + } + ] + }, + "layout_other_misc": { + "type": "array", + "orientation": "vertical", + "item_margin": "1,2", + "content": [ + { + "type": "item", + "item": "setting_zelda", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "setting_masks", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "setting_hints", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "setting_damage", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "setting_skulltulas_sun", + "width": 200, + "height": 16 + } + ] + }, + "layout_logic_tricks": { + "type": "array", + "orientation": "vertical", + "item_margin": "1,2", + "content": [ + { + "type": "item", + "item": "logic_fewer_tunic_requirements", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_grottos_without_agony", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_visible_collisions", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_child_deadhand", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_child_dampe_race_poh", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_man_on_roof", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_dc_staircase", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_dc_jump", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_dc_vines_gs", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_gerudo_kitchen", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_deku_basement_gs", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_deku_b1_webs_with_bow", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_deku_mq_log", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_rusted_switches", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_botw_basement", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_botw_mq_pits", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_forest_mq_block_puzzle", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_spirit_child_bombchu", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_windmill_poh", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_crater_bean_poh_with_hovers", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_zora_with_cucco", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_water_mq_central_pillar", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_gtg_mq_with_hookshot", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_forest_vines", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_forest_outdoor_east_gs", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_forest_first_gs", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_forest_well_swim", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_forest_mq_hallway_switch_jumpslash", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_dmt_bombable", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_goron_city_pot_with_strength", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_adult_kokiri_gs", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_spirit_mq_frozen_eye", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_spirit_wall", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_spirit_lobby_gs", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_spirit_lobby_jump", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_spirit_mq_sun_block_gs", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_jabu_scrub_jump_dive", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_jabu_mq_sot_gs", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_botw_mq_dead_hand_key", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_fire_flame_maze", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_fire_mq_flame_maze", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_fire_mq_climb", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_fire_mq_maze_hovers", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_fire_mq_near_boss", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_fire_mq_maze_side_room", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_fire_mq_bk_chest", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_fire_mq_above_maze_gs", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_zora_river_lower", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_water_cracked_wall_hovers", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_shadow_freestanding_key", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_shadow_mq_invisible_blades", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_shadow_mq_huge_pit", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_mido_backflip", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_fire_boss_door_jump", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_lab_diving", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_biggoron_bolero", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_wasteland_crossing", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_colossus_gs", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_dc_scarecrow_gs", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_kakariko_tower_gs", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_deku_mq_compass_gs", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_lab_wall_gs", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_spirit_mq_lower_adult", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_spirit_map_chest", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_spirit_sun_chest", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_spirit_mq_sun_block_sot", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_shadow_trial_mq", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_forest_outdoors_ledge", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_water_boss_key_region", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_water_mq_locked_gs", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_water_falling_platform_gs_hookshot", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_water_falling_platform_gs_boomerang", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_water_river_gs", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_water_hookshot_entry", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_dmt_climb_hovers", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_trail_gs_upper", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_trail_gs_lower_hookshot", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_trail_gs_lower_hovers", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_trail_gs_lower_bean", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_crater_upper_to_lower", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_zora_with_hovers", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_domain_gs", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_king_zora_skip", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_shadow_statue", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_link_goron_dins", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_fire_song_of_time", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_fire_strength", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_fire_mq_blocked_chest", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_fire_mq_maze_jump", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_light_trial_mq", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_ice_mq_scarecrow", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_ice_mq_red_ice_gs", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_ice_block_gs", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_reverse_wasteland", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_zora_river_upper", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_shadow_mq_gap", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_lost_woods_gs_bean", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_jabu_boss_gs_adult", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_kakariko_rooftop_gs", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_graveyard_poh", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_castle_storms_gs", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_dmt_soil_gs", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_gtg_without_hookshot", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_gtg_mq_without_hookshot", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_gtg_fake_wall", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_water_cracked_wall_nothing", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_water_north_basement_ledge_jump", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_water_temple_torch_longshot", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_water_central_gs_fw", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_water_central_gs_irons", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_water_bk_jump_dive", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_water_dragon_jump_dive", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_water_dragon_adult", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_water_dragon_child", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_goron_city_leftmost", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_goron_grotto", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_deku_b1_skip", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_spirit_lower_adult_switch", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_forest_outside_backdoor", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_forest_door_frame", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_dc_mq_child_bombs", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_dc_scrub_room", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_dc_slingshot_skip", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_dc_mq_eyes", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_dc_mq_child_back", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_child_rolling_with_strength", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_goron_city_pot", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_valley_crate_hovers", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_lost_woods_bridge", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_spirit_trial_hookshot", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_shadow_umbrella", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_shadow_umbrella_gs", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_water_central_bow", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_fire_scarecrow", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_fire_trial_mq", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_shadow_fire_arrow_entry", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_lens_wasteland", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_lens_botw", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_lens_castle_mq", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_lens_castle", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_lens_gtg_mq", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_lens_gtg", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_lens_jabu_mq", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_lens_shadow_mq", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_lens_shadow_mq_back", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_lens_shadow", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_lens_shadow_back", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_lens_spirit_mq", + "width": 200, + "height": 16 + }, + { + "type": "item", + "item": "logic_lens_spirit", + "width": 200, + "height": 16 + } + ] + }, "options_popup": { "type": "tabbed", "tabs": [ { - "title": "Main Rules", + "title": "Open", "content": { - "type": "itemgrid", - "item_margin": "1,2", - "rows": [ - [ - "setting_forest", - "setting_age", - "setting_shopsanity", - "setting_shuffle_sword1", - "setting_zelda" - ], - [ - "setting_kak", - "setting_logic_chus", - "setting_tokens_off", - "setting_shuffle_ocarinas", - "setting_masks" - ], - [ - "setting_door", - "", - "setting_scrub_shuffle", - "setting_shuffle_egg", - "setting_hints" - ], - [ - "setting_fountain", - "", - "setting_cowsanity", - "setting_shuffle_card", - "setting_damage" - ], - [ - "setting_gerudo", - "", - "", - "setting_shuffle_beans", - "setting_plant" - ], - [ - "setting_bridge", - "", - "", - "setting_merchants", - "" - ], - [ - "setting_bridge_amount", - "", - "", - "setting_lacs", - "" - ], - [ - "setting_trials", - "", - "", - "setting_lacs_amount", - "" - ] - ] + "type": "layout", + "key": "layout_main_open", + "h_alignment": "left" + } + }, + { + "title": "World", + "content": { + "type": "layout", + "key": "layout_main_world", + "h_alignment": "left" + } + }, + { + "title": "Shuffle", + "content": { + "type": "layout", + "key": "layout_main_shuffle", + "h_alignment": "left" + } + }, + { + "title": "Dungeon Items", + "content": { + "type": "layout", + "key": "layout_main_dungeon", + "h_alignment": "left" + } + }, + { + "title": "Other", + "content": { + "type": "layout", + "key": "layout_other_misc", + "h_alignment": "left" } }, { - "title": "Detailed Logic", + "title": "Logic Tricks", "content": { - "type": "array", - "orientation": "vertical", + "type": "scroll", + "horizontal_scrollbar_visibility": "auto", + "vertical_scrollbar_visibility": "auto", + "max_height": 500, "content": [ { - "type": "itemgrid", - "h_alignment": "left", - "item_margin": "1,2", - "rows": [ - [ - "setting_skulltulas_sun" - ] - ] - }, - { - "type": "scroll", - "horizontal_scrollbar_visibility": "auto", - "vertical_scrollbar_visibility": "auto", - "max_height": 500, - "content": [ - { - "type": "layout", - "key": "tricks_list" - } - ] + "type": "layout", + "key": "layout_logic_tricks", + "h_alignment": "left" } ] } diff --git a/ootrando_overworldmap_hamsda/layouts/options_entrance.json b/ootrando_overworldmap_hamsda/layouts/options_entrance.json deleted file mode 100644 index 93d50fec..00000000 --- a/ootrando_overworldmap_hamsda/layouts/options_entrance.json +++ /dev/null @@ -1,110 +0,0 @@ -{ - "options_popup": { - "type": "tabbed", - "tabs": [ - { - "title": "Main Rules", - "content": { - "type": "itemgrid", - "item_margin": "1,2", - "rows": [ - [ - "setting_forest", - "setting_age", - "setting_shopsanity", - "setting_shuffle_sword1", - "setting_zelda" - ], - [ - "setting_kak", - "setting_entrance_interiors", - "setting_tokens_off", - "setting_shuffle_ocarinas", - "setting_masks" - ], - [ - "setting_door", - "setting_entrance_grottos", - "setting_scrub_shuffle", - "setting_shuffle_egg", - "setting_hints" - ], - [ - "setting_fountain", - "setting_entrance_dungeons", - "setting_cowsanity", - "setting_shuffle_card", - "setting_damage" - ], - [ - "setting_gerudo", - "setting_entrance_overworld", - "", - "setting_shuffle_beans", - "setting_plant" - ], - [ - "setting_bridge", - "setting_entrance_owl", - "", - "setting_merchants", - "" - ], - [ - "setting_bridge_amount", - "setting_entrance_warpsong", - "", - "setting_lacs", - "" - ], - [ - "setting_logic_chus", - "setting_entrance_spawn", - "", - "setting_lacs_amount", - "" - ], - [ - "setting_trials", - "", - "", - "", - "" - ] - ] - } - }, - { - "title": "Detailed Logic", - "content": { - "type": "array", - "orientation": "vertical", - "content": [ - { - "type": "itemgrid", - "h_alignment": "left", - "item_margin": "1,2", - "rows": [ - [ - "setting_skulltulas_sun" - ] - ] - }, - { - "type": "scroll", - "horizontal_scrollbar_visibility": "auto", - "vertical_scrollbar_visibility": "auto", - "max_height": 500, - "content": [ - { - "type": "layout", - "key": "tricks_list" - } - ] - } - ] - } - } - ] - } -} \ No newline at end of file diff --git a/ootrando_overworldmap_hamsda/layouts/tricks.json b/ootrando_overworldmap_hamsda/layouts/tricks.json deleted file mode 100644 index 68b4fa58..00000000 --- a/ootrando_overworldmap_hamsda/layouts/tricks.json +++ /dev/null @@ -1,903 +0,0 @@ -{ - "tricks_list": { - "type": "array", - "orientation": "vertical", - "item_margin": "1,2", - "content": [ - { - "type": "item", - "item": "logic_fewer_tunic_requirements", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_grottos_without_agony", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_visible_collisions", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_child_deadhand", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_child_dampe_race_poh", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_man_on_roof", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_dc_staircase", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_dc_jump", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_dc_vines_gs", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_gerudo_kitchen", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_deku_basement_gs", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_deku_b1_webs_with_bow", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_deku_mq_log", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_rusted_switches", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_botw_basement", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_botw_mq_pits", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_forest_mq_block_puzzle", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_spirit_child_bombchu", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_windmill_poh", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_crater_bean_poh_with_hovers", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_zora_with_cucco", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_water_mq_central_pillar", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_gtg_mq_with_hookshot", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_forest_vines", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_forest_outdoor_east_gs", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_forest_first_gs", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_forest_well_swim", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_forest_mq_hallway_switch_jumpslash", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_forest_mq_hallway_switch_hookshot", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_dmt_bombable", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_goron_city_pot_with_strength", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_adult_kokiri_gs", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_spirit_mq_frozen_eye", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_spirit_wall", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_spirit_lobby_gs", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_spirit_lobby_jump", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_spirit_mq_sun_block_gs", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_jabu_scrub_jump_dive", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_jabu_mq_sot_gs", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_botw_mq_dead_hand_key", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_fire_flame_maze", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_fire_mq_flame_maze", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_fire_mq_climb", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_fire_mq_maze_hovers", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_fire_mq_near_boss", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_fire_mq_maze_side_room", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_fire_mq_bk_chest", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_fire_mq_above_maze_gs", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_zora_river_lower", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_water_cracked_wall_hovers", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_shadow_freestanding_key", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_shadow_mq_invisible_blades", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_shadow_mq_huge_pit", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_mido_backflip", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_fire_boss_door_jump", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_lab_diving", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_biggoron_bolero", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_wasteland_crossing", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_colossus_gs", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_dc_scarecrow_gs", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_kakariko_tower_gs", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_deku_mq_compass_gs", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_lab_wall_gs", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_spirit_mq_lower_adult", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_spirit_map_chest", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_spirit_sun_chest", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_spirit_mq_sun_block_sot", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_shadow_trial_mq", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_forest_outdoors_ledge", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_water_boss_key_region", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_water_mq_locked_gs", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_water_falling_platform_gs_hookshot", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_water_falling_platform_gs_boomerang", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_water_river_gs", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_water_hookshot_entry", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_dmt_climb_hovers", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_trail_gs_upper", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_trail_gs_lower_hookshot", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_trail_gs_lower_hovers", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_trail_gs_lower_bean", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_crater_upper_to_lower", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_zora_with_hovers", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_domain_gs", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_shadow_statue", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_link_goron_dins", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_fire_song_of_time", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_fire_strength", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_fire_mq_blocked_chest", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_fire_mq_maze_jump", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_light_trial_mq", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_ice_mq_scarecrow", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_ice_mq_red_ice_gs", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_ice_block_gs", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_reverse_wasteland", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_zora_river_upper", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_shadow_mq_gap", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_lost_woods_gs_bean", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_jabu_boss_gs_adult", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_kakariko_rooftop_gs", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_graveyard_poh", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_castle_storms_gs", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_dmt_soil_gs", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_gtg_without_hookshot", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_gtg_mq_without_hookshot", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_gtg_fake_wall", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_water_cracked_wall_nothing", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_water_north_basement_ledge_jump", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_water_temple_torch_longshot", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_water_central_gs_fw", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_water_central_gs_irons", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_water_bk_jump_dive", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_water_dragon_jump_dive", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_water_dragon_adult", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_water_dragon_child", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_goron_city_leftmost", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_goron_grotto", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_deku_b1_skip", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_spirit_lower_adult_switch", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_forest_outside_backdoor", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_forest_door_frame", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_dc_mq_child_bombs", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_dc_scrub_room", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_dc_slingshot_skip", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_dc_mq_eyes", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_dc_mq_child_back", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_child_rolling_with_strength", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_goron_city_pot", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_valley_crate_hovers", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_lost_woods_bridge", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_spirit_trial_hookshot", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_shadow_umbrella", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_shadow_umbrella_gs", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_water_central_bow", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_fire_scarecrow", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_fire_trial_mq", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_shadow_fire_arrow_entry", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_lens_wasteland", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_lens_botw", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_lens_castle_mq", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_lens_castle", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_lens_gtg_mq", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_lens_gtg", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_lens_jabu_mq", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_lens_shadow_mq", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_lens_shadow_mq_back", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_lens_shadow", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_lens_shadow_back", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_lens_spirit_mq", - "width": 200, - "height": 16 - }, - { - "type": "item", - "item": "logic_lens_spirit", - "width": 200, - "height": 16 - } - ] - } -} \ No newline at end of file diff --git a/ootrando_overworldmap_hamsda/locations/dungeons.json b/ootrando_overworldmap_hamsda/locations/dungeons.json index e16950a1..0af02006 100644 --- a/ootrando_overworldmap_hamsda/locations/dungeons.json +++ b/ootrando_overworldmap_hamsda/locations/dungeons.json @@ -1413,6 +1413,11 @@ { "name": "Iron Boots Chest", "short_name": "Iron Boots", + "access_rules": [ + "$has_bottle", + "{$hintable}" + ], + "capture_item": true, "item_count": 1 }, { @@ -1513,6 +1518,11 @@ { "name": "Iron Boots Chest", "short_name": "Iron Boots", + "access_rules": [ + "$has_bottle", + "{$hintable}" + ], + "capture_item": true, "item_count": 1 }, { @@ -1897,7 +1907,6 @@ "name": "Outdoor Ledge", "access_rules": [ "@Forest Temple MQ/Central Area,[logic_forest_mq_hallway_switch_jumpslash],hoverboots", - "@Forest Temple MQ/Central Area,[logic_forest_mq_hallway_switch_hookshot],hookshot", "@Forest Temple MQ/After Block Puzzle,forest_small_keys:2,[forest_small_keys:3]", "@Forest Temple MQ/After Block Puzzle,[logic_forest_mq_hallway_switch_jumpslash],hookshot", "@Forest Temple MQ/After Block Puzzle,[logic_forest_mq_hallway_switch_jumpslash],[logic_forest_outside_backdoor]" @@ -2960,8 +2969,10 @@ "access_rules": [ "@Water Temple/Middle Water Level,ironboots,[$zora_tunic],hookshot,water_small_keys:1,[water_small_keys:5]", "@Water Temple/Middle Water Level,ironboots,[$zora_tunic],hookshot,bow", - "@Water Temple/Middle Water Level,ironboots,[$zora_tunic],hookshot,dinsfire,magic" + "@Water Temple/Middle Water Level,ironboots,[$zora_tunic],hookshot,dinsfire,magic", + "{$hintable}" ], + "capture_item": true, "chest_unopened_img": "images/chest_brown_small_key.png", "item_count": 1 }, @@ -3196,8 +3207,10 @@ "short_name": "Central Pillar", "access_rules": [ "@Water Temple MQ/Dive,[$zora_tunic],hookshot,[logic_water_mq_central_pillar],bow,firearrow,magic", - "@Water Temple MQ/Dive,[$zora_tunic],hookshot,dinsfire,magic,ocarina,time" + "@Water Temple MQ/Dive,[$zora_tunic],hookshot,dinsfire,magic,ocarina,time", + "{$hintable}" ], + "capture_item": true, "chest_unopened_img": "images/chest_brown_small_key.png", "item_count": 1 }, @@ -3471,8 +3484,10 @@ "@Shadow Temple/Huge Pit,shadow_small_keys:2,hookshot,[logic_lens_shadow_back],[logic_shadow_freestanding_key],$has_bombchus", "@Shadow Temple/Huge Pit,shadow_small_keys:2,hookshot,$can_use_lens,bombs", "@Shadow Temple/Huge Pit,shadow_small_keys:2,hookshot,$can_use_lens,lift1", - "@Shadow Temple/Huge Pit,shadow_small_keys:2,hookshot,$can_use_lens,[logic_shadow_freestanding_key],$has_bombchus" + "@Shadow Temple/Huge Pit,shadow_small_keys:2,hookshot,$can_use_lens,[logic_shadow_freestanding_key],$has_bombchus", + "{$hintable}" ], + "capture_item": true, "chest_unopened_img": "images/small_key.png", "chest_opened_img": "images/small_key_check.png", "item_count": 1 @@ -3558,10 +3573,8 @@ "name": "Invisible Floormaster Chest", "short_name": "Floormaster", "access_rules": [ - "@Shadow Temple/Beyond Boat", - "{$hintable}" + "@Shadow Temple/Beyond Boat" ], - "capture_item": true, "chest_unopened_img": "images/chest_brown_small_key.png", "item_count": 1 }, @@ -3799,8 +3812,10 @@ "short_name": "Stalfos", "access_rules": [ "@Shadow Temple MQ/Lower Huge Pit,hoverboots,shadow_small_keys:2,[shadow_small_keys:3],hookshot,[logic_lens_shadow_mq_back]", - "@Shadow Temple MQ/Lower Huge Pit,hoverboots,shadow_small_keys:2,[shadow_small_keys:3],hookshot,$can_use_lens" + "@Shadow Temple MQ/Lower Huge Pit,hoverboots,shadow_small_keys:2,[shadow_small_keys:3],hookshot,$can_use_lens", + "{$hintable}" ], + "capture_item": true, "item_count": 1 }, { @@ -4539,7 +4554,7 @@ { "name": "Silver Gauntlets Chest", "short_name": "Right Hand", - "access_rules": [ + "access_rules": [ "@Spirit Temple MQ/Shared,spirit_small_keys:3,[spirit_small_keys:7],ocarina,time", "@Spirit Temple MQ/Shared,spirit_small_keys:3,[spirit_small_keys:7],[logic_spirit_mq_sun_block_sot]", "@Spirit Temple MQ/Adult,spirit_small_keys:1,[spirit_small_keys:7],$has_age|adult", @@ -4909,10 +4924,8 @@ "short_name": "Dead Hand", "access_rules": [ "ocarina,lullaby,sword1", - "ocarina,lullaby,sticks,[logic_child_deadhand]", - "{$hintable}" + "ocarina,lullaby,sticks,[logic_child_deadhand]" ], - "capture_item": true, "item_count": 1 }, { @@ -4992,10 +5005,8 @@ "short_name": "Dead Hand", "access_rules": [ "sword1", - "sticks,[logic_child_deadhand]", - "{$hintable}" + "sticks,[logic_child_deadhand]" ], - "capture_item": true, "chest_unopened_img": "images/chest_brown_compass.png", "item_count": 1 }, @@ -5113,8 +5124,10 @@ "access_rules": [ "longshot,hoverboots", "longshot,magic,dinsfire", - "magic,bow,firearrow" + "magic,bow,firearrow", + "{$hintable}" ], + "capture_item": true, "item_count": 1 }, { @@ -5340,8 +5353,10 @@ "bow,[logic_lens_castle_mq],hookshot,[logic_shadow_trial_mq]", "bow,$can_use_lens,hoverboots", "bow,$can_use_lens,hookshot,$has_fire", - "bow,$can_use_lens,hookshot,[logic_shadow_trial_mq]" + "bow,$can_use_lens,hookshot,[logic_shadow_trial_mq]", + "{$hintable}" ], + "capture_item": true, "chest_unopened_img": "images/chest_brown_small_key.png", "item_count": 1 }, @@ -5472,7 +5487,7 @@ ] }, { - "name": "Gerudo Training Grounds", + "name": "Gerudo Training Ground", "parent": "Gerudo Fortress", "access_rules": [ "gtg_reg,$gerudo_valley_far_side,$gerudo_card" @@ -5488,7 +5503,7 @@ { "name": "Central Maze", "access_rules": [ - "@Gerudo Training Grounds/Lobby" + "@Gerudo Training Ground/Lobby" ], "visibility_rules": [ "hidden_region" @@ -5498,8 +5513,8 @@ { "name": "Heavy Block Room", "access_rules": [ - "@Gerudo Training Grounds/Lobby,$has_age|adult,hookshot", - "@Gerudo Training Grounds/Lobby,$has_age|adult,[logic_gtg_without_hookshot]" + "@Gerudo Training Ground/Lobby,$has_age|adult,hookshot", + "@Gerudo Training Ground/Lobby,$has_age|adult,[logic_gtg_without_hookshot]" ], "visibility_rules": [ "hidden_region" @@ -5509,14 +5524,14 @@ { "name": "Eye Statue Upper", "access_rules": [ - "@Gerudo Training Grounds/Heavy Block Room,$has_age|adult,[logic_lens_gtg],hookshot", - "@Gerudo Training Grounds/Heavy Block Room,$has_age|adult,[logic_lens_gtg],[logic_gtg_fake_wall],hoverboots", - "@Gerudo Training Grounds/Heavy Block Room,$has_age|adult,[logic_lens_gtg],[hookshot],bombs,shield2", - "@Gerudo Training Grounds/Heavy Block Room,$has_age|adult,[logic_lens_gtg],[hookshot],bombs,shield3", - "@Gerudo Training Grounds/Heavy Block Room,$has_age|adult,$can_use_lens,hookshot", - "@Gerudo Training Grounds/Heavy Block Room,$has_age|adult,$can_use_lens,[logic_gtg_fake_wall],hoverboots", - "@Gerudo Training Grounds/Heavy Block Room,$has_age|adult,$can_use_lens,[hookshot],bombs,shield2", - "@Gerudo Training Grounds/Heavy Block Room,$has_age|adult,$can_use_lens,[hookshot],bombs,shield3" + "@Gerudo Training Ground/Heavy Block Room,$has_age|adult,[logic_lens_gtg],hookshot", + "@Gerudo Training Ground/Heavy Block Room,$has_age|adult,[logic_lens_gtg],[logic_gtg_fake_wall],hoverboots", + "@Gerudo Training Ground/Heavy Block Room,$has_age|adult,[logic_lens_gtg],[hookshot],bombs,shield2", + "@Gerudo Training Ground/Heavy Block Room,$has_age|adult,[logic_lens_gtg],[hookshot],bombs,shield3", + "@Gerudo Training Ground/Heavy Block Room,$has_age|adult,$can_use_lens,hookshot", + "@Gerudo Training Ground/Heavy Block Room,$has_age|adult,$can_use_lens,[logic_gtg_fake_wall],hoverboots", + "@Gerudo Training Ground/Heavy Block Room,$has_age|adult,$can_use_lens,[hookshot],bombs,shield2", + "@Gerudo Training Ground/Heavy Block Room,$has_age|adult,$can_use_lens,[hookshot],bombs,shield3" ], "visibility_rules": [ "hidden_region" @@ -5526,7 +5541,7 @@ { "name": "Like Like Room", "access_rules": [ - "@Gerudo Training Grounds/Eye Statue Upper,lift2" + "@Gerudo Training Ground/Eye Statue Upper,lift2" ], "visibility_rules": [ "hidden_region" @@ -5536,9 +5551,9 @@ { "name": "Lava Room", "access_rules": [ - "@Gerudo Training Grounds/Lobby,$has_age|adult,$has_explosives", - "@Gerudo Training Grounds/Central Maze,gtg_small_keys:2,[gtg_small_keys:9]", - "@Gerudo Training Grounds/Eye Statue Upper" + "@Gerudo Training Ground/Lobby,$has_age|adult,$has_explosives", + "@Gerudo Training Ground/Central Maze,gtg_small_keys:2,[gtg_small_keys:9]", + "@Gerudo Training Ground/Eye Statue Upper" ], "visibility_rules": [ "hidden_region" @@ -5548,8 +5563,8 @@ { "name": "Central Maze Right", "access_rules": [ - "@Gerudo Training Grounds/Central Maze,gtg_small_keys:2,[gtg_small_keys:9]", - "@Gerudo Training Grounds/Lava Room,ocarina,time" + "@Gerudo Training Ground/Central Maze,gtg_small_keys:2,[gtg_small_keys:9]", + "@Gerudo Training Ground/Lava Room,ocarina,time" ], "visibility_rules": [ "hidden_region" @@ -5559,10 +5574,10 @@ { "name": "Hammer Room", "access_rules": [ - "@Gerudo Training Grounds/Central Maze Right,$has_age|adult,hookshot", - "@Gerudo Training Grounds/Lava Room,$has_age|adult,longshot", - "@Gerudo Training Grounds/Lava Room,$has_age|adult,hookshot,hoverboots", - "@Gerudo Training Grounds/Eye Statue Upper" + "@Gerudo Training Ground/Central Maze Right,$has_age|adult,hookshot", + "@Gerudo Training Ground/Lava Room,$has_age|adult,longshot", + "@Gerudo Training Ground/Lava Room,$has_age|adult,hookshot,hoverboots", + "@Gerudo Training Ground/Eye Statue Upper" ], "visibility_rules": [ "hidden_region" @@ -5572,8 +5587,8 @@ { "name": "Eye Statue Lower", "access_rules": [ - "@Gerudo Training Grounds/Hammer Room,$has_age|adult,hammer,bow", - "@Gerudo Training Grounds/Eye Statue Upper" + "@Gerudo Training Ground/Hammer Room,$has_age|adult,hammer,bow", + "@Gerudo Training Ground/Eye Statue Upper" ], "visibility_rules": [ "hidden_region" @@ -5584,7 +5599,7 @@ "name": "Lobby Chests", "short_name": "Lobby", "access_rules": [ - "@Gerudo Training Grounds/Lobby,$has_age|adult,bow" + "@Gerudo Training Ground/Lobby,$has_age|adult,bow" ], "item_count": 2 }, @@ -5592,7 +5607,7 @@ "name": "Beamos Chest", "short_name": "Beamos", "access_rules": [ - "@Gerudo Training Grounds/Lobby,$has_age|adult,$has_explosives" + "@Gerudo Training Ground/Lobby,$has_age|adult,$has_explosives" ], "chest_unopened_img": "images/chest_brown_small_key.png", "item_count": 1 @@ -5601,7 +5616,7 @@ "name": "Stalfos Chest", "short_name": "Stalfos", "access_rules": [ - "@Gerudo Training Grounds/Lobby,$has_age|adult" + "@Gerudo Training Ground/Lobby,$has_age|adult" ], "chest_unopened_img": "images/chest_brown_small_key.png", "item_count": 1 @@ -5610,7 +5625,7 @@ "name": "Before Heavy Block Chest", "short_name": "Wolfos", "access_rules": [ - "@Gerudo Training Grounds/Heavy Block Room" + "@Gerudo Training Ground/Heavy Block Room" ], "item_count": 1 }, @@ -5618,7 +5633,7 @@ "name": "Heavy Block Chests", "short_name": "Like Like", "access_rules": [ - "@Gerudo Training Grounds/Like Like Room" + "@Gerudo Training Ground/Like Like Room" ], "chest_unopened_img": "images/chest_brown_small_key.png", "item_count": 4 @@ -5627,7 +5642,7 @@ "name": "Eye Statue Chest", "short_name": "Eye Statue", "access_rules": [ - "@Gerudo Training Grounds/Eye Statue Lower,$has_age|adult,bow" + "@Gerudo Training Ground/Eye Statue Lower,$has_age|adult,bow" ], "chest_unopened_img": "images/chest_brown_small_key.png", "item_count": 1 @@ -5636,7 +5651,7 @@ "name": "Near Scarecrow Chest", "short_name": "Near Scarecrow", "access_rules": [ - "@Gerudo Training Grounds/Eye Statue Upper,$has_age|adult,bow" + "@Gerudo Training Ground/Eye Statue Upper,$has_age|adult,bow" ], "chest_unopened_img": "images/chest_brown_small_key.png", "item_count": 1 @@ -5645,7 +5660,7 @@ "name": "Hammer Room Clear Chest", "short_name": "Flaming Enemies", "access_rules": [ - "@Gerudo Training Grounds/Hammer Room" + "@Gerudo Training Ground/Hammer Room" ], "item_count": 1 }, @@ -5653,7 +5668,7 @@ "name": "Hammer Room Switch Chest", "short_name": "Hammer Switch", "access_rules": [ - "@Gerudo Training Grounds/Hammer Room,$has_age|adult,[hammer]" + "@Gerudo Training Ground/Hammer Room,$has_age|adult,[hammer]" ], "chest_unopened_img": "images/chest_brown_small_key.png", "item_count": 1 @@ -5662,7 +5677,7 @@ "name": "Freestanding Key", "short_name": "Ledge Key", "access_rules": [ - "@Gerudo Training Grounds/Central Maze Right" + "@Gerudo Training Ground/Central Maze Right" ], "capture_item": true, "chest_unopened_img": "images/small_key.png", @@ -5673,7 +5688,7 @@ "name": "Maze Right Chests", "short_name": "Maze Right", "access_rules": [ - "@Gerudo Training Grounds/Central Maze Right" + "@Gerudo Training Ground/Central Maze Right" ], "item_count": 2 }, @@ -5681,7 +5696,7 @@ "name": "Underwater Silver Rupee Chest", "short_name": "Toilet", "access_rules": [ - "@Gerudo Training Grounds/Lava Room,$has_age|adult,hookshot,ocarina,time,ironboots,$FTR_or_zora", + "@Gerudo Training Ground/Lava Room,$has_age|adult,hookshot,ocarina,time,ironboots,$FTR_or_zora", "{$hintable}" ], "capture_item": true, @@ -5692,8 +5707,8 @@ "name": "Hidden Ceiling Chest", "short_name": "Hidden Ceiling", "access_rules": [ - "@Gerudo Training Grounds/Central Maze,gtg_small_keys:1,[gtg_small_keys:3],[logic_lens_gtg]", - "@Gerudo Training Grounds/Central Maze,gtg_small_keys:1,[gtg_small_keys:3],$can_use_lens" + "@Gerudo Training Ground/Central Maze,gtg_small_keys:1,[gtg_small_keys:3],[logic_lens_gtg]", + "@Gerudo Training Ground/Central Maze,gtg_small_keys:1,[gtg_small_keys:3],$can_use_lens" ], "chest_unopened_img": "images/chest_brown_small_key.png", "item_count": 1 @@ -5702,7 +5717,7 @@ "name": "Maze Path First Chest", "short_name": "Maze 1", "access_rules": [ - "@Gerudo Training Grounds/Central Maze,gtg_small_keys:2,[gtg_small_keys:4]" + "@Gerudo Training Ground/Central Maze,gtg_small_keys:2,[gtg_small_keys:4]" ], "item_count": 1 }, @@ -5710,7 +5725,7 @@ "name": "Maze Path Second Chest", "short_name": "Maze 2", "access_rules": [ - "@Gerudo Training Grounds/Central Maze,gtg_small_keys:4,[gtg_small_keys:6]" + "@Gerudo Training Ground/Central Maze,gtg_small_keys:4,[gtg_small_keys:6]" ], "item_count": 1 }, @@ -5718,7 +5733,7 @@ "name": "Maze Path Third Chest", "short_name": "Maze 3", "access_rules": [ - "@Gerudo Training Grounds/Central Maze,gtg_small_keys:5,[gtg_small_keys:7]" + "@Gerudo Training Ground/Central Maze,gtg_small_keys:5,[gtg_small_keys:7]" ], "item_count": 1 }, @@ -5726,7 +5741,7 @@ "name": "Maze Path Final Chest", "short_name": "Ice Arrows", "access_rules": [ - "@Gerudo Training Grounds/Central Maze,gtg_small_keys:7,[gtg_small_keys:9]", + "@Gerudo Training Ground/Central Maze,gtg_small_keys:7,[gtg_small_keys:9]", "{$hintable}" ], "capture_item": true, @@ -5746,7 +5761,7 @@ ] }, { - "name": "Gerudo Training Grounds MQ", + "name": "Gerudo Training Ground MQ", "parent": "Gerudo Fortress", "access_rules": [ "gtg_mq,$gerudo_valley_far_side,$gerudo_card" @@ -5765,9 +5780,9 @@ { "name": "Stalfos Room", "access_rules": [ - "@Gerudo Training Grounds MQ/Left Side,longshot", - "@Gerudo Training Grounds MQ/Left Side,[logic_gtg_mq_without_hookshot]", - "@Gerudo Training Grounds MQ/Left Side,[logic_gtg_mq_with_hookshot],hookshot" + "@Gerudo Training Ground MQ/Left Side,longshot", + "@Gerudo Training Ground MQ/Left Side,[logic_gtg_mq_without_hookshot]", + "@Gerudo Training Ground MQ/Left Side,[logic_gtg_mq_with_hookshot],hookshot" ], "visibility_rules": [ "hidden_region" @@ -5777,14 +5792,14 @@ { "name": "Back Areas", "access_rules": [ - "@Gerudo Training Grounds MQ/Stalfos Room,[logic_lens_gtg_mq],$has_bottle,ocarina,time", - "@Gerudo Training Grounds MQ/Stalfos Room,[logic_lens_gtg_mq],$has_bottle,[logic_gtg_fake_wall],hoverboots", - "@Gerudo Training Grounds MQ/Stalfos Room,[logic_lens_gtg_mq],$has_bottle,[ocarina],[time],bombs,shield2", - "@Gerudo Training Grounds MQ/Stalfos Room,[logic_lens_gtg_mq],$has_bottle,[ocarina],[time],bombs,shield3", - "@Gerudo Training Grounds MQ/Stalfos Room,$can_use_lens,$has_bottle,ocarina,time", - "@Gerudo Training Grounds MQ/Stalfos Room,$can_use_lens,$has_bottle,[logic_gtg_fake_wall],hoverboots", - "@Gerudo Training Grounds MQ/Stalfos Room,$can_use_lens,$has_bottle,[ocarina],[time],bombs,shield2", - "@Gerudo Training Grounds MQ/Stalfos Room,$can_use_lens,$has_bottle,[ocarina],[time],bombs,shield3" + "@Gerudo Training Ground MQ/Stalfos Room,[logic_lens_gtg_mq],$has_bottle,ocarina,time", + "@Gerudo Training Ground MQ/Stalfos Room,[logic_lens_gtg_mq],$has_bottle,[logic_gtg_fake_wall],hoverboots", + "@Gerudo Training Ground MQ/Stalfos Room,[logic_lens_gtg_mq],$has_bottle,[ocarina],[time],bombs,shield2", + "@Gerudo Training Ground MQ/Stalfos Room,[logic_lens_gtg_mq],$has_bottle,[ocarina],[time],bombs,shield3", + "@Gerudo Training Ground MQ/Stalfos Room,$can_use_lens,$has_bottle,ocarina,time", + "@Gerudo Training Ground MQ/Stalfos Room,$can_use_lens,$has_bottle,[logic_gtg_fake_wall],hoverboots", + "@Gerudo Training Ground MQ/Stalfos Room,$can_use_lens,$has_bottle,[ocarina],[time],bombs,shield2", + "@Gerudo Training Ground MQ/Stalfos Room,$can_use_lens,$has_bottle,[ocarina],[time],bombs,shield3" ], "visibility_rules": [ "hidden_region" @@ -5794,7 +5809,7 @@ { "name": "Central Maze Right", "access_rules": [ - "@Gerudo Training Grounds MQ/Back Areas,hammer" + "@Gerudo Training Ground MQ/Back Areas,hammer" ], "visibility_rules": [ "hidden_region" @@ -5805,8 +5820,8 @@ "name": "Right Side", "access_rules": [ "$has_age|adult,bow", - "@Gerudo Training Grounds MQ/Back Areas,longshot", - "@Gerudo Training Grounds MQ/Central Maze Right,hookshot" + "@Gerudo Training Ground MQ/Back Areas,longshot", + "@Gerudo Training Ground MQ/Central Maze Right,hookshot" ], "visibility_rules": [ "hidden_region" @@ -5816,10 +5831,10 @@ { "name": "Underwater", "access_rules": [ - "@Gerudo Training Grounds MQ/Right Side,bow,hoverboots", - "@Gerudo Training Grounds MQ/Right Side,longshot,hoverboots", - "@Gerudo Training Grounds MQ/Central Maze Right,longshot", - "@Gerudo Training Grounds MQ/Central Maze Right,hookshot,bow" + "@Gerudo Training Ground MQ/Right Side,bow,hoverboots", + "@Gerudo Training Ground MQ/Right Side,longshot,hoverboots", + "@Gerudo Training Ground MQ/Central Maze Right,longshot", + "@Gerudo Training Ground MQ/Central Maze Right,hookshot,bow" ], "visibility_rules": [ "hidden_region" @@ -5835,8 +5850,8 @@ "name": "First Iron Knuckle Chest", "short_name": "Knuckle 1", "access_rules": [ - "@Gerudo Training Grounds MQ/Left Side,$has_age|adult", - "@Gerudo Training Grounds MQ/Left Side,$has_explosives" + "@Gerudo Training Ground MQ/Left Side,$has_age|adult", + "@Gerudo Training Ground MQ/Left Side,$has_explosives" ], "item_count": 1 }, @@ -5844,7 +5859,7 @@ "name": "Before Heavy Block Chest", "short_name": "Stalfos", "access_rules": [ - "@Gerudo Training Grounds MQ/Stalfos Room,$has_age|adult" + "@Gerudo Training Ground MQ/Stalfos Room,$has_age|adult" ], "item_count": 1 }, @@ -5852,7 +5867,7 @@ "name": "Heavy Block Chest", "short_name": "Freezards", "access_rules": [ - "@Gerudo Training Grounds MQ/Stalfos Room,$has_age|adult,lift2" + "@Gerudo Training Ground MQ/Stalfos Room,$has_age|adult,lift2" ], "item_count": 1 }, @@ -5860,7 +5875,7 @@ "name": "Eye Statue Chest", "short_name": "Eye Statue", "access_rules": [ - "@Gerudo Training Grounds MQ/Back Areas,bow" + "@Gerudo Training Ground MQ/Back Areas,bow" ], "item_count": 1 }, @@ -5868,7 +5883,7 @@ "name": "Second Iron Knuckle Chest", "short_name": "Knuckle 2", "access_rules": [ - "@Gerudo Training Grounds MQ/Back Areas" + "@Gerudo Training Ground MQ/Back Areas" ], "item_count": 1 }, @@ -5876,9 +5891,9 @@ "name": "Flame Circle Chest", "short_name": "Flame Circle", "access_rules": [ - "@Gerudo Training Grounds MQ/Back Areas,hookshot", - "@Gerudo Training Grounds MQ/Back Areas,bow", - "@Gerudo Training Grounds MQ/Back Areas,$has_explosives" + "@Gerudo Training Ground MQ/Back Areas,hookshot", + "@Gerudo Training Ground MQ/Back Areas,bow", + "@Gerudo Training Ground MQ/Back Areas,$has_explosives" ], "chest_unopened_img": "images/chest_brown_small_key.png", "item_count": 1 @@ -5887,7 +5902,7 @@ "name": "Maze Right Chests", "short_name": "Maze Right", "access_rules": [ - "@Gerudo Training Grounds MQ/Central Maze Right" + "@Gerudo Training Ground MQ/Central Maze Right" ], "item_count": 2 }, @@ -5895,7 +5910,7 @@ "name": "Dinolfos Chest", "short_name": "Dinolfos", "access_rules": [ - "@Gerudo Training Grounds MQ/Right Side,$has_age|adult" + "@Gerudo Training Ground MQ/Right Side,$has_age|adult" ], "chest_unopened_img": "images/chest_brown_small_key.png", "item_count": 1 @@ -5904,7 +5919,7 @@ "name": "Underwater Silver Rupee Chest", "short_name": "Toilet", "access_rules": [ - "@Gerudo Training Grounds MQ/Underwater,$has_fire,ironboots,$FTR_or_zora,$damage_single_instance_ohko", + "@Gerudo Training Ground MQ/Underwater,$has_fire,ironboots,$FTR_or_zora,$damage_single_instance_ohko", "{$hintable}" ], "capture_item": true, @@ -5942,7 +5957,7 @@ "name": "Ice Arrows Chest", "short_name": "Ice Arrows", "access_rules": [ - "@Gerudo Training Grounds MQ/Central Maze Right,gtg_small_keys:3", + "@Gerudo Training Ground MQ/Central Maze Right,gtg_small_keys:3", "{$hintable}" ], "capture_item": true, diff --git a/ootrando_overworldmap_hamsda/locations/dungeons_entrance.json b/ootrando_overworldmap_hamsda/locations/dungeons_entrance.json index 3eb3f1d1..12552329 100644 --- a/ootrando_overworldmap_hamsda/locations/dungeons_entrance.json +++ b/ootrando_overworldmap_hamsda/locations/dungeons_entrance.json @@ -155,10 +155,8 @@ "name": "Lens of Truth Chest", "short_name": "Dead Hand", "access_rules": [ - "$access_location|Bottom of the Well Lens of Truth Chest", - "{$hintable}" + "$access_location|Bottom of the Well Lens of Truth Chest" ], - "capture_item": true, "item_count": 1 }, { @@ -230,10 +228,8 @@ "name": "Compass Chest", "short_name": "Dead Hand", "access_rules": [ - "$access_location|Bottom of the Well MQ Compass Chest", - "{$hintable}" + "$access_location|Bottom of the Well MQ Compass Chest" ], - "capture_item": true, "chest_unopened_img": "images/chest_brown_compass.png", "item_count": 1 }, @@ -1908,8 +1904,10 @@ "name": "Shadow Trial Golden Gauntlets Chest", "short_name": "Shadow Trial 2", "access_rules": [ - "$access_location|Ganons Castle Shadow Trial Golden Gauntlets Chest" + "$access_location|Ganons Castle Shadow Trial Golden Gauntlets Chest", + "{$hintable}" ], + "capture_item": true, "item_count": 1 }, { @@ -2116,8 +2114,10 @@ "name": "Shadow Trial Eye Switch Chest", "short_name": "Shadow Trial 2", "access_rules": [ - "$access_location|Ganons Castle MQ Shadow Trial Eye Switch Chest" + "$access_location|Ganons Castle MQ Shadow Trial Eye Switch Chest", + "{$hintable}" ], + "capture_item": true, "chest_unopened_img": "images/chest_brown_small_key.png", "item_count": 1 }, @@ -2244,14 +2244,14 @@ ] }, { - "name": "Gerudo Training Grounds", + "name": "Gerudo Training Ground", "color": "#a09509", "sections": [ { "name": "Lobby Chests", "short_name": "Lobby", "access_rules": [ - "$access_location|Gerudo Training Grounds Lobby Chests" + "$access_location|Gerudo Training Ground Lobby Chests" ], "item_count": 2 }, @@ -2259,7 +2259,7 @@ "name": "Beamos Chest", "short_name": "Beamos", "access_rules": [ - "$access_location|Gerudo Training Grounds Beamos Chest" + "$access_location|Gerudo Training Ground Beamos Chest" ], "chest_unopened_img": "images/chest_brown_small_key.png", "item_count": 1 @@ -2268,7 +2268,7 @@ "name": "Stalfos Chest", "short_name": "Stalfos", "access_rules": [ - "$access_location|Gerudo Training Grounds Stalfos Chest" + "$access_location|Gerudo Training Ground Stalfos Chest" ], "chest_unopened_img": "images/chest_brown_small_key.png", "item_count": 1 @@ -2277,7 +2277,7 @@ "name": "Before Heavy Block Chest", "short_name": "Wolfos", "access_rules": [ - "$access_location|Gerudo Training Grounds Before Heavy Block Chest" + "$access_location|Gerudo Training Ground Before Heavy Block Chest" ], "item_count": 1 }, @@ -2285,7 +2285,7 @@ "name": "Heavy Block Chests", "short_name": "Like Like", "access_rules": [ - "$access_location|Gerudo Training Grounds Heavy Block Chests" + "$access_location|Gerudo Training Ground Heavy Block Chests" ], "chest_unopened_img": "images/chest_brown_small_key.png", "item_count": 4 @@ -2294,7 +2294,7 @@ "name": "Eye Statue Chest", "short_name": "Eye Statue", "access_rules": [ - "$access_location|Gerudo Training Grounds Eye Statue Chest" + "$access_location|Gerudo Training Ground Eye Statue Chest" ], "chest_unopened_img": "images/chest_brown_small_key.png", "item_count": 1 @@ -2303,7 +2303,7 @@ "name": "Near Scarecrow Chest", "short_name": "Near Scarecrow", "access_rules": [ - "$access_location|Gerudo Training Grounds Near Scarecrow Chest" + "$access_location|Gerudo Training Ground Near Scarecrow Chest" ], "chest_unopened_img": "images/chest_brown_small_key.png", "item_count": 1 @@ -2312,7 +2312,7 @@ "name": "Hammer Room Clear Chest", "short_name": "Flaming Enemies", "access_rules": [ - "$access_location|Gerudo Training Grounds Hammer Room Clear Chest" + "$access_location|Gerudo Training Ground Hammer Room Clear Chest" ], "item_count": 1 }, @@ -2320,7 +2320,7 @@ "name": "Hammer Room Switch Chest", "short_name": "Hammer Switch", "access_rules": [ - "$access_location|Gerudo Training Grounds Hammer Room Switch Chest" + "$access_location|Gerudo Training Ground Hammer Room Switch Chest" ], "chest_unopened_img": "images/chest_brown_small_key.png", "item_count": 1 @@ -2329,7 +2329,7 @@ "name": "Freestanding Key", "short_name": "Ledge Key", "access_rules": [ - "$access_location|Gerudo Training Grounds Freestanding Key" + "$access_location|Gerudo Training Ground Freestanding Key" ], "capture_item": true, "chest_unopened_img": "images/small_key.png", @@ -2340,7 +2340,7 @@ "name": "Maze Right Chests", "short_name": "Maze Right", "access_rules": [ - "$access_location|Gerudo Training Grounds Maze Right Chests" + "$access_location|Gerudo Training Ground Maze Right Chests" ], "item_count": 2 }, @@ -2348,7 +2348,7 @@ "name": "Underwater Silver Rupee Chest", "short_name": "Toilet", "access_rules": [ - "$access_location|Gerudo Training Grounds Underwater Silver Rupee Chest", + "$access_location|Gerudo Training Ground Underwater Silver Rupee Chest", "{$hintable}" ], "capture_item": true, @@ -2359,7 +2359,7 @@ "name": "Hidden Ceiling Chest", "short_name": "Hidden Ceiling", "access_rules": [ - "$access_location|Gerudo Training Grounds Hidden Ceiling Chest" + "$access_location|Gerudo Training Ground Hidden Ceiling Chest" ], "chest_unopened_img": "images/chest_brown_small_key.png", "item_count": 1 @@ -2368,7 +2368,7 @@ "name": "Maze Path First Chest", "short_name": "Maze 1", "access_rules": [ - "$access_location|Gerudo Training Grounds Maze Path First Chest" + "$access_location|Gerudo Training Ground Maze Path First Chest" ], "item_count": 1 }, @@ -2376,7 +2376,7 @@ "name": "Maze Path Second Chest", "short_name": "Maze 2", "access_rules": [ - "$access_location|Gerudo Training Grounds Maze Path Second Chest" + "$access_location|Gerudo Training Ground Maze Path Second Chest" ], "item_count": 1 }, @@ -2384,7 +2384,7 @@ "name": "Maze Path Third Chest", "short_name": "Maze 3", "access_rules": [ - "$access_location|Gerudo Training Grounds Maze Path Third Chest" + "$access_location|Gerudo Training Ground Maze Path Third Chest" ], "item_count": 1 }, @@ -2392,7 +2392,7 @@ "name": "Maze Path Final Chest", "short_name": "Ice Arrows", "access_rules": [ - "$access_location|Gerudo Training Grounds Maze Path Final Chest", + "$access_location|Gerudo Training Ground Maze Path Final Chest", "{$hintable}" ], "capture_item": true, @@ -2421,14 +2421,14 @@ ] }, { - "name": "Gerudo Training Grounds MQ", + "name": "Gerudo Training Ground MQ", "color": "#a09509", "sections": [ { "name": "Lobby Chests", "short_name": "Lobby", "access_rules": [ - "$access_location|Gerudo Training Grounds MQ Lobby Chests" + "$access_location|Gerudo Training Ground MQ Lobby Chests" ], "item_count": 2 }, @@ -2436,7 +2436,7 @@ "name": "First Iron Knuckle Chest", "short_name": "Knuckle 1", "access_rules": [ - "$access_location|Gerudo Training Grounds MQ First Iron Knuckle Chest" + "$access_location|Gerudo Training Ground MQ First Iron Knuckle Chest" ], "item_count": 1 }, @@ -2444,7 +2444,7 @@ "name": "Before Heavy Block Chest", "short_name": "Stalfos", "access_rules": [ - "$access_location|Gerudo Training Grounds MQ Before Heavy Block Chest" + "$access_location|Gerudo Training Ground MQ Before Heavy Block Chest" ], "item_count": 1 }, @@ -2452,7 +2452,7 @@ "name": "Heavy Block Chest", "short_name": "Freezards", "access_rules": [ - "$access_location|Gerudo Training Grounds MQ Heavy Block Chest" + "$access_location|Gerudo Training Ground MQ Heavy Block Chest" ], "item_count": 1 }, @@ -2460,7 +2460,7 @@ "name": "Eye Statue Chest", "short_name": "Eye Statue", "access_rules": [ - "$access_location|Gerudo Training Grounds MQ Eye Statue Chest" + "$access_location|Gerudo Training Ground MQ Eye Statue Chest" ], "item_count": 1 }, @@ -2468,7 +2468,7 @@ "name": "Second Iron Knuckle Chest", "short_name": "Knuckle 2", "access_rules": [ - "$access_location|Gerudo Training Grounds MQ Second Iron Knuckle Chest" + "$access_location|Gerudo Training Ground MQ Second Iron Knuckle Chest" ], "item_count": 1 }, @@ -2476,7 +2476,7 @@ "name": "Flame Circle Chest", "short_name": "Flame Circle", "access_rules": [ - "$access_location|Gerudo Training Grounds MQ Flame Circle Chest" + "$access_location|Gerudo Training Ground MQ Flame Circle Chest" ], "chest_unopened_img": "images/chest_brown_small_key.png", "item_count": 1 @@ -2485,7 +2485,7 @@ "name": "Maze Right Chests", "short_name": "Maze Right", "access_rules": [ - "$access_location|Gerudo Training Grounds MQ Maze Right Chests" + "$access_location|Gerudo Training Ground MQ Maze Right Chests" ], "item_count": 2 }, @@ -2493,7 +2493,7 @@ "name": "Dinolfos Chest", "short_name": "Dinolfos", "access_rules": [ - "$access_location|Gerudo Training Grounds MQ Dinolfos Chest" + "$access_location|Gerudo Training Ground MQ Dinolfos Chest" ], "chest_unopened_img": "images/chest_brown_small_key.png", "item_count": 1 @@ -2502,7 +2502,7 @@ "name": "Underwater Silver Rupee Chest", "short_name": "Toilet", "access_rules": [ - "$access_location|Gerudo Training Grounds MQ Underwater Silver Rupee Chest", + "$access_location|Gerudo Training Ground MQ Underwater Silver Rupee Chest", "{$hintable}" ], "capture_item": true, @@ -2513,7 +2513,7 @@ "name": "Hidden Ceiling Chest", "short_name": "Hidden Ceiling", "access_rules": [ - "$access_location|Gerudo Training Grounds MQ Hidden Ceiling Chest" + "$access_location|Gerudo Training Ground MQ Hidden Ceiling Chest" ], "item_count": 1 }, @@ -2521,7 +2521,7 @@ "name": "Maze Path First Chest", "short_name": "Maze 1", "access_rules": [ - "$access_location|Gerudo Training Grounds MQ Maze Path First Chest" + "$access_location|Gerudo Training Ground MQ Maze Path First Chest" ], "item_count": 1 }, @@ -2529,7 +2529,7 @@ "name": "Maze Path Second Chest", "short_name": "Maze 2", "access_rules": [ - "$access_location|Gerudo Training Grounds MQ Maze Path Second Chest" + "$access_location|Gerudo Training Ground MQ Maze Path Second Chest" ], "item_count": 1 }, @@ -2537,7 +2537,7 @@ "name": "Maze Path Third Chest", "short_name": "Maze 3", "access_rules": [ - "$access_location|Gerudo Training Grounds MQ Maze Path Third Chest" + "$access_location|Gerudo Training Ground MQ Maze Path Third Chest" ], "item_count": 1 }, @@ -2545,7 +2545,7 @@ "name": "Ice Arrows Chest", "short_name": "Ice Arrows", "access_rules": [ - "$access_location|Gerudo Training Grounds MQ Ice Arrows Chest", + "$access_location|Gerudo Training Ground MQ Ice Arrows Chest", "{$hintable}" ], "capture_item": true, @@ -2651,8 +2651,10 @@ "name": "Iron Boots Chest", "short_name": "Iron Boots", "access_rules": [ - "$access_location|Ice Cavern Iron Boots Chest" + "$access_location|Ice Cavern Iron Boots Chest", + "{$hintable}" ], + "capture_item": true, "item_count": 1 }, { @@ -2766,8 +2768,10 @@ "name": "Iron Boots Chest", "short_name": "Iron Boots", "access_rules": [ - "$access_location|Ice Cavern MQ Iron Boots Chest" + "$access_location|Ice Cavern MQ Iron Boots Chest", + "{$hintable}" ], + "capture_item": true, "item_count": 1 }, { @@ -3216,8 +3220,10 @@ "name": "Freestanding Key", "short_name": "Skull Pot", "access_rules": [ - "$access_location|Shadow Temple Freestanding Key" + "$access_location|Shadow Temple Freestanding Key", + "{$hintable}" ], + "capture_item": true, "chest_unopened_img": "images/small_key.png", "chest_opened_img": "images/small_key_check.png", "item_count": 1 @@ -3301,10 +3307,8 @@ "name": "Invisible Floormaster Chest", "short_name": "Floormaster", "access_rules": [ - "$access_location|Shadow Temple Invisible Floormaster Chest", - "{$hintable}" + "$access_location|Shadow Temple Invisible Floormaster Chest" ], - "capture_item": true, "chest_unopened_img": "images/chest_brown_small_key.png", "item_count": 1 }, @@ -3448,8 +3452,10 @@ "name": "Stalfos Room Chest", "short_name": "Stalfos", "access_rules": [ - "$access_location|Shadow Temple MQ Stalfos Room Chest" + "$access_location|Shadow Temple MQ Stalfos Room Chest", + "{$hintable}" ], + "capture_item": true, "item_count": 1 }, { @@ -4214,8 +4220,10 @@ "name": "Central Pillar Chest", "short_name": "Central Pillar", "access_rules": [ - "$access_location|Water Temple Central Pillar Chest" + "$access_location|Water Temple Central Pillar Chest", + "{$hintable}" ], + "capture_item": true, "chest_unopened_img": "images/chest_brown_small_key.png", "item_count": 1 }, @@ -4392,8 +4400,10 @@ "name": "Central Pillar Chest", "short_name": "Central Pillar", "access_rules": [ - "$access_location|Water Temple MQ Central Pillar Chest" + "$access_location|Water Temple MQ Central Pillar Chest", + "{$hintable}" ], + "capture_item": true, "chest_unopened_img": "images/chest_brown_small_key.png", "item_count": 1 }, diff --git a/ootrando_overworldmap_hamsda/locations/exits_entrance.json b/ootrando_overworldmap_hamsda/locations/exits_entrance.json index 96a9fdaf..fc9ea490 100644 --- a/ootrando_overworldmap_hamsda/locations/exits_entrance.json +++ b/ootrando_overworldmap_hamsda/locations/exits_entrance.json @@ -21,8 +21,7 @@ "setting_entrance_spawn_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_overworld", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -54,8 +53,7 @@ "setting_entrance_spawn_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_overworld", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -87,8 +85,7 @@ "setting_entrance_warpsong_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_overworld", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -120,8 +117,7 @@ "setting_entrance_warpsong_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_overworld", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -153,8 +149,7 @@ "setting_entrance_warpsong_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_overworld", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -186,8 +181,7 @@ "setting_entrance_warpsong_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_overworld", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -219,8 +213,7 @@ "setting_entrance_warpsong_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_overworld", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -252,8 +245,7 @@ "setting_entrance_warpsong_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_overworld", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -291,8 +283,7 @@ "setting_entrance_interiors_all" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_houses", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -318,8 +309,7 @@ "setting_entrance_interiors_simple" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_houses", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -345,8 +335,7 @@ "setting_entrance_interiors_simple" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_houses", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -372,8 +361,7 @@ "setting_entrance_interiors_simple" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_houses", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -399,8 +387,7 @@ "setting_entrance_interiors_simple" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_houses", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -426,8 +413,7 @@ "setting_entrance_interiors_simple" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_houses", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -453,8 +439,7 @@ "setting_entrance_overworld_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_overworld", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -480,8 +465,7 @@ "setting_entrance_overworld_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_overworld", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -507,8 +491,7 @@ "setting_entrance_grottos_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_grottos", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -534,8 +517,7 @@ "setting_entrance_dungeons_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_dungeons", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -568,8 +550,7 @@ "setting_entrance_overworld_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_overworld", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -595,8 +576,7 @@ "setting_entrance_overworld_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_overworld", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -622,8 +602,7 @@ "setting_entrance_overworld_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_overworld", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -649,8 +628,7 @@ "setting_entrance_grottos_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_grottos", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -676,8 +654,7 @@ "setting_entrance_overworld_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_overworld", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -703,8 +680,7 @@ "setting_entrance_grottos_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_grottos", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -730,8 +706,7 @@ "setting_entrance_grottos_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_grottos", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -757,8 +732,7 @@ "setting_entrance_overworld_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_overworld", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -784,8 +758,7 @@ "setting_entrance_overworld_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_overworld", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -817,8 +790,7 @@ "setting_entrance_overworld_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_overworld", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -844,8 +816,7 @@ "setting_entrance_grottos_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_grottos", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -871,8 +842,7 @@ "setting_entrance_grottos_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_grottos", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -898,8 +868,7 @@ "setting_entrance_grottos_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_grottos", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -925,8 +894,7 @@ "setting_entrance_dungeons_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_dungeons", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -959,8 +927,7 @@ "setting_entrance_overworld_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_overworld", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -986,8 +953,7 @@ "setting_entrance_overworld_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_overworld", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -1013,8 +979,7 @@ "setting_entrance_overworld_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_overworld", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -1040,8 +1005,7 @@ "setting_entrance_overworld_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_overworld", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -1067,8 +1031,7 @@ "setting_entrance_overworld_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_overworld", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -1094,8 +1057,7 @@ "setting_entrance_overworld_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_overworld", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -1121,8 +1083,7 @@ "setting_entrance_overworld_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_overworld", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -1148,8 +1109,7 @@ "setting_entrance_grottos_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_grottos", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -1175,8 +1135,7 @@ "setting_entrance_grottos_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_grottos", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -1202,8 +1161,7 @@ "setting_entrance_grottos_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_grottos", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -1229,8 +1187,7 @@ "setting_entrance_grottos_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_grottos", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -1256,8 +1213,7 @@ "setting_entrance_grottos_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_grottos", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -1283,8 +1239,7 @@ "setting_entrance_grottos_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_grottos", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -1310,8 +1265,7 @@ "setting_entrance_grottos_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_grottos", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -1337,8 +1291,7 @@ "setting_entrance_grottos_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_grottos", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -1370,8 +1323,7 @@ "setting_entrance_overworld_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_overworld", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -1397,8 +1349,7 @@ "setting_entrance_overworld_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_overworld", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -1424,8 +1375,7 @@ "setting_entrance_owl_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_overworld", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -1451,8 +1401,7 @@ "setting_entrance_interiors_simple" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_houses", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -1478,8 +1427,7 @@ "setting_entrance_interiors_simple" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_houses", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -1505,8 +1453,7 @@ "setting_entrance_dungeons_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_dungeons", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -1533,8 +1480,7 @@ "setting_entrance_grottos_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_grottos", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -1566,8 +1512,7 @@ "setting_entrance_overworld_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_overworld", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -1593,8 +1538,7 @@ "setting_entrance_grottos_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_grottos", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -1620,8 +1564,7 @@ "setting_entrance_overworld_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_overworld", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -1647,8 +1590,7 @@ "setting_entrance_interiors_simple" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_houses", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -1674,8 +1616,7 @@ "setting_entrance_grottos_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_grottos", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -1707,8 +1648,7 @@ "setting_entrance_overworld_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_overworld", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -1722,20 +1662,19 @@ ] }, { - "name": "Gerudo Fortress -> Gerudo Training Grounds Split", - "short_name": "Gerudo Training Grounds", + "name": "Gerudo Fortress -> Gerudo Training Ground Split", + "short_name": "Gerudo Training Ground", "sections": [ { "name": "Capture", "access_rules": [ - "$access_exit|Gerudo Fortress|Gerudo Training Grounds Split" + "$access_exit|Gerudo Fortress|Gerudo Training Ground Split" ], "visibility_rules": [ "setting_entrance_dungeons_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_dungeons", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -1762,8 +1701,7 @@ "setting_entrance_grottos_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_grottos", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -1789,8 +1727,7 @@ "setting_entrance_overworld_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_overworld", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -1822,8 +1759,7 @@ "setting_entrance_overworld_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_overworld", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -1849,8 +1785,7 @@ "setting_entrance_overworld_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_overworld", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -1882,8 +1817,7 @@ "setting_entrance_interiors_simple" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_houses", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -1909,8 +1843,7 @@ "setting_entrance_dungeons_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_dungeons", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -1937,8 +1870,7 @@ "setting_entrance_overworld_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_overworld", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -1964,8 +1896,7 @@ "setting_entrance_grottos_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_grottos", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -1997,8 +1928,7 @@ "setting_entrance_overworld_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_overworld", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -2024,8 +1954,7 @@ "setting_entrance_overworld_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_overworld", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -2051,8 +1980,7 @@ "setting_entrance_interiors_simple" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_houses", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -2078,8 +2006,7 @@ "setting_entrance_overworld_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_overworld", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -2105,8 +2032,7 @@ "setting_entrance_overworld_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_overworld", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -2132,8 +2058,7 @@ "setting_entrance_overworld_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_overworld", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -2159,8 +2084,7 @@ "setting_entrance_interiors_simple" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_houses", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -2186,8 +2110,7 @@ "setting_entrance_interiors_simple" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_houses", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -2213,8 +2136,7 @@ "setting_entrance_interiors_simple" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_houses", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -2240,8 +2162,7 @@ "setting_entrance_interiors_simple" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_houses", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -2267,8 +2188,7 @@ "setting_entrance_interiors_simple" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_houses", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -2294,8 +2214,7 @@ "setting_entrance_interiors_simple" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_houses", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -2321,8 +2240,7 @@ "setting_entrance_interiors_simple" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_houses", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -2348,8 +2266,7 @@ "setting_entrance_interiors_simple" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_houses", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -2375,8 +2292,7 @@ "setting_entrance_overworld_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_overworld", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -2402,8 +2318,7 @@ "setting_entrance_interiors_all" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_houses", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -2435,8 +2350,7 @@ "setting_entrance_overworld_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_overworld", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -2462,8 +2376,7 @@ "setting_entrance_interiors_simple" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_houses", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -2489,8 +2402,7 @@ "setting_entrance_grottos_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_grottos", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -2522,8 +2434,7 @@ "setting_entrance_interiors_simple" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_houses", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -2555,8 +2466,7 @@ "setting_entrance_overworld_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_overworld", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -2582,8 +2492,7 @@ "setting_entrance_interiors_simple" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_houses", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -2609,8 +2518,7 @@ "setting_entrance_interiors_simple" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_houses", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -2636,8 +2544,7 @@ "setting_entrance_interiors_simple" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_houses", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -2663,8 +2570,7 @@ "setting_entrance_interiors_simple" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_houses", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -2690,8 +2596,7 @@ "setting_entrance_interiors_all" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_houses", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -2717,8 +2622,7 @@ "setting_entrance_interiors_simple" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_houses", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -2744,8 +2648,7 @@ "setting_entrance_interiors_simple" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_houses", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -2771,8 +2674,7 @@ "setting_entrance_dungeons_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_dungeons", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -2799,8 +2701,7 @@ "setting_entrance_interiors_all" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_houses", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -2826,8 +2727,7 @@ "setting_entrance_grottos_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_grottos", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -2853,8 +2753,7 @@ "setting_entrance_overworld_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_overworld", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -2880,8 +2779,7 @@ "setting_entrance_grottos_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_grottos", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -2907,8 +2805,7 @@ "setting_entrance_interiors_simple" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_houses", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -2934,8 +2831,7 @@ "setting_entrance_interiors_all" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_houses", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -2961,8 +2857,7 @@ "setting_entrance_overworld_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_overworld", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -2994,8 +2889,7 @@ "setting_entrance_grottos_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_grottos", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -3021,8 +2915,7 @@ "setting_entrance_grottos_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_grottos", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -3036,20 +2929,19 @@ ] }, { - "name": "Graveyard -> Graveyard Composers Grave", - "short_name": "Composer Grave", + "name": "Graveyard -> Royal Familys Tomb", + "short_name": "Royal Tomb", "sections": [ { "name": "Capture", "access_rules": [ - "$access_exit|Graveyard|Graveyard Composers Grave" + "$access_exit|Graveyard|Royal Familys Tomb" ], "visibility_rules": [ "setting_entrance_grottos_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_grottos", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -3075,8 +2967,7 @@ "setting_entrance_grottos_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_grottos", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -3102,8 +2993,7 @@ "setting_entrance_interiors_simple" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_houses", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -3129,8 +3019,7 @@ "setting_entrance_overworld_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_overworld", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -3156,8 +3045,7 @@ "setting_entrance_dungeons_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_dungeons", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -3190,8 +3078,7 @@ "setting_entrance_overworld_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_overworld", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -3217,8 +3104,7 @@ "setting_entrance_overworld_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_overworld", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -3244,8 +3130,7 @@ "setting_entrance_dungeons_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_dungeons", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -3272,8 +3157,7 @@ "setting_entrance_grottos_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_grottos", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -3299,8 +3183,7 @@ "setting_entrance_overworld_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_overworld", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -3326,8 +3209,7 @@ "setting_entrance_owl_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_overworld", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -3353,8 +3235,7 @@ "setting_entrance_grottos_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_grottos", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -3380,8 +3261,7 @@ "setting_entrance_interiors_simple" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_houses", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -3413,8 +3293,7 @@ "setting_entrance_overworld_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_overworld", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -3440,8 +3319,7 @@ "setting_entrance_interiors_simple" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_houses", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -3467,8 +3345,7 @@ "setting_entrance_grottos_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_grottos", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -3494,8 +3371,7 @@ "setting_entrance_overworld_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_overworld", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -3521,8 +3397,7 @@ "setting_entrance_overworld_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_overworld", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -3554,8 +3429,7 @@ "setting_entrance_overworld_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_overworld", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -3581,8 +3455,7 @@ "setting_entrance_grottos_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_grottos", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -3608,8 +3481,7 @@ "setting_entrance_overworld_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_overworld", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -3635,8 +3507,7 @@ "setting_entrance_interiors_simple" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_houses", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -3662,8 +3533,7 @@ "setting_entrance_grottos_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_grottos", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -3689,8 +3559,7 @@ "setting_entrance_dungeons_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_dungeons", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -3723,8 +3592,7 @@ "setting_entrance_overworld_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_overworld", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -3750,8 +3618,7 @@ "setting_entrance_grottos_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_grottos", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -3777,8 +3644,7 @@ "setting_entrance_grottos_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_grottos", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -3804,8 +3670,7 @@ "setting_entrance_overworld_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_overworld", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -3831,8 +3696,7 @@ "setting_entrance_grottos_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_grottos", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -3858,8 +3722,7 @@ "setting_entrance_overworld_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_overworld", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -3891,8 +3754,7 @@ "setting_entrance_overworld_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_overworld", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -3918,8 +3780,7 @@ "setting_entrance_overworld_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_overworld", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -3945,8 +3806,7 @@ "setting_entrance_interiors_simple" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_houses", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -3972,8 +3832,7 @@ "setting_entrance_grottos_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_grottos", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -3999,8 +3858,7 @@ "setting_entrance_overworld_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_overworld", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -4032,8 +3890,7 @@ "setting_entrance_overworld_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_overworld", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -4059,8 +3916,7 @@ "setting_entrance_dungeons_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_dungeons", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -4087,8 +3943,7 @@ "setting_entrance_interiors_simple" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_houses", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -4114,8 +3969,7 @@ "setting_entrance_dungeons_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_dungeons", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -4148,8 +4002,7 @@ "setting_entrance_overworld_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_overworld", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -4175,8 +4028,7 @@ "setting_entrance_interiors_simple" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_houses", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -4202,8 +4054,7 @@ "setting_entrance_interiors_simple" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_houses", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -4229,8 +4080,7 @@ "setting_entrance_interiors_simple" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_houses", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], @@ -4256,8 +4106,7 @@ "setting_entrance_grottos_shuffle" ], "capture_item": true, - //"capture_item_layout": "tracker_capture_grottos", - "capture_item_layout": "tracker_capture_mixed_er", + "capture_item_layout": "tracker_capture_ow_grotto_interior_dungeon", "item_count": 1 } ], diff --git a/ootrando_overworldmap_hamsda/locations/overworld.json b/ootrando_overworldmap_hamsda/locations/overworld.json index 8a01fa0c..cf4cf20b 100644 --- a/ootrando_overworldmap_hamsda/locations/overworld.json +++ b/ootrando_overworldmap_hamsda/locations/overworld.json @@ -18,6 +18,9 @@ "setting_age_child", "$can_time_travel" ], + "visibility_rules": [ + "setting_entrance_spawn_shuffle" + ], "capture_item": true, "capture_item_layout": "tracker_capture_spawn_child", "item_count": 1 @@ -48,6 +51,9 @@ "setting_age_adult", "$can_time_travel" ], + "visibility_rules": [ + "setting_entrance_spawn_shuffle" + ], "capture_item": true, "capture_item_layout": "tracker_capture_spawn_adult", "item_count": 1 @@ -380,8 +386,10 @@ { "name": "Shoot it", "access_rules": [ - "$has_age|child,sling" + "$has_age|child,sling", + "{$hintable}" ], + "capture_item": true, "item_count": 1 } ], @@ -592,7 +600,7 @@ "$has_age|child,beans,bean_stage_no" ], "visibility_rules": [ - "setting_plant_yes" + "$bean_planting|yes" ], "hosted_item": "bean_stage_yes" }, @@ -629,7 +637,7 @@ "name": "LW GS Above Theater (N)", "short_name": "GS", "access_rules": [ - "$has_age|child,setting_plant_no,beans", + "$has_age|child,$bean_planting|no,beans", "$has_age|child,bean_stage_yes", "[logic_lost_woods_gs_bean],longshot", "[logic_lost_woods_gs_bean],hookshot,bow", @@ -824,7 +832,7 @@ "color": "#09a09d", "children": [ { - "name": "LW Bridge", + "name": "LW Bridge From Forest", "color": "#18a50e", "sections": [ { @@ -1181,7 +1189,7 @@ "$spawn_access|LH Fishing|adult", "$has_age|adult,ocarina,scarecrow,hookshot", "$has_age|adult,water", - "$has_age|adult,setting_plant_no,beans", + "$has_age|adult,$bean_planting|no,beans", "$has_age|adult,bean_lake_yes" ], "item_count": 1 @@ -1225,7 +1233,7 @@ "name": "LH Freestanding PoH", "short_name": "HP", "access_rules": [ - "$has_age|adult,setting_plant_no,beans", + "$has_age|adult,$bean_planting|no,beans", "$has_age|adult,bean_lake_yes", "$has_age|adult,ocarina,scarecrow,hookshot" ], @@ -1249,8 +1257,10 @@ "name": "LH Lab Dive", "access_rules": [ "scale2", - "$has_age|adult,[logic_lab_diving],ironboots,hookshot" + "$has_age|adult,[logic_lab_diving],ironboots,hookshot", + "{$hintable}" ], + "capture_item": true, "item_count": 1 }, { @@ -1374,7 +1384,7 @@ "$has_age|child,beans,bean_lake_no" ], "visibility_rules": [ - "setting_plant_yes" + "$bean_planting|yes" ], "hosted_item": "bean_lake_yes" }, @@ -2367,7 +2377,7 @@ "name": "Graveyard Freestanding PoH", "short_name": "Box HP", "access_rules": [ - "$has_age|adult,setting_plant_no,beans", + "$has_age|adult,$bean_planting|no,beans", "$has_age|adult,bean_graveyard_yes", "$has_age|adult,longshot", "$has_age|child,boomerang,[logic_graveyard_poh]", @@ -2393,7 +2403,7 @@ ] }, { - "name": "Graveyard Composers Grave", + "name": "Royal Familys Tomb", "short_name": "Royal Tomb", "access_rules": [ "ocarina,lullaby", @@ -2401,7 +2411,7 @@ ], "sections": [ { - "name": "Song from Composers Grave", + "name": "Song from Royal Familys Tomb", "short_name": "Song", "access_rules": [ "$has_age|adult", @@ -2418,7 +2428,7 @@ "item_count": 1 }, { - "name": "Graveyard Composers Grave Chest", + "name": "Royal Familys Tomb Chest", "short_name": "Chest", "access_rules": [ "$has_fire", @@ -2505,7 +2515,7 @@ "$has_age|child,beans,bean_graveyard_no" ], "visibility_rules": [ - "setting_plant_yes" + "$bean_planting|yes" ], "hosted_item": "bean_graveyard_yes" }, @@ -2643,7 +2653,7 @@ "$has_age|adult,wallet,lift1" ], "visibility_rules": [ - "setting_merchants_shuffle" + "setting_shuffle_merchants_yes" ], "item_count": 1 } @@ -2845,8 +2855,8 @@ "nayrus,magic", "$has_bottle", "$has_age|adult,hoverboots", - "$has_age|both,setting_plant_no,beans,$has_explosives", - "$has_age|both,setting_plant_no,beans,lift1,$child_death_mountain", + "$has_age|both,$bean_planting|no,beans,$has_explosives", + "$has_age|both,$bean_planting|no,beans,lift1,$child_death_mountain", "$has_age|both,bean_trail_yes" ], "chest_unopened_img": "images/HP.png", @@ -3037,8 +3047,8 @@ "$has_age|adult,$night_gs,hammer", "$has_age|adult,$night_gs,[logic_trail_gs_lower_hookshot],hookshot", "$has_age|adult,$night_gs,[logic_trail_gs_lower_hovers],hoverboots", - "$has_age|both,$night_gs,[logic_trail_gs_lower_bean],setting_plant_no,beans,$has_explosives", - "$has_age|both,$night_gs,[logic_trail_gs_lower_bean],setting_plant_no,beans,lift1", + "$has_age|both,$night_gs,[logic_trail_gs_lower_bean],$bean_planting|no,beans,$has_explosives", + "$has_age|both,$night_gs,[logic_trail_gs_lower_bean],$bean_planting|no,beans,lift1", "$has_age|both,$night_gs,[logic_trail_gs_lower_bean],bean_trail_yes" ], "visibility_rules": [ @@ -3093,7 +3103,7 @@ "$child_death_mountain,beans,bean_trail_no,lift1" ], "visibility_rules": [ - "setting_plant_yes" + "$bean_planting|yes" ], "hosted_item": "bean_trail_yes" }, @@ -3219,7 +3229,7 @@ "name": "DMC Volcano Freestanding PoH", "short_name": "HP", "access_rules": [ - "$has_age|both,ocarina,bolero,setting_plant_no,beans", + "$has_age|both,ocarina,bolero,$bean_planting|no,beans", "$has_age|both,ocarina,bolero,bean_crater_yes", "$dmc_lower,[logic_crater_bean_poh_with_hovers],hoverboots", "{ocarina,bolero}", @@ -3394,7 +3404,7 @@ "beans,bean_crater_no" ], "visibility_rules": [ - "setting_plant_yes" + "$bean_planting|yes" ], "hosted_item": "bean_crater_yes" }, @@ -3709,7 +3719,7 @@ "name": "ToT Light Arrows Cutscene", "short_name": "LACS", "access_rules": [ - "$has_age|adult,$can_trigger_lacs" + "$has_age|adult,lacs_meds:2" ], "item_count": 1 } @@ -3847,17 +3857,16 @@ }, { "name": "HC Great Fairy Fountain", - "access_rules": [ - "$has_age|child,$has_explosives", - "$spawn_access|HC Fairy|child" - ], "sections": [ { "name": "HC Great Fairy Reward", "short_name": "Reward", "access_rules": [ - "ocarina,lullaby" + "$has_age|child,$has_explosives,ocarina,lullaby", + "$spawn_access|HC Fairy|child,ocarina,lullaby", + "{$hintable}" ], + "capture_item": true, "item_count": 1 } ], @@ -3958,17 +3967,16 @@ }, { "name": "OGC Great Fairy Fountain", - "access_rules": [ - "$has_age|adult,lift3", - "$spawn_access|OGC Fairy|adult" - ], "sections": [ { "name": "OGC Great Fairy Reward", "short_name": "Reward", "access_rules": [ - "ocarina,lullaby" + "$has_age|adult,lift3,ocarina,lullaby", + "$spawn_access|OGC Fairy|adult,ocarina,lullaby", + "{$hintable}" ], + "capture_item": true, "item_count": 1 } ], @@ -3997,8 +4005,10 @@ { "name": "ZR Frogs in the Rain", "access_rules": [ - "$child_river,ocarina,storm" + "$child_river,ocarina,storm", + "{$hintable}" ], + "capture_item": true, "item_count": 1 }, { @@ -4958,8 +4968,8 @@ "name": "Carpenter Rescue", "sections": [ { - "name": "North F1 Carpenter", - "short_name": "North F1", + "name": "Hideout Jail Guard (1 Torch)", + "short_name": "1 Torch", "access_rules": [ "$gerudo_valley_far_side", "$spawn_access|Gerudo Fortress|child,sword1", @@ -4969,16 +4979,12 @@ "item_count": 1 }, { - "name": "North F2 Carpenter", - "short_name": "North F2", + "name": "Hideout Jail Guard (2 Torches)", + "short_name": "2 Torches", "access_rules": [ - "$gerudo_valley_far_side,$gerudo_card", - "$gerudo_valley_far_side,bow", - "$gerudo_valley_far_side,hookshot", - "$gerudo_valley_far_side,hoverboots", - "$gerudo_valley_far_side,[logic_gerudo_kitchen]", - "$spawn_access|Gerudo Fortress|child,sword1,[logic_gerudo_kitchen]", - "$spawn_access|Gerudo Fortress|child,[sword1],sticks,[logic_gerudo_kitchen]" + "$gerudo_valley_far_side", + "$spawn_access|Gerudo Fortress|child,sword1", + "$spawn_access|Gerudo Fortress|child,[sword1],sticks" ], "visibility_rules": [ "gerudo_fortress_normal" @@ -4987,12 +4993,16 @@ "item_count": 1 }, { - "name": "South F1 Carpenter", - "short_name": "South F1", + "name": "Hideout Jail Guard (3 Torches)", + "short_name": "3 Torches", "access_rules": [ - "$gerudo_valley_far_side", - "$spawn_access|Gerudo Fortress|child,sword1", - "$spawn_access|Gerudo Fortress|child,[sword1],sticks" + "$gerudo_valley_far_side,$gerudo_card", + "$gerudo_valley_far_side,bow", + "$gerudo_valley_far_side,hookshot", + "$gerudo_valley_far_side,hoverboots", + "$gerudo_valley_far_side,[logic_gerudo_kitchen]", + "$spawn_access|Gerudo Fortress|child,sword1,[logic_gerudo_kitchen]", + "$spawn_access|Gerudo Fortress|child,[sword1],sticks,[logic_gerudo_kitchen]" ], "visibility_rules": [ "gerudo_fortress_normal" @@ -5001,8 +5011,8 @@ "item_count": 1 }, { - "name": "South F2 Carpenter", - "short_name": "South F2", + "name": "Hideout Jail Guard (4 Torches)", + "short_name": "4 Torches", "access_rules": [ "$gerudo_valley_far_side", "$spawn_access|Gerudo Fortress|child,sword1", @@ -5015,18 +5025,19 @@ "item_count": 1 }, { - "name": "Gerudo Membership Card", + "name": "Hideout Gerudo Membership Card", + "short_name": "Gerudo Card", "access_rules": [ - "gerudo_fortress_normal,gf_small_keys:4,$gerudo_valley_far_side,$gerudo_card", - "gerudo_fortress_normal,gf_small_keys:4,$gerudo_valley_far_side,bow", - "gerudo_fortress_normal,gf_small_keys:4,$gerudo_valley_far_side,hookshot", - "gerudo_fortress_normal,gf_small_keys:4,$gerudo_valley_far_side,hoverboots", - "gerudo_fortress_normal,gf_small_keys:4,$gerudo_valley_far_side,[logic_gerudo_kitchen]", - "gerudo_fortress_fast,gf_small_keys:1,$gerudo_valley_far_side", - "gerudo_fortress_normal,gf_small_keys:4,$spawn_access|Gerudo Fortress|child,sword1,[logic_gerudo_kitchen]", - "gerudo_fortress_normal,gf_small_keys:4,$spawn_access|Gerudo Fortress|child,[sword1],sticks,[logic_gerudo_kitchen]", - "gerudo_fortress_fast,gf_small_keys:1,$spawn_access|Gerudo Fortress|child,sword1", - "gerudo_fortress_fast,gf_small_keys:1,$spawn_access|Gerudo Fortress|child,[sword1],sticks" + "gerudo_fortress_normal,th_small_keys:4,$gerudo_valley_far_side,$gerudo_card", + "gerudo_fortress_normal,th_small_keys:4,$gerudo_valley_far_side,bow", + "gerudo_fortress_normal,th_small_keys:4,$gerudo_valley_far_side,hookshot", + "gerudo_fortress_normal,th_small_keys:4,$gerudo_valley_far_side,hoverboots", + "gerudo_fortress_normal,th_small_keys:4,$gerudo_valley_far_side,[logic_gerudo_kitchen]", + "gerudo_fortress_fast,th_small_keys:1,$gerudo_valley_far_side", + "gerudo_fortress_normal,th_small_keys:4,$spawn_access|Gerudo Fortress|child,sword1,[logic_gerudo_kitchen]", + "gerudo_fortress_normal,th_small_keys:4,$spawn_access|Gerudo Fortress|child,[sword1],sticks,[logic_gerudo_kitchen]", + "gerudo_fortress_fast,th_small_keys:1,$spawn_access|Gerudo Fortress|child,sword1", + "gerudo_fortress_fast,th_small_keys:1,$spawn_access|Gerudo Fortress|child,[sword1],sticks" ], "capture_item": true, "item_count": 1 @@ -5178,7 +5189,7 @@ "$has_age|child,sword1" ], "visibility_rules": [ - "setting_merchants_shuffle" + "setting_shuffle_merchants_yes" ], "item_count": 1 } @@ -5236,7 +5247,7 @@ "name": "Colossus Freestanding PoH", "short_name": "HP", "access_rules": [ - "$child_colossus,setting_plant_no,beans,$has_age|adult", + "$child_colossus,$bean_planting|no,beans,$has_age|adult", "$child_colossus,bean_colossus_yes,$has_age|adult", "{$adult_colossus}" ], @@ -5325,7 +5336,7 @@ "beans,bean_colossus_no" ], "visibility_rules": [ - "setting_plant_yes" + "$bean_planting|yes" ], "hosted_item": "bean_colossus_yes" }, @@ -5393,7 +5404,7 @@ "name": "Colossus GS Hill (N)", "short_name": "GS", "access_rules": [ - "$child_colossus,setting_plant_no,beans", + "$child_colossus,$bean_planting|no,beans", "$child_colossus,bean_colossus_yes", "$adult_colossus,longshot", "$adult_colossus,hookshot,[logic_colossus_gs]", diff --git a/ootrando_overworldmap_hamsda/locations/overworld_entrance.json b/ootrando_overworldmap_hamsda/locations/overworld_entrance.json index 705fdbae..a4113737 100644 --- a/ootrando_overworldmap_hamsda/locations/overworld_entrance.json +++ b/ootrando_overworldmap_hamsda/locations/overworld_entrance.json @@ -280,8 +280,10 @@ { "name": "Shoot it", "access_rules": [ - "$access_location|LW Target in Woods" + "$access_location|LW Target in Woods", + "{$hintable}" ], + "capture_item": true, "item_count": 1 } ], @@ -428,7 +430,7 @@ ] }, { - "name": "Saria on Bridge", + "name": "LW Bridge From Forest", "sections": [ { "name": "LW Gift from Saria", @@ -1071,8 +1073,10 @@ { "name": "LH Lab Dive", "access_rules": [ - "$access_location|LH Lab Dive" + "$access_location|LH Lab Dive", + "{$hintable}" ], + "capture_item": true, "item_count": 1 }, { @@ -1444,19 +1448,19 @@ "name": "Carpenter Rescue", "sections": [ { - "name": "North F1 Carpenter", - "short_name": "North F1", + "name": "Hideout Jail Guard (1 Torch)", + "short_name": "1 Torch", "access_rules": [ - "$access_location|GF North F1 Carpenter" + "$access_location|Hideout Jail Guard (1 Torch)" ], "chest_unopened_img": "images/chest_brown_small_key.png", "item_count": 1 }, { - "name": "North F2 Carpenter", - "short_name": "North F2", + "name": "Hideout Jail Guard (2 Torches)", + "short_name": "2 Torches", "access_rules": [ - "$access_location|GF North F2 Carpenter" + "$access_location|Hideout Jail Guard (2 Torches)" ], "visibility_rules": [ "gerudo_fortress_normal" @@ -1465,10 +1469,10 @@ "item_count": 1 }, { - "name": "South F1 Carpenter", - "short_name": "South F1", + "name": "Hideout Jail Guard (3 Torches)", + "short_name": "3 Torches", "access_rules": [ - "$access_location|GF South F1 Carpenter" + "$access_location|Hideout Jail Guard (3 Torches)" ], "visibility_rules": [ "gerudo_fortress_normal" @@ -1477,10 +1481,10 @@ "item_count": 1 }, { - "name": "South F2 Carpenter", - "short_name": "South F2", + "name": "Hideout Jail Guard (4 Torches)", + "short_name": "4 Torches", "access_rules": [ - "$access_location|GF South F2 Carpenter" + "$access_location|Hideout Jail Guard (4 Torches)" ], "visibility_rules": [ "gerudo_fortress_normal" @@ -1489,9 +1493,10 @@ "item_count": 1 }, { - "name": "Gerudo Membership Card", + "name": "Hideout Gerudo Membership Card", + "short_name": "Gerudo Card", "access_rules": [ - "$access_location|GF Gerudo Membership Card" + "$access_location|Hideout Gerudo Membership Card" ], "capture_item": true, "item_count": 1 @@ -1612,7 +1617,7 @@ "$access_location|Wasteland Bombchu Salesman" ], "visibility_rules": [ - "setting_merchants_shuffle" + "setting_shuffle_merchants_yes" ], "item_count": 1 } @@ -2216,8 +2221,10 @@ "name": "HC Great Fairy Reward", "short_name": "Reward", "access_rules": [ - "$access_location|HC Great Fairy Reward" + "$access_location|HC Great Fairy Reward", + "{$hintable}" ], + "capture_item": true, "item_count": 1 } ], @@ -2300,8 +2307,10 @@ "name": "OGC Great Fairy Reward", "short_name": "Reward", "access_rules": [ - "$access_location|OGC Great Fairy Reward" + "$access_location|OGC Great Fairy Reward", + "{$hintable}" ], + "capture_item": true, "item_count": 1 } ], @@ -2951,14 +2960,14 @@ ] }, { - "name": "Graveyard Composers Grave", + "name": "Royal Familys Tomb", "short_name": "Royal Tomb", "sections": [ { - "name": "Song from Composers Grave", + "name": "Song from Royal Familys Tomb", "short_name": "Song", "access_rules": [ - "$access_location|Song from Composers Grave", + "$access_location|Song from Royal Familys Tomb", "{$hintable}" ], "capture_item": true, @@ -2967,10 +2976,10 @@ "item_count": 1 }, { - "name": "Graveyard Composers Grave Chest", + "name": "Royal Familys Tomb Chest", "short_name": "Chest", "access_rules": [ - "$access_location|Graveyard Composers Grave Chest", + "$access_location|Royal Familys Tomb Chest", "{$hintable}" ], "capture_item": true, @@ -3369,7 +3378,7 @@ "$access_location|GC Medigoron" ], "visibility_rules": [ - "setting_merchants_shuffle" + "setting_shuffle_merchants_yes" ], "item_count": 1 } @@ -3814,8 +3823,10 @@ { "name": "ZR Frogs in the Rain", "access_rules": [ - "$access_location|ZR Frogs in the Rain" + "$access_location|ZR Frogs in the Rain", + "{$hintable}" ], + "capture_item": true, "item_count": 1 }, { diff --git a/ootrando_overworldmap_hamsda/manifest.json b/ootrando_overworldmap_hamsda/manifest.json index 5bd1f2e5..9fcce230 100644 --- a/ootrando_overworldmap_hamsda/manifest.json +++ b/ootrando_overworldmap_hamsda/manifest.json @@ -1,7 +1,7 @@ { "name": "OoT Randomizer - Map and Item Tracker", "game_name": "Ocarina of Time Randomizer", - "package_version": "3.6.0.0", + "package_version": "3.7.0.0", "package_uid": "ootrando_overworldmap_hamsda", "author": "Hamsda", "variants": { diff --git a/ootrando_overworldmap_hamsda/scripts/add_section_objects.lua b/ootrando_overworldmap_hamsda/scripts/add_section_objects.lua index 1606a058..ef058956 100644 --- a/ootrando_overworldmap_hamsda/scripts/add_section_objects.lua +++ b/ootrando_overworldmap_hamsda/scripts/add_section_objects.lua @@ -1,21 +1,15 @@ for region, region_data in pairs(data_per_region) do if type(region_data.exits) == "table" then - for target, target_data in pairs(region_data.exits) do - if - not region_data.interior and not region_data.special and not region_data.dungeon and not target_data.fixed and - not (region_data.scene and data_per_region[target] and data_per_region[target].scene and - region_data.scene == data_per_region[target].scene) - then - local location = string.format("@%s -> %s", region, target) - target_data.location_object = get_object(location) - if not target_data.location_object then - print("error! location not found:", location) - end + local is_interior = + (region_data.pool == ER_POOL_TYPES.GROTTO or region_data.pool == ER_POOL_TYPES.INTERIOR or + region_data.pool == ER_POOL_TYPES.DUNGEON) + for exit, exit_data in pairs(region_data.exits) do + local is_same_scene = data_per_region[exit].scene == region_data.scene + if not is_interior and not exit_data.fixed and not is_same_scene then + local location = string.format("@%s -> %s", region, exit) + exit_data.location_object = get_object(location) local section = string.format("%s/Capture", location) - target_data.section_object = get_object(section) - if not target_data.section_object then - print("error! section not found:", section) - end + exit_data.section_object = get_object(section) end end end diff --git a/ootrando_overworldmap_hamsda/scripts/cached_helpers.lua b/ootrando_overworldmap_hamsda/scripts/cached_helpers.lua index a1fd8d02..4ef8ef51 100644 --- a/ootrando_overworldmap_hamsda/scripts/cached_helpers.lua +++ b/ootrando_overworldmap_hamsda/scripts/cached_helpers.lua @@ -8,6 +8,7 @@ function get_object(name) object_cache[name] = object return object end + print("error! get_object - not found:", name) return nil end diff --git a/ootrando_overworldmap_hamsda/scripts/custom_presets.lua b/ootrando_overworldmap_hamsda/scripts/custom_presets.lua new file mode 100644 index 00000000..fbfc0f4f --- /dev/null +++ b/ootrando_overworldmap_hamsda/scripts/custom_presets.lua @@ -0,0 +1,90 @@ +PresetLoader = CustomItem:extend() + +function PresetLoader:init() + self:createItem("Presets") + self:setProperty("active", true) + self:setProperty("presetNum", 0) + self.imageBase = ImageReference:FromPackRelativePath("images/unknown.png") + self:updateIcon() +end + +function PresetLoader:updateIcon() + local num = self:getProperty("presetNum") or 0 + if type(setting_presets) == "table" and type(setting_presets[num]) == "table" then + local data = setting_presets[num] + self.ItemInstance.Icon = ImageReference:FromPackRelativePath(data["icon"]) + self.ItemInstance.BadgeText = data["name"] + self.ItemInstance.BadgeTextColor = data["color"] + else + self.ItemInstance.Icon = self.imageBase + self.ItemInstance.BadgeText = "Pre" + self.ItemInstance.BadgeTextColor = "#00FF00" + end +end + +function PresetLoader:onLeftClick() + if self:getProperty("presetNum") then + if self:getProperty("presetNum") >= #setting_presets then + self:setProperty("presetNum", 0) + else + self:setProperty("presetNum", self:getProperty("presetNum") + 1) + end + end +end + +function PresetLoader:onRightClick() + local num = self:getProperty("presetNum") or 0 + if + type(setting_presets) == "table" and type(setting_presets[num]) == "table" and + type(setting_presets[num]["settings"]) == "table" + then + for setting, value in pairs(setting_presets[num]["settings"]) do + local setting_object = get_object(setting) + if setting_object then + if type(setting_object.CurrentStage) == "number" then + setting_object.CurrentStage = value + elseif type(setting_object.AcquiredCount) == "number" then + setting_object.AcquiredCount = value + end + end + end + end +end + +function PresetLoader:canProvideCode(code) + return code == "presets" +end + +function PresetLoader:providesCode(code) + if self:canProvideCode(code) then + return 1 + end + return 0 +end + +function PresetLoader:advanceToCode(code) + if code == nil or self:canProvideCode(code) then + self:setProperty("active", true) + end +end + +function PresetLoader:save() + local saveData = {} + saveData["active"] = self:getProperty("active") + saveData["presetNum"] = self:getProperty("presetNum") + return saveData +end + +function PresetLoader:load(data) + if data["active"] ~= nil then + self:setProperty("active", data["active"]) + end + if data["presetNum"] ~= nil then + self:setProperty("presetNum", data["presetNum"]) + end + return true +end + +function PresetLoader:propertyChanged(key, value) + self:updateIcon() +end diff --git a/ootrando_overworldmap_hamsda/scripts/data_per_region.lua b/ootrando_overworldmap_hamsda/scripts/data_per_region.lua index 03aba9d4..0af8dd78 100644 --- a/ootrando_overworldmap_hamsda/scripts/data_per_region.lua +++ b/ootrando_overworldmap_hamsda/scripts/data_per_region.lua @@ -1,6 +1,7 @@ data_per_region = { ["Root"] = { ["scene"] = "Root", + ["pool"] = ER_POOL_TYPES.ROOT, ["exits"] = { ["Root Exits"] = { ["child_access"] = function() @@ -20,6 +21,7 @@ data_per_region = { }, ["Root Exits"] = { ["scene"] = "Root", + ["pool"] = ER_POOL_TYPES.ROOT, ["exits"] = { ["Child Spawn"] = { ["child_access"] = function() @@ -142,6 +144,7 @@ data_per_region = { }, ["Child Spawn"] = { ["scene"] = "Root", + ["pool"] = ER_POOL_TYPES.ROOT, ["exits"] = { ["KF Links House"] = { ["setting"] = "setting_entrance_spawn_shuffle", @@ -156,6 +159,7 @@ data_per_region = { }, ["Adult Spawn"] = { ["scene"] = "Root", + ["pool"] = ER_POOL_TYPES.ROOT, ["exits"] = { ["Temple of Time"] = { ["setting"] = "setting_entrance_spawn_shuffle", @@ -170,6 +174,7 @@ data_per_region = { }, ["Prelude of Light Warp"] = { ["scene"] = "Root", + ["pool"] = ER_POOL_TYPES.ROOT, ["exits"] = { ["Temple of Time"] = { ["setting"] = "setting_entrance_warpsong_shuffle", @@ -184,6 +189,7 @@ data_per_region = { }, ["Minuet of Forest Warp"] = { ["scene"] = "Root", + ["pool"] = ER_POOL_TYPES.ROOT, ["exits"] = { ["Sacred Forest Meadow"] = { ["setting"] = "setting_entrance_warpsong_shuffle", @@ -198,6 +204,7 @@ data_per_region = { }, ["Bolero of Fire Warp"] = { ["scene"] = "Root", + ["pool"] = ER_POOL_TYPES.ROOT, ["exits"] = { ["DMC Central Local"] = { ["setting"] = "setting_entrance_warpsong_shuffle", @@ -212,6 +219,7 @@ data_per_region = { }, ["Serenade of Water Warp"] = { ["scene"] = "Root", + ["pool"] = ER_POOL_TYPES.ROOT, ["exits"] = { ["Lake Hylia"] = { ["setting"] = "setting_entrance_warpsong_shuffle", @@ -226,6 +234,7 @@ data_per_region = { }, ["Nocturne of Shadow Warp"] = { ["scene"] = "Root", + ["pool"] = ER_POOL_TYPES.ROOT, ["exits"] = { ["Graveyard Warp Pad Region"] = { ["setting"] = "setting_entrance_warpsong_shuffle", @@ -240,6 +249,7 @@ data_per_region = { }, ["Requiem of Spirit Warp"] = { ["scene"] = "Root", + ["pool"] = ER_POOL_TYPES.ROOT, ["exits"] = { ["Desert Colossus"] = { ["setting"] = "setting_entrance_warpsong_shuffle", @@ -254,6 +264,7 @@ data_per_region = { }, ["Kokiri Forest"] = { ["scene"] = "Kokiri Forest", + ["pool"] = ER_POOL_TYPES.OW, ["locations"] = { ["KF Kokiri Sword Chest"] = { ["child_access"] = function() @@ -391,6 +402,7 @@ data_per_region = { }, ["KF Outside Deku Tree"] = { ["scene"] = "Kokiri Forest", + ["pool"] = ER_POOL_TYPES.OW, ["exits"] = { ["Deku Tree Split"] = { ["setting"] = "setting_entrance_dungeons_shuffle", @@ -423,7 +435,7 @@ data_per_region = { }, ["KF Links House"] = { ["scene"] = "KF Links House", - ["special"] = true, + ["pool"] = ER_POOL_TYPES.INTERIOR, ["locations"] = { ["KF Links House Cow"] = { ["child_access"] = function() @@ -450,7 +462,7 @@ data_per_region = { }, ["KF Midos House"] = { ["scene"] = "KF Midos House", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.INTERIOR, ["locations"] = { ["KF Midos Chests"] = { ["child_access"] = function() @@ -474,7 +486,7 @@ data_per_region = { }, ["KF Sarias House"] = { ["scene"] = "KF Sarias House", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.INTERIOR, ["exits"] = { ["Kokiri Forest"] = { ["child_access"] = function() @@ -488,7 +500,7 @@ data_per_region = { }, ["KF House of Twins"] = { ["scene"] = "KF House of Twins", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.INTERIOR, ["exits"] = { ["Kokiri Forest"] = { ["child_access"] = function() @@ -502,7 +514,7 @@ data_per_region = { }, ["KF Know It All House"] = { ["scene"] = "KF Know it All House", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.INTERIOR, ["exits"] = { ["Kokiri Forest"] = { ["child_access"] = function() @@ -516,7 +528,7 @@ data_per_region = { }, ["KF Kokiri Shop"] = { ["scene"] = "KF Kokiri Shop", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.INTERIOR, ["locations"] = { ["KF Shop Items"] = { ["child_access"] = function() @@ -540,6 +552,7 @@ data_per_region = { }, ["LW Forest Exit"] = { ["scene"] = "Lost Woods", + ["pool"] = ER_POOL_TYPES.OW, ["exits"] = { ["Kokiri Forest"] = { ["setting"] = "setting_entrance_overworld_shuffle", @@ -554,6 +567,7 @@ data_per_region = { }, ["Lost Woods"] = { ["scene"] = "Lost Woods", + ["pool"] = ER_POOL_TYPES.OW, ["locations"] = { ["LW Skull Kid"] = { ["child_access"] = function() @@ -681,6 +695,7 @@ data_per_region = { }, ["LW Beyond Mido"] = { ["scene"] = "Lost Woods", + ["pool"] = ER_POOL_TYPES.OW, ["locations"] = { ["LW Deku Scrub Near Deku Theater Right"] = { ["child_access"] = function() @@ -790,6 +805,7 @@ data_per_region = { }, ["Lost Woods Mushroom Timeout"] = { ["scene"] = "Lost Woods", + ["pool"] = ER_POOL_TYPES.OW, ["exits"] = { ["Lost Woods"] = { ["child_access"] = function() @@ -803,6 +819,7 @@ data_per_region = { }, ["SFM Entryway"] = { ["scene"] = "Sacred Forest Meadow", + ["pool"] = ER_POOL_TYPES.OW, ["exits"] = { ["LW Beyond Mido"] = { ["setting"] = "setting_entrance_overworld_shuffle", @@ -837,6 +854,7 @@ data_per_region = { }, ["Sacred Forest Meadow"] = { ["scene"] = "Sacred Forest Meadow", + ["pool"] = ER_POOL_TYPES.OW, ["locations"] = { ["Song from Saria"] = { ["child_access"] = function() @@ -914,6 +932,7 @@ data_per_region = { }, ["SFM Forest Temple Entrance Ledge"] = { ["scene"] = "Sacred Forest Meadow", + ["pool"] = ER_POOL_TYPES.OW, ["exits"] = { ["Sacred Forest Meadow"] = { ["child_access"] = function() @@ -936,6 +955,7 @@ data_per_region = { }, ["LW Bridge From Forest"] = { ["scene"] = "Lost Woods", + ["pool"] = ER_POOL_TYPES.OW, ["locations"] = { ["LW Gift from Saria"] = { ["child_access"] = function() @@ -959,6 +979,7 @@ data_per_region = { }, ["LW Bridge"] = { ["scene"] = "Lost Woods", + ["pool"] = ER_POOL_TYPES.OW, ["exits"] = { ["Kokiri Forest"] = { ["setting"] = "setting_entrance_overworld_shuffle", @@ -993,6 +1014,7 @@ data_per_region = { }, ["Hyrule Field"] = { ["scene"] = "Hyrule Field", + ["pool"] = ER_POOL_TYPES.OW, ["locations"] = { ["HF Ocarina of Time Item"] = { ["child_access"] = function() @@ -1160,6 +1182,7 @@ data_per_region = { }, ["Lake Hylia"] = { ["scene"] = "Lake Hylia", + ["pool"] = ER_POOL_TYPES.OW, ["locations"] = { ["LH Underwater Item"] = { ["child_access"] = function() @@ -1326,6 +1349,7 @@ data_per_region = { }, ["LH Fishing Island"] = { ["scene"] = "Lake Hylia", + ["pool"] = ER_POOL_TYPES.OW, ["exits"] = { ["Lake Hylia"] = { ["child_access"] = function() @@ -1348,6 +1372,7 @@ data_per_region = { }, ["LH Owl Flight"] = { ["scene"] = "Lake Hylia", + ["pool"] = ER_POOL_TYPES.ROOT, ["exits"] = { ["Hyrule Field"] = { ["setting"] = "setting_entrance_owl_shuffle", @@ -1362,7 +1387,7 @@ data_per_region = { }, ["LH Lab"] = { ["scene"] = "LH Lab", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.INTERIOR, ["locations"] = { ["LH Lab Dive"] = { ["child_access"] = function() @@ -1408,7 +1433,7 @@ data_per_region = { }, ["LH Fishing Hole"] = { ["scene"] = "LH Fishing Hole", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.INTERIOR, ["locations"] = { ["LH Child Fishing"] = { ["child_access"] = function() @@ -1440,6 +1465,7 @@ data_per_region = { }, ["Gerudo Valley"] = { ["scene"] = "Gerudo Valley", + ["pool"] = ER_POOL_TYPES.OW, ["locations"] = { ["GV GS Small Bridge"] = { ["child_access"] = function() @@ -1508,6 +1534,7 @@ data_per_region = { }, ["GV Upper Stream"] = { ["scene"] = "Gerudo Valley", + ["pool"] = ER_POOL_TYPES.OW, ["locations"] = { ["GV Waterfall Freestanding PoH"] = { ["child_access"] = function() @@ -1550,6 +1577,7 @@ data_per_region = { }, ["GV Lower Stream"] = { ["scene"] = "Gerudo Valley", + ["pool"] = ER_POOL_TYPES.OW, ["exits"] = { ["Lake Hylia"] = { ["fixed"] = true, @@ -1564,6 +1592,7 @@ data_per_region = { }, ["GV Grotto Ledge"] = { ["scene"] = "Gerudo Valley", + ["pool"] = ER_POOL_TYPES.OW, ["exits"] = { ["GV Lower Stream"] = { ["child_access"] = function() @@ -1600,6 +1629,7 @@ data_per_region = { }, ["GV Crate Ledge"] = { ["scene"] = "Gerudo Valley", + ["pool"] = ER_POOL_TYPES.OW, ["locations"] = { ["GV Crate Freestanding PoH"] = { ["child_access"] = function() @@ -1623,6 +1653,7 @@ data_per_region = { }, ["GV Fortress Side"] = { ["scene"] = "Gerudo Valley", + ["pool"] = ER_POOL_TYPES.OW, ["locations"] = { ["GV Chest"] = { ["child_access"] = function() @@ -1728,7 +1759,7 @@ data_per_region = { }, ["GV Carpenter Tent"] = { ["scene"] = "GV Carpenter Tent", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.INTERIOR, ["exits"] = { ["GV Fortress Side"] = { ["child_access"] = function() @@ -1742,6 +1773,7 @@ data_per_region = { }, ["Gerudo Fortress"] = { ["scene"] = "Gerudo Fortress", + ["pool"] = ER_POOL_TYPES.OW, ["locations"] = { ["GF Chest"] = { ["child_access"] = function() @@ -1776,7 +1808,7 @@ data_per_region = { return AccessibilityLevel.None end }, - ["GF North F1 Carpenter"] = { + ["Hideout Jail Guard (1 Torch)"] = { ["child_access"] = function() if has("sword1") then return AccessibilityLevel.Normal @@ -1789,7 +1821,20 @@ data_per_region = { return AccessibilityLevel.Normal end }, - ["GF North F2 Carpenter"] = { + ["Hideout Jail Guard (2 Torches)"] = { + ["child_access"] = function() + if has("sword1") then + return AccessibilityLevel.Normal + elseif has("sticks") then + return AccessibilityLevel.SequenceBreak + end + return AccessibilityLevel.None + end, + ["adult_access"] = function() + return AccessibilityLevel.Normal + end + }, + ["Hideout Jail Guard (3 Torches)"] = { ["child_access"] = function() local weapon = AccessibilityLevel.None if has("sword1") then @@ -1810,7 +1855,7 @@ data_per_region = { return AccessibilityLevel.SequenceBreak end }, - ["GF South F1 Carpenter"] = { + ["Hideout Jail Guard (4 Torches)"] = { ["child_access"] = function() if has("sword1") then return AccessibilityLevel.Normal @@ -1823,20 +1868,7 @@ data_per_region = { return AccessibilityLevel.Normal end }, - ["GF South F2 Carpenter"] = { - ["child_access"] = function() - if has("sword1") then - return AccessibilityLevel.Normal - elseif has("sticks") then - return AccessibilityLevel.SequenceBreak - end - return AccessibilityLevel.None - end, - ["adult_access"] = function() - return AccessibilityLevel.Normal - end - }, - ["GF Gerudo Membership Card"] = { + ["Hideout Gerudo Membership Card"] = { ["child_access"] = function() return can_finish_GerudoFortress("child") end, @@ -1893,7 +1925,7 @@ data_per_region = { return AccessibilityLevel.None end }, - ["Gerudo Training Grounds Split"] = { + ["Gerudo Training Ground Split"] = { ["setting"] = "setting_entrance_dungeons_shuffle", ["child_access"] = function() return AccessibilityLevel.None @@ -1918,6 +1950,7 @@ data_per_region = { }, ["GF Outside Gate"] = { ["scene"] = "Gerudo Fortress", + ["pool"] = ER_POOL_TYPES.OW, ["exits"] = { ["Gerudo Fortress"] = { ["child_access"] = function() @@ -1940,6 +1973,7 @@ data_per_region = { }, ["Wasteland Near Fortress"] = { ["scene"] = "Haunted Wasteland", + ["pool"] = ER_POOL_TYPES.OW, ["exits"] = { ["GF Outside Gate"] = { ["setting"] = "setting_entrance_overworld_shuffle", @@ -1968,6 +2002,7 @@ data_per_region = { }, ["Haunted Wasteland"] = { ["scene"] = "Haunted Wasteland", + ["pool"] = ER_POOL_TYPES.OW, ["locations"] = { ["Wasteland Chest"] = { ["child_access"] = function() @@ -2042,6 +2077,7 @@ data_per_region = { }, ["Wasteland Near Colossus"] = { ["scene"] = "Haunted Wasteland", + ["pool"] = ER_POOL_TYPES.OW, ["exits"] = { ["Desert Colossus"] = { ["setting"] = "setting_entrance_overworld_shuffle", @@ -2070,6 +2106,7 @@ data_per_region = { }, ["Desert Colossus"] = { ["scene"] = "Desert Colossus", + ["pool"] = ER_POOL_TYPES.OW, ["locations"] = { ["Sheik at Colossus"] = { ["child_access"] = function() @@ -2184,6 +2221,7 @@ data_per_region = { }, ["Desert Colossus From Spirit Lobby"] = { ["scene"] = "Desert Colossus", + ["pool"] = ER_POOL_TYPES.OW, ["exits"] = { ["Desert Colossus"] = { ["child_access"] = function() @@ -2197,7 +2235,7 @@ data_per_region = { }, ["Colossus Great Fairy Fountain"] = { ["scene"] = "Colossus Great Fairy Fountain", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.INTERIOR, ["locations"] = { ["Colossus Great Fairy Reward"] = { ["child_access"] = function() @@ -2227,6 +2265,7 @@ data_per_region = { }, ["Market Entrance"] = { ["scene"] = "Market Entrance", + ["pool"] = ER_POOL_TYPES.OW, ["exits"] = { ["Hyrule Field"] = { ["setting"] = "setting_entrance_overworld_shuffle", @@ -2259,6 +2298,7 @@ data_per_region = { }, ["Market"] = { ["scene"] = "Market", + ["pool"] = ER_POOL_TYPES.OW, ["exits"] = { ["Market Entrance"] = { ["setting"] = "setting_entrance_overworld_shuffle", @@ -2353,6 +2393,7 @@ data_per_region = { }, ["Market Back Alley"] = { ["scene"] = "Market", + ["pool"] = ER_POOL_TYPES.OW, ["exits"] = { ["Market"] = { ["child_access"] = function() @@ -2393,6 +2434,7 @@ data_per_region = { }, ["ToT Entrance"] = { ["scene"] = "ToT Entrance", + ["pool"] = ER_POOL_TYPES.OW, ["exits"] = { ["Market"] = { ["setting"] = "setting_entrance_overworld_shuffle", @@ -2416,14 +2458,17 @@ data_per_region = { }, ["Temple of Time"] = { ["scene"] = "Temple of Time", - ["special"] = true, + ["pool"] = ER_POOL_TYPES.INTERIOR, ["locations"] = { ["ToT Light Arrows Cutscene"] = { ["child_access"] = function() return AccessibilityLevel.None end, ["adult_access"] = function() - return can_trigger_lacs() + if has("lacs_meds", 2) then + return AccessibilityLevel.Normal + end + return AccessibilityLevel.None end } }, @@ -2454,7 +2499,7 @@ data_per_region = { }, ["Beyond Door of Time"] = { ["scene"] = "Temple of Time", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.INTERIOR, ["locations"] = { ["Sheik at Temple"] = { ["child_access"] = function() @@ -2481,6 +2526,7 @@ data_per_region = { }, ["Castle Grounds"] = { ["scene"] = "Castle Grounds", + ["pool"] = ER_POOL_TYPES.OW, ["exits"] = { ["Market"] = { ["setting"] = "setting_entrance_overworld_shuffle", @@ -2511,6 +2557,7 @@ data_per_region = { }, ["Hyrule Castle Grounds"] = { ["scene"] = "Castle Grounds", + ["pool"] = ER_POOL_TYPES.OW, ["locations"] = { ["HC Malon Egg"] = { ["child_access"] = function() @@ -2571,7 +2618,7 @@ data_per_region = { }, ["HC Garden"] = { ["scene"] = "Castle Grounds", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.INTERIOR, ["locations"] = { ["HC Zeldas Letter"] = { ["child_access"] = function() @@ -2603,7 +2650,7 @@ data_per_region = { }, ["HC Great Fairy Fountain"] = { ["scene"] = "HC Great Fairy Fountain", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.INTERIOR, ["locations"] = { ["HC Great Fairy Reward"] = { ["child_access"] = function() @@ -2633,6 +2680,7 @@ data_per_region = { }, ["Ganons Castle Grounds"] = { ["scene"] = "Castle Grounds", + ["pool"] = ER_POOL_TYPES.OW, ["locations"] = { ["OGC GS"] = { ["child_access"] = function() @@ -2677,7 +2725,7 @@ data_per_region = { }, ["OGC Great Fairy Fountain"] = { ["scene"] = "OGC Great Fairy Fountain", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.INTERIOR, ["locations"] = { ["OGC Great Fairy Reward"] = { ["child_access"] = function() @@ -2707,7 +2755,7 @@ data_per_region = { }, ["Market Guard House"] = { ["scene"] = "Market Guard House", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.INTERIOR, ["locations"] = { ["Market 10 Big Poes"] = { ["child_access"] = function() @@ -2742,7 +2790,7 @@ data_per_region = { }, ["Market Bazaar"] = { ["scene"] = "Market Bazaar", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.INTERIOR, ["locations"] = { ["Market Bazaar Items"] = { ["child_access"] = function() @@ -2766,7 +2814,7 @@ data_per_region = { }, ["Market Mask Shop"] = { ["scene"] = "Market Mask Shop", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.INTERIOR, ["exits"] = { ["Market"] = { ["child_access"] = function() @@ -2780,7 +2828,7 @@ data_per_region = { }, ["Market Shooting Gallery"] = { ["scene"] = "Market Shooting Gallery", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.INTERIOR, ["locations"] = { ["Market Shooting Gallery Reward"] = { ["child_access"] = function() @@ -2804,7 +2852,7 @@ data_per_region = { }, ["Market Bombchu Bowling"] = { ["scene"] = "Market Bombchu Bowling", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.INTERIOR, ["locations"] = { ["Market Bombchu Bowling First Prize"] = { ["child_access"] = function() @@ -2848,7 +2896,7 @@ data_per_region = { }, ["Market Potion Shop"] = { ["scene"] = "Market Potion Shop", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.INTERIOR, ["locations"] = { ["Market Potion Shop Items"] = { ["child_access"] = function() @@ -2872,7 +2920,7 @@ data_per_region = { }, ["Market Treasure Chest Game"] = { ["scene"] = "Market Treasure Chest Game", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.INTERIOR, ["locations"] = { ["Market Treasure Chest Game Reward"] = { ["child_access"] = function() @@ -2902,7 +2950,7 @@ data_per_region = { }, ["Market Bombchu Shop"] = { ["scene"] = "Market Bombchu Shop", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.INTERIOR, ["locations"] = { ["Market Bombchu Shop Items"] = { ["child_access"] = function() @@ -2926,7 +2974,7 @@ data_per_region = { }, ["Market Dog Lady House"] = { ["scene"] = "Market Dog Lady House", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.INTERIOR, ["locations"] = { ["Market Lost Dog"] = { ["child_access"] = function() @@ -2950,7 +2998,7 @@ data_per_region = { }, ["Market Man in Green House"] = { ["scene"] = "Market Man in Green House", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.INTERIOR, ["exits"] = { ["Market Back Alley"] = { ["child_access"] = function() @@ -2964,6 +3012,7 @@ data_per_region = { }, ["Kakariko Village"] = { ["scene"] = "Kakariko Village", + ["pool"] = ER_POOL_TYPES.OW, ["locations"] = { ["Sheik in Kakariko"] = { ["child_access"] = function() @@ -3207,6 +3256,7 @@ data_per_region = { }, ["Kak Impas Ledge"] = { ["scene"] = "Kakariko Village", + ["pool"] = ER_POOL_TYPES.OW, ["exits"] = { ["Kak Impas House Back"] = { ["setting"] = "setting_entrance_interiors_simple", @@ -3229,6 +3279,7 @@ data_per_region = { }, ["Kak Impas Rooftop"] = { ["scene"] = "Kakariko Village", + ["pool"] = ER_POOL_TYPES.OW, ["locations"] = { ["Kak GS Above Impas House"] = { ["child_access"] = function() @@ -3260,6 +3311,7 @@ data_per_region = { }, ["Kak Odd Medicine Rooftop"] = { ["scene"] = "Kakariko Village", + ["pool"] = ER_POOL_TYPES.OW, ["locations"] = { ["Kak Man on Roof"] = { ["child_access"] = function() @@ -3291,6 +3343,7 @@ data_per_region = { }, ["Kak Backyard"] = { ["scene"] = "Kakariko Village", + ["pool"] = ER_POOL_TYPES.OW, ["exits"] = { ["Kakariko Village"] = { ["child_access"] = function() @@ -3331,7 +3384,7 @@ data_per_region = { }, ["Kak Carpenter Boss House"] = { ["scene"] = "Kak Carpenter Boss House", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.INTERIOR, ["exits"] = { ["Kakariko Village"] = { ["child_access"] = function() @@ -3345,7 +3398,7 @@ data_per_region = { }, ["Kak House of Skulltula"] = { ["scene"] = "Kak House of Skulltula", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.INTERIOR, ["locations"] = { ["Kak 10 Gold Skulltula Reward"] = { ["child_access"] = function() @@ -3431,7 +3484,7 @@ data_per_region = { }, ["Kak Impas House"] = { ["scene"] = "Kak Impas House", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.INTERIOR, ["exits"] = { ["Kakariko Village"] = { ["child_access"] = function() @@ -3453,7 +3506,7 @@ data_per_region = { }, ["Kak Impas House Back"] = { ["scene"] = "Kak Impas House", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.INTERIOR, ["locations"] = { ["Kak Impas House Freestanding PoH"] = { ["child_access"] = function() @@ -3485,7 +3538,7 @@ data_per_region = { }, ["Kak Impas House Near Cow"] = { ["scene"] = "Kak Impas House", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.INTERIOR, ["locations"] = { ["Kak Impas House Cow"] = { ["child_access"] = function() @@ -3505,7 +3558,7 @@ data_per_region = { }, ["Kak Windmill"] = { ["scene"] = "Windmill and Dampes Grave", - ["special"] = true, + ["pool"] = ER_POOL_TYPES.INTERIOR, ["locations"] = { ["Kak Windmill Freestanding PoH"] = { ["child_access"] = function() @@ -3545,7 +3598,7 @@ data_per_region = { }, ["Kak Bazaar"] = { ["scene"] = "Kak Bazaar", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.INTERIOR, ["locations"] = { ["Kak Bazaar Items"] = { ["child_access"] = function() @@ -3569,7 +3622,7 @@ data_per_region = { }, ["Kak Shooting Gallery"] = { ["scene"] = "Kak Shooting Gallery", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.INTERIOR, ["locations"] = { ["Kak Shooting Gallery Reward"] = { ["child_access"] = function() @@ -3596,7 +3649,7 @@ data_per_region = { }, ["Kak Potion Shop Front"] = { ["scene"] = "Kak Potion Shop", - ["special"] = true, + ["pool"] = ER_POOL_TYPES.INTERIOR, ["locations"] = { ["Kak Potion Shop Items"] = { ["child_access"] = function() @@ -3628,7 +3681,7 @@ data_per_region = { }, ["Kak Potion Shop Back"] = { ["scene"] = "Kak Potion Shop", - ["special"] = true, + ["pool"] = ER_POOL_TYPES.INTERIOR, ["exits"] = { ["Kak Backyard"] = { ["child_access"] = function() @@ -3650,7 +3703,7 @@ data_per_region = { }, ["Kak Odd Medicine Building"] = { ["scene"] = "Kak Odd Medicine Building", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.INTERIOR, ["exits"] = { ["Kak Backyard"] = { ["child_access"] = function() @@ -3664,6 +3717,7 @@ data_per_region = { }, ["Graveyard"] = { ["scene"] = "Graveyard", + ["pool"] = ER_POOL_TYPES.OW, ["locations"] = { ["Graveyard Freestanding PoH"] = { ["child_access"] = function() @@ -3725,7 +3779,7 @@ data_per_region = { return AccessibilityLevel.Normal end }, - ["Graveyard Composers Grave"] = { + ["Royal Familys Tomb"] = { ["setting"] = "setting_entrance_grottos_shuffle", ["child_access"] = function() if has("ocarina") and has("lullaby") then @@ -3780,7 +3834,7 @@ data_per_region = { }, ["Graveyard Shield Grave"] = { ["scene"] = "Graveyard Shield Grave", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.GROTTO, ["locations"] = { ["Graveyard Shield Grave Chest"] = { ["child_access"] = function() @@ -3804,7 +3858,7 @@ data_per_region = { }, ["Graveyard Heart Piece Grave"] = { ["scene"] = "Graveyard Heart Piece Grave", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.GROTTO, ["locations"] = { ["Graveyard Heart Piece Grave Chest"] = { ["child_access"] = function() @@ -3832,11 +3886,11 @@ data_per_region = { } } }, - ["Graveyard Composers Grave"] = { - ["scene"] = "Graveyard Composers Grave", - ["interior"] = true, + ["Royal Familys Tomb"] = { + ["scene"] = "Royal Familys Tomb", + ["pool"] = ER_POOL_TYPES.GROTTO, ["locations"] = { - ["Graveyard Composers Grave Chest"] = { + ["Royal Familys Tomb Chest"] = { ["child_access"] = function() if has("dinsfire") and has("magic") then return AccessibilityLevel.Normal @@ -3849,7 +3903,7 @@ data_per_region = { return has_fire() end }, - ["Song from Composers Grave"] = { + ["Song from Royal Familys Tomb"] = { ["child_access"] = function() if has("sling") or has("boomerang") or has("sticks") or has("sword1") then return AccessibilityLevel.Normal @@ -3874,7 +3928,7 @@ data_per_region = { }, ["Graveyard Dampes Grave"] = { ["scene"] = "Windmill and Dampes Grave", - ["special"] = true, + ["pool"] = ER_POOL_TYPES.GROTTO, ["locations"] = { ["Graveyard Hookshot Chest"] = { ["child_access"] = function() @@ -3920,7 +3974,7 @@ data_per_region = { }, ["Graveyard Dampes House"] = { ["scene"] = "Graveyard Dampes House", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.INTERIOR, ["exits"] = { ["Graveyard"] = { ["child_access"] = function() @@ -3934,6 +3988,7 @@ data_per_region = { }, ["Graveyard Warp Pad Region"] = { ["scene"] = "Graveyard", + ["pool"] = ER_POOL_TYPES.OW, ["exits"] = { ["Graveyard"] = { ["child_access"] = function() @@ -3962,6 +4017,7 @@ data_per_region = { }, ["Kak Behind Gate"] = { ["scene"] = "Kakariko Village", + ["pool"] = ER_POOL_TYPES.OW, ["exits"] = { ["Kakariko Village"] = { ["child_access"] = function() @@ -3990,6 +4046,7 @@ data_per_region = { }, ["Death Mountain"] = { ["scene"] = "Death Mountain", + ["pool"] = ER_POOL_TYPES.OW, ["locations"] = { ["DMT Chest"] = { ["child_access"] = function() @@ -4168,6 +4225,7 @@ data_per_region = { }, ["Death Mountain Summit"] = { ["scene"] = "Death Mountain", + ["pool"] = ER_POOL_TYPES.OW, ["locations"] = { ["DMT Biggoron"] = { ["child_access"] = function() @@ -4241,6 +4299,7 @@ data_per_region = { }, ["DMT Owl Flight"] = { ["scene"] = "Death Mountain", + ["pool"] = ER_POOL_TYPES.ROOT, ["exits"] = { ["Kak Impas Rooftop"] = { ["setting"] = "setting_entrance_owl_shuffle", @@ -4255,6 +4314,7 @@ data_per_region = { }, ["Goron City"] = { ["scene"] = "Goron City", + ["pool"] = ER_POOL_TYPES.OW, ["locations"] = { ["GC Maze Left Chest"] = { ["child_access"] = function() @@ -4448,6 +4508,7 @@ data_per_region = { }, ["GC Woods Warp"] = { ["scene"] = "Goron City", + ["pool"] = ER_POOL_TYPES.OW, ["exits"] = { ["Goron City"] = { ["child_access"] = function() @@ -4470,6 +4531,7 @@ data_per_region = { }, ["GC Darunias Chamber"] = { ["scene"] = "Goron City", + ["pool"] = ER_POOL_TYPES.OW, ["locations"] = { ["GC Darunias Joy"] = { ["child_access"] = function() @@ -4505,6 +4567,7 @@ data_per_region = { }, ["GC Grotto Platform"] = { ["scene"] = "Goron City", + ["pool"] = ER_POOL_TYPES.OW, ["exits"] = { ["GC Grotto"] = { ["setting"] = "setting_entrance_grottos_shuffle", @@ -4533,7 +4596,7 @@ data_per_region = { }, ["GC Shop"] = { ["scene"] = "GC Shop", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.INTERIOR, ["locations"] = { ["GC Shop Items"] = { ["child_access"] = function() @@ -4557,6 +4620,7 @@ data_per_region = { }, ["DMC Upper Nearby"] = { ["scene"] = "Death Mountain Crater", + ["pool"] = ER_POOL_TYPES.OW, ["exits"] = { ["DMC Upper Local"] = { ["child_access"] = function() @@ -4591,6 +4655,7 @@ data_per_region = { }, ["DMC Upper Local"] = { ["scene"] = "Death Mountain Crater", + ["pool"] = ER_POOL_TYPES.OW, ["locations"] = { ["DMC Wall Freestanding PoH"] = { ["child_access"] = function() @@ -4642,6 +4707,7 @@ data_per_region = { }, ["DMC Ladder Area Nearby"] = { ["scene"] = "Death Mountain Crater", + ["pool"] = ER_POOL_TYPES.OW, ["locations"] = { ["DMC Deku Scrub"] = { ["child_access"] = function() @@ -4684,6 +4750,7 @@ data_per_region = { }, ["DMC Lower Nearby"] = { ["scene"] = "Death Mountain Crater", + ["pool"] = ER_POOL_TYPES.OW, ["exits"] = { ["DMC Lower Local"] = { ["child_access"] = function() @@ -4733,6 +4800,7 @@ data_per_region = { }, ["DMC Lower Local"] = { ["scene"] = "Death Mountain Crater", + ["pool"] = ER_POOL_TYPES.OW, ["exits"] = { ["DMC Lower Nearby"] = { ["child_access"] = function() @@ -4776,6 +4844,7 @@ data_per_region = { }, ["DMC Central Nearby"] = { ["scene"] = "Death Mountain Crater", + ["pool"] = ER_POOL_TYPES.OW, ["locations"] = { ["DMC Volcano Freestanding PoH"] = { ["child_access"] = function() @@ -4819,6 +4888,7 @@ data_per_region = { }, ["DMC Central Local"] = { ["scene"] = "Death Mountain Crater", + ["pool"] = ER_POOL_TYPES.OW, ["locations"] = { ["DMC GS Bean Patch"] = { ["child_access"] = function() @@ -4878,6 +4948,7 @@ data_per_region = { }, ["DMC Fire Temple Entrance"] = { ["scene"] = "Death Mountain Crater", + ["pool"] = ER_POOL_TYPES.OW, ["exits"] = { ["Fire Temple Split"] = { ["setting"] = "setting_entrance_dungeons_shuffle", @@ -4903,7 +4974,7 @@ data_per_region = { }, ["DMC Great Fairy Fountain"] = { ["scene"] = "DMC Great Fairy Fountain", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.INTERIOR, ["locations"] = { ["DMC Great Fairy Reward"] = { ["child_access"] = function() @@ -4933,7 +5004,7 @@ data_per_region = { }, ["DMT Great Fairy Fountain"] = { ["scene"] = "DMT Great Fairy Fountain", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.INTERIOR, ["locations"] = { ["DMT Great Fairy Reward"] = { ["child_access"] = function() @@ -4963,6 +5034,7 @@ data_per_region = { }, ["ZR Front"] = { ["scene"] = "Zora River", + ["pool"] = ER_POOL_TYPES.OW, ["locations"] = { ["ZR GS Tree"] = { ["child_access"] = function() @@ -4995,6 +5067,7 @@ data_per_region = { }, ["Zora River"] = { ["scene"] = "Zora River", + ["pool"] = ER_POOL_TYPES.OW, ["locations"] = { ["ZR Magic Bean Salesman"] = { ["child_access"] = function() @@ -5163,6 +5236,7 @@ data_per_region = { }, ["ZR Behind Waterfall"] = { ["scene"] = "Zora River", + ["pool"] = ER_POOL_TYPES.OW, ["exits"] = { ["Zora River"] = { ["child_access"] = function() @@ -5185,6 +5259,7 @@ data_per_region = { }, ["ZR Top of Waterfall"] = { ["scene"] = "Zora River", + ["pool"] = ER_POOL_TYPES.OW, ["exits"] = { ["Zora River"] = { ["child_access"] = function() @@ -5198,6 +5273,7 @@ data_per_region = { }, ["Zoras Domain"] = { ["scene"] = "Zoras Domain", + ["pool"] = ER_POOL_TYPES.OW, ["locations"] = { ["ZD Diving Minigame"] = { ["child_access"] = function() @@ -5271,7 +5347,8 @@ data_per_region = { if has("setting_fountain_open") or has("setting_fountain_adult") then return AccessibilityLevel.Normal end - return or_accessibility(deliver_letter(), AccessibilityLevel.SequenceBreak) + local trick = has("logic_king_zora_skip") and AccessibilityLevel.Normal or AccessibilityLevel.SequenceBreak + return or_accessibility(deliver_letter(), trick) end }, ["ZD Shop"] = { @@ -5296,6 +5373,7 @@ data_per_region = { }, ["ZD Behind King Zora"] = { ["scene"] = "Zoras Domain", + ["pool"] = ER_POOL_TYPES.OW, ["exits"] = { ["Zoras Domain"] = { ["child_access"] = function() @@ -5324,6 +5402,7 @@ data_per_region = { }, ["ZD Eyeball Frog Timeout"] = { ["scene"] = "Zoras Domain", + ["pool"] = ER_POOL_TYPES.OW, ["exits"] = { ["Zoras Domain"] = { ["child_access"] = function() @@ -5337,6 +5416,7 @@ data_per_region = { }, ["Zoras Fountain"] = { ["scene"] = "Zoras Fountain", + ["pool"] = ER_POOL_TYPES.OW, ["locations"] = { ["ZF Iceberg Freestanding PoH"] = { ["child_access"] = function() @@ -5435,6 +5515,7 @@ data_per_region = { }, ["ZF Ice Ledge"] = { ["scene"] = "Zoras Fountain", + ["pool"] = ER_POOL_TYPES.OW, ["exits"] = { ["Zoras Fountain"] = { ["child_access"] = function() @@ -5457,7 +5538,7 @@ data_per_region = { }, ["ZD Shop"] = { ["scene"] = "ZD Shop", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.INTERIOR, ["locations"] = { ["ZD Shop Items"] = { ["child_access"] = function() @@ -5481,7 +5562,7 @@ data_per_region = { }, ["ZF Great Fairy Fountain"] = { ["scene"] = "ZF Great Fairy Fountain", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.INTERIOR, ["locations"] = { ["ZF Great Fairy Reward"] = { ["child_access"] = function() @@ -5511,6 +5592,7 @@ data_per_region = { }, ["Lon Lon Ranch"] = { ["scene"] = "Lon Lon Ranch", + ["pool"] = ER_POOL_TYPES.OW, ["locations"] = { ["Song from Malon"] = { ["child_access"] = function() @@ -5618,7 +5700,7 @@ data_per_region = { }, ["LLR Talons House"] = { ["scene"] = "LLR Talons House", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.INTERIOR, ["locations"] = { ["LLR Talons Chickens"] = { ["child_access"] = function() @@ -5645,7 +5727,7 @@ data_per_region = { }, ["LLR Stables"] = { ["scene"] = "LLR Stables", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.INTERIOR, ["locations"] = { ["LLR Stables Cows"] = { ["child_access"] = function() @@ -5675,7 +5757,7 @@ data_per_region = { }, ["LLR Tower"] = { ["scene"] = "LLR Tower", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.INTERIOR, ["locations"] = { ["LLR Freestanding PoH"] = { ["child_access"] = function() @@ -5713,7 +5795,7 @@ data_per_region = { }, ["GF Storms Grotto"] = { ["scene"] = "GF Storms Grotto", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.GROTTO, ["exits"] = { ["Gerudo Fortress"] = { ["child_access"] = function() @@ -5727,7 +5809,7 @@ data_per_region = { }, ["ZD Storms Grotto"] = { ["scene"] = "ZD Storms Grotto", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.GROTTO, ["exits"] = { ["Zoras Domain"] = { ["child_access"] = function() @@ -5741,7 +5823,7 @@ data_per_region = { }, ["KF Storms Grotto"] = { ["scene"] = "KF Storms Grotto", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.GROTTO, ["locations"] = { ["KF Storms Grotto Chest"] = { ["child_access"] = function() @@ -5765,7 +5847,7 @@ data_per_region = { }, ["LW Near Shortcuts Grotto"] = { ["scene"] = "LW Near Shortcuts Grotto", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.GROTTO, ["locations"] = { ["LW Near Shortcuts Grotto Chest"] = { ["child_access"] = function() @@ -5789,7 +5871,7 @@ data_per_region = { }, ["Deku Theater"] = { ["scene"] = "Deku Theater", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.GROTTO, ["locations"] = { ["Deku Theater Skull Mask"] = { ["child_access"] = function() @@ -5827,7 +5909,7 @@ data_per_region = { }, ["LW Scrubs Grotto"] = { ["scene"] = "LW Scrubs Grotto", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.GROTTO, ["locations"] = { ["LW Deku Scrubs Grotto"] = { ["child_access"] = function() @@ -5851,7 +5933,7 @@ data_per_region = { }, ["SFM Fairy Grotto"] = { ["scene"] = "SFM Fairy Grotto", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.GROTTO, ["exits"] = { ["Sacred Forest Meadow"] = { ["child_access"] = function() @@ -5865,7 +5947,7 @@ data_per_region = { }, ["SFM Storms Grotto"] = { ["scene"] = "SFM Storms Grotto", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.GROTTO, ["locations"] = { ["SFM Deku Scrubs Grotto"] = { ["child_access"] = function() @@ -5889,7 +5971,7 @@ data_per_region = { }, ["SFM Wolfos Grotto"] = { ["scene"] = "SFM Wolfos Grotto", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.GROTTO, ["locations"] = { ["SFM Wolfos Grotto Chest"] = { ["child_access"] = function() @@ -5916,7 +5998,7 @@ data_per_region = { }, ["LLR Grotto"] = { ["scene"] = "LLR Grotto", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.GROTTO, ["locations"] = { ["LLR Deku Scrubs Grotto"] = { ["child_access"] = function() @@ -5940,7 +6022,7 @@ data_per_region = { }, ["HF Southeast Grotto"] = { ["scene"] = "HF Southeast Grotto", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.GROTTO, ["locations"] = { ["HF Southeast Grotto Chest"] = { ["child_access"] = function() @@ -5964,7 +6046,7 @@ data_per_region = { }, ["HF Open Grotto"] = { ["scene"] = "HF Open Grotto", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.GROTTO, ["locations"] = { ["HF Open Grotto Chest"] = { ["child_access"] = function() @@ -5988,7 +6070,7 @@ data_per_region = { }, ["HF Inside Fence Grotto"] = { ["scene"] = "HF Inside Fence Grotto", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.GROTTO, ["locations"] = { ["HF Deku Scrub Grotto"] = { ["child_access"] = function() @@ -6012,7 +6094,7 @@ data_per_region = { }, ["HF Cow Grotto"] = { ["scene"] = "HF Cow Grotto", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.GROTTO, ["locations"] = { ["HF GS Cow Grotto"] = { ["child_access"] = function() @@ -6057,7 +6139,7 @@ data_per_region = { }, ["HF Near Market Grotto"] = { ["scene"] = "HF Near Market Grotto", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.GROTTO, ["locations"] = { ["HF Near Market Grotto Chest"] = { ["child_access"] = function() @@ -6081,7 +6163,7 @@ data_per_region = { }, ["HF Fairy Grotto"] = { ["scene"] = "HF Fairy Grotto", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.GROTTO, ["exits"] = { ["Hyrule Field"] = { ["child_access"] = function() @@ -6095,7 +6177,7 @@ data_per_region = { }, ["HF Near Kak Grotto"] = { ["scene"] = "HF Near Kak Grotto", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.GROTTO, ["locations"] = { ["HF GS Near Kak Grotto"] = { ["child_access"] = function() @@ -6131,7 +6213,7 @@ data_per_region = { }, ["HF Tektite Grotto"] = { ["scene"] = "HF Tektite Grotto", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.GROTTO, ["locations"] = { ["HF Tektite Grotto Freestanding PoH"] = { ["child_access"] = function() @@ -6161,7 +6243,7 @@ data_per_region = { }, ["HC Storms Grotto"] = { ["scene"] = "HC Storms Grotto", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.GROTTO, ["locations"] = { ["HC GS Storms Grotto"] = { ["child_access"] = function() @@ -6199,7 +6281,7 @@ data_per_region = { }, ["Kak Redead Grotto"] = { ["scene"] = "Kak Redead Grotto", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.GROTTO, ["locations"] = { ["Kak Redead Grotto Chest"] = { ["child_access"] = function() @@ -6226,7 +6308,7 @@ data_per_region = { }, ["Kak Open Grotto"] = { ["scene"] = "Kak Open Grotto", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.GROTTO, ["locations"] = { ["Kak Open Grotto Chest"] = { ["child_access"] = function() @@ -6250,7 +6332,7 @@ data_per_region = { }, ["DMT Cow Grotto"] = { ["scene"] = "DMT Cow Grotto", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.GROTTO, ["locations"] = { ["DMT Cow Grotto Cow"] = { ["child_access"] = function() @@ -6280,7 +6362,7 @@ data_per_region = { }, ["DMT Storms Grotto"] = { ["scene"] = "DMT Storms Grotto", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.GROTTO, ["locations"] = { ["DMT Storms Grotto Chest"] = { ["child_access"] = function() @@ -6304,7 +6386,7 @@ data_per_region = { }, ["GC Grotto"] = { ["scene"] = "GC Grotto", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.GROTTO, ["locations"] = { ["GC Deku Scrubs Grotto"] = { ["child_access"] = function() @@ -6328,7 +6410,7 @@ data_per_region = { }, ["DMC Upper Grotto"] = { ["scene"] = "DMC Upper Grotto", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.GROTTO, ["locations"] = { ["DMC Upper Grotto Chest"] = { ["child_access"] = function() @@ -6352,7 +6434,7 @@ data_per_region = { }, ["DMC Hammer Grotto"] = { ["scene"] = "DMC Hammer Grotto", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.GROTTO, ["locations"] = { ["DMC Deku Scrubs Grotto"] = { ["child_access"] = function() @@ -6376,7 +6458,7 @@ data_per_region = { }, ["ZR Open Grotto"] = { ["scene"] = "ZR Open Grotto", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.GROTTO, ["locations"] = { ["ZR Open Grotto Chest"] = { ["child_access"] = function() @@ -6400,7 +6482,7 @@ data_per_region = { }, ["ZR Fairy Grotto"] = { ["scene"] = "ZR Fairy Grotto", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.GROTTO, ["exits"] = { ["Zora River"] = { ["child_access"] = function() @@ -6414,7 +6496,7 @@ data_per_region = { }, ["ZR Storms Grotto"] = { ["scene"] = "ZR Storms Grotto", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.GROTTO, ["locations"] = { ["ZR Deku Scrubs Grotto"] = { ["child_access"] = function() @@ -6438,7 +6520,7 @@ data_per_region = { }, ["LH Grotto"] = { ["scene"] = "LH Grotto", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.GROTTO, ["locations"] = { ["LH Deku Scrubs Grotto"] = { ["child_access"] = function() @@ -6462,7 +6544,7 @@ data_per_region = { }, ["Colossus Grotto"] = { ["scene"] = "Colossus Grotto", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.GROTTO, ["locations"] = { ["Colossus Deku Scrubs Grotto"] = { ["child_access"] = function() @@ -6486,7 +6568,7 @@ data_per_region = { }, ["GV Octorok Grotto"] = { ["scene"] = "GV Octorok Grotto", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.GROTTO, ["exits"] = { ["GV Grotto Ledge"] = { ["child_access"] = function() @@ -6500,7 +6582,7 @@ data_per_region = { }, ["GV Storms Grotto"] = { ["scene"] = "GV Storms Grotto", - ["interior"] = true, + ["pool"] = ER_POOL_TYPES.GROTTO, ["locations"] = { ["GV Deku Scrubs Grotto"] = { ["child_access"] = function() @@ -6524,7 +6606,7 @@ data_per_region = { }, ["Bottom of the Well Split"] = { ["scene"] = "Bottom of the Well", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["exits"] = { ["Bottom of the Well"] = { ["child_access"] = function() @@ -6558,7 +6640,7 @@ data_per_region = { }, ["Bottom of the Well"] = { ["scene"] = "Bottom of the Well", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["exits"] = { ["Kakariko Village"] = { ["child_access"] = function() @@ -6583,7 +6665,7 @@ data_per_region = { }, ["Bottom of the Well Main Area"] = { ["scene"] = "Bottom of the Well", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Bottom of the Well Front Left Fake Wall Chest"] = { ["child_access"] = function() @@ -6852,7 +6934,7 @@ data_per_region = { }, ["Bottom of the Well MQ"] = { ["scene"] = "Bottom of the Well", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["exits"] = { ["Kakariko Village"] = { ["child_access"] = function() @@ -6874,7 +6956,7 @@ data_per_region = { }, ["Bottom of the Well MQ Perimeter"] = { ["scene"] = "Bottom of the Well", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Bottom of the Well MQ Compass Chest"] = { ["child_access"] = function() @@ -6957,7 +7039,7 @@ data_per_region = { }, ["Bottom of the Well MQ Middle"] = { ["scene"] = "Bottom of the Well", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Bottom of the Well MQ Map Chest"] = { ["child_access"] = function() @@ -7012,7 +7094,7 @@ data_per_region = { }, ["Deku Tree Split"] = { ["scene"] = "Deku Tree", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["exits"] = { ["Deku Tree Lobby"] = { ["child_access"] = function() @@ -7046,7 +7128,7 @@ data_per_region = { }, ["Deku Tree Lobby"] = { ["scene"] = "Deku Tree", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Deku Tree Map Chest"] = { ["child_access"] = function() @@ -7200,7 +7282,7 @@ data_per_region = { }, ["Deku Tree Slingshot Room"] = { ["scene"] = "Deku Tree", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Deku Tree Slingshot Room Chests"] = { ["child_access"] = function() @@ -7224,7 +7306,7 @@ data_per_region = { }, ["Deku Tree Basement Backroom"] = { ["scene"] = "Deku Tree", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Deku Tree GS Basement Back Room"] = { ["child_access"] = function() @@ -7266,7 +7348,7 @@ data_per_region = { }, ["Deku Tree Boss Room"] = { ["scene"] = "Deku Tree", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Queen Gohma"] = { ["child_access"] = function() @@ -7296,7 +7378,7 @@ data_per_region = { }, ["Deku Tree MQ Lobby"] = { ["scene"] = "Deku Tree", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Deku Tree MQ Map Chest"] = { ["child_access"] = function() @@ -7457,7 +7539,7 @@ data_per_region = { }, ["Deku Tree MQ Compass Room"] = { ["scene"] = "Deku Tree", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Deku Tree MQ Compass Chest"] = { ["child_access"] = function() @@ -7512,7 +7594,7 @@ data_per_region = { }, ["Deku Tree MQ Basement Water Room Front"] = { ["scene"] = "Deku Tree", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Deku Tree MQ Before Spinning Log Chest"] = { ["child_access"] = function() @@ -7550,7 +7632,7 @@ data_per_region = { }, ["Deku Tree MQ Basement Water Room Back"] = { ["scene"] = "Deku Tree", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Deku Tree MQ After Spinning Log Chest"] = { ["child_access"] = function() @@ -7605,7 +7687,7 @@ data_per_region = { }, ["Deku Tree MQ Basement Back Room"] = { ["scene"] = "Deku Tree", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Deku Tree MQ GS Basement Graves Room"] = { ["child_access"] = function() @@ -7680,7 +7762,7 @@ data_per_region = { }, ["Deku Tree MQ Basement Ledge"] = { ["scene"] = "Deku Tree", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Deku Tree MQ Deku Scrub"] = { ["child_access"] = function() @@ -7737,7 +7819,7 @@ data_per_region = { }, ["Dodongos Cavern Split"] = { ["scene"] = "Dodongos Cavern", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["exits"] = { ["Dodongos Cavern Beginning"] = { ["child_access"] = function() @@ -7771,7 +7853,7 @@ data_per_region = { }, ["Dodongos Cavern Beginning"] = { ["scene"] = "Dodongos Cavern", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["exits"] = { ["Death Mountain"] = { ["child_access"] = function() @@ -7804,7 +7886,7 @@ data_per_region = { }, ["Dodongos Cavern Lobby"] = { ["scene"] = "Dodongos Cavern", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Dodongos Cavern Map Chest"] = { ["child_access"] = function() @@ -7894,7 +7976,7 @@ data_per_region = { }, ["Dodongos Cavern Staircase Room"] = { ["scene"] = "Dodongos Cavern", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Dodongos Cavern Compass Chest"] = { ["child_access"] = function() @@ -7970,7 +8052,7 @@ data_per_region = { }, ["Dodongos Cavern Climb"] = { ["scene"] = "Dodongos Cavern", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Dodongos Cavern Bomb Flower Platform Chest"] = { ["child_access"] = function() @@ -8028,7 +8110,7 @@ data_per_region = { }, ["Dodongos Cavern Far Bridge"] = { ["scene"] = "Dodongos Cavern", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Dodongos Cavern Bomb Bag Chest"] = { ["child_access"] = function() @@ -8088,7 +8170,7 @@ data_per_region = { }, ["Dodongos Cavern Boss Area"] = { ["scene"] = "Dodongos Cavern", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Dodongos Cavern Boss Room Chest"] = { ["child_access"] = function() @@ -8136,7 +8218,7 @@ data_per_region = { }, ["Dodongos Cavern MQ Beginning"] = { ["scene"] = "Dodongos Cavern", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["exits"] = { ["Death Mountain"] = { ["child_access"] = function() @@ -8169,7 +8251,7 @@ data_per_region = { }, ["Dodongos Cavern MQ Lobby"] = { ["scene"] = "Dodongos Cavern", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Dodongos Cavern MQ Map Chest"] = { ["child_access"] = function() @@ -8363,7 +8445,7 @@ data_per_region = { }, ["Dodongos Cavern MQ Lower Right Side"] = { ["scene"] = "Dodongos Cavern", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Dodongos Cavern MQ Deku Scrub Side Room Near Lower Lizalfos"] = { ["child_access"] = function() @@ -8400,7 +8482,7 @@ data_per_region = { }, ["Dodongos Cavern MQ Bomb Bag Area"] = { ["scene"] = "Dodongos Cavern", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Dodongos Cavern MQ Bomb Bag Chest"] = { ["child_access"] = function() @@ -8457,7 +8539,7 @@ data_per_region = { }, ["Dodongos Cavern MQ Boss Area"] = { ["scene"] = "Dodongos Cavern", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Dodongos Cavern MQ Under Grave Chest"] = { ["child_access"] = function() @@ -8503,7 +8585,7 @@ data_per_region = { }, ["Fire Temple Split"] = { ["scene"] = "Fire Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["exits"] = { ["Fire Temple Lower"] = { ["child_access"] = function() @@ -8537,7 +8619,7 @@ data_per_region = { }, ["Fire Temple Lower"] = { ["scene"] = "Fire Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Fire Temple Near Boss Chest"] = { ["child_access"] = function() @@ -8651,7 +8733,7 @@ data_per_region = { }, ["Fire Temple Big Lava Room"] = { ["scene"] = "Fire Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Fire Temple Big Lava Room Lower Open Door Chest"] = { ["child_access"] = function() @@ -8714,7 +8796,7 @@ data_per_region = { }, ["Fire Temple Middle"] = { ["scene"] = "Fire Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Fire Temple Boulder Maze Lower Chest"] = { ["child_access"] = function() @@ -8886,7 +8968,7 @@ data_per_region = { }, ["Fire Temple Upper"] = { ["scene"] = "Fire Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Fire Temple Highest Goron Chest"] = { ["child_access"] = function() @@ -8916,7 +8998,7 @@ data_per_region = { }, ["Fire Temple MQ Lower"] = { ["scene"] = "Fire Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Fire Temple MQ Map Room Side Chest"] = { ["child_access"] = function() @@ -9020,7 +9102,7 @@ data_per_region = { }, ["Fire MQ Lower Locked Door"] = { ["scene"] = "Fire Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Fire Temple MQ Megaton Hammer Chest"] = { ["child_access"] = function() @@ -9048,7 +9130,7 @@ data_per_region = { }, ["Fire MQ Big Lava Room"] = { ["scene"] = "Fire Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Fire Temple MQ Boss Key Chest"] = { ["child_access"] = function() @@ -9113,7 +9195,7 @@ data_per_region = { }, ["Fire MQ Lower Maze"] = { ["scene"] = "Fire Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Fire Temple MQ Lizalfos Maze Lower Chest"] = { ["child_access"] = function() @@ -9161,7 +9243,7 @@ data_per_region = { }, ["Fire MQ Upper Maze"] = { ["scene"] = "Fire Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Fire Temple MQ Lizalfos Maze Upper Chest"] = { ["child_access"] = function() @@ -9215,7 +9297,7 @@ data_per_region = { }, ["Fire Temple MQ Upper"] = { ["scene"] = "Fire Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Fire Temple MQ Freestanding Key"] = { ["child_access"] = function() @@ -9287,7 +9369,7 @@ data_per_region = { }, ["Fire MQ Boss Room"] = { ["scene"] = "Fire Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Volvagia"] = { ["child_access"] = function() @@ -9301,7 +9383,7 @@ data_per_region = { }, ["Forest Temple Split"] = { ["scene"] = "Forest Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["exits"] = { ["Forest Temple Lobby"] = { ["child_access"] = function() @@ -9335,7 +9417,7 @@ data_per_region = { }, ["Forest Temple Lobby"] = { ["scene"] = "Forest Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Forest Temple First Room Chest"] = { ["child_access"] = function() @@ -9460,7 +9542,7 @@ data_per_region = { }, ["Forest Temple NW Outdoors"] = { ["scene"] = "Forest Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Forest Temple GS Level Island Courtyard"] = { ["child_access"] = function() @@ -9512,7 +9594,7 @@ data_per_region = { }, ["Forest Temple NE Outdoors"] = { ["scene"] = "Forest Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Forest Temple Raised Island Courtyard Chest"] = { ["child_access"] = function() @@ -9602,7 +9684,7 @@ data_per_region = { }, ["Forest Temple Outdoors High Balconies"] = { ["scene"] = "Forest Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Forest Temple Well Chest"] = { ["child_access"] = function() @@ -9655,7 +9737,7 @@ data_per_region = { }, ["Forest Temple Falling Room"] = { ["scene"] = "Forest Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Forest Temple Falling Ceiling Room Chest"] = { ["child_access"] = function() @@ -9679,7 +9761,7 @@ data_per_region = { }, ["Forest Temple Block Push Room"] = { ["scene"] = "Forest Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Forest Temple Eye Switch Chest"] = { ["child_access"] = function() @@ -9739,7 +9821,7 @@ data_per_region = { }, ["Forest Temple Straightened Hall"] = { ["scene"] = "Forest Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Forest Temple Boss Key Chest"] = { ["child_access"] = function() @@ -9763,7 +9845,7 @@ data_per_region = { }, ["Forest Temple Outside Upper Ledge"] = { ["scene"] = "Forest Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Forest Temple Floormaster Chest"] = { ["child_access"] = function() @@ -9787,7 +9869,7 @@ data_per_region = { }, ["Forest Temple Bow Region"] = { ["scene"] = "Forest Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Forest Temple Bow Chest"] = { ["child_access"] = function() @@ -9836,7 +9918,7 @@ data_per_region = { }, ["Forest Temple Boss Region"] = { ["scene"] = "Forest Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Forest Temple Basement Chest"] = { ["child_access"] = function() @@ -9884,7 +9966,7 @@ data_per_region = { }, ["Forest Temple MQ Lobby"] = { ["scene"] = "Forest Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Forest Temple MQ First Room Chest"] = { ["child_access"] = function() @@ -9952,7 +10034,7 @@ data_per_region = { }, ["Forest Temple MQ Central Area"] = { ["scene"] = "Forest Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Forest Temple MQ Wolfos Chest"] = { ["child_access"] = function() @@ -10032,21 +10114,13 @@ data_per_region = { return AccessibilityLevel.None end, ["adult_access"] = function() - local hb = AccessibilityLevel.None if has("hoverboots") then if has("logic_forest_mq_hallway_switch_jumpslash") then return AccessibilityLevel.Normal end - hb = AccessibilityLevel.SequenceBreak - end - local hs = AccessibilityLevel.None - if has("hookshot") then - if has("logic_forest_mq_hallway_switch_hookshot") then - return AccessibilityLevel.Normal - end - hs = AccessibilityLevel.SequenceBreak + return AccessibilityLevel.SequenceBreak end - return or_accessibility(hb, hs) + return AccessibilityLevel.None end }, ["Forest Temple MQ Boss Region"] = { @@ -10061,7 +10135,7 @@ data_per_region = { }, ["Forest Temple MQ After Block Puzzle"] = { ["scene"] = "Forest Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Forest Temple MQ Boss Key Chest"] = { ["child_access"] = function() @@ -10124,7 +10198,7 @@ data_per_region = { }, ["Forest Temple MQ Outdoor Ledge"] = { ["scene"] = "Forest Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Forest Temple MQ Redead Chest"] = { ["child_access"] = function() @@ -10148,7 +10222,7 @@ data_per_region = { }, ["Forest Temple MQ NW Outdoors"] = { ["scene"] = "Forest Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Forest Temple MQ GS Level Island Courtyard"] = { ["child_access"] = function() @@ -10195,7 +10269,7 @@ data_per_region = { }, ["Forest Temple MQ NE Outdoors"] = { ["scene"] = "Forest Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Forest Temple MQ Well Chest"] = { ["child_access"] = function() @@ -10287,7 +10361,7 @@ data_per_region = { }, ["Forest Temple MQ Outdoors Top Ledges"] = { ["scene"] = "Forest Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Forest Temple MQ Raised Island Courtyard Upper Chest"] = { ["child_access"] = function() @@ -10325,7 +10399,7 @@ data_per_region = { }, ["Forest Temple MQ NE Outdoors Ledge"] = { ["scene"] = "Forest Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Forest Temple MQ Raised Island Courtyard Lower Chest"] = { ["child_access"] = function() @@ -10363,7 +10437,7 @@ data_per_region = { }, ["Forest Temple MQ Bow Region"] = { ["scene"] = "Forest Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Forest Temple MQ Bow Chest"] = { ["child_access"] = function() @@ -10412,7 +10486,7 @@ data_per_region = { }, ["Forest Temple MQ Falling Room"] = { ["scene"] = "Forest Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Forest Temple MQ Falling Ceiling Room Chest"] = { ["child_access"] = function() @@ -10436,7 +10510,7 @@ data_per_region = { }, ["Forest Temple MQ Boss Region"] = { ["scene"] = "Forest Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Forest Temple MQ Basement Chest"] = { ["child_access"] = function() @@ -10464,7 +10538,7 @@ data_per_region = { }, ["Ganons Castle Split"] = { ["scene"] = "Ganons Castle", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["exits"] = { ["Ganons Castle Lobby"] = { ["child_access"] = function() @@ -10498,7 +10572,7 @@ data_per_region = { }, ["Ganons Castle Lobby"] = { ["scene"] = "Ganons Castle", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["exits"] = { ["Castle Grounds"] = { ["child_access"] = function() @@ -10582,7 +10656,7 @@ data_per_region = { }, ["Ganons Castle Deku Scrubs"] = { ["scene"] = "Ganons Castle", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Ganons Castle Deku Scrubs"] = { ["child_access"] = function() @@ -10596,7 +10670,7 @@ data_per_region = { }, ["Ganons Castle Forest Trial"] = { ["scene"] = "Ganons Castle", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Forest Trial Clear"] = { ["child_access"] = function() @@ -10621,7 +10695,7 @@ data_per_region = { }, ["Ganons Castle Fire Trial"] = { ["scene"] = "Ganons Castle", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Fire Trial Clear"] = { ["child_access"] = function() @@ -10639,7 +10713,7 @@ data_per_region = { }, ["Ganons Castle Water Trial"] = { ["scene"] = "Ganons Castle", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Water Trial Clear"] = { ["child_access"] = function() @@ -10663,7 +10737,7 @@ data_per_region = { }, ["Ganons Castle Shadow Trial"] = { ["scene"] = "Ganons Castle", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Shadow Trial Clear"] = { ["child_access"] = function() @@ -10721,7 +10795,7 @@ data_per_region = { }, ["Ganons Castle Spirit Trial"] = { ["scene"] = "Ganons Castle", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Spirit Trial Clear"] = { ["child_access"] = function() @@ -10765,7 +10839,7 @@ data_per_region = { }, ["Ganons Castle Light Trial"] = { ["scene"] = "Ganons Castle", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Light Trial Clear"] = { ["child_access"] = function() @@ -10815,7 +10889,7 @@ data_per_region = { }, ["Ganons Castle Tower"] = { ["scene"] = "Ganons Castle", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Ganons Tower Boss Key Chest"] = { ["child_access"] = function() @@ -10829,7 +10903,7 @@ data_per_region = { }, ["Ganons Castle MQ Lobby"] = { ["scene"] = "Ganons Castle", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["exits"] = { ["Castle Grounds"] = { ["child_access"] = function() @@ -10913,7 +10987,7 @@ data_per_region = { }, ["Ganons Castle MQ Deku Scrubs"] = { ["scene"] = "Ganons Castle", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Ganons Castle MQ Deku Scrubs"] = { ["child_access"] = function() @@ -10927,7 +11001,7 @@ data_per_region = { }, ["Ganons Castle MQ Forest Trial"] = { ["scene"] = "Ganons Castle", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["MQ Forest Trial Clear"] = { ["child_access"] = function() @@ -10973,7 +11047,7 @@ data_per_region = { }, ["Ganons Castle MQ Fire Trial"] = { ["scene"] = "Ganons Castle", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["MQ Fire Trial Clear"] = { ["child_access"] = function() @@ -10994,7 +11068,7 @@ data_per_region = { }, ["Ganons Castle MQ Water Trial"] = { ["scene"] = "Ganons Castle", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["MQ Water Trial Clear"] = { ["child_access"] = function() @@ -11023,7 +11097,7 @@ data_per_region = { }, ["Ganons Castle MQ Shadow Trial"] = { ["scene"] = "Ganons Castle", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["MQ Shadow Trial Clear"] = { ["child_access"] = function() @@ -11086,7 +11160,7 @@ data_per_region = { }, ["Ganons Castle MQ Spirit Trial"] = { ["scene"] = "Ganons Castle", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["MQ Spirit Trial Clear"] = { ["child_access"] = function() @@ -11146,7 +11220,7 @@ data_per_region = { }, ["Ganons Castle MQ Light Trial"] = { ["scene"] = "Ganons Castle", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["MQ Light Trial Clear"] = { ["child_access"] = function() @@ -11183,7 +11257,7 @@ data_per_region = { }, ["Ganons Castle MQ Tower"] = { ["scene"] = "Ganons Castle", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Ganons Tower Boss Key Chest"] = { ["child_access"] = function() @@ -11195,11 +11269,11 @@ data_per_region = { } } }, - ["Gerudo Training Grounds Split"] = { - ["scene"] = "Gerudo Training Grounds", - ["dungeon"] = true, + ["Gerudo Training Ground Split"] = { + ["scene"] = "Gerudo Training Ground", + ["pool"] = ER_POOL_TYPES.DUNGEON, ["exits"] = { - ["Gerudo Training Grounds Lobby"] = { + ["Gerudo Training Ground Lobby"] = { ["child_access"] = function() if has("gtg_reg") then return AccessibilityLevel.Normal @@ -11213,7 +11287,7 @@ data_per_region = { return AccessibilityLevel.None end }, - ["Gerudo Training Grounds MQ Lobby"] = { + ["Gerudo Training Ground MQ Lobby"] = { ["child_access"] = function() if has("gtg_mq") then return AccessibilityLevel.Normal @@ -11229,11 +11303,11 @@ data_per_region = { } } }, - ["Gerudo Training Grounds Lobby"] = { - ["scene"] = "Gerudo Training Grounds", - ["dungeon"] = true, + ["Gerudo Training Ground Lobby"] = { + ["scene"] = "Gerudo Training Ground", + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { - ["Gerudo Training Grounds Lobby Chests"] = { + ["Gerudo Training Ground Lobby Chests"] = { ["child_access"] = function() if has("sling") then return AccessibilityLevel.Normal @@ -11247,7 +11321,7 @@ data_per_region = { return AccessibilityLevel.None end }, - ["Gerudo Training Grounds Stalfos Chest"] = { + ["Gerudo Training Ground Stalfos Chest"] = { ["child_access"] = function() if has("sword1") then return AccessibilityLevel.Normal @@ -11260,7 +11334,7 @@ data_per_region = { return AccessibilityLevel.Normal end }, - ["Gerudo Training Grounds Beamos Chest"] = { + ["Gerudo Training Ground Beamos Chest"] = { ["child_access"] = function() local weapon = AccessibilityLevel.None if has("sword1") then @@ -11284,7 +11358,7 @@ data_per_region = { return AccessibilityLevel.Normal end }, - ["Gerudo Training Grounds Heavy Block Room"] = { + ["Gerudo Training Ground Heavy Block Room"] = { ["child_access"] = function() if has("sword1") and has("logic_gtg_without_hookshot") then return AccessibilityLevel.Normal @@ -11300,10 +11374,10 @@ data_per_region = { return AccessibilityLevel.SequenceBreak end }, - ["Gerudo Training Grounds Lava Room"] = { + ["Gerudo Training Ground Lava Room"] = { ["child_access"] = function() local explo = has_explosives() - if has("sword1") or (access_region("Gerudo Training Grounds Lobby", "adult") == AccessibilityLevel.Normal) then + if has("sword1") or (access_region("Gerudo Training Ground Lobby", "adult") == AccessibilityLevel.Normal) then return explo end if has("sticks") and explo ~= AccessibilityLevel.None then @@ -11315,7 +11389,7 @@ data_per_region = { return has_explosives() end }, - ["Gerudo Training Grounds Central Maze"] = { + ["Gerudo Training Ground Central Maze"] = { ["child_access"] = function() return AccessibilityLevel.Normal end, @@ -11325,11 +11399,11 @@ data_per_region = { } } }, - ["Gerudo Training Grounds Central Maze"] = { - ["scene"] = "Gerudo Training Grounds", - ["dungeon"] = true, + ["Gerudo Training Ground Central Maze"] = { + ["scene"] = "Gerudo Training Ground", + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { - ["Gerudo Training Grounds Hidden Ceiling Chest"] = { + ["Gerudo Training Ground Hidden Ceiling Chest"] = { ["child_access"] = function() local lot = (has("logic_lens_gtg") or (has("lens") and has("magic"))) and AccessibilityLevel.Normal or @@ -11355,7 +11429,7 @@ data_per_region = { return and_accessibility(keys, lot) end }, - ["Gerudo Training Grounds Maze Path First Chest"] = { + ["Gerudo Training Ground Maze Path First Chest"] = { ["child_access"] = function() if has("gtg_small_keys", 4) then return AccessibilityLevel.Normal @@ -11373,7 +11447,7 @@ data_per_region = { return AccessibilityLevel.None end }, - ["Gerudo Training Grounds Maze Path Second Chest"] = { + ["Gerudo Training Ground Maze Path Second Chest"] = { ["child_access"] = function() if has("gtg_small_keys", 6) then return AccessibilityLevel.Normal @@ -11391,7 +11465,7 @@ data_per_region = { return AccessibilityLevel.None end }, - ["Gerudo Training Grounds Maze Path Third Chest"] = { + ["Gerudo Training Ground Maze Path Third Chest"] = { ["child_access"] = function() if has("gtg_small_keys", 7) then return AccessibilityLevel.Normal @@ -11409,7 +11483,7 @@ data_per_region = { return AccessibilityLevel.None end }, - ["Gerudo Training Grounds Maze Path Final Chest"] = { + ["Gerudo Training Ground Maze Path Final Chest"] = { ["child_access"] = function() if has("gtg_small_keys", 9) then return AccessibilityLevel.Normal @@ -11429,7 +11503,7 @@ data_per_region = { } }, ["exits"] = { - ["Gerudo Training Grounds Central Maze Right"] = { + ["Gerudo Training Ground Central Maze Right"] = { ["child_access"] = function() if has("gtg_small_keys", 9) then return AccessibilityLevel.Normal @@ -11449,11 +11523,11 @@ data_per_region = { } } }, - ["Gerudo Training Grounds Central Maze Right"] = { - ["scene"] = "Gerudo Training Grounds", - ["dungeon"] = true, + ["Gerudo Training Ground Central Maze Right"] = { + ["scene"] = "Gerudo Training Ground", + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { - ["Gerudo Training Grounds Maze Right Chests"] = { + ["Gerudo Training Ground Maze Right Chests"] = { ["child_access"] = function() return AccessibilityLevel.Normal end, @@ -11461,7 +11535,7 @@ data_per_region = { return AccessibilityLevel.Normal end }, - ["Gerudo Training Grounds Freestanding Key"] = { + ["Gerudo Training Ground Freestanding Key"] = { ["child_access"] = function() return AccessibilityLevel.Normal end, @@ -11471,7 +11545,7 @@ data_per_region = { } }, ["exits"] = { - ["Gerudo Training Grounds Hammer Room"] = { + ["Gerudo Training Ground Hammer Room"] = { ["child_access"] = function() return AccessibilityLevel.None end, @@ -11482,7 +11556,7 @@ data_per_region = { return AccessibilityLevel.None end }, - ["Gerudo Training Grounds Lava Room"] = { + ["Gerudo Training Ground Lava Room"] = { ["child_access"] = function() return AccessibilityLevel.Normal end, @@ -11492,11 +11566,11 @@ data_per_region = { } } }, - ["Gerudo Training Grounds Lava Room"] = { - ["scene"] = "Gerudo Training Grounds", - ["dungeon"] = true, + ["Gerudo Training Ground Lava Room"] = { + ["scene"] = "Gerudo Training Ground", + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { - ["Gerudo Training Grounds Underwater Silver Rupee Chest"] = { + ["Gerudo Training Ground Underwater Silver Rupee Chest"] = { ["child_access"] = function() return AccessibilityLevel.None end, @@ -11509,7 +11583,7 @@ data_per_region = { } }, ["exits"] = { - ["Gerudo Training Grounds Central Maze Right"] = { + ["Gerudo Training Ground Central Maze Right"] = { ["child_access"] = function() return AccessibilityLevel.Normal end, @@ -11520,7 +11594,7 @@ data_per_region = { return AccessibilityLevel.None end }, - ["Gerudo Training Grounds Hammer Room"] = { + ["Gerudo Training Ground Hammer Room"] = { ["child_access"] = function() return AccessibilityLevel.None end, @@ -11533,11 +11607,11 @@ data_per_region = { } } }, - ["Gerudo Training Grounds Hammer Room"] = { - ["scene"] = "Gerudo Training Grounds", - ["dungeon"] = true, + ["Gerudo Training Ground Hammer Room"] = { + ["scene"] = "Gerudo Training Ground", + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { - ["Gerudo Training Grounds Hammer Room Clear Chest"] = { + ["Gerudo Training Ground Hammer Room Clear Chest"] = { ["child_access"] = function() return AccessibilityLevel.Normal end, @@ -11545,7 +11619,7 @@ data_per_region = { return AccessibilityLevel.Normal end }, - ["Gerudo Training Grounds Hammer Room Switch Chest"] = { + ["Gerudo Training Ground Hammer Room Switch Chest"] = { ["child_access"] = function() return AccessibilityLevel.None end, @@ -11558,7 +11632,7 @@ data_per_region = { } }, ["exits"] = { - ["Gerudo Training Grounds Eye Statue Lower"] = { + ["Gerudo Training Ground Eye Statue Lower"] = { ["child_access"] = function() return AccessibilityLevel.None end, @@ -11569,7 +11643,7 @@ data_per_region = { return AccessibilityLevel.None end }, - ["Gerudo Training Grounds Lava Room"] = { + ["Gerudo Training Ground Lava Room"] = { ["child_access"] = function() return AccessibilityLevel.Normal end, @@ -11579,11 +11653,11 @@ data_per_region = { } } }, - ["Gerudo Training Grounds Eye Statue Lower"] = { - ["scene"] = "Gerudo Training Grounds", - ["dungeon"] = true, + ["Gerudo Training Ground Eye Statue Lower"] = { + ["scene"] = "Gerudo Training Ground", + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { - ["Gerudo Training Grounds Eye Statue Chest"] = { + ["Gerudo Training Ground Eye Statue Chest"] = { ["child_access"] = function() return AccessibilityLevel.None end, @@ -11596,7 +11670,7 @@ data_per_region = { } }, ["exits"] = { - ["Gerudo Training Grounds Hammer Room"] = { + ["Gerudo Training Ground Hammer Room"] = { ["child_access"] = function() return AccessibilityLevel.Normal end, @@ -11606,11 +11680,11 @@ data_per_region = { } } }, - ["Gerudo Training Grounds Eye Statue Upper"] = { - ["scene"] = "Gerudo Training Grounds", - ["dungeon"] = true, + ["Gerudo Training Ground Eye Statue Upper"] = { + ["scene"] = "Gerudo Training Ground", + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { - ["Gerudo Training Grounds Near Scarecrow Chest"] = { + ["Gerudo Training Ground Near Scarecrow Chest"] = { ["child_access"] = function() return AccessibilityLevel.None end, @@ -11623,7 +11697,7 @@ data_per_region = { } }, ["exits"] = { - ["Gerudo Training Grounds Eye Statue Lower"] = { + ["Gerudo Training Ground Eye Statue Lower"] = { ["child_access"] = function() return AccessibilityLevel.Normal end, @@ -11633,11 +11707,11 @@ data_per_region = { } } }, - ["Gerudo Training Grounds Heavy Block Room"] = { - ["scene"] = "Gerudo Training Grounds", - ["dungeon"] = true, + ["Gerudo Training Ground Heavy Block Room"] = { + ["scene"] = "Gerudo Training Ground", + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { - ["Gerudo Training Grounds Before Heavy Block Chest"] = { + ["Gerudo Training Ground Before Heavy Block Chest"] = { ["child_access"] = function() return AccessibilityLevel.Normal end, @@ -11647,7 +11721,7 @@ data_per_region = { } }, ["exits"] = { - ["Gerudo Training Grounds Eye Statue Upper"] = { + ["Gerudo Training Ground Eye Statue Upper"] = { ["child_access"] = function() return AccessibilityLevel.None end, @@ -11672,7 +11746,7 @@ data_per_region = { return and_accessibility(wall, climb) end }, - ["Gerudo Training Grounds Like Like Room"] = { + ["Gerudo Training Ground Like Like Room"] = { ["child_access"] = function() return AccessibilityLevel.None end, @@ -11702,11 +11776,11 @@ data_per_region = { } } }, - ["Gerudo Training Grounds Like Like Room"] = { - ["scene"] = "Gerudo Training Grounds", - ["dungeon"] = true, + ["Gerudo Training Ground Like Like Room"] = { + ["scene"] = "Gerudo Training Ground", + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { - ["Gerudo Training Grounds Heavy Block Chests"] = { + ["Gerudo Training Ground Heavy Block Chests"] = { ["child_access"] = function() return AccessibilityLevel.Normal end, @@ -11716,11 +11790,11 @@ data_per_region = { } } }, - ["Gerudo Training Grounds MQ Lobby"] = { - ["scene"] = "Gerudo Training Grounds", - ["dungeon"] = true, + ["Gerudo Training Ground MQ Lobby"] = { + ["scene"] = "Gerudo Training Ground", + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { - ["Gerudo Training Grounds MQ Lobby Chests"] = { + ["Gerudo Training Ground MQ Lobby Chests"] = { ["child_access"] = function() return AccessibilityLevel.Normal end, @@ -11728,7 +11802,7 @@ data_per_region = { return AccessibilityLevel.Normal end }, - ["Gerudo Training Grounds MQ Hidden Ceiling Chest"] = { + ["Gerudo Training Ground MQ Hidden Ceiling Chest"] = { ["child_access"] = function() if has("logic_lens_gtg_mq") or (has("lens") and has("magic")) then return AccessibilityLevel.Normal @@ -11742,7 +11816,7 @@ data_per_region = { return AccessibilityLevel.SequenceBreak end }, - ["Gerudo Training Grounds MQ Maze Path First Chest"] = { + ["Gerudo Training Ground MQ Maze Path First Chest"] = { ["child_access"] = function() return AccessibilityLevel.Normal end, @@ -11750,7 +11824,7 @@ data_per_region = { return AccessibilityLevel.Normal end }, - ["Gerudo Training Grounds MQ Maze Path Second Chest"] = { + ["Gerudo Training Ground MQ Maze Path Second Chest"] = { ["child_access"] = function() return AccessibilityLevel.Normal end, @@ -11758,7 +11832,7 @@ data_per_region = { return AccessibilityLevel.Normal end }, - ["Gerudo Training Grounds MQ Maze Path Third Chest"] = { + ["Gerudo Training Ground MQ Maze Path Third Chest"] = { ["child_access"] = function() if has("gtg_small_keys", 1) then return AccessibilityLevel.Normal @@ -11782,13 +11856,13 @@ data_per_region = { return AccessibilityLevel.Normal end }, - ["Gerudo Training Grounds MQ Left Side"] = { + ["Gerudo Training Ground MQ Left Side"] = { ["child_access"] = function() if has("dinsfire") and has("magic") then return AccessibilityLevel.Normal end if has("bow") and has("firearrow") and has("magic") then - return access_region("Gerudo Training Grounds MQ Lobby", "adult") + return access_region("Gerudo Training Ground MQ Lobby", "adult") end return AccessibilityLevel.None end, @@ -11796,13 +11870,13 @@ data_per_region = { return has_fire() end }, - ["Gerudo Training Grounds MQ Right Side"] = { + ["Gerudo Training Ground MQ Right Side"] = { ["child_access"] = function() if has("sling") then return AccessibilityLevel.Normal end if has("bow") then - return access_region("Gerudo Training Grounds MQ Lobby", "adult") + return access_region("Gerudo Training Ground MQ Lobby", "adult") end return AccessibilityLevel.None end, @@ -11811,18 +11885,18 @@ data_per_region = { return AccessibilityLevel.Normal end if has("sling") then - return access_region("Gerudo Training Grounds MQ Lobby", "child") + return access_region("Gerudo Training Ground MQ Lobby", "child") end return AccessibilityLevel.None end } } }, - ["Gerudo Training Grounds MQ Right Side"] = { - ["scene"] = "Gerudo Training Grounds", - ["dungeon"] = true, + ["Gerudo Training Ground MQ Right Side"] = { + ["scene"] = "Gerudo Training Ground", + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { - ["Gerudo Training Grounds MQ Dinolfos Chest"] = { + ["Gerudo Training Ground MQ Dinolfos Chest"] = { ["child_access"] = function() if has("sticks") then return AccessibilityLevel.SequenceBreak @@ -11835,7 +11909,7 @@ data_per_region = { } }, ["exits"] = { - ["Gerudo Training Grounds MQ Underwater"] = { + ["Gerudo Training Ground MQ Underwater"] = { ["child_access"] = function() return AccessibilityLevel.None end, @@ -11848,11 +11922,11 @@ data_per_region = { } } }, - ["Gerudo Training Grounds MQ Underwater"] = { - ["scene"] = "Gerudo Training Grounds", - ["dungeon"] = true, + ["Gerudo Training Ground MQ Underwater"] = { + ["scene"] = "Gerudo Training Ground", + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { - ["Gerudo Training Grounds MQ Underwater Silver Rupee Chest"] = { + ["Gerudo Training Ground MQ Underwater Silver Rupee Chest"] = { ["child_access"] = function() return AccessibilityLevel.None end, @@ -11865,11 +11939,11 @@ data_per_region = { } } }, - ["Gerudo Training Grounds MQ Left Side"] = { - ["scene"] = "Gerudo Training Grounds", - ["dungeon"] = true, + ["Gerudo Training Ground MQ Left Side"] = { + ["scene"] = "Gerudo Training Ground", + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { - ["Gerudo Training Grounds MQ First Iron Knuckle Chest"] = { + ["Gerudo Training Ground MQ First Iron Knuckle Chest"] = { ["child_access"] = function() local weapon = AccessibilityLevel.None if has("sword1") then @@ -11885,7 +11959,7 @@ data_per_region = { } }, ["exits"] = { - ["Gerudo Training Grounds MQ Stalfos Room"] = { + ["Gerudo Training Ground MQ Stalfos Room"] = { ["child_access"] = function() if has("logic_gtg_mq_without_hookshot") then return AccessibilityLevel.Normal @@ -11904,11 +11978,11 @@ data_per_region = { } } }, - ["Gerudo Training Grounds MQ Stalfos Room"] = { - ["scene"] = "Gerudo Training Grounds", - ["dungeon"] = true, + ["Gerudo Training Ground MQ Stalfos Room"] = { + ["scene"] = "Gerudo Training Ground", + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { - ["Gerudo Training Grounds MQ Before Heavy Block Chest"] = { + ["Gerudo Training Ground MQ Before Heavy Block Chest"] = { ["child_access"] = function() if has("sticks") then return AccessibilityLevel.SequenceBreak @@ -11919,7 +11993,7 @@ data_per_region = { return AccessibilityLevel.Normal end }, - ["Gerudo Training Grounds MQ Heavy Block Chest"] = { + ["Gerudo Training Ground MQ Heavy Block Chest"] = { ["child_access"] = function() return AccessibilityLevel.None end, @@ -11932,7 +12006,7 @@ data_per_region = { } }, ["exits"] = { - ["Gerudo Training Grounds MQ Back Areas"] = { + ["Gerudo Training Ground MQ Back Areas"] = { ["child_access"] = function() return AccessibilityLevel.None end, @@ -11956,11 +12030,11 @@ data_per_region = { } } }, - ["Gerudo Training Grounds MQ Back Areas"] = { - ["scene"] = "Gerudo Training Grounds", - ["dungeon"] = true, + ["Gerudo Training Ground MQ Back Areas"] = { + ["scene"] = "Gerudo Training Ground", + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { - ["Gerudo Training Grounds MQ Eye Statue Chest"] = { + ["Gerudo Training Ground MQ Eye Statue Chest"] = { ["child_access"] = function() return AccessibilityLevel.None end, @@ -11971,7 +12045,7 @@ data_per_region = { return AccessibilityLevel.None end }, - ["Gerudo Training Grounds MQ Second Iron Knuckle Chest"] = { + ["Gerudo Training Ground MQ Second Iron Knuckle Chest"] = { ["child_access"] = function() return AccessibilityLevel.Normal end, @@ -11979,7 +12053,7 @@ data_per_region = { return AccessibilityLevel.Normal end }, - ["Gerudo Training Grounds MQ Flame Circle Chest"] = { + ["Gerudo Training Ground MQ Flame Circle Chest"] = { ["child_access"] = function() return has_explosives() end, @@ -11992,7 +12066,7 @@ data_per_region = { } }, ["exits"] = { - ["Gerudo Training Grounds MQ Central Maze Right"] = { + ["Gerudo Training Ground MQ Central Maze Right"] = { ["child_access"] = function() return AccessibilityLevel.None end, @@ -12003,7 +12077,7 @@ data_per_region = { return AccessibilityLevel.None end }, - ["Gerudo Training Grounds MQ Right Side"] = { + ["Gerudo Training Ground MQ Right Side"] = { ["child_access"] = function() return AccessibilityLevel.None end, @@ -12016,11 +12090,11 @@ data_per_region = { } } }, - ["Gerudo Training Grounds MQ Central Maze Right"] = { - ["scene"] = "Gerudo Training Grounds", - ["dungeon"] = true, + ["Gerudo Training Ground MQ Central Maze Right"] = { + ["scene"] = "Gerudo Training Ground", + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { - ["Gerudo Training Grounds MQ Maze Right Chests"] = { + ["Gerudo Training Ground MQ Maze Right Chests"] = { ["child_access"] = function() return AccessibilityLevel.Normal end, @@ -12028,7 +12102,7 @@ data_per_region = { return AccessibilityLevel.Normal end }, - ["Gerudo Training Grounds MQ Ice Arrows Chest"] = { + ["Gerudo Training Ground MQ Ice Arrows Chest"] = { ["child_access"] = function() if has("gtg_small_keys", 3) then return AccessibilityLevel.Normal @@ -12044,7 +12118,7 @@ data_per_region = { } }, ["exits"] = { - ["Gerudo Training Grounds MQ Underwater"] = { + ["Gerudo Training Ground MQ Underwater"] = { ["child_access"] = function() return AccessibilityLevel.None end, @@ -12055,7 +12129,7 @@ data_per_region = { return AccessibilityLevel.None end }, - ["Gerudo Training Grounds MQ Right Side"] = { + ["Gerudo Training Ground MQ Right Side"] = { ["child_access"] = function() return AccessibilityLevel.None end, @@ -12070,7 +12144,7 @@ data_per_region = { }, ["Ice Cavern Split"] = { ["scene"] = "Ice Cavern", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["exits"] = { ["Ice Cavern Beginning"] = { ["child_access"] = function() @@ -12104,7 +12178,7 @@ data_per_region = { }, ["Ice Cavern Beginning"] = { ["scene"] = "Ice Cavern", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["exits"] = { ["ZF Ice Ledge"] = { ["child_access"] = function() @@ -12129,7 +12203,7 @@ data_per_region = { }, ["Ice Cavern"] = { ["scene"] = "Ice Cavern", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Ice Cavern Map Chest"] = { ["child_access"] = function() @@ -12249,7 +12323,7 @@ data_per_region = { }, ["Ice Cavern MQ Beginning"] = { ["scene"] = "Ice Cavern", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["exits"] = { ["ZF Ice Ledge"] = { ["child_access"] = function() @@ -12293,7 +12367,7 @@ data_per_region = { }, ["Ice Cavern MQ Map Room"] = { ["scene"] = "Ice Cavern", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Ice Cavern MQ Map Chest"] = { ["child_access"] = function() @@ -12310,7 +12384,7 @@ data_per_region = { }, ["Ice Cavern MQ Iron Boots Region"] = { ["scene"] = "Ice Cavern", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Ice Cavern MQ Iron Boots Chest"] = { ["child_access"] = function() @@ -12355,7 +12429,7 @@ data_per_region = { }, ["Ice Cavern MQ Compass Room"] = { ["scene"] = "Ice Cavern", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Ice Cavern MQ Compass Chest"] = { ["child_access"] = function() @@ -12388,7 +12462,7 @@ data_per_region = { }, ["Jabu Jabus Belly Split"] = { ["scene"] = "Jabu Jabus Belly", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["exits"] = { ["Jabu Jabus Belly Beginning"] = { ["child_access"] = function() @@ -12422,7 +12496,7 @@ data_per_region = { }, ["Jabu Jabus Belly Beginning"] = { ["scene"] = "Jabu Jabus Belly", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["exits"] = { ["Zoras Fountain"] = { ["child_access"] = function() @@ -12444,7 +12518,7 @@ data_per_region = { }, ["Jabu Jabus Belly Main"] = { ["scene"] = "Jabu Jabus Belly", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Jabu Jabus Belly Boomerang Chest"] = { ["child_access"] = function() @@ -12552,7 +12626,7 @@ data_per_region = { }, ["Jabu Jabus Belly Depths"] = { ["scene"] = "Jabu Jabus Belly", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Jabu Jabus Belly Map Chest"] = { ["child_access"] = function() @@ -12595,7 +12669,7 @@ data_per_region = { }, ["Jabu Jabus Belly Boss Area"] = { ["scene"] = "Jabu Jabus Belly", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Barinade"] = { ["child_access"] = function() @@ -12630,7 +12704,7 @@ data_per_region = { }, ["Jabu Jabus Belly MQ Beginning"] = { ["scene"] = "Jabu Jabus Belly", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Jabu Jabus Belly MQ Map Chest"] = { ["child_access"] = function() @@ -12679,7 +12753,7 @@ data_per_region = { }, ["Jabu Jabus Belly MQ Main"] = { ["scene"] = "Jabu Jabus Belly", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Jabu Jabus Belly MQ Second Room Lower Chest"] = { ["child_access"] = function() @@ -12768,7 +12842,7 @@ data_per_region = { }, ["Jabu Jabus Belly MQ Depths"] = { ["scene"] = "Jabu Jabus Belly", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Jabu Jabus Belly MQ Falling Like Like Room Chest"] = { ["child_access"] = function() @@ -12826,7 +12900,7 @@ data_per_region = { }, ["Jabu Jabus Belly MQ Boss Area"] = { ["scene"] = "Jabu Jabus Belly", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Jabu Jabus Belly MQ Cow"] = { ["child_access"] = function() @@ -12877,7 +12951,7 @@ data_per_region = { }, ["Shadow Temple Split"] = { ["scene"] = "Shadow Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["exits"] = { ["Shadow Temple Entryway"] = { ["child_access"] = function() @@ -12911,7 +12985,7 @@ data_per_region = { }, ["Shadow Temple Entryway"] = { ["scene"] = "Shadow Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["exits"] = { ["Graveyard Warp Pad Region"] = { ["child_access"] = function() @@ -12939,7 +13013,7 @@ data_per_region = { }, ["Shadow Temple Beginning"] = { ["scene"] = "Shadow Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Shadow Temple Map Chest"] = { ["child_access"] = function() @@ -12982,7 +13056,7 @@ data_per_region = { }, ["Shadow Temple First Beamos"] = { ["scene"] = "Shadow Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Shadow Temple Compass Chest"] = { ["child_access"] = function() @@ -13017,7 +13091,7 @@ data_per_region = { }, ["Shadow Temple Huge Pit"] = { ["scene"] = "Shadow Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Shadow Temple Invisible Blades Chests"] = { ["child_access"] = function() @@ -13136,7 +13210,7 @@ data_per_region = { }, ["Shadow Temple Wind Tunnel"] = { ["scene"] = "Shadow Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Shadow Temple Wind Hint Chest"] = { ["child_access"] = function() @@ -13186,7 +13260,7 @@ data_per_region = { }, ["Shadow Temple Beyond Boat"] = { ["scene"] = "Shadow Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Shadow Temple Spike Walls Left Chest"] = { ["child_access"] = function() @@ -13245,7 +13319,7 @@ data_per_region = { }, ["Shadow Temple MQ Entryway"] = { ["scene"] = "Shadow Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["exits"] = { ["Graveyard Warp Pad Region"] = { ["child_access"] = function() @@ -13273,7 +13347,7 @@ data_per_region = { }, ["Shadow Temple MQ Beginning"] = { ["scene"] = "Shadow Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["exits"] = { ["Shadow Temple MQ Entryway"] = { ["child_access"] = function() @@ -13317,7 +13391,7 @@ data_per_region = { }, ["Shadow Temple MQ Dead Hand Area"] = { ["scene"] = "Shadow Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Shadow Temple MQ Compass Chest"] = { ["child_access"] = function() @@ -13342,7 +13416,7 @@ data_per_region = { }, ["Shadow Temple MQ First Beamos"] = { ["scene"] = "Shadow Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Shadow Temple MQ Map Chest"] = { ["child_access"] = function() @@ -13388,7 +13462,7 @@ data_per_region = { }, ["Shadow Temple MQ Upper Huge Pit"] = { ["scene"] = "Shadow Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Shadow Temple MQ Invisible Blades Chests"] = { ["child_access"] = function() @@ -13419,7 +13493,7 @@ data_per_region = { }, ["Shadow Temple MQ Lower Huge Pit"] = { ["scene"] = "Shadow Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Shadow Temple MQ Beamos Silver Rupees Chest"] = { ["child_access"] = function() @@ -13538,7 +13612,7 @@ data_per_region = { }, ["Shadow Temple MQ Wind Tunnel"] = { ["scene"] = "Shadow Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Shadow Temple MQ Wind Hint Chest"] = { ["child_access"] = function() @@ -13593,7 +13667,7 @@ data_per_region = { }, ["Shadow Temple MQ Beyond Boat"] = { ["scene"] = "Shadow Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Bongo Bongo"] = { ["child_access"] = function() @@ -13647,7 +13721,7 @@ data_per_region = { }, ["Shadow Temple MQ Invisible Maze"] = { ["scene"] = "Shadow Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Shadow Temple MQ Spike Walls Left Chest"] = { ["child_access"] = function() @@ -13699,7 +13773,7 @@ data_per_region = { }, ["Spirit Temple Split"] = { ["scene"] = "Spirit Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["exits"] = { ["Spirit Temple Lobby"] = { ["child_access"] = function() @@ -13733,7 +13807,7 @@ data_per_region = { }, ["Spirit Temple Lobby"] = { ["scene"] = "Spirit Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["exits"] = { ["Desert Colossus From Spirit Lobby"] = { ["child_access"] = function() @@ -13766,7 +13840,7 @@ data_per_region = { }, ["Child Spirit Temple"] = { ["scene"] = "Spirit Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Spirit Temple Child Bridge Chest"] = { ["child_access"] = function() @@ -13836,7 +13910,7 @@ data_per_region = { }, ["Child Spirit Before Locked Door"] = { ["scene"] = "Spirit Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["exits"] = { ["Child Spirit Temple Climb"] = { ["child_access"] = function() @@ -13856,7 +13930,7 @@ data_per_region = { }, ["Child Spirit Temple Climb"] = { ["scene"] = "Spirit Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Spirit Temple Child Climb Chests"] = { ["child_access"] = function() @@ -13922,7 +13996,7 @@ data_per_region = { }, ["Early Adult Spirit Temple"] = { ["scene"] = "Spirit Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Spirit Temple Compass Chest"] = { ["child_access"] = function() @@ -13993,7 +14067,7 @@ data_per_region = { }, ["Spirit Temple Central Chamber"] = { ["scene"] = "Spirit Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Spirit Temple Map Chest"] = { ["child_access"] = function() @@ -14237,7 +14311,7 @@ data_per_region = { }, ["Spirit Temple Outdoor Hands"] = { ["scene"] = "Spirit Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Spirit Temple Silver Gauntlets Chest"] = { ["child_access"] = function() @@ -14310,7 +14384,7 @@ data_per_region = { }, ["Spirit Temple Beyond Central Locked Door"] = { ["scene"] = "Spirit Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Spirit Temple Near Four Armos Chest"] = { ["child_access"] = function() @@ -14359,7 +14433,7 @@ data_per_region = { }, ["Spirit Temple Beyond Final Locked Door"] = { ["scene"] = "Spirit Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Spirit Temple Boss Key Chest"] = { ["child_access"] = function() @@ -14401,7 +14475,7 @@ data_per_region = { }, ["Spirit Temple MQ Lobby"] = { ["scene"] = "Spirit Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Spirit Temple MQ Entrance Front Left Chest"] = { ["child_access"] = function() @@ -14476,7 +14550,7 @@ data_per_region = { }, ["Child Spirit Temple MQ"] = { ["scene"] = "Spirit Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Spirit Temple MQ Child Hammer Switch Chest"] = { ["child_access"] = function() @@ -14568,7 +14642,7 @@ data_per_region = { }, ["Adult Spirit Temple MQ"] = { ["scene"] = "Spirit Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Spirit Temple MQ Child Climb South Chest"] = { ["child_access"] = function() @@ -14741,7 +14815,7 @@ data_per_region = { }, ["Spirit Temple MQ Shared"] = { ["scene"] = "Spirit Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Spirit Temple MQ Child Climb North Chest"] = { ["child_access"] = function() @@ -14891,7 +14965,7 @@ data_per_region = { }, ["Lower Adult Spirit Temple MQ"] = { ["scene"] = "Spirit Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Spirit Temple MQ Leever Room Chest"] = { ["child_access"] = function() @@ -14960,7 +15034,7 @@ data_per_region = { }, ["Spirit Temple MQ Boss Area"] = { ["scene"] = "Spirit Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Spirit Temple MQ Mirror Puzzle Invisible Chest"] = { ["child_access"] = function() @@ -14988,7 +15062,7 @@ data_per_region = { }, ["Mirror Shield Hand MQ"] = { ["scene"] = "Spirit Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Spirit Temple MQ Mirror Shield Chest"] = { ["child_access"] = function() @@ -15002,7 +15076,7 @@ data_per_region = { }, ["Silver Gauntlets Hand MQ"] = { ["scene"] = "Spirit Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Spirit Temple MQ Silver Gauntlets Chest"] = { ["child_access"] = function() @@ -15016,7 +15090,7 @@ data_per_region = { }, ["Water Temple Split"] = { ["scene"] = "Water Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["exits"] = { ["Water Temple Lobby"] = { ["child_access"] = function() @@ -15050,7 +15124,7 @@ data_per_region = { }, ["Water Temple Lobby"] = { ["scene"] = "Water Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["exits"] = { ["Lake Hylia"] = { ["child_access"] = function() @@ -15088,7 +15162,7 @@ data_per_region = { }, ["Water Temple Highest Water Level"] = { ["scene"] = "Water Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Morpha"] = { ["child_access"] = function() @@ -15125,7 +15199,7 @@ data_per_region = { }, ["Water Temple Dive"] = { ["scene"] = "Water Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Water Temple Map Chest"] = { ["child_access"] = function() @@ -15363,7 +15437,7 @@ data_per_region = { }, ["Water Temple North Basement"] = { ["scene"] = "Water Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Water Temple Boss Key Chest"] = { ["child_access"] = function() @@ -15401,7 +15475,7 @@ data_per_region = { }, ["Water Temple Cracked Wall"] = { ["scene"] = "Water Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Water Temple Cracked Wall Chest"] = { ["child_access"] = function() @@ -15415,7 +15489,7 @@ data_per_region = { }, ["Water Temple Dragon Statue"] = { ["scene"] = "Water Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Water Temple Dragon Chest"] = { ["child_access"] = function() @@ -15429,7 +15503,7 @@ data_per_region = { }, ["Water Temple Middle Water Level"] = { ["scene"] = "Water Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Water Temple Central Pillar Chest"] = { ["child_access"] = function() @@ -15465,7 +15539,7 @@ data_per_region = { }, ["Water Temple Falling Platform Room"] = { ["scene"] = "Water Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Water Temple GS Falling Platform Room"] = { ["child_access"] = function() @@ -15514,7 +15588,7 @@ data_per_region = { }, ["Water Temple Dark Link Region"] = { ["scene"] = "Water Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Water Temple Longshot Chest"] = { ["child_access"] = function() @@ -15575,7 +15649,7 @@ data_per_region = { }, ["Water Temple MQ Lobby"] = { ["scene"] = "Water Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Morpha"] = { ["child_access"] = function() @@ -15624,7 +15698,7 @@ data_per_region = { }, ["Water Temple MQ Dive"] = { ["scene"] = "Water Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Water Temple MQ Map Chest"] = { ["child_access"] = function() @@ -15673,7 +15747,7 @@ data_per_region = { }, ["Water Temple MQ Lowered Water Levels"] = { ["scene"] = "Water Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Water Temple MQ Compass Chest"] = { ["child_access"] = function() @@ -15725,7 +15799,7 @@ data_per_region = { }, ["Water Temple MQ Dark Link Region"] = { ["scene"] = "Water Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Water Temple MQ Boss Key Chest"] = { ["child_access"] = function() @@ -15766,7 +15840,7 @@ data_per_region = { }, ["Water Temple MQ Basement Gated Areas"] = { ["scene"] = "Water Temple", - ["dungeon"] = true, + ["pool"] = ER_POOL_TYPES.DUNGEON, ["locations"] = { ["Water Temple MQ Freestanding Key"] = { ["child_access"] = function() diff --git a/ootrando_overworldmap_hamsda/scripts/globals.lua b/ootrando_overworldmap_hamsda/scripts/globals.lua index 9da73f40..c8671a9c 100644 --- a/ootrando_overworldmap_hamsda/scripts/globals.lua +++ b/ootrando_overworldmap_hamsda/scripts/globals.lua @@ -2,3 +2,26 @@ VARIANT = Tracker.ActiveVariantUID HAS_MAP = VARIANT ~= "var_minimalist" and (not VARIANT:find("itemsonly")) HAS_KEYS = VARIANT:find("keysanity") HAS_ER = VARIANT:find("entrance") + +ACCESS_LEVEL = { + [0] = AccessibilityLevel.None, + [1] = AccessibilityLevel.Partial, + [3] = AccessibilityLevel.Inspect, + [5] = AccessibilityLevel.SequenceBreak, + [6] = AccessibilityLevel.Normal, + [7] = AccessibilityLevel.Cleared, + [AccessibilityLevel.None] = 0, + [AccessibilityLevel.Partial] = 1, + [AccessibilityLevel.Inspect] = 3, + [AccessibilityLevel.SequenceBreak] = 5, + [AccessibilityLevel.Normal] = 6, + [AccessibilityLevel.Cleared] = 7 +} + +ER_POOL_TYPES = { + ["DUNGEON"] = "dungeon", + ["GROTTO"] = "grotto", + ["INTERIOR"] = "interior", + ["OW"] = "ow", + ["ROOT"] = "root" +} diff --git a/ootrando_overworldmap_hamsda/scripts/init.lua b/ootrando_overworldmap_hamsda/scripts/init.lua index cd48bffc..7522e7a2 100644 --- a/ootrando_overworldmap_hamsda/scripts/init.lua +++ b/ootrando_overworldmap_hamsda/scripts/init.lua @@ -2,7 +2,7 @@ ScriptHost:LoadScript("scripts/user_settings.lua") ScriptHost:LoadScript("scripts/globals.lua") ScriptHost:LoadScript("scripts/cached_helpers.lua") -ScriptHost:LoadScript("scripts/loading/load_items.lua") -ScriptHost:LoadScript("scripts/loading/load_locations.lua") -ScriptHost:LoadScript("scripts/loading/load_updaters.lua") -ScriptHost:LoadScript("scripts/loading/load_layouts.lua") +ScriptHost:LoadScript("scripts/load_items.lua") +ScriptHost:LoadScript("scripts/load_locations.lua") +ScriptHost:LoadScript("scripts/load_updaters.lua") +ScriptHost:LoadScript("scripts/load_layouts.lua") diff --git a/ootrando_overworldmap_hamsda/scripts/loading/load_items.lua b/ootrando_overworldmap_hamsda/scripts/load_items.lua similarity index 86% rename from ootrando_overworldmap_hamsda/scripts/loading/load_items.lua rename to ootrando_overworldmap_hamsda/scripts/load_items.lua index cbf010f0..1d424ead 100644 --- a/ootrando_overworldmap_hamsda/scripts/loading/load_items.lua +++ b/ootrando_overworldmap_hamsda/scripts/load_items.lua @@ -1,7 +1,6 @@ if HAS_MAP then if HAS_ER then Tracker:AddItems("items/capture_entrance.json") - Tracker:AddItems("items/options_entrance.json") else Tracker:AddItems("items/capture_spawns.json") end @@ -19,9 +18,13 @@ Tracker:AddItems("items/dungeons.json") --CUSTOM ITEMS ScriptHost:LoadScript("scripts/sdk/class.lua") ScriptHost:LoadScript("scripts/sdk/custom_item.lua") + ScriptHost:LoadScript("scripts/custom_prog_badge.lua") ScriptHost:LoadScript("scripts/custom_song_item.lua") - for i = 1, 12 do SongItem(i) end + +ScriptHost:LoadScript("scripts/user_presets.lua") +ScriptHost:LoadScript("scripts/custom_presets.lua") +PresetLoader() diff --git a/ootrando_overworldmap_hamsda/scripts/loading/load_layouts.lua b/ootrando_overworldmap_hamsda/scripts/load_layouts.lua similarity index 82% rename from ootrando_overworldmap_hamsda/scripts/loading/load_layouts.lua rename to ootrando_overworldmap_hamsda/scripts/load_layouts.lua index 63b3e53e..6a00d252 100644 --- a/ootrando_overworldmap_hamsda/scripts/loading/load_layouts.lua +++ b/ootrando_overworldmap_hamsda/scripts/load_layouts.lua @@ -5,14 +5,12 @@ else end Tracker:AddLayouts("layouts/item_grids.json") if HAS_MAP then - Tracker:AddLayouts("layouts/tricks.json") + Tracker:AddLayouts("layouts/options.json") if HAS_ER then - Tracker:AddLayouts("layouts/options_entrance.json") Tracker:AddLayouts("layouts/counters_entrance.json") Tracker:AddLayouts("layouts/layouts_entrance.json") Tracker:AddLayouts("layouts/capture_entrance.json") else - Tracker:AddLayouts("layouts/options.json") Tracker:AddLayouts("layouts/counters.json") Tracker:AddLayouts("layouts/layouts.json") Tracker:AddLayouts("layouts/capture_spawns.json") diff --git a/ootrando_overworldmap_hamsda/scripts/loading/load_locations.lua b/ootrando_overworldmap_hamsda/scripts/load_locations.lua similarity index 100% rename from ootrando_overworldmap_hamsda/scripts/loading/load_locations.lua rename to ootrando_overworldmap_hamsda/scripts/load_locations.lua diff --git a/ootrando_overworldmap_hamsda/scripts/loading/load_updaters.lua b/ootrando_overworldmap_hamsda/scripts/load_updaters.lua similarity index 95% rename from ootrando_overworldmap_hamsda/scripts/loading/load_updaters.lua rename to ootrando_overworldmap_hamsda/scripts/load_updaters.lua index aac4eed8..c73e836a 100644 --- a/ootrando_overworldmap_hamsda/scripts/loading/load_updaters.lua +++ b/ootrando_overworldmap_hamsda/scripts/load_updaters.lua @@ -37,4 +37,4 @@ function tracker_on_accessibility_updated() end end -tracker_on_accessibility_updated() +--tracker_on_accessibility_updated() diff --git a/ootrando_overworldmap_hamsda/scripts/logic_helpers.lua b/ootrando_overworldmap_hamsda/scripts/logic_helpers.lua index f6c3a516..be29b0d7 100644 --- a/ootrando_overworldmap_hamsda/scripts/logic_helpers.lua +++ b/ootrando_overworldmap_hamsda/scripts/logic_helpers.lua @@ -84,6 +84,21 @@ function hintable() end end +function bean_planting(state) + if state == "yes" then + if BEAN_PLANTING then + return 1, AccessibilityLevel.Normal + end + elseif state == "no" then + if not BEAN_PLANTING then + return 1, AccessibilityLevel.Normal + end + else + print("error! bean_planting - invalid state") + end + return 0, AccessibilityLevel.None +end + function has_bombchus() local bombs = Tracker:ProviderCountForCode("bombs") local chus = Tracker:ProviderCountForCode("bombchu") @@ -454,7 +469,7 @@ function _dmt_climb() return 1, AccessibilityLevel.Normal end - if has_age("both") > 0 and has("lift1") and (has("bean_trail_yes") or (has("setting_plant_no") and has("beans"))) then + if has_age("both") > 0 and has("lift1") and (has("bean_trail_yes") or (has("beans") and not BEAN_PLANTING)) then return 1, AccessibilityLevel.Normal end @@ -711,6 +726,9 @@ function adult_fountain() end --KZ skip + if has("logic_king_zora_skip") then + return 1, level + end return 1, AccessibilityLevel.SequenceBreak end @@ -740,7 +758,7 @@ end blue_fire_locations = { "@Ganons Castle/Water Trial Chests", "@Ganons Castle MQ/Water Trial Chest", - "@Gerudo Training Grounds MQ/Before Heavy Block Chest" + "@Gerudo Training Ground MQ/Before Heavy Block Chest" } function has_blue_fire() local bottle_count, bottle_level = has_bottle() @@ -873,37 +891,6 @@ function can_spawn_rainbow_bridge() return 0, AccessibilityLevel.None end -function can_trigger_lacs() - local setting_lacs_amount = get_object("setting_lacs_amount") and get_object("setting_lacs_amount").AcquiredCount or 0 - local stones = Tracker:ProviderCountForCode("stones") - local medallions = Tracker:ProviderCountForCode("medallions") - local tokens = Tracker:ProviderCountForCode("token") - - if has("setting_lacs_vanilla") then - if Tracker:ProviderCountForCode("lacs_meds") >= 2 then - return 1, AccessibilityLevel.Normal - end - elseif has("setting_lacs_stones") then - if stones >= setting_lacs_amount then - return 1, AccessibilityLevel.Normal - end - elseif has("setting_lacs_medallions") then - if medallions >= setting_lacs_amount then - return 1, AccessibilityLevel.Normal - end - elseif has("setting_lacs_dungeons") then - if (stones + medallions) >= setting_lacs_amount then - return 1, AccessibilityLevel.Normal - end - elseif has("setting_lacs_gs") then - if tokens >= setting_lacs_amount then - return 1, AccessibilityLevel.Normal - end - end - - return 0, AccessibilityLevel.None -end - function trials_barrier_dispelled() local trials_cleared = Tracker:ProviderCountForCode("trial_cleared") local setting_trials = get_object("setting_trials") and get_object("setting_trials").AcquiredCount or 0 diff --git a/ootrando_overworldmap_hamsda/scripts/logic_helpers_entrance.lua b/ootrando_overworldmap_hamsda/scripts/logic_helpers_entrance.lua index ed8e8b7a..dab42fff 100644 --- a/ootrando_overworldmap_hamsda/scripts/logic_helpers_entrance.lua +++ b/ootrando_overworldmap_hamsda/scripts/logic_helpers_entrance.lua @@ -1,28 +1,14 @@ -access_level = { - [0] = AccessibilityLevel.None, - [1] = AccessibilityLevel.Partial, - [3] = AccessibilityLevel.Inspect, - [5] = AccessibilityLevel.SequenceBreak, - [6] = AccessibilityLevel.Normal, - [7] = AccessibilityLevel.Cleared, - [AccessibilityLevel.None] = 0, - [AccessibilityLevel.Partial] = 1, - [AccessibilityLevel.Inspect] = 3, - [AccessibilityLevel.SequenceBreak] = 5, - [AccessibilityLevel.Normal] = 6, - [AccessibilityLevel.Cleared] = 7 -} function or_accessibility(...) local max_level = 0 for _, data in ipairs({...}) do if data == AccessibilityLevel.Normal then return AccessibilityLevel.Normal end - if access_level[data] > max_level then - max_level = access_level[data] + if ACCESS_LEVEL[data] > max_level then + max_level = ACCESS_LEVEL[data] end end - return access_level[max_level] + return ACCESS_LEVEL[max_level] end function and_accessibility(...) @@ -31,11 +17,11 @@ function and_accessibility(...) if data == AccessibilityLevel.None then return AccessibilityLevel.None end - if access_level[data] < min_level then - min_level = access_level[data] + if ACCESS_LEVEL[data] < min_level then + min_level = ACCESS_LEVEL[data] end end - return access_level[min_level] + return ACCESS_LEVEL[min_level] end function can_leave_forest() @@ -277,7 +263,7 @@ blue_fire_locations = { ["either"] = { "Ganons Castle Water Trial", "Ganons Castle MQ Water Trial", - "Gerudo Training Grounds MQ Stalfos Room", + "Gerudo Training Ground MQ Stalfos Room", "Ice Cavern MQ Map Room" }, ["adult"] = { @@ -361,7 +347,7 @@ end function can_finish_GerudoFortress(age) local acc = access_region("Gerudo Fortress", age) if has("gerudo_fortress_normal") then - if has("gf_small_keys", 4) then + if has("th_small_keys", 4) then if age == "adult" then local kitchen = AccessibilityLevel.SequenceBreak if has("bow") or has("hookshot") or has("hoverboots") or has("card") or has("logic_gerudo_kitchen") then @@ -383,7 +369,7 @@ function can_finish_GerudoFortress(age) end end elseif has("gerudo_fortress_fast") then - if has("gf_small_keys", 1) then + if has("th_small_keys", 1) then if age == "adult" then return acc elseif age == "child" then @@ -471,37 +457,6 @@ function can_spawn_rainbow_bridge() return AccessibilityLevel.None end -function can_trigger_lacs() - local setting_lacs_amount = get_object("setting_lacs_amount") and get_object("setting_lacs_amount").AcquiredCount or 0 - local stones = Tracker:ProviderCountForCode("stones") - local medallions = Tracker:ProviderCountForCode("medallions") - local tokens = Tracker:ProviderCountForCode("token") - - if has("setting_lacs_vanilla") then - if has("lacs_meds", 2) then - return AccessibilityLevel.Normal - end - elseif has("setting_lacs_stones") then - if stones >= setting_lacs_amount then - return AccessibilityLevel.Normal - end - elseif has("setting_lacs_medallions") then - if medallions >= setting_lacs_amount then - return AccessibilityLevel.Normal - end - elseif has("setting_lacs_dungeons") then - if (stones + medallions) >= setting_lacs_amount then - return AccessibilityLevel.Normal - end - elseif has("setting_lacs_gs") then - if tokens >= setting_lacs_amount then - return AccessibilityLevel.Normal - end - end - - return AccessibilityLevel.None -end - function trials_barrier_dispelled() local trials_cleared = Tracker:ProviderCountForCode("trial_cleared") local setting_trials = get_object("setting_trials") and get_object("setting_trials").AcquiredCount or 0 diff --git a/ootrando_overworldmap_hamsda/scripts/region_building.lua b/ootrando_overworldmap_hamsda/scripts/region_building.lua index a1f5036c..39888a79 100644 --- a/ootrando_overworldmap_hamsda/scripts/region_building.lua +++ b/ootrando_overworldmap_hamsda/scripts/region_building.lua @@ -1,20 +1,42 @@ +for region, region_data in pairs(data_per_region) do + if not region_data.scene then + print("error! no scene for region:", region) + end + if not region_data.pool then + print("error! no pool for region:", region) + end + if type(region_data.exits) == "table" then + for exit, _ in pairs(region_data.exits) do + if not data_per_region[exit] then + print("error! exit not in data_per_region", region, exit) + end + end + end +end + special_regions = { ["KF Links House"] = { + ["origin"] = nil, ["setting"] = "setting_entrance_interiors_all" }, ["Temple of Time"] = { + ["origin"] = nil, ["setting"] = "setting_entrance_interiors_all" }, ["Kak Potion Shop Front"] = { + ["origin"] = nil, ["setting"] = "setting_entrance_interiors_all" }, ["Kak Potion Shop Back"] = { + ["origin"] = nil, ["setting"] = "setting_entrance_interiors_all" }, ["Kak Windmill"] = { + ["origin"] = nil, ["setting"] = "setting_entrance_interiors_all" }, ["Graveyard Dampes Grave"] = { + ["origin"] = nil, ["setting"] = "setting_entrance_grottos_shuffle" } } @@ -37,35 +59,35 @@ function invalidate_locations() end invalidate_locations() -function set_region_access(age, target_region, target_new_access, origin_access) - if access_level[origin_access] < access_level[target_new_access] then - target_new_access = origin_access +function set_region_access(age, to_region, new_access, from_access) + if ACCESS_LEVEL[from_access] < ACCESS_LEVEL[new_access] then + new_access = from_access end - local target_old_access = access_per_region_per_age[age][target_region] - if access_level[target_old_access] < access_level[target_new_access] then + local old_access = access_per_region_per_age[age][to_region] + if ACCESS_LEVEL[old_access] < ACCESS_LEVEL[new_access] then if ER_DEBUGGING then - print("| | +--set access", age, target_new_access, target_region) + print("| | +--set access", age, new_access, to_region) end changed_access = true - access_per_region_per_age[age][target_region] = target_new_access + access_per_region_per_age[age][to_region] = new_access end end -function set_location_access(age, location, target_new_access, origin_access) - if access_level[origin_access] < access_level[target_new_access] then - target_new_access = origin_access +function set_location_access(age, location, new_access, from_access) + if ACCESS_LEVEL[from_access] < ACCESS_LEVEL[new_access] then + new_access = from_access end - local target_old_access = location_access_per_age[age][location] or AccessibilityLevel.None - if access_level[target_old_access] < access_level[target_new_access] then + local old_access = location_access_per_age[age][location] or AccessibilityLevel.None + if ACCESS_LEVEL[old_access] < ACCESS_LEVEL[new_access] then if ER_DEBUGGING then - print("| | +--location", age, target_new_access, location) + print("| | +--location", age, new_access, location) end changed_access = true - location_access_per_age[age][location] = target_new_access + location_access_per_age[age][location] = new_access end end -function build_regions() +function update_region_connections() invalidate_regions() invalidate_locations() @@ -81,10 +103,12 @@ function build_regions() end for region, access in pairs(access_per_region_per_age[age]) do if access ~= AccessibilityLevel.None then - local region_data = data_per_region[region] if ER_DEBUGGING then print("| +--region", region) end + + local region_data = data_per_region[region] + if type(region_data.locations) == "table" then for location, location_data in pairs(region_data.locations) do local age_func = (age == 1) and "child_access" or "adult_access" @@ -93,25 +117,29 @@ function build_regions() set_location_access(age, location, new_access, access) end end + + local is_interior = + (region_data.pool == ER_POOL_TYPES.GROTTO or region_data.pool == ER_POOL_TYPES.INTERIOR or + region_data.pool == ER_POOL_TYPES.DUNGEON) + if type(region_data.exits) == "table" then for exit, exit_data in pairs(region_data.exits) do local age_func = (age == 1) and "child_access" or "adult_access" local new_access = exit_data[age_func]() - local same_scene = - region_data.scene and data_per_region[exit] and data_per_region[exit].scene and - region_data.scene == data_per_region[exit].scene + local is_same_scene = data_per_region[exit].scene == region_data.scene - if region_data.special and (not same_scene) then + if not is_same_scene and type(special_regions[region]) == "table" then + --handle special regions if not has(special_regions[region].setting) then set_region_access(age, exit, new_access, access) elseif special_regions[region].origin then set_region_access(age, special_regions[region].origin, access, access) end else - if exit_data.fixed or same_scene then + if exit_data.fixed or is_same_scene then set_region_access(age, exit, new_access, access) - elseif not same_scene and not region_data.dungeon and not region_data.interior then + elseif not is_same_scene and not is_interior then if exit_data.setting and not has(exit_data.setting) then set_region_access(age, exit, new_access, access) elseif exit_data.capture and data_per_region[exit_data.capture] then @@ -188,7 +216,7 @@ function access_exit(region, exit, age) access = or_accessibility(and_accessibility(region_child, exit_child), and_accessibility(region_adult, exit_adult)) end - local level = access_level[access] + local level = ACCESS_LEVEL[access] if level > 0 then if ER_TURN_VISITED_EXIT_RED and data_per_region[region].exits[exit].capture then --having a capture + inspect level = turn icon red @@ -221,7 +249,7 @@ function access_location(location, age) access = or_accessibility(location_child, location_adult) end - local level = access_level[access] + local level = ACCESS_LEVEL[access] if level > 0 then return 1, access end diff --git a/ootrando_overworldmap_hamsda/scripts/update_entrance.lua b/ootrando_overworldmap_hamsda/scripts/update_entrance.lua index 85ce2b3d..d5aa19e2 100644 --- a/ootrando_overworldmap_hamsda/scripts/update_entrance.lua +++ b/ootrando_overworldmap_hamsda/scripts/update_entrance.lua @@ -6,8 +6,8 @@ function get_capture_per_section(section_object) return nil end -badge_cache = {} -function badge_location(location_object, section_object) +local badge_cache = {} +function add_location_badge(location_object, section_object) local capture = section_object.CapturedItem if capture ~= badge_cache[section_object] then if badge_cache[location_object] then @@ -22,31 +22,91 @@ function badge_location(location_object, section_object) end end +local new_capture_layouts = {} +local capture_layout_info = { + { + ["pool"] = ER_POOL_TYPES.OW, + ["shuffle_setting"] = "setting_entrance_overworld_shuffle", + ["mixed_setting"] = "setting_entrance_mixed_all", + ["default_capture"] = "tracker_capture_ow", + ["current_capture"] = "tracker_capture_ow_grotto_interior_dungeon" + }, + { + ["pool"] = ER_POOL_TYPES.GROTTO, + ["shuffle_setting"] = "setting_entrance_grottos_shuffle", + ["mixed_setting"] = "setting_entrance_mixed_indoor", + ["default_capture"] = "tracker_capture_grotto", + ["current_capture"] = "tracker_capture_ow_grotto_interior_dungeon" + }, + { + ["pool"] = ER_POOL_TYPES.INTERIOR, + ["shuffle_setting"] = "setting_entrance_interiors_simple", + ["mixed_setting"] = "setting_entrance_mixed_indoor", + ["default_capture"] = "tracker_capture_interior", + ["current_capture"] = "tracker_capture_ow_grotto_interior_dungeon" + }, + { + ["pool"] = ER_POOL_TYPES.DUNGEON, + ["shuffle_setting"] = "setting_entrance_dungeons_shuffle", + ["mixed_setting"] = "setting_entrance_mixed_indoor", + ["default_capture"] = "tracker_capture_dungeon", + ["current_capture"] = "tracker_capture_ow_grotto_interior_dungeon" + } +} +function set_new_capture_layout(exit_name, section_object) + local pool = data_per_region[exit_name].pool + if new_capture_layouts[pool] then + section_object.ItemCaptureLayout = new_capture_layouts[pool] + end +end + +function update_capture_layouts() + local mixed_capture = "tracker_capture" + for _, data in ipairs(capture_layout_info) do + if has(data.mixed_setting) and has(data.shuffle_setting) then + mixed_capture = mixed_capture .. "_" .. data.pool + end + end + + for _, data in ipairs(capture_layout_info) do + local new_layout = has(data.mixed_setting) and mixed_capture or data.default_capture + if new_layout ~= data.current_capture then + new_capture_layouts[data.pool] = new_layout + data.current_capture = new_layout + end + end +end + function update_region_captures() - for region, data in pairs(special_regions) do + for _, data in pairs(special_regions) do data.origin = nil end for region, region_data in pairs(data_per_region) do if type(region_data.exits) == "table" then - for target, target_data in pairs(region_data.exits) do - if target_data.section_object then - target_data.capture = get_capture_per_section(target_data.section_object) + for exit, exit_data in pairs(region_data.exits) do + if exit_data.section_object then + exit_data.capture = get_capture_per_section(exit_data.section_object) + if region_data.pool ~= ER_POOL_TYPES.ROOT then + set_new_capture_layout(exit, exit_data.section_object) + end if ER_BADGE_EXITS then - badge_location(target_data.location_object, target_data.section_object) + add_location_badge(exit_data.location_object, exit_data.section_object) end - if target_data.capture and special_regions[target_data.capture] and region_data.scene ~= "Root" then - special_regions[target_data.capture].origin = region + if exit_data.capture and special_regions[exit_data.capture] and region_data.scene ~= "Root" then + special_regions[exit_data.capture].origin = region if ER_DEBUGGING then - print("special:", target_data.capture, "at", region) + print("special:", exit_data.capture, "at", region) end end end end end end + new_capture_layouts = {} end function update_version_specific() + update_capture_layouts() update_region_captures() - build_regions() + update_region_connections() end diff --git a/ootrando_overworldmap_hamsda/scripts/update_items.lua b/ootrando_overworldmap_hamsda/scripts/update_items.lua index 6ee48c32..c91ffcc2 100644 --- a/ootrando_overworldmap_hamsda/scripts/update_items.lua +++ b/ootrando_overworldmap_hamsda/scripts/update_items.lua @@ -1,57 +1,166 @@ -local dungeons_with_keys = { - "forest", - "fire", - "water", - "spirit", - "shadow", - "botw", - "gtg", - "gc" +local dungeons_with_small_keys = { + ["forest"] = {5, 6}, + ["fire"] = {8, 5}, + ["water"] = {6, 2}, + ["spirit"] = {5, 7}, + ["shadow"] = {5, 6}, + ["botw"] = {3, 2}, + ["gtg"] = {9, 3}, + ["gc"] = {2, 3} } -local key_counts = { - vanilla = { - forest = 5, - fire = 8, - water = 6, - spirit = 5, - shadow = 5, - botw = 3, - gtg = 9, - gc = 2 - }, - mq = { - forest = 6, - fire = 5, - water = 2, - spirit = 7, - shadow = 6, - botw = 2, - gtg = 3, - gc = 3 - } +local dungeons_with_boss_keys = { + ["forest"] = true, + ["fire"] = true, + ["water"] = true, + ["spirit"] = true, + ["shadow"] = true } -function update_keycounts() - for _, dungeon in ipairs(dungeons_with_keys) do +local hideout_keycounts = { + ["gerudo_fortress_normal"] = 4, + ["gerudo_fortress_fast"] = 1, + ["gerudo_fortress_open"] = 0 +} +local fix_non_map_hideout = true +local keys_settings = { + ["setting_shuffle_smallkeys"] = 0, + ["setting_shuffle_hideoutkeys"] = 0, + ["setting_shuffle_bosskeys"] = 0, + ["setting_shuffle_ganon_bosskey"] = 0 +} + +function update_keys_settings() + if not HAS_KEYS then + for setting, value in pairs(keys_settings) do + local setting_object = get_object(setting) + if setting_object then + setting_object.CurrentStage = value + end + end + end +end + +function update_max_small_keys() + for dungeon, keycounts in pairs(dungeons_with_small_keys) do local key_object = get_object(dungeon .. "_small_keys") if key_object then - if has(dungeon .. "_reg") then - key_object.MaxCount = key_counts["vanilla"][dungeon] - elseif has(dungeon .. "_mq") then - key_object.MaxCount = key_counts["mq"][dungeon] - else - key_object.MaxCount = math.max(key_counts["vanilla"][dungeon], key_counts["mq"][dungeon]) - end - if not HAS_KEYS then + local reg = dungeon .. "_reg" + local mq = dungeon .. "_mq" + local reg_changed = not_like_cache(reg, has(reg)) + local mq_changed = not_like_cache(mq, has(mq)) + + if reg_changed or mq_changed then + if has(reg) then + key_object.MaxCount = keycounts[1] + elseif has(mq) then + key_object.MaxCount = keycounts[2] + else + key_object.MaxCount = math.max(keycounts[1], keycounts[2]) + end + end + end + end + + local key_object = get_object("th_small_keys") + if key_object then + if not HAS_MAP then + if fix_non_map_hideout then + key_object.MaxCount = hideout_keycounts["gerudo_fortress_normal"] + fix_non_map_hideout = false + end + else + for setting, keycount in pairs(hideout_keycounts) do + if not_like_cache(setting, has(setting)) and has(setting) then + key_object.MaxCount = keycount + end + end + end + end +end + +local stored_keycounts = {} +local stored_hideout = nil +local stored_bks = {} +local stored_ganon = nil +function update_shuffled_keys() + if has("setting_shuffle_smallkeys_no") then + for dungeon, keycounts in pairs(dungeons_with_small_keys) do + local key_object = get_object(dungeon .. "_small_keys") + if key_object then + if stored_keycounts[dungeon] == nil then + stored_keycounts[dungeon] = key_object.AcquiredCount + end key_object.AcquiredCount = key_object.MaxCount - local bk = get_object(dungeon .. "_boss_key") - if bk then - bk.Active = true + end + end + elseif has("setting_shuffle_smallkeys_yes") then + for dungeon, stored_count in pairs(stored_keycounts) do + local key_object = get_object(dungeon .. "_small_keys") + if key_object then + key_object.AcquiredCount = stored_count + end + end + stored_keycounts = {} + end + + if has("setting_shuffle_hideoutkeys_no") then + local key_object = get_object("th_small_keys") + if key_object then + if stored_hideout == nil then + stored_hideout = key_object.AcquiredCount + end + key_object.AcquiredCount = key_object.MaxCount + end + elseif has("setting_shuffle_hideoutkeys_yes") then + if stored_hideout ~= nil then + local key_object = get_object("th_small_keys") + if key_object then + key_object.AcquiredCount = stored_hideout + end + stored_hideout = nil + end + end + + if has("setting_shuffle_bosskeys_no") then + for dungeon, stored_active in pairs(dungeons_with_boss_keys) do + local key_object = get_object(dungeon .. "_boss_key") + if key_object then + if stored_bks[dungeon] == nil then + stored_bks[dungeon] = key_object.Active end + key_object.Active = true + end + end + elseif has("setting_shuffle_bosskeys_yes") then + for dungeon, stored_active in pairs(stored_bks) do + local key_object = get_object(dungeon .. "_boss_key") + if key_object then + key_object.Active = stored_active + end + end + stored_bks = {} + end + + if has("setting_shuffle_ganon_bosskey_no") then + local key_object = get_object("gc_boss_key") + if key_object then + if stored_ganon == nil then + stored_ganon = key_object.Active + end + key_object.Active = true + end + elseif has("setting_shuffle_ganon_bosskey_yes") then + if stored_ganon ~= nil then + local key_object = get_object("gc_boss_key") + if key_object then + key_object.Active = stored_ganon end + stored_ganon = nil end end end function update_items() - update_keycounts() + update_keys_settings() + update_max_small_keys() + update_shuffled_keys() end diff --git a/ootrando_overworldmap_hamsda/scripts/update_maps.lua b/ootrando_overworldmap_hamsda/scripts/update_maps.lua index 848fa32b..aed0ecd4 100644 --- a/ootrando_overworldmap_hamsda/scripts/update_maps.lua +++ b/ootrando_overworldmap_hamsda/scripts/update_maps.lua @@ -7,37 +7,11 @@ function update_bridge_amount_max() end end -local max_amount_per_lacs_stage = {0, 3, 6, 9, 100} -function update_lacs_amount_max() - local setting_lacs = get_object("setting_lacs") - local setting_lacs_amount = get_object("setting_lacs_amount") - if setting_lacs and setting_lacs.CurrentStage and setting_lacs_amount then - setting_lacs_amount.MaxCount = max_amount_per_lacs_stage[setting_lacs.CurrentStage + 1] or 0 - end -end - -function update_fortress() +function update_gerudo_card() local setting_card = has("setting_shuffle_card_yes") - local setting_normal = has("gerudo_fortress_normal") - local setting_fast = has("gerudo_fortress_fast") local setting_open = has("gerudo_fortress_open") local item_card = get_object("gerudocard") - local item_gf_keys = get_object("gf_small_keys") - - if item_gf_keys then - if setting_open then - item_gf_keys.MaxCount = 0 - elseif setting_fast then - item_gf_keys.MaxCount = 1 - elseif setting_normal then - item_gf_keys.MaxCount = 4 - end - if not HAS_KEYS then - item_gf_keys.AcquiredCount = item_gf_keys.MaxCount - end - end - if item_card and setting_open then if not setting_card then item_card.Active = true @@ -217,15 +191,14 @@ local vanilla_captures = { ["@KF Kokiri Sword Chest/Dodge Boulder"] = "sword1" }, ["setting_shuffle_ocarinas_yes"] = { - ["@Saria on Bridge/LW Gift from Saria"] = "ocarina", --ER - ["@LW Bridge/LW Gift from Saria"] = "ocarina", --non ER + ["@LW Bridge From Forest/LW Gift from Saria"] = "ocarina", ["@HF Ocarina of Time/HF Ocarina of Time Item"] = "ocarina" }, ["setting_shuffle_egg_yes"] = { ["@Malon at Castle/HC Malon Egg"] = "capture_childegg" }, ["setting_shuffle_card_yes"] = { - ["@Carpenter Rescue/Gerudo Membership Card"] = "gerudocard" + ["@Carpenter Rescue/Hideout Gerudo Membership Card"] = "gerudocard" }, ["setting_shuffle_beans_yes"] = { ["@ZR Magic Bean Salesman/Buy Item"] = "beans" @@ -252,8 +225,7 @@ end function update_maps() update_bridge_amount_max() - update_lacs_amount_max() - update_fortress() + update_gerudo_card() update_collected_capture() update_minimal_bottle() update_free_zelda() diff --git a/ootrando_overworldmap_hamsda/scripts/user_presets.lua b/ootrando_overworldmap_hamsda/scripts/user_presets.lua new file mode 100644 index 00000000..206a9642 --- /dev/null +++ b/ootrando_overworldmap_hamsda/scripts/user_presets.lua @@ -0,0 +1,134 @@ +setting_presets = { + { + ["name"] = "S5", + ["color"] = "#00ffff", + ["icon"] = "images/sword1.png", + ["settings"] = { + ["setting_forest"] = 1, + ["setting_kak"] = 0, + ["setting_door"] = 1, + ["setting_fountain"] = 0, + ["setting_gerudo"] = 1, + ["setting_bridge"] = 3, + ["setting_bridge_amount"] = 6, + ["setting_trials"] = 0, + ["setting_age"] = 0, + ["setting_entrance_interiors"] = 0, + ["setting_entrance_grottos"] = 0, + ["setting_entrance_dungeons"] = 0, + ["setting_entrance_overworld"] = 0, + ["setting_entrance_mixed"] = 0, + ["setting_entrance_owl"] = 0, + ["setting_entrance_warpsong"] = 0, + ["setting_entrance_spawn"] = 1, + ["setting_logic_chus"] = 0, + ["setting_shopsanity"] = 0, + ["setting_tokens_off"] = 0, + ["setting_scrub_shuffle"] = 0, + ["setting_cowsanity"] = 0, + ["setting_shuffle_sword1"] = 1, + ["setting_shuffle_ocarinas"] = 0, + ["setting_shuffle_egg"] = 0, + ["setting_shuffle_card"] = 0, + ["setting_shuffle_beans"] = 0, + ["setting_shuffle_merchants"] = 0, + ["setting_shuffle_smallkeys"] = 0, + ["setting_shuffle_hideoutkeys"] = 0, + ["setting_shuffle_bosskeys"] = 0, + ["setting_shuffle_ganon_bosskey"] = 0, + ["setting_zelda"] = 1, + ["setting_masks"] = 0, + ["setting_hints"] = 3, + ["setting_damage"] = 1, + ["setting_skulltulas_sun"] = 0 + } + }, + { + ["name"] = "Coop", + ["color"] = "#c242f5", + ["icon"] = "images/deku_scrub.png", + ["settings"] = { + ["setting_forest"] = 2, + ["setting_kak"] = 0, + ["setting_door"] = 1, + ["setting_fountain"] = 0, + ["setting_gerudo"] = 1, + ["setting_bridge"] = 1, + ["setting_bridge_amount"] = 6, + ["setting_trials"] = 0, + ["setting_age"] = 1, + ["setting_entrance_interiors"] = 0, + ["setting_entrance_grottos"] = 0, + ["setting_entrance_dungeons"] = 0, + ["setting_entrance_overworld"] = 0, + ["setting_entrance_mixed"] = 0, + ["setting_entrance_owl"] = 0, + ["setting_entrance_warpsong"] = 0, + ["setting_entrance_spawn"] = 0, + ["setting_logic_chus"] = 0, + ["setting_shopsanity"] = 1, + ["setting_tokens_off"] = 0, + ["setting_scrub_shuffle"] = 1, + ["setting_cowsanity"] = 0, + ["setting_shuffle_sword1"] = 1, + ["setting_shuffle_ocarinas"] = 0, + ["setting_shuffle_egg"] = 0, + ["setting_shuffle_card"] = 0, + ["setting_shuffle_beans"] = 0, + ["setting_shuffle_merchants"] = 0, + ["setting_shuffle_smallkeys"] = 0, + ["setting_shuffle_hideoutkeys"] = 0, + ["setting_shuffle_bosskeys"] = 0, + ["setting_shuffle_ganon_bosskey"] = 0, + ["setting_zelda"] = 1, + ["setting_masks"] = 0, + ["setting_hints"] = 3, + ["setting_damage"] = 1, + ["setting_skulltulas_sun"] = 0 + } + }, + { + ["name"] = "RSL", + ["color"] = "#ffbb00", + ["icon"] = "images/icetrap.png", + ["settings"] = { + ["setting_forest"] = 2, + ["setting_kak"] = 0, + ["setting_door"] = 1, + ["setting_fountain"] = 2, + ["setting_gerudo"] = 2, + ["setting_bridge"] = 0, + ["setting_bridge_amount"] = 0, + ["setting_trials"] = 0, + ["setting_age"] = 0, + ["setting_entrance_interiors"] = 2, + ["setting_entrance_grottos"] = 1, + ["setting_entrance_dungeons"] = 1, + ["setting_entrance_overworld"] = 1, + ["setting_entrance_mixed"] = 2, + ["setting_entrance_owl"] = 1, + ["setting_entrance_warpsong"] = 1, + ["setting_entrance_spawn"] = 1, + ["setting_logic_chus"] = 1, + ["setting_shopsanity"] = 1, + ["setting_tokens_off"] = 3, + ["setting_scrub_shuffle"] = 1, + ["setting_cowsanity"] = 1, + ["setting_shuffle_sword1"] = 1, + ["setting_shuffle_ocarinas"] = 1, + ["setting_shuffle_egg"] = 1, + ["setting_shuffle_card"] = 1, + ["setting_shuffle_beans"] = 1, + ["setting_shuffle_merchants"] = 1, + ["setting_shuffle_smallkeys"] = 1, + ["setting_shuffle_hideoutkeys"] = 1, + ["setting_shuffle_bosskeys"] = 1, + ["setting_shuffle_ganon_bosskey"] = 1, + ["setting_zelda"] = 0, + ["setting_masks"] = 0, + ["setting_hints"] = 3, + ["setting_damage"] = 1, + ["setting_skulltulas_sun"] = 0 + } + } +} \ No newline at end of file diff --git a/ootrando_overworldmap_hamsda/scripts/user_settings.lua b/ootrando_overworldmap_hamsda/scripts/user_settings.lua index 12238223..664dd6ab 100644 --- a/ootrando_overworldmap_hamsda/scripts/user_settings.lua +++ b/ootrando_overworldmap_hamsda/scripts/user_settings.lua @@ -5,6 +5,9 @@ SONG_BADGE_CHECK_ONLY = false -- SONG_BADGE_CHECK_ONLY overrides this behavior SONG_BADGE_LAST_ACTIVATED = false +-- beans will need to be planted before their corresponding checks become available +BEAN_PLANTING = false + -- puts badges of captured icons on the map locations -- visibility is not the greatest, but can help at a glance ER_BADGE_EXITS = false diff --git a/repository.json b/repository.json index 3ac96152..223250c3 100644 --- a/repository.json +++ b/repository.json @@ -10,7 +10,7 @@ "pins", "chathud" ], - "version": "3.6.0.0", + "version": "3.7.0.0", "uid": "ootrando_overworldmap_hamsda", "link": "https://hamsda.github.io/EmoTrackerPacks/ootrando_overworldmap_hamsda.zip", "documentation_url": "https://github.com/Hamsda/EmoTrackerPacks/blob/master/ootrando_overworldmap_hamsda/README.md",