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:
44
worlds/oot/data/World/Bottom of the Well MQ.json
Normal file
44
worlds/oot/data/World/Bottom of the Well MQ.json
Normal file
@@ -0,0 +1,44 @@
|
||||
[
|
||||
{
|
||||
"region_name": "Bottom of the Well",
|
||||
"dungeon": "Bottom of the Well",
|
||||
"exits": {
|
||||
"Kakariko Village": "True",
|
||||
"Bottom of the Well Perimeter": "is_child"
|
||||
}
|
||||
},
|
||||
{
|
||||
"region_name": "Bottom of the Well Perimeter",
|
||||
"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 Dead Hand Freestanding Key": "
|
||||
has_explosives or (logic_botw_mq_dead_hand_key and Boomerang)",
|
||||
"Bottom of the Well MQ GS Basement": "can_child_attack",
|
||||
"Bottom of the Well MQ GS Coffin Room": "
|
||||
can_child_attack and (Small_Key_Bottom_of_the_Well, 2)",
|
||||
"Wall Fairy": "has_bottle and Slingshot" # The fairy pot is obsolete
|
||||
},
|
||||
"exits": {
|
||||
"Bottom of the Well": "True",
|
||||
"Bottom of the Well Middle": "
|
||||
can_play(Zeldas_Lullaby) or (logic_botw_mq_pits and has_explosives)"
|
||||
}
|
||||
},
|
||||
{
|
||||
"region_name": "Bottom of the Well Middle",
|
||||
"dungeon": "Bottom of the Well",
|
||||
"locations": {
|
||||
"Bottom of the Well MQ Map Chest": "True",
|
||||
"Bottom of the Well MQ Lens of Truth Chest": "
|
||||
has_explosives and (Small_Key_Bottom_of_the_Well, 2)",
|
||||
"Bottom of the Well MQ East Inner Room Freestanding Key": "True",
|
||||
"Bottom of the Well MQ GS West Inner Room": "
|
||||
can_child_attack and (logic_botw_mq_pits or has_explosives)"
|
||||
},
|
||||
"exits": {
|
||||
"Bottom of the Well Perimeter": "True"
|
||||
}
|
||||
}
|
||||
]
|
||||
53
worlds/oot/data/World/Bottom of the Well.json
Normal file
53
worlds/oot/data/World/Bottom of the Well.json
Normal file
@@ -0,0 +1,53 @@
|
||||
[
|
||||
{
|
||||
"region_name": "Bottom of the Well",
|
||||
"dungeon": "Bottom of the Well",
|
||||
"exits": {
|
||||
"Kakariko Village": "True",
|
||||
"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": "logic_lens_botw or can_use(Lens_of_Truth)",
|
||||
"Bottom of the Well Front Center Bombable Chest": "has_explosives",
|
||||
"Bottom of the Well Right Bottom Fake Wall Chest": "logic_lens_botw or can_use(Lens_of_Truth)",
|
||||
"Bottom of the Well Compass Chest": "logic_lens_botw or can_use(Lens_of_Truth)",
|
||||
"Bottom of the Well Center Skulltula Chest": "logic_lens_botw or can_use(Lens_of_Truth)",
|
||||
"Bottom of the Well Back Left Bombable Chest": "has_explosives and (logic_lens_botw or can_use(Lens_of_Truth))",
|
||||
"Bottom of the Well Freestanding Key": "Sticks or can_use(Dins_Fire)",
|
||||
"Bottom of the Well Lens of Truth Chest": "
|
||||
can_play(Zeldas_Lullaby) and
|
||||
(Kokiri_Sword or (Sticks and logic_child_deadhand))",
|
||||
#Sword not strictly necessary but frankly being forced to do this with sticks isn't fair
|
||||
"Bottom of the Well Invisible Chest": "can_play(Zeldas_Lullaby) and (logic_lens_botw or can_use(Lens_of_Truth))",
|
||||
"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) and (logic_lens_botw or can_use(Lens_of_Truth))) or
|
||||
can_use(Dins_Fire) or (logic_botw_basement and Sticks)) and
|
||||
Progressive_Strength_Upgrade)",
|
||||
"Bottom of the Well Fire Keese Chest": "
|
||||
(Small_Key_Bottom_of_the_Well, 3) and (logic_lens_botw or can_use(Lens_of_Truth))", #These pits are really unfair.
|
||||
"Bottom of the Well Like Like Chest": "
|
||||
(Small_Key_Bottom_of_the_Well, 3) and (logic_lens_botw or can_use(Lens_of_Truth))",
|
||||
"Bottom of the Well GS West Inner Room": "
|
||||
Boomerang and (logic_lens_botw or can_use(Lens_of_Truth)) and
|
||||
(Small_Key_Bottom_of_the_Well, 3)",
|
||||
"Bottom of the Well GS East Inner Room": "
|
||||
Boomerang and (logic_lens_botw or can_use(Lens_of_Truth)) and
|
||||
(Small_Key_Bottom_of_the_Well, 3)",
|
||||
"Bottom of the Well GS Like Like Cage": "
|
||||
Boomerang and (logic_lens_botw or can_use(Lens_of_Truth)) and
|
||||
(Small_Key_Bottom_of_the_Well, 3)",
|
||||
"Stick Pot": "True",
|
||||
"Nut Pot": "True"
|
||||
},
|
||||
"exits": {
|
||||
"Bottom of the Well" : "True"
|
||||
}
|
||||
}
|
||||
]
|
||||
107
worlds/oot/data/World/Deku Tree MQ.json
Normal file
107
worlds/oot/data/World/Deku Tree MQ.json
Normal file
@@ -0,0 +1,107 @@
|
||||
[
|
||||
{
|
||||
"region_name": "Deku Tree Lobby",
|
||||
"dungeon": "Deku Tree",
|
||||
"locations": {
|
||||
"Deku Tree MQ Map Chest": "True",
|
||||
"Deku Tree MQ Slingshot Chest": "is_adult or can_child_attack",
|
||||
"Deku Tree MQ Slingshot Room Back Chest": "has_fire_source_with_torch or can_use(Bow)",
|
||||
"Deku Tree MQ Basement Chest": "has_fire_source_with_torch or can_use(Bow)",
|
||||
"Deku Tree MQ GS Lobby": "is_adult or can_child_attack",
|
||||
"Deku Baba Sticks": "is_adult or Kokiri_Sword or Boomerang",
|
||||
"Deku Baba Nuts": "
|
||||
is_adult or Slingshot or Sticks or
|
||||
has_explosives or Kokiri_Sword or can_use(Dins_Fire)"
|
||||
},
|
||||
"exits": {
|
||||
"KF Outside Deku Tree": "True",
|
||||
"Deku Tree Compass Room": "
|
||||
here(can_use(Slingshot) or can_use(Bow)) and
|
||||
here(has_fire_source_with_torch or can_use(Bow))",
|
||||
"Deku Tree Basement Water Room Front": "
|
||||
here(can_use(Slingshot) or can_use(Bow)) and here(has_fire_source_with_torch)",
|
||||
"Deku Tree Basement Ledge": "logic_deku_b1_skip or here(is_adult)"
|
||||
}
|
||||
},
|
||||
{
|
||||
"region_name": "Deku Tree Compass Room",
|
||||
"dungeon": "Deku Tree",
|
||||
"locations": {
|
||||
"Deku Tree MQ Compass Chest": "True",
|
||||
"Deku Tree MQ GS Compass Room": "
|
||||
(can_use(Hookshot) or can_use(Boomerang)) and
|
||||
here(has_bombchus or
|
||||
(Bombs and (can_play(Song_of_Time) or is_adult)) or
|
||||
(can_use(Hammer) and (can_play(Song_of_Time) or logic_deku_mq_compass_gs)))"
|
||||
},
|
||||
"exits": {
|
||||
"Deku Tree Lobby": "True"
|
||||
}
|
||||
},
|
||||
{
|
||||
"region_name": "Deku Tree Basement Water Room Front",
|
||||
"dungeon": "Deku Tree",
|
||||
"locations": {
|
||||
"Deku Tree MQ Before Spinning Log Chest": "True"
|
||||
},
|
||||
"exits": {
|
||||
"Deku Tree Basement Water Room Back": "
|
||||
logic_deku_mq_log or (is_child and (Deku_Shield or Hylian_Shield)) or
|
||||
can_use(Longshot) or (can_use(Hookshot) and can_use(Iron_Boots))",
|
||||
"Deku Tree Lobby": "True"
|
||||
}
|
||||
},
|
||||
{
|
||||
"region_name": "Deku Tree Basement Water Room Back",
|
||||
"dungeon": "Deku Tree",
|
||||
"locations": {
|
||||
"Deku Tree MQ After Spinning Log Chest": "can_play(Song_of_Time)"
|
||||
},
|
||||
"exits": {
|
||||
"Deku Tree Basement Back Room": "
|
||||
(here(can_use(Sticks) or can_use(Dins_Fire)) or
|
||||
at('Deku Tree Basement Water Room Front', can_use(Fire_Arrows))) and
|
||||
here(is_adult or Kokiri_Sword or can_use_projectile or (Nuts and Sticks))",
|
||||
"Deku Tree Basement Water Room Front": "True"
|
||||
}
|
||||
},
|
||||
{
|
||||
"region_name": "Deku Tree Basement Back Room",
|
||||
"dungeon": "Deku Tree",
|
||||
"locations": {
|
||||
"Deku Tree MQ GS Basement Graves Room": "
|
||||
can_use(Longshot) or
|
||||
(can_play(Song_of_Time) and (can_use(Boomerang) or can_use(Hookshot)))",
|
||||
"Deku Tree MQ GS Basement Back Room": "
|
||||
here(has_fire_source_with_torch) and
|
||||
(can_use(Hookshot) or can_use(Boomerang))"
|
||||
},
|
||||
"exits": {
|
||||
"Deku Tree Basement Ledge": "is_child",
|
||||
"Deku Tree Basement Water Room Back": "
|
||||
can_use(Kokiri_Sword) or can_use_projectile or (Nuts and can_use(Sticks))"
|
||||
}
|
||||
},
|
||||
{
|
||||
"region_name": "Deku Tree Basement Ledge",
|
||||
"dungeon": "Deku Tree",
|
||||
"locations": {
|
||||
"Deku Tree MQ Deku Scrub": "can_stun_deku",
|
||||
"Deku Tree Queen Gohma Heart": "
|
||||
here(has_fire_source_with_torch) and here(has_shield) and
|
||||
(is_adult or Kokiri_Sword or Sticks)",
|
||||
"Queen Gohma": "
|
||||
here(has_fire_source_with_torch) and here(has_shield) and
|
||||
(is_adult or Kokiri_Sword or Sticks)"
|
||||
},
|
||||
"events": {
|
||||
"Deku Tree Clear": "
|
||||
here(has_fire_source_with_torch) and here(has_shield) and
|
||||
(is_adult or Kokiri_Sword or Sticks)"
|
||||
},
|
||||
"exits" : {
|
||||
"Deku Tree Basement Back Room": "is_child",
|
||||
"Deku Tree Lobby": "True"
|
||||
}
|
||||
}
|
||||
]
|
||||
74
worlds/oot/data/World/Deku Tree.json
Normal file
74
worlds/oot/data/World/Deku Tree.json
Normal file
@@ -0,0 +1,74 @@
|
||||
[
|
||||
{
|
||||
"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": "
|
||||
can_use_projectile or can_use(Dins_Fire) or
|
||||
(logic_deku_basement_gs and (is_adult or Sticks or Kokiri_Sword))",
|
||||
"Deku Tree GS Basement Gate": "is_adult or can_child_attack",
|
||||
"Deku Baba Sticks": "is_adult or Kokiri_Sword or Boomerang",
|
||||
"Deku Baba Nuts": "
|
||||
is_adult or Slingshot or Sticks or
|
||||
has_explosives or Kokiri_Sword or can_use(Dins_Fire)"
|
||||
},
|
||||
"exits": {
|
||||
"KF Outside Deku Tree": "True",
|
||||
"Deku Tree Slingshot Room": "here(has_shield)",
|
||||
"Deku Tree Basement Backroom": "
|
||||
(here(has_fire_source_with_torch or can_use(Bow)) and
|
||||
here(can_use(Slingshot) or can_use(Bow))) or
|
||||
(is_child and (logic_deku_b1_skip or here(is_adult)))",
|
||||
"Deku Tree Boss Room": "
|
||||
here(has_fire_source_with_torch or
|
||||
(logic_deku_b1_webs_with_bow and can_use(Bow))) and
|
||||
(logic_deku_b1_skip or here(is_adult or can_use(Slingshot)))"
|
||||
}
|
||||
},
|
||||
{
|
||||
"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 Basement Backroom",
|
||||
"dungeon": "Deku Tree",
|
||||
"locations": {
|
||||
"Deku Tree GS Basement Back Room": "
|
||||
here(has_fire_source_with_torch or can_use(Bow)) and
|
||||
here(can_blast_or_smash) and
|
||||
(can_use(Boomerang) or can_use(Hookshot))"
|
||||
},
|
||||
"exits": {
|
||||
"Deku Tree Lobby": "True"
|
||||
}
|
||||
},
|
||||
{
|
||||
"region_name": "Deku Tree Boss Room",
|
||||
"dungeon": "Deku Tree",
|
||||
"events": {
|
||||
"Deku Tree Clear": "
|
||||
here(has_shield) and (is_adult or Kokiri_Sword or Sticks)"
|
||||
},
|
||||
"locations": {
|
||||
"Deku Tree Queen Gohma Heart": "
|
||||
here(has_shield) and (is_adult or Kokiri_Sword or Sticks)",
|
||||
"Queen Gohma": "
|
||||
here(has_shield) and (is_adult or Kokiri_Sword or Sticks)"
|
||||
},
|
||||
"exits": {
|
||||
"Deku Tree Lobby": "True"
|
||||
}
|
||||
}
|
||||
]
|
||||
90
worlds/oot/data/World/Dodongos Cavern MQ.json
Normal file
90
worlds/oot/data/World/Dodongos Cavern MQ.json
Normal file
@@ -0,0 +1,90 @@
|
||||
[
|
||||
{
|
||||
"region_name": "Dodongos Cavern Beginning",
|
||||
"dungeon": "Dodongos Cavern",
|
||||
"exits": {
|
||||
"Death Mountain": "True",
|
||||
"Dodongos Cavern Lobby": "
|
||||
here(can_blast_or_smash or Progressive_Strength_Upgrade)"
|
||||
}
|
||||
},
|
||||
{
|
||||
"region_name": "Dodongos Cavern Lobby",
|
||||
"dungeon": "Dodongos Cavern",
|
||||
"locations": {
|
||||
"Deku Baba Sticks": "is_adult or Kokiri_Sword or can_use(Boomerang)",
|
||||
"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 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 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 Gossip Stone": "True",
|
||||
"Gossip Stone Fairy": "can_summon_gossip_fairy and has_bottle"
|
||||
},
|
||||
"exits": {
|
||||
"Dodongos Cavern Lower Right Side": "
|
||||
here(can_blast_or_smash or
|
||||
((can_use(Sticks) or can_use(Dins_Fire)) and can_take_damage))",
|
||||
"Dodongos Cavern Bomb Bag Area": "
|
||||
is_adult or (here(is_adult) and has_explosives) or
|
||||
(logic_dc_mq_child_bombs and (Kokiri_Sword or Sticks) and can_take_damage)",
|
||||
"Dodongos Cavern Boss Area": "
|
||||
has_explosives or
|
||||
(logic_dc_mq_eyes and Progressive_Strength_Upgrade and
|
||||
(is_adult or logic_dc_mq_child_back) and
|
||||
(here(can_use(Sticks)) or can_use(Dins_Fire) or
|
||||
(is_adult and (logic_dc_jump or Hammer or Hover_Boots or Hookshot))))"
|
||||
}
|
||||
},
|
||||
{
|
||||
"region_name": "Dodongos Cavern Lower Right Side",
|
||||
"dungeon": "Dodongos Cavern",
|
||||
"locations": {
|
||||
"Dodongos Cavern MQ Deku Scrub Side Room Near Lower Lizalfos": "can_stun_deku"
|
||||
},
|
||||
"exits": {
|
||||
"Dodongos Cavern Bomb Bag Area": "
|
||||
(here(can_use(Bow)) or Progressive_Strength_Upgrade or
|
||||
can_use(Dins_Fire) or has_explosives) and
|
||||
can_use(Slingshot)"
|
||||
}
|
||||
},
|
||||
{
|
||||
"region_name": "Dodongos Cavern Bomb Bag Area",
|
||||
"dungeon": "Dodongos Cavern",
|
||||
"locations": {
|
||||
"Dodongos Cavern MQ Bomb Bag Chest": "True",
|
||||
"Dodongos Cavern MQ GS Scrub Room": "
|
||||
(here(can_use(Bow)) or Progressive_Strength_Upgrade or
|
||||
can_use(Dins_Fire) or has_explosives) and
|
||||
(can_use(Hookshot) or can_use(Boomerang))"
|
||||
},
|
||||
"exits": {
|
||||
"Dodongos Cavern Lower Right Side": "True"
|
||||
}
|
||||
},
|
||||
{
|
||||
"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": "
|
||||
can_blast_or_smash and (Bombs or Progressive_Strength_Upgrade) and
|
||||
(is_adult or Sticks or Kokiri_Sword)",
|
||||
"King Dodongo": "
|
||||
can_blast_or_smash and (Bombs or Progressive_Strength_Upgrade) and
|
||||
(is_adult or Sticks or Kokiri_Sword)",
|
||||
"Dodongos Cavern MQ GS Back Area": "True",
|
||||
"Fairy Pot": "has_bottle"
|
||||
}
|
||||
}
|
||||
]
|
||||
105
worlds/oot/data/World/Dodongos Cavern.json
Normal file
105
worlds/oot/data/World/Dodongos Cavern.json
Normal file
@@ -0,0 +1,105 @@
|
||||
[
|
||||
{
|
||||
"region_name": "Dodongos Cavern Beginning",
|
||||
"dungeon": "Dodongos Cavern",
|
||||
"exits": {
|
||||
"Death Mountain": "True",
|
||||
"Dodongos Cavern Lobby": "
|
||||
here(can_blast_or_smash or Progressive_Strength_Upgrade)"
|
||||
}
|
||||
},
|
||||
{
|
||||
"region_name": "Dodongos Cavern Lobby",
|
||||
"dungeon": "Dodongos Cavern",
|
||||
"locations": {
|
||||
"Dodongos Cavern Map Chest": "True",
|
||||
"Dodongos Cavern GS Side Room Near Lower Lizalfos": "
|
||||
has_explosives or is_adult or Slingshot or
|
||||
Boomerang or Sticks or Kokiri_Sword",
|
||||
"Dodongos Cavern GS Scarecrow": "
|
||||
can_use(Scarecrow) or can_use(Longshot) or
|
||||
(logic_dc_scarecrow_gs and (is_adult or can_child_attack))",
|
||||
"Dodongos Cavern Deku Scrub Side Room Near Dodongos": "
|
||||
is_adult or Slingshot or Sticks or
|
||||
has_explosives or Kokiri_Sword",
|
||||
"Dodongos Cavern Deku Scrub Lobby": "True",
|
||||
"Dodongos Cavern Gossip Stone": "True",
|
||||
"Gossip Stone Fairy": "can_summon_gossip_fairy and has_bottle"
|
||||
},
|
||||
"exits": {
|
||||
"Dodongos Cavern Beginning": "True",
|
||||
"Dodongos Cavern Staircase Room": "
|
||||
here(is_adult or Sticks or
|
||||
(can_use(Dins_Fire) and (Slingshot or has_explosives or Kokiri_Sword)))",
|
||||
"Dodongos Cavern Far Bridge": "at('Dodongos Cavern Far Bridge', True)"
|
||||
}
|
||||
},
|
||||
{
|
||||
"region_name": "Dodongos Cavern Staircase Room",
|
||||
"dungeon": "Dodongos Cavern",
|
||||
"locations": {
|
||||
"Dodongos Cavern Compass Chest": "True",
|
||||
"Dodongos Cavern GS Vines Above Stairs": "
|
||||
has_explosives or Progressive_Strength_Upgrade or can_use(Dins_Fire) or
|
||||
(logic_dc_staircase and can_use(Bow)) or
|
||||
(logic_dc_vines_gs and can_use(Longshot))"
|
||||
},
|
||||
"exits": {
|
||||
"Dodongos Cavern Lobby": "True",
|
||||
"Dodongos Cavern Climb": "
|
||||
has_explosives or Progressive_Strength_Upgrade or
|
||||
can_use(Dins_Fire) or (logic_dc_staircase and can_use(Bow))"
|
||||
}
|
||||
},
|
||||
{
|
||||
"region_name": "Dodongos Cavern Climb",
|
||||
"dungeon": "Dodongos Cavern",
|
||||
"locations": {
|
||||
"Dodongos Cavern Bomb Flower Platform Chest": "True",
|
||||
"Dodongos Cavern Deku Scrub Near Bomb Bag Right": "
|
||||
can_blast_or_smash or
|
||||
(logic_dc_scrub_room and is_adult and Progressive_Strength_Upgrade)",
|
||||
"Dodongos Cavern Deku Scrub Near Bomb Bag Left": "
|
||||
can_blast_or_smash or
|
||||
(logic_dc_scrub_room and is_adult and Progressive_Strength_Upgrade)"
|
||||
},
|
||||
"exits": {
|
||||
"Dodongos Cavern Lobby": "True",
|
||||
"Dodongos Cavern Far Bridge": "
|
||||
(is_child and (Slingshot or
|
||||
(logic_dc_slingshot_skip and (Sticks or has_explosives or Kokiri_Sword)))) or
|
||||
(is_adult and (Bow or Hover_Boots or can_use(Longshot) or logic_dc_jump))"
|
||||
}
|
||||
},
|
||||
{
|
||||
"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",
|
||||
"Dodongos Cavern GS Alcove Above Stairs": "can_use(Hookshot) or can_use(Boomerang)"
|
||||
},
|
||||
"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) 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 GS Back Room": "True",
|
||||
"Fairy Pot": "has_bottle"
|
||||
},
|
||||
"exits": {
|
||||
"Dodongos Cavern Lobby": "True"
|
||||
}
|
||||
}
|
||||
]
|
||||
114
worlds/oot/data/World/Fire Temple MQ.json
Normal file
114
worlds/oot/data/World/Fire Temple MQ.json
Normal file
@@ -0,0 +1,114 @@
|
||||
[
|
||||
{
|
||||
"region_name": "Fire Temple Lower",
|
||||
"dungeon": "Fire Temple",
|
||||
"locations": {
|
||||
"Fire Temple MQ Map Room Side Chest": "
|
||||
is_adult or Kokiri_Sword or Sticks or Slingshot or Bombs or can_use(Dins_Fire)",
|
||||
"Fire Temple MQ Near Boss Chest": "
|
||||
(logic_fewer_tunic_requirements or can_use(Goron_Tunic)) and
|
||||
(((can_use(Hover_Boots) or (logic_fire_mq_near_boss and can_use(Bow))) and has_fire_source) or
|
||||
(can_use(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 can_use(Bow) or can_use(Longshot))))))"
|
||||
},
|
||||
"exits": {
|
||||
"DMC Fire Temple Entrance": "True",
|
||||
"Fire Boss Room": "
|
||||
can_use(Goron_Tunic) and can_use(Megaton_Hammer) and Boss_Key_Fire_Temple and
|
||||
((has_fire_source 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 (is_adult or Kokiri_Sword)",
|
||||
"Fire Big Lava Room": "
|
||||
(logic_fewer_tunic_requirements or can_use(Goron_Tunic)) and can_use(Megaton_Hammer)"
|
||||
}
|
||||
},
|
||||
{
|
||||
"region_name": "Fire Lower Locked Door",
|
||||
"dungeon": "Fire Temple",
|
||||
"locations": {
|
||||
"Fire Temple MQ Megaton Hammer Chest": "is_adult and (has_explosives or Megaton_Hammer or Hookshot)",
|
||||
"Fire Temple MQ Map Chest": "can_use(Megaton_Hammer)",
|
||||
"Fairy Pot": "has_bottle"
|
||||
}
|
||||
},
|
||||
{
|
||||
"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 can_use(Hookshot)",
|
||||
"Fire Temple MQ Big Lava Room Blocked Door Chest": "
|
||||
has_fire_source and has_explosives and
|
||||
(can_use(Hookshot) or logic_fire_mq_blocked_chest)",
|
||||
"Fire Temple MQ GS Big Lava Room Open Door": "True",
|
||||
"Fairy Pot": "
|
||||
has_bottle and has_fire_source and (Bow or logic_fire_mq_bk_chest) and
|
||||
(can_use(Hookshot) or logic_fire_song_of_time)"
|
||||
|
||||
},
|
||||
"exits": {
|
||||
"Fire Lower Maze": "
|
||||
can_use(Goron_Tunic) and (Small_Key_Fire_Temple, 2) and
|
||||
(has_fire_source or (logic_fire_mq_climb and Hover_Boots))"
|
||||
}
|
||||
},
|
||||
{
|
||||
"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 at('Fire Upper Maze', True))"
|
||||
},
|
||||
"exits": {
|
||||
"Fire Upper Maze": "
|
||||
((has_explosives or logic_rusted_switches) and can_use(Hookshot)) or
|
||||
(logic_fire_mq_maze_hovers and can_use(Hover_Boots)) or logic_fire_mq_maze_jump"
|
||||
}
|
||||
},
|
||||
{
|
||||
"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) and can_use(Hookshot) and (has_explosives or logic_rusted_switches)) or
|
||||
can_use(Longshot)",
|
||||
"Wall Fairy": "
|
||||
has_bottle and
|
||||
((can_play(Song_of_Time) and can_use(Hookshot) and (has_explosives or logic_rusted_switches)) or
|
||||
can_use(Longshot))",
|
||||
"Fairy Pot": "has_bottle and (Small_Key_Fire_Temple, 3)"
|
||||
},
|
||||
"exits": {
|
||||
"Fire Temple Upper": "
|
||||
(Small_Key_Fire_Temple, 3) and
|
||||
((can_use(Bow) and can_use(Hookshot)) or can_use(Fire_Arrows))"
|
||||
}
|
||||
},
|
||||
{
|
||||
"region_name": "Fire Temple Upper",
|
||||
"dungeon": "Fire Temple",
|
||||
"locations": {
|
||||
"Fire Temple MQ Freestanding Key": "can_use(Hookshot) or logic_fire_mq_flame_maze",
|
||||
"Fire Temple MQ Chest On Fire": "
|
||||
(can_use(Hookshot) or logic_fire_mq_flame_maze) and (Small_Key_Fire_Temple, 4)",
|
||||
"Fire Temple MQ GS Fire Wall Maze Side Room": "
|
||||
can_play(Song_of_Time) or Hover_Boots or logic_fire_mq_flame_maze",
|
||||
"Fire Temple MQ GS Fire Wall Maze Center": "has_explosives",
|
||||
"Fire Temple MQ GS Above Fire Wall Maze": "
|
||||
(can_use(Hookshot) and (Small_Key_Fire_Temple, 5)) or
|
||||
(logic_fire_mq_above_maze_gs and can_use(Longshot))"
|
||||
}
|
||||
},
|
||||
{
|
||||
"region_name": "Fire Boss Room",
|
||||
"dungeon": "Fire Temple",
|
||||
"locations": {
|
||||
"Fire Temple Volvagia Heart": "True",
|
||||
"Volvagia": "True"
|
||||
}
|
||||
}
|
||||
]
|
||||
91
worlds/oot/data/World/Fire Temple.json
Normal file
91
worlds/oot/data/World/Fire Temple.json
Normal file
@@ -0,0 +1,91 @@
|
||||
[
|
||||
{
|
||||
"region_name": "Fire Temple Lower",
|
||||
"dungeon": "Fire Temple",
|
||||
"locations": {
|
||||
"Fire Temple Near Boss Chest" : "
|
||||
logic_fewer_tunic_requirements or can_use(Goron_Tunic)",
|
||||
"Fire Temple Flare Dancer Chest": "
|
||||
((Small_Key_Fire_Temple, 8) or not keysanity) and can_use(Megaton_Hammer)",
|
||||
"Fire Temple Boss Key Chest": "
|
||||
((Small_Key_Fire_Temple, 8) or not keysanity) and can_use(Megaton_Hammer)",
|
||||
"Fire Temple Volvagia Heart": "
|
||||
can_use(Goron_Tunic) and can_use(Megaton_Hammer) and Boss_Key_Fire_Temple and
|
||||
(logic_fire_boss_door_jump or Hover_Boots or
|
||||
at('Fire Temple Upper', can_play(Song_of_Time) or has_explosives))",
|
||||
"Volvagia": "
|
||||
can_use(Goron_Tunic) and can_use(Megaton_Hammer) and Boss_Key_Fire_Temple and
|
||||
(logic_fire_boss_door_jump or Hover_Boots or
|
||||
at('Fire Temple Upper', can_play(Song_of_Time) or has_explosives))",
|
||||
"Fire Temple GS Boss Key Loop": "
|
||||
((Small_Key_Fire_Temple, 8) or not keysanity) and can_use(Megaton_Hammer)",
|
||||
"Fairy Pot": "
|
||||
has_bottle and (can_use(Hover_Boots) or can_use(Hookshot)) and
|
||||
(logic_fewer_tunic_requirements or can_use(Goron_Tunic))"
|
||||
},
|
||||
"exits": {
|
||||
"DMC Fire Temple Entrance": "True",
|
||||
"Fire Temple Big Lava Room":"
|
||||
(Small_Key_Fire_Temple, 2) and
|
||||
(logic_fewer_tunic_requirements or can_use(Goron_Tunic))"
|
||||
}
|
||||
},
|
||||
{
|
||||
"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": "is_adult and has_explosives",
|
||||
"Fire Temple GS Song of Time Room": "
|
||||
is_adult and (can_play(Song_of_Time) or logic_fire_song_of_time)"
|
||||
},
|
||||
"exits": {
|
||||
"Fire Temple Lower": "True",
|
||||
"Fire Temple Middle": "
|
||||
can_use(Goron_Tunic) and (Small_Key_Fire_Temple, 4) and
|
||||
(Progressive_Strength_Upgrade or logic_fire_strength) and
|
||||
(has_explosives or Bow or Progressive_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)",
|
||||
"Fire Temple Boulder Maze Side Room Chest": "True",
|
||||
"Fire Temple Boulder Maze Shortcut Chest": "
|
||||
(Small_Key_Fire_Temple, 6) and has_explosives",
|
||||
"Fire Temple Scarecrow Chest": "
|
||||
(Small_Key_Fire_Temple, 6) and
|
||||
(can_use(Scarecrow) or (logic_fire_scarecrow and can_use(Longshot)))",
|
||||
"Fire Temple Map Chest": "
|
||||
(Small_Key_Fire_Temple, 6) or ((Small_Key_Fire_Temple, 5) and can_use(Bow))",
|
||||
"Fire Temple Compass Chest": "(Small_Key_Fire_Temple, 7)",
|
||||
"Fire Temple GS Boulder Maze": "(Small_Key_Fire_Temple, 4) and has_explosives",
|
||||
"Fire Temple GS Scarecrow Climb": "
|
||||
(Small_Key_Fire_Temple, 6) and
|
||||
(can_use(Scarecrow) or (logic_fire_scarecrow and can_use(Longshot)))",
|
||||
"Fire Temple GS Scarecrow Top": "
|
||||
(Small_Key_Fire_Temple, 6) and
|
||||
(can_use(Scarecrow) or (logic_fire_scarecrow and can_use(Longshot)))"
|
||||
},
|
||||
"exits": {
|
||||
"Fire Temple Upper": "
|
||||
(Small_Key_Fire_Temple, 8) or
|
||||
((Small_Key_Fire_Temple, 7) and
|
||||
((can_use(Hover_Boots) and can_use(Megaton_Hammer)) or logic_fire_flame_maze))"
|
||||
}
|
||||
},
|
||||
{
|
||||
"region_name": "Fire Temple Upper",
|
||||
"dungeon": "Fire Temple",
|
||||
"locations": {
|
||||
"Fire Temple Highest Goron Chest": "
|
||||
can_use(Megaton_Hammer) and
|
||||
(can_play(Song_of_Time) or (logic_rusted_switches and
|
||||
(can_use(Hover_Boots) or has_explosives)))",
|
||||
"Fire Temple Megaton Hammer Chest": "has_explosives"
|
||||
}
|
||||
}
|
||||
]
|
||||
167
worlds/oot/data/World/Forest Temple MQ.json
Normal file
167
worlds/oot/data/World/Forest Temple MQ.json
Normal file
@@ -0,0 +1,167 @@
|
||||
[
|
||||
{
|
||||
"region_name": "Forest Temple Lobby",
|
||||
"dungeon": "Forest Temple",
|
||||
"locations": {
|
||||
"Forest Temple MQ First Room Chest": "
|
||||
is_adult or Bombs or can_use(Sticks) or Nuts or can_use(Boomerang) or
|
||||
can_use(Dins_Fire) or Kokiri_Sword or can_use(Slingshot)",
|
||||
"Forest Temple MQ GS First Hallway": "can_use(Hookshot) or can_use(Boomerang)"
|
||||
},
|
||||
"exits": {
|
||||
"SFM Forest Temple Entrance Ledge": "True",
|
||||
"Forest Temple Central Area": "
|
||||
(Small_Key_Forest_Temple, 1) and (is_adult or can_child_attack or Nuts)"
|
||||
}
|
||||
},
|
||||
{
|
||||
"region_name": "Forest Temple Central Area",
|
||||
"dungeon": "Forest Temple",
|
||||
"locations": {
|
||||
"Forest Temple MQ Wolfos Chest": "
|
||||
(can_play(Song_of_Time) or is_child) and
|
||||
(is_adult or can_use(Dins_Fire) or
|
||||
can_use(Sticks) or can_use(Slingshot) or Kokiri_Sword)",
|
||||
"Forest Temple MQ GS Block Push Room": "is_adult or Kokiri_Sword",
|
||||
"Fairy Pot": "has_bottle and (can_play(Song_of_Time) or is_child)"
|
||||
},
|
||||
"exits": {
|
||||
"Forest Temple NW Outdoors": "can_use(Bow) or can_use(Slingshot)",
|
||||
"Forest Temple NE Outdoors": "can_use(Bow) or can_use(Slingshot)",
|
||||
# End of the road for child
|
||||
"Forest Temple After Block Puzzle": "
|
||||
is_adult and (Progressive_Strength_Upgrade or
|
||||
(logic_forest_mq_block_puzzle and has_bombchus and can_use(Hookshot)))",
|
||||
"Forest Temple Outdoor Ledge": "
|
||||
(logic_forest_mq_hallway_switch_jumpslash and can_use(Hover_Boots)) or
|
||||
(logic_forest_mq_hallway_switch_hookshot and can_use(Hookshot))",
|
||||
"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)",
|
||||
"Forest Temple Outdoor Ledge": "
|
||||
(Small_Key_Forest_Temple, 3) or
|
||||
(logic_forest_mq_hallway_switch_jumpslash and
|
||||
(can_use(Hookshot) or logic_forest_outside_backdoor))",
|
||||
"Forest Temple NW Outdoors": "(Small_Key_Forest_Temple, 2)"
|
||||
# Only 2 keys because you must have had access to falling ceiling room to have wasted a key there
|
||||
# and access to falling ceiling room means you must also have had to access to the lower area of this courtyard
|
||||
}
|
||||
},
|
||||
{
|
||||
"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) or can_use(Slingshot)",
|
||||
"Forest Temple MQ GS Raised Island Courtyard": "
|
||||
can_use(Hookshot) or can_use(Boomerang) or
|
||||
(can_use(Fire_Arrows) and
|
||||
(can_play(Song_of_Time) or (can_use(Hover_Boots) and logic_forest_door_frame)))",
|
||||
"Forest Temple MQ GS Well": "
|
||||
(can_use(Iron_Boots) and can_use(Hookshot)) or can_use(Bow) or can_use(Slingshot)",
|
||||
"Deku Baba Sticks": "is_adult or Kokiri_Sword or Boomerang",
|
||||
"Deku Baba Nuts": "
|
||||
is_adult or Slingshot or Sticks or
|
||||
has_explosives or Kokiri_Sword or can_use(Dins_Fire)"
|
||||
},
|
||||
"exits": {
|
||||
"Forest Temple Outdoors Top Ledges": "
|
||||
can_use(Hookshot) and
|
||||
(can_use(Longshot) or can_use(Hover_Boots) or can_play(Song_of_Time) or
|
||||
logic_forest_vines)",
|
||||
"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",
|
||||
"Forest Temple NE Outdoors Ledge": "logic_forest_outdoors_ledge and can_use(Hover_Boots)"
|
||||
}
|
||||
},
|
||||
{
|
||||
"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 you must have had access to falling ceiling room to have wasted a key there
|
||||
}
|
||||
},
|
||||
{
|
||||
"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"
|
||||
}
|
||||
}
|
||||
]
|
||||
158
worlds/oot/data/World/Forest Temple.json
Normal file
158
worlds/oot/data/World/Forest Temple.json
Normal file
@@ -0,0 +1,158 @@
|
||||
[
|
||||
{
|
||||
"region_name": "Forest Temple Lobby",
|
||||
"dungeon": "Forest Temple",
|
||||
"locations": {
|
||||
"Forest Temple First Room Chest": "True",
|
||||
"Forest Temple First Stalfos Chest": "is_adult or Kokiri_Sword",
|
||||
"Forest Temple GS First Room": "
|
||||
(is_adult and (Hookshot or Bow or Bombs)) or (is_child and (Boomerang or Slingshot)) or
|
||||
has_bombchus or can_use(Dins_Fire) or (logic_forest_first_gs and (Bombs or
|
||||
(can_jumpslash and can_take_damage)))",
|
||||
"Forest Temple GS Lobby": "can_use(Hookshot) or can_use(Boomerang)",
|
||||
"Fairy Pot": "has_bottle and (is_adult or can_child_attack or Nuts)"
|
||||
},
|
||||
"exits": {
|
||||
"SFM Forest Temple Entrance Ledge": "True",
|
||||
"Forest Temple NW Outdoors": "can_play(Song_of_Time) or is_child",
|
||||
"Forest Temple NE Outdoors": "can_use(Bow) or can_use(Slingshot)",
|
||||
"Forest Temple Block Push Room": "(Small_Key_Forest_Temple, 1)",
|
||||
"Forest Temple Boss Region": "Forest_Temple_Jo_and_Beth and Forest_Temple_Amy_and_Meg"
|
||||
}
|
||||
},
|
||||
{
|
||||
"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))",
|
||||
"Deku Baba Sticks": "is_adult or Kokiri_Sword or Boomerang",
|
||||
"Deku Baba Nuts": "
|
||||
is_adult or Slingshot or Sticks or
|
||||
has_explosives or Kokiri_Sword or can_use(Dins_Fire)"
|
||||
},
|
||||
"exits": {
|
||||
"Forest Temple NE Outdoors": "(Progressive_Scale, 2)",
|
||||
#Other methods of crossing through the well are not currently relevant.
|
||||
"Forest Temple Outdoors High Balconies": "
|
||||
here(is_adult or has_explosives or
|
||||
((Boomerang or Nuts or Deku_Shield) and
|
||||
(Sticks or Kokiri_Sword or Slingshot)))"
|
||||
}
|
||||
},
|
||||
{
|
||||
"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
|
||||
(logic_forest_outdoors_ledge and can_use(Hover_Boots) and at('Forest Temple Outdoors High Balconies', True))",
|
||||
"Forest Temple GS Raised Island Courtyard": "
|
||||
can_use(Hookshot) or (logic_forest_outdoor_east_gs and can_use(Boomerang)) or
|
||||
at('Forest Temple Falling Room', can_use(Bow) or can_use(Dins_Fire) or has_explosives)",
|
||||
"Deku Baba Sticks": "is_adult or Kokiri_Sword or Boomerang",
|
||||
"Deku Baba Nuts": "
|
||||
is_adult or Slingshot or Sticks or
|
||||
has_explosives or Kokiri_Sword or can_use(Dins_Fire)"
|
||||
},
|
||||
"exits": {
|
||||
"Forest Temple Outdoors High Balconies": "
|
||||
can_use(Longshot) or (logic_forest_vines and 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"
|
||||
}
|
||||
},
|
||||
{
|
||||
"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",
|
||||
"Forest Temple Falling Room": "
|
||||
logic_forest_door_frame and can_use(Hover_Boots) and can_use(Scarecrow)"
|
||||
}
|
||||
},
|
||||
{
|
||||
"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": {
|
||||
#end of the road for child forest. No hovers and too short to climb push blocks
|
||||
"Forest Temple Outside Upper Ledge": "
|
||||
can_use(Hover_Boots) or (logic_forest_outside_backdoor and is_adult and Progressive_Strength_Upgrade)",
|
||||
"Forest Temple Bow Region": "
|
||||
Progressive_Strength_Upgrade and (Small_Key_Forest_Temple, 3) and is_adult",
|
||||
"Forest Temple Straightened Hall": "
|
||||
Progressive_Strength_Upgrade and (Small_Key_Forest_Temple, 2) and can_use(Bow)"
|
||||
}
|
||||
},
|
||||
{
|
||||
"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": "True"
|
||||
},
|
||||
"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 Boss Region",
|
||||
"dungeon": "Forest Temple",
|
||||
"locations": {
|
||||
"Forest Temple Basement Chest": "True",
|
||||
"Forest Temple Phantom Ganon Heart": "Boss_Key_Forest_Temple",
|
||||
"Phantom Ganon": "Boss_Key_Forest_Temple",
|
||||
"Forest Temple GS Basement": "can_use(Hookshot) or can_use(Boomerang)"
|
||||
}
|
||||
}
|
||||
]
|
||||
130
worlds/oot/data/World/Ganons Castle MQ.json
Normal file
130
worlds/oot/data/World/Ganons Castle MQ.json
Normal file
@@ -0,0 +1,130 @@
|
||||
[
|
||||
{
|
||||
"region_name": "Ganons Castle Lobby",
|
||||
"dungeon": "Ganons Castle",
|
||||
"exits": {
|
||||
"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",
|
||||
"dungeon": "Ganons Castle",
|
||||
"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",
|
||||
"Free Fairies": "has_bottle"
|
||||
}
|
||||
},
|
||||
{
|
||||
"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 or (logic_fire_trial_mq and can_use(Hookshot)))"
|
||||
}
|
||||
},
|
||||
{
|
||||
"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 or logic_shadow_trial_mq)))"
|
||||
},
|
||||
"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 or logic_shadow_trial_mq)))"
|
||||
}
|
||||
},
|
||||
{
|
||||
"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",
|
||||
"Nut Pot": "
|
||||
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 (Small_Key_Ganons_Castle, 3) and
|
||||
(logic_lens_castle_mq or can_use(Lens_of_Truth)) and
|
||||
(Progressive_Hookshot or logic_light_trial_mq)"
|
||||
},
|
||||
"locations": {
|
||||
"Ganons Castle MQ Light Trial Lullaby Chest": "can_play(Zeldas_Lullaby)"
|
||||
}
|
||||
}
|
||||
]
|
||||
123
worlds/oot/data/World/Ganons Castle.json
Normal file
123
worlds/oot/data/World/Ganons Castle.json
Normal file
@@ -0,0 +1,123 @@
|
||||
[
|
||||
{
|
||||
"region_name": "Ganons Castle Lobby",
|
||||
"dungeon": "Ganons Castle",
|
||||
"exits": {
|
||||
"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 or can_use(Lens_of_Truth)"
|
||||
}
|
||||
},
|
||||
{
|
||||
"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",
|
||||
"Free Fairies": "has_bottle"
|
||||
}
|
||||
},
|
||||
{
|
||||
"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) and can_use(Golden_Gauntlets) and
|
||||
can_use(Light_Arrows) and can_use(Longshot)"
|
||||
}
|
||||
},
|
||||
{
|
||||
"region_name": "Ganons Castle Water Trial",
|
||||
"dungeon": "Ganons Castle",
|
||||
"events": {
|
||||
"Water Trial Clear": "Blue_Fire and Megaton_Hammer and can_use(Light_Arrows)"
|
||||
},
|
||||
"locations": {
|
||||
"Ganons Castle Water Trial Left Chest": "True",
|
||||
"Ganons Castle Water Trial Right Chest": "True",
|
||||
"Fairy Pot": "Blue_Fire and has_bottle",
|
||||
"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
|
||||
((Fire_Arrows and (logic_lens_castle or can_use(Lens_of_Truth))) or
|
||||
(can_use(Longshot) and (Hover_Boots or (Dins_Fire and (logic_lens_castle or can_use(Lens_of_Truth))))))"
|
||||
},
|
||||
"locations": {
|
||||
"Ganons Castle Shadow Trial Front Chest": "
|
||||
can_use(Fire_Arrows) or Progressive_Hookshot or
|
||||
Hover_Boots or can_play(Song_of_Time)",
|
||||
"Ganons Castle Shadow Trial Golden Gauntlets Chest": "
|
||||
can_use(Fire_Arrows) or
|
||||
(can_use(Longshot) and (Hover_Boots or can_use(Dins_Fire)))"
|
||||
}
|
||||
},
|
||||
{
|
||||
"region_name": "Ganons Castle Spirit Trial",
|
||||
"dungeon": "Ganons Castle",
|
||||
"events": {
|
||||
"Spirit Trial Clear": "
|
||||
can_use(Light_Arrows) and Mirror_Shield and has_bombchus and
|
||||
(logic_spirit_trial_hookshot or Progressive_Hookshot)"
|
||||
},
|
||||
"locations": {
|
||||
"Ganons Castle Spirit Trial Crystal Switch Chest": "
|
||||
(logic_spirit_trial_hookshot or Progressive_Hookshot)",
|
||||
"Ganons Castle Spirit Trial Invisible Chest": "
|
||||
(logic_spirit_trial_hookshot or Progressive_Hookshot) and
|
||||
has_bombchus and (logic_lens_castle or can_use(Lens_of_Truth))",
|
||||
"Nut Pot": "
|
||||
(logic_spirit_trial_hookshot or Progressive_Hookshot) and
|
||||
has_bombchus and Bow 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, 2) and (logic_lens_castle or can_use(Lens_of_Truth))"
|
||||
},
|
||||
"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": "logic_lens_castle or can_use(Lens_of_Truth)",
|
||||
"Ganons Castle Light Trial Lullaby Chest": "
|
||||
can_play(Zeldas_Lullaby) and (Small_Key_Ganons_Castle, 1)"
|
||||
}
|
||||
}
|
||||
]
|
||||
98
worlds/oot/data/World/Gerudo Training Grounds MQ.json
Normal file
98
worlds/oot/data/World/Gerudo Training Grounds MQ.json
Normal file
@@ -0,0 +1,98 @@
|
||||
[
|
||||
{
|
||||
"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": "here(has_fire_source)",
|
||||
"Gerudo Training Grounds Right Side": "here(can_use(Bow) or can_use(Slingshot))"
|
||||
}
|
||||
},
|
||||
{
|
||||
"region_name": "Gerudo Training Grounds Right Side",
|
||||
"dungeon": "Gerudo Training Grounds",
|
||||
"locations": {
|
||||
"Gerudo Training Grounds MQ Dinolfos Chest": "is_adult",
|
||||
"Wall Fairy": "has_bottle and can_use(Bow)" #in the Dinalfos room shoot the Gerudo symbol above the door to the lava room.
|
||||
},
|
||||
"exits": {
|
||||
# Still requires has_fire_source in the room
|
||||
"Gerudo Training Grounds Underwater": "
|
||||
(Bow or can_use(Longshot)) and can_use(Hover_Boots)"
|
||||
}
|
||||
},
|
||||
{
|
||||
"region_name": "Gerudo Training Grounds Underwater",
|
||||
"dungeon": "Gerudo Training Grounds",
|
||||
"locations": {
|
||||
"Gerudo Training Grounds MQ Underwater Silver Rupee Chest": "
|
||||
has_fire_source and can_use(Iron_Boots) and
|
||||
(logic_fewer_tunic_requirements or can_use(Zora_Tunic)) and can_take_damage"
|
||||
}
|
||||
},
|
||||
{
|
||||
"region_name": "Gerudo Training Grounds Left Side",
|
||||
"dungeon": "Gerudo Training Grounds",
|
||||
"locations": {
|
||||
"Gerudo Training Grounds MQ First Iron Knuckle Chest": "is_adult or Kokiri_Sword or has_explosives"
|
||||
},
|
||||
"exits": {
|
||||
"Gerudo Training Grounds Stalfos Room": "
|
||||
can_use(Longshot) or logic_gtg_mq_without_hookshot or
|
||||
(logic_gtg_mq_with_hookshot and can_use(Hookshot))"
|
||||
}
|
||||
},
|
||||
{
|
||||
"region_name": "Gerudo Training Grounds Stalfos Room",
|
||||
"dungeon": "Gerudo Training Grounds",
|
||||
"locations": {
|
||||
# Very difficult to fight the Stalfos and Stulltulas under the time limit as child.
|
||||
"Gerudo Training Grounds MQ Before Heavy Block Chest": "is_adult",
|
||||
"Gerudo Training Grounds MQ Heavy Block Chest": "can_use(Silver_Gauntlets)",
|
||||
"Blue Fire": "has_bottle"
|
||||
},
|
||||
"exits": {
|
||||
"Gerudo Training Grounds Back Areas": "
|
||||
is_adult and (logic_lens_gtg_mq or can_use(Lens_of_Truth)) and Blue_Fire and
|
||||
(can_play(Song_of_Time) or (logic_gtg_fake_wall and can_use(Hover_Boots)))"
|
||||
}
|
||||
},
|
||||
{
|
||||
"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": "can_use(Hookshot) or Bow or has_explosives"
|
||||
},
|
||||
"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",
|
||||
# The switch that opens the door to the Ice Arrows chest can be hit with a precise jumpslash.
|
||||
"Gerudo Training Grounds MQ Ice Arrows Chest": "
|
||||
(Small_Key_Gerudo_Training_Grounds, 3)"
|
||||
},
|
||||
"exits": {
|
||||
# guarantees fire with torch
|
||||
"Gerudo Training Grounds Underwater": "
|
||||
can_use(Longshot) or (can_use(Hookshot) and Bow)",
|
||||
"Gerudo Training Grounds Right Side": "can_use(Hookshot)"
|
||||
}
|
||||
}
|
||||
]
|
||||
120
worlds/oot/data/World/Gerudo Training Grounds.json
Normal file
120
worlds/oot/data/World/Gerudo Training Grounds.json
Normal file
@@ -0,0 +1,120 @@
|
||||
[
|
||||
{
|
||||
"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": "is_adult or Kokiri_Sword",
|
||||
"Gerudo Training Grounds Beamos Chest": "has_explosives and (is_adult or Kokiri_Sword)",
|
||||
"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 Fortress": "True",
|
||||
"Gerudo Training Grounds Heavy Block Room": "
|
||||
(is_adult or Kokiri_Sword) and
|
||||
(can_use(Hookshot) or logic_gtg_without_hookshot)",
|
||||
"Gerudo Training Grounds Lava Room": "
|
||||
here(has_explosives and (is_adult or Kokiri_Sword))",
|
||||
"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) and (logic_lens_gtg or can_use(Lens_of_Truth))",
|
||||
"Gerudo Training Grounds Maze Path First Chest": "(Small_Key_Gerudo_Training_Grounds, 4)",
|
||||
"Gerudo Training Grounds Maze Path Second Chest": "(Small_Key_Gerudo_Training_Grounds, 6)",
|
||||
"Gerudo Training Grounds Maze Path Third Chest": "(Small_Key_Gerudo_Training_Grounds, 7)",
|
||||
"Gerudo Training Grounds Maze Path Final Chest": "(Small_Key_Gerudo_Training_Grounds, 9)"
|
||||
},
|
||||
"exits": {
|
||||
"Gerudo Training Grounds Central Maze Right": "(Small_Key_Gerudo_Training_Grounds, 9)"
|
||||
}
|
||||
},
|
||||
{
|
||||
"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 Hammer Room": "can_use(Hookshot)",
|
||||
"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) and Iron_Boots and
|
||||
(logic_fewer_tunic_requirements or can_use(Zora_Tunic))"
|
||||
},
|
||||
"exits": {
|
||||
"Gerudo Training Grounds Central Maze Right": "can_play(Song_of_Time) or is_child",
|
||||
"Gerudo Training Grounds Hammer Room": "
|
||||
can_use(Longshot) or (can_use(Hookshot) and can_use(Hover_Boots))"
|
||||
}
|
||||
},
|
||||
{
|
||||
"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)"
|
||||
},
|
||||
"exits": {
|
||||
"Gerudo Training Grounds Eye Statue Lower": "can_use(Megaton_Hammer) and 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"
|
||||
},
|
||||
"exits": {
|
||||
"Gerudo Training Grounds Eye Statue Upper": "
|
||||
(logic_lens_gtg or can_use(Lens_of_Truth)) and
|
||||
(can_use(Hookshot) or (logic_gtg_fake_wall and can_use(Hover_Boots)))",
|
||||
"Gerudo Training Grounds Like Like Room": "
|
||||
can_use(Silver_Gauntlets) and (logic_lens_gtg or can_use(Lens_of_Truth)) and
|
||||
(can_use(Hookshot) or (logic_gtg_fake_wall and can_use(Hover_Boots)))"
|
||||
}
|
||||
},
|
||||
{
|
||||
"region_name": "Gerudo Training Grounds Like Like Room",
|
||||
"dungeon": "Gerudo Training Grounds",
|
||||
"locations": {
|
||||
"Gerudo Training Grounds Heavy Block First Chest": "True",
|
||||
"Gerudo Training Grounds Heavy Block Second Chest": "True",
|
||||
"Gerudo Training Grounds Heavy Block Third Chest": "True",
|
||||
"Gerudo Training Grounds Heavy Block Fourth Chest": "True"
|
||||
}
|
||||
}
|
||||
]
|
||||
48
worlds/oot/data/World/Ice Cavern MQ.json
Normal file
48
worlds/oot/data/World/Ice Cavern MQ.json
Normal file
@@ -0,0 +1,48 @@
|
||||
[
|
||||
{
|
||||
"region_name": "Ice Cavern Beginning",
|
||||
"dungeon": "Ice Cavern",
|
||||
"locations": {
|
||||
"Fairy Pot": "has_bottle"
|
||||
},
|
||||
"exits": {
|
||||
"ZF Ice Ledge": "True",
|
||||
"Ice Cavern Map Room": "
|
||||
is_adult or can_use(Dins_Fire) or
|
||||
(has_explosives and (can_use(Sticks) or can_use(Slingshot) or Kokiri_Sword))",
|
||||
"Ice Cavern Compass Room": "is_adult and Blue_Fire",
|
||||
"Ice Cavern Iron Boots Region": "Blue_Fire"
|
||||
}
|
||||
},
|
||||
{
|
||||
"region_name": "Ice Cavern Map Room",
|
||||
"dungeon": "Ice Cavern",
|
||||
"locations": {
|
||||
"Ice Cavern MQ Map Chest": "
|
||||
Blue_Fire and
|
||||
(is_adult or can_use(Sticks) or Kokiri_Sword or can_use_projectile)",
|
||||
"Blue Fire": "has_bottle"
|
||||
}
|
||||
},
|
||||
{
|
||||
"region_name": "Ice Cavern Iron Boots Region",
|
||||
"dungeon": "Ice Cavern",
|
||||
"locations": {
|
||||
"Ice Cavern MQ Iron Boots Chest": "is_adult",
|
||||
"Sheik in Ice Cavern": "is_adult",
|
||||
"Ice Cavern MQ GS Ice Block": "is_adult or can_child_attack",
|
||||
"Ice Cavern MQ GS Scarecrow": "
|
||||
can_use(Scarecrow) or (Hover_Boots and can_use(Longshot)) or
|
||||
(logic_ice_mq_scarecrow and is_adult)"
|
||||
}
|
||||
},
|
||||
{
|
||||
"region_name": "Ice Cavern Compass Room",
|
||||
"dungeon": "Ice Cavern",
|
||||
"locations": {
|
||||
"Ice Cavern MQ Compass Chest": "True",
|
||||
"Ice Cavern MQ Freestanding PoH": "has_explosives",
|
||||
"Ice Cavern MQ GS Red Ice": "can_play(Song_of_Time) or logic_ice_mq_red_ice_gs"
|
||||
}
|
||||
}
|
||||
]
|
||||
35
worlds/oot/data/World/Ice Cavern.json
Normal file
35
worlds/oot/data/World/Ice Cavern.json
Normal file
@@ -0,0 +1,35 @@
|
||||
[
|
||||
{
|
||||
"region_name": "Ice Cavern Beginning",
|
||||
"dungeon": "Ice Cavern",
|
||||
"exits": {
|
||||
"ZF Ice Ledge": "True",
|
||||
#Frezzards are weird, they are immune to KS completely. Leave sticks out as 8/10 is a lot
|
||||
"Ice Cavern": "here(is_adult or has_explosives or can_use(Dins_Fire))"
|
||||
}
|
||||
},
|
||||
{
|
||||
"region_name": "Ice Cavern",
|
||||
"dungeon": "Ice Cavern",
|
||||
"locations": {
|
||||
"Ice Cavern Map Chest": "Blue_Fire and is_adult",
|
||||
"Ice Cavern Compass Chest": "Blue_Fire",
|
||||
"Ice Cavern Iron Boots Chest": "
|
||||
Blue_Fire and
|
||||
(is_adult or Slingshot or Sticks or
|
||||
Kokiri_Sword or can_use(Dins_Fire))",
|
||||
"Sheik in Ice Cavern": "
|
||||
Blue_Fire and
|
||||
(is_adult or Slingshot or Sticks or
|
||||
Kokiri_Sword or can_use(Dins_Fire))",
|
||||
"Ice Cavern Freestanding PoH": "Blue_Fire",
|
||||
"Ice Cavern GS Spinning Scythe Room": "can_use(Hookshot) or can_use(Boomerang)",
|
||||
"Ice Cavern GS Heart Piece Room": "
|
||||
Blue_Fire and (can_use(Hookshot) or can_use(Boomerang))",
|
||||
"Ice Cavern GS Push Block Room": "
|
||||
Blue_Fire and (can_use(Hookshot) or can_use(Boomerang) or
|
||||
(logic_ice_block_gs and can_use(Hover_Boots)))",
|
||||
"Blue Fire": "is_adult and has_bottle"
|
||||
}
|
||||
}
|
||||
]
|
||||
66
worlds/oot/data/World/Jabu Jabus Belly MQ.json
Normal file
66
worlds/oot/data/World/Jabu Jabus Belly MQ.json
Normal file
@@ -0,0 +1,66 @@
|
||||
[
|
||||
{
|
||||
"region_name": "Jabu Jabus Belly Beginning",
|
||||
"dungeon": "Jabu Jabus Belly",
|
||||
"locations": {
|
||||
"Nut Pot": "True",
|
||||
"Jabu Jabus Belly MQ Map Chest": "can_blast_or_smash",
|
||||
"Jabu Jabus Belly MQ First Room Side Chest": "can_use(Slingshot)"
|
||||
},
|
||||
"exits": {
|
||||
"Zoras Fountain": "True",
|
||||
"Jabu Jabus Belly Main": "here(is_child and can_use(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 Second Room Upper Chest": "
|
||||
can_use(Hover_Boots) or can_use(Hookshot) or
|
||||
at('Jabu Jabus Belly Boss Area', is_child)",
|
||||
"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 can_use(Boomerang))"
|
||||
},
|
||||
"exits": {
|
||||
"Jabu Jabus Belly Beginning": "True",
|
||||
"Jabu Jabus Belly Depths": "has_explosives and can_use(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)) or
|
||||
at('Jabu Jabus Belly Main', can_use(Hover_Boots) and can_use(Hookshot))"
|
||||
},
|
||||
"exits": {
|
||||
"Jabu Jabus Belly Main": "True",
|
||||
"Jabu Jabus Belly Boss Area": "Sticks or (can_use(Dins_Fire) and Kokiri_Sword)"
|
||||
}
|
||||
},
|
||||
{
|
||||
"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 Near Boss Chest": "True",
|
||||
"Jabu Jabus Belly Barinade Heart": "True",
|
||||
"Barinade": "True",
|
||||
"Jabu Jabus Belly MQ GS Near Boss": "True",
|
||||
"Fairy Pot": "has_bottle"
|
||||
},
|
||||
"exits": {
|
||||
"Jabu Jabus Belly Main": "True"
|
||||
}
|
||||
}
|
||||
]
|
||||
53
worlds/oot/data/World/Jabu Jabus Belly.json
Normal file
53
worlds/oot/data/World/Jabu Jabus Belly.json
Normal file
@@ -0,0 +1,53 @@
|
||||
[
|
||||
{
|
||||
"region_name": "Jabu Jabus Belly Beginning",
|
||||
"dungeon": "Jabu Jabus Belly",
|
||||
"exits": {
|
||||
"Zoras Fountain": "True",
|
||||
"Jabu Jabus Belly Main": "can_use_projectile"
|
||||
}
|
||||
},
|
||||
{
|
||||
"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)",
|
||||
"Jabu Jabus Belly GS Lobby Basement Upper": "can_use(Boomerang) or can_use(Hookshot)",
|
||||
"Jabu Jabus Belly Deku Scrub": "
|
||||
can_dive or is_child or logic_jabu_scrub_jump_dive or can_use(Iron_Boots)",
|
||||
"Fairy Pot": "has_bottle"
|
||||
},
|
||||
"exits": {
|
||||
"Jabu Jabus Belly Beginning": "True",
|
||||
"Jabu Jabus Belly Depths": "can_use(Boomerang)",
|
||||
"Jabu Jabus Belly Boss Area": "logic_jabu_boss_gs_adult and can_use(Hover_Boots)"
|
||||
}
|
||||
},
|
||||
{
|
||||
"region_name": "Jabu Jabus Belly Depths",
|
||||
"dungeon": "Jabu Jabus Belly",
|
||||
"locations": {
|
||||
"Jabu Jabus Belly Map Chest": "True",
|
||||
"Jabu Jabus Belly Compass Chest": "True"
|
||||
},
|
||||
"exits": {
|
||||
"Jabu Jabus Belly Main": "True",
|
||||
"Jabu Jabus Belly Boss Area": "Sticks or Kokiri_Sword"
|
||||
}
|
||||
},
|
||||
{
|
||||
"region_name": "Jabu Jabus Belly Boss Area",
|
||||
"dungeon": "Jabu Jabus Belly",
|
||||
"locations": {
|
||||
"Jabu Jabus Belly Barinade Heart": "can_use(Boomerang)",
|
||||
"Barinade": "can_use(Boomerang)",
|
||||
"Jabu Jabus Belly GS Near Boss": "True",
|
||||
"Nut Pot": "True"
|
||||
},
|
||||
"exits": {
|
||||
"Jabu Jabus Belly Main": "True"
|
||||
}
|
||||
}
|
||||
]
|
||||
2276
worlds/oot/data/World/Overworld.json
Normal file
2276
worlds/oot/data/World/Overworld.json
Normal file
File diff suppressed because it is too large
Load Diff
127
worlds/oot/data/World/Shadow Temple MQ.json
Normal file
127
worlds/oot/data/World/Shadow Temple MQ.json
Normal file
@@ -0,0 +1,127 @@
|
||||
[
|
||||
{
|
||||
"region_name": "Shadow Temple Entryway",
|
||||
"dungeon": "Shadow Temple",
|
||||
"exits": {
|
||||
"Graveyard Warp Pad Region": "True",
|
||||
"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 or
|
||||
(logic_shadow_mq_gap and can_use(Longshot))",
|
||||
"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 Upper Huge Pit": "has_explosives and (Small_Key_Shadow_Temple, 2)"
|
||||
}
|
||||
},
|
||||
{
|
||||
"region_name": "Shadow Temple Upper Huge Pit",
|
||||
"dungeon": "Shadow Temple",
|
||||
"locations": {
|
||||
"Shadow Temple MQ Invisible Blades Visible Chest": "
|
||||
can_play(Song_of_Time) or
|
||||
(logic_shadow_mq_invisible_blades and damage_multiplier != 'ohko')",
|
||||
"Shadow Temple MQ Invisible Blades Invisible Chest": "
|
||||
can_play(Song_of_Time) or
|
||||
(logic_shadow_mq_invisible_blades and damage_multiplier != 'ohko')"
|
||||
},
|
||||
"exits": {
|
||||
"Shadow Temple Lower Huge Pit": "has_fire_source or logic_shadow_mq_huge_pit"
|
||||
}
|
||||
},
|
||||
{
|
||||
"region_name": "Shadow Temple Lower Huge Pit",
|
||||
"dungeon": "Shadow Temple",
|
||||
"locations": {
|
||||
"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": "
|
||||
(logic_shadow_umbrella and Hover_Boots) or Progressive_Strength_Upgrade",
|
||||
"Shadow Temple MQ Falling Spikes Switch Chest": "
|
||||
(logic_shadow_umbrella and Hover_Boots) or Progressive_Strength_Upgrade",
|
||||
"Shadow Temple MQ Invisible Spikes Chest": "
|
||||
Hover_Boots and (Small_Key_Shadow_Temple, 3) and
|
||||
(logic_lens_shadow_mq_back or can_use(Lens_of_Truth))",
|
||||
"Shadow Temple MQ Stalfos Room Chest": "
|
||||
Hover_Boots and (Small_Key_Shadow_Temple, 3) and Progressive_Hookshot and
|
||||
(logic_lens_shadow_mq_back or can_use(Lens_of_Truth))",
|
||||
"Shadow Temple MQ GS Falling Spikes Room": "
|
||||
(logic_shadow_umbrella_gs and Hover_Boots) or Progressive_Hookshot"
|
||||
},
|
||||
"exits": {
|
||||
"Shadow Temple Wind Tunnel": "
|
||||
Hover_Boots and (logic_lens_shadow_mq_back or can_use(Lens_of_Truth)) 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",
|
||||
"Nut Pot": "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 or (logic_shadow_statue and has_bombchus)) and Boss_Key_Shadow_Temple",
|
||||
"Bongo Bongo": "
|
||||
(Bow or (logic_shadow_statue and has_bombchus)) and Boss_Key_Shadow_Temple",
|
||||
"Shadow Temple MQ GS After Ship": "True",
|
||||
"Shadow Temple MQ GS Near Boss": "Bow or (logic_shadow_statue and has_bombchus)"
|
||||
},
|
||||
"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": "
|
||||
can_use(Dins_Fire) and (Small_Key_Shadow_Temple, 6)",
|
||||
"Shadow Temple MQ Boss Key Chest": "
|
||||
can_use(Dins_Fire) and (Small_Key_Shadow_Temple, 6)",
|
||||
"Shadow Temple MQ Bomb Flower Chest": "True",
|
||||
"Shadow Temple MQ Freestanding Key": "True"
|
||||
}
|
||||
}
|
||||
]
|
||||
93
worlds/oot/data/World/Shadow Temple.json
Normal file
93
worlds/oot/data/World/Shadow Temple.json
Normal file
@@ -0,0 +1,93 @@
|
||||
[
|
||||
{
|
||||
"region_name": "Shadow Temple Entryway",
|
||||
"dungeon": "Shadow Temple",
|
||||
"exits": {
|
||||
"Graveyard Warp Pad Region": "True",
|
||||
"Shadow Temple Beginning": "
|
||||
(logic_lens_shadow or can_use(Lens_of_Truth)) and
|
||||
(can_use(Hover_Boots) or can_use(Hookshot))"
|
||||
}
|
||||
},
|
||||
{
|
||||
"region_name": "Shadow Temple Beginning",
|
||||
"dungeon": "Shadow Temple",
|
||||
"locations": {
|
||||
"Shadow Temple Map Chest": "True",
|
||||
"Shadow Temple Hover Boots Chest": "True",
|
||||
"Nut Pot": "True"
|
||||
},
|
||||
"exits": {
|
||||
"Shadow Temple Entryway": "True",
|
||||
"Shadow Temple First Beamos": "Hover_Boots"
|
||||
}
|
||||
},
|
||||
{
|
||||
"region_name": "Shadow Temple First Beamos",
|
||||
"dungeon": "Shadow Temple",
|
||||
"locations": {
|
||||
"Shadow Temple Compass Chest": "True",
|
||||
"Shadow Temple Early Silver Rupee Chest": "True"
|
||||
},
|
||||
"exits": {
|
||||
"Shadow Temple Huge Pit": "has_explosives and (Small_Key_Shadow_Temple, 1)"
|
||||
}
|
||||
},
|
||||
{
|
||||
"region_name": "Shadow Temple Huge Pit",
|
||||
"dungeon": "Shadow Temple",
|
||||
"locations": {
|
||||
"Shadow Temple Invisible Blades Visible Chest": "True",
|
||||
"Shadow Temple Invisible Blades Invisible Chest": "True",
|
||||
"Shadow Temple Falling Spikes Lower Chest": "True",
|
||||
"Shadow Temple Falling Spikes Upper Chest": "logic_shadow_umbrella or Progressive_Strength_Upgrade",
|
||||
"Shadow Temple Falling Spikes Switch Chest": "logic_shadow_umbrella or Progressive_Strength_Upgrade",
|
||||
"Shadow Temple Invisible Spikes Chest": "
|
||||
(Small_Key_Shadow_Temple, 2) and (logic_lens_shadow_back or can_use(Lens_of_Truth))",
|
||||
"Shadow Temple Freestanding Key": "
|
||||
(Small_Key_Shadow_Temple, 2) and (logic_lens_shadow_back or can_use(Lens_of_Truth))
|
||||
and Progressive_Hookshot and
|
||||
(Bombs or Progressive_Strength_Upgrade or
|
||||
(logic_shadow_freestanding_key and has_bombchus))",
|
||||
"Shadow Temple GS Like Like Room": "True",
|
||||
"Shadow Temple GS Falling Spikes Room": "logic_shadow_umbrella_gs or Progressive_Hookshot",
|
||||
"Shadow Temple GS Single Giant Pot": "
|
||||
(Small_Key_Shadow_Temple, 2) and (logic_lens_shadow_back or can_use(Lens_of_Truth))
|
||||
and Progressive_Hookshot"
|
||||
},
|
||||
"exits": {
|
||||
"Shadow Temple Wind Tunnel": "
|
||||
(logic_lens_shadow_back or can_use(Lens_of_Truth)) and
|
||||
Progressive_Hookshot and (Small_Key_Shadow_Temple, 3)"
|
||||
}
|
||||
},
|
||||
{
|
||||
"region_name": "Shadow Temple Wind Tunnel",
|
||||
"dungeon": "Shadow Temple",
|
||||
"locations": {
|
||||
"Shadow Temple Wind Hint Chest": "True",
|
||||
"Shadow Temple After Wind Enemy Chest": "True",
|
||||
"Shadow Temple After Wind Hidden Chest": "True",
|
||||
"Shadow Temple GS Near Ship": "can_use(Longshot) and (Small_Key_Shadow_Temple, 4)"
|
||||
},
|
||||
"exits": {
|
||||
"Shadow Temple Beyond Boat": "can_play(Zeldas_Lullaby) and (Small_Key_Shadow_Temple, 4)"
|
||||
}
|
||||
},
|
||||
{
|
||||
"region_name": "Shadow Temple Beyond Boat",
|
||||
"dungeon": "Shadow Temple",
|
||||
"locations": {
|
||||
"Shadow Temple Spike Walls Left Chest": "can_use(Dins_Fire)",
|
||||
"Shadow Temple Boss Key Chest": "can_use(Dins_Fire)",
|
||||
"Shadow Temple Invisible Floormaster Chest": "True",
|
||||
"Shadow Temple Bongo Bongo Heart": "
|
||||
(Small_Key_Shadow_Temple, 5) and Boss_Key_Shadow_Temple and
|
||||
(Bow or can_use(Distant_Scarecrow) or (logic_shadow_statue and has_bombchus))",
|
||||
"Bongo Bongo": "
|
||||
(Small_Key_Shadow_Temple, 5) and Boss_Key_Shadow_Temple and
|
||||
(Bow or can_use(Distant_Scarecrow) or (logic_shadow_statue and has_bombchus))",
|
||||
"Shadow Temple GS Triple Giant Pot": "True"
|
||||
}
|
||||
}
|
||||
]
|
||||
147
worlds/oot/data/World/Spirit Temple MQ.json
Normal file
147
worlds/oot/data/World/Spirit Temple MQ.json
Normal file
@@ -0,0 +1,147 @@
|
||||
[
|
||||
{
|
||||
"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 From Spirit Lobby": "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 Child Hammer Switch Chest": "
|
||||
at('Adult Spirit Temple', (Small_Key_Spirit_Temple, 7) and Megaton_Hammer)",
|
||||
"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 Bombs",
|
||||
"Spirit Temple MQ Silver Block Hallway Chest": "
|
||||
has_bombchus and (Small_Key_Spirit_Temple, 7) and Slingshot and
|
||||
(can_use(Dins_Fire) or
|
||||
at('Adult Spirit Temple', (can_use(Fire_Arrows) or
|
||||
(logic_spirit_mq_frozen_eye and can_use(Bow) and can_play(Song_of_Time)))))",
|
||||
"Fairy Pot": "
|
||||
has_bottle and (Sticks or Kokiri_Sword) and
|
||||
has_bombchus and Slingshot"
|
||||
},
|
||||
"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 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": "
|
||||
Mirror_Shield and (can_use(Fire_Arrows) or
|
||||
(logic_spirit_mq_lower_adult and can_use(Dins_Fire) and Bow))",
|
||||
"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))"
|
||||
}
|
||||
},
|
||||
{
|
||||
#In this region, child reachability really means age-unknown, but with the caveat
|
||||
#that child has as least entered the dungeon. is_adult means is_adult as usual.
|
||||
#All child specific logic must be anded with 7 keys to convert child-as-unknown-age
|
||||
#back to child.
|
||||
"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": "
|
||||
(can_use(Slingshot) and (Small_Key_Spirit_Temple, 7)) or
|
||||
can_use(Bow) or
|
||||
(Bow and Slingshot)",
|
||||
"Spirit Temple MQ Sun Block Room Chest": "
|
||||
can_play(Song_of_Time) or logic_spirit_mq_sun_block_sot or
|
||||
is_adult",
|
||||
"Spirit Temple MQ GS Sun Block Room": "
|
||||
(logic_spirit_mq_sun_block_gs and Boomerang and
|
||||
(can_play(Song_of_Time) or logic_spirit_mq_sun_block_sot)) or
|
||||
is_adult"
|
||||
},
|
||||
"exits": {
|
||||
"Silver Gauntlets Hand": "
|
||||
((Small_Key_Spirit_Temple, 7) and
|
||||
(can_play(Song_of_Time) or logic_spirit_mq_sun_block_sot or is_adult)) or
|
||||
((Small_Key_Spirit_Temple, 4) and can_play(Song_of_Time) and
|
||||
(logic_lens_spirit_mq or can_use(Lens_of_Truth)))",
|
||||
"Desert Colossus": "
|
||||
((Small_Key_Spirit_Temple, 7) and
|
||||
(can_play(Song_of_Time) or logic_spirit_mq_sun_block_sot or is_adult)) or
|
||||
((Small_Key_Spirit_Temple, 4) and can_play(Song_of_Time) and
|
||||
(logic_lens_spirit_mq or can_use(Lens_of_Truth)) and is_adult)"
|
||||
}
|
||||
},
|
||||
{
|
||||
"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"
|
||||
}
|
||||
}
|
||||
]
|
||||
192
worlds/oot/data/World/Spirit Temple.json
Normal file
192
worlds/oot/data/World/Spirit Temple.json
Normal file
@@ -0,0 +1,192 @@
|
||||
[
|
||||
{
|
||||
"region_name": "Spirit Temple Lobby",
|
||||
"dungeon": "Spirit Temple",
|
||||
"exits": {
|
||||
"Desert Colossus From Spirit Lobby": "True",
|
||||
"Child Spirit Temple": "is_child",
|
||||
"Early Adult Spirit Temple": "can_use(Silver_Gauntlets)"
|
||||
}
|
||||
},
|
||||
{
|
||||
"region_name": "Child Spirit Temple",
|
||||
"dungeon": "Spirit Temple",
|
||||
"locations": {
|
||||
"Spirit Temple Child Bridge Chest": "
|
||||
(Boomerang or Slingshot or (has_bombchus and logic_spirit_child_bombchu)) and
|
||||
(Sticks or has_explosives or
|
||||
((Nuts or Boomerang) and
|
||||
(Kokiri_Sword or Slingshot)))",
|
||||
"Spirit Temple Child Early Torches Chest": "
|
||||
(Boomerang or Slingshot or (has_bombchus and logic_spirit_child_bombchu)) and
|
||||
(Sticks or has_explosives or
|
||||
((Nuts or Boomerang) and (Kokiri_Sword or Slingshot))) and
|
||||
(Sticks or can_use(Dins_Fire))",
|
||||
"Spirit Temple GS Metal Fence": "
|
||||
(Boomerang or Slingshot or (has_bombchus and logic_spirit_child_bombchu)) and
|
||||
(Sticks or has_explosives or
|
||||
((Nuts or Boomerang) and (Kokiri_Sword or Slingshot)))"
|
||||
},
|
||||
"exits": {
|
||||
"Child Spirit Before Locked Door": "True"
|
||||
}
|
||||
},
|
||||
{
|
||||
"region_name": "Child Spirit Before Locked Door",
|
||||
"dungeon": "Spirit Temple",
|
||||
"locations": {
|
||||
"Nut Crate": "True"
|
||||
},
|
||||
"exits": {
|
||||
"Child Spirit Temple Climb": "(Small_Key_Spirit_Temple, 1)"
|
||||
}
|
||||
},
|
||||
{
|
||||
"region_name": "Child Spirit Temple Climb",
|
||||
"dungeon": "Spirit Temple",
|
||||
"locations": {
|
||||
"Spirit Temple Child Climb North Chest": "
|
||||
has_projectile(both) or
|
||||
(((Small_Key_Spirit_Temple, 3) or
|
||||
((Small_Key_Spirit_Temple, 2) and bombchus_in_logic and not entrance_shuffle)) and
|
||||
can_use(Silver_Gauntlets) and has_projectile(adult)) or
|
||||
((Small_Key_Spirit_Temple, 5) and is_child and
|
||||
has_projectile(child))",
|
||||
"Spirit Temple Child Climb East Chest": "
|
||||
has_projectile(both) or
|
||||
(((Small_Key_Spirit_Temple, 3) or
|
||||
((Small_Key_Spirit_Temple, 2) and bombchus_in_logic and not entrance_shuffle)) and
|
||||
can_use(Silver_Gauntlets) and has_projectile(adult)) or
|
||||
((Small_Key_Spirit_Temple, 5) and is_child and
|
||||
has_projectile(child))",
|
||||
"Spirit Temple GS Sun on Floor Room": "
|
||||
has_projectile(both) or can_use(Dins_Fire) or
|
||||
(can_take_damage and (Sticks or Kokiri_Sword or has_projectile(child))) or
|
||||
(is_child and
|
||||
(Small_Key_Spirit_Temple, 5) and has_projectile(child)) or
|
||||
(((Small_Key_Spirit_Temple, 3) or
|
||||
((Small_Key_Spirit_Temple, 2) and bombchus_in_logic and not entrance_shuffle)) and
|
||||
can_use(Silver_Gauntlets) and
|
||||
(has_projectile(adult) or can_take_damage))"
|
||||
},
|
||||
"exits": {
|
||||
"Spirit Temple Central Chamber": "has_explosives",
|
||||
"Child Spirit Before Locked Door": "(Small_Key_Spirit_Temple, 5)"
|
||||
}
|
||||
},
|
||||
{
|
||||
"region_name": "Early Adult Spirit Temple",
|
||||
"dungeon": "Spirit Temple",
|
||||
"locations": {
|
||||
"Spirit Temple Compass Chest": "
|
||||
can_use(Hookshot) and can_play(Zeldas_Lullaby)",
|
||||
"Spirit Temple Early Adult Right Chest": "
|
||||
Bow or Progressive_Hookshot or has_bombchus or (Bombs and logic_spirit_lower_adult_switch)",
|
||||
#requires a very specific Bombchu use, Hover Boots can be skipped by jumping on top of the rolling rock.
|
||||
"Spirit Temple First Mirror Left Chest": "(Small_Key_Spirit_Temple, 3)",
|
||||
"Spirit Temple First Mirror Right Chest": "(Small_Key_Spirit_Temple, 3)",
|
||||
"Spirit Temple GS Boulder Room": "
|
||||
can_play(Song_of_Time) and
|
||||
(Bow or Progressive_Hookshot or has_bombchus or (Bombs and logic_spirit_lower_adult_switch))"
|
||||
},
|
||||
"exits": {
|
||||
"Spirit Temple Central Chamber": "(Small_Key_Spirit_Temple, 1)"
|
||||
}
|
||||
},
|
||||
{
|
||||
"region_name": "Spirit Temple Central Chamber",
|
||||
"dungeon": "Spirit Temple",
|
||||
"locations": {
|
||||
"Spirit Temple Map Chest": "
|
||||
((has_explosives or (Small_Key_Spirit_Temple, 3) or ((Small_Key_Spirit_Temple, 2) and bombchus_in_logic and not entrance_shuffle)) and
|
||||
(can_use(Dins_Fire) or
|
||||
(((Magic_Meter and Fire_Arrows) or logic_spirit_map_chest) and Bow and Sticks))) or
|
||||
((Small_Key_Spirit_Temple, 5) and has_explosives and
|
||||
can_use(Sticks)) or
|
||||
((Small_Key_Spirit_Temple, 3) and
|
||||
(can_use(Fire_Arrows) or (logic_spirit_map_chest and Bow)) and
|
||||
can_use(Silver_Gauntlets))",
|
||||
"Spirit Temple Sun Block Room Chest": "
|
||||
((has_explosives or (Small_Key_Spirit_Temple, 3) or ((Small_Key_Spirit_Temple, 2) and bombchus_in_logic and not entrance_shuffle)) and
|
||||
(can_use(Dins_Fire) or
|
||||
(((Magic_Meter and Fire_Arrows) or logic_spirit_sun_chest) and Bow and Sticks))) or
|
||||
((Small_Key_Spirit_Temple, 5) and has_explosives and
|
||||
can_use(Sticks)) or
|
||||
((Small_Key_Spirit_Temple, 3) and
|
||||
(can_use(Fire_Arrows) or (logic_spirit_sun_chest and Bow)) and
|
||||
can_use(Silver_Gauntlets))",
|
||||
"Spirit Temple Statue Room Hand Chest": "
|
||||
(Small_Key_Spirit_Temple, 3) and can_use(Silver_Gauntlets) and
|
||||
can_play(Zeldas_Lullaby)",
|
||||
"Spirit Temple Statue Room Northeast Chest": "
|
||||
(Small_Key_Spirit_Temple, 3) and can_use(Silver_Gauntlets) and can_play(Zeldas_Lullaby) and
|
||||
(Progressive_Hookshot or Hover_Boots or logic_spirit_lobby_jump)",
|
||||
"Spirit Temple GS Hall After Sun Block Room": "
|
||||
(has_explosives and Boomerang and Progressive_Hookshot) or
|
||||
(can_use(Boomerang) and (Small_Key_Spirit_Temple, 5) and has_explosives) or
|
||||
(Progressive_Hookshot and can_use(Silver_Gauntlets) and
|
||||
((Small_Key_Spirit_Temple, 3) or
|
||||
((Small_Key_Spirit_Temple, 2) and Boomerang and bombchus_in_logic and not entrance_shuffle)))",
|
||||
"Spirit Temple GS Lobby": "
|
||||
((has_explosives or (Small_Key_Spirit_Temple, 3) or ((Small_Key_Spirit_Temple, 2) and bombchus_in_logic and not entrance_shuffle)) and
|
||||
logic_spirit_lobby_gs and Boomerang and (Progressive_Hookshot or Hover_Boots or logic_spirit_lobby_jump)) or
|
||||
(logic_spirit_lobby_gs and (Small_Key_Spirit_Temple, 5) and has_explosives and can_use(Boomerang)) or
|
||||
((Small_Key_Spirit_Temple, 3) and can_use(Silver_Gauntlets) and (Progressive_Hookshot or Hover_Boots or logic_spirit_lobby_jump))"
|
||||
},
|
||||
"exits": {
|
||||
"Spirit Temple Outdoor Hands": "True",
|
||||
"Spirit Temple Beyond Central Locked Door": "
|
||||
(Small_Key_Spirit_Temple, 4) and can_use(Silver_Gauntlets)",
|
||||
"Child Spirit Temple Climb": "True"
|
||||
}
|
||||
},
|
||||
{
|
||||
"region_name": "Spirit Temple Outdoor Hands",
|
||||
"dungeon": "Spirit Temple",
|
||||
"locations": {
|
||||
"Spirit Temple Silver Gauntlets Chest": "
|
||||
((Small_Key_Spirit_Temple, 3) and (Progressive_Hookshot, 2) and has_explosives) or
|
||||
(Small_Key_Spirit_Temple, 5)",
|
||||
"Spirit Temple Mirror Shield Chest": "
|
||||
(Small_Key_Spirit_Temple, 4) and can_use(Silver_Gauntlets) and has_explosives"
|
||||
},
|
||||
"exits": {
|
||||
"Desert Colossus": "
|
||||
(is_child and (Small_Key_Spirit_Temple, 5)) or
|
||||
(can_use(Silver_Gauntlets) and
|
||||
(((Small_Key_Spirit_Temple, 3) and has_explosives) or (Small_Key_Spirit_Temple, 5)))"
|
||||
}
|
||||
},
|
||||
{
|
||||
"region_name": "Spirit Temple Beyond Central Locked Door",
|
||||
"dungeon": "Spirit Temple",
|
||||
"locations": {
|
||||
"Spirit Temple Near Four Armos Chest": "Mirror_Shield and has_explosives",
|
||||
"Spirit Temple Hallway Left Invisible Chest": "(logic_lens_spirit or can_use(Lens_of_Truth)) and has_explosives",
|
||||
"Spirit Temple Hallway Right Invisible Chest": "(logic_lens_spirit or can_use(Lens_of_Truth)) and has_explosives"
|
||||
},
|
||||
"exits": {
|
||||
"Spirit Temple Beyond Final Locked Door": "
|
||||
(Small_Key_Spirit_Temple, 5) and
|
||||
(logic_spirit_wall or can_use(Longshot) or has_bombchus or
|
||||
((Bombs or Nuts or can_use(Dins_Fire)) and
|
||||
(Bow or can_use(Hookshot) or Megaton_Hammer)))"
|
||||
}
|
||||
},
|
||||
{
|
||||
"region_name": "Spirit Temple Beyond Final Locked Door",
|
||||
"dungeon": "Spirit Temple",
|
||||
"locations": {
|
||||
"Spirit Temple Boss Key Chest": "
|
||||
can_play(Zeldas_Lullaby) and Bow and
|
||||
Progressive_Hookshot",
|
||||
"Spirit Temple Topmost Chest": "Mirror_Shield",
|
||||
"Spirit Temple Twinrova Heart": "
|
||||
Mirror_Shield and has_explosives and
|
||||
Progressive_Hookshot and Boss_Key_Spirit_Temple",
|
||||
"Twinrova": "
|
||||
Mirror_Shield and has_explosives and
|
||||
Progressive_Hookshot and Boss_Key_Spirit_Temple"
|
||||
}
|
||||
}
|
||||
]
|
||||
76
worlds/oot/data/World/Water Temple MQ.json
Normal file
76
worlds/oot/data/World/Water Temple MQ.json
Normal file
@@ -0,0 +1,76 @@
|
||||
[
|
||||
{
|
||||
"region_name": "Water Temple Lobby",
|
||||
"dungeon": "Water Temple",
|
||||
"events": {
|
||||
"Water Temple Clear": "Boss_Key_Water_Temple and can_use(Longshot)"
|
||||
},
|
||||
"locations": {
|
||||
"Water Temple Morpha Heart": "Boss_Key_Water_Temple and can_use(Longshot)",
|
||||
"Morpha": "Boss_Key_Water_Temple and can_use(Longshot)"
|
||||
},
|
||||
"exits": {
|
||||
"Lake Hylia": "True",
|
||||
"Water Temple Dive": "
|
||||
(can_use(Zora_Tunic) or logic_fewer_tunic_requirements) and can_use(Iron_Boots)",
|
||||
"Water Temple Dark Link Region": "
|
||||
Small_Key_Water_Temple and can_use(Longshot)"
|
||||
}
|
||||
},
|
||||
{
|
||||
"region_name": "Water Temple Dive",
|
||||
"dungeon": "Water Temple",
|
||||
"locations": {
|
||||
"Water Temple MQ Map Chest": "has_fire_source and can_use(Hookshot)",
|
||||
"Water Temple MQ Central Pillar Chest": "
|
||||
can_use(Zora_Tunic) and can_use(Hookshot) and
|
||||
((logic_water_mq_central_pillar and can_use(Fire_Arrows)) or
|
||||
(can_use(Dins_Fire) and can_play(Song_of_Time)))"
|
||||
},
|
||||
"exits": {
|
||||
"Water Temple Lowered Water Levels": "can_play(Zeldas_Lullaby)"
|
||||
}
|
||||
},
|
||||
{
|
||||
"region_name": "Water Temple Lowered Water Levels",
|
||||
"dungeon": "Water Temple",
|
||||
"locations": {
|
||||
"Water Temple MQ Compass Chest": "
|
||||
can_use(Bow) or can_use(Dins_Fire) or
|
||||
at('Water Temple Lobby', can_use(Sticks) and has_explosives)",
|
||||
"Water Temple MQ Longshot Chest": "can_use(Hookshot)",
|
||||
"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(Zora_Tunic) or logic_fewer_tunic_requirements) and can_use(Dins_Fire) and
|
||||
(logic_water_dragon_jump_dive or can_dive or can_use(Iron_Boots))",
|
||||
"Water Temple MQ GS River": "True",
|
||||
"Fairy Pot": "has_bottle",
|
||||
"Nut Pot": "True"
|
||||
},
|
||||
"exits": {
|
||||
"Water Temple Basement Gated Areas": "
|
||||
(can_use(Zora_Tunic) or logic_fewer_tunic_requirements) and
|
||||
can_use(Dins_Fire) and can_use(Iron_Boots)"
|
||||
}
|
||||
},
|
||||
{
|
||||
"region_name": "Water Temple Basement Gated Areas",
|
||||
"dungeon": "Water Temple",
|
||||
"locations": {
|
||||
"Water Temple MQ Freestanding Key": "
|
||||
Hover_Boots or can_use(Scarecrow) or logic_water_north_basement_ledge_jump",
|
||||
"Water Temple MQ GS Triple Wall Torch": "
|
||||
can_use(Fire_Arrows) and (Hover_Boots or can_use(Scarecrow))",
|
||||
"Water Temple MQ GS Freestanding Key Area": "
|
||||
logic_water_mq_locked_gs or ((Small_Key_Water_Temple, 2) and
|
||||
(Hover_Boots or can_use(Scarecrow) or logic_water_north_basement_ledge_jump))"
|
||||
}
|
||||
}
|
||||
]
|
||||
162
worlds/oot/data/World/Water Temple.json
Normal file
162
worlds/oot/data/World/Water Temple.json
Normal file
@@ -0,0 +1,162 @@
|
||||
[
|
||||
{
|
||||
"region_name": "Water Temple Lobby",
|
||||
"dungeon": "Water Temple",
|
||||
"events": {
|
||||
"Child Water Temple": "is_child",
|
||||
# Child can access only the falling platform room as the sole entrant into Water Temple.
|
||||
# Use Child_Water_Temple for cases where child assists after the water is lowered.
|
||||
"Raise Water Level": "
|
||||
(is_adult and (Hookshot or Hover_Boots or Bow)) or
|
||||
(has_fire_source_with_torch and can_use_projectile)"
|
||||
# Ensure that the water level can be raised if it were to be lowered.
|
||||
},
|
||||
"exits": {
|
||||
"Lake Hylia": "True",
|
||||
"Water Temple Highest Water Level": "Raise_Water_Level",
|
||||
"Water Temple Dive": "
|
||||
(can_use(Zora_Tunic) or logic_fewer_tunic_requirements) and
|
||||
((logic_water_temple_torch_longshot and can_use(Longshot)) or can_use(Iron_Boots))"
|
||||
}
|
||||
},
|
||||
{
|
||||
"region_name": "Water Temple Highest Water Level",
|
||||
"dungeon": "Water Temple",
|
||||
"events": {
|
||||
"Water Temple Clear": "Boss_Key_Water_Temple and can_use(Longshot)"
|
||||
},
|
||||
"locations": {
|
||||
"Morpha": "Boss_Key_Water_Temple and can_use(Longshot)",
|
||||
"Water Temple Morpha Heart": "Boss_Key_Water_Temple and can_use(Longshot)",
|
||||
"Fairy Pot": "has_bottle and can_use(Longshot)"
|
||||
},
|
||||
"exits": {
|
||||
"Water Temple Falling Platform Room": "(Small_Key_Water_Temple, 4)"
|
||||
}
|
||||
},
|
||||
{
|
||||
"region_name": "Water Temple Dive",
|
||||
"dungeon": "Water Temple",
|
||||
"locations": {
|
||||
"Water Temple Map Chest": "Raise_Water_Level",
|
||||
"Water Temple Compass Chest": "
|
||||
(can_play(Zeldas_Lullaby) or Iron_Boots) and can_use(Hookshot)",
|
||||
"Water Temple Torches Chest": "
|
||||
(Bow or can_use(Dins_Fire) or
|
||||
(Child_Water_Temple and Sticks and Kokiri_Sword and Magic_Meter)) and
|
||||
can_play(Zeldas_Lullaby)",
|
||||
"Water Temple Central Bow Target Chest": "
|
||||
Progressive_Strength_Upgrade and can_play(Zeldas_Lullaby) and
|
||||
((Bow and (logic_water_central_bow or Hover_Boots or can_use(Longshot))) or
|
||||
(logic_water_central_bow and Child_Water_Temple and Slingshot and at('Water Temple Middle Water Level', True)))",
|
||||
"Water Temple GS Behind Gate": "
|
||||
(can_use(Hookshot) or can_use(Hover_Boots)) and
|
||||
has_explosives and can_play(Zeldas_Lullaby) and
|
||||
(can_use(Iron_Boots) or can_dive)",
|
||||
"Water Temple GS Central Pillar": "
|
||||
can_play(Zeldas_Lullaby) and
|
||||
(((can_use(Longshot) or (logic_water_central_gs_fw and can_use(Hookshot) and can_use(Farores_Wind))) and
|
||||
((Small_Key_Water_Temple, 5) or can_use(Bow) or can_use(Dins_Fire))) or
|
||||
(logic_water_central_gs_irons and can_use(Hookshot) and can_use(Iron_Boots) and
|
||||
(can_use(Bow) or can_use(Dins_Fire))) or
|
||||
(logic_water_central_gs_fw and Child_Water_Temple and Boomerang and can_use(Farores_Wind) and
|
||||
(Sticks or can_use(Dins_Fire) or
|
||||
((Small_Key_Water_Temple, 5) and (can_use(Hover_Boots) or can_use(Bow))))))"
|
||||
},
|
||||
"exits": {
|
||||
"Water Temple Cracked Wall": "
|
||||
can_play(Zeldas_Lullaby) and (can_use(Hookshot) or can_use(Hover_Boots)) and
|
||||
(logic_water_cracked_wall_nothing or (logic_water_cracked_wall_hovers and can_use(Hover_Boots)))",
|
||||
"Water Temple Middle Water Level": "
|
||||
(Bow or can_use(Dins_Fire) or
|
||||
((Small_Key_Water_Temple, 5) and can_use(Hookshot)) or
|
||||
(Child_Water_Temple and Sticks)) and
|
||||
can_play(Zeldas_Lullaby)",
|
||||
"Water Temple North Basement": "
|
||||
(Small_Key_Water_Temple, 4) and
|
||||
(can_use(Longshot) or (logic_water_boss_key_region and can_use(Hover_Boots))) and
|
||||
(can_use(Iron_Boots) or can_play(Zeldas_Lullaby))",
|
||||
"Water Temple Dragon Statue": "
|
||||
can_play(Zeldas_Lullaby) and Progressive_Strength_Upgrade and
|
||||
((Iron_Boots and can_use(Hookshot)) or
|
||||
(logic_water_dragon_adult and (has_bombchus or can_use(Bow) or can_use(Hookshot)) and (can_dive or Iron_Boots)) or
|
||||
(logic_water_dragon_child and Child_Water_Temple and (has_bombchus or Slingshot or Boomerang) and can_dive))"
|
||||
}
|
||||
},
|
||||
{
|
||||
"region_name": "Water Temple North Basement",
|
||||
"dungeon": "Water Temple",
|
||||
"locations": {
|
||||
"Water Temple Boss Key Chest": "
|
||||
(Small_Key_Water_Temple, 5) and
|
||||
(logic_water_bk_jump_dive or can_use(Iron_Boots)) and
|
||||
(logic_water_north_basement_ledge_jump or (has_explosives and Progressive_Strength_Upgrade) or Hover_Boots)",
|
||||
"Water Temple GS Near Boss Key Chest": "True",
|
||||
# Longshot just reaches without the need to actually go near,
|
||||
# Otherwise you have hovers and just hover over and collect with a jump slash
|
||||
"Fairy Pot": "
|
||||
has_bottle and (Small_Key_Water_Temple, 5) and
|
||||
(logic_water_bk_jump_dive or can_use(Iron_Boots)) and
|
||||
(logic_water_north_basement_ledge_jump or (has_explosives and Progressive_Strength_Upgrade) or Hover_Boots)"
|
||||
}
|
||||
},
|
||||
{
|
||||
"region_name": "Water Temple Cracked Wall",
|
||||
"dungeon": "Water Temple",
|
||||
"locations": {
|
||||
"Water Temple Cracked Wall Chest": "has_explosives"
|
||||
}
|
||||
},
|
||||
{
|
||||
"region_name": "Water Temple Dragon Statue",
|
||||
"dungeon": "Water Temple",
|
||||
"locations": {
|
||||
"Water Temple Dragon Chest": "True"
|
||||
}
|
||||
},
|
||||
{
|
||||
"region_name": "Water Temple Middle Water Level",
|
||||
"dungeon": "Water Temple",
|
||||
"locations": {
|
||||
"Water Temple Central Pillar Chest": "
|
||||
can_use(Iron_Boots) and can_use(Zora_Tunic) and can_use(Hookshot) and
|
||||
((Small_Key_Water_Temple, 5) or can_use(Bow) or can_use(Dins_Fire))"
|
||||
},
|
||||
"exits": {
|
||||
"Water Temple Cracked Wall": "True"
|
||||
}
|
||||
},
|
||||
{
|
||||
"region_name": "Water Temple Falling Platform Room",
|
||||
"dungeon": "Water Temple",
|
||||
"locations": {
|
||||
"Water Temple GS Falling Platform Room": "
|
||||
can_use(Longshot) or
|
||||
(logic_water_falling_platform_gs_hookshot and can_use(Hookshot)) or
|
||||
(logic_water_falling_platform_gs_boomerang and can_use(Boomerang))"
|
||||
},
|
||||
"exits": {
|
||||
"Water Temple Dark Link Region": "(Small_Key_Water_Temple, 5) and can_use(Hookshot)"
|
||||
}
|
||||
},
|
||||
{
|
||||
"region_name": "Water Temple Dark Link Region",
|
||||
"dungeon": "Water Temple",
|
||||
"locations": {
|
||||
"Water Temple Longshot Chest": "True",
|
||||
"Water Temple River Chest": "can_play(Song_of_Time) and Bow",
|
||||
"Water Temple GS River": "
|
||||
can_play(Song_of_Time) and
|
||||
((Iron_Boots and (can_use(Zora_Tunic) or logic_fewer_tunic_requirements)) or
|
||||
(logic_water_river_gs and can_use(Longshot) and (Bow or has_bombchus)))",
|
||||
"Fairy Pot":
|
||||
"has_bottle and can_play(Song_of_Time)"
|
||||
},
|
||||
"exits": {
|
||||
"Water Temple Dragon Statue": "
|
||||
(can_use(Zora_Tunic) or logic_fewer_tunic_requirements) and
|
||||
can_play(Song_of_Time) and Bow and
|
||||
(Iron_Boots or logic_water_dragon_jump_dive or logic_water_dragon_adult)"
|
||||
}
|
||||
}
|
||||
]
|
||||
Reference in New Issue
Block a user