Ocarina of Time (#64)

* first commit (not including OoT data files yet)

* added some basic options

* rule parser works now at least

* make sure to commit everything this time

* temporary change to BaseClasses for oot

* overworld location graph builds mostly correctly

* adding oot data files

* commenting out world options until later since they only existed to make the RuleParser work

* conversion functions between AP ids and OOT ids

* world graph outputs

* set scrub prices

* itempool generates, entrances connected, way too many options added

* fixed set_rules and set_shop_rules

* temp baseclasses changes

* Reaches the fill step now, old event-based system retained in case the new way breaks

* Song placements and misc fixes everywhere

* temporary changes to make oot work

* changed root exits for AP fill framework

* prevent infinite recursion due to OoT sharing usage of the address field

* age reachability works hopefully, songs are broken again

* working spoiler log generation on beatable-only

* Logic tricks implemented

* need this for logic tricks

* fixed map/compass being placed on Serenade location

* kill unreachable events before filling the world

* add a bunch of utility functions to prepare for rom patching

* move OptionList into generic options

* fixed some silly bugs with OptionList

* properly seed all random behavior (so far)

* ROM generation working

* fix hints trying to get alttp dungeon hint texts

* continue fixing hints

* add oot to network data package

* change item and location IDs to 66000 and 67000 range respectively

* push removed items to precollected items

* fixed various issues with cross-contamination with multiple world generation

* reenable glitched logic (hopefully)

* glitched world files age-check fix

* cleaned up some get_locations calls

* added token shuffle and scrub shuffle, modified some options slightly to make the parsing work

* reenable MQ dungeons

* fix forest mq exception

* made targeting style an option for now, will be cosmetic later

* reminder to move targeting to cosmetics

* some oot option maintenance

* enabled starting time of day

* fixed issue breaking shop slots in multiworld generation

* added "off" option for text shuffle and hints

* shopsanity functionality restored

* change patch file extension

* remove unnecessary utility functions + imports

* update MIT license

* change option to "patch_uncompressed_rom" instead of "compress_rom"

* compliance with new AutoWorld systems

* Kill only internal events, remove non-internal big poe event in code

* re-add the big poe event and handle it correctly

* remove extra method in Range option

* fix typo

* Starting items, starting with consumables option

* do not remove nonexistent item

* move set_shop_rules to after shop items are placed

* some cleanup

* add retries for song placement

* flagged Skull Mask and Mask of Truth as advancement items

* update OoT to use LogicMixin

* Fixed trying to assign starting items from the wrong players

* fixed song retry step

* improved option handling, comments, and starting item replacements

* DefaultOnToggle writes Yes or No to spoiler

* enable compression of output if Compress executable is present

* clean up compression

* check whether (de)compressor exists before running the process

* allow specification of rom path in host.yaml

* check if decompressed file already exists before decompressing again

* fix triforce hunt generation

* rename all the oot state functions with prefix

* OoT: mark triforce pieces as completion goal for triforce hunt

* added overworld and any-dungeon shuffle for dungeon items

* Hide most unshuffled locations and events from the list of locations in spoiler

* build oot option ranges with a generic function instead of defining each separately

* move oot output-type control to host.yaml instead of individual yamls

* implement dungeon song shuffle

* minor improvements to overworld dungeon item shuffle

* remove random ice trap names in shops, mostly to avoid maintaining a massive censor list

* always output patch file to folder, remove option to generate ROM in preparation for removal

* re-add the fix for infinite recursion due to not being light or dark world

* change AP-sendable to Ocarina of Time model, since the triforce piece has some extra code apparently

* oot: remove item_names and location_names

* oot: minor fixes

* oot: comment out ROM patching

* oot: only add CollectionState objects on creation if actually needed

* main entrance shuffle method and entrances-based rules

* fix entrances based rules

* disable master quest and big poe count options for client compatibility

* use get_player_name instead of get_player_names

* fix OptionList

* fix oot options for new option system

* new coop section in oot rom: expand player names to 16 bytes, write AP_PLAYER_NAME at end of PLAYER_NAMES

* fill AP player name in oot rom with 0 instead of 0xDF

* encode player name with ASCII for fixed-width

* revert oot player name array to 8 bytes per name

* remove Pierre location if fast scarecrow is on

* check player name length

* "free_scarecrow" not "fast_scarecrow"

* OoT locations now properly store the AP ID instead of the oot internal ID

* oot __version__ updates in lockstep with AP version

* pull in unmodified oot cosmetic files

* also grab JSONDump since it's needed apparently

* gather extra needed methods, modify imports

* delete cosmetics log, replace all instances of SettingsList with OOTWorld

* cosmetic options working, except for sound effects (due to ear-safe issues)

* SFX, Music, and Fanfare randomization reenabled

* move OoT data files into the worlds folder

* move Compress and Decompress into oot data folder

* Replace get_all_state with custom method to avoid the cache

* OoT ROM: increment item counter before setting incoming item/player values to 0, preventing desync issues

* set data_version to 0

* make Kokiri Sword shuffle off by default

* reenable "Random Choice" for various cosmetic options

* kill Ruto's Letter turnin if open fountain
also fix for shopsanity

* place Buy Goron/Zora Tunic first in shop shuffle

* make ice traps appear as other items instead of breaking generation

* managed to break ice traps on non-major-only

* only handle ice traps if they are on

* fix shopsanity for non-oot games, and write player name instead of player number

* light arrows hint uses player name instead of player number

* Reenable "skip child zelda" option

* fix entrances_based_rules

* fix ganondorf hint if starting with light arrows

* fix dungeonitem shuffle and shopsanity interaction

* remove has_all_of, has_any_of, count_of in BaseClasses, replace usage with has_all, has_any, has_group

* force local giveable item on ZL if skip_child_zelda and shuffle_song_items is any

* keep bosses and bombchu bowling chus out of data package

* revert workaround for infinite recursion and fix it properly

* fix shared shop id caches during patching process

* fix shop text box overflows, as much as possible

* add default oot host.yaml option

* add .apz5, .n64, .z64 to gitignore

* Properly document and name all (functioning) OOT options

* clean up some imports

* remove unnecessary files from oot's data

* fix typo in gitignore

* readd the Compress and Decompress utilities, since they are needed for generation

* cleanup of imports and some minor optimizations

* increase shop offset for item IDs to 0xCB

* remove shop item AP ids entirely

* prevent triforce pieces for other players from being received by yourself

* add "excluded" property to Location

* Hint system adapted and reenabled; hints still unseeded

* make hints deterministic with lists instead of sets

* do not allow hints to point to Light Arrows on non-vanilla bridge

* foreign locations hint as their full name in OoT rather than their region

* checkedLocations now stores hint names by player ID, so that the same location in different worlds can have hints associated

* consolidate versioning in Utils

* ice traps appear as major items rather than any progression item

* set prescription and claim check as defaults for adult trade item settings

* add oot options to playerSettings

* allow case-insensitive logic tricks in yaml

* fix oot shopsanity option formatting

* Write OoT override info even if local item, enabling local checks to show up immediately in the client

* implement CollectionState.can_live_dmg for oot glitched logic

* filter item names for invalid characters when patching shops

* make ice traps appear according to the settings of the world they are shuffled into, rather than the original world

* set hidden-spoiler items and locations with Shop items to events

* make GF carpenters, Gerudo Card, Malon, ZL, and Impa events if the relevant settings are enabled, preventing them from appearing in the client on game start

* Fix oot Glitched and No Logic generation

* fix indenting

* Greatly reduce displayed cosmetic options

* Change oot data version to 1

* add apz5 distribution to webhost

* print player name if an ALttP dungeon contains a good item for OoT world

* delete unneeded commented code

* remove OcarinaSongs import to satisfy lint
This commit is contained in:
espeon65536
2021-09-02 08:35:05 -04:00
committed by GitHub
parent 74c30ce09a
commit 51c38fc628
134 changed files with 80588 additions and 7 deletions

View File

@@ -0,0 +1,29 @@
[
{
"region_name": "Bottom of the Well",
"dungeon": "Bottom of the Well",
"locations": {
"Bottom of the Well MQ Compass Chest": "
Kokiri_Sword or (Sticks and logic_child_deadhand)",
"Bottom of the Well MQ Map Chest": "
can_play(Zeldas_Lullaby) or has_explosives",
"Bottom of the Well MQ Lens of Truth Chest": "
has_explosives and
(Small_Key_Bottom_of_the_Well, 2)",
"Bottom of the Well MQ Dead Hand Freestanding Key": "
has_explosives or (logic_botw_mq_dead_hand_key and Boomerang)",
"Bottom of the Well MQ East Inner Room Freestanding Key": "
can_play(Zeldas_Lullaby) or has_explosives",
"Bottom of the Well MQ GS Basement": "can_child_attack",
"Bottom of the Well MQ GS West Inner Room": "
can_child_attack and
(can_play(Zeldas_Lullaby) or has_explosives)",
"Bottom of the Well MQ GS Coffin Room": "
can_child_attack and
(Small_Key_Bottom_of_the_Well, 2)"
},
"exits": {
"Kakariko Village": "True"
}
}
]

View File

@@ -0,0 +1,50 @@
[
{
"region_name": "Bottom of the Well",
"dungeon": "Bottom of the Well",
"exits": {
"Bottom of the Well Main Area" : "is_child and (can_child_attack or Nuts)"
}
},
{
"region_name": "Bottom of the Well Main Area",
"dungeon": "Bottom of the Well",
"locations": {
"Bottom of the Well Front Left Fake Wall Chest": "True",
"Bottom of the Well Front Center Bombable Chest": "has_explosives",
"Bottom of the Well Right Bottom Fake Wall Chest": "True",
"Bottom of the Well Compass Chest": "True",
"Bottom of the Well Center Skulltula Chest": "True",
"Bottom of the Well Back Left Bombable Chest": "has_explosives",
"Bottom of the Well Freestanding Key": "Sticks or can_use(Dins_Fire) or Boomerang",
"Bottom of the Well Lens of Truth Chest": "
(can_play(Zeldas_Lullaby) or (Small_Key_Bottom_of_the_Well,3)) and
(Kokiri_Sword or Sticks)",
"Bottom of the Well Invisible Chest": "(can_play(Zeldas_Lullaby) or (Small_Key_Bottom_of_the_Well,3))",
"Bottom of the Well Underwater Front Chest": "can_play(Zeldas_Lullaby)",
"Bottom of the Well Underwater Left Chest": "can_play(Zeldas_Lullaby)",
"Bottom of the Well Map Chest": "
has_explosives or
(((Small_Key_Bottom_of_the_Well, 3) or
can_use(Dins_Fire) or Sticks) and
Progressive_Strength_Upgrade)",
"Bottom of the Well Fire Keese Chest": "
(Small_Key_Bottom_of_the_Well, 3)",
"Bottom of the Well Like Like Chest": "
(Small_Key_Bottom_of_the_Well, 3)",
"Bottom of the Well GS West Inner Room": "
(Boomerang or can_isg) and
(Small_Key_Bottom_of_the_Well, 3)",
"Bottom of the Well GS East Inner Room": "
(Boomerang or can_isg) and
(Small_Key_Bottom_of_the_Well, 3)",
"Bottom of the Well GS Like Like Cage": "
(Boomerang or can_isg) and
(Small_Key_Bottom_of_the_Well, 3)",
"Stick Pot": "True"
},
"exits": {
"Bottom of the Well" : "True"
}
}
]

View File

@@ -0,0 +1,49 @@
[
{
"region_name": "Deku Tree Lobby",
"dungeon": "Deku Tree",
"locations": {
"Deku Tree MQ Map Chest": "True",
"Deku Tree MQ Slingshot Chest": "can_child_attack",
"Deku Tree MQ Slingshot Room Back Chest": "Sticks or can_use(Dins_Fire)",
"Deku Tree MQ Basement Chest": "Sticks or can_use(Dins_Fire)",
"Deku Tree MQ GS Lobby": "can_child_attack"
},
"exits": {
"KF Outside Deku Tree": "True",
"Deku Tree Compass Room": "Slingshot and (Sticks or can_use(Dins_Fire))",
"Deku Tree Boss Room": "Slingshot and (Sticks or can_use(Dins_Fire))"
}
},
{
"region_name": "Deku Tree Compass Room",
"dungeon": "Deku Tree",
"locations": {
"Deku Tree MQ Compass Chest": "True",
"Deku Tree MQ GS Compass Room": "
Boomerang and ((Bombs and can_play(Song_of_Time)) or has_bombchus)"
},
"exits": {
"Deku Tree Lobby": "True"
}
},
{
"region_name": "Deku Tree Boss Room",
"dungeon": "Deku Tree",
"events": {
"Deku Tree Clear": "Buy_Deku_Shield and (Kokiri_Sword or Sticks)"
},
"locations": {
"Deku Tree MQ Before Spinning Log Chest": "True",
"Deku Tree MQ After Spinning Log Chest": "can_play(Song_of_Time)",
"Deku Tree MQ GS Basement Graves Room": "Boomerang and can_play(Song_of_Time)",
"Deku Tree MQ GS Basement Back Room": "Boomerang",
"Deku Tree MQ Deku Scrub": "True",
"Deku Tree Queen Gohma Heart": "Buy_Deku_Shield and (Kokiri_Sword or Sticks)",
"Queen Gohma": "Buy_Deku_Shield and (Kokiri_Sword or Sticks)"
},
"exits": {
"Deku Tree Lobby": "True"
}
}
]

View File

@@ -0,0 +1,57 @@
[
{
"region_name": "Deku Tree Lobby",
"dungeon": "Deku Tree",
"locations": {
"Deku Tree Map Chest": "True",
"Deku Tree Compass Chest": "True",
"Deku Tree Compass Room Side Chest": "True",
"Deku Tree Basement Chest": "is_adult or can_child_attack or Nuts",
"Deku Tree GS Compass Room": "is_adult or can_child_attack",
"Deku Tree GS Basement Vines": "is_adult or can_child_attack",
"Deku Tree GS Basement Gate": "is_adult or can_child_attack",
"Deku Tree GS Basement Back Room": "
(here(has_fire_source_with_torch or can_use(Bow)) and
here(can_use(Slingshot) or can_use(Bow)) and
here(can_blast_or_smash) and
here(can_use(Hookshot) or can_use(Boomerang) or can_hover)) or
(is_child and (has_explosives or Blue_Fire) and
(can_use(Boomerang) or can_hover) and has_fire_source_with_torch) or
(is_adult and has_explosives and Progressive_Hookshot and Hover_Boots and can_live_dmg(0.5) and
(Bow or has_fire_source))"
},
"exits": {
"Deku Tree Slingshot Room": "here(has_shield)",
"Deku Tree Boss Room": "here(has_fire_source_with_torch()) or can_shield
or is_adult"
}
},
{
"region_name": "Deku Tree Slingshot Room",
"dungeon": "Deku Tree",
"locations": {
"Deku Tree Slingshot Chest": "True",
"Deku Tree Slingshot Room Side Chest": "True"
},
"exits": {
"Deku Tree Lobby": "True"
}
},
{
"region_name": "Deku Tree Boss Room",
"dungeon": "Deku Tree",
"events": {
"Deku Tree Clear": "(Nuts or can_use(Slingshot) or has_bombchus or can_use(Hookshot) or can_use(Bow) or can_use(Boomerang)) and
((here(has_shield or can_use(Megaton_Hammer)) and (is_adult or Kokiri_Sword or Sticks)) or is_adult)"
},
"locations": {
"Deku Tree Queen Gohma Heart": "(Nuts or can_use(Slingshot) or has_bombchus or can_use(Hookshot) or can_use(Bow) or can_use(Boomerang)) and
((here(has_shield or can_use(Megaton_Hammer)) and (is_adult or Kokiri_Sword or Sticks)) or is_adult)",
"Queen Gohma": "(Nuts or can_use(Slingshot) or has_bombchus or can_use(Hookshot) or can_use(Bow) or can_use(Boomerang)) and
((here(has_shield or can_use(Megaton_Hammer)) and (is_adult or Kokiri_Sword or Sticks)) or is_adult)"
},
"exits": {
"Deku Tree Lobby": "True"
}
}
]

View File

@@ -0,0 +1,65 @@
[
{
"region_name": "Dodongos Cavern Beginning",
"dungeon": "Dodongos Cavern",
"exits": {
"Dodongos Cavern Entryway": "True",
"Dodongos Cavern Lobby": "can_blast_or_smash or Progressive_Strength_Upgrade"
}
},
{
"region_name": "Dodongos Cavern Lobby",
"dungeon": "Dodongos Cavern",
"locations": {
"Dodongos Cavern MQ Map Chest": "True",
"Dodongos Cavern MQ Compass Chest": "is_adult or can_child_attack or Nuts",
"Dodongos Cavern MQ Larvae Room Chest": "can_use(Sticks) or has_fire_source",
"Dodongos Cavern MQ Torch Puzzle Room Chest": "
can_blast_or_smash or can_use(Sticks) or can_use(Dins_Fire) or
(is_adult and (logic_dc_jump or Hover_Boots or Progressive_Hookshot))",
"Dodongos Cavern MQ Bomb Bag Chest": "
is_adult or
(Slingshot and
(has_explosives or
((Sticks or can_use(Dins_Fire)) and can_take_damage)))",
"Dodongos Cavern MQ GS Song of Time Block Room": "
can_play(Song_of_Time) and (can_child_attack or is_adult)",
"Dodongos Cavern MQ GS Larvae Room": "can_use(Sticks) or has_fire_source",
"Dodongos Cavern MQ GS Lizalfos Room": "can_blast_or_smash",
"Dodongos Cavern MQ GS Scrub Room": "
(can_use(Boomerang) and (Slingshot or (can_become_adult and has_explosives)) and
(has_explosives or (Progressive_Strength_Upgrade and
(Megaton_Hammer or
((Sticks or can_use(Dins_Fire) or
(can_become_adult and (logic_dc_jump or Hover_Boots))) and
can_take_damage))))) or
(can_use(Hookshot) and (has_explosives or Progressive_Strength_Upgrade or
Bow or can_use(Dins_Fire)))",
"Dodongos Cavern MQ Deku Scrub Lobby Rear": "can_stun_deku",
"Dodongos Cavern MQ Deku Scrub Lobby Front": "can_stun_deku",
"Dodongos Cavern MQ Deku Scrub Staircase": "can_stun_deku",
"Dodongos Cavern MQ Deku Scrub Side Room Near Lower Lizalfos": "
is_adult or has_explosives or
((Sticks or can_use(Dins_Fire)) and can_take_damage)",
"Dodongos Cavern Gossip Stone": "True"
},
"exits": {
"Dodongos Cavern Boss Area": "has_explosives"
}
},
{
"region_name": "Dodongos Cavern Boss Area",
"dungeon": "Dodongos Cavern",
"locations": {
"Dodongos Cavern MQ Under Grave Chest": "True",
"Dodongos Cavern Boss Room Chest": "True",
"Dodongos Cavern King Dodongo Heart": "
(Bombs or Progressive_Strength_Upgrade) and
(is_adult or Sticks or Kokiri_Sword)",
"King Dodongo": "
(Bombs or Progressive_Strength_Upgrade) and
(is_adult or Sticks or Kokiri_Sword)",
"Dodongos Cavern MQ GS Back Area": "True"
}
}
]

View File

@@ -0,0 +1,91 @@
[
{
"region_name": "Dodongos Cavern Beginning",
"dungeon": "Dodongos Cavern",
"exits": {
"Dodongos Cavern Lobby": "
here(can_blast_or_smash or Blue_Fire) or Progressive_Strength_Upgrade"
}
},
{
"region_name": "Dodongos Cavern Lobby",
"dungeon": "Dodongos Cavern",
"locations": {
"Dodongos Cavern Map Chest": "True",
"Dodongos Cavern Compass Chest": "
is_adult or Sticks or
(can_use(Dins_Fire) and (Slingshot or has_explosives or Kokiri_Sword))
or can_shield",
"Dodongos Cavern GS Side Room Near Lower Lizalfos": "
has_explosives or is_adult or can_child_attack or Blue_Fire",
"Dodongos Cavern GS Scarecrow": "True",
"Dodongos Cavern Deku Scrub Side Room Near Dodongos": "
is_adult or Slingshot or Sticks or
has_explosives or Kokiri_Sword or can_shield",
"Dodongos Cavern Deku Scrub Lobby": "True",
"Dodongos Cavern Gossip Stone": "True"
},
"exits": {
"Dodongos Cavern Beginning": "True",
"Dodongos Cavern Climb": "
here(
(is_adult or can_shield or
( (Sticks or can_use(Dins_Fire)) and
(Slingshot or Sticks or has_explosives or Kokiri_Sword)
)
)
) and
(has_explosives or Progressive_Strength_Upgrade or
can_use(Dins_Fire) or can_use(Bow) )"
}
},
{
"region_name": "Dodongos Cavern Climb",
"dungeon": "Dodongos Cavern",
"locations": {
"Dodongos Cavern Bomb Flower Platform Chest": "True",
"Dodongos Cavern GS Vines Above Stairs": "True",
"Dodongos Cavern Deku Scrub Near Bomb Bag Right": "can_blast_or_smash or (Blue_Fire and can_stun_deku)",
"Dodongos Cavern Deku Scrub Near Bomb Bag Left": "can_blast_or_smash or (Blue_Fire and can_stun_deku)"
},
"exits": {
"Dodongos Cavern Lobby": "True",
"Dodongos Cavern Far Bridge": "True"
}
},
{
"region_name": "Dodongos Cavern Far Bridge",
"dungeon": "Dodongos Cavern",
"locations": {
"Dodongos Cavern Bomb Bag Chest": "True",
"Dodongos Cavern End of Bridge Chest": "can_blast_or_smash or Blue_Fire",
"Dodongos Cavern GS Alcove Above Stairs": "can_use(Hookshot) or can_use(Boomerang)
or (can_live_dmg(0.5) and can_use(Hover_Boots)) or can_hover"
},
"exits": {
"Dodongos Cavern Boss Area": "has_explosives",
"Dodongos Cavern Lobby": "True"
}
},
{
"region_name": "Dodongos Cavern Boss Area",
"dungeon": "Dodongos Cavern",
"locations": {
"Dodongos Cavern Boss Room Chest": "True",
"Dodongos Cavern King Dodongo Heart": "
(Bombs or Progressive_Strength_Upgrade or
(has_bombchus and ((is_adult and can_shield) or (is_child and can_isg)))
) and
(is_adult or Sticks or Kokiri_Sword)",
"King Dodongo": "
(Bombs or Progressive_Strength_Upgrade or
(has_bombchus and ((is_adult and can_shield) or (is_child and can_isg)))
) and
(is_adult or Sticks or Kokiri_Sword)",
"Dodongos Cavern GS Back Room": "True"
},
"exits": {
"Dodongos Cavern Lobby": "True"
}
}
]

View File

@@ -0,0 +1,95 @@
[
{
"region_name": "Fire Temple Lower",
"dungeon": "Fire Temple",
"locations": {
"Fire Temple MQ Map Room Side Chest": "True",
"Fire Temple MQ Near Boss Chest": "
((Hover_Boots or (logic_fire_mq_near_boss and Bow)) and has_fire_source) or
(Progressive_Hookshot and (can_use(Fire_Arrows) or
(can_use(Dins_Fire) and
((damage_multiplier != 'ohko' and damage_multiplier != 'quadruple') or can_use(Goron_Tunic) or
Bow or (Progressive_Hookshot, 2)))))"
},
"exits": {
"DMC Central": "True",
"Fire Boss Room": "
has_fire_source and can_use(Goron_Tunic) and Megaton_Hammer and Boss_Key_Fire_Temple and
(logic_fire_boss_door_jump or Hover_Boots or at('Fire Temple Upper', True))",
"Fire Lower Locked Door": "
(Small_Key_Fire_Temple, 5) and
(has_explosives or Megaton_Hammer or Progressive_Hookshot)",
"Fire Big Lava Room": "can_use(Megaton_Hammer)"
}
},
{
"region_name": "Fire Lower Locked Door",
"dungeon": "Fire Temple",
"locations": {
"Fire Temple MQ Megaton Hammer Chest": "True",
"Fire Temple MQ Map Chest": "Megaton_Hammer"
}
},
{
"region_name": "Fire Big Lava Room",
"dungeon": "Fire Temple",
"locations": {
"Fire Temple MQ Boss Key Chest": "
has_fire_source and (Bow or logic_fire_mq_bk_chest) and
Progressive_Hookshot",
"Fire Temple MQ Big Lava Room Blocked Door Chest": "
has_fire_source and Progressive_Hookshot and has_explosives",
"Fire Temple MQ GS Big Lava Room Open Door": "True"
},
"exits": {
"Fire Lower Maze": "
can_use(Goron_Tunic) and (Small_Key_Fire_Temple, 2) and has_fire_source"
}
},
{
"region_name": "Fire Lower Maze",
"dungeon": "Fire Temple",
"locations": {
"Fire Temple MQ Lizalfos Maze Lower Chest": "True",
"Fire Temple MQ Lizalfos Maze Side Room Chest": "
has_explosives and (logic_fire_mq_maze_side_room or can_use(Hookshot))"
},
"exits": {
"Fire Upper Maze": "
(has_explosives or logic_rusted_switches) and can_use(Hookshot)"
}
},
{
"region_name": "Fire Upper Maze",
"dungeon": "Fire Temple",
"locations": {
"Fire Temple MQ Lizalfos Maze Upper Chest": "True",
"Fire Temple MQ Compass Chest": "has_explosives",
"Fire Temple MQ GS Skull On Fire": "
can_play(Song_of_Time) or can_use(Longshot)"
},
"exits": {
"Fire Temple Upper": "(Small_Key_Fire_Temple, 3) and Bow"
}
},
{
"region_name": "Fire Temple Upper",
"dungeon": "Fire Temple",
"locations": {
"Fire Temple MQ Freestanding Key": "True",
"Fire Temple MQ Chest On Fire": "(Small_Key_Fire_Temple, 4)",
"Fire Temple MQ GS Fire Wall Maze Side Room": "
can_play(Song_of_Time) or Hover_Boots",
"Fire Temple MQ GS Fire Wall Maze Center": "has_explosives",
"Fire Temple MQ GS Above Fire Wall Maze": "(Small_Key_Fire_Temple, 5)"
}
},
{
"region_name": "Fire Boss Room",
"dungeon": "Fire Temple",
"locations": {
"Fire Temple Volvagia Heart": "True",
"Volvagia": "True"
}
}
]

View File

@@ -0,0 +1,96 @@
[
{
"region_name": "Fire Temple Lower",
"dungeon": "Fire Temple",
"locations": {
"Fire Temple Near Boss Chest" : "True",
"Fire Temple Flare Dancer Chest": "
((Small_Key_Fire_Temple, 8) or not keysanity) and (can_use(Megaton_Hammer) or can_use(Hookshot) or has_explosives)",
"Fire Temple Boss Key Chest": "(
((Small_Key_Fire_Temple, 8) or not keysanity) and can_use(Megaton_Hammer)) or (can_mega and can_use(Hookshot))",
"Fire Temple Volvagia Heart": "
(can_use(Goron_Tunic) or (Fairy and has_explosives)) and can_use(Megaton_Hammer) and
(Boss_Key_Fire_Temple or at('Fire Temple Flame Maze', True))",
"Volvagia": "
(can_use(Goron_Tunic) or (Fairy and has_explosives)) and can_use(Megaton_Hammer) and
(Boss_Key_Fire_Temple or at('Fire Temple Flame Maze', True))",
"Fire Temple GS Boss Key Loop": "
((Small_Key_Fire_Temple, 8) or not keysanity)"
},
"exits": {
"Fire Temple Big Lava Room":"(Small_Key_Fire_Temple, 2)"
}
},
{
"region_name": "Fire Temple Big Lava Room",
"dungeon": "Fire Temple",
"locations": {
"Fire Temple Big Lava Room Lower Open Door Chest": "True",
"Fire Temple Big Lava Room Blocked Door Chest": "has_explosives",
"Fire Temple GS Song of Time Room": "is_adult"
},
"exits": {
"Fire Temple Lower": "True",
"Fire Temple Middle": "
(can_use(Goron_Tunic) or Fairy) and (Small_Key_Fire_Temple, 4) and
(has_explosives or can_use(Bow) or can_use(Hookshot))"
}
},
{
"region_name": "Fire Temple Middle",
"dungeon": "Fire Temple",
"locations": {
"Fire Temple Boulder Maze Lower Chest": "True",
"Fire Temple Boulder Maze Upper Chest": "(Small_Key_Fire_Temple, 6)
or (has_explosives and can_live_dmg(0.5) and (Small_Key_Fire_Temple, 4))",
"Fire Temple Boulder Maze Side Room Chest": "True",
"Fire Temple Boulder Maze Shortcut Chest": "((Small_Key_Fire_Temple, 6) and has_explosives) or
(((has_explosives and can_live_dmg(0.5)) or can_weirdshot) and (Small_Key_Fire_Temple, 4))",
"Fire Temple Scarecrow Chest": "(
(Small_Key_Fire_Temple, 6) or (has_explosives and can_live_dmg(0.5) and (Small_Key_Fire_Temple, 4)) )
and (can_use(Scarecrow) or can_hover)",
"Fire Temple Map Chest": "
(Small_Key_Fire_Temple, 6) or ((Small_Key_Fire_Temple, 5) and can_use(Bow)) or
(has_explosives and can_live_dmg(0.5) and (Small_Key_Fire_Temple, 4))",
"Fire Temple GS Boulder Maze": "(Small_Key_Fire_Temple, 4) and has_explosives",
"Fire Temple GS Scarecrow Climb": "(
(Small_Key_Fire_Temple, 6) or (has_explosives and can_live_dmg(0.5) and (Small_Key_Fire_Temple, 4)) )
and (can_use(Scarecrow) or can_hover)",
"Fire Temple GS Scarecrow Top": "(
(Small_Key_Fire_Temple, 6) or (has_explosives and can_live_dmg(0.5) and (Small_Key_Fire_Temple, 4)) )
and (can_use(Scarecrow) or can_hover)"
},
"exits": {
"Fire Temple Flame Maze": "(Small_Key_Fire_Temple, 7)"
}
},
{
"region_name": "Fire Temple Flame Maze",
"dungeon": "Fire Temple",
"locations": {
"Fire Temple Compass Chest": "(Small_Key_Fire_Temple, 7)"
},
"exits": {
"Fire Temple Upper": "(Small_Key_Fire_Temple, 7)"
}
},
{
"region_name": "Fire Temple Upper",
"dungeon": "Fire Temple",
"locations": {
"Fire Temple Highest Goron Chest": "(
can_use(Megaton_Hammer) or (has_explosives and can_live_dmg(1.0))
) or
(
(can_mega and can_use(Hookshot)) or
(can_play(Song_of_Time) and
(can_use(Megaton_Hammer) or can_use(Hover_Boots) or (has_explosives and can_live_dmg(0.5)) )
)
)
",
"Fire Temple Megaton Hammer Chest": "has_explosives or
can_use(Megaton_Hammer)"
}
}
]

