diff --git a/README.md b/README.md index 55cb77aea..d6abf482f 100644 --- a/README.md +++ b/README.md @@ -1,525 +1,44 @@ -# OoTRandomizer - -This is a randomizer for _The Legend of Zelda: Ocarina of Time_ for the Nintendo 64. - -**WARNING:** This branch is a modified version of the randomizer. It is **not** officially supported and may be **very unstable**. -Please refrain from asking questions and from reporting issues in the main Randomizer Discord when using this branch. -Instead, you can open an issue on this fork [here](https://github.com/Roman971/OoT-Randomizer/issues) or contact me directly on discord (Roman#7295) for any help, report or request. - -Differences between this branch and the main Dev branch (on [Testrunner's Fork](https://github.com/TestRunnerSRL/OoT-Randomizer/tree/Dev)): -* Various GUI tweaks and improvements along with setting tooltip/option changes -* "Open Kakariko Gate" option to have the gate to Death Mountain being open from the start, as well as the Mask Shop opening upon obtaining Zelda's Letter without needing to show it to the guard from [Cuphat's Open Mask Shop Branch](https://github.com/Cuphat/OoT-Randomizer/tree/open_kak_mask_shop) -* HUD Button colors can be set or randomized separately for the A, B, C and Start buttons and have more available options. -* "Entrance Shuffle" (aka ER) is changed into a set of more advanced and customizable options including mixing entrance pools, decoupling entrances and randomizing overworld spawns or warp songs. -* Picking up Gold Skulltula Tokens in non-Tokensanity displays a self-closing textbox which no longer freezes the player. -* "Bombchus In Logic" is improved to include bombchu drops (from grass, pots, etc) that start dropping once you have found Bombchus. -* New Inventory/Equipment/Status Icons Display in File Select from [rlbond86's Menu Icons Branch](https://github.com/rlbond86/OoT-Randomizer/tree/menu_icons) -* New "Shuffle Medigoron & Carpet Salesman" option to have both of these NPCs sell a randomized item once at the price of 200 Rupees. -* The Adult Temple of Time Altar provides additional information on Rainbow Bridge requirements as well as the location of Ganon's Castle Boss Key, always available under any settings. -* Various gameplay fixes and QoL improvements, including fast Rock/Block lifting, from [Fig's QoL Branch](https://github.com/fig02/OoT-Randomizer/tree/qol) - -## Index - -* [Installation](#installation) -* [General Description](#general-description) - * [Getting Stuck](#getting-stuck) - * [Settings](#settings) - * [Known Issues](#known-issues) -* [Changelog](#changelog) - * [5.2](#52) - * [5.1](#51) - * [5.0](#50) - * [4.0](#40) - -## Installation - -To run this program, clone or download this repository and either run ```Gui.py``` for a graphical interface or ```OoTRandomizer.py``` for the command line version. -They both require Python 3.6+. - -This randomizer requires The Legend of Zelda: Ocarina of Time version ```1.0 NTSC-US```. This randomizer includes an in-built decompressor, but if -the user wishes a pre-decompressed ROM may be supplied as input. Please be sure your input ROM filename is either a .n64 or .z64 file. For users -playing via any means other than on real N64 hardware, the use of the "Compress patched ROM" flag is strongly encouraged as uncompressed ROMs are -impossible to inject for the Virtual Console and have random crashing problems on all emulators. - -For general use, the recommended emulator is RetroArch; it has been shown to work with minimal issues. Bizhawk and Mupen64plus are generally good choices -too. If you want to play on Project 64 for whatever reason, you can, but you will need to set the rando to use 8 MB of RAM and will want to play with the -cheat code ```8109C58A 0000``` to partially fix Project 64's tragically poor handling of OoT's pause menu. Project 64 also has one particular crash that only -happens for some unknown settings configurations; we cannot support this. We cannot emphasize enough that it is a discouraged emulator to use. - -## General Description - -This program takes _The Legend of Zelda: Ocarina of Time_ and randomizes the locations of the items for a new, more dynamic play experience. -Proper logic is used to ensure every seed is possible to complete without the use of glitches and will be safe from the possibility of softlocks with any possible usage of keys in dungeons. - -The randomizer will ensure a glitchless path through the seed will exist, but the randomizer will not prevent the use of glitches for those players who enjoy that sort of thing though we offer no guarantees that all glitches will have identical behavior to the original game. -Glitchless can still mean that clever or unintuitive strategies may be required involving the use of things like Hover Boots, the Hookshot, or other items that may not have been as important in the original game. - -Each major dungeon will earn you a random Spiritual Stone or Medallion once completed. -The particular dungeons where these can be found, as well as other relevant dungeon information can be viewed in the pause menu by holding the "A" button on the C-Item Menu. - -As a service to the player in this very long game, many cutscenes have been greatly shortened, and text is as often as possible either omitted or sped up. It is likely that someone somewhere will miss the owl's interjections; to that person, I'm sorry I guess? - -### Getting Stuck - -With a game the size of _Ocarina of Time_, it's quite easy for new Randomizer players to get stuck in certain situations with no apparent path to progressing. Before reporting an issue, please make sure to check out [our Logic wiki page](https://wiki.ootrandomizer.com/index.php?title=Logic). - -### Settings - -The OoT Randomizer offers many different settings to customize your play experience. -A comprehensive list can be found [here](https://wiki.ootrandomizer.com/index.php?title=Readme). - -#### Plandomizer - -"Plan"-domizer is a feature that gives some additional control over the seed generation using a separate distribution file. In such a file you can: -* Place items at specific locations or restrict items from being placed at specific locations. -* Add or remove items from the item pool. -* Select items to start with. -* Set specific dungeons to be vanilla vs Master Quest. -* Set which trials are required. -* Set any regular settings. - -Caveat: Plandomizer settings will override most settings in the main OoTR generator settings, particularly list-based settings like enabled tricks or starting inventory. For example, if the Plandomizer distribution file contains an empty list of starting items, and the generator settings include additional starting equipment, the player will start with none of them instead. You will have to edit the Plandomizer file to change such settings, or **delete** completely the line in the Plandomizer file with the given setting to allow the main generator to alter the setting. - -See [the Plandomizer wiki page](https://wiki.ootrandomizer.com/index.php?title=Plandomizer) for full details. - -### Known issues - -Unfortunately, a few known issues exist. These will hopefully be addressed in future versions. - -* The fishing minigame sometimes refuses to allow you to catch fish when playing specifically on Bizhawk. Save and Hard Reset (NOT savestate) and return to fix the -issue. You should always Hard Reset to avoid this issue entirely. -* Draining the Bottom of the Well with Song of Storms sometimes crashes on specific configurations of Project 64. We aren't sure of the exact story, but this bug is -easily avoided by playing on a different emulator and probably also avoidable by changing your settings and maybe graphics plug-in. -* Executing the collection delay glitch on various NPCs may have unpredictable and undesirable consequences. -* Saving and quitting on the very first frame after becoming an adult when you would trigger the Light Arrow cutscene can have undesired consequences. Just don't -do that. -* This randomizer is based on the 1.0 version of _Ocarina of Time_, so some of its specific bugs remain. Some of these like "empty bomb" can be disadvantageous to the -player. - -## Changelog - -### Dev - -#### New Features -* New setting `Skip Some Minigame Phases` - * Allows getting both rewards for Horseback Archery and Dampé Race in a single go! - * Replaces the `Skip First Dampé Race` setting. -* `Lens of Truth` setting has been removed and replaced with several independent tricks. - * `Lensless Wasteland`: assumes you can navigate the Wasteland to the Colossus without the Lens of Truth. - * ` without Lens of Truth`: assumes you can complete the given area without the Lens of Truth. Note that MQ and Vanilla dungeons have separate tricks. - * Shadow Temples are split into two separate areas for these tricks. - * Glitchless logic now requires Lens (or an appropriate trick) for some checks, particularly in Shadow Temple. - * Glitched logic may sometimes assume you can do something without lens regardless of trick settings. -* New cosmetic setting `HUD Button Colors` - * The buttons shown on the HUD can be colored to match the N64 or Gamecube color scheme, of OoT or MM. - * Or you can completely randomize all the button colors. -* New cosmetic setting `Item Model Colors Match Cosmetics` - * Freestanding models like heart containers, gauntlets, and heart/magic drops will match their respective color settings. - * Tunics are not affected, in order to keep freestanding tunics recognizable. -* Tricks can be filtered in the GUI using a new dropdown. - -#### Bug Fixes -* Limit Kokiri Tunic RGB values in Glitched Logic to prevent Weirdshot crashes. -* Prevent an errant `@` from showing up in Triforce Hunt. -* Allow playthrough to collect a second 'Bottle with Letter' as its first empty bottle. -* Fix some issues with `Randomize Main Rules`: - * Closed Forest implies starting as child. - * Triforce Hunt won't accidentally place the Boss Key for Ganon's Castle. -* Fix a rare issue in ER with using time-passing regions to gain new access. -* The seed generator can now retry a few times in case of failure. -* Minor plandomizer fixes and improvements. - -#### Other Changes -* Most locations and a few items have been renamed to improve spoiler output and standardize. - * This will break settings and distribution files from previous versions that reference these locations and items. -* File 3 has been removed from generated ROMs to free up some space. -* The Zora Sapphire in Jabu Jabu's Big Octo room is now the actual dungeon reward. -* Performance improvements to seed generation. -* Updated development n64 compilation process to use latest available toolchain. -* Added decompressor source and updated Decompress binaries. -* OoTRandomizer.py returns an error code on failure to interact better with user scripting. -* Plandomizer distribution files are copied to the Output directory next to the Spoiler and Cosmetics logs. -* Mweep. - -### 5.2 - -#### New Features -* Triforce Hunt - * Collect some number of Triforce Pieces to beat the game instead of beating Ganon. - * Multiworld Triforce counts are collective, so once the total is reached across all players everyone wins. - * If enabled via randomizing main rules, the count is always 20. -* Separate Double Defense model - * Now appears as a color-shifted version of the Heart Container, with a transparent interior and prominent gold border. -* Visual Stone of Agony indicator - * When the player has the Stone of Agony, it will appear on-screen above the rupee count when the player is near a hidden grotto. - * The icon vibrates based on proximity to the grotto entrance, similar to the rumble pak. - * A real rumble pak is not required. -* Starting Inventory - * A new tab in the GUI allows setting initial inventory, without having to create a Plandomizer file. - * Items are divided into sections in the GUI based on category. - * Trade quest items, Gerudo Membership Card, Scarecrow Song not included. - * To start with the Gerudo Membership Card, set `Gerudo Fortress` to `Open Fortress` and disable `Shuffle Gerudo Card` ('Main Rules' tab). - * To start with the Scarecrow Song, enable `Free Scarecrow's Song` ('Other' tab). - -#### Updated Settings -* Open Zora Fountain now has an open only adult option. -* Added a new setting `Ice Trap Appearance` to select whether ice traps appear as major items (the default), junk items, or anything. This appearance can affect chest size with `Chest Size Matches Contents` enabled. -* Removed settings `Start with Fast Travel`, `Start with Tycoon's Wallet`, `Start with Deku Equipment`. - * These have been replaced with settings in the "Starting Inventory" tab. -* New settings `Start with Consumables` (enable to start with max Sticks, Nuts, and ammo), `Starting Hearts` (changes starting max health). -* New list settings `Starting Equipment` (swords, shields, strength, etc.), `Starting Items` (c-items), `Starting Songs` (songs). -* Logic now requires Stone of Agony to access any hidden grotto. - * A new trick `Hidden Grottos without Stone of Agony` will bypass this. - * Stone of Agony is now only considered a useless item (for barren areas) when this trick is on and Gossip Stones do not use it. -* Added a new trick `Goron City Spinning Pot PoH with Strength`, which allows stopping the Spinning Pot using a bomb flower. -* Hell Mode preset includes both the above tricks. -* Tricks enabled/disabled in a Plandomizer file now take precedence over Tricks in 'Detailed Logic', even if the Plandomizer file has an empty list. - * An empty list means the seed will be beatable without any tricks. - * If there's no `allowed_tricks` item in the file, the Detailed Logic tricks apply instead. - * If there is an `allowed_tricks` list in the file, it will not be possible to disable any of the enabled tricks (or enabling more) without editing the file. - -#### Other Changes -* Cosmetic heart color setting now applies in the file select screen. -* Cosmetic tunic color setting now applies to the icons in the pause menu. -* Non-Always Location hints cannot be placed for an area that already has a Foolish hint. - * If the location hint is placed first, then it can still appear in a foolish hinted area, however in Tournament hint distribution the Foolish hints are placed first so that cannot happen. -* The location containing Light Arrows will be considered a hinted location if Ganondorf's hint can be reached without them. -* Ganondorf no longer hints at his Boss Key chest contents, except when Light Arrows don't exist (only possible in Triforce Hunt). -* Improved Entrance Randomizer hints. -* Updated Compressor. The GUI progress bar is now granular. If for some reason, the rom won't fit into 32MB, then the compressor will increase the output size. -* Revised some settings tooltips. -* Refactored Logic once again. It now uses helper json rules and rules can reference other rules. -* Disabled settings don't show up in the spoiler. -* Plando will now accept JSON lists for `item` in the location dictionary to randomly choose between for placement. - * Attempts to not exceed item pool values until all the pool counts for the items in the list are reached. -* Plando locations are matched without regard to case. -* "Start with" settings are now handled by the Plando library. -* Further seed generation speed improvements. -* The main search algorithm was renamed Search (from Playthrough) to avoid confusion with the spoiler playthrough. -* General code cleanup and typo fixes. -* Added more Plando unittests. - -#### Bug Fixes -* Minor stability fix in Plando. -* Spoilers for plando'd seeds now correctly show the tricks enabled for the seed. -* Plando no longer occasionally attempts to place an item on a location where it's not allowed. -* Plando starting items and items set in specific locations now count toward the pool allocation. (Starting items are replaced with junk.) -* Plando now refuses to place more than the maximum amount of bottles, adult trade items, shop items, or total non-junk items. -* Plando no longer places Ice Traps as Junk if `Ice Traps` is set to 'off'. -* Other various Plando bug fixes. -* Starting items for adult that auto-equip should do so correctly now. (Non-Kokiri Tunics won't autoequip at the moment.) -* Fixed two chests in MQ Shadow Temple that had swapped names in plando and spoilers. -* Removed (unnecessarily) duplicated/overlapping hints. -* Hints that should come in multiples (duplicates) no longer come in singletons in certain corner cases. -* Randomizing main rules now works correctly. -* Removed a misleading random "trials" value from the non-randomized settings in the spoiler. -* Fix seed values with spaces no longer working. -* Removed a mispasted option description from Gauntlets colors tooltips. -* Major armips fix should prevent some crashes in Dev builds. (Devs: required armips version >= 0.10.0-68-g8669ffd) -* Miscellaneous logic fixes. -* Other bug fixes. - -### 5.1 - -#### New Features -* `Skip First Dampé Race` - * Allows getting both rewards in one race if the 60 second target is cleared -* Rupee Icon Color changes based on your current wallet upgrade - -#### Updated Settings -* Improve `Ear Safe` to be less painful -* `Tokensanity: Overworld Only` - * Shuffles Gold Skultulla Tokens in the overworld to compliment `Dungeons Only` -* Configurable Skulltula target for the Bridge Requirement -* `Randomize Main Rule Settings` still allows setting the `MQ Dungeon Count` -* `Always Guaranteed Hints` are now determined conditionally based on settings -* `Default Presets` are updated to better reflect first time beginner settings - * The previous `Beginner Preset` is renamed to `Easy Preset` - -#### Bug Fixes -* Improve stability of music related features -* Fix "...???" textboxes at the entrance of Great Fairies -* In the unlikely event `Tournament Hints` runs out of hints, the remaining hints are filled with more "Sometimes Good" hints. If those run out as well then it will fill with "Random Locations" hints. -* The `Gerudo Valley Crate PoH as Adult with Hover Boots` trick now properly takes OHKO into account. -* Minor GUI tweaks -* Improve error feedback in GUI and Rules JSON - - -### 5.0 - -#### New Features -* New Electron GUI - * New GUI now utilizes both Python and Node to bring you an even better interface - * Now requires Node (with NPM), in addition to the Python requirement -* Glitched Logic - * New Logic Rules option that takes movement glitches into consideration - * Check out the Wiki for more information -* Entrance Randomizer - * Randomize entrances/loading zones - * Entrances are connected bidirectionally, and only shuffled with other entrances of the same pool - * Ability to randomize entrances (loading zones) among multiple pools: - * `Dungeons Only`: All Dungeons except Ganon's Castle - * `Simple Indoors`: Dungeons; as well as Houses, Great Fairies, all Open and Hidden Grottos (including small Fairy Fountains and the Lost Woods Stage), and Graves. - * `All Indoors`: Dungeons and Simple Indoors, as well as Link’s House, the Temple of Time, the Windmill, and Dampé’s Grave. - * `All Indoors & Overworld Entrances`: Almost all loading zones connecting overworld areas, including Owls - * Deku Tree, Fire Temple, and Bottom of the Well dungeon entrances are accessible as both ages -* Starting Age Option - * Can now start as child, adult, or random -* Plan-domizer - * Create a custom seed by placing items, hints and/or entrances where you want them - * Customize starting items, item pools, active trials and Master Quest dungeons - * Plandomizer files match the spoiler log JSON format -* Additional Customization - * Additional Background Music Sequences can now be provided to be shuffled in - * Fanfares randomization - * Customizable Heart, Magic Meter, and Gauntlet colors - * Separate inner and outer Navi colors -* Added `Randomize Main Rules` option -* Cow Sanity - * Playing Epona's Song for a cow for the first time gives a randomized item. -* Shuffle Magic Beans - * A pack of 10 beans is shuffled into the pool and the Bean Salesman sells a random item once for 60 rupees. -* Cucco Count - * The number of cuccos to be gathered for Anju can be reduced or randomized, and Anju will tell you in-game the target number to catch (similar to 10 Big Poes). -* Enable Useful Cutscenes prevents some useful cutscenes from being skipped - * Re-enables Poes at Forest Temple, Darunia at Fire Temple, and Twinrova at Spirit Temple - -#### Major Changes -* Seeds generation is significantly faster -* Major refactor of logic for performance and ER -* Spoiler log is now in JSON format -* Log files are produced in `Logs` during generation to record any errors. -* Major Logic Changes - * Desert Colossus Hands are now logically part of Spirit Temple - * Added the ability to enter drain the Lake Hylia water as Adult after beating Morpha using a new Gossip Stone near the Serenade Warp Pad. Entering Water Temple with Gold Scale and Longshot is now always in logic, however no locations are accessible without additional tricks, Keysanity/Keysy, or Iron Boots. - * Disabled Locations will always hold Junk items (except song locations if songs are not shuffled with items) -* Gameplay Changes - * Mechanically, Hot Rodder Goron no longer checks for Bomb Bag - * Wearing Bunny Hood increases running speed to match backwalking speed - * All Gerudo now check for Gerudo Membership Card instead of Carpenters being freed - * This only affects when `Shuffle Gerudo Card` is enabled or in Entrance Randomizer - * In the affected modes, a Gerudo is added behind the Wasteland gate who can open the gate - * Removed RNG from Fishing Minigame - * Note: The optimal strategy is to have the line stationary for the fish to bite - * Can now cast Farore's Wind and play Warp Songs from within Gerudo Training Grounds and all of Ganon's Castle -* Hint Changes - * Every generic grotto gossip stone has their own hint. - * The "Very Strong" hint setting can now give multiple Foolish dungeon hints. - * The “Tournament” hint setting was revised to utilize all 40 hint stones. - * Increased to 5 WOTH hints (with a new maximum of 2 Dungeon regions hinted); increased to 3 Foolish hints; Skull Mask added to Tournament hints’ Always hints; 5 Sometimes hints; all hints in this distribution are duplicated onto two Gossip Stones. -* Cutscene Changes - * Burning Kakariko Cutscene can be triggered when entering Kakariko Village from any entrance. - * Speedup Owl Flying cutscenes to be almost instant. - * Enable Useful Cutscenes setting added (see above in New Features) - -#### Updated Settings -* Filter added to `Location Exclusion` dropdown -* More tricks added to the `Enable Tricks` dropdown -* Shuffle Gerudo Card can now be enabled alongside Open Gerudo Fortress. -* Forest Options - * `Closed Deku`: Open Forest except Mido still blocks the Deku Tree -* Dungeon Item Options - * Added `Vanilla` placement option for small keys, boss keys and maps/compasses -* Ganon's Boss Key - * Split Ganon’s Boss Key settings from the rest of the Boss Keys setting - * Added LACS options that place the key there. - * This allows playing with open bridge while still requiring dungeon completion - * This replaces the Remove Ganon’s Boss Door Lock option -* Plentiful Item Pool - * Duplicate Ruto's Letter added to plentiful item pool -* With `Start With Max Rupees` option enabled, wallet upgrades items now fill to max rupees - -#### Bug Fixes -* No longer able to buy Bombchus with only bomb bag when Bombchus in logic -* Dampé freestanding Piece of Heart no longer requires opening the chest -* Buying Piece of Heart/Heart Container fully heals Link -* Learning Sun's Song from Malon no longer causes a softlock -* Castle and Gerudo guards can no longer cause softlock when catching you -* Vanilla shop items have correct price in spoiler log with shopsanity enabled -* Fixed Song of Storms not being usable in Sacred Forest Meadow immediately after learning it -* Improved Bottled Fairy logic rules for OHKO in ER -* Fixed `Starting Time of Day` times to better reflect their descriptions with the in-game state - * `Night` options will spawn Skulltulas -* Add compatibility support for Python 3.8 -* Improved Spoiler Logs for Multiworlds with differing Random settings between worlds -* Lab Dive now completable even with Eyedrops in your possession -* Great Fairy cutscene no longer plays on additional visits for health and magic refills. -* Running Man can now fill a Tycoon’s wallet when buying the Bunny Hood from the player - - -### 4.0 - -#### New Features - -* Quick boot equips - * Use D-pad left to equip Iron Boots if they're in the inventory, or D-pad right to equip Hover Boots if they're in the inventory. - * Press the button again to equip Kokiri Boots. -* Quick Ocarina - * Use D-pad down to pull out the Ocarina. -* Freestanding models - * All freestanding item locations now display the model of the item you will receive. -* Ice traps now work from any location. - * In freestanding locations, appears as a random major item - * In shops, appears as a random major item with a misspelling -* Various speedups - * No Talon cutscene when he runs away - * Skip "Caught By Gerudo" cutscene - * Shorten cutscene when getting Bullet Bag from the Deku Scrub in Lost Woods - * Fast pushing and pulling - * All types of blocks - * Spinnable mirrors in Spirit Temple - * Truth spinner in Shadow Temple - * Puzzle in basement of Forest Temple - * Ocarina minigame shortened to the first round - * 5 notes instead of 8 - * Jabu-Jabu's Belly elevator spawns in a more convenient position - * Kakariko carpenter position is offset so he is no longer in your way during the cucco route. - * Warp songs now have a normal transition with no cutscene. - * Pause screen starts on Inventory Screen instead of Map Screen -* Gold Skulltula textbox displays current number obtained -* Poe salesman tells point limit without needing to sell -* Patch files added so that generated seeds can be distributed legally - -#### New Options - -* Master Quest dungeon slider - * Selects a number of Master Quest dungeons to appear in the game - * Ex: 0 - All dungeons will have their default designs. - * Ex: 6 - Half of all dungeons will have Master Quest redesigns. - * Ex: 12 - All dungeons will have Master Quest redesigns. -* Damage multiplier - * Changes the amount of damage taken - * OHKO: Link dies in one hit -* Item pool - * Replaces difficulty - * Changes the number of bonus items that are available in the game - * Plentiful: Extra major items are added - * Balanced: The original item pool - * Scarce: Some excess items are removed, including health upgrades - * Minimal: Most excess items are removed -* Start with max rupees - * The player begins the game with 99 rupees. -* Start with Deku equipment - * The player begins the game with 10 Deku sticks and 20 Deku nuts. - * If playing without shopsanity, the player begins with a Deku shield equipped. -* Start with fast travel - * The player begins the game with the Prelude of Light and Serenade of Water songs learned and the Farore's Wind spell in the inventory. - * These three items increase Link's mobility around the map, but don't actually unlock any new items or areas. -* Start with Tycoon wallet -* Open Zora's Fountain - * King Zora is moved to the side from the start of the game. - * Ruto's Letter is removed from the item pool and replaced with an Empty Bottle. -* Randomize starting time of day -* Ice traps setting - * Off: All ice traps are removed - * Normal: Only ice traps from base pool are placed - * Extra ice traps: Chance to add extra ice traps when junk items are added to the item pool - * Ice trap mayhem: All junk items added will be ice traps - * Ice trap onslaught: All junk items will be ice traps, including ones in the base pool -* New Cosmetics - * Added options for Sword Trail colors - * Can set the length of the trails - * Can set the inner and outer colors - * Can set color to "Rainbow" - * Additional SFX options - -#### Updated Features - -* Hints distribution - * Changes how many useful hints are available in the game - * Useless: Has nothing but junk hints - * Balanced: Gives you a mix of useless and useful hints. Hints will not be repeated - * Strong: Has some duplicate hints and no junk hints - * Very Strong: Has only very useful hints - * Tournament: Similar to strong but has no variation in hint types -* Frogs Ocarina Game added to always hints -* Hints are only in logic once you are able to reach the location of the gossip stone by logic. - * Hints ignore logic if inaccessible -* Foolish choice hint added - * Regions that are a foolish choice will not have any required items no matter what route is taken in logic. -* Big Poes location does not require a hint if the count set to 3 or less. -* Add medallion icons to the Temple of Time altar hint -* Add a hint for 0/6 trials if trial count is random -* Scrub Shuffle now updates the Business Scrubs' textboxes with the updated price for buying their item. - -#### Updated Options - -* Chest size matches contents updated - * Boss keys appear in gold chests - * Small keys appear in small gold chests -* Free Scarecrow's Song changes - * Pulling out ocarina near a spot where Pierre can spawn will do so. -* Rainbow Bridge changes - * Spiritual Stones added as bridge requirement - * 100 Gold Skulltula tokens added as bridge requirement -* Any location can now be excluded from being required. -* Various advanced tricks has been split into individual tricks to be selected. -* Choose sound effects ocarina uses when played - -#### Bug Fixes - -* Deku and Hylian shields from chests no longer become Blue Rupees. -* Force game language to be English even if a Japanese rom is supplied -* Door of Time now opens when entering Temple of Time from all spawns. -* Fix empty bomb glitch -* Move item cost to after Player in the spoiler log -* Add Wasteland Bombchu Salesman to spoiler log when required for first Bombchus -* Fix message text table is too long error when using settings that add a lot of text to the ROM -* Kokiri Sword no longer required for fishing as child -* Fix Biggoron Sword collection delay -* Twinrova phase 2 textbox fix -* Switches in Forest and Fire Temple lowered by 1 unit to make it easier to press them -* Equipment menu will now show the name of the item you have in the first column -* Hover Boots will no longer show up as adult in the first equipment menu slot if a Fairy Slingshot was not gotten before becoming adult. -* Ammo items now use the correct item fanfare. -* Fix chest size matches contents to work for all chests -* Removed key for key logic -* Removed unused locked door in Water Temple -* Scarecrow's Song should no longer cause softlocks when played in laggy areas. -* Text error messages no longer display the Pocket Egg text. -* Ice traps added back to OHKO as the softlock appears fixed -* Ganon now says "my castle" instead of "Ganon's Castle" for light arrow hint. -* Fix various typos in text - * Gerudo's Fortress - * Zora's River - * Red Rupee - * Textbox about Dampé's grave -* "Ganon's Tower" is now just "Ganon's Castle". -* Dampé's Gravedigging Tour reward correctly flags collection on pickup. -* Castle Moat Bridge no longer closes when playing the Zelda Escape cutscene. -* Various logic fixes - -#### Multiworld Changes - -* Maximum player count increased from 31 to 255 -* Ice traps can now be sent to other worlds. -* Ganon now tells you the location of your Light Arrows, not the location of some Light Arrows that may exist in your world. -* Item placement rebalanced so that an item for another player can only be placed on a location that both players can reach in logic - -#### Development Version Changes - -* Output patch file - * Creates a binary patch file instead of a ROM which allows sharing a seed without sharing copyright protected material -* Patch ROM from file - * Applies a generated patch file to the base ROM and creates a randomizer ROM which allows sharing a seed without sharing copyright protected material -* Settings presets - * Adds a functionality to save settings strings for future use - * Several presets are already provided. -* Create settings log if spoiler log is disabled -* File names no longer include a settings string. - * Instead display a shortened SHA-1 hash of the settings string -* Add option for converting settings to a string and back - * Only convert the specified settings to a settings string - * If a settings string is specified output the used settings instead -* Python 3.5 is no longer supported. - * You must have Python 3.6 or higher installed to run the randomizer code. -* Add option to only apply cosmetic patch without generating world data -* CLI uses a specified settings file instead of taking in each option. - * Uses settings.sav as default if it exists - * Uses default settings if no settings file is provided and no settings.sav exists -* Version check is no longer a dialog - * Appears in a frame in the main randomizer window -* Copy settings string button -* The cosmetic versioning has been added to the ROM. Some cosmetics are only applied if they are safe to do so. -* Added ability to set the output file name and added file creation logs -* Major refactor of code +I am new at this but this branch contains rewritten JSON files for logic. My files are put within the `data/scenes` folder. +Only the JSON files have been rewritten and they contain some problems. So if you tried to make the randomizer, it would definitely not actually work. + +They pave way for such features as lock rando, door rando, hybridized Vanilla/MQ dungeons, and MM integration to be accounted for in logic, although these features are unlikely to be added and they do not completely account for them either. In general, it makes it simple to account for more requirements of traversing each room if you can look at each room individually. It makes requirements for complex dungeons like Spirit Temple less confusing. Also, if the randomizer ever eventually becomes a mod, then this would make it easier to add a logical component to the scene data itself. + +* All regions, including overworld regions, have been split into rooms and numbered. For the sake of door rando, I treated each room as if it was in a vacuum and went through them both ways to provide conditions regardless of what is required to access the room in vanilla. And even regardless of whether the transition to that room consists of a door. In dungeons, every region has the same name for both the original and Master Quest and I gave them names that made sense for both versions (haven't done the latter yet in Dodongo's Cavern or Bottom of the Well for some reason) +* Most dungeon rooms with enemies that unlock something have been made into events which will make swordless easier to add. Did the same for silver rupees for convenience. +* Made logic for Gerudo's Fortress/Thieves' Hideout, Ganon's Tower collapse, and boss rooms so they can be included in ER. + +### Logic helpers + +* I did not edit `LogicHelpers.json` but have used these in the files. +* `barred_door`: When a door can be barred for any reason, I put this as an alternate condition on that exit. This is meant to be false. Perhaps this would make it possible to have all barred doors open automatically or split it up for each barred door in the game. The ones in Ice Cavern and Jabu-Jabu are different from the standard barred doors and might need to be separate things but I didn't. +* `can_climb()`: For every ledge that I could think to add it I counted the change in Link's Y coordinate and put it as a condition. Why do this instead of just is_adult for those ledges that child cannot climb? Because the forms of Link in MM have different heights. Deku Link is very short and Fierce Deity Link is very tall. But I do not even know the exact heights or maximum climbing heights of any of the forms in OoT or MM. +* `can_fall`: I put this for some instances in which the player is required to fall a distance that they cannot roll out of. I don't know if this is necessary to put it as its own term or just use the regular assortment of no OHKO or Fairy or Nayru's Love (if that prevents fall damage) but I put that there and I couldn't be bothered to change it before forking. +* `can_press_floor_switch`: Every time that Link has to step on a floor switch I put this condition, which is always true. What is the point? Because Deku Link in MM is too light to do so. +* `can_swim`: I only thought to add this condition late on and did not put it in most of the places where it belongs. It is always true although it would not be for Deku and Goron Link. I also did not account for the heights that Goron Link can stand in without drowning or the distances that Deku Link can skip across, or for Zora's ability to survive underwater, but I don't really care about those now. +* `can_crouch`: I don't know if this is required in any other place than Deku Tree MQ basement but Link can lower his height by guarding with sticks, hammer, or Giant's Knife/Biggoron's Sword, or with Hylian Shield as child. +* `can_play_underwater`: This would make it possible to lower Water Temple's water from high to medium. This is always false although Zora Link can do this and it also happens to be an option in MM randomizer for human Link. +* `can_hold_down_switch`: This refers to the ability to hold down blue switches without anything that exists in the room including Ruto. Always false, but examples of situations where this could be true include shared-world multiplayer, Elegy of Emptiness in MM, and Cane of Somaria in other games. +* `mm_ice_arrows`: This is OoT, not MM, so this can always be false, but I still made logic for what if Ice Arrows could freeze water like in MM. This would have an effect in various rooms of Water Temple most notably allowing the player to access the boss without Longshot. Also in Zora's River for bypassing rocks as child or freezing the waterfall, and in one room of Jabu-Jabu which has a gold skulltula in MQ. +* `mm_light_arrows`: Similar to the above, always false. Note that this might be a greater violation of Vanilla by allowing you to give the BotW treatment to a puzzle in Ganon's Castle where you would actually have Light Arrows. +* `can_jumpslash_except_kokiri`: I put this on one gold skulltula in Spirit Temple because I could jumpslash it with everything else but not Kokiri Sword. + +### New Tricks + +* Trick to climb Gerudo Fortress: The wall of the lower southeast roof is too high for Adult Link to climb onto from the lower roof with two doors, but it is possible to jump off the roof from an angle and climb up with the increased height of the jump. +* `logic_zf_fairy_without_bombs`: In Zora's Fountain, Silver Gauntlets plus Hammer allows you to reveal a hole that you can jump into and grab onto the other edge of the hole and climb into the Great Fairy Fountain without blowing up the wall. +* `logic_water_cracked_wall_bombchu`: In the Water Temple, the cracked wall can be blown up with bombchus from the third floor, at any water level. + +### Problems + +* In general, many things that I didn't bother to figure out all the conditions for I went bleh. +* All these conditions will slow down generation. +* I put a single key as a requirement for each locked door and the logic doesn't currently tally them. In general, it will be necessary for lock rando to introduce some representation for doors into these JSON files but since I couldn't decide on how to do that I just used the exits for now. Whenever I got to the other side of a key door I put "Still_a_key" or some such there. +* Deku Tree MQ has requirements of using torch from outside the room. Though this might not matter without Door Rando. +* Jabu-Jabu has Ruto and I couldn't decide how to handle this as a condition since she goes away so that would be technically NRA. Not as much of a problem without door rando though. +* Forest Temple twisting rooms hurt me especially when they both turned out to be a permanent flag in MQ only. +* Fire Temple has those hot rooms and if you go from one into another with Door Rando you absolutely need Goron Tunic but I didn't know how to represent this in a way that could work in door rando. +* Water Temple has the water levels which I split into 3 different regions for my sanity... This needs a lot of work to even work. Though maybe randomizing the starting water level might become a possibility? +* Spirit Temple top floor mirrors wouldn't work in Door Rando. +* Though even if we did have door rando some of those things that would be problems there could be worked around simply by not rando-ing those specific adjacent rooms. +* Did not yet integrate Glitched logic. +* This was based off the dev branch and I missed any changes from the dev-r fork other than Medigoron. \ No newline at end of file diff --git a/data/Scenes/Bosses.json b/data/Scenes/Bosses.json new file mode 100644 index 000000000..33184c6a4 --- /dev/null +++ b/data/Scenes/Bosses.json @@ -0,0 +1,278 @@ +[ + #These boss rooms all have a Room 0 but they are not real rooms + { + "region_name": "Gohma Entrance", + "dungeon": "Deku Tree", + "room": "1", + "exits": { + "Deku Tree Three Scrub Room": "True", + "Gohma Arena": "True" + } + }, + { + "region_name": "Gohma Arena", + "dungeon": "Deku Tree", + "room": "1", + "events": { + "Queen Gohma": "is_adult or Kokiri_Sword or Sticks" + }, + "locations": { + "Deku Tree Queen Gohma Heart": "'Queen Gohma'" + }, + "exits": { + "Gohma Entrance": "'Queen Gohma'", + "Deku Tree Post Boss": "'Queen Gohma''" + } + }, + { + "region_name": "Deku Tree Post Boss", + "dungeon": "Deku Tree", + "events": { + "Deku Tree Clear": "True" + }, + "locations": { + "Kokiri Emerald": "True" + }, + "exits": { + "KF Outside Deku Tree": "True" + } + }, + { + "region_name": "King Dodongo Entrance", + "dungeon": "Dodongos Cavern", + "room": "1", + "locations": { + "Dodongos Cavern Boss Room Chest": "True" + }, + "exits": { + "Dodongos Cavern Floor Hole Switch Room": "True", + "King Dodongo Arena": "has_explosives" + } + }, + { + "region_name": "King Dodongo Arena", + "dungeon": "Dodongos Cavern", + "room": "1", + "events": { + "King Dodongo": " + (Bombs or Progressive_Strength_Upgrade) and + (is_adult or Sticks or Kokiri_Sword)" + }, + "locations": { + "Dodongos Cavern King Dodongo Heart": "'King Dodongo'" + }, + "exits": { + "Dodongos Cavern Post Boss": "'King Dodongo'", + "King Dodongo Entrance": "False" + } + }, + { + "region_name": "Dodongos Cavern Post Boss", + "dungeon": "Dodongos Cavern", + "locations": { + "Goron Ruby": "True" + }, + "exits": { + "Dodongos Cavern Entryway": "True" + } + }, + { + "region_name": "Barinade Arena", + "dungeon": "Jabu Jabus Belly", + "room": "1", + "events": { + "Barinade": "can_use(Boomerang)" + }, + "locations": { + "Jabu Jabus Belly Barinade Heart": "'Barinade'" + }, + "exits": { + "Jabu Jabus Belly Post Boss": "'Barinade'" + } + }, + { + "region_name": "Jabu Jabus Belly Post Boss", + "dungeon": "Jabu Jabus Belly", + "locations": { + "Zora Sapphire": "True" + }, + "exits": { + "Zoras Fountain": "True" + } + }, + { + "region_name": "Phantom Ganon Arena", + "dungeon": "Forest Temple", + "room": "1", + "events": { + "Phantom Ganon": " + " + }, + "locations": { + "Forest Temple Phantom Ganon Heart": "'Phantom Ganon'" + }, + "exits": { + "Forest Temple Post Boss": "'Phantom Ganon'" + } + }, + { + "region_name": "Forest Temple Post Boss", + "dungeon": "Forest Temple", + "locations": { + "Forest Medallion": "True" + }, + "exits": { + "Sacred Forest Meadow": "True" + #Non-repeatable: "KF Outside Deku Tree" when you get the Medallion + } + }, + { + "region_name": "Volvagia Arena", + "dungeon": "Fire Temple", + "room": "1", + "events": { + "Volvagia": "can_use(Goron_Tunic) and can_use(Megaton_Hammer)" + }, + "locations": { + "Fire Temple Volvagia Heart": "'Volvagia'" + }, + "exits": { + "Fire Temple Post Boss": "'Volvagia'" + } + }, + { + "region_name": "Fire Temple Post Boss", + "dungeon": "Fire Temple", + "locations": { + "Fire Medallion": "True" + }, + "exits": { + "DMC Central Local": "True" + } + }, + { + "region_name": "Morpha Arena", + "dungeon": "Water Temple", + "room": "1", + "events": { + "Morpha": "is_adult and can_use(Hookshot)" + }, + "locations": { + "Water Temple Morpha Heart": "'Morpha'" + }, + "exits": { + "Water Temple Post Boss": "'Morpha'" + } + }, + { + "region_name": "Water Temple Post Boss", + "dungeon": "Water Temple", + "events": { + "Water Temple Clear": "True" + }, + "locations": { + "Water Medallion": "True" + }, + "exits": { + "Lake Hylia": "True" + } + }, + { + "region_name": "Iron Knuckle Arena", + "dungeon": "Spirit Temple", + "room": "1", + "events": { + "Boss Iron Knuckle": " + " + }, + "exits": { + "Twinrova Hallway": "'Boss Iron Knuckle' or barred_door" + } + }, + { + "region_name": "Twinrova Hallway", + "dungeon": "Spirit Temple", + "room": "2", + "exits": { + "Iron Knuckle Arena": "True", + "Twinrova Arena": "True" + } + }, + { + "region_name": "Twinrova Arena", + "dungeon": "Spirit Temple", + "room": "3", + "events": { + "Twinrova": "is_adult and can_use(Mirror_Shield)" + } + "locations": { + "Spirit Temple Twinrova Heart": "'Twinrova'" + }, + "exits": { + "Spirit Temple Post Boss": "'Twinrova'" + } + }, + { + "region_name": "Spirit Temple Post Boss", + "dungeon": "Spirit Temple", + "locations": { + "Spirit Medallion": "True" + }, + "exits": { + "Desert Colossus": "True" + } + }, + { + "region_name": "Bongo Bongo Arena", + "dungeon": "Shadow Temple", + "room": "1", + "events": { + "Bongo Bongo": " + " + } + "locations": { + "Shadow Temple Bongo Bongo Heart": "'Bongo Bongo'" + }, + "exits": { + "Shadow Temple Post Boss": "'Bongo Bongo'" + } + }, + { + "region_name": "Shadow Temple Post Boss", + "dungeon": "Shadow Temple", + "locations": { + "Shadow Medallion": "True" + }, + "exits": { + "Graveyard Warp Pad Region": "True" + } + }, + { + "region_name": "Ganondorf Arena", + "room": "0", + "events": { + "Ganondorf": "is_adult and can_use(Light_Arrows)" + } + "locations": { + "Ganondorf Hint": "True" + } + "exits": { + "Ganons Tower Post Boss": "'Ganondorf'" + } + }, + { + "region_name": "Ganons Tower Post Boss", + "exits": { + "Collapsing Tower Exterior 1": "True" + } + }, + { + "region_name": "Ganon Arena", + "room": "0", + #Even Child Link gets the Master Sword and can beat the second phase. + #I don't know what the exact requirements should be for the first phase though. + "events": { + "Ganon": "True" + } + } +] \ No newline at end of file diff --git a/data/Scenes/Dungeons/Bottom of the Well MQ.json b/data/Scenes/Dungeons/Bottom of the Well MQ.json new file mode 100644 index 000000000..36209b58c --- /dev/null +++ b/data/Scenes/Dungeons/Bottom of the Well MQ.json @@ -0,0 +1,238 @@ +[ + { + "region_name": "Bottom of the Well Lobby Entrance", + "dungeon": "Bottom of the Well", + "room": "0", + "exits": { + "Kakariko Village": "True", + "Bottom of the Well Lobby Perimeter": "is_child" + } + }, + { + "region_name": "Bottom of the Well Lobby Perimeter", + "dungeon": "Bottom of the Well", + "room": "0", + "events": { + "Bottom of the Well Lower Water": "can_use_projectile", + "Bottom of the Well West Cage Rocks": "can_blast_or_smash", + "Bottom of the Well Central Gate": " + can_play(Zeldas_Lullaby)" + "Bottom of the Well Room 0 Eye Switch": " + here(can_blast_or_smash) and (can_use(Slingshot) or can_use(Bow)", + }, + "locations": { + "Fairy Pot": "'Bottom of the Well Room 0 Eye Switch' and has_bottle" + }, + "exits": { + "Bottom of the Well Lobby Entrance": "is_child", + "Bottom of the Well Lobby Central": "'Bottom of the Well Central Gate'", + "Bottom of the Well Lobby Central West Cage": "'Bottom of the Well West Cage Rocks'", + "Bottom of the Well Lobby NE Crawl Space": "is_child", + "Bottom of the Well Lobby SE Crawl Space": "'Bottom of the Well Lower Water' and is_child", + "Bottom of the Well Lobby Water Grate": " + 'Bottom of the Well Lower Water' or is_child or can_dive or can_use(Iron_Boots)", + "Bottom of the Well Lobby SW Fake Wall": "True", + "Bottom of the Well Basement": "True", + "Bottom of the Well Basement First Finger": "False", + "Bottom of the Well East Cage": "False" + } + }, + { + "region_name": "Bottom of the Well Lobby Central", + "dungeon": "Bottom of the Well", + "room": "0", + "locations": { + "Bottom of the Well MQ Map Chest": "True", + + }, + "exits": { + "Bottom of the Well Lobby Perimeter": "'Bottom of the Well Central Gate'", + "Bottom of the Well Lobby Central West Cage": "can_use(Hover_Boots)", + "Bottom of the Well Basement": "True", + "Bottom of the Well Basement Ceiling": "'Bottom of the Well East Cage Floor Switch'", + "Bottom of the Well East Inner Room": " + here(can_use_projectile) or barred_door", + "Bottom of the Well West Inner Room": " + 'Bottom of the Well West Cage Floor Switch' or barred_door", + } + }, + { + "region_name": "Bottom of the Well Lobby Central West Cage", + "dungeon": "Bottom of the Well", + "room": "0", + "events": { + "Bottom of the Well West Cage Floor Switch": "can_press_floor_switch", + "Bottom of the Well West Cage Rocks": "can_blast_or_smash" + }, + "exits": { + "Bottom of the Well Lobby Perimeter": "'Bottom of the Well West Cage Rocks'", + "Bottom of the Well Lobby Central": " + can_jumpslash or can_use(Hover_Boots) or can_use(Hookshot)", + "Bottom of the Well Basement": "True" + } + }, + { + "region_name": "Bottom of the Well East Cage", + "dungeon": "Bottom of the Well", + "room": "0", + "events": { + "Bottom of the Well East Cage Floor Switch": "has_explosives and can_press_floor_switch" + }, + "exits": { + "Bottom of the Well Beamos Room": "Still_a_key" + } + }, + { + "region_name": "Bottom of the Well Lobby NE Crawl Space", + "dungeon": "Bottom of the Well", + "room": "0", + "exits": { + "Bottom of the Well Lobby Perimeter": "is_child", + "Bottom of the Well Beamos Room": "can_use_projectile or barred_door" + } + }, + { + "region_name": "Bottom of the Well Lobby SE Crawl Space", + "dungeon": "Bottom of the Well", + "room": "0", + "exits": { + "Bottom of the Well Lobby Perimeter": "is_child", + "Bottom of the Well Dead Hand Room": "True" + } + }, + { + "region_name": "Bottom of the Well Lobby SW Fake Wall", + "dungeon": "Bottom of the Well", + "room": "0", + "exits": { + "Bottom of the Well Lobby Perimeter": "True", + "Bottom of the Well Basement": "barred_door" + } + }, + { + "region_name": "Bottom of the Well Lobby Water Grate", + "dungeon": "Bottom of the Well", + "room": "0", + "exits": { + "Bottom of the Well Lobby Perimeter": " + 'Bottom of the Well Lower Water' or is_child or can_dive or can_use(Iron_Boots)", + "Bottom of the Well Coffin Room": "Small_Key_Bottom_of_the_Well" + } + }, + { + "region_name": "Bottom of the Well Basement", + "dungeon": "Bottom of the Well", + "room": "1", + "locations": { + "Bottom of the Well MQ Lens of Truth Chest": "'Bottom of the Well Room 1 Floor Switch'" + }, + "exits": { + "Bottom of the Well Lobby Perimeter": "False", + "Bottom of the Well Lobby Central": "False", + "Bottom of the Well Lobby Central West Cage": "False", + "Bottom of the Well Lobby SW Fake Wall": "True", + "Bottom of the Well Basement Ceiling": "False", + "Bottom of the Well Basement First Finger": "True", + "Bottom of the Well Basement Third Finger": "True", + "Bottom of the Well East Inner Room": "False" + } + }, + { + "region_name": "Bottom of the Well Basement Ceiling", + "dungeon": "Bottom of the Well", + "room": "1", + "events": { + "Bottom of the Well Room 1 Floor Switch": "can_press_floor_switch" + }, + "exits": { + "Bottom of the Well Basement": "True", + "Bottom of the Well Lobby Central": "False" + } + }, + { + "region_name": "Bottom of the Well Basement First Finger", + "dungeon": "Bottom of the Well", + "room": "1", + "locations": { + "Bottom of the Well MQ GS Basement": "is_adult or can_child_attack" + }, + "exits": { + "Bottom of the Well Basement": "True", + "Bottom of the Well Lobby Perimeter": "False" + } + }, + { + "region_name": "Bottom of the Well Basement Third Finger", + "dungeon": "Bottom of the Well", + "room": "1", + "exits": { + "Bottom of the Well Basement": "True", + "Bottom of the Well Beamos Room": "False" + } + }, + { + "region_name": "Bottom of the Well Coffin Room", + "dungeon": "Bottom of the Well", + "room": "2", + "locations": { + "Bottom of the Well MQ GS Coffin Room": "is_adult or can_child_attack" + }, + "exits": { + "Bottom of the Well Lobby Water Grate": "Still_a_key" + } + }, + { + "region_name": "Bottom of the Well Beamos Room", + "dungeon": "Bottom of the Well", + "room": "3", + "exits": { + "Bottom of the Well Lobby NE Crawl Space": "True", + "Bottom of the Well East Cage": "Small_Key_Bottom_of_the_Well", + "Bottom of the Well Basement Third Finger": "False" + } + }, + { + "region_name": "Bottom of the Well Dead Hand Room", + "dungeon": "Bottom of the Well", + "room": "4", + "events": { + "Bottom of the Well Room 4 Enemies": " + is_adult or Kokiri_Sword or (Sticks and logic_child_deadhand)" + #Dead Hand miniboss + #Sword not strictly necessary but frankly being forced to do this with sticks isn't fair + }, + "locations": { + "Bottom of the Well MQ Compass Chest": " + 'Bottom of the Well Room 4 Enemies'", + "Bottom of the Well MQ Dead Hand Freestanding Key": " + has_explosives or (logic_botw_mq_dead_hand_key and Boomerang)" + }, + "exits": { + "Bottom of the Well Lobby SE Crawl Space": "'Bottom of the Well Room 4 Enemies' or barred_door" + } + }, + { + "region_name": "Bottom of the Well East Inner Room", + "dungeon": "Bottom of the Well", + "room": "5", + "locations": { + "Bottom of the Well MQ East Inner Room Freestanding Key": "True" + }, + "exits": { + "Bottom of the Well Lobby Central": "True", + "Bottom of the Well Basement": "True" + } + }, + { + "region_name": "Bottom of the Well West Inner Room", + "dungeon": "Bottom of the Well", + "room": "6", + "locations": { + "Bottom of the Well MQ GS West Inner Room": " + is_adult or can_child_attack" + }, + "exits": { + "Bottom of the Well Lobby Central": "True", + } + } +] \ No newline at end of file diff --git a/data/Scenes/Dungeons/Bottom of the Well.json b/data/Scenes/Dungeons/Bottom of the Well.json new file mode 100644 index 000000000..ca7bf5901 --- /dev/null +++ b/data/Scenes/Dungeons/Bottom of the Well.json @@ -0,0 +1,263 @@ +[ + { + "region_name": "Bottom of the Well Lobby Entrance", + "dungeon": "Bottom of the Well", + "room": "0", + "exits": { + "Kakariko Village": "True", + "Bottom of the Well Lobby Perimeter": "is_child and (can_child_attack or Nuts)" + } + }, + { + "region_name": "Bottom of the Well Lobby Perimeter", + "dungeon": "Bottom of the Well", + "room": "0", + "events": { + "Bottom of the Well Lower Water": "can_play(Zeldas_Lullaby)" + }, + "locations": { + "Bottom of the Well Front Center Bombable Chest": "has_explosives", + "Bottom of the Well Back Left Bombable Chest": "has_explosives and (logic_lens_botw or can_use(Lens_of_Truth))", + "Bottom of the Well Front Left Fake Wall Chest": "logic_lens_botw or can_use(Lens_of_Truth)", + "Bottom of the Well Right Bottom Fake Wall Chest": "logic_lens_botw or can_use(Lens_of_Truth)", + "Bottom of the Well Underwater Front Chest": "'Bottom of the Well Lower Water'", + "Stick Pot": "True" + }, + "exits": { + "Bottom of the Well Lobby Entrance": " + is_child and (Bottom_of_the_Well_Dungeon_Map or logic_lens_botw or can_use(Lens_of_Truth))", + "Bottom of the Well Lobby Central": "logic_lens_botw or can_use(Lens_of_Truth)", + "Bottom of the Well Lobby Central West Cage": "logic_lens_botw or can_use(Lens_of_Truth)", + "Bottom of the Well Lobby NE Crawl Space": "is_child", + "Bottom of the Well Lobby SE Crawl Space": "'Bottom of the Well Lower Water' and is_child", + "Bottom of the Well Lobby Water Grate": " + 'Bottom of the Well Lower Water' or is_child or can_dive or can_use(Iron_Boots)", + "Bottom of the Well Lobby SW Fake Wall": " + Bottom_of_the_Well_Dungeon_Map or logic_lens_botw or can_use(Lens_of_Truth)", + "Bottom of the Well Basement": "True", + "Bottom of the Well Basement First Finger": "True", + "Bottom of the Well East Cage": "False" + } + }, + { + "region_name": "Bottom of the Well Lobby Central", + "dungeon": "Bottom of the Well", + "room": "0", + "locations": { + "Bottom of the Well Center Skulltula Chest": "True", + }, + "exits": { + "Bottom of the Well Lobby Perimeter": "logic_lens_botw or can_use(Lens_of_Truth)", + "Bottom of the Well Lobby Central West Cage": " + can_use(Hover_Boots) and (logic_lens_botw or can_use(Lens_of_Truth))", + "Bottom of the Well Basement": "True", + "Bottom of the Well Basement Ceiling": "True", + "Bottom of the Well East Inner Room": "Small_Key_Bottom_of_the_Well", + "Bottom of the Well West Inner Room": "Small_Key_Bottom_of_the_Well", + } + }, + { + "region_name": "Bottom of the Well Lobby Central West Cage", + "dungeon": "Bottom of the Well", + "room": "0", + "locations": { + "Bottom of the Well Compass Chest": "True" + }, + "exits": { + "Bottom of the Well Lobby Perimeter": "logic_lens_botw or can_use(Lens_of_Truth)", + "Bottom of the Well Lobby Central": " + (can_jumpslash or can_use(Hover_Boots)) and (logic_lens_botw or can_use(Lens_of_Truth))", + "Bottom of the Well Basement": "True" + } + }, + { + "region_name": "Bottom of the Well East Cage", + "dungeon": "Bottom of the Well", + "room": "0", + "locations": { + "Bottom of the Well Like Like Chest": "True", + "Bottom of the Well GS Like Like Cage": " + can_use(Boomerang) or (logic_botw_cage_gs and (can_child_attack or is_adult)) or can_use(Hookshot)", + }, + "exits": { + "Bottom of the Well Beamos Room": "True" + } + }, + { + "region_name": "Bottom of the Well Lobby NE Crawl Space", + "dungeon": "Bottom of the Well", + "room": "0", + "exits": { + "Bottom of the Well Lobby Perimeter": "is_child", + "Bottom of the Well Beamos Room": "Small_Key_Bottom_of_the_Well" + } + }, + { + "region_name": "Bottom of the Well Lobby SE Crawl Space", + "dungeon": "Bottom of the Well", + "room": "0", + "exits": { + "Bottom of the Well Lobby Perimeter": "is_child", + "Bottom of the Well Dead Hand Room": "True" + } + }, + { + "region_name": "Bottom of the Well Lobby SW Fake Wall", + "dungeon": "Bottom of the Well", + "room": "0", + "exits": { + "Bottom of the Well Lobby Perimeter": " + Bottom_of_the_Well_Dungeon_Map or logic_lens_botw or can_use(Lens_of_Truth)", + "Bottom of the Well Basement": "barred_door" + } + }, + { + "region_name": "Bottom of the Well Lobby Water Grate", + "dungeon": "Bottom of the Well", + "room": "0", + "locations": { + "Bottom of the Well Underwater Left Chest": "'Bottom of the Well Lower Water'" + }, + "exits": { + "Bottom of the Well Lobby Perimeter": " + 'Bottom of the Well Lower Water' or is_child or can_dive or can_use(Iron_Boots)", + "Bottom of the Well Coffin Room": "True" + } + }, + { + "region_name": "Bottom of the Well Basement", + "dungeon": "Bottom of the Well", + "room": "1", + "events": { + "Bottom of the Well Room 1 Silver Rupees": "True", + "Bottom of the Well First Finger Rocks": "can_blast_or_smash", + "Bottom of the Well Third Finger Rocks": " + Progressive_Strength_Upgrade or can_blast_or_smash or can_use(Dins_Fire) + or (logic_botw_basement and can_use(Sticks))" + }, + "locations": { + "Bottom of the Well Map Chest": " + can_blast_or_smash or ('Bottom of the Well Third Finger Rocks' and Progressive_Strength_Upgrade)", + "Nut Pot": "True" + }, + "exits": { + "Bottom of the Well Lobby Perimeter": "False", + "Bottom of the Well Lobby Central": "False", + "Bottom of the Well Lobby Central West Cage": "False", + "Bottom of the Well Lobby SW Fake Wall": "'Bottom of the Well Room 1 Silver Rupees' or barred_door", + "Bottom of the Well Basement Ceiling": "False", + "Bottom of the Well Basement First Finger": "'Bottom of the Well First Finger Rocks'", + "Bottom of the Well Basement Third Finger": "'Bottom of the Well Third Finger Rocks'", + "Bottom of the Well East Inner Room": "False" + } + }, + { + "region_name": "Bottom of the Well Basement Ceiling", + "dungeon": "Bottom of the Well", + "room": "1", + "exits": { + "Bottom of the Well Basement": "True", + "Bottom of the Well Lobby Central": "False" + } + }, + { + "region_name": "Bottom of the Well Basement First Finger", + "dungeon": "Bottom of the Well", + "room": "1", + "events": { + "Bottom of the Well First Finger Rocks": " + Progressive_Strength_Upgrade or can_blast_or_smash" + }, + "exits": { + "Bottom of the Well Basement": "'Bottom of the Well First Finger Rocks'", + "Bottom of the Well Lobby Perimeter": "False" + } + }, + { + "region_name": "Bottom of the Well Basement Third Finger", + "dungeon": "Bottom of the Well", + "room": "1", + "events": { + "Bottom of the Well Third Finger Rocks": " + Progressive_Strength_Upgrade or can_blast_or_smash or can_use(Dins_Fire) or can_use(Bow)" + }, + "exits": { + "Bottom of the Well Basement": "'Bottom of the Well Third Finger Rocks'", + "Bottom of the Well Beamos Room": "False" + } + }, + { + "region_name": "Bottom of the Well Coffin Room", + "dungeon": "Bottom of the Well", + "room": "2", + "locations": { + "Bottom of the Well Freestanding Key": "has_fire_source_with_torch or can_use(Bow)", + "Bottom of the Well Invisible Chest": "can_play(Zeldas_Lullaby) and (logic_lens_botw or can_use(Lens_of_Truth))", + }, + "exits": { + "Bottom of the Well Lobby Water Grate": "True" + } + }, + { + "region_name": "Bottom of the Well Beamos Room", + "dungeon": "Bottom of the Well", + "room": "3", + "locations": { + "Bottom of the Well Fire Keese Chest": " + logic_lens_botw or can_use(Lens_of_Truth) or can_use(Hookshot)", #These pits are really unfair. + }, + "exits": { + "Bottom of the Well Lobby NE Crawl Space": "Still_a_key and (logic_lens_botw or can_use(Lens_of_Truth))", + "Bottom of the Well East Cage": "logic_lens_botw or can_use(Lens_of_Truth)", + "Bottom of the Well Basement Third Finger": "True", + } + }, + { + "region_name": "Bottom of the Well Dead Hand Room", + "dungeon": "Bottom of the Well", + "room": "4", + "events": { + "Bottom of the Well Room 4 Enemies": " + is_adult or Kokiri_Sword or (Sticks and logic_child_deadhand)" + #Dead Hand miniboss + #Sword not strictly necessary but frankly being forced to do this with sticks isn't fair + }, + "locations": { + "Bottom of the Well Lens of Truth Chest": "'Bottom of the Well Room 4 Enemies'", + "Bottom of the Well Invisible Chest": "logic_lens_botw or can_use(Lens_of_Truth)" + }, + "exits": { + "Bottom of the Well Lobby SE Crawl Space": "'Bottom of the Well Room 4 Enemies' or barred_door" + } + }, + { + "region_name": "Bottom of the Well East Inner Room", + "dungeon": "Bottom of the Well", + "room": "5", + "locations": { + "Bottom of the Well GS East Inner Room": " + (logic_lens_botw or can_use(Lens_of_Truth)) + and (can_use(Boomerang) or can_use(Hookshot))" + }, + "exits": { + "Bottom of the Well Lobby Central": "Still_a_key", + "Bottom of the Well Basement": "True" + } + }, + { + "region_name": "Bottom of the Well West Inner Room", + "dungeon": "Bottom of the Well", + "room": "6", + "locations": { + "Bottom of the Well GS West Inner Room": + "can_use(Boomerang) or 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": { + "Bottom of the Well Lobby Central": "Still_a_key", + } + } +] \ No newline at end of file diff --git a/data/Scenes/Dungeons/Collapse.json b/data/Scenes/Dungeons/Collapse.json new file mode 100644 index 000000000..9e159c2a7 --- /dev/null +++ b/data/Scenes/Dungeons/Collapse.json @@ -0,0 +1,121 @@ +[ + #Tower interior + { + "region_name": "Collapsing Tower 2F", + "room": "0", + "exits": { + "Collapsing Tower Exterior 4 After Ledge": "True", + #Needs Zelda + "Collapsing Tower Stairs": "True" + } + }, + { + "region_name": "Collapsing Tower 3F", + "room": "1", + "events": { + "Collapsing Tower Room 1 Enemies": " + " + #2 Stalfos + }, + "exits": { + "Collapsing Tower Exterior 3": "True", + #Needs Zelda + "Collapsing Tower Exterior 4": "'Collapsing Tower Room 1 Enemies'" + } + }, + { + "region_name": "Collapsing Tower 4F", + "room": "2", + "exits": { + "Collapsing Tower Exterior 2": "True", + #Needs Zelda + "Collapsing Tower Exterior 3": "True" + } + }, + { + "region_name": "Collapsing Tower Stairs", + "room": "3", + "exits": { + "Collapsing Tower 2F": "True", + #Needs Zelda + "Collapsing Tower Castle Barrier Chamber": "True" + } + }, + { + "region_name": "Collapsing Tower 5F", + "room": "4", + "exits": { + "Collapsing Tower Exterior 1": "True", + #Needs Zelda + "Collapsing Tower Exterior 2": "True" + } + }, + #Tower exterior + { + "region_name": "Collapsing Tower Exterior 1", + "room": "0", + "exits": { + #Needs Zelda + "Collapsing Tower 5F": "True" + } + }, + { + "region_name": "Collapsing Tower Exterior 2", + "room": "0", + "exits": { + "Collapsing Tower 5F": "True", + #Needs Zelda + "Collapsing Tower 4F": "True", + "Collapsing Tower Exterior 1": "False" + } + }, + { + "region_name": "Collapsing Tower Exterior 3", + "room": "0", + "exits": { + "Collapsing Tower 4F": "True", + #Needs Zelda + "Collapsing Tower 3F": "True", + "Collapsing Tower Exterior 2": "False", + "Collapsing Tower Exterior 1": "False" + } + }, + { + "region_name": "Collapsing Tower Exterior 4", + "room": "0", + "exits": { + "Collapsing Tower 3F": "True", + "Collapsing Tower Exterior 4 After Ledge": "True" + "Collapsing Tower Exterior 3": "False", + "Collapsing Tower Exterior 2": "False", + "Collapsing Tower Exterior 1": "False" + } + }, + { + "region_name": "Collapsing Tower Exterior 4 After Ledge", + "room": "0", + "exits": { + "Collapsing Tower Exterior 4": "can_climb(66)", + #Needs Zelda + "Collapsing Tower 2F": "True" + } + }, + #Castle interior + { + "region_name": "Collapsing Castle Barrier Chamber", + "room": "0", + "exits": { + "Collapsing Tower Stairs": "True", + #Needs Zelda + "Collapsing Castle Entrance": "True" + } + }, + { + "region_name": "Collapsing Castle Entrance", + "room": "1", + "exits": { + "Collapsing Castle Barrier Chamber": "True", + "Ganon Arena": "True" + } + } +] \ No newline at end of file diff --git a/data/Scenes/Dungeons/Deku Tree MQ.json b/data/Scenes/Dungeons/Deku Tree MQ.json new file mode 100644 index 000000000..8782ddb5a --- /dev/null +++ b/data/Scenes/Dungeons/Deku Tree MQ.json @@ -0,0 +1,217 @@ +[ + { + "region_name": "Deku Tree Lobby", + "dungeon": "Deku Tree", + "room": "0", + "locations": { + "Deku Tree MQ Map Chest": "True", + "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 2F Passage": " + here(has_fire_source or (can_press_floor_switch and (can_use(Sticks) or can_use(Bow))))", + "Deku Tree Basement River Room": "True", + "Deku Tree 3F Room": "here(can_press_floor_switch or has_fire_source)" + } + }, + { + "region_name": "Deku Tree 2F Passage", + "dungeon": "Deku Tree", + "room": "1", + "locations": { + "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": { + "Deku Tree Lobby": "True", + "Deku Tree 2F Room": " + here(can_use(Slingshot) or can_use(Bow)) or barred_door" + } + }, + { + "region_name": "Deku Tree 2F Room", + "dungeon": "Deku Tree", + "room": "2", + "locations": { + "Deku Tree MQ Compass Chest": "True", + "Deku Tree MQ GS Compass Room": " + (can_use(Hookshot) or can_use(Boomerang)) and + (has_bombchus or (Bombs and (here(is_adult) or can_play(Song_of_Time))))" + }, + "exits": { + "Deku Tree 2F Passage": "True" + } + }, + { + "region_name": "Deku Tree Basement River Room", + "dungeon": "Deku Tree", + "room": "3", + "locations": { + "Deku Tree MQ Basement Chest": " + can_climb(60) and can_press_floor_switch and (has_fire_source_with_torch or can_use(Bow))", + "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": { + "Deku Tree Lobby": "True", + "Deku Tree Basement Hint Scrub Room": " + here(can_use(Slingshot) or can_use(Bow)) or barred_door", + "Deku Tree Basement River Room Ledge": " + can_climb(60) and + (at('Deku Tree Basement River Room Ledge', True) + or here(logic_deku_b1_skip or can_climb(85)))" + } + }, + { + "region_name": "Deku Tree Basement River Room Ledge", + "dungeon": "Deku Tree", + "room": "3", + "locations": { + "Deku Tree MQ Deku Scrub": "can_stun_deku", + "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": { + "Deku Tree Basement River Room": "True", + "Deku Tree Basement Back Room": "is_child", + "Deku Tree Three Scrub Room": " + here(has_fire_source or + (can_climb(60) and can_press_floor_switch and can_use(Sticks))" + } + }, + { + "region_name": "Deku Tree Basement Hint Scrub Room", + "dungeon": "Deku Tree", + "room": "4", + "events": { + "Deku Tree Room 4 Enemies": " + " + # + } + "exits": { + "Deku Tree Basement River Room": "'Deku Tree Room 4 Enemies' or barred_door", + "Deku Tree Spiked Log Room East": "here(has_fire_source_with_torch) or barred_door" + #The torch is actually in the previous room. + } + }, + { + "region_name": "Deku Tree Spiked Log Room East", + "dungeon": "Deku Tree", + "room": "5", + "locations": { + "Deku Tree MQ Before Spinning Log Chest": "True" + }, + "exits": { + "Deku Tree Basement Hint Scrub Room": "True", + "Deku Tree Spiked Log Room West": "can_crouch" + } + }, + { + "region_name": "Deku Tree Spiked Log Room West", + "dungeon": "Deku Tree", + "room": "5", + "locations": { + "Deku Tree MQ After Spinning Log Chest": "can_play(Song_of_Time)" + }, + "exits": { + "Deku Tree Spiked Log Room East": "can_swim or can_crouch", + "Deku Tree Torch Deku Baba Room": " + here(has_fire_source or + (can_press_floor_switch and can_crouch and can_use(Sticks))) + and can_climb(60)" + } + }, + { + "region_name": "Deku Tree Torch Deku Baba Room", + "dungeon": "Deku Tree", + "room": "6", + "events": { + "Deku Tree Room 6 Enemies": " + is_adult or can_use(Kokiri_Sword) or can_use_projectile or (Nuts and can_use(Sticks))" + # + } + "exits": { + "Deku Tree Spiked Log Room West": "'Deku Tree Room 6 Enemies' or barred_door", + "Deku Tree Basement Back Room": "'Deku Tree Room 6 Enemies' or barred_door" + } + }, + { + "region_name": "Deku Tree Basement Back Room", + "dungeon": "Deku Tree", + "room": "7", + "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 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": { + "Deku Tree Torch Deku Baba Room": "True", + "Deku Tree Basement River Room Ledge": " + here(has_fire_source or (can_press_floor_switch and can_use(Sticks) or can_use(Bow))) and is_child", + "Deku Tree Gold Skulltula Room": " + here(has_fire_source or (can_press_floor_switch and can_use(Sticks) or can_use(Bow)))" + } + }, + { + "region_name": "Deku Tree Gold Skulltula Room", + "dungeon": "Deku Tree", + "room": "8", + "locations": { + "Deku Tree MQ GS Basement Back Room": "can_use(Hookshot) or can_use(Boomerang)", + "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": { + "Deku Tree Basement Back Room": "True" + } + }, + { + "region_name": "Deku Tree Three Scrub Room", + "dungeon": "Deku Tree", + "room": "9", + "events": { + "Deku Tree Room 9 Enemies": " + has_shield" + #3 Hint Scrubs + } + "exits": { + "Deku Tree Basement River Room Ledge": "True", + "Gohma Entrance": "'Deku Tree Room 9 Enemies' or barred_door" + } + }, + { + "region_name": "Deku Tree 3F Room", + "dungeon": "Deku Tree", + "room": "10", + "events": { + "Deku Tree Room 10 Enemies": " + is_adult or can_child_attack" + # + } + "locations": { + "Deku Tree MQ Slingshot Chest": "'Deku Tree Room 10 Enemies'", + "Deku Tree MQ Slingshot Room Back Chest": " + (has_fire_source_with_torch or can_use(Bow)) and (can_press_floor_switch or can_climb(120))" + }, + "exits": { + "Deku Tree Lobby": "'Deku Tree Room 10 Enemies' or barred_door" + } + } +] diff --git a/data/Scenes/Dungeons/Deku Tree.json b/data/Scenes/Dungeons/Deku Tree.json new file mode 100644 index 000000000..67c3df7c2 --- /dev/null +++ b/data/Scenes/Dungeons/Deku Tree.json @@ -0,0 +1,195 @@ +[ + { + "region_name": "Deku Tree Lobby", + "dungeon": "Deku Tree", + "room": "0", + "locations": { + "Deku Tree Map Chest": "True", + "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 2F Passage": "True", + "Deku Tree Basement River Room": "True", + "Deku Tree 3F Room": "True" + } + }, + { + "region_name": "Deku Tree 2F Passage", + "dungeon": "Deku Tree", + "room": "1", + "events": { + "Deku Tree Room 1 Enemies": " + has_shield" + #Hint Scrub + } + "exits": { + "Deku Tree Lobby": "'Deku Tree Room 1 Enemies' or barred_door", + "Deku Tree 2F Room": "'Deku Tree Room 1 Enemies' or barred_door" + } + }, + { + "region_name": "Deku Tree 2F Room", + "dungeon": "Deku Tree", + "room": "2", + "locations": { + "Deku Tree Slingshot Chest": "True", + "Deku Tree 2F Room Side Chest": "True" + }, + "exits": { + "Deku Tree 2F Passage": "True" + } + }, + { + "region_name": "Deku Tree Basement River Room", + "dungeon": "Deku Tree", + "room": "3", + "locations": { + "Deku Tree Basement Chest": "can_climb(60) and (can_press_floor_switch or has_fire_source)", + "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": { + "Deku Tree Lobby": "True", + "Deku Tree Basement Hint Scrub Room": " + here(has_fire_source or + (can_climb(60) and can_press_floor_switch and + (can_use(Sticks) or (logic_deku_b1_webs_with_bow and can_use(Bow)))))", + "Deku Tree Basement River Room Ledge": " + can_climb(60) and + (at('Deku Tree Basement River Room Ledge', True) + or here(logic_deku_b1_skip or can_climb(85)))" + } + }, + { + "region_name": "Deku Tree Basement River Room Ledge", + "dungeon": "Deku Tree", + "room": "3", + "locations": { + "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": { + "Deku Tree Basement River Room": "True", + "Deku Tree Basement Back Room": "is_child", + "Deku Tree Three Scrub Room": " + here(has_fire_source or + (can_climb(60) and can_press_floor_switch and + (can_use(Sticks) or (logic_deku_b1_webs_with_bow and can_use(Bow)))))" + } + }, + { + "region_name": "Deku Tree Basement Hint Scrub Room", + "dungeon": "Deku Tree", + "room": "4", + "exits": { + "Deku Tree Basement River Room": "True", + "Deku Tree Spiked Log Room East": " + here(can_use(Slingshot) or can_use(Bow)) or barred_door" + } + }, + { + "region_name": "Deku Tree Spiked Log Room East", + "dungeon": "Deku Tree", + "room": "5", + "exits": { + "Deku Tree Basement Hint Scrub Room": "True", + "Deku Tree Spiked Log Room West": "can_swim or can_crouch" + } + }, + { + "region_name": "Deku Tree Spiked Log Room West", + "dungeon": "Deku Tree", + "room": "5", + "exits": { + "Deku Tree Spiked Log Room East": "can_swim or can_crouch", + "Deku Tree Torch Deku Baba Room": "can_climb(60)" + } + }, + { + "region_name": "Deku Tree Torch Deku Baba Room", + "dungeon": "Deku Tree", + "room": "6", + "locations": { + "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": { + "Deku Tree Spiked Log Room West": "here(has_fire_source_with_torch or can_use(Bow)) or barred_door", + "Deku Tree Basement Back Room": "here(has_fire_source_with_torch or can_use(Bow)) or barred_door" + } + }, + { + "region_name": "Deku Tree Basement Back Room", + "dungeon": "Deku Tree", + "room": "7", + "locations": { + "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": { + "Deku Tree Torch Deku Baba Room": "True", + "Deku Tree Basement River Room Ledge": "here(has_fire_source_with_torch or can_use(Bow)) and is_child", + "Deku Tree Gold Skulltula Room": " + here((has_fire_source_with_torch or can_use(Bow)) and can_blast_or_smash)" + } + }, + { + "region_name": "Deku Tree Gold Skulltula Room", + "dungeon": "Deku Tree", + "room": "8", + "locations": { + "Deku Tree GS Basement Back Room": "can_use(Hookshot) or can_use(Boomerang)" + }, + "exits": { + "Deku Tree Basement Back Room": "True" + } + }, + { + "region_name": "Deku Tree Three Scrub Room", + "dungeon": "Deku Tree", + "room": "9", + "events": { + "Deku Tree Room 9 Enemies": " + has_shield" + #3 Hint Scrubs + } + "exits": { + "Deku Tree Basement River Room Ledge": "True", + "Gohma Entrance": "'Deku Tree Room 9 Enemies' or barred_door" + } + }, + { + "region_name": "Deku Tree 3F Room", + "dungeon": "Deku Tree", + "room": "10", + "locations": { + "Deku Tree Compass Chest": "can_press_floor_switch or can_climb(120)", + "Deku Tree 3F Room Side Chest": "can_press_floor_switch or can_climb(100)", + "Deku Tree GS Compass Room": " + (can_press_floor_switch or can_climb(100)) and (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": { + "Deku Tree Lobby": "has_fire_source_with_torch or can_use(Bow) or barred_door" + } + } +] \ No newline at end of file diff --git a/data/Scenes/Dungeons/Dodongos Cavern MQ.json b/data/Scenes/Dungeons/Dodongos Cavern MQ.json new file mode 100644 index 000000000..69d1c2458 --- /dev/null +++ b/data/Scenes/Dungeons/Dodongos Cavern MQ.json @@ -0,0 +1,440 @@ +[ + { + "region_name": "Dodongos Cavern Lobby Beginning", + "dungeon": "Dodongos Cavern", + "room": "0", + "exits": { + "Dodongos Cavern Entryway": "True", + "Dodongos Cavern Lobby": " + here(can_blast_or_smash) or Progressive_Strength_Upgrade" + } + }, + { + "region_name": "Dodongos Cavern Lobby", + "dungeon": "Dodongos Cavern", + "room": "0", + "locations": { + "Dodongos Cavern MQ Map Chest": "here(can_blast_or_smash or Progressive_Strength_Upgrade)", + "Dodongos Cavern MQ Deku Scrub Lobby Rear": "can_stun_deku", + "Dodongos Cavern MQ Deku Scrub Lobby Front": "can_stun_deku", + "Dodongos Cavern Gossip Stone": "here(can_blast_or_smash or Progressive_Strength_Upgrade)", + "Gossip Stone Fairy": " + (Progressive_Strength_Upgrade or here(can_blast_or_smash)) + and can_summon_gossip_fairy and has_bottle" + }, + "exits": { + "Dodongos Cavern Lobby Beginning": "True", + "Dodongos Cavern Lobby East Ledge": "can_climb(80) or can_use(Hookshot)", + "Dodongos Cavern Lobby North Bridge": " + here(can_blast_or_smash or Progressive_Strength_Upgrade) and here(can_press_floor_switch)", + "Dodongos Cavern Lobby South Bridge": "False", + "Dodongos Cavern Baby Dodongo Corridor": "here(can_blast_or_smash)", + "Dodongos Cavern Bomb Flower Staircase Room": " + at('Dodongos Cavern Lobby North Bridge', can_press_floor_switch) or barred_door", + "Dodongos Cavern Floor Hole Switch Room": " + at('Dodongos Cavern Lobby North Bridge', has_explosives)" + } + }, + { + "region_name": "Dodongos Cavern Lobby East Ledge", + "dungeon": "Dodongos Cavern", + "room": "0", + "locations": { + "Dodongos Cavern MQ Bomb Bag Chest": "True" + }, + "exits": { + "Dodongos Cavern Lobby": "True", + "Dodongos Cavern Blue Dodongo Cavern": "True" + } + }, + { + "region_name": "Dodongos Cavern Lobby North Bridge", + "dungeon": "Dodongos Cavern", + "room": "0", + "events": { + "Dodongos Cavern Lobby North Bridge Rocks": "can_blast_or_smash" + } + "locations": { + "Dodongos Cavern End of Bridge Chest": "can_blast_or_smash" + }, + "exits": { + "Dodongos Cavern Lobby": "True", + "Dodongos Cavern Lobby North Bridge East": "'Dodongos Cavern Lobby North Bridge Rocks'", + "Dodongos Cavern Lobby East Ledge": " + (logic_dc_mq_child_bombs and is_child and can_jumpslash and + (damage_multiplier != 'ohko' or Fairy or can_use(Nayrus_Love)))" + } + }, + { + "region_name": "Dodongos Cavern Lobby North Bridge East", + "dungeon": "Dodongos Cavern", + "room": "0", + "events": { + "Dodongos Cavern Lobby North Bridge Rocks": " + can_blast_or_smash or Progressive_Strength_Upgrade or can_use(Bow)" + } + "exits": { + "Dodongos Cavern Lobby North Bridge": "'Dodongos Cavern Lobby North Bridge Rocks'", + "Dodongos Cavern Bomb Bag Room Upper": "True" + } + }, + { + "region_name": "Dodongos Cavern Lobby South Bridge", + "dungeon": "Dodongos Cavern", + "room": "0", + "exits": { + "Dodongos Cavern Lobby": "True", + "Dodongos Cavern Bomb Bag Room": "True", + "Dodongos Cavern Platform Switch with 2 Armos Room": "True" + } + }, + { + "region_name": "Dodongos Cavern Baby Dodongo Corridor", + "dungeon": "Dodongos Cavern", + "room": "1", + "locations": { + "Dodongos Cavern GS Scarecrow": " + can_use(Scarecrow) or can_use(Longshot) or + ((logic_dc_scarecrow_gs or can_climb(160)) and (is_adult or can_child_attack))" + }, + "exits": { + "Dodongos Cavern Lobby": "True", + "Dodongos Cavern Baby Dodongo Corridor North": "can_climb(60) and + (here(can_use(Bow) or Progressive_Strength_Upgrade or + can_use(Dins_Fire) or has_explosives) and + (can_use(Slingshot))" or barred_door)", + "Dodongos Cavern Gold Skulltula Torch Room": "here(can_blast_or_smash)" + } + }, + { + "region_name": "Dodongos Cavern Baby Dodongo Corridor North", + "dungeon": "Dodongos Cavern", + "room": "1", + "exits": { + "Dodongos Cavern Baby Dodongo Corridor": "True", + "Dodongos Cavern Lizalfos Miniboss Room 1F": "True" + } + }, + { + "region_name": "Dodongos Cavern Bomb Flower Staircase Room", + "dungeon": "Dodongos Cavern", + "room": "2", + "events": { + "Dodongos Cavern Room 2 Staircase": " + has_explosives or Progressive_Strength_Upgrade + or can_use(Dins_Fire) or (logic_dc_staircase and can_use(Bow))", + "Dodongos Cavern Room 2 Silver Rupees": "'Dodongos Cavern Room 2 Staircase' and can_climb(40)" + } + "exits": { + "Dodongos Cavern Lobby": "True", + "Dodongos Cavern Bomb Flower Staircase Room Top": " + can_climb(40) and 'Dodongos Cavern Room 2 Staircase'", + "Dodongos Cavern Bomb Flower Staircase Room South": " + Progressive_Strength_Upgrade or here(can_blast_or_smash)" + } + }, + { + "region_name": "Dodongos Cavern Bomb Flower Staircase Room Top", + "dungeon": "Dodongos Cavern", + "room": "2", + "events": { + "Dodongos Cavern Room 2 Silver Rupees": "True" + } + "locations": { + "Dodongos Cavern MQ Deku Scrub Staircase": "can_stun_deku" + }, + "exits": { + "Dodongos Cavern Bomb Flower Staircase Room": "True", + "Dodongos Cavern Platform Switch with 2 Armos Room": " + 'Dodongos Cavern Room 2 Silver Rupees' or barred_door" + } + }, + { + "region_name": "Dodongos Cavern Bomb Flower Staircase Room South", + "dungeon": "Dodongos Cavern", + "room": "2", + "locations": { + "Deku Baba Sticks": "is_adult or Kokiri_Sword or can_use(Boomerang)" + }, + "exits": { + "Dodongos Cavern Bomb Flower Staircase Room": "True", + "Dodongos Cavern Compass Room": "True", + } + }, + { + "region_name": "Dodongos Cavern Lizalfos Miniboss Room 1F", + "dungeon": "Dodongos Cavern", + "room": "3", + "events": { + "Dodongos Cavern Room 3 Enemies Wave 1": "can beat Lizalfos" + } + "locations": { + "Dodongos Cavern MQ GS Lizalfos Room": "can_blast_or_smash" + }, + "exits": { + "Dodongos Cavern Baby Dodongo Corridor North": "'Dodongos Cavern Room 3 Enemies Wave 1' or barred_door", + "Dodongos Cavern Blue Dodongo Cavern": "'Dodongos Cavern Room 3 Enemies Wave 1' or barred_door", + "Dodongos Cavern Single Flame Trap Room East": + "False and (('Dodongos Cavern Room 3 Enemies Wave 1' + and 'Dodongos Cavern Room 3 Enemies Wave 2') or barred_door)", + "Dodongos Cavern Double Flame Trap Room": + "False and (('Dodongos Cavern Room 3 Enemies Wave 1' + and 'Dodongos Cavern Room 3 Enemies Wave 2') or barred_door)", + } + }, + { + "region_name": "Dodongos Cavern Lizalfos Miniboss Room 2F", + "dungeon": "Dodongos Cavern", + "room": "3", + "events": { + "Dodongos Cavern Room 3 Enemies Wave 2": "can beat Lizalfos" + } + "exits": { + "Dodongos Cavern Single Flame Trap Room East": "'Dodongos Cavern Room 3 Enemies Wave 2' or barred_door", + "Dodongos Cavern Double Flame Trap Room": "'Dodongos Cavern Room 3 Enemies Wave 2' or barred_door", + "Dodongos Cavern Baby Dodongo Corridor North": + "can_blast_or_smash and (('Dodongos Cavern Room 3 Enemies Wave 1' + and 'Dodongos Cavern Room 3 Enemies Wave 2') or barred_door)", + "Dodongos Cavern Blue Dodongo Cavern": + "can_blast_or_smash and (('Dodongos Cavern Room 3 Enemies Wave 1' + and 'Dodongos Cavern Room 3 Enemies Wave 2') or barred_door)", + } + }, + { + "region_name": "Dodongos Cavern Blue Dodongo Cavern", + "dungeon": "Dodongos Cavern", + "room": "4", + "exits": { + "Dodongos Cavern Lizalfos Miniboss Room 1F": "True", + "Dodongos Cavern Single Business Scrub Room": " + here(can_use(Bow) or Progressive_Strength_Upgrade or + can_use(Dins_Fire) or has_explosives) or barred_door", + "Dodongos Cavern Lobby East Ledge": " + here(can_use(Bow) or Progressive_Strength_Upgrade or + can_use(Dins_Fire) or has_explosives) or barred_door" + } + }, + { + "region_name": "Dodongos Cavern Platform Switch with 2 Armos Room", + "dungeon": "Dodongos Cavern", + "room": "5", + "events": { + "Dodongos Cavern Room 5 Enemies": " + is_adult or Progressive_Strength_Upgrade or can kill dodongos" + #Dodongos + } + "locations": { + "Dodongos Cavern MQ Compass Chest": "'Dodongos Cavern Room 5 Enemies'" + }, + "exits": { + "Dodongos Cavern Bomb Flower Staircase Room Top": "True", + "Dodongos Cavern Lobby South Bridge": "'Dodongos Cavern Room 5 Enemies' or barred_door", + } + }, + { + "region_name": "Dodongos Cavern Double Business Scrub Room", + "dungeon": "Dodongos Cavern", + "room": "6", + "events": { + "Dodongos Cavern Room 6 Enemies": " + is_adult or can kill the enemies" + #5 Gohma Larvae + } + "locations": { + "Dodongos Cavern MQ Larvae Room Chest": "'Dodongos Cavern Room 6 Enemies'", + "Dodongos Cavern MQ GS Larvae Room": "is_adult or can_child_attack" + }, + "exits": { + "Dodongos Cavern Bomb Bag Room": "'Dodongos Cavern Room 6 Enemies' or barred_door" + } + }, + { + "region_name": "Dodongos Cavern Floor Hole Switch Room", + "dungeon": "Dodongos Cavern", + "room": "7", + "exits": { + "Dodongos Cavern Lobby": "can_climb(60)", + "Dodongos Cavern Fire Keese Pushblock Room": "can_climb(60)", + "Dodongos Cavern Floor Hole Switch Room Ledge": "can_climb(110)", + "King Dodongo Entrance": "barred_door" + } + }, + { + "region_name": "Dodongos Cavern Floor Hole Switch Room Ledge", + "dungeon": "Dodongos Cavern", + "room": "7", + "exits": { + "Dodongos Cavern Floor Hole Switch Room": "True", + "Dodongos Cavern Fire Keese Pushblock Room West": "True", + "King Dodongo Entrance": "can_press_floor_switch" + } + }, + { + "region_name": "Dodongos Cavern Fire Keese Pushblock Room", + "dungeon": "Dodongos Cavern", + "room": "8", + "exits": { + "Dodongos Cavern Fire Keese Pushblock Room North": " + can_climb(60) and (has_explosives or can_use(Hookshot) or (is_adult and can_use(Bow)))", + "Dodongos Cavern Floor Hole Switch Room": "can_climb(60)" + } + }, + { + "region_name": "Dodongos Cavern Fire Keese Pushblock Room North", + "dungeon": "Dodongos Cavern", + "room": "8", + "events": { + "Dodongos Cavern Room 8 Crystal Switch": " + Can blow up the wall flower or make the Armos blow up" + } + "exits": { + "Dodongos Cavern Fire Keese Pushblock Room": "can_climb(60) and can hit crystal switch", + "Dodongos Cavern Fire Keese Pushblock Room West": " + can_climb(100) or ('Dodongos Cavern Room 8 Crystal Switch' and can_climb(50))", + "Dodongos Cavern Gold Skulltula Armos Room": "can_climb(60)" + } + }, + { + "region_name": "Dodongos Cavern Fire Keese Pushblock Room West", + "dungeon": "Dodongos Cavern", + "room": "8", + "events": { + "Dodongos Cavern Room 8 Crystal Switch": " + Can hit the crystal switch" + } + "locations": { + "Dodongos Cavern MQ GS Back Area": "is_adult or can_child_attack", + "Fairy Pot": "has_bottle" + }, + "exits": { + "Dodongos Cavern Fire Keese Pushblock Room North": "can_climb(40)", + "Dodongos Cavern Floor Hole Switch Room Ledge": "True" + } + }, + { + "region_name": "Dodongos Cavern Bomb Bag Room", + "dungeon": "Dodongos Cavern", + "room": "9", + "exits": { + "Dodongos Cavern Lobby South Bridge": "True", + "Dodongos Cavern Bomb Bag Room Upper": " + can_use(Hookshot) or can_use(Hover_Boots) or (logic_dc_jump and is_adult) or can_climb(120)", + "Dodongos Cavern Double Business Scrub Room": " + can_climb(60) and (has_fire_source_with_torch or barred_door)", + "Dodongos Cavern Single Flame Trap Room West": "can_climb(60)", + } + }, + { + "region_name": "Dodongos Cavern Bomb Bag Room Upper", + "dungeon": "Dodongos Cavern", + "room": "9", + "locations": { + "Dodongos Cavern MQ Torch Puzzle Room Chest": "True" + }, + "exits": { + "Dodongos Cavern Lobby North Bridge East": "True", + "Dodongos Cavern Bomb Bag Room": "True", + "Dodongos Cavern Double Flame Trap Room": "True", + "Dodongos Cavern Double Business Scrub Room": " + can_use(Fire_Arrows) or (can_climb(60) and has_fire_source_with_torch) or barred_door", + } + }, + { + "region_name": "Dodongos Cavern Single Flame Trap Room West", + "dungeon": "Dodongos Cavern", + "room": "10", + "exits": { + "Dodongos Cavern Single Flame Trap Room": "has_fire_source_with_torch", + #Torch is in adjacent room + "Dodongos Cavern Bomb Bag Room": "True", + } + }, + { + "region_name": "Dodongos Cavern Single Flame Trap Room", + "dungeon": "Dodongos Cavern", + "room": "10", + "exits": { + "Dodongos Cavern Single Flame Trap Room East": "can_climb(60)", + "Dodongos Cavern Single Flame Trap Room West": " + can_climb(60) and here(can_blast_or_smash or (Progressive_Strength_Upgrade and can_use(Sticks)))", + } + }, + { + "region_name": "Dodongos Cavern Single Flame Trap Room East", + "dungeon": "Dodongos Cavern", + "room": "10", + "exits": { + "Dodongos Cavern Single Flame Trap Room": "True", + "Dodongos Cavern Lizalfos Miniboss Room 2F": "True", + } + }, + { + "region_name": "Dodongos Cavern Gold Skulltula Torch Room", + "dungeon": "Dodongos Cavern", + "room": "11", + "locations": { + "Dodongos Cavern MQ Deku Scrub Side Room Near Lower Lizalfos": "can_stun_deku" + }, + "exits": { + "Dodongos Cavern Baby Dodongo Corridor": "True" + } + }, + { + "region_name": "Dodongos Cavern Double Flame Trap Room", + "dungeon": "Dodongos Cavern", + "room": "12", + "events": { + "Dodongos Cavern Room 12 Crystal Switch": "Can hit crystal switch", + "Dodongos Cavern Room 12 Floor Switch": "can_blast_or_smash and can_press_floor_switch" + } + "exits": { + "Dodongos Cavern Lizalfos Miniboss Room 2F": "can_climb(60)", + "Dodongos Cavern Bomb Bag Room Upper": " + (can_climb(60) and can_blast_or_smash and can_press_floor_switch) or can_climb(72)" + } + }, + { + "region_name": "Dodongos Cavern Single Business Scrub Room", + "dungeon": "Dodongos Cavern", + "room": "13", + "events": { + "Dodongos Cavern Room 13 Enemies": " + " + #Mad Scrubs and Keese + } + "locations": { + "Dodongos Cavern MQ GS Scrub Room": "can_use(Hookshot) or can_use(Boomerang)" + }, + "exits": { + "Dodongos Cavern Blue Dodongo Cavern": "'Dodongos Cavern Room 13 Enemies' or barred_door" + } + }, + { + "region_name": "Dodongos Cavern Gold Skulltula Armos Room", + "dungeon": "Dodongos Cavern", + "room": "14", + "events": { + "Dodongos Cavern Room 14 Enemies": " + " + #Poe + } + "locations": { + "Dodongos Cavern MQ Under Grave Chest": "True" + }, + "exits": { + "Dodongos Cavern Fire Keese Pushblock Room North": "'Dodongos Cavern Room 14 Enemies' or barred_door" + } + }, + { + "region_name": "Dodongos Cavern Compass Room", + "dungeon": "Dodongos Cavern", + "room": "15", + "locations": { + "Dodongos Cavern MQ GS Song of Time Block Room": " + can_play(Song_of_Time) and (can_child_attack or is_adult)" + }, + "exits": { + "Dodongos Cavern Bomb Flower Staircase Room South": "True", + } + } +] \ No newline at end of file diff --git a/data/Scenes/Dungeons/Dodongos Cavern.json b/data/Scenes/Dungeons/Dodongos Cavern.json new file mode 100644 index 000000000..0ccb82320 --- /dev/null +++ b/data/Scenes/Dungeons/Dodongos Cavern.json @@ -0,0 +1,383 @@ +[ + { + "region_name": "Dodongos Cavern Lobby Beginning", + "dungeon": "Dodongos Cavern", + "room": "0", + "exits": { + "Dodongos Cavern Entryway": "True", + "Dodongos Cavern Lobby": " + here(can_blast_or_smash) or Progressive_Strength_Upgrade" + } + }, + { + "region_name": "Dodongos Cavern Lobby", + "dungeon": "Dodongos Cavern", + "room": "0", + "locations": { + "Dodongos Cavern Map Chest": "here(can_blast_or_smash or Progressive_Strength_Upgrade)", + "Dodongos Cavern Deku Scrub Lobby": "can_stun_deku", + "Dodongos Cavern Gossip Stone": "here(can_blast_or_smash or Progressive_Strength_Upgrade)", + "Gossip Stone Fairy": " + here(can_blast_or_smash or Progressive_Strength_Upgrade) + and can_summon_gossip_fairy and has_bottle" + }, + "exits": { + "Dodongos Cavern Lobby Beginning": "True", + "Dodongos Cavern Lobby East Ledge": "can_climb(80)", + "Dodongos Cavern Lobby North Bridge": " + at('Dodongos Cavern Lobby North Bridge', can_press_floor_switch)", + "Dodongos Cavern Lobby South Bridge": "False", + "Dodongos Cavern Baby Dodongo Corridor": "here(can_blast_or_smash)", + "Dodongos Cavern Bomb Flower Staircase Room": " + at('Dodongos Cavern Lobby East Ledge', can_press_floor_switch) or barred_door", + "Dodongos Cavern Floor Hole Switch Room": " + at('Dodongos Cavern Lobby North Bridge', has_explosives)" + } + }, + { + "region_name": "Dodongos Cavern Lobby East Ledge", + "dungeon": "Dodongos Cavern", + "room": "0", + "exits": { + "Dodongos Cavern Lobby": "True", + "Dodongos Cavern Blue Dodongo Cavern": "True" + } + }, + { + "region_name": "Dodongos Cavern Lobby North Bridge", + "dungeon": "Dodongos Cavern", + "room": "0", + "locations": { + "Dodongos Cavern End of Bridge Chest": "can_blast_or_smash" + }, + "exits": { + "Dodongos Cavern Lobby": "True", + "Dodongos Cavern Lobby North Bridge East": "True", + "Dodongos Cavern Lobby East Ledge": " + (logic_dc_mq_child_bombs and is_child and can_jumpslash and + (damage_multiplier != 'ohko' or Fairy or can_use(Nayrus_Love)))" + } + }, + { + "region_name": "Dodongos Cavern Lobby North Bridge East", + "dungeon": "Dodongos Cavern", + "room": "0", + "exits": { + "Dodongos Cavern Lobby North Bridge": "True", + "Dodongos Cavern Bomb Bag Room Upper": "True" + } + }, + { + "region_name": "Dodongos Cavern Lobby South Bridge", + "dungeon": "Dodongos Cavern", + "room": "0", + "exits": { + "Dodongos Cavern Lobby": "True", + "Dodongos Cavern Bomb Bag Room": "True", + "Dodongos Cavern Platform Switch with 2 Armos Room": "True" + } + }, + { + "region_name": "Dodongos Cavern Baby Dodongo Corridor", + "dungeon": "Dodongos Cavern", + "room": "1", + "locations": { + "Dodongos Cavern GS Scarecrow": " + can_use(Scarecrow) or can_use(Longshot) or + ((logic_dc_scarecrow_gs or can_climb(160)) and (is_adult or can_child_attack))" + }, + "exits": { + "Dodongos Cavern Lobby": "True", + "Dodongos Cavern Baby Dodongo Corridor North": "can_climb(60) and (True or barred_door)", + "Dodongos Cavern Gold Skulltula Torch Room": " + has_explosives or is_adult or Slingshot or + Boomerang or Sticks or Kokiri_Sword" + } + }, + { + "region_name": "Dodongos Cavern Baby Dodongo Corridor North", + "dungeon": "Dodongos Cavern", + "room": "1", + "exits": { + "Dodongos Cavern Baby Dodongo Corridor": "True", + "Dodongos Cavern Lizalfos Miniboss Room 1F": "True" + } + }, + { + "region_name": "Dodongos Cavern Bomb Flower Staircase Room", + "dungeon": "Dodongos Cavern", + "room": "2", + "events": { + "Dodongos Cavern Room 2 Staircase": " + has_explosives or Progressive_Strength_Upgrade + or can_use(Dins_Fire) or (logic_dc_staircase and can_use(Bow))" + } + "exits": { + "Dodongos Cavern Lobby": "True", + "Dodongos Cavern Bomb Flower Staircase Room Top": " + can_climb(40) and 'Dodongos Cavern Room 2 Staircase'", + "Dodongos Cavern Bomb Flower Staircase Room South": " + Progressive_Strength_Upgrade or here(can_blast_or_smash)" + } + }, + { + "region_name": "Dodongos Cavern Bomb Flower Staircase Room Top", + "dungeon": "Dodongos Cavern", + "room": "2", + "locations": { + "Dodongos Cavern GS Vines Above Stairs": "True", + "Dodongos Cavern GS Alcove Above Stairs": "can_use(Hookshot) or can_use(Boomerang)" + }, + "exits": { + "Dodongos Cavern Bomb Flower Staircase Room": "True", + "Dodongos Cavern Platform Switch with 2 Armos Room": "True" + } + }, + { + "region_name": "Dodongos Cavern Bomb Flower Staircase Room South", + "dungeon": "Dodongos Cavern", + "room": "2", + "exits": { + "Dodongos Cavern Bomb Flower Staircase Room": "True", + "Dodongos Cavern Compass Room": "True", + } + }, + { + "region_name": "Dodongos Cavern Lizalfos Miniboss Room 1F", + "dungeon": "Dodongos Cavern", + "room": "3", + "events": { + "Dodongos Cavern Room 3 Enemies Wave 1": "can beat Lizalfos" + } + "exits": { + "Dodongos Cavern Baby Dodongo Corridor North": "'Dodongos Cavern Room 3 Enemies Wave 1' or barred_door", + "Dodongos Cavern Blue Dodongo Cavern": "'Dodongos Cavern Room 3 Enemies Wave 1' or barred_door", + "Dodongos Cavern Single Flame Trap Room East": + "False and (('Dodongos Cavern Room 3 Enemies Wave 1' + and 'Dodongos Cavern Room 3 Enemies Wave 2') or barred_door)", + "Dodongos Cavern Double Flame Trap Room": + "False and (('Dodongos Cavern Room 3 Enemies Wave 1' + and 'Dodongos Cavern Room 3 Enemies Wave 2') or barred_door)", + } + }, + { + "region_name": "Dodongos Cavern Lizalfos Miniboss Room 2F", + "dungeon": "Dodongos Cavern", + "room": "3", + "events": { + "Dodongos Cavern Room 3 Enemies Wave 2": "can beat Lizalfos" + } + "exits": { + "Dodongos Cavern Single Flame Trap Room East": "'Dodongos Cavern Room 3 Enemies Wave 2' or barred_door", + "Dodongos Cavern Double Flame Trap Room": "'Dodongos Cavern Room 3 Enemies Wave 2' or barred_door", + "Dodongos Cavern Baby Dodongo Corridor North": + "('Dodongos Cavern Room 3 Enemies Wave 1' + and 'Dodongos Cavern Room 3 Enemies Wave 2') or barred_door", + "Dodongos Cavern Blue Dodongo Cavern": + "('Dodongos Cavern Room 3 Enemies Wave 1' + and 'Dodongos Cavern Room 3 Enemies Wave 2') or barred_door", + } + }, + { + "region_name": "Dodongos Cavern Blue Dodongo Cavern", + "dungeon": "Dodongos Cavern", + "room": "4", + "exits": { + "Dodongos Cavern Lizalfos Miniboss Room 1F": "True", + "Dodongos Cavern Single Business Scrub Room": " + Progressive_Strength_Upgrade or here(can_blast_or_smash)", + "Dodongos Cavern Lobby East Ledge": "has_fire_source_with_torch or barred_door" + } + }, + { + "region_name": "Dodongos Cavern Platform Switch with 2 Armos Room", + "dungeon": "Dodongos Cavern", + "room": "5", + "exits": { + "Dodongos Cavern Bomb Flower Staircase Room Top": "can_press_floor_switch or barred_door", + "Dodongos Cavern Lobby South Bridge": "can_press_floor_switch or barred_door", + } + }, + { + "region_name": "Dodongos Cavern Double Business Scrub Room", + "dungeon": "Dodongos Cavern", + "room": "6", + "locations": { + "Dodongos Cavern Deku Scrub Near Bomb Bag Right": "can_stun_deku", + "Dodongos Cavern Deku Scrub Near Bomb Bag Left": "can_stun_deku" + }, + "exits": { + "Dodongos Cavern Bomb Bag Room": "True" + } + }, + { + "region_name": "Dodongos Cavern Floor Hole Switch Room", + "dungeon": "Dodongos Cavern", + "room": "7", + "exits": { + "Dodongos Cavern Lobby": "can_climb(60)", + "Dodongos Cavern Fire Keese Pushblock Room": "can_climb(60)", + "Dodongos Cavern Floor Hole Switch Room Ledge": "can_climb(110)", + "King Dodongo Entrance": "can_hold_down_switch or barred_door" + } + }, + { + "region_name": "Dodongos Cavern Floor Hole Switch Room Ledge", + "dungeon": "Dodongos Cavern", + "room": "7", + "exits": { + "Dodongos Cavern Floor Hole Switch Room": "True", + "Dodongos Cavern Fire Keese Pushblock Room": "True", + "King Dodongo Entrance": "True" + } + }, + { + "region_name": "Dodongos Cavern Fire Keese Pushblock Room", + "dungeon": "Dodongos Cavern", + "room": "8", + "exits": { + "Dodongos Cavern Fire Keese Pushblock Room North": "can_climb(60)", + "Dodongos Cavern Floor Hole Switch Room": "can_climb(60)" + } + }, + { + "region_name": "Dodongos Cavern Fire Keese Pushblock Room North", + "dungeon": "Dodongos Cavern", + "room": "8", + "exits": { + "Dodongos Cavern Fire Keese Pushblock Room": "can_climb(60)", + "Dodongos Cavern Fire Keese Pushblock Room West": "can_climb(60)", + "Dodongos Cavern Gold Skulltula Armos Room": "can_climb(60) and here(can_blast_or_smash)" + } + }, + { + "region_name": "Dodongos Cavern Fire Keese Pushblock Room West", + "dungeon": "Dodongos Cavern", + "room": "8", + "locations": { + "Fairy Pot": "has_bottle" + }, + "exits": { + "Dodongos Cavern Fire Keese Pushblock Room North": "True", + "Dodongos Cavern Floor Hole Switch Room Ledge": "True" + } + }, + { + "region_name": "Dodongos Cavern Bomb Bag Room", + "dungeon": "Dodongos Cavern", + "room": "9", + "locations": { + "Dodongos Cavern Bomb Flower Platform Chest": "can_climb(60) or can_use(Hookshot)" + }, + "exits": { + "Dodongos Cavern Lobby South Bridge": "True", + "Dodongos Cavern Bomb Bag Room Upper": " + can_use(Longshot) or can_use(Hover_Boots) or (logic_dc_jump and is_adult) or can_climb(120)", + "Dodongos Cavern Double Business Scrub Room": "can_climb(60) and here(can_blast_or_smash)", + "Dodongos Cavern Single Flame Trap Room West": " + can_climb(60) and (Progressive_Strength_Upgrade or here(can_blast_or_smash))", + } + }, + { + "region_name": "Dodongos Cavern Bomb Bag Room Upper", + "dungeon": "Dodongos Cavern", + "room": "9", + "locations": { + "Dodongos Cavern Bomb Bag Chest": "can_climb(60) or can_use(Hookshot)" + }, + "exits": { + "Dodongos Cavern Lobby North Bridge East": "True", + "Dodongos Cavern Bomb Bag Room": "True", + "Dodongos Cavern Double Flame Trap Room": "True", + "Dodongos Cavern Double Business Scrub Room": "here(can_blast_or_smash)", + } + }, + { + "region_name": "Dodongos Cavern Single Flame Trap Room West", + "dungeon": "Dodongos Cavern", + "room": "10", + "exits": { + "Dodongos Cavern Single Flame Trap Room": "True", + "Dodongos Cavern Bomb Bag Room": "True", + } + }, + { + "region_name": "Dodongos Cavern Single Flame Trap Room", + "dungeon": "Dodongos Cavern", + "room": "10", + "exits": { + "Dodongos Cavern Single Flame Trap Room East": " + can_use(Slingshot) or (is_child and logic_dc_slingshot_skip) or can_use(Bow) or can_climb(120)", + "Dodongos Cavern Single Flame Trap Room West": "can_climb(60) or can_use(Slingshot) or can_use(Bow)", + } + }, + { + "region_name": "Dodongos Cavern Single Flame Trap Room East", + "dungeon": "Dodongos Cavern", + "room": "10", + "exits": { + "Dodongos Cavern Single Flame Trap Room": "True", + "Dodongos Cavern Lizalfos Miniboss Room 2F": "True", + } + }, + { + "region_name": "Dodongos Cavern Gold Skulltula Torch Room", + "dungeon": "Dodongos Cavern", + "room": "11", + "locations": { + "Dodongos Cavern GS Side Room Near Lower Lizalfos": " + is_adult or can_child_attack" + }, + "exits": { + "Dodongos Cavern Baby Dodongo Corridor": "True", + } + }, + { + "region_name": "Dodongos Cavern Double Flame Trap Room", + "dungeon": "Dodongos Cavern", + "room": "12", + "exits": { + "Dodongos Cavern Lizalfos Miniboss Room 2F": "can_climb(60)", + "Dodongos Cavern Bomb Bag Room Upper": " + can_use(Slingshot) or (is_child and logic_dc_slingshot_skip) or can_use(Bow) or can_climb(120)" + } + }, + { + "region_name": "Dodongos Cavern Single Business Scrub Room", + "dungeon": "Dodongos Cavern", + "room": "13", + "locations": { + "Dodongos Cavern Deku Scrub Side Room Near Dodongos": "can_stun_deku" + }, + "exits": { + "Dodongos Cavern Blue Dodongo Cavern": "True" + } + }, + { + "region_name": "Dodongos Cavern Gold Skulltula Armos Room", + "dungeon": "Dodongos Cavern", + "room": "14", + "locations": { + "Dodongos Cavern GS Back Room": "is_adult or can_child_attack" + }, + "exits": { + "Dodongos Cavern Fire Keese Pushblock Room North": "True" + } + }, + { + "region_name": "Dodongos Cavern Compass Room", + "dungeon": "Dodongos Cavern", + "room": "15", + "events": { + "Dodongos Cavern Room 15 Enemies": " + Progressive_Strength_Upgrade or have a way to kill armos" + } + "locations": { + "Dodongos Cavern Compass Chest": "True" + }, + "exits": { + "Dodongos Cavern Bomb Flower Staircase Room South": " + 'Dodongos Cavern Room 15 Enemies' or barred_door", + } + } +] \ No newline at end of file diff --git a/data/Scenes/Dungeons/Fire Temple MQ.json b/data/Scenes/Dungeons/Fire Temple MQ.json new file mode 100644 index 000000000..2aa948be7 --- /dev/null +++ b/data/Scenes/Dungeons/Fire Temple MQ.json @@ -0,0 +1,723 @@ +[ + { + "region_name": "Fire Temple Entrance Chamber", + "dungeon": "Fire Temple", + "room": "0", + "exits": { + "Fire Temple Entrance": "True", + "Fire Temple Entrance Chamber North": "can_climb(100) or can_use(Hookshot)", + "Fire Temple Combat Room": "Small_Key_Fire_Temple", + "Fire Temple Two-Sided Cell South": "True" + } + }, + { + "region_name": "Fire Temple Entrance Chamber North", + "dungeon": "Fire Temple", + "room": "0", + "exits": { + "Fire Temple Entrance Chamber": "True", + "Fire Temple Big Lava Room West": "can_use(Megaton_Hammer)", + "Fire Temple Boss Door Room Entrance": "has_fire_source or barred_door" + } + }, + #I put the tag "hot" as if the logic was changed so that going from one "hot" region to another "hot" region requires Goron Tunic. However, I did not do this with DMC. This was just a placeholder solution to prevent entrance rando/door rando from lining up two "hot" rooms without Goron Tunic. The door between the big lava room and elevator required Goron Tunic in the original logic but that was because of the hot rooms being adjacent and carrying over the timer. + { + "region_name": "Fire Temple Big Lava Room", + "dungeon": "Fire Temple", + "room": "1", + "hot": "true", + "exits": { + "Fire Temple Big Lava Room Exits": " + logic_fewer_tunic_requirements or can_use(Goron_Tunic)" + } + }, + { + "region_name": "Fire Temple Big Lava Room Exits", + "dungeon": "Fire Temple", + "room": "1", + "exits": { + "Fire Temple Entrance Chamber North": "Still_a_key", + "Fire Temple Flame Pillar Elevator Room": "Small_Key_Fire_Temple", + "Fire Temple Southern Cell": " + has_explosives and (can_use(Hookshot) or + (logic_fire_mq_bombable_chest and can_climb(83) and + (damage_multiplier != 'ohko' or can_use(Nayrus_Love)))", + "Fire Temple Northern Cell": "True", + "Fire Temple High Floor Tile Room": " + ((has_fire_source and (Bow or logic_fire_mq_bk_chest)) or barred_door) and + (Progressive_Hookshot or (logic_fire_song_of_time and is_adult) or can_climb(136))", + "Fire Temple Eastern Shaft": "False" + } + }, + { + "region_name": "Fire Temple Boss Door Room Entrance", + "dungeon": "Fire Temple", + "room": "2", + "hot": "true", + "exits": { + "Fire Temple Entrance Chamber North": "True", + "Fire Temple Boss Door Room": " + logic_fewer_tunic_requirements or can_use(Goron_Tunic)", + } + }, + { + "region_name": "Fire Temple Boss Door Room", + "dungeon": "Fire Temple", + "room": "2", + "locations": { + "Fire Temple MQ Near Boss Chest": " + (logic_fewer_tunic_requirements or can_use(Goron_Tunic)) and ( + (((can_use(Hover_Boots) and can_climb(100)) 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": { + "Fire Temple Boss Door Room Entrance": "True", + "Fire Temple Boss Door Room Hookshot Platform", " + can_use(Hover_Boots) or can_use(Hookshot) + or (can_climb(200) and + ((damage_multiplier != 'ohko' and damage_multiplier != 'quadruple') + or Fairy or can_use(Nayrus_Love)))", + # I don't know why I can't seem to jump between the stone and boss platform as child + "Fire Temple Boss Door Room Boss Platform", " + ('Fire Temple Boss Door Stone' and is_adult) + or (logic_fire_boss_door_jump and can_climb(97.75)) or can_use(Hover_Boots) or + (can_climb(200) and + ((damage_multiplier != 'ohko' and damage_multiplier != 'quadruple') + or Fairy or can_use(Nayrus_Love)))", + "Fire Temple Flame Maze": "False" + } + }, + { + "region_name": "Fire Temple Boss Door Room Hookshot Platform", + "dungeon": "Fire Temple", + "room": "2", + "exits": { + "Fire Temple Boss Door Room": " + can_use(Hover_Boots) or ((can_climb(100) or can_use(Hookshot)) and + ((damage_multiplier != 'ohko' and damage_multiplier != 'quadruple') + or Fairy or can_use(Nayrus_Love)))", + "Fire Temple Boss Door Room Boss Platform", "can_use(Hover_Boots)", + } + }, + { + "region_name": "Fire Temple Boss Door Room Boss Platform", + "dungeon": "Fire Temple", + "room": "2", + "hot": "true", + "exits": { + "Fire Temple Volvagia Arena": "Boss_Key_Fire_Temple", + "Fire Temple Boss Door Room": " + (logic_fewer_tunic_requirements or can_use(Goron_Tunic)) and + (('Fire Temple Boss Door Stone' and is_adult) + or can_climb(100) or can_use(Hookshot) or can_use(Hover_Boots))", + } + }, + { + "region_name": "Fire Temple Flare Dancer Treasure Room", + "dungeon": "Fire Temple", + "room": "3", + "events": { + "Fire Temple Room 3 Enemies": " + " + #Flare Dancer + }, + "locations": { + "Fire Temple MQ Megaton Hammer Chest": " + 'Fire Temple Room 3 Enemies' and (can_climb(80) or can_use(Hookshot))" + }, + "exits": { + #Yes, this door is unbarred in MQ for no reason. + "Fire Temple Lower Floor Tile Room": "True" + "Fire Temple Two-Sided Cell": "'Fire Temple Room 3 Enemies' or barred_door", + } + }, + { + "region_name": "Fire Temple Ascent to Stone Maze", + "dungeon": "Fire Temple", + "room": "4", + "exits": { + "Fire Temple Flame Pillar Elevator Top West": "True", + "Fire Temple Ascent to Stone Maze Top": " + can_climb(100) and + (has_fire_source or (logic_fire_mq_climb and can_use(Hover_Boots)) or can_climb(160))", + "Fire Temple Ascent to Stone Maze Rear": "'Fire Temple Room 4 Rusted Switch'" + } + }, + { + "region_name": "Fire Temple Ascent to Stone Maze Top", + "dungeon": "Fire Temple", + "room": "4", + "exits": { + "Fire Temple Ascent to Stone Maze": "True", + "Fire Temple Stone Maze": "True" + } + }, + { + "region_name": "Fire Temple Ascent to Stone Maze Rear", + "dungeon": "Fire Temple", + "room": "4", + "events": { + "Fire Temple Room 4 Rusted Switch": "can_use(Megaton_Hammer)" + }, + "locations": { + "Fire Temple MQ Compass Chest": "'Fire Temple Room 4 Rusted Switch'" + }, + "exits": { + "Fire Temple Ascent to Stone Maze": "'Fire Temple Room 4 Rusted Switch'", + "Fire Temple Stone Maze Shortcut": "True" + } + }, + { + "region_name": "Fire Temple Stone Maze", + "dungeon": "Fire Temple", + "room": "5", + "events": { + "Fire Temple Room 5 Upper Cage": "has_explosives" + } + "locations": { + "Fire Temple MQ Lizalfos Maze Lower Chest": "can_jumpslash" + }, + "exits": { + "Fire Temple Stone Maze Upper", " + ((((has_explosives or logic_rusted_switches) and can_use(Megaton_Hammer)) + or 'Fire Temple Room 5 Upper Cage') and can_use(Hookshot)) or can_climb(140)", + "Fire Temple Ascent to Stone Maze Top": "True", + "Fire Temple Eastern Shaft": "barred_door", + "Fire Temple Stone Maze Side Room": " + has_explosives and (logic_fire_mq_maze_side_room or can_hold_down_switch or barred_door)" + } + }, + { + "region_name": "Fire Temple Stone Maze Upper", + "dungeon": "Fire Temple", + "room": "5", + "events": { + "Fire Temple Room 5 Upper Cage": "has_explosives or can_jumpslash" + } + "locations": { + "Fire Temple MQ Lizalfos Maze Upper Chest": "'Fire Temple Room 5 Upper Cage'" + }, + "exits": { + "Fire Temple Stone Maze", "True", + "Fire Temple Stone Maze Shortcut", "has_explosives", + "Fire Temple Stone Maze Top", " + can_use(Hookshot) and ((has_explosives or logic_rusted_switches) and can_use(Megaton_Hammer) and (can_play(Song_of_Time) or can_use(Longshot))) or (logic_fire_scarecrow and can_use(Longshot))" + "Fire Temple Lava Grate Room North": "Small_Key_Fire_Temple", + "Fire Temple Stone Maze Side Room": " + has_explosives and + ('Fire Temple Room 5 Upper Cage' or logic_fire_mq_maze_side_room or can_hold_down_switch or barred_door)" + } + }, + { + "region_name": "Fire Temple Stone Maze Shortcut", + "dungeon": "Fire Temple", + "room": "5", + "exits": { + "Fire Temple Ascent to Stone Maze Rear": "True", + "Fire Temple Stone Maze Upper": " + at('Fire Temple Stone Maze Upper', has_explosives)" + } + }, + { + "region_name": "Fire Temple Stone Maze Top", + "dungeon": "Fire Temple", + "room": "5", + "exits": { + "Fire Temple Stone Maze Upper", "True", + "Fire Temple Stone Maze", "True", + "Fire Temple Ascent to Eastern Tower": "True", + } + }, + { + "region_name": "Fire Temple Eastern Shaft", + "dungeon": "Fire Temple", + "room": "6", + "locations": { + "Fairy Pot": "has_bottle" + }, + "exits": { + "Fire Temple Stone Maze": "True", + "Fire Temple Lava Grate Room South": "barred_door", + "Fire Temple Lava Grate Room East": "barred_door", + "Fire Temple Big Lava Room": "can_fall", + "Fire Temple Eastern Tower": "False" + } + }, + { + "region_name": "Fire Temple Ascent to Eastern Tower", + "dungeon": "Fire Temple", + "room": "7", + "locations": { + "Wall Switch Fairy": "has_bottle and can_use(Hookshot)" + } + "exits": { + "Fire Temple Stone Maze Top": "True", + "Fire Temple Eastern Tower": "can_use(Hookshot) or barred_door" + } + }, + { + "region_name": "Fire Temple Eastern Tower", + "dungeon": "Fire Temple", + "room": "8", + "locations": { + "Fire Temple MQ GS Skull On Fire": "can_use(Megaton_Hammer) and can_use(Hookshot)", + }, + "exits": { + "Fire Temple Ascent to Eastern Tower": "True", + "Fire Temple Eastern Shaft": "can_fall" + } + }, + { + "region_name": "Fire Temple Hallway to Flame Maze", + "dungeon": "Fire Temple", + "room": "9", + "exits": { + "Fire Temple Flame Maze East": "True", + "Fire Temple Lava Grate Room West": "True" + } + }, + { + "region_name": "Fire Temple Flame Maze East", + "dungeon": "Fire Temple", + "room": "10", + "exits": { + "Fire Temple Hallway to Flame Maze": "True", + "Fire Temple Flame Maze": "True", + "Fire Temple Flame Maze Ledge": " + can_use(Hover_Boots) or ((is_adult or can_play(Song_of_Time)) and can_climb(80))" + } + }, + { + "region_name": "Fire Temple Flame Maze", + "dungeon": "Fire Temple", + "room": "10", + "locations": { + "Fairy Pot": "has_bottle" + } + "exits": { + "Fire Temple Boss Door Room": "'Fire Temple Boss Door Stone' and can_fall", + "Fire Temple Center of Flame Maze": "Small_Key_Fire_Temple", + "Fire Temple Flame Maze Side Room": "False", + "Fire Temple Flame Maze East": "can_climb(70)", + "Fire Temple Flame Maze Ledge": " + can_climb(100) and (is_adult or can_play(Song_of_Time) or 'Fire Temple Flame Maze Ceiling Stone')", + "Fire Temple Flame Maze North": "logic_fire_mq_flame_maze", + "Fire Temple Flame Maze Northeast": "logic_fire_mq_flame_maze", + "Fire Temple Flame Maze Ceiling": "False", + } + }, + { + "region_name": "Fire Temple Flame Maze Northeast", + "dungeon": "Fire Temple", + "room": "10", + "exits": { + "Fire Temple Flame Maze Side Room": "True", + "Fire Temple Flame Maze": "can_climb(100)", + "Fire Temple Flame Maze North": "logic_fire_mq_flame_maze" + } + }, + + { + "region_name": "Fire Temple Flame Maze Ledge", + "dungeon": "Fire Temple", + "room": "10", + "events": { + "Fire Temple Boss Door Stone": "can_use(Megaton_Hammer)" + } + "exits": { + "Fire Temple Center of Flame Maze East": "True", + "Fire Temple Flame Maze": "True", + "Fire Temple Flame Maze Northeast": " + (can_play(Song_of_Time) and can_climb(100)) or can_use(Hover_Boots)" + } + }, + { + "region_name": "Fire Temple Flame Maze North", + "dungeon": "Fire Temple", + "room": "10", + "exits": { + "Fire Temple Center of Flame Maze": "True", + "Fire Temple Flame Maze West": "can_press_floor_switch and can_climb(40)", + "Fire Temple Flame Maze": "logic_fire_mq_flame_maze", + "Fire Temple Flame Maze Northeast": "logic_fire_mq_flame_maze" + } + }, + { + "region_name": "Fire Temple Flame Maze West", + "dungeon": "Fire Temple", + "room": "10", + "exits": { + "Fire Temple Flame Maze North": "False", + "Fire Temple Flare Dancer Elevator Room": "True" + } + }, + { + "region_name": "Fire Temple Flame Maze Ceiling", + "dungeon": "Fire Temple", + "room": "10", + "events": { + "Fire Temple Flame Maze Ceiling Stone": "can_use(Megaton_Hammer)" + } + "locations": { + "Fire Temple MQ GS Above Fire Wall Maze": "can_use(Hookshot) or can_use(Boomerang)" + } + "exits": { + "Fire Temple Flame Maze": "'Fire Temple Flame Maze Ceiling Stone' and can_fall", + "Fire Temple Stone Stairway Bottom": "barred_door" + } + }, + { + "region_name": "Fire Temple Center of Flame Maze", + "dungeon": "Fire Temple", + "room": "11", + "locations": { + "Fire Temple MQ GS Fire Wall Maze Center": "has_explosives" + } + "exits": { + "Fire Temple Flame Maze": "True", + "Fire Temple Flame Maze North": "'Fire Temple Room 11 Rusted Switch' or barred_door", + "Fire Temple Center of Flame Maze West": "False", + "Fire Temple Center of Flame Maze East": "False" + } + }, + { + "region_name": "Fire Temple Center of Flame Maze West", + "dungeon": "Fire Temple", + "room": "11", + "events": { + "Fire Temple Room 11 Rusted Switch": "can_use(Megaton_Hammer)" + } + "exits": { + "Fire Temple Center of Flame Maze": "True", + "Fire Temple Center of Fire Wall East": "can_use(Hookshot)", + "Fire Temple Western Tower": "False" + } + }, + { + "region_name": "Fire Temple Center of Flame Maze East", + "dungeon": "Fire Temple", + "room": "11", + "exits": { + "Fire Temple Center of Flame Maze": "False", + "Fire Temple Center of Fire Wall West": "can_use(Hookshot)", + "Fire Temple Flame Maze Ledge": "True", + "Fire Temple Western Tower": "False" + } + }, + { + "region_name": "Fire Temple Ascent to Western Tower", + "dungeon": "Fire Temple", + "room": "12", + "exits": { + "Fire Temple Western Tower": "Small_Key_Fire_Temple", + "Fire Temple Flare Dancer Elevator Top": "True" + } + }, + { + "region_name": "Fire Temple Western Tower", + "dungeon": "Fire Temple", + "room": "13", + "locations": { + "Fire Temple MQ Chest On Fire": " + can_press_floor_switch and + can_climb(100) or can_use(Scarecrow) or + #Child can climb up the end of the stair, but I don't think is fast enough to get up from there + (False and can_climb(70))", + } + "exits": { + "Fire Temple Ascent to Western Tower": "Still_a_key", + "Fire Temple Western Tower Under Stone": "can_use(Megaton_Hammer)", + "Fire Temple Center of Flame Maze": "can_fall" + #It invisibly pushes you into the bottom, but if you really try you can land on the sides + "Fire Temple Center of Flame Maze West": "can_fall" + "Fire Temple Center of Flame Maze East": "can_fall" + } + }, + { + "region_name": "Fire Temple Western Tower Under Stone", + "dungeon": "Fire Temple", + "room": "13", + "exits": { + "Fire Temple Western Tower": "(can_use(Hookshot) or can_climb(220)) and + at('Fire Temple Western Tower', can_use(Megaton_Hammer))", + "Fire Temple Stone Stairway": "Small_Key_Fire_Temple" + } + }, + { + "region_name": "Fire Temple Stone Stairway", + "dungeon": "Fire Temple", + "room": "14", + "events": { + "Fire Temple Stone Stairs": "can_use(Megaton_Hammer)" + } + "exits": { + "Fire Temple Western Tower Under Stone": "Still_a_key", + "Fire Temple Stone Stairway Bottom": "'Fire Temple Stone Stairs'" + "Fire Temple Flame Maze Ceiling": " + 'Fire Temple Stone Stairs' and (can_use(Hookshot) or barred_door)" + } + }, + { + "region_name": "Fire Temple Stone Stairway Bottom", + "dungeon": "Fire Temple", + "room": "14", + "locations": { + "Wall Switch Fairy": "has_bottle and 'Fire Temple Stone Stairs' and can_use(Hookshot)" + } + #If the stairs aren't lowered then you can drop into an unloaded Flame Maze + "exits": { + "Fire Temple Stone Stairway": "'Fire Temple Stone Stairs' and can_climb(100)", + "Fire Temple Flame Maze Ceiling": " + ('Fire Temple Stone Stairs' and can_use(Hookshot)) or barred_door" + } + }, + { + "region_name": "Fire Temple Combat Room", + "dungeon": "Fire Temple", + "room": "15", + "events": { + "Fire Temple Room 15 Enemies": " + " + # + }, + "exits": { + "Fire Temple Entrance Chamber": "Still_a_key", + "Fire Temple Lower Floor Tile Room": " + 'Fire Temple Room 15 Enemies' or barred_door" + } + }, + { + "region_name": "Fire Temple Lava Grate Room South", + "dungeon": "Fire Temple", + "room": "16", + "hot": "true", + "exits": { + "Fire Temple Eastern Shaft": "True", + "Fire Temple Lava Grate Room": "(logic_fewer_tunic_requirements or can_use(Goron_Tunic))", + } + }, + { + "region_name": "Fire Temple Lava Grate Room", + "dungeon": "Fire Temple", + "room": "16", + "events": { + "Fire Temple Room 16 Torch": " + can_use(Fire_Arrows) + or (can_use(Goron_Tunic) and can_use(Bow) and (can_use(Hookshot) or can_climb(140)))" + }, + "exits": { + "Fire Temple Lava Grate Room South": "True", + "Fire Temple Lava Grate Room North": "can_climb(52)", + "Fire Temple Lava Grate Room West": "can_climb(100) or can_use(Hookshot)", + "Fire Temple Lava Grate Room Cage": "can_climb(100) or can_use(Hookshot)" + } + }, + { + "region_name": "Fire Temple Lava Grate Room North", + "dungeon": "Fire Temple", + "room": "16", + "hot": "true", + "exits": { + "Fire Temple Stone Maze Upper": "Still_a_key", + "Fire Temple Lava Grate Room Cage": "can_climb(100)", + "Fire Temple Lava Grate Room": "(logic_fewer_tunic_requirements or can_use(Goron_Tunic))", + } + }, + { + "region_name": "Fire Temple Lava Grate Room Cage", + "dungeon": "Fire Temple", + "room": "16", + "exits": { + "Fire Temple Lava Grate Room East": "True", + "Fire Temple Lava Grate Room South": "can_climb(140)", + "Fire Temple Lava Grate Room North": "can_climb(240)", + } + }, + { + "region_name": "Fire Temple Lava Grate Room East", + "dungeon": "Fire Temple", + "room": "16", + "hot": "true", + "exits": { + "Fire Temple Eastern Shaft": "True", + "Fire Temple Lava Grate Room Cage", "True" + } + }, + { + "region_name": "Fire Temple Lava Grate Room West", + "dungeon": "Fire Temple", + "room": "16", + "hot": "true", + "exits": { + "Fire Temple Lava Grate Room": "(logic_fewer_tunic_requirements or can_use(Goron_Tunic))", + "Fire Temple Hallway to Flame Maze": "'Fire Temple Room 16 Torch' or barred_door" + } + }, + { + "region_name": "Fire Temple Two-Sided Cell South", + "dungeon": "Fire Temple", + "room": "17", + "events": { + "Fire Temple Room 17 Enemies": " + is_adult or Kokiri_Sword or can_use(Sticks) or can_use(Slingshot)" + #A Like Like + }, + "locations": { + "Fire Temple MQ Map Room Side Chest": "'Fire Temple Room 17 Enemies'" + }, + "exits": { + "Fire Temple Entrance Chamber": "'Fire Temple Room 17 Enemies' or barred_door", + "Fire Temple Two-Sided Cell": "'Fire Temple Room 17 Rusted Switch'" + } + }, + { + "region_name": "Fire Temple Two-Sided Cell", + "dungeon": "Fire Temple", + "room": "17", + "events": { + "Fire Temple Room 17 Rusted Switch": "can_use(Megaton_Hammer)" + }, + "locations": { + "Fire Temple MQ Map Chest": "'Fire Temple Room 17 Rusted Switch'" + }, + "exits": { + "Fire Temple Two-Sided Cell South": "'Fire Temple Room 17 Rusted Switch'", + "Fire Temple Flare Dancer Treasure Room": "True" + } + }, + { + "region_name": "Fire Temple Lower Floor Tile Room", + "dungeon": "Fire Temple", + "room": "18", + "events": { + "Fire Temple Room 18 Enemies": " + " + #Iron Knuckle + }, + "locations": { + "Fairy Pot": "has_bottle" + }, + "exits": { + "Fire Temple Flare Dancer Treasure Room": "'Fire Temple Room 18 Enemies' or barred_door", + "Fire Temple Combat Room": "True" + } + }, + { + "region_name": "Fire Temple High Floor Tile Room", + "dungeon": "Fire Temple", + "room": "19", + "locations": { + "Fire Temple MQ Boss Key Chest": "can_use(Hookshot)", + "Fairy Pot": "has_bottle and can_use(Hookshot)" + }, + "exits": { + "Fire Temple Big Lava Room": "True" + } + }, + { + "region_name": "Fire Temple Northern Cell", + "dungeon": "Fire Temple", + "room": "20", + "locations": { + "Fire Temple MQ GS Big Lava Room Open Door": "can_use(Megaton_Hammer)" + }, + "exits": { + "Fire Temple Big Lava Room": "True" + } + }, + { + "region_name": "Fire Temple Flame Pillar Elevator Room", + "dungeon": "Fire Temple", + "room": "21", + "hot_room": "true", + "exits": { + "Fire Temple Big Lava Room": "Still_a_key", + #Block is moving so longshot is necessary to climb up early enough to jump on, + #assuming you door rando in from a non-hot room. + "Fire Temple Flame Pillar Elevator Top": " + (can_use(Hookshot) and logic_fewer_tunic_requirements) or can_use(Goron_Tunic)" + } + }, + { + "region_name": "Fire Temple Flame Pillar Elevator Top", + "dungeon": "Fire Temple", + "room": "21", + "exits": { + "Fire Temple Flame Pillar Elevator Room": "logic_fewer_tunic_requirements or can_use(Goron_Tunic)", + "Fire Temple Flame Pillar Elevator Top West": "True" + } + }, + { + "region_name": "Fire Temple Flame Pillar Elevator Top West", + "dungeon": "Fire Temple", + "room": "21", + "hot_room": "true", + "exits": { + "Fire Temple Flame Pillar Elevator Top": "True", + "Fire Temple Ascent to Stone Maze": "True" + } + }, + { + "region_name": "Fire Temple Southern Cell", + "dungeon": "Fire Temple", + "room": "22", + "locations": { + "Fire Temple MQ Big Lava Room Blocked Door Chest": "has_fire_source" + }, + "exits": { + "Fire Temple Big Lava Room": "True" + } + }, + { + "region_name": "Fire Temple Stone Maze Side Room", + "dungeon": "Fire Temple", + "room": "23", + "locations": { + "Fire Temple MQ Lizalfos Maze Side Room Chest": "can_press_floor_switch" + }, + "exits": { + "Fire Temple Stone Maze": "True" + } + }, + { + "region_name": "Fire Temple Flare Dancer Elevator Room", + "dungeon": "Fire Temple", + "room": "24", + "events": { + "Fire Temple Room 24 Enemies": " + " + #Flare Dancer + }, + "locations": { + "Fire Temple MQ Freestanding Key": "'Fire Temple Room 24 Enemies'" + } + "exits": { + "Fire Temple Flame Maze West": "'Fire Temple Room 24 Enemies' or barred_door", + "Fire Temple Flare Dancer Elevator Top": "'Fire Temple Room 24 Enemies'" + } + }, + { + "region_name": "Fire Temple Flare Dancer Elevator Top", + "dungeon": "Fire Temple", + "room": "24", + "exits": { + "Fire Temple Flare Dancer Elevator Room": "True", + "Fire Temple Ascent to Western Tower": "True" + } + }, + { + "region_name": "Fire Temple Flame Maze Side Room", + "dungeon": "Fire Temple", + "room": "25", + "locations": { + "Fire Temple MQ GS Fire Wall Maze Side Room": "is_adult or can_child_attack" + } + "exits": { + "Fire Temple Flame Maze Northeast": "True" + } + } +] \ No newline at end of file diff --git a/data/Scenes/Dungeons/Fire Temple.json b/data/Scenes/Dungeons/Fire Temple.json new file mode 100644 index 000000000..2f0c92789 --- /dev/null +++ b/data/Scenes/Dungeons/Fire Temple.json @@ -0,0 +1,672 @@ +[ + { + "region_name": "Fire Temple Entrance Chamber", + "dungeon": "Fire Temple", + "room": "0", + "exits": { + "Fire Temple Entrance": "True", + "Fire Temple Entrance Chamber North": "True", + "Fire Temple Combat Room": "here(can_use(Megaton_Hammer)) and Small_Key_Fire_Temple", + "Fire Temple Two-Sided Cell South": "True" + } + }, + { + "region_name": "Fire Temple Entrance Chamber North", + "dungeon": "Fire Temple", + "room": "0", + "exits": { + "Fire Temple Entrance Chamber": "True", + "Fire Temple Big Lava Room West": "Small_Key_Fire_Temple", + "Fire Temple Boss Door Room Entrance": "True" + } + }, + #I put the tag "hot" as if the logic was changed so that going from one "hot" region to another "hot" region requires Goron Tunic. However, I did not do this with DMC. This was just a placeholder solution to prevent entrance rando/door rando from lining up two "hot" rooms without Goron Tunic. The door between the big lava room and elevator required Goron Tunic in the original logic but that was because of the hot rooms being adjacent and carrying over the timer. + { + "region_name": "Fire Temple Big Lava Room", + "dungeon": "Fire Temple", + "room": "1", + "hot": "true", + "exits": { + "Fire Temple Big Lava Room Exits": " + logic_fewer_tunic_requirements or can_use(Goron_Tunic)" + } + }, + { + "region_name": "Fire Temple Big Lava Room Exits", + "dungeon": "Fire Temple", + "room": "1", + "exits": { + "Fire Temple Entrance Chamber North": "Still_a_key", + "Fire Temple Flame Pillar Elevator Room": "Small_Key_Fire_Temple", + "Fire Temple Southern Cell": "can_climb(83) and has_explosives", + "Fire Temple Northern Cell": "True", + "Fire Temple High Floor Tile Room": " + (can_play(Song_of_Time) and can_climb(96)) + or (logic_fire_song_of_time and is_adult) + or can_climb(136)", + "Fire Temple Eastern Shaft": "False" + } + }, + { + "region_name": "Fire Temple Boss Door Room Entrance", + "dungeon": "Fire Temple", + "room": "2", + "hot": "true", + "exits": { + "Fire Temple Entrance Chamber North": "True", + "Fire Temple Boss Door Room": " + logic_fewer_tunic_requirements or can_use(Goron_Tunic)", + } + }, + { + "region_name": "Fire Temple Boss Door Room", + "dungeon": "Fire Temple", + "room": "2", + "locations": { + "Fire Temple Near Boss Chest" : "can_press_floor_switch" + }, + "exits": { + "Fire Temple Boss Door Room Entrance": "True", + "Fire Temple Boss Door Room Hookshot Platform", " + can_use(Hover_Boots) or can_use(Hookshot) + or (can_climb(200) and + ((damage_multiplier != 'ohko' and damage_multiplier != 'quadruple') + or Fairy or can_use(Nayrus_Love)))", + # I don't know why I can't seem to jump between the stone and boss platform as child + "Fire Temple Boss Door Room Boss Platform", " + ('Fire Temple Boss Door Stone' and is_adult) + or (logic_fire_boss_door_jump and can_climb(97.75)) or can_use(Hover_Boots) or + (can_climb(200) and + ((damage_multiplier != 'ohko' and damage_multiplier != 'quadruple') + or Fairy or can_use(Nayrus_Love)))", + "Fire Temple Flame Maze": "False" + } + }, + { + "region_name": "Fire Temple Boss Door Room Hookshot Platform", + "dungeon": "Fire Temple", + "room": "2", + "locations": { + "Fairy Pot": "has_bottle and can_climb(100)" + }, + "exits": { + "Fire Temple Boss Door Room": " + can_use(Hover_Boots) or (can_climb(100) and + ((damage_multiplier != 'ohko' and damage_multiplier != 'quadruple') + or Fairy or can_use(Nayrus_Love)))", + "Fire Temple Boss Door Room Boss Platform", "can_use(Hover_Boots)", + } + }, + { + "region_name": "Fire Temple Boss Door Room Boss Platform", + "dungeon": "Fire Temple", + "room": "2", + "hot": "true", + "exits": { + "Fire Temple Volvagia Arena": "Boss_Key_Fire_Temple", + "Fire Temple Boss Door Room": " + (logic_fewer_tunic_requirements or can_use(Goron_Tunic)) and + (('Fire Temple Boss Door Stone' and is_adult) + or can_climb(100) or can_use(Hover_Boots))", + } + }, + { + "region_name": "Fire Temple Flare Dancer Treasure Room", + "dungeon": "Fire Temple", + "room": "3", + "events": { + "Fire Temple Room 3 Enemies": " + " + #Flare Dancer + }, + "locations": { + "Fire Temple Flare Dancer Chest": "'Fire Temple Room 3 Enemies' and (can_climb(80) or can_use(Hookshot))" + }, + "exits": { + "Fire Temple Lower Floor Tile Room": "'Fire Temple Room 3 Enemies' or barred_door" + "Fire Temple Two-Sided Cell": "'Fire Temple Room 3 Enemies' or barred_door", + } + }, + { + "region_name": "Fire Temple Ascent to Stone Maze", + "dungeon": "Fire Temple", + "room": "4", + "exits": { + "Fire Temple Flame Pillar Elevator Top West": "Still_a_key", + "Fire Temple Ascent to Stone Maze Top": " + can_climb(100) and can_use_projectile and + (logic_fire_strength or Progressive_Strength_Upgrade or can_climb(120))", + "Fire Temple Ascent to Stone Maze Rear": "'Fire Temple Room 4 Floor Switch'" + } + }, + { + "region_name": "Fire Temple Ascent to Stone Maze Top", + "dungeon": "Fire Temple", + "room": "4", + "exits": { + "Fire Temple Ascent to Stone Maze": "True", + "Fire Temple Stone Maze": "True" + } + }, + { + "region_name": "Fire Temple Ascent to Stone Maze Rear", + "dungeon": "Fire Temple", + "room": "4", + "events": { + "Fire Temple Room 4 Floor Switch": "can_press_floor_switch" + }, + "locations": { + "Fire Temple Boulder Maze Shortcut Chest": "'Fire Temple Room 4 Floor Switch'" + }, + "exits": { + "Fire Temple Ascent to Stone Maze": "'Fire Temple Room 4 Floor Switch'", + "Fire Temple Stone Maze Shortcut": "True" + } + }, + { + "region_name": "Fire Temple Stone Maze", + "dungeon": "Fire Temple", + "room": "5", + "locations": { + "Fire Temple Boulder Maze Lower Chest": "can_press_floor_switch", + "Fire Temple GS Boulder Maze": " + has_explosives and (is_adult or can_use(Boomerang) or can_use(Hookshot))", #Height + }, + "exits": { + "Fire Temple Stone Maze Upper", "can_climb(140)", + "Fire Temple Ascent to Stone Maze Top": "True", + "Fire Temple Eastern Shaft": "Small_Key_Fire_Temple", + "Fire Temple Stone Maze Side Room": "True" + } + }, + { + "region_name": "Fire Temple Stone Maze Upper", + "dungeon": "Fire Temple", + "room": "5", + "events": { + "Fire Temple Room 5 Upper Cage": "can_press_floor_switch" + } + "locations": { + "Fire Temple Boulder Maze Upper Chest": "'Fire Temple Room 5 Upper Cage'" + }, + "exits": { + "Fire Temple Stone Maze", "True", + "Fire Temple Stone Maze Shortcut", "has_explosives", + "Fire Temple Stone Maze Top", " + can_use(Scarecrow) or (logic_fire_scarecrow and can_use(Longshot))" + "Fire Temple Lava Grate Room North": "True", + "Fire Temple Stone Maze Side Room": "True" + } + }, + { + "region_name": "Fire Temple Stone Maze Shortcut", + "dungeon": "Fire Temple", + "room": "5", + "exits": { + "Fire Temple Ascent to Stone Maze Rear": "True", + "Fire Temple Stone Maze Upper": " + at('Fire Temple Stone Maze Upper', has_explosives)" + } + }, + { + "region_name": "Fire Temple Stone Maze Top", + "dungeon": "Fire Temple", + "room": "5", + "exits": { + "Fire Temple Stone Maze Upper", "True", + "Fire Temple Stone Maze", "True", + "Fire Temple Ascent to Eastern Tower": "True", + } + }, + { + "region_name": "Fire Temple Eastern Shaft", + "dungeon": "Fire Temple", + "room": "6", + "exits": { + "Fire Temple Stone Maze": "Still_a_key", + "Fire Temple Lava Grate Room South": "Small_Key_Fire_Temple", + "Fire Temple Lava Grate Room East": "can_use(Bow) or can_use(Slingshot) or barred_door", + "Fire Temple Big Lava Room": "can_fall", + "Fire Temple Eastern Tower": "False" + } + }, + { + "region_name": "Fire Temple Ascent to Eastern Tower", + "dungeon": "Fire Temple", + "room": "7", + "locations": { + "Fire Temple GS Scarecrow Climb": "Kill the skulltula" + } + "exits": { + "Fire Temple Stone Maze Top": "True", + "Fire Temple Eastern Tower": "True" + } + }, + { + "region_name": "Fire Temple Eastern Tower", + "dungeon": "Fire Temple", + "room": "8", + "locations": { + "Fire Temple Scarecrow Chest": "can_press_floor_switch", + "Fire Temple GS Scarecrow Top": "can_use_projectile" + }, + "exits": { + "Fire Temple Ascent to Eastern Tower": "True", + "Fire Temple Eastern Shaft": "can_fall" + } + }, + { + "region_name": "Fire Temple Hallway to Flame Maze", + "dungeon": "Fire Temple", + "room": "9", + "exits": { + "Fire Temple Flame Maze East": "True", + "Fire Temple Lava Grate Room West": "Still_a_key" + } + }, + { + "region_name": "Fire Temple Flame Maze East", + "dungeon": "Fire Temple", + "room": "10", + "exits": { + "Fire Temple Hallway to Flame Maze": "True", + "Fire Temple Flame Maze": "True", + "Fire Temple Flame Maze Ledge": "can_use(Hover_Boots)" + } + }, + { + "region_name": "Fire Temple Flame Maze", + "dungeon": "Fire Temple", + "room": "10", + "exits": { + "Fire Temple Boss Door Room": "'Fire Temple Boss Door Stone' and can_fall", + "Fire Temple Center of Flame Maze": "Small_Key_Fire_Temple", + "Fire Temple Flame Maze Side Room": "True", + "Fire Temple Flame Maze East": "can_climb(70)", + "Fire Temple Flame Maze Ledge": "'Fire Temple Flame Maze Ceiling Stone' and can_climb(100)", + "Fire Temple Flame Maze North": "logic_fire_flame_maze", + "Fire Temple Flame Maze Northeast": "True", + "Fire Temple Flame Maze Ceiling": "False", + } + }, + { + "region_name": "Fire Temple Flame Maze Northeast", + "dungeon": "Fire Temple", + "room": "10", + "exits": { + "Fire Temple Flame Maze Side Room": "True", + "Fire Temple Flame Maze": "True", + "Fire Temple Flame Maze North": "logic_fire_flame_maze", + } + }, + { + "region_name": "Fire Temple Flame Maze Ledge", + "dungeon": "Fire Temple", + "room": "10", + "events": { + "Fire Temple Boss Door Stone": "can_use(Megaton_Hammer)" + } + "exits": { + "Fire Temple Center of Flame Maze East": "can_use(Megaton_Hammer) or barred_door", + "Fire Temple Flame Maze": "True", + "Fire Temple Flame Maze Northeast": "True", + } + }, + { + "region_name": "Fire Temple Flame Maze North", + "dungeon": "Fire Temple", + "room": "10", + "exits": { + "Fire Temple Center of Flame Maze": "True", + "Fire Temple Flame Maze West": "can_press_floor_switch and can_climb(40)", + "Fire Temple Flame Maze": "logic_fire_flame_maze", + "Fire Temple Flame Maze Northeast": "logic_fire_flame_maze" + } + }, + { + "region_name": "Fire Temple Flame Maze West", + "dungeon": "Fire Temple", + "room": "10", + "exits": { + "Fire Temple Flame Maze North": "False", + "Fire Temple Flare Dancer Elevator Room": "has_explosives" + } + }, + { + "region_name": "Fire Temple Flame Maze Ceiling", + "dungeon": "Fire Temple", + "room": "10", + "events": { + "Fire Temple Flame Maze Ceiling Stone": "can_use(Megaton_Hammer)" + } + "exits": { + "Fire Temple Flame Maze": "'Fire Temple Flame Maze Ceiling Stone' and can_fall", + "Fire Temple Stone Stairway Bottom": "True" + } + }, + { + "region_name": "Fire Temple Center of Flame Maze", + "dungeon": "Fire Temple", + "room": "11", + "locations": { + "Fire Temple Highest Goron Chest": "'Fire Temple Room 11 Rusted Switch'" + } + "exits": { + "Fire Temple Flame Maze": "still_a_key", + "Fire Temple Flame Maze North": "True", + "Fire Temple Center of Flame Maze West": "(can_play(Song_of_Time) and can_climb(100)) or can_climb(180)", + "Fire Temple Center of Flame Maze East": "(can_play(Song_of_Time) and can_climb(100)) or can_climb(180)" + } + }, + { + "region_name": "Fire Temple Center of Flame Maze West", + "dungeon": "Fire Temple", + "room": "11", + "events": { + "Fire Temple Room 11 Rusted Switch": " + can_use(Megaton_Hammer) and (can_play(Song_of_Time or logic_rusted_switches)" + } + "exits": { + "Fire Temple Center of Flame Maze": "True", + "Fire Temple Center of Fire Wall East": " + can_climb(100) or (can_play(Song_of_Time) and can_climb(80)) or can_use(Hover_Boots)", + "Fire Temple Western Tower": "False" + } + }, + { + "region_name": "Fire Temple Center of Flame Maze East", + "dungeon": "Fire Temple", + "room": "11", + "exits": { + "Fire Temple Center of Flame Maze": "True", + "Fire Temple Center of Fire Wall West": " + can_climb(100) or (can_play(Song_of_Time) and can_climb(63)) or can_use(Hover_Boots)", + "Fire Temple Flame Maze Ledge": "True", + "Fire Temple Western Tower": "False" + } + }, + { + "region_name": "Fire Temple Ascent to Western Tower", + "dungeon": "Fire Temple", + "room": "12", + "exits": { + "Fire Temple Western Tower": "can_use_projectile", + "Fire Temple Flare Dancer Elevator Top": "True" + } + }, + { + "region_name": "Fire Temple Western Tower", + "dungeon": "Fire Temple", + "room": "13", + "locations": { + "Fire Temple Megaton Hammer Chest": "can_press_floor_switch and can_climb(60)" + } + "exits": { + "Fire Temple Ascent to Western Tower": "True", + "Fire Temple Western Tower Under Stone": "can_use(Megaton_Hammer)", + "Fire Temple Center of Flame Maze": "can_fall" + #It invisibly pushes you into the bottom, but if you really try you can land on the sides + "Fire Temple Center of Flame Maze West": "can_fall" + "Fire Temple Center of Flame Maze East": "can_fall" + } + }, + { + "region_name": "Fire Temple Western Tower Under Stone", + "dungeon": "Fire Temple", + "room": "13", + "exits": { + "Fire Temple Western Tower": "can_climb(220) and + at('Fire Temple Western Tower', can_use(Megaton_Hammer))", + "Fire Temple Stone Stairway": "can_use(Megaton_Hammer)" + } + }, + { + "region_name": "Fire Temple Stone Stairway", + "dungeon": "Fire Temple", + "room": "14", + "events": { + "Fire Temple Stone Stairs": "can_use(Megaton_Hammer)" + } + "exits": { + "Fire Temple Western Tower Under Stone": "True", + "Fire Temple Stone Stairway Bottom": "'Fire Temple Stone Stairs'" + "Fire Temple Flame Maze Ceiling": "'Fire Temple Stone Stairs' and (True or barred_door)" + } + }, + { + "region_name": "Fire Temple Stone Stairway Bottom", + "dungeon": "Fire Temple", + "room": "14", + #If the stairs aren't lowered then you can drop into an unloaded Flame Maze + "exits": { + "Fire Temple Stone Stairway": "'Fire Temple Stone Stairs' and can_climb(100)", + "Fire Temple Flame Maze Ceiling": "can_hold_down_switch or barred_door" + } + }, + { + "region_name": "Fire Temple Combat Room", + "dungeon": "Fire Temple", + "room": "15", + "events": { + "Fire Temple Room 15 Enemies": " + " + # + }, + "exits": { + "Fire Temple Entrance Chamber": "Still_a_key", + "Fire Temple Lower Floor Tile Room": " + 'Fire Temple Room 15 Enemies' or barred_door" + } + }, + { + "region_name": "Fire Temple Lava Grate Room South", + "dungeon": "Fire Temple", + "room": "16", + "hot": "true", + "exits": { + "Fire Temple Eastern Shaft": "Still_a_key", + "Fire Temple Lava Grate Room": "(logic_fewer_tunic_requirements or can_use(Goron_Tunic))", + } + }, + { + "region_name": "Fire Temple Lava Grate Room", + "dungeon": "Fire Temple", + "room": "16", + "exits": { + "Fire Temple Lava Grate Room South": "True", + "Fire Temple Lava Grate Room North": "can_climb(100)", + "Fire Temple Lava Grate Room West": "can_climb(100)", + "Fire Temple Lava Grate Room Map Cage": "can_climb(100)" + } + }, + { + "region_name": "Fire Temple Lava Grate Room North", + "dungeon": "Fire Temple", + "room": "16", + "hot": "true", + "exits": { + "Fire Temple Stone Maze Upper": "True", + "Fire Temple Lava Grate Room Map Cage": "can_climb(100)", + "Fire Temple Lava Grate Room": "(logic_fewer_tunic_requirements or can_use(Goron_Tunic))", + } + }, + { + "region_name": "Fire Temple Lava Grate Room Map Cage", + "dungeon": "Fire Temple", + "room": "16", + "locations": { + "Fire Temple Map Chest": "True" + }, + "exits": { + "Fire Temple Lava Grate Room East": "True", + "Fire Temple Lava Grate Room South": "can_climb(140)", + "Fire Temple Lava Grate Room North": "can_climb(240)", + } + }, + { + "region_name": "Fire Temple Lava Grate Room East", + "dungeon": "Fire Temple", + "room": "16", + "hot": "true", + "exits": { + "Fire Temple Eastern Shaft": "True", + "Fire Temple Lava Grate Room Map Cage", "True" + } + }, + { + "region_name": "Fire Temple Lava Grate Room West", + "dungeon": "Fire Temple", + "room": "16", + "hot": "true", + "exits": { + "Fire Temple Lava Grate Room": "(logic_fewer_tunic_requirements or can_use(Goron_Tunic))", + "Fire Temple Hallway to Flame Maze": "Small_Key_Fire_Temple" + } + }, + { + "region_name": "Fire Temple Two-Sided Cell South", + "dungeon": "Fire Temple", + "room": "17", + "exits": { + "Fire Temple Entrance Chamber": "True", + "Fire Temple Two-Sided Cell": "'Fire Temple Room 17 Rusted Switch'" + } + }, + { + "region_name": "Fire Temple Two-Sided Cell", + "dungeon": "Fire Temple", + "room": "17", + "events": { + "Fire Temple Room 17 Rusted Switch": "can_use(Megaton_Hammer)" + }, + "locations": { + "Fire Temple Boss Key Chest": "'Fire Temple Room 17 Rusted Switch'" + }, + "exits": { + "Fire Temple Two-Sided Cell South": "'Fire Temple Room 17 Rusted Switch'", + "Fire Temple Flare Dancer Treasure Room": "True" + } + }, + { + "region_name": "Fire Temple Lower Floor Tile Room", + "dungeon": "Fire Temple", + "room": "18", + "locations": { + "Fire Temple GS Boss Key Loop": "Kill the skulltula", + }, + "exits": { + "Fire Temple Flare Dancer Treasure Room": "True", + "Fire Temple Combat Room": "True" + } + }, + { + "region_name": "Fire Temple High Floor Tile Room", + "dungeon": "Fire Temple", + "room": "19", + "locations": { + "Fire Temple GS High Floor Tile Room": "is_adult or can_use(Boomerang)" + }, + "exits": { + "Fire Temple Big Lava Room": "True" + } + }, + { + "region_name": "Fire Temple Northern Cell", + "dungeon": "Fire Temple", + "room": "20", + "locations": { + "Fire Temple Big Lava Room Lower Open Door Chest": "can_press_floor_switch" + }, + "exits": { + "Fire Temple Big Lava Room": "True" + } + }, + { + "region_name": "Fire Temple Flame Pillar Elevator Room", + "dungeon": "Fire Temple", + "room": "21", + "hot_room": "true", + "exits": { + "Fire Temple Big Lava Room": "Still_a_key", + #If you were to door rando in from a non-hot room, there is enough time to hookshot up and push the block + "Fire Temple Flame Pillar Elevator Top": " + (can_use(Hookshot) and logic_fewer_tunic_requirements) or can_use(Goron_Tunic)" + } + }, + { + "region_name": "Fire Temple Flame Pillar Elevator Top", + "dungeon": "Fire Temple", + "room": "21", + "exits": { + "Fire Temple Flame Pillar Elevator Room": " + can_fall and (logic_fewer_tunic_requirements or can_use(Goron_Tunic))", + "Fire Temple Flame Pillar Elevator Top West": "True" + } + }, + { + "region_name": "Fire Temple Flame Pillar Elevator Top West", + "dungeon": "Fire Temple", + "room": "21", + "hot_room": "true", + "exits": { + "Fire Temple Flame Pillar Elevator Top": "True", + "Fire Temple Ascent to Stone Maze": "Small_Key_Fire_Temple" + } + }, + { + "region_name": "Fire Temple Southern Cell", + "dungeon": "Fire Temple", + "room": "22", + "locations": { + "Fire Temple Big Lava Room Blocked Door Chest": "can_press_floor_switch" + }, + "exits": { + "Fire Temple Big Lava Room": "True" + } + }, + { + "region_name": "Fire Temple Stone Maze Side Room", + "dungeon": "Fire Temple", + "room": "23", + "locations": { + "Fire Temple Boulder Maze Side Room Chest": "can_press_floor_switch" + }, + "exits": { + "Fire Temple Stone Maze": "True" + } + }, + { + "region_name": "Fire Temple Flare Dancer Elevator Room", + "dungeon": "Fire Temple", + "room": "24", + "events": { + "Fire Temple Room 24 Enemies": " + " + #Flare Dancer + }, + "exits": { + "Fire Temple Flame Maze West": "'Fire Temple Room 24 Enemies' or barred_door", + "Fire Temple Flare Dancer Elevator Top": "'Fire Temple Room 24 Enemies'" + } + }, + { + "region_name": "Fire Temple Flare Dancer Elevator Top", + "dungeon": "Fire Temple", + "room": "24", + "exits": { + "Fire Temple Flare Dancer Elevator Room": "True", + "Fire Temple Ascent to Western Tower": "True" + } + }, + { + "region_name": "Fire Temple Flame Maze Side Room", + "dungeon": "Fire Temple", + "room": "25", + "locations": { + "Fire Temple Compass Chest": "True" + } + "exits": { + "Fire Temple Flame Maze Northeast": "True" + } + } +] \ No newline at end of file diff --git a/data/Scenes/Dungeons/Forest Temple MQ.json b/data/Scenes/Dungeons/Forest Temple MQ.json new file mode 100644 index 000000000..d92012caf --- /dev/null +++ b/data/Scenes/Dungeons/Forest Temple MQ.json @@ -0,0 +1,457 @@ +[ + { + "region_name": "Forest Temple Entrance", + "dungeon": "Forest Temple", + "room": "0", + "locations": { + "Forest Temple MQ First Room Chest": " + can_press_floor_switch and + (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))" + }, + "exits": { + "Sacred Forest Meadow": "True", + "Forest Temple Hall to Lobby": "True" + } + }, + { + "region_name": "Forest Temple Hall to Lobby", + "dungeon": "Forest Temple", + "room": "1", + "locations": { + "Forest Temple MQ GS First Hallway": "can_use(Hookshot) or can_use(Boomerang)" + }, + "exits": { + "Forest Temple Entrance": "True", + "Forest Temple Lobby": "Small_Key_Forest_Temple" + } + }, + { + "region_name": "Forest Temple Lobby", + "dungeon": "Forest Temple", + "room": "2", + "events": { + "Forest Temple Meg": "'Forest Temple Amy' and 'Forest Temple Joelle' and 'Forest Temple Beth' and can_use(Bow)" + }, + "exits": { + "Forest Temple Hall to Lobby": "Still_a_key", + "Forest Temple Hall to Poe Puzzle Room": "can_climb(198)", + "Forest Temple Hall to Miniboss Room": "can_climb(70)", + "Forest Temple Hall to Block Push Room": "can_climb(48)", + "Forest Temple East Courtyard": "can_use(Bow) or can_use(Slingshot) or barred_door", + "Forest Temple West Courtyard": "can_use(Bow) or can_use(Slingshot) or barred_door", + "Forest Temple Basement": "'Forest Temple Meg'" + } + }, + { + "region_name": "Forest Temple Hall to Miniboss Room", + "dungeon": "Forest Temple", + "room": "4", + "exits": { + "Forest Temple Lobby": "True", + "Forest Temple Miniboss Room": "is_child or can_play(Song_of_Time)" + } + }, + { + "region_name": "Forest Temple Hall to Block Push Room", + "dungeon": "Forest Temple", + "room": "5", + "events": { + "Forest Temple Room 5 Enemies": " + " + #Stalfos + } + "exits": { + "Forest Temple Lobby": "'Forest Temple Room 5 Enemies' or barred_door", + "Forest Temple Block Push Room": "'Forest Temple Room 5 Enemies' or barred_door" + } + }, + { + "region_name": "Forest Temple Miniboss Room", + "dungeon": "Forest Temple", + "room": "6", + "events": { + "Forest Temple Room 6 Enemies Wave 1": " + is_adult or can_use(Dins_Fire) or + can_use(Sticks) or can_use(Slingshot) or Kokiri_Sword" + #Wolfos + } + "locations": { + "Forest Temple MQ Wolfos Chest": "'Forest Temple Room 6 Enemies Wave 1'", + "Fairy Pot": "has_bottle" + }, + "exits": { + "Forest Temple Hall to Miniboss Room": " + (is_child or can_play(Song_of_Time) and + ('Forest Temple Room 6 Enemies Wave 1' or barred_door)" + } + }, + { + "region_name": "Forest Temple Miniboss Room Upper", + "dungeon": "Forest Temple", + "room": "6", + "events": { + "Forest Temple Room 6 Enemies Wave 2": " + is_adult or Kokiri_Sword" + #Stalfos + } + "locations": { + "Forest Temple MQ Bow Chest": "'Forest Temple Room 6 Enemies Wave 2'" + }, + "exits": { + "Forest Temple Joelles Room": "'Forest Temple Room 6 Enemies Wave 2' or barred_door", + "Forest Temple Compass Room": "'Forest Temple Room 6 Enemies Wave 2' or barred_door" + } + }, + { + "region_name": "Forest Temple East Courtyard", + "dungeon": "Forest Temple", + "room": "7", + "events": { + "Forest Temple Drain Well": "can_use(Bow) or can_use(Slingshot)" + }, + "locations": { + "Forest Temple MQ GS Raised Island Courtyard": "can_use(Hookshot) or can_use(Boomerang)", + "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 Lobby": "True", + "Forest Temple Well Tunnel": " + 'Forest Temple Drain Well' or can_use(Iron_Boots) or (Progressive_Scale, 2)", + "Forest Temple East Courtyard Balcony": " + can_use(Hookshot) and + (can_use(Longshot) or can_use(Hover_Boots) + or (can_play(Song_of_Time) and can_climb(100))or + logic_forest_vines)", + "Forest Temple East Courtyard Raised Island": "can_use(Longshot)" + #Maybe the chest might be hookshotable if it is big. + } + }, + { + "region_name": "Forest Temple East Courtyard Raised Island", + "dungeon": "Forest Temple", + "room": "7", + "locations": { + "Forest Temple MQ Raised Island Courtyard Lower Chest": "True", + "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 East Courtyard": "True", + "Forest Temple East Courtyard Door Ledge": "can_play(Song_of_Time) and can_climb(60)" + } + }, + { + "region_name": "Forest Temple East Courtyard Door Ledge", + "dungeon": "Forest Temple", + "room": "7", + "exits": { + "Forest Temple Falling Room": "True", + "Forest Temple East Courtyard Raised Island": "True", + "Forest Temple East Courtyard": "True" + } + }, + { + "region_name": "Forest Temple East Courtyard Balcony", + "dungeon": "Forest Temple", + "room": "7", + "locations": { + "Forest Temple MQ Raised Island Courtyard Upper Chest": "True" + }, + "exits": { + "Forest Temple East Courtyard": "True", + "Forest Temple Balcony Room": "True", + "Forest Temple East Courtyard Raised Island": " + logic_forest_outdoors_ledge and can_use(Hover_Boots)", + "Forest Temple East Courtyard Door Ledge": "False" + } + }, + { + "region_name": "Forest Temple West Courtyard", + "dungeon": "Forest Temple", + "room": "8", + "locations": { + "Forest Temple MQ GS Level Island Courtyard": "is_adult or can_child_attack" + }, + "exits": { + "Forest Temple Lobby": "True", + "Forest Temple Well Tunnel": " + 'Forest Temple Drain Well' or can_use(Iron_Boots) or (Progressive_Scale, 2) + or (logic_forest_well_swim and can_use(Hookshot))", + "Forest Temple Balcony Room": "can_use(Fire_Arrows)", + "Forest Temple West Courtyard Ledge": "False" + } + }, + { + "region_name": "Forest Temple West Courtyard Ledge", + "dungeon": "Forest Temple", + "room": "8", + "locations": { + "Forest Temple GS Level Island Courtyard": "can_use(Hookshot) or can_use(Boomerang)" + }, + "exits": { + "Forest Temple West Courtyard": "True", + "Forest Temple Block Push Room North Ledge": "True", + "Forest Temple Enemy Side Room": "True", + "Forest Temple Blue Bubble Room under Boss Key Room": "True" + } + }, + { + "region_name": "Forest Temple Enemy Side Room", + "dungeon": "Forest Temple", + "room": "18", + "events": { + "Forest Temple Room 18 Enemies": " + Defeat all enemies" + #ReDead + } + "locations": { + "Forest Temple MQ Redead Chest": "'Forest Temple Room 18 Enemies'" + }, + "exits": { + "Forest Temple West Courtyard Ledge": "'Forest Temple Room 18 Enemies' or barred_door" + } + }, + { + "region_name": "Forest Temple Well Tunnel", + "dungeon": "Forest Temple", + "room": "9", + "locations": { + "Forest Temple MQ Well Chest": "'Forest Temple Drain Well'", + "Forest Temple MQ GS Well": " + (can_use(Iron_Boots) and can_use(Hookshot)) + or ('Forest Temple Drain Well' and (is_adult or can_child_attack))", + }, + "exits": { + "Forest Temple East Courtyard": "True", + "Forest Temple West Courtyard": "True" + } + }, + { + "region_name": "Forest Temple Balcony Room", + "dungeon": "Forest Temple", + "room": "10", + "exits": { + "Forest Temple West Courtyard": "has_fire_source_with_torch or can_use(Bow)" + "Forest Temple East Courtyard Balcony": "True" + } + }, + { + "region_name": "Forest Temple Block Push Room", + "dungeon": "Forest Temple", + "room": "11", + "events": { + "Forest Temple Room 6 Crystal Switch": "logic_forest_mq_block_puzzle and has_bombchus" + } + "locations": { + "Forest Temple MQ GS Block Push Room": "is_adult or can_child_attack" + }, + "exits": { + "Forest Temple Hall to Block Push Room": "True", + "Forest Temple Block Push Room Lower Ledge": " + can_use(Hover_Boots) or Progressive_Strength_Upgrade + or ('Forest Temple Room 6 Crystal Switch' and can_use(Hookshot))", + #end of the road for child forest. + "Forest Temple Block Push Room North Ledge": " + ((logic_forest_mq_hallway_switch + or at('Forest Temple Block Push Room North Ledge', true)) and can_use(Hookshot)) + or (at('Forest Temple Block Push Room North Ledge', true) and can_climb(140))", + "Forest Temple Block Push Room Top": "Progressive_Strength_Upgrade and can_climb(100)" + } + }, + { + "region_name": "Forest Temple Block Push Room Lower Ledge", + "dungeon": "Forest Temple", + "room": "11", + "exits": { + "Forest Temple Block Push Room": "True", + "Forest Temple Block Push Room Upper Ledge": "Progressive_Strength_Upgrade", + "Forest Temple Block Push Room North Ledge": " + (can_use(Hover_Boots) and at('Forest Temple Block Push Room North Ledge', true))", + "Forest Temple Block Push Room Top": " + 'Forest Temple Room 6 Crystal Switch' and can_use(Hookshot) and can_climb(60)" + } + }, + { + "region_name": "Forest Temple Block Push Room Upper Ledge", + "dungeon": "Forest Temple", + "room": "11", + "events": { + "Forest Temple Room 6 Crystal Switch": " + can_use(Bow) or can_use(Slingshot) or can_use(Longshot)" + } + "exits": { + "Forest Temple Block Push Room": "True", + #Not sure if the jumpslash could be done as child if child was up there somehow + "Forest Temple Block Push Room North Ledge": " + at('Forest Temple Block Push Room North Ledge', true) and + (can_use(Hover_Boots) or (logic_forest_outside_backdoor and can_jumpslash))", + "Forest Temple Block Push Room Top": " + 'Forest Temple Room 6 Crystal Switch' and can_use(Hookshot)" + } + }, + { + "region_name": "Forest Temple Block Push Room North Ledge", + "dungeon": "Forest Temple", + "room": "11", + "exits": { + "Forest Temple West Courtyard Ledge": "True", + "Forest Temple Block Push Room": "True" + } + }, + { + "region_name": "Forest Temple Block Push Room Top", + "dungeon": "Forest Temple", + "room": "11", + "events": { + "Forest Temple Room 6 Crystal Switch": "can hit crystal switch" + } + "exits": { + "Forest Temple Block Push Room": "True", + "Forest Temple Block Push Room Upper Ledge": "True", + "Forest Temple Boss Key Room": "Small_Key_Forest_Temple" + } + }, + { + "region_name": "Forest Temple Boss Key Room", + "dungeon": "Forest Temple", + "room": "19", + #Note: In MQ the twisting flag is permanent, unlike vanilla. + "locations": { + "Forest Temple MQ Boss Key Chest": " + Straighten the room" + }, + "exits": { + "Forest Temple Block Push Room": "Still_a_key", + "Forest Temple Joelles Room": "Small_Key_Forest_Temple", + "Forest Temple Blue Bubble Room under Boss Key Room": " + Straighten the room" + } + }, + { + "region_name": "Forest Temple Blue Bubble Room under Boss Key Room", + "dungeon": "Forest Temple", + "room": "21", + "events": { + "Forest Temple Room 21 Enemies": " + " + # + } + "exits": { + "Forest Temple West Courtyard Ledge": "'Forest Temple Room 21 Enemies' or barred_door", + "Forest Temple Boss Key Room": "False" + } + }, + { + "region_name": "Forest Temple Joelles Room", + "dungeon": "Forest Temple", + "room": "12", + "events": { + "Forest Temple Joelle": "can_use(Bow)", + }, + "locations": { + "Forest Temple MQ Map Chest": "'Forest Temple Joelle'" + }, + "exits": { + "Forest Temple Miniboss Room Upper": "True", + "Forest Temple Boss Key Room": "Still_a_key" + } + }, + { + "region_name": "Forest Temple Compass Room", + "dungeon": "Forest Temple", + "room": "13", + "events": { + "Forest Temple Beth": "can_use(Bow)" + }, + "locations": { + "Forest Temple MQ Compass Chest": "'Forest Temple Beth'" + }, + "exits": { + "Forest Temple Miniboss Room Upper": "True", + "Forest Temple Green Bubble Hall and Turning Room": "Small_Key_Forest_Temple" + } + }, + { + "region_name": "Forest Temple Green Bubble Hall and Turning Room", + "dungeon": "Forest Temple", + "room": "20", + "exits": { + "Forest Temple Compass Room": "Still_a_key", + "Forest Temple Pink Lava Room": "Small_Key_Forest_Temple", + #Note: In MQ the twisting flag is permanent, unlike vanilla. + "Forest Temple Falling Room": " + Twist the room + at('Forest Temple Pink Lava Room', can_use(Bow) or can_use(Dins_Fire)" + } + }, + { + "region_name": "Forest Temple Pink Lava Room", + "dungeon": "Forest Temple", + "room": "14", + "exits": { + "Forest Temple Green Bubble Hall and Turning Room": "Still_a_key" + } + }, + { + "region_name": "Forest Temple Falling Room", + "dungeon": "Forest Temple", + "room": "15", + "locations": { + "Forest Temple MQ Falling Ceiling Room Chest": "can_press_floor_switch" + }, + "exits": { + "Forest Temple East Courtyard": "can_press_floor_switch or barred_door", + "Forest Temple Poe Puzzle Room": "Small_Key_Forest_Temple", + "Forest Temple Green Bubble Hall and Turning Room": "False" + } + }, + { + "region_name": "Forest Temple Poe Puzzle Room", + "dungeon": "Forest Temple", + "room": "16", + "events": { + "Forest Temple Amy": "can_use(Bow)" + }, + "exits": { + "Forest Temple Falling Room": "Still_a_key", + "Forest Temple Hall to Poe Puzzle Room": "'Forest Temple Amy' or barred_door" + } + }, + { + "region_name": "Forest Temple Hall to Poe Puzzle Room", + "dungeon": "Forest Temple", + "room": "3", + "exits": { + "Forest Temple Poe Puzzle Room": "True", + "Forest Temple Lobby": "True" + } + }, + { + "region_name": "Forest Temple Basement", + "dungeon": "Forest Temple", + "room": "17", + "locations": { + "Forest Temple MQ Basement Chest": "True" + } + "exits": { + "Forest Temple Lobby": "True", + "Forest Temple Basement Hall": "can_press_floor_switch and can hit a crystal switch on the ceiling" + } + }, + { + "region_name": "Forest Temple Basement Hall", + "dungeon": "Forest Temple", + "room": "17", + "exits": { + "Forest Temple Basement": " + at('Forest Temple Basement', can_press_floor_switch)", + "Phantom Ganon Arena": "Boss_Key_Forest_Temple" + } + } +] \ No newline at end of file diff --git a/data/Scenes/Dungeons/Forest Temple.json b/data/Scenes/Dungeons/Forest Temple.json new file mode 100644 index 000000000..55953f1d6 --- /dev/null +++ b/data/Scenes/Dungeons/Forest Temple.json @@ -0,0 +1,445 @@ +[ + { + "region_name": "Forest Temple Entrance", + "dungeon": "Forest Temple", + "room": "0", + "locations": { + "Forest Temple First Room Chest": "True", + "Forest Temple GS First Room": "can_use(Dins_Fire) or can_use_projectile" + }, + "exits": { + "Sacred Forest Meadow": "True", + "Forest Temple Hall to Lobby": "True" + } + }, + { + "region_name": "Forest Temple Hall to Lobby", + "dungeon": "Forest Temple", + "room": "1", + "exits": { + "Forest Temple Entrance": "True", + "Forest Temple Lobby": "True" + } + }, + { + "region_name": "Forest Temple Lobby", + "dungeon": "Forest Temple", + "room": "2", + "events": { + "Forest Temple Meg": "'Forest Temple Amy' and 'Forest Temple Joelle' and 'Forest Temple Beth' and can_use(Bow)" + }, + "locations": { + "Forest Temple GS Lobby": "can_use(Hookshot) or can_use(Boomerang)" + }, + "exits": { + "Forest Temple Hall to Lobby": "True", + "Forest Temple Hall to Poe Puzzle Room": "can_climb(198)", + "Forest Temple Hall to Miniboss Room": "can_climb(70)", + "Forest Temple Hall to Block Push Room": "can_climb(48) and Small_Key_Forest_Temple", + "Forest Temple East Courtyard": "can_use(Bow) or can_use(Slingshot) or barred_door", + "Forest Temple West Courtyard": "can_play(Song_of_Time) or is_child", + "Forest Temple Basement": "'Forest Temple Meg'" + } + }, + { + "region_name": "Forest Temple Hall to Miniboss Room", + "dungeon": "Forest Temple", + "room": "4", + "exits": { + "Forest Temple Lobby": "True", + "Forest Temple Miniboss Room": "True" + } + }, + { + "region_name": "Forest Temple Hall to Block Push Room", + "dungeon": "Forest Temple", + "room": "5", + "exits": { + "Forest Temple Lobby": "still_a_key", + "Forest Temple Block Push Room": "True" + } + }, + { + "region_name": "Forest Temple Miniboss Room", + "dungeon": "Forest Temple", + "room": "6", + "events": { + "Forest Temple Room 6 Enemies Wave 1": " + is_adult or Kokiri_Sword" + #Stalfos + } + "locations": { + "Forest Temple First Stalfos Chest": "'Forest Temple Room 6 Enemies Wave 1'", + "Fairy Pot": "has_bottle" + }, + "exits": { + "Forest Temple Hall to Miniboss Room": " + 'Forest Temple Room 6 Enemies Wave 1' or barred_door" + } + }, + { + "region_name": "Forest Temple Miniboss Room Upper", + "dungeon": "Forest Temple", + "room": "6", + "events": { + "Forest Temple Room 6 Enemies Wave 2": " + is_adult or Kokiri_Sword" + #Stalfos + } + "locations": { + "Forest Temple Bow Chest": "'Forest Temple Room 6 Enemies Wave 2'" + }, + "exits": { + "Forest Temple Joelles Room": "'Forest Temple Room 6 Enemies Wave 2' or barred_door", + "Forest Temple Compass Room": "'Forest Temple Room 6 Enemies Wave 2' or barred_door" + } + }, + { + "region_name": "Forest Temple East Courtyard", + "dungeon": "Forest Temple", + "room": "7", + "locations": { + "Forest Temple GS Raised Island Courtyard": " + logic_forest_outdoor_east_gs and can_use(Boomerang)", + "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 Lobby": "True", + "Forest Temple Well Tunnel": " + 'Forest Temple Drain Well' or can_use(Iron_Boots) or (Progressive_Scale, 2)", + #Longshot can grab some very high up vines to drain the well. + "Forest Temple East Courtyard Balcony": " + can_use(Longshot) or (logic_forest_vines and can_use(Hookshot))", + "Forest Temple East Courtyard Raised Island": "can_use(Hookshot)" + } + }, + { + "region_name": "Forest Temple East Courtyard Raised Island", + "dungeon": "Forest Temple", + "room": "7", + "locations": { + "Forest Temple GS Raised Island Courtyard": "can_use(Hookshot)" + }, + "exits": { + "Forest Temple East Courtyard": "True", + "Forest Temple East Courtyard Door Ledge": "False" + } + }, + { + "region_name": "Forest Temple East Courtyard Door Ledge", + "dungeon": "Forest Temple", + "room": "7", + "locations": { + "Forest Temple GS Raised Island Courtyard": " + can_use_projectile or can_use(Dins_Fire)" + }, + "exits": { + "Forest Temple Falling Room": "True", + "Forest Temple East Courtyard Raised Island": "True", + "Forest Temple East Courtyard": "True" + } + }, + { + "region_name": "Forest Temple East Courtyard Balcony", + "dungeon": "Forest Temple", + "room": "7", + "events": { + "Forest Temple Drain Well": "can_press_floor_switch" + }, + "locations": { + "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 East Courtyard": "True", + "Forest Temple Balcony Room": "True", + "Forest Temple East Courtyard Raised Island": " + logic_forest_outdoors_ledge and can_use(Hover_Boots)", + "Forest Temple East Courtyard Door Ledge": " + logic_forest_scarecrow and can_use(Hover_Boots) and can_use(Scarecrow)" + } + }, + { + "region_name": "Forest Temple West Courtyard", + "dungeon": "Forest Temple", + "room": "8", + "locations": { + "Forest Temple GS Level Island Courtyard": "can_use(Longshot)", + "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 Lobby": "True", + "Forest Temple Well Tunnel": " + 'Forest Temple Drain Well' or can_use(Iron_Boots) or (Progressive_Scale, 2) + or (logic_forest_well_swim and can_use(Hookshot))", + "Forest Temple Balcony Room": "True", + "Forest Temple West Courtyard Ledge": "False" + } + }, + { + "region_name": "Forest Temple West Courtyard Ledge", + "dungeon": "Forest Temple", + "room": "8", + "locations": { + "Forest Temple GS Level Island Courtyard": "can_use(Hookshot) or can_use(Boomerang)", + "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 West Courtyard": "True", + "Forest Temple Block Push Room North Ledge": "True", + "Forest Temple Enemy Side Room": "True", + "Forest Temple Blue Bubble Room under Boss Key Room": "True" + } + }, + { + "region_name": "Forest Temple Enemy Side Room", + "dungeon": "Forest Temple", + "room": "18", + "events": { + "Forest Temple Room 18 Enemies": " + " + # + } + "locations": { + "Forest Temple Floormaster Chest": "'Forest Temple Room 18 Enemies'" + }, + "exits": { + "Forest Temple West Courtyard Ledge": "'Forest Temple Room 18 Enemies' or barred_door" + } + }, + { + "region_name": "Forest Temple Well Tunnel", + "dungeon": "Forest Temple", + "room": "9", + "locations": { + "Forest Temple Well Chest": "'Forest Temple Drain Well' or can_use(Iron_Boots)" + }, + "exits": { + "Forest Temple East Courtyard": "True", + "Forest Temple West Courtyard": "True" + } + }, + { + "region_name": "Forest Temple Balcony Room", + "dungeon": "Forest Temple", + "room": "10", + "events": { + "Forest Temple Room 10 Enemies": " + is_adult or + (has_explosives or + ((can_use(Boomerang) or Nuts or Buy_Deku_Shield) and + (Sticks or Kokiri_Sword or can_use(Slingshot))))" + } + "locations": { + "Forest Temple Map Chest": "'Forest Temple Room 10 Enemies'" + }, + "exits": { + "Forest Temple West Courtyard": "'Forest Temple Room 10 Enemies' or barred_door" + "Forest Temple East Courtyard Balcony": "'Forest Temple Room 10 Enemies' or barred_door" + } + }, + { + "region_name": "Forest Temple Block Push Room", + "dungeon": "Forest Temple", + "room": "11", + "exits": { + "Forest Temple Hall to Block Push Room": "True", + "Forest Temple Block Push Room Lower Ledge": "True", + #end of the road for child forest. No hovers and too short to climb push blocks + "Forest Temple Block Push Room North Ledge": "can_climb(140)", + "Forest Temple Block Push Room Top": "Progressive_Strength_Upgrade and can_climb(100)" + } + }, + { + "region_name": "Forest Temple Block Push Room Lower Ledge", + "dungeon": "Forest Temple", + "room": "11", + "exits": { + "Forest Temple Block Push Room": "True", + "Forest Temple Block Push Room Upper Ledge": "Progressive_Strength_Upgrade", + "Forest Temple Block Push Room North Ledge": "can_use(Hover_Boots)", + "Forest Temple Block Push Room Top": "False" + } + }, + { + "region_name": "Forest Temple Block Push Room Upper Ledge", + "dungeon": "Forest Temple", + "room": "11", + "locations": { + "Forest Temple Eye Switch Chest": "can_use(Bow) or can_use(Slingshot)" + }, + "exits": { + "Forest Temple Block Push Room": "True", + #Not sure if the jumpslash could be done as child if child was up there somehow + "Forest Temple Block Push Room North Ledge": " + can_use(Hover_Boots) or (logic_forest_outside_backdoor and can_jumpslash)", + "Forest Temple Block Push Room Top": "False" + } + }, + { + "region_name": "Forest Temple Block Push Room North Ledge", + "dungeon": "Forest Temple", + "room": "11", + "exits": { + "Forest Temple West Courtyard Ledge": "True", + "Forest Temple Block Push Room": "True" + } + }, + { + "region_name": "Forest Temple Block Push Room Top", + "dungeon": "Forest Temple", + "room": "11", + "exits": { + "Forest Temple Block Push Room": "True", + "Forest Temple Block Push Room Upper Ledge": "True", + "Forest Temple Boss Key Room": "Small_Key_Forest_Temple" + } + }, + { + "region_name": "Forest Temple Boss Key Room", + "dungeon": "Forest Temple", + "room": "19", + #Note: Room twists up again if you leave the temple + "locations": { + "Forest Temple Boss Key Chest": " + at('Forest Temple Block Push Room Top', can_use(Bow) or can_use(Slingshot))" + }, + "exits": { + "Forest Temple Block Push Room": "Still_a_key", + "Forest Temple Joelles Room": "Small_Key_Forest_Temple", + "Forest Temple Blue Bubble Room under Boss Key Room": " + at('Forest Temple Block Push Room Top', can_use(Bow) or can_use(Slingshot))" + } + }, + { + "region_name": "Forest Temple Blue Bubble Room under Boss Key Room", + "dungeon": "Forest Temple", + "room": "21", + "events": { + "Forest Temple Room 21 Enemies": " + Defeat all enemies" + } + "exits": { + "Forest Temple West Courtyard Ledge": "'Forest Temple Room 21 Enemies' or barred_door", + "Forest Temple Boss Key Room": "False" + } + }, + { + "region_name": "Forest Temple Joelles Room", + "dungeon": "Forest Temple", + "room": "12", + "events": { + "Forest Temple Joelle": "can_use(Bow)" + }, + "locations": { + "Forest Temple Red Poe Chest": "'Forest Temple Joelle'" + }, + "exits": { + "Forest Temple Miniboss Room Upper": "True", + "Forest Temple Boss Key Room": "Still_a_key" + } + }, + { + "region_name": "Forest Temple Compass Room", + "dungeon": "Forest Temple", + "room": "13", + "events": { + "Forest Temple Beth": "can_use(Bow)" + }, + "locations": { + "Forest Temple Blue Poe Chest": "'Forest Temple Beth'" + }, + "exits": { + "Forest Temple Miniboss Room Upper": "True", + "Forest Temple Green Bubble Hall and Turning Room": "Small_Key_Forest_Temple" + } + }, + { + "region_name": "Forest Temple Green Bubble Hall and Turning Room", + "dungeon": "Forest Temple", + "room": "20", + "exits": { + "Forest Temple Compass Room": "Still_a_key", + "Forest Temple Pink Lava Room": "Small_Key_Forest_Temple", + #Note: Room untwists if you leave the temple + "Forest Temple Falling Room": " + at('Forest Temple Pink Lava Room', can_use(Bow) or can_use(Dins_Fire)" + } + }, + { + "region_name": "Forest Temple Pink Lava Room", + "dungeon": "Forest Temple", + "room": "14", + "exits": { + "Forest Temple Green Bubble Hall and Turning Room": "Still_a_key" + } + }, + { + "region_name": "Forest Temple Falling Room", + "dungeon": "Forest Temple", + "room": "15", + "locations": { + "Forest Temple Falling Ceiling Room Chest": "True" + }, + "exits": { + "Forest Temple East Courtyard": "True", + "Forest Temple Poe Puzzle Room": "can_press_floor_switch or barred_door", + "Forest Temple Green Bubble Hall and Turning Room": "False" + } + }, + { + "region_name": "Forest Temple Poe Puzzle Room", + "dungeon": "Forest Temple", + "room": "16", + "events": { + "Forest Temple Amy": "can_use(Bow)" + }, + "exits": { + "Forest Temple Falling Room": "True", + "Forest Temple Hall to Poe Puzzle Room": "'Forest Temple Amy' or barred_door" + } + }, + { + "region_name": "Forest Temple Hall to Poe Puzzle Room", + "dungeon": "Forest Temple", + "room": "3", + "exits": { + "Forest Temple Poe Puzzle Room": "True", + "Forest Temple Lobby": "True" + } + }, + { + "region_name": "Forest Temple Basement", + "dungeon": "Forest Temple", + "room": "17", + "locations": { + "Forest Temple Basement Chest": "True", + "Forest Temple GS Basement": "can_use(Hookshot) or can_use(Boomerang)" + } + "exits": { + "Forest Temple Lobby": "True", + "Forest Temple Basement Hall": "can_press_floor_switch" + } + }, + { + "region_name": "Forest Temple Basement Hall", + "dungeon": "Forest Temple", + "room": "17", + "exits": { + "Forest Temple Basement": " + at('Forest Temple Basement', can_press_floor_switch)", + "Phantom Ganon Arena": "Boss_Key_Forest_Temple" + } + } +] \ No newline at end of file diff --git a/data/Scenes/Dungeons/Ganons Castle MQ.json b/data/Scenes/Dungeons/Ganons Castle MQ.json new file mode 100644 index 000000000..80558e190 --- /dev/null +++ b/data/Scenes/Dungeons/Ganons Castle MQ.json @@ -0,0 +1,409 @@ +[ + { + "region_name": "Ganons Castle Entrance", + "dungeon": "Ganons Castle", + "room": "0", + "events": { + "Ganons Castle Room 0 Enemies": " + " + #A bunch of enemies + }, + "exits": { + "Ganons Castle Grounds": "True", + "Ganons Castle Barrier Chamber": "'Ganons Castle Room 0 Enemies' or barred_door" + } + }, + { + "region_name": "Ganons Castle Barrier Chamber", + "dungeon": "Ganons Castle", + "room": "1", + "exits": { + "Ganons Castle Entrance": "True", + "Ganons Castle Forest Trial Combat Room": "True", + "Ganons Castle Fire Trial": "True", + "Ganons Castle Water Trial Red Ice Room": "True", + "Ganons Castle Shadow Trial": "True", + "Ganons Castle Spirit Trial Danger Room": "True", + "Ganons Castle Light Trial Enemy Room": "can_use(Golden_Gauntlets)", + "Ganons Tower 1F Entrance": " + (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 Water Trial Red Ice Room", + "dungeon": "Ganons Castle", + "room": "2", + "locations": { + "Ganons Castle MQ Water Trial Chest": "Blue_Fire", + "Blue Fire": "has_bottle and can hit that switch" + } + "exits": { + "Ganons Castle Barrier Chamber": "True", + "Ganons Castle Water Trial Red Ice Room Rear": "Blue_Fire" + } + }, + { + "region_name": "Ganons Castle Water Trial Red Ice Room Rear", + "dungeon": "Ganons Castle", + "room": "2", + "exits": { + "Ganons Castle Water Trial Red Ice Room": "Blue_Fire", + "Ganons Castle Water Trial Block Puzzle Room": "Small_Key_Ganons_Castle" + } + }, + { + "region_name": "Ganons Castle Water Trial Block Puzzle Room", + "dungeon": "Ganons Castle", + "room": "3", + "events": { + "Ganons Castle Room 3 Silver Rupees": "can_climb(100) and Blue_Fire" + }, + "exits": { + "Ganons Castle Water Trial Red Ice Room Rear": "can_climb(70) and Still_a_key", + "Ganons Castle Water Trial Block Puzzle Room Rear": "can_climb(100) and Blue_Fire" + } + }, + { + "region_name": "Ganons Castle Water Trial Block Puzzle Room Rear", + "dungeon": "Ganons Castle", + "room": "3", + "exits": { + "Ganons Castle Water Trial Block Puzzle Room": "Blue_Fire", + "Ganons Castle Water Barrier": "'Ganons Castle Room 3 Silver Rupees' or barred_door" + } + }, + { + "region_name": "Ganons Castle Water Barrier", + "dungeon": "Ganons Castle", + "room": "4", + "events": { + "Water Trial Clear": "can_use(Light_Arrows)" + }, + "exits": { + "Ganons Castle Water Trial Block Puzzle Room Rear": "True" + } + }, + { + "region_name": "Ganons Castle Forest Trial Combat Room", + "dungeon": "Ganons Castle", + "room": "5", + "events": { + "Ganons Castle Room 5 Enemies": " + " + #Stalfos + }, + "locations": { + "Ganons Castle MQ Forest Trial Freestanding Key": "can_use(Boomerang) or can_use(Hookshot)" + } + "exits": { + "Ganons Castle Barrier Chamber": "True", + "Ganons Castle Forest Trial Wind Room Front": "'Ganons Castle Room 5 Enemies' or barred_door" + } + }, + { + "region_name": "Ganons Castle Forest Trial Wind Room Front", + "dungeon": "Ganons Castle", + "room": "6", + "events": { + "Ganons Castle Room 6 Eye Switch": "can_use(Bow) or can_use(Slingshot)", + "Ganons Castle Room 6 Frozen Eye Switch": "can_use(Fire_Arrows)" + }, + "locations": { + "Ganons Castle MQ Forest Trial Eye Switch Chest": "'Ganons Castle Room 6 Eye Switch'" + } + "exits": { + "Ganons Castle Forest Trial Combat Room": "True", + "Ganons Castle Forest Trial Wind Room": "True" + } + }, + { + "region_name": "Ganons Castle Forest Trial Wind Room", + "dungeon": "Ganons Castle", + "room": "6", + "events": { + "Ganons Castle Room 6 Eye Switch": "can_use(Bow) or can_use(Slingshot)", + "Ganons Castle Room 6 Frozen Eye Switch": "can_use(Fire_Arrows)" + }, + "locations": { + "Ganons Castle MQ Forest Trial Eye Switch Chest": "'Ganons Castle Room 6 Eye Switch'", + "Ganons Castle MQ Forest Trial Frozen Eye Switch Chest": "'Ganons Castle Room 6 Frozen Eye Switch'" + } + "exits": { + "Ganons Castle Forest Trial Wind Room Front": " + ('Ganons Castle Room 6 Eye Switch' and can_use(Longshot)) + or (can_use(Hover_Boots) and can_climb(60))", + "Ganons Castle Forest Trial Wind Room Rear": "can_climb(80)" + } + }, + { + "region_name": "Ganons Castle Forest Trial Wind Room Rear", + "dungeon": "Ganons Castle", + "room": "6", + "events": { + "Ganons Castle Room 6 Eye Switch": "can_use(Bow) or can_use(Slingshot)", + "Ganons Castle Room 6 Frozen Eye Switch": "has_fire_source" + }, + "exits": { + "Ganons Castle Forest Trial Wind Room": "True", + "Ganons Castle Forest Barrier": " + can_play(Song_of_Time) or can_hold_down_switch or barred_door" + } + }, + { + "region_name": "Ganons Castle Forest Barrier", + "dungeon": "Ganons Castle", + "room": "7", + "events": { + "Forest Trial Clear": "can_use(Light_Arrows)" + }, + "exits": { + "Ganons Castle Forest Trial Wind Room Rear": "True" + } + }, + { + "region_name": "Ganons Castle Light Trial Boulder Room", + "dungeon": "Ganons Castle", + "room": "8", + "exits": { + "Ganons Castle Light Trial Lullaby Room": " + Still_a_key and (can_use(Hookshot) or can_climb(120) or + (logic_light_trial_mq and (damage_multiplier != 'ohko' or Fairy or can_use(Nayrus_Love))))", + "Ganons Castle Light Trial Fake Barrier": " + Small_Key_Ganons_Castle and (can_use(Hookshot) or can_climb(120) or + (logic_light_trial_mq and (damage_multiplier != 'ohko' or Fairy or can_use(Nayrus_Love))))" + }, + }, + { + "region_name": "Ganons Castle Light Trial Enemy Room", + "dungeon": "Ganons Castle", + "room": "9", + "events": { + "Ganons Castle Room 9 Enemies": " + " + }, + "exits": { + "Ganons Castle Barrier Chamber": "True", + "Ganons Castle Light Trial Lullaby Room": "'Ganons Castle Room 9 Enemies' or barred_door" + } + }, + { + "region_name": "Ganons Castle Light Trial Lullaby Room", + "dungeon": "Ganons Castle", + "room": "9", + "locations": { + "Ganons Castle MQ Light Trial Lullaby Chest": "can_play(Zeldas_Lullaby)" + } + "exits": { + "Ganons Castle Light Trial Enemy Room": "True", + "Ganons Castle Light Trial Boulder Room": "Small_Key_Ganons_Castle" + } + }, + { + "region_name": "Ganons Castle Light Trial Fake Barrier", + "dungeon": "Ganons Castle", + "room": "10", + "exits": { + "Ganons Castle Light Barrier": "logic_lens_castle or can_use(Lens_of_Truth)", + "Ganons Castle Light Trial Boulder Room": "Still_a_key" + } + }, + { + "region_name": "Ganons Castle Light Barrier", + "dungeon": "Ganons Castle", + "room": "11", + "events": { + "Light Trial Clear": "can_use(Light_Arrows)" + }, + "exits": { + "Ganons Castle Light Trial Fake Barrier": "True" + } + }, + { + "region_name": "Ganons Castle Shadow Trial", + "dungeon": "Ganons Castle", + "room": "12", + "events": { + "Ganons Castle Room 12 Silver Rupees": + (logic_lens_castle_mq or can_use(Lens_of_Truth)) + and (((can_use(Bow) and can_use(Hookshot)) and + (has_fire_source or logic_shadow_trial_mq or 'Ganons Castle Room 12 Eye Switch')) + or can_use(Hover_Boots))" + }, + "locations": { + "Ganons Castle MQ Shadow Trial Bomb Flower Chest": " + (can_use(Bow) and (can_use(Hookshot) or can_use(Hover_Boots))) or + (can_use(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)))" + }, + "exits": { + "Ganons Castle Barrier Chamber": "True", + "Ganons Castle Shadow Trial Switch Area": + (logic_lens_castle_mq or can_use(Lens_of_Truth)) + and (((can_use(Bow) and can_use(Hookshot)) and + (has_fire_source or logic_shadow_trial_mq or 'Ganons Castle Room 12 Eye Switch')) + or can_use(Hover_Boots))" + } + }, + { + "region_name": "Ganons Castle Shadow Trial Switch Area", + "dungeon": "Ganons Castle", + "room": "12", + "events": { + "Ganons Castle Room 12 Eye Switch": "can_use(Bow) or can_use(Slingshot)" + }, + "locations": { + "Ganons Castle MQ Shadow Trial Eye Switch Chest": " + 'Ganons Castle Room 12 Eye Switch'" + }, + "exits": { + "Ganons Castle Shadow Trial": " + (logic_lens_castle_mq or can_use(Lens_of_Truth)) + and (can_use(Longshot) or can_use(Hover_Boots))", + "Ganons Castle Shadow Trial Rear": " + logic_lens_castle_mq or can_use(Lens_of_Truth)" + } + }, + { + "region_name": "Ganons Castle Shadow Trial Rear", + "dungeon": "Ganons Castle", + "room": "12", + "exits": { + "Ganons Castle Shadow Trial Switch Area": " + logic_lens_castle_mq or can_use(Lens_of_Truth)", + "Ganons Castle Shadow Barrier": " + 'Ganons Castle Room 12 Silver Rupees' or barred_door" + } + }, + { + "region_name": "Ganons Castle Shadow Barrier", + "dungeon": "Ganons Castle", + "room": "13", + "events": { + "Shadow Trial Clear": "can_use(Light_Arrows)" + }, + "exits": { + "Ganons Castle Shadow Trial Rear": "True" + } + }, + { + "region_name": "Ganons Castle Fire Trial", + "dungeon": "Ganons Castle", + "room": "14", + "events": { + "Ganons Castle Room 14 Silver Rupees": " + can_use(Goron_Tunic) and can_use(Golden_Gauntlets) and + (can_use(Longshot) or can_use(Hover_Boots))" + }, + "exits": { + #Unlike the original, it can only be traversed one way and with all required items + "Ganons Castle Barrier Chamber": "False", + "Ganons Castle Fire Barrier": " + can_use(Goron_Tunic) and can_use(Golden_Gauntlets) and + (can_use(Longshot) or can_use(Hover_Boots)) and + 'Ganons Castle Fire Trial Silver Rupees'" + } + }, + { + "region_name": "Ganons Castle Fire Barrier", + "dungeon": "Ganons Castle", + "room": "15", + "events": { + "Fire Trial Clear": "can_use(Light_Arrows)" + }, + "exits": { + "Ganons Castle Fire Trial": "True" + } + }, + { + "region_name": "Ganons Castle Deku Scrubs", + "dungeon": "Ganons Castle", + "room": "16", + "locations": { + "Ganons Castle MQ Deku Scrub Center-Left": "can_stun_deku", + "Ganons Castle MQ Deku Scrub Center": "can_stun_deku", + "Ganons Castle MQ Deku Scrub Center-Right": "can_stun_deku", + "Ganons Castle MQ Deku Scrub Left": "can_stun_deku", + "Ganons Castle MQ Deku Scrub Right": "can_stun_deku", + "Free Fairies": "has_bottle" + } + "exits": { + "Ganons Castle Barrier Chamber": "True" + } + }, + { + "region_name": "Ganons Castle Spirit Trial Danger Room", + "dungeon": "Ganons Castle", + "room": "17", + "exits": { + "Ganons Castle Barrier Chamber": "True", + "Ganons Castle Spirit Trial Sun Switch Room Front": " + here((can_use(Bow) or logic_rusted_switches) and can_use(Megaton_Hammer)) or barred_door" + } + }, + { + "region_name": "Ganons Castle Spirit Trial Sun Switch Room Front", + "dungeon": "Ganons Castle", + "room": "18", + "events": { + "Ganons Castle Room 18 Door Crystal Switch": "has_bombchus" + } + "locations": { + "Ganons Castle MQ Spirit Trial First Chest": "True" + } + "exits": { + "Ganons Castle Spirit Trial Danger Room": "True", + "Ganons Castle Spirit Trial Sun Switch Room": + 'Ganons Castle Spirit Trial Door Crystal Switch' or barred_door" + } + }, + { + "region_name": "Ganons Castle Spirit Trial Sun Switch Room", + "dungeon": "Ganons Castle", + "room": "18", + "events": { + "Ganons Castle Room 18 Door Crystal Switch": "Can hit crystal switch" + } + "locations": { + "Ganons Castle MQ Spirit Trial Invisible Chest": "logic_lens_castle_mq or can_use(Lens_of_Truth)", + "Ganons Castle MQ Spirit Trial Sun Front Left Chest": " + (can_use(Fire_Arrows) and can_use(Mirror_Shield)) + or (mm_light_arrows and can_use(Light_Arrows))", + "Ganons Castle MQ Spirit Trial Sun Back Left Chest": " + (can_use(Fire_Arrows) and can_use(Mirror_Shield)) + or (mm_light_arrows and can_use(Light_Arrows))", + "Ganons Castle MQ Spirit Trial Golden Gauntlets Chest": " + (can_use(Fire_Arrows) and can_use(Mirror_Shield)) + or (mm_light_arrows and can_use(Light_Arrows))", + "Ganons Castle MQ Spirit Trial Sun Back Right Chest": " + (can_use(Fire_Arrows) and can_use(Mirror_Shield)) + or (mm_light_arrows and can_use(Light_Arrows))" + } + "exits": { + "Ganons Castle Spirit Trial Sun Switch Room Front": " + 'Ganons Castle Room 18 Door Crystal Switch' or barred_door", + "Ganons Castle Spirit Barrier": + here((can_use(Fire_Arrows) and can_use(Mirror_Shield)) + or (mm_light_arrows and can_use(Light_Arrows))) or barred_door" + } + }, + { + "region_name": "Ganons Castle Spirit Barrier", + "dungeon": "Ganons Castle", + "room": "19", + "events": { + "Spirit Trial Clear": "can_use(Light_Arrows)" + }, + "locations": { + "Nut Pot": "True" + } + "exits": { + "Ganons Castle Spirit Trial Sun Switch Room": "True" + } + } +] \ No newline at end of file diff --git a/data/Scenes/Dungeons/Ganons Castle.json b/data/Scenes/Dungeons/Ganons Castle.json new file mode 100644 index 000000000..17ea31921 --- /dev/null +++ b/data/Scenes/Dungeons/Ganons Castle.json @@ -0,0 +1,387 @@ +[ + { + "region_name": "Ganons Castle Entrance", + "dungeon": "Ganons Castle", + "room": "0", + "exits": { + "Ganons Castle Grounds": "True", + "Ganons Castle Barrier Chamber": "True" + } + }, + { + "region_name": "Ganons Castle Barrier Chamber", + "dungeon": "Ganons Castle", + "room": "1", + "exits": { + "Ganons Castle Entrance": "True", + "Ganons Castle Forest Trial Combat Room": "True", + "Ganons Castle Fire Trial": "True", + "Ganons Castle Water Trial Red Ice Room": "True", + "Ganons Castle Shadow Trial": "True", + "Ganons Castle Spirit Trial Danger Room": "True", + "Ganons Castle Light Trial Enemy Room": "can_use(Golden_Gauntlets)", + "Ganons Tower 1F Entrance": " + (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 Water Trial Red Ice Room", + "dungeon": "Ganons Castle", + "room": "2", + "locations": { + "Ganons Castle Water Trial Left Chest": "True", + "Ganons Castle Water Trial Right Chest": "True", + "Blue Fire": "has_bottle and can break icicles" + } + "exits": { + "Ganons Castle Barrier Chamber": "True", + "Ganons Castle Water Trial Block Puzzle Room": "Blue_Fire" + } + }, + { + "region_name": "Ganons Castle Water Trial Red Ice Room Rear", + "dungeon": "Ganons Castle", + "room": "2", + "exits": { + "Ganons Castle Water Trial Red Ice Room": "True", + "Ganons Castle Water Trial Block Puzzle Room": "True" + } + }, + { + "region_name": "Ganons Castle Water Trial Block Puzzle Room", + "dungeon": "Ganons Castle", + "room": "3", + "events": { + "Ganons Castle Room 3 Silver Rupees": "can_climb(100) and Blue_Fire and can_use(Megaton_Hammer)" + }, + "locations": { + "Fairy Pot": "has_bottle" + } + "exits": { + "Ganons Castle Water Trial Red Ice Room Rear": "can_climb(70)", + "Ganons Castle Water Trial Block Puzzle Room Rear": "can_climb(70)" + } + }, + { + "region_name": "Ganons Castle Water Trial Block Puzzle Room Rear", + "dungeon": "Ganons Castle", + "room": "3", + "exits": { + "Ganons Castle Water Trial Block Puzzle Room": "True", + "Ganons Castle Water Barrier": "'Ganons Castle Room 3 Silver Rupees' or barred_door" + } + }, + { + "region_name": "Ganons Castle Water Barrier", + "dungeon": "Ganons Castle", + "room": "4", + "events": { + "Water Trial Clear": "can_use(Light_Arrows)" + }, + "exits": { + "Ganons Castle Water Trial Block Puzzle Room Rear": "True" + } + }, + { + "region_name": "Ganons Castle Forest Trial Combat Room", + "dungeon": "Ganons Castle", + "room": "5", + "events": { + "Ganons Castle Room 5 Enemies": " + " + #Wolfos + }, + "locations": { + "Ganons Castle Forest Trial Chest": "'Ganons Castle Room 5 Enemies'" + } + "exits": { + "Ganons Castle Barrier Chamber": "True", + "Ganons Castle Forest Trial Wind Room Front": "here(can_use(Bow) and has_fire_source) or barred_door" + } + }, + { + "region_name": "Ganons Castle Forest Trial Wind Room Front", + "dungeon": "Ganons Castle", + "room": "6", + "events": { + "Ganons Castle Room 6 Silver Rupees": " + at('Ganons Castle Forest Trial Wind Room Rear', True) + and can_press_floor_switch and (can_use(Hookshot) or can_climb(100))" + }, + "exits": { + "Ganons Castle Forest Trial Combat Room": "True", + "Ganons Castle Forest Trial Wind Room": "True" + } + }, + { + "region_name": "Ganons Castle Forest Trial Wind Room", + "dungeon": "Ganons Castle", + "room": "6", + "exits": { + "Ganons Castle Forest Trial Wind Room Front": " + can_use(Longshot) or (can_use(Hover_Boots) and can_climb(60))", + "Ganons Castle Forest Trial Wind Room Rear": "can_climb(80)" + } + }, + { + "region_name": "Ganons Castle Forest Trial Wind Room Rear", + "dungeon": "Ganons Castle", + "room": "6", + "exits": { + "Ganons Castle Forest Trial Wind Room": "True", + "Ganons Castle Forest Barrier": "'Ganons Castle Room 6 Silver Rupees' or barred_door" + } + }, + { + "region_name": "Ganons Castle Forest Barrier", + "dungeon": "Ganons Castle", + "room": "7", + "events": { + "Forest Trial Clear": "can_use(Light_Arrows)" + }, + "exits": { + "Ganons Castle Forest Trial Wind Room Rear": "True" + } + }, + { + "region_name": "Ganons Castle Light Trial Boulder Room", + "dungeon": "Ganons Castle", + "room": "8", + "events": { + "Ganons Castle Room 8 Silver Rupees": "can_use(Hookshot) or can_climb(120)" + }, + "exits": { + "Ganons Castle Light Trial Lullaby Room": "Still_a_key", + "Ganons Castle Light Trial Fake Barrier": "'Ganons Castle Room 8 Silver Rupees' or barred_door" + }, + }, + { + "region_name": "Ganons Castle Light Trial Enemy Room", + "dungeon": "Ganons Castle", + "room": "9", + "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)" + } + "exits": { + "Ganons Castle Barrier Chamber": "True", + "Ganons Castle Light Trial Lullaby Room": "Small_Key_Ganons_Castle" + } + }, + { + "region_name": "Ganons Castle Light Trial Lullaby Room", + "dungeon": "Ganons Castle", + "room": "9", + "locations": { + "Ganons Castle Light Trial Lullaby Chest": "can_play(Zeldas_Lullaby)" + } + "exits": { + "Ganons Castle Light Trial Enemy Room": "Still_a_key", + "Ganons Castle Light Trial Boulder Room": "Small_Key_Ganons_Castle" + } + }, + { + "region_name": "Ganons Castle Light Trial Fake Barrier", + "dungeon": "Ganons Castle", + "room": "10", + "exits": { + "Ganons Castle Light Barrier": "logic_lens_castle or can_use(Lens_of_Truth)", + "Ganons Castle Light Trial Boulder Room": "True" + } + }, + { + "region_name": "Ganons Castle Light Barrier", + "dungeon": "Ganons Castle", + "room": "11", + "events": { + "Light Trial Clear": "can_use(Light_Arrows)" + }, + "exits": { + "Ganons Castle Light Trial Fake Barrier": "True" + } + }, + { + "region_name": "Ganons Castle Shadow Trial", + "dungeon": "Ganons Castle", + "room": "12", + "locations": { + "Ganons Castle Shadow Trial Front Chest": " + can_use(Fire_Arrows) or can_use(Hookshot) or + can_use(Hover_Boots) or can_play(Song_of_Time)" + }, + "exits": { + "Ganons Castle Barrier Chamber": "True", + "Ganons Castle Shadow Trial Switch Area": + can_use(Fire_Arrows) or + (can_use(Longshot) and (can_use(Hover_Boots) or can_use(Dins_Fire)))" + } + }, + { + "region_name": "Ganons Castle Shadow Trial Switch Area", + "dungeon": "Ganons Castle", + "room": "12", + "events": { + "Ganons Castle Room 12 Floor Switch": "can_press_floor_switch and + can_use(Hover_Boots) or can_use(Fire_Arrows))", + "Ganons Castle Room 12 Rusted Switch": "can_use(Megaton_Hammer) and + (logic_lens_castle or can_use(Lens_of_Truth) or can_use(Hover_Boots))" + }, + "locations": { + "Ganons Castle Shadow Trial Golden Gauntlets Chest": " + 'Ganons Castle Room 12 Floor Switch'" + }, + "exits": { + "Ganons Castle Shadow Trial": " + can_use(Fire_Arrows) or (can_use(Hover_Boots) and can_use(Longshot)", + "Ganons Castle Shadow Trial Rear": " + logic_lens_castle or can_use(Lens_of_Truth) or can_use(Longshot)" + } + }, + { + "region_name": "Ganons Castle Shadow Trial Rear", + "dungeon": "Ganons Castle", + "room": "12", + "events": { + "Ganons Castle Room 12 Floor Switch": "can_press_floor_switch and + (logic_lens_castle or can_use(Lens_of_Truth) or can_use(Hover_Boots))", + "Ganons Castle Room 12 Rusted Switch": "can_use(Megaton_Hammer) and + (logic_lens_castle or can_use(Lens_of_Truth))" + }, + "exits": { + "Ganons Castle Shadow Trial Switch Area": " + logic_lens_castle or can_use(Lens_of_Truth) + or ('Ganons Castle Room 12 Floor Switch' and can_use(Longshot)) + or (can_use(Hover_Boots) and has_fire_source and can_climb(40))", + "Ganons Castle Shadow Barrier": " + 'Ganons Castle Room 12 Rusted Switch' or barred_door" + } + }, + { + "region_name": "Ganons Castle Shadow Barrier", + "dungeon": "Ganons Castle", + "room": "13", + "events": { + "Shadow Trial Clear": "can_use(Light_Arrows)" + }, + "exits": { + "Ganons Castle Shadow Trial Rear": "True" + } + }, + { + "region_name": "Ganons Castle Fire Trial", + "dungeon": "Ganons Castle", + "room": "14", + "events": { + "Ganons Castle Room 14 Silver Rupees": "can_use(Goron_Tunic) and can_use(Golden_Gauntlets)" + }, + "exits": { + #If you're quick, you can make it across the room without Goron Tunic, but the rupees require it + "Ganons Castle Barrier Chamber": " + (can_use(Goron_Tunic) or logic_fewer_tunic_requirements) and can_use(Longshot)", + "Ganons Castle Fire Barrier": " + (can_use(Goron_Tunic) or logic_fewer_tunic_requirements) and can_use(Longshot) + and ('Ganons Castle Room 14 Silver Rupees' or barred_door)" + } + }, + { + "region_name": "Ganons Castle Fire Barrier", + "dungeon": "Ganons Castle", + "room": "15", + "events": { + "Fire Trial Clear": "can_use(Light_Arrows)" + }, + "exits": { + "Ganons Castle Fire Trial": "True" + } + }, + { + "region_name": "Ganons Castle Deku Scrubs", + "dungeon": "Ganons Castle", + "room": "16", + "locations": { + "Ganons Castle Deku Scrub Center-Left": "can_stun_deku", + "Ganons Castle Deku Scrub Center-Right": "can_stun_deku", + "Ganons Castle Deku Scrub Left": "can_stun_deku", + "Ganons Castle Deku Scrub Right": "can_stun_deku", + "Free Fairies": "has_bottle" + } + "exits": { + "Ganons Castle Barrier Chamber": "True" + } + }, + { + "region_name": "Ganons Castle Spirit Trial Danger Room", + "dungeon": "Ganons Castle", + "room": "17", + "events": { + "Ganons Castle Room 17 Silver Rupees": "logic_spirit_trial_hookshot or can_use(Hookshot)" + }, + "exits": { + "Ganons Castle Barrier Chamber": "True", + "Ganons Castle Spirit Trial Sun Switch Room Front": " + 'Ganons Castle Room 17 Silver Rupees' or barred_door" + } + }, + { + "region_name": "Ganons Castle Spirit Trial Sun Switch Room Front", + "dungeon": "Ganons Castle", + "room": "18", + "events": { + "Ganons Castle Room 18 First Crystal Switch": "has_explosives", + "Ganons Castle Room 18 Door Crystal Switch": "has_bombchus" + } + "locations": { + "Ganons Castle Spirit Trial Crystal Switch Chest": " + 'Ganons Castle Room 18 First Crystal Switch'" + } + "exits": { + "Ganons Castle Spirit Trial Danger Room": "True", + "Ganons Castle Spirit Trial Sun Switch Room": + 'Ganons Castle Room 18 Door Crystal Switch' or barred_door" + } + }, + { + "region_name": "Ganons Castle Spirit Trial Sun Switch Room", + "dungeon": "Ganons Castle", + "room": "18", + "events": { + "Ganons Castle Room 18 First Crystal Switch": "Can hit crystal switch", + "Ganons Castle Room 18 Door Crystal Switch": "Can hit crystal switch" + } + "locations": { + "Ganons Castle Spirit Trial Invisible Chest": "logic_lens_castle or can_use(Lens_of_Truth)" + } + "exits": { + "Ganons Castle Spirit Trial Sun Switch Room Front": " + 'Ganons Castle Room 18 Door Crystal Switch' or barred_door", + "Ganons Castle Spirit Barrier": + here(can_use(Bow) and (can_use(Mirror_Shield) + or (mm_light_arrows and can_use(Light_Arrows))) or barred_door" + } + }, + { + "region_name": "Ganons Castle Spirit Barrier", + "dungeon": "Ganons Castle", + "room": "19", + "events": { + "Spirit Trial Clear": "can_use(Light_Arrows)" + }, + "locations": { + "Nut Pot": "True" + } + "exits": { + "Ganons Castle Spirit Trial Sun Switch Room": "True" + } + } +] \ No newline at end of file diff --git a/data/Scenes/Dungeons/Ganons Tower.json b/data/Scenes/Dungeons/Ganons Tower.json new file mode 100644 index 000000000..4d0decb74 --- /dev/null +++ b/data/Scenes/Dungeons/Ganons Tower.json @@ -0,0 +1,99 @@ +[ + { + "region_name": "Ganons Tower 1F Entrance", + "dungeon": "Ganons Castle", + "room": "7", + "exits": { + "Ganons Castle Barrier Chamber": "True", + "Ganons Tower 2F Dinolfos Room": "True" + } + }, + { + "region_name": "Ganons Tower 2F Dinolfos Room", + "dungeon": "Ganons Castle", + "room": "0", + "events": { + "Ganons Tower Room 0 Enemies": " + " + #2 Dinolfos + }, + "exits": { + "Ganons Tower 1F Entrance": "'Ganons Tower Room 0 Enemies' or barred_door", + "Ganons Tower Stairs to Boss Key Room": "'Ganons Tower Room 0 Enemies' or barred_door" + } + }, + { + "region_name": "Ganons Tower Stairs to Boss Key Room", + "dungeon": "Ganons Castle", + "room": "1", + "exits": { + "Ganons Tower 2F Dinolfos Room": "True", + "Ganons Tower 3F Boss Key Room": "True" + } + }, + { + "region_name": "Ganons Tower 3F Boss Key Room", + "dungeon": "Ganons Castle", + "room": "2", + "events": { + "Ganons Tower Room 2 Enemies": " + " + #2 Stalfos + }, + "locations": { + "Ganons Tower Boss Key Chest": "'Ganons Tower Room 2 Enemies'", + } + "exits": { + "Ganons Tower Stairs to Boss Key Room": "'Ganons Tower Room 2 Enemies'", + "Ganons Tower Stairs to Iron Knuckle Room": "'Ganons Tower Room 2 Enemies'" + } + }, + { + "region_name": "Ganons Tower Stairs to Iron Knuckle Room", + "dungeon": "Ganons Castle", + "room": "3", + "exits": { + "Ganons Tower 3F Boss Key Room": "True", + "Ganons Tower 4F Iron Knuckle Room": "True" + } + }, + { + "region_name": "Ganons Tower 4F Iron Knuckle Room", + "dungeon": "Ganons Castle", + "room": "4", + "events": { + "Ganons Tower Room 4 Enemies": " + " + #2 Iron Knuckles + }, + "exits": { + "Ganons Tower Stairs to Iron Knuckle Room": "'Ganons Tower Room 4 Enemies'", + "Ganons Tower Stairs to Lower Ganondorfs Lair": "'Ganons Tower Room 4 Enemies'" + } + }, + { + "region_name": "Ganons Tower Stairs to Lower Ganondorfs Lair", + "dungeon": "Ganons Castle", + "room": "5", + "exits": { + "Ganons Tower 4F Iron Knuckle Room": "True", + "Ganons Tower 5F Lower Ganondorfs Lair": "Boss_Key_Ganons_Castle" + } + }, + { + "region_name": "Ganons Tower 5F Lower Ganondorfs Lair", + "dungeon": "Ganons Castle", + "room": "8", + "exits": { + "Ganons Tower Stairs to Ganondorfs Lair": "Boss_Key_Ganons_Castle" + } + }, + { + "region_name": "Ganons Tower Stairs to Ganondorfs Lair", + "dungeon": "Ganons Castle", + "room": "6", + "exits": { + "Ganondorf Boss Arena": "Boss_Key_Ganons_Castle" + } + } +] \ No newline at end of file diff --git a/data/Scenes/Dungeons/Gerudo Training Grounds MQ.json b/data/Scenes/Dungeons/Gerudo Training Grounds MQ.json new file mode 100644 index 000000000..4ac13da8b --- /dev/null +++ b/data/Scenes/Dungeons/Gerudo Training Grounds MQ.json @@ -0,0 +1,406 @@ +[ + { + "region_name": "Gerudo Training Grounds Lobby", + "dungeon": "Gerudo Training Grounds", + "room": "0", + "locations": { + "Gerudo Training Grounds MQ Lobby Left Chest": "True", + "Gerudo Training Grounds MQ Lobby Right Chest": "True" + }, + "exits": { + "Gerudo Fortress": "True", + "Gerudo Training Grounds Left Combat Room": "here(has_fire_source) or barred_door", + "Gerudo Training Grounds Right Combat Room": "here(can_use(Bow) or can_use(Slingshot)) or barred_door", + "Gerudo Training Grounds Central Maze Entrance": "True" + } + }, + { + "region_name": "Gerudo Training Grounds Left Combat Room", + "dungeon": "Gerudo Training Grounds", + "room": "1", + "events": { + "Gerudo Training Grounds Room 1 Enemies": "is_adult or Kokiri_Sword or has_explosives" + #Iron Knuckle (limited time) + }, + "locations": { + "Gerudo Training Grounds MQ First Iron Knuckle Chest": "'Gerudo Training Grounds Room 1 Enemies'" + }, + "exits": { + "Gerudo Training Grounds Lobby": "True", + "Gerudo Training Grounds Flame Wall Maze": "'Gerudo Training Grounds Room 1 Enemies' or barred_door" + } + }, + { + "region_name": "Gerudo Training Grounds Flame Wall Maze", + "dungeon": "Gerudo Training Grounds", + "room": "2", + "events": { + "Gerudo Training Grounds Room 2 Silver Rupees": " + can_use(Longshot) or logic_gtg_mq_without_hookshot or + (logic_gtg_mq_with_hookshot and can_use(Hookshot))" + }, + "exits": { + "Gerudo Training Grounds Left Combat Room": "True", + "Gerudo Training Grounds Mystery Room": " + 'Gerudo Training Grounds Room 2 Silver Rupees' or barred_door" + } + }, + { + "region_name": "Gerudo Training Grounds Mystery Room", + "dungeon": "Gerudo Training Grounds", + "room": "3", + "events": { + # Very difficult to fight the Stalfos and Stulltulas under the time limit as child. + "Gerudo Training Grounds Room 3 Enemies": "is_adult", + "Gerudo Training Grounds Heavy Block": "can_use(Silver_Gauntlets)" + }, + "locations": { + "Gerudo Training Grounds MQ Before Heavy Block Chest": "'Gerudo Training Grounds Room 3 Enemies'", + "Blue Fire": "has_bottle" + }, + "exits": { + "Gerudo Training Grounds Flame Wall Maze": "True", + "Gerudo Training Grounds Mystery Room Fake Wall Ledge": " + (logic_lens_gtg_mq or can_use(Lens_of_Truth)) and ((can_play(Song_of_Time) and can_climb(100)) + or (logic_gtg_fake_wall and 'Gerudo Training Grounds Room 3 Enemies' and can_use(Hover_Boots)) + or can_climb(120))", + "Gerudo Training Grounds Mystery Room Behind Block": "'Gerudo Training Grounds Heavy Block'" + } + }, + { + "region_name": "Gerudo Training Grounds Mystery Room Behind Block", + "dungeon": "Gerudo Training Grounds", + "room": "3", + "exits": { + "Gerudo Training Grounds Mystery Room": "'Gerudo Training Grounds Heavy Block'", + "Gerudo Training Grounds Room Behind Heavy Block": " + 'Gerudo Training Grounds Room 3 Enemies' or barred_door" + } + }, + { + "region_name": "Gerudo Training Grounds Mystery Room Fake Wall Ledge", + "dungeon": "Gerudo Training Grounds", + "room": "3", + "exits": { + "Gerudo Training Grounds Mystery Room": " + can_climb(40) and (logic_lens_gtg or can_use(Lens_of_Truth))", + "Gerudo Training Grounds Eye Statue Upper": " + Blue_Fire and ('Gerudo Training Grounds Room 3 Enemies' or barred_door)" + } + }, + { + "region_name": "Gerudo Training Grounds Eye Statue Lower", + "dungeon": "Gerudo Training Grounds", + "room": "4", + "locations": { + "Gerudo Training Grounds MQ Eye Statue Chest": "'Gerudo Training Grounds Eye Statue'" + }, + "events": { + "Gerudo Training Grounds Eye Statue": "can_use(Bow)", + "Gerudo Training Grounds Room 4 Crystal Switch": "can hit the crystal switch from far away" + }, + "exits": { + "Gerudo Training Grounds Eye Statue Upper": "can_use(Longshot)", + "Gerudo Training Grounds Hammer Room": "True" + } + }, + { + "region_name": "Gerudo Training Grounds Eye Statue Upper", + "dungeon": "Gerudo Training Grounds", + "room": "4", + "events": { + "Gerudo Training Grounds Room 4 Crystal Switch": "can hit the crystal switch from far away" + }, + "exits": { + "Gerudo Training Grounds Eye Statue Lower": "True", + "Gerudo Training Grounds Mystery Room Fake Wall Ledge": "True", + "Gerudo Training Grounds Central Maze Ceiling": " + 'Gerudo Training Grounds Room 4 Crystal Switch' or barred_door" + } + }, + { + "region_name": "Gerudo Training Grounds Hammer Room", + "dungeon": "Gerudo Training Grounds", + "room": "5", + "events": { + "Gerudo Training Grounds Room 5 Enemies": "" + #Torch Slugs and Iron Knuckle + }, + "locations": { + "Gerudo Training Grounds MQ Second Iron Knuckle Chest": " + 'Gerudo Training Grounds Room 5 Enemies'", + "Gerudo Training Grounds MQ Flame Circle Chest": " + here(can_use_projectile) and can_press_floor_switch" + }, + "exits": { + "Gerudo Training Grounds Eye Statue Lower": " + 'Gerudo Training Grounds Room 5 Enemies' or barred_door", + "Gerudo Training Grounds Lava Room Far Ledge": " + 'Gerudo Training Grounds Room 5 Enemies' or barred_door" + } + }, + { + "region_name": "Gerudo Training Grounds Lava Room", + "dungeon": "Gerudo Training Grounds", + "room": "6", + "events": { + "Gerudo Training Grounds Room 6 Silver Rupees": " + can_use(Bow) and can_use(Hover_Boots)" + }, + "exits": { + "Gerudo Training Grounds Lava Room Ledge": " + can_use(Bow) and + (('Gerudo Training Grounds Lava Room Rusted Switch' and can_use(Hookshot)) + or can_climb(159))", + "Gerudo Training Grounds Lava Room Door Ledge": "can_use(Bow) or can_use(Longshot)", + "Gerudo Training Grounds Lava Room Far Ledge": "False", + "Gerudo Training Grounds Right Combat Room": "True" + } + }, + { + "region_name": "Gerudo Training Grounds Lava Room Ledge", + "dungeon": "Gerudo Training Grounds", + "room": "6", + "exits": { + "Gerudo Training Grounds Lava Room": "can_use(Fire_Arrows) or can_use(Hookshot)", + "Gerudo Training Grounds Lava Room Door Ledge": "can_use(Fire_Arrows) or can_use(Longshot)", + "Gerudo Training Grounds Lava Room Far Ledge": "False", + "Gerudo Training Grounds Central Maze Right": "True" + } + }, + { + "region_name": "Gerudo Training Grounds Lava Room Door Ledge", + "dungeon": "Gerudo Training Grounds", + "room": "6", + "events": { + "Gerudo Training Grounds Room 6 Silver Rupees": " + has_fire_source and can_use(Hover_Boots)" + }, + "exits": { + "Gerudo Training Grounds Lava Room": "has_fire_source or can_use(Longshot)", + "Gerudo Training Grounds Lava Room Ledge": " + has_fire_source and + (('Gerudo Training Grounds Lava Room Rusted Switch' and can_use(Hookshot)) + or can_climb(159))", + "Gerudo Training Grounds Lava Room Far Ledge": "False", + "Gerudo Training Grounds Water Room": " + 'Gerudo Training Grounds Room 6 Silver Rupees' or barred_door", + } + }, + { + "region_name": "Gerudo Training Grounds Lava Room Far Ledge", + "dungeon": "Gerudo Training Grounds", + "room": "6", + "events": { + "Gerudo Training Grounds Lava Room Rusted Switch": "can_use(Megaton_Hammer)" + }, + "exits": { + "Gerudo Training Grounds Lava Room": " + can_use(Fire_Arrows) and (can_use(Longshot) or can_use(Hover_Boots))", + "Gerudo Training Grounds Lava Room Ledge": " + can_use(Fire_Arrows) and can_use(Hookshot) + and 'Gerudo Training Grounds Lava Room Rusted Switch'", + "Gerudo Training Grounds Lava Room Door Ledge": " + can_use(Fire_Arrows) and (can_use(Hookshot) or can_use(Hover_Boots))", + "Gerudo Training Grounds Hammer Room": "True", + } + }, + { + "region_name": "Gerudo Training Grounds Right Combat Room", + "dungeon": "Gerudo Training Grounds", + "room": "7", + "events": { + "Gerudo Training Grounds Room 7 Enemies": "is_adult" + #A bunch of enemies (limited time) + }, + "locations": { + "Gerudo Training Grounds MQ Dinolfos Chest": "'Gerudo Training Grounds Room 7 Enemies'" + }, + "exits": { + "Gerudo Training Grounds Lobby": "True", + "Gerudo Training Grounds Lava Room": "'Gerudo Training Grounds Room 7 Enemies' or barred_door", + } + }, + #445555RR + #344456RR + #333CC6RR + #222CCRRR + #211EEPPR + #211EEPPP + { + "region_name": "Gerudo Training Grounds Central Maze Entrance", + "dungeon": "Gerudo Training Grounds", + "room": "8", + "exits": { + "Gerudo Training Grounds Lobby": "True", + "Gerudo Training Grounds Central Maze Path 1": "True", + "Gerudo Training Grounds Central Maze Right Path": "barred_door", + "Gerudo Training Grounds Central Maze Center": "False" + } + }, + { + "region_name": "Gerudo Training Grounds Central Maze Path 1", + "dungeon": "Gerudo Training Grounds", + "room": "8", + "exits": { + "Gerudo Training Grounds Central Maze Entrance": "True", + "Gerudo Training Grounds Central Maze Path 2": "True", + "Gerudo Training Grounds Central Maze Hidden Ceiling": "logic_lens_gtg_mq or can_use(Lens_of_Truth)" + } + }, + { + "region_name": "Gerudo Training Grounds Central Maze Hidden Ceiling", + "dungeon": "Gerudo Training Grounds", + "room": "8", + "locations": { + "Gerudo Training Grounds MQ Hidden Ceiling Chest": "True" + }, + "exits": { + "Gerudo Training Grounds Central Maze Path 1": "True" + "Gerudo Training Grounds Central Maze Ceiling": "False" + } + }, + { + "region_name": "Gerudo Training Grounds Central Maze Path 2", + "dungeon": "Gerudo Training Grounds", + "room": "8", + "locations": { + "Gerudo Training Grounds MQ Maze Path First Chest": "True" + }, + "exits": { + "Gerudo Training Grounds Central Maze Path 1": "True", + "Gerudo Training Grounds Central Maze Path 3": "True", + "Gerudo Training Grounds Central Maze Center": "False" + } + }, + { + "region_name": "Gerudo Training Grounds Central Maze Path 3", + "dungeon": "Gerudo Training Grounds", + "room": "8", + "exits": { + "Gerudo Training Grounds Central Maze Path 2": "True", + "Gerudo Training Grounds Central Maze Path 4": "True", + "Gerudo Training Grounds Central Maze Center": "False" + } + }, + { + "region_name": "Gerudo Training Grounds Central Maze Path 4", + "dungeon": "Gerudo Training Grounds", + "room": "8", + "locations": { + "Gerudo Training Grounds MQ Maze Path Second Chest": "True" + }, + "exits": { + "Gerudo Training Grounds Central Maze Path 3": "True", + "Gerudo Training Grounds Central Maze Path 5": "Small_Key_Gerudo_Training_Grounds", + "Gerudo Training Grounds Central Maze Center": "False" + } + }, + { + "region_name": "Gerudo Training Grounds Central Maze Path 5", + "dungeon": "Gerudo Training Grounds", + "room": "8", + "locations": { + "Gerudo Training Grounds MQ Maze Path Third Chest": "True" + }, + "exits": { + "Gerudo Training Grounds Central Maze Path 4": "Still_a_key", + "Gerudo Training Grounds Central Maze Path 6": "Small_Key_Gerudo_Training_Grounds", + "Gerudo Training Grounds Central Maze Center": "False", + "Gerudo Training Grounds Central Maze Right": "False" + } + }, + { + "region_name": "Gerudo Training Grounds Central Maze Path 6", + "dungeon": "Gerudo Training Grounds", + "room": "8", + "exits": { + "Gerudo Training Grounds Central Maze Path 5": "Still_a_key", + "Gerudo Training Grounds Central Maze Center": "Small_Key_Gerudo_Training_Grounds", + "Gerudo Training Grounds Central Maze Right": "False" + } + }, + { + "region_name": "Gerudo Training Grounds Central Maze Center", + "dungeon": "Gerudo Training Grounds", + "room": "8", + "exits": { + "Gerudo Training Grounds Central Maze Path 6": "Still_a_key", + "Gerudo Training Grounds Central Maze Entrance": "False", + "Gerudo Training Grounds Central Maze Path 2": "False", + "Gerudo Training Grounds Central Maze Path 3": "False", + "Gerudo Training Grounds Central Maze Path 4": "False", + "Gerudo Training Grounds Central Maze Path 5": "False", + "Gerudo Training Grounds Central Maze Right": "False" + } + }, + { + "region_name": "Gerudo Training Grounds Central Maze Right Path", + "dungeon": "Gerudo Training Grounds", + "room": "8", + "exits": { + #One-way barred door + "Gerudo Training Grounds Central Maze Entrance": "True or barred_door", + "Gerudo Training Grounds Central Maze Right": "True" + } + }, + { + "region_name": "Gerudo Training Grounds Central Maze Right", + "dungeon": "Gerudo Training Grounds", + "room": "8", + "locations": { + "Gerudo Training Grounds MQ Maze Right Central Chest": "True", + "Gerudo Training Grounds MQ Maze Right Side Chest": "True" + }, + "exits": { + "Gerudo Training Grounds Central Maze Right Path": "True", + "Gerudo Training Grounds Lava Room Ledge": "True", + "Gerudo Training Grounds Central Maze Path 5": "False", + "Gerudo Training Grounds Central Maze Path 6": "False", + "Gerudo Training Grounds Central Maze Center": "False" + } + }, + { + "region_name": "Gerudo Training Grounds Central Maze Ceiling", + "dungeon": "Gerudo Training Grounds", + "room": "8", + "locations": { + # 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": " + at('Gerudo Training Grounds Central Maze Center', can_use(Megaton_Hammer))" + }, + "exits": { + "Gerudo Training Grounds Eye Statue Upper": "True", + "Gerudo Training Grounds Central Maze Hidden Ceiling": "False" + } + }, + { + "region_name": "Gerudo Training Grounds Water Room", + "dungeon": "Gerudo Training Grounds", + "room": "9", + "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 + (damage_multiplier != 'ohko' or Fairy or can_use(Nayrus_Love))" + }, + "exits": { + "Gerudo Training Grounds Lava Room Door Ledge": "True", + } + }, + { + "region_name": "Gerudo Training Grounds Room Behind Heavy Block", + "dungeon": "Gerudo Training Grounds", + "room": "10", + "events": { + "Gerudo Training Grounds Room 10 Enemies": "" + #Freezards and Spikes + }, + "locations": { + "Gerudo Training Grounds MQ Heavy Block Chest": "'Gerudo Training Grounds Room 10 Enemies'", + } + "exits": { + "Gerudo Training Grounds Mystery Room Behind Block": "True" + } + } +] \ No newline at end of file diff --git a/data/Scenes/Dungeons/Gerudo Training Grounds.json b/data/Scenes/Dungeons/Gerudo Training Grounds.json new file mode 100644 index 000000000..492dc5e7e --- /dev/null +++ b/data/Scenes/Dungeons/Gerudo Training Grounds.json @@ -0,0 +1,400 @@ +[ + { + "region_name": "Gerudo Training Grounds Lobby", + "dungeon": "Gerudo Training Grounds", + "room": "0", + "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)" + }, + "exits": { + "Gerudo Fortress": "True", + "Gerudo Training Grounds Left Combat Room": "True", + "Gerudo Training Grounds Right Combat Room": "True", + "Gerudo Training Grounds Central Maze Entrance": "True" + } + }, + { + "region_name": "Gerudo Training Grounds Left Combat Room", + "dungeon": "Gerudo Training Grounds", + "room": "1", + "events": { + "Gerudo Training Grounds Room 1 Enemies": "is_adult or Kokiri_Sword" + #Stalfos (limited time) + }, + "locations": { + "Gerudo Training Grounds Stalfos Chest": "'Gerudo Training Grounds Room 1 Enemies'" + }, + "exits": { + "Gerudo Training Grounds Lobby": "True", + "Gerudo Training Grounds Flame Wall Maze": "'Gerudo Training Grounds Room 1 Enemies' or barred_door" + } + }, + { + "region_name": "Gerudo Training Grounds Flame Wall Maze", + "dungeon": "Gerudo Training Grounds", + "room": "2", + "events": { + "Gerudo Training Grounds Room 2 Silver Rupees": "can_use(Hookshot) or logic_gtg_without_hookshot" + }, + "exits": { + "Gerudo Training Grounds Left Combat Room": "can_use(Hookshot) or logic_gtg_without_hookshot", + "Gerudo Training Grounds Mystery Room": " + (can_use(Hookshot) or logic_gtg_without_hookshot) and + ('Gerudo Training Grounds Room 2 Silver Rupees' or barred_door)" + } + }, + { + "region_name": "Gerudo Training Grounds Mystery Room", + "dungeon": "Gerudo Training Grounds", + "room": "3", + "events": { + "Gerudo Training Grounds Room 3 Enemies": + #Wolfos and White Wolfos + "Gerudo Training Grounds Heavy Block": "can_use(Silver_Gauntlets)" + }, + "locations": { + "Gerudo Training Grounds Before Heavy Block Chest": "'Gerudo Training Grounds Room 3 Enemies'" + }, + "exits": { + "Gerudo Training Grounds Flame Wall Maze": "True", + "Gerudo Training Grounds Mystery Room Fake Wall Ledge": " + (logic_lens_gtg or can_use(Lens_of_Truth)) and (can_use(Hookshot) + or (logic_gtg_fake_wall and 'Gerudo Training Grounds Room 3 Enemies' and can_use(Hover_Boots)) + or can_climb(120))", + "Gerudo Training Grounds Mystery Room Behind Block": "'Gerudo Training Grounds Heavy Block'" + } + }, + { + "region_name": "Gerudo Training Grounds Mystery Room Behind Block", + "dungeon": "Gerudo Training Grounds", + "room": "3", + "exits": { + "Gerudo Training Grounds Mystery Room": "'Gerudo Training Grounds Heavy Block'", + "Gerudo Training Grounds Room Behind Heavy Block": " + at('Gerudo Training Grounds Mystery Room Fake Wall Ledge', can_press_floor_switch) + or barred_door" + } + }, + { + "region_name": "Gerudo Training Grounds Mystery Room Fake Wall Ledge", + "dungeon": "Gerudo Training Grounds", + "room": "3", + "exits": { + "Gerudo Training Grounds Mystery Room": " + can_climb(40) and (logic_lens_gtg or can_use(Lens_of_Truth))", + "Gerudo Training Grounds Eye Statue Upper": "True" + } + }, + { + "region_name": "Gerudo Training Grounds Eye Statue Lower", + "dungeon": "Gerudo Training Grounds", + "room": "4", + "locations": { + "Gerudo Training Grounds Eye Statue Chest": "'Gerudo Training Grounds Eye Statue'" + }, + "events": { + "Gerudo Training Grounds Eye Statue": "can_use(Bow)" + }, + "exits": { + "Gerudo Training Grounds Eye Statue Upper": "False", + "Gerudo Training Grounds Hammer Room": "True" + } + }, + { + "region_name": "Gerudo Training Grounds Eye Statue Upper", + "dungeon": "Gerudo Training Grounds", + "room": "4", + "exits": { + "Gerudo Training Grounds Eye Statue Lower": "True", + "Gerudo Training Grounds Mystery Room Fake Wall Ledge": "True", + "Gerudo Training Grounds Central Maze Ceiling": " + 'Gerudo Training Grounds Eye Statue' or barred_door", + } + }, + { + "region_name": "Gerudo Training Grounds Hammer Room", + "dungeon": "Gerudo Training Grounds", + "room": "5", + "events": { + "Gerudo Training Grounds Room 5 Enemies": "" + #Torch Slugs and Keese + }, + "locations": { + "Gerudo Training Grounds Hammer Room Clear Chest": " + 'Gerudo Training Grounds Room 5 Enemies'", + "Gerudo Training Grounds Hammer Room Switch Chest": " + can_use(Megaton_Hammer) and can_press_floor_switch" + }, + "exits": { + "Gerudo Training Grounds Eye Statue Lower": " + here(can_use(Megaton_Hammer) and (can_use(Bow) or can_use(Slingshot))) or barred_door", + "Gerudo Training Grounds Lava Room Far Ledge": " + 'Gerudo Training Grounds Room 5 Enemies' or barred_door" + } + }, + { + "region_name": "Gerudo Training Grounds Lava Room", + "dungeon": "Gerudo Training Grounds", + "room": "6", + "events": { + "Gerudo Training Grounds Room 6 Silver Rupees": " + can_press_floor_switch and can_use(Hookshot) and (can_play(Song_of_Time) or can_use(Hover_Boots))" + }, + "exits": { + "Gerudo Training Grounds Lava Room Ledge": " + can_climb(57) and (can_play(Song_of_Time) or is_child or can_climb(159))", + "Gerudo Training Grounds Lava Room Door Ledge": "True or can_use(Longshot)", + "Gerudo Training Grounds Lava Room Far Ledge": " + can_use(Longshot) or (can_use(Hookshot) and can_use(Hover_Boots))", + "Gerudo Training Grounds Right Combat Room": "True" + } + }, + { + "region_name": "Gerudo Training Grounds Lava Room Ledge", + "dungeon": "Gerudo Training Grounds", + "room": "6", + "locations": { + "Gerudo Training Grounds Freestanding Key": "True" + }, + "exits": { + "Gerudo Training Grounds Lava Room": "True or can_use(Longshot)", + "Gerudo Training Grounds Lava Room Door Ledge": "True or can_use(Longshot)", + "Gerudo Training Grounds Lava Room Far Ledge": "can_use(Hookshot)", + "Gerudo Training Grounds Central Maze Right": "True" + } + }, + { + "region_name": "Gerudo Training Grounds Lava Room Door Ledge", + "dungeon": "Gerudo Training Grounds", + "room": "6", + "exits": { + "Gerudo Training Grounds Lava Room": "True or can_use(Longshot)", + "Gerudo Training Grounds Lava Room Ledge": " + can_climb(57) and (can_play(Song_of_Time) or is_child or can_climb(159))", + "Gerudo Training Grounds Lava Room Far Ledge": " + can_use(Longshot) or (can_use(Hookshot) and can_use(Hover_Boots))", + "Gerudo Training Grounds Water Room": " + 'Gerudo Training Grounds Room 6 Silver Rupees' or barred_door" + } + }, + { + "region_name": "Gerudo Training Grounds Lava Room Far Ledge", + "dungeon": "Gerudo Training Grounds", + "room": "6", + "exits": { + "Gerudo Training Grounds Lava Room": " + is_child or can_play(Song_of_Time) or can_use(Hookshot) or can_use(Hover_Boots)", + "Gerudo Training Grounds Lava Room Ledge": " + can_climb(57) and (can_play(Song_of_Time) or is_child)", + "Gerudo Training Grounds Lava Room Door Ledge": " + is_child or can_play(Song_of_Time) or can_use(Hookshot) or can_use(Hover_Boots)", + "Gerudo Training Grounds Hammer Room": "True" + } + }, + { + "region_name": "Gerudo Training Grounds Right Combat Room", + "dungeon": "Gerudo Training Grounds", + "room": "7", + "events": { + "Gerudo Training Grounds Room 7 Enemies": "has_explosives and (is_adult or Kokiri_Sword)" + #Dinolfos and Beamos (limited time) + }, + "locations": { + "Gerudo Training Grounds Beamos Chest": "'Gerudo Training Grounds Room 7 Enemies'" + }, + "exits": { + "Gerudo Training Grounds Lobby": "True", + "Gerudo Training Grounds Lava Room": "'Gerudo Training Grounds Room 7 Enemies' or barred_door" + } + }, + #445555RR + #344456RR + #333CC6RR + #222CCRRR + #211EEPPR + #211EEPPP + { + "region_name": "Gerudo Training Grounds Central Maze Entrance", + "dungeon": "Gerudo Training Grounds", + "room": "8", + "exits": { + "Gerudo Training Grounds Lobby": "True", + "Gerudo Training Grounds Central Maze Path 1": "Small_Key_Gerudo_Training_Grounds", + "Gerudo Training Grounds Central Maze Right Path": "Small_Key_Gerudo_Training_Grounds", + "Gerudo Training Grounds Central Maze Center": "False" + } + }, + { + "region_name": "Gerudo Training Grounds Central Maze Path 1", + "dungeon": "Gerudo Training Grounds", + "room": "8", + "exits": { + "Gerudo Training Grounds Central Maze Entrance": "Still_a_key", + "Gerudo Training Grounds Central Maze Path 2": "Small_Key_Gerudo_Training_Grounds", + "Gerudo Training Grounds Central Maze Hidden Ceiling": "logic_lens_gtg or can_use(Lens_of_Truth)" + } + }, + { + "region_name": "Gerudo Training Grounds Central Maze Hidden Ceiling", + "dungeon": "Gerudo Training Grounds", + "room": "8", + "locations": { + "Gerudo Training Grounds Hidden Ceiling Chest": "True" + }, + "exits": { + "Gerudo Training Grounds Central Maze Path 1": "True", + "Gerudo Training Grounds Central Maze Ceiling": "False" + } + }, + { + "region_name": "Gerudo Training Grounds Central Maze Path 2", + "dungeon": "Gerudo Training Grounds", + "room": "8", + "locations": { + "Gerudo Training Grounds Maze Path First Chest": "True" + }, + "exits": { + "Gerudo Training Grounds Central Maze Path 1": "Still_a_key", + "Gerudo Training Grounds Central Maze Path 3": "Small_Key_Gerudo_Training_Grounds", + "Gerudo Training Grounds Central Maze Center": "False" + } + }, + { + "region_name": "Gerudo Training Grounds Central Maze Path 3", + "dungeon": "Gerudo Training Grounds", + "room": "8", + "exits": { + "Gerudo Training Grounds Central Maze Path 2": "Still_a_key", + "Gerudo Training Grounds Central Maze Path 4": "Small_Key_Gerudo_Training_Grounds", + "Gerudo Training Grounds Central Maze Center": "False" + } + }, + { + "region_name": "Gerudo Training Grounds Central Maze Path 4", + "dungeon": "Gerudo Training Grounds", + "room": "8", + "locations": { + "Gerudo Training Grounds Maze Path Second Chest": "True" + }, + "exits": { + "Gerudo Training Grounds Central Maze Path 3": "Still_a_key", + "Gerudo Training Grounds Central Maze Path 5": "Small_Key_Gerudo_Training_Grounds", + "Gerudo Training Grounds Central Maze Center": "False" + } + }, + { + "region_name": "Gerudo Training Grounds Central Maze Path 5", + "dungeon": "Gerudo Training Grounds", + "room": "8", + "locations": { + "Gerudo Training Grounds Maze Path Third Chest": "True" + }, + "exits": { + "Gerudo Training Grounds Central Maze Path 4": "Still_a_key", + "Gerudo Training Grounds Central Maze Path 6": "Small_Key_Gerudo_Training_Grounds", + "Gerudo Training Grounds Central Maze Center": "False", + "Gerudo Training Grounds Central Maze Right": "False" + } + }, + { + "region_name": "Gerudo Training Grounds Central Maze Path 6", + "dungeon": "Gerudo Training Grounds", + "room": "8", + "exits": { + "Gerudo Training Grounds Central Maze Path 5": "Still_a_key", + "Gerudo Training Grounds Central Maze Center": "Small_Key_Gerudo_Training_Grounds", + "Gerudo Training Grounds Central Maze Right": "False" + } + }, + { + "region_name": "Gerudo Training Grounds Central Maze Center", + "dungeon": "Gerudo Training Grounds", + "room": "8", + "locations": { + "Gerudo Training Grounds Maze Path Final Chest": "True" + }, + "exits": { + "Gerudo Training Grounds Central Maze Path 6": "Still_a_key", + "Gerudo Training Grounds Central Maze Entrance": "False", + "Gerudo Training Grounds Central Maze Path 2": "False", + "Gerudo Training Grounds Central Maze Path 3": "False", + "Gerudo Training Grounds Central Maze Path 4": "False", + "Gerudo Training Grounds Central Maze Path 5": "False", + "Gerudo Training Grounds Central Maze Right": "False" + } + }, + { + "region_name": "Gerudo Training Grounds Central Maze Right Path", + "dungeon": "Gerudo Training Grounds", + "room": "8", + "exits": { + "Gerudo Training Grounds Central Maze Entrance": "Still_a_key", + "Gerudo Training Grounds Central Maze Right": "Small_Key_Gerudo_Training_Grounds" + } + }, + { + "region_name": "Gerudo Training Grounds Central Maze Right", + "dungeon": "Gerudo Training Grounds", + "room": "8", + "locations": { + "Gerudo Training Grounds Maze Right Central Chest": "True", + "Gerudo Training Grounds Maze Right Side Chest": "True" + }, + "exits": { + "Gerudo Training Grounds Central Maze Right Path": "Still_a_key", + "Gerudo Training Grounds Lava Room Ledge": "True", + "Gerudo Training Grounds Central Maze Path 5": "False", + "Gerudo Training Grounds Central Maze Path 6": "False", + "Gerudo Training Grounds Central Maze Center": "False" + } + }, + { + "region_name": "Gerudo Training Grounds Central Maze Ceiling", + "dungeon": "Gerudo Training Grounds", + "room": "8", + "locations": { + "Gerudo Training Grounds Near Scarecrow Chest": "True" + }, + "exits": { + "Gerudo Training Grounds Eye Statue Upper": "True", + "Gerudo Training Grounds Central Maze Hidden Ceiling": "False" + } + }, + { + "region_name": "Gerudo Training Grounds Water Room", + "dungeon": "Gerudo Training Grounds", + "room": "9", + "locations": { + "Gerudo Training Grounds Underwater Silver Rupee Chest": " + can_play(Song_of_Time) and can_use(Iron_Boots) and + (logic_fewer_tunic_requirements or can_use(Zora_Tunic))" + }, + "exits": { + "Gerudo Training Grounds Lava Room Door Ledge": "True" + } + }, + { + "region_name": "Gerudo Training Grounds Room Behind Heavy Block", + "dungeon": "Gerudo Training Grounds", + "room": "10", + "events": { + "Gerudo Training Grounds Room 10 Enemies": "" + #Like Likes + }, + "locations": { + #Not sure how these chests are supposed to be numbered + #A like like is on top of the 3rd chest, + #but it technically does not have to be defeated to access it unlike the first 2 + #I don't know if it's possible to open though without killing that like like. + "Gerudo Training Grounds Heavy Block First Chest": "'Gerudo Training Grounds Room 10 Enemies'", + "Gerudo Training Grounds Heavy Block Second Chest": "'Gerudo Training Grounds Room 10 Enemies'", + "Gerudo Training Grounds Heavy Block Third Chest": " + (Kill 1 Like Like) and (logic_lens_gtg or can_use(Lens_of_Truth))", + "Gerudo Training Grounds Heavy Block Fourth Chest": "can_climb(50)" + } + "exits": { + "Gerudo Training Grounds Mystery Room Behind Block": "True" + } + } +] \ No newline at end of file diff --git a/data/Scenes/Dungeons/Ice Cavern MQ.json b/data/Scenes/Dungeons/Ice Cavern MQ.json new file mode 100644 index 000000000..939f14ddd --- /dev/null +++ b/data/Scenes/Dungeons/Ice Cavern MQ.json @@ -0,0 +1,210 @@ +[ + { + "region_name": "Ice Cavern Entrance Corridor", + "dungeon": "Ice Cavern", + "room": "0", + "exits": { + "Zoras Fountain": "True", + "Ice Cavern Lobby": "True" + } + }, + { + "region_name": "Ice Cavern Lobby", + "dungeon": "Ice Cavern", + "room": "1", + "exits": { + "Ice Cavern Entrance Corridor": "True", + "Ice Cavern Lobby Back": "can_use_projectile", + "Ice Cavern Underwater Hall to Lobby": "can_climb(230)" + } + }, + { + "region_name": "Ice Cavern Lobby Back", + "dungeon": "Ice Cavern", + "room": "1", + "exits": { + #Blocked by ice blocks which can't be removed from this side + "Ice Cavern Lobby": "False", + "Ice Cavern Hall to Central Room": "True" + } + }, + { + "region_name": "Ice Cavern Hall to Central Room", + "dungeon": "Ice Cavern", + "room": "2", + "exits": { + "Ice Cavern Lobby Back": "True", + "Ice Cavern Central Room": "True" + } + }, + { + "region_name": "Ice Cavern Central Room", + "dungeon": "Ice Cavern", + "room": "3", + "events": { + "Ice Cavern Room 3 Enemies": " + is_adult or can_use(Dins_Fire) or + (has_explosives and (can_use(Sticks) or can_use(Slingshot) or Kokiri_Sword))" + #Freezards and Wolfos + } + "locations": { + "Fairy Pot": "has_bottle" + } + "exits": { + "Ice Cavern Hall to Central Room": "True", + "Ice Cavern Central Room East": "Can break icicles", + "Ice Cavern Central Room West": "Blue_Fire", + "Ice Cavern Central Room North": "can_climb(92) and Blue_Fire" + } + }, + { + "region_name": "Ice Cavern Central Room East", + "dungeon": "Ice Cavern", + "room": "3", + "exits": { + "Ice Cavern Central Room": "Can break icicles", + "Ice Cavern Side Room": "'Ice Cavern Room 3 Enemies' or barred_door" + } + }, + { + "region_name": "Ice Cavern Central Room West", + "dungeon": "Ice Cavern", + "room": "3", + "exits": { + "Ice Cavern Central Room": "Blue_Fire", + "Ice Cavern Hall to Square Pit Room": "True" + } + }, + { + "region_name": "Ice Cavern Central Room North", + "dungeon": "Ice Cavern", + "room": "3", + "exits": { + "Ice Cavern Central Room": "Blue_Fire", + "Ice Cavern Hall to Ice Bridge Room": "True" + } + }, + { + "region_name": "Ice Cavern Hall to Square Pit Room", + "dungeon": "Ice Cavern", + "room": "4", + "exits": { + "Ice Cavern Central Room": "True", + "Ice Cavern Square Pit Room": "True" + } + }, + { + "region_name": "Ice Cavern Square Pit Room", + "dungeon": "Ice Cavern", + "room": "5", + "locations": { + "Ice Cavern MQ GS Ice Block": "can_use_projectile", + "Ice Cavern MQ GS Scarecrow": " + can_use(Scarecrow) or (Hover_Boots and can_use(Longshot)) or + (logic_ice_mq_scarecrow and is_adult) or can_climb(119)", + "Blue Fire": "has_bottle and can_climb(61) and (can_play(Song_of_Time) or can_climb(121))" + } + "exits": { + "Ice Cavern Hall to Square Pit Room": "can_climb(60)", + "Ice Cavern Square Pit Room South": "can_climb(100) and Blue_Fire" + } + }, + { + "region_name": "Ice Cavern Square Pit Room South", + "dungeon": "Ice Cavern", + "room": "5", + "exits": { + "Ice Cavern Square Pit Room": "Blue_Fire", + "Ice Cavern Hall to Iron Boots North": "True" + } + }, + { + "region_name": "Ice Cavern Hall to Iron Boots North", + "dungeon": "Ice Cavern", + "room": "6", + "exits": { + "Ice Cavern Square Pit Room South": "True", + "Ice Cavern Hall to Iron Boots": "True" + } + }, + { + "region_name": "Ice Cavern Hall to Iron Boots", + "dungeon": "Ice Cavern", + "room": "6", + "locations": { + "Fairy Pot": "has_bottle" + } + "exits": { + "Ice Cavern Hall to Iron Boots North": "True", + "Ice Cavern Iron Boots Icefield": "True" + } + }, + { + "region_name": "Ice Cavern Iron Boots Icefield", + "dungeon": "Ice Cavern", + "room": "7", + "events": { + "Ice Cavern Room 7 Enemies": " + " + #Stalfos + } + "locations": { + "Ice Cavern MQ Iron Boots Chest": "'Ice Cavern Room 7 Enemies'", + "Sheik in Ice Cavern": "'Ice Cavern Room 7 Enemies'" + } + "exits": { + "Ice Cavern Hall to Iron Boots": "'Ice Cavern Room 7 Enemies' or barred_door", + #There is a barred floor blocking the exit before the enemies are defeated, but not a barred door + "Ice Cavern Underwater Hall to Lobby": " + 'Ice Cavern Room 7 Enemies' and can_use(Iron_Boots)", + } + }, + { + "region_name": "Ice Cavern Hall to Ice Bridge Room", + "dungeon": "Ice Cavern", + "room": "8", + "exits": { + "Ice Cavern Central Room North": "True", + "Ice Cavern Ice Bridge Room": "True" + } + }, + { + "region_name": "Ice Cavern Ice Bridge Room", + "dungeon": "Ice Cavern", + "room": "9", + "locations": { + "Ice Cavern MQ Compass Chest": "can_climb(57)", + "Ice Cavern MQ Freestanding PoH": "can_climb(57) and has_explosives", + "Ice Cavern MQ GS Red Ice": " + can_climb(57) and can_play(Song_of_Time) and Blue_Fire and can kill skulltula" + "Blue Fire": "can_climb(57) and has_bottle" + } + "exits": { + "Ice Cavern Hall to Ice Bridge Room": "can_climb(60)" + } + }, + { + "region_name": "Ice Cavern Underwater Hall to Lobby", + "dungeon": "Ice Cavern", + "room": "10", + "exits": { + "Ice Cavern Lobby": "True", + "Ice Cavern Iron Boots Icefield": "can_use(Iron_Boots)" + } + }, + { + "region_name": "Ice Cavern Side Room", + "dungeon": "Ice Cavern", + "room": "11", + #Icicles block the Blue Fire but child can walk through them + "locations": { + "Ice Cavern MQ Map Chest": " + Blue_Fire and + (is_adult or can_use(Sticks) or Kokiri_Sword or can_use_projectile)", + "Blue Fire": "(is_child or is_adult) and has_bottle" + } + "exits": { + "Ice Cavern Central Room East": "can_climb(20)" + } + } +] \ No newline at end of file diff --git a/data/Scenes/Dungeons/Ice Cavern.json b/data/Scenes/Dungeons/Ice Cavern.json new file mode 100644 index 000000000..cea15fc5b --- /dev/null +++ b/data/Scenes/Dungeons/Ice Cavern.json @@ -0,0 +1,212 @@ +[ + { + "region_name": "Ice Cavern Entrance Corridor", + "dungeon": "Ice Cavern", + "room": "0", + "exits": { + "Zoras Fountain": "True", + "Ice Cavern Lobby": "True" + } + }, + { + "region_name": "Ice Cavern Lobby", + "dungeon": "Ice Cavern", + "room": "1", + "events": { + "Ice Cavern Room 1 Enemies": " + is_adult or has_explosives or can_use(Dins_Fire)" + #Freezards are weird, they are immune to KS completely. Leave sticks out as 8/10 is a lot + } + "exits": { + "Ice Cavern Entrance Corridor": "True", + "Ice Cavern Lobby Back": " + 'Ice Cavern Room 1 Enemies' or barred_door", + "Ice Cavern Underwater Hall to Lobby": "can_climb(230)" + } + }, + { + "region_name": "Ice Cavern Lobby Back", + "dungeon": "Ice Cavern", + "room": "1", + "exits": { + "Ice Cavern Lobby Back": "True", + "Ice Cavern Hall to Central Room": "True" + } + }, + { + "region_name": "Ice Cavern Hall to Central Room", + "dungeon": "Ice Cavern", + "room": "2", + #Child can walk between icicles while adult can break them with master sword + "exits": { + "Ice Cavern Lobby Back": "is_child or is_adult", + "Ice Cavern Central Room": "is_child or is_adult" + } + }, + { + "region_name": "Ice Cavern Central Room", + "dungeon": "Ice Cavern", + "room": "3", + #One of the silver rupees is behind icicles that child can't slip through + #Another is too high for child, as is the exit that the rupees unlock + "events": { + "Ice Cavern Room 3 Silver Rupees": "can_climb(92) and can break icicles" + } + "locations": { + "Ice Cavern GS Central Room": "can_use(Hookshot) or can_use(Boomerang)" + } + "exits": { + "Ice Cavern Hall to Central Room": "True", + "Ice Cavern Central Room East": "Blue_Fire", + "Ice Cavern Central Room West": "Blue_Fire", + "Ice Cavern Central Room North": " + can_climb(92) and ('Ice Cavern Room 3 Silver Rupees' or barred_door)" + } + }, + { + "region_name": "Ice Cavern Central Room East", + "dungeon": "Ice Cavern", + "room": "3", + "exits": { + "Ice Cavern Central Room": "True", + "Ice Cavern Side Room": "True" + } + }, + { + "region_name": "Ice Cavern Central Room West", + "dungeon": "Ice Cavern", + "room": "3", + "exits": { + "Ice Cavern Central Room": "True", + "Ice Cavern Hall to Square Pit Room": "True" + } + }, + { + "region_name": "Ice Cavern Central Room North", + "dungeon": "Ice Cavern", + "room": "3", + "exits": { + "Ice Cavern Central Room": "True", + "Ice Cavern Hall to Ice Bridge Room": "True" + } + }, + { + "region_name": "Ice Cavern Hall to Square Pit Room", + "dungeon": "Ice Cavern", + "room": "4", + "exits": { + "Ice Cavern Central Room": "is_child or is_adult", + "Ice Cavern Square Pit Room": "is_child or is_adult" + } + }, + { + "region_name": "Ice Cavern Square Pit Room", + "dungeon": "Ice Cavern", + "room": "5", + "events": { + "Ice Cavern Room 5 Silver Rupees": "Blue_Fire and can_climb(60)" + } + "locations": { + "Ice Cavern GS Push Block Room": "can_use(Hookshot) or can_use(Boomerang)", + "Blue Fire": "has_bottle and can_climb(61)" + } + "exits": { + "Ice Cavern Hall to Square Pit Room": "can_climb(60)", + "Ice Cavern Square Pit Room South": " + can_climb(60) and ('Ice Cavern Room 5 Silver Rupees' or barred_door)" + } + }, + { + "region_name": "Ice Cavern Square Pit Room South", + "dungeon": "Ice Cavern", + "room": "5", + "exits": { + "Ice Cavern Square Pit Room": "True", + "Ice Cavern Hall to Iron Boots North": "True" + } + }, + { + "region_name": "Ice Cavern Hall to Iron Boots North", + "dungeon": "Ice Cavern", + "room": "6", + "exits": { + "Ice Cavern Square Pit Room South": "True", + "Ice Cavern Hall to Iron Boots": "Blue_Fire" + } + }, + { + "region_name": "Ice Cavern Hall to Iron Boots", + "dungeon": "Ice Cavern", + "room": "6", + "exits": { + "Ice Cavern Hall to Iron Boots North": "Blue_Fire", + "Ice Cavern Iron Boots Icefield": "True" + } + }, + { + "region_name": "Ice Cavern Iron Boots Icefield", + "dungeon": "Ice Cavern", + "room": "7", + "events": { + "Ice Cavern Room 7 Enemies": " + is_adult or Slingshot or Sticks or + Kokiri_Sword or can_use(Dins_Fire)" + #Wolfos + } + "locations": { + "Ice Cavern Iron Boots Chest": "'Ice Cavern Room 7 Enemies'", + "Sheik in Ice Cavern": "'Ice Cavern Room 7 Enemies'" + } + "exits": { + "Ice Cavern Hall to Iron Boots": "'Ice Cavern Room 7 Enemies' or barred_door", + #There is a barred floor blocking the exit before the enemies are defeated, but not a barred door + "Ice Cavern Underwater Hall to Lobby": " + 'Ice Cavern Room 7 Enemies' and can_use(Iron_Boots)" + } + }, + { + "region_name": "Ice Cavern Hall to Ice Bridge Room", + "dungeon": "Ice Cavern", + "room": "8", + "exits": { + "Ice Cavern Central Room North": "True", + "Ice Cavern Ice Bridge Room": "True" + } + }, + { + "region_name": "Ice Cavern Ice Bridge Room", + "dungeon": "Ice Cavern", + "room": "9", + "locations": { + "Ice Cavern Map Chest": "can_climb(57) and Blue_Fire", + "Blue Fire": "can_climb(57) and has_bottle" + } + "exits": { + "Ice Cavern Hall to Ice Bridge Room": "can_climb(60)" + } + }, + { + "region_name": "Ice Cavern Underwater Hall to Lobby", + "dungeon": "Ice Cavern", + "room": "10", + "exits": { + "Ice Cavern Lobby": "True", + "Ice Cavern Iron Boots Icefield": "can_use(Iron_Boots)" + } + }, + { + "region_name": "Ice Cavern Side Room", + "dungeon": "Ice Cavern", + "room": "11", + #Icicles block most of the things in the room + "locations": { + "Ice Cavern Compass Chest": "(is_child or is_adult) and Blue_Fire", + "Ice Cavern Freestanding PoH": "(is_child or is_adult) and Blue_Fire", + "Ice Cavern GS Heart Piece Room": "can_use(Hookshot) or can_use(Boomerang)", + "Blue Fire": "(is_child or is_adult) and has_bottle" + } + "exits": { + "Ice Cavern Central Room East": "can_climb(20)" + } + } +] \ No newline at end of file diff --git a/data/Scenes/Dungeons/Jabu Jabus Belly MQ.json b/data/Scenes/Dungeons/Jabu Jabus Belly MQ.json new file mode 100644 index 000000000..c11df7bb6 --- /dev/null +++ b/data/Scenes/Dungeons/Jabu Jabus Belly MQ.json @@ -0,0 +1,407 @@ +[ + { + "region_name": "Jabu Jabus Belly Mouth", + "dungeon": "Jabu Jabus Belly", + "room": "0", + "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 Lobby": "here(can_use(Slingshot))" + } + }, + { + "region_name": "Jabu Jabus Belly Lobby", + "dungeon": "Jabu Jabus Belly", + "room": "1", + "events": { + "Jabu Jabus Belly Room 1 Upper Cow": "can_use(Slingshot)" + }, + "locations": { + "Nut Pot": "can_dive or is_child or logic_jabu_scrub_jump_dive or can_use(Iron_Boots)", + "Jabu Jabus Belly MQ Compass Chest": " + here(can_use(Slingshot)) and + (can_dive or is_child or logic_jabu_scrub_jump_dive or can_use(Iron_Boots))", + "Jabu Jabus Belly MQ Second Room Lower Chest": "True" + }, + "exits": { + "Jabu Jabus Belly Pit Room": " + here(can_dive or is_child or logic_jabu_scrub_jump_dive or can_use(Iron_Boots)) or barred_door", + "Jabu Jabus Belly Water Switch Room South Hall": "'Jabu Jabus Belly MQ Water Spouts'", + "Jabu Jabus Belly Lobby East Hall": " + at('Jabu Jabus Belly Lobby Upper', True) or can_use(Hover_Boots) + or ('Jabu Jabus Belly Room 1 Upper Cow' and can_use(Hookshot))", + "Jabu Jabus Belly Lobby Upper": "False" + } + }, + { + "region_name": "Jabu Jabus Belly Lobby Upper", + "dungeon": "Jabu Jabus Belly", + "room": "1", + "exits": { + "Jabu Jabus Belly Lobby": "True", + "Jabu Jabus Belly Post-Miniboss Room": "True" + } + }, + { + "region_name": "Jabu Jabus Belly Lobby East Hall", + "dungeon": "Jabu Jabus Belly", + "room": "1", + "locations": { + "Jabu Jabus Belly MQ Second Room Upper Chest": "'Jabu Jabus Belly Room 1 Upper Cow'" + }, + "exits": { + "Jabu Jabus Belly Lobby": "True", + "Jabu Jabus Belly Lobby East": "'Jabu Jabus Belly Red Tentacle'" + } + }, + { + "region_name": "Jabu Jabus Belly Lobby East", + "dungeon": "Jabu Jabus Belly", + "room": "1", + "exits": { + "Jabu Jabus Belly Lobby East Hall": " + 'Jabu Jabus Belly Red Tentacle' or + damage_multiplier != 'ohko' or Fairy or can_use(Nayrus_Love)", + "Jabu Jabus Belly Pre-Boss Room": "True" + } + }, + { + "region_name": "Jabu Jabus Belly Pit Room", + "dungeon": "Jabu Jabus Belly", + "room": "2", + "events": { + "Jabu Jabus Belly Room 2 Cow": "has_explosives and can_use(Slingshot)" + }, + "exits": { + "Jabu Jabus Belly Lobby": "True", + "Jabu Jabus Belly Under Pit": "True", + "Jabu Jabus Belly Under Pit North": "True", + "Jabu Jabus Belly Under Pit East": "True", + "Jabu Jabus Belly Under Pit West": "True", + "Jabu Jabus Belly Pit Room North": "can_use(Boomerang) and can_climb(60)" + } + }, + { + "region_name": "Jabu Jabus Belly Pit Room North", + "dungeon": "Jabu Jabus Belly", + "room": "2", + "exits": { + "Jabu Jabus Belly Pit Room": "can_use(Boomerang) and can_climb(60)", + "Jabu Jabus Belly Branching Hallways": "'Jabu Jabus Belly Room 2 Cow' or barred_door" + } + }, + { + "region_name": "Jabu Jabus Belly Under Pit", + "dungeon": "Jabu Jabus Belly", + "room": "3", + "locations": { + "Jabu Jabus Belly MQ Basement Near Vines Chest": "can_use(Slingshot)", + "Jabu Jabus Belly MQ Basement Near Switches Chest": "can_use(Slingshot)" + }, + "exits": { + "Jabu Jabus Belly Pit Room": "True", + "Jabu Jabus Belly Under Pit East": "can_press_floor_switch or can_climb(97)", + "Jabu Jabus Belly Under Pit North": "can_press_floor_switch or can_climb(95)", + "Jabu Jabus Belly Under Pit West": "can_press_floor_switch", + "Jabu Jabus Belly Under Pit Southwest": "'Jabu Jabus Belly Red Tentacle'" + } + }, + { + "region_name": "Jabu Jabus Belly Under Pit North", + "dungeon": "Jabu Jabus Belly", + "room": "3", + "exits": { + "Jabu Jabus Belly Under Pit": "True", + "Jabu Jabus Belly Under Pit East": "can_use(Hover_Boots)" + } + }, + { + "region_name": "Jabu Jabus Belly Under Pit East", + "dungeon": "Jabu Jabus Belly", + "room": "3", + "exits": { + "Jabu Jabus Belly Under Pit": "True", + "Jabu Jabus Belly Under Pit North": "can_use(Hover_Boots)", + #Aside from can_hold_down_switch this normally requires Ruto and I'm not sure how to represent this + "Jabu Jabus Belly Water Switch Room North": " + at('Jabu Jabus Belly Under Pit North', Ruto or can_press_floor_switch) or barred_door" + } + }, + { + "region_name": "Jabu Jabus Belly Under Pit West", + "dungeon": "Jabu Jabus Belly", + "room": "3", + "exits": { + "Jabu Jabus Belly Under Pit": "True", + "Jabu Jabus Belly Under Pit West Hall": "'Jabu Jabus Belly Green Tentacle'" + } + }, + { + "region_name": "Jabu Jabus Belly Under Pit West Hall", + "dungeon": "Jabu Jabus Belly", + "room": "3", + "exits": { + "Jabu Jabus Belly Under Pit West": " + 'Jabu Jabus Belly Green Tentacle' or + damage_multiplier != 'ohko' or Fairy or can_use(Nayrus_Love)", + "Jabu Jabus Belly Miniboss Room": "True" + } + }, + { + "region_name": "Jabu Jabus Belly Under Pit Southwest", + "dungeon": "Jabu Jabus Belly", + "room": "3", + "exits": { + "Jabu Jabus Belly Under Pit": " + 'Jabu Jabus Belly Red Tentacle' or + damage_multiplier != 'ohko' or Fairy or can_use(Nayrus_Love)", + "Jabu Jabus Belly Under Pit Side Room": "'Jabu Jabus Belly Red Tentacle'" + } + }, + { + "region_name": "Jabu Jabus Belly Post-Miniboss Room", + "dungeon": "Jabu Jabus Belly", + "room": "4", + "locations": { + "Jabu Jabus Belly MQ Cow": "can_use(Slingshot) and can_play(Eponas_Song)" + }, + "exits": { + "Jabu Jabus Belly Lobby Upper": " + (can_use(Slingshot) and can_use(Boomerang)) + or (can_climb(120) and can_hold_down_switch)", + "Jabu Jabus Belly Miniboss Room Upper": "True" + } + }, + { + "region_name": "Jabu Jabus Belly Pre-Boss Room", + "dungeon": "Jabu Jabus Belly", + "room": "5", + "locations": { + "Jabu Jabus Belly MQ Near Boss Chest": "can_use(Slingshot)", + "Jabu Jabus Belly MQ GS Near Boss": "can_use(Boomerang)", + "Fairy Pot": "has_bottle" + }, + "exits": { + "Jabu Jabus Belly Lobby East": "True", + "Barinade Arena": "here(can_use(Slingshot))" + } + }, + { + "region_name": "Jabu Jabus Belly Miniboss Room", + "dungeon": "Jabu Jabus Belly", + "room": "6", + "exits": { + "Jabu Jabus Belly Under Pit West Hall": "True", + "Jabu Jabus Belly Miniboss Room Upper": "Bring Ruto and kill Big Octo" + } + }, + { + "region_name": "Jabu Jabus Belly Miniboss Room Upper", + "dungeon": "Jabu Jabus Belly", + "room": "6", + "exits": { + "Jabu Jabus Belly Under Pit West Hall": "True", + "Jabu Jabus Belly Post-Miniboss Room": "can_use(Slingshot)" + } + }, + { + "region_name": "Jabu Jabus Belly Branching Hallways", + "dungeon": "Jabu Jabus Belly", + "room": "7", + "events": { + "Jabu Jabus Belly Room 7 Rocks": "can_blast_or_smash" + }, + "exits": { + "Jabu Jabus Belly Pit Room North": "True", + "Jabu Jabus Belly Branching Hallways W": "'Jabu Jabus Belly Blue Tentacle'", + #Torch is in adjacent room + "Jabu Jabus Belly Branching Hallways E": " + here(has_fire_source or ('Jabu Jabus Belly Room 11 Enemies' and can_use(Sticks)))", + "Jabu Jabus Belly Branching Hallways NW": "'Jabu Jabus Belly Blue Tentacle'", + "Jabu Jabus Belly Branching Hallways NE": "True", + "Jabu Jabus Belly Branching Hallways N": "'Jabu Jabus Belly Room 7 Rocks'" + } + }, + { + "region_name": "Jabu Jabus Belly Branching Hallways W", + "dungeon": "Jabu Jabus Belly", + "room": "7", + "exits": { + "Jabu Jabus Belly Branching Hallways": " + 'Jabu Jabus Belly Blue Tentacle' or + (damage_multiplier != 'ohko' or Fairy or can_use(Nayrus_Love))", + "Jabu Jabus Belly West Chamber": "True" + } + }, + { + "region_name": "Jabu Jabus Belly Branching Hallways E", + "dungeon": "Jabu Jabus Belly", + "room": "7", + "exits": { + "Jabu Jabus Belly Branching Hallways": "True", + "Jabu Jabus Belly East Chamber": "True" + } + }, + { + "region_name": "Jabu Jabus Belly Branching Hallways NW", + "dungeon": "Jabu Jabus Belly", + "room": "7", + "exits": { + "Jabu Jabus Belly Branching Hallways": " + 'Jabu Jabus Belly Blue Tentacle' or + (damage_multiplier != 'ohko' or Fairy or can_use(Nayrus_Love))", + "Jabu Jabus Belly Northwest Chamber": "True" + } + }, + { + "region_name": "Jabu Jabus Belly Branching Hallways NE", + "dungeon": "Jabu Jabus Belly", + "room": "7", + "exits": { + "Jabu Jabus Belly Branching Hallways": "True", + "Jabu Jabus Belly Northeast Chamber": "True" + } + }, + { + "region_name": "Jabu Jabus Belly Branching Hallways N", + "dungeon": "Jabu Jabus Belly", + "room": "7", + "events": { + "Jabu Jabus Belly Room 7 Rocks": "can_blast_or_smash" + }, + "exits": { + "Jabu Jabus Belly Branching Hallways": "'Jabu Jabus Belly Room 7 Rocks'", + #No Ruto, just put down crate from the other part of the room + "Jabu Jabus Belly North Chamber": "'Jabu Jabus Belly Room 7 Rocks'" + } + }, + { + "region_name": "Jabu Jabus Belly North Chamber", + "dungeon": "Jabu Jabus Belly", + "room": "8", + "events": { + "Jabu Jabus Belly Red Tentacle": "can_use(Boomerang)" + }, + "exits": { + "Jabu Jabus Belly Branching Hallways N": "True" + } + }, + { + "region_name": "Jabu Jabus Belly East Chamber", + "dungeon": "Jabu Jabus Belly", + "room": "9", + "events": { + "Jabu Jabus Belly Blue Tentacle": "can_use(Boomerang)" + } + "exits": { + "Jabu Jabus Belly Branching Hallways E": "True" + } + }, + { + "region_name": "Jabu Jabus Belly West Chamber", + "dungeon": "Jabu Jabus Belly", + "room": "10", + "events": { + "Jabu Jabus Belly Green Tentacle": "can_use(Boomerang)" + }, + "exits": { + "Jabu Jabus Belly Branching Hallways W": "True" + } + }, + { + "region_name": "Jabu Jabus Belly Northeast Chamber", + "dungeon": "Jabu Jabus Belly", + "room": "11", + "events": { + "Jabu Jabus Belly Room 11 Enemies": "can_use(Slingshot)" + #Like Likes summoned by shooting cows + } + "locations": { + "Jabu Jabus Belly MQ Falling Like Like Room Chest": "'Jabu Jabus Belly Room 11 Enemies'" + }, + "exits": { + "Jabu Jabus Belly Branching Hallways NE": "'Jabu Jabus Belly Room 11 Enemies' or barred_door" + } + }, + { + "region_name": "Jabu Jabus Belly Northwest Chamber", + "dungeon": "Jabu Jabus Belly", + "room": "12", + "locations": { + "Jabu Jabus Belly MQ GS Tailpasaran Room": " + here((Bombs and can_press_floor_switch) or has_bombchus) + and can_use(Boomerang) or can_use(Hookshot)" + }, + "exits": { + "Jabu Jabus Belly Branching Hallways NW": "True" + } + }, + { + "region_name": "Jabu Jabus Belly Under Pit Side Room", + "dungeon": "Jabu Jabus Belly", + "room": "13", + "locations": { + "Jabu Jabus Belly MQ GS Invisible Enemies Room": " + (can_use(Boomerang) or can_use(Hookshot)) and + ((logic_lens_jabu_mq or can_use(Lens_of_Truth)) or + can_use(Hover_Boots) or (mm_ice_arrows and can_use(Ice_Arrows)))" + }, + "exits": { + "Jabu Jabus Belly Under Pit Southwest": "can_swim" + } + }, + { + "region_name": "Jabu Jabus Belly Water Switch Room North", + "dungeon": "Jabu Jabus Belly", + "room": "14", + "events": { + "Jabu Jabus Belly Room 14 Enemies": " + " + }, + "locations": { + "Jabu Jabus Belly MQ Boomerang Room Small Chest": "True", + "Jabu Jabus Belly MQ Boomerang Chest": "'Jabu Jabus Belly Room 14 Enemies'" + }, + "exits": { + "Jabu Jabus Belly Water Switch Room": "True", + "Jabu Jabus Belly Under Pit East": "True" + } + }, + { + "region_name": "Jabu Jabus Belly Water Switch Room", + "dungeon": "Jabu Jabus Belly", + "room": "14", + "events": { + "Jabu Jabus Belly Room 14 Enemies": " + ", + # + "Jabu Jabus Belly MQ Water Spouts": " + 'Jabu Jabus Belly Room 14 Enemies' and can_press_floor_switch" + #Opening the Boomerang chest lowers the water spouts across MQ Jabu Jabu's Belly + }, + "locations": { + "Jabu Jabus Belly MQ Boomerang Chest": "'Jabu Jabus Belly MQ Water Spouts'", + "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 Water Switch Room North": " + can_press_floor_switch or can_climb(100) or can_use(Hookshot)", + "Jabu Jabus Belly Water Switch Room South Hall": " + (can_press_floor_switch or can_climb(100)) and 'Jabu Jabus Belly MQ Water Spouts'" + } + }, + { + "region_name": "Jabu Jabus Belly Water Switch Room South Hall", + "dungeon": "Jabu Jabus Belly", + "room": "14", + "exits": { + "Jabu Jabus Belly Lobby": "True", + "Jabu Jabus Belly Water Switch Room": "'Jabu Jabus Belly MQ Water Spouts'" + } + } +] diff --git a/data/Scenes/Dungeons/Jabu Jabus Belly.json b/data/Scenes/Dungeons/Jabu Jabus Belly.json new file mode 100644 index 000000000..66cc68da7 --- /dev/null +++ b/data/Scenes/Dungeons/Jabu Jabus Belly.json @@ -0,0 +1,365 @@ +[ + { + "region_name": "Jabu Jabus Belly Mouth", + "dungeon": "Jabu Jabus Belly", + "room": "0", + "exits": { + "Zoras Fountain": "True", + "Jabu Jabus Belly Lobby": "can_use_projectile" + } + }, + { + "region_name": "Jabu Jabus Belly Lobby", + "dungeon": "Jabu Jabus Belly", + "room": "1", + "locations": { + "Jabu Jabus Belly Deku Scrub": "can_stun_deku and + (can_dive or is_child or logic_jabu_scrub_jump_dive or can_use(Iron_Boots))" + }, + "exits": { + "Jabu Jabus Belly Pit Room": "True", + "Jabu Jabus Belly Water Switch Room South Hall": "True", + "Jabu Jabus Belly Lobby East Hall": " + at('Jabu Jabus Belly Lobby Upper', True) or can_use(Hover_Boots)", + "Jabu Jabus Belly Lobby Upper": "False" + } + }, + { + "region_name": "Jabu Jabus Belly Lobby Upper", + "dungeon": "Jabu Jabus Belly", + "room": "1", + "exits": { + "Jabu Jabus Belly Lobby": "True", + "Jabu Jabus Belly Post-Miniboss Room": "True" + } + }, + { + "region_name": "Jabu Jabus Belly Lobby East Hall", + "dungeon": "Jabu Jabus Belly", + "room": "1", + "exits": { + "Jabu Jabus Belly Lobby": "True", + "Jabu Jabus Belly Lobby East": "True" + } + }, + { + "region_name": "Jabu Jabus Belly Lobby East", + "dungeon": "Jabu Jabus Belly", + "room": "1", + "exits": { + "Jabu Jabus Belly Lobby East Hall": "True", + "Jabu Jabus Belly Pre-Boss Room": " + at('Jabu Jabus Belly Lobby Upper', True) or + logic_jabu_boss_gs_adult or can_hold_down_switch or barred_door" + } + }, + { + "region_name": "Jabu Jabus Belly Pit Room", + "dungeon": "Jabu Jabus Belly", + "room": "2", + "exits": { + "Jabu Jabus Belly Lobby": "True", + "Jabu Jabus Belly Under Pit": "True", + "Jabu Jabus Belly Under Pit North": "True", + "Jabu Jabus Belly Under Pit East": "True", + "Jabu Jabus Belly Under Pit West": "'Jabu Jabus Belly Green Tentacle'", + "Jabu Jabus Belly Pit Room North": "True" + } + }, + { + "region_name": "Jabu Jabus Belly Pit Room North", + "dungeon": "Jabu Jabus Belly", + "room": "2", + "exits": { + "Jabu Jabus Belly Pit Room": "True", + "Jabu Jabus Belly Branching Hallways": "True" + } + }, + { + "region_name": "Jabu Jabus Belly Under Pit", + "dungeon": "Jabu Jabus Belly", + "room": "3", + "locations": { + "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)" + }, + "exits": { + "Jabu Jabus Belly Pit Room": "True", + "Jabu Jabus Belly Under Pit East": "can_climb(97)", + "Jabu Jabus Belly Under Pit North": "can_climb(95)", + "Jabu Jabus Belly Under Pit West": "False", + "Jabu Jabus Belly Under Pit Southwest": "True" + } + }, + { + "region_name": "Jabu Jabus Belly Under Pit North", + "dungeon": "Jabu Jabus Belly", + "room": "3", + "locations": { + "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)" + }, + "exits": { + "Jabu Jabus Belly Under Pit": "True", + "Jabu Jabus Belly Under Pit East": "can_use(Hover_Boots)" + } + }, + { + "region_name": "Jabu Jabus Belly Under Pit East", + "dungeon": "Jabu Jabus Belly", + "room": "3", + "exits": { + "Jabu Jabus Belly Under Pit": "True", + "Jabu Jabus Belly Under Pit North": "can_use(Hover_Boots)", + "Jabu Jabus Belly Water Switch Room North": "True" + } + }, + { + "region_name": "Jabu Jabus Belly Under Pit West", + "dungeon": "Jabu Jabus Belly", + "room": "3", + "locations": { + "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)" + }, + "exits": { + "Jabu Jabus Belly Under Pit": "True", + "Jabu Jabus Belly Under Pit West Hall": "True" + } + }, + { + "region_name": "Jabu Jabus Belly Under Pit West Hall", + "dungeon": "Jabu Jabus Belly", + "room": "3", + "exits": { + "Jabu Jabus Belly Under Pit West": "True", + "Jabu Jabus Belly Miniboss Room": "True" + } + }, + { + "region_name": "Jabu Jabus Belly Under Pit Southwest", + "dungeon": "Jabu Jabus Belly", + "room": "3", + "exits": { + "Jabu Jabus Belly Under Pit": "True", + "Jabu Jabus Belly Under Pit Side Room": "True" + } + }, + { + "region_name": "Jabu Jabus Belly Post-Miniboss Room", + "dungeon": "Jabu Jabus Belly", + "room": "4", + "exits": { + "Jabu Jabus Belly Lobby Upper": "can_use(Boomerang) or can_climb(120)", + "Jabu Jabus Belly Miniboss Room Upper": "True" + } + }, + { + "region_name": "Jabu Jabus Belly Pre-Boss Room", + "dungeon": "Jabu Jabus Belly", + "room": "5", + "locations": { + "Jabu Jabus Belly GS Near Boss": "Can kill this skulltula" + }, + "exits": { + "Jabu Jabus Belly Lobby East": "True", + "Barinade Arena": "here(can_use(Boomerang))" + } + }, + { + "region_name": "Jabu Jabus Belly Miniboss Room", + "dungeon": "Jabu Jabus Belly", + "room": "6", + "exits": { + "Jabu Jabus Belly Under Pit West Hall": "True", + "Jabu Jabus Belly Miniboss Room Upper": "Bring Ruto and kill Big Octo" + } + }, + { + "region_name": "Jabu Jabus Belly Miniboss Room Upper", + "dungeon": "Jabu Jabus Belly", + "room": "6", + "locations": { + "Fairy Pot": "has_bottle", + "Nut Pot": "True" + }, + "exits": { + "Jabu Jabus Belly Under Pit West Hall": "True", + "Jabu Jabus Belly Post-Miniboss Room": "True" + } + }, + { + "region_name": "Jabu Jabus Belly Branching Hallways", + "dungeon": "Jabu Jabus Belly", + "room": "7", + "exits": { + "Jabu Jabus Belly Pit Room North": "True", + "Jabu Jabus Belly Branching Hallways W": "True", + "Jabu Jabus Belly Branching Hallways E": "True", + "Jabu Jabus Belly Branching Hallways NW": "'Jabu Jabus Belly Red Tentacle'", + "Jabu Jabus Belly Branching Hallways NE": "'Jabu Jabus Belly Red Tentacle'", + "Jabu Jabus Belly Branching Hallways N": "'Jabu Jabus Belly Blue Tentacle'" + } + }, + #I'm not sure how to represent Ruto in the conditions + { + "region_name": "Jabu Jabus Belly Branching Hallways W", + "dungeon": "Jabu Jabus Belly", + "room": "7", + "exits": { + "Jabu Jabus Belly Branching Hallways": "True", + "Jabu Jabus Belly West Chamber": "Ruto or can_hold_down_switch or barred_door" + } + }, + { + "region_name": "Jabu Jabus Belly Branching Hallways E", + "dungeon": "Jabu Jabus Belly", + "room": "7", + "exits": { + "Jabu Jabus Belly Branching Hallways": "True", + "Jabu Jabus Belly East Chamber": "Ruto or can_hold_down_switch or barred_door" + } + }, + { + "region_name": "Jabu Jabus Belly Branching Hallways NW", + "dungeon": "Jabu Jabus Belly", + "room": "7", + "exits": { + "Jabu Jabus Belly Branching Hallways": " + 'Jabu Jabus Belly Red Tentacle' or + (damage_multiplier != 'ohko' or Fairy or can_use(Nayrus_Love))", + "Jabu Jabus Belly Northwest Chamber": "True" + } + }, + { + "region_name": "Jabu Jabus Belly Branching Hallways NE", + "dungeon": "Jabu Jabus Belly", + "room": "7", + "exits": { + "Jabu Jabus Belly Branching Hallways": " + 'Jabu Jabus Belly Red Tentacle' or + (damage_multiplier != 'ohko' or Fairy or can_use(Nayrus_Love))", + "Jabu Jabus Belly Northeast Chamber": "True" + } + }, + { + "region_name": "Jabu Jabus Belly Branching Hallways N", + "dungeon": "Jabu Jabus Belly", + "room": "7", + "exits": { + "Jabu Jabus Belly Branching Hallways": " + 'Jabu Jabus Belly Blue Tentacle' or + (damage_multiplier != 'ohko' or Fairy or can_use(Nayrus_Love))", + "Jabu Jabus Belly North Chamber": "True" + } + }, + { + "region_name": "Jabu Jabus Belly North Chamber", + "dungeon": "Jabu Jabus Belly", + "room": "8", + "events": { + "Jabu Jabus Belly Green Tentacle": "can_use(Boomerang)" + }, + "exits": { + "Jabu Jabus Belly Branching Hallways N": "'Jabu Jabus Belly Green Tentacle' or barred_door" + } + }, + { + "region_name": "Jabu Jabus Belly East Chamber", + "dungeon": "Jabu Jabus Belly", + "room": "9", + "events": { + "Jabu Jabus Belly Room 9 Enemies": " + Kill all the enemies" + } + "locations": { + "Jabu Jabus Belly Boomerang Chest": "'Jabu Jabus Belly Room 9 Enemies'" + }, + "exits": { + "Jabu Jabus Belly Branching Hallways E": "True" + } + }, + { + "region_name": "Jabu Jabus Belly West Chamber", + "dungeon": "Jabu Jabus Belly", + "room": "10", + "events": { + "Jabu Jabus Belly Red Tentacle": "can_use(Boomerang)" + }, + "locations": { + "Jabu Jabus Belly Map Chest": "'Jabu Jabus Belly Red Tentacle'" + }, + "exits": { + "Jabu Jabus Belly Branching Hallways W": "True" + } + }, + { + "region_name": "Jabu Jabus Belly Northeast Chamber", + "dungeon": "Jabu Jabus Belly", + "room": "11", + "events": { + "Jabu Jabus Belly Blue Tentacle": "can_use(Boomerang)" + }, + "exits": { + "Jabu Jabus Belly Branching Hallways NE": "'Jabu Jabus Belly Blue Tentacle' or barred_door" + } + }, + { + "region_name": "Jabu Jabus Belly Northwest Chamber", + "dungeon": "Jabu Jabus Belly", + "room": "12", + "events": { + "Jabu Jabus Belly Room 12 Enemies": " + Kill a bunch of bubbles" + } + "locations": { + "Jabu Jabus Belly Compass Chest": "'Jabu Jabus Belly Room 12 Enemies'" + }, + "exits": { + "Jabu Jabus Belly Branching Hallways NW": "'Jabu Jabus Belly Room 12 Enemies' or barred_door" + } + }, + { + "region_name": "Jabu Jabus Belly Under Pit Side Room", + "dungeon": "Jabu Jabus Belly", + "room": "13", + "locations": { + "Fairy Pot": " + has_bottle and (can_use(Boomerang) or (mm_ice_arrows and can_use(Ice_Arrows)))" + }, + "exits": { + "Jabu Jabus Belly Under Pit Southwest": "True" + } + }, + { + "region_name": "Jabu Jabus Belly Water Switch Room North", + "dungeon": "Jabu Jabus Belly", + "room": "14", + "exits": { + "Jabu Jabus Belly Water Switch Room": "True", + "Jabu Jabus Belly Under Pit East": "True" + } + }, + { + "region_name": "Jabu Jabus Belly Water Switch Room", + "dungeon": "Jabu Jabus Belly", + "room": "14", + "locations": { + "Jabu Jabus Belly GS Water Switch Room": "can_press_floor_switch", + "Fairy Pot": "has_bottle and can_press_floor_switch" + }, + "exits": { + "Jabu Jabus Belly Water Switch Room North": "can_press_floor_switch or can_climb(100)", + "Jabu Jabus Belly Water Switch Room South Hall": "can_press_floor_switch or can_climb(100)" + } + }, + { + "region_name": "Jabu Jabus Belly Water Switch Room South Hall", + "dungeon": "Jabu Jabus Belly", + "room": "14", + "exits": { + "Jabu Jabus Belly Lobby": "can_use_projectile or barred_door", + "Jabu Jabus Belly Water Switch Room": "True" + } + } +] \ No newline at end of file diff --git a/data/Scenes/Dungeons/Shadow Temple MQ.json b/data/Scenes/Dungeons/Shadow Temple MQ.json new file mode 100644 index 000000000..b9a9784f2 --- /dev/null +++ b/data/Scenes/Dungeons/Shadow Temple MQ.json @@ -0,0 +1,581 @@ +[ + { + "region_name": "Shadow Temple Lobby Entryway", + "dungeon": "Shadow Temple", + "room": "2", + "exits": { + "Graveyard Temple Entrance": "True", + "Shadow Temple Lobby": " + can_use(Hover_Boots) or can_use(Hookshot)" + } + }, + { + "region_name": "Shadow Temple Lobby", + "dungeon": "Shadow Temple", + "room": "2", + "events": { + "Shadow Temple Room 2 Torches": "can_use(Fire_Arrows)" + }, + "exits": { + "Shadow Temple Whispering Wall Maze East": " + (logic_lens_shadow_mq or can_use(Lens_of_Truth) or Shadow_Temple_Dungeon_Map) + and has_explosives and Small_Key_Shadow_Temple", + "Shadow Temple Lobby East": " + (logic_lens_shadow_mq or can_use(Lens_of_Truth)) + and (can_use(Hover_Boots) or 'Shadow Temple Room 2 Torches' + or (logic_shadow_mq_gap and can_use(Longshot)))", + "Shadow Temple Lobby Entryway": " + (logic_lens_shadow_mq or can_use(Lens_of_Truth) or Shadow_Temple_Dungeon_Map) and + (can_use(Hover_Boots) or can_use(Hookshot))" + } + }, + { + "region_name": "Shadow Temple Lobby East", + "dungeon": "Shadow Temple", + "room": "2", + "events": { + "Shadow Temple Room 2 Torches": "has_fire_source" + }, + "exits": { + "Shadow Temple Lobby": "can_use(Hover_Boots) or 'Shadow Temple Room 2 Torches'", + "Shadow Temple First Beamos Room": "True" + } + }, + { + "region_name": "Shadow Temple Whispering Wall Maze East", + "dungeon": "Shadow Temple", + "room": "0", + "locations": { + "Nut Pot": "True" + }, + "exits": { + "Shadow Temple Whispering Wall Maze": " + (can_play(Song_of_Time) or is_child) and + (logic_lens_shadow_mq or can_use(Lens_of_Truth) or Shadow_Temple_Dungeon_Map)", + "Shadow Temple Lobby": " + Still_a_key and (logic_lens_shadow_mq or can_use(Lens_of_Truth) or Shadow_Temple_Dungeon_Map)", + "Shadow Temple Dungeon Map Room": " + logic_lens_shadow_mq or can_use(Lens_of_Truth) or Shadow_Temple_Dungeon_Map" + } + }, + { + "region_name": "Shadow Temple Whispering Wall Maze", + "dungeon": "Shadow Temple", + "room": "0", + "events": { + "Shadow Temple Room 0 Eye Switch": "can_use(Bow) or can_use(Slingshot)" + }, + "exits": { + "Shadow Temple Whispering Wall Maze West": " + 'Shadow Temple Room 0 Eye Switch' and + (logic_lens_shadow_mq or can_use(Lens_of_Truth) or Shadow_Temple_Dungeon_Map)", + "Shadow Temple Whispering Wall Maze East": " + (can_play(Song_of_Time) or is_child) and + (logic_lens_shadow_mq or can_use(Lens_of_Truth) or Shadow_Temple_Dungeon_Map)" + } + }, + { + "region_name": "Shadow Temple Whispering Wall Maze West", + "dungeon": "Shadow Temple", + "room": "0", + "exits": { + "Shadow Temple Dead Hand Room": "True", + "Shadow Temple Whispering Wall Maze": "'Shadow Temple Room 0 Eye Switch'" + } + }, + { + "region_name": "Shadow Temple Dungeon Map Room", + "dungeon": "Shadow Temple", + "room": "1", + "events": { + "Shadow Temple Room 1 Enemies": " + " + #ReDead + }, + "locations": { + "Shadow Temple MQ Compass Chest": "'Shadow Temple Room 1 Enemies'" + }, + "exits": { + "Shadow Temple Whispering Wall Maze East": "'Shadow Temple Room 1 Enemies' or barred_door" + } + }, + { + "region_name": "Shadow Temple Dead Hand Room", + "dungeon": "Shadow Temple", + "room": "4", + "events": { + "Shadow Temple Room 4 Enemies": " + is_adult or Kokiri_Sword or (Sticks and logic_child_deadhand)" + #Dead Hand + }, + "locations": { + "Shadow Temple MQ Hover Boots Chest": "'Shadow Temple Room 4 Enemies'" + }, + "exits": { + "Shadow Temple Whispering Wall Maze West": "'Shadow Temple Room 4 Enemies' or barred_door" + } + }, + { + "region_name": "Shadow Temple First Beamos Room", + "dungeon": "Shadow Temple", + "room": "5", + "exits": { + "Shadow Temple Lobby East": "True", + "Shadow Temple Spinning Scythe Silver Rupee Room": " + logic_lens_shadow_mq or can_use(Lens_of_Truth)", + "Shadow Temple Compass Room": " + logic_lens_shadow_mq or can_use(Lens_of_Truth)", + "Shadow Temple Guillotine Corridor": "has_explosives and Small_Key_Shadow_Temple" + } + }, + { + "region_name": "Shadow Temple Spinning Scythe Silver Rupee Room", + "dungeon": "Shadow Temple", + "room": "6", + "events": { + "Shadow Temple Room 6 Silver Rupees": "can_use(Hookshot) or can_climb(120)", + #Opens a grate in the room where there is an enemy and chest. + "Shadow Temple Room 6 Enemies": " + can_use(Dins_Fire) + or ('Shadow Temple Room 6 Silver Rupees' and (is_adult or can kill skulltulas as child))" + #Skulltulas + #One is behind the grate and can be killed through it with Din's Fire. + }, + "locations": { + "Shadow Temple MQ Map Chest": "'Shadow Temple Room 6 Silver Rupees'" + }, + "exits": { + "Shadow Temple First Beamos Room": "'Shadow Temple Room 6 Enemies' or barred_door", + "Shadow Temple River Styx Shortcut": "True" + } + }, + { + "region_name": "Shadow Temple River Styx Shortcut", + "dungeon": "Shadow Temple", + "room": "21", + "locations": { + "Shadow Temple MQ Near Ship Invisible Chest": " + logic_lens_shadow_mq or can_use(Lens_of_Truth)" + }, + "exits": { + "Shadow Temple Spinning Scythe Silver Rupee Room": "True", + "Shadow Temple River Styx East": "'Shadow Temple Room 21 Pushblock'" + } + }, + { + "region_name": "Shadow Temple Compass Room", + "dungeon": "Shadow Temple", + "room": "7", + "events": { + "Shadow Temple Room 7 Enemies": " + " + #2 Gibdos + }, + "locations": { + "Shadow Temple MQ Early Gibdos Chest": "'Shadow Temple Room 7 Enemies'" + }, + "exits": { + "Shadow Temple First Beamos Room": "'Shadow Temple Room 7 Enemies' or barred_door" + } + }, + { + "region_name": "Shadow Temple Guillotine Corridor", + "dungeon": "Shadow Temple", + "room": "8", + "exits": { + "Shadow Temple First Beamos Room": "Still_a_key", + "Shadow Temple Guillotine Corridor After Ledge": "True" + } + }, + { + "region_name": "Shadow Temple Guillotine Corridor After Ledge", + "dungeon": "Shadow Temple", + "room": "8", + "exits": { + "Shadow Temple Guillotine Corridor": "can_use(Hookshot) or can_climb(160)", + "Shadow Temple Huge Pit Upper": "True" + } + }, + { + "region_name": "Shadow Temple Huge Pit Upper", + "dungeon": "Shadow Temple", + "room": "9", + "exits": { + "Shadow Temple Guillotine Corridor After Ledge": "True", + "Shadow Temple Huge Pit": "True" + } + }, + { + "region_name": "Shadow Temple Huge Pit", + "dungeon": "Shadow Temple", + "room": "9", + "exits": { + "Shadow Temple Huge Pit East": "logic_lens_shadow_mq_back or can_use(Lens_of_Truth)", + "Shadow Temple Huge Pit West": "'Shadow Temple Room 9 Frozen Eye' or logic_shadow_mq_huge_pit" + } + }, + { + "region_name": "Shadow Temple Huge Pit East", + "dungeon": "Shadow Temple", + "room": "9", + "events": { + "Shadow Temple Room 9 Frozen Eye": " + has_fire_source and (logic_lens_shadow_mq_back or can_use(Lens_of_Truth))" + }, + "exits": { + "Shadow Temple Invisible Scythe Statue Room": "True", + "Shadow Temple Huge Pit": "logic_lens_shadow_mq_back or can_use(Lens_of_Truth)" + } + }, + { + "region_name": "Shadow Temple Huge Pit West", + "dungeon": "Shadow Temple", + "room": "9", + "events": { + "Shadow Temple Room 6 Silver Rupees": "can_use(Longshot)", + "Shadow Temple Room 6 Crystal Switch": "is_adult or Kokiri_Sword or has_explosives" + }, + "locations": { + "Shadow Temple MQ Beamos Silver Rupees Chest": "'Shadow Temple Room 6 Silver Rupees'" + }, + "exits": { + "Shadow Temple Huge Pit": "'Shadow Temple Room 9 Frozen Eye' and can_climb(54)", + "Shadow Temple Huge Pit West Hall": "'Shadow Temple Room 6 Crystal Switch'", + "Shadow Temple Huge Pit Northwest": "logic_lens_shadow_mq_back or can_use(Lens_of_Truth)" + } + }, + { + "region_name": "Shadow Temple Huge Pit West Hall", + "dungeon": "Shadow Temple", + "room": "9", + "events": { + "Shadow Temple Room 6 Crystal Switch": "can hit crystal switch" + }, + "exits": { + "Shadow Temple Falling Spikes Room": "True", + "Shadow Temple Huge Pit West": "True" + } + }, + { + "region_name": "Shadow Temple Huge Pit Northwest", + "dungeon": "Shadow Temple", + "room": "9", + "exits": { + "Shadow Temple Invisible Spike Room": "Small_Key_Shadow_Temple and can_use(Hover_Boots)", + "Shadow Temple Huge Pit West": " + (logic_lens_shadow_mq_back or can_use(Lens_of_Truth)) and can_use(Hover_Boots)", + "Shadow Temple Huge Pit Upper": " + (logic_lens_shadow_mq_back or can_use(Lens_of_Truth)) and can_use(Longshot)" + } + }, + { + "region_name": "Shadow Temple Falling Spikes Room", + "dungeon": "Shadow Temple", + "room": "10", + "locations": { + "Shadow Temple MQ Falling Spikes Lower Chest": "True", + "Shadow Temple MQ GS Falling Spikes Room": "can_use(Hookshot) or can_use(Boomerang)" + }, + "exits": { + "Shadow Temple Huge Pit West Hall": "True", + "Shadow Temple Falling Spikes Room Upper": " + (logic_shadow_umbrella and can_use(Hover_Boots)) or + (Progressive_Strength_Upgrade and can_climb(110)) + or can_climb(150)" + } + }, + { + "region_name": "Shadow Temple Falling Spikes Room Upper", + "dungeon": "Shadow Temple", + "room": "10", + "locations": { + "Shadow Temple MQ Falling Spikes Upper Chest": "True", + "Shadow Temple MQ Falling Spikes Switch Chest": "can_press_floor_switch" + }, + "exits": { + "Shadow Temple Falling Spikes Room": "True" + } + }, + { + "region_name": "Shadow Temple Invisible Spike Room", + "dungeon": "Shadow Temple", + "room": "11", + "events": { + "Shadow Temple Room 11 Silver Rupees": " + (logic_lens_shadow_mq_back or can_use(Lens_of_Truth) and can_use(Hookshot)", + "Shadow Temple Room 11 Enemies": " + (logic_lens_shadow_mq_back or can_use(Lens_of_Truth) and defeat ReDeads" + #ReDeads + }, + "locations": { + "Shadow Temple MQ Invisible Spikes Chest": "'Shadow Temple Room 11 Enemies'" + }, + "exits": { + "Shadow Temple Huge Pit Northwest": " + Still_a_key and (logic_lens_shadow_mq_back or can_use(Lens_of_Truth))", + "Shadow Temple Singular Skull Jar Room": " + 'Shadow Temple Room 11 Silver Rupees' or barred_door", + #I think regular Hookshot only works here if you backflip onto chest. + "Shadow Temple Fan Trap Room": "Small_Key_Shadow_Temple and + ((logic_lens_shadow_mq_back or can_use(Lens_of_Truth) and can_use(Longshot))" + } + }, + { + "region_name": "Shadow Temple Invisible Scythe Statue Room", + "dungeon": "Shadow Temple", + "room": "16", + "events": { + "Shadow Temple Room 16 Silver Rupees": " + (logic_lens_shadow_mq_back or can_use(Lens_of_Truth)) + and can_climb(100) and (can_play(Song_of_Time) or is_child)" + }, + "exits": { + "Shadow Temple Huge Pit East": "True", + "Shadow Temple Invisible Scythe Statue Room Cage" : "'Shadow Temple Room 16 Silver Rupees'" + } + }, + { + "region_name": "Shadow Temple Invisible Scythe Statue Room Cage", + "dungeon": "Shadow Temple", + "room": "16", + "locations": { + "Shadow Temple Invisible Blades Visible Chest": "True", + "Shadow Temple Invisible Blades Invisible Chest": "logic_lens_shadow_mq_back or can_use(Lens_of_Truth)" + }, + "exits": { + "Shadow Temple Invisible Scythe Statue Room": "True" + } + }, + { + "region_name": "Shadow Temple Singular Skull Jar Room", + "dungeon": "Shadow Temple", + "room": "14", + "exits": { + "Shadow Temple Invisible Spike Room": "'Shadow Temple Room 14 Enemies' or barred_door", + "Shadow Temple Singular Skull Jar Room Upper": "can_climb(70)" + } + }, + { + "region_name": "Shadow Temple Singular Skull Jar Room Upper", + "dungeon": "Shadow Temple", + "room": "14", + "events": { + "Shadow Temple Room 14 Enemies": " + " + #Stalfos + }, + "locations": { + "Shadow Temple MQ Stalfos Room Chest": "'Shadow Temple Room 14 Enemies'" + }, + "exits": { + "Shadow Temple Singular Skull Jar Room": "True" + } + }, + { + "region_name": "Shadow Temple Fan Trap Room", + "dungeon": "Shadow Temple", + "room": "18", + #There is an annoying skulltula. + "exits": { + "Shadow Temple Invisible Spike Room": "Still_a_key", + "Shadow Temple Fan Trap Room Lower": "can_use(Hookshot) or can_use(Hover_Boots)" + } + }, + { + "region_name": "Shadow Temple Fan Trap Room Lower", + "dungeon": "Shadow Temple", + "room": "18", + "exits": { + "Shadow Temple Fan Trap Room": "can_use(Hookshot) or can_climb(160)", + "Shadow Temple Wind Hint Room": "True", + "Shadow Temple Gibdo Room": "True" + } + }, + { + "region_name": "Shadow Temple Wind Hint Room", + "dungeon": "Shadow Temple", + "room": "19", + "locations": { + "Shadow Temple MQ Wind Hint Chest": "logic_lens_shadow_mq_back or can_use(Lens_of_Truth)", + "Shadow Temple MQ GS Wind Hint Room": "can_use(Hookshot) or can_use(Boomerang)" + }, + "exits": { + "Shadow Temple Fan Trap Room Lower": "True" + } + }, + { + "region_name": "Shadow Temple Gibdo Room", + "dungeon": "Shadow Temple", + "room": "20", + "events": { + "Shadow Temple Room 20 Enemies": " + " + #2 Gibdos + }, + "locations": { + "Shadow Temple MQ After Wind Enemy Chest": "'Shadow Temple Room 20 Enemies'", + "Shadow Temple MQ After Wind Hidden Chest": " + has_explosives and (logic_lens_shadow_mq_back or can_use(Lens_of_Truth))", + "Shadow Temple MQ GS After Wind": "has_explosives", + "Nut Pot": "True" + }, + "exits": { + "Shadow Temple Fan Trap Room Lower": "True", + "Shadow Temple River Styx East": "Small_Key_Shadow_Temple" + } + }, + { + "region_name": "Shadow Temple River Styx East", + "dungeon": "Shadow Temple", + "room": "21", + "events": { + "Shadow Temple Room 21 Pushblock": "Progressive_Strength_Upgrade" + }, + "exits": { + "Shadow Temple River Styx East Dock": " + can_use(Hookshot) or 'Shadow Temple Room 21 Pushblock' or can_climb(105)", + "Shadow Temple Gibdo Room": "Still_a_key", + "Shadow Temple River Styx Shortcut": "'Shadow Temple Room 21 Pushblock'" + } + }, + { + "region_name": "Shadow Temple River Styx East Dock", + "dungeon": "Shadow Temple", + "room": "21", + "exits": { + "Shadow Temple River Styx East": "True", + "Shadow Temple River Styx West Dock": "can_play(Zeldas_Lullaby)" + } + }, + { + "region_name": "Shadow Temple River Styx West Dock", + "dungeon": "Shadow Temple", + "room": "21", + "events": { + "Shadow Temple Shadow Statue": "can_use(Bow) or (logic_shadow_statue and has_bombchus)" + }, + "locations": { + "Shadow Temple MQ GS After Ship": "can_use_projectile" + }, + "exits": { + "Shadow Temple River Styx East Dock": "False", + "Shadow Temple River Styx West": " + 'Shadow Temple Shadow Statue' or ('Shadow Temple Room 21 Eye Switch' and can_use(Longshot))", + "Shadow Temple River Styx West Ledge": "'Shadow Temple Room 21 Eye Switch' and can_use(Longshot)", + "Shadow Temple Invisible Maze": "'Shadow Temple Room 21 Floor Switch' or barred_door" + }, + }, + { + "region_name": "Shadow Temple River Styx West Ledge", + "dungeon": "Shadow Temple", + "room": "21", + "events": { + "Shadow Temple Room 21 Floor Switch": "can_press_floor_switch" + }, + "exits": { + "Shadow Temple River Styx West": "True" + }, + }, + { + "region_name": "Shadow Temple River Styx West", + "dungeon": "Shadow Temple", + "room": "21", + "events": { + "Shadow Temple Shadow Statue": " + has_explosives or can_use(Bow) or Progressive_Strength_Upgrade or can_use(Dins_Fire)", + "Shadow Temple Room 21 Eye Switch": " + can_play(Song_of_Time) and (can_use(Bow) or can_use(Slingshot))" + }, + "exits": { + "Shadow Temple River Styx West Dock": "'Shadow Temple Shadow Statue'", + "Shadow Temple River Styx West Ledge": " + 'Shadow Temple Room 21 Eye Switch' and can_use(Longshot)", + "Shadow Temple Invisible Platforms Room": "True" + }, + }, + { + "region_name": "Shadow Temple Invisible Maze", + "dungeon": "Shadow Temple", + "room": "15", + "exits": { + "Shadow Temple Triplicate Skull Jar Room": "True", + "Shadow Temple Boss Key Room": "Small_Key_Shadow_Temple", + "Shadow Temple Invisible Floormaster Room": "True", + "Shadow Temple River Styx West Dock": "True" + } + }, + { + "region_name": "Shadow Temple Triplicate Skull Jar Room", + "dungeon": "Shadow Temple", + "room": "12", + "locations": { + "Shadow Temple MQ Freestanding Key": "True" + } + "exits": { + "Shadow Temple Invisible Maze": "True", + "Shadow Temple Triplicate Skull Jar Room Upper": "can_climb(70)" + } + }, + { + "region_name": "Shadow Temple Triplicate Skull Jar Room Upper", + "dungeon": "Shadow Temple", + "room": "12", + "exits": { + "Shadow Temple Triplicate Skull Jar Room": "True" + } + }, + { + "region_name": "Shadow Temple Boss Key Room", + "dungeon": "Shadow Temple", + "room": "13", + "locations": { + "Shadow Temple MQ Spike Walls Left Chest": "can_use(Dins_Fire)", + "Shadow Temple MQ Boss Key Chest": "can_use(Dins_Fire)" + }, + "exits": { + "Shadow Temple Invisible Maze": "Still_a_key" + } + }, + { + "region_name": "Shadow Temple Invisible Floormaster Room", + "dungeon": "Shadow Temple", + "room": "17", + "events": { + "Shadow Temple Room 17 Enemies": " + (logic_lens_shadow_mq_back or can_use(Lens_of_Truth)) + and (has_explosives or can_use(Bow) or can_use(Dins_Fire) or Progressive_Strength_Upgrade) + and (is_adult or Kokiri_Sword or (Sticks and logic_child_deadhand))" + #Dead Hand + }, + "locations": { + "Shadow Temple MQ Bomb Flower Chest": "'Shadow Temple Room 17 Enemies'" + }, + "exits": { + "Shadow Temple Invisible Maze": "True" + } + }, + { + "region_name": "Shadow Temple Invisible Platforms Room", + "dungeon": "Shadow Temple", + "room": "3", + "exits": { + "Shadow Temple River Styx West": "True", + "Shadow Temple Invisible Platforms Room Rear": " + (logic_lens_shadow_mq_back or can_use(Lens_of_Truth)) and can_use(Hover_Boots)" + } + }, + { + "region_name": "Shadow Temple Invisible Platforms Room Rear", + "dungeon": "Shadow Temple", + "room": "3", + "locations": { + "Shadow Temple MQ GS Near Boss": " + (logic_lens_shadow_mq_back or can_use(Lens_of_Truth)) and can_use_projectile" + }, + "exits": { + "Shadow Temple Invisible Platforms Room": " + (logic_lens_shadow_mq_back or can_use(Lens_of_Truth)) and can_use(Hover_Boots)", + "Bongo Bongo Arena": "Shadow_Temple_Boss_Key" + } + } +] diff --git a/data/Scenes/Dungeons/Shadow Temple.json b/data/Scenes/Dungeons/Shadow Temple.json new file mode 100644 index 000000000..63cd539f0 --- /dev/null +++ b/data/Scenes/Dungeons/Shadow Temple.json @@ -0,0 +1,545 @@ +[ + { + "region_name": "Shadow Temple Entryway", + "dungeon": "Shadow Temple", + "room": "2", + "exits": { + "Graveyard Temple Entrance": "True", + "Shadow Temple Truthspinner Room": " + can_use(Hover_Boots) or can_use(Hookshot)" + } + }, + { + "region_name": "Shadow Temple Truthspinner Room", + "dungeon": "Shadow Temple", + "room": "2", + "exits": { + "Shadow Temple Whispering Wall Maze East": " + logic_lens_shadow or can_use(Lens_of_Truth) or Shadow_Temple_Dungeon_Map", + "Shadow Temple Truthspinner Room East": " + (logic_lens_shadow or can_use(Lens_of_Truth)) and (can_use(Hover_Boots))", + "Shadow Temple Entryway": " + (logic_lens_shadow or can_use(Lens_of_Truth) or Shadow_Temple_Dungeon_Map) and + (can_use(Hover_Boots) or can_use(Hookshot))" + } + }, + { + "region_name": "Shadow Temple Truthspinner Room East", + "dungeon": "Shadow Temple", + "room": "2", + "exits": { + "Shadow Temple Truthspinner Room": "can_use(Hover_Boots)", + "Shadow Temple First Beamos Room": "True" + } + }, + { + "region_name": "Shadow Temple Whispering Wall Maze East", + "dungeon": "Shadow Temple", + "room": "0", + "locations": { + "Nut Pot": "True" + }, + "exits": { + "Shadow Temple Whispering Wall Maze West": " + logic_lens_shadow or can_use(Lens_of_Truth) or Shadow_Temple_Dungeon_Map", + "Shadow Temple Truthspinner Room": " + logic_lens_shadow or can_use(Lens_of_Truth) or Shadow_Temple_Dungeon_Map", + "Shadow Temple Dungeon Map Room": " + logic_lens_shadow or can_use(Lens_of_Truth) or Shadow_Temple_Dungeon_Map" + } + }, + { + "region_name": "Shadow Temple Whispering Wall Maze", + "dungeon": "Shadow Temple", + "room": "0", + "exits": { + "Shadow Temple Whispering Wall Maze West": " + logic_lens_shadow or can_use(Lens_of_Truth) or Shadow_Temple_Dungeon_Map", + "Shadow Temple Whispering Wall Maze East": " + logic_lens_shadow or can_use(Lens_of_Truth) or Shadow_Temple_Dungeon_Map" + } + }, + { + "region_name": "Shadow Temple Whispering Wall Maze West", + "dungeon": "Shadow Temple", + "room": "0", + "exits": { + "Shadow Temple Dead Hand Room": "True", + "Shadow Temple Whispering Wall Maze": "True" + } + }, + { + "region_name": "Shadow Temple Dungeon Map Room", + "dungeon": "Shadow Temple", + "room": "1", + "events": { + "Shadow Temple Room 1 Enemies": " + " + #Keese and ReDead + }, + "locations": { + "Shadow Temple Map Chest": "'Shadow Temple Room 1 Enemies'" + }, + "exits": { + "Shadow Temple Whispering Wall Maze East": "'Shadow Temple Room 1 Enemies' or barred_door" + } + }, + { + "region_name": "Shadow Temple Dead Hand Room", + "dungeon": "Shadow Temple", + "room": "4", + "events": { + "Shadow Temple Room 4 Enemies": " + is_adult or Kokiri_Sword or (Sticks and logic_child_deadhand)" + #Dead Hand + }, + "locations": { + "Shadow Temple Hover Boots Chest": "'Shadow Temple Room 4 Enemies'" + }, + "exits": { + "Shadow Temple Whispering Wall Maze West": "'Shadow Temple Room 4 Enemies' or barred_door" + } + }, + { + "region_name": "Shadow Temple First Beamos Room", + "dungeon": "Shadow Temple", + "room": "5", + "exits": { + "Shadow Temple Truthspinner Room East": "True", + "Shadow Temple Spinning Scythe Silver Rupee Room": " + logic_lens_shadow or can_use(Lens_of_Truth)", + "Shadow Temple Compass Room": " + logic_lens_shadow or can_use(Lens_of_Truth)", + "Shadow Temple Guillotine Corridor": "has_explosives and Small_Key_Shadow_Temple" + } + }, + { + "region_name": "Shadow Temple Spinning Scythe Silver Rupee Room", + "dungeon": "Shadow Temple", + "room": "6", + "events": { + "Shadow Temple Room 6 Silver Rupees": "can_use(Hookshot) or can_climb(120)" + }, + "locations": { + "Shadow Temple Early Silver Rupee Chest": "'Shadow Temple Room 6 Silver Rupees'" + }, + "exits": { + "Shadow Temple First Beamos Room": "True", + "Shadow Temple River Styx Shortcut": "True" + } + }, + { + "region_name": "Shadow Temple River Styx Shortcut", + "dungeon": "Shadow Temple", + "room": "21", + "exits": { + "Shadow Temple Spinning Scythe Silver Rupee Room": "True", + "Shadow Temple River Styx East": "'Shadow Temple Room 21 Pushblock'" + } + }, + { + "region_name": "Shadow Temple Compass Room", + "dungeon": "Shadow Temple", + "room": "7", + "events": { + "Shadow Temple Room 7 Enemies": " + " + #2 Gibdos + }, + "locations": { + "Shadow Temple Compass Chest": "'Shadow Temple Room 7 Enemies'" + }, + "exits": { + "Shadow Temple First Beamos Room": "'Shadow Temple Room 7 Enemies' or barred_door" + } + }, + { + "region_name": "Shadow Temple Guillotine Corridor", + "dungeon": "Shadow Temple", + "room": "8", + "exits": { + "Shadow Temple First Beamos Room": "Still_a_key", + #Don't know what you need to get past those Skulltulas + "Shadow Temple Guillotine Corridor After Ledge": "True" + } + }, + { + "region_name": "Shadow Temple Guillotine Corridor After Ledge", + "dungeon": "Shadow Temple", + "room": "8", + "exits": { + "Shadow Temple Guillotine Corridor": "can_use(Hookshot) or can_climb(160)", + "Shadow Temple Huge Pit Upper": "True" + } + }, + { + "region_name": "Shadow Temple Huge Pit Upper", + "dungeon": "Shadow Temple", + "room": "9", + "exits": { + "Shadow Temple Guillotine Corridor After Ledge": "True", + "Shadow Temple Huge Pit": "True" + } + }, + { + "region_name": "Shadow Temple Huge Pit", + "dungeon": "Shadow Temple", + "room": "9", + "exits": { + "Shadow Temple Huge Pit East": "logic_lens_shadow_back or can_use(Lens_of_Truth)", + "Shadow Temple Huge Pit West": "True" + } + }, + { + "region_name": "Shadow Temple Huge Pit East", + "dungeon": "Shadow Temple", + "room": "9", + "exits": { + "Shadow Temple Invisible Scythe Statue Room": "True", + "Shadow Temple Huge Pit": "logic_lens_shadow_back or can_use(Lens_of_Truth)" + } + }, + { + "region_name": "Shadow Temple Huge Pit West", + "dungeon": "Shadow Temple", + "room": "9", + "events": { + "Shadow Temple Room 6 Silver Rupees": "True" + }, + "exits": { + "Shadow Temple Huge Pit": "True", + "Shadow Temple Huge Pit West Hall": "'Shadow Temple Room 6 Silver Rupees'", + "Shadow Temple Huge Pit Northwest": "logic_lens_shadow_back or can_use(Lens_of_Truth)" + } + }, + { + "region_name": "Shadow Temple Huge Pit West Hall", + "dungeon": "Shadow Temple", + "room": "9", + "exits": { + "Shadow Temple Falling Spikes Room": "True", + "Shadow Temple Huge Pit West": "True" + } + }, + { + "region_name": "Shadow Temple Huge Pit Northwest", + "dungeon": "Shadow Temple", + "room": "9", + "exits": { + "Shadow Temple Invisible Spike Room": "Small_Key_Shadow_Temple", + "Shadow Temple Huge Pit West": "logic_lens_shadow_back or can_use(Lens_of_Truth)", + "Shadow Temple Huge Pit Upper": " + (logic_lens_shadow_back or can_use(Lens_of_Truth) and can_use(Longshot)" + } + }, + { + "region_name": "Shadow Temple Falling Spikes Room", + "dungeon": "Shadow Temple", + "room": "10", + "locations": { + "Shadow Temple Falling Spikes Lower Chest": "True", + "Shadow Temple GS Falling Spikes Room": "can_use(Hookshot) or can_use(Boomerang)" + }, + "exits": { + "Shadow Temple Huge Pit West Hall": "True", + "Shadow Temple Falling Spikes Room Upper": " + (logic_shadow_umbrella and can_use(Hover_Boots)) or + (Progressive_Strength_Upgrade and can_climb(110)) + or can_climb(150)" + } + }, + { + "region_name": "Shadow Temple Falling Spikes Room Upper", + "dungeon": "Shadow Temple", + "room": "10", + "locations": { + "Shadow Temple Falling Spikes Upper Chest": "True", + "Shadow Temple Falling Spikes Switch Chest": "can_press_floor_switch" + }, + "exits": { + "Shadow Temple Falling Spikes Room": "True" + } + }, + { + "region_name": "Shadow Temple Invisible Spike Room", + "dungeon": "Shadow Temple", + "room": "11", + "events": { + "Shadow Temple Room 11 Silver Rupees": " + (logic_lens_shadow_back or can_use(Lens_of_Truth) and can_use(Hookshot)", + "Shadow Temple Room 11 Enemies": " + (logic_lens_shadow_back or can_use(Lens_of_Truth) and defeat ReDeads" + #ReDeads + }, + "locations": { + "Shadow Temple Invisible Spikes Chest": "'Shadow Temple Room 11 Enemies'" + }, + "exits": { + "Shadow Temple Huge Pit Northwest": " + Still_a_key and (logic_lens_shadow_back or can_use(Lens_of_Truth))", + "Shadow Temple Singular Skull Jar Room": " + 'Shadow Temple Room 11 Silver Rupees' or barred_door", + #I think regular Hookshot only works here if you backflip onto chest. + "Shadow Temple Fan Trap Room": "Small_Key_Shadow_Temple and + ((logic_lens_shadow_back or can_use(Lens_of_Truth) and can_use(Longshot))" + } + }, + { + "region_name": "Shadow Temple Invisible Scythe Statue Room", + "dungeon": "Shadow Temple", + "room": "16", + "events": { + "Shadow Temple Room 16 Enemies": " + " + # + }, + "exits": { + "Shadow Temple Huge Pit East": "True", + "Shadow Temple Invisible Scythe Statue Room Cage" : "'Shadow Temple Room 16 Enemies'" + } + }, + { + "region_name": "Shadow Temple Invisible Scythe Statue Room Cage", + "dungeon": "Shadow Temple", + "room": "16", + "locations": { + "Shadow Temple Invisible Blades Visible Chest": "True", + "Shadow Temple Invisible Blades Invisible Chest": "logic_lens_shadow_back or can_use(Lens_of_Truth)", + "Shadow Temple GS Like Like Room": "True" + }, + "exits": { + "Shadow Temple Invisible Scythe Statue Room": "True" + } + }, + { + "region_name": "Shadow Temple Singular Skull Jar Room", + "dungeon": "Shadow Temple", + "room": "14", + "events": { + "Shadow Temple Room 14 Enemies": " + " + #Keese + }, + "locations": { + "Shadow Temple GS Single Giant Pot": "Just need to be able to kill it", + "Shadow Temple Freestanding Key": "logic_shadow_freestanding_key and has_bombchus" + }, + "exits": { + "Shadow Temple Invisible Spike Room": "'Shadow Temple Room 14 Enemies' or barred_door", + "Shadow Temple Singular Skull Jar Room Upper": "can_climb(70)" + } + }, + { + "region_name": "Shadow Temple Singular Skull Jar Room Upper", + "dungeon": "Shadow Temple", + "room": "14", + "locations": { + "Shadow Temple Freestanding Key": "Bombs or Progressive_Strength_Upgrade" + }, + "exits": { + "Shadow Temple Singular Skull Jar Room": "True" + } + }, + { + "region_name": "Shadow Temple Fan Trap Room", + "dungeon": "Shadow Temple", + "room": "18", + #There is an annoying skulltula. + "exits": { + "Shadow Temple Invisible Spike Room": "Still_a_key", + "Shadow Temple Fan Trap Room Lower": "can_use(Hookshot) or can_use(Hover_Boots)" + } + }, + { + "region_name": "Shadow Temple Fan Trap Room Lower", + "dungeon": "Shadow Temple", + "room": "18", + "exits": { + "Shadow Temple Fan Trap Room": "can_use(Hookshot) or can_climb(160)", + "Shadow Temple Wind Hint Room": "True", + "Shadow Temple Gibdo Room": "True" + } + }, + { + "region_name": "Shadow Temple Wind Hint Room", + "dungeon": "Shadow Temple", + "room": "19", + "events": { + "Shadow Temple Room 19 Enemies": " + " + #Some ReDeads + }, + "locations": { + "Shadow Temple Wind Hint Chest": "logic_lens_shadow_back or can_use(Lens_of_Truth)" + }, + "exits": { + "Shadow Temple Fan Trap Room Lower": "'Shadow Temple Room 19 Enemies' or barred_door" + } + }, + { + "region_name": "Shadow Temple Gibdo Room", + "dungeon": "Shadow Temple", + "room": "20", + "events": { + "Shadow Temple Room 20 Enemies": " + " + #2 Gibdos + }, + "locations": { + "Shadow Temple After Wind Enemy Chest": "'Shadow Temple Room 20 Enemies'", + "Shadow Temple After Wind Hidden Chest": " + has_explosives and (logic_lens_shadow_back or can_use(Lens_of_Truth))", + "Nut Pot": "True" + }, + "exits": { + "Shadow Temple Fan Trap Room Lower": "'Shadow Temple Room 20 Enemies' or barred_door", + "Shadow Temple River Styx East": "Small_Key_Shadow_Temple" + } + }, + { + "region_name": "Shadow Temple River Styx East", + "dungeon": "Shadow Temple", + "room": "21", + "events": { + "Shadow Temple Room 21 Pushblock": "Progressive_Strength_Upgrade" + }, + "exits": { + "Shadow Temple River Styx East Dock": " + can_use(Hookshot) or 'Shadow Temple Room 21 Pushblock' or can_climb(105)", + "Shadow Temple Gibdo Room": "Still_a_key", + "Shadow Temple River Styx Shortcut": "'Shadow Temple Room 21 Pushblock'" + } + }, + { + "region_name": "Shadow Temple River Styx East Dock", + "dungeon": "Shadow Temple", + "room": "21", + "locations": { + "Shadow Temple GS Near Ship": "can_use(Longshot)" + }, + "exits": { + "Shadow Temple River Styx East": "True", + "Shadow Temple River Styx West Dock": "can_play(Zeldas_Lullaby)" + } + }, + { + "region_name": "Shadow Temple River Styx West Dock", + "dungeon": "Shadow Temple", + "room": "21", + "events": { + "Shadow Temple Shadow Statue": "can_use(Bow) or (logic_shadow_statue and has_bombchus)" + }, + "exits": { + "Shadow Temple River Styx East Dock": "False", + "Shadow Temple River Styx West": "'Shadow Temple Shadow Statue'", + "Shadow Temple River Styx West Ledge": "can_use(Distant_Scarecrow)", + "Shadow Temple Invisible Maze": "True" + }, + }, + { + "region_name": "Shadow Temple River Styx West Ledge", + "dungeon": "Shadow Temple", + "room": "21", + "exits": { + "Shadow Temple River Styx West": "True" + }, + }, + { + "region_name": "Shadow Temple River Styx West", + "dungeon": "Shadow Temple", + "room": "21", + "events": { + "Shadow Temple Shadow Statue": " + has_explosives or can_use(Bow) or Progressive_Strength_Upgrade or can_use(Dins_Fire)" + }, + "exits": { + "Shadow Temple River Styx West Dock": "'Shadow Temple Shadow Statue'", + "Shadow Temple River Styx West Ledge": " + can_use(Distant_Scarecrow) and + (((is_adult or can_play(Song_of_Time)) and can_climb(100)) or can_climb(162))", + "Shadow Temple Invisible Platforms Room": "Small_Key_Shadow_Temple" + }, + }, + { + "region_name": "Shadow Temple Invisible Maze", + "dungeon": "Shadow Temple", + "room": "15", + "exits": { + "Shadow Temple Triplicate Skull Jar Room": "True", + "Shadow Temple Boss Key Room": "True", + "Shadow Temple Invisible Floormaster Room": "True", + "Shadow Temple River Styx West Dock": "True" + } + }, + { + "region_name": "Shadow Temple Triplicate Skull Jar Room", + "dungeon": "Shadow Temple", + "room": "12", + "locations": { + "Shadow Temple GS Triple Giant Pot": "can_use(Hookshot) or can_use(Boomerang)" + } + "exits": { + "Shadow Temple Invisible Maze": "True", + "Shadow Temple Triplicate Skull Jar Room Upper": "can_climb(70)" + } + }, + { + "region_name": "Shadow Temple Triplicate Skull Jar Room Upper", + "dungeon": "Shadow Temple", + "room": "12", + "locations": { + "Shadow Temple GS Triple Giant Pot": "As long as you can hit it or have Progressive_Strength_Upgrade" + }, + "exits": { + "Shadow Temple Triplicate Skull Jar Room": "True" + } + }, + { + "region_name": "Shadow Temple Boss Key Room", + "dungeon": "Shadow Temple", + "room": "13", + "locations": { + "Shadow Temple Spike Walls Left Chest": "can_use(Dins_Fire)", + "Shadow Temple Boss Key Chest": "can_use(Dins_Fire)" + }, + "exits": { + "Shadow Temple Invisible Maze": "True" + } + }, + { + "region_name": "Shadow Temple Invisible Floormaster Room", + "dungeon": "Shadow Temple", + "room": "17", + "events": { + "Shadow Temple Room 17 Enemies": " + Defeat all enemies" + #Invisible floormasters + }, + "locations": { + "Shadow Temple Invisible Floormaster Chest": "'Shadow Temple Room 17 Enemies'" + }, + "exits": { + "Shadow Temple Invisible Maze": "'Shadow Temple Room 17 Enemies' or barred_door" + } + }, + { + "region_name": "Shadow Temple Invisible Platforms Room", + "dungeon": "Shadow Temple", + "room": "3", + "exits": { + "Shadow Temple River Styx West": "Still_a_key", + "Shadow Temple Invisible Platforms Room Rear": " + (logic_lens_shadow_back or can_use(Lens_of_Truth)) and can_use(Hover_Boots)" + } + }, + { + "region_name": "Shadow Temple Invisible Platforms Room Rear", + "dungeon": "Shadow Temple", + "room": "3", + "exits": { + "Shadow Temple Invisible Platforms Room": " + (logic_lens_shadow_back or can_use(Lens_of_Truth)) and can_use(Hover_Boots)", + "Bongo Bongo Arena": "Shadow_Temple_Boss_Key" + } + } +] \ No newline at end of file diff --git a/data/Scenes/Dungeons/Spirit Temple MQ.json b/data/Scenes/Dungeons/Spirit Temple MQ.json new file mode 100644 index 000000000..d9f4da1d6 --- /dev/null +++ b/data/Scenes/Dungeons/Spirit Temple MQ.json @@ -0,0 +1,707 @@ +[ + { + "region_name": "Spirit Temple Lobby", + "dungeon": "Spirit Temple", + "room": "0", + "events": { + "Spirit Temple Room 0 Ceiling Rock": "has_bombchus" + }, + "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)", + "Spirit Temple MQ Entrance Front Right Chest": "'Spirit Temple Room 0 Silver Rupees'" + }, + "exits": { + "Desert Colossus": "True", + "Spirit Temple First Child Room": "is_child", + "Spirit Temple Lobby East": "False", + "Spirit Temple Shortcut Room South": "'Spirit Temple Room 0 Ceiling Rock' and can_use(Longshot)" + } + }, + { + "region_name": "Spirit Temple Lobby East", + "dungeon": "Spirit Temple", + "room": "0", + "events": { + "Spirit Temple Room 0 Silver Rupees": "can_use(Megaton_Hammer)" + }, + "exits": { + "Spirit Temple Lobby": "can_use(Megaton_Hammer)", + "Spirit Temple Rolling Boulder Room": "Small_Key_Spirit_Temple", + "Spirit Temple Sandy Lullaby Room": "True", + "Spirit Temple Wallmaster Room 1F": "True" + } + }, + { + "region_name": "Spirit Temple First Child Room", + "dungeon": "Spirit Temple", + "room": "1", + "events": { + "Spirit Temple Room 1 Enemies": " + is_adult or Sticks or Kokiri_Sword or has_explosives" + }, + "locations": { + "Spirit Temple MQ Child Hammer Switch Chest": "'Spirit Temple Room 1 Rusted Switch'" + }, + "exits": { + "Spirit Temple Lobby": "is_child", + "Spirit Temple Cage Crossing Room Front": "'Spirit Temple Room 1 Enemies' or barred_door", + "Spirit Temple Child Enemy Pit Room Front": "'Spirit Temple Room 1 Enemies' or barred_door", + "Spirit Temple First Child Room Rear": "is_child" + } + }, + { + "region_name": "Spirit Temple First Child Room Rear", + "dungeon": "Spirit Temple", + "room": "1", + "events": { + "Spirit Temple Room 1 Rusted Switch": "can_use(Megaton_Hammer)" + }, + "exits": { + "Spirit Temple First Child Room": "is_child", + "Spirit Temple Rock Light Room": "Small_Key_Spirit_Temple" + } + }, + { + "region_name": "Spirit Temple Cage Crossing Room Front", + "dungeon": "Spirit Temple", + "room": "2", + "events": { + "Spirit Temple Room 2 Floor Switch": "can_press_floor_switch", + "Spirit Temple Room 2 Eye Switch": " + 'Spirit Temple Room 2 Floor Switch' and has_bombchus + and (can_use(Slingshot) or can_use(Bow))", + "Spirit Temple Room 2 Enemies": " + can kill Gibdos and 'Spirit Temple Room 2 Floor Switch' and + ('Spirit Temple Room 2 Eye Switch' or can_use(Hover_Boots) or can_use(Hookshot))" + #Gibdos + }, + "exits": { + "Spirit Temple First Child Room": "True", + "Spirit Temple Cage Crossing Room": " + 'Spirit Temple Room 2 Floor Switch' and + ('Spirit Temple Room 2 Eye Switch' or can_use(Hover_Boots) or can_use(Hookshot))" + } + }, + { + "region_name": "Spirit Temple Cage Crossing Room", + "dungeon": "Spirit Temple", + "room": "2", + "events": { + "Spirit Temple Room 2 Eye Switch": "can_use(Slingshot) or can_use(Bow)", + "Spirit Temple Room 2 Enemies": " + can kill Gibdos and 'Spirit Temple Room 2 Floor Switch' and + ('Spirit Temple Room 2 Eye Switch' or can_use(Hover_Boots))" + #Gibdos + }, + "exits": { + "Spirit Temple Cage Crossing Room Front": " + 'Spirit Temple Room 2 Floor Switch' and + ('Spirit Temple Room 2 Eye Switch' or can_use(Hover_Boots))", + "Spirit Temple Child Enemy Pit Room": "'Spirit Temple Room 2 Enemies' or barred_door" + } + }, + { + "region_name": "Spirit Temple Child Enemy Pit Room Front", + "dungeon": "Spirit Temple", + "room": "3", + "events": { + "Spirit Temple Room 3 Enemies": " + (Can kill all the Keese and has_fire_source_with_torch) or can_use(Bow)" + #Keese and Anubis + }, + "locations": { + "Spirit Temple MQ Map Chest": "True" + }, + "exits": { + "Spirit Temple First Child Room": "True", + "Spirit Temple Child Enemy Pit Room": " + 'Spirit Temple Room 3 Bridge' + or can_use(Hookshot) or can_use(Hover_Boots)" + } + }, + { + "region_name": "Spirit Temple Child Enemy Pit Room", + "dungeon": "Spirit Temple", + "room": "3", + "events": { + "Spirit Temple Room 3 Bridge": "can_press_floor_switch", + "Spirit Temple Room 3 Enemies": " + (Can kill all the Keese and has_fire_source_with_torch) or can_use(Bow)" + #Keese and Anubis + }, + "locations": { + "Spirit Temple MQ Map Room Enemy Chest": "'Spirit Temple Room 3 Enemies'" + }, + "exits": { + "Spirit Temple Child Enemy Pit Room Front": " + 'Spirit Temple Room 3 Bridge' + or can_use(Hookshot) or can_use(Hover_Boots)", + "Spirit Temple Child Enemy Pit Room": "True" + } + }, + { + "region_name": "Spirit Temple Child Enemy Pit Room West", + "dungeon": "Spirit Temple", + "room": "27", + "exits": { + "Spirit Temple Child Enemy Pit Room": "'Spirit Temple Room 27 Enemies'", + "Spirit Temple Child Enemy Pit Room": "'Spirit Temple Room 27 Enemies' or barred_door" + } + }, + { + "region_name": "Spirit Temple Child Enemy Pit Room", + "dungeon": "Spirit Temple", + "room": "27", + "events": { + "Spirit Temple Room 27 Enemies": " + " + #Stalfos + }, + "locations": { + "Fairy Pot": "has_bottle and 'Spirit Temple Room 27 Enemies'" + }, + "exits": { + "Spirit Temple Cage Crossing Room": "True", + "Spirit Temple Child Enemy Pit Room West": "'Spirit Temple Room 27 Enemies'" + } + }, + { + "region_name": "Spirit Temple Rock Light Room 1F", + "dungeon": "Spirit Temple", + "room": "4", + "exits": { + "Spirit Temple First Child Room Rear": "Still_a_key", + "Spirit Temple Rock Light Room 2F": "Can hit crystal switch" + } + }, + { + "region_name": "Spirit Temple Rock Light Room 2F", + "dungeon": "Spirit Temple", + "room": "4", + "events": { + "Spirit Temple Room 4 Enemies": " + " + # + }, + "locations": { + "Spirit Temple MQ Child Climb North Chest": "'Spirit Temple Room 4 Enemies'", + "Spirit Temple MQ Child Climb South Chest": " + (has_explosives or (mm_light_arrows and can_use(Light_Arrows))) + and (can_use(Hookshot) or can_climb(126))" + }, + "exits": { + "Spirit Temple Rock Light Room 1F": "Can hit crystal switch", + "Spirit Temple Central Chamber": "Small_Key_Spirit_Temple" + } + }, + { + "region_name": "Spirit Temple Central Chamber", + "dungeon": "Spirit Temple", + "room": "5", + "events": { + "Spirit Temple Statue Face": "mm_light_arrows and can_use(Light_Arrows)", + "Spirit Temple Room 5 Frozen Eye": " + has_fire_source or + (logic_spirit_mq_frozen_eye and can_use(Bow) and can_play(Song_of_Time))", + "Spirit Temple Room 5 Torches": " + can_use(Fire_Arrows) or + (logic_spirit_mq_lower_adult and can_use(Dins_Fire) and can_use(Bow))" + }, + "locations": { + "Spirit Temple MQ Compass Chest": "can_use(Bow) or can_use(Slingshot)", + "Spirit Temple MQ Statue Room Lullaby Chest": "'Spirit Temple Room 5 Lullaby'", + "Spirit Temple Map Chest": "can_use_fire_source_with_torch or (logic_spirit_map_chest and can_use(Bow))", + "Spirit Temple GS Lobby": "can_use(Longshot)" + }, + "exits": { + "Spirit Temple Rock Light Room 2F": "Still_a_key", + "Spirit Temple Western 3F Corridor": " + can_play(Song_of_Time) or can_hold_down_switch or barred_door", + "Spirit Temple Shortcut Room": "'Spirit Temple Room 5 Frozen Eye' or barred_door", + "Spirit Temple Central Chamber Adult Stairs": "can_use(Hookshot) or can_climb(147)", + "Spirit Temple Central Chamber Northwest Ledge": " + can_use(Hover_Boots) or can_play(Song_of_Time) or can_climb(480)", + "Spirit Temple Central Chamber Right Arm": "True", + "Spirit Temple Central Chamber Northeast Ledge": "can_climb(480)", + "Spirit Temple Central Chamber Hanging Platform": " + 'Spirit Temple Room 25 Sun Switch' and can_use(Longshot)" + } + }, + { + "region_name": "Spirit Temple Central Chamber Northwest Ledge", + "dungeon": "Spirit Temple", + "room": "5", + "events": { + "Spirit Temple Statue Face": "mm_light_arrows and can_use(Light_Arrows)" + }, + "locations": { + "Spirit Temple GS Lobby": "can kill skulltula in any way" + }, + "exits": { + "Spirit Temple Central Chamber": "True", + "Spirit Temple Central Chamber Right Arm": "True", + "Spirit Temple Central Chamber Hanging Platform": " + 'Spirit Temple Room 25 Sun Switch' and can_use(Longshot)" + } + }, + { + "region_name": "Spirit Temple Central Chamber Right Arm", + "dungeon": "Spirit Temple", + "room": "5", + "events": { + "Spirit Temple Statue Face": "mm_light_arrows and can_use(Light_Arrows)" + }, + "exits": { + "Spirit Temple Central Chamber": "True", + "Spirit Temple Central Chamber Northwest Ledge": "False", + "Spirit Temple Central Chamber Hanging Platform": " + 'Spirit Temple Room 25 Sun Switch' and can_use(Hookshot)", + "Spirit Temple Central Chamber Inside Statue": " + 'Spirit Temple Statue Face' and can_use(Longshot)" + } + }, + { + "region_name": "Spirit Temple Central Chamber Adult Stairs", + "dungeon": "Spirit Temple", + "room": "5", + "events": { + "Spirit Temple Statue Face": "mm_light_arrows and can_use(Light_Arrows)" + }, + "exits": { + "Spirit Temple Central Chamber": "True", + "Spirit Temple Central Chamber Left Arm": "True", + "Spirit Temple Central Chamber Northeast Ledge": " + can_use(Hover_Boots) or ((logic_lens_spirit_mq or can_use(Lens_of_Truth)) and can_use(Longshot))", + "Spirit Temple Wallmaster Room 2F": "'Spirit Temple Room 5 Torches' or barred_door", + "Spirit Temple Eastern 3F Corridor": "Small_Key_Spirit_Temple", + "Spirit Temple Central Chamber Hanging Platform": " + 'Spirit Temple Room 25 Sun Switch' and can_use(Longshot)" + } + }, + { + "region_name": "Spirit Temple Central Chamber Northeast Ledge", + "dungeon": "Spirit Temple", + "room": "5", + "events": { + "Spirit Temple Statue Face": "mm_light_arrows and can_use(Light_Arrows)" + }, + "locations": { + "Spirit Temple MQ Statue Room Invisible Chest": "logic_lens_spirit_mq or can_use(Lens_of_Truth)" + }, + "exits": { + "Spirit Temple Central Chamber": "True", + "Spirit Temple Central Chamber Adult Stairs": "can_use(Hover_Boots) or can_use(Longshot)", + "Spirit Temple Central Chamber Left Arm": "True", + "Spirit Temple Central Chamber Hanging Platform": " + 'Spirit Temple Room 25 Sun Switch' and can_use(Longshot)" + } + }, + { + "region_name": "Spirit Temple Central Chamber Left Arm", + "dungeon": "Spirit Temple", + "room": "5", + "events": { + "Spirit Temple Room 5 Lullaby": "can_play(Zeldas_Lullaby)", + "Spirit Temple Statue Face": "mm_light_arrows and can_use(Light_Arrows)" + }, + "exits": { + "Spirit Temple Central Chamber": "True", + "Spirit Temple Central Chamber Adult Stairs": "True", + "Spirit Temple Central Chamber Northeast Ledge": " + can_use(Hookshot) and (logic_lens_spirit_mq or can_use(Lens_of_Truth))", + "Spirit Temple Central Chamber Right Arm": "False", + "Spirit Temple Central Chamber Hanging Platform": " + 'Spirit Temple Room 25 Sun Switch' and can_use(Hookshot)", + "Spirit Temple Central Chamber Inside Statue": " + 'Spirit Temple Statue Face' and can_use(Longshot)" + } + }, + { + "region_name": "Spirit Temple Shortcut Room", + "dungeon": "Spirit Temple", + "room": "6", + "locations": { + "Spirit Temple MQ Silver Block Hallway Chest": " + can_use(Bow) or can_use(Slingshot)" + }, + "exits": { + "Spirit Temple Shortcut Room South": "is_adult and 'Spirit Temple Room 6 Heavy Blocks'", + "Spirit Temple Central Chamber": "True" + } + }, + { + "region_name": "Spirit Temple Shortcut Room South", + "dungeon": "Spirit Temple", + "room": "6", + "events": { + "Spirit Temple Room 6 Heavy Blocks": "can_use(Silver_Gauntlets)" + }, + "exits": { + "Spirit Temple Lobby": "True", + "Spirit Temple Shortcut Room": " + is_adult and 'Spirit Temple Room 6 Heavy Blocks'" + } + }, + { + "region_name": "Spirit Temple Western 3F Corridor", + "dungeon": "Spirit Temple", + "room": "7", + "exits": { + "Spirit Temple Central Chamber": "True", + "Spirit Temple Sun Block Room": "True" + } + }, + { + "region_name": "Spirit Temple Sun Block Room", + "dungeon": "Spirit Temple", + "room": "8", + "locations": { + "Spirit Temple MQ Sun Block Room Chest": "True", + "Spirit Temple MQ GS Sun Block Room": " + (logic_spirit_mq_sun_block_gs and can_use(Boomerang)) or can_use(Hookshot)" + }, + "exits": { + #Just pull sun block into light + "Spirit Temple Western 3F Corridor": "True or barred_door", + "Spirit Temple Hall to Child Iron Knuckle Room": "True or barred_door" + } + }, + { + "region_name": "Spirit Temple Hall to Child Iron Knuckle Room", + "dungeon": "Spirit Temple", + "room": "9", + "exits": { + "Spirit Temple Sun Block Room": "True", + "Spirit Temple Child Iron Knuckle Room": "Small_Key_Spirit_Temple" + } + }, + { + "region_name": "Spirit Temple Child Iron Knuckle Room", + "dungeon": "Spirit Temple", + "room": "10", + "events": { + "Spirit Temple Room 10 Enemies": " + " + #Iron Knuckle + }, + "exits": { + "Spirit Temple Hall to Child Iron Knuckle Room": "Still_a_key", + "Spirit Temple Exit to Right Hand": "'Spirit Temple Room 10 Enemies' or barred_door" + } + }, + { + "region_name": "Spirit Temple Exit to Right Hand", + "dungeon": "Spirit Temple", + "room": "11", + "exits": { + "Spirit Temple Outdoor Right Hand": "True", + "Spirit Temple Child Iron Knuckle Room": "True" + } + }, + { + "region_name": "Spirit Temple Outdoor Right Hand", + "dungeon": "Spirit Temple", + "time_passes": true, + "locations": { + "Spirit Temple Silver Gauntlets Chest": "True" + }, + "exits": { + "Spirit Temple Exit to Right Hand": "True", + "Desert Colossus": "True", + "Spirit Temple Outdoor Left Hand": "'Spirit Temple Mirror Shield Chest Spawn' and can_use(Longshot)" + } + }, + { + "region_name": "Spirit Temple Rolling Boulder Room", + "dungeon": "Spirit Temple", + "room": "13", + "exits": { + "Spirit Temple Lobby East": "Still_a_key", + "Spirit Temple 1F Treasure Room": " + here(can_use(Megaton_Hammer) and Ocarina and + Song_of_Time and Eponas_Song and Suns_Song and + Song_of_Storms and Zeldas_Lullaby) or barred_door" + } + }, + { + "region_name": "Spirit Temple 1F Treasure Room", + "dungeon": "Spirit Temple", + "room": "12", + "locations": { + "Spirit Temple MQ Symphony Room Chest": "True", + "Spirit Temple MQ GS Symphony Room": "can_use(Hookshot) or can_use(Boomerang)" + }, + "exits": { + "Spirit Temple Rolling Boulder Room": "True" + } + }, + { + "region_name": "Spirit Temple Sandy Lullaby Room", + "dungeon": "Spirit Temple", + "room": "14", + "events": { + "Spirit Temple Room 14 Enemies": " + " + #Leevers + }, + "locations": { + "Spirit Temple MQ Leever Room Chest": " + 'Spirit Temple Room 14 Enemies' and (can_use(Longshot) or can_climb(167))", + "Spirit Temple MQ GS Leever Room": "can_use(Hookshot) or can_use(Boomerang)" + }, + "exits": { + "Spirit Temple Lobby East": "can_play(Zeldas_Lullaby) or barred_door" + } + }, + { + "region_name": "Spirit Temple Wallmaster Room 1F", + "dungeon": "Spirit Temple", + "room": "15", + "exits": { + "Spirit Temple Lobby East": "True", + "Spirit Temple Wallmaster Room 2F": "'Spirit Temple Room 15 Enemies'" + } + }, + { + "region_name": "Spirit Temple Wallmaster Room 2F", + "dungeon": "Spirit Temple", + "room": "15", + "events": { + "Spirit Temple Room 15 Enemies": " + (can_use(Mirror_Shield) and is_adult) + or (mm_light_arrows and can_use(Light_Arrows))" + #Wallmasters summoned by sun switches + }, + "exits": { + "Spirit Temple Wallmaster Room 1F": "'Spirit Temple Room 15 Enemies'", + "Spirit Temple Central Chamber Adult Stairs": "True" + } + }, + { + "region_name": "Spirit Temple Eastern 3F Corridor", + "dungeon": "Spirit Temple", + "room": "16", + "exits": { + "Spirit Temple Central Chamber": "Still_a_key and can_use(Hookshot)", + "Spirit Temple Adult Enemy Pit Room": "can_use(Hookshot)" + } + }, + { + "region_name": "Spirit Temple Adult Enemy Pit Room", + "dungeon": "Spirit Temple", + "room": "17", + "events": { + "Spirit Temple Room 17 Enemies": " + has_explosives" + #Beamos + }, + "locations": { + "Spirit Temple MQ Beamos Room Chest": "'Spirit Temple Room 17 Enemies'" + }, + "exits": { + "Spirit Temple Eastern 3F Corridor": "'Spirit Temple Room 17 Enemies' or barred_door", + "Spirit Temple Funny Switch Room": "can_play(Song_of_Time)", + "Spirit Temple Shifting Wall Room": "Small_Key_Spirit_Temple" + } + }, + { + "region_name": "Spirit Temple Funny Switch Room", + "dungeon": "Spirit Temple", + "room": "18", + "events": { + "Spirit Temple Room 18 Sun Switch": " + (can_play(Song_of_Time) and can_use(Mirror_Shield)) + or (mm_light_arrows and can_use(Light_Arrows))" + }, + "locations": { + "Spirit Temple MQ Chest Switch Chest": "True" + }, + "exits": { + "Spirit Temple Adult Enemy Pit Room": "True", + "Spirit Temple Hall to Adult Iron Knuckle Room": " + Hit chest (does this require sword?) or barred_door", + "Spirit Temple Key Room": " + 'Spirit Temple Room 18 Sun Switch' or barred_door" + } + }, + { + "region_name": "Spirit Temple Hall to Adult Iron Knuckle Room", + "dungeon": "Spirit Temple", + "room": "19", + "events": { + "Spirit Temple Room 19 Enemies": " + (logic_lens_spirit_mq or can_use(Lens_of_Truth)) + and can beat floormaster" + #Invisible Floormaster + }, + "locations": { + "Spirit Temple Hallway Left Invisible Chest": "logic_lens_spirit or can_use(Lens_of_Truth)", + "Spirit Temple Hallway Right Invisible Chest": "logic_lens_spirit or can_use(Lens_of_Truth)" + }, + "exits": { + "Spirit Temple Funny Switch Room": "True", + "Spirit Temple Adult Iron Knuckle Room": "'Spirit Temple Room 19 Enemies' or barred_door" + } + }, + { + "region_name": "Spirit Temple Adult Iron Knuckle Room", + "dungeon": "Spirit Temple", + "room": "20", + "events": { + "Spirit Temple Room 20 Enemies": " + " + #Iron Knuckle + }, + "exits": { + "Spirit Temple Hall to Adult Iron Knuckle Room": "True", + "Spirit Temple Exit to Left Hand": "'Spirit Temple Room 20 Enemies' or barred_door" + } + }, + { + "region_name": "Spirit Temple Exit to Left Hand", + "dungeon": "Spirit Temple", + "room": "11", + "exits": { + "Spirit Temple Outdoor Left Hand": "True", + "Spirit Temple Adult Iron Knuckle Room": "True" + } + }, + { + "region_name": "Spirit Temple Outdoor Left Hand", + "dungeon": "Spirit Temple", + "time_passes": true, + "events": { + "Spirit Temple Mirror Shield Chest Spawn": "True" + }, + "locations": { + "Spirit Temple Mirror Shield Chest": "'Spirit Temple Mirror Shield Chest Spawn'" + }, + "exits": { + "Spirit Temple Exit to Left Hand": "True", + "Desert Colossus": "True", + "Spirit Temple Outdoor Right Hand": "can_use(Longshot)" + } + }, + { + "region_name": "Spirit Temple Key Room", + "dungeon": "Spirit Temple", + "room": "21", + "locations": { + "Spirit Temple MQ Boss Key Chest": "True" + }, + "exits": { + "Spirit Temple Funny Switch Room": "True" + } + }, + { + "region_name": "Spirit Temple Shifting Wall Room", + "dungeon": "Spirit Temple", + "room": "23", + "events": { + "Spirit Temple Room 23 Silver Rupees": "True" + }, + "exits": { + "Spirit Temple Adult Enemy Pit Room": "Still_a_key", + "Spirit Temple Lullaby Landing": "'Spirit Temple Room 23 Silver Rupees' or barred_door" + } + }, + { + "region_name": "Spirit Temple Lullaby Landing", + "dungeon": "Spirit Temple", + "room": "24", + "exits": { + "Spirit Temple Furniture Room": "Small_Key_Spirit_Temple", + "Spirit Temple Shifting Wall Room": "True", + "Spirit Temple Ceiling Mirror Room": "can_play(Zeldas_Lullaby) or barred_door" + } + }, + { + "region_name": "Spirit Temple Furniture Room", + "dungeon": "Spirit Temple", + "room": "22", + "locations": { + "Spirit Temple MQ GS Nine Thrones Room West": "can_use(Hookshot) or can_use(Boomerang)", + "Spirit Temple MQ GS Nine Thrones Room North": "is_adult or can_child_attack" + } + "exits": { + "Spirit Temple Lullaby Landing": "Still_a_key" + } + }, + { + "region_name": "Spirit Temple Ceiling Mirror Room", + "dungeon": "Spirit Temple", + "room": "25", + "events": { + "Spirit Temple Room 25 Rusted Switch": "can_use(Megaton_Hammer)", + "Spirit Temple Room 25 Sun Switch": " + ('Spirit Temple 4F Mirrors' and can_use(Mirror_Shield)) + or (mm_light_arrows and can_use(Light_Arrows))" + }, + "exits": { + "Spirit Temple Central Chamber Hanging Platform": "'Spirit Temple Room 25 Sun Switch'", + "Spirit Temple Lullaby Landing": "True", + "Spirit Temple Snake Mirror Rooms": " + 'Spirit Temple Room 25 Rusted Switch' or barred_door" + } + }, + { + "region_name": "Spirit Temple Snake Mirror Rooms", + "dungeon": "Spirit Temple", + "room": "26", + "events": { + #I just put this as an event but I don't know, the mirrors reset upon leaving the dungeon by any means including Farore's Wind + "Spirit Temple 4F Mirrors": " + can_use(Mirror_Shield) + or (mm_light_arrows and can_use(Light_Arrows))" + }, + "locations": { + "Spirit Temple MQ Mirror Puzzle Invisible Chest": "logic_lens_spirit_mq or can_use(Lens_of_Truth)" + } + "exits": { + "Spirit Temple Ceiling Mirror Room": "True" + } + }, + { + "region_name": "Spirit Temple Central Chamber Hanging Platform", + "dungeon": "Spirit Temple", + "room": "5", + "events": { + "Spirit Temple Statue Face": " + ('Spirit Temple 4F Mirrors' and can_use(Mirror_Shield)) + or (mm_light_arrows and can_use(Light_Arrows))" + }, + "exits": { + "Spirit Temple Central Chamber": "True", + "Spirit Temple Central Chamber Adult Stairs": "True", + "Spirit Temple Central Chamber Left Arm": "True", + "Spirit Temple Central Chamber Right Arm": "True", + "Spirit Temple Central Chamber Northeast Ledge": "False", + "Spirit Temple Central Chamber Northwest Ledge": "False", + "Spirit Temple Central Chamber Inside Statue": " + 'Spirit Temple Statue Face' and can_use(Hookshot)", + "Spirit Temple Ceiling Mirror Room": "False" + }, + }, + { + "region_name": "Spirit Temple Central Chamber Inside Statue", + "dungeon": "Spirit Temple", + "room": "5", + "events": { + "Spirit Temple Statue Face": "mm_light_arrows and can_use(Light_Arrows)" + }, + "exits": { + "Iron Knuckle Arena": "Boss_Key_Spirit_Temple", + "Spirit Temple Central Chamber": "True", + "Spirit Temple Central Chamber Left Arm": "True", + "Spirit Temple Central Chamber Right Arm": "True", + "Spirit Temple Central Chamber Hanging Platform": " + 'Spirit Temple Room 25 Sun Switch' and (can_use(Hookshot) or can_use(Hover_Boots))" + } + } +] diff --git a/data/Scenes/Dungeons/Spirit Temple.json b/data/Scenes/Dungeons/Spirit Temple.json new file mode 100644 index 000000000..6bb324efb --- /dev/null +++ b/data/Scenes/Dungeons/Spirit Temple.json @@ -0,0 +1,664 @@ +[ + { + "region_name": "Spirit Temple Lobby", + "dungeon": "Spirit Temple", + "room": "0", + "events": { + "Spirit Temple Room 0 Heavy Block": "can_use(Silver_Gauntlets)" + }, + "exits": { + "Desert Colossus": "True", + "Spirit Temple First Child Room": "is_child", + "Spirit Temple Lobby East": "is_adult and 'Spirit Temple Room 0 Heavy Block'", + "Spirit Temple Shortcut Room South": "is_adult and 'Spirit Temple Elevator'" + } + }, + { + "region_name": "Spirit Temple First Child Room", + "dungeon": "Spirit Temple", + "room": "1", + "events": { + "Spirit Temple Room 1 Enemies": " + Defeat all enemies" + }, + "exits": { + "Spirit Temple Lobby": "is_child", + "Spirit Temple Cage Crossing Room Front": "'Spirit Temple Room 1 Enemies' or barred_door", + "Spirit Temple Child Enemy Pit Room Front": "'Spirit Temple Room 1 Enemies' or barred_door", + "Spirit Temple First Child Room Rear": "is_child" + } + }, + { + "region_name": "Spirit Temple First Child Room Rear", + "dungeon": "Spirit Temple", + "room": "1", + "locations": { + "Nut Crate": "True" + }, + "exits": { + "Spirit Temple First Child Room": "is_child", + "Spirit Temple Rock Light Room 1F": "Small_Key_Spirit_Temple" + } + }, + { + "region_name": "Spirit Temple Cage Crossing Room Front", + "dungeon": "Spirit Temple", + "room": "2", + "events": { + "Spirit Temple Room 2 Torches": " + has_fire_source or 'Spirit Temple Room 2 Silver Rupees' and can_use(Sticks)" + }, + "exits": { + "Spirit Temple First Child Room": "True", + "Spirit Temple Cage Crossing Room": " + 'Spirit Temple Room 2 Silver Rupees'" + } + }, + { + "region_name": "Spirit Temple Cage Crossing Room", + "dungeon": "Spirit Temple", + "room": "2", + "locations": { + "Spirit Temple Child Early Torches Chest": " + 'Spirit Temple Room 2 Torches'", + "Spirit Temple GS Metal Fence": " + (can_use(Boomerang) or can_use(Hookshot)) or + ('Spirit Temple Room 2 Silver Rupees' and + can_use_projectile or can_jumpslash_except_kokiri or can_use(Dins_Fire))" + #Kokiri Sword jumpslash not long enough + }, + "events": { + "Spirit Temple Room 2 Silver Rupees": "True" + }, + "exits": { + "Spirit Temple Cage Crossing Room Front": " + 'Spirit Temple Room 2 Silver Rupees'", + "Spirit Temple Child Enemy Pit Room": "True" + } + }, + { + "region_name": "Spirit Temple Child Enemy Pit Room Front", + "dungeon": "Spirit Temple", + "room": "3", + "events": { + "Spirit Temple Room 3 Bridge": " + can_use(Boomerang) or can_use(Slingshot) or can_use(Bow) + or (has_bombchus and logic_spirit_child_bombchu)" + }, + "exits": { + "Spirit Temple First Child Room": "True", + "Spirit Temple Child Enemy Pit Room": " + 'Spirit Temple Room 3 Bridge' + or can_use(Longshot) or can_use(Hover_Boots)" + } + }, + { + "region_name": "Spirit Temple Child Enemy Pit Room", + "dungeon": "Spirit Temple", + "room": "3", + "events": { + "Spirit Temple Room 3 Bridge": " + is_adult or can_child_attack" + }, + "locations": { + "Spirit Temple Child Bridge Chest": "True" + }, + "exits": { + "Spirit Temple Child Enemy Pit Room Front": " + 'Spirit Temple Room 3 Bridge' + or can_use(Hover_Boots)", + "Spirit Temple Child Enemy Pit Room West": "True" + } + }, + { + "region_name": "Spirit Temple Child Enemy Pit Room West", + "dungeon": "Spirit Temple", + "room": "27", + "exits": { + "Spirit Temple Child Enemy Pit Room": "True", + "Spirit Temple Child Enemy Pit Room": "'Spirit Temple Room 27 Enemies' or barred_door" + } + }, + { + "region_name": "Spirit Temple Child Enemy Pit Room", + "dungeon": "Spirit Temple", + "room": "27", + "events": { + "Spirit Temple Room 27 Enemies": " + is_adult or can_child_attack" + #Anubis can be defeated by a simple crystal switch + }, + "exits": { + "Spirit Temple Cage Crossing Room": "'Spirit Temple Room 27 Enemies' or barred_door", + "Spirit Temple Child Enemy Pit Room West": "True" + } + }, + { + "region_name": "Spirit Temple Rock Light Room 1F", + "dungeon": "Spirit Temple", + "room": "4", + "exits": { + "Spirit Temple First Child Room Rear": "Still_a_key", + "Spirit Temple Rock Light Room 2F": "True" + } + }, + { + "region_name": "Spirit Temple Rock Light Room 2F", + "dungeon": "Spirit Temple", + "room": "4", + "locations": { + "Spirit Temple Child Climb North Chest": "can_use_projectile", + "Spirit Temple Child Climb East Chest": "can_use_projectile", + "Spirit Temple GS Sun on Floor Room": " + can_use_projectile or can_use(Dins_Fire) or + ((damage_multiplier != 'ohko' or Fairy or can_use(Nayrus_Love)) and can_jumpslash) + }, + "exits": { + "Spirit Temple Rock Light Room 1F": "True", + "Spirit Temple Central Chamber": " + has_explosives or (mm_light_arrows and can_use(Light_Arrows)) or barred_door" + } + }, + { + "region_name": "Spirit Temple Central Chamber", + "dungeon": "Spirit Temple", + "room": "5", + "events": { + "Spirit Temple Statue Face": "mm_light_arrows and can_use(Light_Arrows)" + }, + "locations": { + "Spirit Temple Map Chest": "can_use_fire_source_with_torch or (logic_spirit_map_chest and can_use(Bow))", + "Spirit Temple GS Lobby": "can_use(Longshot)" + }, + "exits": { + "Spirit Temple Rock Light Room 2F": "True", + "Spirit Temple Western 3F Corridor": "True or barred_door", #Just push the Armos + "Spirit Temple Shortcut Room": "'Spirit Temple Room 5 Rusted Switch' or barred_door", + "Spirit Temple Central Chamber Adult Stairs": "can_use(Hookshot) or can_climb(147)", + "Spirit Temple Central Chamber Northwest Ledge": "can_use(Hover_Boots) or can_use(Scarecrow) or can_climb(480)", + "Spirit Temple Central Chamber Right Arm": "True", + "Spirit Temple Central Chamber Northeast Ledge": "can_climb(480)", + "Spirit Temple Central Chamber Hanging Platform": " + 'Spirit Temple Room 25 Sun Switch' and can_use(Longshot)" + } + }, + { + "region_name": "Spirit Temple Central Chamber Northwest Ledge", + "dungeon": "Spirit Temple", + "room": "5", + "events": { + "Spirit Temple Statue Face": "mm_light_arrows and can_use(Light_Arrows)" + }, + "locations": { + "Spirit Temple GS Lobby": "can kill skulltula in any way" + }, + "exits": { + "Spirit Temple Central Chamber": "True", + "Spirit Temple Central Chamber Right Arm": "True", + "Spirit Temple Central Chamber Hanging Platform": " + 'Spirit Temple Room 25 Sun Switch' and can_use(Longshot)" + } + }, + { + "region_name": "Spirit Temple Central Chamber Right Arm", + "dungeon": "Spirit Temple", + "room": "5", + "events": { + "Spirit Temple Statue Face": "mm_light_arrows and can_use(Light_Arrows)" + }, + "locations": { + "Spirit Temple Statue Room Hand Chest": "'Spirit Temple Statue Lullaby'", + "Spirit Temple GS Lobby": "can_use(Hookshot) or (logic_spirit_lobby_gs and can_use(Boomerang))" + }, + "exits": { + "Spirit Temple Central Chamber": "True", + "Spirit Temple Central Chamber Northwest Ledge": "can_use(Scarecrow)", + "Spirit Temple Central Chamber Hanging Platform": " + 'Spirit Temple Room 25 Sun Switch' and can_use(Hookshot)", + "Spirit Temple Central Chamber Inside Statue": " + 'Spirit Temple Statue Face' and can_use(Longshot)" + } + }, + { + "region_name": "Spirit Temple Western 3F Corridor", + "dungeon": "Spirit Temple", + "room": "7", + "exits": { + "Spirit Temple Central Chamber": "True", + "Spirit Temple Sun Block Room": "True" + } + }, + { + "region_name": "Spirit Temple Sun Block Room", + "dungeon": "Spirit Temple", + "room": "8", + "locations": { + "Spirit Temple Sun Block Room Chest": " + can_use_fire_source_with_torch or (logic_spirit_sun_chest and can_use(Bow))" + }, + "exits": { + #Just pull sun block into light + "Spirit Temple Western 3F Corridor": "True or barred_door", + "Spirit Temple Hall to Child Iron Knuckle Room": "True or barred_door" + } + }, + { + "region_name": "Spirit Temple Hall to Child Iron Knuckle Room", + "dungeon": "Spirit Temple", + "room": "9", + "locations": { + "Spirit Temple GS Hall After Sun Block Room": "can_use(Boomerang) or can_use(Hookshot)" + }, + "exits": { + "Spirit Temple Sun Block Room": "True", + "Spirit Temple Child Iron Knuckle Room": "Small_Key_Spirit_Temple" + } + }, + { + "region_name": "Spirit Temple Child Iron Knuckle Room", + "dungeon": "Spirit Temple", + "room": "10", + "events": { + "Spirit Temple Room 10 Enemies": " + " + #Iron Knuckle + }, + "exits": { + "Spirit Temple Hall to Child Iron Knuckle Room": "Still_a_key", + "Spirit Temple Exit to Right Hand": "'Spirit Temple Room 10 Enemies' or barred_door" + } + }, + { + "region_name": "Spirit Temple Exit to Right Hand", + "dungeon": "Spirit Temple", + "room": "11", + "exits": { + "Spirit Temple Outdoor Right Hand": "True", + "Spirit Temple Child Iron Knuckle Room": "True" + } + }, + { + "region_name": "Spirit Temple Outdoor Right Hand", + "dungeon": "Spirit Temple", + "time_passes": true, + "locations": { + "Spirit Temple Silver Gauntlets Chest": "True" + }, + "exits": { + "Spirit Temple Exit to Right Hand": "True", + "Desert Colossus": "True", + "Spirit Temple Outdoor Left Hand": "'Spirit Temple Mirror Shield Chest Spawn' and can_use(Longshot)" + } + }, + { + "region_name": "Spirit Temple Lobby East", + "dungeon": "Spirit Temple", + "room": "0", + "events": { + #requires a very specific Bombchu use + "Spirit Temple Room 0 Crystal Switch": " + can_use(Bow) or can_use(Hookshot) or has_bombchus or (Bombs and logic_spirit_lower_adult_switch) + or can_use(Slingshot) or can_use(Boomerang)" + }, + "exits": { + "Spirit Temple Lobby": "is_adult and 'Spirit Temple Room 0 Heavy Block'", + "Spirit Temple Rolling Boulder Room": "'Spirit Temple Room 0 Crystal Switch' or barred_door", + "Spirit Temple Sandy Lullaby Room": "'Spirit Temple Room 0 Crystal Switch' or barred_door", + "Spirit Temple Wallmaster Room 1F": "Small_Key_Spirit_Temple" + } + }, + { + "region_name": "Spirit Temple Rolling Boulder Room", + "dungeon": "Spirit Temple", + "room": "13", + "locations": { + #I don't know if this block is there as a child + "Spirit Temple GS Boulder Room": "can_play(Song_of_Time)" + }, + "exits": { + "Spirit Temple Lobby East": "True", + #Hover Boots can be skipped by jumping on top of the rolling rock. + "Spirit Temple 1F Treasure Room": "True or barred_door" + } + }, + { + "region_name": "Spirit Temple 1F Treasure Room", + "dungeon": "Spirit Temple", + "room": "12", + "locations": { + "Spirit Temple Early Adult Right Chest": "True" + }, + "exits": { + "Spirit Temple Rolling Boulder Room": "True" + } + }, + { + "region_name": "Spirit Temple Sandy Lullaby Room", + "dungeon": "Spirit Temple", + "room": "14", + "locations": { + "Spirit Temple Compass Chest": " + can_play(Zeldas_Lullaby) and (can_use(Hookshot) or can_climb(167))" + }, + "exits": { + "Spirit Temple Lobby East": "True" + } + }, + { + "region_name": "Spirit Temple Wallmaster Room 1F", + "dungeon": "Spirit Temple", + "room": "15", + "exits": { + "Spirit Temple Lobby East": "Still_a_key", + "Spirit Temple Wallmaster Room 2F": "True" + } + }, + { + "region_name": "Spirit Temple Wallmaster Room 2F", + "dungeon": "Spirit Temple", + "room": "15", + "locations": { + "Spirit Temple First Mirror Left Chest": "True", + "Spirit Temple First Mirror Right Chest": "True" + }, + "exits": { + "Spirit Temple Wallmaster Room 1F": "True", + "Spirit Temple Central Chamber Adult Stairs": "True or barred_door" + } + }, + { + "region_name": "Spirit Temple Central Chamber Adult Stairs", + "dungeon": "Spirit Temple", + "room": "5", + "events": { + "Spirit Temple Statue Face": "mm_light_arrows and can_use(Light_Arrows)" + }, + "exits": { + "Spirit Temple Central Chamber": "True", + "Spirit Temple Central Chamber Left Arm": "True", + "Spirit Temple Central Chamber Northeast Ledge": " + can_use(Hover_Boots) or ('Spirit Temple Room 5 Lullaby' and can_use(Hookshot))", + "Spirit Temple Wallmaster Room 2F": "True", + "Spirit Temple Eastern 3F Corridor": "Small_Key_Spirit_Temple", + "Spirit Temple Central Chamber Hanging Platform": " + 'Spirit Temple Room 25 Sun Switch' and can_use(Longshot)" + } + }, + { + "region_name": "Spirit Temple Central Chamber Northeast Ledge", + "dungeon": "Spirit Temple", + "room": "5", + "events": { + "Spirit Temple Room 5 Rusted Switch": "can_use(Megaton_Hammer)", + "Spirit Temple Statue Face": "mm_light_arrows and can_use(Light_Arrows)" + }, + "locations": { + "Spirit Temple Statue Room Northeast Chest": "'Spirit Temple Room 5 Lullaby'" + }, + "exits": { + "Spirit Temple Central Chamber": "True", + "Spirit Temple Central Chamber Adult Stairs": "can_use(Hover_Boots) or can_use(Hookshot)", + "Spirit Temple Central Chamber Left Arm": "True", + "Spirit Temple Central Chamber Hanging Platform": " + 'Spirit Temple Room 25 Sun Switch' and can_use(Longshot)" + } + }, + { + "region_name": "Spirit Temple Central Chamber Left Arm", + "dungeon": "Spirit Temple", + "room": "5", + "events": { + "Spirit Temple Room 5 Lullaby": "can_play(Zeldas_Lullaby)", + "Spirit Temple Statue Face": "mm_light_arrows and can_use(Light_Arrows)" + }, + "exits": { + "Spirit Temple Central Chamber": "True", + "Spirit Temple Central Chamber Adult Stairs": "True", + "Spirit Temple Central Chamber Northeast Ledge": " + can_use(Hookshot) and 'Spirit Temple Room 5 Lullaby'", + "Spirit Temple Central Chamber Right Arm": " + can_use(Longshot) and 'Spirit Temple Room 5 Lullaby'", + "Spirit Temple Central Chamber Hanging Platform": " + 'Spirit Temple Room 25 Sun Switch' and can_use(Hookshot)", + "Spirit Temple Central Chamber Inside Statue": " + 'Spirit Temple Statue Face' and can_use(Longshot)" + } + }, + { + "region_name": "Spirit Temple Shortcut Room", + "dungeon": "Spirit Temple", + "room": "6", + "events": { + "Spirit Temple Room 6 Heavy Blocks": "can_use(Silver_Gauntlets)" + }, + "exits": { + "Spirit Temple Shortcut Room South": "is_adult and 'Spirit Temple Room 6 Heavy Blocks'", + "Spirit Temple Central Chamber": "True" + } + }, + { + "region_name": "Spirit Temple Shortcut Room South", + "dungeon": "Spirit Temple", + "room": "6", + "events": { + "Spirit Temple Elevator": "can_use(Megaton_Hammer)" + }, + "exits": { + "Spirit Temple Lobby": "is_adult and 'Spirit Temple Elevator'", + "Spirit Temple Shortcut Room": " + is_adult and 'Spirit Temple Room 6 Heavy Blocks'" + } + }, + { + "region_name": "Spirit Temple Eastern 3F Corridor", + "dungeon": "Spirit Temple", + "room": "16", + "exits": { + "Spirit Temple Central Chamber": "Still_a_key", + "Spirit Temple Adult Enemy Pit Room": "True" + } + }, + { + "region_name": "Spirit Temple Adult Enemy Pit Room", + "dungeon": "Spirit Temple", + "room": "17", + "events": { + "Spirit Temple Room 17 Enemies": " + has_explosives" + #Anubis and Beamos (Anubis defeated by crystal switch) + }, + "exits": { + "Spirit Temple Eastern 3F Corridor": "'Spirit Temple Room 17 Enemies' or barred_door", + "Spirit Temple Funny Switch Room": "'Spirit Temple Room 17 Enemies' or barred_door", + "Spirit Temple Shifting Wall Room": "Small_Key_Spirit_Temple" + } + }, + { + "region_name": "Spirit Temple Funny Switch Room", + "dungeon": "Spirit Temple", + "room": "18", + "events": { + "Spirit Temple Room 18 Sun Switch": " + can_use(Mirror_Shield) + or (mm_light_arrows and can_use(Light_Arrows))" + }, + "exits": { + "Spirit Temple Adult Enemy Pit Room": "True", + "Spirit Temple Hall to Adult Iron Knuckle Room": "True or barred_door", + "Spirit Temple Key Room": " + 'Spirit Temple Room 18 Sun Switch' or barred_door" + } + }, + { + "region_name": "Spirit Temple Hall to Adult Iron Knuckle Room", + "dungeon": "Spirit Temple", + "room": "19", + "locations": { + "Spirit Temple Hallway Left Invisible Chest": "logic_lens_spirit or can_use(Lens_of_Truth)", + "Spirit Temple Hallway Right Invisible Chest": "logic_lens_spirit or can_use(Lens_of_Truth)" + }, + "exits": { + "Spirit Temple Funny Switch Room": "True", + "Spirit Temple Adult Iron Knuckle Room": "True" + } + }, + { + "region_name": "Spirit Temple Adult Iron Knuckle Room", + "dungeon": "Spirit Temple", + "room": "20", + "events": { + "Spirit Temple Room 20 Enemies": " + " + #Iron Knuckle + }, + "exits": { + "Spirit Temple Hall to Adult Iron Knuckle Room": "'Spirit Temple Room 20 Enemies' or barred_door", + "Spirit Temple Exit to Left Hand": "'Spirit Temple Room 20 Enemies' or barred_door" + } + }, + { + "region_name": "Spirit Temple Exit to Left Hand", + "dungeon": "Spirit Temple", + "room": "11", + "exits": { + "Spirit Temple Outdoor Left Hand": "True", + "Spirit Temple Adult Iron Knuckle Room": "True" + } + }, + { + "region_name": "Spirit Temple Outdoor Left Hand", + "dungeon": "Spirit Temple", + "time_passes": true, + "events": { + "Spirit Temple Mirror Shield Chest Spawn": "True" + }, + "locations": { + "Spirit Temple Mirror Shield Chest": "'Spirit Temple Mirror Shield Chest Spawn'" + }, + "exits": { + "Spirit Temple Exit to Left Hand": "True", + "Desert Colossus": "True", + "Spirit Temple Outdoor Right Hand": "can_use(Longshot)" + } + }, + { + "region_name": "Spirit Temple Key Room", + "dungeon": "Spirit Temple", + "room": "21", + "locations": { + "Spirit Temple Near Four Armos Chest": "True" + }, + "exits": { + "Spirit Temple Funny Switch Room": "True" + } + }, + { + "region_name": "Spirit Temple Shifting Wall Room", + "dungeon": "Spirit Temple", + "room": "23", + "exits": { + "Spirit Temple Adult Enemy Pit Room": "Still_a_key", + "Spirit Temple Lullaby Landing": " + logic_spirit_wall or can_use(Longshot) or has_bombchus or + ((Bombs or Nuts or can_use(Dins_Fire)) and + (can_use(Bow) or can_use(Hookshot) or can_use(Megaton_Hammer) + or can_use(Slingshot) or can_use(Boomerang)))" + } + }, + { + "region_name": "Spirit Temple Lullaby Landing", + "dungeon": "Spirit Temple", + "room": "24", + "exits": { + "Spirit Temple Furniture Room": "can_play(Zeldas_Lullaby) or barred_door", + "Spirit Temple Shifting Wall Room": "True", + "Spirit Temple Ceiling Mirror Room": "True" + } + }, + { + "region_name": "Spirit Temple Furniture Room", + "dungeon": "Spirit Temple", + "room": "22", + "locations": { + "Spirit Temple Boss Key Chest": " + here(can_use(Bow) or can_use(Slingshot)) and can_use(Hookshot)" + } + "exits": { + "Spirit Temple Lullaby Landing": "True" + } + }, + { + "region_name": "Spirit Temple Ceiling Mirror Room", + "dungeon": "Spirit Temple", + "room": "25", + "events": { + "Spirit Temple Room 25 Crystal Switch": "hit the crystal switch", + "Spirit Temple Room 25 Sun Switch": " + ('Spirit Temple 4F Mirrors' and can_use(Mirror_Shield)) + or (mm_light_arrows and can_use(Light_Arrows))" + }, + "exits": { + "Spirit Temple Central Chamber Hanging Platform": "'Spirit Temple Room 25 Sun Switch'", + "Spirit Temple Lullaby Landing": "True", + "Spirit Temple Snake Mirror Rooms": " + 'Spirit Temple Room 25 Crystal Switch' or barred_door" + } + }, + { + "region_name": "Spirit Temple Snake Mirror Rooms", + "dungeon": "Spirit Temple", + "room": "26", + "events": { + "Spirit Temple Room 25 Crystal Switch": "has_explosives", + #I just put this as an event but I don't know, the mirrors reset upon leaving the dungeon by any means including Farore's Wind + "Spirit Temple 4F Mirrors": "has_explosives" + }, + "locations": { + "Spirit Temple Topmost Chest": "can_use(Mirror_Shield) or (mm_light_arrows and can_use(Light_Arrows))" + } + "exits": { + "Spirit Temple Ceiling Mirror Room": "True" + } + }, + { + "region_name": "Spirit Temple Central Chamber Hanging Platform", + "dungeon": "Spirit Temple", + "room": "5", + "events": { + "Spirit Temple Statue Face": " + ('Spirit Temple 4F Mirrors' and can_use(Mirror_Shield)) + or (mm_light_arrows and can_use(Light_Arrows))" + }, + "locations": { + "Spirit Temple GS Lobby": "can_use(Longshot)" + }, + "exits": { + "Spirit Temple Central Chamber": "True", + "Spirit Temple Central Chamber Adult Stairs": "True", + "Spirit Temple Central Chamber Left Arm": "True", + "Spirit Temple Central Chamber Right Arm": "True", + "Spirit Temple Central Chamber Northeast Ledge": " + 'Spirit Temple Statue Lullaby' and can_use(Hookshot)", + "Spirit Temple Central Chamber Northwest Ledge": "can_use(Distant_Scarecrow)", + "Spirit Temple Central Chamber Inside Statue": " + 'Spirit Temple Statue Face' and can_use(Hookshot)", + "Spirit Temple Ceiling Mirror Room": "False" + }, + }, + { + "region_name": "Spirit Temple Central Chamber Inside Statue", + "dungeon": "Spirit Temple", + "room": "5", + "events": { + "Spirit Temple Statue Face": "mm_light_arrows and can_use(Light_Arrows)" + }, + "exits": { + "Iron Knuckle Arena": "Boss_Key_Spirit_Temple", + "Spirit Temple Central Chamber": "True", + "Spirit Temple Central Chamber Left Arm": "True", + "Spirit Temple Central Chamber Right Arm": "True", + "Spirit Temple Central Chamber Hanging Platform": " + 'Spirit Temple Room 25 Sun Switch' and (can_use(Hookshot) or can_use(Hover_Boots))" + } + } +] \ No newline at end of file diff --git a/data/Scenes/Dungeons/Thieves Hideout.json b/data/Scenes/Dungeons/Thieves Hideout.json new file mode 100644 index 000000000..fa1d3a6ab --- /dev/null +++ b/data/Scenes/Dungeons/Thieves Hideout.json @@ -0,0 +1,245 @@ +[ + { + "region_name": "Thieves Hideout Exit 1", + "scene": "Thieves Hideout", + "room": "2", + "hint": "Thieves' Hideout", + "exits": { + "Thieves Hideout Red Jail": "True", + "Gerudo Fortress": "True" + } + }, + { + "region_name": "Thieves Hideout Red Jail", + "scene": "Thieves Hideout", + "room": "2", + "hint": "Thieves' Hideout", + "events": { + "Carpenter Rescue": " + (gerudo_fortress == 'normal' and 'Red Jail Carpenter' and 'Greenish Jail Carpenter' and 'Blue Jail Carpenter' and 'Green Jail Carpenter') + or (gerudo_fortress == 'fast' and 'Red Jail Carpenter')" + }, + "locations": { + "Red Jail Gerudo Key": "is_adult or Kokiri_Sword", + "Red Jail Carpenter": "Small_Key_Gerudo_Fortress", + "GF Gerudo Membership Card": " + (gerudo_fortress == 'normal' and 'Red Jail Carpenter' and 'Greenish Jail Carpenter' and 'Blue Jail Carpenter' and 'Green Jail Carpenter') + or (gerudo_fortress == 'fast' and 'Red Jail Carpenter')" + }, + "exits": { + "Thieves Hideout Exit 1": "True", + "Thieves Hideout Exit 2": "True" + } + }, + { + "region_name": "Thieves Hideout Exit 2", + "scene": "Thieves Hideout", + "room": "2", + "hint": "Thieves' Hideout", + "exits": { + "Thieves Hideout Red Jail": "True", + "GF Entrances Behind Crates": "True" + } + }, + { + "region_name": "Thieves Hideout Exit 3", + "scene": "Thieves Hideout", + "room": "3", + "hint": "Thieves' Hideout", + "exits": { + "GF Entrances Behind Crates": "True" + "Thieves Hideout Exit 4": "True", + "Thieves Hideout Kitchen": "Gerudo_Membership_Card or can_use(Bow) or logic_gerudo_kitchen" + } + }, + { + "region_name": "Thieves Hideout Exit 4", + "scene": "Thieves Hideout", + "room": "3", + "hint": "Thieves' Hideout", + "exits": { + "Thieves Hideout Exit 3": "True", + "Thieves Hideout Kitchen": "Gerudo_Membership_Card or can_use(Bow) or logic_gerudo_kitchen", + "GF Guarded Roof": "True" + } + }, + { + "region_name": "Thieves Hideout Exit 9", + "scene": "Thieves Hideout", + "room": "3", + "hint": "Thieves' Hideout", + "exits": { + "GF Roof Entrance Cluster": "True" + "Thieves Hideout Exit 10": "can_use(Hookshot) or can_use(Hover_Boots)", + "Thieves Hideout Kitchen": "Gerudo_Membership_Card or can_use(Bow) or logic_gerudo_kitchen" + } + }, + { + "region_name": "Thieves Hideout Kitchen", + "scene": "Thieves Hideout", + "room": "3", + "hint": "Thieves' Hideout", + "exits": { + "Thieves Hideout Exit 3": "Gerudo_Membership_Card or can_use(Bow) or logic_gerudo_kitchen", + "Thieves Hideout Exit 4": "Gerudo_Membership_Card or can_use(Bow) or logic_gerudo_kitchen", + "Thieves Hideout Exit 9": "Gerudo_Membership_Card or can_use(Bow) or logic_gerudo_kitchen", + "Thieves Hideout Exit 10": "Gerudo_Membership_Card or can_use(Bow) or logic_gerudo_kitchen" + } + }, + { + "region_name": "Thieves Hideout Exit 10", + "scene": "Thieves Hideout", + "room": "3", + "hint": "Thieves' Hideout", + "exits": { + "Thieves Hideout Exit 9": "can_use(Hookshot) or can_use(Hover_Boots)", + "Thieves Hideout Kitchen": "Gerudo_Membership_Card or can_use(Bow) or logic_gerudo_kitchen", + "GF Kitchen Roof Access": "True" + } + }, + { + "region_name": "Thieves Hideout Exit 5", + "scene": "Thieves Hideout", + "room": "4", + "hint": "Thieves' Hideout", + "exits": { + "Gerudo Fortress": "True", + "Thieves Hideout Greenish Jail": "True" + } + }, + { + "region_name": "Thieves Hideout Greenish Jail", + "scene": "Thieves Hideout", + "room": "4", + "hint": "Thieves' Hideout", + "events": { + "Carpenter Rescue": " + (gerudo_fortress == 'normal' and 'Red Jail Carpenter' and 'Greenish Jail Carpenter' and 'Blue Jail Carpenter' and 'Green Jail Carpenter') + or (gerudo_fortress == 'fast' and 'Greenish Jail Carpenter')" + }, + "locations": { + "Greenish Jail Gerudo Key": "is_adult or Kokiri_Sword", + "Greenish Jail Carpenter": "Small_Key_Gerudo_Fortress", + "GF Gerudo Membership Card": " + (gerudo_fortress == 'normal' and 'Red Jail Carpenter' and 'Greenish Jail Carpenter' and 'Blue Jail Carpenter' and 'Green Jail Carpenter') + or (gerudo_fortress == 'fast' and 'Greenish Jail Carpenter')" + }, + "exits": { + "Thieves Hideout Exit 5": "True", + "Thieves Hideout Exit 6": "True" + } + }, + { + "region_name": "Thieves Hideout Exit 6", + "scene": "Thieves Hideout", + "room": "4", + "hint": "Thieves' Hideout", + "exits": { + "Thieves Hideout Greenish Jail": "True", + "GF Roof Entrance Cluster": "True" + } + }, + { + "region_name": "Thieves Hideout Exit 7", + "scene": "Thieves Hideout", + "room": "5", + "hint": "Thieves' Hideout", + "exits": { + "GF Guarded Roof": "True", + "Thieves Hideout Blue Jail": "True" + } + }, + { + "region_name": "Thieves Hideout Blue Jail", + "scene": "Thieves Hideout", + "room": "5", + "hint": "Thieves' Hideout", + "events": { + "Carpenter Rescue": " + (gerudo_fortress == 'normal' and 'Red Jail Carpenter' and 'Greenish Jail Carpenter' and 'Blue Jail Carpenter' and 'Green Jail Carpenter') + or (gerudo_fortress == 'fast' and 'Blue Jail Carpenter')" + }, + "locations": { + "Blue Jail Gerudo Key": "is_adult or Kokiri_Sword", + "Blue Jail Carpenter": "Small_Key_Gerudo_Fortress", + "GF Gerudo Membership Card": " + (gerudo_fortress == 'normal' and 'Red Jail Carpenter' and 'Greenish Jail Carpenter' and 'Blue Jail Carpenter' and 'Green Jail Carpenter') + or (gerudo_fortress == 'fast' and 'Blue Jail Carpenter')" + }, + "exits": { + "Thieves Hideout Exit 7": "True", + "Thieves Hideout Exit 8": "True" + } + }, + { + "region_name": "Thieves Hideout Exit 8", + "scene": "Thieves Hideout", + "room": "5", + "hint": "Thieves' Hideout", + "exits": { + "Thieves Hideout Blue Jail": "True", + "GF Roof Entrance Cluster": "True" + } + }, + { + "region_name": "Thieves Hideout Exit 11", + "scene": "Thieves Hideout", + "room": "0", + "hint": "Thieves' Hideout", + "exits": { + "GF Hall to Balcony Entrance": "True", + "Thieves Hideout Hall to Balcony": "True" + } + }, + { + "region_name": "Thieves Hideout Hall to Balcony", + "scene": "Thieves Hideout", + "room": "0", + "hint": "Thieves' Hideout", + "exits": { + "Thieves Hideout Exit 11": "True", + "Thieves Hideout Exit 12": "can_use(Hookshot)" + } + }, + { + "region_name": "Thieves Hideout Exit 12", + "scene": "Thieves Hideout", + "room": "0", + "hint": "Thieves' Hideout", + "exits": { + "Thieves Hideout Hall to Balcony": "can_use(Hookshot)", + "GF Balcony": "True" + } + }, + { + "region_name": "Thieves Hideout Exit 13", + "scene": "Thieves Hideout", + "room": "1", + "hint": "Thieves' Hideout", + "exits": { + "Thieves Hideout Green Jail": "True", + "GF Green Jail Exterior": "True" + } + }, + { + "region_name": "Thieves Hideout Green Jail", + "scene": "Thieves Hideout", + "room": "1", + "hint": "Thieves' Hideout", + "events": { + "Carpenter Rescue": " + (gerudo_fortress == 'normal' and 'Red Jail Carpenter' and 'Greenish Jail Carpenter' and 'Blue Jail Carpenter' and 'Green Jail Carpenter') + or (gerudo_fortress == 'fast' and 'Green Jail Carpenter')" + }, + "locations": { + "Green Jail Gerudo Key": "is_adult or Kokiri_Sword", + "Green Jail Carpenter": "Small_Key_Gerudo_Fortress", + "GF Gerudo Membership Card": " + (gerudo_fortress == 'normal' and 'Red Jail Carpenter' and 'Greenish Jail Carpenter' and 'Blue Jail Carpenter' and 'Green Jail Carpenter') + or (gerudo_fortress == 'fast' and 'Green Jail Carpenter')" + }, + "exits": { + "Thieves Hideout Exit 13": "True" + } + } +] \ No newline at end of file diff --git a/data/Scenes/Dungeons/Water Temple MQ.json b/data/Scenes/Dungeons/Water Temple MQ.json new file mode 100644 index 000000000..8f9758496 --- /dev/null +++ b/data/Scenes/Dungeons/Water Temple MQ.json @@ -0,0 +1,1333 @@ +[ + { + "region_name": "Water Temple Lobby 3F Entrance Ledge H", + "dungeon": "Water Temple", + "room": "0", + "exits": { + "Lake Hylia": "True", + "Water Temple Lobby 3F H": "True" + } + }, + { + "region_name": "Water Temple Lobby 3F Entrance Ledge M", + "dungeon": "Water Temple", + "room": "0", + "exits": { + "Lake Hylia": "True", + "Water Temple Lobby 3F M": "can_use(Hookshot) or can_use(Hover_Boots)" + } + }, + { + "region_name": "Water Temple Lobby 3F Entrance Ledge L", + "dungeon": "Water Temple", + "room": "0", + "exits": { + "Lake Hylia": "True", + "Water Temple Lobby 3F L": "can_use(Hookshot) or can_use(Hover_Boots)" + } + }, + { + "region_name": "Water Temple Lobby 3F H", + "dungeon": "Water Temple", + "room": "0", + "exits": { + "Water Temple Lobby 2F H": "can_use(Iron_Boots)", + "Water Temple Lobby 1F H": "can_use(Iron_Boots)", + "Water Temple Lobby 3F Entrance Ledge H": "True", + "Water Temple Lobby 3F Boss Ledge H": " + can_use(Longshot) or (mm_ice_arrows and can_use(Ice_Arrows))", + "Water Temple Lobby 3F Lullaby Ledge H": " + can_use(Hookshot) or (can_use(Hover_Boots) and can_climb(89)) + or (mm_ice_arrows and can_use(Ice_Arrows))", + "Water Temple Lobby 3F East Ledge H": "False", + "Water Temple Lobby 2F East Tunnel H": "can_dive or can_use(Iron_Boots)", + "Water Temple Lobby 2F Behind Grate H": "(Progressive_Scale, 2) and can_press_floor_switch", + "Water Temple Lobby Outer Floating Platform H": "True", + "Water Temple Ruto Meeting Room 1F H": "False" + } + }, + { + "region_name": "Water Temple Lobby 3F M", + "dungeon": "Water Temple", + "room": "0", + "exits": { + "Water Temple Lobby 2F M": "True", + "Water Temple Lobby 1F M": "can_use(Iron_Boots)", + "Water Temple Lobby 3F Entrance Ledge M": "can_use(Longshot) or can_use(Hover_Boots)", + "Water Temple Lobby 3F Boss Ledge M": "False", + "Water Temple Lobby 3F Lullaby Ledge M": " + can_use(Hookshot) or (can_use(Hover_Boots) and can_climb(89))", + "Water Temple Lobby 3F East Ledge M": "False", + "Water Temple Lobby 2F East Tunnel M": "True", + "Water Temple Lobby 2F Behind Grate M": "can_press_floor_switch", + "Water Temple Lobby Outer Floating Platform M": "True", + "Water Temple Ruto Meeting Room 1F M": "False" + } + }, + { + "region_name": "Water Temple Lobby 3F L", + "dungeon": "Water Temple", + "room": "0", + "exits": { + "Water Temple Lobby 2F L": "True", + "Water Temple Lobby 1F L": "True", + "Water Temple Lobby 3F Entrance Ledge L": "can_use(Longshot) or can_use(Hover_Boots)", + "Water Temple Lobby 3F Boss Ledge L": "False", + "Water Temple Lobby 3F Lullaby Ledge L": " + can_use(Hookshot) or (can_use(Hover_Boots) and can_climb(89))", + "Water Temple Lobby 3F East Ledge L": "False", + "Water Temple Lobby 2F East Tunnel L": "True", + "Water Temple Lobby 2F Behind Grate L": "can_press_floor_switch", + "Water Temple Lobby Outer Floating Platform L": "True", + "Water Temple Ruto Meeting Room 1F L": "False" + } + }, + { + "region_name": "Water Temple Lobby Outer Floating Platform H", + "dungeon": "Water Temple", + "room": "0", + "exits": { + "Water Temple Falling Platform Room": "Small_Key_Water_Temple", + "Water Temple Lobby 3F H": "True" + } + }, + { + "region_name": "Water Temple Lobby Outer Floating Platform M", + "dungeon": "Water Temple", + "room": "0", + "exits": { + "Water Temple Water Elevator 2F M": " + at('Water Temple Spike Tunnel M', can_use(Hookshot) and 'Water Temple M') + or can_hold_down_switch or barred_door", + "Water Temple Lobby 2F M": "True" + } + }, + { + "region_name": "Water Temple Lobby Outer Floating Platform L", + "dungeon": "Water Temple", + "room": "0", + "exits": { + "Water Temple Lobby 1F West Corridor L": "'Water Temple Room 0 1F West Switch'", + "Water Temple Lobby 1F L": "True" + } + }, + { + "region_name": "Water Temple Lobby 3F Lullaby Ledge H", + "dungeon": "Water Temple", + "room": "0", + "events": { + "Water Temple H": " + 'Water Temple HML Loop' or 'Water Temple LMH Loop' or + 'Water Temple HM Loop' or 'Water Temple HL Loop'" + }, + "exits": { + "Water Temple Lobby 3F H": "True", + "Water Temple Water Elevator 3F H": "barred_door" + } + }, + { + "region_name": "Water Temple Lobby 3F Lullaby Ledge M", + "dungeon": "Water Temple", + "room": "0", + "events": { + "Water Temple MH": "can_play(Zeldas_Lullaby)", + "Water Temple HM Loop": "'Water Temple MH' and 'Water Temple HM'", + "Water Temple LMH Loop": "'Water Temple MH' and 'Water Temple HL' and 'Water Temple LM'" + }, + "exits": { + "Water Temple Lobby 3F Lullaby Ledge H": "can_play(Zeldas_Lullaby)", + "Water Temple Lobby 3F M": "True", + "Water Temple Water Elevator 3F M": "barred_door" + } + }, + { + "region_name": "Water Temple Lobby 3F Lullaby Ledge L", + "dungeon": "Water Temple", + "room": "0", + "events": { + "Water Temple LH": "can_play(Zeldas_Lullaby)", + "Water Temple HL Loop": "'Water Temple LH' and 'Water Temple HL'", + "Water Temple HML Loop": "'Water Temple LH' and 'Water Temple HM' and 'Water Temple ML'" + }, + "exits": { + "Water Temple Lobby 3F Lullaby Ledge H": "can_play(Zeldas_Lullaby)", + "Water Temple Lobby 3F L": "True", + "Water Temple Water Elevator 3F L": "barred_door" + } + }, + { + "region_name": "Water Temple Lobby 3F Boss Ledge H", + "dungeon": "Water Temple", + "room": "0", + "exits": { + "Water Temple Lobby 3F H": "True", + "Water Temple Hall to Boss": "True" + } + }, + { + "region_name": "Water Temple Lobby 3F Boss Ledge M", + "dungeon": "Water Temple", + "room": "0", + "exits": { + "Water Temple Lobby 3F M": "can_use(Longshot)", + "Water Temple Hall to Boss": "True" + } + }, + { + "region_name": "Water Temple Lobby 3F Boss Ledge L", + "dungeon": "Water Temple", + "room": "0", + "exits": { + "Water Temple Lobby 3F L": "can_use(Longshot)", + "Water Temple Hall to Boss": "True" + } + }, + { + "region_name": "Water Temple Lobby 3F East Ledge H", + "dungeon": "Water Temple", + "room": "0", + "exits": { + "Water Temple Lobby 3F H": "can_press_floor_switch", + "Water Temple Grate Passage North H": "True" + } + }, + { + "region_name": "Water Temple Lobby 3F East Ledge M", + "dungeon": "Water Temple", + "room": "0", + "exits": { + "Water Temple Lobby 3F M": " + can_press_floor_switch and (can_use(Hookshot) or can_use(Hover_Boots))", + "Water Temple Lobby 2F M": "True", + "Water Temple Grate Passage North M": "True" + } + }, + { + "region_name": "Water Temple Lobby 3F East Ledge L", + "dungeon": "Water Temple", + "room": "0", + "exits": { + "Water Temple Lobby 3F L": " + can_press_floor_switch and (can_use(Hookshot) or can_use(Hover_Boots))", + "Water Temple Lobby 2F L": "True", + "Water Temple Grate Passage North L": "True" + } + }, + { + "region_name": "Water Temple Lobby 2F H", + "dungeon": "Water Temple", + "room": "0", + "exits": { + "Water Temple Lobby 3F H": "True" + "Water Temple Lobby 1F H": "can_use(Iron_Boots)" + "Water Temple Inner Tower 2F H": "can_use(Iron_Boots)", + "Water Temple Inner Tower 1F H": "False", + "Water Temple Lobby 3F Lullaby Ledge H": "can_use(Iron_Boots) and can_use(Longshot)", + "Water Temple Lobby 2F East Tunnel H": "can_use(Iron_Boots)", + "Water Temple Lobby 2F Behind Grate H": "can_use(Iron_Boots) and can_press_floor_switch", + "Water Temple Lobby Outer Floating Platform H": "False" + } + }, + { + "region_name": "Water Temple Lobby 2F M", + "dungeon": "Water Temple", + "room": "0", + "exits": { + "Water Temple Lobby 3F M": "False", + "Water Temple Lobby 1F M": "can_use(Iron_Boots)", + "Water Temple Inner Tower 2F M": "True", + "Water Temple Inner Tower 1F M": "False", + "Water Temple Lobby 3F Lullaby Ledge M": "can_use(Longshot)", + "Water Temple Lobby 2F East Tunnel M": "True", + "Water Temple Lobby 2F Behind Grate M": "can_press_floor_switch", + "Water Temple Lobby Outer Floating Platform M": "True" + } + }, + { + "region_name": "Water Temple Lobby 2F L", + "dungeon": "Water Temple", + "room": "0", + "exits": { + "Water Temple Lobby 3F L": "False", + "Water Temple Lobby 1F L": "True", + "Water Temple Inner Tower 2F L": "True", + "Water Temple Inner Tower 1F L": "True", + "Water Temple Lobby 3F Lullaby Ledge L": "can_use(Longshot)", + "Water Temple Lobby 2F East Tunnel L": "True", + "Water Temple Lobby 2F Behind Grate L": " + can_use(Hover_Boots) and can_press_floor_switch", + "Water Temple Lobby Outer Floating Platform L": "True" + } + }, + { + #When the water is high, Room 0 can access the tunnel with just Silver Scale. + #However, the ceiling raises shortly before the transition to Room 4. + #This means that when "entering" Room 0 from the Room 4 exit at high water, + #you start in a flooded nook and need Iron Boots to access the rest of Room 0. + "region_name": "Water Temple Lobby 2F East Tunnel H", + "dungeon": "Water Temple", + "room": "0", + "exits": { + "Water Temple Spike Tunnel H": "True" + "Water Temple Lobby 2F H": " + can_use(Iron_Boots) and (can_use(Zora_Tunic) or logic_fewer_tunic_requirements)" + } + }, + { + "region_name": "Water Temple Lobby 2F East Tunnel M", + "dungeon": "Water Temple", + "room": "0", + "exits": { + "Water Temple Spike Tunnel M": "True", + "Water Temple Lobby 2F M": "True", + "Water Temple Lobby 3F M": "can_use(Hookshot)" + } + }, + { + "region_name": "Water Temple Lobby 2F East Tunnel L", + "dungeon": "Water Temple", + "room": "0", + "exits": { + "Water Temple Spike Tunnel L": "True", + "Water Temple Lobby 2F L": "True", + "Water Temple Lobby 3F L": "can_use(Hookshot)" + } + }, + { + "region_name": "Water Temple Lobby 2F Behind Grate H", + "dungeon": "Water Temple", + "room": "0", + "exits": { + "Water Temple Grate Passage West H": "True", + "Water Temple Lobby 2F H": "False" + } + }, + { + "region_name": "Water Temple Lobby 2F Behind Grate M", + "dungeon": "Water Temple", + "room": "0", + "exits": { + "Water Temple Grate Passage West M": "True", + "Water Temple Lobby 2F L": "False" + } + }, + { + "region_name": "Water Temple Lobby 2F Behind Grate L", + "dungeon": "Water Temple", + "room": "0", + "exits": { + "Water Temple Grate Passage West L": "True", + "Water Temple Lobby 2F L": "False" + } + }, + { + "region_name": "Water Temple Lobby 1F H", + "dungeon": "Water Temple", + "room": "0", + "exits": { + "Water Temple Lobby 3F H": "True", + "Water Temple Lobby 2F H": "can_use(Iron_Boots)", + "Water Temple Inner Tower 1F H": "False", + "Water Temple Ruto Meeting Room 1F H": " + can_use(Iron_Boots) and (can_use(Zora_Tunic) or logic_fewer_tunic_requirements)", + "Water Temple Lobby 1F West Corridor H": " + 'Water Temple Room 0 1F West Switch' and can_use(Iron_Boots) + and (can_use(Zora_Tunic) or logic_fewer_tunic_requirements)", + "Water Temple Lobby 1F South Corridor H": " + 'Water Temple Room 0 1F West Switch' and can_use(Iron_Boots) + and (can_use(Zora_Tunic) or logic_fewer_tunic_requirements)", + "Water Temple Lobby 1F North Basement Access H": " + 'Water Temple Room 0 1F West Switch' and can_use(Iron_Boots) + and (can_use(Zora_Tunic) or logic_fewer_tunic_requirements)", + "Water Temple Lobby Outer Floating Platform H": "False" + } + }, + { + "region_name": "Water Temple Lobby 1F M", + "dungeon": "Water Temple", + "room": "0", + "exits": { + "Water Temple Lobby 3F M": "False", + "Water Temple Lobby 2F M": "True", + "Water Temple Inner Tower 1F M": "False", + "Water Temple Ruto Meeting Room 1F M": " + can_use(Iron_Boots) and (can_use(Zora_Tunic) or logic_fewer_tunic_requirements)", + "Water Temple Lobby 1F West Corridor M": " + 'Water Temple Room 0 1F West Switch' and can_use(Iron_Boots) + and (can_use(Zora_Tunic) or logic_fewer_tunic_requirements)", + "Water Temple Lobby 1F South Corridor M": " + 'Water Temple Room 0 1F West Switch' and can_use(Iron_Boots) + and (can_use(Zora_Tunic) or logic_fewer_tunic_requirements)", + "Water Temple Lobby 1F North Basement Access M": " + 'Water Temple Room 0 1F West Switch' and can_use(Iron_Boots) + and (can_use(Zora_Tunic) or logic_fewer_tunic_requirements)", + "Water Temple Lobby Outer Floating Platform M": "False" + } + }, + { + "region_name": "Water Temple Lobby 1F L", + "dungeon": "Water Temple", + "room": "0", + "exits": { + "Water Temple Lobby 3F L": "False", + "Water Temple Lobby 2F L": "can_use(Hookshot) and (can_climb(70) or can_use(Longshot))", + "Water Temple Inner Tower 1F L": "can_climb(50)", + "Water Temple Ruto Meeting Room 1F L": "True", + "Water Temple Lobby 1F West Corridor L": "False", + "Water Temple Lobby 1F South Corridor L": "'Water Temple Room 0 1F West Switch'", + "Water Temple Lobby 1F North Basement Access L": "'Water Temple Room 0 1F West Switch'", + "Water Temple Lobby Outer Floating Platform H": "can_climb(70)" + } + }, + { + "region_name": "Water Temple Lobby 1F West Corridor H", + "dungeon": "Water Temple", + "room": "0", + "events": { + "Water Temple Room 0 1F West Switch": "'Water Temple H' and can_use(Iron_Boots) and can_press_floor_switch", + }, + "exits": { + "Water Temple Lobby Outer Floating Platform H": "'Water Temple Room 0 1F West Switch'", + "Water Temple Lobby B1 West Corridor H": "can_use(Iron_Boots)" + } + }, + { + "region_name": "Water Temple Lobby 1F West Corridor M", + "dungeon": "Water Temple", + "room": "0", + "events": { + "Water Temple Room 0 1F West Switch": "'Water Temple M' and can_use(Iron_Boots) and can_press_floor_switch", + }, + "exits": { + "Water Temple Lobby Outer Floating Platform M": "'Water Temple Room 0 1F West Switch'", + "Water Temple Lobby B1 West Corridor M": "can_use(Iron_Boots)" + } + }, + { + "region_name": "Water Temple Lobby 1F West Corridor L", + "dungeon": "Water Temple", + "room": "0", + "events": { + "Water Temple Room 0 1F West Switch": "'Water Temple L' and can_press_floor_switch", + }, + "exits": { + "Water Temple Lobby Outer Floating Platform L": "'Water Temple Room 0 1F West Switch'", + #Child can dive under without Silver Scale but Adult can't because of height + "Water Temple Lobby B1 West Corridor L": " + can_use(Iron_Boots) or can_dive or is_child" + } + }, + { + "region_name": "Water Temple Lobby B1 West Corridor H", + "dungeon": "Water Temple", + "room": "0", + "exits": { + "Water Temple Lobby 1F West Corridor H": "True", + "Water Temple Single Water Jet Gap Room": "True" + } + }, + { + "region_name": "Water Temple Lobby B1 West Corridor M", + "dungeon": "Water Temple", + "room": "0", + "exits": { + "Water Temple Lobby 1F West Corridor M": "can_use(Iron_Boots) and can_use(Hookshot)", + "Water Temple Single Water Jet Gap Room": "True" + } + }, + { + "region_name": "Water Temple Lobby B1 West Corridor L", + "dungeon": "Water Temple", + "room": "0", + "exits": { + "Water Temple Lobby 1F West Corridor L": "can_use(Iron_Boots) and can_use(Hookshot)", + "Water Temple Single Water Jet Gap Room": "True" + } + }, + { + "region_name": "Water Temple Lobby 1F South Corridor H", + "dungeon": "Water Temple", + "room": "0", + "exits": { + "Water Temple Lobby 1F H": "'Water Temple Room 0 1F West Switch'", + "Water Temple South Basement Tunnel H": "True" + } + }, + { + "region_name": "Water Temple Lobby 1F South Corridor M", + "dungeon": "Water Temple", + "room": "0", + "exits": { + "Water Temple Lobby 1F M": "'Water Temple Room 0 1F West Switch'", + "Water Temple South Basement Tunnel M": "True" + } + }, + { + "region_name": "Water Temple Lobby 1F South Corridor L", + "dungeon": "Water Temple", + "room": "0", + "exits": { + "Water Temple Lobby 1F L": "'Water Temple Room 0 1F West Switch'", + "Water Temple South Basement Tunnel L": "True" + } + }, + { + "region_name": "Water Temple Lobby 1F North Basement Access", + "dungeon": "Water Temple", + "room": "0", + "exits": { + "Water Temple Lobby 1F": "'Water Temple Room 0 1F West Switch'", + "Water Temple North Basement": " + can_use(Longshot) or (logic_water_boss_key_region and can_use(Hover_Boots)) + or (mm_ice_arrows and can_use(Ice_Arrows) and can_use(Hookshot))" + } + }, + { + "region_name": "Water Temple Lobby 1F North Basement", + "dungeon": "Water Temple", + "room": "0", + "exits": { + "Water Temple Lobby 1F North Basement Access": "can_use(Longshot)", + "Water Temple Whirlpool Room": "True" + } + }, + { + "region_name": "Water Temple Inner Tower 3F H", + "dungeon": "Water Temple", + "room": "1", + "events": { + "Water Temple Room 1 Torches": "can_play(Song_of_Time) and has_fire_source" + }, + "exits": { + "Water Temple Inner Tower 2F H": "can_use(Iron_Boots)" + } + }, + { + "region_name": "Water Temple Inner Tower 3F M", + "dungeon": "Water Temple", + "room": "1", + "exits": { + "Water Temple Inner Tower 2F M": "True" + } + }, + { + "region_name": "Water Temple Inner Tower 3F L", + "dungeon": "Water Temple", + "room": "1", + "exits": { + "Water Temple Inner Tower 2F L": "True" + } + }, + { + "region_name": "Water Temple Inner Tower 2F H", + "dungeon": "Water Temple", + "room": "1", + "exits": { + "Water Temple Lobby 2F H": "can_use(Iron_Boots)", + "Water Temple Inner Tower 2F Lullaby Platform H": "can_use(Iron_Boots)", + "Water Temple Inner Tower 3F H": "True", + "Water Temple Inner Tower 1F H": "can_use(Iron_Boots)" + } + }, + { + "region_name": "Water Temple Inner Tower 2F M", + "dungeon": "Water Temple", + "room": "1", + "exits": { + "Water Temple Lobby 2F M": "True", + "Water Temple Inner Tower 2F Lullaby Platform M": "can_use(Iron_Boots)", + "Water Temple Inner Tower 3F M": "can_use(Longshot)", + "Water Temple Inner Tower 1F M": "can_use(Iron_Boots)" + } + }, + { + "region_name": "Water Temple Inner Tower 2F L", + "dungeon": "Water Temple", + "room": "1", + "exits": { + "Water Temple Lobby 2F L": "True", + "Water Temple Inner Tower 2F Lullaby Platform L": "True", + "Water Temple Inner Tower 3F L": "can_use(Longshot)", + "Water Temple Inner Tower 1F L": "True" + } + }, + { + "region_name": "Water Temple Inner Tower 2F Lullaby Platform H", + "dungeon": "Water Temple", + "room": "1", + "events": { + "Water Temple HM": "can_play_underwater and can_play(Zeldas_Lullaby)", + "Water Temple HM Loop": "'Water Temple HM' and 'Water Temple MH'", + "Water Temple HML Loop": "'Water Temple HM' and 'Water Temple ML' and 'Water Temple LH'" + }, + "exits": { + "Water Temple Inner Tower 2F Lullaby Platform M": " + can_play_underwater and can_play(Zeldas_Lullaby)", + "Water Temple Inner Tower 2F H": "can_use(Iron_Boots)", + "Water Temple Inner Tower 3F H": "True", + "Water Temple Inner Tower 1F H": "can_use(Iron_Boots)" + } + }, + { + "region_name": "Water Temple Inner Tower 2F Lullaby Platform M", + "dungeon": "Water Temple", + "room": "1", + "events": { + "Water Temple M": " + 'Water Temple HML Loop' or 'Water Temple LMH Loop' or + 'Water Temple HM Loop' or 'Water Temple ML Loop'" + }, + "exits": { + "Water Temple Inner Tower 2F M": "True", + "Water Temple Inner Tower 3F M": "can_use(Hookshot) and can_use(Iron_Boots)", + "Water Temple Inner Tower 1F M": "can_use(Iron_Boots)" + } + }, + { + "region_name": "Water Temple Inner Tower 2F Lullaby Platform L", + "dungeon": "Water Temple", + "room": "1", + "events": { + "Water Temple LM": "can_play(Zeldas_Lullaby)", + "Water Temple ML Loop": "'Water Temple LM' and 'Water Temple ML'", + "Water Temple LMH Loop": "'Water Temple LM' and 'Water Temple MH' and 'Water Temple HL'" + }, + "exits": { + "Water Temple Inner Tower 2F Lullaby Platform M": "can_play(Zeldas_Lullaby)", + #Child can't jump climb to door + "Water Temple Inner Tower 2F L": "can_use(Hookshot) or is_adult", + "Water Temple Inner Tower 3F L": "can_use(Hookshot)", + "Water Temple Inner Tower 1F L": "True" + } + }, + { + "region_name": "Water Temple Inner Tower 1F H", + "dungeon": "Water Temple", + "room": "1", + "exits": { + "Water Temple Lobby 1F H": "False", + "Water Temple Inner Tower 2F H": " + can_use(Iron_Boots) and (can_use(Zora_Tunic) or logic_fewer_tunic_requirements)", + "Water Temple Inner Tower 2F Lullaby Platform H": " + can_use(Iron_Boots) and (can_use(Zora_Tunic) or logic_fewer_tunic_requirements)", + "Water Temple Inner Tower B1 H": " + 'Water Temple Room 1 Torches' and can_use(Iron_Boots) + and (can_use(Zora_Tunic) or logic_fewer_tunic_requirements)" + } + }, + { + "region_name": "Water Temple Inner Tower 1F M", + "dungeon": "Water Temple", + "room": "1", + "exits": { + "Water Temple Lobby 1F M": "False", + "Water Temple Inner Tower 2F M": "True", + "Water Temple Inner Tower 2F Lullaby Platform M": "can_use(Iron_Boots)", + "Water Temple Inner Tower B1 M": " + 'Water Temple Room 1 Torches' and can_use(Iron_Boots) + and (can_use(Zora_Tunic) or logic_fewer_tunic_requirements)" + } + }, + { + "region_name": "Water Temple Inner Tower 1F L", + "dungeon": "Water Temple", + "room": "1", + "exits": { + "Water Temple Lobby 1F L": "True", + "Water Temple Inner Tower 2F L": "can_use(Longshot)", + "Water Temple Inner Tower 2F Lullaby Platform L": "can_use(Hookshot)", + "Water Temple Inner Tower B1 L": "False" + } + }, + { + "region_name": "Water Temple Inner Tower B1 H", + "dungeon": "Water Temple", + "room": "1", + "exits": { + "Water Temple Inner Tower 1F H": "'Water Temple Room 1 Torches'", + "Water Temple Underwater Storage": "True" + } + }, + { + "region_name": "Water Temple Inner Tower B1 M", + "dungeon": "Water Temple", + "room": "1", + "exits": { + "Water Temple Inner Tower 1F M": "'Water Temple Room 1 Torches'", + "Water Temple Underwater Storage": "True" + } + }, + { + "region_name": "Water Temple Inner Tower B1 L", + "dungeon": "Water Temple", + "room": "1", + "exits": { + "Water Temple Inner Tower 1F L": "False", + "Water Temple Underwater Storage": "True" + } + }, + { + "region_name": "Water Temple Underwater Storage", + "dungeon": "Water Temple", + "room": "2", + "locations": { + "Water Temple MQ Central Pillar Chest": " + can_use(Iron_Boots) and can_use(Zora_Tunic) and can_use(Hookshot)" + }, + "exits": { + "Water Temple Inner Tower B1": "True" + } + }, + { + "region_name": "Water Temple South Basement Tunnel H", + "dungeon": "Water Temple", + "room": "3", + "exits": { + "Water Temple Lobby 1F South Corridor H": "True", + "Water Temple South Basement": "can_use(Iron_Boots)" + } + }, + { + "region_name": "Water Temple South Basement Tunnel M", + "dungeon": "Water Temple", + "room": "3", + "exits": { + "Water Temple Lobby 1F South Corridor M": "True", + "Water Temple South Basement": "can_use(Iron_Boots)" + } + }, + { + "region_name": "Water Temple South Basement Tunnel L", + "dungeon": "Water Temple", + "room": "3", + "exits": { + "Water Temple Lobby 1F South Corridor L": "True", + "Water Temple South Basement": "can_use(Iron_Boots) or can_dive" + } + }, + { + "region_name": "Water Temple South Basement", + "dungeon": "Water Temple", + "room": "3", + "locations": { + "Water Temple MQ GS Triple Wall Torch": " + (can_use(Hookshot) or can_use(Boomerang)) + and can_use(Fire_Arrows) and (can_use(Hover_Boots) or can_use(Scarecrow))", + "Wall Switch Fairy": " + has_bottle and can_use(Hookshot) + and can_use(Fire_Arrows) and (can_use(Hover_Boots) or can_use(Scarecrow))" + }, + "exits": { + "Water Temple South Basement Tunnel H": "Water=high", + "Water Temple South Basement Tunnel M": "Water=middle", + "Water Temple South Basement Tunnel L": "Water=low" + } + }, + { + "region_name": "Water Temple Spike Tunnel H", + "dungeon": "Water Temple", + "room": "4", + "exits": { + "Water Temple Lobby 2F East Tunnel H": "True" + } + }, + { + "region_name": "Water Temple Spike Tunnel M", + "dungeon": "Water Temple", + "room": "4", + #This room contains boxes to be used on the blue floor switch in Lobby 2F M. + "exits": { + "Water Temple Lobby 2F East Tunnel M": "True" + } + }, + { + "region_name": "Water Temple Spike Tunnel L", + "dungeon": "Water Temple", + "room": "4", + "exits": { + "Water Temple Lobby 2F East Tunnel L": "True" + } + }, + { + "region_name": "Water Temple Water Elevator 2F H", + "dungeon": "Water Temple", + "room": "10", + "exits": + "Water Temple Lobby Outer Floating Platform H": "can_use(Iron_Boots)", + "Water Temple Water Elevator 3F H": " + can_use(Longshot) and can_use(Iron_Boots) + and (can_use(Zora_Tunic) or logic_fewer_tunic_requirements)", + } + }, + { + "region_name": "Water Temple Water Elevator 2F M", + "dungeon": "Water Temple", + "room": "10", + "exits": + "Water Temple Lobby Outer Floating Platform M": "True", + "Water Temple Water Elevator 3F M": "can_use(Longshot)" + } + }, + { + "region_name": "Water Temple Water Elevator 2F L", + "dungeon": "Water Temple", + "room": "10", + "exits": + "Water Temple Lobby Outer Floating Platform L": "True", + "Water Temple Water Elevator 3F L": "can_use(Longshot)" + } + }, + { + "region_name": "Water Temple Water Elevator 3F H", + "dungeon": "Water Temple", + "room": "10", + "locations": { + "Water Temple MQ GS Before Upper Water Switch": " + 'Water Temple H' and is_adult or can_child_attack" + } + "exits": + "Water Temple Water Elevator 2F H": "can_use(Iron_Boots)", + "Water Temple Lobby 3F Lullaby Ledge H": "True" + } + }, + { + "region_name": "Water Temple Water Elevator 3F M", + "dungeon": "Water Temple", + "room": "10", + "locations": { + "Water Temple MQ GS Before Upper Water Switch": " + 'Water Temple M' and is_adult or can_child_attack" + } + "exits": + "Water Temple Water Elevator 2F M": "True", + "Water Temple Lobby 3F Lullaby Ledge M": "True" + } + }, + { + "region_name": "Water Temple Water Elevator 3F L", + "dungeon": "Water Temple", + "room": "10", + "locations": { + "Water Temple MQ GS Before Upper Water Switch": " + 'Water Temple L' and is_adult or can_child_attack" + } + "exits": + "Water Temple Water Elevator 2F L": "True", + "Water Temple Lobby 3F Lullaby Ledge L": "True" + } + }, + { + "region_name": "Water Temple Ruto Meeting Room 1F H", + "dungeon": "Water Temple", + "room": "17", + "exits": { + "Water Temple Lobby 1F H": " + can_use(Iron_Boots) and (can_use(Zora_Tunic) or logic_fewer_tunic_requirements)", + "Water Temple Submerged Combat Room H": "barred_door and can_use(Iron_Boots)", + "Water Temple Ruto Meeting Room 2F H": "can_use(Iron_Boots)", + "Water Temple Ruto Meeting Room 3F H": "True" + } + }, + { + "region_name": "Water Temple Ruto Meeting Room 1F M", + "dungeon": "Water Temple", + "room": "17", + "exits": { + "Water Temple Lobby 1F M": " + can_use(Iron_Boots) and (can_use(Zora_Tunic) or logic_fewer_tunic_requirements)", + "Water Temple Submerged Combat Room M": "barred_door and can_use(Iron_Boots)", + "Water Temple Ruto Meeting Room 2F M": "True", + "Water Temple Ruto Meeting Room 3F M": "False" + } + }, + { + "region_name": "Water Temple Ruto Meeting Room 1F L", + "dungeon": "Water Temple", + "room": "17", + "exits": { + "Water Temple Lobby 1F L": "True", + "Water Temple Submerged Combat Room L": " + (can_use(Bow) or has_fire_source_with_torch or barred_door", + "Water Temple Ruto Meeting Room 2F L": "False", + "Water Temple Ruto Meeting Room 3F L": "False" + } + }, + { + "region_name": "Water Temple Ruto Meeting Room 2F H", + "dungeon": "Water Temple", + "room": "17", + "events": { + "Water Temple Room 17 Hookshot Wall": " + 'Water Temple H' and can_use(Hookshot) and can_use(Iron_Boots) + and (can_use(Zora_Tunic) or logic_fewer_tunic_requirements)" + #For some reason chest can't be opened underwater + }, + "exits": { + "Water Temple Ruto Meeting Room 1F H": "can_use(Iron_Boots)", + "Water Temple Ruto Meeting Room 3F H": "True" + } + }, + { + "region_name": "Water Temple Ruto Meeting Room 2F M", + "dungeon": "Water Temple", + "room": "17", + "events": { + "Water Temple Room 17 Hookshot Wall": "'Water Temple M' and can_use(Hookshot)" + } + "locations": { + "Water Temple MQ Longshot Chest": "'Water Temple M' and 'Water Temple Room 17 Hookshot Wall'" + }, + "exits": { + "Water Temple Lobby 1F M": "(Progressive_Scale, 2)", + "Water Temple Ruto Meeting Room 1F M": "can_use(Iron_Boots)", + "Water Temple Ruto Meeting Room 3F M": "False" + } + }, + { + "region_name": "Water Temple Ruto Meeting Room 2F L", + "dungeon": "Water Temple", + "room": "17", + "events": { + "Water Temple Room 17 Hookshot Wall": "'Water Temple L' and can_use(Hookshot)" + } + "locations": { + "Water Temple MQ Longshot Chest": "'Water Temple L' and 'Water Temple Room 17 Hookshot Wall'" + }, + "exits": { + "Water Temple Ruto Meeting Room 1F L": "True", + "Water Temple Ruto Meeting Room 3F L": "False" + } + }, + { + "region_name": "Water Temple Ruto Meeting Room 3F H", + "dungeon": "Water Temple", + "room": "17", + "events": { + "Water Temple HL": "can_play(Zeldas_Lullaby)", + "Water Temple HL Loop": "'Water Temple HL' and 'Water Temple LH'", + "Water Temple LMH Loop": "'Water Temple HL' and 'Water Temple LM' and 'Water Temple MH'" + } + "exits": { + "Water Temple Ruto Meeting Room 3F L": "can_play(Zeldas_Lullaby)", + "Water Temple Dungeon Map Room": "has_fire_source or barred_door", + "Water Temple Ruto Meeting Room 1F H": "can_use(Iron_Boots)", + "Water Temple Ruto Meeting Room 2F H": "can_use(Iron_Boots)" + } + }, + { + "region_name": "Water Temple Ruto Meeting Room 3F M", + "dungeon": "Water Temple", + "room": "17", + "events": { + "Water Temple ML": "can_play(Zeldas_Lullaby)", + "Water Temple ML Loop": "'Water Temple ML' and 'Water Temple LM'", + "Water Temple HML Loop": "'Water Temple ML' and 'Water Temple LH' and 'Water Temple HM'" + } + "exits": { + "Water Temple Ruto Meeting Room 3F L": "can_play(Zeldas_Lullaby)", + "Water Temple Dungeon Map Room": "has_fire_source or barred_door", + "Water Temple Ruto Meeting Room 1F": "can_use(Iron_Boots)", + "Water Temple Ruto Meeting Room 2F": "True" + } + }, + { + "region_name": "Water Temple Ruto Meeting Room 3F L", + "dungeon": "Water Temple", + "room": "17", + "events": { + "Water Temple L": " + 'Water Temple HML Loop' or 'Water Temple LMH Loop' or + 'Water Temple ML Loop' or 'Water Temple HL Loop'" + } + "exits": { + "Water Temple Dungeon Map Room": "has_fire_source or barred_door", + "Water Temple Ruto Meeting Room 1F": "True", + "Water Temple Ruto Meeting Room 2F": " + logic_water_cracked_wall_nothing or + (logic_water_cracked_wall_hovers and can_use(Hover_Boots))" + } + }, + { + "region_name": "Water Temple Submerged Combat Room H", + "dungeon": "Water Temple", + "room": "18", + "events": { + "Water Temple Room 18 Enemies": " + False and 'Water Temple H' and can_use(Iron_Boots) + and (can_use(Zora_Tunic) or logic_fewer_tunic_requirements)" + #Hookshot can't kill Lizalfos + } + "locations": { + "Water Temple MQ Compass Chest": " + 'Water Temple H' and 'Water Temple Room 18 Enemies' and can_use(Iron_Boots) + and (can_use(Zora_Tunic) or logic_fewer_tunic_requirements)" + }, + "exits": { + "Water Temple Ruto Meeting Room 1F H": " + can_use(Iron_Boots) and (can_use(Zora_Tunic) or logic_fewer_tunic_requirements)" + } + }, + { + "region_name": "Water Temple Submerged Combat Room M", + "dungeon": "Water Temple", + "room": "18", + "events": { + "Water Temple Room 18 Enemies": " + False and 'Water Temple M' and can_use(Iron_Boots) + and (can_use(Zora_Tunic) or logic_fewer_tunic_requirements)" + #Hookshot can't kill Lizalfos + } + "locations": { + "Water Temple MQ Compass Chest": " + 'Water Temple M' and 'Water Temple Room 18 Enemies' and can_use(Iron_Boots) + and (can_use(Zora_Tunic) or logic_fewer_tunic_requirements)" + }, + "exits": { + "Water Temple Ruto Meeting Room 1F M": " + can_use(Iron_Boots) and (can_use(Zora_Tunic) or logic_fewer_tunic_requirements)" + } + }, + { + "region_name": "Water Temple Submerged Combat Room L", + "dungeon": "Water Temple", + "room": "18", + "events": { + "Water Temple Room 18 Enemies": " + 'Water Temple L' and Beat the enemies" + } + "locations": { + "Water Temple MQ Compass Chest": "'Water Temple L' and 'Water Temple Room 18 Enemies'" + }, + "exits": { + "Water Temple Ruto Meeting Room 1F L": "True" + } + }, + { + "region_name": "Water Temple Grate Passage North H", + "dungeon": "Water Temple", + "room": "20", + "exits": { + "Water Temple Lobby 3F East Ledge H": "True", + "Water Temple Grate Passage West H": " + (can_dive or can_use(Iron_Boots)) + and (can_use(Zora_Tunic) or logic_fewer_tunic_requirements)" + } + }, + { + "region_name": "Water Temple Grate Passage North M", + "dungeon": "Water Temple", + "room": "20", + "locations": { + "Water Temple MQ GS Lizalfos Hallway": "'Water Temple M' and can_use(Dins_Fire)" + }, + "exits": { + "Water Temple Lobby 3F East Ledge M": "can_use(Hookshot)", + "Water Temple Grate Passage West M": "True" + } + }, + { + "region_name": "Water Temple Grate Passage North L", + "dungeon": "Water Temple", + "room": "20", + "locations": { + "Water Temple MQ GS Lizalfos Hallway": "'Water Temple L' and can_use(Dins_Fire)" + }, + "exits": { + "Water Temple Lobby 3F East Ledge L": "can_use(Hookshot)", + "Water Temple Grate Passage West L": "True" + } + }, + { + "region_name": "Water Temple Grate Passage West H", + "dungeon": "Water Temple", + "room": "20", + "exits": { + "Water Temple Lobby 2F Behind Grate H": "True", + "Water Temple Grate Passage North H": "True" + } + }, + { + "region_name": "Water Temple Grate Passage West M", + "dungeon": "Water Temple", + "room": "20", + "exits": { + "Water Temple Lobby 2F Behind Grate M": "True", + "Water Temple Grate Passage North M": "True" + } + }, + { + "region_name": "Water Temple Grate Passage West L", + "dungeon": "Water Temple", + "room": "20", + "exits": { + "Water Temple Lobby 2F Behind Grate L": "True", + "Water Temple Grate Passage North L": "True" + } + }, + { + "region_name": "Water Temple Dungeon Map Room", + "dungeon": "Water Temple", + "room": "19", + "events": { + "Water Temple Room 19 Enemies": " + " + #3 Stalfos + } + "locations": { + "Water Temple MQ Map Chest": "can_use(Hookshot)" + }, + "exits": { + "Water Temple Ruto Meeting Room 3F": "'Water Temple Room 19 Enemies' or barred_door" + } + }, + { + "region_name": "Water Temple Falling Platform Room", + "dungeon": "Water Temple", + "room": "5", + "exits": { + "Water Temple Lobby Outer Falling Platform": " + Still_a_key and can_use(Longshot) and (can_use(Hover_Boots) or can_use(Bow) or can_use(Slingshot)", + "Water Temple Triple Serpent Head Room": "can_use(Longshot)" + } + }, + { + "region_name": "Water Temple Triple Serpent Head Room", + "dungeon": "Water Temple", + "room": "6", + "events": { + "Water Temple Room 6 Enemies": " + " + #3 Stalfos + } + "locations": { + "Fairy Pot": " + has_bottle and (can_use(Hover_Boots) or + ('Water Temple Room 6 Enemies' and can_use(Hookshot) and can_climb(106)) or can_climb(240))", + "Nut Pot": " + can_use(Hover_Boots) or + ('Water Temple Room 6 Enemies' and can_use(Hookshot) and can_climb(106)) or can_climb(240)", + }, + "exits": { + "Water Temple Falling Platform Room": " + (can_use(Hookshot) or can_use(Hover_Boots)) + and ('Water Temple Room 6 Enemies' or barred_door)", + "Water Temple Dark Link Room": " + 'Water Temple Room 6 Enemies' and can_use(Hookshot) and + (can_climb(106) or can_use(Longshot) or can_use(Hover_Boots))" + } + }, + { + "region_name": "Water Temple Dark Link Room", + "dungeon": "Water Temple", + "room": "13", + "events": { + "Water Temple Room 13 Enemies": "Defeat Dark Link" + } + "exits": { + "Water Temple Triple Serpent Head Room": "'Water Temple Room 13 Enemies' or barred_door", + "Water Temple River Drop Room": "'Water Temple Room 13 Enemies' or barred_door" + } + }, + { + "region_name": "Water Temple River Drop Room", + "dungeon": "Water Temple", + "room": "7", + "locations": { + "Fairy Pot": "has_bottle" + }, + "exits": { + "Water Temple Dark Link Room": "True", + "Water Temple Serpent River": "can_use(Hookshot)" + } + }, + { + "region_name": "Water Temple Serpent River", + "dungeon": "Water Temple", + "room": "21", + "locations": { + "Water Temple MQ GS River": "can_use(Hookshot) or can_use(Boomerang)", + "Fairy Pot": "has_bottle" + }, + "exits": { + "Water Temple River Drop Room": "False", + "Water Temple Serpent River Endpoint": "True" + } + }, + { + "region_name": "Water Temple Serpent River Endpoint", + "dungeon": "Water Temple", + "room": "21", + "exits": { + "Water Temple Serpent River": "True", + "Water Temple Dragon Statue Room Ledge": "True" + } + }, + { + "region_name": "Water Temple Dragon Statue Room Ledge", + "dungeon": "Water Temple", + "room": "8", + "exits": { + "Water Temple Dragon Statue Room": "True", + "Water Temple Dragon Statue Room Rear": "logic_water_dragon_jump_dive", + "Water Temple Serpent River Endpoint": "True" + } + }, + { + "region_name": "Water Temple Dragon Statue Room", + "dungeon": "Water Temple", + "room": "8", + "exits": { + "Water Temple Single Water Jet Gap Room North": " + at('Water Temple Dragon Statue Room Rear', has_fire_source) or barred_door", + "Water Temple Dragon Statue Room Rear": " + (can_use(Iron_Boots) and (can_use(Zora_Tunic) or logic_fewer_tunic_requirements)) + or can_dive", + "Water Temple Dragon Statue Room Ledge": "False" + } + }, + { + "region_name": "Water Temple Dragon Statue Room Rear", + "dungeon": "Water Temple", + "room": "8", + "exits": { + "Water Temple Dragon Statue Room": "can_dive or can_use(Iron_Boots)" + } + }, + { + "region_name": "Water Temple Single Water Jet Gap Room North", + "dungeon": "Water Temple", + "room": "9", + "events": { + "Water Temple Room 9 Torches": "can_use(Dins_Fire)" + }, + "exits": { + "Water Temple Single Water Jet Gap Room": " + 'Water Temple Room 9 Torches' and + (can hit crystal switch or can_use(Hookshot) or can_use(Hover_Boots))", + "Water Temple Dragon Statue Room": "True" + } + }, + { + "region_name": "Water Temple Single Water Jet Gap Room", + "dungeon": "Water Temple", + "room": "9", + "events": { + "Water Temple Room 9 Torches": "has_fire_source" + }, + "locations": { + "Water Temple MQ Boss Key Chest": "True" + }, + "exits": { + "Water Temple Lobby B1 West Corridor": "can_use(Iron_Boots) or can_dive", + "Water Temple Single Water Jet Gap Room North": " + 'Water Temple Room 9 Torches' and (can_use_projectile or can_use(Hover_Boots))" + } + }, + { + "region_name": "Water Temple Whirlpool Room", + "dungeon": "Water Temple", + "room": "12", + "exits": { + "Water Temple Lobby 1F North Basement": "True", + "Water Temple Whirlpool Room Rear": "False", + "Water Temple Whirlpool Room Water Corridor": " + can_use(Scarecrow) or (is_adult and logic_water_north_basement_ledge_jump) + or can_use(Hover_Boots) or (mm_ice_arrows and can_use(Ice_Arrows))" + } + }, + { + "region_name": "Water Temple Whirlpool Room Rear", + "dungeon": "Water Temple", + "room": "12", + "locations": { + "Water Temple MQ GS Freestanding Key Area": "is_adult or can_child_attack" + } + "exits": { + "Water Temple Whirlpool Room": "False", + "Water Temple Dropdown Room": "True" + } + }, + { + "region_name": "Water Temple Whirlpool Room Water Corridor", + "dungeon": "Water Temple", + "room": "12", + "exits": { + "Water Temple Whirlpool Room": "True", + "Water Temple Triple Water Jet Gap Room": "Small_Key_Water_Temple", + "Water Temple Whirlpool Room Water Corridor Rear": "logic_water_bk_jump_dive or can_use(Iron_Boots)", + } + }, + { + "region_name": "Water Temple Whirlpool Room Water Corridor Rear", + "dungeon": "Water Temple", + "room": "12", + "exits": { + "Water Temple Whirlpool Room Water Corridor": "is_child or can_dive or can_use(Iron_Boots)", + "Water Temple Boss Key Room": "True" + } + }, + { + "region_name": "Water Temple Boss Key Room", + "dungeon": "Water Temple", + "room": "16", + "events": { + "Water Temple Room 16 Enemies": " + " + #Stalfos + }, + "locations": { + "Water Temple MQ Freestanding Key": "True", + "Fairy Pot": "has_bottle" + } + "exits": { + "Water Temple Whirlpool Room Water Corridor Rear": " + 'Water Temple Room 16 Enemies' or barred_door" + } + }, + { + "region_name": "Water Temple Dropdown Room", + "dungeon": "Water Temple", + "room": "14", + "events": { + "Water Temple Room 14 Enemies": " + " + #Dodongos + }, + "exits": { + "Water Temple Whirlpool Room Rear": " + (can_use(Hookshot) or can_use(Hover_Boots)) + and ('Water Temple Room 14 Enemies' or barred_door)", + "Water Temple Triple Water Jet Gap Room": " + (can_use(Hookshot) or can_use(Hover_Boots)) + and ('Water Temple Room 14 Enemies' or barred_door)" + } + }, + { + "region_name": "Water Temple Triple Water Jet Gap Room", + "dungeon": "Water Temple", + "room": "15", + "exits": { + "Water Temple Dropdown Room": " + can hit crystal switch and (can_use(Dins_Fire) or barred_door)", + #I can't seem to get fire arrows to work here for some reason + "Water Temple Whirlpool Room Water Corridor": " + Still_a_key and + (can_use(Hookshot) or can_use(Slingshot) or can_use(Bow) or has_bombchus)" + } + }, + { + "region_name": "Water Temple Hall to Boss", + "dungeon": "Water Temple", + "room": "11", + "locations": { + "Wall Switch Fairy": "has_bottle and can_use(Hookshot)" + } + "exits": { + "Water Temple Lobby 3F Boss Ledge": " + (damage_multiplier != 'ohko' and damage_multiplier != 'quadruple') + or can_use(Longshot) or can_use(Nayrus_Love)", + "Morpha Arena": " + Boss_Key_Water_Temple and (can_use(Longshot) or can_use(Nayrus_Love))" + } + } +] diff --git a/data/Scenes/Dungeons/Water Temple.json b/data/Scenes/Dungeons/Water Temple.json new file mode 100644 index 000000000..33584bc05 --- /dev/null +++ b/data/Scenes/Dungeons/Water Temple.json @@ -0,0 +1,1370 @@ +[ + { + "region_name": "Water Temple Lobby 3F Entrance Ledge H", + "dungeon": "Water Temple", + "room": "0", + "exits": { + "Lake Hylia": "True", + "Water Temple Lobby 3F H": "True" + } + }, + { + "region_name": "Water Temple Lobby 3F Entrance Ledge M", + "dungeon": "Water Temple", + "room": "0", + "exits": { + "Lake Hylia": "True", + "Water Temple Lobby 3F M": "can_use(Hookshot) or can_use(Hover_Boots)" + } + }, + { + "region_name": "Water Temple Lobby 3F Entrance Ledge L", + "dungeon": "Water Temple", + "room": "0", + "exits": { + "Lake Hylia": "True", + "Water Temple Lobby 3F L": "can_use(Hookshot) or can_use(Hover_Boots)" + } + }, + { + "region_name": "Water Temple Lobby 3F H", + "dungeon": "Water Temple", + "room": "0", + "exits": { + "Water Temple Lobby 2F H": "can_use(Iron_Boots)", + "Water Temple Lobby 1F H": "can_use(Iron_Boots)", + "Water Temple Lobby 3F Entrance Ledge H": "True", + "Water Temple Lobby 3F Boss Ledge H": " + can_use(Longshot) or (mm_ice_arrows and can_use(Ice_Arrows))", + "Water Temple Lobby 3F Lullaby Ledge H": " + can_use(Scarecrow) or (can_use(Hover_Boots) and can_climb(89)) + or (mm_ice_arrows and can_use(Ice_Arrows))", + "Water Temple Lobby 3F East Ledge H": "True", + "Water Temple Lobby 2F East Tunnel H": " + can_dive or can_use(Iron_Boots) or (logic_water_temple_torch_longshot and can_use(Longshot))", + "Water Temple Lobby 2F Behind Grate H": "False", + "Water Temple Lobby Outer Floating Platform H": "True", + "Water Temple Ruto Meeting Room 1F H": " + logic_water_temple_torch_longshot and can_use(Longshot) + and (can_use(Zora_Tunic) or logic_fewer_tunic_requirements)" + } + }, + { + "region_name": "Water Temple Lobby 3F M", + "dungeon": "Water Temple", + "room": "0", + "exits": { + "Water Temple Lobby 2F M": "True", + "Water Temple Lobby 1F M": "can_use(Iron_Boots)", + "Water Temple Lobby 3F Entrance Ledge M": "can_use(Longshot) or can_use(Hover_Boots)", + "Water Temple Lobby 3F Boss Ledge M": "False", + "Water Temple Lobby 3F Lullaby Ledge M": " + can_use(Scarecrow) or (can_use(Hover_Boots) and can_climb(89))", + "Water Temple Lobby 3F East Ledge M": "can_use(Hover_Boots)", + "Water Temple Lobby 2F East Tunnel M": "True", + "Water Temple Lobby 2F Behind Grate M": " + logic_water_central_bow and (can_use(Bow) or can_use(Slingshot))", + "Water Temple Lobby Outer Floating Platform M": "True", + "Water Temple Ruto Meeting Room 1F M": " + logic_water_temple_torch_longshot and can_use(Longshot) + and (can_use(Zora_Tunic) or logic_fewer_tunic_requirements)" + } + }, + { + "region_name": "Water Temple Lobby 3F L", + "dungeon": "Water Temple", + "room": "0", + "exits": { + "Water Temple Lobby 2F L": "True", + "Water Temple Lobby 1F L": "True", + "Water Temple Lobby 3F Entrance Ledge L": "can_use(Longshot) or can_use(Hover_Boots)", + "Water Temple Lobby 3F Boss Ledge L": "False", + "Water Temple Lobby 3F Lullaby Ledge L": " + can_use(Scarecrow) or (can_use(Hover_Boots) and can_climb(89))", + "Water Temple Lobby 3F East Ledge L": "can_use(Hover_Boots)", + "Water Temple Lobby 2F East Tunnel L": "True", + "Water Temple Lobby 2F Behind Grate L": " + logic_water_central_bow and (can_use(Bow) or can_use(Slingshot))", + "Water Temple Lobby Outer Floating Platform L": "True", + "Water Temple Ruto Meeting Room 1F L": "can_use(Longshot)" + } + }, + { + "region_name": "Water Temple Lobby Outer Floating Platform H", + "dungeon": "Water Temple", + "room": "0", + "exits": { + "Water Temple Falling Platform Room": "Small_Key_Water_Temple", + "Water Temple Lobby 3F H": "True" + } + }, + { + "region_name": "Water Temple Lobby Outer Floating Platform M", + "dungeon": "Water Temple", + "room": "0", + "exits": { + "Water Temple Water Elevator 2F M": "Small_Key_Water_Temple", + "Water Temple Lobby 2F M": "True" + } + }, + { + "region_name": "Water Temple Lobby Outer Floating Platform L", + "dungeon": "Water Temple", + "room": "0", + "events": { + "Water Temple Room 0 Pushblock": "'Water Temple L' and Progressive_Strength_Upgrade" + }, + "exits": { + "Water Temple Lobby 1F West Corridor L": "'Water Temple Room 0 Pushblock'", + "Water Temple Lobby 1F L": "True" + } + }, + { + "region_name": "Water Temple Lobby 3F Lullaby Ledge H", + "dungeon": "Water Temple", + "room": "0", + "events": { + "Water Temple H": " + 'Water Temple HML Loop' or 'Water Temple LMH Loop' or + 'Water Temple HM Loop' or 'Water Temple HL Loop'" + }, + "exits": { + "Water Temple Lobby 3F H": "True", + "Water Temple Water Elevator 3F H": "barred_door" + } + }, + { + "region_name": "Water Temple Lobby 3F Lullaby Ledge M", + "dungeon": "Water Temple", + "room": "0", + "events": { + "Water Temple MH": "can_play(Zeldas_Lullaby)", + "Water Temple HM Loop": "'Water Temple MH' and 'Water Temple HM'", + "Water Temple LMH Loop": "'Water Temple MH' and 'Water Temple HL' and 'Water Temple LM'" + }, + "exits": { + "Water Temple Lobby 3F Lullaby Ledge H": "can_play(Zeldas_Lullaby)", + "Water Temple Lobby 3F M": "True", + "Water Temple Water Elevator 3F M": "barred_door" + } + }, + { + "region_name": "Water Temple Lobby 3F Lullaby Ledge L", + "dungeon": "Water Temple", + "room": "0", + "events": { + "Water Temple LH": "can_play(Zeldas_Lullaby)", + "Water Temple HL Loop": "'Water Temple LH' and 'Water Temple HL'", + "Water Temple HML Loop": "'Water Temple LH' and 'Water Temple HM' and 'Water Temple ML'" + }, + "exits": { + "Water Temple Lobby 3F Lullaby Ledge H": "can_play(Zeldas_Lullaby)", + "Water Temple Lobby 3F L": "True", + "Water Temple Water Elevator 3F L": "barred_door" + } + }, + { + "region_name": "Water Temple Lobby 3F Boss Ledge H", + "dungeon": "Water Temple", + "room": "0", + "locations": { + "Fairy Pot": "'Water Temple H' and has_bottle" + }, + "exits": { + "Water Temple Lobby 3F H": "True", + "Water Temple Hall to Boss": "True" + } + }, + { + "region_name": "Water Temple Lobby 3F Boss Ledge M", + "dungeon": "Water Temple", + "room": "0", + "locations": { + "Fairy Pot": "'Water Temple M' and has_bottle" + }, + "exits": { + "Water Temple Lobby 3F M": "can_use(Longshot)", + "Water Temple Hall to Boss": "True" + } + }, + { + "region_name": "Water Temple Lobby 3F Boss Ledge L", + "dungeon": "Water Temple", + "room": "0", + "locations": { + "Fairy Pot": "'Water Temple L' and has_bottle" + }, + "exits": { + "Water Temple Lobby 3F L": "can_use(Longshot)", + "Water Temple Hall to Boss": "True" + } + }, + { + "region_name": "Water Temple Lobby 3F East Ledge H", + "dungeon": "Water Temple", + "room": "0", + "exits": { + "Water Temple Lobby 3F H": "True", + "Water Temple Grate Passage North H": "True" + } + }, + { + "region_name": "Water Temple Lobby 3F East Ledge M", + "dungeon": "Water Temple", + "room": "0", + "exits": { + "Water Temple Lobby 3F M": "can_use(Hover_Boots)", + "Water Temple Lobby 2F M": "True", + "Water Temple Grate Passage North M": "True" + } + }, + { + "region_name": "Water Temple Lobby 3F East Ledge L", + "dungeon": "Water Temple", + "room": "0", + "exits": { + "Water Temple Lobby 3F L": "can_use(Hover_Boots)", + "Water Temple Lobby 2F L": "True", + "Water Temple Grate Passage North L": "True" + } + }, + { + "region_name": "Water Temple Lobby 2F H", + "dungeon": "Water Temple", + "room": "0", + "exits": { + "Water Temple Lobby 3F H": "True" + "Water Temple Lobby 1F H": "can_use(Iron_Boots)" + "Water Temple Inner Tower 2F H": "barred_door and can_use(Iron_Boots)", + "Water Temple Inner Tower 1F H": "False", + "Water Temple Lobby 3F Lullaby Ledge H": "False", + "Water Temple Lobby 2F East Tunnel H": "can_use(Iron_Boots)", + "Water Temple Lobby 2F Behind Grate H": "False", + "Water Temple Lobby Outer Floating Platform H": "False" + } + }, + { + "region_name": "Water Temple Lobby 2F M", + "dungeon": "Water Temple", + "room": "0", + "exits": { + "Water Temple Lobby 3F M": "False", + "Water Temple Lobby 1F M": "can_use(Iron_Boots)", + "Water Temple Inner Tower 2F M": "has_fire_source_with_torch or can_use(Bow) or barred_door", + "Water Temple Inner Tower 1F M": "False", + "Water Temple Lobby 3F Lullaby Ledge M": "False", + "Water Temple Lobby 2F East Tunnel M": "True", + "Water Temple Lobby 2F Behind Grate M": " + (can_use(Bow) or can_use(Slingshot)) and (can_use(Hover_Boots) or can_use(Longshot) + or (mm_ice_arrows and can_use(Ice_Arrows)))", + "Water Temple Lobby Outer Floating Platform M": "True" + } + }, + { + "region_name": "Water Temple Lobby 2F L", + "dungeon": "Water Temple", + "room": "0", + "exits": { + "Water Temple Lobby 3F L": "False", + "Water Temple Lobby 1F L": "True", + "Water Temple Inner Tower 2F L": "has_fire_source_with_torch or can_use(Bow) or barred_door", + "Water Temple Inner Tower 1F L": "The Same Exact Small Key as another one which I will separate into door", + "Water Temple Lobby 3F Lullaby Ledge L": "False", + "Water Temple Lobby 2F East Tunnel L": "True", + "Water Temple Lobby 2F Behind Grate L": " + (can_use(Bow) or can_use(Slingshot)) and (can_use(Hover_Boots) or can_use(Longshot)", + "Water Temple Lobby Outer Floating Platform L": "True" + } + }, + { + #When the water is high, Room 0 can access the tunnel with just Silver Scale. + #However, the ceiling raises shortly before the transition to Room 4. + #This means that when "entering" Room 0 from the Room 4 exit at high water, + #you start in a flooded nook and need Iron Boots to access the rest of Room 0. + "region_name": "Water Temple Lobby 2F East Tunnel H", + "dungeon": "Water Temple", + "room": "0", + "exits": { + "Water Temple Spike Tunnel H": "True" + "Water Temple Lobby 2F H": " + can_use(Iron_Boots) and (can_use(Zora_Tunic) or logic_fewer_tunic_requirements)" + } + }, + { + "region_name": "Water Temple Lobby 2F East Tunnel M", + "dungeon": "Water Temple", + "room": "0", + "exits": { + "Water Temple Spike Tunnel M": "True", + "Water Temple Lobby 2F M": "True", + "Water Temple Lobby 3F M": "False" + } + }, + { + "region_name": "Water Temple Lobby 2F East Tunnel L", + "dungeon": "Water Temple", + "room": "0", + "exits": { + "Water Temple Spike Tunnel L": "True", + "Water Temple Lobby 2F L": "True", + "Water Temple Lobby 3F L": "False" + } + }, + { + "region_name": "Water Temple Lobby 2F Behind Grate H", + "dungeon": "Water Temple", + "room": "0", + "exits": { + "Water Temple Grate Passage West H": "True", + "Water Temple Lobby 2F H": "False" + } + }, + { + "region_name": "Water Temple Lobby 2F Behind Grate M", + "dungeon": "Water Temple", + "room": "0", + "exits": { + "Water Temple Grate Passage West M": "True", + "Water Temple Lobby 2F L": "False" + } + }, + { + "region_name": "Water Temple Lobby 2F Behind Grate L", + "dungeon": "Water Temple", + "room": "0", + "exits": { + "Water Temple Grate Passage West L": "True", + "Water Temple Lobby 2F L": "False" + } + }, + { + "region_name": "Water Temple Lobby 1F H", + "dungeon": "Water Temple", + "room": "0", + "exits": { + "Water Temple Lobby 3F H": "True", + "Water Temple Lobby 2F H": "can_use(Iron_Boots)", + "Water Temple Inner Tower 1F H": "False", + "Water Temple Ruto Meeting Room 1F H": " + can_use(Iron_Boots) and (can_use(Zora_Tunic) or logic_fewer_tunic_requirements)", + "Water Temple Lobby 1F West Corridor H": " + 'Water Temple Room 0 Pushblock' and can_use(Iron_Boots) + and (can_use(Zora_Tunic) or logic_fewer_tunic_requirements)", + "Water Temple Lobby 1F South Corridor H": " + can_use(Iron_Boots) and (can_use(Zora_Tunic) or logic_fewer_tunic_requirements)", + "Water Temple Lobby 1F North Basement Access H": " + can_use(Iron_Boots) and (can_use(Zora_Tunic) or logic_fewer_tunic_requirements)", + "Water Temple Lobby Outer Floating Platform H": "False" + } + }, + { + "region_name": "Water Temple Lobby 1F M", + "dungeon": "Water Temple", + "room": "0", + "exits": { + "Water Temple Lobby 3F M": "False", + "Water Temple Lobby 2F M": "True", + "Water Temple Inner Tower 1F M": "False", + "Water Temple Ruto Meeting Room 1F M": " + can_use(Iron_Boots) and (can_use(Zora_Tunic) or logic_fewer_tunic_requirements)", + "Water Temple Lobby 1F West Corridor M": " + 'Water Temple Room 0 Pushblock' and can_use(Iron_Boots) + and (can_use(Zora_Tunic) or logic_fewer_tunic_requirements)", + "Water Temple Lobby 1F South Corridor M": " + can_use(Iron_Boots) and (can_use(Zora_Tunic) or logic_fewer_tunic_requirements)", + "Water Temple Lobby 1F North Basement Access M": " + 'Water Temple Room 0 Pushblock' and can_use(Iron_Boots) + and (can_use(Zora_Tunic) or logic_fewer_tunic_requirements)", + "Water Temple Lobby Outer Floating Platform M": "False" + } + }, + { + "region_name": "Water Temple Lobby 1F L", + "dungeon": "Water Temple", + "room": "0", + "exits": { + "Water Temple Lobby 3F L": "False", + "Water Temple Lobby 2F L": "False", + "Water Temple Inner Tower 1F L": "can_climb(50) and Small_Key_Water_Temple", + "Water Temple Ruto Meeting Room 1F L": "True", + "Water Temple Lobby 1F West Corridor L": "False", + "Water Temple Lobby 1F South Corridor L": "True", + "Water Temple Lobby 1F North Basement Access L": "True", + "Water Temple Lobby Outer Floating Platform L": "can_climb(70)" + } + }, + { + "region_name": "Water Temple Lobby 1F West Corridor H", + "dungeon": "Water Temple", + "room": "0", + "exits": { + "Water Temple Lobby Outer Floating Platform H": " + 'Water Temple Room 0 Pushblock' or + (Progressive_Strength_Upgrade and can_use(Iron_Boots) + and (can_use(Zora_Tunic) or logic_fewer_tunic_requirements))", + "Water Temple Lobby B1 West Corridor H": "can_use(Iron_Boots)" + } + }, + { + "region_name": "Water Temple Lobby 1F West Corridor M", + "dungeon": "Water Temple", + "room": "0", + "exits": { + "Water Temple Lobby Outer Floating Platform M": " + 'Water Temple Room 0 Pushblock' or + (Progressive_Strength_Upgrade and can_use(Iron_Boots) + and (can_use(Zora_Tunic) or logic_fewer_tunic_requirements))", + "Water Temple Lobby B1 West Corridor M": "can_use(Iron_Boots)" + } + }, + { + "region_name": "Water Temple Lobby 1F West Corridor L", + "dungeon": "Water Temple", + "room": "0", + "exits": { + "Water Temple Lobby Outer Floating Platform L": " + 'Water Temple Room 0 Pushblock' or Progressive_Strength_Upgrade", + #Child can dive under without Silver Scale but Adult can't because of height + "Water Temple Lobby B1 West Corridor L": " + can_use(Iron_Boots) or can_dive or is_child" + } + }, + { + "region_name": "Water Temple Lobby B1 West Corridor H", + "dungeon": "Water Temple", + "room": "0", + "exits": { + "Water Temple Lobby 1F West Corridor H": "True", + "Water Temple Single Water Jet Gap Room": "True" + } + }, + { + "region_name": "Water Temple Lobby B1 West Corridor M", + "dungeon": "Water Temple", + "room": "0", + "exits": { + "Water Temple Lobby 1F West Corridor M": "can_use(Iron_Boots) and can_use(Hookshot)", + "Water Temple Single Water Jet Gap Room": "True" + } + }, + { + "region_name": "Water Temple Lobby B1 West Corridor L", + "dungeon": "Water Temple", + "room": "0", + "exits": { + "Water Temple Lobby 1F West Corridor L": "can_use(Iron_Boots) and can_use(Hookshot)", + "Water Temple Single Water Jet Gap Room": "True" + } + }, + { + "region_name": "Water Temple Lobby 1F South Corridor H", + "dungeon": "Water Temple", + "room": "0", + "exits": { + "Water Temple Lobby 1F H": "True", + "Water Temple South Basement Tunnel H": "True" + } + }, + { + "region_name": "Water Temple Lobby 1F South Corridor M", + "dungeon": "Water Temple", + "room": "0", + "exits": { + "Water Temple Lobby 1F M": "True", + "Water Temple South Basement Tunnel M": "True" + } + }, + { + "region_name": "Water Temple Lobby 1F South Corridor L", + "dungeon": "Water Temple", + "room": "0", + "exits": { + "Water Temple Lobby 1F L": "True", + "Water Temple South Basement Tunnel L": "True" + } + }, + { + "region_name": "Water Temple Lobby 1F North Basement Access", + "dungeon": "Water Temple", + "room": "0", + "exits": { + "Water Temple Lobby 1F": "True", + "Water Temple North Basement": " + can_use(Longshot) or (logic_water_boss_key_region and can_use(Hover_Boots)) + or (mm_ice_arrows and can_use(Ice_Arrows) and can_use(Hookshot))" + } + }, + { + "region_name": "Water Temple Lobby 1F North Basement", + "dungeon": "Water Temple", + "room": "0", + "exits": { + "Water Temple Lobby 1F North Basement Access": "can_use(Longshot)", + "Water Temple Whirlpool Room": "Small_Key_Water_Temple" + } + }, + { + "region_name": "Water Temple Inner Tower 3F H", + "dungeon": "Water Temple", + "room": "1", + "locations": { + "Water Temple GS Central Pillar": "'Water Temple H' and can_use(Hookshot) or can_use(Boomerang)" + #Note: The original logic used Farore's Wind as a way to get here but I didn't account for Farore's Wind. + }, + "exits": { + "Water Temple Inner Tower 2F H": "can_use(Iron_Boots)", + } + }, + { + "region_name": "Water Temple Inner Tower 3F M", + "dungeon": "Water Temple", + "room": "1", + "locations": { + "Water Temple GS Central Pillar": "'Water Temple M' and can_use(Hookshot) or can_use(Boomerang)" + }, + "exits": { + "Water Temple Inner Tower 2F M": "True" + } + }, + { + "region_name": "Water Temple Inner Tower 3F L", + "dungeon": "Water Temple", + "room": "1", + "locations": { + "Water Temple GS Central Pillar": "'Water Temple L' and can_use(Hookshot) or can_use(Boomerang)" + }, + "exits": { + "Water Temple Inner Tower 2F L": "True" + } + }, + { + "region_name": "Water Temple Inner Tower 2F H", + "dungeon": "Water Temple", + "room": "1", + "locations": { + "Water Temple GS Central Pillar": "'Water Temple H' and can_use(Iron_Boots) and can_use(Longshot)" + }, + "exits": { + "Water Temple Lobby 2F H": "can_use(Iron_Boots)", + "Water Temple Inner Tower 2F Lullaby Platform H": "can_use(Iron_Boots)", + "Water Temple Inner Tower 3F H": "True", + "Water Temple Inner Tower 1F H": "can_use(Iron_Boots)" + } + }, + { + "region_name": "Water Temple Inner Tower 2F M", + "dungeon": "Water Temple", + "room": "1", + "locations": { + "Water Temple GS Central Pillar": "'Water Temple M' and can_use(Longshot)" + }, + "exits": { + "Water Temple Lobby 2F M": "True", + "Water Temple Inner Tower 2F Lullaby Platform M": "can_use(Iron_Boots)", + "Water Temple Inner Tower 3F M": "can_use(Longshot)", + "Water Temple Inner Tower 1F M": "can_use(Iron_Boots)" + } + }, + { + "region_name": "Water Temple Inner Tower 2F L", + "dungeon": "Water Temple", + "room": "1", + "locations": { + "Water Temple GS Central Pillar": "'Water Temple L' and can_use(Longshot)" + }, + "exits": { + "Water Temple Lobby 2F L": "True", + "Water Temple Inner Tower 2F Lullaby Platform L": "True", + "Water Temple Inner Tower 3F L": "can_use(Longshot)", + "Water Temple Inner Tower 1F L": "True" + } + }, + { + "region_name": "Water Temple Inner Tower 2F Lullaby Platform H", + "dungeon": "Water Temple", + "room": "1", + "events": { + "Water Temple HM": "can_play_underwater and can_play(Zeldas_Lullaby)", + "Water Temple HM Loop": "'Water Temple HM' and 'Water Temple MH'", + "Water Temple HML Loop": "'Water Temple HM' and 'Water Temple ML' and 'Water Temple LH'" + }, + "exits": { + "Water Temple Inner Tower 2F Lullaby Platform M": " + can_play_underwater and can_play(Zeldas_Lullaby)", + "Water Temple Inner Tower 2F H": "can_use(Iron_Boots)", + "Water Temple Inner Tower 3F H": "True", + "Water Temple Inner Tower 1F H": "can_use(Iron_Boots)" + } + }, + { + "region_name": "Water Temple Inner Tower 2F Lullaby Platform M", + "dungeon": "Water Temple", + "room": "1", + "events": { + "Water Temple M": " + 'Water Temple HML Loop' or 'Water Temple LMH Loop' or + 'Water Temple HM Loop' or 'Water Temple ML Loop'" + }, + "exits": { + "Water Temple Inner Tower 2F M": "True", + "Water Temple Inner Tower 3F M": "can_use(Longshot) and can_use(Iron_Boots)", + "Water Temple Inner Tower 1F M": "can_use(Iron_Boots)" + } + }, + { + "region_name": "Water Temple Inner Tower 2F Lullaby Platform L", + "dungeon": "Water Temple", + "room": "1", + "events": { + "Water Temple LM": "can_play(Zeldas_Lullaby)", + "Water Temple ML Loop": "'Water Temple LM' and 'Water Temple ML'", + "Water Temple LMH Loop": "'Water Temple LM' and 'Water Temple MH' and 'Water Temple HL'" + }, + "exits": { + "Water Temple Inner Tower 2F Lullaby Platform M": "can_play(Zeldas_Lullaby)", + #Child can't jump climb to door + "Water Temple Inner Tower 2F L": "can_use(Hookshot) or is_adult", + "Water Temple Inner Tower 3F L": "can_use(Longshot)", + "Water Temple Inner Tower 1F L": "True" + } + }, + { + "region_name": "Water Temple Inner Tower 1F H", + "dungeon": "Water Temple", + "room": "1", + "exits": { + "Water Temple Lobby 1F H": "False", + "Water Temple Inner Tower 2F H": " + can_use(Iron_Boots) and (can_use(Zora_Tunic) or logic_fewer_tunic_requirements)", + "Water Temple Inner Tower 2F Lullaby Platform H": " + can_use(Iron_Boots) and (can_use(Zora_Tunic) or logic_fewer_tunic_requirements)", + "Water Temple Inner Tower B1 H": " + can_use(Iron_Boots) and (can_use(Zora_Tunic) or logic_fewer_tunic_requirements)", + } + }, + { + "region_name": "Water Temple Inner Tower 1F M", + "dungeon": "Water Temple", + "room": "1", + "exits": { + "Water Temple Lobby 1F M": "False", + "Water Temple Inner Tower 2F M": "True", + "Water Temple Inner Tower 2F Lullaby Platform M": "can_use(Iron_Boots)", + "Water Temple Inner Tower B1 M": " + can_use(Iron_Boots) and (can_use(Zora_Tunic) or logic_fewer_tunic_requirements)", + } + }, + { + "region_name": "Water Temple Inner Tower 1F L", + "dungeon": "Water Temple", + "room": "1", + "exits": { + "Water Temple Lobby 1F L": "Still_a_key", + "Water Temple Inner Tower 2F L": "can_use(Longshot)", + "Water Temple Inner Tower 2F Lullaby Platform L": "can_use(Hookshot)", + "Water Temple Inner Tower B1 L": "False" + } + }, + { + "region_name": "Water Temple Inner Tower B1 H", + "dungeon": "Water Temple", + "room": "1", + "exits": { + "Water Temple Inner Tower 1F H": "True", + "Water Temple Underwater Storage": "True" + } + }, + { + "region_name": "Water Temple Inner Tower B1 M", + "dungeon": "Water Temple", + "room": "1", + "exits": { + "Water Temple Inner Tower 1F M": "True", + "Water Temple Underwater Storage": "True" + } + }, + { + "region_name": "Water Temple Inner Tower B1 L", + "dungeon": "Water Temple", + "room": "1", + "exits": { + "Water Temple Inner Tower 1F L": "False", + "Water Temple Underwater Storage": "True" + } + }, + { + "region_name": "Water Temple Underwater Storage", + "dungeon": "Water Temple", + "room": "2", + "locations": { + "Water Temple Central Pillar Chest": " + can_use(Iron_Boots) and can_use(Zora_Tunic) and can_use(Hookshot)" + }, + "exits": { + "Water Temple Inner Tower B1": "True" + } + }, + { + "region_name": "Water Temple South Basement Tunnel H", + "dungeon": "Water Temple", + "room": "3", + "exits": { + "Water Temple Lobby 1F South Corridor H": "True", + "Water Temple South Basement": " + 'Water Temple Cracked Floor' and can_use(Iron_Boots)" + } + }, + { + "region_name": "Water Temple South Basement Tunnel M", + "dungeon": "Water Temple", + "room": "3", + "exits": { + "Water Temple Lobby 1F South Corridor M": "True", + "Water Temple South Basement": " + 'Water Temple Cracked Floor' and can_use(Iron_Boots)" + } + }, + { + "region_name": "Water Temple South Basement Tunnel L", + "dungeon": "Water Temple", + "room": "3", + "events": { + "Water Temple Cracked Floor": "'Water Temple L' and has_explosives" + } + "exits": { + "Water Temple Lobby 1F South Corridor L": "True", + "Water Temple South Basement": " + 'Water Temple Cracked Floor' and (can_use(Iron_Boots) or can_dive)" + } + }, + { + "region_name": "Water Temple South Basement", + "dungeon": "Water Temple", + "room": "3", + "locations": { + "Water Temple GS Behind Gate": " + here(can_press_floor_switch) and + (can_use(Hookshot) or can_use(Hover_Boots) + or (mm_ice_arrows and can_use(Ice_Arrows)))" + }, + "exits": { + "Water Temple South Basement Tunnel H": "Water=high", + "Water Temple South Basement Tunnel M": "Water=middle", + "Water Temple South Basement Tunnel L": "Water=low" + } + }, + { + "region_name": "Water Temple Spike Tunnel H", + "dungeon": "Water Temple", + "room": "4", + "locations": { + "Water Temple Compass Chest": " + 'Water Temple H' and can_use(Hookshot) and can_use(Iron_Boots) + and (can_use(Zora_Tunic) or logic_fewer_tunic_requirements)" + }, + "exits": { + "Water Temple Lobby 2F East Tunnel H": "True" + } + }, + { + "region_name": "Water Temple Spike Tunnel M", + "dungeon": "Water Temple", + "room": "4", + "locations": { + "Water Temple Compass Chest": "'Water Temple M' and can_use(Hookshot)" + }, + "exits": { + "Water Temple Lobby 2F East Tunnel M": "True" + } + }, + { + "region_name": "Water Temple Spike Tunnel L", + "dungeon": "Water Temple", + "room": "4", + "locations": { + "Water Temple Compass Chest": "'Water Temple L' and can_use(Hookshot)" + }, + "exits": { + "Water Temple Lobby 2F East Tunnel L": "True" + } + }, + { + "region_name": "Water Temple Water Elevator 2F H", + "dungeon": "Water Temple", + "room": "10", + "exits": + "Water Temple Lobby Outer Floating Platform H": "can_use(Iron_Boots) and Still_a_key", + "Water Temple Water Elevator 3F H": "False" + } + }, + { + "region_name": "Water Temple Water Elevator 2F M", + "dungeon": "Water Temple", + "room": "10", + "exits": + "Water Temple Lobby Outer Floating Platform M": "Still_a_key", + "Water Temple Water Elevator 3F M": " + has_explosives or can_use(Bow) or can_use(Slingshot) or can_use(Boomerang) or can_use(Longshot)" + } + }, + { + "region_name": "Water Temple Water Elevator 2F L", + "dungeon": "Water Temple", + "room": "10", + "exits": + "Water Temple Lobby Outer Floating Platform L": "Still_a_key", + "Water Temple Water Elevator 3F L": " + has_explosives or can_use(Bow) or can_use(Slingshot) or can_use(Boomerang) or can_use(Longshot)" + } + }, + { + "region_name": "Water Temple Water Elevator 3F H", + "dungeon": "Water Temple", + "room": "10", + "exits": + "Water Temple Water Elevator 2F H": "can_use(Iron_Boots)", + "Water Temple Lobby 3F Lullaby Ledge H": "True" + } + }, + { + "region_name": "Water Temple Water Elevator 3F M", + "dungeon": "Water Temple", + "room": "10", + "exits": + "Water Temple Water Elevator 2F M": "True", + "Water Temple Lobby 3F Lullaby Ledge M": "True" + } + }, + { + "region_name": "Water Temple Water Elevator 3F L", + "dungeon": "Water Temple", + "room": "10", + "exits": + "Water Temple Water Elevator 2F L": "True", + "Water Temple Lobby 3F Lullaby Ledge L": "True" + } + }, + { + "region_name": "Water Temple Ruto Meeting Room 1F H", + "dungeon": "Water Temple", + "room": "17", + "exits": { + "Water Temple Lobby 1F H": " + can_use(Iron_Boots) and (can_use(Zora_Tunic) or logic_fewer_tunic_requirements)", + "Water Temple Submerged Combat Room H": "barred_door and can_use(Iron_Boots)", + "Water Temple Ruto Meeting Room 2F H": "can_use(Iron_Boots)", + "Water Temple Ruto Meeting Room 3F H": "True" + } + }, + { + "region_name": "Water Temple Ruto Meeting Room 1F M", + "dungeon": "Water Temple", + "room": "17", + "exits": { + "Water Temple Lobby 1F M": " + can_use(Iron_Boots) and (can_use(Zora_Tunic) or logic_fewer_tunic_requirements)", + "Water Temple Submerged Combat Room M": "barred_door and can_use(Iron_Boots)", + "Water Temple Ruto Meeting Room 2F M": "True", + "Water Temple Ruto Meeting Room 3F M": "False" + } + }, + { + "region_name": "Water Temple Ruto Meeting Room 1F L", + "dungeon": "Water Temple", + "room": "17", + "events": { + "Water Temple Cracked Wall": " + 'Water Temple L' and logic_water_cracked_wall_bombchu and has_bombchus" + } + "exits": { + "Water Temple Lobby 1F L": "True", + "Water Temple Submerged Combat Room L": " + (can_use(Bow) or has_fire_source_with_torch or barred_door", + "Water Temple Ruto Meeting Room 2F L": "False", + "Water Temple Ruto Meeting Room 3F L": "False" + } + }, + { + "region_name": "Water Temple Ruto Meeting Room 2F H", + "dungeon": "Water Temple", + "room": "17", + "locations": { + "Water Temple Cracked Wall Chest": " + 'Water Temple H' and 'Water Temple Cracked Wall' and can_use(Iron_Boots) + and (can_use(Zora_Tunic) or logic_fewer_tunic_requirements)" + }, + "exits": { + "Water Temple Ruto Meeting Room 1F H": "can_use(Iron_Boots)", + "Water Temple Ruto Meeting Room 3F H": "True" + } + }, + { + "region_name": "Water Temple Ruto Meeting Room 2F M", + "dungeon": "Water Temple", + "room": "17", + "events": { + "Water Temple Cracked Wall": "'Water Temple M' and has_explosives" + } + "locations": { + "Water Temple Cracked Wall Chest": "'Water Temple M' and 'Water Temple Cracked Wall'" + }, + "exits": { + "Water Temple Lobby 1F M": "(Progressive_Scale, 2)", + "Water Temple Ruto Meeting Room 1F M": "can_use(Iron_Boots)", + "Water Temple Ruto Meeting Room 3F M": "False" + } + }, + { + "region_name": "Water Temple Ruto Meeting Room 2F L", + "dungeon": "Water Temple", + "room": "17", + "events": { + "Water Temple Cracked Wall": "'Water Temple L' and has_explosives" + } + "locations": { + "Water Temple Cracked Wall Chest": "'Water Temple L' and 'Water Temple Cracked Wall'" + }, + "exits": { + "Water Temple Ruto Meeting Room 1F L": "True", + "Water Temple Ruto Meeting Room 3F L": "False" + } + }, + { + "region_name": "Water Temple Ruto Meeting Room 3F H", + "dungeon": "Water Temple", + "room": "17", + "events": { + "Water Temple HL": "can_play(Zeldas_Lullaby)", + "Water Temple HL Loop": "'Water Temple HL' and 'Water Temple LH'", + "Water Temple LMH Loop": "'Water Temple HL' and 'Water Temple LM' and 'Water Temple MH'", + "Water Temple Cracked Wall": " + 'Water Temple H' and logic_water_cracked_wall_bombchu and has_bombchus" + } + "exits": { + "Water Temple Ruto Meeting Room 3F L": "can_play(Zeldas_Lullaby)", + "Water Temple Dungeon Map Room": "True", + "Water Temple Ruto Meeting Room 1F H": "can_use(Iron_Boots)", + "Water Temple Ruto Meeting Room 2F H": "can_use(Iron_Boots)" + } + }, + { + "region_name": "Water Temple Ruto Meeting Room 3F M", + "dungeon": "Water Temple", + "room": "17", + "events": { + "Water Temple ML": "can_play(Zeldas_Lullaby)", + "Water Temple ML Loop": "'Water Temple ML' and 'Water Temple LM'", + "Water Temple HML Loop": "'Water Temple ML' and 'Water Temple LH' and 'Water Temple HM'", + "Water Temple Cracked Wall": " + 'Water Temple M' and logic_water_cracked_wall_bombchu and has_bombchus" + } + "exits": { + "Water Temple Ruto Meeting Room 3F L": "can_play(Zeldas_Lullaby)", + "Water Temple Dungeon Map Room": "True", + "Water Temple Ruto Meeting Room 1F": "can_use(Iron_Boots)", + "Water Temple Ruto Meeting Room 2F": "True" + } + }, + { + "region_name": "Water Temple Ruto Meeting Room 3F L", + "dungeon": "Water Temple", + "room": "17", + "events": { + "Water Temple L": " + 'Water Temple HML Loop' or 'Water Temple LMH Loop' or + 'Water Temple ML Loop' or 'Water Temple HL Loop'", + "Water Temple Cracked Wall": " + 'Water Temple L' and logic_water_cracked_wall_bombchu and has_bombchus" + } + "exits": { + "Water Temple Dungeon Map Room": "True", + "Water Temple Ruto Meeting Room 1F": "True", + "Water Temple Ruto Meeting Room 2F": " + logic_water_cracked_wall_nothing or + (logic_water_cracked_wall_hovers and can_use(Hover_Boots))" + } + }, + { + "region_name": "Water Temple Submerged Combat Room H", + "dungeon": "Water Temple", + "room": "18", + "events": { + "Water Temple Room 18 Enemies": " + 'Water Temple H' and can_use(Hookshot) and can_use(Iron_Boots) + and (can_use(Zora_Tunic) or logic_fewer_tunic_requirements)" + } + "locations": { + "Water Temple Torches Chest": " + 'Water Temple H' and 'Water Temple Room 18 Enemies' and can_use(Iron_Boots) + and (can_use(Zora_Tunic) or logic_fewer_tunic_requirements)" + }, + "exits": { + "Water Temple Ruto Meeting Room 1F H": " + can_use(Iron_Boots) and (can_use(Zora_Tunic) or logic_fewer_tunic_requirements)" + } + }, + { + "region_name": "Water Temple Submerged Combat Room M", + "dungeon": "Water Temple", + "room": "18", + "events": { + "Water Temple Room 18 Enemies": " + 'Water Temple M' and can_use(Hookshot) and can_use(Iron_Boots) + and (can_use(Zora_Tunic) or logic_fewer_tunic_requirements)" + } + "locations": { + "Water Temple Torches Chest": " + 'Water Temple M' and 'Water Temple Room 18 Enemies' and can_use(Iron_Boots) + and (can_use(Zora_Tunic) or logic_fewer_tunic_requirements)" + }, + "exits": { + "Water Temple Ruto Meeting Room 1F M": " + can_use(Iron_Boots) and (can_use(Zora_Tunic) or logic_fewer_tunic_requirements)" + } + }, + { + "region_name": "Water Temple Submerged Combat Room L", + "dungeon": "Water Temple", + "room": "18", + "events": { + "Water Temple Room 18 Enemies": " + 'Water Temple L' and Beat the clams" + } + "locations": { + "Water Temple Torches Chest": "'Water Temple L' and 'Water Temple Room 18 Enemies'" + }, + "exits": { + "Water Temple Ruto Meeting Room 1F L": "True" + } + }, + { + "region_name": "Water Temple Grate Passage North H", + "dungeon": "Water Temple", + "room": "20", + "events": { + "Water Temple Room 20 Pushblock Moved Once": " + 'Water Temple H' and Progressive_Strength_Upgrade and can_use(Iron_Boots) + and (can_use(Zora_Tunic) or logic_fewer_tunic_requirements)" + } + "exits": { + "Water Temple Lobby 3F East Ledge H": "True", + "Water Temple Grate Passage West H": " + 'Water Temple Room 20 Pushblock Moved Twice' and (can_dive or can_use(Iron_Boots)) + and (can_use(Zora_Tunic) or logic_fewer_tunic_requirements)" + } + }, + { + "region_name": "Water Temple Grate Passage North M", + "dungeon": "Water Temple", + "room": "20", + "events": { + "Water Temple Room 20 Pushblock Moved Once": " + 'Water Temple M' and Progressive_Strength_Upgrade" + } + "exits": { + "Water Temple Lobby 3F East Ledge M": "can_use(Hookshot)", + "Water Temple Grate Passage West M": "'Water Temple Room 20 Pushblock Moved Twice'" + } + }, + { + "region_name": "Water Temple Grate Passage North L", + "dungeon": "Water Temple", + "room": "20", + "events": { + "Water Temple Room 20 Pushblock Moved Once": " + 'Water Temple L' and Progressive_Strength_Upgrade" + } + "exits": { + "Water Temple Lobby 3F East Ledge L": "can_use(Hookshot)", + "Water Temple Grate Passage West L": "'Water Temple Room 20 Pushblock Moved Twice'" + } + }, + { + "region_name": "Water Temple Grate Passage West H", + "dungeon": "Water Temple", + "room": "20", + "events": { + "Water Temple Room 20 Pushblock Moved Twice": " + 'Water Temple H' and 'Water Temple Room 20 Pushblock Moved Once' + and can_use(Iron_Boots) and (can_use(Zora_Tunic) or logic_fewer_tunic_requirements)" + } + "locations": { + "Water Temple Central Bow Target Chest": " + 'Water Temple H' and 'Water Temple Room 20 Pushblock Moved Twice' + and can_use(Iron_Boots) and (can_use(Zora_Tunic) or logic_fewer_tunic_requirements)" + }, + "exits": { + "Water Temple Lobby 2F Behind Grate H": "True", + "Water Temple Grate Passage North H": " + 'Water Temple Room 20 Pushblock Moved Twice' + and (can_use(Zora_Tunic) or logic_fewer_tunic_requirements)"" + } + }, + { + "region_name": "Water Temple Grate Passage West M", + "dungeon": "Water Temple", + "room": "20", + "events": { + "Water Temple Room 20 Pushblock Moved Twice": " + 'Water Temple M' and 'Water Temple Room 20 Pushblock Moved Once'" + } + "locations": { + "Water Temple Central Bow Target Chest": " + 'Water Temple M' and 'Water Temple Room 20 Pushblock Moved Twice'" + }, + "exits": { + "Water Temple Lobby 2F Behind Grate M": "True", + "Water Temple Grate Passage North M": "'Water Temple Room 20 Pushblock Moved Twice'" + } + }, + { + "region_name": "Water Temple Grate Passage West L", + "dungeon": "Water Temple", + "room": "20", + "events": { + "Water Temple Room 20 Pushblock Moved Twice": " + 'Water Temple L' and 'Water Temple Room 20 Pushblock Moved Once'" + } + "locations": { + "Water Temple Central Bow Target Chest": " + 'Water Temple L' and 'Water Temple Room 20 Pushblock Moved Twice'" + }, + "exits": { + "Water Temple Lobby 2F Behind Grate L": "True", + "Water Temple Grate Passage North L": "'Water Temple Room 20 Pushblock Moved Twice'" + } + }, + { + "region_name": "Water Temple Dungeon Map Room", + "dungeon": "Water Temple", + "room": "19", + "events": { + "Water Temple Room 19 Enemies": "Defeat enemies" + } + "locations": { + "Water Temple Map Chest": "'Water Temple Room 19 Enemies'" + }, + "exits": { + "Water Temple Ruto Meeting Room 3F": "'Water Temple Room 19 Enemies' or barred_door" + } + }, + { + "region_name": "Water Temple Falling Platform Room", + "dungeon": "Water Temple", + "room": "5", + "locations": { + "Water Temple GS Falling Platform Room": " + can_use(Longshot) or + (logic_water_falling_platform_gs and can_use(Hookshot))" + }, + "exits": { + "Water Temple Lobby Outer Floating Platform": "Still_a_key and can_use(Hookshot)", + "Water Temple Triple Serpent Head Room": "Small_Key_Water_Temple and can_use(Hookshot)" + } + }, + { + "region_name": "Water Temple Triple Serpent Head Room", + "dungeon": "Water Temple", + "room": "6", + "exits": { + "Water Temple Falling Platform Room": "Still_a_key and can_use_projectile", + "Water Temple Dark Link Room": "can_use(Hookshot) and + (can_use(Iron_Boots) or can_use(Longshot) or can_use(Bow) or can_use(Hover_Boots) + or can_use(Slingshot) or can_use(Boomerang))" + } + }, + { + "region_name": "Water Temple Dark Link Room", + "dungeon": "Water Temple", + "room": "13", + "events": { + "Water Temple Room 13 Enemies": "Defeat Dark Link" + } + "exits": { + "Water Temple Triple Serpent Head Room": "'Water Temple Room 13 Enemies' or barred_door", + "Water Temple River Drop Room": "'Water Temple Room 13 Enemies' or barred_door" + } + }, + { + "region_name": "Water Temple River Drop Room", + "dungeon": "Water Temple", + "room": "7", + "locations": { + "Water Temple Longshot Chest": "True" + }, + "exits": { + "Water Temple Dark Link Room": "True", + "Water Temple Serpent River": "is_child or can_play(Song_of_Time)" + } + }, + { + "region_name": "Water Temple Serpent River", + "dungeon": "Water Temple", + "room": "21", + "locations": { + "Water Temple GS River": " + (can_use(Iron_Boots) and can_use(Hookshot)) or + (logic_water_river_gs and can_use(Longshot) + and (can_use(Bow) or can_use(Slingshot) or has_bombchus)) or + (mm_ice_arrows and can_use(Ice_Arrows))", + "Fairy Pot": "has_bottle" + }, + "exits": { + "Water Temple River Drop Room": "False", + "Water Temple Serpent River Endpoint": "can_use(Bow) or can_use(Slingshot)" + } + }, + { + "region_name": "Water Temple Serpent River Endpoint", + "dungeon": "Water Temple", + "room": "21", + "locations": { + "Water Temple River Chest": "True" + }, + "exits": { + "Water Temple Serpent River": "False", + "Water Temple Dragon Statue Room Ledge": "True" + } + }, + { + "region_name": "Water Temple Dragon Statue Room Ledge", + "dungeon": "Water Temple", + "room": "8", + "exits": { + "Water Temple Dragon Statue Room": "True", + "Water Temple Dragon Statue Room Rear": "logic_water_dragon_jump_dive", + "Water Temple Serpent River Endpoint": "True" + } + }, + { + "region_name": "Water Temple Dragon Statue Room", + "dungeon": "Water Temple", + "room": "8", + "exits": { + "Water Temple Single Water Jet Gap Room North": "True", + "Water Temple Dragon Statue Room Rear": " + (can_use(Iron_Boots) and (can_use(Zora_Tunic) or logic_fewer_tunic_requirements) and + (can_use(Hookshot) or can_use(Bow) or can_use(Slingshot))) or + (logic_water_dragon_bombchu and has_bombchus and can_dive) or + (mm_ice_arrows and can_use(Ice_Arrows) and can_dive)", + "Water Temple Dragon Statue Room Ledge": "False" + } + }, + { + "region_name": "Water Temple Dragon Statue Room Rear", + "dungeon": "Water Temple", + "room": "8", + "locations": { + "Water Temple Dragon Chest": "True" + } + "exits": { + "Water Temple Dragon Statue Room": "can hit crystal and (can_dive or can_use(Iron_Boots))" + } + }, + { + "region_name": "Water Temple Single Water Jet Gap Room North", + "dungeon": "Water Temple", + "room": "9", + "exits": { + "Water Temple Single Water Jet Gap Room": " + can_use(Hookshot) or can_use_projectile or can_use(Hover_Boots)", + "Water Temple Dragon Statue Room": "True" + } + }, + { + "region_name": "Water Temple Single Water Jet Gap Room", + "dungeon": "Water Temple", + "room": "9", + "exits": { + "Water Temple Lobby B1 West Corridor": "can_use(Iron_Boots) or can_dive", + "Water Temple Single Water Jet Gap Room North": "Can hit crystal switch or can_use(Hover_Boots)" + } + }, + { + "region_name": "Water Temple Whirlpool Room", + "dungeon": "Water Temple", + "room": "12", + "exits": { + "Water Temple Lobby 1F North Basement": "Still_a_key", + "Water Temple Whirlpool Room Rear": "True", + "Water Temple Whirlpool Room Water Corridor": " + (is_adult and logic_water_north_basement_ledge_jump) + or can_use(Hover_Boots) or (mm_ice_arrows and can_use(Ice_Arrows))" + } + }, + { + "region_name": "Water Temple Whirlpool Room Rear", + "dungeon": "Water Temple", + "room": "12", + "exits": { + "Water Temple Whirlpool Room": "True", + "Water Temple Dropdown Room": "True" + } + }, + { + "region_name": "Water Temple Whirlpool Room Water Corridor", + "dungeon": "Water Temple", + "room": "12", + "locations": { + "Water Temple GS Near Boss Key Chest": " + can_use(Hookshot) or can_use(Boomerang) or (can_use(Hover_Boots) and can_jumpslash) or + (mm_ice_arrows and can_use(Ice_Arrows))" + } + "exits": { + "Water Temple Whirlpool Room": "True", + "Water Temple Triple Water Jet Gap Room": "True", + "Water Temple Whirlpool Room Water Corridor Rear": "logic_water_bk_jump_dive or can_use(Iron_Boots)", + } + }, + { + "region_name": "Water Temple Whirlpool Room Water Corridor Rear", + "dungeon": "Water Temple", + "room": "12", + "exits": { + "Water Temple Whirlpool Room Water Corridor": "is_child or can_dive or can_use(Iron_Boots)", + "Water Temple North Basement Treasure Room": "Small_Key_Water_Temple" + } + }, + { + "region_name": "Water Temple Dropdown Room", + "dungeon": "Water Temple", + "room": "14", + "exits": { + "Water Temple Whirlpool Room Rear": "can_use(Hookshot) or can_use(Hover_Boots)", + "Water Temple Triple Water Jet Gap Room": " + can_use(Hover_Boots) or (logic_water_bk_chest and can_use(Iron_Boots)) + or (has_explosives and Progressive_Strength_Upgrade)" + } + }, + { + "region_name": "Water Temple Triple Water Jet Gap Room", + "dungeon": "Water Temple", + "room": "15", + "exits": { + "Water Temple Dropdown Room": " + (can_use(Hookshot) and can_press_floor_switch) or barred_door", + "Water Temple Whirlpool Room Water Corridor": "can_press_floor_switch or barred_door", + } + }, + { + "region_name": "Water Temple North Basement Treasure Room", + "dungeon": "Water Temple", + "room": "16", + "locations": { + "Water Temple Boss Key Chest": "True", + "Fairy Pot": "has_bottle" + } + "exits": { + "Water Temple Whirlpool Room Water Corridor Rear": "Still_a_key" + } + }, + { + "region_name": "Water Temple Hall to Boss", + "dungeon": "Water Temple", + "room": "11", + "exits": { + "Water Temple Lobby 3F Boss Ledge": "True", + "Morpha Arena": "Boss_Key_Water_Temple" + } + } +] \ No newline at end of file diff --git a/data/Scenes/Houses.json b/data/Scenes/Houses.json new file mode 100644 index 000000000..b62ab8a2a --- /dev/null +++ b/data/Scenes/Houses.json @@ -0,0 +1,188 @@ +[ + { + "region_name": "KF Links House", + "room": "0", + "locations": { + "KF Links House Cow": "is_adult and can_play(Eponas_Song) and 'Links Cow'" + }, + "exits": { + "Kokiri Forest": "True" + } + }, + { + "region_name": "KF Know It All House", + "room": "0", + "exits": { + "Kokiri Forest": "True" + } + }, + { + "region_name": "KF House of Twins", + "room": "0", + "exits": { + "Kokiri Forest": "True" + } + }, + { + "region_name": "KF Midos House", + "room": "0", + "locations": { + "KF Midos Top Left Chest": "True", + "KF Midos Top Right Chest": "True", + "KF Midos Bottom Left Chest": "True", + "KF Midos Bottom Right Chest": "True" + }, + "exits": { + "Kokiri Forest": "True" + } + }, + { + "region_name": "KF Sarias House", + "room": "0", + "exits": { + "Kokiri Forest": "True" + } + }, + { + "region_name": "Kak Carpenter Boss House", + "room": "0", + "events": { + "Wake Up Adult Talon": "is_adult and (Pocket_Egg or Pocket_Cucco)" + }, + "exits": { + "Kakariko Village": "True" + } + }, + { + "region_name": "Market Man in Green House", + "room": "0", + "exits": { + "Market": "True" + } + }, + { + "region_name": "Market Market Dog Lady", + "room": "0", + "locations": { + "Market Dog Lady": "at_night" + }, + "exits": { + "Market": "True" + } + }, + { + "region_name": "LLR Stables", + "room": "0", + "locations": { + "LLR Stables Left Cow": "can_play(Eponas_Song)", + "LLR Stables Right Cow": "can_play(Eponas_Song)" + }, + "exits": { + "Lon Lon Ranch": "True" + } + }, + { + "region_name": "Kak Impas House", + "room": "0", + "exits": { + "Kakariko Village": "True", + "Kak Impas House Near Cow": "True" + } + }, + { + "region_name": "Kak Impas House Back", + "room": "0", + "locations": { + "Kak Impas House Freestanding PoH": "True" + }, + "exits": { + "Kak Impas Ledge": "True", + "Kak Impas House Near Cow": "True" + } + }, + { + "region_name": "Kak Impas House Near Cow", + "room": "0", + "locations": { + "Kak Impas House Cow": "can_play(Eponas_Song)" + }, + "exits": { + #For hints purposes + "Kak Impas House Back": "False" + } + }, + { + "region_name": "GV Carpenter Tent", + "room": "0", + "exits": { + "GV Fortress Side": "True" + } + }, + { + "region_name": "Graveyard Dampes House", + "room": "0", + "exits": { + "Graveyard": "True" + } + }, + { + "region_name": "LLR Tower", + "room": "0", + "locations": { + "LLR Freestanding PoH": "is_child", + "LLR Tower Left Cow": "can_play(Eponas_Song)", + "LLR Tower Right Cow": "can_play(Eponas_Song)" + }, + "exits": { + "Lon Lon Ranch": "True" + } + }, + { + "region_name": "LLR Talons House", + "room": "1", + "locations": { + "LLR Talons Chickens": "is_child and at_day and Zeldas_Letter" + }, + "exits": { + "Lon Lon Ranch": "True", + "LLR Talons Room": "True" + } + }, + { + "region_name": "LLR Talons Room", + "room": "2", + "exits": { + "LLR Talons House": "True" + } + }, + { + "region_name": "Market Guard House", + "room": "0", + "events": { + "Sell Big Poe": "is_adult and Bottle_with_Big_Poe" + }, + "locations": { + "Market 10 Big Poes": " + is_adult and + (Big_Poe or (Bottle_with_Big_Poe, big_poe_count))", + "Market GS Guard House": "is_child" + }, + "exits": { + "Market Entrance": "True" + } + }, + { + "region_name": "Kak House of Skulltula", + "room": "0", + "locations": { + "Kak 10 Gold Skulltula Reward": "(Gold_Skulltula_Token, 10)", + "Kak 20 Gold Skulltula Reward": "(Gold_Skulltula_Token, 20)", + "Kak 30 Gold Skulltula Reward": "(Gold_Skulltula_Token, 30)", + "Kak 40 Gold Skulltula Reward": "(Gold_Skulltula_Token, 40)", + "Kak 50 Gold Skulltula Reward": "(Gold_Skulltula_Token, 50)" + }, + "exits": { + "Kakariko Village": "True" + } + } +] \ No newline at end of file diff --git a/data/Scenes/Misc/Dampes Grave and Windmill.json b/data/Scenes/Misc/Dampes Grave and Windmill.json new file mode 100644 index 000000000..fbb855a39 --- /dev/null +++ b/data/Scenes/Misc/Dampes Grave and Windmill.json @@ -0,0 +1,91 @@ +[ + { + "region_name": "Graveyard Dampes Grave", + "room": "0", + "locations": { + "Nut Pot": "True" + }, + "exits": { + "Graveyard": "True", + "Grave Relay Checkpoint 1": "True" + } + }, + { + "region_name": "Grave Relay Checkpoint 1", + "room": "1", + "exits": { + "Graveyard Dampes Grave": "False", + "Grave Relay Checkpoint 2": "True" + } + }, + { + "region_name": "Grave Relay Checkpoint 2", + "room": "2", + "exits": { + "Grave Relay Checkpoint 1": "False", + "Grave Relay Checkpoint 3": "True" + } + }, + { + "region_name": "Grave Relay Checkpoint 3", + "room": "3", + "exits": { + "Grave Relay Checkpoint 2": "False", + "Grave Relay End Room": "True" + } + }, + { + "region_name": "Grave Relay End Room", + "room": "4", + "locations": { + "Graveyard Hookshot Chest": "True", + "Graveyard Dampe Race Freestanding PoH": "is_adult or logic_child_dampe_race_poh" + }, + "exits": { + "Grave Relay Checkpoint 3": "False", + "Dampes Time Block Hole": "True" + } + }, + { + "region_name": "Dampes Time Block Hole", + "room": "5", + "exits": { + "Grave Relay End Room": "False", + "Grave Windmill Passage": "is_adult and can_play(Song_of_Time)" + } + }, + { + "region_name": "Grave Windmill Passage", + "room": "5", + "exits": { + "Dampes Time Block Hole": "True", + "Kak Windmill Upper": "True" + } + }, + { + "region_name": "Kak Windmill Upper", + "room": "6", + "locations": { + "Kak Windmill Freestanding PoH": "True" + }, + "exits": { + "Kak Windmill": "True", + "Grave Windmill Passage": "True" + } + }, + { + "region_name": "Kak Windmill", + "room": "6", + "events": { + "Drain Well": "is_child and can_play(Song_of_Storms)" + }, + "locations": { + "Kak Windmill Freestanding PoH": "can_use(Boomerang)", + "Song from Windmill": "is_adult and Ocarina" + }, + "exits": { + "Kakariko Village": "True", + "Kak Windmill Upper": "logic_windmill_poh and is_adult" + } + } +] \ No newline at end of file diff --git a/data/Scenes/Misc/Fairy Fountain.json b/data/Scenes/Misc/Fairy Fountain.json new file mode 100644 index 000000000..96f052027 --- /dev/null +++ b/data/Scenes/Misc/Fairy Fountain.json @@ -0,0 +1,52 @@ +[ + { + "region_name": "GF Storms Grotto", + "room": "0", + "locations": { + "Free Fairies": "has_bottle" + }, + "exits": { + "GF Entrances Behind Crates": "True" + } + }, + { + "region_name": "ZD Storms Grotto", + "room": "0", + "locations": { + "Free Fairies": "has_bottle" + }, + "exits": { + "Zoras Domain": "True" + } + }, + { + "region_name": "SFM Fairy Grotto", + "room": "0", + "locations": { + "Free Fairies": "has_bottle" + }, + "exits": { + "Sacred Forest Meadow": "True" + } + }, + { + "region_name": "HF Fairy Grotto", + "room": "0", + "locations": { + "Free Fairies": "has_bottle" + }, + "exits": { + "Hyrule Field": "True" + } + }, + { + "region_name": "ZR Fairy Grotto", + "room": "0", + "locations": { + "Free Fairies": "has_bottle" + }, + "exits": { + "Zora River": "True" + } + }, +] diff --git a/data/Scenes/Misc/Grave Fairy Fountain.json b/data/Scenes/Misc/Grave Fairy Fountain.json new file mode 100644 index 000000000..1d0afc000 --- /dev/null +++ b/data/Scenes/Misc/Grave Fairy Fountain.json @@ -0,0 +1,13 @@ +[ + { + "region_name": "Graveyard Shield Grave", + "room": "0", + "locations": { + "Graveyard Shield Grave Chest": "True", + "Free Fairies": "can_blast_or_smash and has_bottle" + }, + "exits": { + "Graveyard": "True" + } + } +] diff --git a/data/Scenes/Misc/Grave ReDead.json b/data/Scenes/Misc/Grave ReDead.json new file mode 100644 index 000000000..3874e0279 --- /dev/null +++ b/data/Scenes/Misc/Grave ReDead.json @@ -0,0 +1,12 @@ +[ + { + "region_name": "Graveyard Heart Piece Grave", + "room": "0", + "locations": { + "Graveyard Heart Piece Grave Chest": "can_play(Suns_Song)" + }, + "exits": { + "Graveyard": "True" + } + } +] diff --git a/data/Scenes/Misc/Great Fairy Spells.json b/data/Scenes/Misc/Great Fairy Spells.json new file mode 100644 index 000000000..d05398665 --- /dev/null +++ b/data/Scenes/Misc/Great Fairy Spells.json @@ -0,0 +1,32 @@ +[ + { + "region_name": "HC Great Fairy Fountain", + "room": "0", + "locations": { + "HC Great Fairy Reward": "can_play(Zeldas_Lullaby)" + }, + "exits": { + "Castle Grounds": "True" + } + }, + { + "region_name": "ZF Great Fairy Fountain", + "room": "0", + "locations": { + "ZF Great Fairy Reward": "can_play(Zeldas_Lullaby)" + }, + "exits": { + "Zoras Fountain": "True" + } + }, + { + "region_name": "Colossus Great Fairy Fountain", + "room": "0", + "locations": { + "Colossus Great Fairy Reward": "can_play(Zeldas_Lullaby)" + }, + "exits": { + "Desert Colossus": "True" + } + } +] diff --git a/data/Scenes/Misc/Great Fairy Upgrades.json b/data/Scenes/Misc/Great Fairy Upgrades.json new file mode 100644 index 000000000..736c36c04 --- /dev/null +++ b/data/Scenes/Misc/Great Fairy Upgrades.json @@ -0,0 +1,32 @@ +[ + { + "region_name": "DMT Great Fairy Fountain", + "room": "0", + "locations": { + "DMT Great Fairy Reward": "can_play(Zeldas_Lullaby)" + }, + "exits": { + "Death Mountain Summit": "True" + } + }, + { + "region_name": "DMC Great Fairy Fountain", + "room": "0", + "locations": { + "DMC Great Fairy Reward": "can_play(Zeldas_Lullaby)" + }, + "exits": { + "DMC Lower Local": "True" + } + }, + { + "region_name": "OGC Great Fairy Fountain", + "room": "0", + "locations": { + "OGC Great Fairy Reward": "can_play(Zeldas_Lullaby)" + }, + "exits": { + "Castle Grounds": "True" + } + } +] diff --git a/data/Scenes/Misc/Grottos.json b/data/Scenes/Misc/Grottos.json new file mode 100644 index 000000000..56329db8c --- /dev/null +++ b/data/Scenes/Misc/Grottos.json @@ -0,0 +1,355 @@ +[ + { + "region_name": "KF Storms Grotto", + "room": "0", + "locations": { + "KF Storms Grotto Chest": "True", + "KF Storms Grotto Gossip Stone": "True", + "Gossip Stone Fairy": "can_summon_gossip_fairy and has_bottle", + "Butterfly Fairy": "can_use(Sticks) and has_bottle", + "Bug Shrub": "can_cut_shrubs and has_bottle", + "Lone Fish": "has_bottle" + }, + "exits": { + "Kokiri Forest": "True" + } + }, + { + "region_name": "LW Near Shortcuts Grotto", + "room": "0", + "locations": { + "LW Near Shortcuts Grotto Chest": "True", + "LW Near Shortcuts Grotto Gossip Stone": "True", + "Gossip Stone Fairy": "can_summon_gossip_fairy and has_bottle", + "Butterfly Fairy": "can_use(Sticks) and has_bottle", + "Bug Shrub": "can_cut_shrubs and has_bottle", + "Lone Fish": "has_bottle" + }, + "exits": { + "LW Goron Square": "True" + } + }, + { + "region_name": "LW Scrubs Grotto", + "room": "6", + "locations": { + "LW Deku Scrub Grotto Rear": "can_stun_deku", + "LW Deku Scrub Grotto Front": "can_stun_deku" + }, + "exits": { + "LW End Square": "True" + } + }, + { + "region_name": "Deku Theater", + "room": "11", + "locations": { + "Deku Theater Skull Mask": "is_child and 'Skull Mask'", + "Deku Theater Mask of Truth": "is_child and 'Mask of Truth'" + }, + "exits": { + "LW Theater Meadow": "True" + } + }, + { + "region_name": "SFM Storms Grotto", + "room": "9", + "locations": { + "SFM Deku Scrub Grotto Rear": "can_stun_deku", + "SFM Deku Scrub Grotto Front": "can_stun_deku" + }, + "exits": { + "Sacred Forest Meadow": "True" + } + }, + { + "region_name": "SFM Wolfos Grotto", + "room": "7", + "locations": { + "SFM Wolfos Grotto Chest": " + is_adult or Slingshot or Sticks or + Kokiri_Sword or can_use(Dins_Fire)" + }, + "exits": { + "SFM Entryway": "True" + } + }, + { + "region_name": "LLR Grotto", + "room": "12", + "locations": { + "LLR Deku Scrub Grotto Left": "can_stun_deku", + "LLR Deku Scrub Grotto Right": "can_stun_deku", + "LLR Deku Scrub Grotto Center": "can_stun_deku" + }, + "exits": { + "Lon Lon Ranch": "True" + } + }, + { + "region_name": "HF Southeast Grotto", + "room": "0", + "locations": { + "HF Southeast Grotto Chest": "True", + "HF Southeast Grotto Gossip Stone": "True", + "Gossip Stone Fairy": "can_summon_gossip_fairy and has_bottle", + "Butterfly Fairy": "can_use(Sticks) and has_bottle", + "Bug Shrub": "can_cut_shrubs and has_bottle", + "Lone Fish": "has_bottle" + }, + "exits": { + "Hyrule Field": "True" + } + }, + { + "region_name": "HF Open Grotto", + "room": "0", + "locations": { + "HF Open Grotto Chest": "True", + "HF Open Grotto Gossip Stone": "True", + "Gossip Stone Fairy": "can_summon_gossip_fairy and has_bottle", + "Butterfly Fairy": "can_use(Sticks) and has_bottle", + "Bug Shrub": "can_cut_shrubs and has_bottle", + "Lone Fish": "has_bottle" + }, + "exits": { + "Hyrule Field": "True" + } + }, + { + "region_name": "HF Inside Fence Grotto", + "room": "1", + "locations": { + "HF Deku Scrub Grotto": "can_stun_deku" + }, + "exits": { + "Hyrule Field": "True" + } + }, + { + "region_name": "HF Cow Grotto", + "room": "4", + "locations": { + "HF GS Cow Grotto": " + has_fire_source and (can_use(Hookshot) or can_use(Boomerang))", + "HF Cow Grotto Cow": "has_fire_source and can_play(Eponas_Song)", + "HF Cow Grotto Gossip Stone": "has_fire_source", + "Gossip Stone Fairy": "has_fire_source and can_summon_gossip_fairy and has_bottle", + "Bug Shrub": "has_fire_source and can_cut_shrubs and has_bottle", + "Nut Pot": "has_fire_source" + }, + "exits": { + "Hyrule Field": "True" + } + }, + { + "region_name": "HF Near Market Grotto", + "room": "0", + "locations": { + "HF Near Market Grotto Chest": "True", + "HF Near Market Grotto Gossip Stone": "True", + "Gossip Stone Fairy": "can_summon_gossip_fairy and has_bottle", + "Butterfly Fairy": "can_use(Sticks) and has_bottle", + "Bug Shrub": "can_cut_shrubs and has_bottle", + "Lone Fish": "has_bottle" + }, + "exits": { + "Hyrule Field": "True" + } + }, + + { + "region_name": "HF Near Kak Grotto", + "room": "13", + "locations": { + "HF GS Near Kak Grotto": "can_use(Boomerang) or can_use(Hookshot)" + }, + "exits": { + "Hyrule Field": "True" + } + }, + { + "region_name": "HF Tektite Grotto", + "room": "10", + "locations": { + "HF Tektite Grotto Freestanding PoH": " + (Progressive_Scale, 2) or can_use(Iron_Boots)" + }, + "exits": { + "Hyrule Field": "True" + } + }, + { + "region_name": "HC Storms Grotto", + "room": "8", + "locations": { + "HC GS Storms Grotto": "can_blast_or_smash and (can_use(Boomerang) or can_use(Hookshot))", + "HC Storms Grotto Gossip Stone": "can_blast_or_smash", + "Gossip Stone Fairy": "can_blast_or_smash and can_summon_gossip_fairy and has_bottle", + "Wandering Bugs": "can_blast_or_smash and has_bottle", + "Nut Pot": "can_blast_or_smash" + }, + "exits": { + "Hyrule Castle Grounds": "True" + } + }, + { + "region_name": "Kak Redead Grotto", + "room": "2", + "locations": { + "Kak Redead Grotto Chest": " + is_adult or + (Sticks or Kokiri_Sword or can_use(Dins_Fire))" + }, + "exits": { + "Kakariko Village": "True" + } + }, + { + "region_name": "Kak Open Grotto", + "room": "0", + "locations": { + "Kak Open Grotto Chest": "True", + "Kak Open Grotto Gossip Stone": "True", + "Gossip Stone Fairy": "can_summon_gossip_fairy and has_bottle", + "Butterfly Fairy": "can_use(Sticks) and has_bottle", + "Bug Shrub": "can_cut_shrubs and has_bottle", + "Lone Fish": "has_bottle" + }, + "exits": { + "Kak Backyard": "True" + } + }, + { + "region_name": "DMT Cow Grotto", + "room": "3", + "locations": { + "DMT Cow Grotto Cow": "can_play(Eponas_Song)" + }, + "exits": { + "Death Mountain Summit": "True" + } + }, + { + "region_name": "DMT Storms Grotto", + "room": "0", + "locations": { + "DMT Storms Grotto Chest": "True", + "DMT Storms Grotto Gossip Stone": "True", + "Gossip Stone Fairy": "can_summon_gossip_fairy and has_bottle", + "Butterfly Fairy": "can_use(Sticks) and has_bottle", + "Bug Shrub": "can_cut_shrubs and has_bottle", + "Lone Fish": "has_bottle" + }, + "exits": { + "Death Mountain": "True" + } + }, + { + "region_name": "GC Grotto", + "room": "12", + "locations": { + "GC Deku Scrub Grotto Left": "can_stun_deku", + "GC Deku Scrub Grotto Right": "can_stun_deku", + "GC Deku Scrub Grotto Center": "can_stun_deku" + }, + "exits": { + "Goron City": "True" + } + }, + { + "region_name": "DMC Upper Grotto", + "room": "0", + "locations": { + "DMC Upper Grotto Chest": "True", + "DMC Upper Grotto Gossip Stone": "True", + "Gossip Stone Fairy": "can_summon_gossip_fairy and has_bottle", + "Butterfly Fairy": "can_use(Sticks) and has_bottle", + "Bug Shrub": "can_cut_shrubs and has_bottle", + "Lone Fish": "has_bottle" + }, + "exits": { + "DMC Upper Local": "True" + } + }, + { + "region_name": "DMC Hammer Grotto", + "room": "12", + "locations": { + "DMC Deku Scrub Grotto Left": "can_stun_deku", + "DMC Deku Scrub Grotto Right": "can_stun_deku", + "DMC Deku Scrub Grotto Center": "can_stun_deku" + }, + "exits": { + "DMC Lower Local": "True" + } + }, + { + "region_name": "ZR Open Grotto", + "room": "0", + "locations": { + "ZR Open Grotto Chest": "True", + "ZR Open Grotto Gossip Stone": "True", + "Gossip Stone Fairy": "can_summon_gossip_fairy and has_bottle", + "Butterfly Fairy": "can_use(Sticks) and has_bottle", + "Bug Shrub": "can_cut_shrubs and has_bottle", + "Lone Fish": "has_bottle" + }, + "exits": { + "Zora River": "True" + } + }, + + { + "region_name": "ZR Storms Grotto", + "room": "9", + "locations": { + "ZR Deku Scrub Grotto Rear": "can_stun_deku", + "ZR Deku Scrub Grotto Front": "can_stun_deku" + }, + "exits": { + "Zora River": "True" + } + }, + { + "region_name": "LH Grotto", + "room": "12", + "locations": { + "LH Deku Scrub Grotto Left": "can_stun_deku", + "LH Deku Scrub Grotto Right": "can_stun_deku", + "LH Deku Scrub Grotto Center": "can_stun_deku" + }, + "exits": { + "Lake Hylia": "True" + } + }, + { + "region_name": "Colossus Grotto", + "room": "9", + "locations": { + "Colossus Deku Scrub Grotto Rear": "can_stun_deku", + "Colossus Deku Scrub Grotto Front": "can_stun_deku" + }, + "exits": { + "Desert Colossus": "True" + } + }, + { + "region_name": "GV Octorok Grotto", + "room": "5", + "exits": { + "Gerudo Valley": "True" + } + }, + { + "region_name": "GV Storms Grotto", + "room": "9", + "locations": { + "GV Deku Scrub Grotto Rear": "can_stun_deku", + "GV Deku Scrub Grotto Front": "can_stun_deku" + }, + "exits": { + "GV Fortress Side": "True" + } + } +] \ No newline at end of file diff --git a/data/Scenes/Misc/Lakeside Laboratory.json b/data/Scenes/Misc/Lakeside Laboratory.json new file mode 100644 index 000000000..5204c48bd --- /dev/null +++ b/data/Scenes/Misc/Lakeside Laboratory.json @@ -0,0 +1,20 @@ +[ + { + "region_name": "LH Lab", + "room": "0", + "events": { + "Eyedrops Access": " + is_adult and + ('Eyeball Frog Access' or (Eyeball_Frog and disable_trade_revert))" + }, + "locations": { + "LH Lab Dive": " + (Progressive_Scale, 2) or + (logic_lab_diving and Iron_Boots and can_use(Hookshot))", + "LH GS Lab Crate": "Iron_Boots and can_use(Hookshot)" + }, + "exits": { + "Lake Hylia": "True" + } + } +] diff --git a/data/Scenes/Misc/Royal Familys Tomb.json b/data/Scenes/Misc/Royal Familys Tomb.json new file mode 100644 index 000000000..a52d0e7e7 --- /dev/null +++ b/data/Scenes/Misc/Royal Familys Tomb.json @@ -0,0 +1,34 @@ +[ + { + "region_name": "Royal Familys Tomb", + "room": "0", + "locations": { + "Graveyard Composers Grave Chest": "has_fire_source" + }, + "exits": { + "Graveyard": "True", + "Royal Familys Tomb Acid Room": " + is_adult or + (Slingshot or Boomerang or Sticks or + has_explosives or Kokiri_Sword)" + } + }, + { + "region_name": "Royal Familys Tomb Acid Room", + "room": "1", + "exits": { + "Royal Familys Tomb": "True", + "Royal Familys Tomb Suns Song Room": "True" + } + }, + { + "region_name": "Royal Familys Tomb Suns Song Room", + "room": "2", + "locations": { + "Song from Composers Grave": "True" + }, + "exits": { + "Royal Familys Tomb Acid Room": "True" + } + }, +] diff --git a/data/Scenes/Misc/Temple of Time.json b/data/Scenes/Misc/Temple of Time.json new file mode 100644 index 000000000..66508bb4f --- /dev/null +++ b/data/Scenes/Misc/Temple of Time.json @@ -0,0 +1,26 @@ +[ + { + "region_name": "Temple of Time", + "room": "1", + "hint": "Temple of Time", + "locations": { + "ToT Light Arrows Cutscene": "is_adult and can_trigger_lacs" + }, + "exits": { + "ToT Entrance": "True", + "Beyond Door of Time": "can_play(Song_of_Time) or open_door_of_time" + } + }, + { + "region_name": "Beyond Door of Time", + "room": "0", + "hint": "Temple of Time", + "locations": { + "Master Sword Pedestal": "True", + "Sheik at Temple": "Forest_Medallion and is_adult" + }, + "exits": { + "Temple of Time": "True" + } + } +] diff --git a/data/Scenes/Overworld/Castle Grounds.json b/data/Scenes/Overworld/Castle Grounds.json new file mode 100644 index 000000000..0192150ef --- /dev/null +++ b/data/Scenes/Overworld/Castle Grounds.json @@ -0,0 +1,68 @@ +[ + { + "region_name": "Castle Grounds", + "scene": "Castle Grounds", + "exits": { + "Market": "True", + "Hyrule Castle Grounds": "is_child", + "Ganons Castle Grounds": "is_adult" + } + }, + { + "region_name": "Hyrule Castle Grounds", + "scene": "Castle Grounds", + "room": "0", + "hint": "Hyrule Castle", + "time_passes": true, + "locations": { + "HC Malon Egg": "True", + "HC GS Tree": "can_child_attack", + "HC Malon Gossip Stone": "True", + "HC Rock Wall Gossip Stone": "True", + "Gossip Stone Fairy": "can_summon_gossip_fairy and has_bottle", + "Butterfly Fairy": "can_use(Sticks) and has_bottle", + "Bug Rock": "has_bottle" + }, + "exits": { + "Market": "True", + "HC Guard Capture": "True", + "HC Garden": "Weird_Egg or (not shuffle_weird_egg)", + "HC Great Fairy Fountain": "has_explosives", + "HC Storms Grotto": "can_open_storm_grotto" + } + }, + { + "region_name": "HC Guard Capture", + "scene": "Castle Grounds", + "exits": { + "Hyrule Castle Grounds": "True" + } + }, + { + "region_name": "HC Garden", + "scene": "Castle Grounds", + "room": "0", + "hint": "Hyrule Castle", + "locations": { + "HC Zeldas Letter": "True", + "Song from Impa": "True" + }, + "exits": { + "Hyrule Castle Grounds": "True" + } + }, + { + "region_name": "Ganons Castle Grounds", + "scene": "Castle Grounds", + "room": "0", + "hint": "outside Ganon's Castle", + "locations": { + "OGC GS": "True" + }, + "exits": { + "Castle Grounds": "at_night", + "OGC Great Fairy Fountain": "can_use(Golden_Gauntlets) and at_night", + "Ganons Castle Entrance": "can_build_rainbow_bridge" + } + } +] diff --git a/data/Scenes/Overworld/Death Mountain Crater.json b/data/Scenes/Overworld/Death Mountain Crater.json new file mode 100644 index 000000000..7bdc04058 --- /dev/null +++ b/data/Scenes/Overworld/Death Mountain Crater.json @@ -0,0 +1,120 @@ +[ + { + "region_name": "DMC Upper Nearby", + "scene": "Death Mountain Crater", + "room": "1", + "hint": "Death Mountain Crater", + "exits": { + "DMC Upper Local": "can_use(Goron_Tunic)", + "Death Mountain Summit": "True", + "DMC Upper Grotto": "here(can_blast_or_smash)" + } + }, + { + "region_name": "DMC Upper Local", + "scene": "Death Mountain Crater", + "room": "1", + "hint": "Death Mountain Crater", + "locations": { + "DMC Wall Freestanding PoH": "True", + "DMC GS Crate": "is_child and can_child_attack", + "DMC Gossip Stone": "has_explosives", + "Gossip Stone Fairy": " + has_explosives and can_summon_gossip_fairy_without_suns and has_bottle" + }, + "exits": { + "DMC Upper Nearby": "True", + "DMC Ladder Area Nearby": "True", + "DMC Central Nearby": " + can_use(Goron_Tunic) and can_use(Longshot) and + ((damage_multiplier != 'ohko' and damage_multiplier != 'quadruple') or + (Fairy and not shuffle_dungeon_entrances) or can_use(Nayrus_Love))" + } + }, + { + "region_name": "DMC Ladder Area Nearby", + "scene": "Death Mountain Crater", + "room": "1", + "hint": "Death Mountain Crater", + "locations": { + "DMC Deku Scrub": "is_child and can_stun_deku" + }, + "exits": { + "DMC Upper Nearby": "is_adult", + "DMC Lower Nearby": " + can_use(Hover_Boots) or + (logic_crater_upper_to_lower and can_use(Megaton_Hammer))" + } + }, + { + "region_name": "DMC Lower Nearby", + "scene": "Death Mountain Crater", + "room": "1", + "hint": "Death Mountain Crater", + "exits": { + "DMC Lower Local": "can_use(Goron_Tunic)", + "GC Darunias Chamber": "True", + "DMC Great Fairy Fountain": "can_use(Megaton_Hammer)", + "DMC Hammer Grotto": "can_use(Megaton_Hammer)" + } + }, + { + "region_name": "DMC Lower Local", + "scene": "Death Mountain Crater", + "room": "1", + "hint": "Death Mountain Crater", + "exits": { + "DMC Lower Nearby": "True", + "DMC Ladder Area Nearby": "True", + "DMC Central Nearby": "can_use(Hover_Boots) or can_use(Hookshot)", + "Fire Temple Entrance": " + (can_use(Hover_Boots) or can_use(Hookshot)) and + (logic_fewer_tunic_requirements or can_use(Goron_Tunic))" + } + }, + { + "region_name": "DMC Central Nearby", + "scene": "Death Mountain Crater", + "room": "1", + "hint": "Death Mountain Crater", + "locations": { + "DMC Volcano Freestanding PoH": " + is_adult and + (here(can_plant_bean) or + (logic_crater_bean_poh_with_hovers and Hover_Boots))", + "Sheik in Crater": "is_adult" + }, + "exits": { + "DMC Central Local": "can_use(Goron_Tunic)" + } + }, + { + "region_name": "DMC Central Local", + "scene": "Death Mountain Crater", + "room": "1", + "hint": "Death Mountain Crater", + "locations": { + "DMC GS Bean Patch": "can_plant_bugs and can_child_attack", + "Bean Plant Fairy": "can_plant_bean and can_play(Song_of_Storms) and has_bottle" + }, + "exits": { + "DMC Central Nearby": "True", + "DMC Lower Nearby": " + is_adult and + (can_use(Hover_Boots) or can_use(Hookshot) or here(can_plant_bean))", + "DMC Upper Nearby": "is_adult and here(can_plant_bean)", + "Fire Temple Entrance": " + (is_child and shuffle_dungeon_entrances) or + (is_adult and (logic_fewer_tunic_requirements or can_use(Goron_Tunic)))" + } + }, + { + "region_name": "Fire Temple Entrance", + "scene": "Death Mountain Crater", + "room": "0", + "hint": "Death Mountain Crater", + "exits": { + "Fire Temple Entrance Chamber": "True" + } + } +] \ No newline at end of file diff --git a/data/Scenes/Overworld/Death Mountain.json b/data/Scenes/Overworld/Death Mountain.json new file mode 100644 index 000000000..dcb7a0f03 --- /dev/null +++ b/data/Scenes/Overworld/Death Mountain.json @@ -0,0 +1,83 @@ +[ + { + "region_name": "Death Mountain", + "scene": "Death Mountain", + "room": "0", + "hint": "Death Mountain Trail", + "time_passes": true, + "locations": { + "DMT Chest": " + can_blast_or_smash or + (logic_dmt_bombable and is_child and Progressive_Strength_Upgrade)", + "DMT Freestanding PoH": " + (damage_multiplier != 'ohko') or can_use(Nayrus_Love) or Fairy or can_use(Hover_Boots) or + (is_adult and here(can_plant_bean and (has_explosives or Progressive_Strength_Upgrade)))", + "DMT GS Bean Patch": " + can_plant_bugs and + (has_explosives or Progressive_Strength_Upgrade or + (logic_dmt_soil_gs and can_use(Boomerang)))", + "DMT GS Near Kak": "can_blast_or_smash", + "DMT GS Above Dodongos Cavern": " + is_adult and at_night and + (can_use(Megaton_Hammer) or (logic_trail_gs_lower_hookshot and can_use(Hookshot)) or + (logic_trail_gs_lower_bean and here(can_plant_bean and (has_explosives or Progressive_Strength_Upgrade))))", + "Bean Plant Fairy": " + can_plant_bean and can_play(Song_of_Storms) and has_bottle and + (has_explosives or Progressive_Strength_Upgrade)" + }, + "exits": { + "Kak Behind Gate": "True", + "Goron City": "True", + "Death Mountain Summit": " + here(can_blast_or_smash) or (is_adult and here(can_plant_bean and Progressive_Strength_Upgrade))", + "Dodongos Cavern Entryway": " + has_explosives or Progressive_Strength_Upgrade or is_adult", + "DMT Storms Grotto": "can_open_storm_grotto" + } + }, + { + "region_name": "Dodongos Cavern Entryway", + "scene": "Death Mountain", + "room": "0", + "exits": { + "Dodongos Cavern Lobby Beginning": "True", + "Death Mountain": "True" + } + }, + { + "region_name": "Death Mountain Summit", + "scene": "Death Mountain", + "room": "0", + "hint": "Death Mountain Trail", + "time_passes": true, + "events": { + "Prescription Access": "is_adult and ('Broken Sword Access' or Broken_Sword)" + }, + "locations": { + "DMT Biggoron": " + is_adult and + (Claim_Check or + (guarantee_trade_path and + ('Eyedrops Access' or (Eyedrops and disable_trade_revert))))", + "DMT GS Falling Rocks Path": " + is_adult and (can_use(Megaton_Hammer) or logic_trail_gs_upper) and at_night", + "DMT Gossip Stone": "True", + "Gossip Stone Fairy": "can_summon_gossip_fairy and has_bottle", + "Bug Rock": "is_child and has_bottle" + }, + "exits": { + "Death Mountain": "True", + "DMC Upper Local": "True", + "DMT Owl Flight": "is_child", + "DMT Cow Grotto": "here(can_blast_or_smash)", + "DMT Great Fairy Fountain": "here(can_blast_or_smash)" + } + }, + { + "region_name": "DMT Owl Flight", + "scene": "Death Mountain", + "exits": { + "Kak Impas Ledge": "True" + } + } +] \ No newline at end of file diff --git a/data/Scenes/Overworld/Desert Colossus.json b/data/Scenes/Overworld/Desert Colossus.json new file mode 100644 index 000000000..21fdf56d8 --- /dev/null +++ b/data/Scenes/Overworld/Desert Colossus.json @@ -0,0 +1,31 @@ +[ + { + "region_name": "Desert Colossus", + "scene": "Desert Colossus", + "room": "0", + "hint": "Desert Colossus", + "time_passes": true, + "locations": { + "Colossus Freestanding PoH": "is_adult and here(can_plant_bean)", + "Sheik at Colossus": "True", + "Colossus GS Bean Patch": "can_plant_bugs and can_child_attack", + "Colossus GS Tree": "can_use(Hookshot) and at_night", + "Colossus GS Hill": " + is_adult and at_night and + (here(can_plant_bean) or can_use(Longshot) or + (logic_colossus_gs and can_use(Hookshot)))", + "Colossus Gossip Stone": "True", + "Gossip Stone Fairy": "can_summon_gossip_fairy and has_bottle", + "Fairy Pond": "can_play(Song_of_Storms) and has_bottle", + "Bug Rock": "has_bottle" + }, + "exits": { + "Colossus Great Fairy Fountain": "has_explosives", + "Spirit Temple Lobby": "True", + "Wasteland Near Colossus": "True", + "Colossus Grotto": "can_use(Silver_Gauntlets)", + "Spirit Temple Outdoor Right Hand": "False", + "Spirit Temple Outdoor Left Hand": "False" + } + } +] diff --git a/data/Scenes/Overworld/Fishing Hole.json b/data/Scenes/Overworld/Fishing Hole.json new file mode 100644 index 000000000..6ea93a5cc --- /dev/null +++ b/data/Scenes/Overworld/Fishing Hole.json @@ -0,0 +1,13 @@ +[ + { + "region_name": "LH Fishing Hole", + "room": "0", + "locations": { + "LH Child Fishing": "is_child", + "LH Adult Fishing": "is_adult" + }, + "exits": { + "LH Fishing Hole Entrance": "True" + } + } +] diff --git a/data/Scenes/Overworld/Gerudo Fortress.json b/data/Scenes/Overworld/Gerudo Fortress.json new file mode 100644 index 000000000..adf5cf04f --- /dev/null +++ b/data/Scenes/Overworld/Gerudo Fortress.json @@ -0,0 +1,238 @@ +[ + { + "region_name": "Gerudo Fortress", + "scene": "Gerudo Fortress", + "room": "0", + "hint": "Gerudo's Fortress", + "events": { + "GF Gate Open": "is_adult and Gerudo_Membership_Card" + }, + "exits": { + "GV Fortress Side": "True", + "Thieves Hideout Exit 1": "True", + "Thieves Hideout Exit 5": "True", + "GF Entrances Behind Crates": "True", + "GF Guarded Roof": "True", + "GF Jail": "can_use(Longshot)", + "GF Archery Range": "True", + "GF Outside Gate": "'GF Gate Open'", + "Gerudo Training Grounds Lobby": "Gerudo_Membership_Card and is_adult" + } + }, + { + "region_name": "GF Gerudo Capture", + "scene": "Gerudo Fortress", + "exits": { + #All guards become friendly and no thieves respawn so nothing exits to this + #OHKO does not require fairy because you die in the jail and continue there + "GF Jail": "True" + } + }, + { + "region_name": "GF Jail", + "scene": "Gerudo Fortress", + "room": "0", + "hint": "Gerudo's Fortress", + "exits": { + "Gerudo Fortress": "can_use(Hookshot) or can_climb(219)", + "GF Hall to Balcony Entrance": "can_use(Hookshot) or can_climb(219)", + "GF Balcony": "False" + } + }, + { + "region_name": "GF Balcony", + "scene": "Gerudo Fortress", + "room": "0", + "hint": "Gerudo's Fortress", + "locations": { + "GF Glitch Freestanding PoH": "is_child" + }, + "exits": { + "Gerudo Fortress": "True", + "GF Jail": "True", + "Thieves Hideout Exit 12": "True", + "GF Hall to Balcony Entrance": "True" + } + }, + { + "region_name": "GF Hall to Balcony Entrance", + "scene": "Gerudo Fortress", + "room": "0", + "hint": "Gerudo's Fortress", + "exits": { + "Gerudo Fortress": "True", + "Thieves Hideout Exit 11": "True", + "GF Jail": "can_use(Longshot)", + "GF Empty Roof": "can_climb(194)", + "GF Chest Roof": "can_climb(402)" + } + }, + { + "region_name": "GF Entrances Behind Crates", + "scene": "Gerudo Fortress", + "room": "0", + "hint": "Gerudo's Fortress", + "exits": { + "Gerudo Fortress": "True", + "Thieves Hideout Exit 2": "True", + "Thieves Hideout Exit 3": "True", + "GF Roof Entrance Cluster": "can_use(Longshot) or can_climb(200)", + "GF Storms Grotto": "is_adult and can_open_storm_grotto" # Not there as child + "GF Guarded Roof": "can_climb(200)" + } + }, + { + "region_name": "GF Guarded Roof", + "scene": "Gerudo Fortress", + "room": "0", + "hint": "Gerudo's Fortress", + "exits": { + "Thieves Hideout Exit 4": "True", + "Thieves Hideout Exit 7": "True", + "Gerudo Fortress": "True", + "GF Entrances Behind Crates": "True", + "GF Roof Entrance Cluster": "can_use(Hover_Boots)", + "GF Southeast Roof": "can_climb(330)" + } + }, + { + "region_name": "GF Roof Entrance Cluster", + "scene": "Gerudo Fortress", + "room": "0", + "hint": "Gerudo's Fortress", + "exits": { + "Thieves Hideout Exit 6": "True", + "Thieves Hideout Exit 8": "True", + "Thieves Hideout Exit 9": "True", + "GF Entrances Behind Crates": "True", + "Gerudo Fortress": "True", + #There is a trick that Adult Link is tall enough to use a cleverly angled autojump off the ledge and get up there + "GF Southeast Roof": "(Trick and can_climb(101.5)) or can_climb(130)", + "GF Green Jail Exterior": "can_climb(120)", + "GF Kitchen Roof Access Ledge": "can_climb(194)", + "GF Empty Roof": "can_climb(301)" + } + }, + { + "region_name": "GF Green Jail Exterior", + "scene": "Gerudo Fortress", + "room": "0", + "hint": "Gerudo's Fortress", + "exits": { + "Thieves Hideout Exit 13": "True", + "Gerudo Fortress": "True", + "GF Roof Entrance Cluster": "True", + "GF Empty Roof": "can_climb(181)", + "GF Kitchen Roof Access": "can_climb(181)", + "GF Chest Roof": "can_climb(389)" + } + }, + { + "region_name": "GF Kitchen Roof Access", + "scene": "Gerudo Fortress", + "room": "0", + "hint": "Gerudo's Fortress", + "exits": { + "Thieves Hideout Exit 10": "True", + "GF Green Jail Exterior": "True", + "GF Kitchen Roof Access Ledge": "can_climb(80)", + "GF Empty Roof": "can_use(Hover_Boots)", + "GF Roof Entrance Cluster": "True", + "GF Chest Roof": "can_use(Distant_Scarecrow)", + "GF Southeast Roof": "can_climb(251)" + } + }, + { + "region_name": "GF Empty Roof", + "scene": "Gerudo Fortress", + "room": "0", + "hint": "Gerudo's Fortress", + "exits": { + "GF Hall to Balcony Entrance": "True", + "GF Green Jail Exterior": "True", + "GF Kitchen Roof Access": "can_use(Hover_Boots)", + "GF Roof Entrance Cluster": "True", + "Gerudo Fortress": "True", + "GF Chest Roof": "can_use(Distant_Scarecrow) or can_climb(208)", + "GF Jail": "can_use(Longshot)", + "GF Balcony": "False" + } + }, + { + "region_name": "GF Kitchen Roof Access Ledge", + "scene": "Gerudo Fortress", + "room": "0", + "hint": "Gerudo's Fortress", + "exits": { + "GF Southeast Roof": "True", + "GF Kitchen Roof Access": "True", + "GF Roof Entrance Cluster": "True" + } + }, + { + "region_name": "GF Southeast Roof", + "scene": "Gerudo Fortress", + "room": "0", + "hint": "Gerudo's Fortress", + "locations": { + "GF GS Top Floor": "is_adult and at_night" + }, + "exits": { + "GF Chest Roof": " + can_use(Hover_Boots) or can_use(Scarecrow) or can_use(Longshot)", + "GF Kitchen Roof Access Ledge": "True", + "GF Kitchen Roof Access": "True", + "GF Roof Entrance Cluster": "True", + "GF Guarded Roof": "True", + "Gerudo Fortress": "True" + } + }, + { + "region_name": "GF Chest Roof", + "scene": "Gerudo Fortress", + "room": "0", + "hint": "Gerudo's Fortress", + "locations": + "GF Chest": "True", + "GF GS Top Floor": "is_adult and at_night" + }, + "exits": { + "GF Green Jail Exterior": "True", + "GF Hall to Balcony Entrance": "True", + "GF Kitchen Roof Access": "True", + "GF Empty Roof": "True", + "GF Roof Entrance Cluster": "True", + "GF Balcony": "False" + } + }, + { + "region_name": "GF Outside Gate", + "scene": "Gerudo Fortress", + "room": "0", + "events": { + "GF Gate Open": " + is_adult and Gerudo_Membership_Card and + (shuffle_gerudo_card or shuffle_overworld_entrances or shuffle_special_indoor_entrances)" + }, + "exits": { + "Gerudo Fortress": "is_adult or (shuffle_overworld_entrances and 'GF Gate Open')", + "Wasteland Near Fortress": "True" + } + }, + { + "region_name": "GF Archery Range", + "scene": "Gerudo Fortress", + "room": "1", + "locations": { + "GF HBA 1000 Points": " + Gerudo_Membership_Card and can_ride_epona and Bow and at_day", + "GF HBA 1500 Points": " + Gerudo_Membership_Card and can_ride_epona and Bow and at_day", + "GF GS Archery Range": " + can_use(Hookshot) and Gerudo_Membership_Card and at_night" + }, + "exits": { + "Gerudo Fortress": "True" + } + }, +] \ No newline at end of file diff --git a/data/Scenes/Overworld/Gerudo Valley.json b/data/Scenes/Overworld/Gerudo Valley.json new file mode 100644 index 000000000..c9da07474 --- /dev/null +++ b/data/Scenes/Overworld/Gerudo Valley.json @@ -0,0 +1,77 @@ +[ + { + "region_name": "Gerudo Valley", + "scene": "Gerudo Valley", + "room": "0", + "hint": "Gerudo Valley", + "time_passes": true, + "locations": { + "GV GS Small Bridge": "can_use(Boomerang) and at_night", + "Bug Rock": "is_child and has_bottle" + }, + "exits": { + "Hyrule Field": "True", + "GV Stream": "True", + "GV Crate Ledge": "is_child or can_use(Longshot)", + "GV Octorok Grotto": "can_use(Silver_Gauntlets)", + "GV Fortress Side": " + is_adult and + (can_ride_epona or can_use(Longshot) or gerudo_fortress == 'open' or 'Carpenter Rescue')" + } + }, + { + "region_name": "GV Stream", + "scene": "Gerudo Valley", + "room": "0", + "hint": "Gerudo Valley", + "time_passes": true, + "locations": { + "GV Waterfall Freestanding PoH": "True", + "GV GS Bean Patch": "can_plant_bugs and can_child_attack", + "GV Cow": "is_child and can_play(Eponas_Song)", + "GV Gossip Stone": "True", + "Gossip Stone Fairy": "can_summon_gossip_fairy and has_bottle", + "Bean Plant Fairy": "can_plant_bean and can_play(Song_of_Storms) and has_bottle" + }, + "exits": { + "Lake Hylia": "True" + } + }, + { + "region_name": "GV Crate Ledge", + "scene": "Gerudo Valley", + "room": "0", + "hint": "Gerudo Valley", + "time_passes": true, + "locations": { + "GV Crate Freestanding PoH": "True" + } + }, + { + "region_name": "GV Fortress Side", + "scene": "Gerudo Valley", + "room": "0", + "hint": "Gerudo Valley", + "time_passes": true, + "events": { + "Broken Sword Access": "is_adult and ('Poachers Saw Access' or Poachers_Saw)" + }, + "locations": { + "GV Chest": "can_use(Megaton_Hammer)", + "GV GS Behind Tent": "can_use(Hookshot) and at_night", + "GV GS Pillar": "can_use(Hookshot) and at_night" + }, + "exits": { + "Gerudo Fortress": "True", + "GV Stream": "True", + "GV Crate Ledge": " + logic_valley_crate_hovers and can_use(Hover_Boots) and + (damage_multiplier != 'ohko' or Fairy or can_use(Nayrus_Love))", + "Gerudo Valley": " + is_child or can_ride_epona or can_use(Longshot) or + gerudo_fortress == 'open' or 'Carpenter Rescue'", + "GV Carpenter Tent": "is_adult", # Invisible as child so not in logic + "GV Storms Grotto": "is_adult and can_open_storm_grotto" # Not there as child + } + }, +] \ No newline at end of file diff --git a/data/Scenes/Overworld/Graveyard.json b/data/Scenes/Overworld/Graveyard.json new file mode 100644 index 000000000..fbbd20e08 --- /dev/null +++ b/data/Scenes/Overworld/Graveyard.json @@ -0,0 +1,67 @@ +[ + { + "region_name": "Graveyard", + "scene": "Graveyard", + "room": "1", + "hint": "the Graveyard", + "locations": { + "Graveyard Freestanding PoH": "logic_graveyard_poh and can_use(Boomerang)", + "Graveyard Dampe Gravedigging Tour": "is_child and at_dampe_time", + "Graveyard GS Wall": "can_use(Boomerang) and at_night", + "Graveyard GS Bean Patch": "can_plant_bugs and can_child_attack", + "Butterfly Fairy": "can_use(Sticks) and at_day and has_bottle", + "Bean Plant Fairy": "can_plant_bean and can_play(Song_of_Storms) and has_bottle", + "Bug Rock": "has_bottle" + }, + "exits": { + "Graveyard Warp Pad Region": "False", + "Graveyard Bean Ledge": "is_adult and (here(can_plant_bean) or can_use(Longshot))", + "Graveyard Shield Grave": "is_adult or at_night", + "Royal Familys Tomb": "can_play(Zeldas_Lullaby)", + "Graveyard Heart Piece Grave": "is_adult or at_night", + "Graveyard Dampes Grave": "is_adult", + "Graveyard Dampes House": "is_adult or at_dampe_time", + "Kakariko Village": "True" + } + }, + { + "region_name": "Graveyard Bean Ledge", + "scene": "Graveyard", + "room": "1", + "hint": "the Graveyard", + "locations": { + "Graveyard Freestanding PoH": "true" + (is_adult and (here(can_plant_bean) or can_use(Longshot))) or + (logic_graveyard_poh and can_use(Boomerang))", + }, + "exits": { + "Graveyard": "True" + } + }, + { + "region_name": "Graveyard Warp Pad Region", + "scene": "Graveyard", + "room": "1", + "hint": "the Graveyard", + "locations": { + "Graveyard Gossip Stone": "True", + "Gossip Stone Fairy": "can_summon_gossip_fairy_without_suns and has_bottle" + }, + "exits": { + "Graveyard": "True", + "Graveyard Temple Entrance": "True", + } + }, + { + "region_name": "Graveyard Temple Entrance", + "scene": "Graveyard", + "room": "0", + "hint": "the Graveyard", + "exits": { + "Graveyard Warp Pad Region": "True", + "Shadow Temple Lobby Entryway": " + can_use(Dins_Fire) or + (logic_shadow_fire_arrow_entry and can_use(Fire_Arrows))" + } + } +] diff --git a/data/Scenes/Overworld/Haunted Wasteland.json b/data/Scenes/Overworld/Haunted Wasteland.json new file mode 100644 index 000000000..8248192b5 --- /dev/null +++ b/data/Scenes/Overworld/Haunted Wasteland.json @@ -0,0 +1,52 @@ +[ + { + "region_name": "Wasteland Near Fortress", + "scene": "Haunted Wasteland", + "room": "1", + "exits": { + "GF Outside Gate": "True", + "Haunted Wasteland": " + logic_wasteland_crossing or can_use(Hover_Boots) or can_use(Longshot)" + } + }, + { + "region_name": "Haunted Wasteland", + "scene": "Haunted Wasteland", + "room": "1", + "hint": "Haunted Wasteland", + "locations": { + "Wasteland Bombchu Salesman": " + Progressive_Wallet and + (is_adult or Sticks or Kokiri_Sword)" + }, + "exits": {] + "Wasteland Underground Structure": "True", + "Wasteland Near Colossus": "logic_lens_wasteland or can_use(Lens_of_Truth)", + "Wasteland Near Fortress": " + logic_wasteland_crossing or can_use(Hover_Boots) or can_use(Longshot)" + } + }, + { + "region_name": "Wasteland Near Colossus", + "scene": "Haunted Wasteland", + "room": "1", + "exits": { + "Desert Colossus": "True", + "Haunted Wasteland": "logic_reverse_wasteland" + } + }, + { + "region_name": "Wasteland Underground Structure", + "scene": "Haunted Wasteland", + "room": "0", + "locations": { + "Wasteland Chest": "has_fire_source", + "Wasteland GS": "can_use(Hookshot) or can_use(Boomerang)", + "Fairy Pot": "has_bottle", + "Nut Pot": "True" + }, + "exits": { + "Haunted Wasteland": "True" + } + } +] diff --git a/data/Scenes/Overworld/Hyrule Field.json b/data/Scenes/Overworld/Hyrule Field.json new file mode 100644 index 000000000..db454a0cb --- /dev/null +++ b/data/Scenes/Overworld/Hyrule Field.json @@ -0,0 +1,32 @@ +[ + { + "region_name": "Hyrule Field", + "scene": "Hyrule Field", + "room": "0", + "hint": "Hyrule Field", + "time_passes": true, + "locations": { + "HF Ocarina of Time Item": "is_child and has_all_stones", + "Song from Ocarina of Time": "is_child and has_all_stones", + "Big Poe Kill": "can_use(Bow) and can_ride_epona and has_bottle" + }, + "exits": { + "LW Bridge": "True", + "Lake Hylia": "True", + "Gerudo Valley": "True", + "Market Entrance": "True", + "Kakariko Village": "True", + "ZR Front": "True", + "Lon Lon Ranch": "True", + "HF Southeast Grotto": "here(can_blast_or_smash)", + "HF Open Grotto": "True", + "HF Inside Fence Grotto": "can_open_bomb_grotto", + "HF Cow Grotto": "(can_use(Megaton_Hammer) or is_child) and can_open_bomb_grotto", + # There is a hammerable boulder as adult which is not there as child + "HF Near Market Grotto": "here(can_blast_or_smash)", + "HF Fairy Grotto": "here(can_blast_or_smash)", + "HF Near Kak Grotto": "can_open_bomb_grotto", + "HF Tektite Grotto": "can_open_bomb_grotto" + } + } +] diff --git a/data/Scenes/Overworld/Lake Hylia.json b/data/Scenes/Overworld/Lake Hylia.json new file mode 100644 index 000000000..b3d569501 --- /dev/null +++ b/data/Scenes/Overworld/Lake Hylia.json @@ -0,0 +1,106 @@ +[ + { + "region_name": "Lake Hylia", + "scene": "Lake Hylia", + "room": "0", + "hint": "Lake Hylia", + "time_passes": true, + "events": { + "Bonooru": "is_child and Ocarina" + }, + "locations": { + "Pierre": "is_adult and Bonooru and not free_scarecrow", + "LH Underwater Item": "is_child and can_dive", + "LH GS Bean Patch": "can_plant_bugs and can_child_attack", + "LH GS Lab Wall": " + is_child and (Boomerang or + (logic_lab_wall_gs and (Sticks or Kokiri_Sword))) and at_night", + "LH Lab Gossip Stone": "True", + "LH Gossip Stone (Southeast)": "True", + "LH Gossip Stone (Southwest)": "True", + "Gossip Stone Fairy": "can_summon_gossip_fairy and has_bottle", + "Bean Plant Fairy": "can_plant_bean and can_play(Song_of_Storms) and has_bottle", + "Butterfly Fairy": "can_use(Sticks) and has_bottle", + "Bug Shrub": "is_child and can_cut_shrubs and has_bottle" + }, + "exits": { + "Hyrule Field": "True", + "Zoras Domain": "is_child and can_dive", + "LH Owl Flight": "is_child", + "LH Lab": "True", + "LH Lab Roof": " + is_adult and (can_use(Scarecrow) or here(can_plant_bean))", + "LH Fishing Hole Entrance": " + is_child or can_use(Scarecrow) or + here(can_plant_bean) or 'Water Temple Clear'", + "LH Sun Island": "is_child or can_use(Distant_Scarecrow) or 'Water Temple Clear'", + "LH Tree": "can_use(Longshot)", + "Water Temple Lobby 3F Entrance Ledge": " + can_use(Hookshot) and + (can_use(Iron_Boots) or + ((can_use(Longshot) or logic_water_hookshot_entry) and (Progressive_Scale, 2))) or + (mm_ice_arrows and can_use(Ice_Arrows))", + "LH Grotto": "True" + } + }, + { + "region_name": "LH Owl Flight", + "scene": "Lake Hylia", + "room": "0", + "exits": { + "Hyrule Field": "True" + } + }, + { + "region_name": "LH Fishing Hole Entrance", + "scene": "Lake Hylia", + "room": "0", + "hint": "Lake Hylia", + "time_passes": true, + "exits": { + "Lake Hylia": "True", + "LH Fishing Hole": "True" + } + }, + { + "region_name": "LH Sun Island", + "scene": "Lake Hylia", + "room": "0", + "hint": "Lake Hylia", + "time_passes": true, + "locations": { + "LH Sun": "can_use(Bow)", + "LH GS Small Island": "is_child and can_child_attack and at_night" + }, + "exits": { + "Lake Hylia": "True" + } + }, + { + "region_name": "LH Lab Roof", + "scene": "Lake Hylia", + "room": "0", + "hint": "Lake Hylia", + "time_passes": true, + "locations": { + "LH Freestanding PoH": "True" + }, + "exits": { + "Lake Hylia": "True" + } + }, + { + "region_name": "LH Tree", + "scene": "Lake Hylia", + "room": "0", + "hint": "Lake Hylia", + "time_passes": true, + "locations": { + #Only spawns as adult + "LH GS Tree": "is_adult and at_night" + }, + "exits": { + "Lake Hylia": "True" + } + } +] \ No newline at end of file diff --git a/data/Scenes/Overworld/Lost Woods.json b/data/Scenes/Overworld/Lost Woods.json new file mode 100644 index 000000000..d757b9744 --- /dev/null +++ b/data/Scenes/Overworld/Lost Woods.json @@ -0,0 +1,193 @@ +[ + { + "region_name": "LW Forest Exit", + "scene": "Lost Woods", + "exits": { + "Kokiri Forest": "True" + } + }, + { + "region_name": "LW Start Square", + "scene": "Lost Woods", + "room": "0", + "hint": "the Lost Woods", + "exits": { + "LW Forest Exit": "True", + "LW Game Square": "True" + } + }, + { + "region_name": "LW Grog Meadow", + "scene": "Lost Woods", + "room": "9", + "hint": "the Lost Woods", + "events": { + "Odd Mushroom Access": "is_adult and ('Cojiro Access' or Cojiro)", + "Poachers Saw Access": "is_adult and 'Odd Potion Access'" + }, + "locations": { + "LW Skull Kid": "is_child and can_play(Sarias_Song)" + }, + "exits": { + "LW Start Square": "True", + "LW Around Bridge": "True" + } + }, + { + "region_name": "LW Bridge From Forest", + "scene": "Lost Woods", + "hint": "the Lost Woods", + "locations": { + "LW Gift from Saria": "True" + }, + "exits": { + "LW Bridge": "True" + } + }, + { + "region_name": "LW Bridge", + "scene": "Lost Woods", + "room": "5", + "hint": "the Lost Woods", + "exits": { + "Kokiri Forest": "True", + "Hyrule Field": "True", + "LW Around Bridge": "can_use(Longshot)" + } + }, + { + "region_name": "LW Around Bridge", + "scene": "Lost Woods", + "room": "5", + "hint": "the Lost Woods", + "locations": { + "LW Deku Scrub Near Bridge": "is_child and can_stun_deku", + "LW GS Bean Patch Near Bridge": "can_plant_bugs and can_child_attack", + "LW Gossip Stone": "True", + "Gossip Stone Fairy": "can_summon_gossip_fairy_without_suns and has_bottle", + "Bean Plant Fairy": "can_plant_bean and can_play(Song_of_Storms) and has_bottle" + }, + "exits": { + "LW Grog Meadow": "True", + "LW Bridge": " + is_adult and + (can_use(Hover_Boots) or can_use(Longshot) or + here(can_plant_bean) or logic_lost_woods_bridge)" + } + }, + { + "region_name": "LW Game Square", + "scene": "Lost Woods", + "room": "1", + "hint": "the Lost Woods", + "locations": { + "LW Ocarina Memory Game": "is_child and Ocarina", + "LW Target in Woods": "can_use(Slingshot)" + }, + "exits": { + "LW Forest Exit": "True", + "LW Start Square": "True", + "LW Goron Square": "True" + } + }, + { + "region_name": "LW Goron Square", + "scene": "Lost Woods", + "room": "2", + "hint": "the Lost Woods", + "locations": { + "Bug Shrub": "is_child and can_cut_shrubs and has_bottle" + }, + "exits": { + "LW Forest Exit": "True", + "LW Game Square": "True", + "LW Zora Square": "True", + "GC Woods Warp": "True", + "LW Near Shortcuts Grotto": "here(can_blast_or_smash)" + } + }, + { + "region_name": "LW Zora Square", + "scene": "Lost Woods", + "room": "3", + "hint": "the Lost Woods", + "exits": { + "LW Forest Exit": "True", + "LW Goron Square": "True", + "Zora River": "can_leave_forest and (can_dive or can_use(Iron_Boots))", + "LW Behind Mido": "is_child or logic_mido_backflip or can_play(Sarias_Song)" + } + }, + { + "region_name": "LW Behind Mido", + "scene": "Lost Woods", + "room": "3", + "hint": "the Lost Woods", + "exits": { + "LW Zora Square": "is_child or can_play(Sarias_Song)", + "LW Blank Square": "True" + } + }, + { + "region_name": "LW Blank Square", + "scene": "Lost Woods", + "room": "4", + "hint": "the Lost Woods", + "exits": { + "LW Forest Exit": "True", + "LW Behind Mido": "True", + "LW Theater Meadow": "True", + "LW Blupee Square": "True" + } + }, + { + "region_name": "LW Theater Meadow", + "scene": "Lost Woods", + "room": "6", + "hint": "the Lost Woods", + "locations": { + "LW Deku Scrub Near Deku Theater Right": "is_child and can_stun_deku", + "LW Deku Scrub Near Deku Theater Left": "is_child and can_stun_deku", + "LW GS Above Theater": " + is_adult and at_night and + (here(can_plant_bean) or + (logic_lost_woods_gs_bean and can_use(Hookshot) and + (can_use(Longshot) or can_use(Bow) or has_bombchus or can_use(Dins_Fire))))", + "LW GS Bean Patch Near Theater": " + can_plant_bugs and + (can_child_attack or (shuffle_scrubs == 'off' and Buy_Deku_Shield))", + "Butterfly Fairy": "can_use(Sticks) and has_bottle", + "Bean Plant Fairy": "can_plant_bean and can_play(Song_of_Storms) and has_bottle" + }, + "exits": { + "LW Blank Square": "True", + "Deku Theater": "True" + } + }, + { + "region_name": "LW Blupee Square", + "scene": "Lost Woods", + "room": "7", + "hint": "the Lost Woods", + "locations": { + "Bug Shrub": "is_child and can_cut_shrubs and has_bottle" + }, + "exits": { + "LW Forest Exit": "True", + "LW Blank Square": "True", + "LW End Square": "True" + } + }, + { + "region_name": "LW End Square", + "scene": "Lost Woods", + "room": "8", + "hint": "the Lost Woods", + "exits": { + "LW Forest Exit": "True", + "LW Blupee Square": "True", + "SFM Entryway": "True", + "LW Scrubs Grotto": "here(can_blast_or_smash)" + } + } +] \ No newline at end of file diff --git a/data/Scenes/Overworld/Sacred Forest Meadow.json b/data/Scenes/Overworld/Sacred Forest Meadow.json new file mode 100644 index 000000000..58d87f9b9 --- /dev/null +++ b/data/Scenes/Overworld/Sacred Forest Meadow.json @@ -0,0 +1,36 @@ +[ + { + "region_name": "SFM Entryway", + "scene": "Sacred Forest Meadow", + "room": "0", + "hint": "Sacred Forest Meadow", + "exits": { + "LW End Square": "True", + "Sacred Forest Meadow": " + is_adult or Slingshot or Sticks or + Kokiri_Sword or can_use(Dins_Fire)", + "SFM Wolfos Grotto": "can_open_bomb_grotto" + } + }, + { + "region_name": "Sacred Forest Meadow", + "scene": "Sacred Forest Meadow", + "room": "0", + "hint": "Sacred Forest Meadow", + "locations": { + "Song from Saria": "is_child and Zeldas_Letter", + "Sheik in Forest": "is_adult", + "SFM GS": "can_use(Hookshot) and at_night", + "SFM Maze Gossip Stone (Lower)": "True", + "SFM Maze Gossip Stone (Upper)": "True", + "SFM Saria Gossip Stone": "True", + "Gossip Stone Fairy": "can_summon_gossip_fairy_without_suns and has_bottle" + }, + "exits": { + "SFM Entryway": "True", + "Forest Temple Entrance": "can_use(Hookshot)", + "SFM Fairy Grotto": "True", + "SFM Storms Grotto": "can_open_storm_grotto" + } + } +] \ No newline at end of file diff --git a/data/Scenes/Overworld/Zoras Fountain.json b/data/Scenes/Overworld/Zoras Fountain.json new file mode 100644 index 000000000..032e19641 --- /dev/null +++ b/data/Scenes/Overworld/Zoras Fountain.json @@ -0,0 +1,52 @@ +[ + { + "region_name": "Zoras Fountain", + "scene": "Zoras Fountain", + "room": "0", + "hint": "Zora's Fountain", + "locations": { + "ZF Iceberg Freestanding PoH": "is_adult", + "ZF Bottom Freestanding PoH": " + is_adult and Iron_Boots and (logic_fewer_tunic_requirements or can_use(Zora_Tunic))", + "ZF GS Tree": "is_child", + "ZF GS Above the Log": "can_use(Boomerang) and at_night", + "ZF Fairy Gossip Stone": "True", + "ZF Jabu Gossip Stone": "True", + "Gossip Stone Fairy": "can_summon_gossip_fairy_without_suns and has_bottle", + "Butterfly Fairy": "can_use(Sticks) and at_day and has_bottle" + }, + "exits": { + "ZD Behind King Zora": "True", + "Jabu Jabus Belly Mouth": "is_child and Fish", + "Ice Cavern Entrance Corridor": "is_adult", + "ZF Great Fairy Fountain": "has_explosives", + "ZF Cave Hole": "can_use(Silver_Gauntlets) and can_blast_or_smash", + "ZF Cave Ledge": "False" + } + }, + { + "region_name": "ZF Cave Hole", + "scene": "Zoras Fountain", + "room": "0", + "hint": "Zora's Fountain", + "exits": { + "ZF Cave Ledge": "True", + "Zoras Fountain": "True", + #If you hammer the rock you can climb onto the other side of the hole + "ZF Great Fairy Fountain": "logic_zf_fairy_without_bombs" + } + }, + { + "region_name": "ZF Cave Ledge", + "scene": "Zoras Fountain", + "room": "0", + "hint": "Zora's Fountain", + "locations": { + "ZF GS Hidden Cave": "is_adult and can_use(Hookshot) and at_night" + }, + "exits": { + "Zoras Fountain": "True", + "ZF Cave Hole": "False" + } + } +] \ No newline at end of file diff --git a/data/Scenes/Overworld/Zoras River.json b/data/Scenes/Overworld/Zoras River.json new file mode 100644 index 000000000..9ac4010a7 --- /dev/null +++ b/data/Scenes/Overworld/Zoras River.json @@ -0,0 +1,83 @@ +[ + { + "region_name": "ZR Front", + "scene": "Zora River", + "room": "0", + "hint": "Zora's River", + "time_passes": true, + "locations": { + "ZR GS Tree": "is_child and can_child_attack" + }, + "exits": { + "Zora River": "is_adult or has_explosives + or (mm_ice_arrows and can_use(Ice_Arrows))", + "Hyrule Field": "True" + } + }, + { + "region_name": "Zora River", + "scene": "Zora River", + "room": "0", + "hint": "Zora's River", + "time_passes": true, + "locations": { + "ZR Magic Bean Salesman": "is_child", + "ZR Frogs Ocarina Game": " + is_child and can_play(Zeldas_Lullaby) and can_play(Sarias_Song) and + can_play(Suns_Song) and can_play(Eponas_Song) and + can_play(Song_of_Time) and can_play(Song_of_Storms)", + "ZR Frogs in the Rain": "is_child and can_play(Song_of_Storms)", + "ZR Near Open Grotto Freestanding PoH": " + is_child or can_use(Hover_Boots) or (is_adult and logic_zora_river_lower)", + "ZR GS Near Raised Grottos": "can_use(Hookshot) and at_night", + "ZR Near Grottos Gossip Stone": "True", + "Gossip Stone Fairy": "can_summon_gossip_fairy and has_bottle", + "Bean Plant Fairy": "can_plant_bean and can_play(Song_of_Storms) and has_bottle", + "Butterfly Fairy": "can_use(Sticks) and has_bottle", + "Bug Shrub": "can_cut_shrubs and has_bottle" + }, + "exits": { + "ZR Front": "True", + "ZR Waterfall Area": "True", + "ZR Open Grotto": "True", + "ZR Fairy Grotto": "here(can_blast_or_smash)", + "ZR Storms Grotto": "can_open_storm_grotto" + } + }, + { + "region_name": "ZR Waterfall Area", + "scene": "Zora River", + "room": "1", + "hint": "Zora's River", + "time_passes": true, + "locations": { + "ZR Near Domain Freestanding PoH": " + is_child or can_use(Hover_Boots) or (is_adult and logic_zora_river_upper)", + "ZR GS Ladder": "is_child and at_night and can_child_attack", + "ZR GS Above Bridge": "can_use(Hookshot) and at_night", + "ZR Near Domain Gossip Stone": "True", + "Gossip Stone Fairy": "can_summon_gossip_fairy and has_bottle", + "Butterfly Fairy": "can_use(Sticks) and has_bottle", + }, + "exits": { + "Zora River": "True", + "LW Zora Square": "can_dive or can_use(Iron_Boots)", + "ZR Behind Waterfall": " + can_play(Zeldas_Lullaby) or + (can_use(Hover_Boots) and logic_zora_with_hovers) or + (is_child and logic_zora_with_cucco) or + (mm_ice_arrows and can_use(Ice_Arrows))" + } + }, + { + "region_name": "ZR Behind Waterfall", + "scene": "Zora River", + "room": "1", + "hint": "Zora's River", + "time_passes": true, + "exits": { + "ZR Waterfall Area": "True", + "Zoras Domain": "True" + } + } +] \ No newline at end of file diff --git a/data/Scenes/Root.json b/data/Scenes/Root.json new file mode 100644 index 000000000..a50ceafe1 --- /dev/null +++ b/data/Scenes/Root.json @@ -0,0 +1,26 @@ +[ + { + "region_name": "Root", + "hint": "Link's Pocket", + "locations": { + "Links Pocket": "True" + }, + "exits": { + "Root Exits": "is_starting_age or Time_Travel" + } + }, + { + "region_name": "Root Exits", + "exits": { + "KF Links House": "is_child", + "Temple of Time": " + is_adult or + (can_play(Prelude_of_Light) and can_leave_forest)", + "Sacred Forest Meadow": "can_play(Minuet_of_Forest)", + "DMC Central Local": "can_play(Bolero_of_Fire) and can_leave_forest", + "Lake Hylia": "can_play(Serenade_of_Water) and can_leave_forest", + "Graveyard Warp Pad Region": "can_play(Nocturne_of_Shadow) and can_leave_forest", + "Desert Colossus": "can_play(Requiem_of_Spirit) and can_leave_forest" + } + } +] diff --git a/data/Scenes/Shops.json b/data/Scenes/Shops.json new file mode 100644 index 000000000..69fb1dd5f --- /dev/null +++ b/data/Scenes/Shops.json @@ -0,0 +1,282 @@ +[ + { + "region_name": "Market Bazaar", + "room": "0", + "locations": { + "Market Bazaar Item 1": "True", + "Market Bazaar Item 2": "True", + "Market Bazaar Item 3": "True", + "Market Bazaar Item 4": "True", + "Market Bazaar Item 5": "True", + "Market Bazaar Item 6": "True", + "Market Bazaar Item 7": "True", + "Market Bazaar Item 8": "True" + }, + "exits": { + "Market": "True" + } + }, + { + "region_name": "Kak Bazaar", + "room": "0", + "locations": { + "Kak Bazaar Item 1": "True", + "Kak Bazaar Item 2": "True", + "Kak Bazaar Item 3": "True", + "Kak Bazaar Item 4": "True", + "Kak Bazaar Item 5": "True", + "Kak Bazaar Item 6": "True", + "Kak Bazaar Item 7": "True", + "Kak Bazaar Item 8": "True" + }, + "exits": { + "Kakariko Village": "True" + } + }, + { + "region_name": "KF Kokiri Shop", + "room": "0", + "locations": { + "KF Shop Item 1": "True", + "KF Shop Item 2": "True", + "KF Shop Item 3": "True", + "KF Shop Item 4": "True", + "KF Shop Item 5": "True", + "KF Shop Item 6": "True", + "KF Shop Item 7": "True", + "KF Shop Item 8": "True" + }, + "exits": { + "Kokiri Forest": "True" + } + }, + { + "region_name": "GC Shop", + "room": "0", + "locations": { + "GC Shop Item 1": "True", + "GC Shop Item 2": "True", + "GC Shop Item 3": "True", + "GC Shop Item 4": "True", + "GC Shop Item 5": "True", + "GC Shop Item 6": "True", + "GC Shop Item 7": "True", + "GC Shop Item 8": "True" + }, + "exits": { + "Goron City": "True" + } + }, + { + "region_name": "ZD Shop", + "room": "0", + "locations": { + "ZD Shop Item 1": "True", + "ZD Shop Item 2": "True", + "ZD Shop Item 3": "True", + "ZD Shop Item 4": "True", + "ZD Shop Item 5": "True", + "ZD Shop Item 6": "True", + "ZD Shop Item 7": "True", + "ZD Shop Item 8": "True" + }, + "exits": { + "Zoras Domain": "True" + } + }, + { + "region_name": "Kak Potion Shop Front", + "room": "0", + "locations": { + "Kak Potion Shop Item 1": "is_adult", + "Kak Potion Shop Item 2": "is_adult", + "Kak Potion Shop Item 3": "is_adult", + "Kak Potion Shop Item 4": "is_adult", + "Kak Potion Shop Item 5": "is_adult", + "Kak Potion Shop Item 6": "is_adult", + "Kak Potion Shop Item 7": "is_adult", + "Kak Potion Shop Item 8": "is_adult" + }, + "exits": { + "Kakariko Village": "True", + "Kak Potion Shop Back": "is_adult" + } + }, + { + "region_name": "Kak Potion Shop Back", + "room": "0", + "exits": { + "Kak Backyard": "is_adult", + "Kak Potion Shop Front": "True" + } + }, + { + "region_name": "Market Potion Shop", + "room": "0", + "locations": { + "Market Potion Shop Item 1": "True", + "Market Potion Shop Item 2": "True", + "Market Potion Shop Item 3": "True", + "Market Potion Shop Item 4": "True", + "Market Potion Shop Item 5": "True", + "Market Potion Shop Item 6": "True", + "Market Potion Shop Item 7": "True", + "Market Potion Shop Item 8": "True" + }, + "exits": { + "Market": "True" + } + }, + { + "region_name": "Market Bombchu Shop", + "room": "0", + "locations": { + "Market Bombchu Shop Item 1": "True", + "Market Bombchu Shop Item 2": "True", + "Market Bombchu Shop Item 3": "True", + "Market Bombchu Shop Item 4": "True", + "Market Bombchu Shop Item 5": "True", + "Market Bombchu Shop Item 6": "True", + "Market Bombchu Shop Item 7": "True", + "Market Bombchu Shop Item 8": "True" + }, + "exits": { + "Market": "True" + } + }, + { + "region_name": "Market Mask Shop", + "room": "0", + "events": { + "Skull Mask": "at('Kakariko Village', is_child and Zeldas_Letter)", + "Mask of Truth": "'Skull Mask' and + at('Lost Woods', is_child and can_play(Sarias_Song)) and + at('Graveyard', is_child and at_day) and + at('Hyrule Field', is_child and has_all_stones)" + }, + "exits": { + "Market": "True" + } + }, + { + "region_name": "Market Shooting Gallery", + "room": "0", + "locations": { + "Market Shooting Gallery": "is_child" + }, + "exits": { + "Market": "True" + } + }, + { + "region_name": "Kak Shooting Gallery", + "room": "0", + "locations": { + "Kak Shooting Gallery": "is_adult and Bow" + }, + "exits": { + "Kakariko Village": "True" + } + }, + { + "region_name": "Market Bombchu Bowling", + "room": "0", + "locations": { + "Market Bombchu Bowling First Prize": "found_bombchus", + "Market Bombchu Bowling Second Prize": "found_bombchus", + "Market Bombchu Bowling Bombchus": "found_bombchus" + }, + "exits": { + "Market": "True" + } + }, + { + "region_name": "Kak Odd Medicine Building", + "room": "0", + "events": { + "Odd Potion Access": " + is_adult and + ('Odd Mushroom Access' or (Odd_Mushroom and disable_trade_revert))" + }, + "exits": { + "Kak Backyard": "True" + } + }, + #I don't know if the keys should be shufflable, but they are included to give an accurate layout of the rooms. + { + "region_name": "Market Treasure Chest Game", + "room": "0", + "locations": { + "Treasure Chest Game Key 1": "True", + }, + "exits": { + "Market": "True", + "Treasure Chest Shop Green Room 1": "Treasure_Chest_Game_Key" + } + }, + { + "region_name": "Treasure Chest Shop Green Room 1", + "room": "1", + "locations": { + "Treasure Chest Game Key 2": "can_use(Lens_of_Truth)" + }, + "exits": { + "Market Treasure Chest Game": "True", + "Treasure Chest Shop Green Room 2": "Treasure_Chest_Game_Key" + } + }, + { + "region_name": "Treasure Chest Shop Green Room 2", + "room": "2", + "locations": { + "Treasure Chest Game Key 3": "can_use(Lens_of_Truth)" + }, + "exits": { + "Treasure Chest Shop Green Room 1": "True", + "Treasure Chest Shop Blue Room 1": "Treasure_Chest_Game_Key" + } + }, + { + "region_name": "Treasure Chest Blue Room 1", + "room": "3", + "locations": { + "Treasure Chest Game Key 4": "can_use(Lens_of_Truth)" + }, + "exits": { + "Treasure Chest Shop Green Room 2": "True", + "Treasure Chest Shop Blue Room 2": "Treasure_Chest_Game_Key" + } + }, + { + "region_name": "Treasure Chest Blue Room 2", + "room": "4", + "locations": { + "Treasure Chest Game Key 5": "can_use(Lens_of_Truth)" + }, + "exits": { + "Treasure Chest Shop Blue Room 1": "True", + "Treasure Chest Shop Red Room": "Treasure_Chest_Game_Key" + } + }, + { + "region_name": "Treasure Chest Red Room", + "room": "5", + "locations": { + "Treasure Chest Game Key 6": "can_use(Lens_of_Truth)" + }, + "exits": { + "Treasure Chest Shop Blue Room 2": "True", + "Treasure Chest Shop Yellow Room": "Treasure_Chest_Game_Key" + } + }, + { + "region_name": "Treasure Chest Yellow Room", + "room": "6", + "locations": { + "Market Treasure Chest Game": "True" + }, + "exits": { + "Treasure Chest Shop Red Room": "True" + } + } +] \ No newline at end of file diff --git a/data/Scenes/Towns/Goron City.json b/data/Scenes/Towns/Goron City.json new file mode 100644 index 000000000..a1b4fa7a6 --- /dev/null +++ b/data/Scenes/Towns/Goron City.json @@ -0,0 +1,122 @@ +[ + { + "region_name": "Goron City", + "scene": "Goron City", + "room": "3", + "hint": "Goron City", + "events": { + "Goron City Child Fire": "is_child and can_use(Dins_Fire)", + "GC Woods Warp Open": " + can_blast_or_smash or can_use(Dins_Fire) or can_use(Bow) or + Progressive_Strength_Upgrade or 'Goron City Child Fire'", + "Stop GC Rolling Goron as Adult": " + is_adult and + (Progressive_Strength_Upgrade or has_explosives or Bow or + (logic_link_goron_dins and can_use(Dins_Fire)))" + }, + "locations": { + "GC Pot Freestanding PoH": " + is_child and 'Goron City Child Fire' and + (Bombs or (Progressive_Strength_Upgrade and logic_goron_city_pot_with_strength) or (has_bombchus and logic_goron_city_pot))", + "GC Rolling Goron as Child": " + is_child and + (has_explosives or (Progressive_Strength_Upgrade and logic_child_rolling_with_strength))", + "GC Rolling Goron as Adult": "'Stop GC Rolling Goron as Adult'", + "GC GS Center Platform": "is_adult", + "Stick Pot": "is_child" + }, + "exits": { + "Death Mountain": "True", + "GC Woods Warp": "'GC Woods Warp Open'", + "GC Boulder Maze": "True", + "GC Shop": " + (is_adult and 'Stop GC Rolling Goron as Adult') or + (is_child and (has_explosives or Progressive_Strength_Upgrade or 'Goron City Child Fire'))", + "GC Medigorons Shop": " + can_blast_or_smash or Progressive_Strength_Upgrade", + "GC Darunias Chamber": " + (is_adult and 'Stop GC Rolling Goron as Adult') or + (is_child and can_play(Zeldas_Lullaby))", + "GC Grotto": " + is_adult and + ((can_play(Song_of_Time) and + ((damage_multiplier != 'ohko' and damage_multiplier != 'quadruple') or + can_use(Goron_Tunic) or can_use(Longshot) or can_use(Nayrus_Love))) or + (damage_multiplier != 'ohko' and can_use(Goron_Tunic) and can_use(Hookshot)) or + (can_use(Nayrus_Love) and can_use(Hookshot)))" + } + }, + { + "region_name": "GC Woods Warp", + "scene": "Goron City", + "room": "3", + "events": { + "GC Woods Warp Open": "can_blast_or_smash or can_use(Dins_Fire)" + }, + "exits": { + "Goron City": "can_leave_forest and 'GC Woods Warp Open'", + "LW Goron Square": "True" + } + }, + { + "region_name": "GC Boulder Maze", + "scene": "Goron City", + "room": "0", + "hint": "Goron City", + "locations": { + "GC Maze Left Chest": " + can_use(Megaton_Hammer) or can_use(Silver_Gauntlets) or + (logic_goron_city_leftmost and has_explosives and can_use(Hover_Boots))", + "GC Maze Center Chest": " + can_blast_or_smash or can_use(Silver_Gauntlets)", + "GC Maze Right Chest": " + can_blast_or_smash or can_use(Silver_Gauntlets)", + "GC GS Boulder Maze": "is_child and has_explosives", + "GC Maze Gossip Stone": " + can_blast_or_smash or can_use(Silver_Gauntlets)", + "Gossip Stone Fairy": " + can_summon_gossip_fairy_without_suns and has_bottle and + (can_blast_or_smash or Progressive_Strength_Upgrade)", + "Bug Rock": "(can_blast_or_smash or can_use(Silver_Gauntlets)) and has_bottle" + }, + "exits": { + "Goron City": "True" + } + }, + { + "region_name": "GC Medigorons Shop", + "scene": "Goron City", + "room": "2", + "hint": "Goron City", + "locations": { + "GC Medigoron": " + #The room begins before two of the mud walls' + is_adult and Progressive_Wallet and + (can_blast_or_smash or Progressive_Strength_Upgrade)", + "GC Medigoron Gossip Stone": " + can_blast_or_smash or Progressive_Strength_Upgrade", + "Gossip Stone Fairy": " + can_summon_gossip_fairy_without_suns and has_bottle and + (can_blast_or_smash or Progressive_Strength_Upgrade)" + }, + "exits": { + "Goron City": "True" + } + }, + { + "region_name": "GC Darunias Chamber", + "scene": "Goron City", + "room": "1", + "hint": "Goron City", + "events": { + "Goron City Child Fire": "can_use(Sticks)" + }, + "locations": { + "GC Darunias Joy": "is_child and can_play(Sarias_Song)" + }, + "exits": { + "Goron City": "True", + "DMC Lower Local": "is_adult" + } + } +] diff --git a/data/Scenes/Towns/Kakariko Village.json b/data/Scenes/Towns/Kakariko Village.json new file mode 100644 index 000000000..71c62739f --- /dev/null +++ b/data/Scenes/Towns/Kakariko Village.json @@ -0,0 +1,96 @@ +[ + { + "region_name": "Kakariko Village", + "scene": "Kakariko Village", + "room": "0", + "hint": "Kakariko Village", + "events": { + "Cojiro Access": "is_adult and 'Wake Up Adult Talon'", + "Kakariko Village Gate Open": "is_child and Zeldas_Letter" + }, + "locations": { + "Sheik in Kakariko": " + is_adult and Forest_Medallion and Fire_Medallion and Water_Medallion", + "Kak Anju as Adult": "is_adult and at_day", + "Kak Anju as Child": "is_child and at_day", + "Kak GS House Under Construction": "is_child and at_night", + "Kak GS Skulltula House": "is_child and at_night", + "Kak GS Guards House": "is_child and at_night", + "Kak GS Tree": "is_child and at_night", + "Kak GS Watchtower": " + is_child and (Slingshot or has_bombchus or + (logic_kakariko_tower_gs and (Sticks or Kokiri_Sword) and + (damage_multiplier != 'ohko' or Fairy or can_use(Nayrus_Love)))) and at_night", + "Kak GS Above Impas House": "can_use(Hookshot) and at_night", + "Bug Rock": "has_bottle" + }, + "exits": { + "Hyrule Field": "True", + "Kak Carpenter Boss House": "True", + "Kak House of Skulltula": "True", + "Kak Impas House": "True", + "Kak Windmill": "True", + "Kak Bazaar": "is_adult and at_day", + "Kak Shooting Gallery": "is_adult and at_day", + "Bottom of the Well Lobby Entrance": " + 'Drain Well' and (is_child or shuffle_dungeon_entrances)", + "Kak Potion Shop Front": "is_child or at_day", + "Kak Redead Grotto": "can_open_bomb_grotto", + "Kak Impas Ledge": " + (is_child and at_day) or (is_adult and logic_visible_collisions) or can_use(Hookshot)", + "Kak Rooftop": " + can_use(Hookshot) or + (logic_man_on_roof and + (is_adult or at_day or Slingshot or has_bombchus or + (logic_kakariko_tower_gs and (Sticks or Kokiri_Sword) and + (damage_multiplier != 'ohko' or Fairy or can_use(Nayrus_Love)))))", + "Kak Backyard": "is_adult or (is_child and at_day)", + "Graveyard": "True", + "Kak Behind Gate": "is_adult or 'Kakariko Village Gate Open'" + } + }, + { + "region_name": "Kak Impas Ledge", + "scene": "Kakariko Village", + "room": "0", + "hint": "Kakariko Village", + "exits": { + "Kak Impas House Back": "True", + "Kakariko Village": "True" + } + }, + { + "region_name": "Kak Rooftop", + "scene": "Kakariko Village", + "room": "0", + "hint": "Kakariko Village", + "locations": { + "Kak Man on Roof": "True" + }, + "exits": { + "Kak Backyard": "True" + } + }, + { + "region_name": "Kak Backyard", + "scene": "Kakariko Village", + "room": "0", + "hint": "Kakariko Village", + "exits": { + "Kakariko Village": "True", + "Kak Open Grotto": "True", + "Kak Odd Medicine Building": "is_adult", + "Kak Potion Shop Back": "is_adult and at_day" + } + }, + { + "region_name": "Kak Behind Gate", + "scene": "Kakariko Village", + "room": "0", + "exits": { + "Kakariko Village": " + is_adult or logic_visible_collisions or 'Kakariko Village Gate Open'", + "Death Mountain": "True" + } + } +] \ No newline at end of file diff --git a/data/Scenes/Towns/Kokiri Forest.json b/data/Scenes/Towns/Kokiri Forest.json new file mode 100644 index 000000000..cdeab453a --- /dev/null +++ b/data/Scenes/Towns/Kokiri Forest.json @@ -0,0 +1,72 @@ +[ + { + "region_name": "Kokiri Forest", + "scene": "Kokiri Forest", + "room": "0", + "hint": "Kokiri Forest", + "events": { + "Showed Mido Sword & Shield": "open_forest == 'open' or (is_child and Kokiri_Sword and Buy_Deku_Shield)" + }, + "locations": { + "KF GS Know It All House": " + is_child and can_child_attack and at_night and + (had_night_start or can_leave_forest or can_play(Suns_Song))", + "KF GS Bean Patch": " + can_plant_bugs and can_child_attack", + "KF GS House of Twins": " + is_adult and at_night and + (can_use(Hookshot) or (logic_adult_kokiri_gs and can_use(Hover_Boots)))", + "KF Gossip Stone": "True", + "Gossip Stone Fairy": "can_summon_gossip_fairy_without_suns and has_bottle", + "Bean Plant Fairy": "can_plant_bean and can_play(Song_of_Storms) and has_bottle" + }, + "exits": { + "KF Links House": "True", + "KF Midos House": "True", + "KF Sarias House": "True", + "KF House of Twins": "True", + "KF Know It All House": "True", + "KF Kokiri Shop": "True", + "KF Outside Deku Tree": "is_adult or 'Showed Mido Sword & Shield'", + "KF Training Area": "is_child", + "LW Start Square": "True", + "LW Bridge From Forest": "can_leave_forest", + "KF Storms Grotto": "can_open_storm_grotto" + } + }, + { + "region_name": "KF Outside Deku Tree", + "scene": "Kokiri Forest", + "room": "1", + "hint": "Kokiri Forest", + "locations": { + #The Babas despawn for Adult on forest temple completion. For vanilla forest temple + #placement this is not an issue as Adult can go back to forest for the Baba's there. + #Entrance rando cannot rely on this for the case forest completion was done on non + #repeatable access. + "Deku Baba Sticks": "(is_adult and not shuffle_dungeon_entrances) or Kokiri_Sword or Boomerang", + "Deku Baba Nuts": " + (is_adult and not shuffle_dungeon_entrances) or Slingshot or Sticks or + has_explosives or Kokiri_Sword or can_use(Dins_Fire)", + "KF Deku Tree Gossip Stone (Left)": "True", + "KF Deku Tree Gossip Stone (Right)": "True", + "Gossip Stone Fairy": "can_summon_gossip_fairy_without_suns and has_bottle" + }, + "exits": { + "Deku Tree Lobby": "is_child or (shuffle_dungeon_entrances and 'Showed Mido Sword & Shield')", + "Kokiri Forest": "True" + } + }, + { + "region_name": "KF Training Area", + "scene": "Kokiri Forest", + "room": "2", + "hint": "Kokiri Forest", + "locations": { + "KF Kokiri Sword Chest": "True" + }, + "exits": { + "Kokiri Forest": "is_child" + } + }, +] diff --git a/data/Scenes/Towns/Lon Lon Ranch.json b/data/Scenes/Towns/Lon Lon Ranch.json new file mode 100644 index 000000000..cc525c09a --- /dev/null +++ b/data/Scenes/Towns/Lon Lon Ranch.json @@ -0,0 +1,26 @@ +[ + { + "region_name": "Lon Lon Ranch", + "scene": "Lon Lon Ranch", + "room": "0", + "hint": "Lon Lon Ranch", + "events": { + "Epona": "can_play(Eponas_Song) and is_adult and at_day", + "Links Cow": "can_play(Eponas_Song) and is_adult and at_day" + }, + "locations": { + "Song from Malon": "is_child and Zeldas_Letter and Ocarina and at_day", + "LLR GS Tree": "is_child", + "LLR GS Rain Shed": "is_child and at_night", + "LLR GS House Window": "can_use(Boomerang) and at_night", + "LLR GS Back Wall": "can_use(Boomerang) and at_night" + }, + "exits": { + "Hyrule Field": "True", + "LLR Talons House": "is_adult or at_day", + "LLR Stables": "True", + "LLR Tower": "True", + "LLR Grotto": "is_child" + } + } +] diff --git a/data/Scenes/Towns/Market.json b/data/Scenes/Towns/Market.json new file mode 100644 index 000000000..e7c1d54a0 --- /dev/null +++ b/data/Scenes/Towns/Market.json @@ -0,0 +1,60 @@ +[ + { + "region_name": "Market Entrance", + "scene": "Market Entrance", + "room": "0", + "hint": "the Market", + "exits": { + "Hyrule Field": "is_adult or at_day", + "Market": "True", + "Market Guard House": "True" + } + }, + { + "region_name": "Market", + "scene": "Market", + "room": "0", + "hint": "the Market", + "exits": { + "Market Entrance": "True", + "Market Back Alley": "is_child", + "ToT Entrance": "True", + "Castle Grounds": "True", + "Market Bazaar": "is_child and at_day", + "Market Mask Shop": "is_child and at_day", + "Market Shooting Gallery": "is_child and at_day", + "Market Bombchu Bowling": "is_child", + "Market Potion Shop": "is_child and at_day", + "Market Treasure Chest Game": "is_child and at_night" + } + }, + { + "region_name": "Market Back Alley", + "scene": "Market Back Alley", + "room": "0", + "hint": "the Market", + "exits": { + "Market": "True", + "Market Bombchu Shop": "at_night", + "Market Market Dog Lady": "True", + "Market Man in Green House": "at_night" + } + }, + { + "region_name": "ToT Entrance", + "scene": "ToT Entrance", + "room": "0", + "hint": "the Market", + "locations": { + "ToT Gossip Stone (Left)": "True", + "ToT Gossip Stone (Left-Center)": "True", + "ToT Gossip Stone (Right)": "True", + "ToT Gossip Stone (Right-Center)": "True", + "Gossip Stone Fairy": "can_summon_gossip_fairy_without_suns and has_bottle" + }, + "exits": { + "Market": "True", + "Temple of Time": "True" + } + } +] diff --git a/data/Scenes/Towns/Zoras Domain.json b/data/Scenes/Towns/Zoras Domain.json new file mode 100644 index 000000000..19d736685 --- /dev/null +++ b/data/Scenes/Towns/Zoras Domain.json @@ -0,0 +1,60 @@ +[ + { + "region_name": "Zoras Domain", + "scene": "Zoras Domain", + "room": "1", + "hint": "Zora's Domain", + "locations": { + "ZD Diving Minigame": "is_child", + "ZD Chest": "can_use(Sticks)", + "ZD GS Frozen Waterfall": " + is_adult and at_night and (Progressive_Hookshot or Bow or Magic_Meter)", + "Fish Group": "is_child and has_bottle", + "Stick Pot": "is_child", + "Nut Pot": "True" + }, + "exits": { + "ZR Behind Waterfall": "True", + "ZD King Zoras Chamber": "True", + "Lake Hylia": "is_child and can_dive", + "ZD Shop": "is_child or Blue_Fire", + "ZD Storms Grotto": "can_open_storm_grotto" + } + }, + { + "region_name": "ZD King Zoras Chamber", + "scene": "Zoras Domain", + "room": "0", + "hint": "Zora's Domain", + "events": { + "King Zora Thawed": "is_adult and Blue_Fire", + "Eyeball Frog Access": " + is_adult and 'King Zora Thawed' and + (Eyedrops or Eyeball_Frog or Prescription or 'Prescription Access')" + }, + "locations": { + "Deliver Ruto's Letter": " + is_child and Rutos_Letter and zora_fountain != 'open'", + "ZD King Zora Thawed": "'King Zora Thawed'", + "ZD Gossip Stone": "True", + "Gossip Stone Fairy": "can_summon_gossip_fairy_without_suns and has_bottle", + }, + "exits": { + "Zoras Domain": "True", + "ZD Behind King Zora": " + Deliver_Letter or zora_fountain == 'open' or + (zora_fountain == 'adult' and is_adult)", + } + }, + { + "region_name": "ZD Behind King Zora", + "scene": "Zoras Domain", + "room": "0", + "exits": { + "ZD King Zoras Chamber": " + Deliver_Letter or zora_fountain == 'open' or + (zora_fountain == 'adult' and is_adult)", + "Zoras Fountain": "True" + } + } +]