View File

@@ -0,0 +1,146 @@
[
{
"region_name": "Forest Temple Lobby",
"dungeon": "Forest Temple",
"locations": {
#If entrances are shuffled, Adult might lose access to the Kokiri forest
#Babas for nuts. As this is sphere 0 for both ages, this case is covered
#by putting the babas here.
"Forest Temple Deku Baba Nuts": "True",
"Forest Temple Deku Baba Sticks": "True",
"Forest Temple MQ First Room Chest": "True",
"Forest Temple MQ GS First Hallway": "True"
},
"exits": {
"Sacred Forest Meadow": "True",
"Forest Temple Central Area": "(Small_Key_Forest_Temple, 1)"
}
},
{
"region_name": "Forest Temple Central Area",
"dungeon": "Forest Temple",
"locations": {
"Forest Temple MQ Wolfos Chest": "can_play(Song_of_Time)",
"Forest Temple MQ GS Block Push Room": "True"
},
"exits": {
"Forest Temple NW Outdoors": "can_use(Bow)",
"Forest Temple NE Outdoors": "can_use(Bow)",
"Forest Temple After Block Puzzle": "
(has_bombchus and logic_forest_mq_block_puzzle) or Progressive_Strength_Upgrade",
"Forest Temple Outdoor Ledge": "
(has_bombchus and logic_forest_mq_block_puzzle) or
Progressive_Strength_Upgrade or can_use(Hover_Boots)",
"Forest Temple Boss Region": "
Forest_Temple_Jo_and_Beth and Forest_Temple_Amy_and_Meg"
}
},
{
"region_name": "Forest Temple After Block Puzzle",
"dungeon": "Forest Temple",
"locations": {
"Forest Temple MQ Boss Key Chest": "(Small_Key_Forest_Temple, 3)"
},
"exits": {
"Forest Temple Bow Region": "(Small_Key_Forest_Temple, 4)"
}
},
{
"region_name": "Forest Temple Outdoor Ledge",
"dungeon": "Forest Temple",
"locations": {
"Forest Temple MQ Redead Chest": "True"
},
"exits": {
"Forest Temple NW Outdoors": "True"
}
},
{
"region_name": "Forest Temple NW Outdoors",
"dungeon": "Forest Temple",
"locations": {
"Forest Temple MQ GS Level Island Courtyard": "True"
},
"exits": {
"Forest Temple NE Outdoors": "
can_use(Iron_Boots) or can_use(Longshot) or
(Progressive_Scale, 2) or (logic_forest_well_swim and can_use(Hookshot))",
"Forest Temple Outdoors Top Ledges": "can_use(Fire_Arrows)"
}
},
{
"region_name": "Forest Temple NE Outdoors",
"dungeon": "Forest Temple",
"locations": {
"Forest Temple MQ Well Chest": "can_use(Bow)",
"Forest Temple MQ GS Raised Island Courtyard": "True",
"Forest Temple MQ GS Well": "can_use(Iron_Boots) or can_use(Bow)"
},
"exits": {
"Forest Temple Outdoors Top Ledges": "
can_use(Longshot) or can_use(Hover_Boots) or can_play(Song_of_Time) or
(logic_forest_vines and can_use(Hookshot))",
"Forest Temple NE Outdoors Ledge": "can_use(Longshot)"
}
},
{
"region_name": "Forest Temple Outdoors Top Ledges",
"dungeon": "Forest Temple",
"locations": {
"Forest Temple MQ Raised Island Courtyard Upper Chest": "True"
},
"exits": {
"Forest Temple NE Outdoors": "True"
}
},
{
"region_name": "Forest Temple NE Outdoors Ledge",
"dungeon": "Forest Temple",
"locations": {
"Forest Temple MQ Raised Island Courtyard Lower Chest": "True"
},
"exits": {
"Forest Temple NE Outdoors": "True",
"Forest Temple Falling Room": "can_play(Song_of_Time)"
}
},
{
"region_name": "Forest Temple Bow Region",
"dungeon": "Forest Temple",
"events": {
"Forest Temple Jo and Beth": "can_use(Bow)"
},
"locations": {
"Forest Temple MQ Bow Chest": "True",
"Forest Temple MQ Map Chest": "can_use(Bow)",
"Forest Temple MQ Compass Chest": "can_use(Bow)"
},
"exits": {
"Forest Temple Falling Room": "
(Small_Key_Forest_Temple, 5) and
(can_use(Bow) or can_use(Dins_Fire))" # Only 5 keys because the door you could waste your key on is the door you're trying to use keys to get to.
}
},
{
"region_name": "Forest Temple Falling Room",
"dungeon": "Forest Temple",
"events": {
"Forest Temple Amy and Meg": "can_use(Bow) and (Small_Key_Forest_Temple, 6)"
},
"locations": {
"Forest Temple MQ Falling Ceiling Room Chest": "True"
},
"exits": {
"Forest Temple NE Outdoors Ledge": "True"
}
},
{
"region_name": "Forest Temple Boss Region",
"dungeon": "Forest Temple",
"locations": {
"Forest Temple MQ Basement Chest": "True",
"Forest Temple Phantom Ganon Heart": "Boss_Key_Forest_Temple",
"Phantom Ganon": "Boss_Key_Forest_Temple"
}
}
]

View File

@@ -0,0 +1,163 @@
[
{
"region_name": "Forest Temple Lobby",
"dungeon": "Forest Temple",
"locations": {
#If entrances are shuffled, Adult might lose access to the Kokiri forest
#Babas for nuts. As this is sphere 0 for both ages, this case is covered
#by putting the babas here.
"Deku Baba Nuts": "is_adult",
"Deku Baba Sticks": "is_adult",
"Forest Temple First Room Chest": "True",
"Forest Temple First Stalfos Chest": "can_jumpslash",
"Forest Temple GS First Room": "can_use(Dins_Fire) or can_use_projectile or (can_jumpslash and can_live_dmg(0.5))",
"Forest Temple GS Lobby": "can_use(Hookshot) or can_use(Boomerang) or can_hover"
},
"exits": {
"Forest Temple NW Outdoors": "True",
"Forest Temple NE Outdoors": "can_use(Bow) or can_use(Slingshot)",
"Forest Temple Block Push Room": "(Small_Key_Forest_Temple, 1)",
"Forest Temple Basement": "(Forest_Temple_Jo_and_Beth and Forest_Temple_Amy_and_Meg) or (can_use(Hover_Boots) and can_mega)",
"Forest Temple Falling Room": "can_hover or (can_use(Hover_Boots) and Bombs and can_live_dmg(0.5))",
"Forest Temple Boss Room": "is_adult"
}
},
{
"region_name": "Forest Temple NW Outdoors",
"dungeon": "Forest Temple",
"locations": {
"Forest Temple GS Level Island Courtyard": "
can_use(Longshot) or
at('Forest Temple Outside Upper Ledge', can_use(Hookshot) or can_hover)"
},
"exits": {
"Forest Temple Outdoors High Balconies": "
is_adult or
(has_explosives or
((can_use(Boomerang) or Nuts or Buy_Deku_Shield) and
(Sticks or Kokiri_Sword or can_use(Slingshot))))",
"Forest Temple Outside Upper Ledge": "can_hover or (can_use(Hover_Boots) and has_explosives and can_live_dmg(0.5))",
"Forest Temple Boss Room": "is_child and can_live_dmg(0.5)"
}
},
{
"region_name": "Forest Temple NE Outdoors",
"dungeon": "Forest Temple",
"locations": {
"Forest Temple Raised Island Courtyard Chest": "
can_use(Hookshot) or
at('Forest Temple Falling Room', True) or can_hover",
"Forest Temple GS Raised Island Courtyard": "
can_use(Hookshot) or can_hover or
at('Forest Temple Falling Room', can_use(Bow) or can_use(Dins_Fire) or has_explosives or can_use(Boomerang))"
},
"exits": {
"Forest Temple Outdoors High Balconies": "can_use(Hookshot)",
#Longshot can grab some very high up vines to drain the well.
"Forest Temple NW Outdoors": "can_use(Iron_Boots) or (Progressive_Scale, 2)",
"Forest Temple Lobby": "True",
"Forest Temple Falling Room": "can_hover or
at('Forest Temple Outdoors High Balconies',
can_use(Hover_Boots) and can_use(Scarecrow) and can_live_dmg(0.5))"
}
},
{
"region_name": "Forest Temple Outdoors High Balconies",
"dungeon": "Forest Temple",
"locations": {
"Forest Temple Well Chest": "True",
"Forest Temple Map Chest": "True"
},
"exits": {
"Forest Temple NW Outdoors": "True",
"Forest Temple NE Outdoors": "True"
}
},
{
"region_name": "Forest Temple Falling Room",
"dungeon": "Forest Temple",
"events": {
"Forest Temple Amy and Meg": "can_use(Bow)"
},
"locations": {
"Forest Temple Falling Ceiling Room Chest": "True"
},
"exits": {
"Forest Temple NE Outdoors": "True"
}
},
{
"region_name": "Forest Temple Block Push Room",
"dungeon": "Forest Temple",
"locations": {
"Forest Temple Eye Switch Chest": "
Progressive_Strength_Upgrade and (can_use(Bow) or can_use(Slingshot))"
},
"exits": {
"Forest Temple Outside Upper Ledge": "can_jumpslash",
"Forest Temple Bow Region": "
(Progressive_Strength_Upgrade or (can_mega and (can_hover or Hover_Boots)))
and (Small_Key_Forest_Temple, 3) and is_adult",
"Forest Temple Straightened Hall": "
(Progressive_Strength_Upgrade or (is_adult and can_mega and (can_hover or Hover_Boots)))
and (Small_Key_Forest_Temple, 2) and (can_use(Bow) or (can_use(Slingshot) and can_hover))"
}
},
{
"region_name": "Forest Temple Straightened Hall",
"dungeon": "Forest Temple",
"locations": {
"Forest Temple Boss Key Chest": "True"
},
"exits": {
"Forest Temple Outside Upper Ledge": "True"
}
},
{
"region_name": "Forest Temple Outside Upper Ledge",
"dungeon": "Forest Temple",
"locations": {
"Forest Temple Floormaster Chest": "is_adult or can_child_damage"
},
"exits": {
"Forest Temple NW Outdoors": "True"
}
},
{
"region_name": "Forest Temple Bow Region",
"dungeon": "Forest Temple",
"events": {
"Forest Temple Jo and Beth": "can_use(Bow)"
},
"locations": {
"Forest Temple Bow Chest": "True",
"Forest Temple Red Poe Chest": "can_use(Bow)",
"Forest Temple Blue Poe Chest": "can_use(Bow)"
},
"exits": {
"Forest Temple Falling Room": "
(Small_Key_Forest_Temple, 5) and (Bow or can_use(Dins_Fire))"
}
},
{
"region_name": "Forest Temple Basement",
"dungeon": "Forest Temple",
"locations": {
"Forest Temple Basement Chest": "True",
"Forest Temple GS Basement": "can_use(Hookshot) or can_use(Boomerang) or can_hover"
},
"exits":{
"Forest Temple Boss Room": "Boss_Key_Forest_Temple"
}
},
{
"region_name": "Forest Temple Boss Room",
"dungeon": "Forest Temple",
"locations": {
"Forest Temple Phantom Ganon Heart": "(can_use(Hookshot) or can_use(Bow)) or
(can_use(Slingshot) and (Kokiri_Sword or Sticks))",
"Phantom Ganon": "(can_use(Hookshot) or can_use(Bow)) or
(can_use(Slingshot) and (Kokiri_Sword or Sticks))"
}
}
]

View File

@@ -0,0 +1,123 @@
[
{
"region_name": "Ganons Castle Lobby",
"exits": {
"Ganons Castle Grounds": "True",
"Ganons Castle Forest Trial": "True",
"Ganons Castle Fire Trial": "True",
"Ganons Castle Water Trial": "True",
"Ganons Castle Shadow Trial": "True",
"Ganons Castle Spirit Trial": "True",
"Ganons Castle Light Trial": "can_use(Golden_Gauntlets)",
"Ganons Castle Tower": "
(skipped_trials[Forest] or 'Forest Trial Clear') and
(skipped_trials[Fire] or 'Fire Trial Clear') and
(skipped_trials[Water] or 'Water Trial Clear') and
(skipped_trials[Shadow] or 'Shadow Trial Clear') and
(skipped_trials[Spirit] or 'Spirit Trial Clear') and
(skipped_trials[Light] or 'Light Trial Clear')",
"Ganons Castle Deku Scrubs": "logic_lens_castle_mq or can_use(Lens_of_Truth)"
}
},
{
"region_name": "Ganons Castle Deku Scrubs",
"locations": {
"Ganons Castle MQ Deku Scrub Center-Left": "True",
"Ganons Castle MQ Deku Scrub Center": "True",
"Ganons Castle MQ Deku Scrub Center-Right": "True",
"Ganons Castle MQ Deku Scrub Left": "True",
"Ganons Castle MQ Deku Scrub Right": "True"
}
},
{
"region_name": "Ganons Castle Forest Trial",
"dungeon": "Ganons Castle",
"events": {
"Forest Trial Clear": "can_use(Light_Arrows) and can_play(Song_of_Time)"
},
"locations": {
"Ganons Castle MQ Forest Trial Eye Switch Chest": "Bow",
"Ganons Castle MQ Forest Trial Frozen Eye Switch Chest": "has_fire_source",
"Ganons Castle MQ Forest Trial Freestanding Key": "Progressive_Hookshot"
}
},
{
"region_name": "Ganons Castle Fire Trial",
"dungeon": "Ganons Castle",
"events": {
"Fire Trial Clear": "
can_use(Goron_Tunic) and can_use(Golden_Gauntlets) and
can_use(Light_Arrows) and (can_use(Longshot) or Hover_Boots)"
}
},
{
"region_name": "Ganons Castle Water Trial",
"dungeon": "Ganons Castle",
"events": {
"Water Trial Clear": "
Blue_Fire and can_use(Light_Arrows) and
(Small_Key_Ganons_Castle, 3)"
},
"locations": {
"Ganons Castle MQ Water Trial Chest": "Blue_Fire",
"Blue Fire": "has_bottle"
}
},
{
"region_name": "Ganons Castle Shadow Trial",
"dungeon": "Ganons Castle",
"events": {
"Shadow Trial Clear": "
can_use(Light_Arrows) and (logic_lens_castle_mq or can_use(Lens_of_Truth)) and
(Hover_Boots or (Progressive_Hookshot and has_fire_source))"
},
"locations": {
"Ganons Castle MQ Shadow Trial Bomb Flower Chest": "
(Bow and (Progressive_Hookshot or Hover_Boots)) or
(Hover_Boots and (logic_lens_castle_mq or can_use(Lens_of_Truth)) and
(has_explosives or Progressive_Strength_Upgrade or can_use(Dins_Fire)))",
"Ganons Castle MQ Shadow Trial Eye Switch Chest": "
Bow and (logic_lens_castle_mq or can_use(Lens_of_Truth)) and
(Hover_Boots or (Progressive_Hookshot and has_fire_source))"
}
},
{
"region_name": "Ganons Castle Spirit Trial",
"dungeon": "Ganons Castle",
"events": {
"Spirit Trial Clear": "
can_use(Light_Arrows) and Megaton_Hammer and
has_bombchus and Fire_Arrows and Mirror_Shield"
},
"locations": {
"Ganons Castle MQ Spirit Trial First Chest": "(Bow or logic_rusted_switches) and Megaton_Hammer",
"Ganons Castle MQ Spirit Trial Invisible Chest": "
(Bow or logic_rusted_switches) and Megaton_Hammer and
has_bombchus and (logic_lens_castle_mq or can_use(Lens_of_Truth))",
"Ganons Castle MQ Spirit Trial Sun Front Left Chest": "
Megaton_Hammer and has_bombchus and
can_use(Fire_Arrows) and Mirror_Shield",
"Ganons Castle MQ Spirit Trial Sun Back Left Chest": "
Megaton_Hammer and has_bombchus and
can_use(Fire_Arrows) and Mirror_Shield",
"Ganons Castle MQ Spirit Trial Golden Gauntlets Chest": "
Megaton_Hammer and has_bombchus and
can_use(Fire_Arrows) and Mirror_Shield",
"Ganons Castle MQ Spirit Trial Sun Back Right Chest": "
Megaton_Hammer and has_bombchus and
can_use(Fire_Arrows) and Mirror_Shield"
}
},
{
"region_name": "Ganons Castle Light Trial",
"dungeon": "Ganons Castle",
"events": {
"Light Trial Clear": "
can_use(Light_Arrows) and Progressive_Hookshot and
(Small_Key_Ganons_Castle, 3)"
},
"locations": {
"Ganons Castle MQ Light Trial Lullaby Chest": "can_play(Zeldas_Lullaby)"
}
}
]

View File

@@ -0,0 +1,115 @@
[
{
"region_name": "Ganons Castle Lobby",
"dungeon": "Ganons Castle",
"exits": {
"Ganons Castle Grounds": "True",
"Ganons Castle Forest Trial": "True",
"Ganons Castle Fire Trial": "True",
"Ganons Castle Water Trial": "True",
"Ganons Castle Shadow Trial": "True",
"Ganons Castle Spirit Trial": "True",
"Ganons Castle Light Trial": "can_use(Golden_Gauntlets) or (Bombs and can_shield) or (can_mega and can_use(Hover_Boots))",
"Ganons Castle Tower": "True",
"Ganons Castle Deku Scrubs": "True"
}
},
{
"region_name": "Ganons Castle Deku Scrubs",
"dungeon": "Ganons Castle",
"locations": {
"Ganons Castle Deku Scrub Center-Left": "True",
"Ganons Castle Deku Scrub Center-Right": "True",
"Ganons Castle Deku Scrub Right": "True",
"Ganons Castle Deku Scrub Left": "True"
}
},
{
"region_name": "Ganons Castle Forest Trial",
"dungeon": "Ganons Castle",
"events": {
"Forest Trial Clear": "can_use(Light_Arrows) and (Fire_Arrows or Dins_Fire)"
},
"locations": {
"Ganons Castle Forest Trial Chest": "True"
}
},
{
"region_name": "Ganons Castle Fire Trial",
"dungeon": "Ganons Castle",
"events": {
"Fire Trial Clear": "
(can_use(Goron_Tunic) or Fairy) and (can_use(Golden_Gauntlets) or can_use(Hover_Boots)) and
can_use(Light_Arrows) and (can_use(Longshot) or (can_mega and can_use(Hover_Boots)))"
}
},
{
"region_name": "Ganons Castle Water Trial",
"dungeon": "Ganons Castle",
"events": {
"Water Trial Clear": "(Blue_Fire or can_use(Hookshot)) and Megaton_Hammer and can_use(Light_Arrows)"
},
"locations": {
"Ganons Castle Water Trial Left Chest": "True",
"Ganons Castle Water Trial Right Chest": "True",
"Blue Fire": "has_bottle"
}
},
{
"region_name": "Ganons Castle Shadow Trial",
"dungeon": "Ganons Castle",
"events": {
"Shadow Trial Clear": "
can_use(Light_Arrows) and Megaton_Hammer and (
(has_bombchus and can_isg) or
(has_explosives and Hover_Boots and can_shield) or
( (can_use(Longshot) and (Hover_Boots or can_use(Dins_Fire)))
or can_use(Fire_Arrows) ))"
},
"locations": {
"Ganons Castle Shadow Trial Front Chest": "
can_use(Fire_Arrows) or can_use(Hookshot) or
Hover_Boots or can_play(Song_of_Time) or can_mega",
"Ganons Castle Shadow Trial Golden Gauntlets Chest": "(has_bombchus and can_isg) or
(has_explosives and Hover_Boots and can_shield) or
( (can_use(Longshot) and (Hover_Boots or can_use(Dins_Fire)))
or can_use(Fire_Arrows) )"
}
},
{
"region_name": "Ganons Castle Spirit Trial",
"dungeon": "Ganons Castle",
"events": {
# includes below 2 reqs here
"Spirit Trial Clear": "
can_use(Light_Arrows) and Mirror_Shield and
(has_bombchus or (can_shield and (can_use(Longshot) or Bow)))"
},
"locations": {
"Ganons Castle Spirit Trial Crystal Switch Chest": "True",
# include req for silver rupees here
"Ganons Castle Spirit Trial Invisible Chest": "
has_bombchus or (can_shield and (can_use(Longshot) or Bow))"
}
},
{
"region_name": "Ganons Castle Light Trial",
"dungeon": "Ganons Castle",
"events": {
"Light Trial Clear": "
can_use(Light_Arrows) and (Progressive_Hookshot or (has_explosives and can_shield)) and
(Small_Key_Ganons_Castle, 2)"
},
"locations": {
"Ganons Castle Light Trial First Left Chest": "True",
"Ganons Castle Light Trial Second Left Chest": "True",
"Ganons Castle Light Trial Third Left Chest": "True",
"Ganons Castle Light Trial First Right Chest": "True",
"Ganons Castle Light Trial Second Right Chest": "True",
"Ganons Castle Light Trial Third Right Chest": "True",
"Ganons Castle Light Trial Invisible Enemies Chest": "True",
"Ganons Castle Light Trial Lullaby Chest": "
can_play(Zeldas_Lullaby) and (Small_Key_Ganons_Castle, 1)"
}
}
]

View File

@@ -0,0 +1,79 @@
[
{
"region_name": "Gerudo Training Grounds Lobby",
"dungeon": "Gerudo Training Grounds",
"locations": {
"Gerudo Training Grounds MQ Lobby Left Chest": "True",
"Gerudo Training Grounds MQ Lobby Right Chest": "True",
"Gerudo Training Grounds MQ Hidden Ceiling Chest": "logic_lens_gtg_mq or can_use(Lens_of_Truth)",
"Gerudo Training Grounds MQ Maze Path First Chest": "True",
"Gerudo Training Grounds MQ Maze Path Second Chest": "True",
"Gerudo Training Grounds MQ Maze Path Third Chest": "(Small_Key_Gerudo_Training_Grounds, 1)"
},
"exits": {
"Gerudo Fortress": "True",
"Gerudo Training Grounds Left Side": "has_fire_source",
"Gerudo Training Grounds Right Side": "Bow"
}
},
{
"region_name": "Gerudo Training Grounds Right Side",
"dungeon": "Gerudo Training Grounds",
"locations": {
"Gerudo Training Grounds MQ Dinolfos Chest": "True",
"Gerudo Training Grounds MQ Underwater Silver Rupee Chest": "
(Hover_Boots or at('Gerudo Training Grounds Central Maze Right', can_use(Longshot) or Bow)) and
has_fire_source and Iron_Boots and (logic_fewer_tunic_requirements or can_use(Zora_Tunic)) and
can_take_damage",
"Wall Fairy": "has_bottle and can_use(Bow)" #in the Dinalfos room shoot the Gerudo symbol above the door to the lava room.
}
},
{
"region_name": "Gerudo Training Grounds Left Side",
"dungeon": "Gerudo Training Grounds",
"locations": {
"Gerudo Training Grounds MQ First Iron Knuckle Chest": "True"
},
"exits": {
"Gerudo Training Grounds Stalfos Room": "can_use(Longshot) or (logic_gtg_mq_with_hookshot and can_use(Hookshot))"
}
},
{
"region_name": "Gerudo Training Grounds Stalfos Room",
"dungeon": "Gerudo Training Grounds",
"locations": {
"Gerudo Training Grounds MQ Before Heavy Block Chest": "True",
"Gerudo Training Grounds MQ Heavy Block Chest": "can_use(Silver_Gauntlets)",
"Blue Fire": "has_bottle"
},
"exits": {
"Gerudo Training Grounds Back Areas": "can_play(Song_of_Time) and (logic_lens_gtg_mq or can_use(Lens_of_Truth)) and Blue_Fire"
}
},
{
"region_name": "Gerudo Training Grounds Back Areas",
"dungeon": "Gerudo Training Grounds",
"locations": {
"Gerudo Training Grounds MQ Eye Statue Chest": "Bow",
"Gerudo Training Grounds MQ Second Iron Knuckle Chest": "True",
"Gerudo Training Grounds MQ Flame Circle Chest": "True"
},
"exits": {
"Gerudo Training Grounds Central Maze Right": "Megaton_Hammer",
"Gerudo Training Grounds Right Side": "can_use(Longshot)"
}
},
{
"region_name": "Gerudo Training Grounds Central Maze Right",
"dungeon": "Gerudo Training Grounds",
"locations": {
"Gerudo Training Grounds MQ Maze Right Central Chest": "True",
"Gerudo Training Grounds MQ Maze Right Side Chest": "True",
"Gerudo Training Grounds MQ Ice Arrows Chest": "
(Small_Key_Gerudo_Training_Grounds, 3)"
},
"exits": {
"Gerudo Training Grounds Right Side": "True"
}
}
]

View File

@@ -0,0 +1,112 @@
[
{
"region_name": "Gerudo Training Grounds Lobby",
"dungeon": "Gerudo Training Grounds",
"locations": {
"Gerudo Training Grounds Lobby Left Chest": "can_use(Bow) or can_use(Slingshot)",
"Gerudo Training Grounds Lobby Right Chest": "can_use(Bow) or can_use(Slingshot)",
"Gerudo Training Grounds Stalfos Chest": "can_jumpslash",
"Gerudo Training Grounds Beamos Chest": "has_explosives and can_jumpslash",
"Wall Fairy": "has_bottle and can_use(Bow)" #in the Beamos room shoot the Gerudo symbol above the door to the lava room.
},
"exits": {
"Gerudo Training Grounds Heavy Block Room": "True",
"Gerudo Training Grounds Lava Room": "
here(has_explosives and can_jumpslash)",
"Gerudo Training Grounds Central Maze": "True"
}
},
{
"region_name": "Gerudo Training Grounds Central Maze",
"dungeon": "Gerudo Training Grounds",
"locations": {
"Gerudo Training Grounds Hidden Ceiling Chest": "(Small_Key_Gerudo_Training_Grounds, 3)
or (can_use(Hookshot) and can_mega) or (is_child and has_explosives and (can_live_dmg(0.5) or can_use(Nayrus_Love)))",
"Gerudo Training Grounds Maze Path First Chest": "(Small_Key_Gerudo_Training_Grounds, 4)
or (can_use(Hookshot) and can_mega) or (is_child and has_explosives and (can_live_dmg(1.0) or can_use(Nayrus_Love)))",
"Gerudo Training Grounds Maze Path Second Chest": "(Small_Key_Gerudo_Training_Grounds, 6)
or (can_use(Hookshot) and can_mega) or (is_child and has_explosives and (can_live_dmg(1.0) or can_use(Nayrus_Love)))",
"Gerudo Training Grounds Maze Path Third Chest": "(Small_Key_Gerudo_Training_Grounds, 7)
or (can_use(Hookshot) and can_mega) or (is_child and has_explosives and (can_live_dmg(0.5) or can_use(Nayrus_Love)))",
"Gerudo Training Grounds Maze Path Final Chest": "(Small_Key_Gerudo_Training_Grounds, 9)
or (can_use(Hookshot) and can_mega) or (is_child and has_explosives and (can_live_dmg(0.5) or can_use(Nayrus_Love)))"
},
"exits": {
"Gerudo Training Grounds Central Maze Right": "(Small_Key_Gerudo_Training_Grounds, 9)
or (can_use(Hookshot) and can_mega) or (is_child and has_explosives)"
}
},
{
"region_name": "Gerudo Training Grounds Central Maze Right",
"dungeon": "Gerudo Training Grounds",
"locations": {
"Gerudo Training Grounds Maze Right Central Chest": "True",
"Gerudo Training Grounds Maze Right Side Chest": "True",
"Gerudo Training Grounds Freestanding Key": "True"
},
"exits": {
"Gerudo Training Grounds Lava Room": "True"
}
},
{
"region_name": "Gerudo Training Grounds Lava Room",
"dungeon": "Gerudo Training Grounds",
"locations": {
"Gerudo Training Grounds Underwater Silver Rupee Chest": "
can_use(Hookshot) and (can_play(Song_of_Time) or can_mega) and Iron_Boots"
},
"exits": {
"Gerudo Training Grounds Central Maze Right": "can_play(Song_of_Time) or is_child
or (can_use(Hookshot) and can_use(Hover_Boots) and can_shield and Bombs)",
"Gerudo Training Grounds Hammer Room": "can_use(Hookshot)"
}
},
{
"region_name": "Gerudo Training Grounds Hammer Room",
"dungeon": "Gerudo Training Grounds",
"locations": {
"Gerudo Training Grounds Hammer Room Clear Chest": "True",
"Gerudo Training Grounds Hammer Room Switch Chest": "can_use(Megaton_Hammer) or
can_live_dmg(0.5) or can_use(Nayrus_Love)"
},
"exits": {
"Gerudo Training Grounds Eye Statue Lower": "can_use(Bow)",
"Gerudo Training Grounds Lava Room": "True"
}
},
{
"region_name": "Gerudo Training Grounds Eye Statue Lower",
"dungeon": "Gerudo Training Grounds",
"locations": {
"Gerudo Training Grounds Eye Statue Chest": "can_use(Bow)"
},
"exits": {
"Gerudo Training Grounds Hammer Room": "True"
}
},
{
"region_name": "Gerudo Training Grounds Eye Statue Upper",
"dungeon": "Gerudo Training Grounds",
"locations": {
"Gerudo Training Grounds Near Scarecrow Chest": "can_use(Bow)"
},
"exits": {
"Gerudo Training Grounds Eye Statue Lower": "True"
}
},
{
"region_name": "Gerudo Training Grounds Heavy Block Room",
"dungeon": "Gerudo Training Grounds",
"locations": {
"Gerudo Training Grounds Before Heavy Block Chest": "True",
"Gerudo Training Grounds Heavy Block First Chest": "can_use(Silver_Gauntlets)",
"Gerudo Training Grounds Heavy Block Second Chest": "can_use(Silver_Gauntlets)",
"Gerudo Training Grounds Heavy Block Third Chest": "can_use(Silver_Gauntlets)",
"Gerudo Training Grounds Heavy Block Fourth Chest": "can_use(Silver_Gauntlets)"
},
"exits": {
"Gerudo Training Grounds Eye Statue Upper": "can_use(Hookshot) or can_hover or
(is_adult and (Hover_Boots or (can_shield and Bombs)))"
}
}
]

View File

@@ -0,0 +1,35 @@
[
{
"region_name": "Ice Cavern Beginning",
"dungeon": "Ice Cavern",
"exits": {
"Zoras Fountain": "True",
"Ice Cavern": "True"
}
},
{
"region_name": "Ice Cavern",
"dungeon": "Ice Cavern",
"locations": {
"Blue Fire": "is_adult and has_bottle"
},
"exits": {
"Ice Cavern Interior": "Blue_Fire"
}
},
{
"region_name": "Ice Cavern Interior",
"dungeon": "Ice Cavern",
"locations": {
"Ice Cavern MQ Map Chest": "True",
"Ice Cavern MQ Compass Chest": "True",
"Ice Cavern MQ Iron Boots Chest": "True",
"Ice Cavern MQ Freestanding PoH": "has_explosives",
"Sheik in Ice Cavern": "True",
"Ice Cavern MQ GS Red Ice": "can_play(Song_of_Time)",
"Ice Cavern MQ GS Ice Block": "True",
"Ice Cavern MQ GS Scarecrow": "
can_use(Scarecrow) or (Hover_Boots and can_use(Longshot))"
}
}
]

View File

@@ -0,0 +1,31 @@
[
{ ##Child must be able to hover to get in here so can_hover is always true as child
"region_name": "Ice Cavern Beginning",
"dungeon": "Ice Cavern",
"exits": {
"Ice Cavern": "is_adult or Sticks or can_use(Dins_Fire)"
}
},
{
"region_name": "Ice Cavern",
"dungeon": "Ice Cavern",
"locations": {
# because child can always hover here, access to this chest is ageless and True
"Ice Cavern Map Chest": "Blue_Fire or (has_explosives and (can_live_dmg(0.5) or can_use(Nayrus_Love)))",
"Ice Cavern Compass Chest": "(is_adult or (is_child and (can_live_dmg(0.5) or can_use(Nayrus_Love)) )) and
(Blue_Fire or (has_explosives and (can_live_dmg(0.5) or can_use(Nayrus_Love)) ))",
"Ice Cavern Freestanding PoH": "(is_adult or (is_child and (can_live_dmg(0.5) or can_use(Nayrus_Love)))) and
(Blue_Fire or (is_adult and Bombs and can_shield and (can_live_dmg(0.5) or can_use(Nayrus_Love)))
or can_use(Boomerang))",
"Ice Cavern Iron Boots Chest": "(can_jumpslash or can_use(Slingshot) or can_use(Dins_Fire)) and (Blue_Fire or (can_use(Hover_Boots) and can_shield) or can_mega)",
"Sheik in Ice Cavern": "(can_jumpslash or can_use(Slingshot) or can_use(Dins_Fire)) and (Blue_Fire or (can_use(Hover_Boots) and can_shield) or can_mega)",
"Ice Cavern GS Spinning Scythe Room": "can_use(Hookshot) or can_use(Boomerang) or
(can_use(Hover_Boots) and can_mega)",
"Ice Cavern GS Heart Piece Room": "(is_adult or (is_child and (can_live_dmg(0.5) or can_use(Nayrus_Love)) )) and
(can_use(Boomerang) or can_use(Hookshot))",
"Ice Cavern GS Push Block Room": "(Blue_Fire or (can_use(Hover_Boots) and can_shield) or (is_adult and can_mega) or (is_child and can_live_dmg(0.5) and has_explosives))
and (can_use(Hookshot) or can_use(Boomerang) or can_hover)",
"Blue Fire": "has_bottle"
}
}
]

View File

@@ -0,0 +1,61 @@
[
{
"region_name": "Jabu Jabus Belly Beginning",
"dungeon": "Jabu Jabus Belly",
"locations": {
"Jabu Jabus Belly MQ Map Chest": "has_explosives",
"Jabu Jabus Belly MQ First Room Side Chest": "Slingshot"
},
"exits": {
"Zoras Fountain": "True",
"Jabu Jabus Belly Main": "Slingshot"
}
},
{
"region_name": "Jabu Jabus Belly Main",
"dungeon": "Jabu Jabus Belly",
"locations": {
"Jabu Jabus Belly MQ Second Room Lower Chest": "True",
"Jabu Jabus Belly MQ Compass Chest": "True",
"Jabu Jabus Belly MQ Basement Near Vines Chest": "True",
"Jabu Jabus Belly MQ Basement Near Switches Chest": "True",
"Jabu Jabus Belly MQ Boomerang Room Small Chest": "True",
"Jabu Jabus Belly MQ Boomerang Chest": "True",
"Jabu Jabus Belly MQ GS Boomerang Chest Room": "
can_play(Song_of_Time) or (logic_jabu_mq_sot_gs and Boomerang)"
},
"exits": {
"Jabu Jabus Belly Beginning": "True",
"Jabu Jabus Belly Depths": "has_explosives and Boomerang"
}
},
{
"region_name": "Jabu Jabus Belly Depths",
"dungeon": "Jabu Jabus Belly",
"locations": {
"Jabu Jabus Belly MQ Falling Like Like Room Chest": "True",
"Jabu Jabus Belly MQ GS Tailpasaran Room": "Sticks or can_use(Dins_Fire)",
"Jabu Jabus Belly MQ GS Invisible Enemies Room": "logic_lens_jabu_mq or can_use(Lens_of_Truth)"
},
"exits": {
"Jabu Jabus Belly Main": "True",
"Jabu Jabus Belly Boss Area": "
Sticks or (Kokiri_Sword and can_use(Dins_Fire))"
}
},
{
"region_name": "Jabu Jabus Belly Boss Area",
"dungeon": "Jabu Jabus Belly",
"locations": {
"Jabu Jabus Belly MQ Cow" : "can_play(Eponas_Song)",
"Jabu Jabus Belly MQ Second Room Upper Chest": "True",
"Jabu Jabus Belly MQ Near Boss Chest": "True",
"Jabu Jabus Belly Barinade Heart": "True",
"Barinade": "True",
"Jabu Jabus Belly MQ GS Near Boss": "True"
},
"exits": {
"Jabu Jabus Belly Main": "True"
}
}
]

View File

@@ -0,0 +1,49 @@
[
{
"region_name": "Jabu Jabus Belly Beginning",
"dungeon": "Jabu Jabus Belly",
"exits": {
"Jabu Jabus Belly Main": "can_use_projectile or can_isg"
}
},
{
"region_name": "Jabu Jabus Belly Main",
"dungeon": "Jabu Jabus Belly",
"locations": {
"Jabu Jabus Belly Boomerang Chest": "True",
"Jabu Jabus Belly GS Water Switch Room": "True",
"Jabu Jabus Belly GS Lobby Basement Lower": "can_use(Boomerang) or can_use(Hookshot) or can_hover",
"Jabu Jabus Belly GS Lobby Basement Upper": "can_use(Boomerang) or can_use(Hookshot) or can_hover",
"Jabu Jabus Belly Deku Scrub": "True"
},
"exits": {
"Jabu Jabus Belly Beginning": "True",
"Jabu Jabus Belly Depths": "True"
}
},
{
"region_name": "Jabu Jabus Belly Depths",
"dungeon": "Jabu Jabus Belly",
"locations": {
"Jabu Jabus Belly Map Chest": "can_use(Boomerang)",
"Jabu Jabus Belly Compass Chest": "can_use(Boomerang) or Fairy
or (is_adult and (can_live_dmg(0.5) or Hover_Boots) and has_explosives)"
},
"exits": {
"Jabu Jabus Belly Main": "True",
"Jabu Jabus Belly Boss Area": "can_use(Boomerang) or can_use(Hover_Boots) or can_mega"
}
},
{
"region_name": "Jabu Jabus Belly Boss Area",
"dungeon": "Jabu Jabus Belly",
"locations": {
"Jabu Jabus Belly Barinade Heart": "can_use(Boomerang) and (Sticks or Kokiri_Sword)",
"Barinade": "can_use(Boomerang) and (Sticks or Kokiri_Sword)",
"Jabu Jabus Belly GS Near Boss": "True"
},
"exits": {
"Jabu Jabus Belly Main": "True"
}
}
]

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,99 @@
[
{
"region_name": "Shadow Temple Entryway",
"dungeon": "Shadow Temple",
"exits": {
"Shadow Temple Beginning": "
(logic_lens_shadow_mq or can_use(Lens_of_Truth)) and
(can_use(Hover_Boots) or can_use(Hookshot))"
}
},
{
"region_name": "Shadow Temple Beginning",
"dungeon": "Shadow Temple",
"exits": {
"Shadow Temple Entryway": "True",
"Shadow Temple First Beamos": "can_use(Fire_Arrows) or Hover_Boots",
"Shadow Temple Dead Hand Area": "has_explosives and (Small_Key_Shadow_Temple, 6)"
}
},
{
"region_name": "Shadow Temple Dead Hand Area",
"dungeon": "Shadow Temple",
"locations": {
"Shadow Temple MQ Compass Chest": "True",
"Shadow Temple MQ Hover Boots Chest": "can_play(Song_of_Time) and Bow"
}
},
{
"region_name": "Shadow Temple First Beamos",
"dungeon": "Shadow Temple",
"locations": {
"Shadow Temple MQ Map Chest": "True",
"Shadow Temple MQ Early Gibdos Chest": "True",
"Shadow Temple MQ Near Ship Invisible Chest": "True"
},
"exits": {
"Shadow Temple Huge Pit": "has_explosives and (Small_Key_Shadow_Temple, 2)"
}
},
{
"region_name": "Shadow Temple Huge Pit",
"dungeon": "Shadow Temple",
"locations": {
"Shadow Temple MQ Invisible Blades Visible Chest": "can_play(Song_of_Time)",
"Shadow Temple MQ Invisible Blades Invisible Chest": "can_play(Song_of_Time)",
"Shadow Temple MQ Beamos Silver Rupees Chest": "can_use(Longshot)",
"Shadow Temple MQ Falling Spikes Lower Chest": "True",
"Shadow Temple MQ Falling Spikes Upper Chest": "Progressive_Strength_Upgrade",
"Shadow Temple MQ Falling Spikes Switch Chest": "Progressive_Strength_Upgrade",
"Shadow Temple MQ Invisible Spikes Chest": "Hover_Boots and (Small_Key_Shadow_Temple, 3)",
"Shadow Temple MQ Stalfos Room Chest": "
Hover_Boots and (Small_Key_Shadow_Temple, 3) and Progressive_Hookshot",
"Shadow Temple MQ GS Falling Spikes Room": "Progressive_Hookshot"
},
"exits": {
"Shadow Temple Wind Tunnel": "
Hover_Boots and Progressive_Hookshot and (Small_Key_Shadow_Temple, 4)"
}
},
{
"region_name": "Shadow Temple Wind Tunnel",
"dungeon": "Shadow Temple",
"locations": {
"Shadow Temple MQ Wind Hint Chest": "True",
"Shadow Temple MQ After Wind Enemy Chest": "True",
"Shadow Temple MQ After Wind Hidden Chest": "True",
"Shadow Temple MQ GS Wind Hint Room": "True",
"Shadow Temple MQ GS After Wind": "True"
},
"exits": {
"Shadow Temple Beyond Boat": "
can_play(Zeldas_Lullaby) and (Small_Key_Shadow_Temple, 5)"
}
},
{
"region_name": "Shadow Temple Beyond Boat",
"dungeon": "Shadow Temple",
"locations": {
"Shadow Temple Bongo Bongo Heart": "Bow and Boss_Key_Shadow_Temple",
"Bongo Bongo": "Bow and Boss_Key_Shadow_Temple",
"Shadow Temple MQ GS After Ship": "True",
"Shadow Temple MQ GS Near Boss": "Bow"
},
"exits": {
"Shadow Temple Invisible Maze": "
Bow and can_play(Song_of_Time) and can_use(Longshot)"
}
},
{
"region_name": "Shadow Temple Invisible Maze",
"dungeon": "Shadow Temple",
"locations": {
"Shadow Temple MQ Spike Walls Left Chest": "(Small_Key_Shadow_Temple, 6)",
"Shadow Temple MQ Boss Key Chest": "(Small_Key_Shadow_Temple, 6)",
"Shadow Temple MQ Bomb Flower Chest": "True",
"Shadow Temple MQ Freestanding Key": "True"
}
}
]

View File

@@ -0,0 +1,108 @@
[
{
"region_name": "Shadow Temple Entryway",
"dungeon": "Shadow Temple",
"exits": {
"Shadow Temple Beginning": "can_use(Hover_Boots) or can_use(Hookshot) or can_mega"
}
},
{
"region_name": "Shadow Temple Beginning",
"dungeon": "Shadow Temple",
"locations": {
"Shadow Temple Map Chest": "can_jumpslash or (can_use(Dins_Fire) and has_projectile(child))",
"Shadow Temple Hover Boots Chest": "can_jumpslash"
},
"exits": {
"Shadow Temple Entryway": "True",
"Shadow Temple First Beamos": "can_use(Hover_Boots) or can_mega",
"Shadow Boss": "can_hover and has_explosives and can_use(Hover_Boots) and
can_live_dmg(2.0)"
}
},
{
"region_name": "Shadow Temple First Beamos",
"dungeon": "Shadow Temple",
"locations": {
"Shadow Temple Compass Chest": "can_jumpslash or can_use(Dins_Fire)",
"Shadow Temple Early Silver Rupee Chest": "is_adult or (is_child and can_hover)"
},
"exits": {
"Shadow Temple Huge Pit": "has_explosives and (Small_Key_Shadow_Temple, 5)",
"Shadow Temple Boat": "can_jumpslash"
}
},
{
"region_name": "Shadow Temple Huge Pit",
"dungeon": "Shadow Temple",
"locations": {
"Shadow Temple Invisible Blades Visible Chest": "can_jumpslash or Slingshot",
"Shadow Temple Invisible Blades Invisible Chest": "can_jumpslash or Slingshot",
"Shadow Temple Falling Spikes Lower Chest": "True",
"Shadow Temple Falling Spikes Upper Chest": "is_adult or can_hover",
"Shadow Temple Falling Spikes Switch Chest": "is_adult or can_hover",
"Shadow Temple Invisible Spikes Chest": "(Small_Key_Shadow_Temple, 5) and (can_jumpslash or can_use(Dins_Fire))",
"Shadow Temple Freestanding Key": "
(Small_Key_Shadow_Temple, 5) and (can_use(Hookshot) or can_hover)
and (Progressive_Strength_Upgrade or has_explosives)",
"Shadow Temple GS Like Like Room": "is_adult or can_use(Boomerang) or can_hover",
"Shadow Temple GS Falling Spikes Room": "can_use(Hookshot) or (is_adult and can_mega) or (is_child and can_hover)",
"Shadow Temple GS Single Giant Pot": "(Small_Key_Shadow_Temple, 5) and (can_use(Hookshot) or can_hover)"
},
"exits": {
"Shadow Temple Wind Tunnel": "(can_use(Hookshot) or can_hover) and (Small_Key_Shadow_Temple, 5)"
}
},
{
"region_name": "Shadow Temple Wind Tunnel",
"dungeon": "Shadow Temple",
"locations": {
"Shadow Temple Wind Hint Chest": "can_jumpslash or can_use(Dins_Fire)",
"Shadow Temple After Wind Enemy Chest": "can_jumpslash or can_use(Dins_Fire)",
"Shadow Temple After Wind Hidden Chest": "has_explosives"
},
"exits": {
"Shadow Temple Boat": "(Small_Key_Shadow_Temple, 5)",
"Shadow Temple Huge Pit": "can_hover"
}
},
{
"region_name": "Shadow Temple Boat",
"dungeon": "Shadow Temple",
"locations": {
"Shadow Temple GS Near Ship": "can_use(Longshot) or (can_use(Hover_Boots) and can_mega)
or (is_child and can_hover)"
},
"exits": {
"Shadow Temple Wind Tunnel": "(Small_Key_Shadow_Temple,5)",
"Shadow Temple Beyond Boat": "can_play(Zeldas_Lullaby) and
(is_adult or (is_child and can_hover))"
}
},
{
"region_name": "Shadow Temple Beyond Boat",
"dungeon": "Shadow Temple",
"locations": {
"Shadow Temple Spike Walls Left Chest": "can_use(Dins_Fire) or can_live_dmg(0.5) or Fairy or can_use(Nayrus_Love) or
(can_use(Hookshot) and can_mega)",
"Shadow Temple Boss Key Chest": "can_use(Dins_Fire) or can_live_dmg(0.5) or Fairy or can_use(Nayrus_Love) or
(can_use(Hookshot) and can_mega)",
"Shadow Temple Invisible Floormaster Chest": "True",
"Shadow Temple GS Triple Giant Pot": "True"
},
"exits": {
"Shadow Boss": "(has_bombchus or can_use(Distant_Scarecrow) or Bow or
(can_mega and can_use(Hover_Boots)) or can_hover) and
(Boss_Key_Shadow_Temple or (has_explosives and is_adult)) and
(can_mega or can_use(Hover_Boots)) and (Small_Key_Shadow_Temple, 5)"
}
},
{
"region_name": "Shadow Boss",
"dungeon": "Shadow Temple",
"locations": {
"Shadow Temple Bongo Bongo Heart": "True",
"Bongo Bongo": "True"
}
}
]

View File

@@ -0,0 +1,134 @@
[
{
"region_name": "Spirit Temple Lobby",
"dungeon": "Spirit Temple",
"locations": {
"Spirit Temple MQ Entrance Front Left Chest": "True",
"Spirit Temple MQ Entrance Back Left Chest": "
here(can_blast_or_smash) and
(can_use(Slingshot) or can_use(Bow))",
"Spirit Temple MQ Entrance Back Right Chest": "
has_bombchus or can_use(Bow) or can_use(Hookshot) or
can_use(Slingshot) or can_use(Boomerang)"
},
"exits": {
"Desert Colossus": "True",
"Child Spirit Temple": "is_child",
"Adult Spirit Temple": "
has_bombchus and can_use(Longshot) and can_use(Silver_Gauntlets)"
}
},
{
"region_name": "Child Spirit Temple",
"dungeon": "Spirit Temple",
"locations": {
"Spirit Temple MQ Map Room Enemy Chest": "
(Sticks or Kokiri_Sword) and
has_bombchus and Slingshot and can_use(Dins_Fire)",
"Spirit Temple MQ Map Chest": "
Sticks or Kokiri_Sword or has_explosives",
"Spirit Temple MQ Silver Block Hallway Chest": "
has_bombchus and (Small_Key_Spirit_Temple, 7) and Slingshot and
(can_use(Dins_Fire) or
here(is_adult and can_use(Longshot) and can_use(Silver_Gauntlets) and
(can_use(Fire_Arrows) or
(logic_spirit_mq_frozen_eye and Bow and can_play(Song_of_Time)))))"
},
"exits": {
"Spirit Temple Shared": "has_bombchus and (Small_Key_Spirit_Temple, 2)"
}
},
{
"region_name": "Adult Spirit Temple",
"dungeon": "Spirit Temple",
"locations": {
"Spirit Temple MQ Child Hammer Switch Chest": "
(Small_Key_Spirit_Temple, 7) and Megaton_Hammer and can_play(Requiem_of_Spirit)",
"Spirit Temple MQ Child Climb South Chest": "(Small_Key_Spirit_Temple, 7)",
"Spirit Temple MQ Statue Room Lullaby Chest": "can_play(Zeldas_Lullaby)",
"Spirit Temple MQ Statue Room Invisible Chest": "logic_lens_spirit_mq or can_use(Lens_of_Truth)",
"Spirit Temple MQ Beamos Room Chest": "(Small_Key_Spirit_Temple, 5)",
"Spirit Temple MQ Chest Switch Chest": "
(Small_Key_Spirit_Temple, 5) and can_play(Song_of_Time)",
"Spirit Temple MQ Boss Key Chest": "
(Small_Key_Spirit_Temple, 5) and can_play(Song_of_Time) and Mirror_Shield",
"Spirit Temple MQ GS Nine Thrones Room West": "(Small_Key_Spirit_Temple, 7)",
"Spirit Temple MQ GS Nine Thrones Room North": "(Small_Key_Spirit_Temple, 7)"
},
"exits": {
"Lower Adult Spirit Temple": "
(can_use(Fire_Arrows) or
(logic_spirit_mq_lower_adult and can_use(Dins_Fire) and Bow)) and Mirror_Shield",
"Spirit Temple Shared": "True",
"Spirit Temple Boss Area": "
(Small_Key_Spirit_Temple, 6) and can_play(Zeldas_Lullaby) and Megaton_Hammer",
"Mirror Shield Hand": "
(Small_Key_Spirit_Temple, 5) and can_play(Song_of_Time) and (logic_lens_spirit_mq or can_use(Lens_of_Truth))"
}
},
{
"region_name": "Spirit Temple Shared",
"dungeon": "Spirit Temple",
"locations": {
"Spirit Temple MQ Child Climb North Chest": "(Small_Key_Spirit_Temple, 6)",
"Spirit Temple MQ Compass Chest": "
((Small_Key_Spirit_Temple, 7) and can_use(Slingshot)) or
(can_use(Longshot) and can_use(Silver_Gauntlets) and Bow) or
(Slingshot and Bow)",
"Spirit Temple MQ Sun Block Room Chest": "
can_play(Song_of_Time) or
(can_use(Longshot) and can_use(Silver_Gauntlets))",
"Spirit Temple MQ GS Sun Block Room": "
(logic_spirit_mq_sun_block_gs and can_play(Song_of_Time) and Boomerang) or
(can_use(Longshot) and can_use(Silver_Gauntlets))"
},
"exits": {
"Silver Gauntlets Hand": "
((Small_Key_Spirit_Temple, 7) and
(can_play(Song_of_Time) or
(can_use(Longshot) and can_use(Silver_Gauntlets)))) or
((Small_Key_Spirit_Temple, 4) and can_play(Song_of_Time) and
(logic_lens_spirit_mq or can_use(Lens_of_Truth)))"
}
},
{
"region_name": "Lower Adult Spirit Temple",
"dungeon": "Spirit Temple",
"locations": {
"Spirit Temple MQ Leever Room Chest": "True",
"Spirit Temple MQ Symphony Room Chest": "
(Small_Key_Spirit_Temple, 7) and Megaton_Hammer and Ocarina and
Song_of_Time and Eponas_Song and Suns_Song and
Song_of_Storms and Zeldas_Lullaby",
"Spirit Temple MQ Entrance Front Right Chest": "Megaton_Hammer",
"Spirit Temple MQ GS Leever Room": "True",
"Spirit Temple MQ GS Symphony Room": "
(Small_Key_Spirit_Temple, 7) and Megaton_Hammer and Ocarina and
Song_of_Time and Eponas_Song and Suns_Song and
Song_of_Storms and Zeldas_Lullaby"
}
},
{
"region_name": "Spirit Temple Boss Area",
"dungeon": "Spirit Temple",
"locations": {
"Spirit Temple MQ Mirror Puzzle Invisible Chest": "logic_lens_spirit_mq or can_use(Lens_of_Truth)",
"Spirit Temple Twinrova Heart": "Mirror_Shield and Boss_Key_Spirit_Temple",
"Twinrova": "Mirror_Shield and Boss_Key_Spirit_Temple"
}
},
{
"region_name": "Mirror Shield Hand",
"dungeon": "Spirit Temple",
"locations": {
"Spirit Temple Mirror Shield Chest": "True"
}
},
{
"region_name": "Silver Gauntlets Hand",
"dungeon": "Spirit Temple",
"locations": {
"Spirit Temple Silver Gauntlets Chest": "True"
}
}
]

View File

@@ -0,0 +1,171 @@
[
{
"region_name": "Spirit Temple Lobby",
"dungeon": "Spirit Temple",
"exits": {
"Desert Colossus": "True",
"Child Spirit Temple": "is_child or (is_adult and (can_mega or Hover_Boots))",
"Early Adult Spirit Temple": "can_use(Silver_Gauntlets) or can_use(Hover_Boots) or (is_adult and can_shield)"
}
},
{
"region_name": "Child Spirit Temple",
"dungeon": "Spirit Temple",
"locations": {
"Spirit Temple Child Bridge Chest": "is_adult or
(
(can_use(Boomerang) or Slingshot or has_bombchus or can_mega) and
(Sticks or has_explosives or
( (Nuts or can_use(Boomerang)) and
(can_use(Kokiri_Sword) or Slingshot) ) ))",
"Spirit Temple Child Early Torches Chest": "(is_adult and has_fire_source) or
(has_fire_source_with_torch and (here(is_adult) or
(
(can_use(Boomerang) or Slingshot or has_bombchus or can_mega) and
(Sticks or has_explosives or
( (Nuts or can_use(Boomerang)) and
(can_use(Kokiri_Sword) or Slingshot) ) ))))",
"Spirit Temple GS Metal Fence": "is_adult or
(
(can_use(Boomerang) or Slingshot or has_bombchus or can_mega) and
(Sticks or has_explosives or
( (Nuts or can_use(Boomerang)) and
(can_use(Kokiri_Sword) or Slingshot) ) ))",
"Nut Crate": "True"
},
"exits": {
"Child Spirit Temple Climb": "(Small_Key_Spirit_Temple, 2) and
(is_child or ((can_mega and can_use(Longshot)) or can_use(Hover_Boots))
)"
}
},
{
"region_name": "Child Spirit Temple Climb",
"dungeon": "Spirit Temple",
"locations": {
"Spirit Temple Child Climb North Chest": "at('Spirit Temple Central Chamber', True)
or is_child or has_projectile(adult)",
"Spirit Temple Child Climb East Chest": "at('Spirit Temple Central Chamber', True)
or is_child or has_projectile(adult)",
"Spirit Temple GS Sun on Floor Room": "can_use(Boomerang) or can_use(Hookshot) or
(can_child_damage and (can_live_dmg(0.5) or Fairy or can_use(Nayrus_Love))) or
(is_adult and (can_live_dmg(0.5) or Fairy or can_use(Nayrus_Love)))"
},
"exits": {
"Spirit Temple Central Chamber": "has_explosives"
}
},
{
"region_name": "Early Adult Spirit Temple",
"dungeon": "Spirit Temple",
"locations": {
"Spirit Temple Compass Chest": "can_play(Zeldas_Lullaby) and
(can_use(Hookshot) or can_hover) and has_projectile(either)",
"Spirit Temple Early Adult Right Chest": "has_projectile(either)",
"Spirit Temple First Mirror Left Chest": "(Small_Key_Spirit_Temple, 2)",
"Spirit Temple First Mirror Right Chest": "(Small_Key_Spirit_Temple, 2)",
"Spirit Temple GS Boulder Room": "has_projectile(either) and
(can_play(Song_of_Time) or can_use(Hover_Boots))"
},
"exits": {
"Spirit Temple Central Chamber": "(Small_Key_Spirit_Temple, 2)"
}
},
{
"region_name": "Spirit Temple Central Chamber",
"dungeon": "Spirit Temple",
"locations": {
"Spirit Temple Map Chest": "can_use(Bow) or has_fire_source_with_torch",
"Spirit Temple Sun Block Room Chest": "has_fire_source_with_torch or can_use(Bow)",
"Spirit Temple Statue Room Hand Chest": "can_play(Zeldas_Lullaby)
and can_jumpslash",
"Spirit Temple Statue Room Northeast Chest": "can_play(Zeldas_Lullaby) and can_jumpslash and
(can_use(Hookshot) or can_use(Hover_Boots) or can_mega)",
"Spirit Temple GS Hall After Sun Block Room": "can_use(Hookshot) or can_use(Boomerang) or can_hover",
"Spirit Temple GS Lobby": "can_use(Hookshot) or can_use(Boomerang) or can_hover
or can_use(Hover_Boots)"
},
"exits": {
"Silver Gauntlets Hand": "True",
# access via Early Adult Spirit Temple requires 2 keys (+ jumpslash + explosives)
# access to Early Adult Spirit Temple guaranteed via can_jumpslash from here
"Spirit Temple Beyond Central Locked Door": "can_jumpslash and (
(Small_Key_Spirit_Temple, 2) or
can_hover or
can_use(Hookshot)) and has_explosives",
"Child Spirit Temple Climb": "True",
"Spirit Temple Boss": "can_use(Hookshot) and can_live_dmg(0.5) and Mirror_Shield and has_explosives",
"Early Adult Spirit Temple": "can_jumpslash or can_hover or can_use(Hookshot)"
}
},
{
"region_name": "Mirror Shield Hand",
"dungeon": "Spirit Temple",
"locations": {
"Spirit Temple Mirror Shield Chest": "True"
},
"exits": {
"Desert Colossus": "True",
"Silver Gauntlets Hand": "
can_hover or can_use(Hookshot) or (can_use(Hover_Boots) and can_mega)",
"Spirit Temple Beyond Central Locked Door": "True"
}
},
{
"region_name": "Silver Gauntlets Hand",
"dungeon": "Spirit Temple",
"locations": {
"Spirit Temple Silver Gauntlets Chest": "True"
},
"exits": {
"Desert Colossus": "True",
"Mirror Shield Hand": "can_hover or (can_use(Hover_Boots) and can_mega)",
"Spirit Temple Central Chamber": "(Small_Key_Spirit_Temple, 2)"
}
},
{
"region_name": "Spirit Temple Outdoor Hands",
"dungeon": "Spirit Temple",
"exits": {
"Silver Gauntlets Hand": "True",
"Mirror Shield Hand": "True"
}
},
{
"region_name": "Spirit Temple Beyond Central Locked Door",
"dungeon": "Spirit Temple",
"locations": {
"Spirit Temple Near Four Armos Chest": "can_use(Mirror_Shield)",
"Spirit Temple Hallway Right Invisible Chest": "True",
"Spirit Temple Hallway Left Invisible Chest": "True"
},
"exits": {
"Spirit Temple Beyond Final Locked Door": "(Small_Key_Spirit_Temple,5) and
(can_use(Hookshot) or has_explosives)",
"Mirror Shield Hand": "True",
"Spirit Temple Central Chamber": "has_explosives"
}
},
{
"region_name": "Spirit Temple Beyond Final Locked Door",
"dungeon": "Spirit Temple",
"locations": {
"Spirit Temple Boss Key Chest": "
can_play(Zeldas_Lullaby) and (can_live_dmg(1.0) or (Bow and
Progressive_Hookshot))",
"Spirit Temple Topmost Chest": "can_use(Mirror_Shield)"
},
"exits": {
"Spirit Temple Boss": "can_use(Mirror_Shield)",
"Spirit Temple Central Chamber": "can_use(Mirror_Shield) or can_use(Hookshot)"
}
},
{
"region_name": "Spirit Temple Boss",
"dungeon": "Spirit Temple",
"locations": {
"Spirit Temple Twinrova Heart": "True",
"Twinrova": "True"
}
}
]

View File

@@ -0,0 +1,58 @@
[
{
"region_name": "Water Temple Lobby",
"dungeon": "Water Temple",
"events": {
"Water Temple Clear": "Boss_Key_Water_Temple and can_use(Longshot)"
},
"locations": {
"Water Temple MQ Map Chest": "has_fire_source and Iron_Boots",
"Water Temple MQ Central Pillar Chest": "
can_use(Zora_Tunic) and Iron_Boots and
(can_use(Fire_Arrows) or (can_use(Dins_Fire) and can_play(Song_of_Time)))",
# If the player leaves the dungeon without collecting the item at Morpha Heart,
# they won't be able to come back without Iron Boots.
# If it is the Iron Boots or an item required to get them, it means a soft-lock.
"Water Temple Morpha Heart": "
Boss_Key_Water_Temple and can_use(Longshot) and Iron_Boots",
"Morpha": "Boss_Key_Water_Temple and can_use(Longshot)"
},
"exits": {
"Lake Hylia": "True",
"Water Temple Lowered Water Levels": "can_play(Zeldas_Lullaby) and Iron_Boots",
"Water Temple Dark Link Region": "
Small_Key_Water_Temple and can_use(Longshot) and Iron_Boots"
}
},
{
"region_name": "Water Temple Lowered Water Levels",
"dungeon": "Water Temple",
"locations": {
"Water Temple MQ Compass Chest": "Bow or can_use(Dins_Fire)",
"Water Temple MQ Longshot Chest": "True",
"Water Temple MQ GS Lizalfos Hallway": "can_use(Dins_Fire)",
"Water Temple MQ GS Before Upper Water Switch": "can_use(Longshot)"
}
},
{
"region_name": "Water Temple Dark Link Region",
"dungeon": "Water Temple",
"locations": {
"Water Temple MQ Boss Key Chest": "can_use(Dins_Fire)",
"Water Temple MQ GS River": "True"
},
"exits": {
"Water Temple Basement Gated Areas": "
can_use(Dins_Fire) and (Hover_Boots or Ocarina)"
}
},
{
"region_name": "Water Temple Basement Gated Areas",
"dungeon": "Water Temple",
"locations": {
"Water Temple MQ Freestanding Key": "True",
"Water Temple MQ GS Triple Wall Torch": "can_use(Fire_Arrows)",
"Water Temple MQ GS Freestanding Key Area": "(Small_Key_Water_Temple, 2)"
}
}
]

View File

@@ -0,0 +1,174 @@
[
{
"region_name": "Water Temple Lobby",
"dungeon": "Water Temple",
"locations": {},
"exits": {
"High Alcove": "is_adult or can_hover",
"Boss Area": "can_use(Longshot) or can_hover or (can_use(Hover_Boots) and (can_mega or Megaton_Hammer))",
"Dark Link Area": "(at('High Alcove', can_play(Zeldas_Lullaby)) or
(can_use(Hover_Boots) and (can_mega or Megaton_Hammer)))
and (Small_Key_Water_Temple, 4)",
"Under Entrance Block": "can_use(Hookshot) and Iron_Boots",
"Central Pillar from Lobby": "can_use(Hookshot) and Iron_Boots and
(Small_Key_Water_Temple, 4)",
"Compass Room": "can_use(Iron_Boots) and can_use(Hookshot)",
"Ruto Column": "can_use(Iron_Boots) or can_use(Longshot) or can_jumpslash"
}
},
{
"region_name": "High Alcove",
"dungeon": "Water Temple",
"locations": {},
"exits": {
"Compass Room": "is_adult",
"Ruto Column": "is_adult",
"Under Entrance Block": "can_use(Iron_Boots) and can_use(Hookshot)",
"Caged Skulltula": "is_adult",
"Dragon Head Area": "is_adult",
"Boss Key Area": "is_adult and
(Small_Key_Water_Temple, 4)
and (can_use(Longshot) or can_hover or Hover_Boots)",
"Boss Area": "can_play(Zeldas_Lullaby) and can_use(Longshot)",
"Water Temple Lobby": "can_play(Zeldas_Lullaby)"
}
},
{
"region_name": "Caged Skulltula",
"dungeon": "Water Temple",
"locations": {
"Water Temple GS Behind Gate": "(can_use(Hover_Boots) or can_hover or can_use(Hookshot)) and
(can_jumpslash or has_explosives)"
}
},
{
"region_name": "Compass Room",
"dungeon": "Water Temple",
"locations": {
"Water Temple Compass Chest": "True"
}
},
{
"region_name": "Under Entrance Block",
"dungeon": "Water Temple",
"locations": {
"Water Temple Central Bow Target Chest": "True"
}
},
{
"region_name": "Ruto Column",
"dungeon": "Water Temple",
"locations": {
"Water Temple Map Chest": "is_adult or can_child_damage",
"Water Temple Cracked Wall Chest": "(can_use(Hookshot) and Iron_Boots) or
(can_play(Zeldas_Lullaby) and (can_use(Hookshot) or has_explosives)) ",
"Water Temple Torches Chest": "(here(is_child and can_use(Sticks)) or has_fire_source or can_use(Bow))
and can_play(Zeldas_Lullaby)"
},
"exits": {
"Central Pillar": "can_play(Zeldas_Lullaby) and
((Small_Key_Water_Temple, 5)
or here(is_child and can_use(Sticks)) or has_fire_source or can_use(Bow))",
"Boss Key Area": "(Small_Key_Water_Temple, 4) and
(can_use(Longshot) or can_hover or can_use(Hover_Boots)) and can_play(Zeldas_Lullaby)",
"Dragon Head Area": "Progressive_Strength_Upgrade and (is_adult or can_child_attack) and can_play(Zeldas_Lullaby)",
"Caged Skulltula": "has_explosives and can_play(Zeldas_Lullaby)",
"Compass Room": "can_play(Zeldas_Lullaby) and can_use(Hookshot)",
"Under Entrance Block": "can_play(Zeldas_Lullaby) and
( (can_use(Hookshot) and can_mega) or (can_use(Bow) and (Hover_Boots or can_use(Longshot))
and (Progressive_Strength_Upgrade or (can_use(Hookshot) and can_mega))))",
"High Alcove": "(can_use(Hover_Boots) or can_use(Hookshot) or (is_adult and can_mega) or can_hover)
and can_play(Zeldas_Lullaby)"
}
},
{
"region_name": "Central Pillar from Lobby",
"dungeon": "Water Temple",
"exits": {
"Central Pillar": "True"
}
},
{
"region_name": "Central Pillar",
"dungeon": "Water Temple",
"locations": {
"Water Temple Central Pillar Chest": "can_use(Iron_Boots) and can_use(Hookshot) and
(at('Central Pillar from Lobby', True) or can_play(Zeldas_Lullaby))",
"Water Temple GS Central Pillar": "at('Central Pillar from Lobby', True) or
can_use(Longshot) or
at('High Alcove',
can_use(Farores_Wind) and can_play(Zeldas_Lullaby)
and (can_use(Hookshot) or can_use(Boomerang)))"
},
"exits": {
"High Alcove": "(can_use(Hover_Boots) or can_use(Hookshot) or (is_adult and can_mega) or can_hover
or has_projectile(either))
and can_play(Zeldas_Lullaby)",
"Compass Room": "can_play(Zeldas_Lullaby) and can_use(Hookshot)"
}
},
{
"region_name": "Boss Key Area",
"dungeon": "Water Temple",
"locations": {
"Water Temple Boss Key Chest": "(Small_Key_Water_Temple, 5) and
(is_adult or can_hover)",
"Water Temple GS Near Boss Key Chest": "(is_adult or can_hover) and
(can_use(Hookshot) or can_use(Boomerang) or can_mega)"
}
},
{
"region_name": "Dark Link Area",
"dungeon": "Water Temple",
"locations": {
"Water Temple Longshot Chest": "can_use(Hookshot)",
"Water Temple GS Falling Platform Room": "can_use(Hookshot)"
},
"exits": {
"River": "can_play(Song_of_Time) or (can_use(Hookshot) and (Hover_Boots or (Bombs and can_live_dmg(0.5))))"
}
},
{
"region_name": "River",
"dungeon": "Water Temple",
"locations": {
"Water Temple GS River": "can_use(Longshot) or (Iron_Boots and can_use(Hookshot))"
},
"exits": {
"River Chest": "can_use(Bow) or (can_use(Longshot) and has_bottle and Iron_Boots)"
}
},
{
"region_name": "River Chest",
"dungeon": "Water Temple",
"locations": {
"Water Temple River Chest": "True"
},
"exits": {
"Dragon Head Area": "True",
"River": "(can_use(Longshot) or can_use(Bow)) and can_mega"
}
},
{
"region_name": "Dragon Head Area",
"dungeon": "Water Temple",
"locations": {
"Water Temple Dragon Chest": "at('River Chest', is_adult) or has_bombchus or (Iron_Boots and can_use(Hookshot))"
},
"exits": {
"River Chest": "can_hover"
}
},
{
"region_name": "Boss Area",
"dungeon": "Water Temple",
"events": {
"Water Temple Clear": "can_jumpslash and (can_hover or Boss_Key_Water_Temple)"
},
"locations": {
"Morpha": "can_jumpslash and (can_hover or Boss_Key_Water_Temple)",
"Water Temple Morpha Heart": "can_jumpslash and (can_hover or Boss_Key_Water_Temple)"
}
}
]