diff --git a/.gitignore b/.gitignore index be03277d..71a8e539 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ *vs/* backup/* build/* +generated* *.txt *.bin *.elf diff --git a/Makefile b/Makefile index b47c0879..944f880e 100644 --- a/Makefile +++ b/Makefile @@ -9,6 +9,11 @@ endif TOPDIR ?= $(CURDIR) include $(DEVKITARM)/3ds_rules +# Generate data-driven source files before SOURCES is evaluated +ifneq ($(MAKECMDGOALS),clean) +$(shell python3 ./tools/gen_all_tables.py) +endif + #--------------------------------------------------------------------------------- # TARGET is the name of the output # BUILD is the directory where object files & intermediate files will be placed @@ -36,8 +41,8 @@ APP_AUTHOR := Gamestabled APP_DESCRIPTION := A different Ocarina of Time experience TARGET := $(notdir $(CURDIR)) BUILD := build -SOURCES := $(sort $(dir $(wildcard source/*/ source/))) -DATA := data +SOURCES := $(sort $(dir $(filter-out %.jsonc, $(filter-out %.json, $(wildcard source/*/ source/*))))) +# DATA := data # Data files aren't built into the project INCLUDES := include $(SOURCES) GRAPHICS := gfx GFXBUILD := $(BUILD) @@ -206,7 +211,8 @@ endif clean: @echo clean ... @rm -fr $(BUILD) $(TARGET).3dsx $(OUTPUT).smdh $(TARGET).elf $(GFXBUILD) \ - $(ROMFS)/basecode.ips $(ROMFS)/basecode_USA.ips $(ROMFS)/basecode_EUR.ips + $(ROMFS)/basecode.ips $(ROMFS)/basecode_USA.ips $(ROMFS)/basecode_EUR.ips \ + source/generated/generated* $(MAKE) clean -C code #--------------------------------------------------------------------------------- diff --git a/data/description_table.jsonc b/data/description_table.jsonc new file mode 100644 index 00000000..53344d14 --- /dev/null +++ b/data/description_table.jsonc @@ -0,0 +1,2173 @@ +{ + /*------------------------------ + | MENU DESCRIPTIONS | *SCREEN WIDTH* + ------------------------------*/ /*--------------------------------------------------*/ + "menuOpenSettingsDesc": [ "Depending on the enabled glitches and item place-", + "ments, some of these may be logically bypassed.", // + "For example, bomb hovering to Ganon's Castle." ], // + "menuGlitchOptionsDesc": [ "These are only taken into account when logic is", // + "set to Glitched." ], // + "menuPersonalizationDesc": [ "These options do not affect seed generation." ], // + "menuIngameDefaultsDesc": [ "These options decide what the ingame options are",// + "set to when creating a save file. The new ingame",// + "options can be changed in the Custom Info Menu." ], + + /*------------------------------ + | PRESET DESCRIPTIONS | *SCREEN WIDTH* + ------------------------------*/ /*--------------------------------------------------*/ + "presetNintendedDesc": [ "Locks the world in a state as intended by the", // + "developers. Start as child and work your way", // + "towards Ganon in a classical way." ], // + "presetAllsanityDesc": [ "ANYTHING ANYWHERE! Both items and entrances." ], // + "presetRacingDesc": [ "Community racing settings." ], // + "presetVanillaDesc": [ "Experience a regular playthrough but with all of",// + "the randomizer's improvements.", // + "", // + "Enable entrance shuffle for an extra challenge!" ], + "presetFullChaosDesc": [ "The hardest and craziest settings possible.", // + "Closes everything as much as possible.", // + "No logic. Anything anywhere.", // + "Full entrance shuffle.", // + "One-hit KO. Max ice traps." ], // + + //Setting descriptions are mostly copied from OoT Randomizer tooltips with minor edits + + /*------------------------------ + | RANDOMIZE SETTINGS | *SCREEN WIDTH* + ------------------------------*/ /*--------------------------------------------------*/ + "openRandomize": [ "Randomize all Open Settings." ], // + "worldRandomize": [ "Randomize all World Settings except for MQ", // + "dungeons." ], // + "shuffleRandomize": [ "Randomize all Shuffle Settings." ], // + "dungeonRandomize": [ "Randomize all Dungeon Shuffle Settings." ], // + // + /*------------------------------ // + | LOGIC | // + ------------------------------*/ // + "logicGlitchless": [ "No glitches are required, but may require some", // + "minor tricks. Add minor tricks to consider for", // + "logic in Logical Tricks." ], // + "logicGlitched": [ "The glitches you enable at the set difficulty", // + "or below may be required.", // + "", // + "WIP feature. Allows glitch logic for the entire", // + "overworld and the following vanilla dungeons:", // + "Deku Tree, Dodongo's Cavern, Jabu Jabu, and", // + "Forest, Water, and Fire Temple." ], // + "logicNoLogic": [ "Maximize randomization, All locations are", // + "considered available. MAY BE IMPOSSIBLE TO BEAT." ], + "logicVanilla": [ "For those who want to play the game normally but",// + "with the improvements of the randomizer. All", // + "locations will contain their vanilla items. This",// + "supercedes all item shuffle, logic, hint, and", // + "item pool settings. You can still use non-vanilla", + "world settings such as adult start or entrance", // + "shuffle, but the game may require glitches to", // + "complete if you do." ], // + /*------------------------------ // + | FOREST | // + ------------------------------*/ // + "forestOpen": [ "Mido no longer blocks the path to the Deku Tree,",// + "and the Kokiri boy no longer blocks the path out",// + "of the forest." ], // + "forestClosed": [ "Beating Deku Tree is logically required to leave",// + "the forest area (Kokiri Forest/Lost Woods/Sacred",// + "Forest Meadow/Deku Tree), while the Kokiri Sword",// + "and a Deku Shield are required to access the Deku", + "Tree. Items needed for this will be guaranteed", // + "inside the forest area. This setting is", // + "incompatible with starting as adult." ], // + "forestClosedDeku": [ "The Kokiri boy no longer blocks the path out of", // + "the forest, but Mido still blocks the path to the", + "Deku Tree, requiring Kokiri Sword and Deku Shield", + "to access the Deku Tree." ], // + /*------------------------------ // + | KAKARIKO GATE | // + ------------------------------*/ // + "kakGateOpen": [ "The gate is always open instead of needing", // + "Zelda's Letter. The Happy Mask Shop opens upon", // + "obtaining Zelda's Letter without needing to show",// + "it to the guard." ], // + "kakGateClosed": [ "The gate and the Happy Mask Shop both remain", // + "closed until showing Zelda's Letter to the guard",// + "in Kakariko." ], // + /*------------------------------ // + | DOOR OF TIME | // + ------------------------------*/ // + "doorOfTimeOpen": [ "The Door of Time starts opened instead of needing", + "to play the Song of Time." ], // + "doorOfTimeClosed": [ "Only an Ocarina and the Song of Time need to be", // + "found to open the Door of Time." ], // + "doorOfTimeIntended": [ "The Ocarina of Time, the Song of Time, and", // + "all Spiritual Stones need to be found to", // + "open the Door of Time." ], // + /*------------------------------ // + | ZORA'S FOUNTAIN | // + ------------------------------*/ // + "fountainNormal": [ "King Zora obstructs the way to Zora's Fountain.", // + "Ruto's Letter must be shown as child in order to",// + "move him for both eras." ], // + "fountainAdult": [ "King Zora is always moved in the adult era. This",// + "means Ruto's Letter is only required to access", // + "Zora's Fountain as child." ], // + "fountainOpen": [ "King Zora starts as moved in both the child and", // + "adult eras. This also removes Ruto's Letter from",// + "the pool since it can't be used." ], // + /*------------------------------ // + | JABU-JABU | // + ------------------------------*/ // + "jabuJabuCloseDesc": [ "Jabu-Jabu's mouth stays closed until a fish is", // + "fed." ], // + "jabuJabuOpenDesc": [ "Jabu-Jabu's mouth is always open." ], // + /*------------------------------ // + | GERUDO FORTRESS | // + ------------------------------*/ // + "gerudoNormal": [ "All 4 carpenters can be rescued." ], // + "gerudoFast": [ "Only the bottom left carpenter must be rescued." ], + "gerudoOpen": [ "The carpenters are rescued from the start of the",// + "game, and if Shuffle Gerudo Card is disabled,", // + "the player starts with the Gerudo Card in the", // + "inventory allowing access to Gerudo Training", // + "Grounds." ], // + /*------------------------------ // + | RAINBOW BRIDGE | // + ------------------------------*/ // + "bridgeOpen": [ "The Rainbow Bridge is always present." ], // + "bridgeVanilla": [ "The Rainbow Bridge requires Shadow and Spirit", // + "Medallions as well as Light Arrows." ], // + "bridgeStones": [ "The Rainbow Bridge requires collecting a", // + "configurable number of Spiritual Stones." ], // + "bridgeMedallions": [ "The Rainbow Bridge requires collecting a", // + "configurable number of Medallions." ], // + "bridgeRewards": [ "The Rainbow Bridge requires collecting a", // + "configurable number of Dungeon Rewards." ], // + "bridgeDungeons": [ "The Rainbow Bridge requires completing a", // + "configurable number of Dungeons.", // + "", // + "Dungeons are considered complete when Link steps",// + "into the blue warp at the end of them." ], // + "bridgeTokens": [ "The Rainbow Bridge requires collecting a", // + "configurable number of Gold Skulltula Tokens." ], // + "bridgeHearts": [ "The Rainbow Bridge requires collecting a", // + "configurable number of Hearts." ], // + /*------------------------------ // + | BRIDGE CONDITIONS | // + ------------------------------*/ // + "bridgeStoneCountDesc": [ "Set the number of Spiritual Stones required to", // + "spawn the Rainbow Bridge." ], // + "bridgeMedallionCountDesc": [ "Set the number of Medallions required to spawn the", + "Rainbow Bridge." ], // + "bridgeRewardCountDesc": [ "Set the number of Dungeon Rewards (Spiritual", // + "Stones and Medallions) required to spawn the", // + "Rainbow Bridge." ], // + "bridgeDungeonCountDesc": [ "Set the number of completed dungeons required to",// + "spawn the Rainbow Bridge." ], // + "bridgeTokenCountDesc": [ "Set the number of Gold Skulltula Tokens required",// + "to spawn the Rainbow Bridge." ], // + "bridgeHeartCountDesc": [ "Set the number of Hearts required to spawn the", // + "Rainbow Bridge." ], // + /*------------------------------ // + | RANDOM GANONS TRIALS | // + ------------------------------*/ // + "randomGanonsTrialsDesc": [ "Sets a random number of required trials to enter",// + "Ganon's Tower." ], // + /*------------------------------ // + | GANON'S TRIAL COUNT | // + ------------------------------*/ // + "ganonsTrialCountDesc": [ "Set the number of trials required to enter", // + "Ganon's Tower. Trials will be randomly selected." ], + /*------------------------------ // + | STARTING AGE | // + ------------------------------*/ // + "ageDesc": [ "Choose which age Link will start as.", // + "", // + "Only the child option is compatible with Closed", // + "Forest.", // + "", // + "Child will also be forced if Door of Time is set",// + "to intended and ocarinas are unshuffled unless you", + "start with an ocarina already in your inventory." ], + /*------------------------------ // + | SHUFFLE ENTRANCES | // + ------------------------------*/ // + "shuffleEntrancesDesc": [ "Shuffle where the entrances between areas lead to.", + "If turned on, select which kinds of entrances you", + "want shuffled in the options below. Note that some", + "types of entrances can have wildly varying", // + "generation times." ], // + // + /*------------------------------ // + | DUNGEON ENTRANCES | // + ------------------------------*/ // + "dungeonEntrancesDesc": [ "Shuffle the pool of dungeon entrances, including",// + "Bottom of the Well, Ice Cavern, and Gerudo", // + "Training Grounds. Shuffling Ganon's Castle can", // + "be enabled separately.", // + "", // + "Additionally, the entrances of Deku Tree, Fire", // + "Temple, Bottom of the Well and Gerudo Training", // + "Ground are opened for both adult and child." ], // + /*------------------------------ // + | BOSS ENTRANCES | // + ------------------------------*/ // + "bossEntrancesDesc": [ "Shuffle the pool of dungeon boss entrances.", // + "This affects the boss rooms of all stone and", // + "medallion dungeons.", // + "", // + "Child and adult boss rooms can be shuffled", // + "separately.", // + "Child may be expected to defeat Phantom Ganon", // + "and/or Bongo Bongo." ], // + /*------------------------------ // + | OVERWORLD ENTRANCES | // + ------------------------------*/ // + "overworldEntrancesDesc": [ "Shuffle the pool of Overworld entrances, which", // + "corresponds to almost all loading zones between", // + "Overworld areas.", // + "", // + "Some entrances are unshuffled to avoid issues:", // + "- Hyrule Castle Courtyard and Garden entrance", // + "- Both Market Back Alley entrances", // + "- Gerudo Valley to Lake Hylia (unless entrances", // + " are decoupled)" ], // + /*------------------------------ // + | INTERIOR ENTRANCES | // + ------------------------------*/ // + "interiorEntrancesOff": [ "Interior entrances will not be shuffled." ], // + "interiorEntrancesSimple": [ "Shuffle the pool of interior entrances which", // + "contains most Houses and all Great Fairies." ], // + "interiorEntrancesAll": [ "An extended version of 'Simple' with some extra", // + "places:", // + "- Windmill", // + "- Link's House", // + "- Temple of Time", // + "- Kakariko Potion Shop." ], // + /*------------------------------ // + | GROTTO ENTRANCES | // + ------------------------------*/ // + "grottoEntrancesDesc": [ "Shuffle the pool of grotto entrances, including", // + "all graves, small Fairy Fountains and the Lost", // + "Woods Stage." ], // + /*------------------------------ // + | OWL DROPS | // + ------------------------------*/ // + "owlDropsDesc": [ "Randomize where Kaepora Gaebora (the Owl) drops", // + "you at when you talk to him at Lake Hylia or at", // + "the top of Death Mountain Trail." ], // + /*------------------------------ // + | WARP SONGS | // + ------------------------------*/ // + "warpSongsDesc": [ "Randomize where each of the 6 warp songs leads to." ], + // + /*------------------------------ // + | OVERWORLD SPAWNS | // + ------------------------------*/ // + "overworldSpawnsDesc": [ "Randomize where you start as Child or Adult when",// + "loading a save in the Overworld. This means you", // + "may not necessarily spawn inside Link's House or",// + "Temple of Time.", // + "", // + "This stays consistent after saving and loading the", + "game again." ], // + /*------------------------------ // + | MIXED ENTRANCE POOLS | // + ------------------------------*/ // + "mixedPoolsDesc": [ "Shuffle entrances into a mixed pool instead of", // + "separate ones. For example, enabling the settings", + "to shuffle grotto, dungeon, and overworld", // + "entrances and selecting grotto and dungeon", // + "entrances here will allow a dungeon to be inside a", + "grotto or vice versa, while overworld entrances", // + "are shuffled in their own separate pool and", // + "indoors stay vanilla." ], // + "mixDungeonsDesc": [ "Dungeon entrances will be part of the mixed pool." ], + "mixOverworldDesc": [ "Overworld entrances will be part of the mixed", // + "pool." ], // + "mixInteriorsDesc": [ "Interior entrances will be part of the mixed pool." ], + "mixGrottosDesc": [ "Grotto entrances will be part of the mixed pool." ], + /*------------------------------ // + | DECOUPLED ENTRANCES | // + ------------------------------*/ // + "decoupledEntrancesDesc": [ "Decouple entrances when shuffling them. This means", + "you are no longer guaranteed to end up back where ", + "you came from when you go back through an", // + "entrance. This also adds the one-way entrance from", + "Gerudo Valley to Lake Hylia in the pool of", // + "overworld entrances when they are shuffled.", // + "Boss entrances are currently excluded from this", // + "and remain coupled regardless." ], // + /*------------------------------ // + | BOMBCHUS IN LOGIC | // + ------------------------------*/ // + "bombchuLogicDesc": [ "Bombchus are properly considered in logic.", // + "They can be replenished in shops, or through", // + "bombchu drops, if those are enabled.", // + "", // + "Bombchu Bowling is opened by bombchus." ], // + /*------------------------------ // + | AMMO DROPS | // + ------------------------------*/ // + "defaultAmmoDropsDesc": [ "Bombs, arrows, seeds, nuts, sticks and", // + "magic jars appear as normal." ], // + "bombchuDropsDesc": [ "Bombs, arrows, seeds, nuts, sticks and", // + "magic jars appear as normal.", // + "Bombchus can sometimes replace bomb drops." ], // + "noAmmoDropsDesc": [ "All ammo drops will be replaced by blue rupees,", // + "except for Deku Sticks.", // + "Ammo upgrades will only refill ammo by 10 units." ], + /*------------------------------ // + | HEART DROPS AND REFILLS | // + ------------------------------*/ // + "defaultHeartDropsDesc": [ "Heart drops will appear as normal.", // + "Health upgrades fully heal Link when picked up.", // + "Fairies heal Link as normal." ], // + "noHeartDropsDesc": [ "Heart drops will be replaced by green rupees.", // + "Health upgrades fully heal Link when picked up.", // + "Fairies heal Link as normal." ], // + "noHeartRefillDesc": [ "Heart drops will appear as normal.", // + "Health upgrades don't heal Link when picked up.", // + "Fairies heal Link by only 3 hearts." ], // + "scarceHeartsDesc": [ "Heart drops will be replaced by green rupees.", // + "Health upgrades don't heal Link when picked up.", // + "Fairies heal Link by only 3 hearts." ], // + /*------------------------------ // + | MQ DUNGEON COUNT | // + ------------------------------*/ // + "mqDungeonCountDesc": [ "Specify the number of Master Quest dungeons to", // + "appear in the game. Which dungeons become Master", + "Quest will be chosen at random." ], // + /*------------------------------ // + | SET MQ DUNGEONS | // + ------------------------------*/ // + "setDungeonTypesDesc": [ "If set, you can choose specific dungeons to be", // + "vanilla, MQ, or random" ], // + /*------------------------------ // + | TRIFORCE HUNT | // + ------------------------------*/ // + "triforceHuntDesc": [ "Pieces of the Triforce have been scattered around", + "the world. Find some of them to beat the game.", // + "", // + "Game is saved on completion, and Ganon's Castle", // + "key is given if beating the game again is desired." ], + "triforcePiecesTotalDesc": [ "Set the total number of pieces that will appear", // + "in the world.", // + "", // + "Hold A to scroll faster." ], // + "triforcePiecesRequiredDesc": [ "Set the number of pieces required to beat the", // + "game.", // + "", // + "Hold A to scroll faster." ], // + /*------------------------------ // + | ENEMY RANDOMIZER | // + ------------------------------*/ // + "enemizerDesc": [ "Randomize most enemies in the game.", // + "", // + "WARNING: Incompatible with Master Quest Logic." ],// + "enemizerListDesc": [ "Scroll to open the Enemy List." ], // + "enemyRandomizedDesc": [ "This enemy will be included in the pool of", // + "random enemies." ], // + "enemyVanillaDesc": [ "This enemy will be excluded from the random pool,", + "but it will appear at its vanilla locations." ], // + "enemyRemovedDesc": [ "This enemy will be excluded from the random pool,", + "and it won't appear at randomized locations.", // + "", // + "Exception: if all possible options for a location", + "are removed, that location will revert to using", // + "its vanilla enemy." ], // + /*------------------------------ // + | SHUFFLE DUNGEON REWARDS | // + ------------------------------*/ // + "shuffleRewardsEndOfDungeon": [ "Medallions and Spiritual Stones will be given as",// + "rewards for beating dungeons.", // + "", // + "This setting will force Link's Pocket to be a", // + "Medallion or Spiritual Stone." ], // + "shuffleRewardsAnyDungeon": [ "Medallions and Spiritual Stones can only appear", // + "inside of dungeons." ], // + "shuffleRewardsOverworld": [ "Medallions and Spiritual Stones can only appear", // + "outside of dungeons." ], // + "shuffleRewardsAnywhere": [ "Medallions and Spiritual Stones can appear", // + "anywhere." ], // + /*------------------------------ // + | LINK'S POCKET | // + ------------------------------*/ // + "linksPocketDungeonReward": [ "Link will start with a Dungeon Reward in his", // + "inventory." ], // + "linksPocketAdvancement": [ "Link will receive a random advancement item at the", + "beginning of the playthrough." ], // + "linksPocketAnything": [ "Link will receive a random item from the item pool", + "at the beginning of the playthrough." ], // + "linksPocketNothing": [ "Link will start with a very useful green rupee." ], + /*------------------------------ // + | SONG SHUFFLE | // + ------------------------------*/ // + "songsSongLocations": [ "Songs will only appear at locations that normally", + "teach songs." ], // + "songsDungeonRewards": [ "Songs appear at the end of dungeons. For major", // + "dungeons, they will be at the boss heart container", + "location. The remaining 4 songs are placed at:", // + "- Zelda's Lullaby Location", // + "- Ice Cavern's Serenade of Water Location", // + "- Bottom of the Well's Lens of Truth Location", // + "- Gerudo Training Ground's Ice Arrow Location" ], // + "songsAllLocations": [ "Songs can appear in any location." ], // + // + /*------------------------------ // + | SHOPSANITY | // + ------------------------------*/ // + "shopsOff": [ "All shop items will be the same as vanilla." ], // + "shopsZero": [ "Vanilla shop items will be shuffled among", // + "different shops." ], // + "shopsOne": [ "Vanilla shop items will be shuffled among", // + "different shops, and each shop will contain", // + "one non-vanilla shop item." ], // + "shopsTwo": [ "Vanilla shop items will be shuffled among", // + "different shops, and each shop will contain", // + "two non-vanilla shop items." ], // + "shopsThree": [ "Vanilla shop items will be shuffled among", // + "different shops, and each shop will contain", // + "three non-vanilla shop items." ], // + "shopsFour": [ "Vanilla shop items will be shuffled among", // + "different shops, and each shop will contain", // + "four non-vanilla shop items." ], // + "shopsRandom": [ "Vanilla shop items will be shuffled among", // + "different shops, and each shop will contain", // + "1-4 non-vanilla shop items." ], // + "shopPriceRandom": [ "Prices of shuffled shop items are random", // + "varying between 0 and 295 rupees." ], // + "shopPriceAffordable": [ "Prices of shuffled shop items are 10 rupees." ], // + "shopPriceChild": [ "Prices of shuffled shop items are random", // + "varying between 0 and 99 rupees." ], // + "shopPriceAdult": [ "Prices of shuffled shop items are random", // + "varying between 0 and 200 rupees." ], // + "shopPriceGiant": [ "Prices of shuffled shop items are random", // + "varying between 0 and 500 rupees." ], // + "shopPriceTycoon": [ "Prices of shuffled shop items are random", // + "varying between 0 and 999 rupees." ], // + /*------------------------------ // + | TOKENSANITY | // + ------------------------------*/ // + "tokensOff": [ "GS locations will not be shuffled." ], // + "tokensDungeon": [ "This only shuffles the GS locations that are", // + "within dungeons, increasing the value of most", // + "dungeons and making internal dungeon exploration",// + "more diverse." ], // + "tokensOverworld": [ "This only shuffles the GS locations that are", // + "outside of dungeons." ], // + "tokensAllTokens": [ "Effectively adds 100 new locations for items to", // + "appear." ], // + // + /*------------------------------ // + | SCRUB SHUFFLE | // + ------------------------------*/ // + "scrubsOff": [ "Only the 3 Scrubs that give one-time items in the", + "vanilla game (PoH, Deku Nut capacity, and Deku", // + "Stick capacity) will have random items." ], // + "scrubsAffordable": [ "All Scrub prices will be reduced to 10 rupees each" ], + "scrubsExpensive": [ "All Scrub prices will be their vanilla prices.", // + "This will require spending over 1000 rupees on", // + "Scrubs." ], // + "scrubsRandomPrices": [ "All Scrub prices will be between 0-95 rupees. This", + "will on average be very, very expensive overall." ], + /*------------------------------ // + | SHUFFLE COWS | // + ------------------------------*/ // + "shuffleCowsDesc": [ "Enabling this will let cows give you items upon", // + "performing Epona's song in front of them. There", // + "are 9 cows, and an extra in MQ Jabu." ], // + // + /*------------------------------ // + | SHUFFLE KOKIRI SWORD | // + ------------------------------*/ // + "kokiriSwordDesc": [ "Enabling this shuffles the Kokiri Sword into the",// + "item pool.", // + "", // + "This will require extensive use of sticks until", // + "the sword is found." ], // + /*------------------------------ // + | SHUFFLE MASTER SWORD | // + ------------------------------*/ // + "masterSwordDesc": [ "Enabling this shuffles the Master Sword into the",// + "item pool.", // + "", // + "Adult Link will start with a second free item", // + "instead of the Master Sword. If you haven't found", + "the Master Sword before facing Ganon, you won't", // + "receive it during the fight." ], // + /*------------------------------ // + | SHUFFLE OCARINAS | // + ------------------------------*/ // + "ocarinasDesc": [ "Enabling this shuffles the Fairy Ocarina and the",// + "Ocarina of Time into the item pool.", // + "", // + "This will require finding an Ocarina before being", + "able to play songs." ], // + /*------------------------------ // + | SHUFFLE WEIRD EGG | // + ------------------------------*/ // + "weirdEggDesc": [ "Enabling this shuffles the Weird Egg from Malon", // + "into the item pool.", // + "This will require finding the Weird Egg to talk to", + "Zelda in Hyrule Castle, which in turn locks", // + "rewards from Impa, Saria, Malon, and Talon." ], // + /*------------------------------ // + | SHUFFLE ZELDAS LETTER | // + ------------------------------*/ // + "zeldasLetterDesc": [ "Enabling this shuffles Zelda's Letter into the", // + "item pool.", // + "This will require finding the letter to open the",// + "Happy Mask Shop and the gate in Kakariko if it is", + "set to closed." ], // + /*------------------------------ // + | SHUFFLE GERUDO TOKEN | // + ------------------------------*/ // + "gerudoTokenDesc": [ "Enabling this shuffles the Gerudo Token into the",// + "item pool.", // + "", // + "The Gerudo Token is required to enter the Gerudo",// + "Training Ground." ], // + /*------------------------------ // + | SHUFFLE MAGIC BEANS | // + ------------------------------*/ // + "magicBeansDesc": [ "Enabling this adds a pack of 10 beans to the item", + "pool and changes the Magic Bean Salesman to sell a", + "random item at a price of 60 rupees." ], // + /*------------------------------ // + | SHUFFLE FROG SONG RUPEES | // + ------------------------------*/ // + "frogSongRupeesDesc": [ "Enabling this adds 5 Purple Rupees to the item", // + "pool and shuffles the rewards from playing Zelda's", + "Lullaby, Epona's Song, Saria's Song, Sun's Song,",// + "and Song of Time to the frogs in Zora's River." ],// + /*------------------------------ // + | SHUFFLE MERCHANTS | // + ------------------------------*/ // + "merchantsDesc": [ "Enabling this changes Medigoron, Granny and the", // + "Carpet Salesman to sell a random item once at a", // + "high price (100 for Granny, 200 for the others).",// + "", // + "A Giant's Knife and a pack of Bombchus will be", // + "added to the item pool, and one of the bottles", // + "will contain a Blue Potion." ], // + "merchantsHintsDesc": [ "These hints will make the merchants tell you", // + "which item they're selling.", // + "", // + "The Hint Clarity setting will affect how they", // + "refer to the item." ], // + /*------------------------------ // + | SHUFFLE ADULT TRADE | // + ------------------------------*/ // + "adultTradeDesc": [ "Enabling this adds all of the adult trade quest", // + "items to the pool, each of which can be traded", // + "for a unique reward. You will be able to choose", // + "which of your owned adult trade items is visible",// + "in the inventory by selecting the item and using",// + "the L and R buttons. If disabled, only the Claim",// + "Check will be found in the pool." ], // + /*------------------------------ // + | SHUFFLE CHEST MINIGAME | // + ------------------------------*/ // + "chestMinigameDesc": [ "The 5 key chests in the Treasure Chest Shop will",// + "be randomized, and the 6 keys will be added to the", + "pool. The rupee chests will be replaced by traps.", + "Also, the shop owner is on vacation, so he can't",// + "close any chests or doors once you leave.", // + "", // + "If you choose the \"pack\" option, you will get", // + "all the keys at once, in a single item." ], // + /*------------------------------ // + | SHUFFLE ENEMY SOULS | // + ------------------------------*/ // + "enemySoulDesc": [ "Enemies will be invincible until you find their", // + "\"soul\".", // + "Each enemy type will have a soul added into the", // + "item pool.", // + "", // + "You can exclude some enemies by adding their", // + "souls in the Starting Inventory.", // + "", // + "WARNING: Incompatible with Master Quest Logic." ],// + /*------------------------------ // + | SHUFFLE OCARINA BUTTONS | // + ------------------------------*/ // + "ocarinaButtonsDesc": [ "Enabling this locks all Ocarina inputs, and adds",// + "5 new items to find that each unlock one of the 5", + "Ocarina notes.", // + "", // + "They can also be added to the Starting Inventory." ], + /*------------------------------ // + | SHUFFLE FREESTANDING RUPEES | // + ------------------------------*/ // + "shuffleRupeesDesc": [ "Shuffles all freestanding visible rupees", // + "that are placed in the world without player", // + "intervention. So it does include Rupees that are",// + "placed in other objects like boulders, but it", // + "doesn't include Wonder Items or Rupees that spawn", + "from the Goron City spinning pot or the pots in", // + "Shadow Temple." ], // + /*------------------------------ // + | MAPS AND COMPASSES | // + ------------------------------*/ // + "mapCompassStartWith": [ "Maps and Compasses are given to you from the", // + "start. This will add a small amount of money and",// + "refill items to the pool." ], // + "mapCompassVanilla": [ "Maps and Compasses will appear in their vanilla", // + "locations." ], // + "mapCompassOwnDungeon": [ "Maps and Compasses can only appear in their", // + "respective dungeon." ], // + "mapCompassAnyDungeon": [ "Maps and Compasses can only appear in a dungeon,",// + "but not necessarily the dungeon they are for." ], // + "mapCompassOverworld": [ "Maps and Compasses can only appear outside of", // + "dungeons." ], // + "mapCompassAnywhere": [ "Maps and Compasses can appear anywhere in the", // + "world." ], // + /*------------------------------ // + | SMALL KEYS | // + ------------------------------*/ // + "smallKeyStartWith": [ "Small Keys are given to you from the start so you", + "won't have to worry about locked doors. An easier", + "mode." ], // + "smallKeyVanilla": [ "Small Keys will appear in their vanilla locations.", + "You start with 3 keys in Spirit Temple MQ because", + "the vanilla key layout is not beatable in logic." ], + "smallKeyOwnDungeon": [ "Small Keys can only appear in their respective", // + "dungeon. If Fire Temple is not a Master Quest", // + "dungeon, the door to the Boss Key chest will be", // + "unlocked." ], // + "smallKeyAnyDungeon": [ "Small Keys can only appear inside of any dungeon,", + "but won't necessarily be in the dungeon that the",// + "key is for. A difficult mode since it is more", // + "likely to need to enter a dungeon multiple times." ], + "smallKeyOverworld": [ "Small Keys can only appear outside of dungeons.", // + "You may need to enter a dungeon multiple times to", + "gain items to access the overworld locations with", + "the keys required to finish a dungeon." ], // + "smallKeyAnywhere": [ "Small Keys can appear anywhere in the world. A", // + "difficult mode since it is more likely to need to", + "enter a dungeon multiple times." ], // + /*------------------------------ // + | GERUDO FORTRESS KEYS | // + ------------------------------*/ // + "gerudoKeysVanilla": [ "Gerudo Fortress Keys will appear in their vanilla", + "location, dropping from fighting Gerudo guards", // + "that attack when trying to free the jailed", // + "carpenters." ], // + "gerudoKeysAnyDungeon": [ "Gerudo Fortress Keys can only appear inside of", // + "dungeons." ], // + "gerudoKeysOverworld": [ "Gerudo Fortress Keys can only appear outside of", // + "dungeons." ], // + "gerudoKeysAnywhere": [ "Gerudo Fortress Keys can appear anywhere in the", // + "world." ], // + /*------------------------------ // + | Key Rings | // + ------------------------------*/ // + "keyRingDesc": [ "Selected key ring dungeons will have all of their", + "keys found at once in a ring rather than", // + "individually.", // + "", // + "For example, instead of shuffling 5 Forest Temple", + "small keys into the pool, you will find a single",// + "key ring which will give you all 5 keys at once." ], + /*------------------------------ // + | BOSS KEYS | // + ------------------------------*/ // + "bossKeyStartWith": [ "Boss Keys are given to you from the start so you",// + "won't have to worry about boss doors. An easier", // + "mode." ], // + "bossKeyVanilla": [ "Boss Keys will appear in their vanilla locations." ], + "bossKeyOwnDungeon": [ "Boss Keys can only appear in their respective", // + "dungeon." ], // + "bossKeyAnyDungeon": [ "Boss Keys can only appear inside of any dungeon,",// + "but won't necessarily be in the dungeon that the",// + "key is for. A difficult mode since it is more", // + "likely to need to enter a dungeon multiple times." ], + "bossKeyOverworld": [ "Boss Keys can only appear outside of dungeons.", // + "You may need to enter a dungeon without the boss",// + "key to get items required to find the key in the",// + "overworld." ], // + "bossKeyAnywhere": [ "Boss Keys can appear anywhere in the world. A", // + "difficult mode since it is more likely to need to", + "enter a dungeon multiple times." ], // + /*------------------------------ // + | GANON'S CASTLE BOSS KEY | // + ------------------------------*/ // + "ganonKeyStartWith": [ "Ganon's Castle Boss Key is given to you from the",// + "start and you don't have to worry about finding it" ], + "ganonKeyVanilla": [ "Ganon's Castle Boss Key will appear in the vanilla", + "location." ], // + "ganonKeyOwnDungeon": [ "Ganon's Castle Boss Key can only appear inside", // + "Ganon's Castle." ], // + "ganonKeyAnyDungeon": [ "Ganon's Castle Boss Key can only appear inside of", + "a dungeon, but not necessarily Ganon's Castle." ],// + "ganonKeyOverworld": [ "Ganon's Castle Boss Key can only appear outside of", + "dungeons." ], // + "ganonKeyAnywhere": [ "Ganon's Castle Boss Key can appear anywhere in the", + "world." ], // + "ganonKeyLACS": [ "These settings put the boss key on the Light Arrow", + "Cutscene location, from Zelda in Temple of Time as", + "adult, with differing requirements." ], // + /*------------------------------ // + | LACS CONDITIONS | // + ------------------------------*/ // + "lacsMedallionCountDesc": [ "Set the number of Medallions required to trigger",// + "the Light Arrow Cutscene." ], // + "lacsStoneCountDesc": [ "Set the number of Spiritual Stones required to", // + "trigger the Light Arrow Cutscene." ], // + "lacsRewardCountDesc": [ "Set the number of Dungeon Rewards (Spiritual", // + "Stones and Medallions) required to trigger the", // + "Light Arrow Cutscene." ], // + "lacsDungeonCountDesc": [ "Set the number of completed dungeons required to",// + "trigger the Light Arrow Cutscene.", // + "", // + "Dungeons are considered complete when Link steps",// + "into the blue warp at the end of them." ], // + "lacsTokenCountDesc": [ "Set the number of Gold Skulltula Tokens required",// + "to trigger the Light Arrow Cutscene." ], // + "lacsHeartCountDesc": [ "Set the number of Hearts required to trigger the",// + "Light Arrow Cutscene." ], // + /*------------------------------ // + | SKIP CHILD STEALTH | // + ------------------------------*/ // + "childStealthDesc": [ "The crawlspace into Hyrule Castle goes straight to", + "Zelda, skipping the guards." ], // + /*------------------------------ // + | SKIP TOWER ESCAPE | // + ------------------------------*/ // + "skipTowerEscapeDesc": [ "The tower escape sequence between Ganondorf and", // + "Ganon will be skipped." ], // + /*------------------------------ // + | SKIP EPONA RACE | // + ------------------------------*/ // + "skipEponaRaceDesc": [ "Epona can be summoned with Epona's Song without", // + "needing to race Ingo." ], // + /*------------------------------ // + | SKIP MINIGAME PHASES | // + ------------------------------*/ // + "skipMinigamePhasesDesc": [ "Completing the second objective in the Dampe Race", + "and Gerudo Archery on the first attempt will give", + "both rewards at once for that minigame." ], // + /*------------------------------ // + | FREE SCARECROW | // + ------------------------------*/ // + "freeScarecrowDesc": [ "Pulling out the Ocarina near a spot at which", // + "Pierre can spawn will do so, without needing", // + "the song." ], // + /*------------------------------ // + | FOUR POES CUTSCENE | // + ------------------------------*/ // + "fourPoesDesc": [ "The cutscene with the 4 poes in Forest Temple will", + "be skipped. If the cutscene is not skipped, it can", + "be exploited to reach the basement early." ], // + /*------------------------------ // + | LAKE HYLIA OWL | // + ------------------------------*/ // + "lakeHyliaOwlDesc": [ "The owl flight cutscene in Lake Hylia will be", // + "skipped. This cutscene lets you see what item", // + "is on top of the laboratory roof." ], // + /*------------------------------ // + | BIG POE TARGET COUNT | // + ------------------------------*/ // + "bigPoeTargetCountDesc": [ "The Poe buyer will give a reward for turning in", // + "the chosen number of Big Poes." ], // + /*------------------------------ // + | NUM REQUIRED CUCCOS | // + ------------------------------*/ // + "numRequiredCuccosDesc": [ "The cucco lady will give a reward for returning", // + "this many of her cuccos to the pen." ], // + /*------------------------------ // + | KING ZORA SPEED | // + -------------------------------*/ // + "kingZoraSpeedFast": [ "King Zora will move out of the way in 1 shuffle" ], + // + "kingZoraSpeedVanilla": [ "King Zora will move out of the way in 26 shuffles" ], + // + "kingZoraSpeedRandom": [ "King Zora will move out of the way in 1 to 128", // + "shuffles, with lower numbers being more common" ],// + "kingZoraSpeedCustom": [ "Set the exact number of shuffles King Zora will", // + "take to move out of the way." ], // + /*------------------------------ // + | COMPLETE MASK QUEST | // + ------------------------------*/ // + "completeMaskDesc": [ "Once the happy mask shop is opened, all masks", // + "will be available to be borrowed." ], // + /*------------------------------ // + | QUICK TEXT | // + ------------------------------*/ // + "quickTextDesc0": [ "Quick text will be unchanged, requiring", // + "frame-perfect inputs like in the vanilla game." ],// + "quickTextDesc1": [ "Every text box will be completable by pressing B",// + "at any point while it's scrolling." ], // + "quickTextDesc2": [ "Every text box will auto-complete instantly.", // + "No scrolling allowed!" ], // + "quickTextDesc3": [ "Holding B will advance and close text boxes", // + "automatically, except for choice selections." ], // + /*------------------------------ // + | SKIP SONG REPLAYS | // + ------------------------------*/ // + "skipSongReplaysDesc": [ "The automatic replay after you play a song will", // + "be skipped.", // + "You can choose to keep the sfx anyway, but you", // + "will have control of Link during it." ], // + /*------------------------------ // + | KEEP FW WARP POINT | // + ------------------------------*/ // + "keepFWWarpPointDesc": [ "The Farore's Wind warp point will stay active", // + "after having been warped to. The old point will", // + "need to be dispelled before setting a new one." ],// + /*------------------------------ // + | FAST BUNNY HOOD | // + ------------------------------*/ // + "fastBunnyHoodDesc": [ "The Bunny Hood mask behaves like it does in", // + "Majora's Mask and makes you run 50% faster." ], // + /*------------------------------ // + | RACING | // + ------------------------------*/ // + "racingDesc": [ "Overrides personalization options that could", // + "affect how fast a seed is beaten." ], // + // + /*------------------------------ // + | GOSSIP STONE HINTS | // + ------------------------------*/ // + "gossipStonesHintsDesc": [ "Gossip Stones can be made to give hints about", // + "where items can be found.", // + "Different settings can be chosen to decide which",// + "item is needed to speak to Gossip Stones. Choosing", + "to stick with the Mask of Truth will make the", // + "hints very difficult to obtain.", // + "Hints for 'on the way of the hero' are locations",// + "that contain items that are required to beat the",// + "game." ], // + // + /*------------------------------ // + | HINT CLARITY | // + ------------------------------*/ // + "obscureHintsDesc": [ "Sets the difficulty of hints.", // + "Obscure: Hints are unique for each thing, but", // + "the writing may be confusing.", // + "E.g. Kokiri Sword > a butter knife" ], // + "ambiguousHintsDesc": [ "Sets the difficulty of hints.", // + "Ambiguous: Hints are clearly written, but may", // + "refer to more than one thing.", // + "E.g. Kokiri Sword > a sword" ], // + "clearHintsDesc": [ "Sets the difficulty of hints.", // + "Clear: Hints are clearly written and are unique", // + "for each thing.", // + "E.g. Kokiri Sword > the Kokiri Sword" ], // + /*------------------------------ // + | HINT DISTRIBUTION | // + ------------------------------*/ // + "uselessHintsDesc": [ "Only junk hints." ], // + "balancedHintsDesc": [ "Recommended hint spread." ], // + "strongHintsDesc": [ "More useful hints." ], // + "veryStrongHintsDesc": [ "Many powerful hints." ], // + "playthroughHintsDesc": [ "The playthrough locations will be hinted at what",// + "they contain and in what general area they are.", // + "", // + "Not compatible with No Logic." ], // + // + /*------------------------------ // + | BONUS GOSSIP HINTS | // + ------------------------------*/ // + "bonusGossipHintsDesc": [ "Adds Sun's Song and warp songs to gossip stone", // + "hints after all playthrough hints have been set." ], + // + /*------------------------------ // + | MISCELLANEOUS HINTS | // + ------------------------------*/ // + "miscHintsDesc": [ "Toggle some specific hints at locations other", // + "than Gossip Stones." ], // + "totAltarHintsDesc": [ "The Temple of Time altar will reveal the locations", + "of the Spiritual Stones as child and the", // + "Medallions as adult, but only if Compasses Show", // + "Rewards is disabled.", // + "", // + "It will also always reveal the requirements for", // + "the Door of Time as child, and for Ganon Boss Key", + "and Rainbow Bridge as adult." ], // + "ganonHintsDesc": [ "Talking to Ganondorf in his boss room will tell", // + "you the location of the Light Arrows and, if it", // + "was shuffled, the Master Sword.", // + "", // + "When trials are on, Sheik will appear to relay", // + "these hints in Ganon's Castle." ], // + "dampeHintDesc": [ "Reading Dampe's diary will reveal the location", // + "of a single progressive hookshot." ], // + "skulltulaHintDesc": [ "Talking to a cursed House of Skulltula resident", // + "will tell you the reward they will give you for", // + "removing their curse." ], // + "fishingHintsDesc": [ "The aquarium at the fishing pond will show what", // + "reward you can win as your current age." ], // + /*------------------------------ // + | MAP AND COMPASS GIVES INFO | // + ------------------------------*/ // + "compassesShowRewardsDesc": [ "Obtaining a dungeon compass will hint at the", // + "location of a Spiritual Stone or Medallion.", // + "", // + "If rewards are at the end of dungeons, the compass", + "for dungeon X will show what reward is at X.", // + "Otherwise, it will show the area for the reward", // + "that, in the vanilla game, is located at X.", // + "", // + "These hints will appear in the Gear menu on the", // + "empty reward slots." ], // + "compassesShowWotHDesc": [ "The in-game menu will reveal whether each", // + "dungeon is on the Way of the Hero, a barren", // + "location, or neither, if the compass for that", // + "dungeon has been collected." ], // + "mapsShowDungeonModesDesc": [ "If any Master Quest dungeons will be randomly", // + "shuffled, the in-game menu will reveal whether", // + "it is in its Vanilla or Master Quest form, if", // + "the map for the dungeon has been collected.", // + "Ganon's Castle and Gerudo Training Grounds are", // + "always revealed, as they do not have maps." ], // + /*------------------------------ // + | DAMAGE MULTIPLIER | // + ------------------------------*/ // + "damageMultiDesc": [ "Changes the amount of damage taken.", // + "", // + "If set to OHKO, Link will die in one hit." ], // + /*------------------------------ // + | BONK DAMAGE | // + ------------------------------*/ // + "bonkDamageDesc": [ "Choose how many Hearts of damage you'll take when", + "hitting a wall or object during a roll.", // + "", // + "Damage is unaffected by the damage multiplier", // + "setting, but it will respect Nayru's Love and", // + "Double Defense." ], // + /*------------------------------ // + | PERMADEATH | // + ------------------------------*/ // + "permadeathDesc": [ "Dying deletes your save file and kicks you back", // + "out to the main menu." ], // + /*------------------------------ // + | GLOOM MODE | // + ------------------------------*/ // + "gloomModeOffDesc": [ "Enabling this setting will make your hearts", // + "permanently disappear on various conditions." ], // + "gloomModeDeathDesc": [ "Delete 1 heart when getting a Game Over.", // + "", // + "The Permadeath setting, if enabled, will be", // + "changed to take effect when you lose all hearts." ], + "gloomModeDamageDesc": [ "Delete 1 heart when losing health for any reason,", + "except continuous elemental damage from being", // + "burned or frozen.", // + "", // + "Double Defense will require 2 hits per heart." ], // + "gloomModeCollisionDesc": [ "Delete 1 heart not only when losing health, but", // + "also when any collision is detected: getting hit",// + "during invincibility frames or blocking an attack", + "with your shield count as collisions.", // + "", // + "Double Defense will require 2 hits per heart.", // + "", // + "WARNING: THE GAME MAY BE IMPOSSIBLE TO BEAT", // + "because you can still be expected to use a shield", + "(for example to reflect Twinrova's attacks)." ], // + "gloomModeEmptyDesc": [ "Hearts will be deleted when they become empty." ],// + /*------------------------------ // + | STARTING TIME | // + ------------------------------*/ // + "startingTimeDesc": [ "Change up Link's sleep routine." ], // + // + /*------------------------------ // + | ALL LOCATIONS REACHABLE | // + ------------------------------*/ // + "locationsReachableDesc": [ "When this options is enabled, the randomizer will", + "guarantee that every item is obtainable and every", + "location is reachable. When disabled, only", // + "required items and locations to beat the game", // + "will be guaranteed reachable." ], // + /*------------------------------ // + | NIGHT GS EXPECT SUNS | // + ------------------------------*/ // + "nightGSDesc": [ "GS Tokens that can only be obtained during the", // + "night expect you to have Sun's Song to collect", // + "them. This prevents needing to wait until night", // + "for some locations." ], // + // + /*------------------------------ // + | CHEST ANIMATIONS | // + ------------------------------*/ // + "chestAnimDesc": [ "Choose if you want the slow animation to play", // + "if a chest contains a major item." ], // + // + /*------------------------------ // + | CHEST APPEARANCE | // + ------------------------------*/ // + "chestVanillaDesc": [ "Chests will appear as they do in the base game." ], + "chestTextureDesc": [ "Chest texture will reflect its contents", // + "regardless of size.", // + "", // + "Major Items -> Gilded Chests", // + "Boss Keys -> Fancy Chests", // + "Small Keys -> Silver Chests", // + "Hearts -> Heart Chests", // + "Gold Skulltula Tokens -> Webbed Chests", // + "Everything else -> Wooden Chests" ], // + "chestSizeTextureDesc": [ "In addition to the texture change, major items", // + "and boss keys will be in big chests, and", // + "everything else will be in small chests." ], // + "chestClassicDesc": [ "This is the behavior of CSMC in previous", // + "versions of the randomizer.", // + "", // + "Major Items -> Big Wooden Chests", // + "Lesser Items -> Small Wooden Chests", // + "Boss Keys -> Big Fancy Chests", // + "Small Keys -> Small Fancy Chests" ], // + "chestAgonyDesc": [ "The Chest Appearance Mod will only apply", // + "after obtaining the Shard of Agony." ], // + // + /*------------------------------ // + | INGAME SPOILERS | // + ------------------------------*/ // + "ingameSpoilersShowDesc": [ "Every spoiler is shown." ], // + "ingameSpoilersHideDesc": [ "Hides the spheres page and only shows a", // + "location's item after it has been found." ], // + // + /*------------------------------ // + | MENU OPENING BUTTON | // + ------------------------------*/ // + "menuButtonDesc": [ "Choose which button will bring up the Custom", // + "Information Menu." ], // + // + /*------------------------------ // + | ARROW SWITCHING BUTTON | // + ------------------------------*/ // + "arrowSwitchDesc": [ "Choose how you want to cycle through the arrow", // + "types while you're aiming the bow.", // + "The touch screen option refers to the middle part", + "of the screen where the map is displayed." ], // + // + /*------------------------------ // + | START WITH CONSUMABLES | // + ------------------------------*/ // + "startWithConsumablesDesc": [ "Start the game with maxed out Deku Sticks and Deku", + "Nuts." ], // + // + /*------------------------------ // + | START WITH MAX RUPEES | // + ------------------------------*/ // + "startWithMaxRupeesDesc": [ "Start the game with a full wallet.", // + "Wallet upgrades will also fill the wallet." ], // + /*------------------------------ // + | STARTING HEALTH | // + ------------------------------*/ // + "startingHealthDesc": [ "If you start with 0 hearts, Link will be instantly", + "KO'd not only by any damage source, but also by", // + "recovery hearts and fairies. Sometimes guards too.", + "You can safely pick up Heart Pieces and Containers", + "though, and the effects will end when you obtain",// + "at least one heart." ], // + // + /*------------------------------ // + | STARTING BUNNY HOOD | // + ------------------------------*/ // + "startingBunnyHoodDesc": [ "NOTE: Staring with the bunny hood is experimental.", + "Currently the bunny hood will get overwriten when ", + "you obtain the Weird Egg and you will need to get ", + "it again afterwards." ], // + // + /*------------------------------ // + | ITEM POOL | // + ------------------------------*/ // + "itemPoolPlentiful": [ "Extra major items are added to the pool." ], // + "itemPoolBalanced": [ "Original item pool." ], // + "itemPoolScarce": [ "Some excess items are removed, including health", // + "upgrades." ], // + "itemPoolMinimal": [ "Most excess items are removed." ], // + // + /*------------------------------ // + | ICE TRAPS | // + ------------------------------*/ // + "iceTrapsOff": [ "All Ice Traps are removed." ], // + "iceTrapsNormal": [ "Only Ice Traps from the base item pool are placed." ], + "iceTrapsExtra": [ "Chance to add extra Ice Traps when junk items are", + "added to the itempool." ], // + "iceTrapsMayhem": [ "All added junk items will be Ice Traps." ], // + "iceTrapsOnslaught": [ "All junk items will be replaced by Ice Traps, even", + "those in the base pool." ], // + /*------------------------------ // + | REMOVE DOUBLE DEFENSE | // + ------------------------------*/ // + "removeDDDesc": [ "If set the double defense item will be removed", // + "from the item pool for balanced and plentiful." ],// + /*------------------------------ // + | PROGRESSSIVE GORON SOWRD | // + ------------------------------*/ // + "progGoronSword": [ "Giant's Knife will always be found", // + "before Biggoron's Sword. Medigoron only starts", // + "selling new knives once the Giant's Knife", // + "has been found and broken." ], // + /*------------------------------ // + | USE FARORE'S WIND ANYWHERE | // + ------------------------------*/ // + "faroresWindAnywhereDesc": [ "Farore's Wind can be used outside of dungeons." ],// + // + /*------------------------------ // + | LIFT AGE RESTRICTIONS | // + ------------------------------*/ // + "ageRestrictionsDesc": [ "Remove age restrictions for inventory items.", // + "Select \"Choose\" to open the list of individual",// + "options.", // + "", // + "Most of the items won't appear correctly when", // + "used as the wrong version of Link, but they'll be", + "fully functional otherwise." ], // + // + /*------------------------------ // + | AGE RESTRICTIONS IN LOGIC | // + ------------------------------*/ // + "ageItemsInLogicDesc": [ "Using items as the wrong age may be required to", // + "beat the seed." ], // + /*------------------------------ // + | ENABLE ADULT DEKU STICK | // + ------------------------------*/ // + "adultStickDesc": [ "Adult Link can wield a Deku Stick.", // + "It will look like the N64 Deku Stick, but with a",// + "simpler texture." ], // + // + /*------------------------------ // + | ENABLE ADULT BOOMERANG | // + ------------------------------*/ // + "adultBoomerangDesc": [ "Adult Link can throw the boomerang." ], // + // + /*------------------------------ // + | ENABLE CHILD HAMMER | // + ------------------------------*/ // + "childHammerDesc": [ "Child Link can swing the Megaton Hammer." ], // + // + /*------------------------------ // + | ENABLE ADULT SLINGSHOT | // + ------------------------------*/ // + "adultSlingshotDesc": [ "Adult Link can use the Slingshot (but it looks", // + "like the Bow)." ], // + // + /*------------------------------ // + | ENABLE CHILD BOW | // + ------------------------------*/ // + "childBowDesc": [ "Child Link can use the Bow. It will look like the", + "Slingshot, but will shoot arrows." ], // + // + /*------------------------------ // + | ENABLE CHILD HOOKSHOT | // + ------------------------------*/ // + "childHookshotDesc": [ "Child Link can use the Hookshot/Longshot.", // + "The hook will look like a small bomb." ], // + /*------------------------------ // + | ENABLE CHILD IRON BOOTS | // + ------------------------------*/ // + "childIronBootsDesc": [ "Child Link can equip the Iron Boots." ], // + // + /*------------------------------ // + | ENABLE CHILD HOVER BOOTS | // + ------------------------------*/ // + "childHoverBootsDesc": [ "Child Link can equip the Hover Boots." ], // + // + /*------------------------------ // + | ENABLE ADULT MASKS | // + ------------------------------*/ // + "adultMasksDesc": [ "Adult Link can equip masks.", // + "", // + "This setting will not change the logic." ], // + // + /*------------------------------ // + | ENABLE ADULT KOKIRI SWORD | // + ------------------------------*/ // + "adultKokiriSwordDesc": [ "Adult Link can equip the Kokiri Sword." ], // + // + /*------------------------------ // + | ENABLE CHILD MASTER SWORD | // + ------------------------------*/ // + "childMasterSwordDesc": [ "Child Link can equip the Master Sword." ], // + // + /*------------------------------ // + | ENABLE CHILD BIGGORON SWORD | // + ------------------------------*/ // + "childBiggoronSwordDesc": [ "Child Link can equip the Biggoron Sword and the", // + "Giant's Knife." ], // + // + /*------------------------------ // + | ENABLE ADULT DEKU SHIELD | // + ------------------------------*/ // + "adultDekuShieldDesc": [ "Adult Link can equip the Deku Shield." ], // + // + /*------------------------------ // + | ENABLE CHILD MIRROR SHIELD | // + ------------------------------*/ // + "childMirrorShieldDesc": [ "Child Link can equip the Mirror Shield." ], // + // + /*------------------------------ // + | ENABLE CHILD GORON TUNIC | // + ------------------------------*/ // + "childGoronTunicDesc": [ "Child Link can equip the Goron Tunic." ], // + // + /*------------------------------ // + | ENABLE CHILD ZORA TUNIC | // + ------------------------------*/ // + "childZoraTunicDesc": [ "Child Link can equip the Zora Tunic." ], // + // + /*------------------------------ // + | RESTORE ISG | // + ------------------------------*/ // + "restoreISGdesc": [ "The Infinite Sword Glitch will work like in OoT.",// + "", // + "Specifically, interrupting a crouch stab will", // + "activate the glitch, and putting away or pulling",// + "out items will not cancel it." ], // + /*------------------------------ // + | GK DURABILITY | // + ------------------------------*/ // + "gkDurabilityVanilla": [ "The durability will always be set to 8." ], // + "gkDurabilityRandomRisk": [ "Each Giant's Knife will get a random durability", // + "between 1 and 128, with low being more common,", // + "and with an average of 15." ], // + "gkDurabilityRandomSafe": [ "Each Giant's Knife will get a random durability", // + "between 10 and 50, with an average of 30." ], // + // + /*------------------------------ // + | RUPEES AS AMMO | // + ------------------------------*/ // + "retroAmmoDesc": [ "If you run out of ammo or magic, you'll use", // + "rupees instead." ], // + /*------------------------------ // + | MULTIPLAYER | // + ------------------------------*/ // + "mp_EnabledDesc": [ "Enables multiplayer.", // + "Other players will always be seen and heard", // + "regardless of the other settings." ], // + "mp_SharedProgressDesc": [ "Progress and certain actors will be synced between", + "everyone in the network that has this option on,",// + "the same seed hash, and the same sync id." ], // + "mp_SyncIdDesc": [ "Limits shared progress to only sync with other", // + "players that have the same sync ID. This is only",// + "necessary to set if multiple groups of players", // + "play on the same seed hash, but only want to share", + "their progress with certan people.", // + "For example, when doing a 2v2 race.", // + "", // + "Does not affect seed generation." ], // + "mp_SharedHealthDesc": [ "Syncs health when shared progress is on,", // + "otherwise just shares the damage and recovery." ],// + "mp_SharedRupeesDesc": [ "Syncs rupees when shared progress is on,", // + "otherwise just shares the gain and loss." ], // + "mp_SharedAmmoDesc": [ "Syncs ammo when shared progress is on,", // + "otherwise just shares the gain and loss." ], // + // + /*------------------------------ // + | INGAME DEFAULTS | // + ------------------------------*/ // + "naviNotificationsDesc": [ "Adjust how much Navi should bother you.", // + "Silenced prevents it completely, while Constant", // + "can be used to allow repeated attempts at related", + "glitches without having to reload the save." ], // + "ignoreMaskReactionDesc": [ "Causes NPCs to respond normally when wearing", // + "masks. Does not apply to trade quest dialouges." ], + // + /*------------------------------ // + | NAVI & TRAIL COLORS | // + ------------------------------*/ // + "naviColorsDesc": [ "Inner color is for the main light orb, outer color", + "is for the aura.", // + "", // + "The Rainbow option will make the color change", // + "continuously in a 3 seconds loop." ], // + "necessarySimpleModeDesc": [ "For boomerang and sword trails, OoT3D uses a", // + "special texture that doesn't support every color.", + "", // + "Unsupported colors will always use the plain", // + "texture from OoT instead:", // + "- Black and Purple sword trails", // + "- White, Black and Purple boomerang trails", // + "- Random or Custom colors without at least one", // + " maxed out RGB component." ], // + "alwaysSimpleModeDesc": [ "All boomerang and sword trails will use the plain", + "texture from OoT, regardless of what color is", // + "chosen." ], // + // + /*------------------------------ // + | COLORED KEYS | // + ------------------------------*/ // + "coloredKeysDesc": [ "If set, small key models will be colored", // + "differently depending on which dungeon they can be", + "used in. Forest Temple keys are green. Fire Temple", + "keys are red. etc." ], // + "coloredBossKeysDesc": [ "If set, boss key models will be colored", // + "differently depending on which dungeon they can be", + "used in. The Forest Temple boss key is green. The ", + "Fire Temple boss key is red. etc." ], // + /*------------------------------ // + | MIRROR WORLD | // + ------------------------------*/ // + "mirrorWorldOffDesc": [ "The world will not be mirrored." ], // + "mirrorWorldOnDesc": [ "The world will be mirrored." ], // + "mirrorWorldSceneDesc": [ "Some regions will be mirrored while others won't." ], + "mirrorWorldEntranceDesc": [ "Different entrances to the same region will alter", + "whether it is mirrored or not." ], // + "mirrorWorldRandomDesc": [ "Whether the world is mirrored may change after", // + "every loading zone inconsistently." ], // + /*------------------------------ // + | SOLD OUT COSMETIC SHOP MODEL | // + ------------------------------*/ // + "betaSoldOutDesc": [ "The game contains an unused model for sold out", // + "items in shops. It's a remade version of the N64",// + "model, spelling \"Sold Out\" in English.", // + "", // + "This setting enables its use in shops." ], // + /*------------------------------ // + | SOULLESS ENEMIES LOOK | // + ------------------------------*/ // + "soullessPurpleFlameDesc": [ "Soulless enemies will appear as a purple flame,", // + "and their body will be invisible." ], // + "soullessFlashingDesc": [ "Soulless enemies will flash between visible and", // + "invisible on every frame." ], // + /*------------------------------ // + | SHUFFLE MUSIC | // + ------------------------------*/ // + "musicRandoDesc": [ "Randomize the music in the game." ], // + "shuffleBGMDesc": [ "Shuffle background music.", // + "Mixed allows any BGM to appear anywhere.", // + "The group categories are Area Themes, Event Music,", + "and Battle Themes.", // + "\"Own\" is for Custom Music, limiting the original", + "music to only appear at its original place." ], // + "shuffleMelodiesDesc": [ "Shuffle played-once music.", // + "Mixed allows any melody to appear anywhere.", // + "The group categories are Fanfares,", // + "and Ocarina Songs.", // + "\"Own\" is for Custom Music, limiting the original", + "music to only appear at its original place." ], // + "customMusicDesc": [ "Add custom music to the pool. The sound archive", // + "has to be placed in the Custom Music folder." ], // + "customMusicOnlyDesc": [ "Excludes the game's original music from the pool.", + "If there's not enough custom music, the original",// + "song will be used." ], // + /*------------------------------ // + | SHUFFLE SFX | // + ------------------------------*/ // + "shuffleSFXOff": [ "Sound effects will stay vanilla." ], // + "shuffleSFXAll": [ "All sound effects will be shuffled." ], // + "shuffleSFXSceneSpecific": [ "All sound effects will be shuffled, but will also", + "be different in each scene." ], // + "shuffleSFXChaos": [ "Each sound effect will become random about", // + "every second." ], // + "shuffleSFXCategorically": [ "Sound effects will be shuffled in categories.", // + "", // + "The sound may get annoying fast when disabled." ],// + /*------------------------------ // + | OCARINA INSTRUMENT | // + ------------------------------*/ // + "ocarinaInstrDesc": [ "Change the instrument used when playing the", // + "ocarina." ], // + "ocarinaInstrRandomDesc": [ "A random instrument from the list will be chosen." ], + "ocarinaInstrSceneDesc": [ "The instrument will be different in each scene." ], + /*------------------------------ // + | RANDOM TRAP DAMAGE TYPE | // + ------------------------------*/ // + "randomTrapDmgDesc": [ "All traps will be the base game ice trap" ], // + // + "basicTrapDmgDesc": [ "All alternative traps will cause a small damage", // + "and no other negative effects" ], // + // + "advancedTrapDmgDesc": [ "Choose which advanced traps may appear from the", // + "list below" ], // + // + "fireTrapDesc": [ "This trap will set you on fire, burning your", // + "Deku Shield if it's equipped." ], // + // + "antiFairyTrapDesc": [ "This dangerous fairy will inflict up to 8 hearts",// + "of damage, but it usually doesn't kill you if you", + "have less than that." ], // + // + "rupoorTrapDesc": [ "This rupee will make you poor instead of rich" ], // + "rupoorTrapSeverityDesc": [ "Rupees lost when getting a rupoor" ], // + "curseTrapsDesc": [ "Some traps will apply status effects for 1 minute." ], + "screenTrapsDesc": [ "Extra curses are added that rotate the screen." ],// + // + /*------------------------------ // + | EXTRA ARROW EFFECTS | // + ------------------------------*/ // + "extraArrowEffectsDesc": [ "Ice Arrows will act like blue fire, melting red", // + "ice and breaking mud walls in Dodongo's Cavern.", // + "", // + "Light Arrows will activate Sun Switches like in", // + "Majora's Mask." ], // + // + /*------------------------------ // + | HYPER ACTORS | // + ------------------------------*/ // + "hyperActorsDesc": [ "Powers up the selected actors, allowing them to", // + "move and act twice as fast!" ], // + // + "hyperBossesDesc": [ "Affects all of the main bosses, including both", // + "Ganon phases." ], // + // + "hyperMiddleBossesDesc": [ "Affects all middle bosses, like Dark Link and", // + "Dead Hand. This also includes Iron Knuckles and", // + "Stalfos." ], // + // + "hyperEnemiesDesc": [ "Affects all regular enemies." ], // + // + /*------------------------------ // + | FREE CAMERA | // + ------------------------------*/ // + "freeCamDesc": [ "Use the C-stick to control the camera on new 3DS",// + "systems and Citra.", // + "", // + "Go to Personalization Settings > Ingame Defaults",// + "for camera control options." ], // + // + /*------------------------------ // + | RANDOM GS LOCATIONS | // + ------------------------------*/ // + "randomGsLocationsDesc": [ "Moves Gold Skulltulas to different locations", // + "around the same area as the original.", // + "The age they appear in is always the same as the",// + "original. If it hides during the night mostly", // + "depends on if the sun can reach it.", // + "They will never be in generic areas, such as", // + "Business Scrub grottos, Fairy Fountains, etc.", // + "Some new locations are only available with certain", + "settings enabled, like tricks and glitches.", // + "WIP feature. Most dungeon locations are the same." ], + // + "gsLocGuaranteeNewDesc": [ "Excludes the original location from the Gold", // + "Skulltula's available locations pool.", // + "", // + "If no new locations are available, the original", // + "will be used regardless." ], // + // + /*------------------------------ // + | RANDOM SONG NOTES | // + ------------------------------*/ // + "randomSongNotesDesc": [ "Randomize the notes for each ocarina song.", // + "Regular songs will be 3 notes repeated twice.", // + "Warp songs will be between 5 and 8 notes." ], // + //--------------// + /*------------------------------ // + | DETAILED LOGIC EXPLANATIONS | // + ------------------------------*/ // + "ToggleLogicNoneDesc": [ "Disables all the Detailed Logic tricks." ], // + "ToggleLogicNoviceDesc": [ "Enables only the easier Detailed Logic tricks" ], // + "ToggleLogicIntermediateDesc": [ "Enables all but the harder Detailed Logic tricks." ], + "ToggleLogicExpertDesc": [ "Enables all the Detailed Logic tricks." ], // + // + "LogicGrottosWithoutAgonyDesc": [ "Difficulty: Novice", // + "Grottos can be accessed without Shard of Agony,", // + "simply by knowing where they are located." ], // + "LogicVisibleCollisionDesc": [ "Difficulty: Novice", // + "The closed Kakariko Village Gate can be crossed", // + "when coming from Death Mountain Trail.", // + "Useful for Entrance Randomiser." ], // + "LogicFewerTunicRequirementsDesc": [ "Difficulty: Novice", // + "Allows the following possible without Tunics:", // + "- Enter Water Temple.", // + "- Enter Fire Temple. Only the first floor", // + " is accessible, and not Volvagia.", // + "- Zora's Fountain Bottom Freestanding PoH.", // + "- Gerudo Training Grounds Underwater Silver Rupee", + "Chest. May need to make multiple trips." ], // + "LogicLostWoodsGSBeanDesc": [ "Difficulty: Novice", // + "You can collect the token with a precise Hookshot", + "use, as long as you can kill the Skulltula first.", + "It can be killed using Longshot, Bow, Bombchus", // + "or Din's Fire." ], // + "LogicLabDivingDesc": [ "Difficulty: Novice", // + "Remove the Iron Boots in the midst of Hookshotting", + "the underwater crate" ], // + "LogicLabWallGSDesc": [ "Difficulty: Intermediate", // + "The jump slash to actually collect the token is", // + "somewhat precise" ], // + "LogicGraveyardPoHDesc": [ "Difficulty: Novice", // + "Using a precise moving setup you can obtain the", // + "Piece of Heart by having the Boomerang interact", // + "with it along the return path." ], // + "LogicChildDampeRacePoHDesc": [ "Difficulty: Intermediate", // + "It is possible to complete the second dampe race",// + "as child in under a minute, but it is a strict", // + "time limit." ], // + "LogicGVHammerChestDesc": [ "Difficulty: Novice", // + "The chest can be reached by sidehopping between", // + "the wall and the east most hammer rock." ], // + "LogicGerudoKitchenDesc": [ "Difficulty: Intermediate", // + "The logic normally guarantees one of Bow,", // + "Hookshot, or Hover Boots." ], // + "LogicGerudoChildClimbDesc": [ "Difficulty: Intermediate", // + "A precise jump allows child to climb the ledge", // + "after the kitchen room." ], // + "LogicLensWastelandDesc": [ "Difficulty: Expert", // + "By memorizing the path, you can travel through the", + "Wasteland without using the Lens of Truth to see",// + "the Poe. The equivalent trick for going in reverse", + "through the Wasteland is \"Reverse Wasteland\"." ], + "LogicReverseWastelandDesc": [ "Difficulty: Expert", // + "By memorizing the path, you can travel through the", + "Wasteland in reverse." ], // + "LogicColossusGSDesc": [ "Difficulty: Expert", // + "Somewhat precise. If you kill enough Leevers you",// + "can get enough of a break to take some time to aim", + "more carefully." ], // + "LogicOutsideGanonsGSDesc": [ "Difficulty: Intermediate", // + "Can be killed with a precise sidehop jumpslash", // + "from the top of the broken arch." ], // + "LogicManOnRoofDesc": [ "Difficulty: Novice", // + "Can be reached by side-hopping off the watchtower." ], + "LogicWindmillPoHHookshotDesc": [ "Difficulty: Novice", // + "Adult Link can reach the upper area of the windmill", + "using the hookshot and a midair jump slash." ], // + "LogicDMTBombableDesc": [ "Difficulty: Expert", // + "Child Link can blow up the wall using a nearby", // + "bomb flower. You must backwalk with the flower and", + "then quickly throw it toward the wall." ], // + "LogicDMTSoilGSDesc": [ "Difficulty: Intermediate", // + "Bugs will go into the soft soil even while the", // + "boulder is still blocking the entrance if dropped", + "from above. Then, using a precise moving setup you", + "can kill the Gold Skulltula and obtain the token by", + "having the Boomerang collect it while returning." ], + "LogicDMTSummitHoverDesc": [ "Difficulty: Intermediate", // + "By rolling around the lower boulder with hover", // + "boots and grabbing the ledge with the higher", // + "boulder near the wall, you'll be able to grab the", + "ledge above it to reach the summit." ], // + "LogicDMCPlatformJumpDesc": [ "Difficulty: Novice", // + "Adult can reach these rupees by jumping down from", + "the upper part of DMC, without scarecrow/longshot." ], + "LogicLinkGoronDinsDesc": [ "Difficulty: Intermediate", // + "The timing is quite awkward." ], // + "LogicGoronCityLeftMostDesc": [ "Difficulty: Novice", // + "A precise backwalk starting from on top of the", // + "crate and ending with a precisely-timed backflip",// + "can reach this chest without needing either the", // + "Hammer or Silver Gauntlets." ], // + "LogicGoronCityPotDesc": [ "Difficulty: Expert", // + "A Bombchu can be used to stop the spinning pot,", // + "but it can be quite finicky to get it to work." ],// + "LogicGoronCityPotWithStrengthDesc": [ "Difficulty: Intermediate", // + "Allows for stopping the Goron City Spinning Pot", // + "using a bomb flower alone, requiring strength in",// + "lieu of inventory explosives." ], // + "LogicChildRollingWithStrengthDesc": [ "Difficulty: Expert", // + "Use the bombflower on the stairs or near", // + "Medigoron. Timing is tight, especially without", // + "backwalking." ], // + "LogicCraterUpperToLowerDesc": [ "Difficulty: Intermediate", // + "With the Hammer, you can jump slash the rock twice", + "in the same jump in order to destroy it before you", + "fall into the lava." ], // + "LogicCraterBeanPoHWithHoversDesc": [ "Difficulty: Expert", // + "Hover from the base of the bridge near Goron City", + "and walk up the very steep slope." ], // + "LogicBiggoronBoleroDesc": [ "Difficulty: Intermediate", // + "Playing a warp song normally causes a trade item",// + "to spoil immediately, however, it is possible use", + "Bolero to reach Biggoron and still deliver the Eye", + "Drops before they spoil. If you do not wear the", // + "Goron Tunic, the heat timer inside the crater will", + "override the trade item's timer. When you exit to", + "Death Mountain Trail you will have one second to",// + "show the Eye Drops before they expire." ], // + "LogicZoraRiverLowerDesc": [ "Difficulty: Novice", // + "Adult can reach this PoH with a precise jump, no",// + "Hover Boots required." ], // + "LogicZoraRiverUpperDesc": [ "Difficulty: Novice", // + "Adult can reach this PoH with a precise jump, no",// + "Hover Boots required." ], // + "LogicZoraRiverRupeesJumpDesc": [ "Difficulty: Novice", // + "Adult can reach these rupees by jumping down from", + "the lullaby platform no Iron Boots required." ], // + "LogicZFGreatFairyDesc": [ "Difficulty: Novice", // + "Destroying the boulders blocking the hidden area",// + "with silver gauntlets and hammer lets you pass", // + "under the wall to the great fairy fountain." ], // + "LogicDekuB1WebsWithBowDesc": [ "Difficulty: Novice", // + "All spider web walls in the Deku Tree basement can", + "be burnt as adult with just a bow by shooting", // + "through torches. This trick only applies to the", // + "circular web leading to Gohma ], the two vertical", + "webs are always in logic. Backflip onto the chest", + "near the torch at the bottom of the vine wall.", // + "With precise positioning you can shoot through the", + "torch to the right edge of the circular web." ], // + "LogicDekuB1SkipDesc": [ "Difficulty: Intermediate", // + "A precise jump can be used to skip needing to use", + "the Slingshot to go around B1 of the Deku Tree. If", + "used with the \"Closed Forest\" setting, a", // + "Slingshot will not be guaranteed to exist", // + "somewhere inside the Forest. This trick applies to", + "both Vanilla and Master Quest." ], // + "LogicDekuBasementGSDesc": [ "Difficulty: Intermediate", // + "Can be defeated by doing a precise jump slash." ],// + "LogicDCStaircaseDesc": [ "Difficulty: Intermediate", // + "The Bow can be used to knock down the stairs with", + "two well-timed shots." ], // + "LogicDCJumpDesc": [ "Difficulty: Novice", // + "Jump is adult only." ], // + "LogicDCSlingshotSkipDesc": [ "Difficulty: Expert", // + "With precise platforming, child can cross the", // + "platforms while the flame circles are there. When", + "enabling this trick, it's recommended that you", // + "also enable the Adult variant: \"Dodongo's Cavern", + "Spike Trap Room Jump without Hover Boots\"." ], // + "LogicDCScarecrowGSDesc": [ "Difficulty: Intermediate", // + "You can jump off an Armos Statue to reach the", // + "alcove with the Gold Skulltula. It takes quite a",// + "long time to pull the statue the entire way. The",// + "jump to the alcove can be a bit picky when done", // + "as child." ], // + "LogicJabuBossGSAdultDesc": [ "Difficulty: Intermediate", // + "You can easily get over to the door to the near", // + "boss area early with Hover Boots. The tricky part", + "is getting through the door without being able to", + "use a box to keep the switch pressed. One way is",// + "to quickly roll from the switch and open the door", + "before it closes." ], // + "LogicJabuScrubJumpDiveDesc": [ "Difficulty: Novice", // + "Standing above the underwater tunnel leading to", // + "the scrub, jump down and swim through the tunnel.", + "This allows adult to access the scrub with no", // + "Scale or Iron Boots." ], // + "LogicForestOutsideBackdoorDesc": [ "Difficulty: Intermediate", // + "With a precise jump slash from above, you can", // + "reach the backdoor to the west courtyard without",// + "Hover Boots. Applies to both Vanilla and Master", // + "Quest." ], // + "LogicForestDoorFrameDesc": [ "Difficulty: Intermediate", // + "A precise Hover Boots movement from the upper", // + "balconies in this courtyard can be used to get on", + "top of the door frame. Applies to both Vanilla and", + "Master Quest. In Vanilla, from on top the door", // + "frame you can summon Pierre, allowing you to", // + "access the falling ceiling room early. In Master",// + "Quest, this allows you to obtain the GS on the", // + "door frame as adult without Hookshot or Song of", // + "Time." ], // + "LogicForestOutdoorEastGSDesc": [ "Difficulty: Novice", // + "Precise Boomerang throws can allow child to kill",// + "the Skulltula and collect the token." ], // + "LogicFireBossDoorJumpDesc": [ "Difficulty: Intermediate", // + "The Fire Temple Boss Door can be reached with a", // + "precise jump. You must be touching the side wall",// + "of the room so that Link will grab the ledge from", + "farther away than is normally possible." ], // + "LogicFireStrengthDesc": [ "Difficulty: Expert", // + "A precise jump can be used to skip pushing the", // + "block. This also allows child to reach the block." ], + "LogicFireScarecrowDesc": [ "Difficulty: Novice", // + "Also known as \"Pixelshot\". The Longshot can", // + "reach the target on the elevator itself, allowing", + "you to skip needing to spawn the scarecrow." ], // + "LogicFireFlameMazeDesc": [ "Difficulty: Expert", // + "If you move quickly you can sneak past the edge of", + "a flame wall before it can rise up to block you.",// + "To do it without taking damage is more precise.", // + "Allows you to progress without needing either a", // + "Small Key or Hover Boots." ], // + "LogicFireSongOfTimeDesc": [ "Difficulty: Intermediate", // + "A precise jump can be used to reach this room." ],// + "LogicWaterTempleTorchLongshotDesc": [ "Difficulty: Novice", // + "Stand on the eastern side of the central pillar", // + "and longshot the torches on the bottom level.", // + "Swim through the corridor and float up to the top", + "level. This allows access to this area and lower",// + "water levels without Iron Boots. The majority of",// + "the tricks that allow you to skip Iron Boots in", // + "the Water Temple are not going to be relevant", // + "unless this trick is first enabled." ], // + "LogicWaterTempleUpperBoostDesc": [ "Difficulty: Expert", // + "Stand on the corner closest to the upper ledge", // + "where you play Zelda's Lullaby to raise the water", + "and put a bomb down behind you. Hold forward when", + "the bomb explodes and Link should jump just far", // + "enough to grab the ledge." ], // + "LogicWaterCentralBowDesc": [ "Difficulty: Intermediate", // + "A very precise Bow shot can hit the eye switch", // + "from the floor above. Then, you can jump down into", + "the hallway and make through it before the gate", // + "closes. It can also be done as child, using the", // + "Slingshot instead of the Bow." ], // + "LogicWaterCentralGSFWDesc": [ "Difficulty: Novice", // + "If you set Farore's Wind inside the central pillar", + "and then return to that warp point after raising",// + "the water to the highest level, you can obtain", // + "this Skulltula Token with Hookshot or Boomerang." ], + "LogicWaterCrackedWallNothingDesc": [ "Difficulty: Expert", // + "A precise jump slash (among other methods) will", // + "get you to the cracked wall without needing the", // + "Hover Boots or to raise the water to the middle", // + "level. This trick supersedes \"Water Temple", // + "Cracked Wall with Hover Boots\"." ], // + "LogicWaterCrackedWallHoversDesc": [ "Difficulty: Expert", // + "With a midair side-hop while wearing the Hover", // + "Boots, you can reach the cracked wall without", // + "needing to raise the water up to the middle level." ], + "LogicWaterBossKeyRegionDesc": [ "Difficulty: Intermediate", // + "With precise Hover Boots movement it is possible",// + "to reach the boss key chest's region without", // + "needing the Longshot. It is not necessary to take", + "damage from the spikes. The Gold Skulltula Token",// + "in the following room can also be obtained with", // + "just the Hover Boots." ], // + "LogicWaterBKJumpDiveDesc": [ "Difficulty: Intermediate", // + "Stand on the very edge of the raised corridor", // + "leading from the push block room to the rolling", // + "boulder corridor. Face the gold skulltula on the",// + "waterfall and jump over the boulder corridor floor", + "into the pool of water, swimming right once", // + "underwater. This allows access to the boss key", // + "room without Iron boots." ], // + "LogicWaterNorthBasementLedgeJumpDesc": [ "Difficulty: Novice", // + "In the northern basement there's a ledge from", // + "where, in vanilla Water Temple, boulders roll out", + "into the room. Normally to jump directly to this",// + "ledge logically requires the Hover Boots, but with", + "precise jump, it can be done without them. This", // + "trick applies to both Vanilla and Master Quest." ], + "LogicWaterDragonAdultDesc": [ "Difficulty: Expert", // + "Normally you need both Hookshot and Iron Boots to", + "hit the switch and swim through the tunnel to get", + "to the chest. But by hitting the switch from dry",// + "land, using one of Bombchus, Hookshot, or Bow, it", + "is possible to skip one or both of those", // + "requirements. After the gate has been opened, a", // + "well-timed dive with at least the Silver Scale", // + "could be used to swim through the tunnel." ], // + "LogicWaterDragonJumpDiveDesc": [ "Difficulty: Expert", // + "If you come into the dragon statue room from the",// + "serpent river, you can jump down from above and", // + "get into the tunnel without needing either Iron", // + "Boots or a Scale. This trick applies to both", // + "Vanilla and Master Quest. In Vanilla, you must", // + "shoot the switch from above with the Bow, and then", + "quickly get through the tunnel before the gate", // + "closes." ], // + "LogicWaterRiverGSDesc": [ "Difficulty: Novice", // + "Standing on the exposed ground toward the end of",// + "the river, a precise Longshot use can obtain the",// + "token." ], // + "LogicWaterFallingPlatformGSDesc": [ "Difficulty: Intermediate", // + "If you stand on the very edge of the platform,", // + "this Gold Skulltula can be obtained with only the", + "Hookshot." ], // + "LogicSpiritLowerAdultSwitchDesc": [ "Difficulty: Novice", // + "A bomb can be used to hit the switch on the", // + "ceiling, but it must be thrown from a particular",// + "distance away and with precise timing." ], // + "LogicSpiritChildBombchuDesc": [ "Difficulty: Intermediate", // + "A carefully-timed Bombchu can hit the switch." ], // + "LogicSpiritWallDesc": [ "Difficulty: Expert", // + "The logic normally guarantees a way of dealing", // + "with both the Beamos and the Walltula before", // + "climbing the wall." ], // + "LogicSpiritLobbyGSDesc": [ "Difficulty: Intermediate", // + "Standing on the highest part of the arm of the", // + "statue, a precise Boomerang throw can kill and", // + "obtain this Gold Skulltula. You must throw the", // + "Boomerang slightly off to the side so that it", // + "curves into the Skulltula, as aiming directly at",// + "it will clank off of the wall in front." ], // + "LogicSpiritMapChestDesc": [ "Difficulty: Intermediate", // + "To get a line of sight from the upper torch to the", + "map chest torches, you must pull an Armos statue",// + "all the way up the stairs." ], // + "LogicSpiritSunChestDesc": [ "Difficulty: Expert", // + "Using the blocks in the room as platforms you can", + "get lines of sight to all three torches. The timer", + "on the torches is quite short so you must move", // + "quickly in order to light all three." ], // + "LogicShadowFireArrowEntryDesc": [ "Difficulty: Expert", // + "It is possible to light all of the torches to open", + "the Shadow Temple entrance with just Fire Arrows,", + "but you must be very quick, precise, and strategic", + "with how you take your shots." ], // + "LogicShadowUmbrellaDesc": [ "Difficulty: Expert", // + "A very precise Hover Boots movement from off of", // + "the lower chest can get you on top of the crushing", + "spikes without needing to pull the block. Applies", + "to both Vanilla and Master Quest." ], // + "LogicShadowFreestandingKeyDesc": [ "Difficulty: Intermediate", // + "Release the Bombchu with good timing so that it", // + "explodes near the bottom of the pot." ], // + "LogicShadowStatueDesc": [ "Difficulty: Novice", // + "By sending a Bombchu around the edge of the gorge,", + "you can knock down the statue without needing a", // + "Bow. Applies in both vanilla and MQ Shadow." ], // + "LogicShadowBongoDesc": [ "Difficulty Expert", // + "Using precise sword slashes, Bongo Bongo can be", // + "defeated without using projectiles.", // + "This trick is much more difficult when done with",// + "Kokiri Sword vs Master Sword or Biggorron Sword.",// + "Useful for Boss Entrance Randomizer." ], // + "LogicChildDeadhandDesc": [ "Difficulty: Novice", // + "Requires 10 stick slashes." ], // + "LogicGtgWithoutHookshotDesc": [ "Difficulty: Expert", // + "The final silver rupee on the ceiling can be", // + "reached by being pulled up into it by the", // + "Wallmaster.", // + "Then, you must also reach the exit of the room", // + "without the use of the Hookshot. If you move", // + "quickly, you can sneak past the edge of a", // + "flame wall before it can rise up to block you.", // + "To do so without taking damage is more precise" ],// + "LogicGtgFakeWallDesc": [ "Difficulty: Novice", // + "A precise Hover Boots use from the top of the", // + "chest can allow you to grab the ledge without", // + "needing the usual requirements." ], // + "LogicLensSpiritDesc": [ "Difficulty: Novice", // + "Removes the requirements for the Lens of Truth in", + "Spirit Temple." ], // + "LogicLensShadowDesc": [ "Difficulty: Novice", // + "Removes the requirements for the Lens of Truth in", + "Shadow Temple before the invisible moving platform" ], + "LogicLensShadowBackDesc": [ "Difficulty: Intermediate", // + "Removes the requirements for the Lens of Truth in", + "Shadow Temple beyond the invisible moving platform" ], + "LogicLensBotwDesc": [ "Difficulty: Intermediate", // + "Removes the requirements for the Lens of Truth in", + "Bottom of the Well." ], // + "LogicLensGtgDesc": [ "Difficulty: Novice", // + "Removes the requirements for the Lens of Truth in", + "Gerudo Training Grounds." ], // + "LogicLensCastleDesc": [ "Difficulty: Intermediate", // + "Removes the requirements for the Lens of Truth in", + "Ganon's Castle." ], // + "LogicLensJabuMQDesc": [ "Difficulty: Novice", // + "Removes the requirements for the Lens of Truth in", + "Jabu Jabu's Belly MQ." ], // + "LogicLensSpiritMQDesc": [ "Difficulty: Novice", // + "Removes the requirements for the Lens of Truth in", + "Spirit Temple MQ." ], // + "LogicLensShadowMQDesc": [ "Difficulty: Novice", // + "Removes the requirements for the Lens of Truth in", + "Shadow Temple MQ before the invisible moving ", // + "platform" ], // + "LogicLensShadowMQBackDesc": [ "Difficulty: Intermediate", // + "Removes the requirements for the Lens of Truth in", + "Shadow Temple MQ beyond the invisible moving ", // + "platform" ], // + "LogicLensBotwMQDesc": [ "Difficulty: Novice", // + "Removes the requirements for the Lens of Truth in", + "Bottom of the Well MQ." ], // + "LogicLensGtgMQDesc": [ "Difficulty: Novice", // + "Removes the requirements for the Lens of Truth in", + "Gerudo Training Grounds MQ." ], // + "LogicLensCastleMQDesc": [ "Difficulty: Intermediate", // + "Removes the requirements for the Lens of Truth in", + "Ganon's Castle MQ." ], // + "LogicSpiritTrialHookshotDesc": [ "Difficulty: Intermediate", // + "A precise jump off of an Armos can collect the", // + "highest rupee." ], // + // + "LogicFlamingChestsDesc": [ "Difficulty: Novice", // + "The chests encircled in flames in Gerudo Training", + "Grounds and in Spirit Temple can be opened by", // + "running into the flames while Link is invincible",// + "after taking damage." ], // + // + /*------------------------------ // + | GLITCHES | // + ------------------------------*/ // + "GlitchDifficulties": [ "Disabled", "Novice", "Intermediate", "Advanced", "Expert", "Hero" ], // + "ToggleAllGlitchesDesc": [ "Set all glitches to the selected difficulty, or", // + "the closest available below." ], // + /* Restricted Items */ // + "GlitchRestrictedItemsDescDisabled": [ "Swapping an item that can normally be used in an",// + "area with one that would be dimmed will let you", // + "use that item for 1 frame after closing your", // + "inventory. This can be useful on its own or in", // + "combination with other glitches." ], // + "GlitchRestrictedItemsDescNovice": [ "You may be required to use restricted items." ], // + /* Super Stab */ // + "GlitchSuperStabDescDisabled": [ "Forcing sticks to unequip during a crouch stab by", + "breaking it and moving them in your inventory has", + "the effect of hitting all spherical collision." ],// + "GlitchSuperStabDescNovice": [ "You may be expected to hit switches or kill gold",// + "skulltulas with a super stab." ], // + /* ISG */ // + "GlitchISGDescDisabled": [ "Shortened to ISG, allows Link's melee weapon to", // + "be in a constant swinging state. Simply touching",// + "objects with this causes them to get hit.", // + "Putting away the weapon while ISG is on hits", // + "any object with a spherical hitbox,", // + "such as small skulltulas. It is initiated by", // + "interrupting a crouch stab." ], // + "GlitchISGDescNovice": [ "ISG may be required to kill certain enemies,", // + "or to Bomb Hover when enabled." ], // + "GlitchISGDescIntermediate": [ "You may be required to use a bomb to activate ISG." ], + "GlitchISGDescAdvanced": [ "You may be required to use a bomb to activate ISG", + "repeatedly or while under attack." ], // + /* Hover */ // + "GlitchHoverDescDisabled": [ "Hovering allows Link to consecutively backflip", // + "in the air without falling. By shielding", // + "damage with ISG on, Link will stay in midair.", // + "While bombs aren't always required, this option", // + "will always expect them to be used.", // + "", // + "Requires ISG to be enabled." ], // + "GlitchHoverDescNovice": [ "Only bombchus are required for hovering." ], // + "GlitchHoverDescIntermediate": [ "Some hovers may require that you start from flat",// + "terrain, which requires somewhat precise timing." ], + "GlitchHoverDescAdvanced": [ "Usage of regular bombs will now also be expected,", + "which may require consecutive precise timings." ],// + /* Bomb OI */ // + "GlitchBombOIDescDisabled": [ "Allowing a bomb to explode in Link's hands while",// + "moving and then attempting to pull out a cutscene", + "item on a specific frame will cause Link to play",// + "an invisible ocarina instead.", // + "This will only work if bombs are not dimmed on the", + "frame you use the cutscene item." ], // + "GlitchBombOIDescNovice": [ "You may be expected to use ocarina items with a", // + "bomb to play warp songs." ], // + "GlitchBombOIDescIntermediate": [ "You may be expected to use ocarina items with a", // + "bomb to play the ocarina where Link's position", // + "matters." ], // + "GlitchBombOIDescAdvanced": [ "You may be expected to use restricted items to use", + "the cutscene item or to make the bombs usable on",// + "the correct frame." ], // + "GlitchBombOIDescExpert": [ "You may be expected to use restricted items to", // + "perform ocarina items where Link's position isn't", + "particularly lenient" ], // + /* Hover Boost */ // + "GlitchHoverBoostDescDisabled": [ "Equipping hover boots when Link takes damage will", + "cause him to keep the high knockback speed and", // + "lets him traverse large gaps.", // + "If performed at the edge of a platform Link will",// + "instead perform a mega jump which has less range",// + "but more height than a hover boost." ], // + "GlitchHoverBoostDescNovice": [ "Hover boosts that do not need the maximum speed", // + "may be required." ], // + "GlitchHoverBoostDescIntermediate": [ "Hover boosts that do need the maximum speed may be", + "required." ], // + "GlitchHoverBoostDescAdvanced": [ "Hover boosts that use more complex movement during", + "the hover may be required." ], // + /* Super Slide */ // + "GlitchSuperSlideDescDisabled": [ "Holding the circle pad just outside the dead zone", + "will cause Link to turn on the spot which locks", // + "his speed. This can be used to preserve high", // + "speeds indefinitely." ], // + "GlitchSuperSlideDescNovice": [ "Forward extended super slides (FESSes) where Link", + "is damaged by an explosion may be required." ], // + "GlitchSuperSlideDescIntermediate": [ "Hammer extended super slides where the recoil from", + "a hammer crouch stab is used may be required." ], // + "GlitchSuperSlideDescAdvanced": [ "Hyper Extended Super Slides (HESSes) and", // + "damageless FESSes where Link rolls into a bomb may", + "be required." ], // + "GlitchSuperSlideDescExpert": [ "HESSes with more precise movement may be required." ], + /* Megaflip */ // + "GlitchMegaflipDescDisabled": [ "A backflip or sidehop with high speed from an", // + "attack hitting your shield during i-frames. This",// + "is normally achieved by rolling into an explosion.", + "Equipping hover boots to preserve the high speed",// + "when landing is known as a hoverflip." ], // + "GlitchMegaflipDescNovice": [ "You may be expected to perform megaflips on flat",// + "ground with bombs." ], // + "GlitchMegaflipDescIntermediate": [ "You may be expected to perform megaflips in small", + "areas, distance megaflips, or hoverflips with a", // + "bomb." ], // + "GlitchMegaflipDescAdvanced": [ "You may be expected to perform hoverflips with", // + "difficult midair movement, or distance megaflips",// + "under time pressure with a bomb.", // + "", // + "Additionally, you may be expected to perform", // + "novice megaflips with a bombchu" ], // + "GlitchMegaflipDescExpert": [ "You may be expected to perform intermediate", // + "megaflips with a bombchu." ], // + "GlitchMegaflipDescHero": [ "You may be expected to perform any megaflip with a", + "bombchu." ], // + /* A-Slide */ // + "GlitchASlideDescDisabled": [ "An A-slide is performed the same as a megaflip", // + "except without pressing the A button at the end.",// + "This causes child Link's collision to glitch below", + "the ground and lets him bypass certain actors." ],// + "GlitchASlideDescNovice": [ "You may be expected to perform A-slides to pass", // + "actors you can't press A to interact with." ], // + "GlitchASlideDescIntermediate": [ "You may be expected to perform A-slides quickly or", + "around actors that can be interacted with." ], // + "GlitchASlideDescAdvanced": [ "You may be expected to perform novice A-slides", // + "with a bombchu." ], // + "GlitchASlideDescExpert": [ "You may be expected to perform intermediate", // + "A-slides with a bombchu." ], // + /* Hammer Slide */ // + "GlitchHammerSlideDescDisabled": [ "Equipping hover boots after a hammer crouch stab",// + "against a wall preserves the recoil speed which", // + "allows Link to cross larger gaps than usual." ], // + "GlitchHammerSlideDescNovice": [ "Simple hammer slides may be required" ], // + "GlitchHammerSlideDescIntermediate": [ "Hammer slides which require good movement and high", + "speed may be required." ], // + /* Ledge Cancel */ // + "GlitchLedgeCancelDescDisabled": [ "Climbing a short ledge and shielding damage will",// + "prevent the ledge climbing state from ending.", // + "This state allows Link to walk through some actors", + "such as boulders and NPCs." ], // + "GlitchLedgeCancelDescNovice": [ "You may be expected to perform ledge cancels using", + "bombs as a damage source." ], // + "GlitchLedgeCancelDescIntermediate": [ "You may be expected to perform ledge cancels in", // + "places with little room." ], // + "GlitchLedgeCancelDescAdvanced": [ "You may be expected to perform ledge cancels using", + "bombchus as a damage source." ], // + /* Action Swap */ // + "GlitchActionSwapDescDisabled": [ "Action swap allows Link to switch between 2 held",// + "items without the put away/equip animations.", // + "This can be exploited to produce various effects." ], + "GlitchActionSwapDescNovice": [ "You may be expected to use shallow water to set up", + "action swap." ], // + "GlitchActionSwapDescAdvanced": [ "You may be expected to use bombchus to set up", // + "action swap." ], // + /* QPA */ // + "GlitchQPADescDisabled": [ "Certain events can cancel putting away an item", // + "which later lets Link put it away without an", // + "animation. This can be used with sticks to access", + "a glitched damage value with the properties of", // + "hammer and fire arrows, or with a bottle to store", + "a cutscene for ocarina items." ], // + "GlitchQPADescNovice": [ "You may be expected to get QPA using the boots", // + "animation to delay putting away the item and a", // + "bomb." ], // + "GlitchQPADescIntermediate": [ "You may be expected to get QPA using only a bomb." ], + "GlitchQPADescAdvanced": [ "You may be expected to get QPA using a ledge grab", + "to interrupt putting away the item." ], // + "GlitchQPADescExpert": [ "You may be expected to get QPA from enemy attacks." ], + /* Hookshot Clip */ // + "GlitchHookshotClipDescDisabled": [ "Hookshot Clipping allows Link to hookshot through", + "certain walls, which is useful if a valid", // + "target is on the other side." ], // + "GlitchHookshotClipDescNovice": [ "Basic Hookshot Clipping may be required." ], // + "GlitchHookshotClipDescIntermediate": [ "Hookshot clips with precise angles and poor", // + "visibility may be required." ], // + /* Hookshot Jump: Bonk */ // + "GlitchHookshotJump_BonkDescDisabled": [ "A Hookshot Jump is an umbrella term for techniques", + "that launch Link into the sky using the Hookshot",// + "in various ways, sometimes together with", // + "other items. The bonk method only requires the", // + "Hookshot itself." ], // + "GlitchHookshotJump_BonkDescNovice": [ "Simple hookshot jumps against large flat walls of", + "hookshottable surfaces may be required." ], // + "GlitchHookshotJump_BonkDescIntermediate": [ "Less lenient hookshot jumps may be required." ], // + "GlitchHookshotJump_BonkDescAdvanced": [ "Hookshot jumps with precise midair movement may be", + "required." ], // + /* Hookshot Jump: Boots */ // + "GlitchHookshotJump_BootsDescDisabled": [ "This Hookshot Jump technique is one of the easier", + "ones, and require any pair of boots." ], // + "GlitchHookshotJump_BootsDescNovice": [ "Only relatively short Hookshot Jumps with boots", // + "may be required." ], // + "GlitchHookshotJump_BootsDescIntermediate": [ "Higher Hookshot Jumps with boots, where you look",// + "further up or downwards may be required." ], // + "GlitchHookshotJump_BootsDescAdvanced": [ "Hookshot jumps that require a lot of height and", // + "precise midair movement may be required." ], // + /* Cutscene Dives */ // + "GlitchCutsceneDiveDescDisabled": [ "Water physics won't effect Link if he enters the",// + "water while a cutscene is playing, allowing him", // + "to sink to the bottom." ], // + "GlitchCutsceneDiveDescNovice": [ "Attempting to use Farore's Wind (when it's already", + "set) with another magic item active prevents the",// + "water from clearing the FW cutscene until the", // + "other effect ends.", // + "You may be expected to use Nayru's Love as the", // + "other magic effect." ], // + "GlitchCutsceneDiveDescIntermediate": [ "You can catch something in a bottle while standing", + "over water using the hover boots to fall through",// + "the water during the catching cutscene." ], // + "GlitchCutsceneDiveDescAdvanced": [ "You may be expected to use magic arrows to perform", + "Farore's Wind cutscene dives." ], // + /* Navi Dive: Stick */ // + "GlitchNaviDive_StickDescDisabled": [ "A Navi dive is a type of cutscene dive achieved by", + "falling off a ledge while talking to Navi. While",// + "the usual method for achieving this is a TSC, it",// + "is also possible to perform using a jump attack", // + "with deku sticks." ], // + "GlitchNaviDive_StickDescNovice": [ "You may be expected to enter BotW with a stick", // + "Navi dive." ], // + "GlitchNaviDive_StickDescIntermediate": [ "You may be expected to use the LH to ZD shortcut",// + "with a stick Navi dive." ], // + "GlitchNaviDive_StickDescAdvanced": [ "You may be expected to use the LW to ZR shortcut",// + "with a stick Navi dive." ], // + /* TSC */ // + "GlitchTripleSlashClipDescDisabled": [ "When doing a three-slash-combo with either the", // + "Kokiri Sword or the Master Sword and put it away,", + "Link will be placed back a small distance.", // + "If, while slashing, you use the recoil of hitting", + "a wall and then put away the sword, Link may clip", + "into a wall behind him if angled correctly." ], // + "GlitchTripleSlashClipDescNovice": [ "Basic Triple Slash Clipping may be required." ], // + "GlitchTripleSlashClipDescIntermediate": [ "Some more complex OoB movement may be required." ], + "GlitchTripleSlashClipDescAdvanced": [ "Very precise OoB movement may be required." ], // + "GlitchTripleSlashClipDescExpert": [ "Very precise TSCs may be required." ], // + /* Ledge Clip */ // + "GlitchLedgeClipDescDisabled": [ "A Ledge Clip allows Link to fall through a floor",// + "or pass through an object by facing a wall", // + "and dropping down to the left in various ways.", // + "These only work as an adult." ], // + "GlitchLedgeClipDescNovice": [ "Basic Ledge Clips may be required.", // + "Some require that you let go of the ledge with", // + "a specific timing." ], // + "GlitchLedgeClipDescIntermediate": [ "Certain harder clips may also be required." ], // + "GlitchLedgeClipDescAdvanced": [ "Ledge clips with complex OoB movement may be", // + "required." ], // + /* Seam Walk */ // + "GlitchSeamWalkDescDisabled": [ "Where 2 walls come together they form a seam that", + "Link can stand on. It is possible to use these to", + "gain height and reach normally inaccessible areas.", + "Additionally these seams can reach far above the",// + "walls that form them, creating invisible seams." ], + "GlitchSeamWalkDescNovice": [ "Short seam walks up visible walls with ISG may be", + "required." ], // + "GlitchSeamWalkDescIntermediate": [ "Short seam walks up visible walls without ISG or",// + "longer seam walks with ISG may be required." ], // + "GlitchSeamWalkDescAdvanced": [ "Longer seam walks without ISG may be required." ],// + "GlitchSeamWalkDescExpert": [ "Very precise seam walks may be required." ], // + "GlitchSeamWalkDescHero": [ "Crossing Gerudo Valley as child by walking up a", // + "wall with the cucco may be required." ], // + /* Misc Glitches */ // + "GlitchWWTEscapeDesc": [ "Using deku nuts and the crawlspace to let you", // + "move while reading the nearby sign, you can walk",// + "through the Kokiri guarding the exit. This only", // + "affects logic with shuffled entrances." ], // + "GlitchGVTentAsChildDesc": [ "The loading zone for the carpenters' tent exists",// + "in the child map despite the tent being removed.",// + "", // + "With this setting enabled you may be expected to",// + "use that loading zone." ], // + "GlitchGFGuardSneakDesc": [ "By using the bow, hookshot, or boomerang while", // + "looking up and targeting the Fortress wall, you", // + "can walk past the guard on the slope without", // + "being caught." ], // + "GlitchItemlessWastelandDesc": [ "By starting a backwalk and then targeting every", // + "other frame Link will maintain backwalk speed", // + "over the quicksand in the haunted wasteland which", + "lets him cross with no items." ], // + "GlitchOccamsStatueDesc": [ "With some precise movement through loading zones",// + "in Darunia's room, it is possible to unload the", // + "collision of the statue blocking the way to DMC." ], + "GlitchZDOoBJumpSlashDesc": [ "Jump slashing the wall next to the pillar above", // + "the ZD to LH shortcut as adult will let you clip",// + "through. From here you can either jump to the shop", + "loading zone or fall OoB a little bit and swim", // + "into the shortcut loading zone." ], // + "GlitchJabuStickRecoilDesc": [ "Child can enter Jabu without a fish in a bottle", // + "using the recoil from breaking a deku stick while", + "sidehopping next to the loading zone." ], // + "GlitchJabuAdultDesc": [ "Adult can enter Jabu by walking over a specific", // + "section of ice on the side near ice cavern." ], // + "GlitchBlueFireWallDesc": [ "Pouring blue fire on certain destructable walls", // + "will cause them to break." ], // + "GlitchClassicHalfieDesc": [ "Dying during a jump attack towards a ledge just", // + "too high to climb will put Link on top of the", // + "ledge. Combined with a fairy this lets Link climb", + "ledges such as the one to the switch in DC." ], // + "GlitchModernHalfieDesc": [ "Using a bomb flower and a twisted backflip, it is", + "possible to access the switch in DC with only a", // + "deku shield and the goron bracelet." ], // + "GlitchJabuSwitchDesc": [ "Using a cutscene item the frame you land on the", // + "blue switches in Jabu Jabu's Belly will make them", + "stay held for a while after you step off them." ],// + "GlitchForestBKSkipDesc": [ "Using the hookshot or bow to shorten a backflip", // + "it is possible to land on the other side of the", // + "railing in the north of the lobby and get clipped", + "out of bounds. From here it is possible to jump", // + "into the boss loading zone." ], // + "GlitchFireGrunzClipDesc": [ "Grabbing a ledge in a corner partially clips Link", + "through the wall. A bomb can be used to push Link", + "fully through the wall to get out of bounds. This", + "can be used in the fire temple along with hover", // + "boots to skip hammer in the first room." ] // +} \ No newline at end of file diff --git a/data/item_table.jsonc b/data/item_table.jsonc new file mode 100644 index 00000000..e319187e --- /dev/null +++ b/data/item_table.jsonc @@ -0,0 +1,322 @@ +{ + // ItemType GetItemID ItemClass logic HintKey Name + "NONE": { "ItemType": "ITEMTYPE_EVENT", "GetItemID": "GI_RUPEE_GREEN", "ItemClass": "ITEMCLASS_JUNK", "LogicVar": "noVariable", "HintKey": "NONE", "Name": { "NAenglish_": "No Item", "NAfrench_": "Rien", "NAspanish_": "Sin Objeto", "EURitalian_": "Nessun Oggetto", "EURgerman_": "Nichts" }}, + "KOKIRI_SWORD": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "GI_SWORD_KOKIRI", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "KokiriSword", "HintKey": "KOKIRI_SWORD", "Name": { "NAenglish_": "Kokiri Sword", "NAfrench_": "Épée Kokiri", "NAspanish_": "Espada Kokiri", "EURitalian_": "Spada dei Kokiri", "EURgerman_": "Kokiri-Schwert" }}, + "MASTER_SWORD": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "GI_SWORD_MASTER", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "MasterSword", "HintKey": "MASTER_SWORD", "Name": { "NAenglish_": "Master Sword", "NAfrench_": "Épée maîtresse", "NAspanish_": "Espada Maestra", "EURenglish_": "Master Sword", "EURfrench_": "Épée de légende", "EURspanish_": "Espada Maestra", "EURitalian_": "Spada suprema", "EURgerman_": "Master-Schwert" }}, + "GIANTS_KNIFE": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "GI_SWORD_KNIFE", "ItemClass": "ITEMCLASS_NONE", "LogicVar": "noVariable", "HintKey": "GIANTS_KNIFE", "Name": { "NAenglish_": "Giant's Knife", "NAfrench_": "Lame de géant", "NAspanish_": "Daga gigante", "EURitalian_": "Spada del gigante", "EURgerman_": "Langschwert" }}, + "BIGGORON_SWORD": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "GI_SWORD_BGS", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "BiggoronSword", "HintKey": "BIGGORON_SWORD", "Name": { "NAenglish_": "Biggoron's Sword", "NAfrench_": "Épée de Grogoron", "NAspanish_": "Espada de Biggoron", "EURenglish_": "Biggoron's Sword", "EURfrench_": "Épée de Biggoron", "EURspanish_": "Espada de Biggoron", "EURitalian_": "Spada di Grande Goron", "EURgerman_": "Biggoron-Schwert" }}, + "DEKU_SHIELD": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "GI_SHIELD_DEKU", "ItemClass": "ITEMCLASS_NONE", "LogicVar": "noVariable", "HintKey": "DEKU_SHIELD", "Name": { "NAenglish_": "Deku Shield", "NAfrench_": "Bouclier Mojo", "NAspanish_": "Escudo deku", "EURitalian_": "Scudo Deku", "EURgerman_": "Deku-Schild" }}, + "HYLIAN_SHIELD": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "GI_SHIELD_HYLIAN", "ItemClass": "ITEMCLASS_NONE", "LogicVar": "noVariable", "HintKey": "HYLIAN_SHIELD", "Name": { "NAenglish_": "Hylian Shield", "NAfrench_": "Bouclier Hylien", "NAspanish_": "Escudo hyliano", "EURitalian_": "Scudo Hylia", "EURgerman_": "Hylia-Schild" }}, + "MIRROR_SHIELD": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "GI_SHIELD_MIRROR", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "MirrorShield", "HintKey": "MIRROR_SHIELD", "Name": { "NAenglish_": "Mirror Shield", "NAfrench_": "Bouclier miroir", "NAspanish_": "Escudo espejo", "EURitalian_": "Scudo specchio", "EURgerman_": "Spiegel-Schild" }}, + "GORON_TUNIC": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "GI_TUNIC_GORON", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "GoronTunic", "HintKey": "GORON_TUNIC", "Name": { "NAenglish_": "Goron Tunic", "NAfrench_": "Tunique Goron", "NAspanish_": "Sayo goron", "EURitalian_": "Veste dei Goron", "EURgerman_": "Goronen-Rüstung" }}, + "ZORA_TUNIC": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "GI_TUNIC_ZORA", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "ZoraTunic", "HintKey": "ZORA_TUNIC", "Name": { "NAenglish_": "Zora Tunic", "NAfrench_": "Tunique Zora", "NAspanish_": "Sayo zora", "EURitalian_": "Veste degli Zora", "EURgerman_": "Zora-Rüstung" }}, + "IRON_BOOTS": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "GI_BOOTS_IRON", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "IronBoots", "HintKey": "IRON_BOOTS", "Name": { "NAenglish_": "Iron Boots", "NAfrench_": "Bottes de plomb", "NAspanish_": "Botas de hierro", "EURitalian_": "Stivali di ferro", "EURgerman_": "Eisenstiefel" }}, + "HOVER_BOOTS": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "GI_BOOTS_HOVER", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "HoverBoots", "HintKey": "HOVER_BOOTS", "Name": { "NAenglish_": "Hover Boots", "NAfrench_": "Bottes des airs", "NAspanish_": "Botas voladoras", "EURitalian_": "Stivali alati", "EURgerman_": "Gleitstiefel" }}, + + "BOOMERANG": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "GI_BOOMERANG", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "Boomerang", "HintKey": "BOOMERANG", "Name": { "NAenglish_": "Boomerang", "NAfrench_": "Boomerang", "NAspanish_": "Búmeran", "EURitalian_": "Boomerang", "EURgerman_": "Bumerang" }}, + "LENS_OF_TRUTH": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "GI_LENS", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "LensOfTruth", "HintKey": "LENS_OF_TRUTH", "Name": { "NAenglish_": "Lens of Truth", "NAfrench_": "Loupe de vérité", "NAspanish_": "Lupa de la Verdad", "EURenglish_": "Lens of Truth", "EURfrench_": "Monocle de vérité", "EURspanish_": "Lupa de la Verdad", "EURitalian_": "Lente della verità", "EURgerman_": "Auge der Wahrheit" }}, + "MEGATON_HAMMER": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "GI_HAMMER", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "Hammer", "HintKey": "MEGATON_HAMMER", "Name": { "NAenglish_": "Megaton Hammer", "NAfrench_": "Masse des titans", "NAspanish_": "Martillo Megatón", "EURitalian_": "Martello megaton", "EURgerman_": "Stahlhammer" }}, + "SHARD_OF_AGONY": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "GI_STONE_OF_AGONY", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "ShardOfAgony", "HintKey": "SHARD_OF_AGONY", "Name": { "NAenglish_": "Shard of Agony", "NAfrench_": "Fragment de souffrance", "NAspanish_": "Piedra de la Agonía", "EURenglish_": "Shard of Agony", "EURfrench_": "Pierre de souffrance", "EURspanish_": "Piedra de la Agonía", "EURitalian_": "Cristallo sonoro", "EURgerman_": "Stein des Wissens" }}, + "DINS_FIRE": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "GI_DINS_FIRE", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "DinsFire", "HintKey": "DINS_FIRE", "Name": { "NAenglish_": "Din's Fire", "NAfrench_": "Feu de Din", "NAspanish_": "Fuego de Din", "EURitalian_": "Fuoco di Din", "EURgerman_": "Dins Feuerinferno" }}, + "FARORES_WIND": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "GI_FARORES_WIND", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "FaroresWind", "HintKey": "FARORES_WIND", "Name": { "NAenglish_": "Farore's Wind", "NAfrench_": "Vent de Farore", "NAspanish_": "Viento de Farore", "EURitalian_": "Vento di Farore", "EURgerman_": "Farores Donnersturm" }}, + "NAYRUS_LOVE": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "GI_NAYRUS_LOVE", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "NayrusLove", "HintKey": "NAYRUS_LOVE", "Name": { "NAenglish_": "Nayru's Love", "NAfrench_": "Amour de Nayru", "NAspanish_": "Amor de Nayru", "EURitalian_": "Amore di Nayru", "EURgerman_": "Nayrus Umarmung" }}, + "FIRE_ARROWS": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "GI_ARROW_FIRE", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "FireArrows", "HintKey": "FIRE_ARROWS", "Name": { "NAenglish_": "Fire Arrow", "NAfrench_": "Flèche de feu", "NAspanish_": "Flecha de fuego", "EURitalian_": "Freccia di fuoco", "EURgerman_": "Feuer-Pfeile" }}, + "ICE_ARROWS": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "GI_ARROW_ICE", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "IceArrows", "HintKey": "ICE_ARROWS", "Name": { "NAenglish_": "Ice Arrow", "NAfrench_": "Flèche de glace", "NAspanish_": "Flecha de hielo", "EURitalian_": "Freccia di ghiaccio", "EURgerman_": "Eis-Pfeile" }}, + "LIGHT_ARROWS": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "GI_ARROW_LIGHT", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "LightArrows", "HintKey": "LIGHT_ARROWS", "Name": { "NAenglish_": "Light Arrow", "NAfrench_": "Flèche de lumière", "NAspanish_": "Flecha de luz", "EURitalian_": "Freccia di luce", "EURgerman_": "Licht-Pfeile" }}, + "GERUDO_TOKEN": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "GI_GERUDO_CARD", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "GerudoToken", "HintKey": "GERUDO_TOKEN", "Name": { "NAenglish_": "Gerudo Token", "NAfrench_": "Carte Gerudo", "NAspanish_": "Pase de socio gerudo", "EURitalian_": "Gerudo Card", "EURgerman_": "Gerudo-Pass" }}, + "MAGIC_BEAN": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "GI_BEAN", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "MagicBean", "HintKey": "MAGIC_BEAN", "Name": { "NAenglish_": "Magic Bean", "NAfrench_": "Haricot magique", "NAspanish_": "Habichuelas mágicas", "EURitalian_": "Fagioli magici", "EURgerman_": "Wundererbse" }}, + "MAGIC_BEAN_PACK": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "0xC9", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "MagicBeanPack", "HintKey": "MAGIC_BEAN_PACK", "Name": { "NAenglish_": "Magic Bean Pack", "NAfrench_": "Paquet de haricots magiques", "NAspanish_": "Lote de habichuelas mágicas", "EURitalian_": "Pacco di fagioli magici", "EURgerman_": "Wundererbsen-Bündel" }}, + "DOUBLE_DEFENSE": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "0xB8", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "DoubleDefense", "HintKey": "DOUBLE_DEFENSE", "Name": { "NAenglish_": "Double Defense", "NAfrench_": "Double défence", "NAspanish_": "Doble poder defensivo", "EURitalian_": "Doppia difesa", "EURgerman_": "Doppelte Abwehrkraft" }}, + + "WEIRD_EGG": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "GI_WEIRD_EGG", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "WeirdEgg", "HintKey": "WEIRD_EGG", "Name": { "NAenglish_": "Weird Egg", "NAfrench_": "Œuf curieux", "NAspanish_": "Huevo extraño", "EURitalian_": "Uovo misterioso", "EURgerman_": "Seltsames Ei" }}, +// "CUCCO": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "GI_CUCCO", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "Cucco", "HintKey": "CUCCO", "Name": { "NAenglish_": "Cucco", "NAfrench_": "Poulette", "NAspanish_": "Cuco", "EURenglish_": "Cucco", "EURfrench_": "Cocotte", "EURspanish_": "Cuco", "EURitalian_": "Coccò", "EURgerman_": "Huhn" }}, + "ZELDAS_LETTER": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "GI_LETTER_ZELDA", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "ZeldasLetter", "HintKey": "ZELDAS_LETTER", "Name": { "NAenglish_": "Zelda's Letter", "NAfrench_": "Lettre de Zelda", "NAspanish_": "Carta de Zelda", "EURitalian_": "Lettera di Zelda", "EURgerman_": "Zeldas Brief" }}, +// "KEATON_MASK": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "GI_MASK_KEATON", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "KeatonMask", "HintKey": "KEATON_MASK", "Name": { "NAenglish_": "Keaton Mask", "NAfrench_": "Masque Keaton", "NAspanish_": "Máscara de Keaton", "EURenglish_": "Keaton Mask", "EURfrench_": "Masque de renard", "EURspanish_": "Máscara de Keaton", "EURitalian_": "Maschera Keaton", "EURgerman_": "Fuchs-Maske" }}, +// "SKULL_MASK": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "GI_MASK_SKULL", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "SkullMask", "HintKey": "SKULL_MASK", "Name": { "NAenglish_": "Skull Mask", "NAfrench_": "Masque de mort", "NAspanish_": "Máscara de calavera", "EURitalian_": "Maschera Teschio", "EURgerman_": "Schädel-Maske" }}, +// "SPOOKY_MASK": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "GI_MASK_SPOOKY", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "SpookyMask", "HintKey": "SPOOKY_MASK", "Name": { "NAenglish_": "Spooky Mask", "NAfrench_": "Masque épeurant", "NAspanish_": "Máscara tenebrosa", "EURenglish_": "Spooky Mask", "EURfrench_": "Masque d'effroi", "EURspanish_": "Máscara tenebrosa", "EURitalian_": "Maschera spaventosa", "EURgerman_": "Geister-Maske" }}, +// "BUNNY_HOOD": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "GI_MASK_BUNNY", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "BunnyHood", "HintKey": "BUNNY_HOOD", "Name": { "NAenglish_": "Bunny Hood", "NAfrench_": "Oreilles de lapin", "NAspanish_": "Capucha de conejo", "EURenglish_": "Bunny Hood", "EURfrench_": "Masque de lapin", "EURspanish_": "Capucha de conejo", "EURitalian_": "Orecchie da coniglio", "EURgerman_": "Hasenohren" }}, +// "GORON_MASK": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "GI_MASK_GORON", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "GoronMask", "HintKey": "GORON_MASK", "Name": { "NAenglish_": "Goron Mask", "NAfrench_": "Masque Goron", "NAspanish_": "Máscara Goron", "EURenglish_": "Goron Mask", "EURfrench_": "Masque de Goron", "EURspanish_": "Máscara Goron", "EURitalian_": "Maschera Goron", "EURgerman_": "Goronen-Maske" }}, +// "ZORA_MASK": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "GI_MASK_ZORA", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "ZoraMask", "HintKey": "ZORA_MASK", "Name": { "NAenglish_": "Zora Mask", "NAfrench_": "Masque Zora", "NAspanish_": "Máscara Zora", "EURenglish_": "Zora Mask", "EURfrench_": "Masque de Zora", "EURspanish_": "Máscara Zora", "EURitalian_": "Maschera Zora", "EURgerman_": "Zora-Maske" }}, +// "GERUDO_MASK": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "GI_MASK_GERUDO", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "GerudoMask", "HintKey": "GERUDO_MASK", "Name": { "NAenglish_": "Gerudo Mask", "NAfrench_": "Masque Gerudo", "NAspanish_": "Máscara Gerudo", "EURenglish_": "Gerudo Mask", "EURfrench_": "Masque de Gerudo", "EURspanish_": "Máscara Gerudo", "EURitalian_": "Maschera Gerudo", "EURgerman_": "Gerudo-Maske" }}, +// "MASK_OF_TRUTH": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "GI_MASK_MASK", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "MaskofTruth", "HintKey": "MASK_OF_TRUTH", "Name": { "NAenglish_": "Mask of Truth", "NAfrench_": "Masque de vérité", "NAspanish_": "Máscara de la Verdad", "EURitalian_": "Maschera della verità", "EURgerman_": "Maske des Wissens" }}, + "POCKET_EGG": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "GI_POCKET_EGG", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "PocketEgg", "HintKey": "POCKET_EGG", "Name": { "NAenglish_": "Pocket Egg", "NAfrench_": "Œuf de poche", "NAspanish_": "Huevo de bolsillo", "EURitalian_": "Uovo tascabile", "EURgerman_": "Ei" }}, +// "POCKET_CUCCO": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "GI_POCKET_CUCCO", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "PocketCucco", "HintKey": "POCKET_CUCCO", "Name": { "NAenglish_": "Pocket Cucco", "NAfrench_": "Poulette de poche", "NAspanish_": "Cuco de bolsillo", "EURenglish_": "Pocket Cucco", "EURfrench_": "Cocotte de poche", "EURspanish_": "Cuco de bolsillo", "EURitalian_": "Coccò tascabile", "EURgerman_": "Kiki" }}, + "COJIRO": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "GI_COJIRO", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "Cojiro", "HintKey": "COJIRO", "Name": { "NAenglish_": "Cojiro", "NAfrench_": "P'tit Poulet", "NAspanish_": "Cojiro", "EURitalian_": "Coblù", "EURgerman_": "Henni" }}, + "ODD_MUSHROOM": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "GI_ODD_MUSHROOM", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "OddMushroom", "HintKey": "ODD_MUSHROOM", "Name": { "NAenglish_": "Odd Mushroom", "NAfrench_": "Champignon étrange", "NAspanish_": "Champiñón extraño", "EURenglish_": "Odd Mushroom", "EURfrench_": "Champignon suspect", "EURspanish_": "Champiñón extraño", "EURitalian_": "Fungo strano", "EURgerman_": "Schimmelpilz" }}, + "ODD_POULTICE": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "GI_ODD_POTION", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "OddPoultice", "HintKey": "ODD_POULTICE", "Name": { "NAenglish_": "Odd Poultice", "NAfrench_": "Mixture étrange", "NAspanish_": "Medicina rara", "EURenglish_": "Odd Poultice", "EURfrench_": "Mixture suspecte", "EURspanish_": "Medicina rara", "EURitalian_": "Medicina strana", "EURgerman_": "Moderpackung" }}, + "POACHERS_SAW": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "GI_SAW", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "PoachersSaw", "HintKey": "POACHERS_SAW", "Name": { "NAenglish_": "Poacher's Saw", "NAfrench_": "Scie du chasseur", "NAspanish_": "Sierra del furtivo", "EURitalian_": "Sega del bracconiere", "EURgerman_": "Säge" }}, + "BROKEN_SWORD": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "GI_SWORD_BROKEN", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "BrokenSword", "HintKey": "BROKEN_SWORD", "Name": { "NAenglish_": "Broken Goron's Sword", "NAfrench_": "Épée Goron brisée", "NAspanish_": "Espada goron rota", "EURitalian_": "Spada rotta dei Goron", "EURgerman_": "Zerbrochenes Goronen-Schwert" }}, + "PRESCRIPTION": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "GI_PERSCRIPTION", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "Prescription", "HintKey": "PRESCRIPTION", "Name": { "NAenglish_": "Prescription", "NAfrench_": "Ordonnance", "NAspanish_": "Receta", "EURitalian_": "Ricetta", "EURgerman_": "Rezept" }}, + "EYEBALL_FROG": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "GI_FROG", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "EyeballFrog", "HintKey": "EYEBALL_FROG", "Name": { "NAenglish_": "Eyeball Frog", "NAfrench_": "Crapaud-qui-louche", "NAspanish_": "Rana de ojos saltones", "EURitalian_": "Rana occhiuta", "EURgerman_": "Glotzfrosch" }}, + "EYEDROPS": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "GI_EYEDROPS", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "Eyedrops", "HintKey": "EYEDROPS", "Name": { "NAenglish_": "World's Finest Eyedrops", "NAfrench_": "Supergouttes", "NAspanish_": "Supergotas oculares", "EURenglish_": "World's Finest Eyedrops", "EURfrench_": "Super gouttes", "EURspanish_": "Supergotas oculares", "EURitalian_": "Miglior collirio del mondo", "EURgerman_": "Augentropfen" }}, + "CLAIM_CHECK": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "GI_CLAIM_CHECK", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "ClaimCheck", "HintKey": "CLAIM_CHECK", "Name": { "NAenglish_": "Claim Check", "NAfrench_": "Certificat", "NAspanish_": "Recibo", "EURitalian_": "Buono", "EURgerman_": "Zertifikat" }}, + + "GOLD_SKULLTULA_TOKEN": { "ItemType": "ITEMTYPE_TOKEN", "GetItemID": "GI_SKULL_TOKEN", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "GoldSkulltulaTokens", "HintKey": "GOLD_SKULLTULA_TOKEN", "Name": { "NAenglish_": "Gold Skulltula Token", "NAfrench_": "Jeton de Skulltula dorée", "NAspanish_": "Símbolo de skulltula dorada", "EURenglish_": "Gold Skulltula Token", "EURfrench_": "Crâne d'or", "EURspanish_": "Símbolo de skulltula dorada", "EURitalian_": "Teschio d'oro", "EURgerman_": "Skulltula-Symbol" }}, + + // Progression Items + "PROGRESSIVE_HOOKSHOT": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "0x80", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "ProgressiveHookshot", "HintKey": "PROGRESSIVE_HOOKSHOT", "Name": { "NAenglish_": "Progressive Hookshot", "NAfrench_": "Grappin (prog.)", "NAspanish_": "Gancho progresivo", "EURitalian_": "Arpione progressivo", "EURgerman_": "Fanghaken Aufwertung" }}, + "PROGRESSIVE_STRENGTH": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "0x81", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "ProgressiveStrength", "HintKey": "PROGRESSIVE_STRENGTH", "Name": { "NAenglish_": "Progressive Strength Upgrade", "NAfrench_": "Amélioration de force (prog.)", "NAspanish_": "Fuerza progresiva", "EURitalian_": "Potenziamento di forza progressivo", "EURgerman_": "Stärke Aufwertung" }}, + "PROGRESSIVE_BOMB_BAG": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "0x82", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "ProgressiveBombBag", "HintKey": "PROGRESSIVE_BOMB_BAG", "Name": { "NAenglish_": "Progressive Bomb Bag", "NAfrench_": "Sac de bombes (prog.)", "NAspanish_": "Saco de bombas progresivo", "EURitalian_": "Portabombe progressivo", "EURgerman_": "Bombentaschen Aufwertung" }}, + "PROGRESSIVE_BOW": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "0x83", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "ProgressiveBow", "HintKey": "PROGRESSIVE_BOW", "Name": { "NAenglish_": "Progressive Bow", "NAfrench_": "Arc (prog.)", "NAspanish_": "Arco progresivo", "EURitalian_": "Arco progressivo", "EURgerman_": "Bogen Aufwertung" }}, + "PROGRESSIVE_SLINGSHOT": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "0x84", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "ProgressiveBulletBag", "HintKey": "PROGRESSIVE_SLINGSHOT", "Name": { "NAenglish_": "Progressive Slingshot", "NAfrench_": "Lance-pierre (prog.)", "NAspanish_": "Resortera progresiva", "EURitalian_": "Fionda progressiva", "EURgerman_": "Schleuder Aufwertung" }}, + "PROGRESSIVE_WALLET": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "0x85", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "ProgressiveWallet", "HintKey": "PROGRESSIVE_WALLET", "Name": { "NAenglish_": "Progressive Wallet", "NAfrench_": "Bourse (prog.)", "NAspanish_": "Bolsa de rupias progresiva", "EURitalian_": "Portarupie progressivo", "EURgerman_": "Geldbörsen Aufwertung" }}, + "PROGRESSIVE_SCALE": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "0x86", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "ProgressiveScale", "HintKey": "PROGRESSIVE_SCALE", "Name": { "NAenglish_": "Progressive Scale", "NAfrench_": "Écaille (prog.)", "NAspanish_": "Escama progresiva", "EURitalian_": "Squama progressiva", "EURgerman_": "Zora-Schuppen Aufwertung" }}, + "PROGRESSIVE_NUT_UPGRADE": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "0x87", "ItemClass": "ITEMCLASS_NONE", "LogicVar": "noVariable", "HintKey": "PROGRESSIVE_NUT_UPGRADE", "Name": { "NAenglish_": "Progressive Nut Capacity", "NAfrench_": "Capacité de noix (prog.)", "NAspanish_": "Capacidad de nueces deku progresiva", "EURitalian_": "Espansione per noci Deku progressiva", "EURgerman_": "Nuss-Kapazität Aufwertung" }}, + "PROGRESSIVE_STICK_UPGRADE": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "0x88", "ItemClass": "ITEMCLASS_NONE", "LogicVar": "noVariable", "HintKey": "PROGRESSIVE_STICK_UPGRADE", "Name": { "NAenglish_": "Progressive Stick Capacity", "NAfrench_": "Capacité de bâtons (prog.)", "NAspanish_": "Capacidad de palos deku progresiva", "EURitalian_": "Espansione per rami Deku progressiva", "EURgerman_": "Stab-Kapazität Aufwertung" }}, + "PROGRESSIVE_BOMBCHUS": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "0x89", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "Bombchus", "HintKey": "PROGRESSIVE_BOMBCHUS", "Name": { "NAenglish_": "Progressive Bombchu", "NAfrench_": "Bombchus (prog.)", "NAspanish_": "Bombchus progresivos", "EURenglish_": "Progressive Bombchu", "EURfrench_": "Missiles teigneux (prog.)", "EURspanish_": "Bombchus progresivos", "EURitalian_": "Radiomine progressive", "EURgerman_": "Krabbelminen Aufwertung" }}, + "PROGRESSIVE_MAGIC_METER": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "0x8A", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "ProgressiveMagic", "HintKey": "PROGRESSIVE_MAGIC_METER", "Name": { "NAenglish_": "Progressive Magic Meter", "NAfrench_": "Jauge de magie (prog.)", "NAspanish_": "Poder mágico progresivo", "EURitalian_": "Barra della magia progressiva", "EURgerman_": "Magische Kraft Aufwertung" }}, + "PROGRESSIVE_OCARINA": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "0x8B", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "ProgressiveOcarina", "HintKey": "PROGRESSIVE_OCARINA", "Name": { "NAenglish_": "Progressive Ocarina", "NAfrench_": "Ocarina (prog.)", "NAspanish_": "Ocarina progresiva", "EURitalian_": "Ocarina progressiva", "EURgerman_": "Okarina Aufwertung" }}, + "PROGRESSIVE_GORONSWORD": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "0xD4", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "ProgressiveGiantKnife", "HintKey": "PROGRESSIVE_GORONSWORD", "Name": { "NAenglish_": "Progressive Goron Sword", "NAfrench_": "Épée Goron (prog.)", "NAspanish_": "Espada Goron progresiva", "EURitalian_": "Spada Goron progressiva", "EURgerman_": "Goronen-Schwert Aufwertung" }}, + + // Bottles + "EMPTY_BOTTLE": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "0x0F", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "Bottles", "HintKey": "EMPTY_BOTTLE", "Name": { "NAenglish_": "Empty Bottle", "NAfrench_": "Flacon vide", "NAspanish_": "Botella vacía", "EURitalian_": "Ampolla", "EURgerman_": "Leere Flasche" }}, + "BOTTLE_WITH_RED_POTION": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "0x8C", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "Bottles", "HintKey": "BOTTLE_WITH_RED_POTION", "Name": { "NAenglish_": "Bottle with Red Potion", "NAfrench_": "Flacon de potion rouge", "NAspanish_": "Botella de poción roja", "EURitalian_": "Ampolla di pozione vita", "EURgerman_": "Flasche (Rotes Elixier)" }}, + "BOTTLE_WITH_MILK": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "0x14", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "Bottles", "HintKey": "BOTTLE_WITH_MILK", "Name": { "NAenglish_": "Bottle with Milk", "NAfrench_": "Flacon de lait", "NAspanish_": "Botella de leche Lon Lon", "EURitalian_": "Ampolla di latte Lon Lon", "EURgerman_": "Flasche (Lon Lon-Milch)" }}, + "BOTTLE_WITH_GREEN_POTION": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "0x8D", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "Bottles", "HintKey": "BOTTLE_WITH_GREEN_POTION", "Name": { "NAenglish_": "Bottle with Green Potion", "NAfrench_": "Flacon de potion verte", "NAspanish_": "Botella de poción verde", "EURitalian_": "Ampolla di pozione magica", "EURgerman_": "Flasche (Grünes Elixier)" }}, + "BOTTLE_WITH_BLUE_POTION": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "0x8E", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "Bottles", "HintKey": "BOTTLE_WITH_BLUE_POTION", "Name": { "NAenglish_": "Bottle with Blue Potion", "NAfrench_": "Flacon de potion bleue", "NAspanish_": "Botella de poción azul", "EURitalian_": "Ampolla di pozione curatutto", "EURgerman_": "Flasche (Blaues Elixier)" }}, + "BOTTLE_WITH_FAIRY": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "0x8F", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "Bottles", "HintKey": "BOTTLE_WITH_FAIRY", "Name": { "NAenglish_": "Bottle with Fairy", "NAfrench_": "Fée en flacon", "NAspanish_": "Hada en una botella", "EURitalian_": "Fata in un'ampolla", "EURgerman_": "Flasche (Fee)" }}, + "BOTTLE_WITH_FISH": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "0x90", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "Bottles", "HintKey": "BOTTLE_WITH_FISH", "Name": { "NAenglish_": "Bottle with Fish", "NAfrench_": "Flacon avec un poisson", "NAspanish_": "Pez en una botella", "EURitalian_": "Pesce in un'ampolla", "EURgerman_": "Flasche (Fisch)" }}, + "BOTTLE_WITH_BLUE_FIRE": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "0x91", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "Bottles", "HintKey": "BOTTLE_WITH_BLUE_FIRE", "Name": { "NAenglish_": "Bottle with Blue Fire", "NAfrench_": "Flacon de flamme bleue", "NAspanish_": "Botella de fuego azul", "EURitalian_": "Ampolla di fuoco blu", "EURgerman_": "Flasche (Blaues Feuer)" }}, + "BOTTLE_WITH_BUGS": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "0x92", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "Bottles", "HintKey": "BOTTLE_WITH_BUGS", "Name": { "NAenglish_": "Bottle with Bugs", "NAfrench_": "Insecte en flacon", "NAspanish_": "Insecto en una botella", "EURitalian_": "Insetto in un'ampolla", "EURgerman_": "Flasche (Käfer)" }}, + "BOTTLE_WITH_POE": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "0x94", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "Bottles", "HintKey": "BOTTLE_WITH_POE", "Name": { "NAenglish_": "Bottle with Poe", "NAfrench_": "Esprit en flacon", "NAspanish_": "Poe en una botella", "EURenglish_": "Bottle with Poe", "EURfrench_": "Spectre en flacon", "EURspanish_": "Poe en una botella", "EURitalian_": "Poo in un'ampolla", "EURgerman_": "Flasche (Irrlicht)" }}, + + // Special bottles that can't immediately dump contents + "RUTOS_LETTER": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "0x15", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "RutosLetter", "HintKey": "RUTOS_LETTER", "Name": { "NAenglish_": "Bottle with Ruto's Letter", "NAfrench_": "Flacon avec une lettre", "NAspanish_": "Carta de Ruto", "EURitalian_": "Lettera in un'ampolla", "EURgerman_": "Flasche (Rutos Brief)" }}, + "BOTTLE_WITH_BIG_POE": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "0x93", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "BottleWithBigPoe", "HintKey": "BOTTLE_WITH_BIG_POE", "Name": { "NAenglish_": "Bottle with Big Poe", "NAfrench_": "Grand esprit en flacon", "NAspanish_": "Gran Poe en una botella", "EURenglish_": "Bottle with Big Poe", "EURfrench_": "Âme en flacon", "EURspanish_": "Gran Poe en una botella", "EURitalian_": "Grande Poo in un'ampolla", "EURgerman_": "Flasche (Nachtschwärmer)" }}, + + // Songs + "ZELDAS_LULLABY": { "ItemType": "ITEMTYPE_SONG", "GetItemID": "0xC1", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "ZeldasLullaby_item", "HintKey": "ZELDAS_LULLABY", "Name": { "NAenglish_": "Zelda's Lullaby", "NAfrench_": "Berceuse de Zelda", "NAspanish_": "Nana de Zelda", "EURitalian_": "Ninna nanna di Zelda", "EURgerman_": "Zeldas Wiegenlied" }}, + "EPONAS_SONG": { "ItemType": "ITEMTYPE_SONG", "GetItemID": "0xC2", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "EponasSong_item", "HintKey": "EPONAS_SONG", "Name": { "NAenglish_": "Epona's Song", "NAfrench_": "Chant d'Épona", "NAspanish_": "Canción de Epona", "EURitalian_": "Canzone di Epona", "EURgerman_": "Eponas Lied" }}, + "SARIAS_SONG": { "ItemType": "ITEMTYPE_SONG", "GetItemID": "0xC3", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "SariasSong_item", "HintKey": "SARIAS_SONG", "Name": { "NAenglish_": "Saria's Song", "NAfrench_": "Chant de Saria", "NAspanish_": "Canción de Saria", "EURitalian_": "Canzone di Saria", "EURgerman_": "Salias Lied" }}, + "SUNS_SONG": { "ItemType": "ITEMTYPE_SONG", "GetItemID": "0xC4", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "SunsSong_item", "HintKey": "SUNS_SONG", "Name": { "NAenglish_": "Sun's Song", "NAfrench_": "Chant du soleil", "NAspanish_": "Canción del Sol", "EURitalian_": "Canto del sole", "EURgerman_": "Hymne der Sonne" }}, + "SONG_OF_TIME": { "ItemType": "ITEMTYPE_SONG", "GetItemID": "0xC5", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "SongOfTime_item", "HintKey": "SONG_OF_TIME", "Name": { "NAenglish_": "Song of Time", "NAfrench_": "Chant du temps", "NAspanish_": "Canción del tiempo", "EURitalian_": "Canzone del tempo", "EURgerman_": "Hymne der Zeit" }}, + "SONG_OF_STORMS": { "ItemType": "ITEMTYPE_SONG", "GetItemID": "0xC6", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "SongOfStorms_item", "HintKey": "SONG_OF_STORMS", "Name": { "NAenglish_": "Song of Storms", "NAfrench_": "Chant des tempêtes", "NAspanish_": "Canción de la tormenta", "EURitalian_": "Canzone della tempesta", "EURgerman_": "Hymne des Sturms" }}, + "MINUET_OF_FOREST": { "ItemType": "ITEMTYPE_SONG", "GetItemID": "0xBB", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "MinuetOfForest_item", "HintKey": "MINUET_OF_FOREST", "Name": { "NAenglish_": "Minuet of Forest", "NAfrench_": "Menuet de la forêt", "NAspanish_": "Minueto del bosque", "EURitalian_": "Minuetto della foresta", "EURgerman_": "Menuett des Waldes" }}, + "BOLERO_OF_FIRE": { "ItemType": "ITEMTYPE_SONG", "GetItemID": "0xBC", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "BoleroOfFire_item", "HintKey": "BOLERO_OF_FIRE", "Name": { "NAenglish_": "Bolero of Fire", "NAfrench_": "Boléro du feu", "NAspanish_": "Bolero del fuego", "EURitalian_": "Bolero del fuoco", "EURgerman_": "Bolero des Feuers" }}, + "SERENADE_OF_WATER": { "ItemType": "ITEMTYPE_SONG", "GetItemID": "0xBD", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "SerenadeOfWater_item", "HintKey": "SERENADE_OF_WATER", "Name": { "NAenglish_": "Serenade of Water", "NAfrench_": "Sérénade de l'eau", "NAspanish_": "Serenata del agua", "EURitalian_": "Serenata dell'acqua", "EURgerman_": "Serenade des Wassers" }}, + "REQUIEM_OF_SPIRIT": { "ItemType": "ITEMTYPE_SONG", "GetItemID": "0xBE", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "RequiemOfSpirit_item", "HintKey": "REQUIEM_OF_SPIRIT", "Name": { "NAenglish_": "Requiem of Spirit", "NAfrench_": "Requiem des esprits", "NAspanish_": "Réquiem del espíritu", "EURitalian_": "Requiem dello spirito", "EURgerman_": "Requiem der Geister" }}, + "NOCTURNE_OF_SHADOW": { "ItemType": "ITEMTYPE_SONG", "GetItemID": "0xBF", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "NocturneOfShadow_item", "HintKey": "NOCTURNE_OF_SHADOW", "Name": { "NAenglish_": "Nocturne of Shadow", "NAfrench_": "Nocturne de l'ombre", "NAspanish_": "Nocturno de la sombra", "EURitalian_": "Notturno delle ombre", "EURgerman_": "Nocturne des Schattens" }}, + "PRELUDE_OF_LIGHT": { "ItemType": "ITEMTYPE_SONG", "GetItemID": "0xC0", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "PreludeOfLight_item", "HintKey": "PRELUDE_OF_LIGHT", "Name": { "NAenglish_": "Prelude of Light", "NAfrench_": "Prélude de la lumière", "NAspanish_": "Preludio de la luz", "EURitalian_": "Preludio della luce", "EURgerman_": "Kantate des Lichts" }}, + + // Maps and Compasses + "DEKU_TREE_MAP": { "ItemType": "ITEMTYPE_MAP", "GetItemID": "0xA5", "ItemClass": "ITEMCLASS_NONE", "LogicVar": "noVariable", "HintKey": "DEKU_TREE_MAP", "Name": { "NAenglish_": "Great Deku Tree Map", "NAfrench_": "Carte de l'arbre Mojo", "NAspanish_": "Mapa del Gran Árbol Deku", "EURitalian_": "Mappa del Grande Albero Deku", "EURgerman_": "Labyrinth-Karte des Deku-Baumes" }}, + "DODONGOS_CAVERN_MAP": { "ItemType": "ITEMTYPE_MAP", "GetItemID": "0xA6", "ItemClass": "ITEMCLASS_NONE", "LogicVar": "noVariable", "HintKey": "DODONGOS_CAVERN_MAP", "Name": { "NAenglish_": "Dodongo's Cavern Map", "NAfrench_": "Carte de la grotte Dodongo", "NAspanish_": "Mapa de la Cueva de los Dodongos", "EURitalian_": "Mappa della caverna dei Dodongo", "EURgerman_": "Labyrinth-Karte von Dodongos Höhle" }}, + "JABU_JABUS_BELLY_MAP": { "ItemType": "ITEMTYPE_MAP", "GetItemID": "0xA7", "ItemClass": "ITEMCLASS_NONE", "LogicVar": "noVariable", "HintKey": "JABU_JABUS_BELLY_MAP", "Name": { "NAenglish_": "Jabu-Jabu's Belly Map", "NAfrench_": "Carte de Jabu-Jabu", "NAspanish_": "Mapa de la tripa de Jabu-Jabu", "EURitalian_": "Mappa della pancia di Jabu Jabu", "EURgerman_": "Labyrinth-Karte von Jabu-Jabus Bauch" }}, + "FOREST_TEMPLE_MAP": { "ItemType": "ITEMTYPE_MAP", "GetItemID": "0xA8", "ItemClass": "ITEMCLASS_NONE", "LogicVar": "noVariable", "HintKey": "FOREST_TEMPLE_MAP", "Name": { "NAenglish_": "Forest Temple Map", "NAfrench_": "Carte du temple de la forêt", "NAspanish_": "Mapa del Templo del Bosque", "EURitalian_": "Mappa del Santuario della Foresta", "EURgerman_": "Labyrinth-Karte des Waldtempels" }}, + "FIRE_TEMPLE_MAP": { "ItemType": "ITEMTYPE_MAP", "GetItemID": "0xA9", "ItemClass": "ITEMCLASS_NONE", "LogicVar": "noVariable", "HintKey": "FIRE_TEMPLE_MAP", "Name": { "NAenglish_": "Fire Temple Map", "NAfrench_": "Carte du temple du feu", "NAspanish_": "Mapa del Templo del Fuego", "EURitalian_": "Mappa del Santuario del Fuoco", "EURgerman_": "Labyrinth-Karte des Feuertempels" }}, + "WATER_TEMPLE_MAP": { "ItemType": "ITEMTYPE_MAP", "GetItemID": "0xAA", "ItemClass": "ITEMCLASS_NONE", "LogicVar": "noVariable", "HintKey": "WATER_TEMPLE_MAP", "Name": { "NAenglish_": "Water Temple Map", "NAfrench_": "Carte du temple de l'eau", "NAspanish_": "Mapa del Templo del Agua", "EURitalian_": "Mappa del Santuario dell'Acqua", "EURgerman_": "Labyrinth-Karte des Wassertempels" }}, + "SPIRIT_TEMPLE_MAP": { "ItemType": "ITEMTYPE_MAP", "GetItemID": "0xAB", "ItemClass": "ITEMCLASS_NONE", "LogicVar": "noVariable", "HintKey": "SPIRIT_TEMPLE_MAP", "Name": { "NAenglish_": "Spirit Temple Map", "NAfrench_": "Carte du temple de l'esprit", "NAspanish_": "Mapa del Templo del Espíritu", "EURitalian_": "Mappa del Santuario dello Spirito", "EURgerman_": "Labyrinth-Karte des Geistertempels" }}, + "SHADOW_TEMPLE_MAP": { "ItemType": "ITEMTYPE_MAP", "GetItemID": "0xAC", "ItemClass": "ITEMCLASS_NONE", "LogicVar": "noVariable", "HintKey": "SHADOW_TEMPLE_MAP", "Name": { "NAenglish_": "Shadow Temple Map", "NAfrench_": "Carte du temple de l'ombre", "NAspanish_": "Mapa del Templo de la Sombra", "EURitalian_": "Mappa del Santuario dell'Ombra", "EURgerman_": "Labyrinth-Karte des Schattentempels" }}, + "BOTTOM_OF_THE_WELL_MAP": { "ItemType": "ITEMTYPE_MAP", "GetItemID": "0xAD", "ItemClass": "ITEMCLASS_NONE", "LogicVar": "noVariable", "HintKey": "BOTTOM_OF_THE_WELL_MAP", "Name": { "NAenglish_": "Bottom of the Well Map", "NAfrench_": "Carte du fond du puits", "NAspanish_": "Mapa del fondo del pozo", "EURitalian_": "Mappa del fondo del pozzo", "EURgerman_": "Labyrinth-Karte vom Grund des Brunnens" }}, + "ICE_CAVERN_MAP": { "ItemType": "ITEMTYPE_MAP", "GetItemID": "0xAE", "ItemClass": "ITEMCLASS_NONE", "LogicVar": "noVariable", "HintKey": "ICE_CAVERN_MAP", "Name": { "NAenglish_": "Ice Cavern Map", "NAfrench_": "Carte de la caverne polaire", "NAspanish_": "Mapa de la caverna de hielo", "EURitalian_": "Mappa della caverna di ghiaccio", "EURgerman_": "Labyrinth-Karte der Eishöhle" }}, + + "DEKU_TREE_COMPASS": { "ItemType": "ITEMTYPE_COMPASS", "GetItemID": "0x9B", "ItemClass": "ITEMCLASS_NONE", "LogicVar": "noVariable", "HintKey": "DEKU_TREE_COMPASS", "Name": { "NAenglish_": "Great Deku Tree Compass", "NAfrench_": "Boussole de l'arbre Mojo", "NAspanish_": "Brújula del Gran Árbol Deku", "EURitalian_": "Bussola del Grande Albero Deku", "EURgerman_": "Kompass des Deku-Baumes" }}, + "DODONGOS_CAVERN_COMPASS": { "ItemType": "ITEMTYPE_COMPASS", "GetItemID": "0x9C", "ItemClass": "ITEMCLASS_NONE", "LogicVar": "noVariable", "HintKey": "DODONGOS_CAVERN_COMPASS", "Name": { "NAenglish_": "Dodongo's Cavern Compass", "NAfrench_": "Boussole de la grotte Dodongo", "NAspanish_": "Brújula de la Cueva de los Dodongos", "EURitalian_": "Bussola della caverna dei Dodongo", "EURgerman_": "Kompass von Dodongos Höhle" }}, + "JABU_JABUS_BELLY_COMPASS": { "ItemType": "ITEMTYPE_COMPASS", "GetItemID": "0x9D", "ItemClass": "ITEMCLASS_NONE", "LogicVar": "noVariable", "HintKey": "JABU_JABUS_BELLY_COMPASS", "Name": { "NAenglish_": "Jabu-Jabu's Belly Compass", "NAfrench_": "Boussole de Jabu-Jabu", "NAspanish_": "Brújula de la tripa de Jabu-Jabu", "EURitalian_": "Bussola della pancia di Jabu Jabu", "EURgerman_": "Kompass von Jabu-Jabus Bauch" }}, + "FOREST_TEMPLE_COMPASS": { "ItemType": "ITEMTYPE_COMPASS", "GetItemID": "0x9E", "ItemClass": "ITEMCLASS_NONE", "LogicVar": "noVariable", "HintKey": "FOREST_TEMPLE_COMPASS", "Name": { "NAenglish_": "Forest Temple Compass", "NAfrench_": "Boussole du temple de la forêt", "NAspanish_": "Brújula del Templo del Bosque", "EURitalian_": "Bussola del Santuario della Foresta", "EURgerman_": "Kompass des Waldtempels" }}, + "FIRE_TEMPLE_COMPASS": { "ItemType": "ITEMTYPE_COMPASS", "GetItemID": "0x9F", "ItemClass": "ITEMCLASS_NONE", "LogicVar": "noVariable", "HintKey": "FIRE_TEMPLE_COMPASS", "Name": { "NAenglish_": "Fire Temple Compass", "NAfrench_": "Boussole du temple du feu", "NAspanish_": "Brújula del Templo del Fuego", "EURitalian_": "Bussola del Santuario del Fuoco", "EURgerman_": "Kompass des Feuertempels" }}, + "WATER_TEMPLE_COMPASS": { "ItemType": "ITEMTYPE_COMPASS", "GetItemID": "0xA0", "ItemClass": "ITEMCLASS_NONE", "LogicVar": "noVariable", "HintKey": "WATER_TEMPLE_COMPASS", "Name": { "NAenglish_": "Water Temple Compass", "NAfrench_": "Boussole du temple de l'eau", "NAspanish_": "Brújula del Templo del Agua", "EURitalian_": "Bussola del Santuario dell'Acqua", "EURgerman_": "Kompass des Wassertempels" }}, + "SPIRIT_TEMPLE_COMPASS": { "ItemType": "ITEMTYPE_COMPASS", "GetItemID": "0xA1", "ItemClass": "ITEMCLASS_NONE", "LogicVar": "noVariable", "HintKey": "SPIRIT_TEMPLE_COMPASS", "Name": { "NAenglish_": "Spirit Temple Compass", "NAfrench_": "Boussole du temple de l'esprit", "NAspanish_": "Brújula del Templo del Espíritu", "EURitalian_": "Bussola del Santuario dello Spirito", "EURgerman_": "Kompass des Geistertempels" }}, + "SHADOW_TEMPLE_COMPASS": { "ItemType": "ITEMTYPE_COMPASS", "GetItemID": "0xA2", "ItemClass": "ITEMCLASS_NONE", "LogicVar": "noVariable", "HintKey": "SHADOW_TEMPLE_COMPASS", "Name": { "NAenglish_": "Shadow Temple Compass", "NAfrench_": "Boussole du temple de l'ombre", "NAspanish_": "Brújula del Templo de las Sombras", "EURitalian_": "Bussola del Santuario dell'Ombra", "EURgerman_": "Kompass des Schattentempels" }}, + "BOTTOM_OF_THE_WELL_COMPASS": { "ItemType": "ITEMTYPE_COMPASS", "GetItemID": "0xA3", "ItemClass": "ITEMCLASS_NONE", "LogicVar": "noVariable", "HintKey": "BOTTOM_OF_THE_WELL_COMPASS", "Name": { "NAenglish_": "Bottom of the Well Compass", "NAfrench_": "Boussole du fond du puits", "NAspanish_": "Brújula del fondo del pozo", "EURitalian_": "Bussola del fondo del pozzo", "EURgerman_": "Kompass vom Grund des Brunnens" }}, + "ICE_CAVERN_COMPASS": { "ItemType": "ITEMTYPE_COMPASS", "GetItemID": "0xA4", "ItemClass": "ITEMCLASS_NONE", "LogicVar": "noVariable", "HintKey": "ICE_CAVERN_COMPASS", "Name": { "NAenglish_": "Ice Cavern Compass", "NAfrench_": "Boussole de la caverne polaire", "NAspanish_": "Brújula de la caverna de hielo", "EURitalian_": "Bussola della caverna di ghiaccio", "EURgerman_": "Kompass der Eishöhle" }}, + + // Boss Keys + "FOREST_TEMPLE_BOSS_KEY": { "ItemType": "ITEMTYPE_BOSSKEY", "GetItemID": "0x95", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "BossKeyForestTemple", "HintKey": "FOREST_TEMPLE_BOSS_KEY", "Name": { "NAenglish_": "Forest Temple Big Key", "NAfrench_": "Grande clé du temple de la forêt", "NAspanish_": "Gran llave del Templo del Bosque", "EURenglish_": "Forest Temple Big Key", "EURfrench_": "Clé d'or du temple de la forêt", "EURspanish_": "Gran llave del Templo del Bosque", "EURitalian_": "Grande chiave del Santuario della Foresta","EURgerman_": "Master-Schlüssel des Waldtempels" }}, + "FIRE_TEMPLE_BOSS_KEY": { "ItemType": "ITEMTYPE_BOSSKEY", "GetItemID": "0x96", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "BossKeyFireTemple", "HintKey": "FIRE_TEMPLE_BOSS_KEY", "Name": { "NAenglish_": "Fire Temple Big Key", "NAfrench_": "Grande clé du temple du feu", "NAspanish_": "Gran llave del Templo del Fuego", "EURenglish_": "Fire Temple Big Key", "EURfrench_": "Clé d'or du temple du feu", "EURspanish_": "Gran llave del Templo del Fuego", "EURitalian_": "Grande chiave del Santuario del Fuoco", "EURgerman_": "Master-Schlüssel des Feuertempels" }}, + "WATER_TEMPLE_BOSS_KEY": { "ItemType": "ITEMTYPE_BOSSKEY", "GetItemID": "0x97", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "BossKeyWaterTemple", "HintKey": "WATER_TEMPLE_BOSS_KEY", "Name": { "NAenglish_": "Water Temple Big Key", "NAfrench_": "Grande clé du temple de l'eau", "NAspanish_": "Gran llave del Templo del Agua", "EURenglish_": "Water Temple Big Key", "EURfrench_": "Clé d'or du temple de l'eau", "EURspanish_": "Gran llave del Templo del Agua", "EURitalian_": "Grande chiave del Santuario dell'Acqua", "EURgerman_": "Master-Schlüssel des Wassertempels" }}, + "SPIRIT_TEMPLE_BOSS_KEY": { "ItemType": "ITEMTYPE_BOSSKEY", "GetItemID": "0x98", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "BossKeySpiritTemple", "HintKey": "SPIRIT_TEMPLE_BOSS_KEY", "Name": { "NAenglish_": "Spirit Temple Big Key", "NAfrench_": "Grande clé du temple de l'esprit", "NAspanish_": "Gran llave del Templo del Espíritu", "EURenglish_": "Spirit Temple Big Key", "EURfrench_": "Clé d'or du temple de l'esprit", "EURspanish_": "Gran llave del Templo del Espíritu", "EURitalian_": "Grande chiave del Santuario dello Spirito","EURgerman_": "Master-Schlüssel des Geistertempels" }}, + "SHADOW_TEMPLE_BOSS_KEY": { "ItemType": "ITEMTYPE_BOSSKEY", "GetItemID": "0x99", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "BossKeyShadowTemple", "HintKey": "SHADOW_TEMPLE_BOSS_KEY", "Name": { "NAenglish_": "Shadow Temple Big Key", "NAfrench_": "Grande clé du temple de l'ombre", "NAspanish_": "Gran llave del Templo de las Sombras", "EURenglish_": "Shadow Temple Big Key", "EURfrench_": "Clé d'or du temple de l'ombre", "EURspanish_": "Gran llave del Templo de las Sombras", "EURitalian_": "Grande chiave del Santuario dell'Ombra", "EURgerman_": "Master-Schlüssel des Schattentempels" }}, + "GANONS_CASTLE_BOSS_KEY": { "ItemType": "ITEMTYPE_BOSSKEY", "GetItemID": "0x9A", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "BossKeyGanonsCastle", "HintKey": "GANONS_CASTLE_BOSS_KEY", "Name": { "NAenglish_": "Ganon's Castle Big Key", "NAfrench_": "Grande clé du château de Ganon", "NAspanish_": "Gran llave del Castillo de Ganon", "EURenglish_": "Ganon's Castle Big Key", "EURfrench_": "Clé d'or du château de Ganon", "EURspanish_": "Gran llave del Castillo de Ganon", "EURitalian_": "Grande chiave del castello di Ganon", "EURgerman_": "Master-Schlüssel von Ganons Schloss" }}, + + // Small Keys + "FOREST_TEMPLE_SMALL_KEY": { "ItemType": "ITEMTYPE_SMALLKEY", "GetItemID": "0xAF", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "ForestTempleKeys", "HintKey": "FOREST_TEMPLE_SMALL_KEY", "Name": { "NAenglish_": "Forest Temple Small Key", "NAfrench_": "Petite clé du temple de la forêt", "NAspanish_": "Llave del Templo del Bosque", "EURitalian_": "Chiave del Santuario della Foresta", "EURgerman_": "Kleiner Schlüssel des Waldtempels" }}, + "FIRE_TEMPLE_SMALL_KEY": { "ItemType": "ITEMTYPE_SMALLKEY", "GetItemID": "0xB0", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "FireTempleKeys", "HintKey": "FIRE_TEMPLE_SMALL_KEY", "Name": { "NAenglish_": "Fire Temple Small Key", "NAfrench_": "Petite clé du temple du feu", "NAspanish_": "Llave del Templo del Fuego", "EURitalian_": "Chiave del Santuario del Fuoco", "EURgerman_": "Kleiner Schlüssel des Feuertempels" }}, + "WATER_TEMPLE_SMALL_KEY": { "ItemType": "ITEMTYPE_SMALLKEY", "GetItemID": "0xB1", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "WaterTempleKeys", "HintKey": "WATER_TEMPLE_SMALL_KEY", "Name": { "NAenglish_": "Water Temple Small Key", "NAfrench_": "Petite clé du temple de l'eau", "NAspanish_": "Llave del Templo del Agua", "EURitalian_": "Chiave del Santuario dell'Acqua", "EURgerman_": "Kleiner Schlüssel des Wassertempels" }}, + "SPIRIT_TEMPLE_SMALL_KEY": { "ItemType": "ITEMTYPE_SMALLKEY", "GetItemID": "0xB2", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "SpiritTempleKeys", "HintKey": "SPIRIT_TEMPLE_SMALL_KEY", "Name": { "NAenglish_": "Spirit Temple Small Key", "NAfrench_": "Petite clé du temple de l'esprit", "NAspanish_": "Llave del Templo del Espíritu", "EURitalian_": "Chiave del Santuario dello Spirito", "EURgerman_": "Kleiner Schlüssel des Geistertempels" }}, + "SHADOW_TEMPLE_SMALL_KEY": { "ItemType": "ITEMTYPE_SMALLKEY", "GetItemID": "0xB3", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "ShadowTempleKeys", "HintKey": "SHADOW_TEMPLE_SMALL_KEY", "Name": { "NAenglish_": "Shadow Temple Small Key", "NAfrench_": "Petite clé du temple de l'ombre", "NAspanish_": "Llave del Templo de las Sombras", "EURitalian_": "Chiave del Santuario dell'Ombra", "EURgerman_": "Kleiner Schlüssel des Schattentempels" }}, + "BOTTOM_OF_THE_WELL_SMALL_KEY": { "ItemType": "ITEMTYPE_SMALLKEY", "GetItemID": "0xB4", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "BottomOfTheWellKeys", "HintKey": "BOTTOM_OF_THE_WELL_SMALL_KEY", "Name": { "NAenglish_": "Bottom of the Well Small Key", "NAfrench_": "Petite clé du fond du puits", "NAspanish_": "Llave del fondo del pozo", "EURitalian_": "Chiave del fondo del pozzo", "EURgerman_": "Kleiner Schlüssel vom Grund des Brunnens" }}, + "GERUDO_TRAINING_GROUNDS_SMALL_KEY":{"ItemType": "ITEMTYPE_SMALLKEY", "GetItemID": "0xB5", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "GerudoTrainingGroundsKeys", "HintKey": "GERUDO_TRAINING_GROUNDS_SMALL_KEY", "Name": { "NAenglish_": "Training Grounds Small Key", "NAfrench_": "Petite clé du gymnase Gerudo", "NAspanish_": "Llave del Centro de Instrucción", "EURitalian_": "Chiave della zona di addestramento", "EURgerman_": "Kleiner Schlüssel der Gerudo Trainingsarena" }}, + "GERUDO_FORTRESS_SMALL_KEY": { "ItemType": "ITEMTYPE_FORTRESS_SMALLKEY", "GetItemID": "0xB6", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "GerudoFortressKeys", "HintKey": "GERUDO_FORTRESS_SMALL_KEY", "Name": { "NAenglish_": "Gerudo Fortress Small Key", "NAfrench_": "Petite clé du repaire Gerudo", "NAspanish_": "Llave de la Fortaleza Gerudo", "EURitalian_": "Chiave della fortezza Gerudo", "EURgerman_": "Kleiner Schlüssel des Diebesverstecks" }}, + "GANONS_CASTLE_SMALL_KEY": { "ItemType": "ITEMTYPE_SMALLKEY", "GetItemID": "0xB7", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "GanonsCastleKeys", "HintKey": "GANONS_CASTLE_SMALL_KEY", "Name": { "NAenglish_": "Ganon's Castle Small Key", "NAfrench_": "Petite clé du château de Ganon", "NAspanish_": "Llave del Castillo de Ganon", "EURitalian_": "Chiave del castello di Ganon", "EURgerman_": "Kleiner Schlüssel von Ganons Schloss" }}, + "TREASURE_GAME_SMALL_KEY": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "0xDE", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "TreasureGameKeys", "HintKey": "TREASURE_GAME_SMALL_KEY", "Name": { "NAenglish_": "Chest Game Small Key", "NAfrench_": "Clé de la chasse aux trésors", "NAspanish_": "Llave del Cofre del Tesoro", "EURitalian_": "Chiave della sala della fortuna", "EURgerman_": "Kleiner Schlüssel der Truhenlotterie" }}, + + // Key Rings + "FOREST_TEMPLE_KEY_RING": { "ItemType": "ITEMTYPE_SMALLKEY", "GetItemID": "0xD5", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "ForestTempleKeys", "HintKey": "FOREST_TEMPLE_KEY_RING", "Name": { "NAenglish_": "Forest Temple Key Ring", "NAfrench_": "Trousseau du temple de la forêt", "NAspanish_": "Llavero del Templo del Bosque", "EURitalian_": "Chiavi del Santuario della Foresta", "EURgerman_": "Schlüsselbund des Waldtempels" }}, + "FIRE_TEMPLE_KEY_RING": { "ItemType": "ITEMTYPE_SMALLKEY", "GetItemID": "0xD6", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "FireTempleKeys", "HintKey": "FIRE_TEMPLE_KEY_RING", "Name": { "NAenglish_": "Fire Temple Key Ring", "NAfrench_": "Trousseau du temple du feu", "NAspanish_": "Llavero del Templo del Fuego", "EURitalian_": "Chiavi del Santuario del Fuoco", "EURgerman_": "Schlüsselbund des Feuertempels" }}, + "WATER_TEMPLE_KEY_RING": { "ItemType": "ITEMTYPE_SMALLKEY", "GetItemID": "0xD7", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "WaterTempleKeys", "HintKey": "WATER_TEMPLE_KEY_RING", "Name": { "NAenglish_": "Water Temple Key Ring", "NAfrench_": "Trousseau du temple de l'eau", "NAspanish_": "Llavero del Templo del Agua", "EURitalian_": "Chiavi del Santuario dell'Acqua", "EURgerman_": "Schlüsselbund des Wassertempels" }}, + "SPIRIT_TEMPLE_KEY_RING": { "ItemType": "ITEMTYPE_SMALLKEY", "GetItemID": "0xD8", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "SpiritTempleKeys", "HintKey": "SPIRIT_TEMPLE_KEY_RING", "Name": { "NAenglish_": "Spirit Temple Key Ring", "NAfrench_": "Trousseau du temple de l'esprit", "NAspanish_": "Llavero del Templo del Espíritu", "EURitalian_": "Chiavi del Santuario dello Spirito", "EURgerman_": "Schlüsselbund des Geistertempels" }}, + "SHADOW_TEMPLE_KEY_RING": { "ItemType": "ITEMTYPE_SMALLKEY", "GetItemID": "0xD9", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "ShadowTempleKeys", "HintKey": "SHADOW_TEMPLE_KEY_RING", "Name": { "NAenglish_": "Shadow Temple Key Ring", "NAfrench_": "Trousseau du temple de l'ombre", "NAspanish_": "Llavero del Templo de las Sombras", "EURitalian_": "Chiavi del Santuario dell'Ombra", "EURgerman_": "Schlüsselbund des Schattentempels" }}, + "BOTTOM_OF_THE_WELL_KEY_RING": { "ItemType": "ITEMTYPE_SMALLKEY", "GetItemID": "0xDA", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "BottomOfTheWellKeys", "HintKey": "BOTTOM_OF_THE_WELL_KEY_RING", "Name": { "NAenglish_": "Bottom of the Well Key Ring", "NAfrench_": "Trousseau du fond du puits", "NAspanish_": "Llavero del fondo del pozo", "EURitalian_": "Chiavi del fondo del pozzo", "EURgerman_": "Schlüsselbund vom Grund des Brunnens" }}, + "GERUDO_TRAINING_GROUNDS_KEY_RING":{ "ItemType": "ITEMTYPE_SMALLKEY", "GetItemID": "0xDB", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "GerudoTrainingGroundsKeys", "HintKey": "GERUDO_TRAINING_GROUNDS_KEY_RING", "Name": { "NAenglish_": "Training Grounds Key Ring", "NAfrench_": "Trousseau du gymnase Gerudo", "NAspanish_": "Llavero del Centro de Instrucción", "EURitalian_": "Chiavi della zona di addestramento", "EURgerman_": "Schlüsselbund der Gerudo Trainingsarena" }}, + "GERUDO_FORTRESS_KEY_RING": { "ItemType": "ITEMTYPE_FORTRESS_SMALLKEY", "GetItemID": "0xDC", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "GerudoFortressKeys", "HintKey": "GERUDO_FORTRESS_KEY_RING", "Name": { "NAenglish_": "Gerudo Fortress Key Ring", "NAfrench_": "Trousseau du repaire Gerudo", "NAspanish_": "Llavero de la Fortaleza Gerudo", "EURitalian_": "Chiavi della fortezza Gerudo", "EURgerman_": "Schlüsselbund des Diebesverstecks" }}, + "GANONS_CASTLE_KEY_RING": { "ItemType": "ITEMTYPE_SMALLKEY", "GetItemID": "0xDD", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "GanonsCastleKeys", "HintKey": "GANONS_CASTLE_KEY_RING", "Name": { "NAenglish_": "Ganon's Castle Key Ring", "NAfrench_": "Trousseau du château de Ganon", "NAspanish_": "Llavero del Castillo de Ganon", "EURitalian_": "Chiavi del castello di Ganon", "EURgerman_": "Schlüsselbund von Ganons Schloss" }}, + + // Stones and Medallions + "KOKIRI_EMERALD": { "ItemType": "ITEMTYPE_DUNGEONREWARD", "GetItemID": "0xCB", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "KokiriEmerald", "HintKey": "KOKIRI_EMERALD", "Name": { "NAenglish_": "Kokiri's Emerald", "NAfrench_": "Émeraude Kokiri", "NAspanish_": "Esmeralda de los Kokiri", "EURitalian_": "Smeraldo dei Kokiri", "EURgerman_": "Kokiri-Smaragd" }}, + "GORON_RUBY": { "ItemType": "ITEMTYPE_DUNGEONREWARD", "GetItemID": "0xCC", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "GoronRuby", "HintKey": "GORON_RUBY", "Name": { "NAenglish_": "Goron's Ruby", "NAfrench_": "Rubis Goron", "NAspanish_": "Rubí de los Goron", "EURitalian_": "Rubino dei Goron", "EURgerman_": "Goronen-Rubin" }}, + "ZORA_SAPPHIRE": { "ItemType": "ITEMTYPE_DUNGEONREWARD", "GetItemID": "0xCD", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "ZoraSapphire", "HintKey": "ZORA_SAPPHIRE", "Name": { "NAenglish_": "Zora's Sapphire", "NAfrench_": "Saphir Zora", "NAspanish_": "Zafiro de los Zora", "EURitalian_": "Zaffiro degli Zora", "EURgerman_": "Zora-Saphir" }}, + "FOREST_MEDALLION": { "ItemType": "ITEMTYPE_DUNGEONREWARD", "GetItemID": "0xCE", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "ForestMedallion", "HintKey": "FOREST_MEDALLION", "Name": { "NAenglish_": "Forest Medallion", "NAfrench_": "Médaillon de la forêt", "NAspanish_": "Medallón del Bosque", "EURitalian_": "Medaglione della Foresta", "EURgerman_": "Amulett des Waldes" }}, + "FIRE_MEDALLION": { "ItemType": "ITEMTYPE_DUNGEONREWARD", "GetItemID": "0xCF", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "FireMedallion", "HintKey": "FIRE_MEDALLION", "Name": { "NAenglish_": "Fire Medallion", "NAfrench_": "Médaillon du feu", "NAspanish_": "Medallón del Fuego", "EURitalian_": "Medaglione del Fuoco", "EURgerman_": "Amulett des Feuers" }}, + "WATER_MEDALLION": { "ItemType": "ITEMTYPE_DUNGEONREWARD", "GetItemID": "0xD0", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "WaterMedallion", "HintKey": "WATER_MEDALLION", "Name": { "NAenglish_": "Water Medallion", "NAfrench_": "Médaillon de l'eau", "NAspanish_": "Medallón del Agua", "EURitalian_": "Medaglione dell'Acqua", "EURgerman_": "Amulett des Wassers" }}, + "SPIRIT_MEDALLION": { "ItemType": "ITEMTYPE_DUNGEONREWARD", "GetItemID": "0xD1", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "SpiritMedallion", "HintKey": "SPIRIT_MEDALLION", "Name": { "NAenglish_": "Spirit Medallion", "NAfrench_": "Médaillon de l'esprit", "NAspanish_": "Medallón del Espíritu", "EURitalian_": "Medaglione dello Spirito", "EURgerman_": "Amulett der Geister" }}, + "SHADOW_MEDALLION": { "ItemType": "ITEMTYPE_DUNGEONREWARD", "GetItemID": "0xD2", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "ShadowMedallion", "HintKey": "SHADOW_MEDALLION", "Name": { "NAenglish_": "Shadow Medallion", "NAfrench_": "Médaillon de l'ombre", "NAspanish_": "Medallón de la Sombra", "EURitalian_": "Medaglione dell'Ombra", "EURgerman_": "Amulett des Schattens" }}, + "LIGHT_MEDALLION": { "ItemType": "ITEMTYPE_DUNGEONREWARD", "GetItemID": "0xD3", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "LightMedallion", "HintKey": "LIGHT_MEDALLION", "Name": { "NAenglish_": "Light Medallion", "NAfrench_": "Médaillon de la lumière", "NAspanish_": "Medallón de la Luz", "EURitalian_": "Medaglione della Luce", "EURgerman_": "Amulett des Lichts" }}, + + // Generic Items + "RECOVERY_HEART": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "GI_HEART", "ItemClass": "ITEMCLASS_JUNK", "LogicVar": "noVariable", "HintKey": "RECOVERY_HEART", "Name": { "NAenglish_": "Recovery Heart", "NAfrench_": "Cœur d'énergie", "NAspanish_": "Corazón", "EURitalian_": "Cuore", "EURgerman_": "Herz" }}, + "GREEN_RUPEE": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "GI_RUPEE_GREEN", "ItemClass": "ITEMCLASS_JUNK", "LogicVar": "noVariable", "HintKey": "GREEN_RUPEE", "Name": { "NAenglish_": "Green Rupee", "NAfrench_": "Rubis vert", "NAspanish_": "Rupia verde", "EURitalian_": "Rupia verde", "EURgerman_": "Rubin" }}, + "BLUE_RUPEE": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "GI_RUPEE_BLUE", "ItemClass": "ITEMCLASS_JUNK", "LogicVar": "noVariable", "HintKey": "BLUE_RUPEE", "Name": { "NAenglish_": "Blue Rupee", "NAfrench_": "Rubis bleu", "NAspanish_": "Rupia azul", "EURitalian_": "Rupia blu", "EURgerman_": "5 Rubine" }}, + "RED_RUPEE": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "GI_RUPEE_RED", "ItemClass": "ITEMCLASS_JUNK", "LogicVar": "noVariable", "HintKey": "RED_RUPEE", "Name": { "NAenglish_": "Red Rupee", "NAfrench_": "Rubis rouge", "NAspanish_": "Rupia roja", "EURitalian_": "Rupia rossa", "EURgerman_": "20 Rubine" }}, + "PURPLE_RUPEE": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "GI_RUPEE_PURPLE", "ItemClass": "ITEMCLASS_JUNK", "LogicVar": "noVariable", "HintKey": "PURPLE_RUPEE", "Name": { "NAenglish_": "Purple Rupee", "NAfrench_": "Rubis mauve", "NAspanish_": "Rupia morada", "EURenglish_": "Purple Rupee", "EURfrench_": "Rubis pourpre", "EURspanish_": "Rupia morada", "EURitalian_": "Rupia viola", "EURgerman_": "50 Rubine" }}, + "HUGE_RUPEE": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "GI_RUPEE_GOLD", "ItemClass": "ITEMCLASS_JUNK", "LogicVar": "noVariable", "HintKey": "HUGE_RUPEE", "Name": { "NAenglish_": "Huge Rupee", "NAfrench_": "Énorme rubis", "NAspanish_": "Rupia gigante", "EURitalian_": "Rupia gigante", "EURgerman_": "200 Rubine" }}, + "PIECE_OF_HEART": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "GI_HEART_PIECE", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "PieceOfHeart", "HintKey": "PIECE_OF_HEART", "Name": { "NAenglish_": "Piece of Heart", "NAfrench_": "Quart de cœur", "NAspanish_": "Pieza de corazón", "EURitalian_": "Frammento di cuore", "EURgerman_": "Herzteil" }}, + "HEART_CONTAINER": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "GI_HEART_CONTAINER_2", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "HeartContainer", "HintKey": "HEART_CONTAINER", "Name": { "NAenglish_": "Heart Container", "NAfrench_": "Réceptacle de cœur", "NAspanish_": "Contenedor de corazón", "EURitalian_": "Portacuori", "EURgerman_": "Herzcontainer" }}, + "ICE_TRAP": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "GI_ICE_TRAP", "ItemClass": "ITEMCLASS_JUNK", "LogicVar": "noVariable", "HintKey": "ICE_TRAP", "Name": { "NAenglish_": "Ice Trap", "NAfrench_": "Piège de glace", "NAspanish_": "Trampa de hielo", "EURitalian_": "Trappola", "EURgerman_": "Eisfalle" }}, + "MILK": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "GI_MILK", "ItemClass": "ITEMCLASS_JUNK", "LogicVar": "noVariable", "HintKey": "NONE", "Name": { "NAenglish_": "Milk", "NAfrench_": "Lait", "NAspanish_": "Leche Lon Lon", "EURitalian_": "Latte Lon Lon", "EURgerman_": "Lon Lon-Milch" }}, + + // Refills + "BOMBS_5": { "ItemType": "ITEMTYPE_REFILL", "GetItemID": "GI_BOMBS_5", "ItemClass": "ITEMCLASS_JUNK", "LogicVar": "noVariable", "HintKey": "BOMBS_5", "Name": { "NAenglish_": "Bombs (5)", "NAfrench_": "Bombes (5)", "NAspanish_": "Bombas (5)", "EURitalian_": "5 bombe", "EURgerman_": "Bomben (5 Stück)" }}, + "BOMBS_10": { "ItemType": "ITEMTYPE_REFILL", "GetItemID": "GI_BOMBS_10", "ItemClass": "ITEMCLASS_JUNK", "LogicVar": "noVariable", "HintKey": "BOMBS_10", "Name": { "NAenglish_": "Bombs (10)", "NAfrench_": "Bombes (10)", "NAspanish_": "Bombas (10)", "EURitalian_": "10 bombe", "EURgerman_": "Bomben (10 Stück)" }}, + "BOMBS_20": { "ItemType": "ITEMTYPE_REFILL", "GetItemID": "GI_BOMBS_20", "ItemClass": "ITEMCLASS_JUNK", "LogicVar": "noVariable", "HintKey": "BOMBS_20", "Name": { "NAenglish_": "Bombs (20)", "NAfrench_": "Bombes (20)", "NAspanish_": "Bombas (20)", "EURitalian_": "20 bombe", "EURgerman_": "Bomben (20 Stück)" }}, + "BOMBCHU_5": { "ItemType": "ITEMTYPE_REFILL", "GetItemID": "GI_BOMBCHUS_5", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "Bombchus5", "HintKey": "BOMBCHU_5", "Name": { "NAenglish_": "Bombchus (5)", "NAfrench_": "Bombchus (5)", "NAspanish_": "Bombchus (5)", "EURenglish_": "Bombchus (5)", "EURfrench_": "Missiles teigneux (5)", "EURspanish_": "Bombchus (5)", "EURitalian_": "5 radiomine", "EURgerman_": "Krabbelminen (5 Stück)" }}, + "BOMBCHU_10": { "ItemType": "ITEMTYPE_REFILL", "GetItemID": "GI_BOMBCHUS_10", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "Bombchus10", "HintKey": "BOMBCHU_10", "Name": { "NAenglish_": "Bombchus (10)", "NAfrench_": "Bombchus (10)", "NAspanish_": "Bombchus (10)", "EURenglish_": "Bombchus (10)", "EURfrench_": "Missiles teigneux (10)", "EURspanish_": "Bombchus (10)", "EURitalian_": "10 radiomine", "EURgerman_": "Krabbelminen (10 Stück)" }}, + "BOMBCHU_20": { "ItemType": "ITEMTYPE_REFILL", "GetItemID": "GI_BOMBCHUS_20", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "Bombchus20", "HintKey": "BOMBCHU_20", "Name": { "NAenglish_": "Bombchus (20)", "NAfrench_": "Bombchus (20)", "NAspanish_": "Bombchus (20)", "EURenglish_": "Bombchus (20)", "EURfrench_": "Missiles teigneux (20)", "EURspanish_": "Bombchus (20)", "EURitalian_": "20 radiomine", "EURgerman_": "Krabbelminen (20 Stück)" }}, + "BOMBCHU_DROP": { "ItemType": "ITEMTYPE_DROP", "GetItemID": "GI_BOMBCHUS_10", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "BombchuDrop", "HintKey": "NONE", "Name": { "NAenglish_": "Bombchu Drop", "NAfrench_": "Bombchus", "NAspanish_": "Bombchus", "EURenglish_": "Bombchu Drop", "EURfrench_": "Missiles teigneux", "EURspanish_": "Bombchus", "EURitalian_": "Drop di radiomine", "EURgerman_": "Krabbelminen" }}, + "ARROWS_5": { "ItemType": "ITEMTYPE_REFILL", "GetItemID": "GI_ARROWS_SMALL", "ItemClass": "ITEMCLASS_JUNK", "LogicVar": "noVariable", "HintKey": "ARROWS_5", "Name": { "NAenglish_": "Arrows (5)", "NAfrench_": "Flèches (5)", "NAspanish_": "Flechas (5)", "EURitalian_": "5 frecce", "EURgerman_": "Pfeile (5 Stück)" }}, + "ARROWS_10": { "ItemType": "ITEMTYPE_REFILL", "GetItemID": "GI_ARROWS_MEDIUM", "ItemClass": "ITEMCLASS_JUNK", "LogicVar": "noVariable", "HintKey": "ARROWS_10", "Name": { "NAenglish_": "Arrows (10)", "NAfrench_": "Flèches (10)", "NAspanish_": "Flechas (10)", "EURitalian_": "10 frecce", "EURgerman_": "Pfeile (10 Stück)" }}, + "ARROWS_30": { "ItemType": "ITEMTYPE_REFILL", "GetItemID": "GI_ARROWS_LARGE", "ItemClass": "ITEMCLASS_JUNK", "LogicVar": "noVariable", "HintKey": "ARROWS_30", "Name": { "NAenglish_": "Arrows (30)", "NAfrench_": "Flèches (30)", "NAspanish_": "Flechas (30)", "EURitalian_": "30 frecce", "EURgerman_": "Pfeile (30 Stück)" }}, + "DEKU_NUTS_5": { "ItemType": "ITEMTYPE_REFILL", "GetItemID": "GI_NUTS_5", "ItemClass": "ITEMCLASS_JUNK", "LogicVar": "noVariable", "HintKey": "DEKU_NUTS_5", "Name": { "NAenglish_": "Deku Nuts (5)", "NAfrench_": "Noix Mojo (5)", "NAspanish_": "Nueces deku (5)", "EURitalian_": "5 noci Deku", "EURgerman_": "Deku-Nüsse (5 Stück)" }}, + "DEKU_NUTS_10": { "ItemType": "ITEMTYPE_REFILL", "GetItemID": "GI_NUTS_10", "ItemClass": "ITEMCLASS_JUNK", "LogicVar": "noVariable", "HintKey": "DEKU_NUTS_10", "Name": { "NAenglish_": "Deku Nuts (10)", "NAfrench_": "Noix Mojo (10)", "NAspanish_": "Nueces deku (10)", "EURitalian_": "10 noci Deku", "EURgerman_": "Deku-Nüsse (10 Stück)" }}, + "DEKU_SEEDS_30": { "ItemType": "ITEMTYPE_REFILL", "GetItemID": "GI_SEEDS_30", "ItemClass": "ITEMCLASS_JUNK", "LogicVar": "noVariable", "HintKey": "DEKU_SEEDS_30", "Name": { "NAenglish_": "Deku Seeds (30)", "NAfrench_": "Graines Mojo (30)", "NAspanish_": "Semillas deku (30)", "EURitalian_": "30 semi Deku", "EURgerman_": "Deku-Kerne (30 Stück)" }}, + "DEKU_STICK_1": { "ItemType": "ITEMTYPE_REFILL", "GetItemID": "GI_STICKS_1", "ItemClass": "ITEMCLASS_JUNK", "LogicVar": "noVariable", "HintKey": "DEKU_STICK_1", "Name": { "NAenglish_": "Deku Stick (1)", "NAfrench_": "Bâton Mojo (1)", "NAspanish_": "Palo deku (1)", "EURitalian_": "1 ramo Deku", "EURgerman_": "Deku-Stab (1 Stück)" }}, + "RED_POTION_REFILL": { "ItemType": "ITEMTYPE_REFILL", "GetItemID": "GI_POTION_RED", "ItemClass": "ITEMCLASS_JUNK", "LogicVar": "noVariable", "HintKey": "NONE", "Name": { "NAenglish_": "Red Potion Refill", "NAfrench_": "Potion rouge", "NAspanish_": "Recarga de poción roja", "EURitalian_": "Dose di pozione vita", "EURgerman_": "Rotes Elixier" }}, + "GREEN_POTION_REFILL": { "ItemType": "ITEMTYPE_REFILL", "GetItemID": "GI_POTION_GREEN", "ItemClass": "ITEMCLASS_JUNK", "LogicVar": "noVariable", "HintKey": "NONE", "Name": { "NAenglish_": "Green Potion Refill", "NAfrench_": "Potion verte", "NAspanish_": "Recarga de poción verde", "EURitalian_": "Dose di pozione magica", "EURgerman_": "Grünes Elixier" }}, + "BLUE_POTION_REFILL": { "ItemType": "ITEMTYPE_REFILL", "GetItemID": "GI_POTION_BLUE", "ItemClass": "ITEMCLASS_JUNK", "LogicVar": "noVariable", "HintKey": "NONE", "Name": { "NAenglish_": "Blue Potion Refill", "NAfrench_": "Potion bleue", "NAspanish_": "Recarga de poción azul", "EURitalian_": "Dose di pozione curatutto", "EURgerman_": "Blaues Elixier" }}, + + //Treasure Game + "TREASURE_GAME_HEART": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "GI_HEART_PIECE_WIN", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "PieceOfHeart", "HintKey": "TREASURE_GAME_HEART", "Name": { "NAenglish_": "Piece of Heart (Treasure Chest Minigame)", "NAfrench_": "Quart de cœur (Chasse aux trésors)", "NAspanish_": "Pieza de corazón (Cofre del Tesoro)", "EURitalian_": "Frammento di cuore (sala della fortuna)", "EURgerman_": "Herzteil (Truhenlotterie)" }}, + "TREASURE_GAME_GREEN_RUPEE": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "GI_RUPEE_GREEN_LOSE", "ItemClass": "ITEMCLASS_NONE", "LogicVar": "noVariable", "HintKey": "TREASURE_GAME_GREEN_RUPEE", "Name": { "NAenglish_": "Green Rupee (Treasure Chest Minigame)", "NAfrench_": "Rubis vert (Chasse aux trésors)", "NAspanish_": "Rupia Verde (Cofre del Tesoro)", "EURitalian_": "Rupia verde (sala della fortuna)", "EURgerman_": "Rubin (Truhenlotterie)" }}, + + //Shop Items price + "BUY_DEKU_NUT_5": { "ItemType": "ITEMTYPE_SHOP", "GetItemID": "0x00", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "Nuts", "HintKey": "DEKU_NUTS_5", "price": 15, "Name": { "NAenglish_": "Buy Deku Nut (5)", "NAfrench_": "Acheter: Noix Mojo (5)", "NAspanish_": "Comprar nueces deku (5)", "EURitalian_": "5 noci Deku in vendita", "EURgerman_": "Deku-Nüsse (5 Stück)" }}, + "BUY_ARROWS_30": { "ItemType": "ITEMTYPE_SHOP", "GetItemID": "0x01", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "BuyArrow", "HintKey": "ARROWS_30", "price": 60, "Name": { "NAenglish_": "Buy Arrows (30)", "NAfrench_": "Acheter: Flèches (30)", "NAspanish_": "Comprar flechas (30)", "EURitalian_": "30 frecce in vendita", "EURgerman_": "Pfeile (30 Stück)" }}, + "BUY_ARROWS_50": { "ItemType": "ITEMTYPE_SHOP", "GetItemID": "0x02", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "BuyArrow", "HintKey": "ARROWS_30", "price": 90, "Name": { "NAenglish_": "Buy Arrows (50)", "NAfrench_": "Acheter: Flèches (50)", "NAspanish_": "Comprar flechas (50)", "EURitalian_": "50 frecce in vendita", "EURgerman_": "Pfeile (50 Stück)" }}, + "BUY_BOMBS_525": { "ItemType": "ITEMTYPE_SHOP", "GetItemID": "0x03", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "BuyBomb", "HintKey": "BOMBS_5", "price": 25, "Name": { "NAenglish_": "Buy Bombs (5) [25]", "NAfrench_": "Acheter: Bombes (5) [25]", "NAspanish_": "Comprar bombas (5) [25]", "EURitalian_": "5 bombe in vendita [25]", "EURgerman_": "Bomben (5 Stück) [25]" }}, + "BUY_DEKU_NUT_10": { "ItemType": "ITEMTYPE_SHOP", "GetItemID": "0x04", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "Nuts", "HintKey": "DEKU_NUTS_10", "price": 30, "Name": { "NAenglish_": "Buy Deku Nut (10)", "NAfrench_": "Acheter: Noix Mojo (10)", "NAspanish_": "Comprar Nueces deku (10)", "EURitalian_": "10 noci Deku in vendita", "EURgerman_": "Deku-Nüsse (10 Stück)" }}, + "BUY_DEKU_STICK_1": { "ItemType": "ITEMTYPE_SHOP", "GetItemID": "0x05", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "Sticks", "HintKey": "DEKU_STICK_1", "price": 10, "Name": { "NAenglish_": "Buy Deku Stick (1)", "NAfrench_": "Acheter: Bâton Mojo (1)", "NAspanish_": "Comprar palos deku (1)", "EURitalian_": "1 ramo Deku in vendita", "EURgerman_": "Deku-Stab (1 Stück)" }}, + "BUY_BOMBS_10": { "ItemType": "ITEMTYPE_SHOP", "GetItemID": "0x06", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "BuyBomb", "HintKey": "BOMBS_10", "price": 50, "Name": { "NAenglish_": "Buy Bombs (10)", "NAfrench_": "Acheter: Bombes (10)", "NAspanish_": "Comprar Bombas (10)", "EURitalian_": "10 bombe in vendita", "EURgerman_": "Bomben (10 Stück)" }}, + "BUY_FISH": { "ItemType": "ITEMTYPE_SHOP", "GetItemID": "0x07", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "FishAccess", "HintKey": "BOTTLE_WITH_FISH", "price": 200, "Name": { "NAenglish_": "Buy Fish", "NAfrench_": "Acheter: Poisson", "NAspanish_": "Comprar pez", "EURitalian_": "Pesce in vendita", "EURgerman_": "Fisch" }}, + "BUY_RED_POTION_30": { "ItemType": "ITEMTYPE_SHOP", "GetItemID": "0x08", "ItemClass": "ITEMCLASS_NONE", "LogicVar": "noVariable", "HintKey": "BOTTLE_WITH_RED_POTION", "price": 30, "Name": { "NAenglish_": "Buy Red Potion [30]", "NAfrench_": "Acheter: Potion rouge [30]", "NAspanish_": "Comprar poción roja [30]", "EURitalian_": "Pozione vita in vendita [30]", "EURgerman_": "Rotes Elixier [30]" }}, + "BUY_GREEN_POTION": { "ItemType": "ITEMTYPE_SHOP", "GetItemID": "0x09", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "BuyGPotion", "HintKey": "BOTTLE_WITH_GREEN_POTION", "price": 30, "Name": { "NAenglish_": "Buy Green Potion", "NAfrench_": "Acheter: Potion verte", "NAspanish_": "Comprar poción verde", "EURitalian_": "Pozione magica in vendita", "EURgerman_": "Grünes Elixier" }}, + "BUY_BLUE_POTION": { "ItemType": "ITEMTYPE_SHOP", "GetItemID": "0x0A", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "BuyBPotion", "HintKey": "BOTTLE_WITH_BLUE_POTION", "price": 100, "Name": { "NAenglish_": "Buy Blue Potion", "NAfrench_": "Acheter: Potion bleue", "NAspanish_": "Comprar poción azul", "EURitalian_": "Pozione curatutto in vendita", "EURgerman_": "Blaues Elixier" }}, + "BUY_HYLIAN_SHIELD": { "ItemType": "ITEMTYPE_SHOP", "GetItemID": "0x0C", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "HylianShield", "HintKey": "HYLIAN_SHIELD", "price": 80, "Name": { "NAenglish_": "Buy Hylian Shield", "NAfrench_": "Acheter: Bouclier Hylien", "NAspanish_": "Comprar escudo hyliano", "EURitalian_": "Scudo Hylia in vendita", "EURgerman_": "Hylia-Schild" }}, + "BUY_DEKU_SHIELD": { "ItemType": "ITEMTYPE_SHOP", "GetItemID": "0x0D", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "DekuShield", "HintKey": "DEKU_SHIELD", "price": 40, "Name": { "NAenglish_": "Buy Deku Shield", "NAfrench_": "Acheter: Bouclier Mojo", "NAspanish_": "Comprar escudo deku", "EURitalian_": "Scudo Deku in vendita", "EURgerman_": "Deku-Schild" }}, + "BUY_GORON_TUNIC": { "ItemType": "ITEMTYPE_SHOP", "GetItemID": "0x0E", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "GoronTunic", "HintKey": "GORON_TUNIC", "price": 200, "Name": { "NAenglish_": "Buy Goron Tunic", "NAfrench_": "Acheter: Tunique Goron", "NAspanish_": "Comprar sayo goron", "EURitalian_": "Veste dei Goron in vendita", "EURgerman_": "Goronen-Rüstung" }}, + "BUY_ZORA_TUNIC": { "ItemType": "ITEMTYPE_SHOP", "GetItemID": "0x0F", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "ZoraTunic", "HintKey": "ZORA_TUNIC", "price": 300, "Name": { "NAenglish_": "Buy Zora Tunic", "NAfrench_": "Acheter: Tunique Zora", "NAspanish_": "Comprar sayo zora", "EURitalian_": "Veste degli Zora in vendita", "EURgerman_": "Zora-Rüstung" }}, + "BUY_HEART": { "ItemType": "ITEMTYPE_SHOP", "GetItemID": "0x10", "ItemClass": "ITEMCLASS_NONE", "LogicVar": "noVariable", "HintKey": "RECOVERY_HEART", "price": 10, "Name": { "NAenglish_": "Buy Heart", "NAfrench_": "Acheter: Coeur d'énergie", "NAspanish_": "Comprar corazón", "EURitalian_": "Cuore in vendita", "EURgerman_": "Herz" }}, + "BUY_BOMBCHU_10": { "ItemType": "ITEMTYPE_SHOP", "GetItemID": "0x15", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "BuyBombchus10", "HintKey": "BOMBCHU_10", "price": 99, "Name": { "NAenglish_": "Buy Bombchu (10)", "NAfrench_": "Acheter: Bombchus (10)", "NAspanish_": "Comprar bombchus (10)", "EURenglish_": "Buy Bombchu (10)", "EURfrench_": "Acheter: Missiles teigneux (10)", "EURspanish_": "Comprar bombchus (10)", "EURitalian_": "10 radiomine in vendita", "EURgerman_": "Krabbelminen (10 Stück)" }}, + "BUY_BOMBCHU_20": { "ItemType": "ITEMTYPE_SHOP", "GetItemID": "0x16", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "BuyBombchus20", "HintKey": "BOMBCHU_20", "price": 180, "Name": { "NAenglish_": "Buy Bombchu (20)", "NAfrench_": "Acheter: Bombchus (20)", "NAspanish_": "Comprar bombchus (20)", "EURenglish_": "Buy Bombchu (20)", "EURfrench_": "Acheter: Missiles teigneux (20)", "EURspanish_": "Comprar bombchus (20)", "EURitalian_": "20 radiomine in vendita", "EURgerman_": "Krabbelminen (20 Stück)" }}, + "BUY_BOMBCHU_5": { "ItemType": "ITEMTYPE_SHOP", "GetItemID": "0x18", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "BuyBombchus5", "HintKey": "BOMBCHU_5", "price": 60, "Name": { "NAenglish_": "Buy Bombchu (5)", "NAfrench_": "Acheter: Bombchus (5)", "NAspanish_": "Comprar bombchus (5)", "EURenglish_": "Buy Bombchu (5)", "EURfrench_": "Acheter: Missiles teigneux (5)", "EURspanish_": "Comprar bombchus (5)", "EURitalian_": "5 radiomine in vendita", "EURgerman_": "Krabbelminen (5 Stück)" }}, + "BUY_DEKU_SEEDS_30": { "ItemType": "ITEMTYPE_SHOP", "GetItemID": "0x1D", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "BuySeed", "HintKey": "DEKU_SEEDS_30", "price": 30, "Name": { "NAenglish_": "Buy Deku Seeds (30)", "NAfrench_": "Acheter: Graines Mojo (30)", "NAspanish_": "Comprar semillas deku (30)", "EURitalian_": "30 semi Deku in vendita", "EURgerman_": "Deku-Kerne (30 Stück)" }}, + "SOLD_OUT": { "ItemType": "ITEMTYPE_SHOP", "GetItemID": "0x26", "ItemClass": "ITEMCLASS_NONE", "LogicVar": "noVariable", "HintKey": "NONE", "price": 0, "Name": { "NAenglish_": "Sold Out", "NAfrench_": "Vendu", "NAspanish_": "Vendido", "EURitalian_": "Venduto", "EURgerman_": "Das haben wir nicht auf Lager." }}, + "BUY_BLUE_FIRE": { "ItemType": "ITEMTYPE_SHOP", "GetItemID": "0x27", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "BlueFireAccess", "HintKey": "BOTTLE_WITH_BLUE_FIRE", "price": 300, "Name": { "NAenglish_": "Buy Blue Fire", "NAfrench_": "Acheter: Flamme bleue", "NAspanish_": "Comprar fuego azul", "EURitalian_": "Fuoco blu in vendita", "EURgerman_": "Blaues Feuer" }}, + "BUY_BOTTLE_BUG": { "ItemType": "ITEMTYPE_SHOP", "GetItemID": "0x28", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "BugsAccess", "HintKey": "BOTTLE_WITH_BUGS", "price": 50, "Name": { "NAenglish_": "Buy Bottle Bug", "NAfrench_": "Acheter: Insectes en flacon", "NAspanish_": "Comprar bichos", "EURitalian_": "Insetto in vendita", "EURgerman_": "Käfer" }}, + "BUY_POE": { "ItemType": "ITEMTYPE_SHOP", "GetItemID": "0x2A", "ItemClass": "ITEMCLASS_NONE", "LogicVar": "noVariable", "HintKey": "BOTTLE_WITH_BIG_POE", "price": 30, "Name": { "NAenglish_": "Buy Poe", "NAfrench_": "Acheter: Esprit", "NAspanish_": "Comprar Poe", "EURitalian_": "Poo in vendita", "EURgerman_": "Irrlicht" }}, + "BUY_FAIRYS_SPIRIT": { "ItemType": "ITEMTYPE_SHOP", "GetItemID": "0x2B", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "FairyAccess", "HintKey": "BOTTLE_WITH_FAIRY", "price": 50, "Name": { "NAenglish_": "Buy Fairy's Spirit", "NAfrench_": "Acheter: Fée", "NAspanish_": "Comprar hada", "EURitalian_": "Fata in vendita", "EURgerman_": "Fee" }}, + "BUY_ARROWS_10": { "ItemType": "ITEMTYPE_SHOP", "GetItemID": "0x2C", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "BuyArrow", "HintKey": "ARROWS_10", "price": 20, "Name": { "NAenglish_": "Buy Arrows (10)", "NAfrench_": "Acheter: Flèches (10)", "NAspanish_": "Comprar flechas (10)", "EURitalian_": "10 frecce in vendita", "EURgerman_": "Pfeile (10 Stück)" }}, + "BUY_BOMBS_20": { "ItemType": "ITEMTYPE_SHOP", "GetItemID": "0x2D", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "BuyBomb", "HintKey": "BOMBS_20", "price": 80, "Name": { "NAenglish_": "Buy Bombs (20)", "NAfrench_": "Acheter: Bombes (20)", "NAspanish_": "Comprar bombas (20)", "EURitalian_": "20 bombe in vendita", "EURgerman_": "Bomben (20 Stück)" }}, + "BUY_BOMBS_30": { "ItemType": "ITEMTYPE_SHOP", "GetItemID": "0x2E", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "BuyBomb", "HintKey": "BOMBS_20", "price": 120, "Name": { "NAenglish_": "Buy Bombs (30)", "NAfrench_": "Acheter: Bombes (30)", "NAspanish_": "Comprar bombas (30)", "EURitalian_": "30 bombe in vendita", "EURgerman_": "Bomben (30 Stück)" }}, + "BUY_BOMBS_535": { "ItemType": "ITEMTYPE_SHOP", "GetItemID": "0x2F", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "BuyBomb", "HintKey": "BOMBS_5", "price": 35, "Name": { "NAenglish_": "Buy Bombs (5) [35]", "NAfrench_": "Acheter: Bombes (5) [35]", "NAspanish_": "Comprar bombas (5) [35]", "EURitalian_": "5 bombe in vendita [35]", "EURgerman_": "Bomben (5 Stück) [35]" }}, + "BUY_RED_POTION_40": { "ItemType": "ITEMTYPE_SHOP", "GetItemID": "0x30", "ItemClass": "ITEMCLASS_NONE", "LogicVar": "noVariable", "HintKey": "BOTTLE_WITH_RED_POTION", "price": 40, "Name": { "NAenglish_": "Buy Red Potion [40]", "NAfrench_": "Acheter: Potion rouge [40]", "NAspanish_": "Comprar poción roja [40]", "EURitalian_": "Pozione vita in vendita [40]", "EURgerman_": "Rotes Elixier [40]" }}, + "BUY_RED_POTION_50": { "ItemType": "ITEMTYPE_SHOP", "GetItemID": "0x31", "ItemClass": "ITEMCLASS_NONE", "LogicVar": "noVariable", "HintKey": "BOTTLE_WITH_RED_POTION", "price": 50, "Name": { "NAenglish_": "Buy Red Potion [50]", "NAfrench_": "Acheter: Potion rouge [50]", "NAspanish_": "Comprar poción roja [50]", "EURitalian_": "Pozione vita in vendita [50]", "EURgerman_": "Rotes Elixier [50]" }}, + + // Enemy souls + "SOUL_ITEM_POE": { "ItemType": "ITEMTYPE_ENEMY_SOUL", "GetItemID": "GI_SOUL_POE", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "SoulPoe", "HintKey": "SOUL_ITEM_POE", "Name": { "NAenglish_": "Poe Soul", "NAfrench_": "Essence d'Esprit", "NAspanish_": "Alma de Poe", "EURitalian_": "Anima di Poo", "EURgerman_": "Seele von Irrlichtern" }}, + "SOUL_ITEM_OCTOROK": { "ItemType": "ITEMTYPE_ENEMY_SOUL", "GetItemID": "GI_SOUL_OCTOROK", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "SoulOctorok", "HintKey": "SOUL_ITEM_OCTOROK", "Name": { "NAenglish_": "Octorok Soul", "NAfrench_": "Essence d'Octorok", "NAspanish_": "Alma de Octorok", "EURitalian_": "Anima di Octorok", "EURgerman_": "Seele von Oktorok" }}, + "SOUL_ITEM_KEESE": { "ItemType": "ITEMTYPE_ENEMY_SOUL", "GetItemID": "GI_SOUL_KEESE", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "SoulKeese", "HintKey": "SOUL_ITEM_KEESE", "Name": { "NAenglish_": "Keese Soul", "NAfrench_": "Essence de chauve-souris", "NAspanish_": "Alma de Keese", "EURitalian_": "Anima di Pipistrello", "EURgerman_": "Seele von Flederbeißern" }}, + "SOUL_ITEM_TEKTITE": { "ItemType": "ITEMTYPE_ENEMY_SOUL", "GetItemID": "GI_SOUL_TEKTITE", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "SoulTektite", "HintKey": "SOUL_ITEM_TEKTITE", "Name": { "NAenglish_": "Tektite Soul", "NAfrench_": "Essence d'Araknon", "NAspanish_": "Alma de Tektite", "EURitalian_": "Anima di Tektite", "EURgerman_": "Seele von Arachnos" }}, + "SOUL_ITEM_LEEVER": { "ItemType": "ITEMTYPE_ENEMY_SOUL", "GetItemID": "GI_SOUL_LEEVER", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "SoulLeever", "HintKey": "SOUL_ITEM_LEEVER", "Name": { "NAenglish_": "Leever Soul", "NAfrench_": "Essence de Leever", "NAspanish_": "Alma de Leever", "EURitalian_": "Anima di Leever", "EURgerman_": "Seele von Sandkillern" }}, + "SOUL_ITEM_PEAHAT": { "ItemType": "ITEMTYPE_ENEMY_SOUL", "GetItemID": "GI_SOUL_PEAHAT", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "SoulPeahat", "HintKey": "SOUL_ITEM_PEAHAT", "Name": { "NAenglish_": "Peahat Soul", "NAfrench_": "Essence de Poislico", "NAspanish_": "Alma de Peahat", "EURenglish_": "Peahat Soul", "EURfrench_": "Essence de Peahat", "EURspanish_": "Alma de Peahat", "EURitalian_": "Anima di Bulbocottero", "EURgerman_": "Seele von Killeranas" }}, + "SOUL_ITEM_LIZALFOS": { "ItemType": "ITEMTYPE_ENEMY_SOUL", "GetItemID": "GI_SOUL_LIZALFOS", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "SoulLizalfosDinolfos", "HintKey": "SOUL_ITEM_LIZALFOS", "Name": { "NAenglish_": "Lizalfos and Dinolfos Soul", "NAfrench_": "Essences de Lézalfos et de Dinolfos", "NAspanish_": "Alma de Lizalfos y Dinolfos", "EURitalian_": "Anima di Lizalfos e Dinolfos", "EURgerman_": "Seele von Echsalfos und Dinodorus" }}, + "SOUL_ITEM_SHABOM": { "ItemType": "ITEMTYPE_ENEMY_SOUL", "GetItemID": "GI_SOUL_SHABOM", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "SoulShabom", "HintKey": "SOUL_ITEM_SHABOM", "Name": { "NAenglish_": "Shabom Soul", "NAfrench_": "Essence de Bulld'O", "NAspanish_": "Alma de Shabom", "EURitalian_": "Anima di Shabom", "EURgerman_": "Seele von Blubberblasen" }}, + "SOUL_ITEM_BIRI_BARI": { "ItemType": "ITEMTYPE_ENEMY_SOUL", "GetItemID": "GI_SOUL_BIRI_BARI", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "SoulBiriBari", "HintKey": "SOUL_ITEM_BIRI_BARI", "Name": { "NAenglish_": "Biri and Bari Soul", "NAfrench_": "Essence de Biri et de Bari", "NAspanish_": "Alma de Biri y Bari", "EURitalian_": "Anima di Cnidiri e Cnidari", "EURgerman_": "Seele von Zappelquallen" }}, + "SOUL_ITEM_TAILPASARAN": { "ItemType": "ITEMTYPE_ENEMY_SOUL", "GetItemID": "GI_SOUL_TAILPASARAN", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "SoulTailpasaran", "HintKey": "SOUL_ITEM_TAILPASARAN", "Name": { "NAenglish_": "Tailpasaran Soul", "NAfrench_": "Essence de Téniachoc", "NAspanish_": "Alma de Tailpasaran", "EURenglish_": "Tailpasaran Soul", "EURfrench_": "Essence de Tailpasaran", "EURspanish_": "Alma de Tailpasaran", "EURitalian_": "Anima di Trivolt", "EURgerman_": "Seele von Zangengreifern" }}, + "SOUL_ITEM_SKULLTULA": { "ItemType": "ITEMTYPE_ENEMY_SOUL", "GetItemID": "GI_SOUL_SKULLTULA", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "SoulSkulltula", "HintKey": "SOUL_ITEM_SKULLTULA", "Name": { "NAenglish_": "Skulltula Soul", "NAfrench_": "Essence de Skulltula", "NAspanish_": "Alma de Skulltula", "EURitalian_": "Anima di Aracnula", "EURgerman_": "Seele von Skulltulas" }}, + "SOUL_ITEM_TORCH_SLUG": { "ItemType": "ITEMTYPE_ENEMY_SOUL", "GetItemID": "GI_SOUL_TORCH_SLUG", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "SoulTorchSlug", "HintKey": "SOUL_ITEM_TORCH_SLUG", "Name": { "NAenglish_": "Torch Slug Soul", "NAfrench_": "Essence de Feu Visqueux", "NAspanish_": "Alma de Llamababa", "EURitalian_": "Anima di Lumaca di lava", "EURgerman_": "Seele von Lavaschleimen" }}, + "SOUL_ITEM_STINGER": { "ItemType": "ITEMTYPE_ENEMY_SOUL", "GetItemID": "GI_SOUL_STINGER", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "SoulStinger", "HintKey": "SOUL_ITEM_STINGER", "Name": { "NAenglish_": "Stinger Soul", "NAfrench_": "Essence de Manta", "NAspanish_": "Alma de Stinger", "EURitalian_": "Anima di Trigone volante", "EURgerman_": "Seele von Elektromantas" }}, + "SOUL_ITEM_MOBLIN": { "ItemType": "ITEMTYPE_ENEMY_SOUL", "GetItemID": "GI_SOUL_MOBLIN", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "SoulMoblin", "HintKey": "SOUL_ITEM_MOBLIN", "Name": { "NAenglish_": "Moblin Soul", "NAfrench_": "Essence de Moblin", "NAspanish_": "Alma de Moblin", "EURitalian_": "Anima di Grublin", "EURgerman_": "Seele von Moblin" }}, + "SOUL_ITEM_ARMOS": { "ItemType": "ITEMTYPE_ENEMY_SOUL", "GetItemID": "GI_SOUL_ARMOS", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "SoulArmos", "HintKey": "SOUL_ITEM_ARMOS", "Name": { "NAenglish_": "Armos Soul", "NAfrench_": "Essence d'Armos", "NAspanish_": "Alma de Armos", "EURitalian_": "Anima di Armos", "EURgerman_": "Seele von Armos-Rittern" }}, + "SOUL_ITEM_DEKU_BABA": { "ItemType": "ITEMTYPE_ENEMY_SOUL", "GetItemID": "GI_SOUL_DEKU_BABA", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "SoulDekuBaba", "HintKey": "SOUL_ITEM_DEKU_BABA", "Name": { "NAenglish_": "Deku Baba Soul", "NAfrench_": "Essence de Baba Mojo", "NAspanish_": "Alma de Baba Deku", "EURitalian_": "Anima di Deku Baba", "EURgerman_": "Seele von Dekuranhas" }}, + "SOUL_ITEM_BUBBLE": { "ItemType": "ITEMTYPE_ENEMY_SOUL", "GetItemID": "GI_SOUL_BUBBLE", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "SoulBubble", "HintKey": "SOUL_ITEM_BUBBLE", "Name": { "NAenglish_": "Bubble Soul", "NAfrench_": "Essence de Tetdoss", "NAspanish_": "Alma de Bubble", "EURitalian_": "Anima di Nembo", "EURgerman_": "Seele von Totenschädeln" }}, + "SOUL_ITEM_FLYING_TRAP": { "ItemType": "ITEMTYPE_ENEMY_SOUL", "GetItemID": "GI_SOUL_FLYING_TRAP", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "SoulFlyingTrap", "HintKey": "SOUL_ITEM_FLYING_TRAP", "Name": { "NAenglish_": "Flying Pot and Tile Soul", "NAfrench_": "Essences de jarres et de dalles volantes", "NAspanish_": "Alma de Jarrones y Baldosas voladoras", "EURitalian_": "Anima di Vasi e Piastrelle volanti", "EURgerman_": "Seele von fliegenden Krügen und Fliesen" }}, + "SOUL_ITEM_BEAMOS": { "ItemType": "ITEMTYPE_ENEMY_SOUL", "GetItemID": "GI_SOUL_BEAMOS", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "SoulBeamos", "HintKey": "SOUL_ITEM_BEAMOS", "Name": { "NAenglish_": "Beamos Soul", "NAfrench_": "Essence de Sentinelle", "NAspanish_": "Alma de Beamos", "EURitalian_": "Anima di Laseros", "EURgerman_": "Seele von Strahlzyklopen" }}, + "SOUL_ITEM_WALLMASTER": { "ItemType": "ITEMTYPE_ENEMY_SOUL", "GetItemID": "GI_SOUL_WALLMASTER", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "SoulWallmaster", "HintKey": "SOUL_ITEM_WALLMASTER", "Name": { "NAenglish_": "Wallmaster and Floormaster Soul", "NAfrench_": "Essences de Main du mal et de Grossbaffe", "NAspanish_": "Alma de Wallmaster y Floormaster", "EURenglish_": "Wallmaster and Floormaster Soul", "EURfrench_": "Essences de La Main et de Grossbaffe", "EURspanish_": "Alma de Wallmaster y Floormaster", "EURitalian_": "Anima di Mano Diabolica e Mano Rapace", "EURgerman_": "Seele von Todesgrapschern und Terrorgrapschern" }}, + "SOUL_ITEM_REDEAD_GIBDO": { "ItemType": "ITEMTYPE_ENEMY_SOUL", "GetItemID": "GI_SOUL_REDEAD_GIBDO", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "SoulRedeadGibdo", "HintKey": "SOUL_ITEM_REDEAD_GIBDO", "Name": { "NAenglish_": "ReDead and Gibdo Soul", "NAfrench_": "Essences de Remort et de Gibdo", "NAspanish_": "Alma de ReDead y Gibdo", "EURenglish_": "ReDead and Gibdo Soul", "EURfrench_": "Essences d'Effroi et de Gibdo", "EURspanish_": "Alma de ReDead y Gibdo", "EURitalian_": "Anima di Zombie e Ghibdo", "EURgerman_": "Seele von Zombies und Wickel-Zombies" }}, + "SOUL_ITEM_SHELL_BLADE": { "ItemType": "ITEMTYPE_ENEMY_SOUL", "GetItemID": "GI_SOUL_SHELL_BLADE", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "SoulShellBlade", "HintKey": "SOUL_ITEM_SHELL_BLADE", "Name": { "NAenglish_": "Shell Blade Soul", "NAfrench_": "Essence de Coquillos", "NAspanish_": "Alma de Moluscuchilla", "EURitalian_": "Anima di Ostrice", "EURgerman_": "Seele von Killermuscheln" }}, + "SOUL_ITEM_LIKE_LIKE": { "ItemType": "ITEMTYPE_ENEMY_SOUL", "GetItemID": "GI_SOUL_LIKE_LIKE", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "SoulLikeLike", "HintKey": "SOUL_ITEM_LIKE_LIKE", "Name": { "NAenglish_": "Like Like Soul", "NAfrench_": "Essence de Like Like", "NAspanish_": "Alma de Like Like", "EURitalian_": "Anima di Like Like", "EURgerman_": "Seele von Raubschleimen" }}, + "SOUL_ITEM_TENTACLE": { "ItemType": "ITEMTYPE_ENEMY_SOUL", "GetItemID": "GI_SOUL_TENTACLE", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "SoulParasiticTentacle", "HintKey": "SOUL_ITEM_TENTACLE", "Name": { "NAenglish_": "Parasitic Tentacle Soul", "NAfrench_": "Essence de Tentacule Parasite", "NAspanish_": "Alma de Tentáculo Parásito", "EURitalian_": "Anima di Tentacolo", "EURgerman_": "Seele von Parasiten-Tentakeln" }}, + "SOUL_ITEM_ANUBIS": { "ItemType": "ITEMTYPE_ENEMY_SOUL", "GetItemID": "GI_SOUL_ANUBIS", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "SoulAnubis", "HintKey": "SOUL_ITEM_ANUBIS", "Name": { "NAenglish_": "Anubis Soul", "NAfrench_": "Essence d'Anubis", "NAspanish_": "Alma de Anubis", "EURitalian_": "Anima di Anubi", "EURgerman_": "Seele von Anubis" }}, + "SOUL_ITEM_SPIKE": { "ItemType": "ITEMTYPE_ENEMY_SOUL", "GetItemID": "GI_SOUL_SPIKE", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "SoulSpike", "HintKey": "SOUL_ITEM_SPIKE", "Name": { "NAenglish_": "Spike Soul", "NAfrench_": "Essence de Hérisson métallique", "NAspanish_": "Alma de Erizo Metálico", "EURenglish_": "Spike Soul", "EURfrench_": "Essence de Spike", "EURspanish_": "Alma de Erizo Metálico", "EURitalian_": "Anima di Riccio di Ferro", "EURgerman_": "Seele von Stachelsteinen" }}, + "SOUL_ITEM_SKULL_KID": { "ItemType": "ITEMTYPE_ENEMY_SOUL", "GetItemID": "GI_SOUL_SKULL_KID", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "SoulSkullKid", "HintKey": "SOUL_ITEM_SKULL_KID", "Name": { "NAenglish_": "Skull Kid Soul", "NAfrench_": "Essence de Skull Kid", "NAspanish_": "Alma de Skull Kid", "EURitalian_": "Anima di Bimbo Perduto", "EURgerman_": "Seele von Horror-Kid" }}, + "SOUL_ITEM_FREEZARD": { "ItemType": "ITEMTYPE_ENEMY_SOUL", "GetItemID": "GI_SOUL_FREEZARD", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "SoulFreezard", "HintKey": "SOUL_ITEM_FREEZARD", "Name": { "NAenglish_": "Freezard Soul", "NAfrench_": "Essence de Glazzard", "NAspanish_": "Alma de Freezard", "EURenglish_": "Freezard Soul", "EURfrench_": "Essence de Freezard", "EURspanish_": "Alma de Freezard", "EURitalian_": "Anima di Freezard", "EURgerman_": "Seele von Frostechsen" }}, + "SOUL_ITEM_DEKU_SCRUB": { "ItemType": "ITEMTYPE_ENEMY_SOUL", "GetItemID": "GI_SOUL_DEKU_SCRUB", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "SoulDekuScrub", "HintKey": "SOUL_ITEM_DEKU_SCRUB", "Name": { "NAenglish_": "Deku Scrub Soul", "NAfrench_": "Essence de Peste Mojo", "NAspanish_": "Alma de Matorral Deku", "EURitalian_": "Anima di Cespuglio Deku", "EURgerman_": "Seele von Laubkerlen" }}, + "SOUL_ITEM_WOLFOS": { "ItemType": "ITEMTYPE_ENEMY_SOUL", "GetItemID": "GI_SOUL_WOLFOS", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "SoulWolfos", "HintKey": "SOUL_ITEM_WOLFOS", "Name": { "NAenglish_": "Wolfos Soul", "NAfrench_": "Essence de Loufos", "NAspanish_": "Alma de Wolfos", "EURenglish_": "Wolfos Soul", "EURfrench_": "Essence de Wolfos", "EURspanish_": "Alma de Wolfos", "EURitalian_": "Anima di Lupo", "EURgerman_": "Seele von Wolfos" }}, + "SOUL_ITEM_STALCHILD": { "ItemType": "ITEMTYPE_ENEMY_SOUL", "GetItemID": "GI_SOUL_STALCHILD", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "SoulStalchild", "HintKey": "SOUL_ITEM_STALCHILD", "Name": { "NAenglish_": "Stalchild Soul", "NAfrench_": "Essence de Sakdoss", "NAspanish_": "Alma de Stalchild", "EURitalian_": "Anima di Stalfosso", "EURgerman_": "Seele von Knochengängern" }}, + "SOUL_ITEM_GUAY": { "ItemType": "ITEMTYPE_ENEMY_SOUL", "GetItemID": "GI_SOUL_GUAY", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "SoulGuay", "HintKey": "SOUL_ITEM_GUAY", "Name": { "NAenglish_": "Guay Soul", "NAfrench_": "Essence de Toukor", "NAspanish_": "Alma de Guay", "EURitalian_": "Anima di Corvacchia", "EURgerman_": "Seele von Wüstenkrähen" }}, + "SOUL_ITEM_DOOR_MIMIC": { "ItemType": "ITEMTYPE_ENEMY_SOUL", "GetItemID": "GI_SOUL_DOOR_MIMIC", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "SoulDoorMimic", "HintKey": "SOUL_ITEM_DOOR_MIMIC", "Name": { "NAenglish_": "Door Mimic Soul", "NAfrench_": "Essence de Simili-Porte", "NAspanish_": "Alma de Puerta Falsa", "EURitalian_": "Anima di Porta Falsa", "EURgerman_": "Seele von Türmimics" }}, + "SOUL_ITEM_STALFOS": { "ItemType": "ITEMTYPE_ENEMY_SOUL", "GetItemID": "GI_SOUL_STALFOS", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "SoulStalfos", "HintKey": "SOUL_ITEM_STALFOS", "Name": { "NAenglish_": "Stalfos Soul", "NAfrench_": "Essence de Stalfos", "NAspanish_": "Alma de Stalfos", "EURitalian_": "Anima di Stalfos", "EURgerman_": "Seele von Stalfos" }}, + "SOUL_ITEM_DARK_LINK": { "ItemType": "ITEMTYPE_ENEMY_SOUL", "GetItemID": "GI_SOUL_DARK_LINK", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "SoulDarkLink", "HintKey": "SOUL_ITEM_DARK_LINK", "Name": { "NAenglish_": "Dark Link Soul", "NAfrench_": "Essence de Link noir", "NAspanish_": "Alma de Link Oscuro", "EURitalian_": "Anima di Link Oscuro", "EURgerman_": "Seele von schwarzen Link" }}, + "SOUL_ITEM_FLARE_DANCER": { "ItemType": "ITEMTYPE_ENEMY_SOUL", "GetItemID": "GI_SOUL_FLARE_DANCER", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "SoulFlareDancer", "HintKey": "SOUL_ITEM_FLARE_DANCER", "Name": { "NAenglish_": "Flare Dancer Soul", "NAfrench_": "Essence de Danse-Flamme", "NAspanish_": "Alma de Bailafuego", "EURitalian_": "Anima di Fiammerino", "EURgerman_": "Seele von Flammenderwischen" }}, + "SOUL_ITEM_DEAD_HAND": { "ItemType": "ITEMTYPE_ENEMY_SOUL", "GetItemID": "GI_SOUL_DEAD_HAND", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "SoulDeadHand", "HintKey": "SOUL_ITEM_DEAD_HAND", "Name": { "NAenglish_": "Dead Hand Soul", "NAfrench_": "Essence de Main mortelle", "NAspanish_": "Alma de Mano Muerta", "EURenglish_": "Dead Hand Soul", "EURfrench_": "Essence de Poigneur", "EURspanish_": "Alma de Mano Muerta", "EURitalian_": "Anima di Smaniosso", "EURgerman_": "Seele von Hirnsaugern" }}, + "SOUL_ITEM_GERUDO": { "ItemType": "ITEMTYPE_ENEMY_SOUL", "GetItemID": "GI_SOUL_GERUDO", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "SoulGerudo", "HintKey": "SOUL_ITEM_GERUDO", "Name": { "NAenglish_": "Gerudo and Iron Knuckle Soul", "NAfrench_": "Essence de Voleuse Gerudo et Poing de fer", "NAspanish_": "Alma de Gerudo y Nudillo de hierro", "EURenglish_": "Gerudo and Iron Knuckle Soul", "EURfrench_": "Essence de Voleuse Gerudo et Hache-Viande", "EURspanish_": "Alma de Gerudo y Nudillo de hierro", "EURitalian_": "Anima di Gerudo e Guerriero d'acciaio", "EURgerman_": "Seele von Gerudos und Eisenprinzen" }}, + "SOUL_ITEM_GOHMA": { "ItemType": "ITEMTYPE_ENEMY_SOUL", "GetItemID": "GI_SOUL_GOHMA", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "SoulGohma", "HintKey": "SOUL_ITEM_GOHMA", "Name": { "NAenglish_": "Gohma Soul", "NAfrench_": "Essence de Gohma", "NAspanish_": "Alma de Gohma", "EURitalian_": "Anima di Gohma", "EURgerman_": "Seele von Gohma" }}, + "SOUL_ITEM_DODONGO": { "ItemType": "ITEMTYPE_ENEMY_SOUL", "GetItemID": "GI_SOUL_DODONGO", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "SoulDodongo", "HintKey": "SOUL_ITEM_DODONGO", "Name": { "NAenglish_": "Dodongo Soul", "NAfrench_": "Essence de Dodongo", "NAspanish_": "Alma de Dodongo", "EURitalian_": "Anima di Dodongo", "EURgerman_": "Seele von Dodongos" }}, + "SOUL_ITEM_BARINADE": { "ItemType": "ITEMTYPE_ENEMY_SOUL", "GetItemID": "GI_SOUL_BARINADE", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "SoulBarinade", "HintKey": "SOUL_ITEM_BARINADE", "Name": { "NAenglish_": "Barinade Soul", "NAfrench_": "Essence de Barinade", "NAspanish_": "Alma de Barinade", "EURitalian_": "Anima di Cnidade", "EURgerman_": "Seele von Barinade" }}, + "SOUL_ITEM_PHANTOM_GANON": { "ItemType": "ITEMTYPE_ENEMY_SOUL", "GetItemID": "GI_SOUL_PHANTOM_GANON","ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "SoulPhantomGanon", "HintKey": "SOUL_ITEM_PHANTOM_GANON", "Name": { "NAenglish_": "Phantom Ganon Soul", "NAfrench_": "Essence de Ganon Spectral", "NAspanish_": "Alma de Ganon Fantasma", "EURitalian_": "Anima di Spettro Ganon", "EURgerman_": "Seele von Phantom-Ganon" }}, + "SOUL_ITEM_VOLVAGIA": { "ItemType": "ITEMTYPE_ENEMY_SOUL", "GetItemID": "GI_SOUL_VOLVAGIA", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "SoulVolvagia", "HintKey": "SOUL_ITEM_VOLVAGIA", "Name": { "NAenglish_": "Volvagia Soul", "NAfrench_": "Essence de Volcania", "NAspanish_": "Alma de Volvagia", "EURitalian_": "Anima di Varubaja", "EURgerman_": "Seele von Volvagia" }}, + "SOUL_ITEM_MORPHA": { "ItemType": "ITEMTYPE_ENEMY_SOUL", "GetItemID": "GI_SOUL_MORPHA", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "SoulMorpha", "HintKey": "SOUL_ITEM_MORPHA", "Name": { "NAenglish_": "Morpha Soul", "NAfrench_": "Essence de Morpha", "NAspanish_": "Alma de Morpha", "EURitalian_": "Anima di Morpha", "EURgerman_": "Seele von Morpha" }}, + "SOUL_ITEM_BONGO_BONGO": { "ItemType": "ITEMTYPE_ENEMY_SOUL", "GetItemID": "GI_SOUL_BONGO_BONGO", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "SoulBongoBongo", "HintKey": "SOUL_ITEM_BONGO_BONGO", "Name": { "NAenglish_": "Bongo Bongo Soul", "NAfrench_": "Essence de Bongo Bongo", "NAspanish_": "Alma de Bongo Bongo", "EURitalian_": "Anima di Bongo Bongo", "EURgerman_": "Seele von Bongo Bongo" }}, + "SOUL_ITEM_TWINROVA": { "ItemType": "ITEMTYPE_ENEMY_SOUL", "GetItemID": "GI_SOUL_TWINROVA", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "SoulTwinrova", "HintKey": "SOUL_ITEM_TWINROVA", "Name": { "NAenglish_": "Twinrova Soul", "NAfrench_": "Essence de Birova", "NAspanish_": "Alma de Birova", "EURenglish_": "Twinrova Soul", "EURfrench_": "Essence de Twinrova", "EURspanish_": "Alma de Birova", "EURitalian_": "Anima di Duerova", "EURgerman_": "Seele von Twinrova" }}, + "SOUL_ITEM_GANON": { "ItemType": "ITEMTYPE_ENEMY_SOUL", "GetItemID": "GI_SOUL_GANON", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "SoulGanon", "HintKey": "SOUL_ITEM_GANON", "Name": { "NAenglish_": "Ganon Soul", "NAfrench_": "Essence de Ganon", "NAspanish_": "Alma de Ganon", "EURitalian_": "Anima di Ganon", "EURgerman_": "Seele von Ganon" }}, + + // Ocarina Note Buttons + "OCA_BUTTON_ITEM_L": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "GI_OCARINA_BUTTON_L", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "OcarinaButtonL", "HintKey": "OCA_BUTTON_ITEM_L", "Name": { "NAenglish_": "Ocarina L Button", "NAfrench_": "Bouton L de l'ocarina", "NAspanish_": "Botón L de la ocarina", "EURitalian_": "Pulsante L dell'ocarina", "EURgerman_": "Ocarina L-Knopf" }}, + "OCA_BUTTON_ITEM_R": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "GI_OCARINA_BUTTON_R", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "OcarinaButtonR", "HintKey": "OCA_BUTTON_ITEM_R", "Name": { "NAenglish_": "Ocarina R Button", "NAfrench_": "Bouton R de l'ocarina", "NAspanish_": "Botón R de la ocarina", "EURitalian_": "Pulsante R dell'ocarina", "EURgerman_": "Ocarina R-Knopf" }}, + "OCA_BUTTON_ITEM_X": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "GI_OCARINA_BUTTON_X", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "OcarinaButtonX", "HintKey": "OCA_BUTTON_ITEM_X", "Name": { "NAenglish_": "Ocarina X Button", "NAfrench_": "Bouton X de l'ocarina", "NAspanish_": "Botón X de la ocarina", "EURitalian_": "Pulsante X dell'ocarina", "EURgerman_": "Ocarina X-Knopf" }}, + "OCA_BUTTON_ITEM_Y": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "GI_OCARINA_BUTTON_Y", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "OcarinaButtonY", "HintKey": "OCA_BUTTON_ITEM_Y", "Name": { "NAenglish_": "Ocarina Y Button", "NAfrench_": "Bouton Y de l'ocarina", "NAspanish_": "Botón Y de la ocarina", "EURitalian_": "Pulsante Y dell'ocarina", "EURgerman_": "Ocarina Y-Knopf" }}, + "OCA_BUTTON_ITEM_A": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "GI_OCARINA_BUTTON_A", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "OcarinaButtonA", "HintKey": "OCA_BUTTON_ITEM_A", "Name": { "NAenglish_": "Ocarina A Button", "NAfrench_": "Bouton A de l'ocarina", "NAspanish_": "Botón A de la ocarina", "EURitalian_": "Pulsante A dell'ocarina", "EURgerman_": "Ocarina A-Knopf" }}, + + "TRIFORCE_PIECE": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "GI_TRIFORCE_PIECE", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "TriforcePieces", "HintKey": "TRIFORCE_PIECE", "Name": { "NAenglish_": "Triforce Piece", "NAfrench_": "Fragment de la Triforce", "NAspanish_": "Fragmento de la Trifuerza", "EURitalian_": "Frammento di Triforza", "EURgerman_": "Triforce-Splitter" }}, + + "TRIFORCE": { "ItemType": "ITEMTYPE_EVENT", "GetItemID": "GI_RUPEE_RED_LOSE", "ItemClass": "ITEMCLASS_NONE", "LogicVar": "noVariable", "HintKey": "NONE", "Name": { "NAenglish_": "Triforce", "NAfrench_": "Triforce", "NAspanish_": "Trifuerza", "EURitalian_": "Triforza", "EURgerman_": "Triforce" }}, + "HINT": { "ItemType": "ITEMTYPE_EVENT", "GetItemID": "GI_RUPEE_BLUE_LOSE", "ItemClass": "ITEMCLASS_NONE", "LogicVar": "noVariable", "HintKey": "NONE", "Name": { "NAenglish_": "Hint", "NAfrench_": "Indice", "NAspanish_": "Pista", "EURitalian_": "Indizio", "EURgerman_": "Hinweis" }} + +// "HOOKSHOT": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "0x80", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "ProgressiveHookshot", "HintKey": "HOOKSHOT", "Name": { "NAenglish_": "Hookshot", "NAfrench_": "Grappin", "NAspanish_": "Gancho", "EURitalian_": "Arpione", "EURgerman_": "Fanghaken" }}, +// "LONGSHOT": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "0x80", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "ProgressiveHookshot", "HintKey": "LONGSHOT", "Name": { "NAenglish_": "Longshot", "NAfrench_": "Supergrappin", "NAspanish_": "Supergancho", "EURenglish_": "Longshot", "EURfrench_": "Super grappin", "EURspanish_": "Supergancho", "EURitalian_": "Super arpione", "EURgerman_": "Enterhaken" }}, +// "FAIRY_OCARINA": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "0x8B", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "ProgressiveOcarina", "HintKey": "FAIRY_OCARINA", "Name": { "NAenglish_": "Fairy Ocarina", "NAfrench_": "Ocarina des fées", "NAspanish_": "Ocarina de las Hadas", "EURitalian_": "Ocarina magica", "EURgerman_": "Feen-Okarina" }}, +// "OCARINA_OF_TIME": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "0x8B", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "ProgressiveOcarina", "HintKey": "OCARINA_OF_TIME", "Name": { "NAenglish_": "Ocarina of Time", "NAfrench_": "Ocarina du temps", "NAspanish_": "Ocarina del Tiempo", "EURitalian_": "Ocarina del Tempo", "EURgerman_": "Okarina der Zeit" }}, +// "BOMB_BAG": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "0x82", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "ProgressiveBombBag", "HintKey": "BOMB_BAG", "Name": { "NAenglish_": "Bomb Bag", "NAfrench_": "Sac de bombes", "NAspanish_": "Saco de bombas", "EURitalian_": "Portabombe (20 bombe)", "EURgerman_": "Bombentasche" }}, +// "BIG_BOMB_BAG": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "0x82", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "ProgressiveBombBag", "HintKey": "BIG_BOMB_BAG", "Name": { "NAenglish_": "Big Bomb Bag", "NAfrench_": "Grand sac de bombes", "NAspanish_": "Saco de bombas grande", "EURitalian_": "Portabombe grande (30 bombe)", "EURgerman_": "Große Bombentasche" }}, +// "BIGGEST_BOMB_BAG": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "0x82", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "ProgressiveBombBag", "HintKey": "BIGGEST_BOMB_BAG", "Name": { "NAenglish_": "Biggest Bomb Bag", "NAfrench_": "Énorme sac de bombes", "NAspanish_": "Saco de bombas gigante", "EURitalian_": "Mega portabombe (40 bombe)", "EURgerman_": "Riesen-Bombentasche" }}, +// "FAIRY_BOW": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "0x83", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "ProgressiveBow", "HintKey": "FAIRY_BOW", "Name": { "NAenglish_": "Fairy Bow", "NAfrench_": "Arc des fées", "NAspanish_": "Arco de las Hadas", "EURitalian_": "Arco magico", "EURgerman_": "Feen-Bogen" }}, +// "BIG_QUIVER": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "0x83", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "ProgressiveBow", "HintKey": "BIG_QUIVER", "Name": { "NAenglish_": "Big Quiver", "NAfrench_": "Grand carquois", "NAspanish_": "Carcaj grande", "EURitalian_": "Faretra grande (40 frecce)", "EURgerman_": "Großer Köcher" }}, +// "BIGGEST_QUIVER": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "0x83", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "ProgressiveBow", "HintKey": "BIGGEST_QUIVER", "Name": { "NAenglish_": "Biggest Quiver", "NAfrench_": "Énorme carquois", "NAspanish_": "Carcaj gigante", "EURitalian_": "Mega faretra (50 frecce)", "EURgerman_": "Riesenköcher" }}, +// "FAIRY_SLINGSHOT": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "0x84", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "ProgressiveBulletBag", "HintKey": "FAIRY_SLINGSHOT", "Name": { "NAenglish_": "Fairy Slingshot", "NAfrench_": "Lance-pierre des fées", "NAspanish_": "Resortera de las hadas", "EURitalian_": "Fionda magica", "EURgerman_": "Feen-Schleuder" }}, +// "BIG_BULLET_BAG": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "0x84", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "ProgressiveBulletBag", "HintKey": "BIG_BULLET_BAG", "Name": { "NAenglish_": "Big Deku Seed Bullet Bag", "NAfrench_": "Grand sac de graines Mojo", "NAspanish_": "Bolsa de semillas deku grande", "EURitalian_": "Grande portasemi Deku (40 semi)", "EURgerman_": "Große Munitionstasche für Deku-Kerne" }}, +// "BIGGEST_BULLET_BAD": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "0x84", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "ProgressiveBulletBag", "HintKey": "BIGGEST_BULLET_BAD", "Name": { "NAenglish_": "Biggest Deku Seed Bullet Bag", "NAfrench_": "Énorme sac de graines Mojo", "NAspanish_": "Bolsa de semillas deku gigante", "EURitalian_": "Mega portasemi Deku (50 semi)", "EURgerman_": "Riesen-Munitionstasche für Deku-Kerne" }}, +// "GORONS_BRACELET": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "0x81", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "ProgressiveStrength", "HintKey": "GORONS_BRACELET", "Name": { "NAenglish_": "Goron's Bracelet", "NAfrench_": "Bracelet Goron", "NAspanish_": "Brazalete de los Goron", "EURitalian_": "Bracciale dei Goron", "EURgerman_": "Goronen-Armband" }}, +// "SILVER_GAUNTLETS": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "0x81", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "ProgressiveStrength", "HintKey": "SILVER_GAUNTLETS", "Name": { "NAenglish_": "Silver Gauntlets", "NAfrench_": "Gantelets d'argent", "NAspanish_": "Guantes de plata", "EURitalian_": "Guanti d'argento", "EURgerman_": "Silberhandschuhe" }}, +// "GOLDEN_GAUNTLETS": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "0x81", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "ProgressiveStrength", "HintKey": "GOLDEN_GAUNTLETS", "Name": { "NAenglish_": "Golden Gauntlets", "NAfrench_": "Gantelets d'or", "NAspanish_": "Guantes de oro", "EURitalian_": "Guanti d'oro", "EURgerman_": "Goldhandschuhe" }}, +// "SILVER_SCALE": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "0x86", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "ProgressiveScale", "HintKey": "SILVER_SCALE", "Name": { "NAenglish_": "Silver Scale", "NAfrench_": "Écaille d'argent", "NAspanish_": "Escama de Plata", "EURitalian_": "Squama d'argento", "EURgerman_": "Silberne Schuppe" }}, +// "GOLDEN_SCALE": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "0x86", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "ProgressiveScale", "HintKey": "GOLDEN_SCALE", "Name": { "NAenglish_": "Golden Scale", "NAfrench_": "Écaille d'or", "NAspanish_": "Escama de Oro", "EURitalian_": "Squama d'oro", "EURgerman_": "Goldene Schuppe" }}, +// "ADULT_WALLET": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "0x85", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "ProgressiveWallet", "HintKey": "ADULT_WALLET", "Name": { "NAenglish_": "Adult Wallet", "NAfrench_": "Grande poche", "NAspanish_": "Bolsa de adulto", "EURenglish_": "Adult Wallet", "EURfrench_": "Grande bourse", "EURspanish_": "Bolsa de adulto", "EURitalian_": "Portarupie da adulto", "EURgerman_": "Große Börse" }}, +// "GIANT_WALLET": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "0x85", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "ProgressiveWallet", "HintKey": "GIANT_WALLET", "Name": { "NAenglish_": "Giant Wallet", "NAfrench_": "Poche de géant", "NAspanish_": "Bolsa gigante", "EURenglish_": "Giant Wallet", "EURfrench_": "Bourse de géant", "EURspanish_": "Bolsa gigante", "EURitalian_": "Portarupie del gigante", "EURgerman_": "Riesenbörse" }}, +// "TYCOON_WALLET": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "0x85", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "ProgressiveWallet", "HintKey": "TYCOON_WALLET", "Name": { "NAenglish_": "Tycoon Wallet", "NAfrench_": "Poche de star", "NAspanish_": "Bolsa de ricachón", "EURenglish_": "Tycoon Wallet", "EURfrench_": "Bourse de star", "EURspanish_": "Bolsa de ricachón", "EURitalian_": "Portarupie di lusso", "EURgerman_": "Tycoon-Börse" }}, +// "DEKU_NUT_CAPACITY_30": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "0x87", "ItemClass": "ITEMCLASS_NONE", "LogicVar": "noVariable", "HintKey": "DEKU_NUT_CAPACITY_30", "Name": { "NAenglish_": "Deku Nut Capacity (30)", "NAfrench_": "Capacité de noix Mojo (20)", "NAspanish_": "Capacidad de nueces deku (40)", "EURitalian_": "Espansione per noci Deku (40)", "EURgerman_": "Deku-Nuss-Kapazität (30)" }}, +// "DEKU_NUT_CAPACITY_40": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "0x87", "ItemClass": "ITEMCLASS_NONE", "LogicVar": "noVariable", "HintKey": "DEKU_NUT_CAPACITY_40", "Name": { "NAenglish_": "Deku Nut Capacity (40)", "NAfrench_": "Capacité de noix Mojo (30)", "NAspanish_": "Capacidad de nueces deku (50)", "EURitalian_": "Espansione per noci Deku (50)", "EURgerman_": "Deku-Nuss-Kapazität (40)" }}, +// "DEKU_NUT_CAPACITY_20": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "0x88", "ItemClass": "ITEMCLASS_NONE", "LogicVar": "noVariable", "HintKey": "DEKU_NUT_CAPACITY_20", "Name": { "NAenglish_": "Deku Stick Capacity (20)", "NAfrench_": "Capacité de bâtons Mojo (20)", "NAspanish_": "Capacidad de palos deku (20)", "EURitalian_": "Espansione per rami Deku (20)", "EURgerman_": "Deku-Stab-Kapazität (20)" }}, +// "DEKU_NUT_CAPACITY_30": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "0x88", "ItemClass": "ITEMCLASS_NONE", "LogicVar": "noVariable", "HintKey": "DEKU_NUT_CAPACITY_30", "Name": { "NAenglish_": "Deku Nut Capacity (30)", "NAfrench_": "Capacité de noix Mojo (20)", "NAspanish_": "Capacidad de nueces deku (40)", "EURitalian_": "Espansione per rami Deku (30)", "EURgerman_": "Deku-Stab-Kapazität (30)" }}, +// "MAGIC_METER": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "0x8A", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "ProgressiveMagic", "HintKey": "MAGIC_METER", "Name": { "NAenglish_": "Magic Meter", "NAfrench_": "Jauge de magie", "NAspanish_": "Poder mágico", "EURitalian_": "Barra della magia", "EURgerman_": "Magische Kraft" }}, +// "ENHANCED_MAGIC_METER": { "ItemType": "ITEMTYPE_ITEM", "GetItemID": "0x8A", "ItemClass": "ITEMCLASS_ADVANCEMENT", "LogicVar": "ProgressiveMagic", "HintKey": "ENHANCED_MAGIC_METER", "Name": { "NAenglish_": "Enhanced Magic Meter", "NAfrench_": "Jauge de magie améliorée", "NAspanish_": "Poder mágico mejorado", "EURitalian_": "Barra della magia aumentata", "EURgerman_": "Erhöhte Magische Kraft" }} +} \ No newline at end of file diff --git a/data/location_table.jsonc b/data/location_table.jsonc new file mode 100644 index 00000000..c9f0a067 --- /dev/null +++ b/data/location_table.jsonc @@ -0,0 +1,1029 @@ +{ + // No area type scene flag name HintKey (hint_list.cpp) vanillaItem categories collection check (if needed) collection check group + "NONE": { "type": "Base", "scene": "0xFF", "flag": "0xFF", "name": "Invalid Location", "HintKey": "NONE", "vanillaItem": "NONE", "categories": [], "SpoilerCollectionCheck": "None()"}, + "TRIFORCE_HUNT_GOAL": { "type": "Base", "scene": "0xFF", "flag": "0xFF", "name": "Triforce Hunt Goal", "HintKey": "NONE", "vanillaItem": "TRIFORCE", "categories": [], "SpoilerCollectionCheck": "None()"}, + + // Kokiri Forest + "KF_KOKIRI_SWORD_CHEST": { "type": "Chest", "scene": "0x55", "flag": "0x00", "name": "KF Kokiri Sword Chest", "HintKey": "KF_KOKIRI_SWORD_CHEST", "vanillaItem": "KOKIRI_SWORD", "categories": ["cKokiriForest", "cForest"], "SpoilerCollectionCheckGroup": "GROUP_KOKIRI_FOREST"}, + "KF_MIDOS_TOP_LEFT_CHEST": { "type": "Chest", "scene": "0x28", "flag": "0x00", "name": "KF Mido Top Left Chest", "HintKey": "KF_MIDOS_TOP_LEFT_CHEST", "vanillaItem": "BLUE_RUPEE", "categories": ["cKokiriForest", "cForest"], "SpoilerCollectionCheckGroup": "GROUP_KOKIRI_FOREST"}, + "KF_MIDOS_TOP_RIGHT_CHEST": { "type": "Chest", "scene": "0x28", "flag": "0x01", "name": "KF Mido Top Right Chest", "HintKey": "KF_MIDOS_TOP_RIGHT_CHEST", "vanillaItem": "BLUE_RUPEE", "categories": ["cKokiriForest", "cForest"], "SpoilerCollectionCheckGroup": "GROUP_KOKIRI_FOREST"}, + "KF_MIDOS_BOTTOM_LEFT_CHEST": { "type": "Chest", "scene": "0x28", "flag": "0x02", "name": "KF Mido Bottom Left Chest", "HintKey": "KF_MIDOS_BOTTOM_LEFT_CHEST", "vanillaItem": "GREEN_RUPEE", "categories": ["cKokiriForest", "cForest"], "SpoilerCollectionCheckGroup": "GROUP_KOKIRI_FOREST"}, + "KF_MIDOS_BOTTOM_RIGHT_CHEST": { "type": "Chest", "scene": "0x28", "flag": "0x03", "name": "KF Mido Bottom Right Chest", "HintKey": "KF_MIDOS_BOTTOM_RIGHT_CHEST", "vanillaItem": "RECOVERY_HEART", "categories": ["cKokiriForest", "cForest"], "SpoilerCollectionCheckGroup": "GROUP_KOKIRI_FOREST"}, + "KF_STORMS_GROTTO_CHEST": { "type": "Chest", "scene": "0x3E", "flag": "0x0C", "name": "KF Storms Grotto Chest", "HintKey": "KF_STORMS_GROTTO_CHEST", "vanillaItem": "RED_RUPEE", "categories": ["cKokiriForest", "cForest", "cGrotto"], "SpoilerCollectionCheckGroup": "GROUP_KOKIRI_FOREST"}, + + // Lost Woods + "LW_NEAR_SHORTCUTS_GROTTO_CHEST": { "type": "Chest", "scene": "0x3E", "flag": "0x14", "name": "LW Near Shortcuts Grotto Chest", "HintKey": "LW_NEAR_SHORTCUTS_GROTTO_CHEST", "vanillaItem": "BLUE_RUPEE", "categories": ["cLostWoods", "cForest", "cGrotto"], "SpoilerCollectionCheckGroup": "GROUP_LOST_WOODS"}, + "LW_SKULL_KID": { "type": "Base", "scene": "0x5B", "flag": "0x3E", "name": "LW Skull Kid", "HintKey": "LW_SKULL_KID", "vanillaItem": "PIECE_OF_HEART", "categories": ["cLostWoods", "cForest"], "SpoilerCollectionCheck": "ItemGetInf(30)", "SpoilerCollectionCheckGroup": "GROUP_LOST_WOODS"}, + "LW_TRADE_COJIRO": { "type": "Base", "scene": "0x5B", "flag": "0x1F", "name": "LW Trade Cojiro", "HintKey": "LW_TRADE_COJIRO", "vanillaItem": "ODD_MUSHROOM", "categories": ["cLostWoods", "cForest", "cAdultTrade"], "SpoilerCollectionCheck": "ItemGetInf(37)", "SpoilerCollectionCheckGroup": "GROUP_LOST_WOODS"}, + "LW_TRADE_ODD_POULTICE": { "type": "Base", "scene": "0x5B", "flag": "0x21", "name": "LW Trade Odd Poultice", "HintKey": "LW_TRADE_ODD_POULTICE", "vanillaItem": "POACHERS_SAW", "categories": ["cLostWoods", "cForest", "cAdultTrade"], "SpoilerCollectionCheck": "ItemGetInf(57)", "SpoilerCollectionCheckGroup": "GROUP_LOST_WOODS"}, + "LW_OCARINA_MEMORY_GAME": { "type": "Base", "scene": "0x5B", "flag": "0x76", "name": "LW Ocarina Memory Game", "HintKey": "LW_OCARINA_MEMORY_GAME", "vanillaItem": "PIECE_OF_HEART", "categories": ["cLostWoods", "cForest", "cMinigame"], "SpoilerCollectionCheck": "ItemGetInf(31)", "SpoilerCollectionCheckGroup": "GROUP_LOST_WOODS"}, + "LW_TARGET_IN_WOODS": { "type": "Base", "scene": "0x5B", "flag": "0x60", "name": "LW Target in Woods", "HintKey": "LW_TARGET_IN_WOODS", "vanillaItem": "PROGRESSIVE_SLINGSHOT", "categories": ["cLostWoods", "cForest"], "SpoilerCollectionCheck": "ItemGetInf(21)", "SpoilerCollectionCheckGroup": "GROUP_LOST_WOODS"}, + "LW_DEKU_SCRUB_NEAR_DEKU_THEATER_RIGHT": { "type": "Base", "scene": "0x5B", "flag": "0x30", "name": "LW Deku Scrub Near Deku Theater Right","HintKey": "LW_DEKU_SCRUB_NEAR_DEKU_THEATER_RIGHT", "vanillaItem": "DEKU_NUTS_5", "categories": ["cLostWoods", "cForest", "cDekuScrub"], "SpoilerCollectionCheck": "Scrub(0x5B, 0x01)", "SpoilerCollectionCheckGroup": "GROUP_LOST_WOODS"}, + "LW_DEKU_SCRUB_NEAR_DEKU_THEATER_LEFT": { "type": "Base", "scene": "0x5B", "flag": "0x31", "name": "LW Deku Scrub Near Deku Theater Left", "HintKey": "LW_DEKU_SCRUB_NEAR_DEKU_THEATER_LEFT", "vanillaItem": "DEKU_STICK_1", "categories": ["cLostWoods", "cForest", "cDekuScrub"], "SpoilerCollectionCheck": "Scrub(0x5B, 0x02)", "SpoilerCollectionCheckGroup": "GROUP_LOST_WOODS"}, + "LW_DEKU_SCRUB_NEAR_BRIDGE": { "type": "Base", "scene": "0x5B", "flag": "0x77", "name": "LW Deku Scrub Near Bridge", "HintKey": "LW_DEKU_SCRUB_NEAR_BRIDGE", "vanillaItem": "PROGRESSIVE_STICK_UPGRADE", "categories": ["cLostWoods", "cForest", "cDekuScrub", "cDekuScrubUpgrades"], "SpoilerCollectionCheck": "Scrub(0x5B, 0x0A)", "SpoilerCollectionCheckGroup": "GROUP_LOST_WOODS"}, + "LW_DEKU_SCRUB_GROTTO_REAR": { "type": "GrottoScrub", "scene": "0xF5", "flag": "0x33", "name": "LW Deku Scrub Grotto Rear", "HintKey": "LW_DEKU_SCRUB_GROTTO_REAR", "vanillaItem": "DEKU_SEEDS_30", "categories": ["cLostWoods", "cForest", "cDekuScrub", "cGrotto"], "SpoilerCollectionCheck": "Scrub(0x1F, 0x04)", "SpoilerCollectionCheckGroup": "GROUP_LOST_WOODS"}, + "LW_DEKU_SCRUB_GROTTO_FRONT": { "type": "GrottoScrub", "scene": "0xF5", "flag": "0x79", "name": "LW Deku Scrub Grotto Front", "HintKey": "LW_DEKU_SCRUB_GROTTO_FRONT", "vanillaItem": "PROGRESSIVE_NUT_UPGRADE", "categories": ["cLostWoods", "cForest", "cDekuScrub", "cDekuScrubUpgrades", "cGrotto"], "SpoilerCollectionCheck": "Scrub(0x1F, 0x0B)", "SpoilerCollectionCheckGroup": "GROUP_LOST_WOODS"}, + "DEKU_THEATER_SKULL_MASK": { "type": "Base", "scene": "0x3E", "flag": "0x77", "name": "Deku Theater Skull Mask", "HintKey": "DEKU_THEATER_SKULL_MASK", "vanillaItem": "PROGRESSIVE_STICK_UPGRADE", "categories": ["cLostWoods", "cForest", "cGrotto"], "SpoilerCollectionCheck": "ItemGetInf(22)", "SpoilerCollectionCheckGroup": "GROUP_LOST_WOODS"}, + "DEKU_THEATER_MASK_OF_TRUTH": { "type": "Base", "scene": "0x3E", "flag": "0x7A", "name": "Deku Theater Mask of Truth", "HintKey": "DEKU_THEATER_MASK_OF_TRUTH", "vanillaItem": "PROGRESSIVE_NUT_UPGRADE", "categories": ["cLostWoods", "cForest", "cNeedSpiritualStones", "cGrotto"], "SpoilerCollectionCheck": "ItemGetInf(23)", "SpoilerCollectionCheckGroup": "GROUP_LOST_WOODS"}, + + // Sacred Forest Meadow + "SFM_WOLFOS_GROTTO_CHEST": { "type": "Chest", "scene": "0x3E", "flag": "0x11", "name": "SFM Wolfos Grotto Chest", "HintKey": "SFM_WOLFOS_GROTTO_CHEST", "vanillaItem": "PURPLE_RUPEE", "categories": ["cSacredForestMeadow", "cForest", "cGrotto"], "SpoilerCollectionCheckGroup": "GROUP_SACRED_FOREST_MEADOW"}, + "SFM_DEKU_SCRUB_GROTTO_REAR": { "type": "GrottoScrub", "scene": "0xEE", "flag": "0x39", "name": "SFM Deku Scrub Grotto Rear", "HintKey": "SFM_DEKU_SCRUB_GROTTO_REAR", "vanillaItem": "RED_POTION_REFILL", "categories": ["cSacredForestMeadow", "cForest", "cDekuScrub", "cGrotto"], "SpoilerCollectionCheck": "Scrub(0x18, 0x08)", "SpoilerCollectionCheckGroup": "GROUP_SACRED_FOREST_MEADOW"}, + "SFM_DEKU_SCRUB_GROTTO_FRONT": { "type": "GrottoScrub", "scene": "0xEE", "flag": "0x3A", "name": "SFM Deku Scrub Grotto Front", "HintKey": "SFM_DEKU_SCRUB_GROTTO_FRONT", "vanillaItem": "GREEN_POTION_REFILL", "categories": ["cSacredForestMeadow", "cForest", "cDekuScrub", "cGrotto"], "SpoilerCollectionCheck": "Scrub(0x18, 0x09)", "SpoilerCollectionCheckGroup": "GROUP_SACRED_FOREST_MEADOW"}, + + // Hyrule Field + "HF_SOUTHEAST_GROTTO_CHEST": { "type": "Chest", "scene": "0x3E", "flag": "0x02", "name": "HF Southeast Grotto Chest", "HintKey": "HF_SOUTHEAST_GROTTO_CHEST", "vanillaItem": "RED_RUPEE", "categories": ["cHyruleField", "cGrotto"], "SpoilerCollectionCheckGroup": "GROUP_HYRULE_FIELD"}, + "HF_OPEN_GROTTO_CHEST": { "type": "Chest", "scene": "0x3E", "flag": "0x03", "name": "HF Open Grotto Chest", "HintKey": "HF_OPEN_GROTTO_CHEST", "vanillaItem": "BLUE_RUPEE", "categories": ["cHyruleField", "cGrotto"], "SpoilerCollectionCheckGroup": "GROUP_HYRULE_FIELD"}, + "HF_NEAR_MARKET_GROTTO_CHEST": { "type": "Chest", "scene": "0x3E", "flag": "0x00", "name": "HF Near Market Grotto Chest", "HintKey": "HF_NEAR_MARKET_GROTTO_CHEST", "vanillaItem": "BLUE_RUPEE", "categories": ["cHyruleField", "cGrotto"], "SpoilerCollectionCheckGroup": "GROUP_HYRULE_FIELD"}, + "HF_OCARINA_OF_TIME_ITEM": { "type": "Base", "scene": "0x51", "flag": "0x0C", "name": "HF Ocarina of Time Item", "HintKey": "HF_OCARINA_OF_TIME_ITEM", "vanillaItem": "PROGRESSIVE_OCARINA", "categories": ["cHyruleField", "cNeedSpiritualStones"], "SpoilerCollectionCheck": "EventChkInf(0x43)", "SpoilerCollectionCheckGroup": "GROUP_HYRULE_FIELD"}, + "HF_TEKTITE_GROTTO_FREESTANDING_POH": { "type": "Collectable", "scene": "0x3E", "flag": "0x01", "name": "HF Tektite Grotto Freestanding PoH", "HintKey": "HF_TEKTITE_GROTTO_FREESTANDING_POH", "vanillaItem": "PIECE_OF_HEART", "categories": ["cHyruleField", "cGrotto"], "SpoilerCollectionCheckGroup": "GROUP_HYRULE_FIELD"}, + "HF_DEKU_SCRUB_GROTTO": { "type": "GrottoScrub", "scene": "0xE6", "flag": "0x3E", "name": "HF Deku Scrub Grotto", "HintKey": "HF_DEKU_SCRUB_GROTTO", "vanillaItem": "PIECE_OF_HEART", "categories": ["cHyruleField", "cDekuScrub", "cDekuScrubUpgrades", "cGrotto"], "SpoilerCollectionCheck": "Scrub(0x10, 0x03)", "SpoilerCollectionCheckGroup": "GROUP_HYRULE_FIELD"}, + + // Lake Hylia + "LH_CHILD_FISHING": { "type": "Base", "scene": "0x49", "flag": "0x3E", "name": "LH Child Fishing", "HintKey": "LH_CHILD_FISHING", "vanillaItem": "PIECE_OF_HEART", "categories": ["cLakeHylia", "cMinigame"], "SpoilerCollectionCheck": "Fishing(0x02)", "SpoilerCollectionCheckGroup": "GROUP_LAKE_HYLIA"}, + "LH_ADULT_FISHING": { "type": "Base", "scene": "0x49", "flag": "0x38", "name": "LH Adult Fishing", "HintKey": "LH_ADULT_FISHING", "vanillaItem": "PROGRESSIVE_SCALE", "categories": ["cLakeHylia", "cMinigame"], "SpoilerCollectionCheck": "Fishing(0x03)", "SpoilerCollectionCheckGroup": "GROUP_LAKE_HYLIA"}, + "LH_LAB_DIVE": { "type": "Base", "scene": "0x38", "flag": "0x3E", "name": "LH Lab Dive", "HintKey": "LH_LAB_DIVE", "vanillaItem": "PIECE_OF_HEART", "categories": ["cLakeHylia"], "SpoilerCollectionCheck": "ItemGetInf(24)", "SpoilerCollectionCheckGroup": "GROUP_LAKE_HYLIA"}, + "LH_TRADE_FROG": { "type": "Base", "scene": "0x38", "flag": "0x25", "name": "LH Lab Trade Eyeball Frog", "HintKey": "LH_TRADE_FROG", "vanillaItem": "EYEDROPS", "categories": ["cLakeHylia", "cAdultTrade"], "SpoilerCollectionCheck": "ItemGetInf(61)", "SpoilerCollectionCheckGroup": "GROUP_LAKE_HYLIA"}, + "LH_UNDERWATER_ITEM": { "type": "Base", "scene": "0x57", "flag": "0x15", "name": "LH Underwater Item", "HintKey": "LH_UNDERWATER_ITEM", "vanillaItem": "RUTOS_LETTER", "categories": ["cLakeHylia"], "SpoilerCollectionCheck": "EventChkInf(0x31)", "SpoilerCollectionCheckGroup": "GROUP_LAKE_HYLIA"}, + "LH_SUN": { "type": "Base", "scene": "0x57", "flag": "0x58", "name": "LH Sun", "HintKey": "LH_SUN", "vanillaItem": "FIRE_ARROWS", "categories": ["cLakeHylia"], "SpoilerCollectionCheck": "Chest(0x57, 0x00)", "SpoilerCollectionCheckGroup": "GROUP_LAKE_HYLIA"}, + "LH_FREESTANDING_POH": { "type": "Collectable", "scene": "0x57", "flag": "0x1E", "name": "LH Freestanding PoH", "HintKey": "LH_FREESTANDING_POH", "vanillaItem": "PIECE_OF_HEART", "categories": ["cLakeHylia"], "SpoilerCollectionCheckGroup": "GROUP_LAKE_HYLIA"}, + "LH_DEKU_SCRUB_GROTTO_LEFT": { "type": "GrottoScrub", "scene": "0xEF", "flag": "0x30", "name": "LH Deku Scrub Grotto Left", "HintKey": "LH_DEKU_SCRUB_GROTTO_LEFT", "vanillaItem": "DEKU_NUTS_5", "categories": ["cLakeHylia", "cDekuScrub", "cGrotto"], "SpoilerCollectionCheck": "Scrub(0x19, 0x01)", "SpoilerCollectionCheckGroup": "GROUP_LAKE_HYLIA"}, + "LH_DEKU_SCRUB_GROTTO_RIGHT": { "type": "GrottoScrub", "scene": "0xEF", "flag": "0x37", "name": "LH Deku Scrub Grotto Right", "HintKey": "LH_DEKU_SCRUB_GROTTO_RIGHT", "vanillaItem": "BOMBS_5", "categories": ["cLakeHylia", "cDekuScrub", "cGrotto"], "SpoilerCollectionCheck": "Scrub(0x19, 0x06)", "SpoilerCollectionCheckGroup": "GROUP_LAKE_HYLIA"}, + "LH_DEKU_SCRUB_GROTTO_CENTER": { "type": "GrottoScrub", "scene": "0xEF", "flag": "0x33", "name": "LH Deku Scrub Grotto Center", "HintKey": "LH_DEKU_SCRUB_GROTTO_CENTER", "vanillaItem": "DEKU_SEEDS_30", "categories": ["cLakeHylia", "cDekuScrub", "cGrotto"], "SpoilerCollectionCheck": "Scrub(0x19, 0x04)", "SpoilerCollectionCheckGroup": "GROUP_LAKE_HYLIA"}, + + // Gerudo Valley + "GV_CHEST": { "type": "Chest", "scene": "0x5A", "flag": "0x00", "name": "GV Chest", "HintKey": "GV_CHEST", "vanillaItem": "PURPLE_RUPEE", "categories": ["cGerudoValley", "cGerudo"], "SpoilerCollectionCheckGroup": "GROUP_GERUDO_VALLEY"}, + "GV_TRADE_SAW": { "type": "Base", "scene": "0x5A", "flag": "0x22", "name": "GV Trade Saw", "HintKey": "GV_TRADE_SAW", "vanillaItem": "BROKEN_SWORD", "categories": ["cGerudoValley", "cGerudo", "cAdultTrade"], "SpoilerCollectionCheck": "ItemGetInf(58)", "SpoilerCollectionCheckGroup": "GROUP_GERUDO_VALLEY"}, + "GV_WATERFALL_FREESTANDING_POH": { "type": "Collectable", "scene": "0x5A", "flag": "0x01", "name": "GV Waterfall Freestanding PoH", "HintKey": "GV_WATERFALL_FREESTANDING_POH", "vanillaItem": "PIECE_OF_HEART", "categories": ["cGerudoValley", "cGerudo"], "SpoilerCollectionCheckGroup": "GROUP_GERUDO_VALLEY"}, + "GV_CRATE_FREESTANDING_POH": { "type": "Collectable", "scene": "0x5A", "flag": "0x02", "name": "GV Crate Freestanding PoH", "HintKey": "GV_CRATE_FREESTANDING_POH", "vanillaItem": "PIECE_OF_HEART", "categories": ["cGerudoValley", "cGerudo"], "SpoilerCollectionCheckGroup": "GROUP_GERUDO_VALLEY"}, + "GV_DEKU_SCRUB_GROTTO_REAR": { "type": "GrottoScrub", "scene": "0xF0", "flag": "0x39", "name": "GV Deku Scrub Grotto Rear", "HintKey": "GV_DEKU_SCRUB_GROTTO_REAR", "vanillaItem": "RED_POTION_REFILL", "categories": ["cGerudoValley", "cGerudo", "cDekuScrub", "cGrotto"], "SpoilerCollectionCheck": "Scrub(0x1A, 0x08)", "SpoilerCollectionCheckGroup": "GROUP_GERUDO_VALLEY"}, + "GV_DEKU_SCRUB_GROTTO_FRONT": { "type": "GrottoScrub", "scene": "0xF0", "flag": "0x3A", "name": "GV Deku Scrub Grotto Front", "HintKey": "GV_DEKU_SCRUB_GROTTO_FRONT", "vanillaItem": "GREEN_POTION_REFILL", "categories": ["cGerudoValley", "cGerudo", "cDekuScrub", "cGrotto"], "SpoilerCollectionCheck": "Scrub(0x1A, 0x09)", "SpoilerCollectionCheckGroup": "GROUP_GERUDO_VALLEY"}, + + // Gerudo Fortress + "GF_CHEST": { "type": "Chest", "scene": "0x5D", "flag": "0x00", "name": "GF Chest", "HintKey": "GF_CHEST", "vanillaItem": "PIECE_OF_HEART", "categories": ["cGerudoFortress", "cGerudo"], "SpoilerCollectionCheckGroup": "GROUP_GERUDO_VALLEY"}, + "GF_HBA_1000_POINTS": { "type": "Base", "scene": "0x5D", "flag": "0x3E", "name": "GF HBA 1000 Points", "HintKey": "GF_HBA_1000_POINTS", "vanillaItem": "PIECE_OF_HEART", "categories": ["cGerudoFortress", "cGerudo", "cMinigame"], "SpoilerCollectionCheck": "InfTable(0x19, 0x08)", "SpoilerCollectionCheckGroup": "GROUP_GERUDO_VALLEY"}, + "GF_HBA_1500_POINTS": { "type": "Base", "scene": "0x5D", "flag": "0x30", "name": "GF HBA 1500 Points", "HintKey": "GF_HBA_1500_POINTS", "vanillaItem": "PROGRESSIVE_BOW", "categories": ["cGerudoFortress", "cGerudo", "cMinigame"], "SpoilerCollectionCheck": "ItemGetInf(7)", "SpoilerCollectionCheckGroup": "GROUP_GERUDO_VALLEY"}, + "GF_GERUDO_TOKEN": { "type": "Base", "scene": "0x0C", "flag": "0x3A", "name": "GF Gerudo Token", "HintKey": "GF_GERUDO_TOKEN", "vanillaItem": "GERUDO_TOKEN", "categories": ["cGerudoFortress", "cGerudo"], "SpoilerCollectionCheck": "GerudoToken()", "SpoilerCollectionCheckGroup": "GROUP_GERUDO_VALLEY"}, + "GF_NORTH_F1_CARPENTER": { "type": "Collectable", "scene": "0x0C", "flag": "0x0C", "name": "GF North F1 Carpenter", "HintKey": "GF_NORTH_F1_CARPENTER", "vanillaItem": "GERUDO_FORTRESS_SMALL_KEY", "categories": ["cGerudoFortress", "cGerudo", "cVanillaGFSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_GERUDO_VALLEY"}, + "GF_NORTH_F2_CARPENTER": { "type": "Collectable", "scene": "0x0C", "flag": "0x0A", "name": "GF North F2 Carpenter", "HintKey": "GF_NORTH_F2_CARPENTER", "vanillaItem": "GERUDO_FORTRESS_SMALL_KEY", "categories": ["cGerudoFortress", "cGerudo", "cVanillaGFSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_GERUDO_VALLEY"}, + "GF_SOUTH_F1_CARPENTER": { "type": "Collectable", "scene": "0x0C", "flag": "0x0E", "name": "GF South F1 Carpenter", "HintKey": "GF_SOUTH_F1_CARPENTER", "vanillaItem": "GERUDO_FORTRESS_SMALL_KEY", "categories": ["cGerudoFortress", "cGerudo", "cVanillaGFSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_GERUDO_VALLEY"}, + "GF_SOUTH_F2_CARPENTER": { "type": "Collectable", "scene": "0x0C", "flag": "0x0F", "name": "GF South F2 Carpenter", "HintKey": "GF_SOUTH_F2_CARPENTER", "vanillaItem": "GERUDO_FORTRESS_SMALL_KEY", "categories": ["cGerudoFortress", "cGerudo", "cVanillaGFSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_GERUDO_VALLEY"}, + + // Haunted Wasteland + "WASTELAND_CHEST": { "type": "Chest", "scene": "0x5E", "flag": "0x00", "name": "Wasteland Chest", "HintKey": "WASTELAND_CHEST", "vanillaItem": "PURPLE_RUPEE", "categories": ["cHauntedWasteland"], "SpoilerCollectionCheckGroup": "GROUP_HAUNTED_WASTELAND"}, + "WASTELAND_BOMBCHU_SALESMAN": { "type": "Base", "scene": "0x5E", "flag": "0x03", "name": "Wasteland Carpet Salesman", "HintKey": "WASTELAND_BOMBCHU_SALESMAN", "vanillaItem": "BOMBCHU_10", "categories": ["cHauntedWasteland", "cMerchant"], "SpoilerCollectionCheck": "EventChkInf(0x34)", "SpoilerCollectionCheckGroup": "GROUP_HAUNTED_WASTELAND"}, + + // Desert Colossus + "COLOSSUS_FREESTANDING_POH": { "type": "Collectable", "scene": "0x5C", "flag": "0x0D", "name": "Colossus Freestanding PoH", "HintKey": "COLOSSUS_FREESTANDING_POH", "vanillaItem": "PIECE_OF_HEART", "categories": ["cDesertColossus"], "SpoilerCollectionCheckGroup": "GROUP_HAUNTED_WASTELAND"}, + "COLOSSUS_DEKU_SCRUB_GROTTO_REAR": { "type": "GrottoScrub", "scene": "0xFD", "flag": "0x39", "name": "Colossus Deku Scrub Grotto Rear", "HintKey": "COLOSSUS_DEKU_SCRUB_GROTTO_REAR", "vanillaItem": "RED_POTION_REFILL", "categories": ["cDesertColossus", "cDekuScrub", "cGrotto"], "SpoilerCollectionCheck": "Scrub(0x27, 0x08)", "SpoilerCollectionCheckGroup": "GROUP_HAUNTED_WASTELAND"}, + "COLOSSUS_DEKU_SCRUB_GROTTO_FRONT": { "type": "GrottoScrub", "scene": "0xFD", "flag": "0x3A", "name": "Colossus Deku Scrub Grotto Front", "HintKey": "COLOSSUS_DEKU_SCRUB_GROTTO_FRONT", "vanillaItem": "GREEN_POTION_REFILL", "categories": ["cDesertColossus", "cDekuScrub", "cGrotto"], "SpoilerCollectionCheck": "Scrub(0x27, 0x09)", "SpoilerCollectionCheckGroup": "GROUP_HAUNTED_WASTELAND"}, + + // Market + "MARKET_TREASURE_CHEST_GAME_REWARD": { "type": "Chest", "scene": "0x10", "flag": "0x0A", "name": "MK Treasure Chest Game Reward", "HintKey": "MARKET_TREASURE_CHEST_GAME_REWARD", "vanillaItem": "TREASURE_GAME_HEART", "categories": ["cInnerMarket", "cMarket", "cMinigame"], "SpoilerCollectionCheck": "ItemGetInf(19)", "SpoilerCollectionCheckGroup": "GROUP_MARKET"}, + "MARKET_BOMBCHU_BOWLING_FIRST_PRIZE": { "type": "Base", "scene": "0x4B", "flag": "0x33", "name": "MK Bombchu Bowling First Prize", "HintKey": "MARKET_BOMBCHU_BOWLING_FIRST_PRIZE", "vanillaItem": "PROGRESSIVE_BOMB_BAG", "categories": ["cInnerMarket", "cMarket", "cMinigame"], "SpoilerCollectionCheck": "ItemGetInf(25)", "SpoilerCollectionCheckGroup": "GROUP_MARKET"}, + "MARKET_BOMBCHU_BOWLING_SECOND_PRIZE": { "type": "Base", "scene": "0x4B", "flag": "0x3E", "name": "MK Bombchu Bowling Second Prize", "HintKey": "MARKET_BOMBCHU_BOWLING_SECOND_PRIZE", "vanillaItem": "PIECE_OF_HEART", "categories": ["cInnerMarket", "cMarket", "cMinigame"], "SpoilerCollectionCheck": "ItemGetInf(26)", "SpoilerCollectionCheckGroup": "GROUP_MARKET"}, + "MARKET_BOMBCHU_BOWLING_BOMBCHUS": { "type": "Base", "scene": "0x4B", "flag": "0xFF", "name": "MK Bombchu Bowling Bombchus", "HintKey": "NONE", "vanillaItem": "BOMBCHU_DROP", "categories": ["cInnerMarket", "cMarket", "cMinigame"], "SpoilerCollectionCheck": "None()", "SpoilerCollectionCheckGroup": "GROUP_MARKET"}, + "MARKET_LOST_DOG": { "type": "Base", "scene": "0x35", "flag": "0x3E", "name": "MK Lost Dog", "HintKey": "MARKET_LOST_DOG", "vanillaItem": "PIECE_OF_HEART", "categories": ["cInnerMarket", "cMarket"], "SpoilerCollectionCheck": "InfTable(0x19, 0x09)", "SpoilerCollectionCheckGroup": "GROUP_MARKET"}, + "MARKET_SHOOTING_GALLERY_REWARD": { "type": "Base", "scene": "0x42", "flag": "0x60", "name": "MK Shooting Gallery", "HintKey": "MARKET_SHOOTING_GALLERY_REWARD", "vanillaItem": "PROGRESSIVE_SLINGSHOT", "categories": ["cInnerMarket", "cMarket", "cMinigame"], "SpoilerCollectionCheck": "ItemGetInf(5)", "SpoilerCollectionCheckGroup": "GROUP_MARKET"}, + "MARKET_10_BIG_POES": { "type": "Base", "scene": "0x4D", "flag": "0x0F", "name": "MK 10 Big Poes", "HintKey": "MARKET_10_BIG_POES", "vanillaItem": "EMPTY_BOTTLE", "categories": ["cInnerMarket", "cMarket"], "SpoilerCollectionCheck": "BigPoePoints()", "SpoilerCollectionCheckGroup": "GROUP_MARKET"}, + "MARKET_TREASURE_CHEST_GAME_ITEM_1": { "type": "Chest", "scene": "0x10", "flag": "0x01", "name": "MK Chest Game First Room Chest", "HintKey": "MARKET_TREASURE_CHEST_GAME_ITEM_1", "vanillaItem": "TREASURE_GAME_SMALL_KEY", "categories": ["cInnerMarket", "cMarket", "cMinigame", "cChestMinigame"], "SpoilerCollectionCheckGroup": "GROUP_MARKET"}, + "MARKET_TREASURE_CHEST_GAME_ITEM_2": { "type": "Chest", "scene": "0x10", "flag": "0x03", "name": "MK Chest Game Second Room Chest", "HintKey": "MARKET_TREASURE_CHEST_GAME_ITEM_2", "vanillaItem": "TREASURE_GAME_SMALL_KEY", "categories": ["cInnerMarket", "cMarket", "cMinigame", "cChestMinigame"], "SpoilerCollectionCheckGroup": "GROUP_MARKET"}, + "MARKET_TREASURE_CHEST_GAME_ITEM_3": { "type": "Chest", "scene": "0x10", "flag": "0x05", "name": "MK Chest Game Third Room Chest", "HintKey": "MARKET_TREASURE_CHEST_GAME_ITEM_3", "vanillaItem": "TREASURE_GAME_SMALL_KEY", "categories": ["cInnerMarket", "cMarket", "cMinigame", "cChestMinigame"], "SpoilerCollectionCheckGroup": "GROUP_MARKET"}, + "MARKET_TREASURE_CHEST_GAME_ITEM_4": { "type": "Chest", "scene": "0x10", "flag": "0x07", "name": "MK Chest Game Fourth Room Chest", "HintKey": "MARKET_TREASURE_CHEST_GAME_ITEM_4", "vanillaItem": "TREASURE_GAME_SMALL_KEY", "categories": ["cInnerMarket", "cMarket", "cMinigame", "cChestMinigame"], "SpoilerCollectionCheckGroup": "GROUP_MARKET"}, + "MARKET_TREASURE_CHEST_GAME_ITEM_5": { "type": "Chest", "scene": "0x10", "flag": "0x09", "name": "MK Chest Game Fifth Room Chest", "HintKey": "MARKET_TREASURE_CHEST_GAME_ITEM_5", "vanillaItem": "TREASURE_GAME_SMALL_KEY", "categories": ["cInnerMarket", "cMarket", "cMinigame", "cChestMinigame"], "SpoilerCollectionCheckGroup": "GROUP_MARKET"}, + + // Hyrule Castle + "HC_MALON_EGG": { "type": "Base", "scene": "0x5F", "flag": "0x47", "name": "HC Malon Egg", "HintKey": "HC_MALON_EGG", "vanillaItem": "WEIRD_EGG", "categories": ["cHyruleCastle", "cMarket"], "SpoilerCollectionCheck": "EventChkInf(0x12)", "SpoilerCollectionCheckGroup": "GROUP_HYRULE_CASTLE"}, + "HC_ZELDAS_LETTER": { "type": "Base", "scene": "0x4A", "flag": "0x0B", "name": "HC Zeldas Letter", "HintKey": "HC_ZELDAS_LETTER", "vanillaItem": "ZELDAS_LETTER", "categories": ["cHyruleCastle", "cMarket"], "SpoilerCollectionCheck": "EventChkInf(0x40)", "SpoilerCollectionCheckGroup": "GROUP_HYRULE_CASTLE"}, + + // Kakariko + "KAK_REDEAD_GROTTO_CHEST": { "type": "Chest", "scene": "0x3E", "flag": "0x0A", "name": "Kak Redead Grotto Chest", "HintKey": "KAK_REDEAD_GROTTO_CHEST", "vanillaItem": "HUGE_RUPEE", "categories": ["cKakarikoVillage", "cKakariko", "cGrotto"], "SpoilerCollectionCheckGroup": "GROUP_KAKARIKO"}, + "KAK_OPEN_GROTTO_CHEST": { "type": "Chest", "scene": "0x3E", "flag": "0x08", "name": "Kak Open Grotto Chest", "HintKey": "KAK_OPEN_GROTTO_CHEST", "vanillaItem": "RED_RUPEE", "categories": ["cKakarikoVillage", "cKakariko", "cGrotto"], "SpoilerCollectionCheckGroup": "GROUP_KAKARIKO"}, + "KAK_10_GOLD_SKULLTULA_REWARD": { "type": "Base", "scene": "0x50", "flag": "0x45", "name": "Kak 10 Gold Skulltula Reward", "HintKey": "KAK_10_GOLD_SKULLTULA_REWARD", "vanillaItem": "PROGRESSIVE_WALLET", "categories": ["cKakarikoVillage", "cKakariko", "cSkulltulaHouse"], "SpoilerCollectionCheck": "EventChkInf(0xDA)", "SpoilerCollectionCheckGroup": "GROUP_KAKARIKO"}, + "KAK_20_GOLD_SKULLTULA_REWARD": { "type": "Base", "scene": "0x50", "flag": "0x39", "name": "Kak 20 Gold Skulltula Reward", "HintKey": "KAK_20_GOLD_SKULLTULA_REWARD", "vanillaItem": "SHARD_OF_AGONY", "categories": ["cKakarikoVillage", "cKakariko", "cSkulltulaHouse"], "SpoilerCollectionCheck": "EventChkInf(0xDB)", "SpoilerCollectionCheckGroup": "GROUP_KAKARIKO"}, + "KAK_30_GOLD_SKULLTULA_REWARD": { "type": "Base", "scene": "0x50", "flag": "0x46", "name": "Kak 30 Gold Skulltula Reward", "HintKey": "KAK_30_GOLD_SKULLTULA_REWARD", "vanillaItem": "PROGRESSIVE_WALLET", "categories": ["cKakarikoVillage", "cKakariko", "cSkulltulaHouse"], "SpoilerCollectionCheck": "EventChkInf(0xDC)", "SpoilerCollectionCheckGroup": "GROUP_KAKARIKO"}, + "KAK_40_GOLD_SKULLTULA_REWARD": { "type": "Base", "scene": "0x50", "flag": "0x03", "name": "Kak 40 Gold Skulltula Reward", "HintKey": "KAK_40_GOLD_SKULLTULA_REWARD", "vanillaItem": "BOMBCHU_10", "categories": ["cKakarikoVillage", "cKakariko", "cSkulltulaHouse"], "SpoilerCollectionCheck": "EventChkInf(0xDD)", "SpoilerCollectionCheckGroup": "GROUP_KAKARIKO"}, + "KAK_50_GOLD_SKULLTULA_REWARD": { "type": "Base", "scene": "0x50", "flag": "0x3E", "name": "Kak 50 Gold Skulltula Reward", "HintKey": "KAK_50_GOLD_SKULLTULA_REWARD", "vanillaItem": "PIECE_OF_HEART", "categories": ["cKakarikoVillage", "cKakariko", "cSkulltulaHouse"], "SpoilerCollectionCheck": "EventChkInf(0xDE)", "SpoilerCollectionCheckGroup": "GROUP_KAKARIKO"}, + "KAK_MAN_ON_ROOF": { "type": "Base", "scene": "0x52", "flag": "0x3E", "name": "Kak Man on Roof", "HintKey": "KAK_MAN_ON_ROOF", "vanillaItem": "PIECE_OF_HEART", "categories": ["cKakarikoVillage", "cKakariko"], "SpoilerCollectionCheck": "ItemGetInf(29)", "SpoilerCollectionCheckGroup": "GROUP_KAKARIKO"}, + "KAK_SHOOTING_GALLERY_REWARD": { "type": "Base", "scene": "0x42", "flag": "0x30", "name": "Kak Shooting Gallery Reward", "HintKey": "KAK_SHOOTING_GALLERY_REWARD", "vanillaItem": "PROGRESSIVE_BOW", "categories": ["cKakarikoVillage", "cKakariko", "cMinigame"], "SpoilerCollectionCheck": "ItemGetInf(6)", "SpoilerCollectionCheckGroup": "GROUP_KAKARIKO"}, + "KAK_TRADE_ODD_MUSHROOM": { "type": "Base", "scene": "0x4E", "flag": "0x20", "name": "Kak Trade Odd Mushroom", "HintKey": "KAK_TRADE_ODD_MUSHROOM", "vanillaItem": "ODD_POULTICE", "categories": ["cKakarikoVillage", "cKakariko", "cAdultTrade"], "SpoilerCollectionCheck": "ItemGetInf(56)", "SpoilerCollectionCheckGroup": "GROUP_KAKARIKO"}, + "KAK_GRANNYS_SHOP": { "type": "Base", "scene": "0x4E", "flag": "0x10", "name": "Kak Granny's Shop", "HintKey": "KAK_GRANNYS_SHOP", "vanillaItem": "BLUE_POTION_REFILL", "categories": ["cKakarikoVillage", "cKakariko", "cMerchant"], "SpoilerCollectionCheck": "EventChkInf(0x32)", "SpoilerCollectionCheckGroup": "GROUP_KAKARIKO"}, + "KAK_ANJU_AS_ADULT": { "type": "Base", "scene": "0x52", "flag": "0x1D", "name": "Kak Anju as Adult", "HintKey": "KAK_ANJU_AS_ADULT", "vanillaItem": "POCKET_EGG", "categories": ["cKakarikoVillage", "cKakariko"], "SpoilerCollectionCheck": "ItemGetInf(36)", "SpoilerCollectionCheckGroup": "GROUP_KAKARIKO"}, + "KAK_ANJU_AS_CHILD": { "type": "Base", "scene": "0x52", "flag": "0x0F", "name": "Kak Anju as Child", "HintKey": "KAK_ANJU_AS_CHILD", "vanillaItem": "EMPTY_BOTTLE", "categories": ["cKakarikoVillage", "cKakariko", "cMinigame"], "SpoilerCollectionCheck": "ItemGetInf(4)", "SpoilerCollectionCheckGroup": "GROUP_KAKARIKO"}, + "KAK_TRADE_POCKET_CUCCO": { "type": "Base", "scene": "0x52", "flag": "0x0E", "name": "Kak Trade Pocket Cucco", "HintKey": "KAK_TRADE_POCKET_CUCCO", "vanillaItem": "COJIRO", "categories": ["cKakarikoVillage", "cKakariko", "cAdultTrade"], "SpoilerCollectionCheck": "ItemGetInf(38)", "SpoilerCollectionCheckGroup": "GROUP_KAKARIKO"}, + "KAK_IMPAS_HOUSE_FREESTANDING_POH": { "type": "Collectable", "scene": "0x37", "flag": "0x01", "name": "Kak Impas House Freestanding PoH", "HintKey": "KAK_IMPAS_HOUSE_FREESTANDING_POH", "vanillaItem": "PIECE_OF_HEART", "categories": ["cKakarikoVillage", "cKakariko"], "SpoilerCollectionCheckGroup": "GROUP_KAKARIKO"}, + "KAK_WINDMILL_FREESTANDING_POH": { "type": "Collectable", "scene": "0x48", "flag": "0x01", "name": "Kak Windmill Freestanding PoH", "HintKey": "KAK_WINDMILL_FREESTANDING_POH", "vanillaItem": "PIECE_OF_HEART", "categories": ["cKakarikoVillage", "cKakariko"], "SpoilerCollectionCheckGroup": "GROUP_KAKARIKO"}, + + // Graveyard + "GRAVEYARD_SHIELD_GRAVE_CHEST": { "type": "Chest", "scene": "0x40", "flag": "0x00", "name": "GY Shield Grave Chest", "HintKey": "GRAVEYARD_SHIELD_GRAVE_CHEST", "vanillaItem": "HYLIAN_SHIELD", "categories": ["cGraveyard", "cKakariko"], "SpoilerCollectionCheckGroup": "GROUP_GRAVEYARD"}, + "GRAVEYARD_HEART_PIECE_GRAVE_CHEST": { "type": "Chest", "scene": "0x3F", "flag": "0x00", "name": "GY Heart Piece Grave Chest", "HintKey": "GRAVEYARD_HEART_PIECE_GRAVE_CHEST", "vanillaItem": "PIECE_OF_HEART", "categories": ["cGraveyard", "cKakariko"], "SpoilerCollectionCheckGroup": "GROUP_GRAVEYARD"}, + "GRAVEYARD_COMPOSERS_GRAVE_CHEST": { "type": "Chest", "scene": "0x41", "flag": "0x00", "name": "GY Composers Grave Chest", "HintKey": "GRAVEYARD_COMPOSERS_GRAVE_CHEST", "vanillaItem": "BOMBS_5", "categories": ["cGraveyard", "cKakariko"], "SpoilerCollectionCheckGroup": "GROUP_GRAVEYARD"}, + "GRAVEYARD_HOOKSHOT_CHEST": { "type": "Chest", "scene": "0x48", "flag": "0x00", "name": "GY Hookshot Chest", "HintKey": "GRAVEYARD_HOOKSHOT_CHEST", "vanillaItem": "PROGRESSIVE_HOOKSHOT", "categories": ["cGraveyard", "cKakariko"], "SpoilerCollectionCheckGroup": "GROUP_GRAVEYARD"}, + "GRAVEYARD_DAMPE_RACE_FREESTANDING_POH": { "type": "Collectable", "scene": "0x48", "flag": "0x07", "name": "GY Dampe Race Freestanding PoH", "HintKey": "GRAVEYARD_DAMPE_RACE_FREESTANDING_POH", "vanillaItem": "PIECE_OF_HEART", "categories": ["cGraveyard", "cKakariko", "cMinigame"], "SpoilerCollectionCheckGroup": "GROUP_GRAVEYARD"}, + "GRAVEYARD_FREESTANDING_POH": { "type": "Collectable", "scene": "0x53", "flag": "0x04", "name": "GY Freestanding PoH", "HintKey": "GRAVEYARD_FREESTANDING_POH", "vanillaItem": "PIECE_OF_HEART", "categories": ["cGraveyard", "cKakariko"], "SpoilerCollectionCheckGroup": "GROUP_GRAVEYARD"}, + "GRAVEYARD_DAMPE_GRAVEDIGGING_TOUR": { "type": "Collectable", "scene": "0x53", "flag": "0x08", "name": "GY Dampe Gravedigging Tour", "HintKey": "GRAVEYARD_DAMPE_GRAVEDIGGING_TOUR", "vanillaItem": "PIECE_OF_HEART", "categories": ["cGraveyard", "cKakariko"], "SpoilerCollectionCheck": "ItemGetInf(20)", "SpoilerCollectionCheckGroup": "GROUP_GRAVEYARD"}, + + // Death Mountain Trail + "DMT_CHEST": { "type": "Chest", "scene": "0x60", "flag": "0x01", "name": "DMT Chest", "HintKey": "DMT_CHEST", "vanillaItem": "PURPLE_RUPEE", "categories": ["cDeathMountainTrail", "cDeathMountain"], "SpoilerCollectionCheckGroup": "GROUP_DEATH_MOUNTAIN_TRAIL"}, + "DMT_STORMS_GROTTO_CHEST": { "type": "Chest", "scene": "0x3E", "flag": "0x17", "name": "DMT Storms Grotto Chest", "HintKey": "DMT_STORMS_GROTTO_CHEST", "vanillaItem": "HUGE_RUPEE", "categories": ["cDeathMountainTrail", "cDeathMountain", "cGrotto"], "SpoilerCollectionCheckGroup": "GROUP_DEATH_MOUNTAIN_TRAIL"}, + "DMT_TRADE_BROKEN_SWORD": { "type": "Base", "scene": "0x60", "flag": "0x23", "name": "DMT Trade Broken Sword", "HintKey": "DMT_TRADE_BROKEN_SWORD", "vanillaItem": "PRESCRIPTION", "categories": ["cDeathMountainTrail", "cDeathMountain", "cAdultTrade"], "SpoilerCollectionCheck": "Biggoron(0x4)", "SpoilerCollectionCheckGroup": "GROUP_DEATH_MOUNTAIN_TRAIL"}, + "DMT_TRADE_EYEDROPS": { "type": "Base", "scene": "0x60", "flag": "0x26", "name": "DMT Trade Eyedrops", "HintKey": "DMT_TRADE_EYEDROPS", "vanillaItem": "CLAIM_CHECK", "categories": ["cDeathMountainTrail", "cDeathMountain", "cAdultTrade"], "SpoilerCollectionCheck": "Biggoron(0x2)", "SpoilerCollectionCheckGroup": "GROUP_DEATH_MOUNTAIN_TRAIL"}, + "DMT_TRADE_CLAIM_CHECK": { "type": "Base", "scene": "0x60", "flag": "0x57", "name": "DMT Trade Claim Check", "HintKey": "DMT_TRADE_CLAIM_CHECK", "vanillaItem": "BIGGORON_SWORD", "categories": ["cDeathMountainTrail", "cDeathMountain"], "SpoilerCollectionCheck": "Biggoron(0x1)", "SpoilerCollectionCheckGroup": "GROUP_DEATH_MOUNTAIN_TRAIL"}, + "DMT_FREESTANDING_POH": { "type": "Collectable", "scene": "0x60", "flag": "0x1E", "name": "DMT Freestanding PoH", "HintKey": "DMT_FREESTANDING_POH", "vanillaItem": "PIECE_OF_HEART", "categories": ["cDeathMountainTrail", "cDeathMountain"], "SpoilerCollectionCheckGroup": "GROUP_DEATH_MOUNTAIN_TRAIL"}, + + // Goron City + "GC_MAZE_LEFT_CHEST": { "type": "Chest", "scene": "0x62", "flag": "0x00", "name": "GC Maze Left Chest", "HintKey": "GC_MAZE_LEFT_CHEST", "vanillaItem": "HUGE_RUPEE", "categories": ["cGoronCity"], "SpoilerCollectionCheckGroup": "GROUP_GORON_CITY"}, + "GC_MAZE_RIGHT_CHEST": { "type": "Chest", "scene": "0x62", "flag": "0x01", "name": "GC Maze Right Chest", "HintKey": "GC_MAZE_RIGHT_CHEST", "vanillaItem": "PURPLE_RUPEE", "categories": ["cGoronCity"], "SpoilerCollectionCheckGroup": "GROUP_GORON_CITY"}, + "GC_MAZE_CENTER_CHEST": { "type": "Chest", "scene": "0x62", "flag": "0x02", "name": "GC Maze Center Chest", "HintKey": "GC_MAZE_CENTER_CHEST", "vanillaItem": "PURPLE_RUPEE", "categories": ["cGoronCity"], "SpoilerCollectionCheckGroup": "GROUP_GORON_CITY"}, + "GC_ROLLING_GORON_AS_CHILD": { "type": "Base", "scene": "0x62", "flag": "0x34", "name": "GC Rolling Goron as Child", "HintKey": "GC_ROLLING_GORON_AS_CHILD", "vanillaItem": "PROGRESSIVE_BOMB_BAG", "categories": ["cGoronCity"], "SpoilerCollectionCheck": "InfTable(0x11, 0x06)", "SpoilerCollectionCheckGroup": "GROUP_GORON_CITY"}, + "GC_ROLLING_GORON_AS_ADULT": { "type": "Base", "scene": "0x62", "flag": "0x2C", "name": "GC Rolling Goron as Adult", "HintKey": "GC_ROLLING_GORON_AS_ADULT", "vanillaItem": "GORON_TUNIC", "categories": ["cGoronCity"], "SpoilerCollectionCheck": "InfTable(0x10, 0x01)", "SpoilerCollectionCheckGroup": "GROUP_GORON_CITY"}, + "GC_DARUNIAS_JOY": { "type": "Base", "scene": "0x62", "flag": "0x54", "name": "GC Darunias Joy", "HintKey": "GC_DARUNIAS_JOY", "vanillaItem": "PROGRESSIVE_STRENGTH", "categories": ["cGoronCity"], "SpoilerCollectionCheck": "EventChkInf(0x36)", "SpoilerCollectionCheckGroup": "GROUP_GORON_CITY"}, + "GC_POT_FREESTANDING_POH": { "type": "Collectable", "scene": "0x62", "flag": "0x1F", "name": "GC Pot Freestanding PoH", "HintKey": "GC_POT_FREESTANDING_POH", "vanillaItem": "PIECE_OF_HEART", "categories": ["cGoronCity"], "SpoilerCollectionCheckGroup": "GROUP_GORON_CITY"}, + "GC_DEKU_SCRUB_GROTTO_LEFT": { "type": "GrottoScrub", "scene": "0xFB", "flag": "0x30", "name": "GC Deku Scrub Grotto Left", "HintKey": "GC_DEKU_SCRUB_GROTTO_LEFT", "vanillaItem": "DEKU_NUTS_5", "categories": ["cGoronCity", "cDekuScrub", "cGrotto"], "SpoilerCollectionCheck": "Scrub(0x25, 0x01)", "SpoilerCollectionCheckGroup": "GROUP_GORON_CITY"}, + "GC_DEKU_SCRUB_GROTTO_RIGHT": { "type": "GrottoScrub", "scene": "0xFB", "flag": "0x37", "name": "GC Deku Scrub Grotto Right", "HintKey": "GC_DEKU_SCRUB_GROTTO_RIGHT", "vanillaItem": "BOMBS_5", "categories": ["cGoronCity", "cDekuScrub", "cGrotto"], "SpoilerCollectionCheck": "Scrub(0x25, 0x06)", "SpoilerCollectionCheckGroup": "GROUP_GORON_CITY"}, + "GC_DEKU_SCRUB_GROTTO_CENTER": { "type": "GrottoScrub", "scene": "0xFB", "flag": "0x33", "name": "GC Deku Scrub Grotto Center", "HintKey": "GC_DEKU_SCRUB_GROTTO_CENTER", "vanillaItem": "ARROWS_30", "categories": ["cGoronCity", "cDekuScrub", "cGrotto"], "SpoilerCollectionCheck": "Scrub(0x25, 0x04)", "SpoilerCollectionCheckGroup": "GROUP_GORON_CITY"}, + "GC_MEDIGORON": { "type": "Base", "scene": "0x62", "flag": "0x51", "name": "GC Medigoron", "HintKey": "GC_MEDIGORON", "vanillaItem": "GIANTS_KNIFE", "categories": ["cGoronCity", "cMerchant"], "SpoilerCollectionCheck": "EventChkInf(0x35)", "SpoilerCollectionCheckGroup": "GROUP_GORON_CITY"}, + + // Death Mountain Crater + "DMC_UPPER_GROTTO_CHEST": { "type": "Chest", "scene": "0x3E", "flag": "0x1A", "name": "DMC Upper Grotto Chest", "HintKey": "DMC_UPPER_GROTTO_CHEST", "vanillaItem": "BOMBS_20", "categories": ["cDeathMountainCrater", "cDeathMountain", "cGrotto"], "SpoilerCollectionCheckGroup": "GROUP_DEATH_MOUNTAIN_CRATER"}, + "DMC_WALL_FREESTANDING_POH": { "type": "Collectable", "scene": "0x61", "flag": "0x02", "name": "DMC Wall Freestanding PoH", "HintKey": "DMC_WALL_FREESTANDING_POH", "vanillaItem": "PIECE_OF_HEART", "categories": ["cDeathMountainCrater", "cDeathMountain"], "SpoilerCollectionCheckGroup": "GROUP_DEATH_MOUNTAIN_CRATER"}, + "DMC_VOLCANO_FREESTANDING_POH": { "type": "Collectable", "scene": "0x61", "flag": "0x08", "name": "DMC Volcano Freestanding PoH", "HintKey": "DMC_VOLCANO_FREESTANDING_POH", "vanillaItem": "PIECE_OF_HEART", "categories": ["cDeathMountainCrater", "cDeathMountain"], "SpoilerCollectionCheckGroup": "GROUP_DEATH_MOUNTAIN_CRATER"}, + "DMC_DEKU_SCRUB": { "type": "Base", "scene": "0x61", "flag": "0x37", "name": "DMC Deku Scrub", "HintKey": "DMC_DEKU_SCRUB", "vanillaItem": "BOMBS_5", "categories": ["cDeathMountainCrater", "cDeathMountain", "cDekuScrub"], "SpoilerCollectionCheck": "Scrub(0x61, 0x06)", "SpoilerCollectionCheckGroup": "GROUP_DEATH_MOUNTAIN_CRATER"}, + "DMC_DEKU_SCRUB_GROTTO_LEFT": { "type": "GrottoScrub", "scene": "0xF9", "flag": "0x30", "name": "DMC Deku Scrub Grotto Left", "HintKey": "DMC_DEKU_SCRUB_GROTTO_LEFT", "vanillaItem": "DEKU_NUTS_5", "categories": ["cDeathMountainCrater", "cDeathMountain", "cDekuScrub", "cGrotto"], "SpoilerCollectionCheck": "Scrub(0x23, 0x01)", "SpoilerCollectionCheckGroup": "GROUP_DEATH_MOUNTAIN_CRATER"}, + "DMC_DEKU_SCRUB_GROTTO_RIGHT": { "type": "GrottoScrub", "scene": "0xF9", "flag": "0x37", "name": "DMC Deku Scrub Grotto Right", "HintKey": "DMC_DEKU_SCRUB_GROTTO_RIGHT", "vanillaItem": "BOMBS_5", "categories": ["cDeathMountainCrater", "cDeathMountain", "cDekuScrub", "cGrotto"], "SpoilerCollectionCheck": "Scrub(0x23, 0x06)", "SpoilerCollectionCheckGroup": "GROUP_DEATH_MOUNTAIN_CRATER"}, + "DMC_DEKU_SCRUB_GROTTO_CENTER": { "type": "GrottoScrub", "scene": "0xF9", "flag": "0x33", "name": "DMC Deku Scrub Grotto Center", "HintKey": "DMC_DEKU_SCRUB_GROTTO_CENTER", "vanillaItem": "ARROWS_30", "categories": ["cDeathMountainCrater", "cDeathMountain", "cDekuScrub", "cGrotto"], "SpoilerCollectionCheck": "Scrub(0x23, 0x04)", "SpoilerCollectionCheckGroup": "GROUP_DEATH_MOUNTAIN_CRATER"}, + + // Zoras River + "ZR_OPEN_GROTTO_CHEST": { "type": "Chest", "scene": "0x3E", "flag": "0x09", "name": "ZR Open Grotto Chest", "HintKey": "ZR_OPEN_GROTTO_CHEST", "vanillaItem": "RED_RUPEE", "categories": ["cZorasRiver", "cGrotto"], "SpoilerCollectionCheckGroup": "GROUP_ZORAS_RIVER"}, + "ZR_MAGIC_BEAN_SALESMAN": { "type": "Base", "scene": "0x54", "flag": "0x16", "name": "ZR Magic Bean Salesman", "HintKey": "ZR_MAGIC_BEAN_SALESMAN", "vanillaItem": "MAGIC_BEAN", "categories": ["cZorasRiver"], "SpoilerCollectionCheck": "MagicBeans(0x54, 0x01)", "SpoilerCollectionCheckGroup": "GROUP_ZORAS_RIVER"}, + "ZR_FROGS_ZELDAS_LULLABY": { "type": "Base", "scene": "0x54", "flag": "0x01", "name": "ZR Frogs Zelda's Lullaby", "HintKey": "ZR_FROGS_ZELDAS_LULLABY", "vanillaItem": "PURPLE_RUPEE", "categories": ["cZorasRiver", "cFrogRupees"], "SpoilerCollectionCheck": "EventChkInf(0xD1)", "SpoilerCollectionCheckGroup": "GROUP_ZORAS_RIVER"}, + "ZR_FROGS_EPONAS_SONG": { "type": "Base", "scene": "0x54", "flag": "0x02", "name": "ZR Frogs Epona's Song", "HintKey": "ZR_FROGS_EPONAS_SONG", "vanillaItem": "PURPLE_RUPEE", "categories": ["cZorasRiver", "cFrogRupees"], "SpoilerCollectionCheck": "EventChkInf(0xD2)", "SpoilerCollectionCheckGroup": "GROUP_ZORAS_RIVER"}, + "ZR_FROGS_SARIAS_SONG": { "type": "Base", "scene": "0x54", "flag": "0x03", "name": "ZR Frogs Saria's Song", "HintKey": "ZR_FROGS_SARIAS_SONG", "vanillaItem": "PURPLE_RUPEE", "categories": ["cZorasRiver", "cFrogRupees"], "SpoilerCollectionCheck": "EventChkInf(0xD4)", "SpoilerCollectionCheckGroup": "GROUP_ZORAS_RIVER"}, + "ZR_FROGS_SUNS_SONG": { "type": "Base", "scene": "0x54", "flag": "0x04", "name": "ZR Frogs Sun's Song", "HintKey": "ZR_FROGS_SUNS_SONG", "vanillaItem": "PURPLE_RUPEE", "categories": ["cZorasRiver", "cFrogRupees"], "SpoilerCollectionCheck": "EventChkInf(0xD3)", "SpoilerCollectionCheckGroup": "GROUP_ZORAS_RIVER"}, + "ZR_FROGS_SONG_OF_TIME": { "type": "Base", "scene": "0x54", "flag": "0x05", "name": "ZR Frogs Song of Time", "HintKey": "ZR_FROGS_SONG_OF_TIME", "vanillaItem": "PURPLE_RUPEE", "categories": ["cZorasRiver", "cFrogRupees"], "SpoilerCollectionCheck": "EventChkInf(0xD5)", "SpoilerCollectionCheckGroup": "GROUP_ZORAS_RIVER"}, + "ZR_FROGS_IN_THE_RAIN": { "type": "Base", "scene": "0x54", "flag": "0x3E", "name": "ZR Frogs in the Rain", "HintKey": "ZR_FROGS_IN_THE_RAIN", "vanillaItem": "PIECE_OF_HEART", "categories": ["cZorasRiver"], "SpoilerCollectionCheck": "EventChkInf(0xD6)", "SpoilerCollectionCheckGroup": "GROUP_ZORAS_RIVER"}, + "ZR_FROGS_OCARINA_GAME": { "type": "Base", "scene": "0x54", "flag": "0x76", "name": "ZR Frogs Ocarina Game", "HintKey": "ZR_FROGS_OCARINA_GAME", "vanillaItem": "PIECE_OF_HEART", "categories": ["cZorasRiver", "cMinigame"], "SpoilerCollectionCheck": "EventChkInf(0xD0)", "SpoilerCollectionCheckGroup": "GROUP_ZORAS_RIVER"}, + "ZR_NEAR_OPEN_GROTTO_FREESTANDING_POH": { "type": "Collectable", "scene": "0x54", "flag": "0x04", "name": "ZR Near Open Grotto Freestanding PoH", "HintKey": "ZR_NEAR_OPEN_GROTTO_FREESTANDING_POH", "vanillaItem": "PIECE_OF_HEART", "categories": ["cZorasRiver"], "SpoilerCollectionCheckGroup": "GROUP_ZORAS_RIVER"}, + "ZR_NEAR_DOMAIN_FREESTANDING_POH": { "type": "Collectable", "scene": "0x54", "flag": "0x0B", "name": "ZR Near Domain Freestanding PoH", "HintKey": "ZR_NEAR_DOMAIN_FREESTANDING_POH", "vanillaItem": "PIECE_OF_HEART", "categories": ["cZorasRiver"], "SpoilerCollectionCheckGroup": "GROUP_ZORAS_RIVER"}, + "ZR_DEKU_SCRUB_GROTTO_REAR": { "type": "GrottoScrub", "scene": "0xEB", "flag": "0x39", "name": "ZR Deku Scrub Grotto Rear", "HintKey": "ZR_DEKU_SCRUB_GROTTO_REAR", "vanillaItem": "RED_POTION_REFILL", "categories": ["cZorasRiver", "cDekuScrub", "cGrotto"], "SpoilerCollectionCheck": "Scrub(0x15, 0x08)", "SpoilerCollectionCheckGroup": "GROUP_ZORAS_RIVER"}, + "ZR_DEKU_SCRUB_GROTTO_FRONT": { "type": "GrottoScrub", "scene": "0xEB", "flag": "0x3A", "name": "ZR Deku Scrub Grotto Front", "HintKey": "ZR_DEKU_SCRUB_GROTTO_FRONT", "vanillaItem": "GREEN_POTION_REFILL", "categories": ["cZorasRiver", "cDekuScrub", "cGrotto"], "SpoilerCollectionCheck": "Scrub(0x15, 0x09)", "SpoilerCollectionCheckGroup": "GROUP_ZORAS_RIVER"}, + + // Zoras Domain + "ZD_CHEST": { "type": "Chest", "scene": "0x58", "flag": "0x00", "name": "ZD Chest", "HintKey": "ZD_CHEST", "vanillaItem": "PIECE_OF_HEART", "categories": ["cZorasDomain"], "SpoilerCollectionCheckGroup": "GROUP_ZORAS_DOMAIN"}, + "ZD_DIVING_MINIGAME": { "type": "Base", "scene": "0x58", "flag": "0x37", "name": "ZD Diving Minigame", "HintKey": "ZD_DIVING_MINIGAME", "vanillaItem": "PROGRESSIVE_SCALE", "categories": ["cZorasDomain", "cMinigame"], "SpoilerCollectionCheck": "EventChkInf(0x38)", "SpoilerCollectionCheckGroup": "GROUP_ZORAS_DOMAIN"}, + "ZD_KING_ZORA_THAWED": { "type": "Base", "scene": "0x58", "flag": "0x2D", "name": "ZD King Zora Thawed", "HintKey": "ZD_KING_ZORA_THAWED", "vanillaItem": "ZORA_TUNIC", "categories": ["cZorasDomain"], "SpoilerCollectionCheck": "InfTable(0x13, 0x01)", "SpoilerCollectionCheckGroup": "GROUP_ZORAS_DOMAIN"}, + "ZD_TRADE_PRESCRIPTION": { "type": "Base", "scene": "0x58", "flag": "0x24", "name": "ZD Trade Prescription", "HintKey": "ZD_TRADE_PRESCRIPTION", "vanillaItem": "EYEBALL_FROG", "categories": ["cZorasDomain", "cAdultTrade"], "SpoilerCollectionCheck": "ItemGetInf(60)", "SpoilerCollectionCheckGroup": "GROUP_ZORAS_DOMAIN"}, + + // Zoras Fountain + "ZF_ICEBERG_FREESTANDING_POH": { "type": "Collectable", "scene": "0x59", "flag": "0x01", "name": "ZF Iceberg Freestanding PoH", "HintKey": "ZF_ICEBERG_FREESTANDING_POH", "vanillaItem": "PIECE_OF_HEART", "categories": ["cZorasFountain"], "SpoilerCollectionCheckGroup": "GROUP_ZORAS_FOUNTAIN"}, + "ZF_BOTTOM_FREESTANDING_POH": { "type": "Collectable", "scene": "0x59", "flag": "0x14", "name": "ZF Bottom Freestanding PoH", "HintKey": "ZF_BOTTOM_FREESTANDING_POH", "vanillaItem": "PIECE_OF_HEART", "categories": ["cZorasFountain"], "SpoilerCollectionCheckGroup": "GROUP_ZORAS_FOUNTAIN"}, + + // Lon Lon Ranch + "LLR_TALONS_CHICKENS": { "type": "Base", "scene": "0x4C", "flag": "0x14", "name": "LLR Talons Chickens", "HintKey": "LLR_TALONS_CHICKENS", "vanillaItem": "BOTTLE_WITH_MILK", "categories": ["cLonLonRanch", "cMinigame"], "SpoilerCollectionCheck": "ItemGetInf(10)", "SpoilerCollectionCheckGroup": "GROUP_LON_LON_RANCH"}, + "LLR_FREESTANDING_POH": { "type": "Collectable", "scene": "0x4C", "flag": "0x01", "name": "LLR Freestanding PoH", "HintKey": "LLR_FREESTANDING_POH", "vanillaItem": "PIECE_OF_HEART", "categories": ["cLonLonRanch"], "SpoilerCollectionCheckGroup": "GROUP_LON_LON_RANCH"}, + "LLR_DEKU_SCRUB_GROTTO_LEFT": { "type": "GrottoScrub", "scene": "0xFC", "flag": "0x30", "name": "LLR Deku Scrub Grotto Left", "HintKey": "LLR_DEKU_SCRUB_GROTTO_LEFT", "vanillaItem": "DEKU_NUTS_5", "categories": ["cLonLonRanch", "cDekuScrub", "cGrotto"], "SpoilerCollectionCheck": "Scrub(0x26, 0x01)", "SpoilerCollectionCheckGroup": "GROUP_LON_LON_RANCH"}, + "LLR_DEKU_SCRUB_GROTTO_RIGHT": { "type": "GrottoScrub", "scene": "0xFC", "flag": "0x37", "name": "LLR Deku Scrub Grotto Right", "HintKey": "LLR_DEKU_SCRUB_GROTTO_RIGHT", "vanillaItem": "BOMBS_5", "categories": ["cLonLonRanch", "cDekuScrub", "cGrotto"], "SpoilerCollectionCheck": "Scrub(0x26, 0x06)", "SpoilerCollectionCheckGroup": "GROUP_LON_LON_RANCH"}, + "LLR_DEKU_SCRUB_GROTTO_CENTER": { "type": "GrottoScrub", "scene": "0xFC", "flag": "0x33", "name": "LLR Deku Scrub Grotto Center", "HintKey": "LLR_DEKU_SCRUB_GROTTO_CENTER", "vanillaItem": "DEKU_SEEDS_30", "categories": ["cLonLonRanch", "cDekuScrub", "cGrotto"], "SpoilerCollectionCheck": "Scrub(0x26, 0x04)", "SpoilerCollectionCheckGroup": "GROUP_LON_LON_RANCH"}, + + /*------------------- + --- DUNGEONS --- + -------------------*/ + + // Deku Tree Vanilla + "DEKU_TREE_MAP_CHEST": { "type": "Chest", "scene": "0x00", "flag": "0x03", "name": "Deku Tree Map Chest", "HintKey": "DEKU_TREE_MAP_CHEST", "vanillaItem": "DEKU_TREE_MAP", "categories": ["cDekuTree", "cVanillaMap"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_DEKU_TREE"}, + "DEKU_TREE_COMPASS_CHEST": { "type": "Chest", "scene": "0x00", "flag": "0x02", "name": "Deku Tree Compass Chest", "HintKey": "DEKU_TREE_COMPASS_CHEST", "vanillaItem": "DEKU_TREE_COMPASS", "categories": ["cDekuTree", "cVanillaCompass"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_DEKU_TREE"}, + "DEKU_TREE_COMPASS_ROOM_SIDE_CHEST": { "type": "Chest", "scene": "0x00", "flag": "0x06", "name": "Deku Tree Compass Room Side Chest", "HintKey": "DEKU_TREE_COMPASS_ROOM_SIDE_CHEST", "vanillaItem": "RECOVERY_HEART", "categories": ["cDekuTree"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_DEKU_TREE"}, + "DEKU_TREE_BASEMENT_CHEST": { "type": "Chest", "scene": "0x00", "flag": "0x04", "name": "Deku Tree Basement Chest", "HintKey": "DEKU_TREE_BASEMENT_CHEST", "vanillaItem": "RECOVERY_HEART", "categories": ["cDekuTree"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_DEKU_TREE"}, + "DEKU_TREE_SLINGSHOT_CHEST": { "type": "Chest", "scene": "0x00", "flag": "0x01", "name": "Deku Tree Slingshot Chest", "HintKey": "DEKU_TREE_SLINGSHOT_CHEST", "vanillaItem": "PROGRESSIVE_SLINGSHOT", "categories": ["cDekuTree"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_DEKU_TREE"}, + "DEKU_TREE_SLINGSHOT_ROOM_SIDE_CHEST": { "type": "Chest", "scene": "0x00", "flag": "0x05", "name": "Deku Tree Slingshot Room Side Chest", "HintKey": "DEKU_TREE_SLINGSHOT_ROOM_SIDE_CHEST", "vanillaItem": "RECOVERY_HEART", "categories": ["cDekuTree"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_DEKU_TREE"}, + // Deku Tree MQ + "DEKU_TREE_MQ_MAP_CHEST": { "type": "Chest", "scene": "0x00", "flag": "0x03", "name": "Deku Tree MQ Map Chest", "HintKey": "DEKU_TREE_MQ_MAP_CHEST", "vanillaItem": "DEKU_TREE_MAP", "categories": ["cDekuTree", "cVanillaMap"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_DEKU_TREE"}, + "DEKU_TREE_MQ_COMPASS_CHEST": { "type": "Chest", "scene": "0x00", "flag": "0x01", "name": "Deku Tree MQ Compass Chest", "HintKey": "DEKU_TREE_MQ_COMPASS_CHEST", "vanillaItem": "DEKU_TREE_COMPASS", "categories": ["cDekuTree", "cVanillaCompass"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_DEKU_TREE"}, + "DEKU_TREE_MQ_SLINGSHOT_CHEST": { "type": "Chest", "scene": "0x00", "flag": "0x06", "name": "Deku Tree MQ Slingshot Chest", "HintKey": "DEKU_TREE_MQ_SLINGSHOT_CHEST", "vanillaItem": "PROGRESSIVE_SLINGSHOT", "categories": ["cDekuTree"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_DEKU_TREE"}, + "DEKU_TREE_MQ_SLINGSHOT_ROOM_BACK_CHEST": { "type": "Chest", "scene": "0x00", "flag": "0x02", "name": "Deku Tree MQ Slingshot Room Back Chest", "HintKey": "DEKU_TREE_MQ_SLINGSHOT_ROOM_BACK_CHEST", "vanillaItem": "DEKU_SHIELD", "categories": ["cDekuTree"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_DEKU_TREE"}, + "DEKU_TREE_MQ_BASEMENT_CHEST": { "type": "Chest", "scene": "0x00", "flag": "0x04", "name": "Deku Tree MQ Basement Chest", "HintKey": "DEKU_TREE_MQ_BASEMENT_CHEST", "vanillaItem": "DEKU_SHIELD", "categories": ["cDekuTree"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_DEKU_TREE"}, + "DEKU_TREE_MQ_BEFORE_SPINNING_LOG_CHEST": { "type": "Chest", "scene": "0x00", "flag": "0x05", "name": "Deku Tree MQ Before Spinning Log Chest", "HintKey": "DEKU_TREE_MQ_BEFORE_SPINNING_LOG_CHEST", "vanillaItem": "RECOVERY_HEART", "categories": ["cDekuTree"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_DEKU_TREE"}, + "DEKU_TREE_MQ_AFTER_SPINNING_LOG_CHEST": { "type": "Chest", "scene": "0x00", "flag": "0x00", "name": "Deku Tree MQ After Spinning Log Chest", "HintKey": "DEKU_TREE_MQ_AFTER_SPINNING_LOG_CHEST", "vanillaItem": "PURPLE_RUPEE", "categories": ["cDekuTree"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_DEKU_TREE"}, + "DEKU_TREE_MQ_DEKU_SCRUB": { "type": "Base", "scene": "0x00", "flag": "0x34", "name": "Deku Tree MQ Deku Scrub", "HintKey": "DEKU_TREE_MQ_DEKU_SCRUB", "vanillaItem": "DEKU_SHIELD", "categories": ["cDekuTree", "cDekuScrub"], "SpoilerCollectionCheck": "Scrub(0x00, 0x05)", "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_DEKU_TREE"}, + + // Dodongos Cavern Shared + "DODONGOS_CAVERN_BOSS_ROOM_CHEST": { "type": "Chest", "scene": "0x12", "flag": "0x00", "name": "Dodongos Cavern Boss Room Chest", "HintKey": "DODONGOS_CAVERN_BOSS_ROOM_CHEST", "vanillaItem": "BOMBS_5", "categories": ["cDodongosCavern"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_DODONGOS_CAVERN"}, + // Dodongos Cavern Vanilla + "DODONGOS_CAVERN_MAP_CHEST": { "type": "Chest", "scene": "0x01", "flag": "0x08", "name": "Dodongos Cavern Map Chest", "HintKey": "DODONGOS_CAVERN_MAP_CHEST", "vanillaItem": "DODONGOS_CAVERN_MAP", "categories": ["cDodongosCavern", "cVanillaMap"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_DODONGOS_CAVERN"}, + "DODONGOS_CAVERN_COMPASS_CHEST": { "type": "Chest", "scene": "0x01", "flag": "0x05", "name": "Dodongos Cavern Compass Chest", "HintKey": "DODONGOS_CAVERN_COMPASS_CHEST", "vanillaItem": "DODONGOS_CAVERN_COMPASS", "categories": ["cDodongosCavern", "cVanillaCompass"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_DODONGOS_CAVERN"}, + "DODONGOS_CAVERN_BOMB_FLOWER_PLATFORM_CHEST": { "type": "Chest", "scene": "0x01", "flag": "0x06", "name": "Dodongos Cavern Bomb Flower Platform Chest", "HintKey": "DODONGOS_CAVERN_BOMB_FLOWER_PLATFORM_CHEST", "vanillaItem": "RED_RUPEE", "categories": ["cDodongosCavern"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_DODONGOS_CAVERN"}, + "DODONGOS_CAVERN_BOMB_BAG_CHEST": { "type": "Chest", "scene": "0x01", "flag": "0x04", "name": "Dodongos Cavern Bomb Bag Chest", "HintKey": "DODONGOS_CAVERN_BOMB_BAG_CHEST", "vanillaItem": "PROGRESSIVE_BOMB_BAG", "categories": ["cDodongosCavern"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_DODONGOS_CAVERN"}, + "DODONGOS_CAVERN_END_OF_BRIDGE_CHEST": { "type": "Chest", "scene": "0x01", "flag": "0x0A", "name": "Dodongos Cavern End Of Bridge Chest", "HintKey": "DODONGOS_CAVERN_END_OF_BRIDGE_CHEST", "vanillaItem": "DEKU_SHIELD", "categories": ["cDodongosCavern"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_DODONGOS_CAVERN"}, + "DODONGOS_CAVERN_DEKU_SCRUB_NEAR_BOMB_BAG_LEFT": { "type": "Base", "scene": "0x01", "flag": "0x30", "name": "Dodongos Cavern Deku Scrub Near Bomb Bag Left", "HintKey": "DODONGOS_CAVERN_DEKU_SCRUB_NEAR_BOMB_BAG_LEFT", "vanillaItem": "DEKU_NUTS_5", "categories": ["cDodongosCavern", "cDekuScrub"], "SpoilerCollectionCheck": "Scrub(0x01, 0x01)", "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_DODONGOS_CAVERN"}, + "DODONGOS_CAVERN_DEKU_SCRUB_SIDE_ROOM_NEAR_DODONGOS": { "type": "Base", "scene": "0x01", "flag": "0x31", "name": "Dodongos Cavern Deku Scrub Side Room Near Dodongos", "HintKey": "DODONGOS_CAVERN_DEKU_SCRUB_SIDE_ROOM_NEAR_DODONGOS", "vanillaItem": "DEKU_STICK_1", "categories": ["cDodongosCavern", "cDekuScrub"], "SpoilerCollectionCheck": "Scrub(0x01, 0x02)", "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_DODONGOS_CAVERN"}, + "DODONGOS_CAVERN_DEKU_SCRUB_NEAR_BOMB_BAG_RIGHT": { "type": "Base", "scene": "0x01", "flag": "0x33", "name": "Dodongos Cavern Deku Scrub Near Bomb Bag Right", "HintKey": "DODONGOS_CAVERN_DEKU_SCRUB_NEAR_BOMB_BAG_RIGHT", "vanillaItem": "DEKU_SEEDS_30", "categories": ["cDodongosCavern", "cDekuScrub"], "SpoilerCollectionCheck": "Scrub(0x01, 0x04)", "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_DODONGOS_CAVERN"}, + "DODONGOS_CAVERN_DEKU_SCRUB_LOBBY": { "type": "Base", "scene": "0x01", "flag": "0x34", "name": "Dodongos Cavern Deku Scrub Lobby", "HintKey": "DODONGOS_CAVERN_DEKU_SCRUB_LOBBY", "vanillaItem": "DEKU_SHIELD", "categories": ["cDodongosCavern", "cDekuScrub"], "SpoilerCollectionCheck": "Scrub(0x01, 0x05)", "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_DODONGOS_CAVERN"}, + // Dodongos Cavern MQ + "DODONGOS_CAVERN_MQ_MAP_CHEST": { "type": "Chest", "scene": "0x01", "flag": "0x00", "name": "Dodongos Cavern MQ Map Chest", "HintKey": "DODONGOS_CAVERN_MQ_MAP_CHEST", "vanillaItem": "DODONGOS_CAVERN_MAP", "categories": ["cDodongosCavern", "cVanillaMap"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_DODONGOS_CAVERN"}, + "DODONGOS_CAVERN_MQ_BOMB_BAG_CHEST": { "type": "Chest", "scene": "0x01", "flag": "0x04", "name": "Dodongos Cavern MQ Bomb Bag Chest", "HintKey": "DODONGOS_CAVERN_MQ_BOMB_BAG_CHEST", "vanillaItem": "PROGRESSIVE_BOMB_BAG", "categories": ["cDodongosCavern"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_DODONGOS_CAVERN"}, + "DODONGOS_CAVERN_MQ_COMPASS_CHEST": { "type": "Chest", "scene": "0x01", "flag": "0x05", "name": "Dodongos Cavern MQ Compass Chest", "HintKey": "DODONGOS_CAVERN_MQ_COMPASS_CHEST", "vanillaItem": "DODONGOS_CAVERN_COMPASS", "categories": ["cDodongosCavern", "cVanillaCompass"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_DODONGOS_CAVERN"}, + "DODONGOS_CAVERN_MQ_LARVAE_ROOM_CHEST": { "type": "Chest", "scene": "0x01", "flag": "0x02", "name": "Dodongos Cavern MQ Larvae Room Chest", "HintKey": "DODONGOS_CAVERN_MQ_LARVAE_ROOM_CHEST", "vanillaItem": "DEKU_SHIELD", "categories": ["cDodongosCavern"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_DODONGOS_CAVERN"}, + "DODONGOS_CAVERN_MQ_TORCH_PUZZLE_ROOM_CHEST": { "type": "Chest", "scene": "0x01", "flag": "0x03", "name": "Dodongos Cavern MQ Torch Puzzle Room Chest", "HintKey": "DODONGOS_CAVERN_MQ_TORCH_PUZZLE_ROOM_CHEST", "vanillaItem": "BLUE_RUPEE", "categories": ["cDodongosCavern"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_DODONGOS_CAVERN"}, + "DODONGOS_CAVERN_MQ_UNDER_GRAVE_CHEST": { "type": "Chest", "scene": "0x01", "flag": "0x01", "name": "Dodongos Cavern MQ Under Grave Chest", "HintKey": "DODONGOS_CAVERN_MQ_UNDER_GRAVE_CHEST", "vanillaItem": "HYLIAN_SHIELD", "categories": ["cDodongosCavern"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_DODONGOS_CAVERN"}, + "DODONGOS_CAVERN_MQ_DEKU_SCRUB_LOBBY_REAR": { "type": "Base", "scene": "0x01", "flag": "0x31", "name": "Dodongos Cavern Deku Scrub Lobby Rear", "HintKey": "DODONGOS_CAVERN_MQ_DEKU_SCRUB_LOBBY_REAR", "vanillaItem": "DEKU_STICK_1", "categories": ["cDodongosCavern", "cDekuScrub"], "SpoilerCollectionCheck": "Scrub(0x01, 0x02)", "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_DODONGOS_CAVERN"}, + "DODONGOS_CAVERN_MQ_DEKU_SCRUB_LOBBY_FRONT": { "type": "Base", "scene": "0x01", "flag": "0x33", "name": "Dodongos Cavern Deku Scrub Lobby Front", "HintKey": "DODONGOS_CAVERN_MQ_DEKU_SCRUB_LOBBY_FRONT", "vanillaItem": "DEKU_SEEDS_30", "categories": ["cDodongosCavern", "cDekuScrub"], "SpoilerCollectionCheck": "Scrub(0x01, 0x04)", "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_DODONGOS_CAVERN"}, + "DODONGOS_CAVERN_MQ_DEKU_SCRUB_STAIRCASE": { "type": "Base", "scene": "0x01", "flag": "0x34", "name": "Dodongos Cavern Deku Scrub Staircase", "HintKey": "DODONGOS_CAVERN_MQ_DEKU_SCRUB_STAIRCASE", "vanillaItem": "DEKU_SHIELD", "categories": ["cDodongosCavern", "cDekuScrub"], "SpoilerCollectionCheck": "Scrub(0x01, 0x05)", "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_DODONGOS_CAVERN"}, + "DODONGOS_CAVERN_MQ_DEKU_SCRUB_SIDE_ROOM_NEAR_LOWER_LIZALFOS": { "type": "Base", "scene": "0x01", "flag": "0x39", "name": "Dodongos Cavern Deku Scrub Side Room Near Lower Lizalfos","HintKey": "DODONGOS_CAVERN_MQ_DEKU_SCRUB_SIDE_ROOM_NEAR_LOWER_LIZALFOS", "vanillaItem": "RED_POTION_REFILL", "categories": ["cDodongosCavern", "cDekuScrub"], "SpoilerCollectionCheck": "Scrub(0x01, 0x08)", "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_DODONGOS_CAVERN"}, + + // Jabu Jabus Belly Vanilla + "JABU_JABUS_BELLY_MAP_CHEST": { "type": "Chest", "scene": "0x02", "flag": "0x02", "name": "Jabu Jabus Belly Map Chest", "HintKey": "JABU_JABUS_BELLY_MAP_CHEST", "vanillaItem": "JABU_JABUS_BELLY_MAP", "categories": ["cJabuJabusBelly", "cVanillaMap"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_JABUJABUS_BELLY"}, + "JABU_JABUS_BELLY_COMPASS_CHEST": { "type": "Chest", "scene": "0x02", "flag": "0x04", "name": "Jabu Jabus Belly Compass Chest", "HintKey": "JABU_JABUS_BELLY_COMPASS_CHEST", "vanillaItem": "JABU_JABUS_BELLY_COMPASS", "categories": ["cJabuJabusBelly", "cVanillaCompass"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_JABUJABUS_BELLY"}, + "JABU_JABUS_BELLY_BOOMERANG_CHEST": { "type": "Chest", "scene": "0x02", "flag": "0x01", "name": "Jabu Jabus Belly Boomerang Chest", "HintKey": "JABU_JABUS_BELLY_BOOMERANG_CHEST", "vanillaItem": "BOOMERANG", "categories": ["cJabuJabusBelly"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_JABUJABUS_BELLY"}, + "JABU_JABUS_BELLY_DEKU_SCRUB": { "type": "Base", "scene": "0x02", "flag": "0x30", "name": "Jabu Jabus Belly Deku Scrub", "HintKey": "JABU_JABUS_BELLY_DEKU_SCRUB", "vanillaItem": "DEKU_NUTS_5", "categories": ["cJabuJabusBelly", "cDekuScrub"], "SpoilerCollectionCheck": "Scrub(0x02, 0x01)", "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_JABUJABUS_BELLY"}, + // Jabu Jabus Belly MQ + "JABU_JABUS_BELLY_MQ_FIRST_ROOM_SIDE_CHEST": { "type": "Chest", "scene": "0x02", "flag": "0x05", "name": "Jabu Jabus Belly MQ First Room Side Chest", "HintKey": "JABU_JABUS_BELLY_MQ_FIRST_ROOM_SIDE_CHEST", "vanillaItem": "DEKU_NUTS_5", "categories": ["cJabuJabusBelly"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_JABUJABUS_BELLY"}, + "JABU_JABUS_BELLY_MQ_MAP_CHEST": { "type": "Chest", "scene": "0x02", "flag": "0x03", "name": "Jabu Jabus Belly MQ Map Chest", "HintKey": "JABU_JABUS_BELLY_MQ_MAP_CHEST", "vanillaItem": "JABU_JABUS_BELLY_MAP", "categories": ["cJabuJabusBelly", "cVanillaMap"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_JABUJABUS_BELLY"}, + "JABU_JABUS_BELLY_MQ_SECOND_ROOM_LOWER_CHEST": { "type": "Chest", "scene": "0x02", "flag": "0x02", "name": "Jabu Jabus Belly MQ Second Room Lower Chest", "HintKey": "JABU_JABUS_BELLY_MQ_SECOND_ROOM_LOWER_CHEST", "vanillaItem": "DEKU_NUTS_5", "categories": ["cJabuJabusBelly"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_JABUJABUS_BELLY"}, + "JABU_JABUS_BELLY_MQ_COMPASS_CHEST": { "type": "Chest", "scene": "0x02", "flag": "0x00", "name": "Jabu Jabus Belly MQ Compass Chest", "HintKey": "JABU_JABUS_BELLY_MQ_COMPASS_CHEST", "vanillaItem": "JABU_JABUS_BELLY_COMPASS", "categories": ["cJabuJabusBelly", "cVanillaCompass"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_JABUJABUS_BELLY"}, + "JABU_JABUS_BELLY_MQ_SECOND_ROOM_UPPER_CHEST": { "type": "Chest", "scene": "0x02", "flag": "0x07", "name": "Jabu Jabus Belly MQ Second Room Upper Chest", "HintKey": "JABU_JABUS_BELLY_MQ_SECOND_ROOM_UPPER_CHEST", "vanillaItem": "RECOVERY_HEART", "categories": ["cJabuJabusBelly"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_JABUJABUS_BELLY"}, + "JABU_JABUS_BELLY_MQ_BASEMENT_NEAR_SWITCHES_CHEST": { "type": "Chest", "scene": "0x02", "flag": "0x08", "name": "Jabu Jabus Belly MQ Basement Near Switches Chest", "HintKey": "JABU_JABUS_BELLY_MQ_BASEMENT_NEAR_SWITCHES_CHEST", "vanillaItem": "DEKU_NUTS_5", "categories": ["cJabuJabusBelly"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_JABUJABUS_BELLY"}, + "JABU_JABUS_BELLY_MQ_BASEMENT_NEAR_VINES_CHEST": { "type": "Chest", "scene": "0x02", "flag": "0x04", "name": "Jabu Jabus Belly MQ Basement Near Vines Chest", "HintKey": "JABU_JABUS_BELLY_MQ_BASEMENT_NEAR_VINES_CHEST", "vanillaItem": "BOMBCHU_10", "categories": ["cJabuJabusBelly"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_JABUJABUS_BELLY"}, + "JABU_JABUS_BELLY_MQ_NEAR_BOSS_CHEST": { "type": "Chest", "scene": "0x02", "flag": "0x0A", "name": "Jabu Jabus Belly MQ Near Boss Chest", "HintKey": "JABU_JABUS_BELLY_MQ_NEAR_BOSS_CHEST", "vanillaItem": "DEKU_SHIELD", "categories": ["cJabuJabusBelly"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_JABUJABUS_BELLY"}, + "JABU_JABUS_BELLY_MQ_FALLING_LIKE_LIKE_ROOM_CHEST": { "type": "Chest", "scene": "0x02", "flag": "0x09", "name": "Jabu Jabus Belly MQ Falling Like Like Room Chest", "HintKey": "JABU_JABUS_BELLY_MQ_FALLING_LIKE_LIKE_ROOM_CHEST", "vanillaItem": "DEKU_STICK_1", "categories": ["cJabuJabusBelly"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_JABUJABUS_BELLY"}, + "JABU_JABUS_BELLY_MQ_BOOMERANG_ROOM_SMALL_CHEST": { "type": "Chest", "scene": "0x02", "flag": "0x01", "name": "Jabu Jabus Belly MQ Boomerang Room Small Chest", "HintKey": "JABU_JABUS_BELLY_MQ_BOOMERANG_ROOM_SMALL_CHEST", "vanillaItem": "DEKU_NUTS_5", "categories": ["cJabuJabusBelly"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_JABUJABUS_BELLY"}, + "JABU_JABUS_BELLY_MQ_BOOMERANG_CHEST": { "type": "Chest", "scene": "0x02", "flag": "0x06", "name": "Jabu Jabus Belly MQ Boomerang Chest", "HintKey": "JABU_JABUS_BELLY_MQ_BOOMERANG_CHEST", "vanillaItem": "BOOMERANG", "categories": ["cJabuJabusBelly"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_JABUJABUS_BELLY"}, + + // Forest Temple Vanilla + "FOREST_TEMPLE_FIRST_ROOM_CHEST": { "type": "Chest", "scene": "0x03", "flag": "0x03", "name": "Forest Temple First Room Chest", "HintKey": "FOREST_TEMPLE_FIRST_ROOM_CHEST", "vanillaItem": "FOREST_TEMPLE_SMALL_KEY", "categories": ["cForestTemple", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FOREST_TEMPLE"}, + "FOREST_TEMPLE_FIRST_STALFOS_CHEST": { "type": "Chest", "scene": "0x03", "flag": "0x00", "name": "Forest Temple First Stalfos Chest", "HintKey": "FOREST_TEMPLE_FIRST_STALFOS_CHEST", "vanillaItem": "FOREST_TEMPLE_SMALL_KEY", "categories": ["cForestTemple", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FOREST_TEMPLE"}, + "FOREST_TEMPLE_RAISED_ISLAND_COURTYARD_CHEST": { "type": "Chest", "scene": "0x03", "flag": "0x05", "name": "Forest Temple Raised Island Courtyard Chest", "HintKey": "FOREST_TEMPLE_RAISED_ISLAND_COURTYARD_CHEST", "vanillaItem": "RECOVERY_HEART", "categories": ["cForestTemple"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FOREST_TEMPLE"}, + "FOREST_TEMPLE_MAP_CHEST": { "type": "Chest", "scene": "0x03", "flag": "0x01", "name": "Forest Temple Map Chest", "HintKey": "FOREST_TEMPLE_MAP_CHEST", "vanillaItem": "FOREST_TEMPLE_MAP", "categories": ["cForestTemple", "cVanillaMap"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FOREST_TEMPLE"}, + "FOREST_TEMPLE_WELL_CHEST": { "type": "Chest", "scene": "0x03", "flag": "0x09", "name": "Forest Temple Well Chest", "HintKey": "FOREST_TEMPLE_WELL_CHEST", "vanillaItem": "FOREST_TEMPLE_SMALL_KEY", "categories": ["cForestTemple", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FOREST_TEMPLE"}, + "FOREST_TEMPLE_FALLING_CEILING_ROOM_CHEST": { "type": "Chest", "scene": "0x03", "flag": "0x07", "name": "Forest Temple Falling Ceiling Room Chest", "HintKey": "FOREST_TEMPLE_FALLING_CEILING_ROOM_CHEST", "vanillaItem": "ARROWS_10", "categories": ["cForestTemple"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FOREST_TEMPLE"}, + "FOREST_TEMPLE_EYE_SWITCH_CHEST": { "type": "Chest", "scene": "0x03", "flag": "0x04", "name": "Forest Temple Eye Switch Chest", "HintKey": "FOREST_TEMPLE_EYE_SWITCH_CHEST", "vanillaItem": "ARROWS_30", "categories": ["cForestTemple"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FOREST_TEMPLE"}, + "FOREST_TEMPLE_BOSS_KEY_CHEST": { "type": "Chest", "scene": "0x03", "flag": "0x0E", "name": "Forest Temple Boss Key Chest", "HintKey": "FOREST_TEMPLE_BOSS_KEY_CHEST", "vanillaItem": "FOREST_TEMPLE_BOSS_KEY", "categories": ["cForestTemple", "cVanillaBossKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FOREST_TEMPLE"}, + "FOREST_TEMPLE_FLOORMASTER_CHEST": { "type": "Chest", "scene": "0x03", "flag": "0x02", "name": "Forest Temple Floormaster Chest", "HintKey": "FOREST_TEMPLE_FLOORMASTER_CHEST", "vanillaItem": "FOREST_TEMPLE_SMALL_KEY", "categories": ["cForestTemple", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FOREST_TEMPLE"}, + "FOREST_TEMPLE_BOW_CHEST": { "type": "Chest", "scene": "0x03", "flag": "0x0C", "name": "Forest Temple Bow Chest", "HintKey": "FOREST_TEMPLE_BOW_CHEST", "vanillaItem": "PROGRESSIVE_BOW", "categories": ["cForestTemple"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FOREST_TEMPLE"}, + "FOREST_TEMPLE_RED_POE_CHEST": { "type": "Chest", "scene": "0x03", "flag": "0x0D", "name": "Forest Temple Red Poe Chest", "HintKey": "FOREST_TEMPLE_RED_POE_CHEST", "vanillaItem": "FOREST_TEMPLE_SMALL_KEY", "categories": ["cForestTemple", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FOREST_TEMPLE"}, + "FOREST_TEMPLE_BLUE_POE_CHEST": { "type": "Chest", "scene": "0x03", "flag": "0x0F", "name": "Forest Temple Blue Poe Chest", "HintKey": "FOREST_TEMPLE_BLUE_POE_CHEST", "vanillaItem": "FOREST_TEMPLE_COMPASS", "categories": ["cForestTemple", "cVanillaCompass"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FOREST_TEMPLE"}, + "FOREST_TEMPLE_BASEMENT_CHEST": { "type": "Chest", "scene": "0x03", "flag": "0x0B", "name": "Forest Temple Basement Chest", "HintKey": "FOREST_TEMPLE_BASEMENT_CHEST", "vanillaItem": "ARROWS_5", "categories": ["cForestTemple"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FOREST_TEMPLE"}, + // Forest Temple MQ + "FOREST_TEMPLE_MQ_FIRST_ROOM_CHEST": { "type": "Chest", "scene": "0x03", "flag": "0x03", "name": "Forest Temple MQ First Room Chest", "HintKey": "FOREST_TEMPLE_MQ_FIRST_ROOM_CHEST", "vanillaItem": "FOREST_TEMPLE_SMALL_KEY", "categories": ["cForestTemple", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FOREST_TEMPLE"}, + "FOREST_TEMPLE_MQ_WOLFOS_CHEST": { "type": "Chest", "scene": "0x03", "flag": "0x00", "name": "Forest Temple MQ Wolfos Chest", "HintKey": "FOREST_TEMPLE_MQ_WOLFOS_CHEST", "vanillaItem": "FOREST_TEMPLE_SMALL_KEY", "categories": ["cForestTemple", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FOREST_TEMPLE"}, + "FOREST_TEMPLE_MQ_BOW_CHEST": { "type": "Chest", "scene": "0x03", "flag": "0x0C", "name": "Forest Temple MQ Bow Chest", "HintKey": "FOREST_TEMPLE_MQ_BOW_CHEST", "vanillaItem": "PROGRESSIVE_BOW", "categories": ["cForestTemple"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FOREST_TEMPLE"}, + "FOREST_TEMPLE_MQ_RAISED_ISLAND_COURTYARD_LOWER_CHEST": { "type": "Chest", "scene": "0x03", "flag": "0x01", "name": "Forest Temple MQ Raised Island Courtyard Lower Chest", "HintKey": "FOREST_TEMPLE_MQ_RAISED_ISLAND_COURTYARD_LOWER_CHEST", "vanillaItem": "FOREST_TEMPLE_SMALL_KEY", "categories": ["cForestTemple", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FOREST_TEMPLE"}, + "FOREST_TEMPLE_MQ_RAISED_ISLAND_COURTYARD_UPPER_CHEST": { "type": "Chest", "scene": "0x03", "flag": "0x05", "name": "Forest Temple MQ Raised Island Courtyard Upper Chest", "HintKey": "FOREST_TEMPLE_MQ_RAISED_ISLAND_COURTYARD_UPPER_CHEST", "vanillaItem": "FOREST_TEMPLE_SMALL_KEY", "categories": ["cForestTemple", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FOREST_TEMPLE"}, + "FOREST_TEMPLE_MQ_WELL_CHEST": { "type": "Chest", "scene": "0x03", "flag": "0x09", "name": "Forest Temple MQ Well Chest", "HintKey": "FOREST_TEMPLE_MQ_WELL_CHEST", "vanillaItem": "FOREST_TEMPLE_SMALL_KEY", "categories": ["cForestTemple", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FOREST_TEMPLE"}, + "FOREST_TEMPLE_MQ_MAP_CHEST": { "type": "Chest", "scene": "0x03", "flag": "0x0D", "name": "Forest Temple MQ Map Chest", "HintKey": "FOREST_TEMPLE_MQ_MAP_CHEST", "vanillaItem": "FOREST_TEMPLE_MAP", "categories": ["cForestTemple", "cVanillaMap"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FOREST_TEMPLE"}, + "FOREST_TEMPLE_MQ_COMPASS_CHEST": { "type": "Chest", "scene": "0x03", "flag": "0x0F", "name": "Forest Temple MQ Compass Chest", "HintKey": "FOREST_TEMPLE_MQ_COMPASS_CHEST", "vanillaItem": "FOREST_TEMPLE_COMPASS", "categories": ["cForestTemple", "cVanillaCompass"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FOREST_TEMPLE"}, + "FOREST_TEMPLE_MQ_FALLING_CEILING_ROOM_CHEST": { "type": "Chest", "scene": "0x03", "flag": "0x06", "name": "Forest Temple MQ Falling Ceiling Room Chest", "HintKey": "FOREST_TEMPLE_MQ_FALLING_CEILING_ROOM_CHEST", "vanillaItem": "ARROWS_5", "categories": ["cForestTemple"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FOREST_TEMPLE"}, + "FOREST_TEMPLE_MQ_BASEMENT_CHEST": { "type": "Chest", "scene": "0x03", "flag": "0x0B", "name": "Forest Temple MQ Basement Chest", "HintKey": "FOREST_TEMPLE_MQ_BASEMENT_CHEST", "vanillaItem": "ARROWS_5", "categories": ["cForestTemple"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FOREST_TEMPLE"}, + "FOREST_TEMPLE_MQ_REDEAD_CHEST": { "type": "Chest", "scene": "0x03", "flag": "0x02", "name": "Forest Temple MQ Redead Chest", "HintKey": "FOREST_TEMPLE_MQ_REDEAD_CHEST", "vanillaItem": "FOREST_TEMPLE_SMALL_KEY", "categories": ["cForestTemple", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FOREST_TEMPLE"}, + "FOREST_TEMPLE_MQ_BOSS_KEY_CHEST": { "type": "Chest", "scene": "0x03", "flag": "0x0E", "name": "Forest Temple MQ Boss Key Chest", "HintKey": "FOREST_TEMPLE_MQ_BOSS_KEY_CHEST", "vanillaItem": "FOREST_TEMPLE_BOSS_KEY", "categories": ["cForestTemple", "cVanillaBossKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FOREST_TEMPLE"}, + + // Fire Temple Vanilla + "FIRE_TEMPLE_NEAR_BOSS_CHEST": { "type": "Chest", "scene": "0x04", "flag": "0x01", "name": "Fire Temple Near Boss Chest", "HintKey": "FIRE_TEMPLE_NEAR_BOSS_CHEST", "vanillaItem": "FIRE_TEMPLE_SMALL_KEY", "categories": ["cFireTemple", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FIRE_TEMPLE"}, + "FIRE_TEMPLE_FLARE_DANCER_CHEST": { "type": "Chest", "scene": "0x04", "flag": "0x00", "name": "Fire Temple Flare Dancer Chest", "HintKey": "FIRE_TEMPLE_FLARE_DANCER_CHEST", "vanillaItem": "BOMBS_10", "categories": ["cFireTemple"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FIRE_TEMPLE"}, + "FIRE_TEMPLE_BOSS_KEY_CHEST": { "type": "Chest", "scene": "0x04", "flag": "0x0C", "name": "Fire Temple Boss Key Chest", "HintKey": "FIRE_TEMPLE_BOSS_KEY_CHEST", "vanillaItem": "FIRE_TEMPLE_BOSS_KEY", "categories": ["cFireTemple", "cVanillaBossKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FIRE_TEMPLE"}, + "FIRE_TEMPLE_BIG_LAVA_ROOM_BLOCKED_DOOR_CHEST": { "type": "Chest", "scene": "0x04", "flag": "0x02", "name": "Fire Temple Big Lava Room Blocked Door Chest", "HintKey": "FIRE_TEMPLE_BIG_LAVA_ROOM_BLOCKED_DOOR_CHEST", "vanillaItem": "FIRE_TEMPLE_SMALL_KEY", "categories": ["cFireTemple", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FIRE_TEMPLE"}, + "FIRE_TEMPLE_BIG_LAVA_ROOM_LOWER_OPEN_DOOR_CHEST": { "type": "Chest", "scene": "0x04", "flag": "0x04", "name": "Fire Temple Big Lava Room Lower Open Door Chest", "HintKey": "FIRE_TEMPLE_BIG_LAVA_ROOM_LOWER_OPEN_DOOR_CHEST", "vanillaItem": "FIRE_TEMPLE_SMALL_KEY", "categories": ["cFireTemple", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FIRE_TEMPLE"}, + "FIRE_TEMPLE_BOULDER_MAZE_LOWER_CHEST": { "type": "Chest", "scene": "0x04", "flag": "0x03", "name": "Fire Temple Boulder Maze Lower Chest", "HintKey": "FIRE_TEMPLE_BOULDER_MAZE_LOWER_CHEST", "vanillaItem": "FIRE_TEMPLE_SMALL_KEY", "categories": ["cFireTemple", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FIRE_TEMPLE"}, + "FIRE_TEMPLE_BOULDER_MAZE_UPPER_CHEST": { "type": "Chest", "scene": "0x04", "flag": "0x06", "name": "Fire Temple Boulder Maze Upper Chest", "HintKey": "FIRE_TEMPLE_BOULDER_MAZE_UPPER_CHEST", "vanillaItem": "FIRE_TEMPLE_SMALL_KEY", "categories": ["cFireTemple", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FIRE_TEMPLE"}, + "FIRE_TEMPLE_BOULDER_MAZE_SIDE_ROOM_CHEST": { "type": "Chest", "scene": "0x04", "flag": "0x08", "name": "Fire Temple Boulder Maze Side Room Chest", "HintKey": "FIRE_TEMPLE_BOULDER_MAZE_SIDE_ROOM_CHEST", "vanillaItem": "FIRE_TEMPLE_SMALL_KEY", "categories": ["cFireTemple", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FIRE_TEMPLE"}, + "FIRE_TEMPLE_BOULDER_MAZE_SHORTCUT_CHEST": { "type": "Chest", "scene": "0x04", "flag": "0x0B", "name": "Fire Temple Boulder Maze Shortcut Chest", "HintKey": "FIRE_TEMPLE_BOULDER_MAZE_SHORTCUT_CHEST", "vanillaItem": "FIRE_TEMPLE_SMALL_KEY", "categories": ["cFireTemple", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FIRE_TEMPLE"}, + "FIRE_TEMPLE_SCARECROW_CHEST": { "type": "Chest", "scene": "0x04", "flag": "0x0D", "name": "Fire Temple Scarecrow Chest", "HintKey": "FIRE_TEMPLE_SCARECROW_CHEST", "vanillaItem": "HUGE_RUPEE", "categories": ["cFireTemple"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FIRE_TEMPLE"}, + "FIRE_TEMPLE_MAP_CHEST": { "type": "Chest", "scene": "0x04", "flag": "0x0A", "name": "Fire Temple Map Chest", "HintKey": "FIRE_TEMPLE_MAP_CHEST", "vanillaItem": "FIRE_TEMPLE_MAP", "categories": ["cFireTemple", "cVanillaMap"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FIRE_TEMPLE"}, + "FIRE_TEMPLE_COMPASS_CHEST": { "type": "Chest", "scene": "0x04", "flag": "0x07", "name": "Fire Temple Compass Chest", "HintKey": "FIRE_TEMPLE_COMPASS_CHEST", "vanillaItem": "FIRE_TEMPLE_COMPASS", "categories": ["cFireTemple", "cVanillaCompass"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FIRE_TEMPLE"}, + "FIRE_TEMPLE_HIGHEST_GORON_CHEST": { "type": "Chest", "scene": "0x04", "flag": "0x09", "name": "Fire Temple Highest Goron Chest", "HintKey": "FIRE_TEMPLE_HIGHEST_GORON_CHEST", "vanillaItem": "FIRE_TEMPLE_SMALL_KEY", "categories": ["cFireTemple", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FIRE_TEMPLE"}, + "FIRE_TEMPLE_MEGATON_HAMMER_CHEST": { "type": "Chest", "scene": "0x04", "flag": "0x05", "name": "Fire Temple Megaton Hammer Chest", "HintKey": "FIRE_TEMPLE_MEGATON_HAMMER_CHEST", "vanillaItem": "MEGATON_HAMMER", "categories": ["cFireTemple"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FIRE_TEMPLE"}, + // Fire Temple MQ + "FIRE_TEMPLE_MQ_NEAR_BOSS_CHEST": { "type": "Chest", "scene": "0x04", "flag": "0x07", "name": "Fire Temple MQ Near Boss Chest", "HintKey": "FIRE_TEMPLE_MQ_NEAR_BOSS_CHEST", "vanillaItem": "FIRE_TEMPLE_SMALL_KEY", "categories": ["cFireTemple", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FIRE_TEMPLE"}, + "FIRE_TEMPLE_MQ_MEGATON_HAMMER_CHEST": { "type": "Chest", "scene": "0x04", "flag": "0x00", "name": "Fire Temple MQ Megaton Hammer Chest", "HintKey": "FIRE_TEMPLE_MQ_MEGATON_HAMMER_CHEST", "vanillaItem": "MEGATON_HAMMER", "categories": ["cFireTemple"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FIRE_TEMPLE"}, + "FIRE_TEMPLE_MQ_COMPASS_CHEST": { "type": "Chest", "scene": "0x04", "flag": "0x0B", "name": "Fire Temple MQ Compass Chest", "HintKey": "FIRE_TEMPLE_MQ_COMPASS_CHEST", "vanillaItem": "FIRE_TEMPLE_COMPASS", "categories": ["cFireTemple", "cVanillaCompass"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FIRE_TEMPLE"}, + "FIRE_TEMPLE_MQ_LIZALFOS_MAZE_LOWER_CHEST": { "type": "Chest", "scene": "0x04", "flag": "0x03", "name": "Fire Temple MQ Lizalfos Maze Lower Chest", "HintKey": "FIRE_TEMPLE_MQ_LIZALFOS_MAZE_LOWER_CHEST", "vanillaItem": "BOMBS_10", "categories": ["cFireTemple"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FIRE_TEMPLE"}, + "FIRE_TEMPLE_MQ_LIZALFOS_MAZE_UPPER_CHEST": { "type": "Chest", "scene": "0x04", "flag": "0x06", "name": "Fire Temple MQ Lizalfos Maze Upper Chest", "HintKey": "FIRE_TEMPLE_MQ_LIZALFOS_MAZE_UPPER_CHEST", "vanillaItem": "BOMBS_10", "categories": ["cFireTemple"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FIRE_TEMPLE"}, + "FIRE_TEMPLE_MQ_CHEST_ON_FIRE": { "type": "Chest", "scene": "0x04", "flag": "0x05", "name": "Fire Temple MQ Chest on Fire", "HintKey": "FIRE_TEMPLE_MQ_CHEST_ON_FIRE", "vanillaItem": "FIRE_TEMPLE_SMALL_KEY", "categories": ["cFireTemple", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FIRE_TEMPLE"}, + "FIRE_TEMPLE_MQ_MAP_ROOM_SIDE_CHEST": { "type": "Chest", "scene": "0x04", "flag": "0x02", "name": "Fire Temple MQ Map Room Side Chest", "HintKey": "FIRE_TEMPLE_MQ_MAP_ROOM_SIDE_CHEST", "vanillaItem": "HYLIAN_SHIELD", "categories": ["cFireTemple"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FIRE_TEMPLE"}, + "FIRE_TEMPLE_MQ_MAP_CHEST": { "type": "Chest", "scene": "0x04", "flag": "0x0C", "name": "Fire Temple MQ Map Chest", "HintKey": "FIRE_TEMPLE_MQ_MAP_CHEST", "vanillaItem": "FIRE_TEMPLE_MAP", "categories": ["cFireTemple", "cVanillaMap"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FIRE_TEMPLE"}, + "FIRE_TEMPLE_MQ_BOSS_KEY_CHEST": { "type": "Chest", "scene": "0x04", "flag": "0x04", "name": "Fire Temple MQ Boss Key Chest", "HintKey": "FIRE_TEMPLE_MQ_BOSS_KEY_CHEST", "vanillaItem": "FIRE_TEMPLE_BOSS_KEY", "categories": ["cFireTemple", "cVanillaBossKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FIRE_TEMPLE"}, + "FIRE_TEMPLE_MQ_BIG_LAVA_ROOM_BLOCKED_DOOR_CHEST": { "type": "Chest", "scene": "0x04", "flag": "0x01", "name": "Fire Temple MQ Big Lava Room Blocked Door Chest", "HintKey": "FIRE_TEMPLE_MQ_BIG_LAVA_ROOM_BLOCKED_DOOR_CHEST", "vanillaItem": "FIRE_TEMPLE_SMALL_KEY", "categories": ["cFireTemple", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FIRE_TEMPLE"}, + "FIRE_TEMPLE_MQ_LIZALFOS_MAZE_SIDE_ROOM_CHEST": { "type": "Chest", "scene": "0x04", "flag": "0x08", "name": "Fire Temple MQ Lizalfos Maze Side Room Chest", "HintKey": "FIRE_TEMPLE_MQ_LIZALFOS_MAZE_SIDE_ROOM_CHEST", "vanillaItem": "FIRE_TEMPLE_SMALL_KEY", "categories": ["cFireTemple", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FIRE_TEMPLE"}, + "FIRE_TEMPLE_MQ_FREESTANDING_KEY": { "type": "Collectable", "scene": "0x04", "flag": "0x1C", "name": "Fire Temple MQ Freestanding Key", "HintKey": "FIRE_TEMPLE_MQ_FREESTANDING_KEY", "vanillaItem": "FIRE_TEMPLE_SMALL_KEY", "categories": ["cFireTemple", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FIRE_TEMPLE"}, + + // Water Temple Vanilla + "WATER_TEMPLE_MAP_CHEST": { "type": "Chest", "scene": "0x05", "flag": "0x02", "name": "Water Temple Map Chest", "HintKey": "WATER_TEMPLE_MAP_CHEST", "vanillaItem": "WATER_TEMPLE_MAP", "categories": ["cWaterTemple", "cVanillaMap"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_WATER_TEMPLE"}, + "WATER_TEMPLE_COMPASS_CHEST": { "type": "Chest", "scene": "0x05", "flag": "0x09", "name": "Water Temple Compass Chest", "HintKey": "WATER_TEMPLE_COMPASS_CHEST", "vanillaItem": "WATER_TEMPLE_COMPASS", "categories": ["cWaterTemple", "cVanillaCompass"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_WATER_TEMPLE"}, + "WATER_TEMPLE_TORCHES_CHEST": { "type": "Chest", "scene": "0x05", "flag": "0x01", "name": "Water Temple Torches Chest", "HintKey": "WATER_TEMPLE_TORCHES_CHEST", "vanillaItem": "WATER_TEMPLE_SMALL_KEY", "categories": ["cWaterTemple", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_WATER_TEMPLE"}, + "WATER_TEMPLE_DRAGON_CHEST": { "type": "Chest", "scene": "0x05", "flag": "0x0A", "name": "Water Temple Dragon Chest", "HintKey": "WATER_TEMPLE_DRAGON_CHEST", "vanillaItem": "WATER_TEMPLE_SMALL_KEY", "categories": ["cWaterTemple", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_WATER_TEMPLE"}, + "WATER_TEMPLE_CENTRAL_BOW_TARGET_CHEST": { "type": "Chest", "scene": "0x05", "flag": "0x08", "name": "Water Temple Central Bow Target Chest", "HintKey": "WATER_TEMPLE_CENTRAL_BOW_TARGET_CHEST", "vanillaItem": "WATER_TEMPLE_SMALL_KEY", "categories": ["cWaterTemple", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_WATER_TEMPLE"}, + "WATER_TEMPLE_CENTRAL_PILLAR_CHEST": { "type": "Chest", "scene": "0x05", "flag": "0x06", "name": "Water Temple Central Pillar Chest", "HintKey": "WATER_TEMPLE_CENTRAL_PILLAR_CHEST", "vanillaItem": "WATER_TEMPLE_SMALL_KEY", "categories": ["cWaterTemple", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_WATER_TEMPLE"}, + "WATER_TEMPLE_CRACKED_WALL_CHEST": { "type": "Chest", "scene": "0x05", "flag": "0x00", "name": "Water Temple Cracked Wall Chest", "HintKey": "WATER_TEMPLE_CRACKED_WALL_CHEST", "vanillaItem": "WATER_TEMPLE_SMALL_KEY", "categories": ["cWaterTemple", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_WATER_TEMPLE"}, + "WATER_TEMPLE_BOSS_KEY_CHEST": { "type": "Chest", "scene": "0x05", "flag": "0x05", "name": "Water Temple Boss Key Chest", "HintKey": "WATER_TEMPLE_BOSS_KEY_CHEST", "vanillaItem": "WATER_TEMPLE_BOSS_KEY", "categories": ["cWaterTemple", "cVanillaBossKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_WATER_TEMPLE"}, + "WATER_TEMPLE_LONGSHOT_CHEST": { "type": "Chest", "scene": "0x05", "flag": "0x07", "name": "Water Temple Longshot Chest", "HintKey": "WATER_TEMPLE_LONGSHOT_CHEST", "vanillaItem": "PROGRESSIVE_HOOKSHOT", "categories": ["cWaterTemple"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_WATER_TEMPLE"}, + "WATER_TEMPLE_RIVER_CHEST": { "type": "Chest", "scene": "0x05", "flag": "0x03", "name": "Water Temple River Chest", "HintKey": "WATER_TEMPLE_RIVER_CHEST", "vanillaItem": "WATER_TEMPLE_SMALL_KEY", "categories": ["cWaterTemple", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_WATER_TEMPLE"}, + // Water Temple MQ + "WATER_TEMPLE_MQ_CENTRAL_PILLAR_CHEST": { "type": "Chest", "scene": "0x05", "flag": "0x06", "name": "Water Temple MQ Central Pillar Chest", "HintKey": "WATER_TEMPLE_MQ_CENTRAL_PILLAR_CHEST", "vanillaItem": "WATER_TEMPLE_SMALL_KEY", "categories": ["cWaterTemple", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_WATER_TEMPLE"}, + "WATER_TEMPLE_MQ_BOSS_KEY_CHEST": { "type": "Chest", "scene": "0x05", "flag": "0x05", "name": "Water Temple MQ Boss Key Chest", "HintKey": "WATER_TEMPLE_MQ_BOSS_KEY_CHEST", "vanillaItem": "WATER_TEMPLE_BOSS_KEY", "categories": ["cWaterTemple", "cVanillaBossKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_WATER_TEMPLE"}, + "WATER_TEMPLE_MQ_LONGSHOT_CHEST": { "type": "Chest", "scene": "0x05", "flag": "0x00", "name": "Water Temple MQ Longshot Chest", "HintKey": "WATER_TEMPLE_MQ_LONGSHOT_CHEST", "vanillaItem": "PROGRESSIVE_HOOKSHOT", "categories": ["cWaterTemple"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_WATER_TEMPLE"}, + "WATER_TEMPLE_MQ_COMPASS_CHEST": { "type": "Chest", "scene": "0x05", "flag": "0x01", "name": "Water Temple MQ Compass Chest", "HintKey": "WATER_TEMPLE_MQ_COMPASS_CHEST", "vanillaItem": "WATER_TEMPLE_COMPASS", "categories": ["cWaterTemple", "cVanillaCompass"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_WATER_TEMPLE"}, + "WATER_TEMPLE_MQ_MAP_CHEST": { "type": "Chest", "scene": "0x05", "flag": "0x02", "name": "Water Temple MQ Map Chest", "HintKey": "WATER_TEMPLE_MQ_MAP_CHEST", "vanillaItem": "WATER_TEMPLE_MAP", "categories": ["cWaterTemple", "cVanillaMap"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_WATER_TEMPLE"}, + "WATER_TEMPLE_MQ_FREESTANDING_KEY": { "type": "Collectable", "scene": "0x05", "flag": "0x01", "name": "Water Temple MQ Freestanding Key", "HintKey": "WATER_TEMPLE_MQ_FREESTANDING_KEY", "vanillaItem": "WATER_TEMPLE_SMALL_KEY", "categories": ["cWaterTemple", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_WATER_TEMPLE"}, + + // Spirit Temple Shared + "SPIRIT_TEMPLE_SILVER_GAUNTLETS_CHEST": { "type": "Chest", "scene": "0x5C", "flag": "0x0B", "name": "Spirit Temple Silver Gauntlets Chest", "HintKey": "SPIRIT_TEMPLE_SILVER_GAUNTLETS_CHEST", "vanillaItem": "PROGRESSIVE_STRENGTH", "categories": ["cSpiritTemple", "cDesertColossus"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SPIRIT_TEMPLE"}, + "SPIRIT_TEMPLE_MIRROR_SHIELD_CHEST": { "type": "Chest", "scene": "0x5C", "flag": "0x09", "name": "Spirit Temple Mirror Shield Chest", "HintKey": "SPIRIT_TEMPLE_MIRROR_SHIELD_CHEST", "vanillaItem": "MIRROR_SHIELD", "categories": ["cSpiritTemple", "cDesertColossus"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SPIRIT_TEMPLE"}, + // Spirit Temple Vanilla + "SPIRIT_TEMPLE_CHILD_BRIDGE_CHEST": { "type": "Chest", "scene": "0x06", "flag": "0x08", "name": "Spirit Temple Child Bridge Chest", "HintKey": "SPIRIT_TEMPLE_CHILD_BRIDGE_CHEST", "vanillaItem": "DEKU_SHIELD", "categories": ["cSpiritTemple"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SPIRIT_TEMPLE"}, + "SPIRIT_TEMPLE_CHILD_EARLY_TORCHES_CHEST": { "type": "Chest", "scene": "0x06", "flag": "0x00", "name": "Spirit Temple Child Early Torches Chest", "HintKey": "SPIRIT_TEMPLE_CHILD_EARLY_TORCHES_CHEST", "vanillaItem": "SPIRIT_TEMPLE_SMALL_KEY", "categories": ["cSpiritTemple", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SPIRIT_TEMPLE"}, + "SPIRIT_TEMPLE_COMPASS_CHEST": { "type": "Chest", "scene": "0x06", "flag": "0x04", "name": "Spirit Temple Compass Chest", "HintKey": "SPIRIT_TEMPLE_COMPASS_CHEST", "vanillaItem": "SPIRIT_TEMPLE_COMPASS", "categories": ["cSpiritTemple", "cVanillaCompass"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SPIRIT_TEMPLE"}, + "SPIRIT_TEMPLE_EARLY_ADULT_RIGHT_CHEST": { "type": "Chest", "scene": "0x06", "flag": "0x07", "name": "Spirit Temple Early Adult Right Chest", "HintKey": "SPIRIT_TEMPLE_EARLY_ADULT_RIGHT_CHEST", "vanillaItem": "SPIRIT_TEMPLE_SMALL_KEY", "categories": ["cSpiritTemple", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SPIRIT_TEMPLE"}, + "SPIRIT_TEMPLE_FIRST_MIRROR_LEFT_CHEST": { "type": "Chest", "scene": "0x06", "flag": "0x0D", "name": "Spirit Temple First Mirror Left Chest", "HintKey": "SPIRIT_TEMPLE_FIRST_MIRROR_LEFT_CHEST", "vanillaItem": "ICE_TRAP", "categories": ["cSpiritTemple"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SPIRIT_TEMPLE"}, + "SPIRIT_TEMPLE_FIRST_MIRROR_RIGHT_CHEST": { "type": "Chest", "scene": "0x06", "flag": "0x0E", "name": "Spirit Temple First Mirror Right Chest", "HintKey": "SPIRIT_TEMPLE_FIRST_MIRROR_RIGHT_CHEST", "vanillaItem": "RECOVERY_HEART", "categories": ["cSpiritTemple"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SPIRIT_TEMPLE"}, + "SPIRIT_TEMPLE_MAP_CHEST": { "type": "Chest", "scene": "0x06", "flag": "0x03", "name": "Spirit Temple Map Chest", "HintKey": "SPIRIT_TEMPLE_MAP_CHEST", "vanillaItem": "SPIRIT_TEMPLE_MAP", "categories": ["cSpiritTemple", "cVanillaMap"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SPIRIT_TEMPLE"}, + "SPIRIT_TEMPLE_CHILD_CLIMB_NORTH_CHEST": { "type": "Chest", "scene": "0x06", "flag": "0x06", "name": "Spirit Temple Child Climb North Chest", "HintKey": "SPIRIT_TEMPLE_CHILD_CLIMB_NORTH_CHEST", "vanillaItem": "BOMBCHU_10", "categories": ["cSpiritTemple"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SPIRIT_TEMPLE"}, + "SPIRIT_TEMPLE_CHILD_CLIMB_EAST_CHEST": { "type": "Chest", "scene": "0x06", "flag": "0x0C", "name": "Spirit Temple Child Climb East Chest", "HintKey": "SPIRIT_TEMPLE_CHILD_CLIMB_EAST_CHEST", "vanillaItem": "DEKU_SHIELD", "categories": ["cSpiritTemple"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SPIRIT_TEMPLE"}, + "SPIRIT_TEMPLE_SUN_BLOCK_ROOM_CHEST": { "type": "Chest", "scene": "0x06", "flag": "0x01", "name": "Spirit Temple Sun Block Room Chest", "HintKey": "SPIRIT_TEMPLE_SUN_BLOCK_ROOM_CHEST", "vanillaItem": "SPIRIT_TEMPLE_SMALL_KEY", "categories": ["cSpiritTemple", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SPIRIT_TEMPLE"}, + "SPIRIT_TEMPLE_STATUE_ROOM_HAND_CHEST": { "type": "Chest", "scene": "0x06", "flag": "0x02", "name": "Spirit Temple Statue Room Hand Chest", "HintKey": "SPIRIT_TEMPLE_STATUE_ROOM_HAND_CHEST", "vanillaItem": "SPIRIT_TEMPLE_SMALL_KEY", "categories": ["cSpiritTemple", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SPIRIT_TEMPLE"}, + "SPIRIT_TEMPLE_STATUE_ROOM_NORTHEAST_CHEST": { "type": "Chest", "scene": "0x06", "flag": "0x0F", "name": "Spirit Temple Statue Room Northeast Chest", "HintKey": "SPIRIT_TEMPLE_STATUE_ROOM_NORTHEAST_CHEST", "vanillaItem": "BLUE_RUPEE", "categories": ["cSpiritTemple"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SPIRIT_TEMPLE"}, + "SPIRIT_TEMPLE_NEAR_FOUR_ARMOS_CHEST": { "type": "Chest", "scene": "0x06", "flag": "0x05", "name": "Spirit Temple Near Four Armos Chest", "HintKey": "SPIRIT_TEMPLE_NEAR_FOUR_ARMOS_CHEST", "vanillaItem": "SPIRIT_TEMPLE_SMALL_KEY", "categories": ["cSpiritTemple", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SPIRIT_TEMPLE"}, + "SPIRIT_TEMPLE_HALLWAY_RIGHT_INVISIBLE_CHEST": { "type": "Chest", "scene": "0x06", "flag": "0x14", "name": "Spirit Temple Hallway Right Invisible Chest", "HintKey": "SPIRIT_TEMPLE_HALLWAY_RIGHT_INVISIBLE_CHEST", "vanillaItem": "RECOVERY_HEART", "categories": ["cSpiritTemple"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SPIRIT_TEMPLE"}, + "SPIRIT_TEMPLE_HALLWAY_LEFT_INVISIBLE_CHEST": { "type": "Chest", "scene": "0x06", "flag": "0x15", "name": "Spirit Temple Hallway Left Invisible Chest", "HintKey": "SPIRIT_TEMPLE_HALLWAY_LEFT_INVISIBLE_CHEST", "vanillaItem": "RECOVERY_HEART", "categories": ["cSpiritTemple"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SPIRIT_TEMPLE"}, + "SPIRIT_TEMPLE_BOSS_KEY_CHEST": { "type": "Chest", "scene": "0x06", "flag": "0x0A", "name": "Spirit Temple Boss Key Chest", "HintKey": "SPIRIT_TEMPLE_BOSS_KEY_CHEST", "vanillaItem": "SPIRIT_TEMPLE_BOSS_KEY", "categories": ["cSpiritTemple", "cVanillaBossKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SPIRIT_TEMPLE"}, + "SPIRIT_TEMPLE_TOPMOST_CHEST": { "type": "Chest", "scene": "0x06", "flag": "0x12", "name": "Spirit Temple Topmost Chest", "HintKey": "SPIRIT_TEMPLE_TOPMOST_CHEST", "vanillaItem": "BOMBS_20", "categories": ["cSpiritTemple"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SPIRIT_TEMPLE"}, + // Spirit Temple MQ + "SPIRIT_TEMPLE_MQ_ENTRANCE_FRONT_LEFT_CHEST": { "type": "Chest", "scene": "0x06", "flag": "0x1A", "name": "Spirit Temple MQ Entrance Front Left Chest", "HintKey": "SPIRIT_TEMPLE_MQ_ENTRANCE_FRONT_LEFT_CHEST", "vanillaItem": "BOMBCHU_10", "categories": ["cSpiritTemple"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SPIRIT_TEMPLE"}, + "SPIRIT_TEMPLE_MQ_ENTRANCE_BACK_RIGHT_CHEST": { "type": "Chest", "scene": "0x06", "flag": "0x1F", "name": "Spirit Temple MQ Entrance Back Right Chest", "HintKey": "SPIRIT_TEMPLE_MQ_ENTRANCE_BACK_RIGHT_CHEST", "vanillaItem": "BOMBCHU_10", "categories": ["cSpiritTemple"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SPIRIT_TEMPLE"}, + "SPIRIT_TEMPLE_MQ_ENTRANCE_FRONT_RIGHT_CHEST": { "type": "Chest", "scene": "0x06", "flag": "0x1B", "name": "Spirit Temple MQ Entrance Front Right Chest", "HintKey": "SPIRIT_TEMPLE_MQ_ENTRANCE_FRONT_RIGHT_CHEST", "vanillaItem": "SPIRIT_TEMPLE_SMALL_KEY", "categories": ["cSpiritTemple", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SPIRIT_TEMPLE"}, + "SPIRIT_TEMPLE_MQ_ENTRANCE_BACK_LEFT_CHEST": { "type": "Chest", "scene": "0x06", "flag": "0x1E", "name": "Spirit Temple MQ Entrance Back Left Chest", "HintKey": "SPIRIT_TEMPLE_MQ_ENTRANCE_BACK_LEFT_CHEST", "vanillaItem": "SPIRIT_TEMPLE_SMALL_KEY", "categories": ["cSpiritTemple", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SPIRIT_TEMPLE"}, + "SPIRIT_TEMPLE_MQ_CHILD_HAMMER_SWITCH_CHEST": { "type": "Chest", "scene": "0x06", "flag": "0x1D", "name": "Spirit Temple MQ Child Hammer Switch Chest", "HintKey": "SPIRIT_TEMPLE_MQ_CHILD_HAMMER_SWITCH_CHEST", "vanillaItem": "SPIRIT_TEMPLE_SMALL_KEY", "categories": ["cSpiritTemple", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SPIRIT_TEMPLE"}, + "SPIRIT_TEMPLE_MQ_MAP_CHEST": { "type": "Chest", "scene": "0x06", "flag": "0x00", "name": "Spirit Temple MQ Map Chest", "HintKey": "SPIRIT_TEMPLE_MQ_MAP_CHEST", "vanillaItem": "SPIRIT_TEMPLE_MAP", "categories": ["cSpiritTemple", "cVanillaMap"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SPIRIT_TEMPLE"}, + "SPIRIT_TEMPLE_MQ_MAP_ROOM_ENEMY_CHEST": { "type": "Chest", "scene": "0x06", "flag": "0x08", "name": "Spirit Temple MQ Map Room Enemy Chest", "HintKey": "SPIRIT_TEMPLE_MQ_MAP_ROOM_ENEMY_CHEST", "vanillaItem": "SPIRIT_TEMPLE_SMALL_KEY", "categories": ["cSpiritTemple", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SPIRIT_TEMPLE"}, + "SPIRIT_TEMPLE_MQ_CHILD_CLIMB_NORTH_CHEST": { "type": "Chest", "scene": "0x06", "flag": "0x06", "name": "Spirit Temple MQ Child Climb North Chest", "HintKey": "SPIRIT_TEMPLE_MQ_CHILD_CLIMB_NORTH_CHEST", "vanillaItem": "BOMBCHU_10", "categories": ["cSpiritTemple"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SPIRIT_TEMPLE"}, + "SPIRIT_TEMPLE_MQ_CHILD_CLIMB_SOUTH_CHEST": { "type": "Chest", "scene": "0x06", "flag": "0x0C", "name": "Spirit Temple MQ Child Climb South Chest", "HintKey": "SPIRIT_TEMPLE_MQ_CHILD_CLIMB_SOUTH_CHEST", "vanillaItem": "SPIRIT_TEMPLE_SMALL_KEY", "categories": ["cSpiritTemple", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SPIRIT_TEMPLE"}, + "SPIRIT_TEMPLE_MQ_COMPASS_CHEST": { "type": "Chest", "scene": "0x06", "flag": "0x03", "name": "Spirit Temple MQ Compass Chest", "HintKey": "SPIRIT_TEMPLE_MQ_COMPASS_CHEST", "vanillaItem": "SPIRIT_TEMPLE_COMPASS", "categories": ["cSpiritTemple", "cVanillaCompass"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SPIRIT_TEMPLE"}, + "SPIRIT_TEMPLE_MQ_STATUE_ROOM_LULLABY_CHEST": { "type": "Chest", "scene": "0x06", "flag": "0x0F", "name": "Spirit Temple MQ Statue Room Lullaby Chest", "HintKey": "SPIRIT_TEMPLE_MQ_STATUE_ROOM_LULLABY_CHEST", "vanillaItem": "BLUE_RUPEE", "categories": ["cSpiritTemple"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SPIRIT_TEMPLE"}, + "SPIRIT_TEMPLE_MQ_STATUE_ROOM_INVISIBLE_CHEST": { "type": "Chest", "scene": "0x06", "flag": "0x02", "name": "Spirit Temple MQ Statue Room Invisible Chest", "HintKey": "SPIRIT_TEMPLE_MQ_STATUE_ROOM_INVISIBLE_CHEST", "vanillaItem": "RECOVERY_HEART", "categories": ["cSpiritTemple"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SPIRIT_TEMPLE"}, + "SPIRIT_TEMPLE_MQ_SILVER_BLOCK_HALLWAY_CHEST": { "type": "Chest", "scene": "0x06", "flag": "0x1C", "name": "Spirit Temple MQ Silver Block Hallway Chest", "HintKey": "SPIRIT_TEMPLE_MQ_SILVER_BLOCK_HALLWAY_CHEST", "vanillaItem": "SPIRIT_TEMPLE_SMALL_KEY", "categories": ["cSpiritTemple", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SPIRIT_TEMPLE"}, + "SPIRIT_TEMPLE_MQ_SUN_BLOCK_ROOM_CHEST": { "type": "Chest", "scene": "0x06", "flag": "0x01", "name": "Spirit Temple MQ Sun Block Room Chest", "HintKey": "SPIRIT_TEMPLE_MQ_SUN_BLOCK_ROOM_CHEST", "vanillaItem": "RECOVERY_HEART", "categories": ["cSpiritTemple"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SPIRIT_TEMPLE"}, + "SPIRIT_TEMPLE_MQ_SYMPHONY_ROOM_CHEST": { "type": "Chest", "scene": "0x06", "flag": "0x07", "name": "Spirit Temple MQ Symphony Room Chest", "HintKey": "SPIRIT_TEMPLE_MQ_SYMPHONY_ROOM_CHEST", "vanillaItem": "PURPLE_RUPEE", "categories": ["cSpiritTemple"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SPIRIT_TEMPLE"}, + "SPIRIT_TEMPLE_MQ_LEEVER_ROOM_CHEST": { "type": "Chest", "scene": "0x06", "flag": "0x04", "name": "Spirit Temple MQ Leever Room Chest", "HintKey": "SPIRIT_TEMPLE_MQ_LEEVER_ROOM_CHEST", "vanillaItem": "PURPLE_RUPEE", "categories": ["cSpiritTemple"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SPIRIT_TEMPLE"}, + "SPIRIT_TEMPLE_MQ_BEAMOS_ROOM_CHEST": { "type": "Chest", "scene": "0x06", "flag": "0x19", "name": "Spirit Temple MQ Beamos Room Chest", "HintKey": "SPIRIT_TEMPLE_MQ_BEAMOS_ROOM_CHEST", "vanillaItem": "RECOVERY_HEART", "categories": ["cSpiritTemple"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SPIRIT_TEMPLE"}, + "SPIRIT_TEMPLE_MQ_CHEST_SWITCH_CHEST": { "type": "Chest", "scene": "0x06", "flag": "0x18", "name": "Spirit Temple MQ Chest Switch Chest", "HintKey": "SPIRIT_TEMPLE_MQ_CHEST_SWITCH_CHEST", "vanillaItem": "ICE_TRAP", "categories": ["cSpiritTemple"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SPIRIT_TEMPLE"}, + "SPIRIT_TEMPLE_MQ_BOSS_KEY_CHEST": { "type": "Chest", "scene": "0x06", "flag": "0x05", "name": "Spirit Temple MQ Boss Key Chest", "HintKey": "SPIRIT_TEMPLE_MQ_BOSS_KEY_CHEST", "vanillaItem": "SPIRIT_TEMPLE_BOSS_KEY", "categories": ["cSpiritTemple", "cVanillaBossKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SPIRIT_TEMPLE"}, + "SPIRIT_TEMPLE_MQ_MIRROR_PUZZLE_INVISIBLE_CHEST": { "type": "Chest", "scene": "0x06", "flag": "0x12", "name": "Spirit Temple MQ Mirror Puzzle Invisible Chest", "HintKey": "SPIRIT_TEMPLE_MQ_MIRROR_PUZZLE_INVISIBLE_CHEST", "vanillaItem": "SPIRIT_TEMPLE_SMALL_KEY", "categories": ["cSpiritTemple", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SPIRIT_TEMPLE"}, + + // Shadow Temple Vanilla + "SHADOW_TEMPLE_MAP_CHEST": { "type": "Chest", "scene": "0x07", "flag": "0x01", "name": "Shadow Temple Map Chest", "HintKey": "SHADOW_TEMPLE_MAP_CHEST", "vanillaItem": "SHADOW_TEMPLE_MAP", "categories": ["cShadowTemple", "cVanillaMap"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SHADOW_TEMPLE"}, + "SHADOW_TEMPLE_HOVER_BOOTS_CHEST": { "type": "Chest", "scene": "0x07", "flag": "0x07", "name": "Shadow Temple Hover Boots Chest", "HintKey": "SHADOW_TEMPLE_HOVER_BOOTS_CHEST", "vanillaItem": "HOVER_BOOTS", "categories": ["cShadowTemple"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SHADOW_TEMPLE"}, + "SHADOW_TEMPLE_COMPASS_CHEST": { "type": "Chest", "scene": "0x07", "flag": "0x03", "name": "Shadow Temple Compass Chest", "HintKey": "SHADOW_TEMPLE_COMPASS_CHEST", "vanillaItem": "SHADOW_TEMPLE_COMPASS", "categories": ["cShadowTemple", "cVanillaCompass"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SHADOW_TEMPLE"}, + "SHADOW_TEMPLE_EARLY_SILVER_RUPEE_CHEST": { "type": "Chest", "scene": "0x07", "flag": "0x02", "name": "Shadow Temple Early Silver Rupee Chest", "HintKey": "SHADOW_TEMPLE_EARLY_SILVER_RUPEE_CHEST", "vanillaItem": "SHADOW_TEMPLE_SMALL_KEY", "categories": ["cShadowTemple", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SHADOW_TEMPLE"}, + "SHADOW_TEMPLE_INVISIBLE_BLADES_VISIBLE_CHEST": { "type": "Chest", "scene": "0x07", "flag": "0x0C", "name": "Shadow Temple Invisible Blades Visible Chest", "HintKey": "SHADOW_TEMPLE_INVISIBLE_BLADES_VISIBLE_CHEST", "vanillaItem": "BLUE_RUPEE", "categories": ["cShadowTemple"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SHADOW_TEMPLE"}, + "SHADOW_TEMPLE_INVISIBLE_BLADES_INVISIBLE_CHEST": { "type": "Chest", "scene": "0x07", "flag": "0x16", "name": "Shadow Temple Invisible Blades Invisible Chest", "HintKey": "SHADOW_TEMPLE_INVISIBLE_BLADES_INVISIBLE_CHEST", "vanillaItem": "ARROWS_30", "categories": ["cShadowTemple"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SHADOW_TEMPLE"}, + "SHADOW_TEMPLE_FALLING_SPIKES_LOWER_CHEST": { "type": "Chest", "scene": "0x07", "flag": "0x05", "name": "Shadow Temple Falling Spikes Lower Chest", "HintKey": "SHADOW_TEMPLE_FALLING_SPIKES_LOWER_CHEST", "vanillaItem": "ARROWS_10", "categories": ["cShadowTemple"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SHADOW_TEMPLE"}, + "SHADOW_TEMPLE_FALLING_SPIKES_UPPER_CHEST": { "type": "Chest", "scene": "0x07", "flag": "0x06", "name": "Shadow Temple Falling Spikes Upper Chest", "HintKey": "SHADOW_TEMPLE_FALLING_SPIKES_UPPER_CHEST", "vanillaItem": "BLUE_RUPEE", "categories": ["cShadowTemple"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SHADOW_TEMPLE"}, + "SHADOW_TEMPLE_FALLING_SPIKES_SWITCH_CHEST": { "type": "Chest", "scene": "0x07", "flag": "0x04", "name": "Shadow Temple Falling Spikes Switch Chest", "HintKey": "SHADOW_TEMPLE_FALLING_SPIKES_SWITCH_CHEST", "vanillaItem": "SHADOW_TEMPLE_SMALL_KEY", "categories": ["cShadowTemple", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SHADOW_TEMPLE"}, + "SHADOW_TEMPLE_INVISIBLE_SPIKES_CHEST": { "type": "Chest", "scene": "0x07", "flag": "0x09", "name": "Shadow Temple Invisible Spikes Chest", "HintKey": "SHADOW_TEMPLE_INVISIBLE_SPIKES_CHEST", "vanillaItem": "BLUE_RUPEE", "categories": ["cShadowTemple"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SHADOW_TEMPLE"}, + "SHADOW_TEMPLE_WIND_HINT_CHEST": { "type": "Chest", "scene": "0x07", "flag": "0x15", "name": "Shadow Temple Wind Hint Chest", "HintKey": "SHADOW_TEMPLE_WIND_HINT_CHEST", "vanillaItem": "ARROWS_10", "categories": ["cShadowTemple"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SHADOW_TEMPLE"}, + "SHADOW_TEMPLE_AFTER_WIND_ENEMY_CHEST": { "type": "Chest", "scene": "0x07", "flag": "0x08", "name": "Shadow Temple After Wind Enemy Chest", "HintKey": "SHADOW_TEMPLE_AFTER_WIND_ENEMY_CHEST", "vanillaItem": "BLUE_RUPEE", "categories": ["cShadowTemple"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SHADOW_TEMPLE"}, + "SHADOW_TEMPLE_AFTER_WIND_HIDDEN_CHEST": { "type": "Chest", "scene": "0x07", "flag": "0x14", "name": "Shadow Temple After Wind Hidden Chest", "HintKey": "SHADOW_TEMPLE_AFTER_WIND_HIDDEN_CHEST", "vanillaItem": "SHADOW_TEMPLE_SMALL_KEY", "categories": ["cShadowTemple", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SHADOW_TEMPLE"}, + "SHADOW_TEMPLE_SPIKE_WALLS_LEFT_CHEST": { "type": "Chest", "scene": "0x07", "flag": "0x0A", "name": "Shadow Temple Spike Walls Left Chest", "HintKey": "SHADOW_TEMPLE_SPIKE_WALLS_LEFT_CHEST", "vanillaItem": "BLUE_RUPEE", "categories": ["cShadowTemple"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SHADOW_TEMPLE"}, + "SHADOW_TEMPLE_BOSS_KEY_CHEST": { "type": "Chest", "scene": "0x07", "flag": "0x0B", "name": "Shadow Temple Boss Key Chest", "HintKey": "SHADOW_TEMPLE_BOSS_KEY_CHEST", "vanillaItem": "SHADOW_TEMPLE_BOSS_KEY", "categories": ["cShadowTemple", "cVanillaBossKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SHADOW_TEMPLE"}, + "SHADOW_TEMPLE_INVISIBLE_FLOORMASTER_CHEST": { "type": "Chest", "scene": "0x07", "flag": "0x0D", "name": "Shadow Temple Invisible Floormaster Chest", "HintKey": "SHADOW_TEMPLE_INVISIBLE_FLOORMASTER_CHEST", "vanillaItem": "SHADOW_TEMPLE_SMALL_KEY", "categories": ["cShadowTemple", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SHADOW_TEMPLE"}, + "SHADOW_TEMPLE_FREESTANDING_KEY": { "type": "Collectable", "scene": "0x07", "flag": "0x01", "name": "Shadow Temple Freestanding Key", "HintKey": "SHADOW_TEMPLE_FREESTANDING_KEY", "vanillaItem": "SHADOW_TEMPLE_SMALL_KEY", "categories": ["cShadowTemple", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SHADOW_TEMPLE"}, + // Shadow Temple MQ + "SHADOW_TEMPLE_MQ_COMPASS_CHEST": { "type": "Chest", "scene": "0x07", "flag": "0x01", "name": "Shadow Temple MQ Compass Chest", "HintKey": "SHADOW_TEMPLE_MQ_COMPASS_CHEST", "vanillaItem": "SHADOW_TEMPLE_COMPASS", "categories": ["cShadowTemple", "cVanillaCompass"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SHADOW_TEMPLE"}, + "SHADOW_TEMPLE_MQ_HOVER_BOOTS_CHEST": { "type": "Chest", "scene": "0x07", "flag": "0x07", "name": "Shadow Temple MQ Hover Boots Chest", "HintKey": "SHADOW_TEMPLE_MQ_HOVER_BOOTS_CHEST", "vanillaItem": "HOVER_BOOTS", "categories": ["cShadowTemple"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SHADOW_TEMPLE"}, + "SHADOW_TEMPLE_MQ_EARLY_GIBDOS_CHEST": { "type": "Chest", "scene": "0x07", "flag": "0x03", "name": "Shadow Temple MQ Early Gibdos Chest", "HintKey": "SHADOW_TEMPLE_MQ_EARLY_GIBDOS_CHEST", "vanillaItem": "SHADOW_TEMPLE_SMALL_KEY", "categories": ["cShadowTemple", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SHADOW_TEMPLE"}, + "SHADOW_TEMPLE_MQ_MAP_CHEST": { "type": "Chest", "scene": "0x07", "flag": "0x02", "name": "Shadow Temple MQ Map Chest", "HintKey": "SHADOW_TEMPLE_MQ_MAP_CHEST", "vanillaItem": "SHADOW_TEMPLE_MAP", "categories": ["cShadowTemple", "cVanillaMap"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SHADOW_TEMPLE"}, + "SHADOW_TEMPLE_MQ_BEAMOS_SILVER_RUPEES_CHEST": { "type": "Chest", "scene": "0x07", "flag": "0x0F", "name": "Shadow Temple MQ Beamos Silver Rupees Chest", "HintKey": "SHADOW_TEMPLE_MQ_BEAMOS_SILVER_RUPEES_CHEST", "vanillaItem": "ARROWS_5", "categories": ["cShadowTemple"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SHADOW_TEMPLE"}, + "SHADOW_TEMPLE_MQ_FALLING_SPIKES_SWITCH_CHEST": { "type": "Chest", "scene": "0x07", "flag": "0x04", "name": "Shadow Temple MQ Falling Spikes Switch Chest", "HintKey": "SHADOW_TEMPLE_MQ_FALLING_SPIKES_SWITCH_CHEST", "vanillaItem": "SHADOW_TEMPLE_SMALL_KEY", "categories": ["cShadowTemple", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SHADOW_TEMPLE"}, + "SHADOW_TEMPLE_MQ_FALLING_SPIKES_LOWER_CHEST": { "type": "Chest", "scene": "0x07", "flag": "0x05", "name": "Shadow Temple MQ Falling Spikes Lower Chest", "HintKey": "SHADOW_TEMPLE_MQ_FALLING_SPIKES_LOWER_CHEST", "vanillaItem": "ARROWS_10", "categories": ["cShadowTemple"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SHADOW_TEMPLE"}, + "SHADOW_TEMPLE_MQ_FALLING_SPIKES_UPPER_CHEST": { "type": "Chest", "scene": "0x07", "flag": "0x06", "name": "Shadow Temple MQ Falling Spikes Upper Chest", "HintKey": "SHADOW_TEMPLE_MQ_FALLING_SPIKES_UPPER_CHEST", "vanillaItem": "ARROWS_5", "categories": ["cShadowTemple"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SHADOW_TEMPLE"}, + "SHADOW_TEMPLE_MQ_INVISIBLE_SPIKES_CHEST": { "type": "Chest", "scene": "0x07", "flag": "0x09", "name": "Shadow Temple MQ Invisible Spikes Chest", "HintKey": "SHADOW_TEMPLE_MQ_INVISIBLE_SPIKES_CHEST", "vanillaItem": "BLUE_RUPEE", "categories": ["cShadowTemple"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SHADOW_TEMPLE"}, + "SHADOW_TEMPLE_MQ_BOSS_KEY_CHEST": { "type": "Chest", "scene": "0x07", "flag": "0x0B", "name": "Shadow Temple MQ Boss Key Chest", "HintKey": "SHADOW_TEMPLE_MQ_BOSS_KEY_CHEST", "vanillaItem": "SHADOW_TEMPLE_BOSS_KEY", "categories": ["cShadowTemple", "cVanillaBossKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SHADOW_TEMPLE"}, + "SHADOW_TEMPLE_MQ_SPIKE_WALLS_LEFT_CHEST": { "type": "Chest", "scene": "0x07", "flag": "0x0A", "name": "Shadow Temple MQ Spike Walls Left Chest", "HintKey": "SHADOW_TEMPLE_MQ_SPIKE_WALLS_LEFT_CHEST", "vanillaItem": "BLUE_RUPEE", "categories": ["cShadowTemple"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SHADOW_TEMPLE"}, + "SHADOW_TEMPLE_MQ_STALFOS_ROOM_CHEST": { "type": "Chest", "scene": "0x07", "flag": "0x10", "name": "Shadow Temple MQ Stalfos Room Chest", "HintKey": "SHADOW_TEMPLE_MQ_STALFOS_ROOM_CHEST", "vanillaItem": "RED_RUPEE", "categories": ["cShadowTemple"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SHADOW_TEMPLE"}, + "SHADOW_TEMPLE_MQ_INVISIBLE_BLADES_INVISIBLE_CHEST": { "type": "Chest", "scene": "0x07", "flag": "0x16", "name": "Shadow Temple MQ Invisible Blades Invisible Chest", "HintKey": "SHADOW_TEMPLE_MQ_INVISIBLE_BLADES_INVISIBLE_CHEST", "vanillaItem": "SHADOW_TEMPLE_SMALL_KEY", "categories": ["cShadowTemple", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SHADOW_TEMPLE"}, + "SHADOW_TEMPLE_MQ_INVISIBLE_BLADES_VISIBLE_CHEST": { "type": "Chest", "scene": "0x07", "flag": "0x0C", "name": "Shadow Temple MQ Invisible Blades Visible Chest", "HintKey": "SHADOW_TEMPLE_MQ_INVISIBLE_BLADES_VISIBLE_CHEST", "vanillaItem": "BLUE_RUPEE", "categories": ["cShadowTemple"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SHADOW_TEMPLE"}, + "SHADOW_TEMPLE_MQ_BOMB_FLOWER_CHEST": { "type": "Chest", "scene": "0x07", "flag": "0x0D", "name": "Shadow Temple MQ Bomb Flower Chest", "HintKey": "SHADOW_TEMPLE_MQ_BOMB_FLOWER_CHEST", "vanillaItem": "ARROWS_10", "categories": ["cShadowTemple"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SHADOW_TEMPLE"}, + "SHADOW_TEMPLE_MQ_WIND_HINT_CHEST": { "type": "Chest", "scene": "0x07", "flag": "0x15", "name": "Shadow Temple MQ Wind Hint Chest", "HintKey": "SHADOW_TEMPLE_MQ_WIND_HINT_CHEST", "vanillaItem": "SHADOW_TEMPLE_SMALL_KEY", "categories": ["cShadowTemple", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SHADOW_TEMPLE"}, + "SHADOW_TEMPLE_MQ_AFTER_WIND_HIDDEN_CHEST": { "type": "Chest", "scene": "0x07", "flag": "0x14", "name": "Shadow Temple MQ After Wind Hidden Chest", "HintKey": "SHADOW_TEMPLE_MQ_AFTER_WIND_HIDDEN_CHEST", "vanillaItem": "ARROWS_5", "categories": ["cShadowTemple"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SHADOW_TEMPLE"}, + "SHADOW_TEMPLE_MQ_AFTER_WIND_ENEMY_CHEST": { "type": "Chest", "scene": "0x07", "flag": "0x08", "name": "Shadow Temple MQ After Wind Enemy Chest", "HintKey": "SHADOW_TEMPLE_MQ_AFTER_WIND_ENEMY_CHEST", "vanillaItem": "BLUE_RUPEE", "categories": ["cShadowTemple"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SHADOW_TEMPLE"}, + "SHADOW_TEMPLE_MQ_NEAR_SHIP_INVISIBLE_CHEST": { "type": "Chest", "scene": "0x07", "flag": "0x0E", "name": "Shadow Temple MQ Near Ship Invisible Chest", "HintKey": "SHADOW_TEMPLE_MQ_NEAR_SHIP_INVISIBLE_CHEST", "vanillaItem": "SHADOW_TEMPLE_SMALL_KEY", "categories": ["cShadowTemple", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SHADOW_TEMPLE"}, + "SHADOW_TEMPLE_MQ_FREESTANDING_KEY": { "type": "Collectable", "scene": "0x07", "flag": "0x06", "name": "Shadow Temple MQ Freestanding Key", "HintKey": "SHADOW_TEMPLE_MQ_FREESTANDING_KEY", "vanillaItem": "SHADOW_TEMPLE_SMALL_KEY", "categories": ["cShadowTemple", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SHADOW_TEMPLE"}, + + // Bottom of the Well Vanilla + "BOTTOM_OF_THE_WELL_FRONT_LEFT_FAKE_WALL_CHEST": { "type": "Chest", "scene": "0x08", "flag": "0x08", "name": "Bottom of the Well Front Left Fake Wall Chest", "HintKey": "BOTTOM_OF_THE_WELL_FRONT_LEFT_FAKE_WALL_CHEST", "vanillaItem": "BOTTOM_OF_THE_WELL_SMALL_KEY", "categories": ["cBottomOfTheWell", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_BOTTOM_OF_THE_WELL"}, + "BOTTOM_OF_THE_WELL_FRONT_CENTER_BOMBABLE_CHEST": { "type": "Chest", "scene": "0x08", "flag": "0x02", "name": "Bottom of the Well Front Center Bombable Chest", "HintKey": "BOTTOM_OF_THE_WELL_FRONT_CENTER_BOMBABLE_CHEST", "vanillaItem": "BOMBCHU_10", "categories": ["cBottomOfTheWell"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_BOTTOM_OF_THE_WELL"}, + "BOTTOM_OF_THE_WELL_RIGHT_BOTTOM_FAKE_WALL_CHEST": { "type": "Chest", "scene": "0x08", "flag": "0x05", "name": "Bottom of the Well Right Bottom Fake Wall Chest", "HintKey": "BOTTOM_OF_THE_WELL_RIGHT_BOTTOM_FAKE_WALL_CHEST", "vanillaItem": "BOTTOM_OF_THE_WELL_SMALL_KEY", "categories": ["cBottomOfTheWell", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_BOTTOM_OF_THE_WELL"}, + "BOTTOM_OF_THE_WELL_COMPASS_CHEST": { "type": "Chest", "scene": "0x08", "flag": "0x01", "name": "Bottom of the Well Compass Chest", "HintKey": "BOTTOM_OF_THE_WELL_COMPASS_CHEST", "vanillaItem": "BOTTOM_OF_THE_WELL_COMPASS", "categories": ["cBottomOfTheWell", "cVanillaCompass"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_BOTTOM_OF_THE_WELL"}, + "BOTTOM_OF_THE_WELL_CENTER_SKULLTULA_CHEST": { "type": "Chest", "scene": "0x08", "flag": "0x0E", "name": "Bottom of the Well Center Skulltula Chest", "HintKey": "BOTTOM_OF_THE_WELL_CENTER_SKULLTULA_CHEST", "vanillaItem": "DEKU_NUTS_5", "categories": ["cBottomOfTheWell"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_BOTTOM_OF_THE_WELL"}, + "BOTTOM_OF_THE_WELL_BACK_LEFT_BOMBABLE_CHEST": { "type": "Chest", "scene": "0x08", "flag": "0x04", "name": "Bottom of the Well Back Left Bombable Chest", "HintKey": "BOTTOM_OF_THE_WELL_BACK_LEFT_BOMBABLE_CHEST", "vanillaItem": "DEKU_NUTS_10", "categories": ["cBottomOfTheWell"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_BOTTOM_OF_THE_WELL"}, + "BOTTOM_OF_THE_WELL_LENS_OF_TRUTH_CHEST": { "type": "Chest", "scene": "0x08", "flag": "0x03", "name": "Bottom of the Well Lens of Truth Chest", "HintKey": "BOTTOM_OF_THE_WELL_LENS_OF_TRUTH_CHEST", "vanillaItem": "LENS_OF_TRUTH", "categories": ["cBottomOfTheWell", "cSongDungeonReward"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_BOTTOM_OF_THE_WELL"}, + "BOTTOM_OF_THE_WELL_INVISIBLE_CHEST": { "type": "Chest", "scene": "0x08", "flag": "0x14", "name": "Bottom of the Well Invisible Chest", "HintKey": "BOTTOM_OF_THE_WELL_INVISIBLE_CHEST", "vanillaItem": "HUGE_RUPEE", "categories": ["cBottomOfTheWell"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_BOTTOM_OF_THE_WELL"}, + "BOTTOM_OF_THE_WELL_UNDERWATER_FRONT_CHEST": { "type": "Chest", "scene": "0x08", "flag": "0x10", "name": "Bottom of the Well Underwater Front Chest", "HintKey": "BOTTOM_OF_THE_WELL_UNDERWATER_FRONT_CHEST", "vanillaItem": "BOMBS_10", "categories": ["cBottomOfTheWell"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_BOTTOM_OF_THE_WELL"}, + "BOTTOM_OF_THE_WELL_UNDERWATER_LEFT_CHEST": { "type": "Chest", "scene": "0x08", "flag": "0x09", "name": "Bottom of the Well Underwater Left Chest", "HintKey": "BOTTOM_OF_THE_WELL_UNDERWATER_LEFT_CHEST", "vanillaItem": "RECOVERY_HEART", "categories": ["cBottomOfTheWell"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_BOTTOM_OF_THE_WELL"}, + "BOTTOM_OF_THE_WELL_MAP_CHEST": { "type": "Chest", "scene": "0x08", "flag": "0x07", "name": "Bottom of the Well Map Chest", "HintKey": "BOTTOM_OF_THE_WELL_MAP_CHEST", "vanillaItem": "BOTTOM_OF_THE_WELL_MAP", "categories": ["cBottomOfTheWell", "cVanillaMap"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_BOTTOM_OF_THE_WELL"}, + "BOTTOM_OF_THE_WELL_FIRE_KEESE_CHEST": { "type": "Chest", "scene": "0x08", "flag": "0x0A", "name": "Bottom of the Well Fire Keese Chest", "HintKey": "BOTTOM_OF_THE_WELL_FIRE_KEESE_CHEST", "vanillaItem": "DEKU_SHIELD", "categories": ["cBottomOfTheWell"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_BOTTOM_OF_THE_WELL"}, + "BOTTOM_OF_THE_WELL_LIKE_LIKE_CHEST": { "type": "Chest", "scene": "0x08", "flag": "0x0C", "name": "Bottom of the Well Like Like Chest", "HintKey": "BOTTOM_OF_THE_WELL_LIKE_LIKE_CHEST", "vanillaItem": "HYLIAN_SHIELD", "categories": ["cBottomOfTheWell"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_BOTTOM_OF_THE_WELL"}, + "BOTTOM_OF_THE_WELL_FREESTANDING_KEY": { "type": "Collectable", "scene": "0x08", "flag": "0x01", "name": "Bottom of the Well Freestanding Key", "HintKey": "BOTTOM_OF_THE_WELL_FREESTANDING_KEY", "vanillaItem": "BOTTOM_OF_THE_WELL_SMALL_KEY", "categories": ["cBottomOfTheWell", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_BOTTOM_OF_THE_WELL"}, + // Bottom of the Well MQ + "BOTTOM_OF_THE_WELL_MQ_MAP_CHEST": { "type": "Chest", "scene": "0x08", "flag": "0x03", "name": "Bottom of the Well MQ Map Chest", "HintKey": "BOTTOM_OF_THE_WELL_MQ_MAP_CHEST", "vanillaItem": "BOTTOM_OF_THE_WELL_MAP", "categories": ["cBottomOfTheWell", "cVanillaMap"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_BOTTOM_OF_THE_WELL"}, + "BOTTOM_OF_THE_WELL_MQ_LENS_OF_TRUTH_CHEST": { "type": "Chest", "scene": "0x08", "flag": "0x01", "name": "Bottom of the Well MQ Lens of Truth Chest", "HintKey": "BOTTOM_OF_THE_WELL_MQ_LENS_OF_TRUTH_CHEST", "vanillaItem": "LENS_OF_TRUTH", "categories": ["cBottomOfTheWell", "cSongDungeonReward"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_BOTTOM_OF_THE_WELL"}, + "BOTTOM_OF_THE_WELL_MQ_COMPASS_CHEST": { "type": "Chest", "scene": "0x08", "flag": "0x02", "name": "Bottom of the Well MQ Compass Chest", "HintKey": "BOTTOM_OF_THE_WELL_MQ_COMPASS_CHEST", "vanillaItem": "BOTTOM_OF_THE_WELL_COMPASS", "categories": ["cBottomOfTheWell", "cVanillaCompass"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_BOTTOM_OF_THE_WELL"}, + "BOTTOM_OF_THE_WELL_MQ_DEAD_HAND_FREESTANDING_KEY": { "type": "Collectable", "scene": "0x08", "flag": "0x02", "name": "Bottom of the Well MQ Dead Hand Freestanding Key", "HintKey": "BOTTOM_OF_THE_WELL_MQ_DEAD_HAND_FREESTANDING_KEY", "vanillaItem": "BOTTOM_OF_THE_WELL_SMALL_KEY", "categories": ["cBottomOfTheWell", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_BOTTOM_OF_THE_WELL"}, + "BOTTOM_OF_THE_WELL_MQ_EAST_INNER_ROOM_FREESTANDING_KEY": { "type": "Collectable", "scene": "0x08", "flag": "0x01", "name": "Bottom of the Well MQ East Inner Room Freestanding Key","HintKey": "BOTTOM_OF_THE_WELL_MQ_EAST_INNER_ROOM_FREESTANDING_KEY", "vanillaItem": "BOTTOM_OF_THE_WELL_SMALL_KEY", "categories": ["cBottomOfTheWell", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_BOTTOM_OF_THE_WELL"}, + + // Ice Cavern Vanilla + "ICE_CAVERN_MAP_CHEST": { "type": "Chest", "scene": "0x09", "flag": "0x00", "name": "Ice Cavern Map Chest", "HintKey": "ICE_CAVERN_MAP_CHEST", "vanillaItem": "ICE_CAVERN_MAP", "categories": ["cIceCavern", "cVanillaMap"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_ICE_CAVERN"}, + "ICE_CAVERN_COMPASS_CHEST": { "type": "Chest", "scene": "0x09", "flag": "0x01", "name": "Ice Cavern Compass Chest", "HintKey": "ICE_CAVERN_COMPASS_CHEST", "vanillaItem": "ICE_CAVERN_COMPASS", "categories": ["cIceCavern", "cVanillaCompass"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_ICE_CAVERN"}, + "ICE_CAVERN_IRON_BOOTS_CHEST": { "type": "Chest", "scene": "0x09", "flag": "0x02", "name": "Ice Cavern Iron Boots Chest", "HintKey": "ICE_CAVERN_IRON_BOOTS_CHEST", "vanillaItem": "IRON_BOOTS", "categories": ["cIceCavern"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_ICE_CAVERN"}, + "ICE_CAVERN_FREESTANDING_POH": { "type": "Collectable", "scene": "0x09", "flag": "0x01", "name": "Ice Cavern Freestanding PoH", "HintKey": "ICE_CAVERN_FREESTANDING_POH", "vanillaItem": "PIECE_OF_HEART", "categories": ["cIceCavern"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_ICE_CAVERN"}, + // Ice Cavern MQ + "ICE_CAVERN_MQ_IRON_BOOTS_CHEST": { "type": "Chest", "scene": "0x09", "flag": "0x02", "name": "Ice Cavern MQ Iron Boots Chest", "HintKey": "ICE_CAVERN_MQ_IRON_BOOTS_CHEST", "vanillaItem": "IRON_BOOTS", "categories": ["cIceCavern"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_ICE_CAVERN"}, + "ICE_CAVERN_MQ_COMPASS_CHEST": { "type": "Chest", "scene": "0x09", "flag": "0x00", "name": "Ice Cavern MQ Compass Chest", "HintKey": "ICE_CAVERN_MQ_COMPASS_CHEST", "vanillaItem": "ICE_CAVERN_COMPASS", "categories": ["cIceCavern", "cVanillaCompass"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_ICE_CAVERN"}, + "ICE_CAVERN_MQ_MAP_CHEST": { "type": "Chest", "scene": "0x09", "flag": "0x01", "name": "Ice Cavern MQ Map Chest", "HintKey": "ICE_CAVERN_MQ_MAP_CHEST", "vanillaItem": "ICE_CAVERN_MAP", "categories": ["cIceCavern", "cVanillaMap"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_ICE_CAVERN"}, + "ICE_CAVERN_MQ_FREESTANDING_POH": { "type": "Collectable", "scene": "0x09", "flag": "0x01", "name": "Ice Cavern MQ Freestanding PoH", "HintKey": "ICE_CAVERN_MQ_FREESTANDING_POH", "vanillaItem": "PIECE_OF_HEART", "categories": ["cIceCavern"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_ICE_CAVERN"}, + + // Gerudo Training Ground Vanilla + "GERUDO_TRAINING_GROUNDS_LOBBY_LEFT_CHEST": { "type": "Chest", "scene": "0x0B", "flag": "0x13", "name": "Gerudo Training Grounds Lobby Left Chest", "HintKey": "GERUDO_TRAINING_GROUNDS_LOBBY_LEFT_CHEST", "vanillaItem": "BLUE_RUPEE", "categories": ["cGerudoTrainingGrounds"], "SpoilerCollectionCheckGroup": "GROUP_GERUDO_TRAINING_GROUND"}, + "GERUDO_TRAINING_GROUNDS_LOBBY_RIGHT_CHEST": { "type": "Chest", "scene": "0x0B", "flag": "0x07", "name": "Gerudo Training Grounds Lobby Right Chest", "HintKey": "GERUDO_TRAINING_GROUNDS_LOBBY_RIGHT_CHEST", "vanillaItem": "ARROWS_10", "categories": ["cGerudoTrainingGrounds"], "SpoilerCollectionCheckGroup": "GROUP_GERUDO_TRAINING_GROUND"}, + "GERUDO_TRAINING_GROUNDS_STALFOS_CHEST": { "type": "Chest", "scene": "0x0B", "flag": "0x00", "name": "Gerudo Training Grounds Stalfos Chest", "HintKey": "GERUDO_TRAINING_GROUNDS_STALFOS_CHEST", "vanillaItem": "GERUDO_TRAINING_GROUNDS_SMALL_KEY", "categories": ["cGerudoTrainingGrounds", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_GERUDO_TRAINING_GROUND"}, + "GERUDO_TRAINING_GROUNDS_BEAMOS_CHEST": { "type": "Chest", "scene": "0x0B", "flag": "0x01", "name": "Gerudo Training Grounds Beamos Chest", "HintKey": "GERUDO_TRAINING_GROUNDS_BEAMOS_CHEST", "vanillaItem": "GERUDO_TRAINING_GROUNDS_SMALL_KEY", "categories": ["cGerudoTrainingGrounds", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_GERUDO_TRAINING_GROUND"}, + "GERUDO_TRAINING_GROUNDS_HIDDEN_CEILING_CHEST": { "type": "Chest", "scene": "0x0B", "flag": "0x0B", "name": "Gerudo Training Grounds Hidden Ceiling Chest", "HintKey": "GERUDO_TRAINING_GROUNDS_HIDDEN_CEILING_CHEST", "vanillaItem": "GERUDO_TRAINING_GROUNDS_SMALL_KEY", "categories": ["cGerudoTrainingGrounds", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_GERUDO_TRAINING_GROUND"}, + "GERUDO_TRAINING_GROUNDS_MAZE_PATH_FIRST_CHEST": { "type": "Chest", "scene": "0x0B", "flag": "0x06", "name": "Gerudo Training Grounds Maze Path First Chest", "HintKey": "GERUDO_TRAINING_GROUNDS_MAZE_PATH_FIRST_CHEST", "vanillaItem": "PURPLE_RUPEE", "categories": ["cGerudoTrainingGrounds"], "SpoilerCollectionCheckGroup": "GROUP_GERUDO_TRAINING_GROUND"}, + "GERUDO_TRAINING_GROUNDS_MAZE_PATH_SECOND_CHEST": { "type": "Chest", "scene": "0x0B", "flag": "0x0A", "name": "Gerudo Training Grounds Maze Path Second Chest", "HintKey": "GERUDO_TRAINING_GROUNDS_MAZE_PATH_SECOND_CHEST", "vanillaItem": "RED_RUPEE", "categories": ["cGerudoTrainingGrounds"], "SpoilerCollectionCheckGroup": "GROUP_GERUDO_TRAINING_GROUND"}, + "GERUDO_TRAINING_GROUNDS_MAZE_PATH_THIRD_CHEST": { "type": "Chest", "scene": "0x0B", "flag": "0x09", "name": "Gerudo Training Grounds Maze Path Third Chest", "HintKey": "GERUDO_TRAINING_GROUNDS_MAZE_PATH_THIRD_CHEST", "vanillaItem": "ARROWS_30", "categories": ["cGerudoTrainingGrounds"], "SpoilerCollectionCheckGroup": "GROUP_GERUDO_TRAINING_GROUND"}, + "GERUDO_TRAINING_GROUNDS_MAZE_PATH_FINAL_CHEST": { "type": "Chest", "scene": "0x0B", "flag": "0x0C", "name": "Gerudo Training Grounds Maze Path Final Chest", "HintKey": "GERUDO_TRAINING_GROUNDS_MAZE_PATH_FINAL_CHEST", "vanillaItem": "ICE_ARROWS", "categories": ["cGerudoTrainingGrounds", "cSongDungeonReward"], "SpoilerCollectionCheckGroup": "GROUP_GERUDO_TRAINING_GROUND"}, + "GERUDO_TRAINING_GROUNDS_MAZE_RIGHT_CENTRAL_CHEST": { "type": "Chest", "scene": "0x0B", "flag": "0x05", "name": "Gerudo Training Grounds Maze Right Central Chest", "HintKey": "GERUDO_TRAINING_GROUNDS_MAZE_RIGHT_CENTRAL_CHEST", "vanillaItem": "BOMBCHU_5", "categories": ["cGerudoTrainingGrounds"], "SpoilerCollectionCheckGroup": "GROUP_GERUDO_TRAINING_GROUND"}, + "GERUDO_TRAINING_GROUNDS_MAZE_RIGHT_SIDE_CHEST": { "type": "Chest", "scene": "0x0B", "flag": "0x08", "name": "Gerudo Training Grounds Maze Right Side Chest", "HintKey": "GERUDO_TRAINING_GROUNDS_MAZE_RIGHT_SIDE_CHEST", "vanillaItem": "ARROWS_30", "categories": ["cGerudoTrainingGrounds"], "SpoilerCollectionCheckGroup": "GROUP_GERUDO_TRAINING_GROUND"}, + "GERUDO_TRAINING_GROUNDS_UNDERWATER_SILVER_RUPEE_CHEST": { "type": "Chest", "scene": "0x0B", "flag": "0x0D", "name": "Gerudo Training Grounds Underwater Silver Rupee Chest", "HintKey": "GERUDO_TRAINING_GROUNDS_UNDERWATER_SILVER_RUPEE_CHEST", "vanillaItem": "GERUDO_TRAINING_GROUNDS_SMALL_KEY", "categories": ["cGerudoTrainingGrounds", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_GERUDO_TRAINING_GROUND"}, + "GERUDO_TRAINING_GROUNDS_HAMMER_ROOM_CLEAR_CHEST": { "type": "Chest", "scene": "0x0B", "flag": "0x12", "name": "Gerudo Training Grounds Hammer Room Clear Chest", "HintKey": "GERUDO_TRAINING_GROUNDS_HAMMER_ROOM_CLEAR_CHEST", "vanillaItem": "ARROWS_10", "categories": ["cGerudoTrainingGrounds"], "SpoilerCollectionCheckGroup": "GROUP_GERUDO_TRAINING_GROUND"}, + "GERUDO_TRAINING_GROUNDS_HAMMER_ROOM_SWITCH_CHEST": { "type": "Chest", "scene": "0x0B", "flag": "0x10", "name": "Gerudo Training Grounds Hammer Room Switch Chest", "HintKey": "GERUDO_TRAINING_GROUNDS_HAMMER_ROOM_SWITCH_CHEST", "vanillaItem": "GERUDO_TRAINING_GROUNDS_SMALL_KEY", "categories": ["cGerudoTrainingGrounds", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_GERUDO_TRAINING_GROUND"}, + "GERUDO_TRAINING_GROUNDS_EYE_STATUE_CHEST": { "type": "Chest", "scene": "0x0B", "flag": "0x03", "name": "Gerudo Training Grounds Eye Statue Chest", "HintKey": "GERUDO_TRAINING_GROUNDS_EYE_STATUE_CHEST", "vanillaItem": "GERUDO_TRAINING_GROUNDS_SMALL_KEY", "categories": ["cGerudoTrainingGrounds", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_GERUDO_TRAINING_GROUND"}, + "GERUDO_TRAINING_GROUNDS_NEAR_SCARECROW_CHEST": { "type": "Chest", "scene": "0x0B", "flag": "0x04", "name": "Gerudo Training Grounds Near Scarecrow Chest", "HintKey": "GERUDO_TRAINING_GROUNDS_NEAR_SCARECROW_CHEST", "vanillaItem": "GERUDO_TRAINING_GROUNDS_SMALL_KEY", "categories": ["cGerudoTrainingGrounds", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_GERUDO_TRAINING_GROUND"}, + "GERUDO_TRAINING_GROUNDS_BEFORE_HEAVY_BLOCK_CHEST": { "type": "Chest", "scene": "0x0B", "flag": "0x11", "name": "Gerudo Training Grounds Before Heavy Block Chest", "HintKey": "GERUDO_TRAINING_GROUNDS_BEFORE_HEAVY_BLOCK_CHEST", "vanillaItem": "ARROWS_30", "categories": ["cGerudoTrainingGrounds"], "SpoilerCollectionCheckGroup": "GROUP_GERUDO_TRAINING_GROUND"}, + "GERUDO_TRAINING_GROUNDS_HEAVY_BLOCK_FIRST_CHEST": { "type": "Chest", "scene": "0x0B", "flag": "0x0F", "name": "Gerudo Training Grounds Heavy Block First Chest", "HintKey": "GERUDO_TRAINING_GROUNDS_HEAVY_BLOCK_FIRST_CHEST", "vanillaItem": "HUGE_RUPEE", "categories": ["cGerudoTrainingGrounds"], "SpoilerCollectionCheckGroup": "GROUP_GERUDO_TRAINING_GROUND"}, + "GERUDO_TRAINING_GROUNDS_HEAVY_BLOCK_SECOND_CHEST": { "type": "Chest", "scene": "0x0B", "flag": "0x0E", "name": "Gerudo Training Grounds Heavy Block Second Chest", "HintKey": "GERUDO_TRAINING_GROUNDS_HEAVY_BLOCK_SECOND_CHEST", "vanillaItem": "BLUE_RUPEE", "categories": ["cGerudoTrainingGrounds"], "SpoilerCollectionCheckGroup": "GROUP_GERUDO_TRAINING_GROUND"}, + "GERUDO_TRAINING_GROUNDS_HEAVY_BLOCK_THIRD_CHEST": { "type": "Chest", "scene": "0x0B", "flag": "0x14", "name": "Gerudo Training Grounds Heavy Block Third Chest", "HintKey": "GERUDO_TRAINING_GROUNDS_HEAVY_BLOCK_THIRD_CHEST", "vanillaItem": "GERUDO_TRAINING_GROUNDS_SMALL_KEY", "categories": ["cGerudoTrainingGrounds", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_GERUDO_TRAINING_GROUND"}, + "GERUDO_TRAINING_GROUNDS_HEAVY_BLOCK_FOURTH_CHEST": { "type": "Chest", "scene": "0x0B", "flag": "0x02", "name": "Gerudo Training Grounds Heavy Block Fourth Chest", "HintKey": "GERUDO_TRAINING_GROUNDS_HEAVY_BLOCK_FOURTH_CHEST", "vanillaItem": "ICE_TRAP", "categories": ["cGerudoTrainingGrounds"], "SpoilerCollectionCheckGroup": "GROUP_GERUDO_TRAINING_GROUND"}, + "GERUDO_TRAINING_GROUNDS_FREESTANDING_KEY": { "type": "Collectable", "scene": "0x0B", "flag": "0x01", "name": "Gerudo Training Grounds Freestanding Key", "HintKey": "GERUDO_TRAINING_GROUNDS_FREESTANDING_KEY", "vanillaItem": "GERUDO_TRAINING_GROUNDS_SMALL_KEY", "categories": ["cGerudoTrainingGrounds", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_GERUDO_TRAINING_GROUND"}, + // Gerudo Training Grounds MQ + "GERUDO_TRAINING_GROUNDS_MQ_LOBBY_RIGHT_CHEST": { "type": "Chest", "scene": "0x0B", "flag": "0x07", "name": "Gerudo Training Grounds MQ Lobby Right Chest", "HintKey": "GERUDO_TRAINING_GROUNDS_MQ_LOBBY_RIGHT_CHEST", "vanillaItem": "BOMBCHU_5", "categories": ["cGerudoTrainingGrounds"], "SpoilerCollectionCheckGroup": "GROUP_GERUDO_TRAINING_GROUND"}, + "GERUDO_TRAINING_GROUNDS_MQ_LOBBY_LEFT_CHEST": { "type": "Chest", "scene": "0x0B", "flag": "0x13", "name": "Gerudo Training Grounds MQ Lobby Left Chest", "HintKey": "GERUDO_TRAINING_GROUNDS_MQ_LOBBY_LEFT_CHEST", "vanillaItem": "ARROWS_10", "categories": ["cGerudoTrainingGrounds"], "SpoilerCollectionCheckGroup": "GROUP_GERUDO_TRAINING_GROUND"}, + "GERUDO_TRAINING_GROUNDS_MQ_FIRST_IRON_KNUCKLE_CHEST": { "type": "Chest", "scene": "0x0B", "flag": "0x00", "name": "Gerudo Training Grounds MQ First Iron Knuckle Chest", "HintKey": "GERUDO_TRAINING_GROUNDS_MQ_FIRST_IRON_KNUCKLE_CHEST", "vanillaItem": "BLUE_RUPEE", "categories": ["cGerudoTrainingGrounds"], "SpoilerCollectionCheckGroup": "GROUP_GERUDO_TRAINING_GROUND"}, + "GERUDO_TRAINING_GROUNDS_MQ_BEFORE_HEAVY_BLOCK_CHEST": { "type": "Chest", "scene": "0x0B", "flag": "0x11", "name": "Gerudo Training Grounds MQ Before Heavy Block Chest", "HintKey": "GERUDO_TRAINING_GROUNDS_MQ_BEFORE_HEAVY_BLOCK_CHEST", "vanillaItem": "ARROWS_10", "categories": ["cGerudoTrainingGrounds"], "SpoilerCollectionCheckGroup": "GROUP_GERUDO_TRAINING_GROUND"}, + "GERUDO_TRAINING_GROUNDS_MQ_EYE_STATUE_CHEST": { "type": "Chest", "scene": "0x0B", "flag": "0x03", "name": "Gerudo Training Grounds MQ Eye Statue Chest", "HintKey": "GERUDO_TRAINING_GROUNDS_MQ_EYE_STATUE_CHEST", "vanillaItem": "BOMBCHU_10", "categories": ["cGerudoTrainingGrounds"], "SpoilerCollectionCheckGroup": "GROUP_GERUDO_TRAINING_GROUND"}, + "GERUDO_TRAINING_GROUNDS_MQ_FLAME_CIRCLE_CHEST": { "type": "Chest", "scene": "0x0B", "flag": "0x0E", "name": "Gerudo Training Grounds MQ Flame Circle Chest", "HintKey": "GERUDO_TRAINING_GROUNDS_MQ_FLAME_CIRCLE_CHEST", "vanillaItem": "GERUDO_TRAINING_GROUNDS_SMALL_KEY", "categories": ["cGerudoTrainingGrounds", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_GERUDO_TRAINING_GROUND"}, + "GERUDO_TRAINING_GROUNDS_MQ_SECOND_IRON_KNUCKLE_CHEST": { "type": "Chest", "scene": "0x0B", "flag": "0x12", "name": "Gerudo Training Grounds MQ Second Iron Knuckle Chest", "HintKey": "GERUDO_TRAINING_GROUNDS_MQ_SECOND_IRON_KNUCKLE_CHEST", "vanillaItem": "ARROWS_10", "categories": ["cGerudoTrainingGrounds"], "SpoilerCollectionCheckGroup": "GROUP_GERUDO_TRAINING_GROUND"}, + "GERUDO_TRAINING_GROUNDS_MQ_DINOLFOS_CHEST": { "type": "Chest", "scene": "0x0B", "flag": "0x01", "name": "Gerudo Training Grounds MQ Dinolfos Chest", "HintKey": "GERUDO_TRAINING_GROUNDS_MQ_DINOLFOS_CHEST", "vanillaItem": "GERUDO_TRAINING_GROUNDS_SMALL_KEY", "categories": ["cGerudoTrainingGrounds", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_GERUDO_TRAINING_GROUND"}, + "GERUDO_TRAINING_GROUNDS_MQ_ICE_ARROWS_CHEST": { "type": "Chest", "scene": "0x0B", "flag": "0x04", "name": "Gerudo Training Grounds MQ Ice Arrows Chest", "HintKey": "GERUDO_TRAINING_GROUNDS_MQ_ICE_ARROWS_CHEST", "vanillaItem": "ICE_ARROWS", "categories": ["cGerudoTrainingGrounds", "cSongDungeonReward"], "SpoilerCollectionCheckGroup": "GROUP_GERUDO_TRAINING_GROUND"}, + "GERUDO_TRAINING_GROUNDS_MQ_MAZE_RIGHT_CENTRAL_CHEST": { "type": "Chest", "scene": "0x0B", "flag": "0x05", "name": "Gerudo Training Grounds MQ Maze Right Central Chest", "HintKey": "GERUDO_TRAINING_GROUNDS_MQ_MAZE_RIGHT_CENTRAL_CHEST", "vanillaItem": "BLUE_RUPEE", "categories": ["cGerudoTrainingGrounds"], "SpoilerCollectionCheckGroup": "GROUP_GERUDO_TRAINING_GROUND"}, + "GERUDO_TRAINING_GROUNDS_MQ_MAZE_PATH_FIRST_CHEST": { "type": "Chest", "scene": "0x0B", "flag": "0x06", "name": "Gerudo Training Grounds MQ Maze Path First Chest", "HintKey": "GERUDO_TRAINING_GROUNDS_MQ_MAZE_PATH_FIRST_CHEST", "vanillaItem": "GREEN_RUPEE", "categories": ["cGerudoTrainingGrounds"], "SpoilerCollectionCheckGroup": "GROUP_GERUDO_TRAINING_GROUND"}, + "GERUDO_TRAINING_GROUNDS_MQ_MAZE_RIGHT_SIDE_CHEST": { "type": "Chest", "scene": "0x0B", "flag": "0x08", "name": "Gerudo Training Grounds MQ Maze Right Side Chest", "HintKey": "GERUDO_TRAINING_GROUNDS_MQ_MAZE_RIGHT_SIDE_CHEST", "vanillaItem": "TREASURE_GAME_GREEN_RUPEE", "categories": ["cGerudoTrainingGrounds"], "SpoilerCollectionCheckGroup": "GROUP_GERUDO_TRAINING_GROUND"}, + "GERUDO_TRAINING_GROUNDS_MQ_MAZE_PATH_THIRD_CHEST": { "type": "Chest", "scene": "0x0B", "flag": "0x09", "name": "Gerudo Training Grounds MQ Maze Path Third Chest", "HintKey": "GERUDO_TRAINING_GROUNDS_MQ_MAZE_PATH_THIRD_CHEST", "vanillaItem": "TREASURE_GAME_GREEN_RUPEE", "categories": ["cGerudoTrainingGrounds"], "SpoilerCollectionCheckGroup": "GROUP_GERUDO_TRAINING_GROUND"}, + "GERUDO_TRAINING_GROUNDS_MQ_MAZE_PATH_SECOND_CHEST": { "type": "Chest", "scene": "0x0B", "flag": "0x0A", "name": "Gerudo Training Grounds MQ Maze Path Second Chest", "HintKey": "GERUDO_TRAINING_GROUNDS_MQ_MAZE_PATH_SECOND_CHEST", "vanillaItem": "RED_RUPEE", "categories": ["cGerudoTrainingGrounds"], "SpoilerCollectionCheckGroup": "GROUP_GERUDO_TRAINING_GROUND"}, + "GERUDO_TRAINING_GROUNDS_MQ_HIDDEN_CEILING_CHEST": { "type": "Chest", "scene": "0x0B", "flag": "0x0B", "name": "Gerudo Training Grounds MQ Hidden Ceiling Chest", "HintKey": "GERUDO_TRAINING_GROUNDS_MQ_HIDDEN_CEILING_CHEST", "vanillaItem": "PURPLE_RUPEE", "categories": ["cGerudoTrainingGrounds"], "SpoilerCollectionCheckGroup": "GROUP_GERUDO_TRAINING_GROUND"}, + "GERUDO_TRAINING_GROUNDS_MQ_UNDERWATER_SILVER_RUPEE_CHEST": { "type": "Chest", "scene": "0x0B", "flag": "0x0D", "name": "Gerudo Training Grounds MQ Underwater Silver Rupee Chest","HintKey": "GERUDO_TRAINING_GROUNDS_MQ_UNDERWATER_SILVER_RUPEE_CHEST", "vanillaItem": "GERUDO_TRAINING_GROUNDS_SMALL_KEY", "categories": ["cGerudoTrainingGrounds", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_GERUDO_TRAINING_GROUND"}, + "GERUDO_TRAINING_GROUNDS_MQ_HEAVY_BLOCK_CHEST": { "type": "Chest", "scene": "0x0B", "flag": "0x02", "name": "Gerudo Training Grounds MQ Heavy Block Chest", "HintKey": "GERUDO_TRAINING_GROUNDS_MQ_HEAVY_BLOCK_CHEST", "vanillaItem": "PURPLE_RUPEE", "categories": ["cGerudoTrainingGrounds"], "SpoilerCollectionCheckGroup": "GROUP_GERUDO_TRAINING_GROUND"}, + + // Ganons Castle Shared + "GANONS_TOWER_BOSS_KEY_CHEST": { "type": "Chest", "scene": "0x0A", "flag": "0x0B", "name": "Ganon's Tower Boss Key Chest", "HintKey": "GANONS_TOWER_BOSS_KEY_CHEST", "vanillaItem": "GANONS_CASTLE_BOSS_KEY", "categories": ["cGanonsCastle"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_GANONS_CASTLE"}, + // Ganons Castle Vanilla + "GANONS_CASTLE_FOREST_TRIAL_CHEST": { "type": "Chest", "scene": "0x0D", "flag": "0x09", "name": "Ganon's Castle Forest Trial Chest", "HintKey": "GANONS_CASTLE_FOREST_TRIAL_CHEST", "vanillaItem": "BLUE_RUPEE", "categories": ["cGanonsCastle"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_GANONS_CASTLE"}, + "GANONS_CASTLE_WATER_TRIAL_LEFT_CHEST": { "type": "Chest", "scene": "0x0D", "flag": "0x07", "name": "Ganon's Castle Water Trial Left Chest", "HintKey": "GANONS_CASTLE_WATER_TRIAL_LEFT_CHEST", "vanillaItem": "ICE_TRAP", "categories": ["cGanonsCastle"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_GANONS_CASTLE"}, + "GANONS_CASTLE_WATER_TRIAL_RIGHT_CHEST": { "type": "Chest", "scene": "0x0D", "flag": "0x06", "name": "Ganon's Castle Water Trial Right Chest", "HintKey": "GANONS_CASTLE_WATER_TRIAL_RIGHT_CHEST", "vanillaItem": "RECOVERY_HEART", "categories": ["cGanonsCastle"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_GANONS_CASTLE"}, + "GANONS_CASTLE_SHADOW_TRIAL_FRONT_CHEST": { "type": "Chest", "scene": "0x0D", "flag": "0x08", "name": "Ganon's Castle Shadow Trial Front Chest", "HintKey": "GANONS_CASTLE_SHADOW_TRIAL_FRONT_CHEST", "vanillaItem": "BLUE_RUPEE", "categories": ["cGanonsCastle"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_GANONS_CASTLE"}, + "GANONS_CASTLE_SHADOW_TRIAL_GOLDEN_GAUNTLETS_CHEST": { "type": "Chest", "scene": "0x0D", "flag": "0x05", "name": "Ganon's Castle Shadow Trial Golden Gauntlets Chest", "HintKey": "GANONS_CASTLE_SHADOW_TRIAL_GOLDEN_GAUNTLETS_CHEST", "vanillaItem": "PROGRESSIVE_STRENGTH", "categories": ["cGanonsCastle"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_GANONS_CASTLE"}, + "GANONS_CASTLE_SPIRIT_TRIAL_CRYSTAL_SWITCH_CHEST": { "type": "Chest", "scene": "0x0D", "flag": "0x12", "name": "Ganon's Castle Spirit Trial Crystal Switch Chest", "HintKey": "GANONS_CASTLE_SPIRIT_TRIAL_CRYSTAL_SWITCH_CHEST", "vanillaItem": "BOMBCHU_20", "categories": ["cGanonsCastle"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_GANONS_CASTLE"}, + "GANONS_CASTLE_SPIRIT_TRIAL_INVISIBLE_CHEST": { "type": "Chest", "scene": "0x0D", "flag": "0x14", "name": "Ganon's Castle Spirit Trial Invisible Chest", "HintKey": "GANONS_CASTLE_SPIRIT_TRIAL_INVISIBLE_CHEST", "vanillaItem": "ARROWS_10", "categories": ["cGanonsCastle"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_GANONS_CASTLE"}, + "GANONS_CASTLE_LIGHT_TRIAL_FIRST_LEFT_CHEST": { "type": "Chest", "scene": "0x0D", "flag": "0x0C", "name": "Ganon's Castle Light Trial First Left Chest", "HintKey": "GANONS_CASTLE_LIGHT_TRIAL_FIRST_LEFT_CHEST", "vanillaItem": "BLUE_RUPEE", "categories": ["cGanonsCastle"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_GANONS_CASTLE"}, + "GANONS_CASTLE_LIGHT_TRIAL_SECOND_LEFT_CHEST": { "type": "Chest", "scene": "0x0D", "flag": "0x0B", "name": "Ganon's Castle Light Trial Second Left Chest", "HintKey": "GANONS_CASTLE_LIGHT_TRIAL_SECOND_LEFT_CHEST", "vanillaItem": "ICE_TRAP", "categories": ["cGanonsCastle"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_GANONS_CASTLE"}, + "GANONS_CASTLE_LIGHT_TRIAL_THIRD_LEFT_CHEST": { "type": "Chest", "scene": "0x0D", "flag": "0x0D", "name": "Ganon's Castle Light Trial Third Left Chest", "HintKey": "GANONS_CASTLE_LIGHT_TRIAL_THIRD_LEFT_CHEST", "vanillaItem": "RECOVERY_HEART", "categories": ["cGanonsCastle"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_GANONS_CASTLE"}, + "GANONS_CASTLE_LIGHT_TRIAL_FIRST_RIGHT_CHEST": { "type": "Chest", "scene": "0x0D", "flag": "0x0E", "name": "Ganon's Castle Light Trial First Right Chest", "HintKey": "GANONS_CASTLE_LIGHT_TRIAL_FIRST_RIGHT_CHEST", "vanillaItem": "ICE_TRAP", "categories": ["cGanonsCastle"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_GANONS_CASTLE"}, + "GANONS_CASTLE_LIGHT_TRIAL_SECOND_RIGHT_CHEST": { "type": "Chest", "scene": "0x0D", "flag": "0x0A", "name": "Ganon's Castle Light Trial Second Right Chest", "HintKey": "GANONS_CASTLE_LIGHT_TRIAL_SECOND_RIGHT_CHEST", "vanillaItem": "ARROWS_30", "categories": ["cGanonsCastle"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_GANONS_CASTLE"}, + "GANONS_CASTLE_LIGHT_TRIAL_THIRD_RIGHT_CHEST": { "type": "Chest", "scene": "0x0D", "flag": "0x0F", "name": "Ganon's Castle Light Trial Third Right Chest", "HintKey": "GANONS_CASTLE_LIGHT_TRIAL_THIRD_RIGHT_CHEST", "vanillaItem": "ICE_TRAP", "categories": ["cGanonsCastle"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_GANONS_CASTLE"}, + "GANONS_CASTLE_LIGHT_TRIAL_INVISIBLE_ENEMIES_CHEST": { "type": "Chest", "scene": "0x0D", "flag": "0x10", "name": "Ganon's Castle Light Trial Invisible Enemies Chest", "HintKey": "GANONS_CASTLE_LIGHT_TRIAL_INVISIBLE_ENEMIES_CHEST", "vanillaItem": "GANONS_CASTLE_SMALL_KEY", "categories": ["cGanonsCastle", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_GANONS_CASTLE"}, + "GANONS_CASTLE_LIGHT_TRIAL_LULLABY_CHEST": { "type": "Chest", "scene": "0x0D", "flag": "0x11", "name": "Ganon's Castle Light Trial Lullaby Chest", "HintKey": "GANONS_CASTLE_LIGHT_TRIAL_LULLABY_CHEST", "vanillaItem": "GANONS_CASTLE_SMALL_KEY", "categories": ["cGanonsCastle", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_GANONS_CASTLE"}, + "GANONS_CASTLE_DEKU_SCRUB_CENTER_LEFT": { "type": "Base", "scene": "0x0D", "flag": "0x37", "name": "Ganon's Castle Deku Scrub Center-Left", "HintKey": "GANONS_CASTLE_DEKU_SCRUB_CENTER_LEFT", "vanillaItem": "BOMBS_5", "categories": ["cGanonsCastle", "cDekuScrub"], "SpoilerCollectionCheck": "Scrub(0x0D, 0x06)", "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_GANONS_CASTLE"}, + "GANONS_CASTLE_DEKU_SCRUB_CENTER_RIGHT": { "type": "Base", "scene": "0x0D", "flag": "0x33", "name": "Ganon's Castle Deku Scrub Center-Right", "HintKey": "GANONS_CASTLE_DEKU_SCRUB_CENTER_RIGHT", "vanillaItem": "ARROWS_30", "categories": ["cGanonsCastle", "cDekuScrub"], "SpoilerCollectionCheck": "Scrub(0x0D, 0x04)", "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_GANONS_CASTLE"}, + "GANONS_CASTLE_DEKU_SCRUB_RIGHT": { "type": "Base", "scene": "0x0D", "flag": "0x39", "name": "Ganon's Castle Deku Scrub Right", "HintKey": "GANONS_CASTLE_DEKU_SCRUB_RIGHT", "vanillaItem": "RED_POTION_REFILL", "categories": ["cGanonsCastle", "cDekuScrub"], "SpoilerCollectionCheck": "Scrub(0x0D, 0x08)", "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_GANONS_CASTLE"}, + "GANONS_CASTLE_DEKU_SCRUB_LEFT": { "type": "Base", "scene": "0x0D", "flag": "0x3A", "name": "Ganon's Castle Deku Scrub Left", "HintKey": "GANONS_CASTLE_DEKU_SCRUB_LEFT", "vanillaItem": "GREEN_POTION_REFILL", "categories": ["cGanonsCastle", "cDekuScrub"], "SpoilerCollectionCheck": "Scrub(0x0D, 0x09)", "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_GANONS_CASTLE"}, + // Ganons Castle MQ + "GANONS_CASTLE_MQ_WATER_TRIAL_CHEST": { "type": "Chest", "scene": "0x0D", "flag": "0x01", "name": "Ganon's Castle MQ Water Trial Chest", "HintKey": "GANONS_CASTLE_MQ_WATER_TRIAL_CHEST", "vanillaItem": "RED_RUPEE", "categories": ["cGanonsCastle"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_GANONS_CASTLE"}, + "GANONS_CASTLE_MQ_FOREST_TRIAL_EYE_SWITCH_CHEST": { "type": "Chest", "scene": "0x0D", "flag": "0x02", "name": "Ganon's Castle MQ Forest Trial Eye Switch Chest", "HintKey": "GANONS_CASTLE_MQ_FOREST_TRIAL_EYE_SWITCH_CHEST", "vanillaItem": "ARROWS_10", "categories": ["cGanonsCastle"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_GANONS_CASTLE"}, + "GANONS_CASTLE_MQ_FOREST_TRIAL_FROZEN_EYE_SWITCH_CHEST": { "type": "Chest", "scene": "0x0D", "flag": "0x03", "name": "Ganon's Castle MQ Forest Trial Frozen Eye Switch Chest","HintKey": "GANONS_CASTLE_MQ_FOREST_TRIAL_FROZEN_EYE_SWITCH_CHEST", "vanillaItem": "BOMBS_5", "categories": ["cGanonsCastle"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_GANONS_CASTLE"}, + "GANONS_CASTLE_MQ_LIGHT_TRIAL_LULLABY_CHEST": { "type": "Chest", "scene": "0x0D", "flag": "0x04", "name": "Ganon's Castle MQ Light Trial Lullaby Chest", "HintKey": "GANONS_CASTLE_MQ_LIGHT_TRIAL_LULLABY_CHEST", "vanillaItem": "RECOVERY_HEART", "categories": ["cGanonsCastle"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_GANONS_CASTLE"}, + "GANONS_CASTLE_MQ_SHADOW_TRIAL_BOMB_FLOWER_CHEST": { "type": "Chest", "scene": "0x0D", "flag": "0x00", "name": "Ganon's Castle MQ Shadow Trial Bomb Flower Chest", "HintKey": "GANONS_CASTLE_MQ_SHADOW_TRIAL_BOMB_FLOWER_CHEST", "vanillaItem": "ARROWS_10", "categories": ["cGanonsCastle"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_GANONS_CASTLE"}, + "GANONS_CASTLE_MQ_SHADOW_TRIAL_EYE_SWITCH_CHEST": { "type": "Chest", "scene": "0x0D", "flag": "0x05", "name": "Ganon's Castle MQ Shadow Trial Eye Switch Chest", "HintKey": "GANONS_CASTLE_MQ_SHADOW_TRIAL_EYE_SWITCH_CHEST", "vanillaItem": "GANONS_CASTLE_SMALL_KEY", "categories": ["cGanonsCastle", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_GANONS_CASTLE"}, + "GANONS_CASTLE_MQ_SPIRIT_TRIAL_GOLDEN_GAUNTLETS_CHEST": { "type": "Chest", "scene": "0x0D", "flag": "0x06", "name": "Ganon's Castle MQ Spirit Trial Golden Gauntlets Chest", "HintKey": "GANONS_CASTLE_MQ_SPIRIT_TRIAL_GOLDEN_GAUNTLETS_CHEST", "vanillaItem": "PROGRESSIVE_STRENGTH", "categories": ["cGanonsCastle"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_GANONS_CASTLE"}, + "GANONS_CASTLE_MQ_SPIRIT_TRIAL_SUN_BACK_RIGHT_CHEST": { "type": "Chest", "scene": "0x0D", "flag": "0x07", "name": "Ganon's Castle MQ Spirit Trial Sun Back Right Chest", "HintKey": "GANONS_CASTLE_MQ_SPIRIT_TRIAL_SUN_BACK_RIGHT_CHEST", "vanillaItem": "RECOVERY_HEART", "categories": ["cGanonsCastle"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_GANONS_CASTLE"}, + "GANONS_CASTLE_MQ_SPIRIT_TRIAL_SUN_BACK_LEFT_CHEST": { "type": "Chest", "scene": "0x0D", "flag": "0x08", "name": "Ganon's Castle MQ Spirit Trial Sun Back Left Chest", "HintKey": "GANONS_CASTLE_MQ_SPIRIT_TRIAL_SUN_BACK_LEFT_CHEST", "vanillaItem": "GANONS_CASTLE_SMALL_KEY", "categories": ["cGanonsCastle", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_GANONS_CASTLE"}, + "GANONS_CASTLE_MQ_SPIRIT_TRIAL_SUN_FRONT_LEFT_CHEST": { "type": "Chest", "scene": "0x0D", "flag": "0x09", "name": "Ganon's Castle MQ Spirit Trial Sun Front Left Chest", "HintKey": "GANONS_CASTLE_MQ_SPIRIT_TRIAL_SUN_FRONT_LEFT_CHEST", "vanillaItem": "RECOVERY_HEART", "categories": ["cGanonsCastle"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_GANONS_CASTLE"}, + "GANONS_CASTLE_MQ_SPIRIT_TRIAL_FIRST_CHEST": { "type": "Chest", "scene": "0x0D", "flag": "0x0A", "name": "Ganon's Castle MQ Spirit Trial First Chest", "HintKey": "GANONS_CASTLE_MQ_SPIRIT_TRIAL_FIRST_CHEST", "vanillaItem": "BOMBCHU_10", "categories": ["cGanonsCastle"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_GANONS_CASTLE"}, + "GANONS_CASTLE_MQ_SPIRIT_TRIAL_INVISIBLE_CHEST": { "type": "Chest", "scene": "0x0D", "flag": "0x14", "name": "Ganon's Castle MQ Spirit Trial Invisible Chest", "HintKey": "GANONS_CASTLE_MQ_SPIRIT_TRIAL_INVISIBLE_CHEST", "vanillaItem": "ARROWS_10", "categories": ["cGanonsCastle"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_GANONS_CASTLE"}, + "GANONS_CASTLE_MQ_FOREST_TRIAL_FREESTANDING_KEY": { "type": "Collectable", "scene": "0x0D", "flag": "0x01", "name": "Ganon's Castle MQ Forest Trial Freestanding Key", "HintKey": "GANONS_CASTLE_MQ_FOREST_TRIAL_FREESTANDING_KEY", "vanillaItem": "GANONS_CASTLE_SMALL_KEY", "categories": ["cGanonsCastle", "cVanillaSmallKey"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_GANONS_CASTLE"}, + "GANONS_CASTLE_MQ_DEKU_SCRUB_RIGHT": { "type": "Base", "scene": "0x0D", "flag": "0x30", "name": "Ganon's Castle MQ Deku Scrub Right", "HintKey": "GANONS_CASTLE_MQ_DEKU_SCRUB_RIGHT", "vanillaItem": "DEKU_NUTS_5", "categories": ["cGanonsCastle", "cDekuScrub"], "SpoilerCollectionCheck": "Scrub(0x0D, 0x01)", "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_GANONS_CASTLE"}, + "GANONS_CASTLE_MQ_DEKU_SCRUB_CENTER_LEFT": { "type": "Base", "scene": "0x0D", "flag": "0x37", "name": "Ganon's Castle MQ Deku Scrub Center-Left", "HintKey": "GANONS_CASTLE_MQ_DEKU_SCRUB_CENTER_LEFT", "vanillaItem": "BOMBS_5", "categories": ["cGanonsCastle", "cDekuScrub"], "SpoilerCollectionCheck": "Scrub(0x0D, 0x06)", "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_GANONS_CASTLE"}, + "GANONS_CASTLE_MQ_DEKU_SCRUB_CENTER": { "type": "Base", "scene": "0x0D", "flag": "0x33", "name": "Ganon's Castle MQ Deku Scrub Center", "HintKey": "GANONS_CASTLE_MQ_DEKU_SCRUB_CENTER", "vanillaItem": "ARROWS_30", "categories": ["cGanonsCastle", "cDekuScrub"], "SpoilerCollectionCheck": "Scrub(0x0D, 0x04)", "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_GANONS_CASTLE"}, + "GANONS_CASTLE_MQ_DEKU_SCRUB_CENTER_RIGHT": { "type": "Base", "scene": "0x0D", "flag": "0x39", "name": "Ganon's Castle MQ Deku Scrub Center-Right", "HintKey": "GANONS_CASTLE_MQ_DEKU_SCRUB_CENTER_RIGHT", "vanillaItem": "RED_POTION_REFILL", "categories": ["cGanonsCastle", "cDekuScrub"], "SpoilerCollectionCheck": "Scrub(0x0D, 0x08)", "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_GANONS_CASTLE"}, + "GANONS_CASTLE_MQ_DEKU_SCRUB_LEFT": { "type": "Base", "scene": "0x0D", "flag": "0x3A", "name": "Ganon's Castle MQ Deku Scrub Left", "HintKey": "GANONS_CASTLE_MQ_DEKU_SCRUB_LEFT", "vanillaItem": "GREEN_POTION_REFILL", "categories": ["cGanonsCastle", "cDekuScrub"], "SpoilerCollectionCheck": "Scrub(0x0D, 0x09)", "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_GANONS_CASTLE"}, + + /*------------------------------- + --- GOLD SKULLTULA TOKENS --- + -------------------------------*/ + + // Dungeons + "DEKU_TREE_GS_BASEMENT_BACK_ROOM": { "type": "GSToken", "scene": "0x00", "flag": "0x01", "name": "Deku Tree GS Basement Back Room", "HintKey": "DEKU_TREE_GS_BASEMENT_BACK_ROOM", "categories": ["cDekuTree", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_DEKU_TREE"}, + "DEKU_TREE_GS_BASEMENT_GATE": { "type": "GSToken", "scene": "0x00", "flag": "0x02", "name": "Deku Tree GS Basement Gate", "HintKey": "DEKU_TREE_GS_BASEMENT_GATE", "categories": ["cDekuTree", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_DEKU_TREE"}, + "DEKU_TREE_GS_BASEMENT_VINES": { "type": "GSToken", "scene": "0x00", "flag": "0x04", "name": "Deku Tree GS Basement Vines", "HintKey": "DEKU_TREE_GS_BASEMENT_VINES", "categories": ["cDekuTree", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_DEKU_TREE"}, + "DEKU_TREE_GS_COMPASS_ROOM": { "type": "GSToken", "scene": "0x00", "flag": "0x08", "name": "Deku Tree GS Compass Room", "HintKey": "DEKU_TREE_GS_COMPASS_ROOM", "categories": ["cDekuTree", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_DEKU_TREE"}, + + "DEKU_TREE_MQ_GS_LOBBY": { "type": "GSToken", "scene": "0x00", "flag": "0x02", "name": "Deku Tree MQ GS Lobby", "HintKey": "DEKU_TREE_MQ_GS_LOBBY", "categories": ["cDekuTree", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_DEKU_TREE"}, + "DEKU_TREE_MQ_GS_COMPASS_ROOM": { "type": "GSToken", "scene": "0x00", "flag": "0x08", "name": "Deku Tree MQ GS Compass Room", "HintKey": "DEKU_TREE_MQ_GS_COMPASS_ROOM", "categories": ["cDekuTree", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_DEKU_TREE"}, + "DEKU_TREE_MQ_GS_BASEMENT_GRAVES_ROOM": { "type": "GSToken", "scene": "0x00", "flag": "0x04", "name": "Deku Tree MQ GS Basement Graves Room", "HintKey": "DEKU_TREE_MQ_GS_BASEMENT_GRAVES_ROOM", "categories": ["cDekuTree", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_DEKU_TREE"}, + "DEKU_TREE_MQ_GS_BASEMENT_BACK_ROOM": { "type": "GSToken", "scene": "0x00", "flag": "0x01", "name": "Deku Tree MQ GS Basement Back Room", "HintKey": "DEKU_TREE_MQ_GS_BASEMENT_BACK_ROOM", "categories": ["cDekuTree", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_DEKU_TREE"}, + + "DODONGOS_CAVERN_GS_VINES_ABOVE_STAIRS": { "type": "GSToken", "scene": "0x01", "flag": "0x01", "name": "Dodongos Cavern GS Vines Above Stairs", "HintKey": "DODONGOS_CAVERN_GS_VINES_ABOVE_STAIRS", "categories": ["cDodongosCavern", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_DODONGOS_CAVERN"}, + "DODONGOS_CAVERN_GS_SCARECROW": { "type": "GSToken", "scene": "0x01", "flag": "0x02", "name": "Dodongos Cavern GS Scarecrow", "HintKey": "DODONGOS_CAVERN_GS_SCARECROW", "categories": ["cDodongosCavern", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_DODONGOS_CAVERN"}, + "DODONGOS_CAVERN_GS_ALCOVE_ABOVE_STAIRS": { "type": "GSToken", "scene": "0x01", "flag": "0x04", "name": "Dodongos Cavern GS Alcove Above Stairs", "HintKey": "DODONGOS_CAVERN_GS_ALCOVE_ABOVE_STAIRS", "categories": ["cDodongosCavern", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_DODONGOS_CAVERN"}, + "DODONGOS_CAVERN_GS_BACK_ROOM": { "type": "GSToken", "scene": "0x01", "flag": "0x08", "name": "Dodongos Cavern GS Back Room", "HintKey": "DODONGOS_CAVERN_GS_BACK_ROOM", "categories": ["cDodongosCavern", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_DODONGOS_CAVERN"}, + "DODONGOS_CAVERN_GS_SIDE_ROOM_NEAR_LOWER_LIZALFOS": { "type": "GSToken", "scene": "0x01", "flag": "0x10", "name": "Dodongos Cavern GS Side Room Near Lower Lizalfos", "HintKey": "DODONGOS_CAVERN_GS_SIDE_ROOM_NEAR_LOWER_LIZALFOS", "categories": ["cDodongosCavern", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_DODONGOS_CAVERN"}, + + "DODONGOS_CAVERN_MQ_GS_SCRUB_ROOM": { "type": "GSToken", "scene": "0x01", "flag": "0x02", "name": "Dodongos Cavern MQ GS Scrub Room", "HintKey": "DODONGOS_CAVERN_MQ_GS_SCRUB_ROOM", "categories": ["cDodongosCavern", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_DODONGOS_CAVERN"}, + "DODONGOS_CAVERN_MQ_GS_SONG_OF_TIME_BLOCK_ROOM": { "type": "GSToken", "scene": "0x01", "flag": "0x08", "name": "Dodongos Cavern MQ GS Song of Time Block Room", "HintKey": "DODONGOS_CAVERN_MQ_GS_SONG_OF_TIME_BLOCK_ROOM", "categories": ["cDodongosCavern", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_DODONGOS_CAVERN"}, + "DODONGOS_CAVERN_MQ_GS_LIZALFOS_ROOM": { "type": "GSToken", "scene": "0x01", "flag": "0x04", "name": "Dodongos Cavern MQ GS Lizalfos Room", "HintKey": "DODONGOS_CAVERN_MQ_GS_LIZALFOS_ROOM", "categories": ["cDodongosCavern", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_DODONGOS_CAVERN"}, + "DODONGOS_CAVERN_MQ_GS_LARVAE_ROOM": { "type": "GSToken", "scene": "0x01", "flag": "0x10", "name": "Dodongos Cavern MQ GS Larvae Room", "HintKey": "DODONGOS_CAVERN_MQ_GS_LARVAE_ROOM", "categories": ["cDodongosCavern", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_DODONGOS_CAVERN"}, + "DODONGOS_CAVERN_MQ_GS_BACK_AREA": { "type": "GSToken", "scene": "0x01", "flag": "0x01", "name": "Dodongos Cavern MQ GS Back Room", "HintKey": "DODONGOS_CAVERN_MQ_GS_BACK_AREA", "categories": ["cDodongosCavern", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_DODONGOS_CAVERN"}, + + "JABU_JABUS_BELLY_GS_LOBBY_BASEMENT_LOWER": { "type": "GSToken", "scene": "0x02", "flag": "0x01", "name": "Jabu Jabus Belly GS Lobby Basement Lower", "HintKey": "JABU_JABUS_BELLY_GS_LOBBY_BASEMENT_LOWER", "categories": ["cJabuJabusBelly", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_JABUJABUS_BELLY"}, + "JABU_JABUS_BELLY_GS_LOBBY_BASEMENT_UPPER": { "type": "GSToken", "scene": "0x02", "flag": "0x02", "name": "Jabu Jabus Belly GS Lobby Basement Upper", "HintKey": "JABU_JABUS_BELLY_GS_LOBBY_BASEMENT_UPPER", "categories": ["cJabuJabusBelly", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_JABUJABUS_BELLY"}, + "JABU_JABUS_BELLY_GS_NEAR_BOSS": { "type": "GSToken", "scene": "0x02", "flag": "0x04", "name": "Jabu Jabus Belly GS Near Boss", "HintKey": "JABU_JABUS_BELLY_GS_NEAR_BOSS", "categories": ["cJabuJabusBelly", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_JABUJABUS_BELLY"}, + "JABU_JABUS_BELLY_GS_WATER_SWITCH_ROOM": { "type": "GSToken", "scene": "0x02", "flag": "0x08", "name": "Jabu Jabus Belly GS Water Switch Room", "HintKey": "JABU_JABUS_BELLY_GS_WATER_SWITCH_ROOM", "categories": ["cJabuJabusBelly", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_JABUJABUS_BELLY"}, + + "JABU_JABUS_BELLY_MQ_GS_TAILPASARAN_ROOM": { "type": "GSToken", "scene": "0x02", "flag": "0x04", "name": "Jabu Jabus Belly MQ GS Tail Parasan Room", "HintKey": "JABU_JABUS_BELLY_MQ_GS_TAILPASARAN_ROOM", "categories": ["cJabuJabusBelly", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_JABUJABUS_BELLY"}, + "JABU_JABUS_BELLY_MQ_GS_INVISIBLE_ENEMIES_ROOM": { "type": "GSToken", "scene": "0x02", "flag": "0x08", "name": "Jabu Jabus Belly MQ GS Invisible Enemies Room", "HintKey": "JABU_JABUS_BELLY_MQ_GS_INVISIBLE_ENEMIES_ROOM", "categories": ["cJabuJabusBelly", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_JABUJABUS_BELLY"}, + "JABU_JABUS_BELLY_MQ_GS_BOOMERANG_CHEST_ROOM": { "type": "GSToken", "scene": "0x02", "flag": "0x01", "name": "Jabu Jabus Belly MQ GS Boomerang Chest Room", "HintKey": "JABU_JABUS_BELLY_MQ_GS_BOOMERANG_CHEST_ROOM", "categories": ["cJabuJabusBelly", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_JABUJABUS_BELLY"}, + "JABU_JABUS_BELLY_MQ_GS_NEAR_BOSS": { "type": "GSToken", "scene": "0x02", "flag": "0x02", "name": "Jabu Jabus Belly MQ GS Near Boss", "HintKey": "JABU_JABUS_BELLY_MQ_GS_NEAR_BOSS", "categories": ["cJabuJabusBelly", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_JABUJABUS_BELLY"}, + + "FOREST_TEMPLE_GS_RAISED_ISLAND_COURTYARD": { "type": "GSToken", "scene": "0x03", "flag": "0x01", "name": "Forest Temple GS Raised Island Courtyard", "HintKey": "FOREST_TEMPLE_GS_RAISED_ISLAND_COURTYARD", "categories": ["cForestTemple", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FOREST_TEMPLE"}, + "FOREST_TEMPLE_GS_FIRST_ROOM": { "type": "GSToken", "scene": "0x03", "flag": "0x02", "name": "Forest Temple GS First Room", "HintKey": "FOREST_TEMPLE_GS_FIRST_ROOM", "categories": ["cForestTemple", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FOREST_TEMPLE"}, + "FOREST_TEMPLE_GS_LEVEL_ISLAND_COURTYARD": { "type": "GSToken", "scene": "0x03", "flag": "0x04", "name": "Forest Temple GS Level Island Courtyard", "HintKey": "FOREST_TEMPLE_GS_LEVEL_ISLAND_COURTYARD", "categories": ["cForestTemple", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FOREST_TEMPLE"}, + "FOREST_TEMPLE_GS_LOBBY": { "type": "GSToken", "scene": "0x03", "flag": "0x08", "name": "Forest Temple GS Lobby", "HintKey": "FOREST_TEMPLE_GS_LOBBY", "categories": ["cForestTemple", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FOREST_TEMPLE"}, + "FOREST_TEMPLE_GS_BASEMENT": { "type": "GSToken", "scene": "0x03", "flag": "0x10", "name": "Forest Temple GS Basement", "HintKey": "FOREST_TEMPLE_GS_BASEMENT", "categories": ["cForestTemple", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FOREST_TEMPLE"}, + + "FOREST_TEMPLE_MQ_GS_FIRST_HALLWAY": { "type": "GSToken", "scene": "0x03", "flag": "0x02", "name": "Forest Temple MQ GS First Hallway", "HintKey": "FOREST_TEMPLE_MQ_GS_FIRST_HALLWAY", "categories": ["cForestTemple", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FOREST_TEMPLE"}, + "FOREST_TEMPLE_MQ_GS_BLOCK_PUSH_ROOM": { "type": "GSToken", "scene": "0x03", "flag": "0x10", "name": "Forest Temple MQ GS Block Push Room", "HintKey": "FOREST_TEMPLE_MQ_GS_BLOCK_PUSH_ROOM", "categories": ["cForestTemple", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FOREST_TEMPLE"}, + "FOREST_TEMPLE_MQ_GS_RAISED_ISLAND_COURTYARD": { "type": "GSToken", "scene": "0x03", "flag": "0x01", "name": "Forest Temple MQ GS Raised Island Courtyard", "HintKey": "FOREST_TEMPLE_MQ_GS_RAISED_ISLAND_COURTYARD", "categories": ["cForestTemple", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FOREST_TEMPLE"}, + "FOREST_TEMPLE_MQ_GS_LEVEL_ISLAND_COURTYARD": { "type": "GSToken", "scene": "0x03", "flag": "0x04", "name": "Forest Temple MQ GS Level Island Courtyard", "HintKey": "FOREST_TEMPLE_MQ_GS_LEVEL_ISLAND_COURTYARD", "categories": ["cForestTemple", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FOREST_TEMPLE"}, + "FOREST_TEMPLE_MQ_GS_WELL": { "type": "GSToken", "scene": "0x03", "flag": "0x08", "name": "Forest Temple MQ GS Well", "HintKey": "FOREST_TEMPLE_MQ_GS_WELL", "categories": ["cForestTemple", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FOREST_TEMPLE"}, + + "FIRE_TEMPLE_GS_SONG_OF_TIME_ROOM": { "type": "GSToken", "scene": "0x04", "flag": "0x01", "name": "Fire Temple GS Song of Time Room", "HintKey": "FIRE_TEMPLE_GS_SONG_OF_TIME_ROOM", "categories": ["cFireTemple", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FIRE_TEMPLE"}, + "FIRE_TEMPLE_GS_BOSS_KEY_LOOP": { "type": "GSToken", "scene": "0x04", "flag": "0x02", "name": "Fire Temple GS Boss Key Loop", "HintKey": "FIRE_TEMPLE_GS_BOSS_KEY_LOOP", "categories": ["cFireTemple", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FIRE_TEMPLE"}, + "FIRE_TEMPLE_GS_BOULDER_MAZE": { "type": "GSToken", "scene": "0x04", "flag": "0x04", "name": "Fire Temple GS Boulder Maze", "HintKey": "FIRE_TEMPLE_GS_BOULDER_MAZE", "categories": ["cFireTemple", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FIRE_TEMPLE"}, + "FIRE_TEMPLE_GS_SCARECROW_TOP": { "type": "GSToken", "scene": "0x04", "flag": "0x08", "name": "Fire Temple GS Scarecrow Top", "HintKey": "FIRE_TEMPLE_GS_SCARECROW_TOP", "categories": ["cFireTemple", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FIRE_TEMPLE"}, + "FIRE_TEMPLE_GS_SCARECROW_CLIMB": { "type": "GSToken", "scene": "0x04", "flag": "0x10", "name": "Fire Temple GS Scarecrow Climb", "HintKey": "FIRE_TEMPLE_GS_SCARECROW_CLIMB", "categories": ["cFireTemple", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FIRE_TEMPLE"}, + + "FIRE_TEMPLE_MQ_GS_ABOVE_FIRE_WALL_MAZE": { "type": "GSToken", "scene": "0x04", "flag": "0x02", "name": "Fire Temple MQ GS Above Fire Wall Maze", "HintKey": "FIRE_TEMPLE_MQ_GS_ABOVE_FIRE_WALL_MAZE", "categories": ["cFireTemple", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FIRE_TEMPLE"}, + "FIRE_TEMPLE_MQ_GS_FIRE_WALL_MAZE_CENTER": { "type": "GSToken", "scene": "0x04", "flag": "0x08", "name": "Fire Temple MQ GS Fire Wall Maze Center", "HintKey": "FIRE_TEMPLE_MQ_GS_FIRE_WALL_MAZE_CENTER", "categories": ["cFireTemple", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FIRE_TEMPLE"}, + "FIRE_TEMPLE_MQ_GS_BIG_LAVA_ROOM_OPEN_DOOR": { "type": "GSToken", "scene": "0x04", "flag": "0x01", "name": "Fire Temple MQ GS Big Lava Room Open Door", "HintKey": "FIRE_TEMPLE_MQ_GS_BIG_LAVA_ROOM_OPEN_DOOR", "categories": ["cFireTemple", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FIRE_TEMPLE"}, + "FIRE_TEMPLE_MQ_GS_FIRE_WALL_MAZE_SIDE_ROOM": { "type": "GSToken", "scene": "0x04", "flag": "0x10", "name": "Fire Temple MQ GS Fire Wall Maze Side Room", "HintKey": "FIRE_TEMPLE_MQ_GS_FIRE_WALL_MAZE_SIDE_ROOM", "categories": ["cFireTemple", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FIRE_TEMPLE"}, + "FIRE_TEMPLE_MQ_GS_SKULL_ON_FIRE": { "type": "GSToken", "scene": "0x04", "flag": "0x04", "name": "Fire Temple MQ GS Skull on Fire", "HintKey": "FIRE_TEMPLE_MQ_GS_SKULL_ON_FIRE", "categories": ["cFireTemple", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FIRE_TEMPLE"}, + + "WATER_TEMPLE_GS_BEHIND_GATE": { "type": "GSToken", "scene": "0x05", "flag": "0x01", "name": "Water Temple GS Behind Gate", "HintKey": "WATER_TEMPLE_GS_BEHIND_GATE", "categories": ["cWaterTemple", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_WATER_TEMPLE"}, + "WATER_TEMPLE_GS_FALLING_PLATFORM_ROOM": { "type": "GSToken", "scene": "0x05", "flag": "0x02", "name": "Water Temple GS Falling Platform Room", "HintKey": "WATER_TEMPLE_GS_FALLING_PLATFORM_ROOM", "categories": ["cWaterTemple", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_WATER_TEMPLE"}, + "WATER_TEMPLE_GS_CENTRAL_PILLAR": { "type": "GSToken", "scene": "0x05", "flag": "0x04", "name": "Water Temple GS Central Pillar", "HintKey": "WATER_TEMPLE_GS_CENTRAL_PILLAR", "categories": ["cWaterTemple", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_WATER_TEMPLE"}, + "WATER_TEMPLE_GS_NEAR_BOSS_KEY_CHEST": { "type": "GSToken", "scene": "0x05", "flag": "0x08", "name": "Water Temple GS Near Boss Key Chest", "HintKey": "WATER_TEMPLE_GS_NEAR_BOSS_KEY_CHEST", "categories": ["cWaterTemple", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_WATER_TEMPLE"}, + "WATER_TEMPLE_GS_RIVER": { "type": "GSToken", "scene": "0x05", "flag": "0x10", "name": "Water Temple GS River", "HintKey": "WATER_TEMPLE_GS_RIVER", "categories": ["cWaterTemple", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_WATER_TEMPLE"}, + + "WATER_TEMPLE_MQ_GS_BEFORE_UPPER_WATER_SWITCH": { "type": "GSToken", "scene": "0x05", "flag": "0x04", "name": "Water Temple MQ GS Before Upper Water Switch", "HintKey": "WATER_TEMPLE_MQ_GS_BEFORE_UPPER_WATER_SWITCH", "categories": ["cWaterTemple", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_WATER_TEMPLE"}, + "WATER_TEMPLE_MQ_GS_FREESTANDING_KEY_AREA": { "type": "GSToken", "scene": "0x05", "flag": "0x08", "name": "Water Temple MQ GS Freestanding Key Area", "HintKey": "WATER_TEMPLE_MQ_GS_FREESTANDING_KEY_AREA", "categories": ["cWaterTemple", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_WATER_TEMPLE"}, + "WATER_TEMPLE_MQ_GS_LIZALFOS_HALLWAY": { "type": "GSToken", "scene": "0x05", "flag": "0x01", "name": "Water Temple MQ GS Lizalfos Hallway", "HintKey": "WATER_TEMPLE_MQ_GS_LIZALFOS_HALLWAY", "categories": ["cWaterTemple", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_WATER_TEMPLE"}, + "WATER_TEMPLE_MQ_GS_RIVER": { "type": "GSToken", "scene": "0x05", "flag": "0x02", "name": "Water Temple MQ GS River", "HintKey": "WATER_TEMPLE_MQ_GS_RIVER", "categories": ["cWaterTemple", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_WATER_TEMPLE"}, + "WATER_TEMPLE_MQ_GS_TRIPLE_WALL_TORCH": { "type": "GSToken", "scene": "0x05", "flag": "0x10", "name": "Water Temple MQ GS Triple Wall Torch", "HintKey": "WATER_TEMPLE_MQ_GS_TRIPLE_WALL_TORCH", "categories": ["cWaterTemple", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_WATER_TEMPLE"}, + + "SPIRIT_TEMPLE_GS_HALL_AFTER_SUN_BLOCK_ROOM": { "type": "GSToken", "scene": "0x06", "flag": "0x01", "name": "Spirit Temple GS Hall After Sun Block Room", "HintKey": "SPIRIT_TEMPLE_GS_HALL_AFTER_SUN_BLOCK_ROOM", "categories": ["cSpiritTemple", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SPIRIT_TEMPLE"}, + "SPIRIT_TEMPLE_GS_BOULDER_ROOM": { "type": "GSToken", "scene": "0x06", "flag": "0x02", "name": "Spirit Temple GS Boulder Room", "HintKey": "SPIRIT_TEMPLE_GS_BOULDER_ROOM", "categories": ["cSpiritTemple", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SPIRIT_TEMPLE"}, + "SPIRIT_TEMPLE_GS_LOBBY": { "type": "GSToken", "scene": "0x06", "flag": "0x04", "name": "Spirit Temple GS Lobby", "HintKey": "SPIRIT_TEMPLE_GS_LOBBY", "categories": ["cSpiritTemple", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SPIRIT_TEMPLE"}, + "SPIRIT_TEMPLE_GS_SUN_ON_FLOOR_ROOM": { "type": "GSToken", "scene": "0x06", "flag": "0x08", "name": "Spirit Temple GS Sun on Floor Room", "HintKey": "SPIRIT_TEMPLE_GS_SUN_ON_FLOOR_ROOM", "categories": ["cSpiritTemple", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SPIRIT_TEMPLE"}, + "SPIRIT_TEMPLE_GS_METAL_FENCE": { "type": "GSToken", "scene": "0x06", "flag": "0x10", "name": "Spirit Temple GS Metal Fence", "HintKey": "SPIRIT_TEMPLE_GS_METAL_FENCE", "categories": ["cSpiritTemple", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SPIRIT_TEMPLE"}, + + "SPIRIT_TEMPLE_MQ_GS_SYMPHONY_ROOM": { "type": "GSToken", "scene": "0x06", "flag": "0x08", "name": "Spirit Temple MQ GS Symphony Room", "HintKey": "SPIRIT_TEMPLE_MQ_GS_SYMPHONY_ROOM", "categories": ["cSpiritTemple", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SPIRIT_TEMPLE"}, + "SPIRIT_TEMPLE_MQ_GS_LEEVER_ROOM": { "type": "GSToken", "scene": "0x06", "flag": "0x02", "name": "Spirit Temple MQ GS Leever Room", "HintKey": "SPIRIT_TEMPLE_MQ_GS_LEEVER_ROOM", "categories": ["cSpiritTemple", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SPIRIT_TEMPLE"}, + "SPIRIT_TEMPLE_MQ_GS_NINE_THRONES_ROOM_WEST": { "type": "GSToken", "scene": "0x06", "flag": "0x04", "name": "Spirit Temple MQ GS Nine Thrones Room West", "HintKey": "SPIRIT_TEMPLE_MQ_GS_NINE_THRONES_ROOM_WEST", "categories": ["cSpiritTemple", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SPIRIT_TEMPLE"}, + "SPIRIT_TEMPLE_MQ_GS_NINE_THRONES_ROOM_NORTH": { "type": "GSToken", "scene": "0x06", "flag": "0x10", "name": "Spirit Temple MQ GS Nine Thrones Room North", "HintKey": "SPIRIT_TEMPLE_MQ_GS_NINE_THRONES_ROOM_NORTH", "categories": ["cSpiritTemple", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SPIRIT_TEMPLE"}, + "SPIRIT_TEMPLE_MQ_GS_SUN_BLOCK_ROOM": { "type": "GSToken", "scene": "0x06", "flag": "0x01", "name": "Spirit Temple MQ GS Sun Block Room", "HintKey": "SPIRIT_TEMPLE_MQ_GS_SUN_BLOCK_ROOM", "categories": ["cSpiritTemple", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SPIRIT_TEMPLE"}, + + "SHADOW_TEMPLE_GS_SINGLE_GIANT_POT": { "type": "GSToken", "scene": "0x07", "flag": "0x01", "name": "Shadow Temple GS Single Giant Pot", "HintKey": "SHADOW_TEMPLE_GS_SINGLE_GIANT_POT", "categories": ["cShadowTemple", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SHADOW_TEMPLE"}, + "SHADOW_TEMPLE_GS_FALLING_SPIKES_ROOM": { "type": "GSToken", "scene": "0x07", "flag": "0x02", "name": "Shadow Temple GS Falling Spikes Room", "HintKey": "SHADOW_TEMPLE_GS_FALLING_SPIKES_ROOM", "categories": ["cShadowTemple", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SHADOW_TEMPLE"}, + "SHADOW_TEMPLE_GS_TRIPLE_GIANT_POT": { "type": "GSToken", "scene": "0x07", "flag": "0x04", "name": "Shadow Temple GS Triple Giant Pot", "HintKey": "SHADOW_TEMPLE_GS_TRIPLE_GIANT_POT", "categories": ["cShadowTemple", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SHADOW_TEMPLE"}, + "SHADOW_TEMPLE_GS_LIKE_LIKE_ROOM": { "type": "GSToken", "scene": "0x07", "flag": "0x08", "name": "Shadow Temple GS Like Like Room", "HintKey": "SHADOW_TEMPLE_GS_LIKE_LIKE_ROOM", "categories": ["cShadowTemple", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SHADOW_TEMPLE"}, + "SHADOW_TEMPLE_GS_NEAR_SHIP": { "type": "GSToken", "scene": "0x07", "flag": "0x10", "name": "Shadow Temple GS Near Ship", "HintKey": "SHADOW_TEMPLE_GS_NEAR_SHIP", "categories": ["cShadowTemple", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SHADOW_TEMPLE"}, + + "SHADOW_TEMPLE_MQ_GS_FALLING_SPIKES_ROOM": { "type": "GSToken", "scene": "0x07", "flag": "0x02", "name": "Shadow Temple MQ GS Falling Spikes Room", "HintKey": "SHADOW_TEMPLE_MQ_GS_FALLING_SPIKES_ROOM", "categories": ["cShadowTemple", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SHADOW_TEMPLE"}, + "SHADOW_TEMPLE_MQ_GS_WIND_HINT_ROOM": { "type": "GSToken", "scene": "0x07", "flag": "0x01", "name": "Shadow Temple MQ GS Wind Hint Room", "HintKey": "SHADOW_TEMPLE_MQ_GS_WIND_HINT_ROOM", "categories": ["cShadowTemple", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SHADOW_TEMPLE"}, + "SHADOW_TEMPLE_MQ_GS_AFTER_WIND": { "type": "GSToken", "scene": "0x07", "flag": "0x08", "name": "Shadow Temple MQ GS After Wind", "HintKey": "SHADOW_TEMPLE_MQ_GS_AFTER_WIND", "categories": ["cShadowTemple", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SHADOW_TEMPLE"}, + "SHADOW_TEMPLE_MQ_GS_AFTER_SHIP": { "type": "GSToken", "scene": "0x07", "flag": "0x10", "name": "Shadow Temple MQ GS After Ship", "HintKey": "SHADOW_TEMPLE_MQ_GS_AFTER_SHIP", "categories": ["cShadowTemple", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SHADOW_TEMPLE"}, + "SHADOW_TEMPLE_MQ_GS_NEAR_BOSS": { "type": "GSToken", "scene": "0x07", "flag": "0x04", "name": "Shadow Temple MQ GS Near Boss", "HintKey": "SHADOW_TEMPLE_MQ_GS_NEAR_BOSS", "categories": ["cShadowTemple", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SHADOW_TEMPLE"}, + + "BOTTOM_OF_THE_WELL_GS_LIKE_LIKE_CAGE": { "type": "GSToken", "scene": "0x08", "flag": "0x01", "name": "Bottom of the Well GS Like Like Cage", "HintKey": "BOTTOM_OF_THE_WELL_GS_LIKE_LIKE_CAGE", "categories": ["cBottomOfTheWell", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_BOTTOM_OF_THE_WELL"}, + "BOTTOM_OF_THE_WELL_GS_EAST_INNER_ROOM": { "type": "GSToken", "scene": "0x08", "flag": "0x02", "name": "Bottom of the Well GS East Inner Room", "HintKey": "BOTTOM_OF_THE_WELL_GS_EAST_INNER_ROOM", "categories": ["cBottomOfTheWell", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_BOTTOM_OF_THE_WELL"}, + "BOTTOM_OF_THE_WELL_GS_WEST_INNER_ROOM": { "type": "GSToken", "scene": "0x08", "flag": "0x04", "name": "Bottom of the Well GS West Inner Room", "HintKey": "BOTTOM_OF_THE_WELL_GS_WEST_INNER_ROOM", "categories": ["cBottomOfTheWell", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_BOTTOM_OF_THE_WELL"}, + + "BOTTOM_OF_THE_WELL_MQ_GS_BASEMENT": { "type": "GSToken", "scene": "0x08", "flag": "0x01", "name": "Bottom of the Well MQ GS Basement", "HintKey": "BOTTOM_OF_THE_WELL_MQ_GS_BASEMENT", "categories": ["cBottomOfTheWell", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_BOTTOM_OF_THE_WELL"}, + "BOTTOM_OF_THE_WELL_MQ_GS_COFFIN_ROOM": { "type": "GSToken", "scene": "0x08", "flag": "0x04", "name": "Bottom of the Well MQ GS Coffin Room", "HintKey": "BOTTOM_OF_THE_WELL_MQ_GS_COFFIN_ROOM", "categories": ["cBottomOfTheWell", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_BOTTOM_OF_THE_WELL"}, + "BOTTOM_OF_THE_WELL_MQ_GS_WEST_INNER_ROOM": { "type": "GSToken", "scene": "0x08", "flag": "0x02", "name": "Bottom of the Well MQ GS West Inner Room", "HintKey": "BOTTOM_OF_THE_WELL_MQ_GS_WEST_INNER_ROOM", "categories": ["cBottomOfTheWell", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_BOTTOM_OF_THE_WELL"}, + + "ICE_CAVERN_GS_PUSH_BLOCK_ROOM": { "type": "GSToken", "scene": "0x09", "flag": "0x01", "name": "Ice Cavern GS Push Block Room", "HintKey": "ICE_CAVERN_GS_PUSH_BLOCK_ROOM", "categories": ["cIceCavern", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_ICE_CAVERN"}, + "ICE_CAVERN_GS_SPINNING_SCYTHE_ROOM": { "type": "GSToken", "scene": "0x09", "flag": "0x02", "name": "Ice Cavern GS Spinning Scythe Room", "HintKey": "ICE_CAVERN_GS_SPINNING_SCYTHE_ROOM", "categories": ["cIceCavern", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_ICE_CAVERN"}, + "ICE_CAVERN_GS_HEART_PIECE_ROOM": { "type": "GSToken", "scene": "0x09", "flag": "0x04", "name": "Ice Cavern GS Heart Piece Room", "HintKey": "ICE_CAVERN_GS_HEART_PIECE_ROOM", "categories": ["cIceCavern", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_ICE_CAVERN"}, + + "ICE_CAVERN_MQ_GS_SCARECROW": { "type": "GSToken", "scene": "0x09", "flag": "0x01", "name": "Ice Cavern MQ GS Scarecrow", "HintKey": "ICE_CAVERN_MQ_GS_SCARECROW", "categories": ["cIceCavern", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_ICE_CAVERN"}, + "ICE_CAVERN_MQ_GS_ICE_BLOCK": { "type": "GSToken", "scene": "0x09", "flag": "0x04", "name": "Ice Cavern MQ GS Ice Block", "HintKey": "ICE_CAVERN_MQ_GS_ICE_BLOCK", "categories": ["cIceCavern", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_ICE_CAVERN"}, + "ICE_CAVERN_MQ_GS_RED_ICE": { "type": "GSToken", "scene": "0x09", "flag": "0x02", "name": "Ice Cavern MQ GS Red Ice", "HintKey": "ICE_CAVERN_MQ_GS_RED_ICE", "categories": ["cIceCavern", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_ICE_CAVERN"}, + + // Overworld + "KF_GS_BEAN_PATCH": { "type": "GSToken", "scene": "0x0C", "flag": "0x01", "name": "KF GS Bean Patch", "HintKey": "KF_GS_BEAN_PATCH", "categories": ["cKokiriForest", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_KOKIRI_FOREST"}, + "KF_GS_KNOW_IT_ALL_HOUSE": { "type": "GSToken", "scene": "0x0C", "flag": "0x02", "name": "KF GS Know It All House", "HintKey": "KF_GS_KNOW_IT_ALL_HOUSE", "categories": ["cKokiriForest", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_KOKIRI_FOREST"}, + "KF_GS_HOUSE_OF_TWINS": { "type": "GSToken", "scene": "0x0C", "flag": "0x04", "name": "KF GS House of Twins", "HintKey": "KF_GS_HOUSE_OF_TWINS", "categories": ["cKokiriForest", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_KOKIRI_FOREST"}, + + "LW_GS_BEAN_PATCH_NEAR_BRIDGE": { "type": "GSToken", "scene": "0x0D", "flag": "0x01", "name": "LW GS Bean Patch Near Bridge", "HintKey": "LW_GS_BEAN_PATCH_NEAR_BRIDGE", "categories": ["cLostWoods", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_LOST_WOODS"}, + "LW_GS_BEAN_PATCH_NEAR_THEATER": { "type": "GSToken", "scene": "0x0D", "flag": "0x02", "name": "LW GS Bean Patch Near Theater", "HintKey": "LW_GS_BEAN_PATCH_NEAR_THEATER", "categories": ["cLostWoods", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_LOST_WOODS"}, + "LW_GS_ABOVE_THEATER": { "type": "GSToken", "scene": "0x0D", "flag": "0x04", "name": "LW GS Above Theater", "HintKey": "LW_GS_ABOVE_THEATER", "categories": ["cLostWoods", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_LOST_WOODS"}, + "SFM_GS": { "type": "GSToken", "scene": "0x0D", "flag": "0x08", "name": "SFM GS", "HintKey": "SFM_GS", "categories": ["cSacredForestMeadow", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_SACRED_FOREST_MEADOW"}, + + "HF_GS_COW_GROTTO": { "type": "GSToken", "scene": "0x0A", "flag": "0x01", "name": "HF GS Cow Grotto", "HintKey": "HF_GS_COW_GROTTO", "categories": ["cHyruleField", "cSkulltula", "cGrotto"], "SpoilerCollectionCheckGroup": "GROUP_HYRULE_FIELD"}, + "HF_GS_NEAR_KAK_GROTTO": { "type": "GSToken", "scene": "0x0A", "flag": "0x02", "name": "HF GS Near Kak Grotto", "HintKey": "HF_GS_NEAR_KAK_GROTTO", "categories": ["cHyruleField", "cSkulltula", "cGrotto"], "SpoilerCollectionCheckGroup": "GROUP_HYRULE_FIELD"}, + + "LH_GS_BEAN_PATCH": { "type": "GSToken", "scene": "0x12", "flag": "0x01", "name": "LH GS Bean Patch", "HintKey": "LH_GS_BEAN_PATCH", "categories": ["cLakeHylia", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_LAKE_HYLIA"}, + "LH_GS_SMALL_ISLAND": { "type": "GSToken", "scene": "0x12", "flag": "0x02", "name": "LH GS Small Island", "HintKey": "LH_GS_SMALL_ISLAND", "categories": ["cLakeHylia", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_LAKE_HYLIA"}, + "LH_GS_LAB_WALL": { "type": "GSToken", "scene": "0x12", "flag": "0x04", "name": "LH GS Lab Wall", "HintKey": "LH_GS_LAB_WALL", "categories": ["cLakeHylia", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_LAKE_HYLIA"}, + "LH_GS_LAB_CRATE": { "type": "GSToken", "scene": "0x12", "flag": "0x08", "name": "LH GS Lab Crate", "HintKey": "LH_GS_LAB_CRATE", "categories": ["cLakeHylia", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_LAKE_HYLIA"}, + "LH_GS_TREE": { "type": "GSToken", "scene": "0x12", "flag": "0x10", "name": "LH GS Tree", "HintKey": "LH_GS_TREE", "categories": ["cLakeHylia", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_LAKE_HYLIA"}, + + "GV_GS_BEAN_PATCH": { "type": "GSToken", "scene": "0x13", "flag": "0x01", "name": "GV GS Bean Patch", "HintKey": "GV_GS_BEAN_PATCH", "categories": ["cGerudoValley", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_GERUDO_VALLEY"}, + "GV_GS_SMALL_BRIDGE": { "type": "GSToken", "scene": "0x13", "flag": "0x02", "name": "GV GS Small Bridge", "HintKey": "GV_GS_SMALL_BRIDGE", "categories": ["cGerudoValley", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_GERUDO_VALLEY"}, + "GV_GS_PILLAR": { "type": "GSToken", "scene": "0x13", "flag": "0x04", "name": "GV GS Pillar", "HintKey": "GV_GS_PILLAR", "categories": ["cGerudoValley", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_GERUDO_VALLEY"}, + "GV_GS_BEHIND_TENT": { "type": "GSToken", "scene": "0x13", "flag": "0x08", "name": "GV GS Behind Tent", "HintKey": "GV_GS_BEHIND_TENT", "categories": ["cGerudoValley", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_GERUDO_VALLEY"}, + + "GF_GS_ARCHERY_RANGE": { "type": "GSToken", "scene": "0x14", "flag": "0x01", "name": "GF GS Archery Range", "HintKey": "GF_GS_ARCHERY_RANGE", "categories": ["cGerudoFortress", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_GERUDO_VALLEY"}, + "GF_GS_TOP_FLOOR": { "type": "GSToken", "scene": "0x14", "flag": "0x02", "name": "GF GS Top Floor", "HintKey": "GF_GS_TOP_FLOOR", "categories": ["cGerudoFortress", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_GERUDO_VALLEY"}, + + "WASTELAND_GS": { "type": "GSToken", "scene": "0x15", "flag": "0x02", "name": "Wasteland GS", "HintKey": "WASTELAND_GS", "categories": ["cHauntedWasteland", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_HAUNTED_WASTELAND"}, + "COLOSSUS_GS_BEAN_PATCH": { "type": "GSToken", "scene": "0x15", "flag": "0x01", "name": "Colossus GS Bean Patch", "HintKey": "COLOSSUS_GS_BEAN_PATCH", "categories": ["cDesertColossus", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_HAUNTED_WASTELAND"}, + "COLOSSUS_GS_HILL": { "type": "GSToken", "scene": "0x15", "flag": "0x04", "name": "Colossus GS Hill", "HintKey": "COLOSSUS_GS_HILL", "categories": ["cDesertColossus", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_HAUNTED_WASTELAND"}, + "COLOSSUS_GS_TREE": { "type": "GSToken", "scene": "0x15", "flag": "0x08", "name": "Colossus GS Tree", "HintKey": "COLOSSUS_GS_TREE", "categories": ["cDesertColossus", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_HAUNTED_WASTELAND"}, + + "OGC_GS": { "type": "GSToken", "scene": "0x0E", "flag": "0x01", "name": "OGC GS", "HintKey": "OGC_GS", "categories": ["cOutsideGanonsCastle", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_GANONS_CASTLE"}, + "HC_GS_STORMS_GROTTO": { "type": "GSToken", "scene": "0x0E", "flag": "0x02", "name": "HC GS Storms Grotto", "HintKey": "HC_GS_STORMS_GROTTO", "categories": ["cHyruleCastle", "cSkulltula", "cGrotto"], "SpoilerCollectionCheckGroup": "GROUP_HYRULE_CASTLE"}, + "HC_GS_TREE": { "type": "GSToken", "scene": "0x0E", "flag": "0x04", "name": "HC GS Tree", "HintKey": "HC_GS_TREE", "categories": ["cHyruleCastle", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_HYRULE_CASTLE"}, + "MARKET_GS_GUARD_HOUSE": { "type": "GSToken", "scene": "0x0E", "flag": "0x08", "name": "Market GS Guard House", "HintKey": "MARKET_GS_GUARD_HOUSE", "categories": ["cInnerMarket", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_MARKET"}, + + "KAK_GS_HOUSE_UNDER_CONSTRUCTION": { "type": "GSToken", "scene": "0x10", "flag": "0x08", "name": "Kak GS House Under Construction", "HintKey": "KAK_GS_HOUSE_UNDER_CONSTRUCTION", "categories": ["cKakarikoVillage", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_KAKARIKO"}, + "KAK_GS_SKULLTULA_HOUSE": { "type": "GSToken", "scene": "0x10", "flag": "0x10", "name": "Kak GS Skulltula House", "HintKey": "KAK_GS_SKULLTULA_HOUSE", "categories": ["cKakarikoVillage", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_KAKARIKO"}, + "KAK_GS_GUARDS_HOUSE": { "type": "GSToken", "scene": "0x10", "flag": "0x02", "name": "Kak GS Guards House", "HintKey": "KAK_GS_GUARDS_HOUSE", "categories": ["cKakarikoVillage", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_KAKARIKO"}, + "KAK_GS_TREE": { "type": "GSToken", "scene": "0x10", "flag": "0x20", "name": "Kak GS Tree", "HintKey": "KAK_GS_TREE", "categories": ["cKakarikoVillage", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_KAKARIKO"}, + "KAK_GS_WATCHTOWER": { "type": "GSToken", "scene": "0x10", "flag": "0x04", "name": "Kak GS Watchtower", "HintKey": "KAK_GS_WATCHTOWER", "categories": ["cKakarikoVillage", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_KAKARIKO"}, + "KAK_GS_ABOVE_IMPAS_HOUSE": { "type": "GSToken", "scene": "0x10", "flag": "0x40", "name": "Kak GS Above Impas House", "HintKey": "KAK_GS_ABOVE_IMPAS_HOUSE", "categories": ["cKakarikoVillage", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_KAKARIKO"}, + + "GRAVEYARD_GS_WALL": { "type": "GSToken", "scene": "0x10", "flag": "0x80", "name": "Graveyard GS Wall", "HintKey": "GRAVEYARD_GS_WALL", "categories": ["cGraveyard", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_GRAVEYARD"}, + "GRAVEYARD_GS_BEAN_PATCH": { "type": "GSToken", "scene": "0x10", "flag": "0x01", "name": "Graveyard GS Bean Patch", "HintKey": "GRAVEYARD_GS_BEAN_PATCH", "categories": ["cGraveyard", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_GRAVEYARD"}, + + "DMC_GS_BEAN_PATCH": { "type": "GSToken", "scene": "0x0F", "flag": "0x01", "name": "DMC GS Bean Patch", "HintKey": "DMC_GS_BEAN_PATCH", "categories": ["cDeathMountainCrater", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DEATH_MOUNTAIN_CRATER"}, + "DMC_GS_CRATE": { "type": "GSToken", "scene": "0x0F", "flag": "0x80", "name": "DMC GS Crate", "HintKey": "DMC_GS_CRATE", "categories": ["cDeathMountainCrater", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DEATH_MOUNTAIN_CRATER"}, + + "DMT_GS_BEAN_PATCH": { "type": "GSToken", "scene": "0x0F", "flag": "0x02", "name": "DMT GS Bean Patch", "HintKey": "DMT_GS_BEAN_PATCH", "categories": ["cDeathMountainTrail", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DEATH_MOUNTAIN_TRAIL"}, + "DMT_GS_NEAR_KAK": { "type": "GSToken", "scene": "0x0F", "flag": "0x04", "name": "DMT GS Near Kak", "HintKey": "DMT_GS_NEAR_KAK", "categories": ["cDeathMountainTrail", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DEATH_MOUNTAIN_TRAIL"}, + "DMT_GS_ABOVE_DODONGOS_CAVERN": { "type": "GSToken", "scene": "0x0F", "flag": "0x08", "name": "DMT GS Above Dodongos Cavern", "HintKey": "DMT_GS_ABOVE_DODONGOS_CAVERN", "categories": ["cDeathMountainTrail", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DEATH_MOUNTAIN_TRAIL"}, + "DMT_GS_FALLING_ROCKS_PATH": { "type": "GSToken", "scene": "0x0F", "flag": "0x10", "name": "DMT GS Falling Rocks Path", "HintKey": "DMT_GS_FALLING_ROCKS_PATH", "categories": ["cDeathMountainTrail", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_DEATH_MOUNTAIN_TRAIL"}, + + "GC_GS_CENTER_PLATFORM": { "type": "GSToken", "scene": "0x0F", "flag": "0x20", "name": "GC GS Center Platform", "HintKey": "GC_GS_CENTER_PLATFORM", "categories": ["cGoronCity", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_GORON_CITY"}, + "GC_GS_BOULDER_MAZE": { "type": "GSToken", "scene": "0x0F", "flag": "0x40", "name": "GC GS Boulder Maze", "HintKey": "GC_GS_BOULDER_MAZE", "categories": ["cGoronCity", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_GORON_CITY"}, + + "ZR_GS_LADDER": { "type": "GSToken", "scene": "0x11", "flag": "0x01", "name": "ZR GS Ladder", "HintKey": "ZR_GS_LADDER", "categories": ["cZorasRiver", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_ZORAS_RIVER"}, + "ZR_GS_TREE": { "type": "GSToken", "scene": "0x11", "flag": "0x02", "name": "ZR GS Tree", "HintKey": "ZR_GS_TREE", "categories": ["cZorasRiver", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_ZORAS_RIVER"}, + "ZR_GS_ABOVE_BRIDGE": { "type": "GSToken", "scene": "0x11", "flag": "0x08", "name": "ZR GS Above Bridge", "HintKey": "ZR_GS_ABOVE_BRIDGE", "categories": ["cZorasRiver", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_ZORAS_RIVER"}, + "ZR_GS_NEAR_RAISED_GROTTOS": { "type": "GSToken", "scene": "0x11", "flag": "0x10", "name": "ZR GS Near Raised Grottos", "HintKey": "ZR_GS_NEAR_RAISED_GROTTOS", "categories": ["cZorasRiver", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_ZORAS_RIVER"}, + + "ZD_GS_FROZEN_WATERFALL": { "type": "GSToken", "scene": "0x11", "flag": "0x40", "name": "ZD GS Frozen Waterfall", "HintKey": "ZD_GS_FROZEN_WATERFALL", "categories": ["cZorasDomain", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_ZORAS_DOMAIN"}, + "ZF_GS_ABOVE_THE_LOG": { "type": "GSToken", "scene": "0x11", "flag": "0x04", "name": "ZF GS Above The Log", "HintKey": "ZF_GS_ABOVE_THE_LOG", "categories": ["cZorasFountain", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_ZORAS_FOUNTAIN"}, + "ZF_GS_HIDDEN_CAVE": { "type": "GSToken", "scene": "0x11", "flag": "0x20", "name": "ZF GS Hidden Cave", "HintKey": "ZF_GS_HIDDEN_CAVE", "categories": ["cZorasFountain", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_ZORAS_FOUNTAIN"}, + "ZF_GS_TREE": { "type": "GSToken", "scene": "0x11", "flag": "0x80", "name": "ZF GS Tree", "HintKey": "ZF_GS_TREE", "categories": ["cZorasFountain", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_ZORAS_FOUNTAIN"}, + + "LLR_GS_BACK_WALL": { "type": "GSToken", "scene": "0x0B", "flag": "0x01", "name": "LLR GS Back Wall", "HintKey": "LLR_GS_BACK_WALL", "categories": ["cLonLonRanch", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_LON_LON_RANCH"}, + "LLR_GS_RAIN_SHED": { "type": "GSToken", "scene": "0x0B", "flag": "0x02", "name": "LLR GS Rain Shed", "HintKey": "LLR_GS_RAIN_SHED", "categories": ["cLonLonRanch", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_LON_LON_RANCH"}, + "LLR_GS_HOUSE_WINDOW": { "type": "GSToken", "scene": "0x0B", "flag": "0x04", "name": "LLR GS House Window", "HintKey": "LLR_GS_HOUSE_WINDOW", "categories": ["cLonLonRanch", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_LON_LON_RANCH"}, + "LLR_GS_TREE": { "type": "GSToken", "scene": "0x0B", "flag": "0x08", "name": "LLR GS Tree", "HintKey": "LLR_GS_TREE", "categories": ["cLonLonRanch", "cSkulltula"], "SpoilerCollectionCheckGroup": "GROUP_LON_LON_RANCH"}, + + /*------------------------------- + --- BOSSES --- + -------------------------------*/ + + "LINKS_POCKET": { "type": "Reward", "scene": "0xFF", "flag": "0xFF", "name": "Link's Pocket", "HintKey": "LINKS_POCKET", "vanillaItem": "LIGHT_MEDALLION", "categories": ["cDungeonReward"], "SpoilerCollectionCheck": "AlwaysCollected()", "SpoilerCollectionCheckGroup": "GROUP_KOKIRI_FOREST"}, + "QUEEN_GOHMA": { "type": "Reward", "scene": "0xFF", "flag": "DUNGEON_DEKU_TREE", "name": "Queen Gohma", "HintKey": "QUEEN_GOHMA", "vanillaItem": "KOKIRI_EMERALD", "categories": ["cDungeonReward"], "SpoilerCollectionCheck": "EventChkInf(0x09)", "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_DEKU_TREE"}, + "KING_DODONGO": { "type": "Reward", "scene": "0xFF", "flag": "DUNGEON_DODONGOS_CAVERN", "name": "King Dodongo", "HintKey": "KING_DODONGO", "vanillaItem": "GORON_RUBY", "categories": ["cDungeonReward"], "SpoilerCollectionCheck": "EventChkInf(0x25)", "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_DODONGOS_CAVERN"}, + "BARINADE": { "type": "Reward", "scene": "0xFF", "flag": "DUNGEON_JABUJABUS_BELLY", "name": "Barinade", "HintKey": "BARINADE", "vanillaItem": "ZORA_SAPPHIRE", "categories": ["cDungeonReward"], "SpoilerCollectionCheck": "EventChkInf(0x37)", "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_JABUJABUS_BELLY"}, + "PHANTOM_GANON": { "type": "Reward", "scene": "0xFF", "flag": "DUNGEON_FOREST_TEMPLE", "name": "Phantom Ganon", "HintKey": "PHANTOM_GANON", "vanillaItem": "FOREST_MEDALLION", "categories": ["cDungeonReward"], "SpoilerCollectionCheck": "EventChkInf(0x48)", "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FOREST_TEMPLE"}, + "VOLVAGIA": { "type": "Reward", "scene": "0xFF", "flag": "DUNGEON_FIRE_TEMPLE", "name": "Volvagia", "HintKey": "VOLVAGIA", "vanillaItem": "FIRE_MEDALLION", "categories": ["cDungeonReward"], "SpoilerCollectionCheck": "EventChkInf(0x49)", "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FIRE_TEMPLE"}, + "MORPHA": { "type": "Reward", "scene": "0xFF", "flag": "DUNGEON_WATER_TEMPLE", "name": "Morpha", "HintKey": "MORPHA", "vanillaItem": "WATER_MEDALLION", "categories": ["cDungeonReward"], "SpoilerCollectionCheck": "EventChkInf(0x4A)", "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_WATER_TEMPLE"}, + "TWINROVA": { "type": "Reward", "scene": "0xFF", "flag": "DUNGEON_SPIRIT_TEMPLE", "name": "Twinrova", "HintKey": "TWINROVA", "vanillaItem": "SPIRIT_MEDALLION", "categories": ["cDungeonReward"], "SpoilerCollectionCheck": "EventChkInf(0x47)", "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SPIRIT_TEMPLE"}, + "BONGO_BONGO": { "type": "Reward", "scene": "0xFF", "flag": "DUNGEON_SHADOW_TEMPLE", "name": "Bongo Bongo", "HintKey": "BONGO_BONGO", "vanillaItem": "SHADOW_MEDALLION", "categories": ["cDungeonReward"], "SpoilerCollectionCheck": "EventChkInf(0x46)", "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SHADOW_TEMPLE"}, + "GANON": { "type": "Reward", "scene": "0xFF", "flag": "0xF0", "name": "Ganon", "HintKey": "NONE", "vanillaItem": "TRIFORCE", "categories": [], "SpoilerCollectionCheck": "None()", "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_GANONS_CASTLE"}, + + /*------------------------------- + ---HEART CONTAINERS --- + -------------------------------*/ + + "DEKU_TREE_QUEEN_GOHMA_HEART": { "type": "Base", "scene": "0x11", "flag": "0x4F", "name": "Deku Tree Queen Gohma Heart Container", "HintKey": "DEKU_TREE_QUEEN_GOHMA_HEART", "vanillaItem": "HEART_CONTAINER", "categories": ["cDekuTree", "cBossHeart", "cSongDungeonReward"], "SpoilerCollectionCheck": "Collectable(0x11, 0x1F)", "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_DEKU_TREE"}, + "DODONGOS_CAVERN_KING_DODONGO_HEART": { "type": "Base", "scene": "0x12", "flag": "0x4F", "name": "Dodongos Cavern King Dodongo Heart Container", "HintKey": "DODONGOS_CAVERN_KING_DODONGO_HEART", "vanillaItem": "HEART_CONTAINER", "categories": ["cDodongosCavern", "cBossHeart", "cSongDungeonReward"], "SpoilerCollectionCheck": "Collectable(0x12, 0x1F)", "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_DODONGOS_CAVERN"}, + "JABU_JABUS_BELLY_BARINADE_HEART": { "type": "Base", "scene": "0x13", "flag": "0x4F", "name": "Jabu Jabus Belly Barinade Heart Container", "HintKey": "JABU_JABUS_BELLY_BARINADE_HEART", "vanillaItem": "HEART_CONTAINER", "categories": ["cJabuJabusBelly", "cBossHeart", "cSongDungeonReward"], "SpoilerCollectionCheck": "Collectable(0x13, 0x1F)", "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_JABUJABUS_BELLY"}, + "FOREST_TEMPLE_PHANTOM_GANON_HEART": { "type": "Base", "scene": "0x14", "flag": "0x4F", "name": "Forest Temple Phantom Ganon Heart Container", "HintKey": "FOREST_TEMPLE_PHANTOM_GANON_HEART", "vanillaItem": "HEART_CONTAINER", "categories": ["cForestTemple", "cBossHeart", "cSongDungeonReward"], "SpoilerCollectionCheck": "Collectable(0x14, 0x1F)", "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FOREST_TEMPLE"}, + "FIRE_TEMPLE_VOLVAGIA_HEART": { "type": "Base", "scene": "0x15", "flag": "0x4F", "name": "Fire Temple Volvagia Heart Container", "HintKey": "FIRE_TEMPLE_VOLVAGIA_HEART", "vanillaItem": "HEART_CONTAINER", "categories": ["cFireTemple", "cBossHeart", "cSongDungeonReward"], "SpoilerCollectionCheck": "Collectable(0x15, 0x1F)", "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_FIRE_TEMPLE"}, + "WATER_TEMPLE_MORPHA_HEART": { "type": "Base", "scene": "0x16", "flag": "0x4F", "name": "Water Temple Morpha Heart Container", "HintKey": "WATER_TEMPLE_MORPHA_HEART", "vanillaItem": "HEART_CONTAINER", "categories": ["cWaterTemple", "cBossHeart", "cSongDungeonReward"], "SpoilerCollectionCheck": "Collectable(0x16, 0x1F)", "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_WATER_TEMPLE"}, + "SPIRIT_TEMPLE_TWINROVA_HEART": { "type": "Base", "scene": "0x17", "flag": "0x4F", "name": "Spirit Temple Twinrova Heart Container", "HintKey": "SPIRIT_TEMPLE_TWINROVA_HEART", "vanillaItem": "HEART_CONTAINER", "categories": ["cSpiritTemple", "cBossHeart", "cSongDungeonReward"], "SpoilerCollectionCheck": "Collectable(0x17, 0x1F)", "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SPIRIT_TEMPLE"}, + "SHADOW_TEMPLE_BONGO_BONGO_HEART": { "type": "Base", "scene": "0x18", "flag": "0x4F", "name": "Shadow Temple Bongo Bongo Heart Container", "HintKey": "SHADOW_TEMPLE_BONGO_BONGO_HEART", "vanillaItem": "HEART_CONTAINER", "categories": ["cShadowTemple", "cBossHeart", "cSongDungeonReward"], "SpoilerCollectionCheck": "Collectable(0x18, 0x1F)", "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_SHADOW_TEMPLE"}, + + /*------------------------------- + --- CUTSCENES --- + -------------------------------*/ + + "TOT_MASTER_SWORD": { "type": "Delayed", "scene": "0xFF", "flag": "0x00", "name": "ToT Master Sword", "HintKey": "TOT_MASTER_SWORD", "vanillaItem": "MASTER_SWORD", "categories": ["cTempleOfTime", "cMarket"], "SpoilerCollectionCheck": "MasterSword()", "SpoilerCollectionCheckGroup": "GROUP_MARKET"}, + "TOT_LIGHT_ARROWS_CUTSCENE": { "type": "Delayed", "scene": "0xFF", "flag": "0x01", "name": "ToT Light Arrow Cutscene", "HintKey": "TOT_LIGHT_ARROWS_CUTSCENE", "vanillaItem": "LIGHT_ARROWS", "categories": ["cTempleOfTime", "cMarket"], "SpoilerCollectionCheck": "EventChkInf(0xC4)", "SpoilerCollectionCheckGroup": "GROUP_MARKET"}, + "LW_GIFT_FROM_SARIA": { "type": "Delayed", "scene": "0xFF", "flag": "0x02", "name": "LW Gift From Saria", "HintKey": "LW_GIFT_FROM_SARIA", "vanillaItem": "PROGRESSIVE_OCARINA", "categories": ["cLostWoods", "cForest"], "SpoilerCollectionCheck": "EventChkInf(0xC1)", "SpoilerCollectionCheckGroup": "GROUP_LOST_WOODS"}, + "ZF_GREAT_FAIRY_REWARD": { "type": "Delayed", "scene": "0xFF", "flag": "0x10", "name": "ZF Great Fairy Reward", "HintKey": "ZF_GREAT_FAIRY_REWARD", "vanillaItem": "FARORES_WIND", "categories": ["cZorasFountain", "cFairies"], "SpoilerCollectionCheck": "ItemGetInf(16)", "SpoilerCollectionCheckGroup": "GROUP_ZORAS_FOUNTAIN"}, + "HC_GREAT_FAIRY_REWARD": { "type": "Delayed", "scene": "0xFF", "flag": "0x11", "name": "HC Great Fairy Reward", "HintKey": "HC_GREAT_FAIRY_REWARD", "vanillaItem": "DINS_FIRE", "categories": ["cHyruleCastle", "cMarket", "cFairies"], "SpoilerCollectionCheck": "ItemGetInf(17)", "SpoilerCollectionCheckGroup": "GROUP_HYRULE_CASTLE"}, + "COLOSSUS_GREAT_FAIRY_REWARD": { "type": "Delayed", "scene": "0xFF", "flag": "0x12", "name": "Colossus Great Fairy Reward", "HintKey": "COLOSSUS_GREAT_FAIRY_REWARD", "vanillaItem": "NAYRUS_LOVE", "categories": ["cDesertColossus", "cFairies"], "SpoilerCollectionCheck": "ItemGetInf(18)", "SpoilerCollectionCheckGroup": "GROUP_HAUNTED_WASTELAND"}, + "DMT_GREAT_FAIRY_REWARD": { "type": "Delayed", "scene": "0xFF", "flag": "0x13", "name": "DMT Great Fairy Reward", "HintKey": "DMT_GREAT_FAIRY_REWARD", "vanillaItem": "PROGRESSIVE_MAGIC_METER", "categories": ["cDeathMountainTrail", "cDeathMountain", "cFairies"], "SpoilerCollectionCheck": "Chest(0x3B, 0x00)", "SpoilerCollectionCheckGroup": "GROUP_DEATH_MOUNTAIN_TRAIL"}, + "DMC_GREAT_FAIRY_REWARD": { "type": "Delayed", "scene": "0xFF", "flag": "0x14", "name": "DMC Great Fairy Reward", "HintKey": "DMC_GREAT_FAIRY_REWARD", "vanillaItem": "PROGRESSIVE_MAGIC_METER", "categories": ["cDeathMountainCrater", "cDeathMountain", "cFairies"], "SpoilerCollectionCheck": "Chest(0x3B, 0x01)", "SpoilerCollectionCheckGroup": "GROUP_DEATH_MOUNTAIN_CRATER"}, + "OGC_GREAT_FAIRY_REWARD": { "type": "Delayed", "scene": "0xFF", "flag": "0x15", "name": "OGC Great Fairy Reward", "HintKey": "OGC_GREAT_FAIRY_REWARD", "vanillaItem": "DOUBLE_DEFENSE", "categories": ["cOutsideGanonsCastle", "cFairies"], "SpoilerCollectionCheck": "Chest(0x3B, 0x02)", "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_GANONS_CASTLE"}, + + "SHEIK_IN_FOREST": { "type": "Delayed", "scene": "0xFF", "flag": "0x20", "name": "Sheik in Forest", "HintKey": "SHEIK_IN_FOREST", "vanillaItem": "MINUET_OF_FOREST", "categories": ["cSacredForestMeadow", "cForest", "cSong"], "SpoilerCollectionCheck": "EventChkInf(0x50)", "SpoilerCollectionCheckGroup": "GROUP_SACRED_FOREST_MEADOW"}, + "SHEIK_IN_CRATER": { "type": "Delayed", "scene": "0xFF", "flag": "0x21", "name": "Sheik in Crater", "HintKey": "SHEIK_IN_CRATER", "vanillaItem": "BOLERO_OF_FIRE", "categories": ["cDeathMountainCrater", "cDeathMountain", "cSong"], "SpoilerCollectionCheck": "EventChkInf(0x51)", "SpoilerCollectionCheckGroup": "GROUP_DEATH_MOUNTAIN_CRATER"}, + "SHEIK_IN_ICE_CAVERN": { "type": "Delayed", "scene": "0xFF", "flag": "0x22", "name": "Sheik in Ice Cavern", "HintKey": "SHEIK_IN_ICE_CAVERN", "vanillaItem": "SERENADE_OF_WATER", "categories": ["cIceCavern", "cSong", "cSongDungeonReward"], "SpoilerCollectionCheck": "EventChkInf(0x52)", "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_ICE_CAVERN"}, + "SHEIK_AT_COLOSSUS": { "type": "Delayed", "scene": "0xFF", "flag": "0x23", "name": "Sheik at Colossus", "HintKey": "SHEIK_AT_COLOSSUS", "vanillaItem": "REQUIEM_OF_SPIRIT", "categories": ["cDesertColossus", "cSong"], "SpoilerCollectionCheck": "EventChkInf(0xAC)", "SpoilerCollectionCheckGroup": "GROUP_HAUNTED_WASTELAND"}, + "SHEIK_IN_KAKARIKO": { "type": "Delayed", "scene": "0xFF", "flag": "0x24", "name": "Sheik in Kakariko", "HintKey": "SHEIK_IN_KAKARIKO", "vanillaItem": "NOCTURNE_OF_SHADOW", "categories": ["cKakarikoVillage", "cKakariko", "cSong"], "SpoilerCollectionCheck": "EventChkInf(0xAA)", "SpoilerCollectionCheckGroup": "GROUP_KAKARIKO"}, + "SHEIK_AT_TEMPLE": { "type": "Delayed", "scene": "0xFF", "flag": "0x25", "name": "Sheik at Temple", "HintKey": "SHEIK_AT_TEMPLE", "vanillaItem": "PRELUDE_OF_LIGHT", "categories": ["cTempleOfTime", "cMarket", "cSong"], "SpoilerCollectionCheck": "EventChkInf(0x55)", "SpoilerCollectionCheckGroup": "GROUP_MARKET"}, + "SONG_FROM_IMPA": { "type": "Delayed", "scene": "0xFF", "flag": "0x26", "name": "Song from Impa", "HintKey": "SONG_FROM_IMPA", "vanillaItem": "ZELDAS_LULLABY", "categories": ["cHyruleCastle", "cMarket", "cSong", "cSongDungeonReward"], "SpoilerCollectionCheck": "EventChkInf(0x59)", "SpoilerCollectionCheckGroup": "GROUP_HYRULE_CASTLE"}, + "SONG_FROM_MALON": { "type": "Delayed", "scene": "0xFF", "flag": "0x27", "name": "Song from Malon", "HintKey": "SONG_FROM_MALON", "vanillaItem": "EPONAS_SONG", "categories": ["cLonLonRanch", "cSong"], "SpoilerCollectionCheck": "EventChkInf(0x58)", "SpoilerCollectionCheckGroup": "GROUP_LON_LON_RANCH"}, + "SONG_FROM_SARIA": { "type": "Delayed", "scene": "0xFF", "flag": "0x28", "name": "Song from Saria", "HintKey": "SONG_FROM_SARIA", "vanillaItem": "SARIAS_SONG", "categories": ["cSacredForestMeadow", "cForest", "cSong"], "SpoilerCollectionCheck": "EventChkInf(0x57)", "SpoilerCollectionCheckGroup": "GROUP_SACRED_FOREST_MEADOW"}, + "SONG_FROM_COMPOSERS_GRAVE": { "type": "Delayed", "scene": "0xFF", "flag": "0x29", "name": "Song from Composers Grave", "HintKey": "SONG_FROM_COMPOSERS_GRAVE", "vanillaItem": "SUNS_SONG", "categories": ["cGraveyard", "cKakariko", "cSong"], "SpoilerCollectionCheck": "EventChkInf(0x5A)", "SpoilerCollectionCheckGroup": "GROUP_GRAVEYARD"}, + "SONG_FROM_OCARINA_OF_TIME": { "type": "Delayed", "scene": "0xFF", "flag": "0x2A", "name": "Song from Ocarina of Time", "HintKey": "SONG_FROM_OCARINA_OF_TIME", "vanillaItem": "SONG_OF_TIME", "categories": ["cHyruleField", "cSong", "cNeedSpiritualStones"], "SpoilerCollectionCheck": "EventChkInf(0xA9)", "SpoilerCollectionCheckGroup": "GROUP_HYRULE_FIELD"}, + "SONG_FROM_WINDMILL": { "type": "Delayed", "scene": "0xFF", "flag": "0x2B", "name": "Song from Windmill", "HintKey": "SONG_FROM_WINDMILL", "vanillaItem": "SONG_OF_STORMS", "categories": ["cKakarikoVillage", "cKakariko", "cSong"], "SpoilerCollectionCheck": "EventChkInf(0x5B)", "SpoilerCollectionCheckGroup": "GROUP_KAKARIKO"}, + + /*------------------------------- + --- COWS --- + -------------------------------*/ + + "KF_LINKS_HOUSE_COW": { "type": "Base", "scene": "0x34", "flag": "0x15", "name": "KF Links House Cow", "HintKey": "KF_LINKS_HOUSE_COW", "vanillaItem": "MILK", "categories": ["cForest", "cCow", "cMinigame"], "SpoilerCollectionCheck": "Cow(0x34, 0x15)", "SpoilerCollectionCheckGroup": "GROUP_KOKIRI_FOREST"}, + "HF_COW_GROTTO_COW": { "type": "Base", "scene": "0x3E", "flag": "0x16", "name": "HF Cow Grotto Cow", "HintKey": "HF_COW_GROTTO_COW", "vanillaItem": "MILK", "categories": ["cHyruleField", "cCow", "cGrotto"], "SpoilerCollectionCheck": "Cow(0x3E, 0x16)", "SpoilerCollectionCheckGroup": "GROUP_HYRULE_FIELD"}, + "LLR_STABLES_LEFT_COW": { "type": "Base", "scene": "0x36", "flag": "0x16", "name": "LLR Stables Left Cow", "HintKey": "LLR_STABLES_LEFT_COW", "vanillaItem": "MILK", "categories": ["cLonLonRanch", "cCow"], "SpoilerCollectionCheck": "Cow(0x36, 0x16)", "SpoilerCollectionCheckGroup": "GROUP_LON_LON_RANCH"}, + "LLR_STABLES_RIGHT_COW": { "type": "Base", "scene": "0x36", "flag": "0x15", "name": "LLR Stables Right Cow", "HintKey": "LLR_STABLES_RIGHT_COW", "vanillaItem": "MILK", "categories": ["cLonLonRanch", "cCow"], "SpoilerCollectionCheck": "Cow(0x36, 0x15)", "SpoilerCollectionCheckGroup": "GROUP_LON_LON_RANCH"}, + "LLR_TOWER_LEFT_COW": { "type": "Base", "scene": "0x4C", "flag": "0x15", "name": "LLR Tower Left Cow", "HintKey": "LLR_TOWER_LEFT_COW", "vanillaItem": "MILK", "categories": ["cLonLonRanch", "cCow"], "SpoilerCollectionCheck": "Cow(0x4C, 0x16)", "SpoilerCollectionCheckGroup": "GROUP_LON_LON_RANCH"}, + "LLR_TOWER_RIGHT_COW": { "type": "Base", "scene": "0x4C", "flag": "0x16", "name": "LLR Tower Right Cow", "HintKey": "LLR_TOWER_RIGHT_COW", "vanillaItem": "MILK", "categories": ["cLonLonRanch", "cCow"], "SpoilerCollectionCheck": "Cow(0x4C, 0x15)", "SpoilerCollectionCheckGroup": "GROUP_LON_LON_RANCH"}, + "KAK_IMPAS_HOUSE_COW": { "type": "Base", "scene": "0x37", "flag": "0x15", "name": "Kak Impas House Cow", "HintKey": "KAK_IMPAS_HOUSE_COW", "vanillaItem": "MILK", "categories": ["cKakarikoVillage", "cKakariko", "cCow"], "SpoilerCollectionCheck": "Cow(0x37, 0x15)", "SpoilerCollectionCheckGroup": "GROUP_KAKARIKO"}, + "DMT_COW_GROTTO_COW": { "type": "Base", "scene": "0x3E", "flag": "0x15", "name": "DMT Cow Grotto Cow", "HintKey": "DMT_COW_GROTTO_COW", "vanillaItem": "MILK", "categories": ["cDeathMountainTrail", "cDeathMountain", "cCow", "cGrotto"], "SpoilerCollectionCheck": "Cow(0x3E, 0x15)", "SpoilerCollectionCheckGroup": "GROUP_DEATH_MOUNTAIN_TRAIL"}, + "GV_COW": { "type": "Base", "scene": "0x5A", "flag": "0x15", "name": "GV Cow", "HintKey": "GV_COW", "vanillaItem": "MILK", "categories": ["cGerudoValley", "cGerudo", "cCow"], "SpoilerCollectionCheck": "Cow(0x5A, 0x15)", "SpoilerCollectionCheckGroup": "GROUP_GERUDO_VALLEY"}, + "JABU_JABUS_BELLY_MQ_COW": { "type": "Base", "scene": "0x02", "flag": "0x15", "name": "Jabu Jabus Belly MQ Cow", "HintKey": "JABU_JABUS_BELLY_MQ_COW", "vanillaItem": "MILK", "categories": ["cJabuJabusBelly", "cCow"], "SpoilerCollectionCheck": "Cow(0x02, 0x15)", "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_JABUJABUS_BELLY"}, + + /*------------------------------- + --- SHOPS --- + 8 6 2 4 + + 7 5 1 3 + -------------------------------*/ + + "KF_SHOP_ITEM_1": { "type": "Base", "scene": "0x2D", "flag": "0x30", "name": "KF Shop Item 1", "HintKey": "KF_SHOP_ITEM_1", "vanillaItem": "BUY_DEKU_SHIELD", "categories": ["cKokiriForest", "cForest", "cShop"], "SpoilerCollectionCheck": "ShopItem(0x2D, 0)", "SpoilerCollectionCheckGroup": "GROUP_KOKIRI_FOREST"}, + "KF_SHOP_ITEM_2": { "type": "Base", "scene": "0x2D", "flag": "0x31", "name": "KF Shop Item 2", "HintKey": "KF_SHOP_ITEM_2", "vanillaItem": "BUY_DEKU_NUT_5", "categories": ["cKokiriForest", "cForest", "cShop"], "SpoilerCollectionCheck": "ShopItem(0x2D, 1)", "SpoilerCollectionCheckGroup": "GROUP_KOKIRI_FOREST"}, + "KF_SHOP_ITEM_3": { "type": "Base", "scene": "0x2D", "flag": "0x32", "name": "KF Shop Item 3", "HintKey": "KF_SHOP_ITEM_3", "vanillaItem": "BUY_DEKU_NUT_10", "categories": ["cKokiriForest", "cForest", "cShop"], "SpoilerCollectionCheck": "ShopItem(0x2D, 2)", "SpoilerCollectionCheckGroup": "GROUP_KOKIRI_FOREST"}, + "KF_SHOP_ITEM_4": { "type": "Base", "scene": "0x2D", "flag": "0x33", "name": "KF Shop Item 4", "HintKey": "KF_SHOP_ITEM_4", "vanillaItem": "BUY_DEKU_STICK_1", "categories": ["cKokiriForest", "cForest", "cShop"], "SpoilerCollectionCheck": "ShopItem(0x2D, 3)", "SpoilerCollectionCheckGroup": "GROUP_KOKIRI_FOREST"}, + "KF_SHOP_ITEM_5": { "type": "Base", "scene": "0x2D", "flag": "0x34", "name": "KF Shop Item 5", "HintKey": "KF_SHOP_ITEM_5", "vanillaItem": "BUY_DEKU_SEEDS_30", "categories": ["cKokiriForest", "cForest", "cShop"], "SpoilerCollectionCheck": "ShopItem(0x2D, 4)", "SpoilerCollectionCheckGroup": "GROUP_KOKIRI_FOREST"}, + "KF_SHOP_ITEM_6": { "type": "Base", "scene": "0x2D", "flag": "0x35", "name": "KF Shop Item 6", "HintKey": "KF_SHOP_ITEM_6", "vanillaItem": "BUY_ARROWS_10", "categories": ["cKokiriForest", "cForest", "cShop"], "SpoilerCollectionCheck": "ShopItem(0x2D, 5)", "SpoilerCollectionCheckGroup": "GROUP_KOKIRI_FOREST"}, + "KF_SHOP_ITEM_7": { "type": "Base", "scene": "0x2D", "flag": "0x36", "name": "KF Shop Item 7", "HintKey": "KF_SHOP_ITEM_7", "vanillaItem": "BUY_ARROWS_30", "categories": ["cKokiriForest", "cForest", "cShop"], "SpoilerCollectionCheck": "ShopItem(0x2D, 6)", "SpoilerCollectionCheckGroup": "GROUP_KOKIRI_FOREST"}, + "KF_SHOP_ITEM_8": { "type": "Base", "scene": "0x2D", "flag": "0x37", "name": "KF Shop Item 8", "HintKey": "KF_SHOP_ITEM_8", "vanillaItem": "BUY_HEART", "categories": ["cKokiriForest", "cForest", "cShop"], "SpoilerCollectionCheck": "ShopItem(0x2D, 7)", "SpoilerCollectionCheckGroup": "GROUP_KOKIRI_FOREST"}, + + "KAK_POTION_SHOP_ITEM_1": { "type": "Base", "scene": "0x30", "flag": "0x30", "name": "Kak Potion Shop Item 1", "HintKey": "KAK_POTION_SHOP_ITEM_1", "vanillaItem": "BUY_DEKU_NUT_5", "categories": ["cKakarikoVillage", "cKakariko", "cShop"], "SpoilerCollectionCheck": "ShopItem(0x30, 0)", "SpoilerCollectionCheckGroup": "GROUP_KAKARIKO"}, + "KAK_POTION_SHOP_ITEM_2": { "type": "Base", "scene": "0x30", "flag": "0x31", "name": "Kak Potion Shop Item 2", "HintKey": "KAK_POTION_SHOP_ITEM_2", "vanillaItem": "BUY_FISH", "categories": ["cKakarikoVillage", "cKakariko", "cShop"], "SpoilerCollectionCheck": "ShopItem(0x30, 1)", "SpoilerCollectionCheckGroup": "GROUP_KAKARIKO"}, + "KAK_POTION_SHOP_ITEM_3": { "type": "Base", "scene": "0x30", "flag": "0x32", "name": "Kak Potion Shop Item 3", "HintKey": "KAK_POTION_SHOP_ITEM_3", "vanillaItem": "BUY_RED_POTION_30", "categories": ["cKakarikoVillage", "cKakariko", "cShop"], "SpoilerCollectionCheck": "ShopItem(0x30, 2)", "SpoilerCollectionCheckGroup": "GROUP_KAKARIKO"}, + "KAK_POTION_SHOP_ITEM_4": { "type": "Base", "scene": "0x30", "flag": "0x33", "name": "Kak Potion Shop Item 4", "HintKey": "KAK_POTION_SHOP_ITEM_4", "vanillaItem": "BUY_GREEN_POTION", "categories": ["cKakarikoVillage", "cKakariko", "cShop"], "SpoilerCollectionCheck": "ShopItem(0x30, 3)", "SpoilerCollectionCheckGroup": "GROUP_KAKARIKO"}, + "KAK_POTION_SHOP_ITEM_5": { "type": "Base", "scene": "0x30", "flag": "0x34", "name": "Kak Potion Shop Item 5", "HintKey": "KAK_POTION_SHOP_ITEM_5", "vanillaItem": "BUY_BLUE_FIRE", "categories": ["cKakarikoVillage", "cKakariko", "cShop"], "SpoilerCollectionCheck": "ShopItem(0x30, 4)", "SpoilerCollectionCheckGroup": "GROUP_KAKARIKO"}, + "KAK_POTION_SHOP_ITEM_6": { "type": "Base", "scene": "0x30", "flag": "0x35", "name": "Kak Potion Shop Item 6", "HintKey": "KAK_POTION_SHOP_ITEM_6", "vanillaItem": "BUY_BOTTLE_BUG", "categories": ["cKakarikoVillage", "cKakariko", "cShop"], "SpoilerCollectionCheck": "ShopItem(0x30, 5)", "SpoilerCollectionCheckGroup": "GROUP_KAKARIKO"}, + "KAK_POTION_SHOP_ITEM_7": { "type": "Base", "scene": "0x30", "flag": "0x36", "name": "Kak Potion Shop Item 7", "HintKey": "KAK_POTION_SHOP_ITEM_7", "vanillaItem": "BUY_POE", "categories": ["cKakarikoVillage", "cKakariko", "cShop"], "SpoilerCollectionCheck": "ShopItem(0x30, 6)", "SpoilerCollectionCheckGroup": "GROUP_KAKARIKO"}, + "KAK_POTION_SHOP_ITEM_8": { "type": "Base", "scene": "0x30", "flag": "0x37", "name": "Kak Potion Shop Item 8", "HintKey": "KAK_POTION_SHOP_ITEM_8", "vanillaItem": "BUY_FAIRYS_SPIRIT", "categories": ["cKakarikoVillage", "cKakariko", "cShop"], "SpoilerCollectionCheck": "ShopItem(0x30, 7)", "SpoilerCollectionCheckGroup": "GROUP_KAKARIKO"}, + + "MARKET_BOMBCHU_SHOP_ITEM_1": { "type": "Base", "scene": "0x32", "flag": "0x30", "name": "MK Bombchu Shop Item 1", "HintKey": "MARKET_BOMBCHU_SHOP_ITEM_1", "vanillaItem": "BUY_BOMBCHU_5", "categories": ["cInnerMarket", "cMarket", "cShop"], "SpoilerCollectionCheck": "ShopItem(0x32, 0)", "SpoilerCollectionCheckGroup": "GROUP_MARKET"}, + "MARKET_BOMBCHU_SHOP_ITEM_2": { "type": "Base", "scene": "0x32", "flag": "0x31", "name": "MK Bombchu Shop Item 2", "HintKey": "MARKET_BOMBCHU_SHOP_ITEM_2", "vanillaItem": "BUY_BOMBCHU_10", "categories": ["cInnerMarket", "cMarket", "cShop"], "SpoilerCollectionCheck": "ShopItem(0x32, 1)", "SpoilerCollectionCheckGroup": "GROUP_MARKET"}, + "MARKET_BOMBCHU_SHOP_ITEM_3": { "type": "Base", "scene": "0x32", "flag": "0x32", "name": "MK Bombchu Shop Item 3", "HintKey": "MARKET_BOMBCHU_SHOP_ITEM_3", "vanillaItem": "BUY_BOMBCHU_10", "categories": ["cInnerMarket", "cMarket", "cShop"], "SpoilerCollectionCheck": "ShopItem(0x32, 2)", "SpoilerCollectionCheckGroup": "GROUP_MARKET"}, + "MARKET_BOMBCHU_SHOP_ITEM_4": { "type": "Base", "scene": "0x32", "flag": "0x33", "name": "MK Bombchu Shop Item 4", "HintKey": "MARKET_BOMBCHU_SHOP_ITEM_4", "vanillaItem": "BUY_BOMBCHU_10", "categories": ["cInnerMarket", "cMarket", "cShop"], "SpoilerCollectionCheck": "ShopItem(0x32, 3)", "SpoilerCollectionCheckGroup": "GROUP_MARKET"}, + "MARKET_BOMBCHU_SHOP_ITEM_5": { "type": "Base", "scene": "0x32", "flag": "0x34", "name": "MK Bombchu Shop Item 5", "HintKey": "MARKET_BOMBCHU_SHOP_ITEM_5", "vanillaItem": "BUY_BOMBCHU_20", "categories": ["cInnerMarket", "cMarket", "cShop"], "SpoilerCollectionCheck": "ShopItem(0x32, 4)", "SpoilerCollectionCheckGroup": "GROUP_MARKET"}, + "MARKET_BOMBCHU_SHOP_ITEM_6": { "type": "Base", "scene": "0x32", "flag": "0x35", "name": "MK Bombchu Shop Item 6", "HintKey": "MARKET_BOMBCHU_SHOP_ITEM_6", "vanillaItem": "BUY_BOMBCHU_20", "categories": ["cInnerMarket", "cMarket", "cShop"], "SpoilerCollectionCheck": "ShopItem(0x32, 5)", "SpoilerCollectionCheckGroup": "GROUP_MARKET"}, + "MARKET_BOMBCHU_SHOP_ITEM_7": { "type": "Base", "scene": "0x32", "flag": "0x36", "name": "MK Bombchu Shop Item 7", "HintKey": "MARKET_BOMBCHU_SHOP_ITEM_7", "vanillaItem": "BUY_BOMBCHU_20", "categories": ["cInnerMarket", "cMarket", "cShop"], "SpoilerCollectionCheck": "ShopItem(0x32, 6)", "SpoilerCollectionCheckGroup": "GROUP_MARKET"}, + "MARKET_BOMBCHU_SHOP_ITEM_8": { "type": "Base", "scene": "0x32", "flag": "0x37", "name": "MK Bombchu Shop Item 8", "HintKey": "MARKET_BOMBCHU_SHOP_ITEM_8", "vanillaItem": "BUY_BOMBCHU_20", "categories": ["cInnerMarket", "cMarket", "cShop"], "SpoilerCollectionCheck": "ShopItem(0x32, 7)", "SpoilerCollectionCheckGroup": "GROUP_MARKET"}, + + "MARKET_POTION_SHOP_ITEM_1": { "type": "Base", "scene": "0x31", "flag": "0x30", "name": "MK Potion Shop Item 1", "HintKey": "MARKET_POTION_SHOP_ITEM_1", "vanillaItem": "BUY_GREEN_POTION", "categories": ["cInnerMarket", "cMarket", "cShop"], "SpoilerCollectionCheck": "ShopItem(0x31, 0)", "SpoilerCollectionCheckGroup": "GROUP_MARKET"}, + "MARKET_POTION_SHOP_ITEM_2": { "type": "Base", "scene": "0x31", "flag": "0x31", "name": "MK Potion Shop Item 2", "HintKey": "MARKET_POTION_SHOP_ITEM_2", "vanillaItem": "BUY_BLUE_FIRE", "categories": ["cInnerMarket", "cMarket", "cShop"], "SpoilerCollectionCheck": "ShopItem(0x31, 1)", "SpoilerCollectionCheckGroup": "GROUP_MARKET"}, + "MARKET_POTION_SHOP_ITEM_3": { "type": "Base", "scene": "0x31", "flag": "0x32", "name": "MK Potion Shop Item 3", "HintKey": "MARKET_POTION_SHOP_ITEM_3", "vanillaItem": "BUY_RED_POTION_30", "categories": ["cInnerMarket", "cMarket", "cShop"], "SpoilerCollectionCheck": "ShopItem(0x31, 2)", "SpoilerCollectionCheckGroup": "GROUP_MARKET"}, + "MARKET_POTION_SHOP_ITEM_4": { "type": "Base", "scene": "0x31", "flag": "0x33", "name": "MK Potion Shop Item 4", "HintKey": "MARKET_POTION_SHOP_ITEM_4", "vanillaItem": "BUY_FAIRYS_SPIRIT", "categories": ["cInnerMarket", "cMarket", "cShop"], "SpoilerCollectionCheck": "ShopItem(0x31, 3)", "SpoilerCollectionCheckGroup": "GROUP_MARKET"}, + "MARKET_POTION_SHOP_ITEM_5": { "type": "Base", "scene": "0x31", "flag": "0x34", "name": "MK Potion Shop Item 5", "HintKey": "MARKET_POTION_SHOP_ITEM_5", "vanillaItem": "BUY_DEKU_NUT_5", "categories": ["cInnerMarket", "cMarket", "cShop"], "SpoilerCollectionCheck": "ShopItem(0x31, 4)", "SpoilerCollectionCheckGroup": "GROUP_MARKET"}, + "MARKET_POTION_SHOP_ITEM_6": { "type": "Base", "scene": "0x31", "flag": "0x35", "name": "MK Potion Shop Item 6", "HintKey": "MARKET_POTION_SHOP_ITEM_6", "vanillaItem": "BUY_BOTTLE_BUG", "categories": ["cInnerMarket", "cMarket", "cShop"], "SpoilerCollectionCheck": "ShopItem(0x31, 5)", "SpoilerCollectionCheckGroup": "GROUP_MARKET"}, + "MARKET_POTION_SHOP_ITEM_7": { "type": "Base", "scene": "0x31", "flag": "0x36", "name": "MK Potion Shop Item 7", "HintKey": "MARKET_POTION_SHOP_ITEM_7", "vanillaItem": "BUY_POE", "categories": ["cInnerMarket", "cMarket", "cShop"], "SpoilerCollectionCheck": "ShopItem(0x31, 6)", "SpoilerCollectionCheckGroup": "GROUP_MARKET"}, + "MARKET_POTION_SHOP_ITEM_8": { "type": "Base", "scene": "0x31", "flag": "0x37", "name": "MK Potion Shop Item 8", "HintKey": "MARKET_POTION_SHOP_ITEM_8", "vanillaItem": "BUY_FISH", "categories": ["cInnerMarket", "cMarket", "cShop"], "SpoilerCollectionCheck": "ShopItem(0x31, 7)", "SpoilerCollectionCheckGroup": "GROUP_MARKET"}, + + "MARKET_BAZAAR_ITEM_1": { "type": "Base", "scene": "0x2C", "flag": "0x30", "name": "MK Bazaar Item 1", "HintKey": "MARKET_BAZAAR_ITEM_1", "vanillaItem": "BUY_HYLIAN_SHIELD", "categories": ["cInnerMarket", "cMarket", "cShop"], "SpoilerCollectionCheck": "ShopItem(0x2C, 0)", "SpoilerCollectionCheckGroup": "GROUP_MARKET"}, + "MARKET_BAZAAR_ITEM_2": { "type": "Base", "scene": "0x2C", "flag": "0x31", "name": "MK Bazaar Item 2", "HintKey": "MARKET_BAZAAR_ITEM_2", "vanillaItem": "BUY_BOMBS_535", "categories": ["cInnerMarket", "cMarket", "cShop"], "SpoilerCollectionCheck": "ShopItem(0x2C, 1)", "SpoilerCollectionCheckGroup": "GROUP_MARKET"}, + "MARKET_BAZAAR_ITEM_3": { "type": "Base", "scene": "0x2C", "flag": "0x32", "name": "MK Bazaar Item 3", "HintKey": "MARKET_BAZAAR_ITEM_3", "vanillaItem": "BUY_DEKU_NUT_5", "categories": ["cInnerMarket", "cMarket", "cShop"], "SpoilerCollectionCheck": "ShopItem(0x2C, 2)", "SpoilerCollectionCheckGroup": "GROUP_MARKET"}, + "MARKET_BAZAAR_ITEM_4": { "type": "Base", "scene": "0x2C", "flag": "0x33", "name": "MK Bazaar Item 4", "HintKey": "MARKET_BAZAAR_ITEM_4", "vanillaItem": "BUY_HEART", "categories": ["cInnerMarket", "cMarket", "cShop"], "SpoilerCollectionCheck": "ShopItem(0x2C, 3)", "SpoilerCollectionCheckGroup": "GROUP_MARKET"}, + "MARKET_BAZAAR_ITEM_5": { "type": "Base", "scene": "0x2C", "flag": "0x34", "name": "MK Bazaar Item 5", "HintKey": "MARKET_BAZAAR_ITEM_5", "vanillaItem": "BUY_ARROWS_10", "categories": ["cInnerMarket", "cMarket", "cShop"], "SpoilerCollectionCheck": "ShopItem(0x2C, 4)", "SpoilerCollectionCheckGroup": "GROUP_MARKET"}, + "MARKET_BAZAAR_ITEM_6": { "type": "Base", "scene": "0x2C", "flag": "0x35", "name": "MK Bazaar Item 6", "HintKey": "MARKET_BAZAAR_ITEM_6", "vanillaItem": "BUY_ARROWS_50", "categories": ["cInnerMarket", "cMarket", "cShop"], "SpoilerCollectionCheck": "ShopItem(0x2C, 5)", "SpoilerCollectionCheckGroup": "GROUP_MARKET"}, + "MARKET_BAZAAR_ITEM_7": { "type": "Base", "scene": "0x2C", "flag": "0x36", "name": "MK Bazaar Item 7", "HintKey": "MARKET_BAZAAR_ITEM_7", "vanillaItem": "BUY_DEKU_STICK_1", "categories": ["cInnerMarket", "cMarket", "cShop"], "SpoilerCollectionCheck": "ShopItem(0x2C, 6)", "SpoilerCollectionCheckGroup": "GROUP_MARKET"}, + "MARKET_BAZAAR_ITEM_8": { "type": "Base", "scene": "0x2C", "flag": "0x37", "name": "MK Bazaar Item 8", "HintKey": "MARKET_BAZAAR_ITEM_8", "vanillaItem": "BUY_ARROWS_30", "categories": ["cInnerMarket", "cMarket", "cShop"], "SpoilerCollectionCheck": "ShopItem(0x2C, 7)", "SpoilerCollectionCheckGroup": "GROUP_MARKET"}, + + "KAK_BAZAAR_ITEM_1": { "type": "Base", "scene": "0x2C", "flag": "0x38", "name": "Kak Bazaar Item 1", "HintKey": "KAK_BAZAAR_ITEM_1", "vanillaItem": "BUY_HYLIAN_SHIELD", "categories": ["cKakarikoVillage", "cKakariko", "cShop"], "SpoilerCollectionCheck": "ShopItem(0x33, 0)", "SpoilerCollectionCheckGroup": "GROUP_KAKARIKO"}, + "KAK_BAZAAR_ITEM_2": { "type": "Base", "scene": "0x2C", "flag": "0x39", "name": "Kak Bazaar Item 2", "HintKey": "KAK_BAZAAR_ITEM_2", "vanillaItem": "BUY_BOMBS_535", "categories": ["cKakarikoVillage", "cKakariko", "cShop"], "SpoilerCollectionCheck": "ShopItem(0x33, 1)", "SpoilerCollectionCheckGroup": "GROUP_KAKARIKO"}, + "KAK_BAZAAR_ITEM_3": { "type": "Base", "scene": "0x2C", "flag": "0x3A", "name": "Kak Bazaar Item 3", "HintKey": "KAK_BAZAAR_ITEM_3", "vanillaItem": "BUY_DEKU_NUT_5", "categories": ["cKakarikoVillage", "cKakariko", "cShop"], "SpoilerCollectionCheck": "ShopItem(0x33, 2)", "SpoilerCollectionCheckGroup": "GROUP_KAKARIKO"}, + "KAK_BAZAAR_ITEM_4": { "type": "Base", "scene": "0x2C", "flag": "0x3B", "name": "Kak Bazaar Item 4", "HintKey": "KAK_BAZAAR_ITEM_4", "vanillaItem": "BUY_HEART", "categories": ["cKakarikoVillage", "cKakariko", "cShop"], "SpoilerCollectionCheck": "ShopItem(0x33, 3)", "SpoilerCollectionCheckGroup": "GROUP_KAKARIKO"}, + "KAK_BAZAAR_ITEM_5": { "type": "Base", "scene": "0x2C", "flag": "0x3C", "name": "Kak Bazaar Item 5", "HintKey": "KAK_BAZAAR_ITEM_5", "vanillaItem": "BUY_ARROWS_10", "categories": ["cKakarikoVillage", "cKakariko", "cShop"], "SpoilerCollectionCheck": "ShopItem(0x33, 4)", "SpoilerCollectionCheckGroup": "GROUP_KAKARIKO"}, + "KAK_BAZAAR_ITEM_6": { "type": "Base", "scene": "0x2C", "flag": "0x3D", "name": "Kak Bazaar Item 6", "HintKey": "KAK_BAZAAR_ITEM_6", "vanillaItem": "BUY_ARROWS_50", "categories": ["cKakarikoVillage", "cKakariko", "cShop"], "SpoilerCollectionCheck": "ShopItem(0x33, 5)", "SpoilerCollectionCheckGroup": "GROUP_KAKARIKO"}, + "KAK_BAZAAR_ITEM_7": { "type": "Base", "scene": "0x2C", "flag": "0x3E", "name": "Kak Bazaar Item 7", "HintKey": "KAK_BAZAAR_ITEM_7", "vanillaItem": "BUY_DEKU_STICK_1", "categories": ["cKakarikoVillage", "cKakariko", "cShop"], "SpoilerCollectionCheck": "ShopItem(0x33, 6)", "SpoilerCollectionCheckGroup": "GROUP_KAKARIKO"}, + "KAK_BAZAAR_ITEM_8": { "type": "Base", "scene": "0x2C", "flag": "0x3F", "name": "Kak Bazaar Item 8", "HintKey": "KAK_BAZAAR_ITEM_8", "vanillaItem": "BUY_ARROWS_30", "categories": ["cKakarikoVillage", "cKakariko", "cShop"], "SpoilerCollectionCheck": "ShopItem(0x33, 7)", "SpoilerCollectionCheckGroup": "GROUP_KAKARIKO"}, + + "ZD_SHOP_ITEM_1": { "type": "Base", "scene": "0x2F", "flag": "0x30", "name": "ZD Shop Item 1", "HintKey": "ZD_SHOP_ITEM_1", "vanillaItem": "BUY_ZORA_TUNIC", "categories": ["cZorasDomain", "cShop"], "SpoilerCollectionCheck": "ShopItem(0x2F, 0)", "SpoilerCollectionCheckGroup": "GROUP_ZORAS_DOMAIN"}, + "ZD_SHOP_ITEM_2": { "type": "Base", "scene": "0x2F", "flag": "0x31", "name": "ZD Shop Item 2", "HintKey": "ZD_SHOP_ITEM_2", "vanillaItem": "BUY_ARROWS_10", "categories": ["cZorasDomain", "cShop"], "SpoilerCollectionCheck": "ShopItem(0x2F, 1)", "SpoilerCollectionCheckGroup": "GROUP_ZORAS_DOMAIN"}, + "ZD_SHOP_ITEM_3": { "type": "Base", "scene": "0x2F", "flag": "0x32", "name": "ZD Shop Item 3", "HintKey": "ZD_SHOP_ITEM_3", "vanillaItem": "BUY_HEART", "categories": ["cZorasDomain", "cShop"], "SpoilerCollectionCheck": "ShopItem(0x2F, 2)", "SpoilerCollectionCheckGroup": "GROUP_ZORAS_DOMAIN"}, + "ZD_SHOP_ITEM_4": { "type": "Base", "scene": "0x2F", "flag": "0x33", "name": "ZD Shop Item 4", "HintKey": "ZD_SHOP_ITEM_4", "vanillaItem": "BUY_ARROWS_30", "categories": ["cZorasDomain", "cShop"], "SpoilerCollectionCheck": "ShopItem(0x2F, 3)", "SpoilerCollectionCheckGroup": "GROUP_ZORAS_DOMAIN"}, + "ZD_SHOP_ITEM_5": { "type": "Base", "scene": "0x2F", "flag": "0x34", "name": "ZD Shop Item 5", "HintKey": "ZD_SHOP_ITEM_5", "vanillaItem": "BUY_DEKU_NUT_5", "categories": ["cZorasDomain", "cShop"], "SpoilerCollectionCheck": "ShopItem(0x2F, 4)", "SpoilerCollectionCheckGroup": "GROUP_ZORAS_DOMAIN"}, + "ZD_SHOP_ITEM_6": { "type": "Base", "scene": "0x2F", "flag": "0x35", "name": "ZD Shop Item 6", "HintKey": "ZD_SHOP_ITEM_6", "vanillaItem": "BUY_ARROWS_50", "categories": ["cZorasDomain", "cShop"], "SpoilerCollectionCheck": "ShopItem(0x2F, 5)", "SpoilerCollectionCheckGroup": "GROUP_ZORAS_DOMAIN"}, + "ZD_SHOP_ITEM_7": { "type": "Base", "scene": "0x2F", "flag": "0x36", "name": "ZD Shop Item 7", "HintKey": "ZD_SHOP_ITEM_7", "vanillaItem": "BUY_FISH", "categories": ["cZorasDomain", "cShop"], "SpoilerCollectionCheck": "ShopItem(0x2F, 6)", "SpoilerCollectionCheckGroup": "GROUP_ZORAS_DOMAIN"}, + "ZD_SHOP_ITEM_8": { "type": "Base", "scene": "0x2F", "flag": "0x37", "name": "ZD Shop Item 8", "HintKey": "ZD_SHOP_ITEM_8", "vanillaItem": "BUY_RED_POTION_50", "categories": ["cZorasDomain", "cShop"], "SpoilerCollectionCheck": "ShopItem(0x2F, 7)", "SpoilerCollectionCheckGroup": "GROUP_ZORAS_DOMAIN"}, + + "GC_SHOP_ITEM_1": { "type": "Base", "scene": "0x2E", "flag": "0x30", "name": "GC Shop Item 1", "HintKey": "GC_SHOP_ITEM_1", "vanillaItem": "BUY_BOMBS_525", "categories": ["cGoronCity", "cShop"], "SpoilerCollectionCheck": "ShopItem(0x2E, 0)", "SpoilerCollectionCheckGroup": "GROUP_GORON_CITY"}, + "GC_SHOP_ITEM_2": { "type": "Base", "scene": "0x2E", "flag": "0x31", "name": "GC Shop Item 2", "HintKey": "GC_SHOP_ITEM_2", "vanillaItem": "BUY_BOMBS_10", "categories": ["cGoronCity", "cShop"], "SpoilerCollectionCheck": "ShopItem(0x2E, 1)", "SpoilerCollectionCheckGroup": "GROUP_GORON_CITY"}, + "GC_SHOP_ITEM_3": { "type": "Base", "scene": "0x2E", "flag": "0x32", "name": "GC Shop Item 3", "HintKey": "GC_SHOP_ITEM_3", "vanillaItem": "BUY_BOMBS_20", "categories": ["cGoronCity", "cShop"], "SpoilerCollectionCheck": "ShopItem(0x2E, 2)", "SpoilerCollectionCheckGroup": "GROUP_GORON_CITY"}, + "GC_SHOP_ITEM_4": { "type": "Base", "scene": "0x2E", "flag": "0x33", "name": "GC Shop Item 4", "HintKey": "GC_SHOP_ITEM_4", "vanillaItem": "BUY_BOMBS_30", "categories": ["cGoronCity", "cShop"], "SpoilerCollectionCheck": "ShopItem(0x2E, 3)", "SpoilerCollectionCheckGroup": "GROUP_GORON_CITY"}, + "GC_SHOP_ITEM_5": { "type": "Base", "scene": "0x2E", "flag": "0x34", "name": "GC Shop Item 5", "HintKey": "GC_SHOP_ITEM_5", "vanillaItem": "BUY_GORON_TUNIC", "categories": ["cGoronCity", "cShop"], "SpoilerCollectionCheck": "ShopItem(0x2E, 4)", "SpoilerCollectionCheckGroup": "GROUP_GORON_CITY"}, + "GC_SHOP_ITEM_6": { "type": "Base", "scene": "0x2E", "flag": "0x35", "name": "GC Shop Item 6", "HintKey": "GC_SHOP_ITEM_6", "vanillaItem": "BUY_HEART", "categories": ["cGoronCity", "cShop"], "SpoilerCollectionCheck": "ShopItem(0x2E, 5)", "SpoilerCollectionCheckGroup": "GROUP_GORON_CITY"}, + "GC_SHOP_ITEM_7": { "type": "Base", "scene": "0x2E", "flag": "0x36", "name": "GC Shop Item 7", "HintKey": "GC_SHOP_ITEM_7", "vanillaItem": "BUY_RED_POTION_40", "categories": ["cGoronCity", "cShop"], "SpoilerCollectionCheck": "ShopItem(0x2E, 6)", "SpoilerCollectionCheckGroup": "GROUP_GORON_CITY"}, + "GC_SHOP_ITEM_8": { "type": "Base", "scene": "0x2E", "flag": "0x37", "name": "GC Shop Item 8", "HintKey": "GC_SHOP_ITEM_8", "vanillaItem": "BUY_HEART", "categories": ["cGoronCity", "cShop"], "SpoilerCollectionCheck": "ShopItem(0x2E, 7)", "SpoilerCollectionCheckGroup": "GROUP_GORON_CITY"}, + + /*------------------------------- + --- FREE STANDING RUPEES --- + -------------------------------*/ + "KF_END_OF_BRIDGE_BLUE_RUPEE": { "type": "Collectable", "scene": "0x55", "flag": "0x11", "name": "KF End of Bridge Blue Rupee", "HintKey": "KF_END_OF_BRIDGE_BLUE_RUPEE", "vanillaItem": "BLUE_RUPEE", "categories": ["cKokiriForest", "cForest", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_KOKIRI_FOREST"}, + "KF_BEHIND_MIDOS_HOUSE_BLUE_RUPEE": { "type": "Collectable", "scene": "0x55", "flag": "0x12", "name": "KF Behind Mido's house Blue Rupee", "HintKey": "KF_BEHIND_MIDOS_HOUSE_BLUE_RUPEE", "vanillaItem": "BLUE_RUPEE", "categories": ["cKokiriForest", "cForest", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_KOKIRI_FOREST"}, + "KF_BOULDER_MAZE_BLUE_RUPEE_1": { "type": "Collectable", "scene": "0x55", "flag": "0x0F", "name": "KF Boulder Maze Blue Rupee 1", "HintKey": "KF_BOULDER_MAZE_BLUE_RUPEE_1", "vanillaItem": "BLUE_RUPEE", "categories": ["cKokiriForest", "cForest", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_KOKIRI_FOREST"}, + "KF_BOULDER_MAZE_BLUE_RUPEE_2": { "type": "Collectable", "scene": "0x55", "flag": "0x0E", "name": "KF Boulder Maze Blue Rupee 2", "HintKey": "KF_BOULDER_MAZE_BLUE_RUPEE_2", "vanillaItem": "BLUE_RUPEE", "categories": ["cKokiriForest", "cForest", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_KOKIRI_FOREST"}, + "KF_NEAR_RAMP_GREEN_RUPEE_1": { "type": "Collectable", "scene": "0x55", "flag": "0x24", "name": "KF Near Ramp Green Rupee 1", "HintKey": "KF_NEAR_RAMP_GREEN_RUPEE_1", "vanillaItem": "GREEN_RUPEE", "categories": ["cKokiriForest", "cForest", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_KOKIRI_FOREST"}, + "KF_NEAR_RAMP_GREEN_RUPEE_2": { "type": "Collectable", "scene": "0x55", "flag": "0x27", "name": "KF Near Ramp Green Rupee 2", "HintKey": "KF_NEAR_RAMP_GREEN_RUPEE_2", "vanillaItem": "GREEN_RUPEE", "categories": ["cKokiriForest", "cForest", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_KOKIRI_FOREST"}, + "KF_NEAR_MIDOS_HOUSE_GREEN_RUPEE_1": { "type": "Collectable", "scene": "0x55", "flag": "0x25", "name": "KF Near Mido's House Green Rupee 1", "HintKey": "KF_NEAR_MIDOS_HOUSE_GREEN_RUPEE_1", "vanillaItem": "GREEN_RUPEE", "categories": ["cKokiriForest", "cForest", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_KOKIRI_FOREST"}, + "KF_NEAR_MIDOS_HOUSE_GREEN_RUPEE_2": { "type": "Collectable", "scene": "0x55", "flag": "0x26", "name": "KF Near Mido's House Green Rupee 2", "HintKey": "KF_NEAR_MIDOS_HOUSE_GREEN_RUPEE_2", "vanillaItem": "GREEN_RUPEE", "categories": ["cKokiriForest", "cForest", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_KOKIRI_FOREST"}, + "KF_RUPEE_CIRCLE_GREEN_RUPEE_1": { "type": "Collectable", "scene": "0x55", "flag": "0x40", "name": "KF Rupee circle Green Rupee 1", "HintKey": "KF_RUPEE_CIRCLE_GREEN_RUPEE_1", "vanillaItem": "GREEN_RUPEE", "categories": ["cKokiriForest", "cForest", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_KOKIRI_FOREST"}, + "KF_RUPEE_CIRCLE_GREEN_RUPEE_2": { "type": "Collectable", "scene": "0x55", "flag": "0x41", "name": "KF Rupee circle Green Rupee 2", "HintKey": "KF_RUPEE_CIRCLE_GREEN_RUPEE_2", "vanillaItem": "GREEN_RUPEE", "categories": ["cKokiriForest", "cForest", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_KOKIRI_FOREST"}, + "KF_RUPEE_CIRCLE_GREEN_RUPEE_3": { "type": "Collectable", "scene": "0x55", "flag": "0x42", "name": "KF Rupee circle Green Rupee 3", "HintKey": "KF_RUPEE_CIRCLE_GREEN_RUPEE_3", "vanillaItem": "GREEN_RUPEE", "categories": ["cKokiriForest", "cForest", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_KOKIRI_FOREST"}, + "KF_RUPEE_CIRCLE_GREEN_RUPEE_4": { "type": "Collectable", "scene": "0x55", "flag": "0x43", "name": "KF Rupee circle Green Rupee 4", "HintKey": "KF_RUPEE_CIRCLE_GREEN_RUPEE_4", "vanillaItem": "GREEN_RUPEE", "categories": ["cKokiriForest", "cForest", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_KOKIRI_FOREST"}, + "KF_RUPEE_CIRCLE_GREEN_RUPEE_5": { "type": "Collectable", "scene": "0x55", "flag": "0x44", "name": "KF Rupee circle Green Rupee 5", "HintKey": "KF_RUPEE_CIRCLE_GREEN_RUPEE_5", "vanillaItem": "GREEN_RUPEE", "categories": ["cKokiriForest", "cForest", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_KOKIRI_FOREST"}, + "KF_RUPEE_CIRCLE_GREEN_RUPEE_6": { "type": "Collectable", "scene": "0x55", "flag": "0x45", "name": "KF Rupee circle Green Rupee 6", "HintKey": "KF_RUPEE_CIRCLE_GREEN_RUPEE_6", "vanillaItem": "GREEN_RUPEE", "categories": ["cKokiriForest", "cForest", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_KOKIRI_FOREST"}, + "KF_RUPEE_CIRCLE_RED_RUPEE": { "type": "Collectable", "scene": "0x55", "flag": "0x46", "name": "KF Rupee circle Red Rupee", "HintKey": "KF_RUPEE_CIRCLE_RED_RUPEE", "vanillaItem": "RED_RUPEE", "categories": ["cKokiriForest", "cForest", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_KOKIRI_FOREST"}, + + "LW_IN_BOULDER_BLUE_RUPEE": { "type": "Collectable", "scene": "0x5B", "flag": "0x13", "name": "LW in boulder blue rupee", "HintKey": "LW_IN_BOULDER_BLUE_RUPEE", "vanillaItem": "BLUE_RUPEE", "categories": ["cLostWoods", "cForest", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_LOST_WOODS"}, + "LW_IN_WATER_NEAR_ZR_SHORTCUT_GREEN_RUPEE_1": { "type": "Collectable", "scene": "0x5B", "flag": "0x34", "name": "LW in water near ZR Shortcut Green Rupee 1", "HintKey": "LW_IN_WATER_NEAR_ZR_SHORTCUT_GREEN_RUPEE_1", "vanillaItem": "GREEN_RUPEE", "categories": ["cLostWoods", "cForest", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_LOST_WOODS"}, + "LW_IN_WATER_NEAR_ZR_SHORTCUT_GREEN_RUPEE_2": { "type": "Collectable", "scene": "0x5B", "flag": "0x35", "name": "LW in water near ZR Shortcut Green Rupee 2", "HintKey": "LW_IN_WATER_NEAR_ZR_SHORTCUT_GREEN_RUPEE_2", "vanillaItem": "GREEN_RUPEE", "categories": ["cLostWoods", "cForest", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_LOST_WOODS"}, + "LW_IN_WATER_NEAR_ZR_SHORTCUT_GREEN_RUPEE_3": { "type": "Collectable", "scene": "0x5B", "flag": "0x36", "name": "LW in water near ZR Shortcut Green Rupee 3", "HintKey": "LW_IN_WATER_NEAR_ZR_SHORTCUT_GREEN_RUPEE_3", "vanillaItem": "GREEN_RUPEE", "categories": ["cLostWoods", "cForest", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_LOST_WOODS"}, + "LW_IN_WATER_NEAR_ZR_SHORTCUT_GREEN_RUPEE_4": { "type": "Collectable", "scene": "0x5B", "flag": "0x37", "name": "LW in water near ZR Shortcut Green Rupee 4", "HintKey": "LW_IN_WATER_NEAR_ZR_SHORTCUT_GREEN_RUPEE_4", "vanillaItem": "GREEN_RUPEE", "categories": ["cLostWoods", "cForest", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_LOST_WOODS"}, + "LW_IN_WATER_NEAR_ZR_SHORTCUT_GREEN_RUPEE_5": { "type": "Collectable", "scene": "0x5B", "flag": "0x39", "name": "LW in water near ZR Shortcut Green Rupee 5", "HintKey": "LW_IN_WATER_NEAR_ZR_SHORTCUT_GREEN_RUPEE_5", "vanillaItem": "GREEN_RUPEE", "categories": ["cLostWoods", "cForest", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_LOST_WOODS"}, + "LW_IN_WATER_NEAR_ZR_SHORTCUT_GREEN_RUPEE_6": { "type": "Collectable", "scene": "0x5B", "flag": "0x3A", "name": "LW in water near ZR Shortcut Green Rupee 6", "HintKey": "LW_IN_WATER_NEAR_ZR_SHORTCUT_GREEN_RUPEE_6", "vanillaItem": "GREEN_RUPEE", "categories": ["cLostWoods", "cForest", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_LOST_WOODS"}, + "LW_IN_WATER_NEAR_ZR_SHORTCUT_GREEN_RUPEE_7": { "type": "Collectable", "scene": "0x5B", "flag": "0x3B", "name": "LW in water near ZR Shortcut Green Rupee 7", "HintKey": "LW_IN_WATER_NEAR_ZR_SHORTCUT_GREEN_RUPEE_7", "vanillaItem": "GREEN_RUPEE", "categories": ["cLostWoods", "cForest", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_LOST_WOODS"}, + "LW_IN_WATER_NEAR_ZR_SHORTCUT_GREEN_RUPEE_8": { "type": "Collectable", "scene": "0x5B", "flag": "0x3C", "name": "LW in water near ZR Shortcut Green Rupee 8", "HintKey": "LW_IN_WATER_NEAR_ZR_SHORTCUT_GREEN_RUPEE_8", "vanillaItem": "GREEN_RUPEE", "categories": ["cLostWoods", "cForest", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_LOST_WOODS"}, + + "LH_UNDER_WATER_GREEN_RUPEE_1": { "type": "Collectable", "scene": "0x57", "flag": "0x20", "name": "LH Under water green rupee 1", "HintKey": "LH_UNDER_WATER_GREEN_RUPEE_1", "vanillaItem": "GREEN_RUPEE", "categories": ["cLakeHylia", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_LAKE_HYLIA"}, + "LH_UNDER_WATER_GREEN_RUPEE_2": { "type": "Collectable", "scene": "0x57", "flag": "0x21", "name": "LH Under water green rupee 2", "HintKey": "LH_UNDER_WATER_GREEN_RUPEE_2", "vanillaItem": "GREEN_RUPEE", "categories": ["cLakeHylia", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_LAKE_HYLIA"}, + "LH_UNDER_WATER_GREEN_RUPEE_3": { "type": "Collectable", "scene": "0x57", "flag": "0x22", "name": "LH Under water green rupee 3", "HintKey": "LH_UNDER_WATER_GREEN_RUPEE_3", "vanillaItem": "GREEN_RUPEE", "categories": ["cLakeHylia", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_LAKE_HYLIA"}, + "LH_LAB_DIVE_RED_RUPEE_1": { "type": "Collectable", "scene": "0x38", "flag": "0x01", "name": "LH Lab Dive Red rupee 1", "HintKey": "LH_LAB_DIVE_RED_RUPEE_1", "vanillaItem": "RED_RUPEE", "categories": ["cLakeHylia", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_LAKE_HYLIA"}, + "LH_LAB_DIVE_RED_RUPEE_2": { "type": "Collectable", "scene": "0x38", "flag": "0x02", "name": "LH Lab Dive Red rupee 2", "HintKey": "LH_LAB_DIVE_RED_RUPEE_2", "vanillaItem": "RED_RUPEE", "categories": ["cLakeHylia", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_LAKE_HYLIA"}, + "LH_LAB_DIVE_RED_RUPEE_3": { "type": "Collectable", "scene": "0x38", "flag": "0x03", "name": "LH Lab Dive Red rupee 3", "HintKey": "LH_LAB_DIVE_RED_RUPEE_3", "vanillaItem": "RED_RUPEE", "categories": ["cLakeHylia", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_LAKE_HYLIA"}, + + "GV_OCTOROCK_GROTTO_BLUE_RUPEE_1": { "type": "Collectable", "scene": "0x3E", "flag": "0x38", "name": "GV Octorock Grotto Blue Rupee 1", "HintKey": "GV_OCTOROCK_GROTTO_BLUE_RUPEE_1", "vanillaItem": "BLUE_RUPEE", "categories": ["cGerudoValley", "cGerudo", "cFreestandingRupee", "cGrotto"], "SpoilerCollectionCheckGroup": "GROUP_GERUDO_VALLEY"}, + "GV_OCTOROCK_GROTTO_BLUE_RUPEE_2": { "type": "Collectable", "scene": "0x3E", "flag": "0x39", "name": "GV Octorock Grotto Blue Rupee 2", "HintKey": "GV_OCTOROCK_GROTTO_BLUE_RUPEE_2", "vanillaItem": "BLUE_RUPEE", "categories": ["cGerudoValley", "cGerudo", "cFreestandingRupee", "cGrotto"], "SpoilerCollectionCheckGroup": "GROUP_GERUDO_VALLEY"}, + "GV_OCTOROCK_GROTTO_BLUE_RUPEE_3": { "type": "Collectable", "scene": "0x3E", "flag": "0x3A", "name": "GV Octorock Grotto Blue Rupee 3", "HintKey": "GV_OCTOROCK_GROTTO_BLUE_RUPEE_3", "vanillaItem": "BLUE_RUPEE", "categories": ["cGerudoValley", "cGerudo", "cFreestandingRupee", "cGrotto"], "SpoilerCollectionCheckGroup": "GROUP_GERUDO_VALLEY"}, + "GV_OCTOROCK_GROTTO_GREEN_RUPEE_1": { "type": "Collectable", "scene": "0x3E", "flag": "0x3B", "name": "GV Octorock Grotto Green Rupee 1", "HintKey": "GV_OCTOROCK_GROTTO_GREEN_RUPEE_1", "vanillaItem": "GREEN_RUPEE", "categories": ["cGerudoValley", "cGerudo", "cFreestandingRupee", "cGrotto"], "SpoilerCollectionCheckGroup": "GROUP_GERUDO_VALLEY"}, + "GV_OCTOROCK_GROTTO_GREEN_RUPEE_2": { "type": "Collectable", "scene": "0x3E", "flag": "0x3C", "name": "GV Octorock Grotto Green Rupee 2", "HintKey": "GV_OCTOROCK_GROTTO_GREEN_RUPEE_2", "vanillaItem": "GREEN_RUPEE", "categories": ["cGerudoValley", "cGerudo", "cFreestandingRupee", "cGrotto"], "SpoilerCollectionCheckGroup": "GROUP_GERUDO_VALLEY"}, + "GV_OCTOROCK_GROTTO_GREEN_RUPEE_3": { "type": "Collectable", "scene": "0x3E", "flag": "0x3D", "name": "GV Octorock Grotto Green Rupee 3", "HintKey": "GV_OCTOROCK_GROTTO_GREEN_RUPEE_3", "vanillaItem": "GREEN_RUPEE", "categories": ["cGerudoValley", "cGerudo", "cFreestandingRupee", "cGrotto"], "SpoilerCollectionCheckGroup": "GROUP_GERUDO_VALLEY"}, + "GV_OCTOROCK_GROTTO_GREEN_RUPEE_4": { "type": "Collectable", "scene": "0x3E", "flag": "0x3E", "name": "GV Octorock Grotto Green Rupee 4", "HintKey": "GV_OCTOROCK_GROTTO_GREEN_RUPEE_4", "vanillaItem": "GREEN_RUPEE", "categories": ["cGerudoValley", "cGerudo", "cFreestandingRupee", "cGrotto"], "SpoilerCollectionCheckGroup": "GROUP_GERUDO_VALLEY"}, + "GV_OCTOROCK_GROTTO_RED_RUPEE": { "type": "Collectable", "scene": "0x3E", "flag": "0x3F", "name": "GV Octorock Grotto Red Rupee", "HintKey": "GV_OCTOROCK_GROTTO_RED_RUPEE", "vanillaItem": "RED_RUPEE", "categories": ["cGerudoValley", "cGerudo", "cFreestandingRupee", "cGrotto"], "SpoilerCollectionCheckGroup": "GROUP_GERUDO_VALLEY"}, + + "DMT_ROCK_BLUE_RUPEE": { "type": "Collectable", "scene": "0x60", "flag": "0x07", "name": "DMT Rock Blue Rupee", "HintKey": "DMT_ROCK_BLUE_RUPEE", "vanillaItem": "BLUE_RUPEE", "categories": ["cDeathMountainTrail", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_DEATH_MOUNTAIN_TRAIL"}, + "DMT_ROCK_RED_RUPEE": { "type": "Collectable", "scene": "0x60", "flag": "0x0A", "name": "DMT Rock Red Rupee", "HintKey": "DMT_ROCK_RED_RUPEE", "vanillaItem": "RED_RUPEE", "categories": ["cDeathMountainTrail", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_DEATH_MOUNTAIN_TRAIL"}, + "DMT_COW_GROTTO_RUPEE_CIRCLE_GREEN_RUPEE_1": { "type": "Collectable", "scene": "0x3E", "flag": "0x40", "name": "DMT Cow Grotto rupee circle Green Rupee 1", "HintKey": "DMT_COW_GROTTO_RUPEE_CIRCLE_GREEN_RUPEE_1", "vanillaItem": "GREEN_RUPEE", "categories": ["cDeathMountainTrail", "cFreestandingRupee", "cGrotto"], "SpoilerCollectionCheckGroup": "GROUP_DEATH_MOUNTAIN_TRAIL"}, + "DMT_COW_GROTTO_RUPEE_CIRCLE_GREEN_RUPEE_2": { "type": "Collectable", "scene": "0x3E", "flag": "0x41", "name": "DMT Cow Grotto rupee circle Green Rupee 2", "HintKey": "DMT_COW_GROTTO_RUPEE_CIRCLE_GREEN_RUPEE_2", "vanillaItem": "GREEN_RUPEE", "categories": ["cDeathMountainTrail", "cFreestandingRupee", "cGrotto"], "SpoilerCollectionCheckGroup": "GROUP_DEATH_MOUNTAIN_TRAIL"}, + "DMT_COW_GROTTO_RUPEE_CIRCLE_GREEN_RUPEE_3": { "type": "Collectable", "scene": "0x3E", "flag": "0x42", "name": "DMT Cow Grotto rupee circle Green Rupee 3", "HintKey": "DMT_COW_GROTTO_RUPEE_CIRCLE_GREEN_RUPEE_3", "vanillaItem": "GREEN_RUPEE", "categories": ["cDeathMountainTrail", "cFreestandingRupee", "cGrotto"], "SpoilerCollectionCheckGroup": "GROUP_DEATH_MOUNTAIN_TRAIL"}, + "DMT_COW_GROTTO_RUPEE_CIRCLE_GREEN_RUPEE_4": { "type": "Collectable", "scene": "0x3E", "flag": "0x43", "name": "DMT Cow Grotto rupee circle Green Rupee 4", "HintKey": "DMT_COW_GROTTO_RUPEE_CIRCLE_GREEN_RUPEE_4", "vanillaItem": "GREEN_RUPEE", "categories": ["cDeathMountainTrail", "cFreestandingRupee", "cGrotto"], "SpoilerCollectionCheckGroup": "GROUP_DEATH_MOUNTAIN_TRAIL"}, + "DMT_COW_GROTTO_RUPEE_CIRCLE_GREEN_RUPEE_5": { "type": "Collectable", "scene": "0x3E", "flag": "0x44", "name": "DMT Cow Grotto rupee circle Green Rupee 5", "HintKey": "DMT_COW_GROTTO_RUPEE_CIRCLE_GREEN_RUPEE_5", "vanillaItem": "GREEN_RUPEE", "categories": ["cDeathMountainTrail", "cFreestandingRupee", "cGrotto"], "SpoilerCollectionCheckGroup": "GROUP_DEATH_MOUNTAIN_TRAIL"}, + "DMT_COW_GROTTO_RUPEE_CIRCLE_GREEN_RUPEE_6": { "type": "Collectable", "scene": "0x3E", "flag": "0x45", "name": "DMT Cow Grotto rupee circle Green Rupee 6", "HintKey": "DMT_COW_GROTTO_RUPEE_CIRCLE_GREEN_RUPEE_6", "vanillaItem": "GREEN_RUPEE", "categories": ["cDeathMountainTrail", "cFreestandingRupee", "cGrotto"], "SpoilerCollectionCheckGroup": "GROUP_DEATH_MOUNTAIN_TRAIL"}, + "DMT_COW_GROTTO_RUPEE_CIRCLE_RED_RUPEE": { "type": "Collectable", "scene": "0x3E", "flag": "0x46", "name": "DMT Cow Grotto rupee circle Red Rupee", "HintKey": "DMT_COW_GROTTO_RUPEE_CIRCLE_RED_RUPEE", "vanillaItem": "RED_RUPEE", "categories": ["cDeathMountainTrail", "cFreestandingRupee", "cGrotto"], "SpoilerCollectionCheckGroup": "GROUP_DEATH_MOUNTAIN_TRAIL"}, + + "DMC_LOWER_RED_RUPEE_1": { "type": "Collectable", "scene": "0x61", "flag": "0x20", "name": "DMC Lower Red Rupee 1", "HintKey": "DMC_LOWER_RED_RUPEE_1", "vanillaItem": "RED_RUPEE", "categories": ["cDeathMountainCrater", "cDeathMountain", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_DEATH_MOUNTAIN_CRATER"}, + "DMC_LOWER_RED_RUPEE_2": { "type": "Collectable", "scene": "0x61", "flag": "0x21", "name": "DMC Lower Red Rupee 2", "HintKey": "DMC_LOWER_RED_RUPEE_2", "vanillaItem": "RED_RUPEE", "categories": ["cDeathMountainCrater", "cDeathMountain", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_DEATH_MOUNTAIN_CRATER"}, + "DMC_LOWER_BLUE_RUPEE_1": { "type": "Collectable", "scene": "0x61", "flag": "0x22", "name": "DMC Lower Blue Rupee 1", "HintKey": "DMC_LOWER_BLUE_RUPEE_1", "vanillaItem": "BLUE_RUPEE", "categories": ["cDeathMountainCrater", "cDeathMountain", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_DEATH_MOUNTAIN_CRATER"}, + "DMC_LOWER_BLUE_RUPEE_2": { "type": "Collectable", "scene": "0x61", "flag": "0x23", "name": "DMC Lower Blue Rupee 2", "HintKey": "DMC_LOWER_BLUE_RUPEE_2", "vanillaItem": "BLUE_RUPEE", "categories": ["cDeathMountainCrater", "cDeathMountain", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_DEATH_MOUNTAIN_CRATER"}, + "DMC_LOWER_BLUE_RUPEE_3": { "type": "Collectable", "scene": "0x61", "flag": "0x24", "name": "DMC Lower Blue Rupee 3", "HintKey": "DMC_LOWER_BLUE_RUPEE_3", "vanillaItem": "BLUE_RUPEE", "categories": ["cDeathMountainCrater", "cDeathMountain", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_DEATH_MOUNTAIN_CRATER"}, + "DMC_LOWER_BLUE_RUPEE_4": { "type": "Collectable", "scene": "0x61", "flag": "0x25", "name": "DMC Lower Blue Rupee 4", "HintKey": "DMC_LOWER_BLUE_RUPEE_4", "vanillaItem": "BLUE_RUPEE", "categories": ["cDeathMountainCrater", "cDeathMountain", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_DEATH_MOUNTAIN_CRATER"}, + "DMC_LOWER_BLUE_RUPEE_5": { "type": "Collectable", "scene": "0x61", "flag": "0x26", "name": "DMC Lower Blue Rupee 5", "HintKey": "DMC_LOWER_BLUE_RUPEE_5", "vanillaItem": "BLUE_RUPEE", "categories": ["cDeathMountainCrater", "cDeathMountain", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_DEATH_MOUNTAIN_CRATER"}, + "DMC_LOWER_BLUE_RUPEE_6": { "type": "Collectable", "scene": "0x61", "flag": "0x27", "name": "DMC Lower Blue Rupee 6", "HintKey": "DMC_LOWER_BLUE_RUPEE_6", "vanillaItem": "BLUE_RUPEE", "categories": ["cDeathMountainCrater", "cDeathMountain", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_DEATH_MOUNTAIN_CRATER"}, + "DMC_SCARE_CROW_RUPEE_CIRCLE_GREEN_RUPEE_1": { "type": "Collectable", "scene": "0x61", "flag": "0x40", "name": "DMC Scare crow rupee circle Green Rupee 1", "HintKey": "DMC_SCARE_CROW_RUPEE_CIRCLE_GREEN_RUPEE_1", "vanillaItem": "GREEN_RUPEE", "categories": ["cDeathMountainCrater", "cDeathMountain", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_DEATH_MOUNTAIN_CRATER"}, + "DMC_SCARE_CROW_RUPEE_CIRCLE_GREEN_RUPEE_2": { "type": "Collectable", "scene": "0x61", "flag": "0x41", "name": "DMC Scare crow rupee circle Green Rupee 2", "HintKey": "DMC_SCARE_CROW_RUPEE_CIRCLE_GREEN_RUPEE_2", "vanillaItem": "GREEN_RUPEE", "categories": ["cDeathMountainCrater", "cDeathMountain", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_DEATH_MOUNTAIN_CRATER"}, + "DMC_SCARE_CROW_RUPEE_CIRCLE_GREEN_RUPEE_3": { "type": "Collectable", "scene": "0x61", "flag": "0x42", "name": "DMC Scare crow rupee circle Green Rupee 3", "HintKey": "DMC_SCARE_CROW_RUPEE_CIRCLE_GREEN_RUPEE_3", "vanillaItem": "GREEN_RUPEE", "categories": ["cDeathMountainCrater", "cDeathMountain", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_DEATH_MOUNTAIN_CRATER"}, + "DMC_SCARE_CROW_RUPEE_CIRCLE_GREEN_RUPEE_4": { "type": "Collectable", "scene": "0x61", "flag": "0x43", "name": "DMC Scare crow rupee circle Green Rupee 4", "HintKey": "DMC_SCARE_CROW_RUPEE_CIRCLE_GREEN_RUPEE_4", "vanillaItem": "GREEN_RUPEE", "categories": ["cDeathMountainCrater", "cDeathMountain", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_DEATH_MOUNTAIN_CRATER"}, + "DMC_SCARE_CROW_RUPEE_CIRCLE_GREEN_RUPEE_5": { "type": "Collectable", "scene": "0x61", "flag": "0x44", "name": "DMC Scare crow rupee circle Green Rupee 5", "HintKey": "DMC_SCARE_CROW_RUPEE_CIRCLE_GREEN_RUPEE_5", "vanillaItem": "GREEN_RUPEE", "categories": ["cDeathMountainCrater", "cDeathMountain", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_DEATH_MOUNTAIN_CRATER"}, + "DMC_SCARE_CROW_RUPEE_CIRCLE_GREEN_RUPEE_6": { "type": "Collectable", "scene": "0x61", "flag": "0x45", "name": "DMC Scare crow rupee circle Green Rupee 6", "HintKey": "DMC_SCARE_CROW_RUPEE_CIRCLE_GREEN_RUPEE_6", "vanillaItem": "GREEN_RUPEE", "categories": ["cDeathMountainCrater", "cDeathMountain", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_DEATH_MOUNTAIN_CRATER"}, + "DMC_SCARE_CROW_RUPEE_CIRCLE_RED_RUPEE": { "type": "Collectable", "scene": "0x61", "flag": "0x46", "name": "DMC Scare crow rupee circle Red Rupee", "HintKey": "DMC_SCARE_CROW_RUPEE_CIRCLE_RED_RUPEE", "vanillaItem": "RED_RUPEE", "categories": ["cDeathMountainCrater", "cDeathMountain", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_DEATH_MOUNTAIN_CRATER"}, + + "ZR_WATERFALL_RED_RUPEE_1": { "type": "Collectable", "scene": "0x54", "flag": "0x20", "name": "ZR Waterfall Red Rupee 1", "HintKey": "ZR_WATERFALL_RED_RUPEE_1", "vanillaItem": "RED_RUPEE", "categories": ["cZorasRiver", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_ZORAS_RIVER"}, + "ZR_WATERFALL_RED_RUPEE_2": { "type": "Collectable", "scene": "0x54", "flag": "0x21", "name": "ZR Waterfall Red Rupee 2", "HintKey": "ZR_WATERFALL_RED_RUPEE_2", "vanillaItem": "RED_RUPEE", "categories": ["cZorasRiver", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_ZORAS_RIVER"}, + "ZR_WATERFALL_RED_RUPEE_3": { "type": "Collectable", "scene": "0x54", "flag": "0x22", "name": "ZR Waterfall Red Rupee 3", "HintKey": "ZR_WATERFALL_RED_RUPEE_3", "vanillaItem": "RED_RUPEE", "categories": ["cZorasRiver", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_ZORAS_RIVER"}, + "ZR_WATERFALL_RED_RUPEE_4": { "type": "Collectable", "scene": "0x54", "flag": "0x23", "name": "ZR Waterfall Red Rupee 4", "HintKey": "ZR_WATERFALL_RED_RUPEE_4", "vanillaItem": "RED_RUPEE", "categories": ["cZorasRiver", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_ZORAS_RIVER"}, + + "ZF_UNDERWATER_GREEN_RUPEE_1": { "type": "Collectable", "scene": "0x59", "flag": "0x20", "name": "ZF Underwater Green Rupee 1", "HintKey": "ZF_UNDERWATER_GREEN_RUPEE_1", "vanillaItem": "GREEN_RUPEE", "categories": ["cZorasFountain", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_ZORAS_FOUNTAIN"}, + "ZF_UNDERWATER_GREEN_RUPEE_2": { "type": "Collectable", "scene": "0x59", "flag": "0x21", "name": "ZF Underwater Green Rupee 2", "HintKey": "ZF_UNDERWATER_GREEN_RUPEE_2", "vanillaItem": "GREEN_RUPEE", "categories": ["cZorasFountain", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_ZORAS_FOUNTAIN"}, + "ZF_UNDERWATER_GREEN_RUPEE_3": { "type": "Collectable", "scene": "0x59", "flag": "0x22", "name": "ZF Underwater Green Rupee 3", "HintKey": "ZF_UNDERWATER_GREEN_RUPEE_3", "vanillaItem": "GREEN_RUPEE", "categories": ["cZorasFountain", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_ZORAS_FOUNTAIN"}, + "ZF_UNDERWATER_GREEN_RUPEE_4": { "type": "Collectable", "scene": "0x59", "flag": "0x23", "name": "ZF Underwater Green Rupee 4", "HintKey": "ZF_UNDERWATER_GREEN_RUPEE_4", "vanillaItem": "GREEN_RUPEE", "categories": ["cZorasFountain", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_ZORAS_FOUNTAIN"}, + "ZF_UNDERWATER_GREEN_RUPEE_5": { "type": "Collectable", "scene": "0x59", "flag": "0x24", "name": "ZF Underwater Green Rupee 5", "HintKey": "ZF_UNDERWATER_GREEN_RUPEE_5", "vanillaItem": "GREEN_RUPEE", "categories": ["cZorasFountain", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_ZORAS_FOUNTAIN"}, + "ZF_UNDERWATER_GREEN_RUPEE_6": { "type": "Collectable", "scene": "0x59", "flag": "0x25", "name": "ZF Underwater Green Rupee 6", "HintKey": "ZF_UNDERWATER_GREEN_RUPEE_6", "vanillaItem": "GREEN_RUPEE", "categories": ["cZorasFountain", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_ZORAS_FOUNTAIN"}, + "ZF_UNDERWATER_GREEN_RUPEE_7": { "type": "Collectable", "scene": "0x59", "flag": "0x26", "name": "ZF Underwater Green Rupee 7", "HintKey": "ZF_UNDERWATER_GREEN_RUPEE_7", "vanillaItem": "GREEN_RUPEE", "categories": ["cZorasFountain", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_ZORAS_FOUNTAIN"}, + "ZF_UNDERWATER_GREEN_RUPEE_8": { "type": "Collectable", "scene": "0x59", "flag": "0x27", "name": "ZF Underwater Green Rupee 8", "HintKey": "ZF_UNDERWATER_GREEN_RUPEE_8", "vanillaItem": "GREEN_RUPEE", "categories": ["cZorasFountain", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_ZORAS_FOUNTAIN"}, + "ZF_UNDERWATER_GREEN_RUPEE_9": { "type": "Collectable", "scene": "0x59", "flag": "0x28", "name": "ZF Underwater Green Rupee 9", "HintKey": "ZF_UNDERWATER_GREEN_RUPEE_9", "vanillaItem": "GREEN_RUPEE", "categories": ["cZorasFountain", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_ZORAS_FOUNTAIN"}, + "ZF_UNDERWATER_GREEN_RUPEE_10": { "type": "Collectable", "scene": "0x59", "flag": "0x29", "name": "ZF Underwater Green Rupee 10", "HintKey": "ZF_UNDERWATER_GREEN_RUPEE_10", "vanillaItem": "GREEN_RUPEE", "categories": ["cZorasFountain", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_ZORAS_FOUNTAIN"}, + "ZF_UNDERWATER_GREEN_RUPEE_11": { "type": "Collectable", "scene": "0x59", "flag": "0x2A", "name": "ZF Underwater Green Rupee 11", "HintKey": "ZF_UNDERWATER_GREEN_RUPEE_11", "vanillaItem": "GREEN_RUPEE", "categories": ["cZorasFountain", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_ZORAS_FOUNTAIN"}, + "ZF_UNDERWATER_GREEN_RUPEE_12": { "type": "Collectable", "scene": "0x59", "flag": "0x2B", "name": "ZF Underwater Green Rupee 12", "HintKey": "ZF_UNDERWATER_GREEN_RUPEE_12", "vanillaItem": "GREEN_RUPEE", "categories": ["cZorasFountain", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_ZORAS_FOUNTAIN"}, + "ZF_UNDERWATER_GREEN_RUPEE_13": { "type": "Collectable", "scene": "0x59", "flag": "0x2C", "name": "ZF Underwater Green Rupee 13", "HintKey": "ZF_UNDERWATER_GREEN_RUPEE_13", "vanillaItem": "GREEN_RUPEE", "categories": ["cZorasFountain", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_ZORAS_FOUNTAIN"}, + "ZF_UNDERWATER_GREEN_RUPEE_14": { "type": "Collectable", "scene": "0x59", "flag": "0x2D", "name": "ZF Underwater Green Rupee 14", "HintKey": "ZF_UNDERWATER_GREEN_RUPEE_14", "vanillaItem": "GREEN_RUPEE", "categories": ["cZorasFountain", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_ZORAS_FOUNTAIN"}, + "ZF_UNDERWATER_GREEN_RUPEE_15": { "type": "Collectable", "scene": "0x59", "flag": "0x2E", "name": "ZF Underwater Green Rupee 15", "HintKey": "ZF_UNDERWATER_GREEN_RUPEE_15", "vanillaItem": "GREEN_RUPEE", "categories": ["cZorasFountain", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_ZORAS_FOUNTAIN"}, + "ZF_UNDERWATER_GREEN_RUPEE_16": { "type": "Collectable", "scene": "0x59", "flag": "0x2F", "name": "ZF Underwater Green Rupee 16", "HintKey": "ZF_UNDERWATER_GREEN_RUPEE_16", "vanillaItem": "GREEN_RUPEE", "categories": ["cZorasFountain", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_ZORAS_FOUNTAIN"}, + "ZF_UNDERWATER_GREEN_RUPEE_17": { "type": "Collectable", "scene": "0x59", "flag": "0x30", "name": "ZF Underwater Green Rupee 17", "HintKey": "ZF_UNDERWATER_GREEN_RUPEE_17", "vanillaItem": "GREEN_RUPEE", "categories": ["cZorasFountain", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_ZORAS_FOUNTAIN"}, + "ZF_UNDERWATER_GREEN_RUPEE_18": { "type": "Collectable", "scene": "0x59", "flag": "0x31", "name": "ZF Underwater Green Rupee 18", "HintKey": "ZF_UNDERWATER_GREEN_RUPEE_18", "vanillaItem": "GREEN_RUPEE", "categories": ["cZorasFountain", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_ZORAS_FOUNTAIN"}, + + "GRAVEYARD_DAMPE_RACE_GREEN_RUPEE_1": { "type": "Collectable", "scene": "0x48", "flag": "0x38", "name": "GY Dampe Race Green Rupee 1", "HintKey": "GRAVEYARD_DAMPE_RACE_GREEN_RUPEE_1", "vanillaItem": "GREEN_RUPEE", "categories": ["cGraveyard", "cKakariko", "cMinigame", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_GRAVEYARD"}, + "GRAVEYARD_DAMPE_RACE_GREEN_RUPEE_2": { "type": "Collectable", "scene": "0x48", "flag": "0x39", "name": "GY Dampe Race Green Rupee 2", "HintKey": "GRAVEYARD_DAMPE_RACE_GREEN_RUPEE_2", "vanillaItem": "GREEN_RUPEE", "categories": ["cGraveyard", "cKakariko", "cMinigame", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_GRAVEYARD"}, + "GRAVEYARD_DAMPE_RACE_GREEN_RUPEE_3": { "type": "Collectable", "scene": "0x48", "flag": "0x3A", "name": "GY Dampe Race Green Rupee 3", "HintKey": "GRAVEYARD_DAMPE_RACE_GREEN_RUPEE_3", "vanillaItem": "GREEN_RUPEE", "categories": ["cGraveyard", "cKakariko", "cMinigame", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_GRAVEYARD"}, + "GRAVEYARD_DAMPE_RACE_GREEN_RUPEE_4": { "type": "Collectable", "scene": "0x48", "flag": "0x3B", "name": "GY Dampe Race Green Rupee 4", "HintKey": "GRAVEYARD_DAMPE_RACE_GREEN_RUPEE_4", "vanillaItem": "GREEN_RUPEE", "categories": ["cGraveyard", "cKakariko", "cMinigame", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_GRAVEYARD"}, + "GRAVEYARD_DAMPE_RACE_GREEN_RUPEE_5": { "type": "Collectable", "scene": "0x48", "flag": "0x3C", "name": "GY Dampe Race Green Rupee 5", "HintKey": "GRAVEYARD_DAMPE_RACE_GREEN_RUPEE_5", "vanillaItem": "GREEN_RUPEE", "categories": ["cGraveyard", "cKakariko", "cMinigame", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_GRAVEYARD"}, + "GRAVEYARD_DAMPE_RACE_GREEN_RUPEE_6": { "type": "Collectable", "scene": "0x48", "flag": "0x3D", "name": "GY Dampe Race Green Rupee 6", "HintKey": "GRAVEYARD_DAMPE_RACE_GREEN_RUPEE_6", "vanillaItem": "GREEN_RUPEE", "categories": ["cGraveyard", "cKakariko", "cMinigame", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_GRAVEYARD"}, + "GRAVEYARD_DAMPE_RACE_GREEN_RUPEE_7": { "type": "Collectable", "scene": "0x48", "flag": "0x3E", "name": "GY Dampe Race Green Rupee 7", "HintKey": "GRAVEYARD_DAMPE_RACE_GREEN_RUPEE_7", "vanillaItem": "GREEN_RUPEE", "categories": ["cGraveyard", "cKakariko", "cMinigame", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_GRAVEYARD"}, + "GRAVEYARD_DAMPE_RACE_GREEN_RUPEE_8": { "type": "Collectable", "scene": "0x48", "flag": "0x3F", "name": "GY Dampe Race Green Rupee 8", "HintKey": "GRAVEYARD_DAMPE_RACE_GREEN_RUPEE_8", "vanillaItem": "GREEN_RUPEE", "categories": ["cGraveyard", "cKakariko", "cMinigame", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_GRAVEYARD"}, + + "ICE_CAVERN_RED_ICE_BLUE_RUPEE": { "type": "Collectable", "scene": "0x09", "flag": "0x21", "name": "Ice Cavern Red Ice Blue Rupee", "HintKey": "ICE_CAVERN_RED_ICE_BLUE_RUPEE", "vanillaItem": "BLUE_RUPEE", "categories": ["cIceCavern", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_ICE_CAVERN"}, + "ICE_CAVERN_PUSH_BLOCK_ROOM_RED_RUPEE_1": { "type": "Collectable", "scene": "0x09", "flag": "0x2E", "name": "Ice Cavern Block Room Red Rupee 1", "HintKey": "ICE_CAVERN_PUSH_BLOCK_ROOM_RED_RUPEE_1", "vanillaItem": "RED_RUPEE", "categories": ["cIceCavern", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_ICE_CAVERN"}, + "ICE_CAVERN_PUSH_BLOCK_ROOM_RED_RUPEE_2": { "type": "Collectable", "scene": "0x09", "flag": "0x2F", "name": "Ice Cavern Block Room Red Rupee 2", "HintKey": "ICE_CAVERN_PUSH_BLOCK_ROOM_RED_RUPEE_2", "vanillaItem": "RED_RUPEE", "categories": ["cIceCavern", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_ICE_CAVERN"}, + "ICE_CAVERN_PUSH_BLOCK_ROOM_RED_RUPEE_3": { "type": "Collectable", "scene": "0x09", "flag": "0x30", "name": "Ice Cavern Block Room Red Rupee 3", "HintKey": "ICE_CAVERN_PUSH_BLOCK_ROOM_RED_RUPEE_3", "vanillaItem": "RED_RUPEE", "categories": ["cIceCavern", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_ICE_CAVERN"}, + + "BOTTOM_OF_THE_WELL_CENTER_ROOM_PIT_FALL_BLUE_RUPEE_1": { "type": "Collectable", "scene": "0x08", "flag": "0x02", "name": "Bottom of the Well Center Pit fall Blue Rupee 1", "HintKey": "BOTTOM_OF_THE_WELL_CENTER_ROOM_PIT_FALL_BLUE_RUPEE_1", "vanillaItem": "BLUE_RUPEE", "categories": ["cBottomOfTheWell", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_BOTTOM_OF_THE_WELL"}, + "BOTTOM_OF_THE_WELL_CENTER_ROOM_PIT_FALL_BLUE_RUPEE_2": { "type": "Collectable", "scene": "0x08", "flag": "0x03", "name": "Bottom of the Well Center Pit fall Blue Rupee 2", "HintKey": "BOTTOM_OF_THE_WELL_CENTER_ROOM_PIT_FALL_BLUE_RUPEE_2", "vanillaItem": "BLUE_RUPEE", "categories": ["cBottomOfTheWell", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_BOTTOM_OF_THE_WELL"}, + "BOTTOM_OF_THE_WELL_CENTER_ROOM_PIT_FALL_BLUE_RUPEE_3": { "type": "Collectable", "scene": "0x08", "flag": "0x04", "name": "Bottom of the Well Center Pit fall Blue Rupee 3", "HintKey": "BOTTOM_OF_THE_WELL_CENTER_ROOM_PIT_FALL_BLUE_RUPEE_3", "vanillaItem": "BLUE_RUPEE", "categories": ["cBottomOfTheWell", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_BOTTOM_OF_THE_WELL"}, + "BOTTOM_OF_THE_WELL_CENTER_ROOM_PIT_FALL_BLUE_RUPEE_4": { "type": "Collectable", "scene": "0x08", "flag": "0x05", "name": "Bottom of the Well Center Pit fall Blue Rupee 4", "HintKey": "BOTTOM_OF_THE_WELL_CENTER_ROOM_PIT_FALL_BLUE_RUPEE_4", "vanillaItem": "BLUE_RUPEE", "categories": ["cBottomOfTheWell", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_BOTTOM_OF_THE_WELL"}, + "BOTTOM_OF_THE_WELL_CENTER_ROOM_PIT_FALL_BLUE_RUPEE_5": { "type": "Collectable", "scene": "0x08", "flag": "0x06", "name": "Bottom of the Well Center Pit fall Blue Rupee 5", "HintKey": "BOTTOM_OF_THE_WELL_CENTER_ROOM_PIT_FALL_BLUE_RUPEE_5", "vanillaItem": "BLUE_RUPEE", "categories": ["cBottomOfTheWell", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_BOTTOM_OF_THE_WELL"}, + + "JABU_JABUS_BELLY_MQ_NEAR_COW_BOTTOM_GREEN_RUPEE": { "type": "Collectable", "scene": "0x02", "flag": "0x01", "name": "Jabu Jabus Belly MQ Near Cow Bottom Green Rupee", "HintKey": "JABU_JABUS_BELLY_MQ_NEAR_COW_BOTTOM_GREEN_RUPEE", "vanillaItem": "GREEN_RUPEE", "categories": ["cJabuJabusBelly", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_JABUJABUS_BELLY"}, + "JABU_JABUS_BELLY_MQ_NEAR_COW_MIDDLE_GREEN_RUPEE": { "type": "Collectable", "scene": "0x02", "flag": "0x02", "name": "Jabu Jabus Belly MQ Near Cow Middle Green Rupee", "HintKey": "JABU_JABUS_BELLY_MQ_NEAR_COW_MIDDLE_GREEN_RUPEE", "vanillaItem": "GREEN_RUPEE", "categories": ["cJabuJabusBelly", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_JABUJABUS_BELLY"}, + "JABU_JABUS_BELLY_MQ_NEAR_COW_TOP_GREEN_RUPEE": { "type": "Collectable", "scene": "0x02", "flag": "0x03", "name": "Jabu Jabus Belly MQ Near Cow Top Green Rupee", "HintKey": "JABU_JABUS_BELLY_MQ_NEAR_COW_TOP_GREEN_RUPEE", "vanillaItem": "GREEN_RUPEE", "categories": ["cJabuJabusBelly", "cFreestandingRupee"], "SpoilerCollectionCheckGroup": "GROUP_DUNGEON_JABUJABUS_BELLY"}, + + /*------------------------------- + --- GOSSIP STONES --- + -------------------------------*/ + // These are not actual locations, but are filler spots used for hint reachability. - OoT Randomizer + // flag + 0x400 = message ID + "DMC_GOSSIP_STONE": { "type": "HintStone", "scene": "0x00", "flag": "0x05", "name": "DMC Gossip Stone", "categories": []}, + "DMT_GOSSIP_STONE": { "type": "HintStone", "scene": "0x00", "flag": "0x04", "name": "DMT Gossip Stone", "categories": []}, + "COLOSSUS_GOSSIP_STONE": { "type": "HintStone", "scene": "0x00", "flag": "0x1A", "name": "Colossus Gossip Stone", "categories": []}, + "DODONGOS_CAVERN_GOSSIP_STONE": { "type": "HintStone", "scene": "0x00", "flag": "0x14", "name": "Dodongo's Cavern Gossip Stone", "categories": []}, + "GV_GOSSIP_STONE": { "type": "HintStone", "scene": "0x00", "flag": "0x11", "name": "GV Gossip Stone", "categories": []}, + "GC_MAZE_GOSSIP_STONE": { "type": "HintStone", "scene": "0x00", "flag": "0x15", "name": "GC Maze Gossip Stone", "categories": []}, + "GC_MEDIGORON_GOSSIP_STONE": { "type": "HintStone", "scene": "0x00", "flag": "0x19", "name": "GC Medigoron Gossip Stone", "categories": []}, + "GRAVEYARD_GOSSIP_STONE": { "type": "HintStone", "scene": "0x00", "flag": "0x0A", "name": "GY Gossip Stone", "categories": []}, + "HC_MALON_GOSSIP_STONE": { "type": "HintStone", "scene": "0x00", "flag": "0x12", "name": "HC Malon Gossip Stone", "categories": []}, + "HC_ROCK_WALL_GOSSIP_STONE": { "type": "HintStone", "scene": "0x00", "flag": "0x0B", "name": "HC Rock Wall Gossip Stone", "categories": []}, + "HC_STORMS_GROTTO_GOSSIP_STONE": { "type": "HintStone", "scene": "0x00", "flag": "0x13", "name": "HC Storms Grotto Gossip Stone", "categories": []}, + "KF_DEKU_TREE_GOSSIP_STONE_LEFT": { "type": "HintStone", "scene": "0x00", "flag": "0x1F", "name": "KF Deku Tree Left Gossip Stone", "categories": []}, + "KF_DEKU_TREE_GOSSIP_STONE_RIGHT": { "type": "HintStone", "scene": "0x00", "flag": "0x20", "name": "KF Deku Tree Right Gossip Stone", "categories": []}, + "KF_GOSSIP_STONE": { "type": "HintStone", "scene": "0x00", "flag": "0x1E", "name": "KF Gossip Stone", "categories": []}, + "LH_LAB_GOSSIP_STONE": { "type": "HintStone", "scene": "0x00", "flag": "0x03", "name": "LH Lab Gossip Stone", "categories": []}, + "LH_GOSSIP_STONE_SOUTHEAST": { "type": "HintStone", "scene": "0x00", "flag": "0x0F", "name": "LH Southeast Gossip Stone", "categories": []}, + "LH_GOSSIP_STONE_SOUTHWEST": { "type": "HintStone", "scene": "0x00", "flag": "0x08", "name": "LH Southwest Gossip Stone", "categories": []}, + "LW_GOSSIP_STONE": { "type": "HintStone", "scene": "0x00", "flag": "0x1D", "name": "LW Gossip Stone", "categories": []}, + "SFM_MAZE_GOSSIP_STONE_LOWER": { "type": "HintStone", "scene": "0x00", "flag": "0x16", "name": "SFM Maze Lower Gossip Stone", "categories": []}, + "SFM_MAZE_GOSSIP_STONE_UPPER": { "type": "HintStone", "scene": "0x00", "flag": "0x17", "name": "SFM Maze Upper Gossip Stone", "categories": []}, + "SFM_SARIA_GOSSIP_STONE": { "type": "HintStone", "scene": "0x00", "flag": "0x1C", "name": "SFM Saria Gossip Stone", "categories": []}, + "TOT_GOSSIP_STONE_LEFT": { "type": "HintStone", "scene": "0x00", "flag": "0x06", "name": "ToT Left Gossip Stone", "categories": []}, + "TOT_GOSSIP_STONE_RIGHT": { "type": "HintStone", "scene": "0x00", "flag": "0x07", "name": "ToT Left Center Gossip Stone", "categories": []}, + "TOT_GOSSIP_STONE_RIGHT_CENTER": { "type": "HintStone", "scene": "0x00", "flag": "0x10", "name": "ToT Right Center Gossip Stone", "categories": []}, + "TOT_GOSSIP_STONE_LEFT_CENTER": { "type": "HintStone", "scene": "0x00", "flag": "0x0E", "name": "ToT Right Gossip Stone", "categories": []}, + "ZD_GOSSIP_STONE": { "type": "HintStone", "scene": "0x00", "flag": "0x09", "name": "ZD Gossip Stone", "categories": []}, + "ZF_FAIRY_GOSSIP_STONE": { "type": "HintStone", "scene": "0x00", "flag": "0x01", "name": "Fairy Gossip Stone", "categories": []}, + "ZF_JABU_GOSSIP_STONE": { "type": "HintStone", "scene": "0x00", "flag": "0x02", "name": "Jabu Gossip Stone", "categories": []}, + "ZR_NEAR_GROTTOS_GOSSIP_STONE": { "type": "HintStone", "scene": "0x00", "flag": "0x0D", "name": "ZR Near Grottos Gossip Stone", "categories": []}, + "ZR_NEAR_DOMAIN_GOSSIP_STONE": { "type": "HintStone", "scene": "0x00", "flag": "0x0C", "name": "ZR Near Domain Gossip Stone", "categories": []}, + "HF_COW_GROTTO_GOSSIP_STONE": { "type": "HintStone", "scene": "0x00", "flag": "0x1B", "name": "HF Cow Grotto Gossip Stone", "categories": []}, + + "HF_NEAR_MARKET_GROTTO_GOSSIP_STONE": { "type": "HintStone", "scene": "0x00", "flag": "0x30", "name": "HF Near Market Gossip Stone", "categories": []}, + "HF_SOUTHEAST_GROTTO_GOSSIP_STONE": { "type": "HintStone", "scene": "0x00", "flag": "0x32", "name": "HF Southeast Gossip Stone", "categories": []}, + "HF_OPEN_GROTTO_GOSSIP_STONE": { "type": "HintStone", "scene": "0x00", "flag": "0x33", "name": "HF Open Grotto Gossip Stone", "categories": []}, + "KAK_OPEN_GROTTO_GOSSIP_STONE": { "type": "HintStone", "scene": "0x00", "flag": "0x38", "name": "Kak Open Grotto Gossip Stone", "categories": []}, + "ZR_OPEN_GROTTO_GOSSIP_STONE": { "type": "HintStone", "scene": "0x00", "flag": "0x39", "name": "ZR Open Grotto Gossip Stone", "categories": []}, + "KF_STORMS_GROTTO_GOSSIP_STONE": { "type": "HintStone", "scene": "0x00", "flag": "0x3C", "name": "KF Storms Gossip Stone", "categories": []}, + "LW_NEAR_SHORTCUTS_GROTTO_GOSSIP_STONE": { "type": "HintStone", "scene": "0x00", "flag": "0x34", "name": "LW Near Shortcuts Gossip Stone", "categories": []}, + "DMT_STORMS_GROTTO_GOSSIP_STONE": { "type": "HintStone", "scene": "0x00", "flag": "0x37", "name": "DMT Storms Grotto Gossip Stone", "categories": []}, + "DMC_UPPER_GROTTO_GOSSIP_STONE": { "type": "HintStone", "scene": "0x00", "flag": "0x3A", "name": "DMC Upper Grotto Gossip Stone", "categories": []}, + + "GANONDORF_HINT": { "type": "OtherHint", "scene": "0x00", "flag": "0x00", "name": "Ganondorf Hint", "categories": []} +} \ No newline at end of file diff --git a/data/settings_table.jsonc b/data/settings_table.jsonc new file mode 100644 index 00000000..43a16146 --- /dev/null +++ b/data/settings_table.jsonc @@ -0,0 +1,721 @@ +{ + // NOTES: + // option subsets can be defined by putting an underscore before the name such as "_dungeonOptions" since it shares all elements with "worldOptions" + // ommit the _ when referring to a broader category such as the categories in "startingInventoryOptions" + // when defining "descriptions", '' can be used to define a string literal instead of a variable name + // defining "options" or "descriptions" as a string instead of an array will treat it as a variable rather than an array of string literals in the generated file + // to define a string litteral instead of a variable use '' inside of the "" like "'description text'" + + // vector definitions + "_definitions": { + "bottleOptions": [ + "Off", + "Empty Bottle", + "Red Potion", + "Green Potion", + "Blue Potion", + "Fairy", + "Fish", + "Milk", + "Blue Fire", + "Bugs", + "Big Poe", + "Half Milk", + "Poe" + ], + "childTunicOptions": [ + "$RANDOM_CHOICE", + "$RANDOM_COLOR", + "$CUSTOM_COLOR", + "Kokiri Green", + "Goron Red", + "Zora Blue", + "Black", + "White", + "Orange", + "Yellow", + "Cyan", + "Indigo", + "Purple", + "Pink", + "Dark Gray", + "Salmon", + "Wine Red", + "Beige", + "Brown", + "Sand", + "Tea Green", + "Dark Green", + "Powder Blue", + "Teal", + "Sky Blue", + "Faded Blue", + "Lavender", + "Magenta", + "Mauve", + "Silver", + "Gold", + "Rainbow", + "Same as Kokiri" + ], + "tunicOptions": [ + "$RANDOM_CHOICE", + "$RANDOM_COLOR", + "$CUSTOM_COLOR", + "Kokiri Green", + "Goron Red", + "Zora Blue", + "Black", + "White", + "Orange", + "Yellow", + "Cyan", + "Indigo", + "Purple", + "Pink", + "Dark Gray", + "Salmon", + "Wine Red", + "Beige", + "Brown", + "Sand", + "Tea Green", + "Dark Green", + "Powder Blue", + "Teal", + "Sky Blue", + "Faded Blue", + "Lavender", + "Magenta", + "Mauve", + "Silver", + "Gold", + "Rainbow" + ], + "gauntletOptions": [ + "$RANDOM_CHOICE", + "$RANDOM_COLOR", + "$CUSTOM_COLOR", + "Silver", + "Gold", + "Black", + "Green", + "Blue", + "Bronze", + "Red", + "Sky Blue", + "Pink", + "Magenta", + "Orange", + "Lime", + "Purple" + ], + "naviOuterOptionNames": [ + "$RANDOM_CHOICE", + "$RANDOM_COLOR", + "$CUSTOM_COLOR", + "White", + "Green", + "Light Blue", + "Yellow", + "Red", + "Magenta", + "Gold", + "Black", + "Tatl", + "Tael", + "Fi", + "Ciela", + "Epona", + "Ezlo", + "King Red Lions", + "Linebeck", + "Loftwing", + "Midna", + "Phantom Zelda", + "Rainbow", + "Same as Inner" + ], + "naviInnerOptionNames": [ + "$RANDOM_CHOICE", + "$RANDOM_COLOR", + "$CUSTOM_COLOR", + "White", + "Green", + "Light Blue", + "Yellow", + "Red", + "Magenta", + "Gold", + "Black", + "Tatl", + "Tael", + "Fi", + "Ciela", + "Epona", + "Ezlo", + "King Red Lions", + "Linebeck", + "Loftwing", + "Midna", + "Phantom Zelda", + "Rainbow" + ], + "weaponTrailOuterOptionNames": [ + "$RANDOM_CHOICE", + "$RANDOM_COLOR", + "$CUSTOM_COLOR", + "White", + "Black", + "Red", + "Green", + "Blue", + "Yellow", + "Cyan", + "Magenta", + "Orange", + "Gold", + "Purple", + "Pink", + "Rainbow", + "Same as Inner" + ], + "weaponTrailInnerOptionNames": [ + "$RANDOM_CHOICE", + "$RANDOM_COLOR", + "$CUSTOM_COLOR", + "White", + "Black", + "Red", + "Green", + "Blue", + "Yellow", + "Cyan", + "Magenta", + "Orange", + "Gold", + "Purple", + "Pink", + "Rainbow" + ], + "trailDurationOptionNames": [ + "Disabled", + "Very short", + "Vanilla", + "Long", + "Very Long", + "Lightsaber" + ], + "chuTrailDurationOptionNames": [ + "Disabled", + "Short", + "Vanilla", + "Long", + "Very Long", + "Hero's Path" + ] + }, + + "openOptions": { + "RandomizeOpen": { "type": "Bool", "name": "Randomize Settings", "falsetxt": "No", "truetxt": "Yes", "descriptions": ["openRandomize"], "category": "Toggle"}, + "OpenForest": { "type": "Choice", "name": "Forest", "options": ["Closed", "Open", "Closed Deku"], "descriptions": ["forestClosed", "forestOpen", "forestClosedDeku"], "category": "Setting", "default": "Open"}, + "OpenKakariko": { "type": "Choice", "name": "Kakariko Gate", "options": ["Closed", "Open"], "descriptions": ["kakGateClosed", "kakGateOpen"]}, + "OpenDoorOfTime": { "type": "Choice", "name": "Door of Time", "options": ["Open", "Closed", "Intended"], "descriptions": ["doorOfTimeOpen", "doorOfTimeClosed", "doorOfTimeIntended"]}, + "ZorasFountain": { "type": "Choice", "name": "Zora's Fountain", "options": ["Normal", "Adult", "Open"], "descriptions": ["fountainNormal", "fountainAdult", "fountainOpen"]}, + "OpenJabu": { "type": "Choice", "name": "Jabu-Jabu", "options": ["Closed", "Open"], "descriptions": ["jabuJabuCloseDesc", "jabuJabuOpenDesc"]}, + "GerudoFortress": { "type": "Choice", "name": "Gerudo Fortress", "options": ["Normal", "Fast", "Open"], "descriptions": ["gerudoNormal", "gerudoFast", "gerudoOpen"]}, + "Bridge": { "type": "Choice", "name": "Rainbow Bridge", "options": ["Open", "Vanilla", "Stones", "Medallions", "Rewards", "Dungeons", "Tokens", "Hearts"], + "descriptions": ["bridgeOpen", "bridgeVanilla", "bridgeStones", "bridgeMedallions", "bridgeRewards", "bridgeDungeons", "bridgeTokens", "bridgeHearts"], "category": "Setting", "default": "Medallions"}, + "BridgeStoneCount": { "type": "Count", "indent": 2, "name": "Stone Count", "min": 0, "max": 3, "descriptions": ["bridgeStoneCountDesc"], "category": "Setting", "default": 1, "default_hidden": true}, + "BridgeMedallionCount": { "type": "Count", "indent": 2, "name": "Medallion Count", "min": 0, "max": 6, "descriptions": ["bridgeMedallionCountDesc"], "category": "Setting", "default": 6}, + "BridgeRewardCount": { "type": "Count", "indent": 2, "name": "Reward Count", "min": 0, "max": 9, "descriptions": ["bridgeRewardCountDesc"], "category": "Setting", "default": 1, "default_hidden": true}, + "BridgeDungeonCount": { "type": "Count", "indent": 2, "name": "Dungeon Count", "min": 0, "max": 8, "descriptions": ["bridgeDungeonCountDesc"], "category": "Setting", "default": 1, "default_hidden": true}, + "BridgeTokenCount": { "type": "Count", "indent": 2, "name": "Token Count", "min": 0, "max": 100, "descriptions": ["bridgeTokenCountDesc"], "category": "Setting", "default": 1, "default_hidden": true}, + "BridgeHeartCount": { "type": "Count", "indent": 2, "name": "Heart Count", "min": 0, "max": 20, "descriptions": ["bridgeHeartCountDesc"], "category": "Setting", "default": 1, "default_hidden": true}, + "RandomGanonsTrials": { "type": "Bool", "name": "Random Ganon's Trials", "falsetxt": "Off", "truetxt": "On", "descriptions": ["randomGanonsTrialsDesc"], "category": "Setting", "default": "On"}, + "GanonsTrialsCount": { "type": "Count", "indent": 2, "name": "Trial Count", "min": 0, "max": 6, "descriptions": ["ganonsTrialCountDesc"], "category": "Setting", "default": 1, "default_hidden": true} + }, + "worldOptions": { + "RandomizeWorld": { "type": "Bool", "name": "Randomize Settings", "falsetxt": "No", "truetxt": "Yes", "descriptions": ["worldRandomize"], "category": "Toggle"}, + "StartingAge": { "type": "Choice", "name": "Starting Age", "options": ["Adult", "Child", "Random"], "descriptions": ["ageDesc"], "category": "Setting", "default": "Child"}, + "ShuffleEntrances": { "type": "Bool", "name": "Shuffle Entrances", "falsetxt": "Off", "truetxt": "On", "descriptions": ["shuffleEntrancesDesc"]}, + "ShuffleDungeonEntrances": { "type": "Choice", "indent": 2, "name": "Dungeon Entrances", "options": ["Off", "On", "On + Ganon"], "descriptions": ["dungeonEntrancesDesc"]}, + "ShuffleBossEntrances": { "type": "Choice", "indent": 2, "name": "Boss Entrances", "options": ["Off", "Age Restricted", "Full"], "descriptions": ["bossEntrancesDesc"]}, + "ShuffleOverworldEntrances": { "type": "Bool", "indent": 2, "name": "Overworld Entrances", "falsetxt": "Off", "truetxt": "On", "descriptions": ["overworldEntrancesDesc"]}, + "ShuffleInteriorEntrances": { "type": "Choice", "indent": 2, "name": "Interior Entrances", "options": ["Off", "Simple", "All"], "descriptions": ["interiorEntrancesOff", "interiorEntrancesSimple", "interiorEntrancesAll"]}, + "ShuffleGrottoEntrances": { "type": "Bool", "indent": 2, "name": "Grottos Entrances", "falsetxt": "Off", "truetxt": "On", "descriptions": ["grottoEntrancesDesc"]}, + "ShuffleOwlDrops": { "type": "Bool", "indent": 2, "name": "Owl Drops", "falsetxt": "Off", "truetxt": "On", "descriptions": ["owlDropsDesc"]}, + "ShuffleWarpSongs": { "type": "Bool", "indent": 2, "name": "Warp Songs", "falsetxt": "Off", "truetxt": "On", "descriptions": ["warpSongsDesc"]}, + "ShuffleOverworldSpawns": { "type": "Bool", "indent": 2, "name": "Overworld Spawns", "falsetxt": "Off", "truetxt": "On", "descriptions": ["overworldSpawnsDesc"]}, + "MixedEntrancePools": { "type": "Bool", "indent": 2, "name": "Mixed Entrance Pools", "falsetxt": "Off", "truetxt": "On", "descriptions": ["mixedPoolsDesc"]}, + "MixDungeons": { "type": "Bool", "indent": 4, "name": "Mix Dungeons", "falsetxt": "Off", "truetxt": "On", "descriptions": ["mixDungeonsDesc"]}, + "MixOverworld": { "type": "Bool", "indent": 4, "name": "Mix Overworld", "falsetxt": "Off", "truetxt": "On", "descriptions": ["mixOverworldDesc"]}, + "MixInteriors": { "type": "Bool", "indent": 4, "name": "Mix Interiors", "falsetxt": "Off", "truetxt": "On", "descriptions": ["mixInteriorsDesc"]}, + "MixGrottos": { "type": "Bool", "indent": 4, "name": "Mix Grottos", "falsetxt": "Off", "truetxt": "On", "descriptions": ["mixGrottosDesc"]}, + "DecoupleEntrances": { "type": "Bool", "indent": 2, "name": "Decouple Entrances", "falsetxt": "Off", "truetxt": "On", "descriptions": ["decoupledEntrancesDesc"]}, + "BombchusInLogic": { "type": "Bool", "name": "Bombchus in Logic", "falsetxt": "Off", "truetxt": "On", "descriptions": ["bombchuLogicDesc"]}, + "AmmoDrops": { "type": "Choice", "name": "Ammo Drops", "options": ["On", "On + Bombchu", "Off"], "descriptions": ["defaultAmmoDropsDesc", "bombchuDropsDesc", "noAmmoDropsDesc"], "category": "Setting", "default": "On + Bombchu"}, + "HeartDropRefill": { "type": "Choice", "name": "Heart Drops and Refills", "options": ["On", "No Drop", "No Refill", "Off"], "descriptions": ["defaultHeartDropsDesc", "noHeartDropsDesc", "noHeartRefillDesc", "scarceHeartsDesc"], "category": "Setting", "default": "On"}, + "MQDungeonCount": { "type": "NumericChoice", "name": "MQ Dungeon Count", "min": 0, "max": 12, "options": ["__num__", "Random"], "descriptions": ["mqDungeonCountDesc"]}, + "SetDungeonTypes": { "type": "Bool", "name": "Set Dungeon Types", "truetxt": "On", "falsetxt": "Off", "descriptions": ["setDungeonTypesDesc"]}, + "_dungeonOptions": { + "MQDeku": { "type": "Choice", "indent": 2, "name": "Deku Tree", "options": ["Vanilla", "Master Quest", "Random"], "descriptions": ["setDungeonTypesDesc"]}, + "MQDodongo": { "type": "Choice", "indent": 2, "name": "Dodongo's Cavern", "options": ["Vanilla", "Master Quest", "Random"], "descriptions": ["setDungeonTypesDesc"]}, + "MQJabu": { "type": "Choice", "indent": 2, "name": "Jabu-Jabu's Belly", "options": ["Vanilla", "Master Quest", "Random"], "descriptions": ["setDungeonTypesDesc"]}, + "MQForest": { "type": "Choice", "indent": 2, "name": "Forest Temple", "options": ["Vanilla", "Master Quest", "Random"], "descriptions": ["setDungeonTypesDesc"]}, + "MQFire": { "type": "Choice", "indent": 2, "name": "Fire Temple", "options": ["Vanilla", "Master Quest", "Random"], "descriptions": ["setDungeonTypesDesc"]}, + "MQWater": { "type": "Choice", "indent": 2, "name": "Water Temple", "options": ["Vanilla", "Master Quest", "Random"], "descriptions": ["setDungeonTypesDesc"]}, + "MQSpirit": { "type": "Choice", "indent": 2, "name": "Spirit Temple", "options": ["Vanilla", "Master Quest", "Random"], "descriptions": ["setDungeonTypesDesc"]}, + "MQShadow": { "type": "Choice", "indent": 2, "name": "Shadow Temple", "options": ["Vanilla", "Master Quest", "Random"], "descriptions": ["setDungeonTypesDesc"]}, + "MQBotW": { "type": "Choice", "indent": 2, "name": "Bottom of the Well", "options": ["Vanilla", "Master Quest", "Random"], "descriptions": ["setDungeonTypesDesc"]}, + "MQIceCavern": { "type": "Choice", "indent": 2, "name": "Ice Cavern", "options": ["Vanilla", "Master Quest", "Random"], "descriptions": ["setDungeonTypesDesc"]}, + "MQGTG": { "type": "Choice", "indent": 2, "name": "Training Grounds", "options": ["Vanilla", "Master Quest", "Random"], "descriptions": ["setDungeonTypesDesc"]}, + "MQCastle": { "type": "Choice", "indent": 2, "name": "Ganon's Castle", "options": ["Vanilla", "Master Quest", "Random"], "descriptions": ["setDungeonTypesDesc"]} + }, + "TriforceHunt": { "type": "Bool", "name": "Triforce Hunt", "falsetxt": "Off", "truetxt": "On", "descriptions": ["triforceHuntDesc"]}, + "TriforcePiecesTotal": { "type": "Count", "indent": 2, "name": "Total pieces", "min": 1, "max": 200, "descriptions": ["triforcePiecesTotalDesc"], "category": "Setting", "default": 29}, + "TriforcePiecesRequired": { "type": "Count", "indent": 2, "name": "Required pieces", "min": 1, "max": 100, "descriptions": ["triforcePiecesRequiredDesc"], "category": "Setting", "default": 19}, + "Enemizer": { "type": "Bool", "name": "Enemy Randomizer", "falsetxt": "Off", "truetxt": "On", "descriptions": ["enemizerDesc"]}, + "EnemizerListToggle": { "type": "Bool", "indent": 2, "name": "Enemy List", "falsetxt": " >", "truetxt": "", "descriptions": ["enemizerListDesc"], "category": "Toggle"} + }, + "shuffleOptions": { + "RandomizeShuffle": { "type": "Bool", "name": "Randomize Settings", "falsetxt": "No", "truetxt": "Yes", "descriptions": ["shuffleRandomize"], "category": "Toggle"}, + "ShuffleRewards": { "type": "Choice", "name": "Shuffle Dungeon Rewards", "options": ["End of Dungeons", "Any Dungeon", "Overworld", "Anywhere"], "descriptions": ["shuffleRewardsEndOfDungeon", "shuffleRewardsAnyDungeon", "shuffleRewardsOverworld", "shuffleRewardsAnywhere"]}, + "LinksPocketItem": { "type": "Choice", "name": "Link's Pocket", "options": ["Dungeon Reward", "Advancement", "Anything", "Nothing"], "descriptions": ["linksPocketDungeonReward", "linksPocketAdvancement", "linksPocketAnything", "linksPocketNothing"]}, + "ShuffleSongs": { "type": "Choice", "name": "Shuffle Songs", "options": ["Song Locations", "Dungeon Rewards", "Anywhere"], "descriptions": ["songsSongLocations", "songsDungeonRewards", "songsAllLocations"]}, + "Shopsanity": { "type": "NumericChoice", "name": "Shopsanity", "min": 0, "max": 4, "options": ["Off", "__num__", "Random"], "descriptions": ["shopsOff", "shopsZero", "shopsOne", "shopsTwo", "shopsThree", "shopsFour", "shopsRandom"]}, + "ShopsanityPrices": { "type": "Choice", "indent": 2, "name": "Shopsanity Prices", "options": ["Random", "Affordable", "Child wallet", "Adult wallet", "Giant's wallet", "Tycoon wallet"], + "descriptions": ["shopPriceRandom", "shopPriceAffordable", "shopPriceChild", "shopPriceAdult", "shopPriceGiant", "shopPriceTycoon"]}, + "Tokensanity": { "type": "Choice", "name": "Tokensanity", "options": ["Off", "Dungeons", "Overworld", "All Tokens"], "descriptions": ["tokensOff", "tokensDungeon", "tokensOverworld", "tokensAllTokens"]}, + "Scrubsanity": { "type": "Choice", "name": "Scrub Shuffle", "options": ["Off", "Affordable", "Expensive", "Random Prices"], "descriptions": ["scrubsOff", "scrubsAffordable", "scrubsExpensive", "scrubsRandomPrices"]}, + "ShuffleCows": { "type": "Bool", "name": "Shuffle Cows", "falsetxt": "Off", "truetxt": "On", "descriptions": ["shuffleCowsDesc"]}, + "ShuffleKokiriSword": { "type": "Bool", "name": "Shuffle Kokiri Sword", "falsetxt": "Off", "truetxt": "On", "descriptions": ["kokiriSwordDesc"]}, + "ShuffleMasterSword": { "type": "Bool", "name": "Shuffle Master Sword", "falsetxt": "Off", "truetxt": "On", "descriptions": ["masterSwordDesc"]}, + "ShuffleOcarinas": { "type": "Bool", "name": "Shuffle Ocarinas", "falsetxt": "Off", "truetxt": "On", "descriptions": ["ocarinasDesc"]}, + "ShuffleWeirdEgg": { "type": "Bool", "name": "Shuffle Weird Egg", "falsetxt": "Off", "truetxt": "On", "descriptions": ["weirdEggDesc"]}, + "ShuffleZeldasLetter": { "type": "Bool", "name": "Shuffle Zelda's Letter", "falsetxt": "Off", "truetxt": "On", "descriptions": ["zeldasLetterDesc"]}, + "ShuffleGerudoToken": { "type": "Bool", "name": "Shuffle Gerudo Token", "falsetxt": "Off", "truetxt": "On", "descriptions": ["gerudoTokenDesc"]}, + "ShuffleMagicBeans": { "type": "Bool", "name": "Shuffle Magic Beans", "falsetxt": "Off", "truetxt": "On", "descriptions": ["magicBeansDesc"]}, + "ShuffleMerchants": { "type": "Choice", "name": "Shuffle Merchants", "options": ["Off", "On (No Hints)", "On (With Hints)"], "descriptions": ["merchantsDesc", "merchantsHintsDesc"]}, + "ShuffleAdultTradeQuest": { "type": "Bool", "name": "Shuffle Adult Trade", "falsetxt": "Off", "truetxt": "On", "descriptions": ["adultTradeDesc"]}, + "ShuffleChestMinigame": { "type": "Choice", "name": "Shuffle Chest Minigame", "options": ["Off", "On (Separate)", "On (Pack)"], "descriptions": ["chestMinigameDesc"]}, + "ShuffleFrogSongRupees": { "type": "Bool", "name": "Shuffle Frog Rupees", "falsetxt": "Off", "truetxt": "On", "descriptions": ["frogSongRupeesDesc"]}, + "ShuffleEnemySouls": { "type": "Choice", "name": "Shuffle Enemy Souls", "options": ["Off", "All enemies", "Bosses only"], "descriptions": ["enemySoulDesc"]}, + "ShuffleOcarinaButtons": { "type": "Bool", "name": "Shuffle Ocarina Buttons", "falsetxt": "Off", "truetxt": "On", "descriptions": ["ocarinaButtonsDesc"]}, + "ShuffleRupees": { "type": "Bool", "name": "Shuffle Standing Rupees", "falsetxt": "Off", "truetxt": "On", "descriptions": ["shuffleRupeesDesc"]} + }, + "shuffleDungeonItemOptions": { + "RandomizeDungeon": { "type": "Bool", "name": "Randomize Settings", "falsetxt": "No", "truetxt": "Yes", "descriptions": ["dungeonRandomize"], "category": "Toggle"}, + "MapsAndCompasses": { "type": "Choice", "name": "Maps/Compasses", "options": ["Start With", "Vanilla", "Own Dungeon", "Any Dungeon", "Overworld", "Anywhere"], + "descriptions": ["mapCompassStartWith", "mapCompassVanilla", "mapCompassOwnDungeon", "mapCompassAnyDungeon", "mapCompassOverworld", "mapCompassAnywhere"], "category": "Setting", "default": "Own Dungeon"}, + "Keysanity": { "type": "Choice", "name": "Small Keys", "options": ["Start With", "Vanilla", "Own Dungeon", "Any Dungeon", "Overworld", "Anywhere"], + "descriptions": ["smallKeyStartWith", "smallKeyVanilla", "smallKeyOwnDungeon", "smallKeyAnyDungeon", "smallKeyOverworld", "smallKeyAnywhere"], "category": "Setting", "default": "Own Dungeon"}, + "GerudoKeys": { "type": "Choice", "name": "Gerudo Fortress Keys", "options": ["Vanilla", "Any Dungeon", "Overworld", "Anywhere"], + "descriptions": ["gerudoKeysVanilla", "gerudoKeysAnyDungeon", "gerudoKeysOverworld", "gerudoKeysAnywhere"]}, + "BossKeysanity": { "type": "Choice", "name": "Boss Keys", "options": ["Start With", "Vanilla", "Own Dungeon", "Any Dungeon", "Overworld", "Anywhere"], + "descriptions": ["bossKeyStartWith", "bossKeyVanilla", "bossKeyOwnDungeon", "bossKeyAnyDungeon", "bossKeyOverworld", "bossKeyAnywhere"], "category": "Setting", "default": "Own Dungeon"}, + "GanonsBossKey": { "type": "Choice", "name": "Ganon's Boss Key", "options": ["Start With", "Vanilla", "Own Dungeon", "Any Dungeon", "Overworld", "Anywhere", "Triforce", + "LACS-Vanilla", "LACS-Medallions", "LACS-Stones", "LACS-Rewards", "LACS-Dungeons", "LACS-Tokens", "LACS-Hearts"], + "descriptions": ["ganonKeyStartWith", "ganonKeyVanilla", "ganonKeyOwnDungeon", "ganonKeyAnyDungeon", "ganonKeyOverworld", "ganonKeyAnywhere", "''", "ganonKeyLACS"], "category": "Setting", "default": "Own Dungeon"}, + "LACSMedallionCount": { "type": "Count", "indent": 2, "name": "Medallion Count", "min": 0, "max": 6, "descriptions": ["lacsMedallionCountDesc"], "category": "Setting", "default": 1, "default_hidden": true}, + "LACSStoneCount": { "type": "Count", "indent": 2, "name": "Stone Count", "min": 0, "max": 3, "descriptions": ["lacsStoneCountDesc"], "category": "Setting", "default": 1, "default_hidden": true}, + "LACSRewardCount": { "type": "Count", "indent": 2, "name": "Reward Count", "min": 0, "max": 9, "descriptions": ["lacsRewardCountDesc"], "category": "Setting", "default": 1, "default_hidden": true}, + "LACSDungeonCount": { "type": "Count", "indent": 2, "name": "Dungeon Count", "min": 0, "max": 8, "descriptions": ["lacsDungeonCountDesc"], "category": "Setting", "default": 1, "default_hidden": true}, + "LACSTokenCount": { "type": "Count", "indent": 2, "name": "Token Count", "min": 0, "max": 100, "descriptions": ["lacsTokenCountDesc"], "category": "Setting", "default": 1, "default_hidden": true}, + "LACSHeartCount": { "type": "Count", "indent": 2, "name": "Heart Count", "min": 0, "max": 20, "descriptions": ["lacsHeartCountDesc"], "category": "Setting", "default": 1, "default_hidden": true}, + "KeyRings": { "type": "Choice", "name": "Key Rings", "options": ["All Off", "All On", "Choose", "Random"], "descriptions": ["keyRingDesc"]}, + "_keyRingOptions": { + "RingFortress": { "type": "Bool", "indent": 2, "name": "Gerudo Fortress", "falsetxt": "Off", "truetxt": "On", "descriptions": ["keyRingDesc"], "category": "Setting"}, + "RingForest": { "type": "Bool", "indent": 2, "name": "Forest Temple", "falsetxt": "Off", "truetxt": "On", "descriptions": ["keyRingDesc"], "category": "Setting"}, + "RingFire": { "type": "Bool", "indent": 2, "name": "Fire Temple", "falsetxt": "Off", "truetxt": "On", "descriptions": ["keyRingDesc"], "category": "Setting"}, + "RingWater": { "type": "Bool", "indent": 2, "name": "Water Temple", "falsetxt": "Off", "truetxt": "On", "descriptions": ["keyRingDesc"], "category": "Setting"}, + "RingSpirit": { "type": "Bool", "indent": 2, "name": "Spirit Temple", "falsetxt": "Off", "truetxt": "On", "descriptions": ["keyRingDesc"], "category": "Setting"}, + "RingShadow": { "type": "Bool", "indent": 2, "name": "Shadow Temple", "falsetxt": "Off", "truetxt": "On", "descriptions": ["keyRingDesc"], "category": "Setting"}, + "RingWell": { "type": "Bool", "indent": 2, "name": "Bottom of the Well", "falsetxt": "Off", "truetxt": "On", "descriptions": ["keyRingDesc"], "category": "Setting"}, + "RingGtg": { "type": "Bool", "indent": 2, "name": "GTG", "falsetxt": "Off", "truetxt": "On", "descriptions": ["keyRingDesc"], "category": "Setting"}, + "RingCastle": { "type": "Bool", "indent": 2, "name": "Ganon's Castle", "falsetxt": "Off", "truetxt": "On", "descriptions": ["keyRingDesc"], "category": "Setting"} + } + }, + "timesaverOptions": { + "SkipChildStealth": { "type": "Bool", "name": "Skip Child Stealth", "falsetxt": "Don't Skip", "truetxt": "Skip", "descriptions": ["childStealthDesc"], "category": "Setting", "default": true}, + "SkipTowerEscape": { "type": "Bool", "name": "Skip Tower Escape", "falsetxt": "Don't Skip", "truetxt": "Skip", "descriptions": ["skipTowerEscapeDesc"], "category": "Setting", "default": true}, + "SkipEponaRace": { "type": "Bool", "name": "Skip Epona Race", "falsetxt": "Don't Skip", "truetxt": "Skip", "descriptions": ["skipEponaRaceDesc"]}, + "SkipMinigamePhases": { "type": "Bool", "name": "Minigames repetitions", "falsetxt": "Don't Skip", "truetxt": "Skip", "descriptions": ["skipMinigamePhasesDesc"]}, + "FreeScarecrow": { "type": "Bool", "name": "Free Scarecrow", "falsetxt": "Off", "truetxt": "On", "descriptions": ["freeScarecrowDesc"]}, + "FourPoesCutscene": { "type": "Bool", "name": "Four Poes Cutscene", "falsetxt": "Don't Skip", "truetxt": "Skip", "descriptions": ["fourPoesDesc"], "category": "Setting", "default": true}, + "LakeHyliaOwl": { "type": "Bool", "name": "Lake Hylia Owl", "falsetxt": "Don't Skip", "truetxt": "Skip", "descriptions": ["lakeHyliaOwlDesc"], "category": "Setting", "default": true}, + "BigPoeTargetCount": { "type": "Count", "name": "Big Poe Target Count", "min": 1, "max": 10, "descriptions": ["bigPoeTargetCountDesc"]}, + "NumRequiredCuccos": { "type": "Count", "name": "Cuccos to return", "min": 0, "max": 7, "descriptions": ["numRequiredCuccosDesc"]}, + "KingZoraSpeed": { "type": "Choice", "name": "King Zora Speed", "options": ["Fast", "Vanilla", "Random", "Custom"], "descriptions": ["kingZoraSpeedFast", "kingZoraSpeedVanilla", "kingZoraSpeedRandom", "kingZoraSpeedCustom"]}, + "ExactZoraSpeed": { "type": "Count", "indent": 2, "name": "Exact Shuffle Count", "min": 1, "max": 128, "descriptions": ["''"]}, + "CompleteMaskQuest": { "type": "Bool", "name": "Complete Mask Quest", "falsetxt": "Off", "truetxt": "On", "descriptions": ["completeMaskDesc"]} + }, + "miscOptions": { + "Racing": { "type": "Bool", "name": "Racing", "falsetxt": "Off", "truetxt": "On", "descriptions": ["racingDesc"]}, + "GossipStoneHints": { "type": "Choice", "name": "Gossip Stone Hints", "options": ["No Hints", "Need Nothing", "Mask of Truth", "Shard of Agony"], "descriptions": ["gossipStonesHintsDesc"], "category": "Setting", "default": "Need Nothing"}, + "HintDistribution": { "type": "Choice", "indent": 2, "name": "Hint Distribution", "options": ["Useless", "Balanced", "Strong", "Very Strong", "Playthrough"], "descriptions": ["uselessHintsDesc", "balancedHintsDesc", "strongHintsDesc", "veryStrongHintsDesc", "playthroughHintsDesc"], "category": "Setting", "default": "Balanced"}, + "BonusGossipHints": { "type": "Bool", "indent": 4, "name": "Bonus Hints", "falsetxt": "Off", "truetxt": "On", "descriptions": ["bonusGossipHintsDesc"]}, + "MiscHints": { "type": "Choice", "name": "Miscellaneous Hints", "options": ["All Disabled", "All Enabled", "Choose"], "descriptions": ["miscHintsDesc"], "category": "Setting", "default": "All Enabled"}, + "ToTAltarHints": { "type": "Bool", "indent": 2, "name": "Temple of Time Altar", "falsetxt": "Off", "truetxt": "On", "descriptions": ["totAltarHintsDesc"]}, + "GanonHints": { "type": "Bool", "indent": 2, "name": "Ganondorf", "falsetxt": "Off", "truetxt": "On", "descriptions": ["ganonHintsDesc"]}, + "DampeHint": { "type": "Bool", "indent": 2, "name": "Dampe's Diary", "falsetxt": "Off", "truetxt": "On", "descriptions": ["dampeHintDesc"]}, + "SkulltulaHints": { "type": "Bool", "indent": 2, "name": "House of Skulltula", "falsetxt": "Off", "truetxt": "On", "descriptions": ["skulltulaHintDesc"]}, + "FishingHints": { "type": "Bool", "indent": 2, "name": "Fishing Prizes", "falsetxt": "Off", "truetxt": "On", "descriptions": ["fishingHintsDesc"]}, + "ClearerHints": { "type": "Choice", "name": "Hint Clarity", "options": ["Obscure", "Ambiguous", "Clear"], "descriptions": ["obscureHintsDesc", "ambiguousHintsDesc", "clearHintsDesc"]}, + "CompassesShowReward": { "type": "Bool", "name": "Compasses Show Rewards", "falsetxt": "No", "truetxt": "Yes", "descriptions": ["compassesShowRewardsDesc"]}, + "CompassesShowWotH": { "type": "Bool", "name": "Compasses Show WotH", "falsetxt": "No", "truetxt": "Yes", "descriptions": ["compassesShowWotHDesc"], "category": "Setting", "default": true}, + "MapsShowDungeonMode": { "type": "Bool", "name": "Maps Show Dungeon Modes","falsetxt": "No", "truetxt": "Yes", "descriptions": ["mapsShowDungeonModesDesc"], "category": "Setting", "default": true}, + "StartingTime": { "type": "Choice", "name": "Starting Time", "options": ["Day", "Night"], "descriptions": ["startingTimeDesc"]}, + "ChestAnimations": { "type": "Bool", "name": "Chest Animations", "options": ["Always Fast", "Match Contents"], "descriptions": ["chestAnimDesc"]}, + "ChestAppearance": { "type": "Choice", "name": "Chest Appearance Mod", "options": ["Vanilla", "Texture", "Size + Texture", "Classic CSMC"], "descriptions": ["chestVanillaDesc", "chestTextureDesc", "chestSizeTextureDesc", "chestClassicDesc"]}, + "ChestAgony": { "type": "Bool", "indent": 2, "name": "Need Shard of Agony", "falsetxt": "No", "truetxt": "Yes", "descriptions": ["chestAgonyDesc"]}, + "GenerateSpoilerLog": { "type": "Bool", "name": "Generate Spoiler Log", "falsetxt": "No", "truetxt": "Yes", "descriptions": ["''"], "category": "Setting", "default": true}, + "IngameSpoilers": { "type": "Bool", "name": "Ingame Spoilers", "falsetxt": "Hide", "truetxt": "Show", "descriptions": ["ingameSpoilersHideDesc", "ingameSpoilersShowDesc"]} + }, + "itemUsabilityOptions": { + "FaroresWindAnywhere": { "type": "Bool", "name": "Farore's Wind Anywhere", "falsetxt": "Disabled", "truetxt": "Enabled", "descriptions": ["faroresWindAnywhereDesc"]}, + "AgeItemsToggle": { "type": "Choice", "name": "Lift Age Restrictions", "options": ["All Disabled", "All Enabled", "Choose"], "descriptions": ["ageRestrictionsDesc"]}, + "AgeItemsInLogic": { "type": "Bool", "indent": 1, "name": "Consider in Logic", "falsetxt": "No", "truetxt": "Yes", "descriptions": ["ageItemsInLogicDesc"]}, + "StickAsAdult": { "type": "Bool", "indent": 2, "name": "Adult Deku Stick", "falsetxt": "Disabled", "truetxt": "Enabled", "descriptions": ["adultStickDesc"]}, + "BoomerangAsAdult": { "type": "Bool", "indent": 2, "name": "Adult Boomerang", "falsetxt": "Disabled", "truetxt": "Enabled", "descriptions": ["adultBoomerangDesc"]}, + "HammerAsChild": { "type": "Bool", "indent": 2, "name": "Child Hammer", "falsetxt": "Disabled", "truetxt": "Enabled", "descriptions": ["childHammerDesc"]}, + "SlingshotAsAdult": { "type": "Bool", "indent": 2, "name": "Adult Slingshot", "falsetxt": "Disabled", "truetxt": "Enabled", "descriptions": ["adultSlingshotDesc"]}, + "BowAsChild": { "type": "Bool", "indent": 2, "name": "Child Bow", "falsetxt": "Disabled", "truetxt": "Enabled", "descriptions": ["childBowDesc"]}, + "HookshotAsChild": { "type": "Bool", "indent": 2, "name": "Child Hookshot", "falsetxt": "Disabled", "truetxt": "Enabled", "descriptions": ["childHookshotDesc"]}, + "IronBootsAsChild": { "type": "Bool", "indent": 2, "name": "Child Iron Boots", "falsetxt": "Disabled", "truetxt": "Enabled", "descriptions": ["childIronBootsDesc"]}, + "HoverBootsAsChild": { "type": "Bool", "indent": 2, "name": "Child Hover Boots", "falsetxt": "Disabled", "truetxt": "Enabled", "descriptions": ["childHoverBootsDesc"]}, + "MasksAsAdult": { "type": "Bool", "indent": 2, "name": "Adult Masks", "falsetxt": "Disabled", "truetxt": "Enabled", "descriptions": ["adultMasksDesc"]}, + "KokiriSwordAsAdult": { "type": "Bool", "indent": 2, "name": "Adult Kokiri Sword", "falsetxt": "Disabled", "truetxt": "Enabled", "descriptions": ["adultKokiriSwordDesc"]}, + "MasterSwordAsChild": { "type": "Bool", "indent": 2, "name": "Child Master Sword", "falsetxt": "Disabled", "truetxt": "Enabled", "descriptions": ["childMasterSwordDesc"]}, + "BiggoronSwordAsChild":{ "type": "Bool", "indent": 2, "name": "Child Biggoron Sword", "falsetxt": "Disabled", "truetxt": "Enabled", "descriptions": ["childBiggoronSwordDesc"]}, + "DekuShieldAsAdult": { "type": "Bool", "indent": 2, "name": "Adult Deku Shield", "falsetxt": "Disabled", "truetxt": "Enabled", "descriptions": ["adultDekuShieldDesc"]}, + "MirrorShieldAsChild": { "type": "Bool", "indent": 2, "name": "Child Mirror Shield", "falsetxt": "Disabled", "truetxt": "Enabled", "descriptions": ["childMirrorShieldDesc"]}, + "GoronTunicAsChild": { "type": "Bool", "indent": 2, "name": "Child Goron Tunic", "falsetxt": "Disabled", "truetxt": "Enabled", "descriptions": ["childGoronTunicDesc"]}, + "ZoraTunicAsChild": { "type": "Bool", "indent": 2, "name": "Child Zora Tunic", "falsetxt": "Disabled", "truetxt": "Enabled", "descriptions": ["childZoraTunicDesc"]}, + "RestoreISG": { "type": "Bool", "name": "Restore ISG", "falsetxt": "Disabled", "truetxt": "Enabled", "descriptions": ["restoreISGdesc"], "category": "Setting", "default": true}, + "GkDurability": { "type": "Choice", "name": "GK Durability", "options": ["Vanilla", "Random Risk", "Random Safe"], "descriptions": ["gkDurabilityVanilla", "gkDurabilityRandomRisk", "gkDurabilityRandomSafe"]}, + "RetroAmmo": { "type": "Bool", "name": "Rupees as Ammo", "falsetxt": "Disabled", "truetxt": "Enabled", "descriptions": ["retroAmmoDesc"]} + }, + "itemPoolOptions": { + "ItemPoolValue": { "type": "Choice", "name": "Item Pool", "options": ["Minimal", "Scarce", "Balanced", "Plentiful"], "descriptions": ["itemPoolMinimal", "itemPoolScarce", "itemPoolBalanced", "itemPoolPlentiful"], "category": "Setting", "default": "Balanced"}, + "IceTrapValue": { "type": "Choice", "name": "Ice Traps", "options": ["Off", "Normal", "Extra", "Mayhem", "Onslaught"], "descriptions": ["iceTrapsOff", "iceTrapsNormal", "iceTrapsExtra", "iceTrapsMayhem", "iceTrapsOnslaught"], "category": "Setting", "default": "Normal"}, + "RemoveDoubleDefense": { "type": "Bool", "name": "Remove Double Defense", "falsetxt": "No", "truetxt": "Yes", "descriptions": ["removeDDDesc"]}, + "ProgressiveGoronSword": { "type": "Bool", "name": "Prog Goron Sword", "falsetxt": "Disabled", "truetxt": "Enabled", "descriptions": ["progGoronSword"]} + }, + "gameplayOptions": { + "FastBunnyHood": { "type": "Bool", "name": "Fast Bunny Hood", "falsetxt": "Off", "truetxt": "On", "descriptions": ["fastBunnyHoodDesc"]}, + "KeepFWWarpPoint": { "type": "Bool", "name": "Keep FW Warp Point", "falsetxt": "Off", "truetxt": "On", "descriptions": ["keepFWWarpPointDesc"]}, + "DamageMultiplier": { "type": "Choice", "name": "Damage Multiplier", "options": ["x1/2", "x1", "x2", "x4", "x8", "x16", "OHKO"], "descriptions": ["damageMultiDesc"], "category": "Setting", "default": "x1"}, + "BonkDamage": { "type": "Choice", "name": "Bonk Damage", "options": ["0", "1/4", "1/2", "1", "2", "4", "OHKO"], "descriptions": ["bonkDamageDesc"]}, + "Permadeath": { "type": "Bool", "name": "Permadeath", "falsetxt": "Off", "truetxt": "On", "descriptions": ["permadeathDesc"]}, + "GloomMode": { "type": "Choice", "name": "Gloom Mode", "options": ["Off", "Death", "Damage", "Collision", "Empty"], "descriptions": ["gloomModeOffDesc", "gloomModeDeathDesc", "gloomModeDamageDesc", "gloomModeCollisionDesc", "gloomModeEmptyDesc"]}, + "RandomTrapDmg": { "type": "Choice", "name": "Random Trap Damage", "options": ["Off", "Basic", "Advanced"], "descriptions": ["randomTrapDmgDesc", "basicTrapDmgDesc", "advancedTrapDmgDesc"], "category": "Setting", "default": "Basic"}, + "FireTrap": { "type": "Bool", "indent": 2, "name": "Fire Trap", "falsetxt": "Off", "truetxt": "On", "descriptions": ["fireTrapDesc"], "category": "Setting", "default": true}, + "AntiFairyTrap": { "type": "Bool", "indent": 2, "name": "Anti-Fairy Trap", "falsetxt": "Off", "truetxt": "On", "descriptions": ["antiFairyTrapDesc"], "category": "Setting", "default": true}, + "RupoorTrap": { "type": "Bool", "indent": 2, "name": "Rupoor Trap", "falsetxt": "Off", "truetxt": "On", "descriptions": ["rupoorTrapDesc"], "category": "Setting", "default": true}, + "RupoorTrapSeverity": { "type": "Choice", "indent": 4, "name": "Severity", "options": ["10", "Random Ratio", "Bankruptcy"], "descriptions": ["rupoorTrapSeverityDesc"], "category": "Setting", "default": "10"}, + "CurseTraps": { "type": "Bool", "indent": 2, "name": "Curse Traps", "falsetxt": "Off", "truetxt": "On", "descriptions": ["curseTrapsDesc"], "category": "Setting"}, + "ScreenTraps": { "type": "Bool", "indent": 4, "name": "Screen Traps", "falsetxt": "Off", "truetxt": "On", "descriptions": ["screenTrapsDesc"], "category": "Setting"}, + "ExtraArrowEffects": { "type": "Bool", "name": "Extra Arrow Effects", "falsetxt": "Off", "truetxt": "On", "descriptions": ["extraArrowEffectsDesc"]}, + "HyperActors": { "type": "Choice", "name": "Hyper Actors", "options": ["All Off", "All On", "Choose"], "descriptions": ["hyperActorsDesc"]}, + "HyperBosses": { "type": "Bool", "indent": 2, "name": "Hyper Bosses", "falsetxt": "Off", "truetxt": "On", "descriptions": ["hyperBossesDesc"]}, + "HyperMiddleBosses": { "type": "Bool", "indent": 2, "name": "Hyper Middle Bosses", "falsetxt": "Off", "truetxt": "On", "descriptions": ["hyperMiddleBossesDesc"]}, + "HyperEnemies": { "type": "Bool", "indent": 2, "name": "Hyper Enemies", "falsetxt": "Off", "truetxt": "On", "descriptions": ["hyperEnemiesDesc"]}, + "FreeCamera": { "type": "Bool", "name": "Free Camera", "falsetxt": "Off", "truetxt": "On", "descriptions": ["freeCamDesc"], "category": "Setting", "default": true}, + "RandomGsLocations": { "type": "Bool", "name": "Random GS Locations", "falsetxt": "Off", "truetxt": "On", "descriptions": ["randomGsLocationsDesc"]}, + "GsLocGuaranteeNew": { "type": "Bool", "indent": 2, "name": "Guarantee New", "falsetxt": "Off", "truetxt": "On", "descriptions": ["gsLocGuaranteeNewDesc"]}, + "RandomSongNotes": { "type": "Bool", "name": "Random Ocarina Melodies", "falsetxt": "Off", "truetxt": "On", "descriptions": ["randomSongNotesDesc"]} + }, + "startingItemsOptions": { + "StartingStickCapacity": { "type": "Choice", "name": "Deku Stick Capacity", "options": ["10 Deku Sticks", "20 Deku Sticks", "30 Deku Sticks"], "descriptions": ["''"]}, + "StartingNutCapacity": { "type": "Choice", "name": "Deku Nut Capacity", "options": ["20 Deku Nuts", "30 Deku Nuts", "40 Deku Nuts"], "descriptions": ["''"]}, + "StartingSlingshot": { "type": "Choice", "name": "Slingshot", "options": ["Off", "Slingshot (30)", "Slingshot (40)", "Slingshot (50)"], "descriptions": ["''"]}, + "StartingOcarina": { "type": "Choice", "name": "Ocarina", "options": ["Off", "Fairy Ocarina", "Ocarina of Time"], "descriptions": ["''"]}, + "StartingBombBag": { "type": "Choice", "name": "Bombs", "options": ["Off", "Bomb Bag (20)", "Bomb Bag (30)", "Bomb Bag (40)"], "descriptions": ["''"]}, + "StartingBombchus": { "type": "Choice", "name": "Bombchus", "options": ["Off", "20 Bombchus", "50 Bombchus"], "descriptions": ["''"]}, + "StartingBoomerang": { "type": "Bool", "name": "Boomerang", "falsetxt": "Off", "truetxt": "On", "descriptions": ["''"]}, + "StartingHookshot": { "type": "Choice", "name": "Hookshot", "options": ["Off", "Hookshot", "Longshot"], "descriptions": ["''"]}, + "StartingBow": { "type": "Choice", "name": "Bow", "options": ["Off", "Bow (30)", "Bow (40)", "Bow (50)"], "descriptions": ["''"]}, + "StartingFireArrows": { "type": "Bool", "name": "Fire Arrow", "falsetxt": "Off", "truetxt": "On", "descriptions": ["''"]}, + "StartingIceArrows": { "type": "Bool", "name": "Ice Arrow", "falsetxt": "Off", "truetxt": "On", "descriptions": ["''"]}, + "StartingLightArrows": { "type": "Bool", "name": "Light Arrow", "falsetxt": "Off", "truetxt": "On", "descriptions": ["''"]}, + "StartingMegatonHammer": { "type": "Bool", "name": "Megaton Hammer", "falsetxt": "Off", "truetxt": "On", "descriptions": ["''"]}, + "StartingIronBoots": { "type": "Bool", "name": "Iron Boots", "falsetxt": "Off", "truetxt": "On", "descriptions": ["''"]}, + "StartingHoverBoots": { "type": "Bool", "name": "Hover Boots", "falsetxt": "Off", "truetxt": "On", "descriptions": ["''"]}, + "StartingLensOfTruth": { "type": "Bool", "name": "Lens of Truth", "falsetxt": "Off", "truetxt": "On", "descriptions": ["''"]}, + "StartingDinsFire": { "type": "Bool", "name": "Din's Fire", "falsetxt": "Off", "truetxt": "On", "descriptions": ["''"]}, + "StartingFaroresWind": { "type": "Bool", "name": "Farore's Wind", "falsetxt": "Off", "truetxt": "On", "descriptions": ["''"]}, + "StartingNayrusLove": { "type": "Bool", "name": "Nayru's Love", "falsetxt": "Off", "truetxt": "On", "descriptions": ["''"]}, + "StartingMagicBean": { "type": "Bool", "name": "Magic Beans", "falsetxt": "Off", "truetxt": "On", "descriptions": ["''"]}, + "StartingBottle1": { "type": "Choice", "name": "Bottle 1", "options": "bottleOptions", "descriptions": ["''"]}, + "StartingBottle2": { "type": "Choice", "name": "Bottle 2", "options": "bottleOptions", "descriptions": ["''"]}, + "StartingBottle3": { "type": "Choice", "name": "Bottle 3", "options": "bottleOptions", "descriptions": ["''"]}, + "StartingBottle4": { "type": "Choice", "name": "Bottle 4", "options": "bottleOptions", "descriptions": ["''"]}, + "StartingRutoBottle": { "type": "Bool", "name": "Ruto's Letter", "falsetxt": "Off", "truetxt": "On", "descriptions": ["''"]}, + "StartingChildTrade": { "type": "Bool", "name": "Bunny Hood", "falsetxt": "Off", "truetxt": "On", "descriptions": ["startingBunnyHoodDesc"]} + }, + "startingSongsOptions": { + "StartingZeldasLullaby": { "type": "Bool", "name": "Zelda's Lullaby", "falsetxt": "Off", "truetxt": "On", "descriptions": ["''"]}, + "StartingEponasSong": { "type": "Bool", "name": "Epona's Song", "falsetxt": "Off", "truetxt": "On", "descriptions": ["''"]}, + "StartingSariasSong": { "type": "Bool", "name": "Saria's Song", "falsetxt": "Off", "truetxt": "On", "descriptions": ["''"]}, + "StartingSunsSong": { "type": "Bool", "name": "Sun's Song", "falsetxt": "Off", "truetxt": "On", "descriptions": ["''"]}, + "StartingSongOfTime": { "type": "Bool", "name": "Song of Time", "falsetxt": "Off", "truetxt": "On", "descriptions": ["''"]}, + "StartingSongOfStorms": { "type": "Bool", "name": "Song of Storms", "falsetxt": "Off", "truetxt": "On", "descriptions": ["''"]}, + "StartingMinuetOfForest": { "type": "Bool", "name": "Minuet of Forest", "falsetxt": "Off", "truetxt": "On", "descriptions": ["''"]}, + "StartingBoleroOfFire": { "type": "Bool", "name": "Bolero of Fire", "falsetxt": "Off", "truetxt": "On", "descriptions": ["''"]}, + "StartingSerenadeOfWater": { "type": "Bool", "name": "Serenade of Water", "falsetxt": "Off", "truetxt": "On", "descriptions": ["''"]}, + "StartingRequiemOfSpirit": { "type": "Bool", "name": "Requiem of Spirit", "falsetxt": "Off", "truetxt": "On", "descriptions": ["''"]}, + "StartingNocturneOfShadow": { "type": "Bool", "name": "Nocturne of Shadow", "falsetxt": "Off", "truetxt": "On", "descriptions": ["''"]}, + "StartingPreludeOfLight": { "type": "Bool", "name": "Prelude of Light", "falsetxt": "Off", "truetxt": "On", "descriptions": ["''"]} + }, + "startingEquipmentOptions": { + "StartingKokiriSword": { "type": "Bool", "name": "Kokiri Sword", "falsetxt": "Off", "truetxt": "On", "descriptions": ["''"]}, + "StartingMasterSword": { "type": "Bool", "name": "Master Sword", "falsetxt": "Off", "truetxt": "On", "descriptions": ["''"]}, + "StartingBiggoronSword": { "type": "Choice", "name": "Biggoron Sword", "options": ["Off", "Giant's Knife", "Biggoron Sword"], "descriptions": ["''"]}, + "StartingDekuShield": { "type": "Bool", "name": "Deku Shield", "falsetxt": "Off", "truetxt": "On", "descriptions": ["''"]}, + "StartingHylianShield": { "type": "Bool", "name": "Hylian Shield", "falsetxt": "Off", "truetxt": "On", "descriptions": ["''"]}, + "StartingMirrorShield": { "type": "Bool", "name": "Mirror Shield", "falsetxt": "Off", "truetxt": "On", "descriptions": ["''"]}, + "StartingGoronTunic": { "type": "Bool", "name": "Goron Tunic", "falsetxt": "Off", "truetxt": "On", "descriptions": ["''"]}, + "StartingZoraTunic": { "type": "Bool", "name": "Zora Tunic", "falsetxt": "Off", "truetxt": "On", "descriptions": ["''"]}, + "StartingStrength": { "type": "Choice", "name": "Strength Upgrade", "options": ["Off", "Goron Bracelet", "Silver Gauntlet", "Golden Gauntlet"], "descriptions": ["''"]}, + "StartingScale": { "type": "Choice", "name": "Scale Upgrade", "options": ["Off", "Silver Scale", "Golden Scale"], "descriptions": ["''"]}, + "StartingWallet": { "type": "Choice", "name": "Wallet Upgrade", "options": ["Off", "Adult's Wallet", "Giant's Wallet", "Tycoon's Wallet"], "descriptions": ["''"]}, + "StartingShardOfAgony": { "type": "Bool", "name": "Shard of Agony", "falsetxt": "Off", "truetxt": "On", "descriptions": ["''"]}, + "StartingHearts": { "type": "Count", "name": "Hearts", "min": 0, "max": 20, "descriptions": ["startingHealthDesc", "''"], "category": "Setting", "default": 3}, + "StartingMagicMeter": { "type": "Choice", "name": "Magic Meter", "options": ["Off", "Single Magic", "Double Magic"], "descriptions": ["''"]}, + "StartingDoubleDefense": { "type": "Bool", "name": "Double Defense", "falsetxt": "Off", "truetxt": "On", "descriptions": ["''"]} + }, + "startingStonesMedallionsOptions": { + "StartingKokiriEmerald": { "type": "Bool", "name": "Kokiri's Emerald", "falsetxt": "Off", "truetxt": "On", "descriptions": ["''"]}, + "StartingGoronRuby": { "type": "Bool", "name": "Goron's Ruby", "falsetxt": "Off", "truetxt": "On", "descriptions": ["''"]}, + "StartingZoraSapphire": { "type": "Bool", "name": "Zora's Sapphire", "falsetxt": "Off", "truetxt": "On", "descriptions": ["''"]}, + "StartingLightMedallion": { "type": "Bool", "name": "Light Medallion", "falsetxt": "Off", "truetxt": "On", "descriptions": ["''"]}, + "StartingForestMedallion": { "type": "Bool", "name": "Forest Medallion", "falsetxt": "Off", "truetxt": "On", "descriptions": ["''"]}, + "StartingFireMedallion": { "type": "Bool", "name": "Fire Medallion", "falsetxt": "Off", "truetxt": "On", "descriptions": ["''"]}, + "StartingWaterMedallion": { "type": "Bool", "name": "Water Medallion", "falsetxt": "Off", "truetxt": "On", "descriptions": ["''"]}, + "StartingSpiritMedallion": { "type": "Bool", "name": "Spirit Medallion", "falsetxt": "Off", "truetxt": "On", "descriptions": ["''"]}, + "StartingShadowMedallion": { "type": "Bool", "name": "Shadow Medallion", "falsetxt": "Off", "truetxt": "On", "descriptions": ["''"]} + }, + "startingOcarinaButtonsOptions": { + "StartingOcarinaButtonL": { "type": "Bool", "name": "Ocarina Button L", "falsetxt": "Off", "truetxt": "On", "descriptions": ["''"]}, + "StartingOcarinaButtonR": { "type": "Bool", "name": "Ocarina Button R", "falsetxt": "Off", "truetxt": "On", "descriptions": ["''"]}, + "StartingOcarinaButtonX": { "type": "Bool", "name": "Ocarina Button X", "falsetxt": "Off", "truetxt": "On", "descriptions": ["''"]}, + "StartingOcarinaButtonY": { "type": "Bool", "name": "Ocarina Button Y", "falsetxt": "Off", "truetxt": "On", "descriptions": ["''"]}, + "StartingOcarinaButtonA": { "type": "Bool", "name": "Ocarina Button A", "falsetxt": "Off", "truetxt": "On", "descriptions": ["''"]} + }, + "startingOthersOptions": { + "StartingConsumables": { "type": "Bool", "name": "Start with Consumables", "falsetxt": "No", "truetxt": "Yes", "descriptions": ["startWithConsumablesDesc"]}, + "StartingMaxRupees": { "type": "Bool", "name": "Start with Max Rupees", "falsetxt": "No", "truetxt": "Yes", "descriptions": ["startWithMaxRupeesDesc"]}, + "StartingSkulltulaToken": { "type": "Count", "name": "Gold Skulltula Tokens", "min": 0, "max": 100, "descriptions": ["''"]} + }, + "logicOptions": { + "Logic": { "type": "Choice", "name": "Logic", "options": ["Glitchless", "Glitched", "No Logic", "Vanilla"], "descriptions": ["logicGlitchless", "logicGlitched", "logicNoLogic", "logicVanilla"]}, + "LocationsReachable": { "type": "Bool", "name": "All Locations Reachable", "falsetxt": "Off", "truetxt": "On", "descriptions": ["locationsReachableDesc"], "category": "Setting", "default": true}, + "NightGSExpectSuns": { "type": "Bool", "name": "Night GSs Expect Sun's", "falsetxt": "Off", "truetxt": "On", "descriptions": ["nightGSDesc"]} + }, + "trickOptions": { + "ToggleAllTricks": { "type": "Choice", "name": "All Tricks", "options": ["None", "Novice", "Intermediate", "Expert"], "descriptions": ["ToggleLogicNoneDesc", "ToggleLogicNoviceDesc", "ToggleLogicIntermediateDesc", "ToggleLogicExpertDesc"], "category": "Toggle"}, + "LogicGrottosWithoutAgony": { "type": "LogicTrick", "name": "Grotto Access\\n w/o Shard of Agony", "descriptions": ["LogicGrottosWithoutAgonyDesc"]}, + "LogicVisibleCollision": { "type": "LogicTrick", "name": "Go Through Visible\\n One-Way Collisions", "descriptions": ["LogicVisibleCollisionDesc"]}, + "LogicFewerTunicRequirements": { "type": "LogicTrick", "name": "Fewer Tunic\\n Requirements", "descriptions": ["LogicFewerTunicRequirementsDesc"]}, + "LogicLostWoodsGSBean": { "type": "LogicTrick", "name": "LW Adult Tree GS\\n w/o Magic Beans", "descriptions": ["LogicLostWoodsGSBeanDesc"]}, + "LogicLabDiving": { "type": "LogicTrick", "name": "LH Lab Dive\\n w/o Gold Scale", "descriptions": ["LogicLabDivingDesc"]}, + "LogicLabWallGS": { "type": "LogicTrick", "name": "LH Lab Wall GS\\n w/ Jump Slash", "descriptions": ["LogicLabWallGSDesc"]}, + "LogicGraveyardPoH": { "type": "LogicTrick", "name": "GY Crate PoH\\n w/ Boomerang", "descriptions": ["LogicGraveyardPoHDesc"]}, + "LogicChildDampeRacePoH": { "type": "LogicTrick", "name": "GY Second Dampe\\n Race as Child", "descriptions": ["LogicChildDampeRacePoHDesc"]}, + "LogicGVHammerChest": { "type": "LogicTrick", "name": "GV Hammer Chest\\n w/o Hammer", "descriptions": ["LogicGVHammerChestDesc"]}, + "LogicGerudoKitchen": { "type": "LogicTrick", "name": "GF Through Kitchen\\n w/ Nothing", "descriptions": ["LogicGerudoKitchenDesc"]}, + "LogicGerudoChildClimb": { "type": "LogicTrick", "name": "GF Top Floor\\n as child", "descriptions": ["LogicGerudoChildClimbDesc"]}, + "LogicLensWasteland": { "type": "LogicTrick", "name": "Haunted Wasteland\\n w/o Lens of Truth", "descriptions": ["LogicLensWastelandDesc"]}, + "LogicReverseWasteland": { "type": "LogicTrick", "name": "Haunted Wasteland\\n in Reverse", "descriptions": ["LogicReverseWastelandDesc"]}, + "LogicColossusGS": { "type": "LogicTrick", "name": "Colossus Hill GS\\n w/ Hookshot", "descriptions": ["LogicColossusGSDesc"]}, + "LogicOutsideGanonsGS": { "type": "LogicTrick", "name": "Outside GaC GS\\n w/ Jump Slash", "descriptions": ["LogicOutsideGanonsGSDesc"]}, + "LogicManOnRoof": { "type": "LogicTrick", "name": "Kak Roof Guy\\n w/o Hookshot", "descriptions": ["LogicManOnRoofDesc"]}, + "LogicWindmillPoHHookshot": { "type": "LogicTrick", "name": "Windmill PoH\\n w/ Hookshot", "descriptions": ["LogicWindmillPoHHookshotDesc"]}, + "LogicDMTBombable": { "type": "LogicTrick", "name": "DMT Wall Chest\\n w/ Strength", "descriptions": ["LogicDMTBombableDesc"]}, + "LogicDMTSoilGS": { "type": "LogicTrick", "name": "DMT Soil GS\\n w/o Opening DC", "descriptions": ["LogicDMTSoilGSDesc"]}, + "LogicDMCPlatformJump": { "type": "LogicTrick", "name": "DMC Scarecrow Rupee\\n circle w/ nothing", "descriptions": ["LogicDMCPlatformJumpDesc"]}, + "LogicDMTSummitHover": { "type": "LogicTrick", "name": "DMT Summit\\n w/ Hover Boots", "descriptions": ["LogicDMTSummitHoverDesc"]}, + "LogicLinkGoronDins": { "type": "LogicTrick", "name": "GoC Adult Goron\\n w/ Din's Fire", "descriptions": ["LogicLinkGoronDinsDesc"]}, + "LogicGoronCityLeftMost": { "type": "LogicTrick", "name": "GoC Maze Left Chest\\n w/ Hover Boots", "descriptions": ["LogicGoronCityLeftMostDesc"]}, + "LogicGoronCityPot": { "type": "LogicTrick", "name": "GoC Goron Vase PoH\\n w/ Bombchu", "descriptions": ["LogicGoronCityPotDesc"]}, //Needs Testing + "LogicGoronCityPotWithStrength": { "type": "LogicTrick", "name": "GoC Goron Vase PoH\\n w/ Strength", "descriptions": ["LogicGoronCityPotWithStrengthDesc"]}, + "LogicChildRollingWithStrength": { "type": "LogicTrick", "name": "GoC Child Goron\\n w/ Strength", "descriptions": ["LogicChildRollingWithStrengthDesc"]}, + "LogicCraterUpperToLower": { "type": "LogicTrick", "name": "DMC Upper to Lower\\n w/ Hammer", "descriptions": ["LogicCraterUpperToLowerDesc"]}, //Needs Testing + "LogicCraterBeanPoHWithHovers": { "type": "LogicTrick", "name": "DMC Bean PoH\\n w/ Hover Boots", "descriptions": ["LogicCraterBeanPoHWithHoversDesc"]}, + "LogicBiggoronBolero": { "type": "LogicTrick", "name": "DMC Deliver Eyedrops\\n w/ Bolero of Fire", "descriptions": ["LogicBiggoronBoleroDesc"]}, + "LogicZoraRiverLower": { "type": "LogicTrick", "name": "ZR Lower PoH\\n w/ Nothing", "descriptions": ["LogicZoraRiverLowerDesc"]}, + "LogicZoraRiverUpper": { "type": "LogicTrick", "name": "ZR Upper PoH\\n w/ Nothing", "descriptions": ["LogicZoraRiverUpperDesc"]}, + "LogicZoraRiverRupeesJump": { "type": "LogicTrick", "name": "ZR Under waterfall\\n rupees w/o Iron boots","descriptions": ["LogicZoraRiverRupeesJumpDesc"]}, + "LogicZFGreatFairy": { "type": "LogicTrick", "name": "ZF Great Fairy\\n w/o Explosives", "descriptions": ["LogicZFGreatFairyDesc"]}, + "LogicDekuB1WebsWithBow": { "type": "LogicTrick", "name": "DT B1 Web\\n w/ Bow", "descriptions": ["LogicDekuB1WebsWithBowDesc"]}, + "LogicDekuB1Skip": { "type": "LogicTrick", "name": "DT B1 Navigation\\n w/o Slingshot", "descriptions": ["LogicDekuB1SkipDesc"]}, + "LogicDekuBasementGS": { "type": "LogicTrick", "name": "DT B1 Vines GS\\n w/ Jump Slash", "descriptions": ["LogicDekuBasementGSDesc"]}, + "LogicDCStaircase": { "type": "LogicTrick", "name": "DC Staircase\\n w/ Bow", "descriptions": ["LogicDCStaircaseDesc"]}, + "LogicDCJump": { "type": "LogicTrick", "name": "DC Spike Trap Room\\n w/o Hover Boots", "descriptions": ["LogicDCJumpDesc"]}, + "LogicDCSlingshotSkip": { "type": "LogicTrick", "name": "DC Eye Switches\\n w/o Slingshot", "descriptions": ["LogicDCSlingshotSkipDesc"]}, + "LogicDCScarecrowGS": { "type": "LogicTrick", "name": "DC Scarecrow GS\\n w/ Armos Statue", "descriptions": ["LogicDCScarecrowGSDesc"]}, + "LogicJabuBossGSAdult": { "type": "LogicTrick", "name": "JJB Near Boss GS\\n as Adult", "descriptions": ["LogicJabuBossGSAdultDesc"]}, //Needs Testing + "LogicJabuScrubJumpDive": { "type": "LogicTrick", "name": "JJB Deku Scrub\\n as Adult", "descriptions": ["LogicJabuScrubJumpDiveDesc"]}, //Needs Testing + "LogicForestOutsideBackdoor": { "type": "LogicTrick", "name": "FoT West Backdoor\\n w/ Jump Slash", "descriptions": ["LogicForestOutsideBackdoorDesc"]}, //Needs Testing + "LogicForestDoorFrame": { "type": "LogicTrick", "name": "FoT East Scarecrow\\n w/ Hover Boots", "descriptions": ["LogicForestDoorFrameDesc"]}, //Needs Testing + "LogicForestOutdoorEastGS": { "type": "LogicTrick", "name": "FoT East Yard GS\\n w/ Boomerang", "descriptions": ["LogicForestOutdoorEastGSDesc"]}, + "LogicFireBossDoorJump": { "type": "LogicTrick", "name": "FiT Boss Door\\n w/o Hover Boots", "descriptions": ["LogicFireBossDoorJumpDesc"]}, + "LogicFireStrength": { "type": "LogicTrick", "name": "FiT Climb Block\\n w/o Strength", "descriptions": ["LogicFireStrengthDesc"]}, + "LogicFireScarecrow": { "type": "LogicTrick", "name": "FiT East Tower\\n w/o Scarecrow", "descriptions": ["LogicFireScarecrowDesc"]}, + "LogicFireFlameMaze": { "type": "LogicTrick", "name": "FiT Firewall Maze\\n w/ Nothing", "descriptions": ["LogicFireFlameMazeDesc"]}, + "LogicFireSongOfTime": { "type": "LogicTrick", "name": "FiT SoT Room GS\\n w/o SoT", "descriptions": ["LogicFireSongOfTimeDesc"]}, + "LogicWaterTempleTorchLongshot": { "type": "LogicTrick", "name": "WaT Torch Longshot\\n Shortcut", "descriptions": ["LogicWaterTempleTorchLongshotDesc"]}, + "LogicWaterTempleUpperBoost": { "type": "LogicTrick", "name": "WaT Boss Ledge\\n w/ Bombs", "descriptions": ["LogicWaterTempleUpperBoostDesc"]}, + "LogicWaterCentralBow": { "type": "LogicTrick", "name": "WaT Bow Target\\n w/o Longshot/Hover", "descriptions": ["LogicWaterCentralBowDesc"]}, + "LogicWaterCentralGSFW": { "type": "LogicTrick", "name": "WaT Center Room GS\\n w/ Farore's Wind", "descriptions": ["LogicWaterCentralGSFWDesc"]}, + "LogicWaterCrackedWallNothing": { "type": "LogicTrick", "name": "WaT Cracked Wall\\n w/ Nothing", "descriptions": ["LogicWaterCrackedWallNothingDesc"]}, + "LogicWaterCrackedWallHovers": { "type": "LogicTrick", "name": "WaT Cracked Wall\\n w/ Hover Boots", "descriptions": ["LogicWaterCrackedWallHoversDesc"]}, + "LogicWaterBossKeyRegion": { "type": "LogicTrick", "name": "WaT B1 North Area\\n w/ Hover Boots", "descriptions": ["LogicWaterBossKeyRegionDesc"]}, + "LogicWaterBKJumpDive": { "type": "LogicTrick", "name": "WaT Boss Key Room\\n w/o Iron Boots", "descriptions": ["LogicWaterBKJumpDiveDesc"]}, + "LogicWaterNorthBasementLedgeJump": { "type": "LogicTrick", "name": "WaT Boss Key Rooms\\n w/ Precise Jump", "descriptions": ["LogicWaterNorthBasementLedgeJumpDesc"]}, + "LogicWaterDragonAdult": { "type": "LogicTrick", "name": "WaT Whirlpool\\n w/o Iron Boots", "descriptions": ["LogicWaterDragonAdultDesc"]}, + "LogicWaterDragonJumpDive": { "type": "LogicTrick", "name": "WaT Whirlpool Up\\n w/o Iron Boots", "descriptions": ["LogicWaterDragonJumpDiveDesc"]}, + "LogicWaterRiverGS": { "type": "LogicTrick", "name": "WaT River GS\\n w/o Iron Boots", "descriptions": ["LogicWaterRiverGSDesc"]}, + "LogicWaterFallingPlatformGS": { "type": "LogicTrick", "name": "WaT Waterfall GS\\n w/ Hookshot", "descriptions": ["LogicWaterFallingPlatformGSDesc"]}, + "LogicSpiritLowerAdultSwitch": { "type": "LogicTrick", "name": "SpT Ceiling Switch\\n w/ Bombs", "descriptions": ["LogicSpiritLowerAdultSwitchDesc"]}, + "LogicSpiritChildBombchu": { "type": "LogicTrick", "name": "SpT Child Bridge\\n w/ Bombchu", "descriptions": ["LogicSpiritChildBombchuDesc"]}, + "LogicSpiritWall": { "type": "LogicTrick", "name": "SpT Shifting Wall\\n w/ Nothing", "descriptions": ["LogicSpiritWallDesc"]}, + "LogicSpiritLobbyGS": { "type": "LogicTrick", "name": "SpT Main Room GS\\n w/ Boomerang", "descriptions": ["LogicSpiritLobbyGSDesc"]}, + "LogicSpiritMapChest": { "type": "LogicTrick", "name": "SpT Map Chest\\n w/ Bow", "descriptions": ["LogicSpiritMapChestDesc"]}, + "LogicSpiritSunChest": { "type": "LogicTrick", "name": "SpT Sun Block Room\\n w/ Bow", "descriptions": ["LogicSpiritSunChestDesc"]}, + "LogicShadowFireArrowEntry": { "type": "LogicTrick", "name": "ShT Entry\\n w/ Fire Arrows", "descriptions": ["LogicShadowFireArrowEntryDesc"]}, //Needs Testing + "LogicShadowUmbrella": { "type": "LogicTrick", "name": "ShT Stone Umbrella\\n w/ Hover Boots", "descriptions": ["LogicShadowUmbrellaDesc"]}, + "LogicShadowFreestandingKey": { "type": "LogicTrick", "name": "ShT Skull Vase Key\\n w/ Bombchu", "descriptions": ["LogicShadowFreestandingKeyDesc"]}, + "LogicShadowStatue": { "type": "LogicTrick", "name": "ShT River Statue\\n w/ Bombchu", "descriptions": ["LogicShadowStatueDesc"]}, + "LogicShadowBongo": { "type": "LogicTrick", "name": "ShT Bongo\\n w/o Projectiles", "descriptions": ["LogicShadowBongoDesc"]}, + "LogicChildDeadhand": { "type": "LogicTrick", "name": "BotW Deadhand\\n w/o Sword", "descriptions": ["LogicChildDeadhandDesc"]}, + "LogicGtgWithoutHookshot": { "type": "LogicTrick", "name": "GTG West Silver Rupee\\n w/o Hookshot", "descriptions": ["LogicGtgWithoutHookshotDesc"]}, + "LogicGtgFakeWall": { "type": "LogicTrick", "name": "GTG Invisible Wall\\n w/ Hover Boots", "descriptions": ["LogicGtgFakeWallDesc"]}, + "LogicLensSpirit": { "type": "LogicTrick", "name": "SpT Navigate\\n w/o Lens of Truth", "descriptions": ["LogicLensSpiritDesc"]}, + "LogicLensShadow": { "type": "LogicTrick", "name": "ShT Early Rooms\\n w/o Lens of Truth", "descriptions": ["LogicLensShadowDesc"]}, + "LogicLensShadowBack": { "type": "LogicTrick", "name": "ShT Later Rooms\\n w/o Lens of Truth", "descriptions": ["LogicLensShadowBackDesc"]}, + "LogicLensBotw": { "type": "LogicTrick", "name": "BotW Navigate\\n w/o Lens of Truth", "descriptions": ["LogicLensBotwDesc"]}, + "LogicLensGtg": { "type": "LogicTrick", "name": "GTG Navigate\\n w/o Lens of Truth", "descriptions": ["LogicLensGtgDesc"]}, + "LogicLensCastle": { "type": "LogicTrick", "name": "GaC Navigate\\n w/o Lens of Truth", "descriptions": ["LogicLensCastleDesc"]}, + "LogicLensJabuMQ": { "type": "LogicTrick", "name": "JJB MQ Navigate\\n w/o Lens of Truth", "descriptions": ["LogicLensJabuMQDesc"]}, + "LogicLensSpiritMQ": { "type": "LogicTrick", "name": "SpT MQ Navigate\\n w/o Lens of Truth", "descriptions": ["LogicLensSpiritMQDesc"]}, + "LogicLensShadowMQ": { "type": "LogicTrick", "name": "ShT MQ Early Rooms\\n w/o Lens of Truth", "descriptions": ["LogicLensShadowMQDesc"]}, + "LogicLensShadowMQBack": { "type": "LogicTrick", "name": "ShT MQ Later Rooms\\n w/o Lens of Truth", "descriptions": ["LogicLensShadowMQBackDesc"]}, + "LogicLensBotwMQ": { "type": "LogicTrick", "name": "BotW MQ Nagivate\\n w/o Lens of Truth", "descriptions": ["LogicLensBotwMQDesc"]}, + "LogicLensGtgMQ": { "type": "LogicTrick", "name": "GTG MQ Navigate\\n w/o Lens of Truth", "descriptions": ["LogicLensGtgMQDesc"]}, + "LogicLensCastleMQ": { "type": "LogicTrick", "name": "GaC MQ Navigate\\n w/o Lens of Truth", "descriptions": ["LogicLensCastleMQDesc"]}, + "LogicSpiritTrialHookshot": { "type": "LogicTrick", "name": "Spirit Trial\\n w/o Hookshot", "descriptions": ["LogicSpiritTrialHookshotDesc"]}, + "LogicFlamingChests": { "type": "LogicTrick", "name": "Open chests through\\n flame circles", "descriptions": ["LogicFlamingChestsDesc"]} + }, + "glitchCategories": { + "ToggleAllGlitches": { "type": "GlitchDifficultyOptions", "name": "All Glitches", "GlitchDifficultyOptions": "0b11111", "descriptions": [ "ToggleAllGlitchesDesc" ], "category": "Toggle"}, + "GlitchRestrictedItems": { "type": "GlitchDifficultyOptions", "name": "Restricted Items", "GlitchDifficultyOptions": "0b00001", "descriptions": [ "GlitchRestrictedItemsDescDisabled" , "GlitchRestrictedItemsDescNovice" ]}, + "GlitchSuperStab": { "type": "GlitchDifficultyOptions", "name": "Super Stab", "GlitchDifficultyOptions": "0b00001", "descriptions": [ "GlitchSuperStabDescDisabled" , "GlitchSuperStabDescNovice" ]}, + "GlitchISG": { "type": "GlitchDifficultyOptions", "name": "Infinite Sword Glitch", "GlitchDifficultyOptions": "0b00111", "descriptions": [ "GlitchISGDescDisabled" , "GlitchISGDescNovice" , "GlitchISGDescIntermediate" , "GlitchISGDescAdvanced" ]}, + "GlitchHover": { "type": "GlitchDifficultyOptions", "name": "Bomb Hover", "GlitchDifficultyOptions": "0b00111", "descriptions": [ "GlitchHoverDescDisabled" , "GlitchHoverDescNovice" , "GlitchHoverDescIntermediate" , "GlitchHoverDescAdvanced" ]}, + "GlitchBombOI": { "type": "GlitchDifficultyOptions", "name": "Ocarina Items (Bomb)", "GlitchDifficultyOptions": "0b01111", "descriptions": [ "GlitchBombOIDescDisabled" , "GlitchBombOIDescNovice" , "GlitchBombOIDescIntermediate" , "GlitchBombOIDescAdvanced" , "GlitchBombOIDescExpert" ]}, + "GlitchHoverBoost": { "type": "GlitchDifficultyOptions", "name": "HoverBoost", "GlitchDifficultyOptions": "0b00111", "descriptions": [ "GlitchHoverBoostDescDisabled" , "GlitchHoverBoostDescNovice" , "GlitchHoverBoostDescIntermediate" , "GlitchHoverBoostDescAdvanced" ]}, + "GlitchSuperSlide": { "type": "GlitchDifficultyOptions", "name": "Extended Super Slide", "GlitchDifficultyOptions": "0b01111", "descriptions": [ "GlitchSuperSlideDescDisabled" , "GlitchSuperSlideDescNovice" , "GlitchSuperSlideDescIntermediate" , "GlitchSuperSlideDescAdvanced" , "GlitchSuperSlideDescExpert" ]}, + "GlitchMegaflip": { "type": "GlitchDifficultyOptions", "name": "Megaflip", "GlitchDifficultyOptions": "0b11111", "descriptions": [ "GlitchMegaflipDescDisabled" , "GlitchMegaflipDescNovice" , "GlitchMegaflipDescIntermediate" , "GlitchMegaflipDescAdvanced" , "GlitchMegaflipDescExpert" , "GlitchMegaflipDescHero" ]}, + "GlitchASlide": { "type": "GlitchDifficultyOptions", "name": "A-Slide", "GlitchDifficultyOptions": "0b01111", "descriptions": [ "GlitchASlideDescDisabled" , "GlitchASlideDescNovice" , "GlitchASlideDescIntermediate" , "GlitchASlideDescAdvanced" , "GlitchASlideDescExpert" ]}, + "GlitchHammerSlide": { "type": "GlitchDifficultyOptions", "name": "Hammer Slide", "GlitchDifficultyOptions": "0b00011", "descriptions": [ "GlitchHammerSlideDescDisabled" , "GlitchHammerSlideDescNovice" , "GlitchHammerSlideDescIntermediate" ]}, + "GlitchLedgeCancel": { "type": "GlitchDifficultyOptions", "name": "Ledge Cancel", "GlitchDifficultyOptions": "0b00111", "descriptions": [ "GlitchLedgeCancelDescDisabled" , "GlitchLedgeCancelDescNovice" , "GlitchLedgeCancelDescIntermediate" , "GlitchLedgeCancelDescAdvanced" ]}, + "GlitchActionSwap": { "type": "GlitchDifficultyOptions", "name": "Action Swap", "GlitchDifficultyOptions": "0b00101", "descriptions": [ "GlitchActionSwapDescDisabled" , "GlitchActionSwapDescNovice" , "GlitchActionSwapDescAdvanced" ]}, + "GlitchQPA": { "type": "GlitchDifficultyOptions", "name": "Quick Put Away", "GlitchDifficultyOptions": "0b01111", "descriptions": [ "GlitchQPADescDisabled" , "GlitchQPADescNovice" , "GlitchQPADescIntermediate" , "GlitchQPADescAdvanced" , "GlitchQPADescExpert" ]}, + "GlitchHookshotClip": { "type": "GlitchDifficultyOptions", "name": "Hookshot Clip", "GlitchDifficultyOptions": "0b00011", "descriptions": [ "GlitchHookshotClipDescDisabled" , "GlitchHookshotClipDescNovice" , "GlitchHookshotClipDescIntermediate" ]}, + "GlitchHookshotJump_Bonk": { "type": "GlitchDifficultyOptions", "name": "Hookshot Jump (Bonk)", "GlitchDifficultyOptions": "0b00111", "descriptions": [ "GlitchHookshotJump_BonkDescDisabled" , "GlitchHookshotJump_BonkDescNovice" , "GlitchHookshotJump_BonkDescIntermediate" , "GlitchHookshotJump_BonkDescAdvanced" ]}, + "GlitchHookshotJump_Boots": { "type": "GlitchDifficultyOptions", "name": "Hookshot Jump (Boots)", "GlitchDifficultyOptions": "0b00111", "descriptions": [ "GlitchHookshotJump_BootsDescDisabled" , "GlitchHookshotJump_BootsDescNovice" , "GlitchHookshotJump_BootsDescIntermediate" , "GlitchHookshotJump_BootsDescAdvanced" ]}, + "GlitchCutsceneDive": { "type": "GlitchDifficultyOptions", "name": "Cutscene Dives", "GlitchDifficultyOptions": "0b00111", "descriptions": [ "GlitchCutsceneDiveDescDisabled" , "GlitchCutsceneDiveDescNovice" , "GlitchCutsceneDiveDescIntermediate" , "GlitchCutsceneDiveDescAdvanced" ]}, + "GlitchNaviDive_Stick": { "type": "GlitchDifficultyOptions", "name": "Navi Dive (Stick)", "GlitchDifficultyOptions": "0b00111", "descriptions": [ "GlitchNaviDive_StickDescDisabled" , "GlitchNaviDive_StickDescNovice" , "GlitchNaviDive_StickDescIntermediate" , "GlitchNaviDive_StickDescAdvanced" ]}, + "GlitchTripleSlashClip": { "type": "GlitchDifficultyOptions", "name": "Triple Slash Clip", "GlitchDifficultyOptions": "0b01111", "descriptions": [ "GlitchTripleSlashClipDescDisabled" , "GlitchTripleSlashClipDescNovice" , "GlitchTripleSlashClipDescIntermediate" , "GlitchTripleSlashClipDescAdvanced" , "GlitchTripleSlashClipDescExpert" ]}, + "GlitchLedgeClip": { "type": "GlitchDifficultyOptions", "name": "Ledge Clip", "GlitchDifficultyOptions": "0b00111", "descriptions": [ "GlitchLedgeClipDescDisabled" , "GlitchLedgeClipDescNovice" , "GlitchLedgeClipDescIntermediate" , "GlitchLedgeClipDescAdvanced" ]}, + "GlitchSeamWalk": { "type": "GlitchDifficultyOptions", "name": "Seam Walk", "GlitchDifficultyOptions": "0b11111", "descriptions": [ "GlitchSeamWalkDescDisabled" , "GlitchSeamWalkDescNovice" , "GlitchSeamWalkDescIntermediate" , "GlitchSeamWalkDescAdvanced" , "GlitchSeamWalkDescExpert" , "GlitchSeamWalkDescHero" ]} + }, + "miscGlitches": { + "GlitchWWTEscape": { "type": "Bool", "name": "WWT Kokiri\\n Forest Escape", "falsetxt": "Off", "truetxt": "On", "descriptions": ["GlitchWWTEscapeDesc"]}, + "GlitchGVTentAsChild": { "type": "Bool", "name": "Enter GV Tent\\n as Child", "falsetxt": "Off", "truetxt": "On", "descriptions": ["GlitchGVTentAsChildDesc"]}, + "GlitchGFGuardSneak": { "type": "Bool", "name": "Sneak Past\\n the GF Guard", "falsetxt": "Off", "truetxt": "On", "descriptions": ["GlitchGFGuardSneakDesc"]}, + "GlitchItemlessWasteland": { "type": "Bool", "name": "Cross the HW\\n w/o Items", "falsetxt": "Off", "truetxt": "On", "descriptions": ["GlitchItemlessWastelandDesc"]}, + "GlitchOccamsStatue": { "type": "Bool", "name": "Occam's Statue", "falsetxt": "Off", "truetxt": "On", "descriptions": ["GlitchOccamsStatueDesc"]}, + "GlitchZDOoBJumpSlash": { "type": "Bool", "name": "ZD OoB w/\\n Jump Slash", "falsetxt": "Off", "truetxt": "On", "descriptions": ["GlitchZDOoBJumpSlashDesc"]}, + "GlitchJabuStickRecoil": { "type": "Bool", "name": "Enter Jabu\\n w/o Bottle", "falsetxt": "Off", "truetxt": "On", "descriptions": ["GlitchJabuStickRecoilDesc"]}, + "GlitchJabuAdult": { "type": "Bool", "name": "Enter Jabu\\n as Adult", "falsetxt": "Off", "truetxt": "On", "descriptions": ["GlitchJabuAdultDesc"]}, + "GlitchBlueFireWall": { "type": "Bool", "name": "Break Walls\\n w/ Blue Fire", "falsetxt": "Off", "truetxt": "On", "descriptions": ["GlitchBlueFireWallDesc"]}, + "GlitchClassicHalfie": { "type": "Bool", "name": "Classic Halfie", "falsetxt": "Off", "truetxt": "On", "descriptions": ["GlitchClassicHalfieDesc"]}, + "GlitchModernHalfie": { "type": "Bool", "name": "Modern Halfie", "falsetxt": "Off", "truetxt": "On", "descriptions": ["GlitchModernHalfieDesc"]}, + "GlitchJabuSwitch": { "type": "Bool", "name": "Jabu Switch\\n w/ CS item", "falsetxt": "Off", "truetxt": "On", "descriptions": ["GlitchJabuSwitchDesc"]}, + "GlitchForestBKSkip": { "type": "Bool", "name": "Forest Temple\\n BK Skip", "falsetxt": "Off", "truetxt": "On", "descriptions": ["GlitchForestBKSkipDesc"]}, + "GlitchFireGrunzClip": { "type": "Bool", "name": "Fire Temple\\n Grunz Clip", "falsetxt": "Off", "truetxt": "On", "descriptions": ["GlitchFireGrunzClipDesc"]} + }, + "multiplayerOptions": { + "MP_Enabled": { "type": "Bool", "name": "Multiplayer", "falsetxt": "Off", "truetxt": "On (Local)", "descriptions": ["mp_EnabledDesc"]}, + "MP_SharedProgress": { "type": "Bool", "name": "Shared Progress", "falsetxt": "Off", "truetxt": "On", "descriptions": ["mp_SharedProgressDesc"]}, + "MP_SyncId": { "type": "Count", "indent": 2, "name": "Sync ID", "min": 1, "max": 8, "descriptions": ["mp_SyncIdDesc"], "category": "Cosmetic"}, + "MP_SharedHealth": { "type": "Bool", "name": "Shared Health", "falsetxt": "Off", "truetxt": "On", "descriptions": ["mp_SharedHealthDesc"]}, + "MP_SharedRupees": { "type": "Bool", "name": "Shared Rupees", "falsetxt": "Off", "truetxt": "On", "descriptions": ["mp_SharedRupeesDesc"]}, + "MP_SharedAmmo": { "type": "Bool", "name": "Shared Ammo", "falsetxt": "Off", "truetxt": "On", "descriptions": ["mp_SharedAmmoDesc"]} + }, + "preferenceOptions": { + "QuickText": { "type": "Choice", "name": "Quick Text", "options": ["0: Vanilla", "1: Skippable", "2: Instant", "3: Turbo"], "descriptions": ["quickTextDesc0", "quickTextDesc1", "quickTextDesc2", "quickTextDesc3"], "category": "Cosmetic", "default": "2: Instant"}, + "MenuOpeningButton": { "type": "Choice", "name": "Open Info Menu with", "options": ["Select","Start","D-Pad Up","D-Pad Down","D-Pad Right","D-Pad Left"], "descriptions": ["menuButtonDesc"], "category": "Cosmetic"}, + "ArrowSwitchButton": { "type": "Choice", "name": "Switch Arrows with", "options": ["D-Pad Right","D-Pad Left","D-Pad Up","D-Pad Down","Touch Screen"], "descriptions": ["arrowSwitchDesc"], "category": "Cosmetic"} + }, + "ingameDefaultOptions": { // using generic choice type since some of the bools here are a bit weird + "ZTargeting": { "type": "Choice", "name": "L-Targeting", "options": ["Switch", "Hold"], "descriptions": ["''"], "category": "Cosmetic", "default": "Hold"}, + "CameraControl": { "type": "Choice", "name": "Camera Control", "options": ["Normal", "Invert Y-axis"], "descriptions": ["''"], "category": "Cosmetic"}, + "MotionControl": { "type": "Choice", "name": "Motion Control", "options": ["On", "Off"], "descriptions": ["''"], "category": "Cosmetic"}, + "TogglePlayMusic": { "type": "Choice", "name": "Play Music", "options": ["Off", "On"], "descriptions": ["''"], "category": "Cosmetic", "default": "On"}, + "TogglePlaySFX": { "type": "Choice", "name": "Play Sound Effects", "options": ["Off", "On"], "descriptions": ["''"], "category": "Cosmetic", "default": "On"}, + "NaviNotifications": { "type": "Choice", "name": "Navi Notifications", "options": ["Silenced", "Normal", "Constant"], "descriptions": ["naviNotificationsDesc"], "category": "Cosmetic", "default": "Normal"}, + "IgnoreMaskReaction": { "type": "Choice", "name": "Ignore Mask Reaction", "options": ["Off", "On"], "descriptions": ["ignoreMaskReactionDesc"], "category": "Cosmetic"}, + "SkipSongReplays": { "type": "Choice", "name": "Skip Song Replays", "options": ["Don't Skip", "Skip (No SFX)", "Skip (Keep SFX)"], "descriptions": ["skipSongReplaysDesc"], "category": "Cosmetic"}, + "FreeCamControl": { "type": "Choice", "name": "Free Camera Control", "options": ["Normal", "Invert Y-Axis", "Invert X-Axis", "Invert Both"], "descriptions": ["''"], "category": "Cosmetic"} + }, + "cosmeticOptions": { + "CustomTunicColors": { "type": "Bool", "name": "Custom Tunic Colors", "falsetxt": "Off", "truetxt": "On", "descriptions": ["''"], "category": "Cosmetic"}, + "ChildTunicColor": { "type": "Choice", "indent": 2, "name": "Child Tunic Color", "options": "childTunicOptions", "descriptions": "cosmeticDescriptions", "category": "Cosmetic", "default": "SAME_AS_KOKIRI"}, + "KokiriTunicColor": { "type": "Choice", "indent": 2, "name": "Kokiri Tunic Color", "options": "tunicOptions", "descriptions": "cosmeticDescriptions", "category": "Cosmetic", "default": 3}, // Kokiri Green + "GoronTunicColor": { "type": "Choice", "indent": 2, "name": "Goron Tunic Color", "options": "tunicOptions", "descriptions": "cosmeticDescriptions", "category": "Cosmetic", "default": 4}, // Goron Red + "ZoraTunicColor": { "type": "Choice", "indent": 2, "name": "Zora Tunic Color", "options": "tunicOptions", "descriptions": "cosmeticDescriptions", "category": "Cosmetic", "default": 5}, // Zora Blue + "SilverGauntletsColor": { "type": "Choice", "name": "Silver Gauntlets Color", "options": "gauntletOptions", "descriptions": "cosmeticDescriptions", "category": "Cosmetic", "default": 3}, // Silver + "GoldGauntletsColor": { "type": "Choice", "name": "Gold Gauntlets Color", "options": "gauntletOptions", "descriptions": "cosmeticDescriptions", "category": "Cosmetic", "default": 4}, // Gold + "CustomNaviColors": { "type": "Bool", "name": "Custom Navi Colors", "falsetxt": "Off", "truetxt": "On", "descriptions": ["''"], "category": "Cosmetic"}, + "IdleNaviInnerColor": { "type": "Choice", "indent": 2, "name": "Idle (Inner)", "options": "naviInnerOptionNames", "descriptions": ["RANDOM_CHOICE_DESC", "RANDOM_COLOR_DESC", "CUSTOM_COLOR_DESC", "naviColorsDesc"], "category": "Cosmetic", "default": 3}, // White + "NPCNaviInnerColor": { "type": "Choice", "indent": 2, "name": "On NPC (Inner)", "options": "naviInnerOptionNames", "descriptions": ["RANDOM_CHOICE_DESC", "RANDOM_COLOR_DESC", "CUSTOM_COLOR_DESC", "naviColorsDesc"], "category": "Cosmetic", "default": 5}, // Light Blue + "EnemyNaviInnerColor": { "type": "Choice", "indent": 2, "name": "On Enemy (Inner)", "options": "naviInnerOptionNames", "descriptions": ["RANDOM_CHOICE_DESC", "RANDOM_COLOR_DESC", "CUSTOM_COLOR_DESC", "naviColorsDesc"], "category": "Cosmetic", "default": 6}, // Yellow + "PropNaviInnerColor": { "type": "Choice", "indent": 2, "name": "On Prop (Inner)", "options": "naviInnerOptionNames", "descriptions": ["RANDOM_CHOICE_DESC", "RANDOM_COLOR_DESC", "CUSTOM_COLOR_DESC", "naviColorsDesc"], "category": "Cosmetic", "default": 4}, // Green + "IdleNaviOuterColor": { "type": "Choice", "indent": 2, "name": "Idle (Outer)", "options": "naviOuterOptionNames", "descriptions": ["RANDOM_CHOICE_DESC", "RANDOM_COLOR_DESC", "CUSTOM_COLOR_DESC", "naviColorsDesc"], "category": "Cosmetic", "default": "SAME_AS_INNER_NAVI"}, + "NPCNaviOuterColor": { "type": "Choice", "indent": 2, "name": "On NPC (Outer)", "options": "naviOuterOptionNames", "descriptions": ["RANDOM_CHOICE_DESC", "RANDOM_COLOR_DESC", "CUSTOM_COLOR_DESC", "naviColorsDesc"], "category": "Cosmetic", "default": "SAME_AS_INNER_NAVI"}, + "EnemyNaviOuterColor": { "type": "Choice", "indent": 2, "name": "On Enemy (Outer)", "options": "naviOuterOptionNames", "descriptions": ["RANDOM_CHOICE_DESC", "RANDOM_COLOR_DESC", "CUSTOM_COLOR_DESC", "naviColorsDesc"], "category": "Cosmetic", "default": "SAME_AS_INNER_NAVI"}, + "PropNaviOuterColor": { "type": "Choice", "indent": 2, "name": "On Prop (Outer)", "options": "naviOuterOptionNames", "descriptions": ["RANDOM_CHOICE_DESC", "RANDOM_COLOR_DESC", "CUSTOM_COLOR_DESC", "naviColorsDesc"], "category": "Cosmetic", "default": "SAME_AS_INNER_NAVI"}, + "CustomTrailEffects": { "type": "Bool", "name": "Custom Trail Effects", "falsetxt": "Off", "truetxt": "On", "descriptions": ["''"], "category": "Cosmetic"}, + "ChosenSimpleMode": { "type": "Bool", "indent": 2, "name": "Draw simple texture", "falsetxt": "When necessary", "truetxt": "Always", "descriptions": ["necessarySimpleModeDesc", "alwaysSimpleModeDesc"], "category": "Cosmetic"}, + "SwordTrailInnerColor": { "type": "Choice", "indent": 2, "name": "Sword (Inner Color)", "options": "weaponTrailInnerOptionNames", "descriptions": ["RANDOM_CHOICE_DESC", "RANDOM_COLOR_DESC", "CUSTOM_COLOR_DESC", "'Select the color that appears from the base\\nof the sword.'"], "category": "Cosmetic", "default": 3}, // White + "SwordTrailOuterColor": { "type": "Choice", "indent": 2, "name": "Sword (Outer Color)", "options": "weaponTrailOuterOptionNames", "descriptions": ["RANDOM_CHOICE_DESC", "RANDOM_COLOR_DESC", "CUSTOM_COLOR_DESC", "'Select the color that appears from the tip\\nof the sword.'"], "category": "Cosmetic", "default": "SAME_AS_INNER_TRAIL"}, + "SwordTrailDuration": { "type": "Choice", "indent": 2, "name": "Sword (Duration)", "options": "trailDurationOptionNames", "descriptions": ["'Select the duration for sword trails.\\n\\nIf too many trails are on screen, the duration\\nmay be capped at Long for some of them.'"], "category": "Cosmetic", "default": 2}, // Vanilla + "BoomerangTrailColor": { "type": "Choice", "indent": 2, "name": "Boomerang (Color)", "options": "weaponTrailInnerOptionNames", "descriptions": ["RANDOM_CHOICE_DESC", "RANDOM_COLOR_DESC", "CUSTOM_COLOR_DESC", "'Select the color for boomerang trails.'"], "category": "Cosmetic", "default": 8}, // Yellow + "BoomerangTrailDuration": { "type": "Choice", "indent": 2, "name": "Boomerang (Duration)", "options": "trailDurationOptionNames", "descriptions": ["'Select the duration for boomerang trails.'"], "category": "Cosmetic", "default": 2}, // Vanilla + "BombchuTrailInnerColor": { "type": "Choice", "indent": 2, "name": "Bombchu (Inner Color)", "options": "weaponTrailInnerOptionNames", "descriptions": ["RANDOM_CHOICE_DESC", "RANDOM_COLOR_DESC", "CUSTOM_COLOR_DESC", "'Select the color for the center of the\\nbombchu trail.'"], "category": "Cosmetic", "default": 5}, // Red + "BombchuTrailOuterColor": { "type": "Choice", "indent": 2, "name": "Bombchu (Outer Color)", "options": "weaponTrailOuterOptionNames", "descriptions": ["RANDOM_CHOICE_DESC", "RANDOM_COLOR_DESC", "CUSTOM_COLOR_DESC", "'Select the color for the sides of the\\nbombchu trail.'"], "category": "Cosmetic", "default": "SAME_AS_INNER_TRAIL"}, + "BombchuTrailDuration": { "type": "Choice", "indent": 2, "name": "Bombchu (Duration)", "options": "chuTrailDurationOptionNames", "descriptions": ["'Select the duration for bombchu trails.'"], "category": "Cosmetic", "default": 2}, // Vanilla + "ColoredKeys": { "type": "Bool", "name": "Colored Small Keys", "falsetxt": "Off", "truetxt": "On", "descriptions": ["coloredKeysDesc"], "category": "Cosmetic"}, + "ColoredBossKeys": { "type": "Bool", "name": "Colored Boss Keys", "falsetxt": "Off", "truetxt": "On", "descriptions": ["coloredBossKeysDesc"], "category": "Cosmetic"}, + "MirrorWorldOpt": { "type": "Choice", "name": "Mirror World", "options": ["Off", "On", "Scene", "Entrance", "Random"], "descriptions": ["mirrorWorldOffDesc", "mirrorWorldOnDesc", "mirrorWorldSceneDesc", "mirrorWorldEntranceDesc", "mirrorWorldRandomDesc"], "category": "Cosmetic"}, + "BetaSoldOut": { "type": "Bool", "name": "Beta Sold-Out Model", "falsetxt": "Off", "truetxt": "On", "descriptions": ["betaSoldOutDesc"], "category": "Cosmetic"}, + "SoullessEnemiesLook": { "type": "Choice", "name": "Soulless Enemies Look", "options": ["Purple Flame", "Flashing"], "descriptions": ["soullessPurpleFlameDesc", "soullessFlashingDesc"], "category": "Cosmetic"} + }, + "audioOptions": { + "ShuffleMusic": { "type": "Bool", "name": "Shuffle Music", "falsetxt": "Off", "truetxt": "On", "descriptions": ["musicRandoDesc"], "category": "Cosmetic"}, + "ShuffleBGM": { "type": "Choice", "indent": 2, "name": "Shuffle BGM", "options": ["Off", "On (Mixed)", "On (Grouped)", "On (Own)"], "descriptions": ["shuffleBGMDesc"], "category": "Cosmetic", "default": "On (Mixed)"}, + "ShuffleMelodies": { "type": "Choice", "indent": 2, "name": "Shuffle Melodies", "options": ["Off", "On (Mixed)", "On (Grouped)", "On (Own)"], "descriptions": ["shuffleMelodiesDesc"], "category": "Cosmetic", "default": "On (Grouped)"}, + "CustomMusic": { "type": "Bool", "indent": 2, "name": "Custom Music", "falsetxt": "Off", "truetxt": "On", "descriptions": ["customMusicDesc"], "category": "Cosmetic"}, + "CustomMusicOnly": { "type": "Bool", "indent": 4, "name": "Custom Music Only", "falsetxt": "Off", "truetxt": "On", "descriptions": ["customMusicOnlyDesc"], "category": "Cosmetic"}, + "ShuffleSFX": { "type": "Choice", "name": "Shuffle SFX", "options": ["Off", "All", "Scene Specific", "Chaos"], "descriptions": ["shuffleSFXOff", "shuffleSFXAll", "shuffleSFXSceneSpecific", "shuffleSFXChaos"], "category": "Cosmetic"}, + "ShuffleSFXFootsteps": { "type": "Bool", "indent": 2, "name": "Include Footsteps", "falsetxt": "No", "truetxt": "Yes", "descriptions": ["''"], "category": "Cosmetic", "default": true}, + "ShuffleSFXLinkVoice": { "type": "Bool", "indent": 2, "name": "Include Link's Voice", "falsetxt": "No", "truetxt": "Yes", "descriptions": ["''"], "category": "Cosmetic", "default": true}, + "ShuffleSFXCategorically": { "type": "Bool", "indent": 2, "name": "Categorical Shuffle", "falsetxt": "Off", "truetxt": "On", "descriptions": ["shuffleSFXCategorically"], "category": "Cosmetic", "default": true}, + "OcarinaNoteInstrument": { "type": "Choice", "name": "Ocarina Instrument", "options": ["Random Choice", "Scene Specific", "Default", + "Malon", "Whistle", "Harp", "Grind Organ", "Flute"], "descriptions": ["ocarinaInstrRandomDesc", "ocarinaInstrSceneDesc", "ocarinaInstrDesc"], "category": "Cosmetic", "default": "Default"} + } +} \ No newline at end of file diff --git a/source/descriptions.cpp b/source/descriptions.cpp deleted file mode 100644 index b2c9278c..00000000 --- a/source/descriptions.cpp +++ /dev/null @@ -1,2151 +0,0 @@ -#include "descriptions.hpp" - -// clang-format off -/*------------------------------ -| MENU DESCRIPTIONS | *SCREEN WIDTH* -------------------------------*/ /*--------------------------------------------------*/ -string_view menuOpenSettingsDesc = "Depending on the enabled glitches and item place-\n" - "ments, some of these may be logically bypassed.\n"// - "For example, bomb hovering to Ganon's Castle."; // -string_view menuGlitchOptionsDesc = "These are only taken into account when logic is\n" - "set to Glitched."; // -string_view menuPersonalizationDesc = "These options do not affect seed generation."; // -string_view menuIngameDefaultsDesc = "These options decide what the ingame options are\n" - "set to when creating a save file. The new ingame\n" - "options can be changed in the Custom Info Menu."; // - -/*------------------------------ -| PRESET DESCRIPTIONS | *SCREEN WIDTH* -------------------------------*/ /*--------------------------------------------------*/ -string_view presetNintendedDesc = "Locks the world in a state as intended by the\n" // - "developers. Start as child and work your way\n" // - "towards Ganon in a classical way."; // -string_view presetAllsanityDesc = "ANYTHING ANYWHERE! Both items and entrances."; // -string_view presetRacingDesc = "Community racing settings."; // -string_view presetVanillaDesc = "Experience a regular playthrough but with all of\n" - "the randomizer's improvements.\n" // - "\n" // - "Enable entrance shuffle for an extra challenge!"; // -string_view presetFullChaosDesc = "The hardest and craziest settings possible.\n" // - "Closes everything as much as possible.\n" // - "No logic. Anything anywhere.\n" // - "Full entrance shuffle.\n" // - "One-hit KO. Max ice traps."; // - -//Setting descriptions are mostly copied from OoT Randomizer tooltips with minor edits - -/*------------------------------ -| RANDOMIZE SETTINGS | *SCREEN WIDTH* -------------------------------*/ /*--------------------------------------------------*/ -string_view openRandomize = "Randomize all Open Settings."; // -string_view worldRandomize = "Randomize all World Settings except for MQ\n" // - "dungeons."; // -string_view shuffleRandomize = "Randomize all Shuffle Settings."; // -string_view dungeonRandomize = "Randomize all Dungeon Shuffle Settings."; // - // -/*------------------------------ // -| LOGIC | // -------------------------------*/ // -string_view logicGlitchless = "No glitches are required, but may require some\n" // - "minor tricks. Add minor tricks to consider for\n" // - "logic in Logical Tricks."; // -string_view logicGlitched = "The glitches you enable at the set difficulty\n" // - "or below may be required.\n" // - "\n" // - "WIP feature. Allows glitch logic for the entire\n"// - "overworld and the following vanilla dungeons:\n" // - "Deku Tree, Dodongo's Cavern, Jabu Jabu, and\n" // - "Forest, Water, and Fire Temple."; // -string_view logicNoLogic = "Maximize randomization, All locations are\n" // - "considered available. MAY BE IMPOSSIBLE TO BEAT.";// -string_view logicVanilla = "For those who want to play the game normally but\n" - "with the improvements of the randomizer. All\n" // - "locations will contain their vanilla items. This\n" - "supercedes all item shuffle, logic, hint, and\n" // - "item pool settings. You can still use non-vanilla\n" - "world settings such as adult start or entrance\n" // - "shuffle, but the game may require glitches to\n" // - "complete if you do."; // -/*------------------------------ // -| FOREST | // -------------------------------*/ // -string_view forestOpen = "Mido no longer blocks the path to the Deku Tree,\n" - "and the Kokiri boy no longer blocks the path out\n" - "of the forest."; // -string_view forestClosed = "Beating Deku Tree is logically required to leave\n" - "the forest area (Kokiri Forest/Lost Woods/Sacred\n" - "Forest Meadow/Deku Tree), while the Kokiri Sword\n" - "and a Deku Shield are required to access the Deku\n" - "Tree. Items needed for this will be guaranteed\n" // - "inside the forest area. This setting is\n" // - "incompatible with starting as adult."; // -string_view forestClosedDeku = "The Kokiri boy no longer blocks the path out of\n"// - "the forest, but Mido still blocks the path to the\n" - "Deku Tree, requiring Kokiri Sword and Deku Shield\n" - "to access the Deku Tree."; // -/*------------------------------ // -| KAKARIKO GATE | // -------------------------------*/ // -string_view kakGateOpen = "The gate is always open instead of needing\n" // - "Zelda's Letter. The Happy Mask Shop opens upon\n" // - "obtaining Zelda's Letter without needing to show\n" - "it to the guard."; // -string_view kakGateClosed = "The gate and the Happy Mask Shop both remain\n" // - "closed until showing Zelda's Letter to the guard\n" - "in Kakariko."; // -/*------------------------------ // -| DOOR OF TIME | // -------------------------------*/ // -string_view doorOfTimeOpen = "The Door of Time starts opened instead of needing\n" - "to play the Song of Time."; // -string_view doorOfTimeClosed = "Only an Ocarina and the Song of Time need to be\n"// - "found to open the Door of Time."; // -string_view doorOfTimeIntended = "The Ocarina of Time, the Song of Time, and\n" // - "all Spiritual Stones need to be found to\n" // - "open the Door of Time."; // -/*------------------------------ // -| ZORA'S FOUNTAIN | // -------------------------------*/ // -string_view fountainNormal = "King Zora obstructs the way to Zora's Fountain.\n"// - "Ruto's Letter must be shown as child in order to\n" - "move him for both eras."; // -string_view fountainAdult = "King Zora is always moved in the adult era. This\n" - "means Ruto's Letter is only required to access\n" // - "Zora's Fountain as child."; // -string_view fountainOpen = "King Zora starts as moved in both the child and\n"// - "adult eras. This also removes Ruto's Letter from\n" - "the pool since it can't be used."; // -/*------------------------------ // -| JABU-JABU | // -------------------------------*/ // -string_view jabuJabuCloseDesc = "Jabu-Jabu's mouth stays closed until a fish is\n" // - "fed."; // -string_view jabuJabuOpenDesc = "Jabu-Jabu's mouth is always open."; // -/*------------------------------ // -| GERUDO FORTRESS | // -------------------------------*/ // -string_view gerudoNormal = "All 4 carpenters can be rescued."; // -string_view gerudoFast = "Only the bottom left carpenter must be rescued."; // -string_view gerudoOpen = "The carpenters are rescued from the start of the\n" - "game, and if Shuffle Gerudo Card is disabled,\n" // - "the player starts with the Gerudo Card in the\n" // - "inventory allowing access to Gerudo Training\n" // - "Grounds."; // -/*------------------------------ // -| RAINBOW BRIDGE | // -------------------------------*/ // -string_view bridgeOpen = "The Rainbow Bridge is always present."; // -string_view bridgeVanilla = "The Rainbow Bridge requires Shadow and Spirit\n" // - "Medallions as well as Light Arrows."; // -string_view bridgeStones = "The Rainbow Bridge requires collecting a\n" // - "configurable number of Spiritual Stones."; // -string_view bridgeMedallions = "The Rainbow Bridge requires collecting a\n" // - "configurable number of Medallions."; // -string_view bridgeRewards = "The Rainbow Bridge requires collecting a\n" // - "configurable number of Dungeon Rewards."; // -string_view bridgeDungeons = "The Rainbow Bridge requires completing a\n" // - "configurable number of Dungeons.\n" // - "\n" // - "Dungeons are considered complete when Link steps\n" - "into the blue warp at the end of them."; // -string_view bridgeTokens = "The Rainbow Bridge requires collecting a\n" // - "configurable number of Gold Skulltula Tokens."; // -string_view bridgeHearts = "The Rainbow Bridge requires collecting a\n" // - "configurable number of Hearts."; // -/*------------------------------ // -| BRIDGE CONDITIONS | // -------------------------------*/ // -string_view bridgeStoneCountDesc = "Set the number of Spiritual Stones required to\n" // - "spawn the Rainbow Bridge."; // -string_view bridgeMedallionCountDesc = "Set the number of Medallions required to spawn the" - "Rainbow Bridge."; // -string_view bridgeRewardCountDesc = "Set the number of Dungeon Rewards (Spiritual\n" // - "Stones and Medallions) required to spawn the\n" // - "Rainbow Bridge."; // -string_view bridgeDungeonCountDesc = "Set the number of completed dungeons required to\n" - "spawn the Rainbow Bridge."; // -string_view bridgeTokenCountDesc = "Set the number of Gold Skulltula Tokens required\n" - "to spawn the Rainbow Bridge."; // -string_view bridgeHeartCountDesc = "Set the number of Hearts required to spawn the\n" // - "Rainbow Bridge."; // -/*------------------------------ // -| RANDOM GANONS TRIALS | // -------------------------------*/ // -string_view randomGanonsTrialsDesc = "Sets a random number of required trials to enter\n" - "Ganon's Tower."; // -/*------------------------------ // -| GANON'S TRIAL COUNT | // -------------------------------*/ // -string_view ganonsTrialCountDesc = "Set the number of trials required to enter\n" // - "Ganon's Tower. Trials will be randomly selected.";// -/*------------------------------ // -| STARTING AGE | // -------------------------------*/ // -string_view ageDesc = "Choose which age Link will start as.\n" // - "\n" // - "Only the child option is compatible with Closed\n"// - "Forest.\n" // - "\n" // - "Child will also be forced if Door of Time is set\n" - "to intended and ocarinas are unshuffled unless you" - "start with an ocarina already in your inventory.";// -/*------------------------------ // -| SHUFFLE ENTRANCES | // -------------------------------*/ // -string_view shuffleEntrancesDesc = "Shuffle where the entrances between areas lead to." - "If turned on, select which kinds of entrances you\n" - "want shuffled in the options below. Note that some" - "types of entrances can have wildly varying\n" // - "generation times."; // - // -/*------------------------------ // -| DUNGEON ENTRANCES | // -------------------------------*/ // -string_view dungeonEntrancesDesc = "Shuffle the pool of dungeon entrances, including\n" - "Bottom of the Well, Ice Cavern, and Gerudo\n" // - "Training Grounds. Shuffling Ganon's Castle can\n" // - "be enabled separately.\n" // - "\n" // - "Additionally, the entrances of Deku Tree, Fire\n" // - "Temple, Bottom of the Well and Gerudo Training\n" // - "Ground are opened for both adult and child."; // -/*------------------------------ // -| BOSS ENTRANCES | // -------------------------------*/ // -string_view bossEntrancesDesc = "Shuffle the pool of dungeon boss entrances.\n" // - "This affects the boss rooms of all stone and\n" // - "medallion dungeons.\n" // - "\n" // - "Child and adult boss rooms can be shuffled\n" // - "separately.\n" // - "Child may be expected to defeat Phantom Ganon\n" // - "and/or Bongo Bongo."; // -/*------------------------------ // -| OVERWORLD ENTRANCES | // -------------------------------*/ // -string_view overworldEntrancesDesc = "Shuffle the pool of Overworld entrances, which\n" // - "corresponds to almost all loading zones between\n"// - "Overworld areas.\n" // - "\n" // - "Some entrances are unshuffled to avoid issues:\n" // - "- Hyrule Castle Courtyard and Garden entrance\n" // - "- Both Market Back Alley entrances\n" // - "- Gerudo Valley to Lake Hylia (unless entrances\n"// - " are decoupled)"; // -/*------------------------------ // -| INTERIOR ENTRANCES | // -------------------------------*/ // -string_view interiorEntrancesOff = "Interior entrances will not be shuffled."; // -string_view interiorEntrancesSimple = "Shuffle the pool of interior entrances which\n" // - "contains most Houses and all Great Fairies."; // -string_view interiorEntrancesAll = "An extended version of 'Simple' with some extra\n"// - "places:\n" // - "- Windmill\n" // - "- Link's House\n" // - "- Temple of Time\n" // - "- Kakariko Potion Shop."; // -/*------------------------------ // -| GROTTO ENTRANCES | // -------------------------------*/ // -string_view grottoEntrancesDesc = "Shuffle the pool of grotto entrances, including\n"// - "all graves, small Fairy Fountains and the Lost\n" // - "Woods Stage."; // -/*------------------------------ // -| OWL DROPS | // -------------------------------*/ // -string_view owlDropsDesc = "Randomize where Kaepora Gaebora (the Owl) drops\n"// - "you at when you talk to him at Lake Hylia or at\n"// - "the top of Death Mountain Trail."; // -/*------------------------------ // -| WARP SONGS | // -------------------------------*/ // -string_view warpSongsDesc = "Randomize where each of the 6 warp songs leads to."; - // -/*------------------------------ // -| OVERWORLD SPAWNS | // -------------------------------*/ // -string_view overworldSpawnsDesc = "Randomize where you start as Child or Adult when\n" - "loading a save in the Overworld. This means you\n"// - "may not necessarily spawn inside Link's House or\n" - "Temple of Time.\n" // - "\n" // - "This stays consistent after saving and loading the" - "game again."; // -/*------------------------------ // -| MIXED ENTRANCE POOLS | // -------------------------------*/ // -string_view mixedPoolsDesc = "Shuffle entrances into a mixed pool instead of\n" // - "separate ones. For example, enabling the settings\n" - "to shuffle grotto, dungeon, and overworld\n" // - "entrances and selecting grotto and dungeon\n" // - "entrances here will allow a dungeon to be inside a" - "grotto or vice versa, while overworld entrances\n"// - "are shuffled in their own separate pool and\n" // - "indoors stay vanilla."; // -string_view mixDungeonsDesc = "Dungeon entrances will be part of the mixed pool."; -string_view mixOverworldDesc = "Overworld entrances will be part of the mixed\n" // - "pool."; // -string_view mixInteriorsDesc = "Interior entrances will be part of the mixed pool."; -string_view mixGrottosDesc = "Grotto entrances will be part of the mixed pool.";// -/*------------------------------ // -| DECOUPLED ENTRANCES | // -------------------------------*/ // -string_view decoupledEntrancesDesc = "Decouple entrances when shuffling them. This means" - "you are no longer guaranteed to end up back where " - "you came from when you go back through an\n" // - "entrance. This also adds the one-way entrance from" - "Gerudo Valley to Lake Hylia in the pool of\n" // - "overworld entrances when they are shuffled.\n" // - "Boss entrances are currently excluded from this\n"// - "and remain coupled regardless."; // -/*------------------------------ // -| BOMBCHUS IN LOGIC | // -------------------------------*/ // -string_view bombchuLogicDesc = "Bombchus are properly considered in logic.\n" // - "They can be replenished in shops, or through\n" // - "bombchu drops, if those are enabled.\n" // - "\n" // - "Bombchu Bowling is opened by bombchus."; // -/*------------------------------ // -| AMMO DROPS | // -------------------------------*/ // -string_view defaultAmmoDropsDesc = "Bombs, arrows, seeds, nuts, sticks and\n" // - "magic jars appear as normal.\n"; // -string_view bombchuDropsDesc = "Bombs, arrows, seeds, nuts, sticks and\n" // - "magic jars appear as normal.\n" // - "Bombchus can sometimes replace bomb drops."; // -string_view noAmmoDropsDesc = "All ammo drops will be replaced by blue rupees,\n"// - "except for Deku Sticks.\n" // - "Ammo upgrades will only refill ammo by 10 units.";// -/*------------------------------ // -| HEART DROPS AND REFILLS | // -------------------------------*/ // -string_view defaultHeartDropsDesc = "Heart drops will appear as normal.\n" // - "Health upgrades fully heal Link when picked up.\n"// - "Fairies heal Link as normal."; // -string_view noHeartDropsDesc = "Heart drops will be replaced by green rupees.\n" // - "Health upgrades fully heal Link when picked up.\n"// - "Fairies heal Link as normal."; // -string_view noHeartRefillDesc = "Heart drops will appear as normal.\n" // - "Health upgrades don't heal Link when picked up.\n"// - "Fairies heal Link by only 3 hearts."; // -string_view scarceHeartsDesc = "Heart drops will be replaced by green rupees.\n" // - "Health upgrades don't heal Link when picked up.\n"// - "Fairies heal Link by only 3 hearts."; // -/*------------------------------ // -| MQ DUNGEON COUNT | // -------------------------------*/ // -string_view mqDungeonCountDesc = "Specify the number of Master Quest dungeons to\n" // - "appear in the game. Which dungeons become Master\n" - "Quest will be chosen at random."; // -/*------------------------------ // -| SET MQ DUNGEONS | // -------------------------------*/ // -string_view setDungeonTypesDesc = "If set, you can choose specific dungeons to be\n" // - "vanilla, MQ, or random"; // -/*------------------------------ // -| TRIFORCE HUNT | // -------------------------------*/ // -string_view triforceHuntDesc = "Pieces of the Triforce have been scattered around\n" - "the world. Find some of them to beat the game.\n" // - "\n" // - "Game is saved on completion, and Ganon's Castle\n"// - "key is given if beating the game again is desired."; -string_view triforcePiecesTotalDesc = "Set the total number of pieces that will appear\n"// - "in the world.\n\n" // - "Hold A to scroll faster."; // -string_view triforcePiecesRequiredDesc= "Set the number of pieces required to beat the\n" // - "game.\n\n" // - "Hold A to scroll faster."; // -/*------------------------------ // -| ENEMY RANDOMIZER | // -------------------------------*/ // -string_view enemizerDesc = "Randomize most enemies in the game.\n\n" // - "WARNING: Incompatible with Master Quest Logic."; // -string_view enemizerListDesc = "Scroll to open the Enemy List."; // -string_view enemyRandomizedDesc = "This enemy will be included in the pool of\n" // - "random enemies."; // -string_view enemyVanillaDesc = "This enemy will be excluded from the random pool,\n" - "but it will appear at its vanilla locations."; // -string_view enemyRemovedDesc = "This enemy will be excluded from the random pool,\n" - "and it won't appear at randomized locations.\n\n" // - "Exception: if all possible options for a location\n" - "are removed, that location will revert to using\n"// - "its vanilla enemy."; // -/*------------------------------ // -| SHUFFLE DUNGEON REWARDS | // -------------------------------*/ // -string_view shuffleRewardsEndOfDungeon= "Medallions and Spiritual Stones will be given as\n" - "rewards for beating dungeons.\n" // - "\n" // - "This setting will force Link's Pocket to be a\n" // - "Medallion or Spiritual Stone."; // -string_view shuffleRewardsAnyDungeon = "Medallions and Spiritual Stones can only appear\n"// - "inside of dungeons."; // -string_view shuffleRewardsOverworld = "Medallions and Spiritual Stones can only appear\n"// - "outside of dungeons."; // -string_view shuffleRewardsAnywhere = "Medallions and Spiritual Stones can appear\n" // - "anywhere."; // -/*------------------------------ // -| LINK'S POCKET | // -------------------------------*/ // -string_view linksPocketDungeonReward = "Link will start with a Dungeon Reward in his\n" // - "inventory."; // -string_view linksPocketAdvancement = "Link will receive a random advancement item at the" - "beginning of the playthrough."; // -string_view linksPocketAnything = "Link will receive a random item from the item pool" - "at the beginning of the playthrough."; // -string_view linksPocketNothing = "Link will start with a very useful green rupee."; // -/*------------------------------ // -| SONG SHUFFLE | // -------------------------------*/ // -string_view songsSongLocations = "Songs will only appear at locations that normally\n" - "teach songs."; // -string_view songsDungeonRewards = "Songs appear at the end of dungeons. For major\n" // - "dungeons, they will be at the boss heart container" - "location. The remaining 4 songs are placed at:\n" // - "- Zelda's Lullaby Location\n" // - "- Ice Cavern's Serenade of Water Location\n" // - "- Bottom of the Well's Lens of Truth Location\n" // - "- Gerudo Training Ground's Ice Arrow Location"; // -string_view songsAllLocations = "Songs can appear in any location."; // - // -/*------------------------------ // -| SHOPSANITY | // -------------------------------*/ // -string_view shopsOff = "All shop items will be the same as vanilla."; // -string_view shopsZero = "Vanilla shop items will be shuffled among\n" // - "different shops."; // -string_view shopsOne = "Vanilla shop items will be shuffled among\n" // - "different shops, and each shop will contain\n" // - "one non-vanilla shop item."; // -string_view shopsTwo = "Vanilla shop items will be shuffled among\n" // - "different shops, and each shop will contain\n" // - "two non-vanilla shop items."; // -string_view shopsThree = "Vanilla shop items will be shuffled among\n" // - "different shops, and each shop will contain\n" // - "three non-vanilla shop items."; // -string_view shopsFour = "Vanilla shop items will be shuffled among\n" // - "different shops, and each shop will contain\n" // - "four non-vanilla shop items."; // -string_view shopsRandom = "Vanilla shop items will be shuffled among\n" // - "different shops, and each shop will contain\n" // - "1-4 non-vanilla shop items."; // -string_view shopPriceRandom = "Prices of shuffled shop items are random\n" // - "varying between 0 and 295 rupees."; // -string_view shopPriceAffordable = "Prices of shuffled shop items are 10 rupees."; // -string_view shopPriceChild = "Prices of shuffled shop items are random\n" // - "varying between 0 and 99 rupees."; // -string_view shopPriceAdult = "Prices of shuffled shop items are random\n" // - "varying between 0 and 200 rupees."; // -string_view shopPriceGiant = "Prices of shuffled shop items are random\n" // - "varying between 0 and 500 rupees."; // -string_view shopPriceTycoon = "Prices of shuffled shop items are random\n" // - "varying between 0 and 999 rupees."; // -/*------------------------------ // -| TOKENSANITY | // -------------------------------*/ // -string_view tokensOff = "GS locations will not be shuffled."; // -string_view tokensDungeon = "This only shuffles the GS locations that are\n" // - "within dungeons, increasing the value of most\n" // - "dungeons and making internal dungeon exploration\n" - "more diverse."; // -string_view tokensOverworld = "This only shuffles the GS locations that are\n" // - "outside of dungeons."; // -string_view tokensAllTokens = "Effectively adds 100 new locations for items to\n"// - "appear."; // - // -/*------------------------------ // -| SCRUB SHUFFLE | // -------------------------------*/ // -string_view scrubsOff = "Only the 3 Scrubs that give one-time items in the\n" - "vanilla game (PoH, Deku Nut capacity, and Deku\n" // - "Stick capacity) will have random items."; // -string_view scrubsAffordable = "All Scrub prices will be reduced to 10 rupees each"; -string_view scrubsExpensive = "All Scrub prices will be their vanilla prices.\n" // - "This will require spending over 1000 rupees on\n" // - "Scrubs."; // -string_view scrubsRandomPrices = "All Scrub prices will be between 0-95 rupees. This" - "will on average be very, very expensive overall.";// -/*------------------------------ // -| SHUFFLE COWS | // -------------------------------*/ // -string_view shuffleCowsDesc = "Enabling this will let cows give you items upon\n"// - "performing Epona's song in front of them. There\n"// - "are 9 cows, and an extra in MQ Jabu."; // - // -/*------------------------------ // -| SHUFFLE KOKIRI SWORD | // -------------------------------*/ // -string_view kokiriSwordDesc = "Enabling this shuffles the Kokiri Sword into the\n" - "item pool.\n" // - "\n" // - "This will require extensive use of sticks until\n"// - "the sword is found."; // -/*------------------------------ // -| SHUFFLE MASTER SWORD | // -------------------------------*/ // -string_view masterSwordDesc = "Enabling this shuffles the Master Sword into the\n" - "item pool.\n" // - "\n" // - "Adult Link will start with a second free item\n" // - "instead of the Master Sword. If you haven't found\n" - "the Master Sword before facing Ganon, you won't\n"// - "receive it during the fight."; // -/*------------------------------ // -| SHUFFLE OCARINAS | // -------------------------------*/ // -string_view ocarinasDesc = "Enabling this shuffles the Fairy Ocarina and the\n" - "Ocarina of Time into the item pool.\n" // - "\n" // - "This will require finding an Ocarina before being\n" - "able to play songs."; // -/*------------------------------ // -| SHUFFLE WEIRD EGG | // -------------------------------*/ // -string_view weirdEggDesc = "Enabling this shuffles the Weird Egg from Malon\n"// - "into the item pool.\n" // - "This will require finding the Weird Egg to talk to" - "Zelda in Hyrule Castle, which in turn locks\n" // - "rewards from Impa, Saria, Malon, and Talon."; // -/*------------------------------ // -| SHUFFLE ZELDAS LETTER | // -------------------------------*/ // -string_view zeldasLetterDesc = "Enabling this shuffles Zelda's Letter into the\n" // - "item pool.\n" // - "This will require finding the letter to open the\n" - "Happy Mask Shop and the gate in Kakariko if it is\n" - "set to closed."; // -/*------------------------------ // -| SHUFFLE GERUDO TOKEN | // -------------------------------*/ // -string_view gerudoTokenDesc = "Enabling this shuffles the Gerudo Token into the\n" - "item pool.\n" // - "\n" // - "The Gerudo Token is required to enter the Gerudo\n" - "Training Ground."; // -/*------------------------------ // -| SHUFFLE MAGIC BEANS | // -------------------------------*/ // -string_view magicBeansDesc = "Enabling this adds a pack of 10 beans to the item\n" - "pool and changes the Magic Bean Salesman to sell a" - "random item at a price of 60 rupees."; // -/*------------------------------ // -| SHUFFLE FROG SONG RUPEES | // -------------------------------*/ // -string_view frogSongRupeesDesc = "Enabling this adds 5 Purple Rupees to the item\n" // - "pool and shuffles the rewards from playing Zelda's" - "Lullaby, Epona's Song, Saria's Song, Sun's Song,\n" - "and Song of Time to the frogs in Zora's River.\n";// -/*------------------------------ // -| SHUFFLE MERCHANTS | // -------------------------------*/ // -string_view merchantsDesc = "Enabling this changes Medigoron, Granny and the\n"// - "Carpet Salesman to sell a random item once at a\n"// - "high price (100 for Granny, 200 for the others).\n\n" - "A Giant's Knife and a pack of Bombchus will be\n" // - "added to the item pool, and one of the bottles\n" // - "will contain a Blue Potion."; // -string_view merchantsHintsDesc = "These hints will make the merchants tell you\n" // - "which item they're selling.\n" // - "\n" // - "The Hint Clarity setting will affect how they\n" // - "refer to the item."; // -/*------------------------------ // -| SHUFFLE ADULT TRADE | // -------------------------------*/ // -string_view adultTradeDesc = "Enabling this adds all of the adult trade quest\n"// - "items to the pool, each of which can be traded\n" // - "for a unique reward. You will be able to choose\n"// - "which of your owned adult trade items is visible\n" - "in the inventory by selecting the item and using\n" - "the L and R buttons. If disabled, only the Claim\n" - "Check will be found in the pool."; // -/*------------------------------ // -| SHUFFLE CHEST MINIGAME | // -------------------------------*/ // -string_view chestMinigameDesc = "The 5 key chests in the Treasure Chest Shop will\n" - "be randomized, and the 6 keys will be added to the"// - "pool. The rupee chests will be replaced by traps.\n" - "Also, the shop owner is on vacation, so he can't\n" - "close any chests or doors once you leave.\n" // - "\n" // - "If you choose the \"pack\" option, you will get\n"// - "all the keys at once, in a single item."; // -/*------------------------------ // -| SHUFFLE ENEMY SOULS | // -------------------------------*/ // -string_view enemySoulDesc = "Enemies will be invincible until you find their\n"// - "\"soul\".\n" // - "Each enemy type will have a soul added into the\n"// - "item pool.\n\n" // - "You can exclude some enemies by adding their\n" // - "souls in the Starting Inventory.\n\n" // - "WARNING: Incompatible with Master Quest Logic."; // -/*------------------------------ // -| SHUFFLE OCARINA BUTTONS | // -------------------------------*/ // -string_view ocarinaButtonsDesc = "Enabling this locks all Ocarina inputs, and adds\n" - "5 new items to find that each unlock one of the 5\n" - "Ocarina notes.\n\n" // - "They can also be added to the Starting Inventory."; -/*------------------------------ // -| SHUFFLE FREESTANDING RUPEES | // -------------------------------*/ // -string_view shuffleRupeesDesc = "Shuffles all freestanding visible rupees\n" // - "that are placed in the world without player\n" // - "intervention. So it does include Rupees that are\n" - "placed in other objects like boulders, but it\n" // - "doesn't include Wonder Items or Rupees that spawn\n" - "from the Goron City spinning pot or the pots in\n"// - "Shadow Temple."; // -/*------------------------------ // -| MAPS AND COMPASSES | // -------------------------------*/ // -string_view mapCompassStartWith = "Maps and Compasses are given to you from the\n" // - "start. This will add a small amount of money and\n" - "refill items to the pool."; // -string_view mapCompassVanilla = "Maps and Compasses will appear in their vanilla\n"// - "locations."; // -string_view mapCompassOwnDungeon = "Maps and Compasses can only appear in their\n" // - "respective dungeon."; // -string_view mapCompassAnyDungeon = "Maps and Compasses can only appear in a dungeon,\n" - "but not necessarily the dungeon they are for."; // -string_view mapCompassOverworld = "Maps and Compasses can only appear outside of\n" // - "dungeons."; // -string_view mapCompassAnywhere = "Maps and Compasses can appear anywhere in the\n" // - "world."; // -/*------------------------------ // -| SMALL KEYS | // -------------------------------*/ // -string_view smallKeyStartWith = "Small Keys are given to you from the start so you\n" - "won't have to worry about locked doors. An easier\n" - "mode."; // -string_view smallKeyVanilla = "Small Keys will appear in their vanilla locations." - "You start with 3 keys in Spirit Temple MQ because\n" - "the vanilla key layout is not beatable in logic.";// -string_view smallKeyOwnDungeon = "Small Keys can only appear in their respective\n" // - "dungeon. If Fire Temple is not a Master Quest\n" // - "dungeon, the door to the Boss Key chest will be\n"// - "unlocked."; // -string_view smallKeyAnyDungeon = "Small Keys can only appear inside of any dungeon,\n" - "but won't necessarily be in the dungeon that the\n" - "key is for. A difficult mode since it is more\n" // - "likely to need to enter a dungeon multiple times."; -string_view smallKeyOverworld = "Small Keys can only appear outside of dungeons.\n"// - "You may need to enter a dungeon multiple times to\n" - "gain items to access the overworld locations with\n" - "the keys required to finish a dungeon."; // -string_view smallKeyAnywhere = "Small Keys can appear anywhere in the world. A\n" // - "difficult mode since it is more likely to need to\n" - "enter a dungeon multiple times."; // -/*------------------------------ // -| GERUDO FORTRESS KEYS | // -------------------------------*/ // -string_view gerudoKeysVanilla = "Gerudo Fortress Keys will appear in their vanilla\n" - "location, dropping from fighting Gerudo guards\n" // - "that attack when trying to free the jailed\n" // - "carpenters."; // -string_view gerudoKeysAnyDungeon = "Gerudo Fortress Keys can only appear inside of\n" // - "dungeons."; // -string_view gerudoKeysOverworld = "Gerudo Fortress Keys can only appear outside of\n"// - "dungeons."; // -string_view gerudoKeysAnywhere = "Gerudo Fortress Keys can appear anywhere in the\n"// - "world."; // -/*------------------------------ // -| Key Rings | // -------------------------------*/ // -string_view keyRingDesc = "Selected key ring dungeons will have all of their\n" - "keys found at once in a ring rather than\n" // - "individually.\n\n" // - "For example, instead of shuffling 5 Forest Temple\n" - "small keys into the pool, you will find a single\n" - "key ring which will give you all 5 keys at once.\n"; -/*------------------------------ // -| BOSS KEYS | // -------------------------------*/ // -string_view bossKeyStartWith = "Boss Keys are given to you from the start so you\n" - "won't have to worry about boss doors. An easier\n"// - "mode."; // -string_view bossKeyVanilla = "Boss Keys will appear in their vanilla locations."; -string_view bossKeyOwnDungeon = "Boss Keys can only appear in their respective\n" // - "dungeon."; // -string_view bossKeyAnyDungeon = "Boss Keys can only appear inside of any dungeon,\n" - "but won't necessarily be in the dungeon that the\n" - "key is for. A difficult mode since it is more\n" // - "likely to need to enter a dungeon multiple times."; -string_view bossKeyOverworld = "Boss Keys can only appear outside of dungeons.\n" // - "You may need to enter a dungeon without the boss\n" - "key to get items required to find the key in the\n" - "overworld."; // -string_view bossKeyAnywhere = "Boss Keys can appear anywhere in the world. A\n" // - "difficult mode since it is more likely to need to\n" - "enter a dungeon multiple times."; // -/*------------------------------ // -| GANON'S CASTLE BOSS KEY | // -------------------------------*/ // -string_view ganonKeyStartWith = "Ganon's Castle Boss Key is given to you from the\n" - "start and you don't have to worry about finding it"; -string_view ganonKeyVanilla = "Ganon's Castle Boss Key will appear in the vanilla" - "location."; // -string_view ganonKeyOwnDungeon = "Ganon's Castle Boss Key can only appear inside\n" // - "Ganon's Castle."; // -string_view ganonKeyAnyDungeon = "Ganon's Castle Boss Key can only appear inside of\n" - "a dungeon, but not necessarily Ganon's Castle."; // -string_view ganonKeyOverworld = "Ganon's Castle Boss Key can only appear outside of" - "dungeons."; // -string_view ganonKeyAnywhere = "Ganon's Castle Boss Key can appear anywhere in the" - "world."; // -string_view ganonKeyLACS = "These settings put the boss key on the Light Arrow" - "Cutscene location, from Zelda in Temple of Time as" - "adult, with differing requirements."; // -/*------------------------------ // -| LACS CONDITIONS | // -------------------------------*/ // -string_view lacsMedallionCountDesc = "Set the number of Medallions required to trigger\n" - "the Light Arrow Cutscene."; // -string_view lacsStoneCountDesc = "Set the number of Spiritual Stones required to\n" // - "trigger the Light Arrow Cutscene."; // -string_view lacsRewardCountDesc = "Set the number of Dungeon Rewards (Spiritual\n" // - "Stones and Medallions) required to trigger the\n" // - "Light Arrow Cutscene."; // -string_view lacsDungeonCountDesc = "Set the number of completed dungeons required to\n" - "trigger the Light Arrow Cutscene.\n" // - "\n" // - "Dungeons are considered complete when Link steps\n" - "into the blue warp at the end of them."; // -string_view lacsTokenCountDesc = "Set the number of Gold Skulltula Tokens required\n" - "to trigger the Light Arrow Cutscene."; // -string_view lacsHeartCountDesc = "Set the number of Hearts required to trigger the\n" - "Light Arrow Cutscene."; // -/*------------------------------ // -| SKIP CHILD STEALTH | // -------------------------------*/ // -string_view childStealthDesc = "The crawlspace into Hyrule Castle goes straight to" - "Zelda, skipping the guards."; // -/*------------------------------ // -| SKIP TOWER ESCAPE | // -------------------------------*/ // -string_view skipTowerEscapeDesc = "The tower escape sequence between Ganondorf and\n"// - "Ganon will be skipped."; // -/*------------------------------ // -| SKIP EPONA RACE | // -------------------------------*/ // -string_view skipEponaRaceDesc = "Epona can be summoned with Epona's Song without\n"// - "needing to race Ingo."; // -/*------------------------------ // -| SKIP MINIGAME PHASES | // -------------------------------*/ // -string_view skipMinigamePhasesDesc = "Completing the second objective in the Dampe Race\n" - "and Gerudo Archery on the first attempt will give\n" - "both rewards at once for that minigame."; // -/*------------------------------ // -| FREE SCARECROW | // -------------------------------*/ // -string_view freeScarecrowDesc = "Pulling out the Ocarina near a spot at which\n" // - "Pierre can spawn will do so, without needing\n" // - "the song."; // -/*------------------------------ // -| FOUR POES CUTSCENE | // -------------------------------*/ // -string_view fourPoesDesc = "The cutscene with the 4 poes in Forest Temple will" - "be skipped. If the cutscene is not skipped, it can" - "be exploited to reach the basement early."; // -/*------------------------------ // -| LAKE HYLIA OWL | // -------------------------------*/ // -string_view lakeHyliaOwlDesc = "The owl flight cutscene in Lake Hylia will be\n" // - "skipped. This cutscene lets you see what item\n" // - "is on top of the laboratory roof."; // -/*------------------------------ // -| BIG POE TARGET COUNT | // -------------------------------*/ // -string_view bigPoeTargetCountDesc = "The Poe buyer will give a reward for turning in\n"// - "the chosen number of Big Poes."; // -/*------------------------------ // -| NUM REQUIRED CUCCOS | // -------------------------------*/ // -string_view numRequiredCuccosDesc = "The cucco lady will give a reward for returning\n"// - "this many of her cuccos to the pen."; // -/*------------------------------ // -| KING ZORA SPEED | // --------------------------------*/ // -string_view kingZoraSpeedFast = "King Zora will move out of the way in 1 shuffle"; // - // -string_view kingZoraSpeedVanilla = "King Zora will move out of the way in 26 shuffles"; - // -string_view kingZoraSpeedRandom = "King Zora will move out of the way in 1 to 128\n" // - "shuffles, with lower numbers being more common"; // -string_view kingZoraSpeedCustom = "Set the exact number of shuffles King Zora will\n"// - "take to move out of the way."; // -/*------------------------------ // -| COMPLETE MASK QUEST | // -------------------------------*/ // -string_view completeMaskDesc = "Once the happy mask shop is opened, all masks\n" // - "will be available to be borrowed."; // -/*------------------------------ // -| QUICK TEXT | // -------------------------------*/ // -string_view quickTextDesc0 = "Quick text will be unchanged, requiring\n" // - "frame-perfect inputs like in the vanilla game."; // -string_view quickTextDesc1 = "Every text box will be completable by pressing B\n" - "at any point while it's scrolling."; // -string_view quickTextDesc2 = "Every text box will auto-complete instantly.\n" // - "No scrolling allowed!"; // -string_view quickTextDesc3 = "Holding B will advance and close text boxes\n" // - "automatically, except for choice selections."; // -/*------------------------------ // -| SKIP SONG REPLAYS | // -------------------------------*/ // -string_view skipSongReplaysDesc = "The automatic replay after you play a song will\n"// - "be skipped.\n" // - "You can choose to keep the sfx anyway, but you\n" // - "will have control of Link during it."; // -/*------------------------------ // -| KEEP FW WARP POINT | // -------------------------------*/ // -string_view keepFWWarpPointDesc = "The Farore's Wind warp point will stay active\n" // - "after having been warped to. The old point will\n"// - "need to be dispelled before setting a new one."; // -/*------------------------------ // -| FAST BUNNY HOOD | // -------------------------------*/ // -string_view fastBunnyHoodDesc = "The Bunny Hood mask behaves like it does in\n" // - "Majora's Mask and makes you run 50% faster."; // -/*------------------------------ // -| RACING | // -------------------------------*/ // -string_view racingDesc = "Overrides personalization options that could\n" // - "affect how fast a seed is beaten."; // - // -/*------------------------------ // -| GOSSIP STONE HINTS | // -------------------------------*/ // -string_view gossipStonesHintsDesc = "Gossip Stones can be made to give hints about\n" // - "where items can be found.\n" // - "Different settings can be chosen to decide which\n" - "item is needed to speak to Gossip Stones. Choosing" - "to stick with the Mask of Truth will make the\n" // - "hints very difficult to obtain.\n" // - "Hints for 'on the way of the hero' are locations\n" - "that contain items that are required to beat the\n" - "game."; // - // -/*------------------------------ // -| HINT CLARITY | // -------------------------------*/ // -string_view obscureHintsDesc = "Sets the difficulty of hints.\n" // - "Obscure: Hints are unique for each thing, but\n" // - "the writing may be confusing.\n" // - "E.g. Kokiri Sword > a butter knife"; // -string_view ambiguousHintsDesc = "Sets the difficulty of hints.\n" // - "Ambiguous: Hints are clearly written, but may\n" // - "refer to more than one thing.\n" // - "E.g. Kokiri Sword > a sword"; // -string_view clearHintsDesc = "Sets the difficulty of hints.\n" // - "Clear: Hints are clearly written and are unique\n"// - "for each thing.\n" // - "E.g. Kokiri Sword > the Kokiri Sword"; // -/*------------------------------ // -| HINT DISTRIBUTION | // -------------------------------*/ // -string_view uselessHintsDesc = "Only junk hints."; // -string_view balancedHintsDesc = "Recommended hint spread."; // -string_view strongHintsDesc = "More useful hints."; // -string_view veryStrongHintsDesc = "Many powerful hints."; // -string_view playthroughHintsDesc = "The playthrough locations will be hinted at what\n" - "they contain and in what general area they are.\n"// - "\n" // - "Not compatible with No Logic."; // - // -/*------------------------------ // -| BONUS GOSSIP HINTS | // -------------------------------*/ // -string_view bonusGossipHintsDesc = "Adds Sun's Song and warp songs to gossip stone\n" // - "hints after all playthrough hints have been set.";// - // -/*------------------------------ // -| MISCELLANEOUS HINTS | // -------------------------------*/ // -string_view miscHintsDesc = "Toggle some specific hints at locations other\n" // - "than Gossip Stones."; // -string_view totAltarHintsDesc = "The Temple of Time altar will reveal the locations" - "of the Spiritual Stones as child and the\n" // - "Medallions as adult, but only if Compasses Show\n"// - "Rewards is disabled.\n" // - "\n" // - "It will also always reveal the requirements for\n"// - "the Door of Time as child, and for Ganon Boss Key\n" - "and Rainbow Bridge as adult."; // -string_view ganonHintsDesc = "Talking to Ganondorf in his boss room will tell\n"// - "you the location of the Light Arrows and, if it\n"// - "was shuffled, the Master Sword.\n" // - "\n" // - "When trials are on, Sheik will appear to relay\n" // - "these hints in Ganon's Castle."; // -string_view dampeHintDesc = "Reading Dampe's diary will reveal the location\n" // - "of a single progressive hookshot."; // -string_view skulltulaHintDesc = "Talking to a cursed House of Skulltula resident\n"// - "will tell you the reward they will give you for\n"// - "removing their curse."; // -string_view fishingHintsDesc = "The aquarium at the fishing pond will show what\n"// - "reward you can win as your current age."; // -/*------------------------------ // -| MAP AND COMPASS GIVES INFO | // -------------------------------*/ // -string_view compassesShowRewardsDesc = "Obtaining a dungeon compass will hint at the\n" // - "location of a Spiritual Stone or Medallion.\n" // - "\n" // - "If rewards are at the end of dungeons, the compass" - "for dungeon X will show what reward is at X.\n" // - "Otherwise, it will show the area for the reward\n"// - "that, in the vanilla game, is located at X.\n" // - "\n" // - "These hints will appear in the Gear menu on the\n"// - "empty reward slots."; // -string_view compassesShowWotHDesc = "The in-game menu will reveal whether each\n" // - "dungeon is on the Way of the Hero, a barren\n" // - "location, or neither, if the compass for that\n" // - "dungeon has been collected."; // -string_view mapsShowDungeonModesDesc = "If any Master Quest dungeons will be randomly\n" // - "shuffled, the in-game menu will reveal whether\n" // - "it is in its Vanilla or Master Quest form, if\n" // - "the map for the dungeon has been collected.\n" // - "Ganon's Castle and Gerudo Training Grounds are\n" // - "always revealed, as they do not have maps."; // -/*------------------------------ // -| DAMAGE MULTIPLIER | // -------------------------------*/ // -string_view damageMultiDesc = "Changes the amount of damage taken.\n" // - "\n" // - "If set to OHKO, Link will die in one hit."; // -/*------------------------------ // -| BONK DAMAGE | // -------------------------------*/ // -string_view bonkDamageDesc = "Choose how many Hearts of damage you'll take when\n" - "hitting a wall or object during a roll.\n\n" // - "Damage is unaffected by the damage multiplier\n" // - "setting, but it will respect Nayru's Love and\n" // - "Double Defense."; // -/*------------------------------ // -| PERMADEATH | // -------------------------------*/ // -string_view permadeathDesc = "Dying deletes your save file and kicks you back\n"// - "out to the main menu."; // -/*------------------------------ // -| GLOOM MODE | // -------------------------------*/ // -string_view gloomModeOffDesc = "Enabling this setting will make your hearts\n" // - "permanently disappear on various conditions."; // -string_view gloomModeDeathDesc = "Delete 1 heart when getting a Game Over.\n\n" // - "The Permadeath setting, if enabled, will be\n" // - "changed to take effect when you lose all hearts.";// -string_view gloomModeDamageDesc = "Delete 1 heart when losing health for any reason,\n" - "except continuous elemental damage from being\n" // - "burned or frozen.\n\n" // - "Double Defense will require 2 hits per heart."; // -string_view gloomModeCollisionDesc = "Delete 1 heart not only when losing health, but\n"// - "also when any collision is detected: getting hit\n" - "during invincibility frames or blocking an attack\n" - "with your shield count as collisions.\n\n" // - "Double Defense will require 2 hits per heart.\n\n"// - "WARNING: THE GAME MAY BE IMPOSSIBLE TO BEAT\n" // - "because you can still be expected to use a shield\n" - "(for example to reflect Twinrova's attacks)."; // -string_view gloomModeEmptyDesc = "Hearts will be deleted when they become empty."; // -/*------------------------------ // -| STARTING TIME | // -------------------------------*/ // -string_view startingTimeDesc = "Change up Link's sleep routine."; // - // -/*------------------------------ // -| ALL LOCATIONS REACHABLE | // -------------------------------*/ // -string_view locationsReachableDesc = "When this options is enabled, the randomizer will\n" - "guarantee that every item is obtainable and every\n" - "location is reachable. When disabled, only\n" // - "required items and locations to beat the game\n" // - "will be guaranteed reachable."; // -/*------------------------------ // -| NIGHT GS EXPECT SUNS | // -------------------------------*/ // -string_view nightGSDesc = "GS Tokens that can only be obtained during the\n" // - "night expect you to have Sun's Song to collect\n" // - "them. This prevents needing to wait until night\n"// - "for some locations."; // - // -/*------------------------------ // -| CHEST ANIMATIONS | // -------------------------------*/ // -string_view chestAnimDesc = "Choose if you want the slow animation to play\n" // - "if a chest contains a major item.\n"; // - // -/*------------------------------ // -| CHEST APPEARANCE | // -------------------------------*/ // -string_view chestVanillaDesc = "Chests will appear as they do in the base game."; // -string_view chestTextureDesc = "Chest texture will reflect its contents\n" // - "regardless of size.\n" // - "\n" // - "Major Items -> Gilded Chests\n" // - "Boss Keys -> Fancy Chests\n" // - "Small Keys -> Silver Chests\n" // - "Hearts -> Heart Chests\n" // - "Gold Skulltula Tokens -> Webbed Chests\n" // - "Everything else -> Wooden Chests"; // -string_view chestSizeTextureDesc = "In addition to the texture change, major items\n" // - "and boss keys will be in big chests, and\n" // - "everything else will be in small chests."; // -string_view chestClassicDesc = "This is the behavior of CSMC in previous\n" // - "versions of the randomizer.\n" // - "\n" // - "Major Items -> Big Wooden Chests\n" // - "Lesser Items -> Small Wooden Chests\n" // - "Boss Keys -> Big Fancy Chests\n" // - "Small Keys -> Small Fancy Chests"; // -string_view chestAgonyDesc = "The Chest Appearance Mod will only apply\n" // - "after obtaining the Shard of Agony.\n"; // - // -/*------------------------------ // -| INGAME SPOILERS | // -------------------------------*/ // -string_view ingameSpoilersShowDesc = "Every spoiler is shown."; // -string_view ingameSpoilersHideDesc = "Hides the spheres page and only shows a\n" // - "location's item after it has been found."; // - // -/*------------------------------ // -| MENU OPENING BUTTON | // -------------------------------*/ // -string_view menuButtonDesc = "Choose which button will bring up the Custom\n" // - "Information Menu."; // - // -/*------------------------------ // -| ARROW SWITCHING BUTTON | // -------------------------------*/ // -string_view arrowSwitchDesc = "Choose how you want to cycle through the arrow\n" // - "types while you're aiming the bow.\n" // - "The touch screen option refers to the middle part\n" - "of the screen where the map is displayed."; // - // -/*------------------------------ // -| START WITH CONSUMABLES | // -------------------------------*/ // -string_view startWithConsumablesDesc = "Start the game with maxed out Deku Sticks and Deku" - "Nuts."; // - // -/*------------------------------ // -| START WITH MAX RUPEES | // -------------------------------*/ // -string_view startWithMaxRupeesDesc = "Start the game with a full wallet.\n" // - "Wallet upgrades will also fill the wallet."; // -/*------------------------------ // -| STARTING HEALTH | // -------------------------------*/ // -string_view startingHealthDesc = "If you start with 0 hearts, Link will be instantly" - "KO'd not only by any damage source, but also by\n"// - "recovery hearts and fairies. Sometimes guards too.\n" - "You can safely pick up Heart Pieces and Containers" - "though, and the effects will end when you obtain\n" - "at least one heart."; // - // -/*------------------------------ // -| STARTING BUNNY HOOD | // -------------------------------*/ // -string_view startingBunnyHoodDesc = "NOTE: Staring with the bunny hood is experimental." - "Currently the bunny hood will get overwriten when " - "you obtain the Weird Egg and you will need to get " - "it again afterwards."; // - // -/*------------------------------ // -| ITEM POOL | // -------------------------------*/ // -string_view itemPoolPlentiful = "Extra major items are added to the pool."; // -string_view itemPoolBalanced = "Original item pool."; // -string_view itemPoolScarce = "Some excess items are removed, including health\n"// - "upgrades."; // -string_view itemPoolMinimal = "Most excess items are removed."; // - // -/*------------------------------ // -| ICE TRAPS | // -------------------------------*/ // -string_view iceTrapsOff = "All Ice Traps are removed."; // -string_view iceTrapsNormal = "Only Ice Traps from the base item pool are placed."; -string_view iceTrapsExtra = "Chance to add extra Ice Traps when junk items are\n" - "added to the itempool."; // -string_view iceTrapsMayhem = "All added junk items will be Ice Traps."; // -string_view iceTrapsOnslaught = "All junk items will be replaced by Ice Traps, even" - "those in the base pool."; // -/*------------------------------ // -| REMOVE DOUBLE DEFENSE | // -------------------------------*/ // -string_view removeDDDesc = "If set the double defense item will be removed\n" // - "from the item pool for balanced and plentiful."; // -/*------------------------------ // -| PROGRESSSIVE GORON SOWRD | // -------------------------------*/ // -string_view progGoronSword = "Giant's Knife will always be found\n" // - "before Biggoron's Sword. Medigoron only starts\n" // - "selling new knives once the Giant's Knife\n" // - "has been found and broken."; // -/*------------------------------ // -| USE FARORE'S WIND ANYWHERE | // -------------------------------*/ // -string_view faroresWindAnywhereDesc = "Farore's Wind can be used outside of dungeons."; // - // -/*------------------------------ // -| LIFT AGE RESTRICTIONS | // -------------------------------*/ // -string_view ageRestrictionsDesc = "Remove age restrictions for inventory items.\n" // - "Select \"Choose\" to open the list of individual\n" - "options.\n\n" // - "Most of the items won't appear correctly when\n" // - "used as the wrong version of Link, but they'll be\n" - "fully functional otherwise."; // - // -/*------------------------------ // -| AGE RESTRICTIONS IN LOGIC | // -------------------------------*/ // -string_view ageItemsInLogicDesc = "Using items as the wrong age may be required to\n"// - "beat the seed."; // -/*------------------------------ // -| ENABLE ADULT DEKU STICK | // -------------------------------*/ // -string_view adultStickDesc = "Adult Link can wield a Deku Stick.\n" // - "It will look like the N64 Deku Stick, but with a\n" - "simpler texture."; // - // -/*------------------------------ // -| ENABLE ADULT BOOMERANG | // -------------------------------*/ // -string_view adultBoomerangDesc = "Adult Link can throw the boomerang."; // - // -/*------------------------------ // -| ENABLE CHILD HAMMER | // -------------------------------*/ // -string_view childHammerDesc = "Child Link can swing the Megaton Hammer."; // - // -/*------------------------------ // -| ENABLE ADULT SLINGSHOT | // -------------------------------*/ // -string_view adultSlingshotDesc = "Adult Link can use the Slingshot (but it looks\n" // - "like the Bow)."; // - // -/*------------------------------ // -| ENABLE CHILD BOW | // -------------------------------*/ // -string_view childBowDesc = "Child Link can use the Bow. It will look like the\n" - "Slingshot, but will shoot arrows."; // - // -/*------------------------------ // -| ENABLE CHILD HOOKSHOT | // -------------------------------*/ // -string_view childHookshotDesc = "Child Link can use the Hookshot/Longshot.\n" // - "The hook will look like a small bomb."; // -/*------------------------------ // -| ENABLE CHILD IRON BOOTS | // -------------------------------*/ // -string_view childIronBootsDesc = "Child Link can equip the Iron Boots."; // - // -/*------------------------------ // -| ENABLE CHILD HOVER BOOTS | // -------------------------------*/ // -string_view childHoverBootsDesc = "Child Link can equip the Hover Boots."; // - // -/*------------------------------ // -| ENABLE ADULT MASKS | // -------------------------------*/ // -string_view adultMasksDesc = "Adult Link can equip masks.\n" // - "\n" // - "This setting will not change the logic."; // - // -/*------------------------------ // -| ENABLE ADULT KOKIRI SWORD | // -------------------------------*/ // -string_view adultKokiriSwordDesc = "Adult Link can equip the Kokiri Sword."; // - // -/*------------------------------ // -| ENABLE CHILD MASTER SWORD | // -------------------------------*/ // -string_view childMasterSwordDesc = "Child Link can equip the Master Sword."; // - // -/*------------------------------ // -| ENABLE CHILD BIGGORON SWORD | // -------------------------------*/ // -string_view childBiggoronSwordDesc = "Child Link can equip the Biggoron Sword and the\n"// - "Giant's Knife."; // - // -/*------------------------------ // -| ENABLE ADULT DEKU SHIELD | // -------------------------------*/ // -string_view adultDekuShieldDesc = "Adult Link can equip the Deku Shield."; // - // -/*------------------------------ // -| ENABLE CHILD MIRROR SHIELD | // -------------------------------*/ // -string_view childMirrorShieldDesc = "Child Link can equip the Mirror Shield."; // - // -/*------------------------------ // -| ENABLE CHILD GORON TUNIC | // -------------------------------*/ // -string_view childGoronTunicDesc = "Child Link can equip the Goron Tunic."; // - // -/*------------------------------ // -| ENABLE CHILD ZORA TUNIC | // -------------------------------*/ // -string_view childZoraTunicDesc = "Child Link can equip the Zora Tunic."; // - // -/*------------------------------ // -| RESTORE ISG | // -------------------------------*/ // -string_view restoreISGdesc = "The Infinite Sword Glitch will work like in OoT.\n\n" - "Specifically, interrupting a crouch stab will\n" // - "activate the glitch, and putting away or pulling\n" - "out items will not cancel it."; // -/*------------------------------ // -| GK DURABILITY | // -------------------------------*/ // -string_view gkDurabilityVanilla = "The durability will always be set to 8."; // -string_view gkDurabilityRandomRisk = "Each Giant's Knife will get a random durability\n"// - "between 1 and 128, with low being more common,\n" // - "and with an average of 15."; // -string_view gkDurabilityRandomSafe = "Each Giant's Knife will get a random durability\n"// - "between 10 and 50, with an average of 30."; // - // -/*------------------------------ // -| RUPEES AS AMMO | // -------------------------------*/ // -string_view retroAmmoDesc = "If you run out of ammo or magic, you'll use\n" // - "rupees instead."; // -/*------------------------------ // -| MULTIPLAYER | // -------------------------------*/ // -string_view mp_EnabledDesc = "Enables multiplayer.\n" // - "Other players will always be seen and heard\n" // - "regardless of the other settings."; // -string_view mp_SharedProgressDesc = "Progress and certain actors will be synced between" - "everyone in the network that has this option on,\n" - "the same seed hash, and the same sync id."; // -string_view mp_SyncIdDesc = "Limits shared progress to only sync with other\n" // - "players that have the same sync ID. This is only\n" - "necessary to set if multiple groups of players\n" // - "play on the same seed hash, but only want to share" - "their progress with certan people.\n" // - "For example, when doing a 2v2 race.\n" // - "\n" // - "Does not affect seed generation."; // -string_view mp_SharedHealthDesc = "Syncs health when shared progress is on,\n" // - "otherwise just shares the damage and recovery."; // -string_view mp_SharedRupeesDesc = "Syncs rupees when shared progress is on,\n" // - "otherwise just shares the gain and loss."; // -string_view mp_SharedAmmoDesc = "Syncs ammo when shared progress is on,\n" // - "otherwise just shares the gain and loss."; // - // -/*------------------------------ // -| INGAME DEFAULTS | // -------------------------------*/ // -string_view naviNotificationsDesc = "Adjust how much Navi should bother you.\n" // - "Silenced prevents it completely, while Constant\n"// - "can be used to allow repeated attempts at related\n" - "glitches without having to reload the save."; // -string_view ignoreMaskReactionDesc = "Causes NPCs to respond normally when wearing\n" // - "masks. Does not apply to trade quest dialouges."; // - // -/*------------------------------ // -| NAVI & TRAIL COLORS | // -------------------------------*/ // -string_view naviColorsDesc = "Inner color is for the main light orb, outer color" - "is for the aura.\n\n" // - "The Rainbow option will make the color change\n" // - "continuously in a 3 seconds loop."; // -string_view necessarySimpleModeDesc = "For boomerang and sword trails, OoT3D uses a\n" // - "special texture that doesn't support every color.\n\n" - "Unsupported colors will always use the plain\n" // - "texture from OoT instead:\n" // - "- Black and Purple sword trails\n" // - "- White, Black and Purple boomerang trails\n" // - "- Random or Custom colors without at least one\n" // - " maxed out RGB component."; // -string_view alwaysSimpleModeDesc = "All boomerang and sword trails will use the plain\n" - "texture from OoT, regardless of what color is\n" // - "chosen."; // - // -/*------------------------------ // -| COLORED KEYS | // -------------------------------*/ // -string_view coloredKeysDesc = "If set, small key models will be colored\n" // - "differently depending on which dungeon they can be" - "used in. Forest Temple keys are green. Fire Temple" - "keys are red. etc."; // -string_view coloredBossKeysDesc = "If set, boss key models will be colored\n" // - "differently depending on which dungeon they can be" - "used in. The Forest Temple boss key is green. The " - "Fire Temple boss key is red. etc."; // -/*------------------------------ // -| MIRROR WORLD | // -------------------------------*/ // -string_view mirrorWorldOffDesc = "The world will not be mirrored."; // -string_view mirrorWorldOnDesc = "The world will be mirrored."; // -string_view mirrorWorldSceneDesc = "Some regions will be mirrored while others won't."; -string_view mirrorWorldEntranceDesc = "Different entrances to the same region will alter\n" - "whether it is mirrored or not."; // -string_view mirrorWorldRandomDesc = "Whether the world is mirrored may change after\n" // - "every loading zone inconsistently."; // -/*------------------------------ // -| SOLD OUT COSMETIC SHOP MODEL | // -------------------------------*/ // -string_view betaSoldOutDesc = "The game contains an unused model for sold out\n" // - "items in shops. It's a remade version of the N64\n" - "model, spelling \"Sold Out\" in English.\n\n" // - "This setting enables its use in shops."; // -/*------------------------------ // -| SOULLESS ENEMIES LOOK | // -------------------------------*/ // -string_view soullessPurpleFlameDesc = "Soulless enemies will appear as a purple flame,\n"// - "and their body will be invisible."; // -string_view soullessFlashingDesc = "Soulless enemies will flash between visible and\n" - "invisible on every frame."; // -/*------------------------------ // -| SHUFFLE MUSIC | // -------------------------------*/ // -string_view musicRandoDesc = "Randomize the music in the game."; // -string_view shuffleBGMDesc = "Shuffle background music.\n" // - "Mixed allows any BGM to appear anywhere.\n" // - "The group categories are Area Themes, Event Music," - "and Battle Themes.\n" // - "\"Own\" is for Custom Music, limiting the original\n" - "music to only appear at its original place.\n"; // -string_view shuffleMelodiesDesc = "Shuffle played-once music.\n" // - "Mixed allows any melody to appear anywhere.\n" // - "The group categories are Fanfares,\n" // - "and Ocarina Songs.\n" // - "\"Own\" is for Custom Music, limiting the original\n" - "music to only appear at its original place.\n"; // -string_view customMusicDesc = "Add custom music to the pool. The sound archive\n"// - "has to be placed in the Custom Music folder."; // -string_view customMusicOnlyDesc = "Excludes the game's original music from the pool.\n" - "If there's not enough custom music, the original\n" - "song will be used."; // -/*------------------------------ // -| SHUFFLE SFX | // -------------------------------*/ // -string_view shuffleSFXOff = "Sound effects will stay vanilla."; // -string_view shuffleSFXAll = "All sound effects will be shuffled."; // -string_view shuffleSFXSceneSpecific = "All sound effects will be shuffled, but will also\n" - "be different in each scene."; // -string_view shuffleSFXChaos = "Each sound effect will become random about\n" // - "every second."; // -string_view shuffleSFXCategorically = "Sound effects will be shuffled in categories.\n" // - "\n" // - "The sound may get annoying fast when disabled."; // -/*------------------------------ // -| OCARINA INSTRUMENT | // -------------------------------*/ // -string_view ocarinaInstrDesc = "Change the instrument used when playing the\n" // - "ocarina."; // -string_view ocarinaInstrRandomDesc = "A random instrument from the list will be chosen."; -string_view ocarinaInstrSceneDesc = "The instrument will be different in each scene."; // -/*------------------------------ // -| RANDOM TRAP DAMAGE TYPE | // -------------------------------*/ // -string_view randomTrapDmgDesc = "All traps will be the base game ice trap"; // - // -string_view basicTrapDmgDesc = "All alternative traps will cause a small damage\n"// - "and no other negative effects"; // - // -string_view advancedTrapDmgDesc = "Choose which advanced traps may appear from the\n"// - "list below"; // - // -string_view fireTrapDesc = "This trap will set you on fire, burning your\n" // - "Deku Shield if it's equipped."; // - // -string_view antiFairyTrapDesc = "This dangerous fairy will inflict up to 8 hearts\n" - "of damage, but it usually doesn't kill you if you\n" - "have less than that."; // - // -string_view rupoorTrapDesc = "This rupee will make you poor instead of rich"; // -string_view rupoorTrapSeverityDesc = "Rupees lost when getting a rupoor"; // -string_view curseTrapsDesc = "Some traps will apply status effects for 1 minute."; -string_view screenTrapsDesc = "Extra curses are added that rotate the screen."; // - // -/*------------------------------ // -| EXTRA ARROW EFFECTS | // -------------------------------*/ // -string_view extraArrowEffectsDesc = "Ice Arrows will act like blue fire, melting red\n"// - "ice and breaking mud walls in Dodongo's Cavern.\n\n" - "Light Arrows will activate Sun Switches like in\n"// - "Majora's Mask."; // - // -/*------------------------------ // -| HYPER ACTORS | // -------------------------------*/ // -string_view hyperActorsDesc = "Powers up the selected actors, allowing them to\n"// - "move and act twice as fast!"; // - // -string_view hyperBossesDesc = "Affects all of the main bosses, including both\n" // - "Ganon phases."; // - // -string_view hyperMiddleBossesDesc = "Affects all middle bosses, like Dark Link and\n" // - "Dead Hand. This also includes Iron Knuckles and\n"// - "Stalfos."; // - // -string_view hyperEnemiesDesc = "Affects all regular enemies."; // - // -/*------------------------------ // -| FREE CAMERA | // -------------------------------*/ // -string_view freeCamDesc = "Use the C-stick to control the camera on new 3DS\n" - "systems and Citra.\n\n" // - "Go to Personalization Settings > Ingame Defaults\n" - "for camera control options."; // - // -/*------------------------------ // -| RANDOM GS LOCATIONS | // -------------------------------*/ // -string_view randomGsLocationsDesc = "Moves Gold Skulltulas to different locations\n" // - "around the same area as the original.\n" // - "The age they appear in is always the same as the\n" - "original. If it hides during the night mostly\n" // - "depends on if the sun can reach it.\n" // - "They will never be in generic areas, such as\n" // - "Business Scrub grottos, Fairy Fountains, etc.\n" // - "Some new locations are only available with certain" - "settings enabled, like tricks and glitches.\n" // - "WIP feature. Most dungeon locations are the same."; - // -string_view gsLocGuaranteeNewDesc = "Excludes the original location from the Gold\n" // - "Skulltula's available locations pool.\n" // - "\n" // - "If no new locations are available, the original\n"// - "will be used regardless."; // - // -/*------------------------------ // -| RANDOM SONG NOTES | // -------------------------------*/ // -string_view randomSongNotesDesc = "Randomize the notes for each ocarina song.\n" // - "Regular songs will be 3 notes repeated twice.\n" // - "Warp songs will be between 5 and 8 notes."; // - //--------------// -/*------------------------------ // -| DETAILED LOGIC EXPLANATIONS | // -------------------------------*/ -string_view ToggleLogicNoneDesc = "Disables all the Detailed Logic tricks."; // -string_view ToggleLogicNoviceDesc = "Enables only the easier Detailed Logic tricks"; // -string_view ToggleLogicIntermediateDesc = "Enables all but the harder Detailed Logic tricks."; -string_view ToggleLogicExpertDesc = "Enables all the Detailed Logic tricks."; // - // -string_view LogicGrottosWithoutAgonyDesc = "Difficulty: Novice\n" // - "Grottos can be accessed without Shard of Agony,\n"// - "simply by knowing where they are located."; // -string_view LogicVisibleCollisionDesc = "Difficulty: Novice\n" // - "The closed Kakariko Village Gate can be crossed\n"// - "when coming from Death Mountain Trail.\n" // - "Useful for Entrance Randomiser."; // -string_view LogicFewerTunicRequirementsDesc = "Difficulty: Novice\n" // - "Allows the following possible without Tunics:\n" // - "- Enter Water Temple.\n" // - "- Enter Fire Temple. Only the first floor\n" // - " is accessible, and not Volvagia.\n" // - "- Zora's Fountain Bottom Freestanding PoH.\n" // - "- Gerudo Training Grounds Underwater Silver Rupee\n" - "Chest. May need to make multiple trips."; // -string_view LogicLostWoodsGSBeanDesc = "Difficulty: Novice\n" // - "You can collect the token with a precise Hookshot\n" - "use, as long as you can kill the Skulltula first.\n" - "It can be killed using Longshot, Bow, Bombchus\n" // - "or Din's Fire."; // -string_view LogicLabDivingDesc = "Difficulty: Novice\n" // - "Remove the Iron Boots in the midst of Hookshotting" - "the underwater crate"; // -string_view LogicLabWallGSDesc = "Difficulty: Intermediate\n" // - "The jump slash to actually collect the token is\n"// - "somewhat precise"; // -string_view LogicGraveyardPoHDesc = "Difficulty: Novice\n" // - "Using a precise moving setup you can obtain the\n"// - "Piece of Heart by having the Boomerang interact\n"// - "with it along the return path."; // -string_view LogicChildDampeRacePoHDesc = "Difficulty: Intermediate\n" // - "It is possible to complete the second dampe race\n" - "as child in under a minute, but it is a strict\n" // - "time limit."; // -string_view LogicGVHammerChestDesc = "Difficulty: Novice\n" // - "The chest can be reached by sidehopping between\n"// - "the wall and the east most hammer rock."; // -string_view LogicGerudoKitchenDesc = "Difficulty: Intermediate\n" // - "The logic normally guarantees one of Bow,\n" // - "Hookshot, or Hover Boots."; // -string_view LogicGerudoChildClimbDesc = "Difficulty: Intermediate\n" // - "A precise jump allows child to climb the ledge\n" // - "after the kitchen room."; // -string_view LogicLensWastelandDesc = "Difficulty: Expert\n" // - "By memorizing the path, you can travel through the" - "Wasteland without using the Lens of Truth to see\n" - "the Poe. The equivalent trick for going in reverse" - "through the Wasteland is \"Reverse Wasteland\"."; // -string_view LogicReverseWastelandDesc = "Difficulty: Expert\n" // - "By memorizing the path, you can travel through the" - "Wasteland in reverse."; // -string_view LogicColossusGSDesc = "Difficulty: Expert\n" // - "Somewhat precise. If you kill enough Leevers you\n" - "can get enough of a break to take some time to aim" - "more carefully."; // -string_view LogicOutsideGanonsGSDesc = "Difficulty: Intermediate\n" // - "Can be killed with a precise sidehop jumpslash\n" // - "from the top of the broken arch."; // -string_view LogicManOnRoofDesc = "Difficulty: Novice\n" // - "Can be reached by side-hopping off the watchtower."; -string_view LogicWindmillPoHHookshotDesc = "Difficulty: Novice\n" // - "Adult Link can reach the upper area of the windmill" - "using the hookshot and a midair jump slash."; // -string_view LogicDMTBombableDesc = "Difficulty: Expert\n" // - "Child Link can blow up the wall using a nearby\n" // - "bomb flower. You must backwalk with the flower and" - "then quickly throw it toward the wall."; // -string_view LogicDMTSoilGSDesc = "Difficulty: Intermediate\n" // - "Bugs will go into the soft soil even while the\n" // - "boulder is still blocking the entrance if dropped\n" - "from above. Then, using a precise moving setup you" - "can kill the Gold Skulltula and obtain the token by" - "having the Boomerang collect it while returning.";// -string_view LogicDMTSummitHoverDesc = "Difficulty: Intermediate\n" // - "By rolling around the lower boulder with hover\n" // - "boots and grabbing the ledge with the higher\n" // - "boulder near the wall, you'll be able to grab the\n" - "ledge above it to reach the summit."; // -string_view LogicDMCPlatformJumpDesc = "Difficulty: Novice\n" // - "Adult can reach these rupees by jumping down from\n" - "the upper part of DMC, without scarecrow/longshot."; -string_view LogicLinkGoronDinsDesc = "Difficulty: Intermediate\n" // - "The timing is quite awkward."; // -string_view LogicGoronCityLeftMostDesc = "Difficulty: Novice\n" // - "A precise backwalk starting from on top of the\n" // - "crate and ending with a precisely-timed backflip\n" - "can reach this chest without needing either the\n"// - "Hammer or Silver Gauntlets."; // -string_view LogicGoronCityPotDesc = "Difficulty: Expert\n" // - "A Bombchu can be used to stop the spinning pot,\n"// - "but it can be quite finicky to get it to work."; // -string_view LogicGoronCityPotWithStrengthDesc = "Difficulty: Intermediate\n" // - "Allows for stopping the Goron City Spinning Pot\n"// - "using a bomb flower alone, requiring strength in\n" - "lieu of inventory explosives."; // -string_view LogicChildRollingWithStrengthDesc = "Difficulty: Expert\n" // - "Use the bombflower on the stairs or near\n" // - "Medigoron. Timing is tight, especially without\n" // - "backwalking."; // -string_view LogicCraterUpperToLowerDesc = "Difficulty: Intermediate\n" // - "With the Hammer, you can jump slash the rock twice" - "in the same jump in order to destroy it before you" - "fall into the lava."; // -string_view LogicCraterBeanPoHWithHoversDesc = "Difficulty: Expert\n" // - "Hover from the base of the bridge near Goron City\n" - "and walk up the very steep slope."; // -string_view LogicBiggoronBoleroDesc = "Difficulty: Intermediate\n" // - "Playing a warp song normally causes a trade item\n" - "to spoil immediately, however, it is possible use\n" - "Bolero to reach Biggoron and still deliver the Eye" - "Drops before they spoil. If you do not wear the\n" - "Goron Tunic, the heat timer inside the crater will" - "override the trade item's timer. When you exit to\n" - "Death Mountain Trail you will have one second to\n" - "show the Eye Drops before they expire."; // -string_view LogicZoraRiverLowerDesc = "Difficulty: Novice\n" // - "Adult can reach this PoH with a precise jump, no\n" - "Hover Boots required."; // -string_view LogicZoraRiverUpperDesc = "Difficulty: Novice\n" // - "Adult can reach this PoH with a precise jump, no\n" - "Hover Boots required."; // -string_view LogicZoraRiverRupeesJumpDesc = "Difficulty: Novice\n" // - "Adult can reach these rupees by jumping down from\n" - "the lullaby platform no Iron Boots required."; // -string_view LogicZFGreatFairyDesc = "Difficulty: Novice\n" // - "Destroying the boulders blocking the hidden area\n" - "with silver gauntlets and hammer lets you pass\n" // - "under the wall to the great fairy fountain."; // -string_view LogicDekuB1WebsWithBowDesc = "Difficulty: Novice\n" // - "All spider web walls in the Deku Tree basement can" - "be burnt as adult with just a bow by shooting\n" // - "through torches. This trick only applies to the\n"// - "circular web leading to Gohma; the two vertical\n"// - "webs are always in logic. Backflip onto the chest\n" - "near the torch at the bottom of the vine wall.\n" // - "With precise positioning you can shoot through the" - "torch to the right edge of the circular web."; // -string_view LogicDekuB1SkipDesc = "Difficulty: Intermediate\n" // - "A precise jump can be used to skip needing to use\n" - "the Slingshot to go around B1 of the Deku Tree. If" - "used with the \"Closed Forest\" setting, a\n" // - "Slingshot will not be guaranteed to exist\n" // - "somewhere inside the Forest. This trick applies to" - "both Vanilla and Master Quest."; // -string_view LogicDekuBasementGSDesc = "Difficulty: Intermediate\n" // - "Can be defeated by doing a precise jump slash."; // -string_view LogicDCStaircaseDesc = "Difficulty: Intermediate\n" // - "The Bow can be used to knock down the stairs with\n" - "two well-timed shots."; // -string_view LogicDCJumpDesc = "Difficulty: Novice\n" // - "Jump is adult only."; // -string_view LogicDCSlingshotSkipDesc = "Difficulty: Expert\n" // - "With precise platforming, child can cross the\n" // - "platforms while the flame circles are there. When\n" - "enabling this trick, it's recommended that you\n" // - "also enable the Adult variant: \"Dodongo's Cavern\n" - "Spike Trap Room Jump without Hover Boots\"."; // -string_view LogicDCScarecrowGSDesc = "Difficulty: Intermediate\n" // - "You can jump off an Armos Statue to reach the\n" // - "alcove with the Gold Skulltula. It takes quite a\n" - "long time to pull the statue the entire way. The\n" - "jump to the alcove can be a bit picky when done\n"// - "as child."; // -string_view LogicJabuBossGSAdultDesc = "Difficulty: Intermediate\n" // - "You can easily get over to the door to the near\n"// - "boss area early with Hover Boots. The tricky part\n" - "is getting through the door without being able to\n" - "use a box to keep the switch pressed. One way is\n" - "to quickly roll from the switch and open the door\n" - "before it closes."; // -string_view LogicJabuScrubJumpDiveDesc = "Difficulty: Novice\n" // - "Standing above the underwater tunnel leading to\n"// - "the scrub, jump down and swim through the tunnel.\n" - "This allows adult to access the scrub with no\n" // - "Scale or Iron Boots."; // -string_view LogicForestOutsideBackdoorDesc = "Difficulty: Intermediate\n" // - "With a precise jump slash from above, you can\n" // - "reach the backdoor to the west courtyard without\n" - "Hover Boots. Applies to both Vanilla and Master\n"// - "Quest."; // -string_view LogicForestDoorFrameDesc = "Difficulty: Intermediate\n" // - "A precise Hover Boots movement from the upper\n" // - "balconies in this courtyard can be used to get on\n" - "top of the door frame. Applies to both Vanilla and" - "Master Quest. In Vanilla, from on top the door\n" // - "frame you can summon Pierre, allowing you to\n" // - "access the falling ceiling room early. In Master\n" - "Quest, this allows you to obtain the GS on the\n" // - "door frame as adult without Hookshot or Song of\n"// - "Time."; // -string_view LogicForestOutdoorEastGSDesc = "Difficulty: Novice\n" // - "Precise Boomerang throws can allow child to kill\n" - "the Skulltula and collect the token."; // -string_view LogicFireBossDoorJumpDesc = "Difficulty: Intermediate\n" // - "The Fire Temple Boss Door can be reached with a\n"// - "precise jump. You must be touching the side wall\n" - "of the room so that Link will grab the ledge from\n" - "farther away than is normally possible."; // -string_view LogicFireStrengthDesc = "Difficulty: Expert\n" // - "A precise jump can be used to skip pushing the\n" // - "block. This also allows child to reach the block."; -string_view LogicFireScarecrowDesc = "Difficulty: Novice\n" // - "Also known as \"Pixelshot\". The Longshot can\n" // - "reach the target on the elevator itself, allowing\n" - "you to skip needing to spawn the scarecrow."; // -string_view LogicFireFlameMazeDesc = "Difficulty: Expert\n" // - "If you move quickly you can sneak past the edge of" - "a flame wall before it can rise up to block you.\n" - "To do it without taking damage is more precise.\n"// - "Allows you to progress without needing either a\n"// - "Small Key or Hover Boots."; // -string_view LogicFireSongOfTimeDesc = "Difficulty: Intermediate\n" // - "A precise jump can be used to reach this room."; // -string_view LogicWaterTempleTorchLongshotDesc = "Difficulty: Novice\n" // - "Stand on the eastern side of the central pillar\n"// - "and longshot the torches on the bottom level.\n" // - "Swim through the corridor and float up to the top\n" - "level. This allows access to this area and lower\n" - "water levels without Iron Boots. The majority of\n" - "the tricks that allow you to skip Iron Boots in\n"// - "the Water Temple are not going to be relevant\n" // - "unless this trick is first enabled."; // -string_view LogicWaterTempleUpperBoostDesc = "Difficulty: Expert\n" // - "Stand on the corner closest to the upper ledge\n" // - "where you play Zelda's Lullaby to raise the water\n" - "and put a bomb down behind you. Hold forward when\n" - "the bomb explodes and Link should jump just far\n"// - "enough to grab the ledge."; // -string_view LogicWaterCentralBowDesc = "Difficulty: Intermediate\n" // - "A very precise Bow shot can hit the eye switch\n" // - "from the floor above. Then, you can jump down into" - "the hallway and make through it before the gate\n"// - "closes. It can also be done as child, using the\n"// - "Slingshot instead of the Bow."; // -string_view LogicWaterCentralGSFWDesc = "Difficulty: Novice\n" // - "If you set Farore's Wind inside the central pillar" - "and then return to that warp point after raising\n" - "the water to the highest level, you can obtain\n" // - "this Skulltula Token with Hookshot or Boomerang.";// -string_view LogicWaterCrackedWallNothingDesc = "Difficulty: Expert\n" // - "A precise jump slash (among other methods) will\n"// - "get you to the cracked wall without needing the\n"// - "Hover Boots or to raise the water to the middle\n"// - "level. This trick supersedes \"Water Temple\n" // - "Cracked Wall with Hover Boots\"."; // -string_view LogicWaterCrackedWallHoversDesc = "Difficulty: Expert\n" // - "With a midair side-hop while wearing the Hover\n" // - "Boots, you can reach the cracked wall without\n" // - "needing to raise the water up to the middle level."; -string_view LogicWaterBossKeyRegionDesc = "Difficulty: Intermediate\n" // - "With precise Hover Boots movement it is possible\n" - "to reach the boss key chest's region without\n" // - "needing the Longshot. It is not necessary to take\n" - "damage from the spikes. The Gold Skulltula Token\n" - "in the following room can also be obtained with\n"// - "just the Hover Boots."; // -string_view LogicWaterBKJumpDiveDesc = "Difficulty: Intermediate\n" // - "Stand on the very edge of the raised corridor\n" // - "leading from the push block room to the rolling\n"// - "boulder corridor. Face the gold skulltula on the\n" - "waterfall and jump over the boulder corridor floor" - "into the pool of water, swimming right once\n" // - "underwater. This allows access to the boss key\n" // - "room without Iron boots."; // -string_view LogicWaterNorthBasementLedgeJumpDesc = "Difficulty: Novice\n" // - "In the northern basement there's a ledge from\n" // - "where, in vanilla Water Temple, boulders roll out\n" - "into the room. Normally to jump directly to this\n" - "ledge logically requires the Hover Boots, but with" - "precise jump, it can be done without them. This\n"// - "trick applies to both Vanilla and Master Quest."; // -string_view LogicWaterDragonAdultDesc = "Difficulty: Expert\n" // - "Normally you need both Hookshot and Iron Boots to\n" - "hit the switch and swim through the tunnel to get\n" - "to the chest. But by hitting the switch from dry\n" - "land, using one of Bombchus, Hookshot, or Bow, it\n" - "is possible to skip one or both of those\n" // - "requirements. After the gate has been opened, a\n"// - "well-timed dive with at least the Silver Scale\n" // - "could be used to swim through the tunnel."; // -string_view LogicWaterDragonJumpDiveDesc = "Difficulty: Expert\n" // - "If you come into the dragon statue room from the\n" - "serpent river, you can jump down from above and\n"// - "get into the tunnel without needing either Iron\n"// - "Boots or a Scale. This trick applies to both\n" // - "Vanilla and Master Quest. In Vanilla, you must\n" // - "shoot the switch from above with the Bow, and then" - "quickly get through the tunnel before the gate\n" // - "closes."; // -string_view LogicWaterRiverGSDesc = "Difficulty: Novice\n" // - "Standing on the exposed ground toward the end of\n" - "the river, a precise Longshot use can obtain the\n" - "token."; // -string_view LogicWaterFallingPlatformGSDesc = "Difficulty: Intermediate\n" // - "If you stand on the very edge of the platform,\n" // - "this Gold Skulltula can be obtained with only the\n" - "Hookshot."; // -string_view LogicSpiritLowerAdultSwitchDesc = "Difficulty: Novice\n" // - "A bomb can be used to hit the switch on the\n" // - "ceiling, but it must be thrown from a particular\n" - "distance away and with precise timing."; // -string_view LogicSpiritChildBombchuDesc = "Difficulty: Intermediate\n" // - "A carefully-timed Bombchu can hit the switch."; // -string_view LogicSpiritWallDesc = "Difficulty: Expert\n" // - "The logic normally guarantees a way of dealing\n" // - "with both the Beamos and the Walltula before\n" // - "climbing the wall."; // -string_view LogicSpiritLobbyGSDesc = "Difficulty: Intermediate\n" // - "Standing on the highest part of the arm of the\n" // - "statue, a precise Boomerang throw can kill and\n" // - "obtain this Gold Skulltula. You must throw the\n" // - "Boomerang slightly off to the side so that it\n" // - "curves into the Skulltula, as aiming directly at\n" - "it will clank off of the wall in front."; // -string_view LogicSpiritMapChestDesc = "Difficulty: Intermediate\n" // - "To get a line of sight from the upper torch to the" - "map chest torches, you must pull an Armos statue\n" - "all the way up the stairs."; // -string_view LogicSpiritSunChestDesc = "Difficulty: Expert\n" // - "Using the blocks in the room as platforms you can\n" - "get lines of sight to all three torches. The timer" - "on the torches is quite short so you must move\n" // - "quickly in order to light all three."; // -string_view LogicShadowFireArrowEntryDesc = "Difficulty: Expert\n" // - "It is possible to light all of the torches to open" - "the Shadow Temple entrance with just Fire Arrows,\n" - "but you must be very quick, precise, and strategic" - "with how you take your shots."; // -string_view LogicShadowUmbrellaDesc = "Difficulty: Expert\n" // - "A very precise Hover Boots movement from off of\n"// - "the lower chest can get you on top of the crushing\n" - "spikes without needing to pull the block. Applies\n" - "to both Vanilla and Master Quest."; // -string_view LogicShadowFreestandingKeyDesc = "Difficulty: Intermediate\n" // - "Release the Bombchu with good timing so that it\n"// - "explodes near the bottom of the pot."; // -string_view LogicShadowStatueDesc = "Difficulty: Novice\n" // - "By sending a Bombchu around the edge of the gorge," - "you can knock down the statue without needing a\n"// - "Bow. Applies in both vanilla and MQ Shadow."; // -string_view LogicShadowBongoDesc = "Difficulty Expert\n" // - "Using precise sword slashes, Bongo Bongo can be\n"// - "defeated without using projectiles.\n" // - "This trick is much more difficult when done with\n" - "Kokiri Sword vs Master Sword or Biggorron Sword.\n" - "Useful for Boss Entrance Randomizer."; // -string_view LogicChildDeadhandDesc = "Difficulty: Novice\n" // - "Requires 10 stick slashes."; // -string_view LogicGtgWithoutHookshotDesc = "Difficulty: Expert\n" // - "The final silver rupee on the ceiling can be\n" // - "reached by being pulled up into it by the\n" // - "Wallmaster.\n" // - "Then, you must also reach the exit of the room\n" // - "without the use of the Hookshot. If you move\n" // - "quickly, you can sneak past the edge of a\n" // - "flame wall before it can rise up to block you.\n" // - "To do so without taking damage is more precise"; // -string_view LogicGtgFakeWallDesc = "Difficulty: Novice\n" // - "A precise Hover Boots use from the top of the\n" // - "chest can allow you to grab the ledge without\n" // - "needing the usual requirements."; // -string_view LogicLensSpiritDesc = "Difficulty: Novice\n" // - "Removes the requirements for the Lens of Truth in\n" - "Spirit Temple."; // -string_view LogicLensShadowDesc = "Difficulty: Novice\n" // - "Removes the requirements for the Lens of Truth in\n" - "Shadow Temple before the invisible moving platform"; -string_view LogicLensShadowBackDesc = "Difficulty: Intermediate\n" // - "Removes the requirements for the Lens of Truth in\n" - "Shadow Temple beyond the invisible moving platform"; -string_view LogicLensBotwDesc = "Difficulty: Intermediate\n" // - "Removes the requirements for the Lens of Truth in\n" - "Bottom of the Well."; // -string_view LogicLensGtgDesc = "Difficulty: Novice\n" // - "Removes the requirements for the Lens of Truth in\n" - "Gerudo Training Grounds."; // -string_view LogicLensCastleDesc = "Difficulty: Intermediate\n" // - "Removes the requirements for the Lens of Truth in\n" - "Ganon's Castle."; // -string_view LogicLensJabuMQDesc = "Difficulty: Novice\n" // - "Removes the requirements for the Lens of Truth in\n" - "Jabu Jabu's Belly MQ."; // -string_view LogicLensSpiritMQDesc = "Difficulty: Novice\n" // - "Removes the requirements for the Lens of Truth in\n" - "Spirit Temple MQ."; // -string_view LogicLensShadowMQDesc = "Difficulty: Novice\n" // - "Removes the requirements for the Lens of Truth in\n" - "Shadow Temple MQ before the invisible moving \n" // - "platform"; // -string_view LogicLensShadowMQBackDesc = "Difficulty: Intermediate\n" // - "Removes the requirements for the Lens of Truth in\n" - "Shadow Temple MQ beyond the invisible moving \n" // - "platform"; // -string_view LogicLensBotwMQDesc = "Difficulty: Novice\n" // - "Removes the requirements for the Lens of Truth in\n" - "Bottom of the Well MQ."; // -string_view LogicLensGtgMQDesc = "Difficulty: Novice\n" // - "Removes the requirements for the Lens of Truth in\n" - "Gerudo Training Grounds MQ."; // -string_view LogicLensCastleMQDesc = "Difficulty: Intermediate\n" // - "Removes the requirements for the Lens of Truth in\n" - "Ganon's Castle MQ."; // -string_view LogicSpiritTrialHookshotDesc = "Difficulty: Intermediate\n" // - "A precise jump off of an Armos can collect the\n" // - "highest rupee."; // - // -string_view LogicFlamingChestsDesc = "Difficulty: Novice\n" // - "The chests encircled in flames in Gerudo Training\n" - "Grounds and in Spirit Temple can be opened by\n" // - "running into the flames while Link is invincible\n" - "after taking damage."; // - // -/*------------------------------ // -| GLITCHES | // -------------------------------*/ // -const std::vector GlitchDifficulties{"Disabled", "Novice", "Intermediate", "Advanced", "Expert", "Hero"}; -string_view ToggleAllGlitchesDesc = "Set all glitches to the selected difficulty, or\n"// - "the closest available below."; // -/* Restricted Items */ // -string_view GlitchRestrictedItemsDescDisabled = "Swapping an item that can normally be used in an\n" - "area with one that would be dimmed will let you\n" - "use that item for 1 frame after closing your\n" // - "inventory. This can be useful on its own or in\n" // - "combination with other glitches."; // -string_view GlitchRestrictedItemsDescNovice = "You may be required to use restricted items."; // -/* Super Stab */ // -string_view GlitchSuperStabDescDisabled = "Forcing sticks to unequip during a crouch stab by\n" - "breaking it and moving them in your inventory has\n" - "the effect of hitting all spherical collision."; // -string_view GlitchSuperStabDescNovice = "You may be expected to hit switches or kill gold\n" - "skulltulas with a super stab."; // -/* ISG */ // -string_view GlitchISGDescDisabled = "Shortened to ISG, allows Link's melee weapon to\n"// - "be in a constant swinging state. Simply touching\n" - "objects with this causes them to get hit.\n" // - "Putting away the weapon while ISG is on hits\n" // - "any object with a spherical hitbox,\n" // - "such as small skulltulas. It is initiated by\n" // - "interrupting a crouch stab."; // -string_view GlitchISGDescNovice = "ISG may be required to kill certain enemies,\n" // - "or to Bomb Hover when enabled."; // -string_view GlitchISGDescIntermediate = "You may be required to use a bomb to activate ISG."; -string_view GlitchISGDescAdvanced = "You may be required to use a bomb to activate ISG\n" - "repeatedly or while under attack."; // -/* Hover */ // -string_view GlitchHoverDescDisabled = "Hovering allows Link to consecutively backflip\n" // - "in the air without falling. By shielding\n" // - "damage with ISG on, Link will stay in midair.\n" // - "While bombs aren't always required, this option\n"// - "will always expect them to be used.\n" // - "\n" // - "Requires ISG to be enabled."; // -string_view GlitchHoverDescNovice = "Only bombchus are required for hovering."; // -string_view GlitchHoverDescIntermediate = "Some hovers may require that you start from flat\n" - "terrain, which requires somewhat precise timing.";// -string_view GlitchHoverDescAdvanced = "Usage of regular bombs will now also be expected,\n" - "which may require consecutive precise timings."; // -/* Bomb OI */ // -string_view GlitchBombOIDescDisabled = "Allowing a bomb to explode in Link's hands while\n" - "moving and then attempting to pull out a cutscene\n" - "item on a specific frame will cause Link to play\n" - "an invisible ocarina instead.\n" // - "This will only work if bombs are not dimmed on the" - "frame you use the cutscene item."; // -string_view GlitchBombOIDescNovice = "You may be expected to use ocarina items with a\n"// - "bomb to play warp songs."; // -string_view GlitchBombOIDescIntermediate = "You may be expected to use ocarina items with a\n"// - "bomb to play the ocarina where Link's position\n" // - "matters."; // -string_view GlitchBombOIDescAdvanced = "You may be expected to use restricted items to use" - "the cutscene item or to make the bombs usable on\n" - "the correct frame."; // -string_view GlitchBombOIDescExpert = "You may be expected to use restricted items to\n" // - "perform ocarina items where Link's position isn't\n" - "particularly lenient"; // -/* Hover Boost */ // -string_view GlitchHoverBoostDescDisabled = "Equipping hover boots when Link takes damage will\n" - "cause him to keep the high knockback speed and\n" // - "lets him traverse large gaps.\n" // - "If performed at the edge of a platform Link will\n" - "instead perform a mega jump which has less range\n" - "but more height than a hover boost."; // -string_view GlitchHoverBoostDescNovice = "Hover boosts that do not need the maximum speed\n"// - "may be required."; // -string_view GlitchHoverBoostDescIntermediate = "Hover boosts that do need the maximum speed may be" - "required."; // -string_view GlitchHoverBoostDescAdvanced = "Hover boosts that use more complex movement during" - "the hover may be required."; // -/* Super Slide */ // -string_view GlitchSuperSlideDescDisabled = "Holding the circle pad just outside the dead zone\n" - "will cause Link to turn on the spot which locks\n"// - "his speed. This can be used to preserve high\n" // - "speeds indefinitely."; // -string_view GlitchSuperSlideDescNovice = "Forward extended super slides (FESSes) where Link\n" - "is damaged by an explosion may be required."; // -string_view GlitchSuperSlideDescIntermediate = "Hammer extended super slides where the recoil from" - "a hammer crouch stab is used may be required."; // -string_view GlitchSuperSlideDescAdvanced = "Hyper Extended Super Slides (HESSes) and\n" // - "damageless FESSes where Link rolls into a bomb may" - "be required."; // -string_view GlitchSuperSlideDescExpert = "HESSes with more precise movement may be required."; -/* Megaflip */ // -string_view GlitchMegaflipDescDisabled = "A backflip or sidehop with high speed from an\n" // - "attack hitting your shield during i-frames. This\n" - "is normally achieved by rolling into an explosion.\n" - "Equipping hover boots to preserve the high speed\n" - "when landing is known as a hoverflip."; // -string_view GlitchMegaflipDescNovice = "You may be expected to perform megaflips on flat\n" - "ground with bombs."; // -string_view GlitchMegaflipDescIntermediate = "You may be expected to perform megaflips in small\n" - "areas, distance megaflips, or hoverflips with a\n"// - "bomb."; // -string_view GlitchMegaflipDescAdvanced = "You may be expected to perform hoverflips with\n" // - "difficult midair movement, or distance megaflips\n" - "under time pressure with a bomb.\n\n" // - "Additionally, you may be expected to perform\n" // - "novice megaflips with a bombchu"; // -string_view GlitchMegaflipDescExpert = "You may be expected to perform intermediate\n" // - "megaflips with a bombchu."; // -string_view GlitchMegaflipDescHero = "You may be expected to perform any megaflip with a" - "bombchu."; // -/* A-Slide */ // -string_view GlitchASlideDescDisabled = "An A-slide is performed the same as a megaflip\n" // - "except without pressing the A button at the end.\n" - "This causes child Link's collision to glitch below" - "the ground and lets him bypass certain actors."; // -string_view GlitchASlideDescNovice = "You may be expected to perform A-slides to pass\n"// - "actors you can't press A to interact with."; // -string_view GlitchASlideDescIntermediate = "You may be expected to perform A-slides quickly or" - "around actors that can be interacted with."; // -string_view GlitchASlideDescAdvanced = "You may be expected to perform novice A-slides\n" // - "with a bombchu."; // -string_view GlitchASlideDescExpert = "You may be expected to perform intermediate\n" // - "A-slides with a bombchu."; -/* Hammer Slide */ // -string_view GlitchHammerSlideDescDisabled = "Equipping hover boots after a hammer crouch stab\n" - "against a wall preserves the recoil speed which\n"// - "allows Link to cross larger gaps than usual."; // -string_view GlitchHammerSlideDescNovice = "Simple hammer slides may be required"; // -string_view GlitchHammerSlideDescIntermediate = "Hammer slides which require good movement and high" - "speed may be required."; // -/* Ledge Cancel */ // -string_view GlitchLedgeCancelDescDisabled = "Climbing a short ledge and shielding damage will\n" - "prevent the ledge climbing state from ending.\n" // - "This state allows Link to walk through some actors" - "such as boulders and NPCs."; // -string_view GlitchLedgeCancelDescNovice = "You may be expected to perform ledge cancels using" - "bombs as a damage source."; // -string_view GlitchLedgeCancelDescIntermediate = "You may be expected to perform ledge cancels in\n"// - "places with little room."; // -string_view GlitchLedgeCancelDescAdvanced = "You may be expected to perform ledge cancels using" - "bombchus as a damage source."; // -/* Action Swap */ // -string_view GlitchActionSwapDescDisabled = "Action swap allows Link to switch between 2 held\n" - "items without the put away/equip animations.\n" // - "This can be exploited to produce various effects."; -string_view GlitchActionSwapDescNovice = "You may be expected to use shallow water to set up" - "action swap."; // -string_view GlitchActionSwapDescAdvanced = "You may be expected to use bombchus to set up\n" // - "action swap."; // -/* QPA */ // -string_view GlitchQPADescDisabled = "Certain events can cancel putting away an item\n" // - "which later lets Link put it away without an\n" // - "animation. This can be used with sticks to access\n" - "a glitched damage value with the properties of\n" // - "hammer and fire arrows, or with a bottle to store\n" - "a cutscene for ocarina items."; // -string_view GlitchQPADescNovice = "You may be expected to get QPA using the boots\n" // - "animation to delay putting away the item and a\n" // - "bomb."; // -string_view GlitchQPADescIntermediate = "You may be expected to get QPA using only a bomb."; -string_view GlitchQPADescAdvanced = "You may be expected to get QPA using a ledge grab\n" - "to interrupt putting away the item."; // -string_view GlitchQPADescExpert = "You may be expected to get QPA from enemy attacks."; -/* Hookshot Clip */ // -string_view GlitchHookshotClipDescDisabled = "Hookshot Clipping allows Link to hookshot through\n" - "certain walls, which is useful if a valid\n" // - "target is on the other side."; // -string_view GlitchHookshotClipDescNovice = "Basic Hookshot Clipping may be required."; // -string_view GlitchHookshotClipDescIntermediate = "Hookshot clips with precise angles and poor\n" // - "visibility may be required."; // -/* Hookshot Jump: Bonk */ // -string_view GlitchHookshotJump_BonkDescDisabled = "A Hookshot Jump is an umbrella term for techniques" - "that launch Link into the sky using the Hookshot\n" - "in various ways, sometimes together with\n" // - "other items. The bonk method only requires the\n" // - "Hookshot itself."; // -string_view GlitchHookshotJump_BonkDescNovice = "Simple hookshot jumps against large flat walls of\n" - "hookshottable surfaces may be required."; // -string_view GlitchHookshotJump_BonkDescIntermediate = "Less lenient hookshot jumps may be required."; // -string_view GlitchHookshotJump_BonkDescAdvanced = "Hookshot jumps with precise midair movement may be" - "required."; // -/* Hookshot Jump: Boots */ // -string_view GlitchHookshotJump_BootsDescDisabled = "This Hookshot Jump technique is one of the easier\n" - "ones, and require any pair of boots."; // -string_view GlitchHookshotJump_BootsDescNovice = "Only relatively short Hookshot Jumps with boots\n"// - "may be required."; // -string_view GlitchHookshotJump_BootsDescIntermediate = "Higher Hookshot Jumps with boots, where you look\n" - "further up or downwards may be required."; // -string_view GlitchHookshotJump_BootsDescAdvanced = "Hookshot jumps that require a lot of height and\n"// - "precise midair movement may be required."; // -/* Cutscene Dives */ // -string_view GlitchCutsceneDiveDescDisabled = "Water physics won't effect Link if he enters the\n" - "water while a cutscene is playing, allowing him\n"// - "to sink to the bottom."; // -string_view GlitchCutsceneDiveDescNovice = "Attempting to use Farore's Wind (when it's already" - "set) with another magic item active prevents the\n" - "water from clearing the FW cutscene until the\n" // - "other effect ends.\n" // - "You may be expected to use Nayru's Love as the\n" // - "other magic effect."; // -string_view GlitchCutsceneDiveDescIntermediate = "You can catch something in a bottle while standing" - "over water using the hover boots to fall through\n" - "the water during the catching cutscene."; // -string_view GlitchCutsceneDiveDescAdvanced = "You may be expected to use magic arrows to perform" - "Farore's Wind cutscene dives."; // -/* Navi Dive: Stick */ // -string_view GlitchNaviDive_StickDescDisabled = "A Navi dive is a type of cutscene dive achieved by" - "falling off a ledge while talking to Navi. While\n" - "the usual method for achieving this is a TSC, it\n" - "is also possible to perform using a jump attack\n"// - "with deku sticks."; // -string_view GlitchNaviDive_StickDescNovice = "You may be expected to enter BotW with a stick\n" // - "Navi dive."; // -string_view GlitchNaviDive_StickDescIntermediate = "You may be expected to use the LH to ZD shortcut\n" - "with a stick Navi dive."; // -string_view GlitchNaviDive_StickDescAdvanced = "You may be expected to use the LW to ZR shortcut\n" - "with a stick Navi dive."; // -/* TSC */ // -string_view GlitchTripleSlashClipDescDisabled = "When doing a three-slash-combo with either the\n" // - "Kokiri Sword or the Master Sword and put it away,\n" - "Link will be placed back a small distance.\n" // - "If, while slashing, you use the recoil of hitting\n" - "a wall and then put away the sword, Link may clip\n" - "into a wall behind him if angled correctly."; // -string_view GlitchTripleSlashClipDescNovice = "Basic Triple Slash Clipping may be required."; // -string_view GlitchTripleSlashClipDescIntermediate = "Some more complex OoB movement may be required."; // -string_view GlitchTripleSlashClipDescAdvanced = "Very precise OoB movement may be required."; // -string_view GlitchTripleSlashClipDescExpert = "Very precise TSCs may be required."; // -/* Ledge Clip */ // -string_view GlitchLedgeClipDescDisabled = "A Ledge Clip allows Link to fall through a floor\n" - "or pass through an object by facing a wall\n" // - "and dropping down to the left in various ways.\n" // - "These only work as an adult."; // -string_view GlitchLedgeClipDescNovice = "Basic Ledge Clips may be required.\n" // - "Some require that you let go of the ledge with\n" // - "a specific timing."; // -string_view GlitchLedgeClipDescIntermediate = "Certain harder clips may also be required."; // -string_view GlitchLedgeClipDescAdvanced = "Ledge clips with complex OoB movement may be\n" // - "required."; // -/* Seam Walk */ // -string_view GlitchSeamWalkDescDisabled = "Where 2 walls come together they form a seam that\n" - "Link can stand on. It is possible to use these to\n" - "gain height and reach normally inaccessible areas.\n" - "Additionally these seams can reach far above the\n" - "walls that form them, creating invisible seams."; // -string_view GlitchSeamWalkDescNovice = "Short seam walks up visible walls with ISG may be\n" - "required."; // -string_view GlitchSeamWalkDescIntermediate = "Short seam walks up visible walls without ISG or\n" - "longer seam walks with ISG may be required."; // -string_view GlitchSeamWalkDescAdvanced = "Longer seam walks without ISG may be required."; // -string_view GlitchSeamWalkDescExpert = "Very precise seam walks may be required."; // -string_view GlitchSeamWalkDescHero = "Crossing Gerudo Valley as child by walking up a\n"// - "wall with the cucco may be required."; // -/* Misc Glitches */ // -string_view GlitchWWTEscapeDesc = "Using deku nuts and the crawlspace to let you\n" // - "move while reading the nearby sign, you can walk\n" - "through the Kokiri guarding the exit. This only\n"// - "affects logic with shuffled entrances."; // -string_view GlitchGVTentAsChildDesc = "The loading zone for the carpenters' tent exists\n" - "in the child map despite the tent being removed.\n\n" - "With this setting enabled you may be expected to\n" - "use that loading zone."; // -string_view GlitchGFGuardSneakDesc = "By using the bow, hookshot, or boomerang while\n" // - "looking up and targeting the Fortress wall, you\n"// - "can walk\n past the guard on the slope without\n" // - "being caught."; // -string_view GlitchItemlessWastelandDesc = "By starting a backwalk and then targeting every\n"// - "other frame Link will maintain backwalk speed\n" // - "over the quicksand in the haunted wasteland which\n" - "lets him cross with no items."; // -string_view GlitchOccamsStatueDesc = "With some precise movement through loading zones\n" - "in Darunia's room, it is possible to unload the\n"// - "collision of the statue blocking the way to DMC.";// -string_view GlitchZDOoBJumpSlashDesc = "Jump slashing the wall next to the pillar above\n"// - "the ZD to LH shortcut as adult will let you clip\n" - "through. From here you can either jump to the shop" - "loading zone or fall OoB a little bit and swim\n" // - "into the shortcut loading zone."; // -string_view GlitchJabuStickRecoilDesc = "Child can enter Jabu without a fish in a bottle\n"// - "using the recoil from breaking a deku stick while\n" - "sidehopping next to the loading zone."; // -string_view GlitchJabuAdultDesc = "Adult can enter Jabu by walking over a specific\n"// - "section of ice on the side near ice cavern."; // -string_view GlitchBlueFireWallDesc = "Pouring blue fire on certain destructable walls\n"// - "will cause them to break."; // -string_view GlitchClassicHalfieDesc = "Dying during a jump attack towards a ledge just\n"// - "too high to climb will put Link on top of the\n" // - "ledge. Combined with a fairy this lets Link climb\n" - "ledges such as the one to the switch in DC."; // -string_view GlitchModernHalfieDesc = "Using a bomb flower and a twisted backflip, it is\n" - "possible to access the switch in DC with only a\n"// - "deku shield and the goron bracelet."; // -string_view GlitchJabuSwitchDesc = "Using a cutscene item the frame you land on the\n"// - "blue switches in Jabu Jabu's Belly will make them\n" - "stay held for a while after you step off them."; // -string_view GlitchForestBKSkipDesc = "Using the hookshot or bow to shorten a backflip\n"// - "it is possible to land on the other side of the\n"// - "railing in the north of the lobby and get clipped\n" - "out of bounds. From here it is possible to jump\n"// - "into the boss loading zone."; // -string_view GlitchFireGrunzClipDesc = "Grabbing a ledge in a corner partially clips Link\n" - "through the wall. A bomb can be used to push Link\n" - "fully through the wall to get out of bounds. This\n" - "can be used in the fire temple along with hover\n"// - "boots to skip hammer in the first room."; // diff --git a/source/item_list.cpp b/source/item_list.cpp index e80bb999..085ae7da 100644 --- a/source/item_list.cpp +++ b/source/item_list.cpp @@ -1,338 +1,8 @@ - #include "item_list.hpp" - -#include "logic.hpp" -#include "../code/include/z3D/z3Ditem.h" -#include "../code/src/dungeon.h" #include -using namespace Logic; - -static std::array itemTable; -// clang-format off -void ItemTable_Init() { //Item Type getItemID Item class logic hint key English name French Spanish European English European French European Spanish Italian German - itemTable[NONE] = Item(ITEMTYPE_EVENT, GI_RUPEE_GREEN, ITEMCLASS_JUNK, &noVariable, NONE, Text{"No Item", "Rien", "Sin Objeto", "Nessun Oggetto", "Nichts"}); - itemTable[KOKIRI_SWORD] = Item(ITEMTYPE_ITEM, GI_SWORD_KOKIRI, ITEMCLASS_ADVANCEMENT, &KokiriSword, KOKIRI_SWORD, Text{"Kokiri Sword", "Épée Kokiri", "Espada Kokiri", "Spada dei Kokiri", "Kokiri-Schwert"}); - itemTable[MASTER_SWORD] = Item(ITEMTYPE_ITEM, GI_SWORD_MASTER, ITEMCLASS_ADVANCEMENT, &MasterSword, MASTER_SWORD, Text{"Master Sword", "Épée maîtresse", "Espada Maestra", "Master Sword", "Épée de légende", "Espada Maestra", "Spada suprema", "Master-Schwert"}); - itemTable[GIANTS_KNIFE] = Item(ITEMTYPE_ITEM, GI_SWORD_KNIFE, ITEMCLASS_NONE, &noVariable, GIANTS_KNIFE, Text{"Giant's Knife", "Lame de géant", "Daga gigante", "Spada del gigante", "Langschwert"}); - itemTable[BIGGORON_SWORD] = Item(ITEMTYPE_ITEM, GI_SWORD_BGS, ITEMCLASS_ADVANCEMENT, &BiggoronSword, BIGGORON_SWORD, Text{"Biggoron's Sword", "Épée de Grogoron", "Espada de Biggoron", "Biggoron's Sword", "Épée de Biggoron", "Espada de Biggoron", "Spada di Grande Goron", "Biggoron-Schwert"}); - itemTable[DEKU_SHIELD] = Item(ITEMTYPE_ITEM, GI_SHIELD_DEKU, ITEMCLASS_NONE, &noVariable, DEKU_SHIELD, Text{"Deku Shield", "Bouclier Mojo", "Escudo deku", "Scudo Deku", "Deku-Schild"}); - itemTable[HYLIAN_SHIELD] = Item(ITEMTYPE_ITEM, GI_SHIELD_HYLIAN, ITEMCLASS_NONE, &noVariable, HYLIAN_SHIELD, Text{"Hylian Shield", "Bouclier Hylien", "Escudo hyliano", "Scudo Hylia", "Hylia-Schild"}); - itemTable[MIRROR_SHIELD] = Item(ITEMTYPE_ITEM, GI_SHIELD_MIRROR, ITEMCLASS_ADVANCEMENT, &MirrorShield, MIRROR_SHIELD, Text{"Mirror Shield", "Bouclier miroir", "Escudo espejo", "Scudo specchio", "Spiegel-Schild"}); - itemTable[GORON_TUNIC] = Item(ITEMTYPE_ITEM, GI_TUNIC_GORON, ITEMCLASS_ADVANCEMENT, &GoronTunic, GORON_TUNIC, Text{"Goron Tunic", "Tunique Goron", "Sayo goron", "Veste dei Goron", "Goronen-Rüstung"}); - itemTable[ZORA_TUNIC] = Item(ITEMTYPE_ITEM, GI_TUNIC_ZORA, ITEMCLASS_ADVANCEMENT, &ZoraTunic, ZORA_TUNIC, Text{"Zora Tunic", "Tunique Zora", "Sayo zora", "Veste degli Zora", "Zora-Rüstung"}); - itemTable[IRON_BOOTS] = Item(ITEMTYPE_ITEM, GI_BOOTS_IRON, ITEMCLASS_ADVANCEMENT, &IronBoots, IRON_BOOTS, Text{"Iron Boots", "Bottes de plomb", "Botas de hierro", "Stivali di ferro", "Eisenstiefel"}); - itemTable[HOVER_BOOTS] = Item(ITEMTYPE_ITEM, GI_BOOTS_HOVER, ITEMCLASS_ADVANCEMENT, &HoverBoots, HOVER_BOOTS, Text{"Hover Boots", "Bottes des airs", "Botas voladoras", "Stivali alati", "Gleitstiefel"}); - - itemTable[BOOMERANG] = Item(ITEMTYPE_ITEM, GI_BOOMERANG, ITEMCLASS_ADVANCEMENT, &Boomerang, BOOMERANG, Text{"Boomerang", "Boomerang", "Búmeran", "Boomerang", "Bumerang"}); - itemTable[LENS_OF_TRUTH] = Item(ITEMTYPE_ITEM, GI_LENS, ITEMCLASS_ADVANCEMENT, &LensOfTruth, LENS_OF_TRUTH, Text{"Lens of Truth", "Loupe de vérité", "Lupa de la Verdad", "Lens of Truth", "Monocle de vérité", "Lupa de la Verdad", "Lente della verità", "Auge der Wahrheit"}); - itemTable[MEGATON_HAMMER] = Item(ITEMTYPE_ITEM, GI_HAMMER, ITEMCLASS_ADVANCEMENT, &Hammer, MEGATON_HAMMER, Text{"Megaton Hammer", "Masse des titans", "Martillo Megatón", "Martello megaton", "Stahlhammer"}); - itemTable[SHARD_OF_AGONY] = Item(ITEMTYPE_ITEM, GI_STONE_OF_AGONY, ITEMCLASS_ADVANCEMENT, &ShardOfAgony, SHARD_OF_AGONY, Text{"Shard of Agony", "Fragment de souffrance", "Piedra de la Agonía", "Shard of Agony", "Pierre de souffrance", "Piedra de la Agonía", "Cristallo sonoro", "Stein des Wissens"}); - itemTable[DINS_FIRE] = Item(ITEMTYPE_ITEM, GI_DINS_FIRE, ITEMCLASS_ADVANCEMENT, &DinsFire, DINS_FIRE, Text{"Din's Fire", "Feu de Din", "Fuego de Din", "Fuoco di Din", "Dins Feuerinferno"}); - itemTable[FARORES_WIND] = Item(ITEMTYPE_ITEM, GI_FARORES_WIND, ITEMCLASS_ADVANCEMENT, &FaroresWind, FARORES_WIND, Text{"Farore's Wind", "Vent de Farore", "Viento de Farore", "Vento di Farore", "Farores Donnersturm"}); - itemTable[NAYRUS_LOVE] = Item(ITEMTYPE_ITEM, GI_NAYRUS_LOVE, ITEMCLASS_ADVANCEMENT, &NayrusLove, NAYRUS_LOVE, Text{"Nayru's Love", "Amour de Nayru", "Amor de Nayru", "Amore di Nayru", "Nayrus Umarmung"}); - itemTable[FIRE_ARROWS] = Item(ITEMTYPE_ITEM, GI_ARROW_FIRE, ITEMCLASS_ADVANCEMENT, &FireArrows, FIRE_ARROWS, Text{"Fire Arrow", "Flèche de feu", "Flecha de fuego", "Freccia di fuoco", "Feuer-Pfeile"}); - itemTable[ICE_ARROWS] = Item(ITEMTYPE_ITEM, GI_ARROW_ICE, ITEMCLASS_ADVANCEMENT, &IceArrows, ICE_ARROWS, Text{"Ice Arrow", "Flèche de glace", "Flecha de hielo", "Freccia di ghiaccio", "Eis-Pfeile"}); - itemTable[LIGHT_ARROWS] = Item(ITEMTYPE_ITEM, GI_ARROW_LIGHT, ITEMCLASS_ADVANCEMENT, &LightArrows, LIGHT_ARROWS, Text{"Light Arrow", "Flèche de lumière", "Flecha de luz", "Freccia di luce", "Licht-Pfeile"}); - itemTable[GERUDO_TOKEN] = Item(ITEMTYPE_ITEM, GI_GERUDO_CARD, ITEMCLASS_ADVANCEMENT, &GerudoToken, GERUDO_TOKEN, Text{"Gerudo Token", "Carte Gerudo", "Pase de socio gerudo", "Gerudo Card", "Gerudo-Pass"}); - itemTable[MAGIC_BEAN] = Item(ITEMTYPE_ITEM, GI_BEAN, ITEMCLASS_ADVANCEMENT, &MagicBean, MAGIC_BEAN, Text{"Magic Bean", "Haricot magique", "Habichuelas mágicas", "Fagioli magici", "Wundererbse"}); - itemTable[MAGIC_BEAN_PACK] = Item(ITEMTYPE_ITEM, 0xC9, ITEMCLASS_ADVANCEMENT, &MagicBeanPack, MAGIC_BEAN_PACK, Text{"Magic Bean Pack", "Paquet de haricots magiques", "Lote de habichuelas mágicas", "Pacco di fagioli magici", "Wundererbsen-Bündel"}); - itemTable[DOUBLE_DEFENSE] = Item(ITEMTYPE_ITEM, 0xB8, ITEMCLASS_ADVANCEMENT, &DoubleDefense, DOUBLE_DEFENSE, Text{"Double Defense", "Double défence", "Doble poder defensivo", "Doppia difesa", "Doppelte Abwehrkraft"}); - - itemTable[WEIRD_EGG] = Item(ITEMTYPE_ITEM, GI_WEIRD_EGG, ITEMCLASS_ADVANCEMENT, &WeirdEgg, WEIRD_EGG, Text{"Weird Egg", "Œuf curieux", "Huevo extraño", "Uovo misterioso", "Seltsames Ei"}); -// itemTable[CUCCO] = Item(ITEMTYPE_ITEM, GI_CUCCO, ITEMCLASS_ADVANCEMENT, &Cucco, CUCCO, Text{"Cucco", "Poulette", "Cuco", "Cucco", "Cocotte", "Cuco", "Coccò", "Huhn"}); - itemTable[ZELDAS_LETTER] = Item(ITEMTYPE_ITEM, GI_LETTER_ZELDA, ITEMCLASS_ADVANCEMENT, &ZeldasLetter, ZELDAS_LETTER, Text{"Zelda's Letter", "Lettre de Zelda", "Carta de Zelda", "Lettera di Zelda", "Zeldas Brief"}); -// itemTable[KEATON_MASK] = Item(ITEMTYPE_ITEM, GI_MASK_KEATON, ITEMCLASS_ADVANCEMENT, &KeatonMask, KEATON_MASK, Text{"Keaton Mask", "Masque Keaton", "Máscara de Keaton", "Keaton Mask", "Masque de renard", "Máscara de Keaton", "Maschera Keaton", "Fuchs-Maske"}); -// itemTable[SKULL_MASK] = Item(ITEMTYPE_ITEM, GI_MASK_SKULL, ITEMCLASS_ADVANCEMENT, &SkullMask, SKULL_MASK, Text{"Skull Mask", "Masque de mort", "Máscara de calavera", "Maschera Teschio", "Schädel-Maske"}); -// itemTable[SPOOKY_MASK] = Item(ITEMTYPE_ITEM, GI_MASK_SPOOKY, ITEMCLASS_ADVANCEMENT, &SpookyMask, SPOOKY_MASK, Text{"Spooky Mask", "Masque épeurant", "Máscara tenebrosa", "Spooky Mask", "Masque d'effroi", "Máscara tenebrosa", "Maschera spaventosa", "Geister-Maske"}); -// itemTable[BUNNY_HOOD] = Item(ITEMTYPE_ITEM, GI_MASK_BUNNY, ITEMCLASS_ADVANCEMENT, &BunnyHood, BUNNY_HOOD, Text{"Bunny Hood", "Oreilles de lapin", "Capucha de conejo", "Bunny Hood", "Masque de lapin", "Capucha de conejo", "Orecchie da coniglio", "Hasenohren"}); -// itemTable[GORON_MASK] = Item(ITEMTYPE_ITEM, GI_MASK_GORON, ITEMCLASS_ADVANCEMENT, &GoronMask, GORON_MASK, Text{"Goron Mask", "Masque Goron", "Máscara Goron", "Goron Mask", "Masque de Goron", "Máscara Goron", "Maschera Goron", "Goronen-Maske"}); -// itemTable[ZORA_MASK] = Item(ITEMTYPE_ITEM, GI_MASK_ZORA, ITEMCLASS_ADVANCEMENT, &ZoraMask, ZORA_MASK, Text{"Zora Mask", "Masque Zora", "Máscara Zora", "Zora Mask", "Masque de Zora", "Máscara Zora", "Maschera Zora", "Zora-Maske"}); -// itemTable[GERUDO_MASK] = Item(ITEMTYPE_ITEM, GI_MASK_GERUDO, ITEMCLASS_ADVANCEMENT, &GerudoMask, GERUDO_MASK, Text{"Gerudo Mask", "Masque Gerudo", "Máscara Gerudo", "Gerudo Mask", "Masque de Gerudo", "Máscara Gerudo", "Maschera Gerudo", "Gerudo-Maske"}); -// itemTable[MASK_OF_TRUTH] = Item(ITEMTYPE_ITEM, GI_MASK_MASK, ITEMCLASS_ADVANCEMENT, &MaskofTruth, MASK_OF_TRUTH, Text{"Mask of Truth", "Masque de vérité", "Máscara de la Verdad", "Maschera della verità", "Maske des Wissens"}); - itemTable[POCKET_EGG] = Item(ITEMTYPE_ITEM, GI_POCKET_EGG, ITEMCLASS_ADVANCEMENT, &PocketEgg, POCKET_EGG, Text{"Pocket Egg", "Œuf de poche", "Huevo de bolsillo", "Uovo tascabile", "Ei"}); -// itemTable[POCKET_CUCCO] = Item(ITEMTYPE_ITEM, GI_POCKET_CUCCO, ITEMCLASS_ADVANCEMENT, &PocketCucco, POCKET_CUCCO, Text{"Pocket Cucco", "Poulette de poche", "Cuco de bolsillo", "Pocket Cucco", "Cocotte de poche", "Cuco de bolsillo", "Coccò tascabile", "Kiki"}); - itemTable[COJIRO] = Item(ITEMTYPE_ITEM, GI_COJIRO, ITEMCLASS_ADVANCEMENT, &Cojiro, COJIRO, Text{"Cojiro", "P'tit Poulet", "Cojiro", "Coblù", "Henni"}); - itemTable[ODD_MUSHROOM] = Item(ITEMTYPE_ITEM, GI_ODD_MUSHROOM, ITEMCLASS_ADVANCEMENT, &OddMushroom, ODD_MUSHROOM, Text{"Odd Mushroom", "Champignon étrange", "Champiñón extraño", "Odd Mushroom", "Champignon suspect", "Champiñón extraño", "Fungo strano", "Schimmelpilz"}); - itemTable[ODD_POULTICE] = Item(ITEMTYPE_ITEM, GI_ODD_POTION, ITEMCLASS_ADVANCEMENT, &OddPoultice, ODD_POULTICE, Text{"Odd Poultice", "Mixture étrange", "Medicina rara", "Odd Poultice", "Mixture suspecte", "Medicina rara", "Medicina strana", "Moderpackung"}); - itemTable[POACHERS_SAW] = Item(ITEMTYPE_ITEM, GI_SAW, ITEMCLASS_ADVANCEMENT, &PoachersSaw, POACHERS_SAW, Text{"Poacher's Saw", "Scie du chasseur", "Sierra del furtivo", "Sega del bracconiere", "Säge"}); - itemTable[BROKEN_SWORD] = Item(ITEMTYPE_ITEM, GI_SWORD_BROKEN, ITEMCLASS_ADVANCEMENT, &BrokenSword, BROKEN_SWORD, Text{"Broken Goron's Sword", "Épée Goron brisée", "Espada goron rota", "Spada rotta dei Goron", "Zerbrochenes Goronen-Schwert"}); - itemTable[PRESCRIPTION] = Item(ITEMTYPE_ITEM, GI_PERSCRIPTION, ITEMCLASS_ADVANCEMENT, &Prescription, PRESCRIPTION, Text{"Prescription", "Ordonnance", "Receta", "Ricetta", "Rezept"}); - itemTable[EYEBALL_FROG] = Item(ITEMTYPE_ITEM, GI_FROG, ITEMCLASS_ADVANCEMENT, &EyeballFrog, EYEBALL_FROG, Text{"Eyeball Frog", "Crapaud-qui-louche", "Rana de ojos saltones", "Rana occhiuta", "Glotzfrosch"}); - itemTable[EYEDROPS] = Item(ITEMTYPE_ITEM, GI_EYEDROPS, ITEMCLASS_ADVANCEMENT, &Eyedrops, EYEDROPS, Text{"World's Finest Eyedrops", "Supergouttes", "Supergotas oculares", "World's Finest Eyedrops", "Super gouttes", "Supergotas oculares", "Miglior collirio del mondo", "Augentropfen"}); - itemTable[CLAIM_CHECK] = Item(ITEMTYPE_ITEM, GI_CLAIM_CHECK, ITEMCLASS_ADVANCEMENT, &ClaimCheck, CLAIM_CHECK, Text{"Claim Check", "Certificat", "Recibo", "Buono", "Zertifikat"}); - - itemTable[GOLD_SKULLTULA_TOKEN] = Item(ITEMTYPE_TOKEN, GI_SKULL_TOKEN, ITEMCLASS_ADVANCEMENT, &GoldSkulltulaTokens, GOLD_SKULLTULA_TOKEN, Text{"Gold Skulltula Token", "Jeton de Skulltula dorée", "Símbolo de skulltula dorada", "Gold Skulltula Token", "Crâne d'or", "Símbolo de skulltula dorada", "Teschio d'oro", "Skulltula-Symbol"}); - - // Progression Items - itemTable[PROGRESSIVE_HOOKSHOT] = Item(ITEMTYPE_ITEM, 0x80, ITEMCLASS_ADVANCEMENT, &ProgressiveHookshot, PROGRESSIVE_HOOKSHOT, Text{"Progressive Hookshot", "Grappin (prog.)", "Gancho progresivo", "Arpione progressivo", "Fanghaken Aufwertung"}); - itemTable[PROGRESSIVE_STRENGTH] = Item(ITEMTYPE_ITEM, 0x81, ITEMCLASS_ADVANCEMENT, &ProgressiveStrength, PROGRESSIVE_STRENGTH, Text{"Progressive Strength Upgrade", "Amélioration de force (prog.)", "Fuerza progresiva", "Potenziamento di forza progressivo", "Stärke Aufwertung"}); - itemTable[PROGRESSIVE_BOMB_BAG] = Item(ITEMTYPE_ITEM, 0x82, ITEMCLASS_ADVANCEMENT, &ProgressiveBombBag, PROGRESSIVE_BOMB_BAG, Text{"Progressive Bomb Bag", "Sac de bombes (prog.)", "Saco de bombas progresivo", "Portabombe progressivo", "Bombentaschen Aufwertung"}); - itemTable[PROGRESSIVE_BOW] = Item(ITEMTYPE_ITEM, 0x83, ITEMCLASS_ADVANCEMENT, &ProgressiveBow, PROGRESSIVE_BOW, Text{"Progressive Bow", "Arc (prog.)", "Arco progresivo", "Arco progressivo", "Bogen Aufwertung"}); - itemTable[PROGRESSIVE_SLINGSHOT] = Item(ITEMTYPE_ITEM, 0x84, ITEMCLASS_ADVANCEMENT, &ProgressiveBulletBag, PROGRESSIVE_SLINGSHOT, Text{"Progressive Slingshot", "Lance-pierre (prog.)", "Resortera progresiva", "Fionda progressiva", "Schleuder Aufwertung"}); - itemTable[PROGRESSIVE_WALLET] = Item(ITEMTYPE_ITEM, 0x85, ITEMCLASS_ADVANCEMENT, &ProgressiveWallet, PROGRESSIVE_WALLET, Text{"Progressive Wallet", "Bourse (prog.)", "Bolsa de rupias progresiva", "Portarupie progressivo", "Geldbörsen Aufwertung"}); - itemTable[PROGRESSIVE_SCALE] = Item(ITEMTYPE_ITEM, 0x86, ITEMCLASS_ADVANCEMENT, &ProgressiveScale, PROGRESSIVE_SCALE, Text{"Progressive Scale", "Écaille (prog.)", "Escama progresiva", "Squama progressiva", "Zora-Schuppen Aufwertung"}); - itemTable[PROGRESSIVE_NUT_UPGRADE] = Item(ITEMTYPE_ITEM, 0x87, ITEMCLASS_NONE, &noVariable, PROGRESSIVE_NUT_UPGRADE, Text{"Progressive Nut Capacity", "Capacité de noix (prog.)", "Capacidad de nueces deku progresiva", "Espansione per noci Deku progressiva", "Nuss-Kapazität Aufwertung"}); - itemTable[PROGRESSIVE_STICK_UPGRADE] = Item(ITEMTYPE_ITEM, 0x88, ITEMCLASS_NONE, &noVariable, PROGRESSIVE_STICK_UPGRADE, Text{"Progressive Stick Capacity", "Capacité de bâtons (prog.)", "Capacidad de palos deku progresiva", "Espansione per rami Deku progressiva", "Stab-Kapazität Aufwertung"}); - itemTable[PROGRESSIVE_BOMBCHUS] = Item(ITEMTYPE_ITEM, 0x89, ITEMCLASS_ADVANCEMENT, &Bombchus, PROGRESSIVE_BOMBCHUS, Text{"Progressive Bombchu", "Bombchus (prog.)", "Bombchus progresivos", "Progressive Bombchu", "Missiles teigneux (prog.)", "Bombchus progresivos", "Radiomine progressive", "Krabbelminen Aufwertung"}); - itemTable[PROGRESSIVE_MAGIC_METER] = Item(ITEMTYPE_ITEM, 0x8A, ITEMCLASS_ADVANCEMENT, &ProgressiveMagic, PROGRESSIVE_MAGIC_METER, Text{"Progressive Magic Meter", "Jauge de magie (prog.)", "Poder mágico progresivo", "Barra della magia progressiva", "Magische Kraft Aufwertung"}); - itemTable[PROGRESSIVE_OCARINA] = Item(ITEMTYPE_ITEM, 0x8B, ITEMCLASS_ADVANCEMENT, &ProgressiveOcarina, PROGRESSIVE_OCARINA, Text{"Progressive Ocarina", "Ocarina (prog.)", "Ocarina progresiva", "Ocarina progressiva", "Okarina Aufwertung"}); - itemTable[PROGRESSIVE_GORONSWORD] = Item(ITEMTYPE_ITEM, 0xD4, ITEMCLASS_ADVANCEMENT, &ProgressiveGiantKnife, PROGRESSIVE_GORONSWORD, Text{"Progressive Goron Sword", "Épée Goron (prog.)", "Espada Goron progresiva", "Spada Goron progressiva", "Goronen-Schwert Aufwertung"}); - - // Bottles - itemTable[EMPTY_BOTTLE] = Item(ITEMTYPE_ITEM, 0x0F, ITEMCLASS_ADVANCEMENT, &Bottles, EMPTY_BOTTLE, Text{"Empty Bottle", "Flacon vide", "Botella vacía", "Ampolla", "Leere Flasche"}); - itemTable[BOTTLE_WITH_RED_POTION] = Item(ITEMTYPE_ITEM, 0x8C, ITEMCLASS_ADVANCEMENT, &Bottles, BOTTLE_WITH_RED_POTION, Text{"Bottle with Red Potion", "Flacon de potion rouge", "Botella de poción roja", "Ampolla di pozione vita", "Flasche (Rotes Elixier)"}); - itemTable[BOTTLE_WITH_MILK] = Item(ITEMTYPE_ITEM, 0x14, ITEMCLASS_ADVANCEMENT, &Bottles, BOTTLE_WITH_MILK, Text{"Bottle with Milk", "Flacon de lait", "Botella de leche Lon Lon", "Ampolla di latte Lon Lon", "Flasche (Lon Lon-Milch)"}); - itemTable[BOTTLE_WITH_GREEN_POTION] = Item(ITEMTYPE_ITEM, 0x8D, ITEMCLASS_ADVANCEMENT, &Bottles, BOTTLE_WITH_GREEN_POTION, Text{"Bottle with Green Potion", "Flacon de potion verte", "Botella de poción verde", "Ampolla di pozione magica", "Flasche (Grünes Elixier)"}); - itemTable[BOTTLE_WITH_BLUE_POTION] = Item(ITEMTYPE_ITEM, 0x8E, ITEMCLASS_ADVANCEMENT, &Bottles, BOTTLE_WITH_BLUE_POTION, Text{"Bottle with Blue Potion", "Flacon de potion bleue", "Botella de poción azul", "Ampolla di pozione curatutto", "Flasche (Blaues Elixier)"}); - itemTable[BOTTLE_WITH_FAIRY] = Item(ITEMTYPE_ITEM, 0x8F, ITEMCLASS_ADVANCEMENT, &Bottles, BOTTLE_WITH_FAIRY, Text{"Bottle with Fairy", "Fée en flacon", "Hada en una botella", "Fata in un'ampolla", "Flasche (Fee)"}); - itemTable[BOTTLE_WITH_FISH] = Item(ITEMTYPE_ITEM, 0x90, ITEMCLASS_ADVANCEMENT, &Bottles, BOTTLE_WITH_FISH, Text{"Bottle with Fish", "Flacon avec un poisson", "Pez en una botella", "Pesce in un'ampolla", "Flasche (Fisch)"}); - itemTable[BOTTLE_WITH_BLUE_FIRE] = Item(ITEMTYPE_ITEM, 0x91, ITEMCLASS_ADVANCEMENT, &Bottles, BOTTLE_WITH_BLUE_FIRE, Text{"Bottle with Blue Fire", "Flacon de flamme bleue", "Botella de fuego azul", "Ampolla di fuoco blu", "Flasche (Blaues Feuer)"}); - itemTable[BOTTLE_WITH_BUGS] = Item(ITEMTYPE_ITEM, 0x92, ITEMCLASS_ADVANCEMENT, &Bottles, BOTTLE_WITH_BUGS, Text{"Bottle with Bugs", "Insecte en flacon", "Insecto en una botella", "Insetto in un'ampolla", "Flasche (Käfer)"}); - itemTable[BOTTLE_WITH_POE] = Item(ITEMTYPE_ITEM, 0x94, ITEMCLASS_ADVANCEMENT, &Bottles, BOTTLE_WITH_POE, Text{"Bottle with Poe", "Esprit en flacon", "Poe en una botella", "Bottle with Poe", "Spectre en flacon", "Poe en una botella", "Poo in un'ampolla", "Flasche (Irrlicht)"}); - - // Special bottles that can't immediately dump contents - itemTable[RUTOS_LETTER] = Item(ITEMTYPE_ITEM, 0x15, ITEMCLASS_ADVANCEMENT, &RutosLetter, RUTOS_LETTER, Text{"Bottle with Ruto's Letter", "Flacon avec une lettre", "Carta de Ruto", "Lettera in un'ampolla", "Flasche (Rutos Brief)"}); - itemTable[BOTTLE_WITH_BIG_POE] = Item(ITEMTYPE_ITEM, 0x93, ITEMCLASS_ADVANCEMENT, &BottleWithBigPoe, BOTTLE_WITH_BIG_POE, Text{"Bottle with Big Poe", "Grand esprit en flacon", "Gran Poe en una botella", "Bottle with Big Poe", "Âme en flacon", "Gran Poe en una botella", "Grande Poo in un'ampolla", "Flasche (Nachtschwärmer)"}); - - // Songs - itemTable[ZELDAS_LULLABY] = Item(ITEMTYPE_SONG, 0xC1, ITEMCLASS_ADVANCEMENT, &ZeldasLullaby_item, ZELDAS_LULLABY, Text{"Zelda's Lullaby", "Berceuse de Zelda", "Nana de Zelda", "Ninna nanna di Zelda", "Zeldas Wiegenlied"}); - itemTable[EPONAS_SONG] = Item(ITEMTYPE_SONG, 0xC2, ITEMCLASS_ADVANCEMENT, &EponasSong_item, EPONAS_SONG, Text{"Epona's Song", "Chant d'Épona", "Canción de Epona", "Canzone di Epona", "Eponas Lied"}); - itemTable[SARIAS_SONG] = Item(ITEMTYPE_SONG, 0xC3, ITEMCLASS_ADVANCEMENT, &SariasSong_item, SARIAS_SONG, Text{"Saria's Song", "Chant de Saria", "Canción de Saria", "Canzone di Saria", "Salias Lied"}); - itemTable[SUNS_SONG] = Item(ITEMTYPE_SONG, 0xC4, ITEMCLASS_ADVANCEMENT, &SunsSong_item, SUNS_SONG, Text{"Sun's Song", "Chant du soleil", "Canción del Sol", "Canto del sole", "Hymne der Sonne"}); - itemTable[SONG_OF_TIME] = Item(ITEMTYPE_SONG, 0xC5, ITEMCLASS_ADVANCEMENT, &SongOfTime_item, SONG_OF_TIME, Text{"Song of Time", "Chant du temps", "Canción del tiempo", "Canzone del tempo", "Hymne der Zeit"}); - itemTable[SONG_OF_STORMS] = Item(ITEMTYPE_SONG, 0xC6, ITEMCLASS_ADVANCEMENT, &SongOfStorms_item, SONG_OF_STORMS, Text{"Song of Storms", "Chant des tempêtes", "Canción de la tormenta", "Canzone della tempesta", "Hymne des Sturms"}); - itemTable[MINUET_OF_FOREST] = Item(ITEMTYPE_SONG, 0xBB, ITEMCLASS_ADVANCEMENT, &MinuetOfForest_item, MINUET_OF_FOREST, Text{"Minuet of Forest", "Menuet de la forêt", "Minueto del bosque", "Minuetto della foresta", "Menuett des Waldes"}); - itemTable[BOLERO_OF_FIRE] = Item(ITEMTYPE_SONG, 0xBC, ITEMCLASS_ADVANCEMENT, &BoleroOfFire_item, BOLERO_OF_FIRE, Text{"Bolero of Fire", "Boléro du feu", "Bolero del fuego", "Bolero del fuoco", "Bolero des Feuers"}); - itemTable[SERENADE_OF_WATER] = Item(ITEMTYPE_SONG, 0xBD, ITEMCLASS_ADVANCEMENT, &SerenadeOfWater_item, SERENADE_OF_WATER, Text{"Serenade of Water", "Sérénade de l'eau", "Serenata del agua", "Serenata dell'acqua", "Serenade des Wassers"}); - itemTable[REQUIEM_OF_SPIRIT] = Item(ITEMTYPE_SONG, 0xBE, ITEMCLASS_ADVANCEMENT, &RequiemOfSpirit_item, REQUIEM_OF_SPIRIT, Text{"Requiem of Spirit", "Requiem des esprits", "Réquiem del espíritu", "Requiem dello spirito", "Requiem der Geister"}); - itemTable[NOCTURNE_OF_SHADOW] = Item(ITEMTYPE_SONG, 0xBF, ITEMCLASS_ADVANCEMENT, &NocturneOfShadow_item, NOCTURNE_OF_SHADOW, Text{"Nocturne of Shadow", "Nocturne de l'ombre", "Nocturno de la sombra", "Notturno delle ombre", "Nocturne des Schattens"}); - itemTable[PRELUDE_OF_LIGHT] = Item(ITEMTYPE_SONG, 0xC0, ITEMCLASS_ADVANCEMENT, &PreludeOfLight_item, PRELUDE_OF_LIGHT, Text{"Prelude of Light", "Prélude de la lumière", "Preludio de la luz", "Preludio della luce", "Kantate des Lichts"}); - - // Maps and Compasses - itemTable[DEKU_TREE_MAP] = Item(ITEMTYPE_MAP, 0xA5, ITEMCLASS_NONE, &noVariable, DEKU_TREE_MAP, Text{"Great Deku Tree Map", "Carte de l'arbre Mojo", "Mapa del Gran Árbol Deku", "Mappa del Grande Albero Deku", "Labyrinth-Karte des Deku-Baumes"}); - itemTable[DODONGOS_CAVERN_MAP] = Item(ITEMTYPE_MAP, 0xA6, ITEMCLASS_NONE, &noVariable, DODONGOS_CAVERN_MAP, Text{"Dodongo's Cavern Map", "Carte de la grotte Dodongo", "Mapa de la Cueva de los Dodongos", "Mappa della caverna dei Dodongo", "Labyrinth-Karte von Dodongos Höhle"}); - itemTable[JABU_JABUS_BELLY_MAP] = Item(ITEMTYPE_MAP, 0xA7, ITEMCLASS_NONE, &noVariable, JABU_JABUS_BELLY_MAP, Text{"Jabu-Jabu's Belly Map", "Carte de Jabu-Jabu", "Mapa de la tripa de Jabu-Jabu", "Mappa della pancia di Jabu Jabu", "Labyrinth-Karte von Jabu-Jabus Bauch"}); - itemTable[FOREST_TEMPLE_MAP] = Item(ITEMTYPE_MAP, 0xA8, ITEMCLASS_NONE, &noVariable, FOREST_TEMPLE_MAP, Text{"Forest Temple Map", "Carte du temple de la forêt", "Mapa del Templo del Bosque", "Mappa del Santuario della Foresta", "Labyrinth-Karte des Waldtempels"}); - itemTable[FIRE_TEMPLE_MAP] = Item(ITEMTYPE_MAP, 0xA9, ITEMCLASS_NONE, &noVariable, FIRE_TEMPLE_MAP, Text{"Fire Temple Map", "Carte du temple du feu", "Mapa del Templo del Fuego", "Mappa del Santuario del Fuoco", "Labyrinth-Karte des Feuertempels"}); - itemTable[WATER_TEMPLE_MAP] = Item(ITEMTYPE_MAP, 0xAA, ITEMCLASS_NONE, &noVariable, WATER_TEMPLE_MAP, Text{"Water Temple Map", "Carte du temple de l'eau", "Mapa del Templo del Agua", "Mappa del Santuario dell'Acqua", "Labyrinth-Karte des Wassertempels"}); - itemTable[SPIRIT_TEMPLE_MAP] = Item(ITEMTYPE_MAP, 0xAB, ITEMCLASS_NONE, &noVariable, SPIRIT_TEMPLE_MAP, Text{"Spirit Temple Map", "Carte du temple de l'esprit", "Mapa del Templo del Espíritu", "Mappa del Santuario dello Spirito", "Labyrinth-Karte des Geistertempels"}); - itemTable[SHADOW_TEMPLE_MAP] = Item(ITEMTYPE_MAP, 0xAC, ITEMCLASS_NONE, &noVariable, SHADOW_TEMPLE_MAP, Text{"Shadow Temple Map", "Carte du temple de l'ombre", "Mapa del Templo de la Sombra", "Mappa del Santuario dell'Ombra", "Labyrinth-Karte des Schattentempels"}); - itemTable[BOTTOM_OF_THE_WELL_MAP] = Item(ITEMTYPE_MAP, 0xAD, ITEMCLASS_NONE, &noVariable, BOTTOM_OF_THE_WELL_MAP, Text{"Bottom of the Well Map", "Carte du fond du puits", "Mapa del fondo del pozo", "Mappa del fondo del pozzo", "Labyrinth-Karte vom Grund des Brunnens"}); - itemTable[ICE_CAVERN_MAP] = Item(ITEMTYPE_MAP, 0xAE, ITEMCLASS_NONE, &noVariable, ICE_CAVERN_MAP, Text{"Ice Cavern Map", "Carte de la caverne polaire", "Mapa de la caverna de hielo", "Mappa della caverna di ghiaccio", "Labyrinth-Karte der Eishöhle"}); - - itemTable[DEKU_TREE_COMPASS] = Item(ITEMTYPE_COMPASS, 0x9B, ITEMCLASS_NONE, &noVariable, DEKU_TREE_COMPASS, Text{"Great Deku Tree Compass", "Boussole de l'arbre Mojo", "Brújula del Gran Árbol Deku", "Bussola del Grande Albero Deku", "Kompass des Deku-Baumes"}); - itemTable[DODONGOS_CAVERN_COMPASS] = Item(ITEMTYPE_COMPASS, 0x9C, ITEMCLASS_NONE, &noVariable, DODONGOS_CAVERN_COMPASS, Text{"Dodongo's Cavern Compass", "Boussole de la grotte Dodongo", "Brújula de la Cueva de los Dodongos", "Bussola della caverna dei Dodongo", "Kompass von Dodongos Höhle"}); - itemTable[JABU_JABUS_BELLY_COMPASS] = Item(ITEMTYPE_COMPASS, 0x9D, ITEMCLASS_NONE, &noVariable, JABU_JABUS_BELLY_COMPASS, Text{"Jabu-Jabu's Belly Compass", "Boussole de Jabu-Jabu", "Brújula de la tripa de Jabu-Jabu", "Bussola della pancia di Jabu Jabu", "Kompass von Jabu-Jabus Bauch"}); - itemTable[FOREST_TEMPLE_COMPASS] = Item(ITEMTYPE_COMPASS, 0x9E, ITEMCLASS_NONE, &noVariable, FOREST_TEMPLE_COMPASS, Text{"Forest Temple Compass", "Boussole du temple de la forêt", "Brújula del Templo del Bosque", "Bussola del Santuario della Foresta", "Kompass des Waldtempels"}); - itemTable[FIRE_TEMPLE_COMPASS] = Item(ITEMTYPE_COMPASS, 0x9F, ITEMCLASS_NONE, &noVariable, FIRE_TEMPLE_COMPASS, Text{"Fire Temple Compass", "Boussole du temple du feu", "Brújula del Templo del Fuego", "Bussola del Santuario del Fuoco", "Kompass des Feuertempels"}); - itemTable[WATER_TEMPLE_COMPASS] = Item(ITEMTYPE_COMPASS, 0xA0, ITEMCLASS_NONE, &noVariable, WATER_TEMPLE_COMPASS, Text{"Water Temple Compass", "Boussole du temple de l'eau", "Brújula del Templo del Agua", "Bussola del Santuario dell'Acqua", "Kompass des Wassertempels"}); - itemTable[SPIRIT_TEMPLE_COMPASS] = Item(ITEMTYPE_COMPASS, 0xA1, ITEMCLASS_NONE, &noVariable, SPIRIT_TEMPLE_COMPASS, Text{"Spirit Temple Compass", "Boussole du temple de l'esprit", "Brújula del Templo del Espíritu", "Bussola del Santuario dello Spirito", "Kompass des Geistertempels"}); - itemTable[SHADOW_TEMPLE_COMPASS] = Item(ITEMTYPE_COMPASS, 0xA2, ITEMCLASS_NONE, &noVariable, SHADOW_TEMPLE_COMPASS, Text{"Shadow Temple Compass", "Boussole du temple de l'ombre", "Brújula del Templo de las Sombras", "Bussola del Santuario dell'Ombra", "Kompass des Schattentempels"}); - itemTable[BOTTOM_OF_THE_WELL_COMPASS] = Item(ITEMTYPE_COMPASS, 0xA3, ITEMCLASS_NONE, &noVariable, BOTTOM_OF_THE_WELL_COMPASS, Text{"Bottom of the Well Compass", "Boussole du fond du puits", "Brújula del fondo del pozo", "Bussola del fondo del pozzo", "Kompass vom Grund des Brunnens"}); - itemTable[ICE_CAVERN_COMPASS] = Item(ITEMTYPE_COMPASS, 0xA4, ITEMCLASS_NONE, &noVariable, ICE_CAVERN_COMPASS, Text{"Ice Cavern Compass", "Boussole de la caverne polaire", "Brújula de la caverna de hielo", "Bussola della caverna di ghiaccio", "Kompass der Eishöhle"}); - - // Boss Keys - itemTable[FOREST_TEMPLE_BOSS_KEY] = Item(ITEMTYPE_BOSSKEY, 0x95, ITEMCLASS_ADVANCEMENT, &BossKeyForestTemple, FOREST_TEMPLE_BOSS_KEY, Text{"Forest Temple Big Key", "Grande clé du temple de la forêt", "Gran llave del Templo del Bosque", "Forest Temple Big Key", "Clé d'or du temple de la forêt", "Gran llave del Templo del Bosque", "Grande chiave del Santuario della Foresta","Master-Schlüssel des Waldtempels"}); - itemTable[FIRE_TEMPLE_BOSS_KEY] = Item(ITEMTYPE_BOSSKEY, 0x96, ITEMCLASS_ADVANCEMENT, &BossKeyFireTemple, FIRE_TEMPLE_BOSS_KEY, Text{"Fire Temple Big Key", "Grande clé du temple du feu", "Gran llave del Templo del Fuego", "Fire Temple Big Key", "Clé d'or du temple du feu", "Gran llave del Templo del Fuego", "Grande chiave del Santuario del Fuoco", "Master-Schlüssel des Feuertempels"}); - itemTable[WATER_TEMPLE_BOSS_KEY] = Item(ITEMTYPE_BOSSKEY, 0x97, ITEMCLASS_ADVANCEMENT, &BossKeyWaterTemple, WATER_TEMPLE_BOSS_KEY, Text{"Water Temple Big Key", "Grande clé du temple de l'eau", "Gran llave del Templo del Agua", "Water Temple Big Key", "Clé d'or du temple de l'eau", "Gran llave del Templo del Agua", "Grande chiave del Santuario dell'Acqua", "Master-Schlüssel des Wassertempels"}); - itemTable[SPIRIT_TEMPLE_BOSS_KEY] = Item(ITEMTYPE_BOSSKEY, 0x98, ITEMCLASS_ADVANCEMENT, &BossKeySpiritTemple, SPIRIT_TEMPLE_BOSS_KEY, Text{"Spirit Temple Big Key", "Grande clé du temple de l'esprit", "Gran llave del Templo del Espíritu", "Spirit Temple Big Key", "Clé d'or du temple de l'esprit", "Gran llave del Templo del Espíritu", "Grande chiave del Santuario dello Spirito","Master-Schlüssel des Geistertempels"}); - itemTable[SHADOW_TEMPLE_BOSS_KEY] = Item(ITEMTYPE_BOSSKEY, 0x99, ITEMCLASS_ADVANCEMENT, &BossKeyShadowTemple, SHADOW_TEMPLE_BOSS_KEY, Text{"Shadow Temple Big Key", "Grande clé du temple de l'ombre", "Gran llave del Templo de las Sombras", "Shadow Temple Big Key", "Clé d'or du temple de l'ombre", "Gran llave del Templo de las Sombras", "Grande chiave del Santuario dell'Ombra", "Master-Schlüssel des Schattentempels"}); - itemTable[GANONS_CASTLE_BOSS_KEY] = Item(ITEMTYPE_BOSSKEY, 0x9A, ITEMCLASS_ADVANCEMENT, &BossKeyGanonsCastle, GANONS_CASTLE_BOSS_KEY, Text{"Ganon's Castle Big Key", "Grande clé du château de Ganon", "Gran llave del Castillo de Ganon", "Ganon's Castle Big Key", "Clé d'or du château de Ganon", "Gran llave del Castillo de Ganon", "Grande chiave del castello di Ganon", "Master-Schlüssel von Ganons Schloss"}); +std::array itemTable; - // Small Keys - itemTable[FOREST_TEMPLE_SMALL_KEY] = Item(ITEMTYPE_SMALLKEY, 0xAF, ITEMCLASS_ADVANCEMENT, &ForestTempleKeys, FOREST_TEMPLE_SMALL_KEY, Text{smallKeyStringForest, "Petite clé du temple de la forêt", "Llave del Templo del Bosque", "Chiave del Santuario della Foresta", "Kleiner Schlüssel des Waldtempels"}); - itemTable[FIRE_TEMPLE_SMALL_KEY] = Item(ITEMTYPE_SMALLKEY, 0xB0, ITEMCLASS_ADVANCEMENT, &FireTempleKeys, FIRE_TEMPLE_SMALL_KEY, Text{smallKeyStringFire, "Petite clé du temple du feu", "Llave del Templo del Fuego", "Chiave del Santuario del Fuoco", "Kleiner Schlüssel des Feuertempels"}); - itemTable[WATER_TEMPLE_SMALL_KEY] = Item(ITEMTYPE_SMALLKEY, 0xB1, ITEMCLASS_ADVANCEMENT, &WaterTempleKeys, WATER_TEMPLE_SMALL_KEY, Text{smallKeyStringWater, "Petite clé du temple de l'eau", "Llave del Templo del Agua", "Chiave del Santuario dell'Acqua", "Kleiner Schlüssel des Wassertempels"}); - itemTable[SPIRIT_TEMPLE_SMALL_KEY] = Item(ITEMTYPE_SMALLKEY, 0xB2, ITEMCLASS_ADVANCEMENT, &SpiritTempleKeys, SPIRIT_TEMPLE_SMALL_KEY, Text{smallKeyStringSpirit, "Petite clé du temple de l'esprit", "Llave del Templo del Espíritu", "Chiave del Santuario dello Spirito", "Kleiner Schlüssel des Geistertempels"}); - itemTable[SHADOW_TEMPLE_SMALL_KEY] = Item(ITEMTYPE_SMALLKEY, 0xB3, ITEMCLASS_ADVANCEMENT, &ShadowTempleKeys, SHADOW_TEMPLE_SMALL_KEY, Text{smallKeyStringShadow, "Petite clé du temple de l'ombre", "Llave del Templo de las Sombras", "Chiave del Santuario dell'Ombra", "Kleiner Schlüssel des Schattentempels"}); - itemTable[BOTTOM_OF_THE_WELL_SMALL_KEY] = Item(ITEMTYPE_SMALLKEY, 0xB4, ITEMCLASS_ADVANCEMENT, &BottomOfTheWellKeys, BOTTOM_OF_THE_WELL_SMALL_KEY, Text{smallKeyStringBotW, "Petite clé du fond du puits", "Llave del fondo del pozo", "Chiave del fondo del pozzo", "Kleiner Schlüssel vom Grund des Brunnens"}); - itemTable[GERUDO_TRAINING_GROUNDS_SMALL_KEY] = Item(ITEMTYPE_SMALLKEY, 0xB5, ITEMCLASS_ADVANCEMENT, &GerudoTrainingGroundsKeys, GERUDO_TRAINING_GROUNDS_SMALL_KEY, Text{smallKeyStringGTG, "Petite clé du gymnase Gerudo", "Llave del Centro de Instrucción", "Chiave della zona di addestramento", "Kleiner Schlüssel der Gerudo Trainingsarena"}); - itemTable[GERUDO_FORTRESS_SMALL_KEY] = Item(ITEMTYPE_FORTRESS_SMALLKEY, 0xB6, ITEMCLASS_ADVANCEMENT, &GerudoFortressKeys, GERUDO_FORTRESS_SMALL_KEY, Text{smallKeyStringHideout, "Petite clé du repaire Gerudo", "Llave de la Fortaleza Gerudo", "Chiave della fortezza Gerudo", "Kleiner Schlüssel des Diebesverstecks"}); - itemTable[GANONS_CASTLE_SMALL_KEY] = Item(ITEMTYPE_SMALLKEY, 0xB7, ITEMCLASS_ADVANCEMENT, &GanonsCastleKeys, GANONS_CASTLE_SMALL_KEY, Text{smallKeyStringGanon, "Petite clé du château de Ganon", "Llave del Castillo de Ganon", "Chiave del castello di Ganon", "Kleiner Schlüssel von Ganons Schloss"}); - itemTable[TREASURE_GAME_SMALL_KEY] = Item(ITEMTYPE_ITEM, 0xDE, ITEMCLASS_ADVANCEMENT, &TreasureGameKeys, TREASURE_GAME_SMALL_KEY, Text{smallKeyStringGame, "Clé de la chasse aux trésors", "Llave del Cofre del Tesoro", "Chiave della sala della fortuna", "Kleiner Schlüssel der Truhenlotterie"}); - - // Key Rings - itemTable[FOREST_TEMPLE_KEY_RING] = Item(ITEMTYPE_SMALLKEY, 0xD5, ITEMCLASS_ADVANCEMENT, &ForestTempleKeys, FOREST_TEMPLE_KEY_RING, Text{keyRingStringForest, "Trousseau du temple de la forêt", "Llavero del Templo del Bosque", "Chiavi del Santuario della Foresta", "Schlüsselbund des Waldtempels"}); - itemTable[FIRE_TEMPLE_KEY_RING] = Item(ITEMTYPE_SMALLKEY, 0xD6, ITEMCLASS_ADVANCEMENT, &FireTempleKeys, FIRE_TEMPLE_KEY_RING, Text{keyRingStringFire, "Trousseau du temple du feu", "Llavero del Templo del Fuego", "Chiavi del Santuario del Fuoco", "Schlüsselbund des Feuertempels"}); - itemTable[WATER_TEMPLE_KEY_RING] = Item(ITEMTYPE_SMALLKEY, 0xD7, ITEMCLASS_ADVANCEMENT, &WaterTempleKeys, WATER_TEMPLE_KEY_RING, Text{keyRingStringWater, "Trousseau du temple de l'eau", "Llavero del Templo del Agua", "Chiavi del Santuario dell'Acqua", "Schlüsselbund des Wassertempels"}); - itemTable[SPIRIT_TEMPLE_KEY_RING] = Item(ITEMTYPE_SMALLKEY, 0xD8, ITEMCLASS_ADVANCEMENT, &SpiritTempleKeys, SPIRIT_TEMPLE_KEY_RING, Text{keyRingStringSpirit, "Trousseau du temple de l'esprit", "Llavero del Templo del Espíritu", "Chiavi del Santuario dello Spirito", "Schlüsselbund des Geistertempels"}); - itemTable[SHADOW_TEMPLE_KEY_RING] = Item(ITEMTYPE_SMALLKEY, 0xD9, ITEMCLASS_ADVANCEMENT, &ShadowTempleKeys, SHADOW_TEMPLE_KEY_RING, Text{keyRingStringShadow, "Trousseau du temple de l'ombre", "Llavero del Templo de las Sombras", "Chiavi del Santuario dell'Ombra", "Schlüsselbund des Schattentempels"}); - itemTable[BOTTOM_OF_THE_WELL_KEY_RING] = Item(ITEMTYPE_SMALLKEY, 0xDA, ITEMCLASS_ADVANCEMENT, &BottomOfTheWellKeys, BOTTOM_OF_THE_WELL_KEY_RING, Text{keyRingStringBotW, "Trousseau du fond du puits", "Llavero del fondo del pozo", "Chiavi del fondo del pozzo", "Schlüsselbund vom Grund des Brunnens"}); - itemTable[GERUDO_TRAINING_GROUNDS_KEY_RING] = Item(ITEMTYPE_SMALLKEY, 0xDB, ITEMCLASS_ADVANCEMENT, &GerudoTrainingGroundsKeys, GERUDO_TRAINING_GROUNDS_KEY_RING, Text{keyRingStringGTG, "Trousseau du gymnase Gerudo", "Llavero del Centro de Instrucción", "Chiavi della zona di addestramento", "Schlüsselbund der Gerudo Trainingsarena"}); - itemTable[GERUDO_FORTRESS_KEY_RING] = Item(ITEMTYPE_FORTRESS_SMALLKEY, 0xDC, ITEMCLASS_ADVANCEMENT, &GerudoFortressKeys, GERUDO_FORTRESS_KEY_RING, Text{keyRingStringHideout, "Trousseau du repaire Gerudo", "Llavero de la Fortaleza Gerudo", "Chiavi della fortezza Gerudo", "Schlüsselbund des Diebesverstecks"}); - itemTable[GANONS_CASTLE_KEY_RING] = Item(ITEMTYPE_SMALLKEY, 0xDD, ITEMCLASS_ADVANCEMENT, &GanonsCastleKeys, GANONS_CASTLE_KEY_RING, Text{keyRingStringGanon, "Trousseau du château de Ganon", "Llavero del Castillo de Ganon", "Chiavi del castello di Ganon", "Schlüsselbund von Ganons Schloss"}); - - // Stones and Medallions - itemTable[KOKIRI_EMERALD] = Item(ITEMTYPE_DUNGEONREWARD, 0xCB, ITEMCLASS_ADVANCEMENT, &KokiriEmerald, KOKIRI_EMERALD, Text{"Kokiri's Emerald", "Émeraude Kokiri", "Esmeralda de los Kokiri", "Smeraldo dei Kokiri", "Kokiri-Smaragd"}); - itemTable[GORON_RUBY] = Item(ITEMTYPE_DUNGEONREWARD, 0xCC, ITEMCLASS_ADVANCEMENT, &GoronRuby, GORON_RUBY, Text{"Goron's Ruby", "Rubis Goron", "Rubí de los Goron", "Rubino dei Goron", "Goronen-Rubin"}); - itemTable[ZORA_SAPPHIRE] = Item(ITEMTYPE_DUNGEONREWARD, 0xCD, ITEMCLASS_ADVANCEMENT, &ZoraSapphire, ZORA_SAPPHIRE, Text{"Zora's Sapphire", "Saphir Zora", "Zafiro de los Zora", "Zaffiro degli Zora", "Zora-Saphir"}); - itemTable[FOREST_MEDALLION] = Item(ITEMTYPE_DUNGEONREWARD, 0xCE, ITEMCLASS_ADVANCEMENT, &ForestMedallion, FOREST_MEDALLION, Text{"Forest Medallion", "Médaillon de la forêt", "Medallón del Bosque", "Medaglione della Foresta", "Amulett des Waldes"}); - itemTable[FIRE_MEDALLION] = Item(ITEMTYPE_DUNGEONREWARD, 0xCF, ITEMCLASS_ADVANCEMENT, &FireMedallion, FIRE_MEDALLION, Text{"Fire Medallion", "Médaillon du feu", "Medallón del Fuego", "Medaglione del Fuoco", "Amulett des Feuers"}); - itemTable[WATER_MEDALLION] = Item(ITEMTYPE_DUNGEONREWARD, 0xD0, ITEMCLASS_ADVANCEMENT, &WaterMedallion, WATER_MEDALLION, Text{"Water Medallion", "Médaillon de l'eau", "Medallón del Agua", "Medaglione dell'Acqua", "Amulett des Wassers"}); - itemTable[SPIRIT_MEDALLION] = Item(ITEMTYPE_DUNGEONREWARD, 0xD1, ITEMCLASS_ADVANCEMENT, &SpiritMedallion, SPIRIT_MEDALLION, Text{"Spirit Medallion", "Médaillon de l'esprit", "Medallón del Espíritu", "Medaglione dello Spirito", "Amulett der Geister"}); - itemTable[SHADOW_MEDALLION] = Item(ITEMTYPE_DUNGEONREWARD, 0xD2, ITEMCLASS_ADVANCEMENT, &ShadowMedallion, SHADOW_MEDALLION, Text{"Shadow Medallion", "Médaillon de l'ombre", "Medallón de la Sombra", "Medaglione dell'Ombra", "Amulett des Schattens"}); - itemTable[LIGHT_MEDALLION] = Item(ITEMTYPE_DUNGEONREWARD, 0xD3, ITEMCLASS_ADVANCEMENT, &LightMedallion, LIGHT_MEDALLION, Text{"Light Medallion", "Médaillon de la lumière", "Medallón de la Luz", "Medaglione della Luce", "Amulett des Lichts"}); - - // Generic Items - itemTable[RECOVERY_HEART] = Item(ITEMTYPE_ITEM, GI_HEART, ITEMCLASS_JUNK, &noVariable, RECOVERY_HEART, Text{"Recovery Heart", "Cœur d'énergie", "Corazón", "Cuore", "Herz"}); - itemTable[GREEN_RUPEE] = Item(ITEMTYPE_ITEM, GI_RUPEE_GREEN, ITEMCLASS_JUNK, &noVariable, GREEN_RUPEE, Text{"Green Rupee", "Rubis vert", "Rupia verde", "Rupia verde", "Rubin"}); - itemTable[BLUE_RUPEE] = Item(ITEMTYPE_ITEM, GI_RUPEE_BLUE, ITEMCLASS_JUNK, &noVariable, BLUE_RUPEE, Text{"Blue Rupee", "Rubis bleu", "Rupia azul", "Rupia blu", "5 Rubine"}); - itemTable[RED_RUPEE] = Item(ITEMTYPE_ITEM, GI_RUPEE_RED, ITEMCLASS_JUNK, &noVariable, RED_RUPEE, Text{"Red Rupee", "Rubis rouge", "Rupia roja", "Rupia rossa", "20 Rubine"}); - itemTable[PURPLE_RUPEE] = Item(ITEMTYPE_ITEM, GI_RUPEE_PURPLE, ITEMCLASS_JUNK, &noVariable, PURPLE_RUPEE, Text{"Purple Rupee", "Rubis mauve", "Rupia morada", "Purple Rupee", "Rubis pourpre", "Rupia morada", "Rupia viola", "50 Rubine"}); - itemTable[HUGE_RUPEE] = Item(ITEMTYPE_ITEM, GI_RUPEE_GOLD, ITEMCLASS_JUNK, &noVariable, HUGE_RUPEE, Text{"Huge Rupee", "Énorme rubis", "Rupia gigante", "Rupia gigante", "200 Rubine"}); - itemTable[PIECE_OF_HEART] = Item(ITEMTYPE_ITEM, GI_HEART_PIECE, ITEMCLASS_ADVANCEMENT, &PieceOfHeart, PIECE_OF_HEART, Text{"Piece of Heart", "Quart de cœur", "Pieza de corazón", "Frammento di cuore", "Herzteil"}); - itemTable[HEART_CONTAINER] = Item(ITEMTYPE_ITEM, GI_HEART_CONTAINER_2, ITEMCLASS_ADVANCEMENT, &HeartContainer, HEART_CONTAINER, Text{"Heart Container", "Réceptacle de cœur", "Contenedor de corazón", "Portacuori", "Herzcontainer"}); - itemTable[ICE_TRAP] = Item(ITEMTYPE_ITEM, GI_ICE_TRAP, ITEMCLASS_JUNK, &noVariable, ICE_TRAP, Text{"Ice Trap", "Piège de glace", "Trampa de hielo", "Trappola", "Eisfalle"}); - itemTable[MILK] = Item(ITEMTYPE_ITEM, GI_MILK, ITEMCLASS_JUNK, &noVariable, NONE, Text{"Milk", "Lait", "Leche Lon Lon", "Latte Lon Lon", "Lon Lon-Milch"}); - - // Refills - itemTable[BOMBS_5] = Item(ITEMTYPE_REFILL, GI_BOMBS_5, ITEMCLASS_JUNK, &noVariable, BOMBS_5, Text{"Bombs (5)", "Bombes (5)", "Bombas (5)", "5 bombe", "Bomben (5 Stück)"}); - itemTable[BOMBS_10] = Item(ITEMTYPE_REFILL, GI_BOMBS_10, ITEMCLASS_JUNK, &noVariable, BOMBS_10, Text{"Bombs (10)", "Bombes (10)", "Bombas (10)", "10 bombe", "Bomben (10 Stück)"}); - itemTable[BOMBS_20] = Item(ITEMTYPE_REFILL, GI_BOMBS_20, ITEMCLASS_JUNK, &noVariable, BOMBS_20, Text{"Bombs (20)", "Bombes (20)", "Bombas (20)", "20 bombe", "Bomben (20 Stück)"}); - itemTable[BOMBCHU_5] = Item(ITEMTYPE_REFILL, GI_BOMBCHUS_5, ITEMCLASS_ADVANCEMENT, &Bombchus5, BOMBCHU_5, Text{"Bombchus (5)", "Bombchus (5)", "Bombchus (5)", "Bombchus (5)", "Missiles teigneux (5)", "Bombchus (5)", "5 radiomine", "Krabbelminen (5 Stück)"}); - itemTable[BOMBCHU_10] = Item(ITEMTYPE_REFILL, GI_BOMBCHUS_10, ITEMCLASS_ADVANCEMENT, &Bombchus10, BOMBCHU_10, Text{"Bombchus (10)", "Bombchus (10)", "Bombchus (10)", "Bombchus (10)", "Missiles teigneux (10)", "Bombchus (10)", "10 radiomine", "Krabbelminen (10 Stück)"}); - itemTable[BOMBCHU_20] = Item(ITEMTYPE_REFILL, GI_BOMBCHUS_20, ITEMCLASS_ADVANCEMENT, &Bombchus20, BOMBCHU_20, Text{"Bombchus (20)", "Bombchus (20)", "Bombchus (20)", "Bombchus (20)", "Missiles teigneux (20)", "Bombchus (20)", "20 radiomine", "Krabbelminen (20 Stück)"}); - itemTable[BOMBCHU_DROP] = Item(ITEMTYPE_DROP, GI_BOMBCHUS_10, ITEMCLASS_ADVANCEMENT, &BombchuDrop, NONE, Text{"Bombchu Drop", "Bombchus", "Bombchus", "Bombchu Drop", "Missiles teigneux", "Bombchus", "Drop di radiomine", "Krabbelminen"}); - itemTable[ARROWS_5] = Item(ITEMTYPE_REFILL, GI_ARROWS_SMALL, ITEMCLASS_JUNK, &noVariable, ARROWS_5, Text{"Arrows (5)", "Flèches (5)", "Flechas (5)", "5 frecce", "Pfeile (5 Stück)"}); - itemTable[ARROWS_10] = Item(ITEMTYPE_REFILL, GI_ARROWS_MEDIUM, ITEMCLASS_JUNK, &noVariable, ARROWS_10, Text{"Arrows (10)", "Flèches (10)", "Flechas (10)", "10 frecce", "Pfeile (10 Stück)"}); - itemTable[ARROWS_30] = Item(ITEMTYPE_REFILL, GI_ARROWS_LARGE, ITEMCLASS_JUNK, &noVariable, ARROWS_30, Text{"Arrows (30)", "Flèches (30)", "Flechas (30)", "30 frecce", "Pfeile (30 Stück)"}); - itemTable[DEKU_NUTS_5] = Item(ITEMTYPE_REFILL, GI_NUTS_5, ITEMCLASS_JUNK, &noVariable, DEKU_NUTS_5, Text{"Deku Nuts (5)", "Noix Mojo (5)", "Nueces deku (5)", "5 noci Deku", "Deku-Nüsse (5 Stück)"}); - itemTable[DEKU_NUTS_10] = Item(ITEMTYPE_REFILL, GI_NUTS_10, ITEMCLASS_JUNK, &noVariable, DEKU_NUTS_10, Text{"Deku Nuts (10)", "Noix Mojo (10)", "Nueces deku (10)", "10 noci Deku", "Deku-Nüsse (10 Stück)"}); - itemTable[DEKU_SEEDS_30] = Item(ITEMTYPE_REFILL, GI_SEEDS_30, ITEMCLASS_JUNK, &noVariable, DEKU_SEEDS_30, Text{"Deku Seeds (30)", "Graines Mojo (30)", "Semillas deku (30)", "30 semi Deku", "Deku-Kerne (30 Stück)"}); - itemTable[DEKU_STICK_1] = Item(ITEMTYPE_REFILL, GI_STICKS_1, ITEMCLASS_JUNK, &noVariable, DEKU_STICK_1, Text{"Deku Stick (1)", "Bâton Mojo (1)", "Palo deku (1)", "1 ramo Deku", "Deku-Stab (1 Stück)"}); - itemTable[RED_POTION_REFILL] = Item(ITEMTYPE_REFILL, GI_POTION_RED, ITEMCLASS_JUNK, &noVariable, NONE, Text{"Red Potion Refill", "Potion rouge", "Recarga de poción roja", "Dose di pozione vita", "Rotes Elixier"}); - itemTable[GREEN_POTION_REFILL] = Item(ITEMTYPE_REFILL, GI_POTION_GREEN, ITEMCLASS_JUNK, &noVariable, NONE, Text{"Green Potion Refill", "Potion verte", "Recarga de poción verde", "Dose di pozione magica", "Grünes Elixier"}); - itemTable[BLUE_POTION_REFILL] = Item(ITEMTYPE_REFILL, GI_POTION_BLUE, ITEMCLASS_JUNK, &noVariable, NONE, Text{"Blue Potion Refill", "Potion bleue", "Recarga de poción azul", "Dose di pozione curatutto", "Blaues Elixier"}); - - //Treasure Game - itemTable[TREASURE_GAME_HEART] = Item(ITEMTYPE_ITEM, GI_HEART_PIECE_WIN, ITEMCLASS_ADVANCEMENT, &PieceOfHeart, TREASURE_GAME_HEART, Text{"Piece of Heart (Treasure Chest Minigame)", "Quart de cœur (Chasse aux trésors)", "Pieza de corazón (Cofre del Tesoro)", "Frammento di cuore (sala della fortuna)", "Herzteil (Truhenlotterie)"}); - itemTable[TREASURE_GAME_GREEN_RUPEE] = Item(ITEMTYPE_ITEM, GI_RUPEE_GREEN_LOSE, ITEMCLASS_NONE, &noVariable, TREASURE_GAME_GREEN_RUPEE, Text{"Green Rupee (Treasure Chest Minigame)", "Rubis vert (Chasse aux trésors)", "Rupia Verde (Cofre del Tesoro)", "Rupia verde (sala della fortuna)", "Rubin (Truhenlotterie)"}); - - //Shop Items price - itemTable[BUY_DEKU_NUT_5] = Item(ITEMTYPE_SHOP, 0x00, ITEMCLASS_ADVANCEMENT, &Nuts, DEKU_NUTS_5, 15, Text{"Buy Deku Nut (5)", "Acheter: Noix Mojo (5)", "Comprar nueces deku (5)", "5 noci Deku in vendita", "Deku-Nüsse (5 Stück)"}); - itemTable[BUY_ARROWS_30] = Item(ITEMTYPE_SHOP, 0x01, ITEMCLASS_ADVANCEMENT, &BuyArrow, ARROWS_30, 60, Text{"Buy Arrows (30)", "Acheter: Flèches (30)", "Comprar flechas (30)", "30 frecce in vendita", "Pfeile (30 Stück)"}); - itemTable[BUY_ARROWS_50] = Item(ITEMTYPE_SHOP, 0x02, ITEMCLASS_ADVANCEMENT, &BuyArrow, ARROWS_30, 90, Text{"Buy Arrows (50)", "Acheter: Flèches (50)", "Comprar flechas (50)", "50 frecce in vendita", "Pfeile (50 Stück)"}); - itemTable[BUY_BOMBS_525] = Item(ITEMTYPE_SHOP, 0x03, ITEMCLASS_ADVANCEMENT, &BuyBomb, BOMBS_5, 25, Text{"Buy Bombs (5) [25]", "Acheter: Bombes (5) [25]", "Comprar bombas (5) [25]", "5 bombe in vendita [25]", "Bomben (5 Stück) [25]"}); - itemTable[BUY_DEKU_NUT_10] = Item(ITEMTYPE_SHOP, 0x04, ITEMCLASS_ADVANCEMENT, &Nuts, DEKU_NUTS_10, 30, Text{"Buy Deku Nut (10)", "Acheter: Noix Mojo (10)", "Comprar Nueces deku (10)", "10 noci Deku in vendita", "Deku-Nüsse (10 Stück)"}); - itemTable[BUY_DEKU_STICK_1] = Item(ITEMTYPE_SHOP, 0x05, ITEMCLASS_ADVANCEMENT, &Sticks, DEKU_STICK_1, 10, Text{"Buy Deku Stick (1)", "Acheter: Bâton Mojo (1)", "Comprar palos deku (1)", "1 ramo Deku in vendita", "Deku-Stab (1 Stück)"}); - itemTable[BUY_BOMBS_10] = Item(ITEMTYPE_SHOP, 0x06, ITEMCLASS_ADVANCEMENT, &BuyBomb, BOMBS_10, 50, Text{"Buy Bombs (10)", "Acheter: Bombes (10)", "Comprar Bombas (10)", "10 bombe in vendita", "Bomben (10 Stück)"}); - itemTable[BUY_FISH] = Item(ITEMTYPE_SHOP, 0x07, ITEMCLASS_ADVANCEMENT, &FishAccess, BOTTLE_WITH_FISH, 200, Text{"Buy Fish", "Acheter: Poisson", "Comprar pez", "Pesce in vendita", "Fisch"}); - itemTable[BUY_RED_POTION_30] = Item(ITEMTYPE_SHOP, 0x08, ITEMCLASS_NONE, &noVariable, BOTTLE_WITH_RED_POTION, 30, Text{"Buy Red Potion [30]", "Acheter: Potion rouge [30]", "Comprar poción roja [30]", "Pozione vita in vendita [30]", "Rotes Elixier [30]"}); - itemTable[BUY_GREEN_POTION] = Item(ITEMTYPE_SHOP, 0x09, ITEMCLASS_ADVANCEMENT, &BuyGPotion, BOTTLE_WITH_GREEN_POTION, 30, Text{"Buy Green Potion", "Acheter: Potion verte", "Comprar poción verde", "Pozione magica in vendita", "Grünes Elixier"}); - itemTable[BUY_BLUE_POTION] = Item(ITEMTYPE_SHOP, 0x0A, ITEMCLASS_ADVANCEMENT, &BuyBPotion, BOTTLE_WITH_BLUE_POTION, 100, Text{"Buy Blue Potion", "Acheter: Potion bleue", "Comprar poción azul", "Pozione curatutto in vendita", "Blaues Elixier"}); - itemTable[BUY_HYLIAN_SHIELD] = Item(ITEMTYPE_SHOP, 0x0C, ITEMCLASS_ADVANCEMENT, &HylianShield, HYLIAN_SHIELD, 80, Text{"Buy Hylian Shield", "Acheter: Bouclier Hylien", "Comprar escudo hyliano", "Scudo Hylia in vendita", "Hylia-Schild"}); - itemTable[BUY_DEKU_SHIELD] = Item(ITEMTYPE_SHOP, 0x0D, ITEMCLASS_ADVANCEMENT, &DekuShield, DEKU_SHIELD, 40, Text{"Buy Deku Shield", "Acheter: Bouclier Mojo", "Comprar escudo deku", "Scudo Deku in vendita", "Deku-Schild"}); - itemTable[BUY_GORON_TUNIC] = Item(ITEMTYPE_SHOP, 0x0E, ITEMCLASS_ADVANCEMENT, &GoronTunic, GORON_TUNIC, 200, Text{"Buy Goron Tunic", "Acheter: Tunique Goron", "Comprar sayo goron", "Veste dei Goron in vendita", "Goronen-Rüstung"}); - itemTable[BUY_ZORA_TUNIC] = Item(ITEMTYPE_SHOP, 0x0F, ITEMCLASS_ADVANCEMENT, &ZoraTunic, ZORA_TUNIC, 300, Text{"Buy Zora Tunic", "Acheter: Tunique Zora", "Comprar sayo zora", "Veste degli Zora in vendita", "Zora-Rüstung"}); - itemTable[BUY_HEART] = Item(ITEMTYPE_SHOP, 0x10, ITEMCLASS_NONE, &noVariable, RECOVERY_HEART, 10, Text{"Buy Heart", "Acheter: Coeur d'énergie", "Comprar corazón", "Cuore in vendita", "Herz"}); - itemTable[BUY_BOMBCHU_10] = Item(ITEMTYPE_SHOP, 0x15, ITEMCLASS_ADVANCEMENT, &BuyBombchus10, BOMBCHU_10, 99, Text{"Buy Bombchu (10)", "Acheter: Bombchus (10)", "Comprar bombchus (10)", "Buy Bombchu (10)", "Acheter: Missiles teigneux (10)", "Comprar bombchus (10)", "10 radiomine in vendita", "Krabbelminen (10 Stück)"}); - itemTable[BUY_BOMBCHU_20] = Item(ITEMTYPE_SHOP, 0x16, ITEMCLASS_ADVANCEMENT, &BuyBombchus20, BOMBCHU_20, 180, Text{"Buy Bombchu (20)", "Acheter: Bombchus (20)", "Comprar bombchus (20)", "Buy Bombchu (20)", "Acheter: Missiles teigneux (20)", "Comprar bombchus (20)", "20 radiomine in vendita", "Krabbelminen (20 Stück)"}); - itemTable[BUY_BOMBCHU_5] = Item(ITEMTYPE_SHOP, 0x18, ITEMCLASS_ADVANCEMENT, &BuyBombchus5, BOMBCHU_5, 60, Text{"Buy Bombchu (5)", "Acheter: Bombchus (5)", "Comprar bombchus (5)", "Buy Bombchu (5)", "Acheter: Missiles teigneux (5)", "Comprar bombchus (5)", "5 radiomine in vendita", "Krabbelminen (5 Stück)"}); - itemTable[BUY_DEKU_SEEDS_30] = Item(ITEMTYPE_SHOP, 0x1D, ITEMCLASS_ADVANCEMENT, &BuySeed, DEKU_SEEDS_30, 30, Text{"Buy Deku Seeds (30)", "Acheter: Graines Mojo (30)", "Comprar semillas deku (30)", "30 semi Deku in vendita", "Deku-Kerne (30 Stück)"}); - itemTable[SOLD_OUT] = Item(ITEMTYPE_SHOP, 0x26, ITEMCLASS_NONE, &noVariable, NONE, 0, Text{"Sold Out", "Vendu", "Vendido", "Venduto", "Das haben wir nicht auf Lager."}); - itemTable[BUY_BLUE_FIRE] = Item(ITEMTYPE_SHOP, 0x27, ITEMCLASS_ADVANCEMENT, &BlueFireAccess, BOTTLE_WITH_BLUE_FIRE, 300, Text{"Buy Blue Fire", "Acheter: Flamme bleue", "Comprar fuego azul", "Fuoco blu in vendita", "Blaues Feuer"}); - itemTable[BUY_BOTTLE_BUG] = Item(ITEMTYPE_SHOP, 0x28, ITEMCLASS_ADVANCEMENT, &BugsAccess, BOTTLE_WITH_BUGS, 50, Text{"Buy Bottle Bug", "Acheter: Insectes en flacon", "Comprar bichos", "Insetto in vendita", "Käfer"}); - itemTable[BUY_POE] = Item(ITEMTYPE_SHOP, 0x2A, ITEMCLASS_NONE, &noVariable, BOTTLE_WITH_BIG_POE, 30, Text{"Buy Poe", "Acheter: Esprit", "Comprar Poe", "Poo in vendita", "Irrlicht"}); - itemTable[BUY_FAIRYS_SPIRIT] = Item(ITEMTYPE_SHOP, 0x2B, ITEMCLASS_ADVANCEMENT, &FairyAccess, BOTTLE_WITH_FAIRY, 50, Text{"Buy Fairy's Spirit", "Acheter: Fée", "Comprar hada", "Fata in vendita", "Fee"}); - itemTable[BUY_ARROWS_10] = Item(ITEMTYPE_SHOP, 0x2C, ITEMCLASS_ADVANCEMENT, &BuyArrow, ARROWS_10, 20, Text{"Buy Arrows (10)", "Acheter: Flèches (10)", "Comprar flechas (10)", "10 frecce in vendita", "Pfeile (10 Stück)"}); - itemTable[BUY_BOMBS_20] = Item(ITEMTYPE_SHOP, 0x2D, ITEMCLASS_ADVANCEMENT, &BuyBomb, BOMBS_20, 80, Text{"Buy Bombs (20)", "Acheter: Bombes (20)", "Comprar bombas (20)", "20 bombe in vendita", "Bomben (20 Stück)"}); - itemTable[BUY_BOMBS_30] = Item(ITEMTYPE_SHOP, 0x2E, ITEMCLASS_ADVANCEMENT, &BuyBomb, BOMBS_20, 120, Text{"Buy Bombs (30)", "Acheter: Bombes (30)", "Comprar bombas (30)", "30 bombe in vendita", "Bomben (30 Stück)"}); - itemTable[BUY_BOMBS_535] = Item(ITEMTYPE_SHOP, 0x2F, ITEMCLASS_ADVANCEMENT, &BuyBomb, BOMBS_5, 35, Text{"Buy Bombs (5) [35]", "Acheter: Bombes (5) [35]", "Comprar bombas (5) [35]", "5 bombe in vendita [35]", "Bomben (5 Stück) [35]"}); - itemTable[BUY_RED_POTION_40] = Item(ITEMTYPE_SHOP, 0x30, ITEMCLASS_NONE, &noVariable, BOTTLE_WITH_RED_POTION, 40, Text{"Buy Red Potion [40]", "Acheter: Potion rouge [40]", "Comprar poción roja [40]", "Pozione vita in vendita [40]", "Rotes Elixier [40]"}); - itemTable[BUY_RED_POTION_50] = Item(ITEMTYPE_SHOP, 0x31, ITEMCLASS_NONE, &noVariable, BOTTLE_WITH_RED_POTION, 50, Text{"Buy Red Potion [50]", "Acheter: Potion rouge [50]", "Comprar poción roja [50]", "Pozione vita in vendita [50]", "Rotes Elixier [50]"}); - - // Enemy souls - itemTable[SOUL_ITEM_POE] = Item(ITEMTYPE_ENEMY_SOUL, GI_SOUL_POE, ITEMCLASS_ADVANCEMENT, &SoulPoe, SOUL_ITEM_POE, Text{"Poe Soul", "Essence d'Esprit", "Alma de Poe", "Anima di Poo", "Seele von Irrlichtern"}); - itemTable[SOUL_ITEM_OCTOROK] = Item(ITEMTYPE_ENEMY_SOUL, GI_SOUL_OCTOROK, ITEMCLASS_ADVANCEMENT, &SoulOctorok, SOUL_ITEM_OCTOROK, Text{"Octorok Soul", "Essence d'Octorok", "Alma de Octorok", "Anima di Octorok", "Seele von Oktorok"}); - itemTable[SOUL_ITEM_KEESE] = Item(ITEMTYPE_ENEMY_SOUL, GI_SOUL_KEESE, ITEMCLASS_ADVANCEMENT, &SoulKeese, SOUL_ITEM_KEESE, Text{"Keese Soul", "Essence de chauve-souris", "Alma de Keese", "Anima di Pipistrello", "Seele von Flederbeißern"}); - itemTable[SOUL_ITEM_TEKTITE] = Item(ITEMTYPE_ENEMY_SOUL, GI_SOUL_TEKTITE, ITEMCLASS_ADVANCEMENT, &SoulTektite, SOUL_ITEM_TEKTITE, Text{"Tektite Soul", "Essence d'Araknon", "Alma de Tektite", "Anima di Tektite", "Seele von Arachnos"}); - itemTable[SOUL_ITEM_LEEVER] = Item(ITEMTYPE_ENEMY_SOUL, GI_SOUL_LEEVER, ITEMCLASS_ADVANCEMENT, &SoulLeever, SOUL_ITEM_LEEVER, Text{"Leever Soul", "Essence de Leever", "Alma de Leever", "Anima di Leever", "Seele von Sandkillern"}); - itemTable[SOUL_ITEM_PEAHAT] = Item(ITEMTYPE_ENEMY_SOUL, GI_SOUL_PEAHAT, ITEMCLASS_ADVANCEMENT, &SoulPeahat, SOUL_ITEM_PEAHAT, Text{"Peahat Soul", "Essence de Poislico", "Alma de Peahat", "Peahat Soul", "Essence de Peahat", "Alma de Peahat", "Anima di Bulbocottero", "Seele von Killeranas"}); - itemTable[SOUL_ITEM_LIZALFOS] = Item(ITEMTYPE_ENEMY_SOUL, GI_SOUL_LIZALFOS, ITEMCLASS_ADVANCEMENT, &SoulLizalfosDinolfos, SOUL_ITEM_LIZALFOS, Text{"Lizalfos and Dinolfos Soul", "Essences de Lézalfos et de Dinolfos", "Alma de Lizalfos y Dinolfos", "Anima di Lizalfos e Dinolfos", "Seele von Echsalfos und Dinodorus"}); - itemTable[SOUL_ITEM_SHABOM] = Item(ITEMTYPE_ENEMY_SOUL, GI_SOUL_SHABOM, ITEMCLASS_ADVANCEMENT, &SoulShabom, SOUL_ITEM_SHABOM, Text{"Shabom Soul", "Essence de Bulld'O", "Alma de Shabom", "Anima di Shabom", "Seele von Blubberblasen"}); - itemTable[SOUL_ITEM_BIRI_BARI] = Item(ITEMTYPE_ENEMY_SOUL, GI_SOUL_BIRI_BARI, ITEMCLASS_ADVANCEMENT, &SoulBiriBari, SOUL_ITEM_BIRI_BARI, Text{"Biri and Bari Soul", "Essence de Biri et de Bari", "Alma de Biri y Bari", "Anima di Cnidiri e Cnidari", "Seele von Zappelquallen"}); - itemTable[SOUL_ITEM_TAILPASARAN] = Item(ITEMTYPE_ENEMY_SOUL, GI_SOUL_TAILPASARAN, ITEMCLASS_ADVANCEMENT, &SoulTailpasaran, SOUL_ITEM_TAILPASARAN, Text{"Tailpasaran Soul", "Essence de Téniachoc", "Alma de Tailpasaran", "Tailpasaran Soul", "Essence de Tailpasaran", "Alma de Tailpasaran", "Anima di Trivolt", "Seele von Zangengreifern"}); - itemTable[SOUL_ITEM_SKULLTULA] = Item(ITEMTYPE_ENEMY_SOUL, GI_SOUL_SKULLTULA, ITEMCLASS_ADVANCEMENT, &SoulSkulltula, SOUL_ITEM_SKULLTULA, Text{"Skulltula Soul", "Essence de Skulltula", "Alma de Skulltula", "Anima di Aracnula", "Seele von Skulltulas"}); - itemTable[SOUL_ITEM_TORCH_SLUG] = Item(ITEMTYPE_ENEMY_SOUL, GI_SOUL_TORCH_SLUG, ITEMCLASS_ADVANCEMENT, &SoulTorchSlug, SOUL_ITEM_TORCH_SLUG, Text{"Torch Slug Soul", "Essence de Feu Visqueux", "Alma de Llamababa", "Anima di Lumaca di lava", "Seele von Lavaschleimen"}); - itemTable[SOUL_ITEM_STINGER] = Item(ITEMTYPE_ENEMY_SOUL, GI_SOUL_STINGER, ITEMCLASS_ADVANCEMENT, &SoulStinger, SOUL_ITEM_STINGER, Text{"Stinger Soul", "Essence de Manta", "Alma de Stinger", "Anima di Trigone volante", "Seele von Elektromantas"}); - itemTable[SOUL_ITEM_MOBLIN] = Item(ITEMTYPE_ENEMY_SOUL, GI_SOUL_MOBLIN, ITEMCLASS_ADVANCEMENT, &SoulMoblin, SOUL_ITEM_MOBLIN, Text{"Moblin Soul", "Essence de Moblin", "Alma de Moblin", "Anima di Grublin", "Seele von Moblin"}); - itemTable[SOUL_ITEM_ARMOS] = Item(ITEMTYPE_ENEMY_SOUL, GI_SOUL_ARMOS, ITEMCLASS_ADVANCEMENT, &SoulArmos, SOUL_ITEM_ARMOS, Text{"Armos Soul", "Essence d'Armos", "Alma de Armos", "Anima di Armos", "Seele von Armos-Rittern"}); - itemTable[SOUL_ITEM_DEKU_BABA] = Item(ITEMTYPE_ENEMY_SOUL, GI_SOUL_DEKU_BABA, ITEMCLASS_ADVANCEMENT, &SoulDekuBaba, SOUL_ITEM_DEKU_BABA, Text{"Deku Baba Soul", "Essence de Baba Mojo", "Alma de Baba Deku", "Anima di Deku Baba", "Seele von Dekuranhas"}); - itemTable[SOUL_ITEM_BUBBLE] = Item(ITEMTYPE_ENEMY_SOUL, GI_SOUL_BUBBLE, ITEMCLASS_ADVANCEMENT, &SoulBubble, SOUL_ITEM_BUBBLE, Text{"Bubble Soul", "Essence de Tetdoss", "Alma de Bubble", "Anima di Nembo", "Seele von Totenschädeln"}); - itemTable[SOUL_ITEM_FLYING_TRAP] = Item(ITEMTYPE_ENEMY_SOUL, GI_SOUL_FLYING_TRAP, ITEMCLASS_ADVANCEMENT, &SoulFlyingTrap, SOUL_ITEM_FLYING_TRAP, Text{"Flying Pot and Tile Soul", "Essences de jarres et de dalles volantes", "Alma de Jarrones y Baldosas voladoras", "Anima di Vasi e Piastrelle volanti", "Seele von fliegenden Krügen und Fliesen"}); - itemTable[SOUL_ITEM_BEAMOS] = Item(ITEMTYPE_ENEMY_SOUL, GI_SOUL_BEAMOS, ITEMCLASS_ADVANCEMENT, &SoulBeamos, SOUL_ITEM_BEAMOS, Text{"Beamos Soul", "Essence de Sentinelle", "Alma de Beamos", "Anima di Laseros", "Seele von Strahlzyklopen"}); - itemTable[SOUL_ITEM_WALLMASTER] = Item(ITEMTYPE_ENEMY_SOUL, GI_SOUL_WALLMASTER, ITEMCLASS_ADVANCEMENT, &SoulWallmaster, SOUL_ITEM_WALLMASTER, Text{"Wallmaster and Floormaster Soul", "Essences de Main du mal et de Grossbaffe", "Alma de Wallmaster y Floormaster", "Wallmaster and Floormaster Soul", "Essences de La Main et de Grossbaffe", "Alma de Wallmaster y Floormaster", "Anima di Mano Diabolica e Mano Rapace", "Seele von Todesgrapschern und Terrorgrapschern"}); - itemTable[SOUL_ITEM_REDEAD_GIBDO] = Item(ITEMTYPE_ENEMY_SOUL, GI_SOUL_REDEAD_GIBDO, ITEMCLASS_ADVANCEMENT, &SoulRedeadGibdo, SOUL_ITEM_REDEAD_GIBDO, Text{"ReDead and Gibdo Soul", "Essences de Remort et de Gibdo", "Alma de ReDead y Gibdo", "ReDead and Gibdo Soul", "Essences d'Effroi et de Gibdo", "Alma de ReDead y Gibdo", "Anima di Zombie e Ghibdo", "Seele von Zombies und Wickel-Zombies"}); - itemTable[SOUL_ITEM_SHELL_BLADE] = Item(ITEMTYPE_ENEMY_SOUL, GI_SOUL_SHELL_BLADE, ITEMCLASS_ADVANCEMENT, &SoulShellBlade, SOUL_ITEM_SHELL_BLADE, Text{"Shell Blade Soul", "Essence de Coquillos", "Alma de Moluscuchilla", "Anima di Ostrice", "Seele von Killermuscheln"}); - itemTable[SOUL_ITEM_LIKE_LIKE] = Item(ITEMTYPE_ENEMY_SOUL, GI_SOUL_LIKE_LIKE, ITEMCLASS_ADVANCEMENT, &SoulLikeLike, SOUL_ITEM_LIKE_LIKE, Text{"Like Like Soul", "Essence de Like Like", "Alma de Like Like", "Anima di Like Like", "Seele von Raubschleimen"}); - itemTable[SOUL_ITEM_TENTACLE] = Item(ITEMTYPE_ENEMY_SOUL, GI_SOUL_TENTACLE, ITEMCLASS_ADVANCEMENT, &SoulParasiticTentacle, SOUL_ITEM_TENTACLE, Text{"Parasitic Tentacle Soul", "Essence de Tentacule Parasite", "Alma de Tentáculo Parásito", "Anima di Tentacolo", "Seele von Parasiten-Tentakeln"}); - itemTable[SOUL_ITEM_ANUBIS] = Item(ITEMTYPE_ENEMY_SOUL, GI_SOUL_ANUBIS, ITEMCLASS_ADVANCEMENT, &SoulAnubis, SOUL_ITEM_ANUBIS, Text{"Anubis Soul", "Essence d'Anubis", "Alma de Anubis", "Anima di Anubi", "Seele von Anubis"}); - itemTable[SOUL_ITEM_SPIKE] = Item(ITEMTYPE_ENEMY_SOUL, GI_SOUL_SPIKE, ITEMCLASS_ADVANCEMENT, &SoulSpike, SOUL_ITEM_SPIKE, Text{"Spike Soul", "Essence de Hérisson métallique", "Alma de Erizo Metálico", "Spike Soul", "Essence de Spike", "Alma de Erizo Metálico", "Anima di Riccio di Ferro", "Seele von Stachelsteinen"}); - itemTable[SOUL_ITEM_SKULL_KID] = Item(ITEMTYPE_ENEMY_SOUL, GI_SOUL_SKULL_KID, ITEMCLASS_ADVANCEMENT, &SoulSkullKid, SOUL_ITEM_SKULL_KID, Text{"Skull Kid Soul", "Essence de Skull Kid", "Alma de Skull Kid", "Anima di Bimbo Perduto", "Seele von Horror-Kid"}); - itemTable[SOUL_ITEM_FREEZARD] = Item(ITEMTYPE_ENEMY_SOUL, GI_SOUL_FREEZARD, ITEMCLASS_ADVANCEMENT, &SoulFreezard, SOUL_ITEM_FREEZARD, Text{"Freezard Soul", "Essence de Glazzard", "Alma de Freezard", "Freezard Soul", "Essence de Freezard", "Alma de Freezard", "Anima di Freezard", "Seele von Frostechsen"}); - itemTable[SOUL_ITEM_DEKU_SCRUB] = Item(ITEMTYPE_ENEMY_SOUL, GI_SOUL_DEKU_SCRUB, ITEMCLASS_ADVANCEMENT, &SoulDekuScrub, SOUL_ITEM_DEKU_SCRUB, Text{"Deku Scrub Soul", "Essence de Peste Mojo", "Alma de Matorral Deku", "Anima di Cespuglio Deku", "Seele von Laubkerlen"}); - itemTable[SOUL_ITEM_WOLFOS] = Item(ITEMTYPE_ENEMY_SOUL, GI_SOUL_WOLFOS, ITEMCLASS_ADVANCEMENT, &SoulWolfos, SOUL_ITEM_WOLFOS, Text{"Wolfos Soul", "Essence de Loufos", "Alma de Wolfos", "Wolfos Soul", "Essence de Wolfos", "Alma de Wolfos", "Anima di Lupo", "Seele von Wolfos"}); - itemTable[SOUL_ITEM_STALCHILD] = Item(ITEMTYPE_ENEMY_SOUL, GI_SOUL_STALCHILD, ITEMCLASS_ADVANCEMENT, &SoulStalchild, SOUL_ITEM_STALCHILD, Text{"Stalchild Soul", "Essence de Sakdoss", "Alma de Stalchild", "Anima di Stalfosso", "Seele von Knochengängern"}); - itemTable[SOUL_ITEM_GUAY] = Item(ITEMTYPE_ENEMY_SOUL, GI_SOUL_GUAY, ITEMCLASS_ADVANCEMENT, &SoulGuay, SOUL_ITEM_GUAY, Text{"Guay Soul", "Essence de Toukor", "Alma de Guay", "Anima di Corvacchia", "Seele von Wüstenkrähen"}); - itemTable[SOUL_ITEM_DOOR_MIMIC] = Item(ITEMTYPE_ENEMY_SOUL, GI_SOUL_DOOR_MIMIC, ITEMCLASS_ADVANCEMENT, &SoulDoorMimic, SOUL_ITEM_DOOR_MIMIC, Text{"Door Mimic Soul", "Essence de Simili-Porte", "Alma de Puerta Falsa", "Anima di Porta Falsa", "Seele von Türmimics"}); - itemTable[SOUL_ITEM_STALFOS] = Item(ITEMTYPE_ENEMY_SOUL, GI_SOUL_STALFOS, ITEMCLASS_ADVANCEMENT, &SoulStalfos, SOUL_ITEM_STALFOS, Text{"Stalfos Soul", "Essence de Stalfos", "Alma de Stalfos", "Anima di Stalfos", "Seele von Stalfos"}); - itemTable[SOUL_ITEM_DARK_LINK] = Item(ITEMTYPE_ENEMY_SOUL, GI_SOUL_DARK_LINK, ITEMCLASS_ADVANCEMENT, &SoulDarkLink, SOUL_ITEM_DARK_LINK, Text{"Dark Link Soul", "Essence de Link noir", "Alma de Link Oscuro", "Anima di Link Oscuro", "Seele von schwarzen Link"}); - itemTable[SOUL_ITEM_FLARE_DANCER] = Item(ITEMTYPE_ENEMY_SOUL, GI_SOUL_FLARE_DANCER, ITEMCLASS_ADVANCEMENT, &SoulFlareDancer, SOUL_ITEM_FLARE_DANCER, Text{"Flare Dancer Soul", "Essence de Danse-Flamme", "Alma de Bailafuego", "Anima di Fiammerino", "Seele von Flammenderwischen"}); - itemTable[SOUL_ITEM_DEAD_HAND] = Item(ITEMTYPE_ENEMY_SOUL, GI_SOUL_DEAD_HAND, ITEMCLASS_ADVANCEMENT, &SoulDeadHand, SOUL_ITEM_DEAD_HAND, Text{"Dead Hand Soul", "Essence de Main mortelle", "Alma de Mano Muerta", "Dead Hand Soul", "Essence de Poigneur", "Alma de Mano Muerta", "Anima di Smaniosso", "Seele von Hirnsaugern"}); - itemTable[SOUL_ITEM_GERUDO] = Item(ITEMTYPE_ENEMY_SOUL, GI_SOUL_GERUDO, ITEMCLASS_ADVANCEMENT, &SoulGerudo, SOUL_ITEM_GERUDO, Text{"Gerudo and Iron Knuckle Soul", "Essence de Voleuse Gerudo et Poing de fer", "Alma de Gerudo y Nudillo de hierro", "Gerudo and Iron Knuckle Soul", "Essence de Voleuse Gerudo et Hache-Viande", "Alma de Gerudo y Nudillo de hierro", "Anima di Gerudo e Guerriero d'acciaio", "Seele von Gerudos und Eisenprinzen"}); - itemTable[SOUL_ITEM_GOHMA] = Item(ITEMTYPE_ENEMY_SOUL, GI_SOUL_GOHMA, ITEMCLASS_ADVANCEMENT, &SoulGohma, SOUL_ITEM_GOHMA, Text{"Gohma Soul", "Essence de Gohma", "Alma de Gohma", "Anima di Gohma", "Seele von Gohma"}); - itemTable[SOUL_ITEM_DODONGO] = Item(ITEMTYPE_ENEMY_SOUL, GI_SOUL_DODONGO, ITEMCLASS_ADVANCEMENT, &SoulDodongo, SOUL_ITEM_DODONGO, Text{"Dodongo Soul", "Essence de Dodongo", "Alma de Dodongo", "Anima di Dodongo", "Seele von Dodongos"}); - itemTable[SOUL_ITEM_BARINADE] = Item(ITEMTYPE_ENEMY_SOUL, GI_SOUL_BARINADE, ITEMCLASS_ADVANCEMENT, &SoulBarinade, SOUL_ITEM_BARINADE, Text{"Barinade Soul", "Essence de Barinade", "Alma de Barinade", "Anima di Cnidade", "Seele von Barinade"}); - itemTable[SOUL_ITEM_PHANTOM_GANON] = Item(ITEMTYPE_ENEMY_SOUL, GI_SOUL_PHANTOM_GANON,ITEMCLASS_ADVANCEMENT, &SoulPhantomGanon, SOUL_ITEM_PHANTOM_GANON, Text{"Phantom Ganon Soul", "Essence de Ganon Spectral", "Alma de Ganon Fantasma", "Anima di Spettro Ganon", "Seele von Phantom-Ganon"}); - itemTable[SOUL_ITEM_VOLVAGIA] = Item(ITEMTYPE_ENEMY_SOUL, GI_SOUL_VOLVAGIA, ITEMCLASS_ADVANCEMENT, &SoulVolvagia, SOUL_ITEM_VOLVAGIA, Text{"Volvagia Soul", "Essence de Volcania", "Alma de Volvagia", "Anima di Varubaja", "Seele von Volvagia"}); - itemTable[SOUL_ITEM_MORPHA] = Item(ITEMTYPE_ENEMY_SOUL, GI_SOUL_MORPHA, ITEMCLASS_ADVANCEMENT, &SoulMorpha, SOUL_ITEM_MORPHA, Text{"Morpha Soul", "Essence de Morpha", "Alma de Morpha", "Anima di Morpha", "Seele von Morpha"}); - itemTable[SOUL_ITEM_BONGO_BONGO] = Item(ITEMTYPE_ENEMY_SOUL, GI_SOUL_BONGO_BONGO, ITEMCLASS_ADVANCEMENT, &SoulBongoBongo, SOUL_ITEM_BONGO_BONGO, Text{"Bongo Bongo Soul", "Essence de Bongo Bongo", "Alma de Bongo Bongo", "Anima di Bongo Bongo", "Seele von Bongo Bongo"}); - itemTable[SOUL_ITEM_TWINROVA] = Item(ITEMTYPE_ENEMY_SOUL, GI_SOUL_TWINROVA, ITEMCLASS_ADVANCEMENT, &SoulTwinrova, SOUL_ITEM_TWINROVA, Text{"Twinrova Soul", "Essence de Birova", "Alma de Birova", "Twinrova Soul", "Essence de Twinrova", "Alma de Birova", "Anima di Duerova", "Seele von Twinrova"}); - itemTable[SOUL_ITEM_GANON] = Item(ITEMTYPE_ENEMY_SOUL, GI_SOUL_GANON, ITEMCLASS_ADVANCEMENT, &SoulGanon, SOUL_ITEM_GANON, Text{"Ganon Soul", "Essence de Ganon", "Alma de Ganon", "Anima di Ganon", "Seele von Ganon"}); - - // Ocarina Note Buttons - itemTable[OCA_BUTTON_ITEM_L] = Item(ITEMTYPE_ITEM, GI_OCARINA_BUTTON_L, ITEMCLASS_ADVANCEMENT, &OcarinaButtonL, OCA_BUTTON_ITEM_L, Text{"Ocarina L Button", "Bouton L de l'ocarina", "Botón L de la ocarina", "Pulsante L dell'ocarina", "Ocarina L-Knopf"}); - itemTable[OCA_BUTTON_ITEM_R] = Item(ITEMTYPE_ITEM, GI_OCARINA_BUTTON_R, ITEMCLASS_ADVANCEMENT, &OcarinaButtonR, OCA_BUTTON_ITEM_R, Text{"Ocarina R Button", "Bouton R de l'ocarina", "Botón R de la ocarina", "Pulsante R dell'ocarina", "Ocarina R-Knopf"}); - itemTable[OCA_BUTTON_ITEM_X] = Item(ITEMTYPE_ITEM, GI_OCARINA_BUTTON_X, ITEMCLASS_ADVANCEMENT, &OcarinaButtonX, OCA_BUTTON_ITEM_X, Text{"Ocarina X Button", "Bouton X de l'ocarina", "Botón X de la ocarina", "Pulsante X dell'ocarina", "Ocarina X-Knopf"}); - itemTable[OCA_BUTTON_ITEM_Y] = Item(ITEMTYPE_ITEM, GI_OCARINA_BUTTON_Y, ITEMCLASS_ADVANCEMENT, &OcarinaButtonY, OCA_BUTTON_ITEM_Y, Text{"Ocarina Y Button", "Bouton Y de l'ocarina", "Botón Y de la ocarina", "Pulsante Y dell'ocarina", "Ocarina Y-Knopf"}); - itemTable[OCA_BUTTON_ITEM_A] = Item(ITEMTYPE_ITEM, GI_OCARINA_BUTTON_A, ITEMCLASS_ADVANCEMENT, &OcarinaButtonA, OCA_BUTTON_ITEM_A, Text{"Ocarina A Button", "Bouton A de l'ocarina", "Botón A de la ocarina", "Pulsante A dell'ocarina", "Ocarina A-Knopf"}); - - itemTable[TRIFORCE_PIECE] = Item(ITEMTYPE_ITEM, GI_TRIFORCE_PIECE, ITEMCLASS_ADVANCEMENT, &TriforcePieces, TRIFORCE_PIECE, Text{"Triforce Piece", "Fragment de la Triforce", "Fragmento de la Trifuerza", "Frammento di Triforza", "Triforce-Splitter"}); - - itemTable[TRIFORCE] = Item(ITEMTYPE_EVENT, GI_RUPEE_RED_LOSE, ITEMCLASS_NONE, &noVariable, NONE, Text{"Triforce", "Triforce", "Trifuerza", "Triforza", "Triforce"}); - itemTable[HINT] = Item(ITEMTYPE_EVENT, GI_RUPEE_BLUE_LOSE, ITEMCLASS_NONE, &noVariable, NONE, Text{"Hint", "Indice", "Pista", "Indizio", "Hinweis"}); - -// itemTable[HOOKSHOT] = Item(ITEMTYPE_ITEM, 0x80, ITEMCLASS_ADVANCEMENT, &ProgressiveHookshot, HOOKSHOT, Text{"Hookshot", "Grappin", "Gancho", "Arpione", "Fanghaken"}); -// itemTable[LONGSHOT] = Item(ITEMTYPE_ITEM, 0x80, ITEMCLASS_ADVANCEMENT, &ProgressiveHookshot, LONGSHOT, Text{"Longshot", "Supergrappin", "Supergancho", "Longshot", "Super grappin", "Supergancho", "Super arpione", "Enterhaken"}); -// itemTable[FAIRY_OCARINA] = Item(ITEMTYPE_ITEM, 0x8B, ITEMCLASS_ADVANCEMENT, &ProgressiveOcarina, FAIRY_OCARINA, Text{"Fairy Ocarina", "Ocarina des fées", "Ocarina de las Hadas", "Ocarina magica", "Feen-Okarina"}); -// itemTable[OCARINA_OF_TIME] = Item(ITEMTYPE_ITEM, 0x8B, ITEMCLASS_ADVANCEMENT, &ProgressiveOcarina, OCARINA_OF_TIME, Text{"Ocarina of Time", "Ocarina du temps", "Ocarina del Tiempo", "Ocarina del Tempo", "Okarina der Zeit"}); -// itemTable[BOMB_BAG] = Item(ITEMTYPE_ITEM, 0x82, ITEMCLASS_ADVANCEMENT, &ProgressiveBombBag, BOMB_BAG, Text{"Bomb Bag", "Sac de bombes", "Saco de bombas", "Portabombe (20 bombe)", "Bombentasche"}); -// itemTable[BIG_BOMB_BAG] = Item(ITEMTYPE_ITEM, 0x82, ITEMCLASS_ADVANCEMENT, &ProgressiveBombBag, BIG_BOMB_BAG, Text{"Big Bomb Bag", "Grand sac de bombes", "Saco de bombas grande", "Portabombe grande (30 bombe)", "Große Bombentasche"}); -// itemTable[BIGGEST_BOMB_BAG] = Item(ITEMTYPE_ITEM, 0x82, ITEMCLASS_ADVANCEMENT, &ProgressiveBombBag, BIGGEST_BOMB_BAG, Text{"Biggest Bomb Bag", "Énorme sac de bombes", "Saco de bombas gigante", "Mega portabombe (40 bombe)", "Riesen-Bombentasche"}); -// itemTable[FAIRY_BOW] = Item(ITEMTYPE_ITEM, 0x83, ITEMCLASS_ADVANCEMENT, &ProgressiveBow, FAIRY_BOW, Text{"Fairy Bow", "Arc des fées", "Arco de las Hadas", "Arco magico", "Feen-Bogen"}); -// itemTable[BIG_QUIVER] = Item(ITEMTYPE_ITEM, 0x83, ITEMCLASS_ADVANCEMENT, &ProgressiveBow, BIG_QUIVER, Text{"Big Quiver", "Grand carquois", "Carcaj grande", "Faretra grande (40 frecce)", "Großer Köcher"}); -// itemTable[BIGGEST_QUIVER] = Item(ITEMTYPE_ITEM, 0x83, ITEMCLASS_ADVANCEMENT, &ProgressiveBow, BIGGEST_QUIVER, Text{"Biggest Quiver", "Énorme carquois", "Carcaj gigante", "Mega faretra (50 frecce)", "Riesenköcher"}); -// itemTable[FAIRY_SLINGSHOT] = Item(ITEMTYPE_ITEM, 0x84, ITEMCLASS_ADVANCEMENT, &ProgressiveBulletBag, FAIRY_SLINGSHOT, Text{"Fairy Slingshot", "Lance-pierre des fées", "Resortera de las hadas", "Fionda magica", "Feen-Schleuder"}); -// itemTable[BIG_BULLET_BAG] = Item(ITEMTYPE_ITEM, 0x84, ITEMCLASS_ADVANCEMENT, &ProgressiveBulletBag, BIG_BULLET_BAG, Text{"Big Deku Seed Bullet Bag", "Grand sac de graines Mojo", "Bolsa de semillas deku grande", "Grande portasemi Deku (40 semi)", "Große Munitionstasche für Deku-Kerne"}); -// itemTable[BIGGEST_BULLET_BAD] = Item(ITEMTYPE_ITEM, 0x84, ITEMCLASS_ADVANCEMENT, &ProgressiveBulletBag, BIGGEST_BULLET_BAD, Text{"Biggest Deku Seed Bullet Bag", "Énorme sac de graines Mojo", "Bolsa de semillas deku gigante", "Mega portasemi Deku (50 semi)", "Riesen-Munitionstasche für Deku-Kerne"}); -// itemTable[GORONS_BRACELET] = Item(ITEMTYPE_ITEM, 0x81, ITEMCLASS_ADVANCEMENT, &ProgressiveStrength, GORONS_BRACELET, Text{"Goron's Bracelet", "Bracelet Goron", "Brazalete de los Goron", "Bracciale dei Goron", "Goronen-Armband"}); -// itemTable[SILVER_GAUNTLETS] = Item(ITEMTYPE_ITEM, 0x81, ITEMCLASS_ADVANCEMENT, &ProgressiveStrength, SILVER_GAUNTLETS, Text{"Silver Gauntlets", "Gantelets d'argent", "Guantes de plata", "Guanti d'argento", "Silberhandschuhe"}); -// itemTable[GOLDEN_GAUNTLETS] = Item(ITEMTYPE_ITEM, 0x81, ITEMCLASS_ADVANCEMENT, &ProgressiveStrength, GOLDEN_GAUNTLETS, Text{"Golden Gauntlets", "Gantelets d'or", "Guantes de oro", "Guanti d'oro", "Goldhandschuhe"}); -// itemTable[SILVER_SCALE] = Item(ITEMTYPE_ITEM, 0x86, ITEMCLASS_ADVANCEMENT, &ProgressiveScale, SILVER_SCALE, Text{"Silver Scale", "Écaille d'argent", "Escama de Plata", "Squama d'argento", "Silberne Schuppe"}); -// itemTable[GOLDEN_SCALE] = Item(ITEMTYPE_ITEM, 0x86, ITEMCLASS_ADVANCEMENT, &ProgressiveScale, GOLDEN_SCALE, Text{"Golden Scale", "Écaille d'or", "Escama de Oro", "Squama d'oro", "Goldene Schuppe"}); -// itemTable[ADULT_WALLET] = Item(ITEMTYPE_ITEM, 0x85, ITEMCLASS_ADVANCEMENT, &ProgressiveWallet, ADULT_WALLET, Text{"Adult Wallet", "Grande poche", "Bolsa de adulto", "Adult Wallet", "Grande bourse", "Bolsa de adulto", "Portarupie da adulto", "Große Börse"}); -// itemTable[GIANT_WALLET] = Item(ITEMTYPE_ITEM, 0x85, ITEMCLASS_ADVANCEMENT, &ProgressiveWallet, GIANT_WALLET, Text{"Giant Wallet", "Poche de géant", "Bolsa gigante", "Giant Wallet", "Bourse de géant", "Bolsa gigante", "Portarupie del gigante", "Riesenbörse"}); -// itemTable[TYCOON_WALLET] = Item(ITEMTYPE_ITEM, 0x85, ITEMCLASS_ADVANCEMENT, &ProgressiveWallet, TYCOON_WALLET, Text{"Tycoon Wallet", "Poche de star", "Bolsa de ricachón", "Tycoon Wallet", "Bourse de star", "Bolsa de ricachón", "Portarupie di lusso", "Tycoon-Börse"}); -// itemTable[DEKU_NUT_CAPACITY_30] = Item(ITEMTYPE_ITEM, 0x87, ITEMCLASS_NONE, &noVariable, DEKU_NUT_CAPACITY_30, Text{"Deku Nut Capacity (30)", "Capacité de noix Mojo (20)", "Capacidad de nueces deku (40)", "Espansione per noci Deku (40)", "Deku-Nuss-Kapazität (30)"}); -// itemTable[DEKU_NUT_CAPACITY_40] = Item(ITEMTYPE_ITEM, 0x87, ITEMCLASS_NONE, &noVariable, DEKU_NUT_CAPACITY_40, Text{"Deku Nut Capacity (40)", "Capacité de noix Mojo (30)", "Capacidad de nueces deku (50)", "Espansione per noci Deku (50)", "Deku-Nuss-Kapazität (40)"}); -// itemTable[DEKU_NUT_CAPACITY_20] = Item(ITEMTYPE_ITEM, 0x88, ITEMCLASS_NONE, &noVariable, DEKU_NUT_CAPACITY_20, Text{"Deku Stick Capacity (20)", "Capacité de bâtons Mojo (20)", "Capacidad de palos deku (20)", "Espansione per rami Deku (20)", "Deku-Stab-Kapazität (20)"}); -// itemTable[DEKU_NUT_CAPACITY_30] = Item(ITEMTYPE_ITEM, 0x88, ITEMCLASS_NONE, &noVariable, DEKU_NUT_CAPACITY_30, Text{"Deku Nut Capacity (30)", "Capacité de noix Mojo (20)", "Capacidad de nueces deku (40)", "Espansione per rami Deku (30)", "Deku-Stab-Kapazität (30)"}); -// itemTable[MAGIC_METER] = Item(ITEMTYPE_ITEM, 0x8A, ITEMCLASS_ADVANCEMENT, &ProgressiveMagic, MAGIC_METER, Text{"Magic Meter", "Jauge de magie", "Poder mágico", "Barra della magia", "Magische Kraft"}); -// itemTable[ENHANCED_MAGIC_METER] = Item(ITEMTYPE_ITEM, 0x8A, ITEMCLASS_ADVANCEMENT, &ProgressiveMagic, ENHANCED_MAGIC_METER, Text{"Enhanced Magic Meter", "Jauge de magie améliorée", "Poder mágico mejorado", "Barra della magia aumentata", "Erhöhte Magische Kraft"}); - -} -// clang-format on Item& ItemTable(const ItemKey itemKey) { return itemTable[itemKey]; } diff --git a/source/item_list.hpp b/source/item_list.hpp index c240b549..c0eff821 100644 --- a/source/item_list.hpp +++ b/source/item_list.hpp @@ -6,3 +6,5 @@ void ItemTable_Init(); Item& ItemTable(ItemKey itemKey); void NewItem(ItemKey itemKey, Item item); + +extern std::array itemTable; diff --git a/source/item_location.cpp b/source/item_location.cpp index 1602d500..bcb6c1b0 100644 --- a/source/item_location.cpp +++ b/source/item_location.cpp @@ -8,1039 +8,7 @@ #include "debug.hpp" #include "keys.hpp" -// Location definitions -static std::array locationTable; - -void LocationTable_Init() { - // No area scene flag name hint key (hint_list.cpp) vanilla item categories collection check (if needed) collection check group - locationTable[NONE] = ItemLocation::Base (0xFF, 0xFF, "Invalid Location", NONE, NONE, {}, SpoilerCollectionCheck::None()); - locationTable[TRIFORCE_HUNT_GOAL] = ItemLocation::Base (0xFF, 0xFF, "Triforce Hunt Goal", NONE, TRIFORCE, {}, SpoilerCollectionCheck::None()); - - // Kokiri Forest - locationTable[KF_KOKIRI_SWORD_CHEST] = ItemLocation::Chest (0x55, 0x00, "KF Kokiri Sword Chest", KF_KOKIRI_SWORD_CHEST, KOKIRI_SWORD, {Category::cKokiriForest, Category::cForest,}, SpoilerCollectionCheckGroup::GROUP_KOKIRI_FOREST); - locationTable[KF_MIDOS_TOP_LEFT_CHEST] = ItemLocation::Chest (0x28, 0x00, "KF Mido Top Left Chest", KF_MIDOS_TOP_LEFT_CHEST, BLUE_RUPEE, {Category::cKokiriForest, Category::cForest,}, SpoilerCollectionCheckGroup::GROUP_KOKIRI_FOREST); - locationTable[KF_MIDOS_TOP_RIGHT_CHEST] = ItemLocation::Chest (0x28, 0x01, "KF Mido Top Right Chest", KF_MIDOS_TOP_RIGHT_CHEST, BLUE_RUPEE, {Category::cKokiriForest, Category::cForest,}, SpoilerCollectionCheckGroup::GROUP_KOKIRI_FOREST); - locationTable[KF_MIDOS_BOTTOM_LEFT_CHEST] = ItemLocation::Chest (0x28, 0x02, "KF Mido Bottom Left Chest", KF_MIDOS_BOTTOM_LEFT_CHEST, GREEN_RUPEE, {Category::cKokiriForest, Category::cForest,}, SpoilerCollectionCheckGroup::GROUP_KOKIRI_FOREST); - locationTable[KF_MIDOS_BOTTOM_RIGHT_CHEST] = ItemLocation::Chest (0x28, 0x03, "KF Mido Bottom Right Chest", KF_MIDOS_BOTTOM_RIGHT_CHEST, RECOVERY_HEART, {Category::cKokiriForest, Category::cForest,}, SpoilerCollectionCheckGroup::GROUP_KOKIRI_FOREST); - locationTable[KF_STORMS_GROTTO_CHEST] = ItemLocation::Chest (0x3E, 0x0C, "KF Storms Grotto Chest", KF_STORMS_GROTTO_CHEST, RED_RUPEE, {Category::cKokiriForest, Category::cForest, Category::cGrotto}, SpoilerCollectionCheckGroup::GROUP_KOKIRI_FOREST); - - // Lost Woods - locationTable[LW_NEAR_SHORTCUTS_GROTTO_CHEST] = ItemLocation::Chest (0x3E, 0x14, "LW Near Shortcuts Grotto Chest", LW_NEAR_SHORTCUTS_GROTTO_CHEST, BLUE_RUPEE, {Category::cLostWoods, Category::cForest, Category::cGrotto}, SpoilerCollectionCheckGroup::GROUP_LOST_WOODS); - locationTable[LW_SKULL_KID] = ItemLocation::Base (0x5B, 0x3E, "LW Skull Kid", LW_SKULL_KID, PIECE_OF_HEART, {Category::cLostWoods, Category::cForest,}, SpoilerCollectionCheck::ItemGetInf(30), SpoilerCollectionCheckGroup::GROUP_LOST_WOODS); - locationTable[LW_TRADE_COJIRO] = ItemLocation::Base (0x5B, 0x1F, "LW Trade Cojiro", LW_TRADE_COJIRO, ODD_MUSHROOM, {Category::cLostWoods, Category::cForest, Category::cAdultTrade}, SpoilerCollectionCheck::ItemGetInf(37), SpoilerCollectionCheckGroup::GROUP_LOST_WOODS); - locationTable[LW_TRADE_ODD_POULTICE] = ItemLocation::Base (0x5B, 0x21, "LW Trade Odd Poultice", LW_TRADE_ODD_POULTICE, POACHERS_SAW, {Category::cLostWoods, Category::cForest, Category::cAdultTrade}, SpoilerCollectionCheck::ItemGetInf(57), SpoilerCollectionCheckGroup::GROUP_LOST_WOODS); - locationTable[LW_OCARINA_MEMORY_GAME] = ItemLocation::Base (0x5B, 0x76, "LW Ocarina Memory Game", LW_OCARINA_MEMORY_GAME, PIECE_OF_HEART, {Category::cLostWoods, Category::cForest, Category::cMinigame}, SpoilerCollectionCheck::ItemGetInf(31), SpoilerCollectionCheckGroup::GROUP_LOST_WOODS); - locationTable[LW_TARGET_IN_WOODS] = ItemLocation::Base (0x5B, 0x60, "LW Target in Woods", LW_TARGET_IN_WOODS, PROGRESSIVE_SLINGSHOT, {Category::cLostWoods, Category::cForest,}, SpoilerCollectionCheck::ItemGetInf(21), SpoilerCollectionCheckGroup::GROUP_LOST_WOODS); - locationTable[LW_DEKU_SCRUB_NEAR_DEKU_THEATER_RIGHT] = ItemLocation::Base (0x5B, 0x30, "LW Deku Scrub Near Deku Theater Right",LW_DEKU_SCRUB_NEAR_DEKU_THEATER_RIGHT, DEKU_NUTS_5, {Category::cLostWoods, Category::cForest, Category::cDekuScrub}, SpoilerCollectionCheck::Scrub(0x5B, 0x01), SpoilerCollectionCheckGroup::GROUP_LOST_WOODS); - locationTable[LW_DEKU_SCRUB_NEAR_DEKU_THEATER_LEFT] = ItemLocation::Base (0x5B, 0x31, "LW Deku Scrub Near Deku Theater Left", LW_DEKU_SCRUB_NEAR_DEKU_THEATER_LEFT, DEKU_STICK_1, {Category::cLostWoods, Category::cForest, Category::cDekuScrub}, SpoilerCollectionCheck::Scrub(0x5B, 0x02), SpoilerCollectionCheckGroup::GROUP_LOST_WOODS); - locationTable[LW_DEKU_SCRUB_NEAR_BRIDGE] = ItemLocation::Base (0x5B, 0x77, "LW Deku Scrub Near Bridge", LW_DEKU_SCRUB_NEAR_BRIDGE, PROGRESSIVE_STICK_UPGRADE, {Category::cLostWoods, Category::cForest, Category::cDekuScrub, Category::cDekuScrubUpgrades}, SpoilerCollectionCheck::Scrub(0x5B, 0x0A), SpoilerCollectionCheckGroup::GROUP_LOST_WOODS); - locationTable[LW_DEKU_SCRUB_GROTTO_REAR] = ItemLocation::GrottoScrub(0xF5, 0x33, "LW Deku Scrub Grotto Rear", LW_DEKU_SCRUB_GROTTO_REAR, DEKU_SEEDS_30, {Category::cLostWoods, Category::cForest, Category::cDekuScrub, Category::cGrotto}, SpoilerCollectionCheck::Scrub(0x1F, 0x04), SpoilerCollectionCheckGroup::GROUP_LOST_WOODS); - locationTable[LW_DEKU_SCRUB_GROTTO_FRONT] = ItemLocation::GrottoScrub(0xF5, 0x79, "LW Deku Scrub Grotto Front", LW_DEKU_SCRUB_GROTTO_FRONT, PROGRESSIVE_NUT_UPGRADE, {Category::cLostWoods, Category::cForest, Category::cDekuScrub, Category::cDekuScrubUpgrades, Category::cGrotto}, SpoilerCollectionCheck::Scrub(0x1F, 0x0B), SpoilerCollectionCheckGroup::GROUP_LOST_WOODS); - locationTable[DEKU_THEATER_SKULL_MASK] = ItemLocation::Base (0x3E, 0x77, "Deku Theater Skull Mask", DEKU_THEATER_SKULL_MASK, PROGRESSIVE_STICK_UPGRADE, {Category::cLostWoods, Category::cForest, Category::cGrotto}, SpoilerCollectionCheck::ItemGetInf(22), SpoilerCollectionCheckGroup::GROUP_LOST_WOODS); - locationTable[DEKU_THEATER_MASK_OF_TRUTH] = ItemLocation::Base (0x3E, 0x7A, "Deku Theater Mask of Truth", DEKU_THEATER_MASK_OF_TRUTH, PROGRESSIVE_NUT_UPGRADE, {Category::cLostWoods, Category::cForest, Category::cNeedSpiritualStones, Category::cGrotto}, SpoilerCollectionCheck::ItemGetInf(23), SpoilerCollectionCheckGroup::GROUP_LOST_WOODS); - - // Sacred Forest Meadow - locationTable[SFM_WOLFOS_GROTTO_CHEST] = ItemLocation::Chest (0x3E, 0x11, "SFM Wolfos Grotto Chest", SFM_WOLFOS_GROTTO_CHEST, PURPLE_RUPEE, {Category::cSacredForestMeadow, Category::cForest, Category::cGrotto}, SpoilerCollectionCheckGroup::GROUP_SACRED_FOREST_MEADOW); - locationTable[SFM_DEKU_SCRUB_GROTTO_REAR] = ItemLocation::GrottoScrub(0xEE, 0x39, "SFM Deku Scrub Grotto Rear", SFM_DEKU_SCRUB_GROTTO_REAR, RED_POTION_REFILL, {Category::cSacredForestMeadow, Category::cForest, Category::cDekuScrub, Category::cGrotto}, SpoilerCollectionCheck::Scrub(0x18, 0x08), SpoilerCollectionCheckGroup::GROUP_SACRED_FOREST_MEADOW); - locationTable[SFM_DEKU_SCRUB_GROTTO_FRONT] = ItemLocation::GrottoScrub(0xEE, 0x3A, "SFM Deku Scrub Grotto Front", SFM_DEKU_SCRUB_GROTTO_FRONT, GREEN_POTION_REFILL, {Category::cSacredForestMeadow, Category::cForest, Category::cDekuScrub, Category::cGrotto}, SpoilerCollectionCheck::Scrub(0x18, 0x09), SpoilerCollectionCheckGroup::GROUP_SACRED_FOREST_MEADOW); - - // Hyrule Field - locationTable[HF_SOUTHEAST_GROTTO_CHEST] = ItemLocation::Chest (0x3E, 0x02, "HF Southeast Grotto Chest", HF_SOUTHEAST_GROTTO_CHEST, RED_RUPEE, {Category::cHyruleField, Category::cGrotto,}, SpoilerCollectionCheckGroup::GROUP_HYRULE_FIELD); - locationTable[HF_OPEN_GROTTO_CHEST] = ItemLocation::Chest (0x3E, 0x03, "HF Open Grotto Chest", HF_OPEN_GROTTO_CHEST, BLUE_RUPEE, {Category::cHyruleField, Category::cGrotto,}, SpoilerCollectionCheckGroup::GROUP_HYRULE_FIELD); - locationTable[HF_NEAR_MARKET_GROTTO_CHEST] = ItemLocation::Chest (0x3E, 0x00, "HF Near Market Grotto Chest", HF_NEAR_MARKET_GROTTO_CHEST, BLUE_RUPEE, {Category::cHyruleField, Category::cGrotto,}, SpoilerCollectionCheckGroup::GROUP_HYRULE_FIELD); - locationTable[HF_OCARINA_OF_TIME_ITEM] = ItemLocation::Base (0x51, 0x0C, "HF Ocarina of Time Item", HF_OCARINA_OF_TIME_ITEM, PROGRESSIVE_OCARINA, {Category::cHyruleField, Category::cNeedSpiritualStones,}, SpoilerCollectionCheck::EventChkInf(0x43), SpoilerCollectionCheckGroup::GROUP_HYRULE_FIELD); - locationTable[HF_TEKTITE_GROTTO_FREESTANDING_POH] = ItemLocation::Collectable(0x3E, 0x01, "HF Tektite Grotto Freestanding PoH", HF_TEKTITE_GROTTO_FREESTANDING_POH, PIECE_OF_HEART, {Category::cHyruleField, Category::cGrotto,}, SpoilerCollectionCheckGroup::GROUP_HYRULE_FIELD); - locationTable[HF_DEKU_SCRUB_GROTTO] = ItemLocation::GrottoScrub(0xE6, 0x3E, "HF Deku Scrub Grotto", HF_DEKU_SCRUB_GROTTO, PIECE_OF_HEART, {Category::cHyruleField, Category::cDekuScrub, Category::cDekuScrubUpgrades, Category::cGrotto}, SpoilerCollectionCheck::Scrub(0x10, 0x03), SpoilerCollectionCheckGroup::GROUP_HYRULE_FIELD); - - // Lake Hylia - locationTable[LH_CHILD_FISHING] = ItemLocation::Base (0x49, 0x3E, "LH Child Fishing", LH_CHILD_FISHING, PIECE_OF_HEART, {Category::cLakeHylia, Category::cMinigame,}, SpoilerCollectionCheck::Fishing(0x02), SpoilerCollectionCheckGroup::GROUP_LAKE_HYLIA); - locationTable[LH_ADULT_FISHING] = ItemLocation::Base (0x49, 0x38, "LH Adult Fishing", LH_ADULT_FISHING, PROGRESSIVE_SCALE, {Category::cLakeHylia, Category::cMinigame,}, SpoilerCollectionCheck::Fishing(0x03), SpoilerCollectionCheckGroup::GROUP_LAKE_HYLIA); - locationTable[LH_LAB_DIVE] = ItemLocation::Base (0x38, 0x3E, "LH Lab Dive", LH_LAB_DIVE, PIECE_OF_HEART, {Category::cLakeHylia,}, SpoilerCollectionCheck::ItemGetInf(24), SpoilerCollectionCheckGroup::GROUP_LAKE_HYLIA); - locationTable[LH_TRADE_FROG] = ItemLocation::Base (0x38, 0x25, "LH Lab Trade Eyeball Frog", LH_TRADE_FROG, EYEDROPS, {Category::cLakeHylia, Category::cAdultTrade}, SpoilerCollectionCheck::ItemGetInf(61), SpoilerCollectionCheckGroup::GROUP_LAKE_HYLIA); - locationTable[LH_UNDERWATER_ITEM] = ItemLocation::Base (0x57, 0x15, "LH Underwater Item", LH_UNDERWATER_ITEM, RUTOS_LETTER, {Category::cLakeHylia,}, SpoilerCollectionCheck::EventChkInf(0x31), SpoilerCollectionCheckGroup::GROUP_LAKE_HYLIA); - locationTable[LH_SUN] = ItemLocation::Base (0x57, 0x58, "LH Sun", LH_SUN, FIRE_ARROWS, {Category::cLakeHylia,}, SpoilerCollectionCheck::Chest(0x57, 0x00), SpoilerCollectionCheckGroup::GROUP_LAKE_HYLIA); - locationTable[LH_FREESTANDING_POH] = ItemLocation::Collectable(0x57, 0x1E, "LH Freestanding PoH", LH_FREESTANDING_POH, PIECE_OF_HEART, {Category::cLakeHylia,}, SpoilerCollectionCheckGroup::GROUP_LAKE_HYLIA); - locationTable[LH_DEKU_SCRUB_GROTTO_LEFT] = ItemLocation::GrottoScrub(0xEF, 0x30, "LH Deku Scrub Grotto Left", LH_DEKU_SCRUB_GROTTO_LEFT, DEKU_NUTS_5, {Category::cLakeHylia, Category::cDekuScrub, Category::cGrotto}, SpoilerCollectionCheck::Scrub(0x19, 0x01), SpoilerCollectionCheckGroup::GROUP_LAKE_HYLIA); - locationTable[LH_DEKU_SCRUB_GROTTO_RIGHT] = ItemLocation::GrottoScrub(0xEF, 0x37, "LH Deku Scrub Grotto Right", LH_DEKU_SCRUB_GROTTO_RIGHT, BOMBS_5, {Category::cLakeHylia, Category::cDekuScrub, Category::cGrotto}, SpoilerCollectionCheck::Scrub(0x19, 0x06), SpoilerCollectionCheckGroup::GROUP_LAKE_HYLIA); - locationTable[LH_DEKU_SCRUB_GROTTO_CENTER] = ItemLocation::GrottoScrub(0xEF, 0x33, "LH Deku Scrub Grotto Center", LH_DEKU_SCRUB_GROTTO_CENTER, DEKU_SEEDS_30, {Category::cLakeHylia, Category::cDekuScrub, Category::cGrotto}, SpoilerCollectionCheck::Scrub(0x19, 0x04), SpoilerCollectionCheckGroup::GROUP_LAKE_HYLIA); - - // Gerudo Valley - locationTable[GV_CHEST] = ItemLocation::Chest (0x5A, 0x00, "GV Chest", GV_CHEST, PURPLE_RUPEE, {Category::cGerudoValley, Category::cGerudo,}, SpoilerCollectionCheckGroup::GROUP_GERUDO_VALLEY); - locationTable[GV_TRADE_SAW] = ItemLocation::Base (0x5A, 0x22, "GV Trade Saw", GV_TRADE_SAW, BROKEN_SWORD, {Category::cGerudoValley, Category::cGerudo, Category::cAdultTrade}, SpoilerCollectionCheck::ItemGetInf(58), SpoilerCollectionCheckGroup::GROUP_GERUDO_VALLEY); - locationTable[GV_WATERFALL_FREESTANDING_POH] = ItemLocation::Collectable(0x5A, 0x01, "GV Waterfall Freestanding PoH", GV_WATERFALL_FREESTANDING_POH, PIECE_OF_HEART, {Category::cGerudoValley, Category::cGerudo,}, SpoilerCollectionCheckGroup::GROUP_GERUDO_VALLEY); - locationTable[GV_CRATE_FREESTANDING_POH] = ItemLocation::Collectable(0x5A, 0x02, "GV Crate Freestanding PoH", GV_CRATE_FREESTANDING_POH, PIECE_OF_HEART, {Category::cGerudoValley, Category::cGerudo,}, SpoilerCollectionCheckGroup::GROUP_GERUDO_VALLEY); - locationTable[GV_DEKU_SCRUB_GROTTO_REAR] = ItemLocation::GrottoScrub(0xF0, 0x39, "GV Deku Scrub Grotto Rear", GV_DEKU_SCRUB_GROTTO_REAR, RED_POTION_REFILL, {Category::cGerudoValley, Category::cGerudo, Category::cDekuScrub, Category::cGrotto}, SpoilerCollectionCheck::Scrub(0x1A, 0x08), SpoilerCollectionCheckGroup::GROUP_GERUDO_VALLEY); - locationTable[GV_DEKU_SCRUB_GROTTO_FRONT] = ItemLocation::GrottoScrub(0xF0, 0x3A, "GV Deku Scrub Grotto Front", GV_DEKU_SCRUB_GROTTO_FRONT, GREEN_POTION_REFILL, {Category::cGerudoValley, Category::cGerudo, Category::cDekuScrub, Category::cGrotto}, SpoilerCollectionCheck::Scrub(0x1A, 0x09), SpoilerCollectionCheckGroup::GROUP_GERUDO_VALLEY); - - // Gerudo Fortress - locationTable[GF_CHEST] = ItemLocation::Chest (0x5D, 0x00, "GF Chest", GF_CHEST, PIECE_OF_HEART, {Category::cGerudoFortress, Category::cGerudo,}, SpoilerCollectionCheckGroup::GROUP_GERUDO_VALLEY); - locationTable[GF_HBA_1000_POINTS] = ItemLocation::Base (0x5D, 0x3E, "GF HBA 1000 Points", GF_HBA_1000_POINTS, PIECE_OF_HEART, {Category::cGerudoFortress, Category::cGerudo, Category::cMinigame}, SpoilerCollectionCheck::InfTable(0x19, 0x08), SpoilerCollectionCheckGroup::GROUP_GERUDO_VALLEY); - locationTable[GF_HBA_1500_POINTS] = ItemLocation::Base (0x5D, 0x30, "GF HBA 1500 Points", GF_HBA_1500_POINTS, PROGRESSIVE_BOW, {Category::cGerudoFortress, Category::cGerudo, Category::cMinigame}, SpoilerCollectionCheck::ItemGetInf(7), SpoilerCollectionCheckGroup::GROUP_GERUDO_VALLEY); - locationTable[GF_GERUDO_TOKEN] = ItemLocation::Base (0x0C, 0x3A, "GF Gerudo Token", GF_GERUDO_TOKEN, GERUDO_TOKEN, {Category::cGerudoFortress, Category::cGerudo,}, SpoilerCollectionCheck::GerudoToken(), SpoilerCollectionCheckGroup::GROUP_GERUDO_VALLEY); - locationTable[GF_NORTH_F1_CARPENTER] = ItemLocation::Collectable(0x0C, 0x0C, "GF North F1 Carpenter", GF_NORTH_F1_CARPENTER, GERUDO_FORTRESS_SMALL_KEY, {Category::cGerudoFortress, Category::cGerudo, Category::cVanillaGFSmallKey}, SpoilerCollectionCheckGroup::GROUP_GERUDO_VALLEY); - locationTable[GF_NORTH_F2_CARPENTER] = ItemLocation::Collectable(0x0C, 0x0A, "GF North F2 Carpenter", GF_NORTH_F2_CARPENTER, GERUDO_FORTRESS_SMALL_KEY, {Category::cGerudoFortress, Category::cGerudo, Category::cVanillaGFSmallKey}, SpoilerCollectionCheckGroup::GROUP_GERUDO_VALLEY); - locationTable[GF_SOUTH_F1_CARPENTER] = ItemLocation::Collectable(0x0C, 0x0E, "GF South F1 Carpenter", GF_SOUTH_F1_CARPENTER, GERUDO_FORTRESS_SMALL_KEY, {Category::cGerudoFortress, Category::cGerudo, Category::cVanillaGFSmallKey}, SpoilerCollectionCheckGroup::GROUP_GERUDO_VALLEY); - locationTable[GF_SOUTH_F2_CARPENTER] = ItemLocation::Collectable(0x0C, 0x0F, "GF South F2 Carpenter", GF_SOUTH_F2_CARPENTER, GERUDO_FORTRESS_SMALL_KEY, {Category::cGerudoFortress, Category::cGerudo, Category::cVanillaGFSmallKey}, SpoilerCollectionCheckGroup::GROUP_GERUDO_VALLEY); - - // Haunted Wasteland - locationTable[WASTELAND_CHEST] = ItemLocation::Chest (0x5E, 0x00, "Wasteland Chest", WASTELAND_CHEST, PURPLE_RUPEE, {Category::cHauntedWasteland,}, SpoilerCollectionCheckGroup::GROUP_HAUNTED_WASTELAND); - locationTable[WASTELAND_BOMBCHU_SALESMAN] = ItemLocation::Base (0x5E, 0x03, "Wasteland Carpet Salesman", WASTELAND_BOMBCHU_SALESMAN, BOMBCHU_10, {Category::cHauntedWasteland, Category::cMerchant,}, SpoilerCollectionCheck::EventChkInf(0x34), SpoilerCollectionCheckGroup::GROUP_HAUNTED_WASTELAND); - - // Desert Colossus - locationTable[COLOSSUS_FREESTANDING_POH] = ItemLocation::Collectable(0x5C, 0x0D, "Colossus Freestanding PoH", COLOSSUS_FREESTANDING_POH, PIECE_OF_HEART, {Category::cDesertColossus,}, SpoilerCollectionCheckGroup::GROUP_HAUNTED_WASTELAND); - locationTable[COLOSSUS_DEKU_SCRUB_GROTTO_REAR] = ItemLocation::GrottoScrub(0xFD, 0x39, "Colossus Deku Scrub Grotto Rear", COLOSSUS_DEKU_SCRUB_GROTTO_REAR, RED_POTION_REFILL, {Category::cDesertColossus, Category::cDekuScrub, Category::cGrotto}, SpoilerCollectionCheck::Scrub(0x27, 0x08), SpoilerCollectionCheckGroup::GROUP_HAUNTED_WASTELAND); - locationTable[COLOSSUS_DEKU_SCRUB_GROTTO_FRONT] = ItemLocation::GrottoScrub(0xFD, 0x3A, "Colossus Deku Scrub Grotto Front", COLOSSUS_DEKU_SCRUB_GROTTO_FRONT, GREEN_POTION_REFILL, {Category::cDesertColossus, Category::cDekuScrub, Category::cGrotto}, SpoilerCollectionCheck::Scrub(0x27, 0x09), SpoilerCollectionCheckGroup::GROUP_HAUNTED_WASTELAND); - - // Market - locationTable[MARKET_TREASURE_CHEST_GAME_REWARD] = ItemLocation::Chest (0x10, 0x0A, "MK Treasure Chest Game Reward", MARKET_TREASURE_CHEST_GAME_REWARD, TREASURE_GAME_HEART, {Category::cInnerMarket, Category::cMarket, Category::cMinigame}, SpoilerCollectionCheck::ItemGetInf(19), SpoilerCollectionCheckGroup::GROUP_MARKET); - locationTable[MARKET_BOMBCHU_BOWLING_FIRST_PRIZE] = ItemLocation::Base (0x4B, 0x33, "MK Bombchu Bowling First Prize", MARKET_BOMBCHU_BOWLING_FIRST_PRIZE, PROGRESSIVE_BOMB_BAG, {Category::cInnerMarket, Category::cMarket, Category::cMinigame}, SpoilerCollectionCheck::ItemGetInf(25), SpoilerCollectionCheckGroup::GROUP_MARKET); - locationTable[MARKET_BOMBCHU_BOWLING_SECOND_PRIZE] = ItemLocation::Base (0x4B, 0x3E, "MK Bombchu Bowling Second Prize", MARKET_BOMBCHU_BOWLING_SECOND_PRIZE, PIECE_OF_HEART, {Category::cInnerMarket, Category::cMarket, Category::cMinigame}, SpoilerCollectionCheck::ItemGetInf(26), SpoilerCollectionCheckGroup::GROUP_MARKET); - locationTable[MARKET_BOMBCHU_BOWLING_BOMBCHUS] = ItemLocation::Base (0x4B, 0xFF, "MK Bombchu Bowling Bombchus", NONE, BOMBCHU_DROP, {Category::cInnerMarket, Category::cMarket, Category::cMinigame}, SpoilerCollectionCheck::None(), SpoilerCollectionCheckGroup::GROUP_MARKET); - locationTable[MARKET_LOST_DOG] = ItemLocation::Base (0x35, 0x3E, "MK Lost Dog", MARKET_LOST_DOG, PIECE_OF_HEART, {Category::cInnerMarket, Category::cMarket,}, SpoilerCollectionCheck::InfTable(0x19, 0x09), SpoilerCollectionCheckGroup::GROUP_MARKET); - locationTable[MARKET_SHOOTING_GALLERY_REWARD] = ItemLocation::Base (0x42, 0x60, "MK Shooting Gallery", MARKET_SHOOTING_GALLERY_REWARD, PROGRESSIVE_SLINGSHOT, {Category::cInnerMarket, Category::cMarket, Category::cMinigame}, SpoilerCollectionCheck::ItemGetInf(5), SpoilerCollectionCheckGroup::GROUP_MARKET); - locationTable[MARKET_10_BIG_POES] = ItemLocation::Base (0x4D, 0x0F, "MK 10 Big Poes", MARKET_10_BIG_POES, EMPTY_BOTTLE, {Category::cInnerMarket, Category::cMarket,}, SpoilerCollectionCheck::BigPoePoints(), SpoilerCollectionCheckGroup::GROUP_MARKET); - locationTable[MARKET_TREASURE_CHEST_GAME_ITEM_1] = ItemLocation::Chest (0x10, 0x01, "MK Chest Game First Room Chest", MARKET_TREASURE_CHEST_GAME_ITEM_1, TREASURE_GAME_SMALL_KEY, {Category::cInnerMarket, Category::cMarket, Category::cMinigame, Category::cChestMinigame}, SpoilerCollectionCheckGroup::GROUP_MARKET); - locationTable[MARKET_TREASURE_CHEST_GAME_ITEM_2] = ItemLocation::Chest (0x10, 0x03, "MK Chest Game Second Room Chest", MARKET_TREASURE_CHEST_GAME_ITEM_2, TREASURE_GAME_SMALL_KEY, {Category::cInnerMarket, Category::cMarket, Category::cMinigame, Category::cChestMinigame}, SpoilerCollectionCheckGroup::GROUP_MARKET); - locationTable[MARKET_TREASURE_CHEST_GAME_ITEM_3] = ItemLocation::Chest (0x10, 0x05, "MK Chest Game Third Room Chest", MARKET_TREASURE_CHEST_GAME_ITEM_3, TREASURE_GAME_SMALL_KEY, {Category::cInnerMarket, Category::cMarket, Category::cMinigame, Category::cChestMinigame}, SpoilerCollectionCheckGroup::GROUP_MARKET); - locationTable[MARKET_TREASURE_CHEST_GAME_ITEM_4] = ItemLocation::Chest (0x10, 0x07, "MK Chest Game Fourth Room Chest", MARKET_TREASURE_CHEST_GAME_ITEM_4, TREASURE_GAME_SMALL_KEY, {Category::cInnerMarket, Category::cMarket, Category::cMinigame, Category::cChestMinigame}, SpoilerCollectionCheckGroup::GROUP_MARKET); - locationTable[MARKET_TREASURE_CHEST_GAME_ITEM_5] = ItemLocation::Chest (0x10, 0x09, "MK Chest Game Fifth Room Chest", MARKET_TREASURE_CHEST_GAME_ITEM_5, TREASURE_GAME_SMALL_KEY, {Category::cInnerMarket, Category::cMarket, Category::cMinigame, Category::cChestMinigame}, SpoilerCollectionCheckGroup::GROUP_MARKET); - - // Hyrule Castle - locationTable[HC_MALON_EGG] = ItemLocation::Base (0x5F, 0x47, "HC Malon Egg", HC_MALON_EGG, WEIRD_EGG, {Category::cHyruleCastle, Category::cMarket,}, SpoilerCollectionCheck::EventChkInf(0x12), SpoilerCollectionCheckGroup::GROUP_HYRULE_CASTLE); - locationTable[HC_ZELDAS_LETTER] = ItemLocation::Base (0x4A, 0x0B, "HC Zeldas Letter", HC_ZELDAS_LETTER, ZELDAS_LETTER, {Category::cHyruleCastle, Category::cMarket,}, SpoilerCollectionCheck::EventChkInf(0x40), SpoilerCollectionCheckGroup::GROUP_HYRULE_CASTLE); - - // Kakariko - locationTable[KAK_REDEAD_GROTTO_CHEST] = ItemLocation::Chest (0x3E, 0x0A, "Kak Redead Grotto Chest", KAK_REDEAD_GROTTO_CHEST, HUGE_RUPEE, {Category::cKakarikoVillage, Category::cKakariko, Category::cGrotto}, SpoilerCollectionCheckGroup::GROUP_KAKARIKO); - locationTable[KAK_OPEN_GROTTO_CHEST] = ItemLocation::Chest (0x3E, 0x08, "Kak Open Grotto Chest", KAK_OPEN_GROTTO_CHEST, RED_RUPEE, {Category::cKakarikoVillage, Category::cKakariko, Category::cGrotto}, SpoilerCollectionCheckGroup::GROUP_KAKARIKO); - locationTable[KAK_10_GOLD_SKULLTULA_REWARD] = ItemLocation::Base (0x50, 0x45, "Kak 10 Gold Skulltula Reward", KAK_10_GOLD_SKULLTULA_REWARD, PROGRESSIVE_WALLET, {Category::cKakarikoVillage, Category::cKakariko, Category::cSkulltulaHouse}, SpoilerCollectionCheck::EventChkInf(0xDA), SpoilerCollectionCheckGroup::GROUP_KAKARIKO); - locationTable[KAK_20_GOLD_SKULLTULA_REWARD] = ItemLocation::Base (0x50, 0x39, "Kak 20 Gold Skulltula Reward", KAK_20_GOLD_SKULLTULA_REWARD, SHARD_OF_AGONY, {Category::cKakarikoVillage, Category::cKakariko, Category::cSkulltulaHouse}, SpoilerCollectionCheck::EventChkInf(0xDB), SpoilerCollectionCheckGroup::GROUP_KAKARIKO); - locationTable[KAK_30_GOLD_SKULLTULA_REWARD] = ItemLocation::Base (0x50, 0x46, "Kak 30 Gold Skulltula Reward", KAK_30_GOLD_SKULLTULA_REWARD, PROGRESSIVE_WALLET, {Category::cKakarikoVillage, Category::cKakariko, Category::cSkulltulaHouse}, SpoilerCollectionCheck::EventChkInf(0xDC), SpoilerCollectionCheckGroup::GROUP_KAKARIKO); - locationTable[KAK_40_GOLD_SKULLTULA_REWARD] = ItemLocation::Base (0x50, 0x03, "Kak 40 Gold Skulltula Reward", KAK_40_GOLD_SKULLTULA_REWARD, BOMBCHU_10, {Category::cKakarikoVillage, Category::cKakariko, Category::cSkulltulaHouse}, SpoilerCollectionCheck::EventChkInf(0xDD), SpoilerCollectionCheckGroup::GROUP_KAKARIKO); - locationTable[KAK_50_GOLD_SKULLTULA_REWARD] = ItemLocation::Base (0x50, 0x3E, "Kak 50 Gold Skulltula Reward", KAK_50_GOLD_SKULLTULA_REWARD, PIECE_OF_HEART, {Category::cKakarikoVillage, Category::cKakariko, Category::cSkulltulaHouse}, SpoilerCollectionCheck::EventChkInf(0xDE), SpoilerCollectionCheckGroup::GROUP_KAKARIKO); - locationTable[KAK_MAN_ON_ROOF] = ItemLocation::Base (0x52, 0x3E, "Kak Man on Roof", KAK_MAN_ON_ROOF, PIECE_OF_HEART, {Category::cKakarikoVillage, Category::cKakariko,}, SpoilerCollectionCheck::ItemGetInf(29), SpoilerCollectionCheckGroup::GROUP_KAKARIKO); - locationTable[KAK_SHOOTING_GALLERY_REWARD] = ItemLocation::Base (0x42, 0x30, "Kak Shooting Gallery Reward", KAK_SHOOTING_GALLERY_REWARD, PROGRESSIVE_BOW, {Category::cKakarikoVillage, Category::cKakariko, Category::cMinigame}, SpoilerCollectionCheck::ItemGetInf(6), SpoilerCollectionCheckGroup::GROUP_KAKARIKO); - locationTable[KAK_TRADE_ODD_MUSHROOM] = ItemLocation::Base (0x4E, 0x20, "Kak Trade Odd Mushroom", KAK_TRADE_ODD_MUSHROOM, ODD_POULTICE, {Category::cKakarikoVillage, Category::cKakariko, Category::cAdultTrade}, SpoilerCollectionCheck::ItemGetInf(56), SpoilerCollectionCheckGroup::GROUP_KAKARIKO); - locationTable[KAK_GRANNYS_SHOP] = ItemLocation::Base (0x4E, 0x10, "Kak Granny's Shop", KAK_GRANNYS_SHOP, BLUE_POTION_REFILL, {Category::cKakarikoVillage, Category::cKakariko, Category::cMerchant}, SpoilerCollectionCheck::EventChkInf(0x32), SpoilerCollectionCheckGroup::GROUP_KAKARIKO); - locationTable[KAK_ANJU_AS_ADULT] = ItemLocation::Base (0x52, 0x1D, "Kak Anju as Adult", KAK_ANJU_AS_ADULT, POCKET_EGG, {Category::cKakarikoVillage, Category::cKakariko,}, SpoilerCollectionCheck::ItemGetInf(36), SpoilerCollectionCheckGroup::GROUP_KAKARIKO); - locationTable[KAK_ANJU_AS_CHILD] = ItemLocation::Base (0x52, 0x0F, "Kak Anju as Child", KAK_ANJU_AS_CHILD, EMPTY_BOTTLE, {Category::cKakarikoVillage, Category::cKakariko, Category::cMinigame}, SpoilerCollectionCheck::ItemGetInf(4), SpoilerCollectionCheckGroup::GROUP_KAKARIKO); - locationTable[KAK_TRADE_POCKET_CUCCO] = ItemLocation::Base (0x52, 0x0E, "Kak Trade Pocket Cucco", KAK_TRADE_POCKET_CUCCO, COJIRO, {Category::cKakarikoVillage, Category::cKakariko, Category::cAdultTrade}, SpoilerCollectionCheck::ItemGetInf(38), SpoilerCollectionCheckGroup::GROUP_KAKARIKO); - locationTable[KAK_IMPAS_HOUSE_FREESTANDING_POH] = ItemLocation::Collectable(0x37, 0x01, "Kak Impas House Freestanding PoH", KAK_IMPAS_HOUSE_FREESTANDING_POH, PIECE_OF_HEART, {Category::cKakarikoVillage, Category::cKakariko,}, SpoilerCollectionCheckGroup::GROUP_KAKARIKO); - locationTable[KAK_WINDMILL_FREESTANDING_POH] = ItemLocation::Collectable(0x48, 0x01, "Kak Windmill Freestanding PoH", KAK_WINDMILL_FREESTANDING_POH, PIECE_OF_HEART, {Category::cKakarikoVillage, Category::cKakariko,}, SpoilerCollectionCheckGroup::GROUP_KAKARIKO); - - // Graveyard - locationTable[GRAVEYARD_SHIELD_GRAVE_CHEST] = ItemLocation::Chest (0x40, 0x00, "GY Shield Grave Chest", GRAVEYARD_SHIELD_GRAVE_CHEST, HYLIAN_SHIELD, {Category::cGraveyard, Category::cKakariko,}, SpoilerCollectionCheckGroup::GROUP_GRAVEYARD); - locationTable[GRAVEYARD_HEART_PIECE_GRAVE_CHEST] = ItemLocation::Chest (0x3F, 0x00, "GY Heart Piece Grave Chest", GRAVEYARD_HEART_PIECE_GRAVE_CHEST, PIECE_OF_HEART, {Category::cGraveyard, Category::cKakariko,}, SpoilerCollectionCheckGroup::GROUP_GRAVEYARD); - locationTable[GRAVEYARD_COMPOSERS_GRAVE_CHEST] = ItemLocation::Chest (0x41, 0x00, "GY Composers Grave Chest", GRAVEYARD_COMPOSERS_GRAVE_CHEST, BOMBS_5, {Category::cGraveyard, Category::cKakariko,}, SpoilerCollectionCheckGroup::GROUP_GRAVEYARD); - locationTable[GRAVEYARD_HOOKSHOT_CHEST] = ItemLocation::Chest (0x48, 0x00, "GY Hookshot Chest", GRAVEYARD_HOOKSHOT_CHEST, PROGRESSIVE_HOOKSHOT, {Category::cGraveyard, Category::cKakariko,}, SpoilerCollectionCheckGroup::GROUP_GRAVEYARD); - locationTable[GRAVEYARD_DAMPE_RACE_FREESTANDING_POH] = ItemLocation::Collectable(0x48, 0x07, "GY Dampe Race Freestanding PoH", GRAVEYARD_DAMPE_RACE_FREESTANDING_POH, PIECE_OF_HEART, {Category::cGraveyard, Category::cKakariko, Category::cMinigame}, SpoilerCollectionCheckGroup::GROUP_GRAVEYARD); - locationTable[GRAVEYARD_FREESTANDING_POH] = ItemLocation::Collectable(0x53, 0x04, "GY Freestanding PoH", GRAVEYARD_FREESTANDING_POH, PIECE_OF_HEART, {Category::cGraveyard, Category::cKakariko,}, SpoilerCollectionCheckGroup::GROUP_GRAVEYARD); - locationTable[GRAVEYARD_DAMPE_GRAVEDIGGING_TOUR] = ItemLocation::Collectable(0x53, 0x08, "GY Dampe Gravedigging Tour", GRAVEYARD_DAMPE_GRAVEDIGGING_TOUR, PIECE_OF_HEART, {Category::cGraveyard, Category::cKakariko,}, SpoilerCollectionCheck::ItemGetInf(20), SpoilerCollectionCheckGroup::GROUP_GRAVEYARD); - - // Death Mountain Trail - locationTable[DMT_CHEST] = ItemLocation::Chest (0x60, 0x01, "DMT Chest", DMT_CHEST, PURPLE_RUPEE, {Category::cDeathMountainTrail, Category::cDeathMountain,}, SpoilerCollectionCheckGroup::GROUP_DEATH_MOUNTAIN_TRAIL); - locationTable[DMT_STORMS_GROTTO_CHEST] = ItemLocation::Chest (0x3E, 0x17, "DMT Storms Grotto Chest", DMT_STORMS_GROTTO_CHEST, HUGE_RUPEE, {Category::cDeathMountainTrail, Category::cDeathMountain, Category::cGrotto}, SpoilerCollectionCheckGroup::GROUP_DEATH_MOUNTAIN_TRAIL); - locationTable[DMT_TRADE_BROKEN_SWORD] = ItemLocation::Base (0x60, 0x23, "DMT Trade Broken Sword", DMT_TRADE_BROKEN_SWORD, PRESCRIPTION, {Category::cDeathMountainTrail, Category::cDeathMountain, Category::cAdultTrade}, SpoilerCollectionCheck::Biggoron(0x4), SpoilerCollectionCheckGroup::GROUP_DEATH_MOUNTAIN_TRAIL); - locationTable[DMT_TRADE_EYEDROPS] = ItemLocation::Base (0x60, 0x26, "DMT Trade Eyedrops", DMT_TRADE_EYEDROPS, CLAIM_CHECK, {Category::cDeathMountainTrail, Category::cDeathMountain, Category::cAdultTrade}, SpoilerCollectionCheck::Biggoron(0x2), SpoilerCollectionCheckGroup::GROUP_DEATH_MOUNTAIN_TRAIL); - locationTable[DMT_TRADE_CLAIM_CHECK] = ItemLocation::Base (0x60, 0x57, "DMT Trade Claim Check", DMT_TRADE_CLAIM_CHECK, BIGGORON_SWORD, {Category::cDeathMountainTrail, Category::cDeathMountain}, SpoilerCollectionCheck::Biggoron(0x1), SpoilerCollectionCheckGroup::GROUP_DEATH_MOUNTAIN_TRAIL); - locationTable[DMT_FREESTANDING_POH] = ItemLocation::Collectable(0x60, 0x1E, "DMT Freestanding PoH", DMT_FREESTANDING_POH, PIECE_OF_HEART, {Category::cDeathMountainTrail, Category::cDeathMountain,}, SpoilerCollectionCheckGroup::GROUP_DEATH_MOUNTAIN_TRAIL); - - // Goron City - locationTable[GC_MAZE_LEFT_CHEST] = ItemLocation::Chest (0x62, 0x00, "GC Maze Left Chest", GC_MAZE_LEFT_CHEST, HUGE_RUPEE, {Category::cGoronCity,}, SpoilerCollectionCheckGroup::GROUP_GORON_CITY); - locationTable[GC_MAZE_RIGHT_CHEST] = ItemLocation::Chest (0x62, 0x01, "GC Maze Right Chest", GC_MAZE_RIGHT_CHEST, PURPLE_RUPEE, {Category::cGoronCity,}, SpoilerCollectionCheckGroup::GROUP_GORON_CITY); - locationTable[GC_MAZE_CENTER_CHEST] = ItemLocation::Chest (0x62, 0x02, "GC Maze Center Chest", GC_MAZE_CENTER_CHEST, PURPLE_RUPEE, {Category::cGoronCity,}, SpoilerCollectionCheckGroup::GROUP_GORON_CITY); - locationTable[GC_ROLLING_GORON_AS_CHILD] = ItemLocation::Base (0x62, 0x34, "GC Rolling Goron as Child", GC_ROLLING_GORON_AS_CHILD, PROGRESSIVE_BOMB_BAG, {Category::cGoronCity,}, SpoilerCollectionCheck::InfTable(0x11, 0x06), SpoilerCollectionCheckGroup::GROUP_GORON_CITY); - locationTable[GC_ROLLING_GORON_AS_ADULT] = ItemLocation::Base (0x62, 0x2C, "GC Rolling Goron as Adult", GC_ROLLING_GORON_AS_ADULT, GORON_TUNIC, {Category::cGoronCity,}, SpoilerCollectionCheck::InfTable(0x10, 0x01), SpoilerCollectionCheckGroup::GROUP_GORON_CITY); - locationTable[GC_DARUNIAS_JOY] = ItemLocation::Base (0x62, 0x54, "GC Darunias Joy", GC_DARUNIAS_JOY, PROGRESSIVE_STRENGTH, {Category::cGoronCity,}, SpoilerCollectionCheck::EventChkInf(0x36), SpoilerCollectionCheckGroup::GROUP_GORON_CITY); - locationTable[GC_POT_FREESTANDING_POH] = ItemLocation::Collectable(0x62, 0x1F, "GC Pot Freestanding PoH", GC_POT_FREESTANDING_POH, PIECE_OF_HEART, {Category::cGoronCity,}, SpoilerCollectionCheckGroup::GROUP_GORON_CITY); - locationTable[GC_DEKU_SCRUB_GROTTO_LEFT] = ItemLocation::GrottoScrub(0xFB, 0x30, "GC Deku Scrub Grotto Left", GC_DEKU_SCRUB_GROTTO_LEFT, DEKU_NUTS_5, {Category::cGoronCity, Category::cDekuScrub, Category::cGrotto}, SpoilerCollectionCheck::Scrub(0x25, 0x01), SpoilerCollectionCheckGroup::GROUP_GORON_CITY); - locationTable[GC_DEKU_SCRUB_GROTTO_RIGHT] = ItemLocation::GrottoScrub(0xFB, 0x37, "GC Deku Scrub Grotto Right", GC_DEKU_SCRUB_GROTTO_RIGHT, BOMBS_5, {Category::cGoronCity, Category::cDekuScrub, Category::cGrotto}, SpoilerCollectionCheck::Scrub(0x25, 0x06), SpoilerCollectionCheckGroup::GROUP_GORON_CITY); - locationTable[GC_DEKU_SCRUB_GROTTO_CENTER] = ItemLocation::GrottoScrub(0xFB, 0x33, "GC Deku Scrub Grotto Center", GC_DEKU_SCRUB_GROTTO_CENTER, ARROWS_30, {Category::cGoronCity, Category::cDekuScrub, Category::cGrotto}, SpoilerCollectionCheck::Scrub(0x25, 0x04), SpoilerCollectionCheckGroup::GROUP_GORON_CITY); - locationTable[GC_MEDIGORON] = ItemLocation::Base (0x62, 0x51, "GC Medigoron", GC_MEDIGORON, GIANTS_KNIFE, {Category::cGoronCity, Category::cMerchant,}, SpoilerCollectionCheck::EventChkInf(0x35), SpoilerCollectionCheckGroup::GROUP_GORON_CITY); - - // Death Mountain Crater - locationTable[DMC_UPPER_GROTTO_CHEST] = ItemLocation::Chest (0x3E, 0x1A, "DMC Upper Grotto Chest", DMC_UPPER_GROTTO_CHEST, BOMBS_20, {Category::cDeathMountainCrater, Category::cDeathMountain, Category::cGrotto}, SpoilerCollectionCheckGroup::GROUP_DEATH_MOUNTAIN_CRATER); - locationTable[DMC_WALL_FREESTANDING_POH] = ItemLocation::Collectable(0x61, 0x02, "DMC Wall Freestanding PoH", DMC_WALL_FREESTANDING_POH, PIECE_OF_HEART, {Category::cDeathMountainCrater, Category::cDeathMountain,}, SpoilerCollectionCheckGroup::GROUP_DEATH_MOUNTAIN_CRATER); - locationTable[DMC_VOLCANO_FREESTANDING_POH] = ItemLocation::Collectable(0x61, 0x08, "DMC Volcano Freestanding PoH", DMC_VOLCANO_FREESTANDING_POH, PIECE_OF_HEART, {Category::cDeathMountainCrater, Category::cDeathMountain,}, SpoilerCollectionCheckGroup::GROUP_DEATH_MOUNTAIN_CRATER); - locationTable[DMC_DEKU_SCRUB] = ItemLocation::Base (0x61, 0x37, "DMC Deku Scrub", DMC_DEKU_SCRUB, BOMBS_5, {Category::cDeathMountainCrater, Category::cDeathMountain, Category::cDekuScrub}, SpoilerCollectionCheck::Scrub(0x61, 0x06), SpoilerCollectionCheckGroup::GROUP_DEATH_MOUNTAIN_CRATER); - locationTable[DMC_DEKU_SCRUB_GROTTO_LEFT] = ItemLocation::GrottoScrub(0xF9, 0x30, "DMC Deku Scrub Grotto Left", DMC_DEKU_SCRUB_GROTTO_LEFT, DEKU_NUTS_5, {Category::cDeathMountainCrater, Category::cDeathMountain, Category::cDekuScrub, Category::cGrotto}, SpoilerCollectionCheck::Scrub(0x23, 0x01), SpoilerCollectionCheckGroup::GROUP_DEATH_MOUNTAIN_CRATER); - locationTable[DMC_DEKU_SCRUB_GROTTO_RIGHT] = ItemLocation::GrottoScrub(0xF9, 0x37, "DMC Deku Scrub Grotto Right", DMC_DEKU_SCRUB_GROTTO_RIGHT, BOMBS_5, {Category::cDeathMountainCrater, Category::cDeathMountain, Category::cDekuScrub, Category::cGrotto}, SpoilerCollectionCheck::Scrub(0x23, 0x06), SpoilerCollectionCheckGroup::GROUP_DEATH_MOUNTAIN_CRATER); - locationTable[DMC_DEKU_SCRUB_GROTTO_CENTER] = ItemLocation::GrottoScrub(0xF9, 0x33, "DMC Deku Scrub Grotto Center", DMC_DEKU_SCRUB_GROTTO_CENTER, ARROWS_30, {Category::cDeathMountainCrater, Category::cDeathMountain, Category::cDekuScrub, Category::cGrotto}, SpoilerCollectionCheck::Scrub(0x23, 0x04), SpoilerCollectionCheckGroup::GROUP_DEATH_MOUNTAIN_CRATER); - - // Zoras River - locationTable[ZR_OPEN_GROTTO_CHEST] = ItemLocation::Chest (0x3E, 0x09, "ZR Open Grotto Chest", ZR_OPEN_GROTTO_CHEST, RED_RUPEE, {Category::cZorasRiver, Category::cGrotto,}, SpoilerCollectionCheckGroup::GROUP_ZORAS_RIVER); - locationTable[ZR_MAGIC_BEAN_SALESMAN] = ItemLocation::Base (0x54, 0x16, "ZR Magic Bean Salesman", ZR_MAGIC_BEAN_SALESMAN, MAGIC_BEAN, {Category::cZorasRiver,}, SpoilerCollectionCheck::MagicBeans(0x54, 0x01), SpoilerCollectionCheckGroup::GROUP_ZORAS_RIVER); - locationTable[ZR_FROGS_ZELDAS_LULLABY] = ItemLocation::Base (0x54, 0x01, "ZR Frogs Zelda's Lullaby", ZR_FROGS_ZELDAS_LULLABY, PURPLE_RUPEE, {Category::cZorasRiver, Category::cFrogRupees}, SpoilerCollectionCheck::EventChkInf(0xD1), SpoilerCollectionCheckGroup::GROUP_ZORAS_RIVER); - locationTable[ZR_FROGS_EPONAS_SONG] = ItemLocation::Base (0x54, 0x02, "ZR Frogs Epona's Song", ZR_FROGS_EPONAS_SONG, PURPLE_RUPEE, {Category::cZorasRiver, Category::cFrogRupees}, SpoilerCollectionCheck::EventChkInf(0xD2), SpoilerCollectionCheckGroup::GROUP_ZORAS_RIVER); - locationTable[ZR_FROGS_SARIAS_SONG] = ItemLocation::Base (0x54, 0x03, "ZR Frogs Saria's Song", ZR_FROGS_SARIAS_SONG, PURPLE_RUPEE, {Category::cZorasRiver, Category::cFrogRupees}, SpoilerCollectionCheck::EventChkInf(0xD4), SpoilerCollectionCheckGroup::GROUP_ZORAS_RIVER); - locationTable[ZR_FROGS_SUNS_SONG] = ItemLocation::Base (0x54, 0x04, "ZR Frogs Sun's Song", ZR_FROGS_SUNS_SONG, PURPLE_RUPEE, {Category::cZorasRiver, Category::cFrogRupees}, SpoilerCollectionCheck::EventChkInf(0xD3), SpoilerCollectionCheckGroup::GROUP_ZORAS_RIVER); - locationTable[ZR_FROGS_SONG_OF_TIME] = ItemLocation::Base (0x54, 0x05, "ZR Frogs Song of Time", ZR_FROGS_SONG_OF_TIME, PURPLE_RUPEE, {Category::cZorasRiver, Category::cFrogRupees}, SpoilerCollectionCheck::EventChkInf(0xD5), SpoilerCollectionCheckGroup::GROUP_ZORAS_RIVER); - locationTable[ZR_FROGS_IN_THE_RAIN] = ItemLocation::Base (0x54, 0x3E, "ZR Frogs in the Rain", ZR_FROGS_IN_THE_RAIN, PIECE_OF_HEART, {Category::cZorasRiver,}, SpoilerCollectionCheck::EventChkInf(0xD6), SpoilerCollectionCheckGroup::GROUP_ZORAS_RIVER); - locationTable[ZR_FROGS_OCARINA_GAME] = ItemLocation::Base (0x54, 0x76, "ZR Frogs Ocarina Game", ZR_FROGS_OCARINA_GAME, PIECE_OF_HEART, {Category::cZorasRiver, Category::cMinigame,}, SpoilerCollectionCheck::EventChkInf(0xD0), SpoilerCollectionCheckGroup::GROUP_ZORAS_RIVER); - locationTable[ZR_NEAR_OPEN_GROTTO_FREESTANDING_POH] = ItemLocation::Collectable(0x54, 0x04, "ZR Near Open Grotto Freestanding PoH", ZR_NEAR_OPEN_GROTTO_FREESTANDING_POH, PIECE_OF_HEART, {Category::cZorasRiver,}, SpoilerCollectionCheckGroup::GROUP_ZORAS_RIVER); - locationTable[ZR_NEAR_DOMAIN_FREESTANDING_POH] = ItemLocation::Collectable(0x54, 0x0B, "ZR Near Domain Freestanding PoH", ZR_NEAR_DOMAIN_FREESTANDING_POH, PIECE_OF_HEART, {Category::cZorasRiver,}, SpoilerCollectionCheckGroup::GROUP_ZORAS_RIVER); - locationTable[ZR_DEKU_SCRUB_GROTTO_REAR] = ItemLocation::GrottoScrub(0xEB, 0x39, "ZR Deku Scrub Grotto Rear", ZR_DEKU_SCRUB_GROTTO_REAR, RED_POTION_REFILL, {Category::cZorasRiver, Category::cDekuScrub, Category::cGrotto}, SpoilerCollectionCheck::Scrub(0x15, 0x08), SpoilerCollectionCheckGroup::GROUP_ZORAS_RIVER); - locationTable[ZR_DEKU_SCRUB_GROTTO_FRONT] = ItemLocation::GrottoScrub(0xEB, 0x3A, "ZR Deku Scrub Grotto Front", ZR_DEKU_SCRUB_GROTTO_FRONT, GREEN_POTION_REFILL, {Category::cZorasRiver, Category::cDekuScrub, Category::cGrotto}, SpoilerCollectionCheck::Scrub(0x15, 0x09), SpoilerCollectionCheckGroup::GROUP_ZORAS_RIVER); - - // Zoras Domain - locationTable[ZD_CHEST] = ItemLocation::Chest (0x58, 0x00, "ZD Chest", ZD_CHEST, PIECE_OF_HEART, {Category::cZorasDomain,}, SpoilerCollectionCheckGroup::GROUP_ZORAS_DOMAIN); - locationTable[ZD_DIVING_MINIGAME] = ItemLocation::Base (0x58, 0x37, "ZD Diving Minigame", ZD_DIVING_MINIGAME, PROGRESSIVE_SCALE, {Category::cZorasDomain, Category::cMinigame,}, SpoilerCollectionCheck::EventChkInf(0x38), SpoilerCollectionCheckGroup::GROUP_ZORAS_DOMAIN); - locationTable[ZD_KING_ZORA_THAWED] = ItemLocation::Base (0x58, 0x2D, "ZD King Zora Thawed", ZD_KING_ZORA_THAWED, ZORA_TUNIC, {Category::cZorasDomain,}, SpoilerCollectionCheck::InfTable(0x13, 0x01), SpoilerCollectionCheckGroup::GROUP_ZORAS_DOMAIN); - locationTable[ZD_TRADE_PRESCRIPTION] = ItemLocation::Base (0x58, 0x24, "ZD Trade Prescription", ZD_TRADE_PRESCRIPTION, EYEBALL_FROG, {Category::cZorasDomain, Category::cAdultTrade}, SpoilerCollectionCheck::ItemGetInf(60), SpoilerCollectionCheckGroup::GROUP_ZORAS_DOMAIN); - - // Zoras Fountain - locationTable[ZF_ICEBERG_FREESTANDING_POH] = ItemLocation::Collectable(0x59, 0x01, "ZF Iceberg Freestanding PoH", ZF_ICEBERG_FREESTANDING_POH, PIECE_OF_HEART, {Category::cZorasFountain,}, SpoilerCollectionCheckGroup::GROUP_ZORAS_FOUNTAIN); - locationTable[ZF_BOTTOM_FREESTANDING_POH] = ItemLocation::Collectable(0x59, 0x14, "ZF Bottom Freestanding PoH", ZF_BOTTOM_FREESTANDING_POH, PIECE_OF_HEART, {Category::cZorasFountain,}, SpoilerCollectionCheckGroup::GROUP_ZORAS_FOUNTAIN); - - // Lon Lon Ranch - locationTable[LLR_TALONS_CHICKENS] = ItemLocation::Base (0x4C, 0x14, "LLR Talons Chickens", LLR_TALONS_CHICKENS, BOTTLE_WITH_MILK, {Category::cLonLonRanch, Category::cMinigame}, SpoilerCollectionCheck::ItemGetInf(10), SpoilerCollectionCheckGroup::GROUP_LON_LON_RANCH); - locationTable[LLR_FREESTANDING_POH] = ItemLocation::Collectable(0x4C, 0x01, "LLR Freestanding PoH", LLR_FREESTANDING_POH, PIECE_OF_HEART, {Category::cLonLonRanch,}, SpoilerCollectionCheckGroup::GROUP_LON_LON_RANCH); - locationTable[LLR_DEKU_SCRUB_GROTTO_LEFT] = ItemLocation::GrottoScrub(0xFC, 0x30, "LLR Deku Scrub Grotto Left", LLR_DEKU_SCRUB_GROTTO_LEFT, DEKU_NUTS_5, {Category::cLonLonRanch, Category::cDekuScrub, Category::cGrotto}, SpoilerCollectionCheck::Scrub(0x26, 0x01), SpoilerCollectionCheckGroup::GROUP_LON_LON_RANCH); - locationTable[LLR_DEKU_SCRUB_GROTTO_RIGHT] = ItemLocation::GrottoScrub(0xFC, 0x37, "LLR Deku Scrub Grotto Right", LLR_DEKU_SCRUB_GROTTO_RIGHT, BOMBS_5, {Category::cLonLonRanch, Category::cDekuScrub, Category::cGrotto}, SpoilerCollectionCheck::Scrub(0x26, 0x06), SpoilerCollectionCheckGroup::GROUP_LON_LON_RANCH); - locationTable[LLR_DEKU_SCRUB_GROTTO_CENTER] = ItemLocation::GrottoScrub(0xFC, 0x33, "LLR Deku Scrub Grotto Center", LLR_DEKU_SCRUB_GROTTO_CENTER, DEKU_SEEDS_30, {Category::cLonLonRanch, Category::cDekuScrub, Category::cGrotto}, SpoilerCollectionCheck::Scrub(0x26, 0x04), SpoilerCollectionCheckGroup::GROUP_LON_LON_RANCH); - - /*------------------- - --- DUNGEONS --- - -------------------*/ - - // Deku Tree Vanilla - locationTable[DEKU_TREE_MAP_CHEST] = ItemLocation::Chest (0x00, 0x03, "Deku Tree Map Chest", DEKU_TREE_MAP_CHEST, DEKU_TREE_MAP, {Category::cDekuTree, Category::cVanillaMap,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_DEKU_TREE); - locationTable[DEKU_TREE_COMPASS_CHEST] = ItemLocation::Chest (0x00, 0x02, "Deku Tree Compass Chest", DEKU_TREE_COMPASS_CHEST, DEKU_TREE_COMPASS, {Category::cDekuTree, Category::cVanillaCompass,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_DEKU_TREE); - locationTable[DEKU_TREE_COMPASS_ROOM_SIDE_CHEST] = ItemLocation::Chest (0x00, 0x06, "Deku Tree Compass Room Side Chest", DEKU_TREE_COMPASS_ROOM_SIDE_CHEST, RECOVERY_HEART, {Category::cDekuTree,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_DEKU_TREE); - locationTable[DEKU_TREE_BASEMENT_CHEST] = ItemLocation::Chest (0x00, 0x04, "Deku Tree Basement Chest", DEKU_TREE_BASEMENT_CHEST, RECOVERY_HEART, {Category::cDekuTree,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_DEKU_TREE); - locationTable[DEKU_TREE_SLINGSHOT_CHEST] = ItemLocation::Chest (0x00, 0x01, "Deku Tree Slingshot Chest", DEKU_TREE_SLINGSHOT_CHEST, PROGRESSIVE_SLINGSHOT, {Category::cDekuTree,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_DEKU_TREE); - locationTable[DEKU_TREE_SLINGSHOT_ROOM_SIDE_CHEST] = ItemLocation::Chest (0x00, 0x05, "Deku Tree Slingshot Room Side Chest", DEKU_TREE_SLINGSHOT_ROOM_SIDE_CHEST, RECOVERY_HEART, {Category::cDekuTree,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_DEKU_TREE); - // Deku Tree MQ - locationTable[DEKU_TREE_MQ_MAP_CHEST] = ItemLocation::Chest (0x00, 0x03, "Deku Tree MQ Map Chest", DEKU_TREE_MQ_MAP_CHEST, DEKU_TREE_MAP, {Category::cDekuTree, Category::cVanillaMap,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_DEKU_TREE); - locationTable[DEKU_TREE_MQ_COMPASS_CHEST] = ItemLocation::Chest (0x00, 0x01, "Deku Tree MQ Compass Chest", DEKU_TREE_MQ_COMPASS_CHEST, DEKU_TREE_COMPASS, {Category::cDekuTree, Category::cVanillaCompass,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_DEKU_TREE); - locationTable[DEKU_TREE_MQ_SLINGSHOT_CHEST] = ItemLocation::Chest (0x00, 0x06, "Deku Tree MQ Slingshot Chest", DEKU_TREE_MQ_SLINGSHOT_CHEST, PROGRESSIVE_SLINGSHOT, {Category::cDekuTree,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_DEKU_TREE); - locationTable[DEKU_TREE_MQ_SLINGSHOT_ROOM_BACK_CHEST] = ItemLocation::Chest (0x00, 0x02, "Deku Tree MQ Slingshot Room Back Chest", DEKU_TREE_MQ_SLINGSHOT_ROOM_BACK_CHEST, DEKU_SHIELD, {Category::cDekuTree,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_DEKU_TREE); - locationTable[DEKU_TREE_MQ_BASEMENT_CHEST] = ItemLocation::Chest (0x00, 0x04, "Deku Tree MQ Basement Chest", DEKU_TREE_MQ_BASEMENT_CHEST, DEKU_SHIELD, {Category::cDekuTree,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_DEKU_TREE); - locationTable[DEKU_TREE_MQ_BEFORE_SPINNING_LOG_CHEST] = ItemLocation::Chest (0x00, 0x05, "Deku Tree MQ Before Spinning Log Chest", DEKU_TREE_MQ_BEFORE_SPINNING_LOG_CHEST, RECOVERY_HEART, {Category::cDekuTree,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_DEKU_TREE); - locationTable[DEKU_TREE_MQ_AFTER_SPINNING_LOG_CHEST] = ItemLocation::Chest (0x00, 0x00, "Deku Tree MQ After Spinning Log Chest", DEKU_TREE_MQ_AFTER_SPINNING_LOG_CHEST, PURPLE_RUPEE, {Category::cDekuTree,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_DEKU_TREE); - locationTable[DEKU_TREE_MQ_DEKU_SCRUB] = ItemLocation::Base (0x00, 0x34, "Deku Tree MQ Deku Scrub", DEKU_TREE_MQ_DEKU_SCRUB, DEKU_SHIELD, {Category::cDekuTree, Category::cDekuScrub,}, SpoilerCollectionCheck::Scrub(0x00, 0x05), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DEKU_TREE); - - // Dodongos Cavern Shared - locationTable[DODONGOS_CAVERN_BOSS_ROOM_CHEST] = ItemLocation::Chest (0x12, 0x00, "Dodongos Cavern Boss Room Chest", DODONGOS_CAVERN_BOSS_ROOM_CHEST, BOMBS_5, {Category::cDodongosCavern,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN); - // Dodongos Cavern Vanilla - locationTable[DODONGOS_CAVERN_MAP_CHEST] = ItemLocation::Chest (0x01, 0x08, "Dodongos Cavern Map Chest", DODONGOS_CAVERN_MAP_CHEST, DODONGOS_CAVERN_MAP, {Category::cDodongosCavern, Category::cVanillaMap,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN); - locationTable[DODONGOS_CAVERN_COMPASS_CHEST] = ItemLocation::Chest (0x01, 0x05, "Dodongos Cavern Compass Chest", DODONGOS_CAVERN_COMPASS_CHEST, DODONGOS_CAVERN_COMPASS, {Category::cDodongosCavern, Category::cVanillaCompass,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN); - locationTable[DODONGOS_CAVERN_BOMB_FLOWER_PLATFORM_CHEST] = ItemLocation::Chest (0x01, 0x06, "Dodongos Cavern Bomb Flower Platform Chest", DODONGOS_CAVERN_BOMB_FLOWER_PLATFORM_CHEST, RED_RUPEE, {Category::cDodongosCavern,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN); - locationTable[DODONGOS_CAVERN_BOMB_BAG_CHEST] = ItemLocation::Chest (0x01, 0x04, "Dodongos Cavern Bomb Bag Chest", DODONGOS_CAVERN_BOMB_BAG_CHEST, PROGRESSIVE_BOMB_BAG, {Category::cDodongosCavern,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN); - locationTable[DODONGOS_CAVERN_END_OF_BRIDGE_CHEST] = ItemLocation::Chest (0x01, 0x0A, "Dodongos Cavern End Of Bridge Chest", DODONGOS_CAVERN_END_OF_BRIDGE_CHEST, DEKU_SHIELD, {Category::cDodongosCavern,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN); - locationTable[DODONGOS_CAVERN_DEKU_SCRUB_NEAR_BOMB_BAG_LEFT] = ItemLocation::Base (0x01, 0x30, "Dodongos Cavern Deku Scrub Near Bomb Bag Left", DODONGOS_CAVERN_DEKU_SCRUB_NEAR_BOMB_BAG_LEFT, DEKU_NUTS_5, {Category::cDodongosCavern, Category::cDekuScrub,}, SpoilerCollectionCheck::Scrub(0x01, 0x01), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN); - locationTable[DODONGOS_CAVERN_DEKU_SCRUB_SIDE_ROOM_NEAR_DODONGOS] = ItemLocation::Base (0x01, 0x31, "Dodongos Cavern Deku Scrub Side Room Near Dodongos", DODONGOS_CAVERN_DEKU_SCRUB_SIDE_ROOM_NEAR_DODONGOS, DEKU_STICK_1, {Category::cDodongosCavern, Category::cDekuScrub,}, SpoilerCollectionCheck::Scrub(0x01, 0x02), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN); - locationTable[DODONGOS_CAVERN_DEKU_SCRUB_NEAR_BOMB_BAG_RIGHT] = ItemLocation::Base (0x01, 0x33, "Dodongos Cavern Deku Scrub Near Bomb Bag Right", DODONGOS_CAVERN_DEKU_SCRUB_NEAR_BOMB_BAG_RIGHT, DEKU_SEEDS_30, {Category::cDodongosCavern, Category::cDekuScrub,}, SpoilerCollectionCheck::Scrub(0x01, 0x04), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN); - locationTable[DODONGOS_CAVERN_DEKU_SCRUB_LOBBY] = ItemLocation::Base (0x01, 0x34, "Dodongos Cavern Deku Scrub Lobby", DODONGOS_CAVERN_DEKU_SCRUB_LOBBY, DEKU_SHIELD, {Category::cDodongosCavern, Category::cDekuScrub,}, SpoilerCollectionCheck::Scrub(0x01, 0x05), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN); - // Dodongos Cavern MQ - locationTable[DODONGOS_CAVERN_MQ_MAP_CHEST] = ItemLocation::Chest (0x01, 0x00, "Dodongos Cavern MQ Map Chest", DODONGOS_CAVERN_MQ_MAP_CHEST, DODONGOS_CAVERN_MAP, {Category::cDodongosCavern, Category::cVanillaMap,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN); - locationTable[DODONGOS_CAVERN_MQ_BOMB_BAG_CHEST] = ItemLocation::Chest (0x01, 0x04, "Dodongos Cavern MQ Bomb Bag Chest", DODONGOS_CAVERN_MQ_BOMB_BAG_CHEST, PROGRESSIVE_BOMB_BAG, {Category::cDodongosCavern,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN); - locationTable[DODONGOS_CAVERN_MQ_COMPASS_CHEST] = ItemLocation::Chest (0x01, 0x05, "Dodongos Cavern MQ Compass Chest", DODONGOS_CAVERN_MQ_COMPASS_CHEST, DODONGOS_CAVERN_COMPASS, {Category::cDodongosCavern, Category::cVanillaCompass,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN); - locationTable[DODONGOS_CAVERN_MQ_LARVAE_ROOM_CHEST] = ItemLocation::Chest (0x01, 0x02, "Dodongos Cavern MQ Larvae Room Chest", DODONGOS_CAVERN_MQ_LARVAE_ROOM_CHEST, DEKU_SHIELD, {Category::cDodongosCavern,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN); - locationTable[DODONGOS_CAVERN_MQ_TORCH_PUZZLE_ROOM_CHEST] = ItemLocation::Chest (0x01, 0x03, "Dodongos Cavern MQ Torch Puzzle Room Chest", DODONGOS_CAVERN_MQ_TORCH_PUZZLE_ROOM_CHEST, BLUE_RUPEE, {Category::cDodongosCavern,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN); - locationTable[DODONGOS_CAVERN_MQ_UNDER_GRAVE_CHEST] = ItemLocation::Chest (0x01, 0x01, "Dodongos Cavern MQ Under Grave Chest", DODONGOS_CAVERN_MQ_UNDER_GRAVE_CHEST, HYLIAN_SHIELD, {Category::cDodongosCavern,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN); - locationTable[DODONGOS_CAVERN_MQ_DEKU_SCRUB_LOBBY_REAR] = ItemLocation::Base (0x01, 0x31, "Dodongos Cavern Deku Scrub Lobby Rear", DODONGOS_CAVERN_MQ_DEKU_SCRUB_LOBBY_REAR, DEKU_STICK_1, {Category::cDodongosCavern, Category::cDekuScrub,}, SpoilerCollectionCheck::Scrub(0x01, 0x02), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN); - locationTable[DODONGOS_CAVERN_MQ_DEKU_SCRUB_LOBBY_FRONT] = ItemLocation::Base (0x01, 0x33, "Dodongos Cavern Deku Scrub Lobby Front", DODONGOS_CAVERN_MQ_DEKU_SCRUB_LOBBY_FRONT, DEKU_SEEDS_30, {Category::cDodongosCavern, Category::cDekuScrub,}, SpoilerCollectionCheck::Scrub(0x01, 0x04), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN); - locationTable[DODONGOS_CAVERN_MQ_DEKU_SCRUB_STAIRCASE] = ItemLocation::Base (0x01, 0x34, "Dodongos Cavern Deku Scrub Staircase", DODONGOS_CAVERN_MQ_DEKU_SCRUB_STAIRCASE, DEKU_SHIELD, {Category::cDodongosCavern, Category::cDekuScrub,}, SpoilerCollectionCheck::Scrub(0x01, 0x05), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN); - locationTable[DODONGOS_CAVERN_MQ_DEKU_SCRUB_SIDE_ROOM_NEAR_LOWER_LIZALFOS] = ItemLocation::Base (0x01, 0x39, "Dodongos Cavern Deku Scrub Side Room Near Lower Lizalfos",DODONGOS_CAVERN_MQ_DEKU_SCRUB_SIDE_ROOM_NEAR_LOWER_LIZALFOS, RED_POTION_REFILL, {Category::cDodongosCavern, Category::cDekuScrub,}, SpoilerCollectionCheck::Scrub(0x01, 0x08), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN); - - // Jabu Jabus Belly Vanilla - locationTable[JABU_JABUS_BELLY_MAP_CHEST] = ItemLocation::Chest (0x02, 0x02, "Jabu Jabus Belly Map Chest", JABU_JABUS_BELLY_MAP_CHEST, JABU_JABUS_BELLY_MAP, {Category::cJabuJabusBelly, Category::cVanillaMap,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_JABUJABUS_BELLY); - locationTable[JABU_JABUS_BELLY_COMPASS_CHEST] = ItemLocation::Chest (0x02, 0x04, "Jabu Jabus Belly Compass Chest", JABU_JABUS_BELLY_COMPASS_CHEST, JABU_JABUS_BELLY_COMPASS, {Category::cJabuJabusBelly, Category::cVanillaCompass,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_JABUJABUS_BELLY); - locationTable[JABU_JABUS_BELLY_BOOMERANG_CHEST] = ItemLocation::Chest (0x02, 0x01, "Jabu Jabus Belly Boomerang Chest", JABU_JABUS_BELLY_BOOMERANG_CHEST, BOOMERANG, {Category::cJabuJabusBelly,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_JABUJABUS_BELLY); - locationTable[JABU_JABUS_BELLY_DEKU_SCRUB] = ItemLocation::Base (0x02, 0x30, "Jabu Jabus Belly Deku Scrub", JABU_JABUS_BELLY_DEKU_SCRUB, DEKU_NUTS_5, {Category::cJabuJabusBelly, Category::cDekuScrub,}, SpoilerCollectionCheck::Scrub(0x02, 0x01), SpoilerCollectionCheckGroup::GROUP_DUNGEON_JABUJABUS_BELLY); - // Jabu Jabus Belly MQ - locationTable[JABU_JABUS_BELLY_MQ_FIRST_ROOM_SIDE_CHEST] = ItemLocation::Chest (0x02, 0x05, "Jabu Jabus Belly MQ First Room Side Chest", JABU_JABUS_BELLY_MQ_FIRST_ROOM_SIDE_CHEST, DEKU_NUTS_5, {Category::cJabuJabusBelly,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_JABUJABUS_BELLY); - locationTable[JABU_JABUS_BELLY_MQ_MAP_CHEST] = ItemLocation::Chest (0x02, 0x03, "Jabu Jabus Belly MQ Map Chest", JABU_JABUS_BELLY_MQ_MAP_CHEST, JABU_JABUS_BELLY_MAP, {Category::cJabuJabusBelly, Category::cVanillaMap,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_JABUJABUS_BELLY); - locationTable[JABU_JABUS_BELLY_MQ_SECOND_ROOM_LOWER_CHEST] = ItemLocation::Chest (0x02, 0x02, "Jabu Jabus Belly MQ Second Room Lower Chest", JABU_JABUS_BELLY_MQ_SECOND_ROOM_LOWER_CHEST, DEKU_NUTS_5, {Category::cJabuJabusBelly,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_JABUJABUS_BELLY); - locationTable[JABU_JABUS_BELLY_MQ_COMPASS_CHEST] = ItemLocation::Chest (0x02, 0x00, "Jabu Jabus Belly MQ Compass Chest", JABU_JABUS_BELLY_MQ_COMPASS_CHEST, JABU_JABUS_BELLY_COMPASS, {Category::cJabuJabusBelly, Category::cVanillaCompass,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_JABUJABUS_BELLY); - locationTable[JABU_JABUS_BELLY_MQ_SECOND_ROOM_UPPER_CHEST] = ItemLocation::Chest (0x02, 0x07, "Jabu Jabus Belly MQ Second Room Upper Chest", JABU_JABUS_BELLY_MQ_SECOND_ROOM_UPPER_CHEST, RECOVERY_HEART, {Category::cJabuJabusBelly,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_JABUJABUS_BELLY); - locationTable[JABU_JABUS_BELLY_MQ_BASEMENT_NEAR_SWITCHES_CHEST] = ItemLocation::Chest (0x02, 0x08, "Jabu Jabus Belly MQ Basement Near Switches Chest", JABU_JABUS_BELLY_MQ_BASEMENT_NEAR_SWITCHES_CHEST, DEKU_NUTS_5, {Category::cJabuJabusBelly,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_JABUJABUS_BELLY); - locationTable[JABU_JABUS_BELLY_MQ_BASEMENT_NEAR_VINES_CHEST] = ItemLocation::Chest (0x02, 0x04, "Jabu Jabus Belly MQ Basement Near Vines Chest", JABU_JABUS_BELLY_MQ_BASEMENT_NEAR_VINES_CHEST, BOMBCHU_10, {Category::cJabuJabusBelly,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_JABUJABUS_BELLY); - locationTable[JABU_JABUS_BELLY_MQ_NEAR_BOSS_CHEST] = ItemLocation::Chest (0x02, 0x0A, "Jabu Jabus Belly MQ Near Boss Chest", JABU_JABUS_BELLY_MQ_NEAR_BOSS_CHEST, DEKU_SHIELD, {Category::cJabuJabusBelly,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_JABUJABUS_BELLY); - locationTable[JABU_JABUS_BELLY_MQ_FALLING_LIKE_LIKE_ROOM_CHEST] = ItemLocation::Chest (0x02, 0x09, "Jabu Jabus Belly MQ Falling Like Like Room Chest", JABU_JABUS_BELLY_MQ_FALLING_LIKE_LIKE_ROOM_CHEST, DEKU_STICK_1, {Category::cJabuJabusBelly,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_JABUJABUS_BELLY); - locationTable[JABU_JABUS_BELLY_MQ_BOOMERANG_ROOM_SMALL_CHEST] = ItemLocation::Chest (0x02, 0x01, "Jabu Jabus Belly MQ Boomerang Room Small Chest", JABU_JABUS_BELLY_MQ_BOOMERANG_ROOM_SMALL_CHEST, DEKU_NUTS_5, {Category::cJabuJabusBelly,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_JABUJABUS_BELLY); - locationTable[JABU_JABUS_BELLY_MQ_BOOMERANG_CHEST] = ItemLocation::Chest (0x02, 0x06, "Jabu Jabus Belly MQ Boomerang Chest", JABU_JABUS_BELLY_MQ_BOOMERANG_CHEST, BOOMERANG, {Category::cJabuJabusBelly,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_JABUJABUS_BELLY); - - // Forest Temple Vanilla - locationTable[FOREST_TEMPLE_FIRST_ROOM_CHEST] = ItemLocation::Chest (0x03, 0x03, "Forest Temple First Room Chest", FOREST_TEMPLE_FIRST_ROOM_CHEST, FOREST_TEMPLE_SMALL_KEY, {Category::cForestTemple, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE); - locationTable[FOREST_TEMPLE_FIRST_STALFOS_CHEST] = ItemLocation::Chest (0x03, 0x00, "Forest Temple First Stalfos Chest", FOREST_TEMPLE_FIRST_STALFOS_CHEST, FOREST_TEMPLE_SMALL_KEY, {Category::cForestTemple, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE); - locationTable[FOREST_TEMPLE_RAISED_ISLAND_COURTYARD_CHEST] = ItemLocation::Chest (0x03, 0x05, "Forest Temple Raised Island Courtyard Chest", FOREST_TEMPLE_RAISED_ISLAND_COURTYARD_CHEST, RECOVERY_HEART, {Category::cForestTemple,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE); - locationTable[FOREST_TEMPLE_MAP_CHEST] = ItemLocation::Chest (0x03, 0x01, "Forest Temple Map Chest", FOREST_TEMPLE_MAP_CHEST, FOREST_TEMPLE_MAP, {Category::cForestTemple, Category::cVanillaMap,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE); - locationTable[FOREST_TEMPLE_WELL_CHEST] = ItemLocation::Chest (0x03, 0x09, "Forest Temple Well Chest", FOREST_TEMPLE_WELL_CHEST, FOREST_TEMPLE_SMALL_KEY, {Category::cForestTemple, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE); - locationTable[FOREST_TEMPLE_FALLING_CEILING_ROOM_CHEST] = ItemLocation::Chest (0x03, 0x07, "Forest Temple Falling Ceiling Room Chest", FOREST_TEMPLE_FALLING_CEILING_ROOM_CHEST, ARROWS_10, {Category::cForestTemple,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE); - locationTable[FOREST_TEMPLE_EYE_SWITCH_CHEST] = ItemLocation::Chest (0x03, 0x04, "Forest Temple Eye Switch Chest", FOREST_TEMPLE_EYE_SWITCH_CHEST, ARROWS_30, {Category::cForestTemple,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE); - locationTable[FOREST_TEMPLE_BOSS_KEY_CHEST] = ItemLocation::Chest (0x03, 0x0E, "Forest Temple Boss Key Chest", FOREST_TEMPLE_BOSS_KEY_CHEST, FOREST_TEMPLE_BOSS_KEY, {Category::cForestTemple, Category::cVanillaBossKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE); - locationTable[FOREST_TEMPLE_FLOORMASTER_CHEST] = ItemLocation::Chest (0x03, 0x02, "Forest Temple Floormaster Chest", FOREST_TEMPLE_FLOORMASTER_CHEST, FOREST_TEMPLE_SMALL_KEY, {Category::cForestTemple, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE); - locationTable[FOREST_TEMPLE_BOW_CHEST] = ItemLocation::Chest (0x03, 0x0C, "Forest Temple Bow Chest", FOREST_TEMPLE_BOW_CHEST, PROGRESSIVE_BOW, {Category::cForestTemple,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE); - locationTable[FOREST_TEMPLE_RED_POE_CHEST] = ItemLocation::Chest (0x03, 0x0D, "Forest Temple Red Poe Chest", FOREST_TEMPLE_RED_POE_CHEST, FOREST_TEMPLE_SMALL_KEY, {Category::cForestTemple, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE); - locationTable[FOREST_TEMPLE_BLUE_POE_CHEST] = ItemLocation::Chest (0x03, 0x0F, "Forest Temple Blue Poe Chest", FOREST_TEMPLE_BLUE_POE_CHEST, FOREST_TEMPLE_COMPASS, {Category::cForestTemple, Category::cVanillaCompass,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE); - locationTable[FOREST_TEMPLE_BASEMENT_CHEST] = ItemLocation::Chest (0x03, 0x0B, "Forest Temple Basement Chest", FOREST_TEMPLE_BASEMENT_CHEST, ARROWS_5, {Category::cForestTemple,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE); - // Forest Temple MQ - locationTable[FOREST_TEMPLE_MQ_FIRST_ROOM_CHEST] = ItemLocation::Chest (0x03, 0x03, "Forest Temple MQ First Room Chest", FOREST_TEMPLE_MQ_FIRST_ROOM_CHEST, FOREST_TEMPLE_SMALL_KEY, {Category::cForestTemple, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE); - locationTable[FOREST_TEMPLE_MQ_WOLFOS_CHEST] = ItemLocation::Chest (0x03, 0x00, "Forest Temple MQ Wolfos Chest", FOREST_TEMPLE_MQ_WOLFOS_CHEST, FOREST_TEMPLE_SMALL_KEY, {Category::cForestTemple, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE); - locationTable[FOREST_TEMPLE_MQ_BOW_CHEST] = ItemLocation::Chest (0x03, 0x0C, "Forest Temple MQ Bow Chest", FOREST_TEMPLE_MQ_BOW_CHEST, PROGRESSIVE_BOW, {Category::cForestTemple,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE); - locationTable[FOREST_TEMPLE_MQ_RAISED_ISLAND_COURTYARD_LOWER_CHEST] = ItemLocation::Chest (0x03, 0x01, "Forest Temple MQ Raised Island Courtyard Lower Chest", FOREST_TEMPLE_MQ_RAISED_ISLAND_COURTYARD_LOWER_CHEST, FOREST_TEMPLE_SMALL_KEY, {Category::cForestTemple, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE); - locationTable[FOREST_TEMPLE_MQ_RAISED_ISLAND_COURTYARD_UPPER_CHEST] = ItemLocation::Chest (0x03, 0x05, "Forest Temple MQ Raised Island Courtyard Upper Chest", FOREST_TEMPLE_MQ_RAISED_ISLAND_COURTYARD_UPPER_CHEST, FOREST_TEMPLE_SMALL_KEY, {Category::cForestTemple, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE); - locationTable[FOREST_TEMPLE_MQ_WELL_CHEST] = ItemLocation::Chest (0x03, 0x09, "Forest Temple MQ Well Chest", FOREST_TEMPLE_MQ_WELL_CHEST, FOREST_TEMPLE_SMALL_KEY, {Category::cForestTemple, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE); - locationTable[FOREST_TEMPLE_MQ_MAP_CHEST] = ItemLocation::Chest (0x03, 0x0D, "Forest Temple MQ Map Chest", FOREST_TEMPLE_MQ_MAP_CHEST, FOREST_TEMPLE_MAP, {Category::cForestTemple, Category::cVanillaMap,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE); - locationTable[FOREST_TEMPLE_MQ_COMPASS_CHEST] = ItemLocation::Chest (0x03, 0x0F, "Forest Temple MQ Compass Chest", FOREST_TEMPLE_MQ_COMPASS_CHEST, FOREST_TEMPLE_COMPASS, {Category::cForestTemple, Category::cVanillaCompass,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE); - locationTable[FOREST_TEMPLE_MQ_FALLING_CEILING_ROOM_CHEST] = ItemLocation::Chest (0x03, 0x06, "Forest Temple MQ Falling Ceiling Room Chest", FOREST_TEMPLE_MQ_FALLING_CEILING_ROOM_CHEST, ARROWS_5, {Category::cForestTemple,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE); - locationTable[FOREST_TEMPLE_MQ_BASEMENT_CHEST] = ItemLocation::Chest (0x03, 0x0B, "Forest Temple MQ Basement Chest", FOREST_TEMPLE_MQ_BASEMENT_CHEST, ARROWS_5, {Category::cForestTemple,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE); - locationTable[FOREST_TEMPLE_MQ_REDEAD_CHEST] = ItemLocation::Chest (0x03, 0x02, "Forest Temple MQ Redead Chest", FOREST_TEMPLE_MQ_REDEAD_CHEST, FOREST_TEMPLE_SMALL_KEY, {Category::cForestTemple, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE); - locationTable[FOREST_TEMPLE_MQ_BOSS_KEY_CHEST] = ItemLocation::Chest (0x03, 0x0E, "Forest Temple MQ Boss Key Chest", FOREST_TEMPLE_MQ_BOSS_KEY_CHEST, FOREST_TEMPLE_BOSS_KEY, {Category::cForestTemple, Category::cVanillaBossKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE); - - // Fire Temple Vanilla - locationTable[FIRE_TEMPLE_NEAR_BOSS_CHEST] = ItemLocation::Chest (0x04, 0x01, "Fire Temple Near Boss Chest", FIRE_TEMPLE_NEAR_BOSS_CHEST, FIRE_TEMPLE_SMALL_KEY, {Category::cFireTemple, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE); - locationTable[FIRE_TEMPLE_FLARE_DANCER_CHEST] = ItemLocation::Chest (0x04, 0x00, "Fire Temple Flare Dancer Chest", FIRE_TEMPLE_FLARE_DANCER_CHEST, BOMBS_10, {Category::cFireTemple,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE); - locationTable[FIRE_TEMPLE_BOSS_KEY_CHEST] = ItemLocation::Chest (0x04, 0x0C, "Fire Temple Boss Key Chest", FIRE_TEMPLE_BOSS_KEY_CHEST, FIRE_TEMPLE_BOSS_KEY, {Category::cFireTemple, Category::cVanillaBossKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE); - locationTable[FIRE_TEMPLE_BIG_LAVA_ROOM_BLOCKED_DOOR_CHEST] = ItemLocation::Chest (0x04, 0x02, "Fire Temple Big Lava Room Blocked Door Chest", FIRE_TEMPLE_BIG_LAVA_ROOM_BLOCKED_DOOR_CHEST, FIRE_TEMPLE_SMALL_KEY, {Category::cFireTemple, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE); - locationTable[FIRE_TEMPLE_BIG_LAVA_ROOM_LOWER_OPEN_DOOR_CHEST] = ItemLocation::Chest (0x04, 0x04, "Fire Temple Big Lava Room Lower Open Door Chest", FIRE_TEMPLE_BIG_LAVA_ROOM_LOWER_OPEN_DOOR_CHEST, FIRE_TEMPLE_SMALL_KEY, {Category::cFireTemple, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE); - locationTable[FIRE_TEMPLE_BOULDER_MAZE_LOWER_CHEST] = ItemLocation::Chest (0x04, 0x03, "Fire Temple Boulder Maze Lower Chest", FIRE_TEMPLE_BOULDER_MAZE_LOWER_CHEST, FIRE_TEMPLE_SMALL_KEY, {Category::cFireTemple, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE); - locationTable[FIRE_TEMPLE_BOULDER_MAZE_UPPER_CHEST] = ItemLocation::Chest (0x04, 0x06, "Fire Temple Boulder Maze Upper Chest", FIRE_TEMPLE_BOULDER_MAZE_UPPER_CHEST, FIRE_TEMPLE_SMALL_KEY, {Category::cFireTemple, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE); - locationTable[FIRE_TEMPLE_BOULDER_MAZE_SIDE_ROOM_CHEST] = ItemLocation::Chest (0x04, 0x08, "Fire Temple Boulder Maze Side Room Chest", FIRE_TEMPLE_BOULDER_MAZE_SIDE_ROOM_CHEST, FIRE_TEMPLE_SMALL_KEY, {Category::cFireTemple, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE); - locationTable[FIRE_TEMPLE_BOULDER_MAZE_SHORTCUT_CHEST] = ItemLocation::Chest (0x04, 0x0B, "Fire Temple Boulder Maze Shortcut Chest", FIRE_TEMPLE_BOULDER_MAZE_SHORTCUT_CHEST, FIRE_TEMPLE_SMALL_KEY, {Category::cFireTemple, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE); - locationTable[FIRE_TEMPLE_SCARECROW_CHEST] = ItemLocation::Chest (0x04, 0x0D, "Fire Temple Scarecrow Chest", FIRE_TEMPLE_SCARECROW_CHEST, HUGE_RUPEE, {Category::cFireTemple,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE); - locationTable[FIRE_TEMPLE_MAP_CHEST] = ItemLocation::Chest (0x04, 0x0A, "Fire Temple Map Chest", FIRE_TEMPLE_MAP_CHEST, FIRE_TEMPLE_MAP, {Category::cFireTemple, Category::cVanillaMap,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE); - locationTable[FIRE_TEMPLE_COMPASS_CHEST] = ItemLocation::Chest (0x04, 0x07, "Fire Temple Compass Chest", FIRE_TEMPLE_COMPASS_CHEST, FIRE_TEMPLE_COMPASS, {Category::cFireTemple, Category::cVanillaCompass,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE); - locationTable[FIRE_TEMPLE_HIGHEST_GORON_CHEST] = ItemLocation::Chest (0x04, 0x09, "Fire Temple Highest Goron Chest", FIRE_TEMPLE_HIGHEST_GORON_CHEST, FIRE_TEMPLE_SMALL_KEY, {Category::cFireTemple, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE); - locationTable[FIRE_TEMPLE_MEGATON_HAMMER_CHEST] = ItemLocation::Chest (0x04, 0x05, "Fire Temple Megaton Hammer Chest", FIRE_TEMPLE_MEGATON_HAMMER_CHEST, MEGATON_HAMMER, {Category::cFireTemple,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE); - // Fire Temple MQ - locationTable[FIRE_TEMPLE_MQ_NEAR_BOSS_CHEST] = ItemLocation::Chest (0x04, 0x07, "Fire Temple MQ Near Boss Chest", FIRE_TEMPLE_MQ_NEAR_BOSS_CHEST, FIRE_TEMPLE_SMALL_KEY, {Category::cFireTemple, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE); - locationTable[FIRE_TEMPLE_MQ_MEGATON_HAMMER_CHEST] = ItemLocation::Chest (0x04, 0x00, "Fire Temple MQ Megaton Hammer Chest", FIRE_TEMPLE_MQ_MEGATON_HAMMER_CHEST, MEGATON_HAMMER, {Category::cFireTemple,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE); - locationTable[FIRE_TEMPLE_MQ_COMPASS_CHEST] = ItemLocation::Chest (0x04, 0x0B, "Fire Temple MQ Compass Chest", FIRE_TEMPLE_MQ_COMPASS_CHEST, FIRE_TEMPLE_COMPASS, {Category::cFireTemple, Category::cVanillaCompass,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE); - locationTable[FIRE_TEMPLE_MQ_LIZALFOS_MAZE_LOWER_CHEST] = ItemLocation::Chest (0x04, 0x03, "Fire Temple MQ Lizalfos Maze Lower Chest", FIRE_TEMPLE_MQ_LIZALFOS_MAZE_LOWER_CHEST, BOMBS_10, {Category::cFireTemple,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE); - locationTable[FIRE_TEMPLE_MQ_LIZALFOS_MAZE_UPPER_CHEST] = ItemLocation::Chest (0x04, 0x06, "Fire Temple MQ Lizalfos Maze Upper Chest", FIRE_TEMPLE_MQ_LIZALFOS_MAZE_UPPER_CHEST, BOMBS_10, {Category::cFireTemple,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE); - locationTable[FIRE_TEMPLE_MQ_CHEST_ON_FIRE] = ItemLocation::Chest (0x04, 0x05, "Fire Temple MQ Chest on Fire", FIRE_TEMPLE_MQ_CHEST_ON_FIRE, FIRE_TEMPLE_SMALL_KEY, {Category::cFireTemple, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE); - locationTable[FIRE_TEMPLE_MQ_MAP_ROOM_SIDE_CHEST] = ItemLocation::Chest (0x04, 0x02, "Fire Temple MQ Map Room Side Chest", FIRE_TEMPLE_MQ_MAP_ROOM_SIDE_CHEST, HYLIAN_SHIELD, {Category::cFireTemple,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE); - locationTable[FIRE_TEMPLE_MQ_MAP_CHEST] = ItemLocation::Chest (0x04, 0x0C, "Fire Temple MQ Map Chest", FIRE_TEMPLE_MQ_MAP_CHEST, FIRE_TEMPLE_MAP, {Category::cFireTemple, Category::cVanillaMap,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE); - locationTable[FIRE_TEMPLE_MQ_BOSS_KEY_CHEST] = ItemLocation::Chest (0x04, 0x04, "Fire Temple MQ Boss Key Chest", FIRE_TEMPLE_MQ_BOSS_KEY_CHEST, FIRE_TEMPLE_BOSS_KEY, {Category::cFireTemple, Category::cVanillaBossKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE); - locationTable[FIRE_TEMPLE_MQ_BIG_LAVA_ROOM_BLOCKED_DOOR_CHEST] = ItemLocation::Chest (0x04, 0x01, "Fire Temple MQ Big Lava Room Blocked Door Chest", FIRE_TEMPLE_MQ_BIG_LAVA_ROOM_BLOCKED_DOOR_CHEST, FIRE_TEMPLE_SMALL_KEY, {Category::cFireTemple, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE); - locationTable[FIRE_TEMPLE_MQ_LIZALFOS_MAZE_SIDE_ROOM_CHEST] = ItemLocation::Chest (0x04, 0x08, "Fire Temple MQ Lizalfos Maze Side Room Chest", FIRE_TEMPLE_MQ_LIZALFOS_MAZE_SIDE_ROOM_CHEST, FIRE_TEMPLE_SMALL_KEY, {Category::cFireTemple, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE); - locationTable[FIRE_TEMPLE_MQ_FREESTANDING_KEY] = ItemLocation::Collectable(0x04, 0x1C, "Fire Temple MQ Freestanding Key", FIRE_TEMPLE_MQ_FREESTANDING_KEY, FIRE_TEMPLE_SMALL_KEY, {Category::cFireTemple, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE); - - // Water Temple Vanilla - locationTable[WATER_TEMPLE_MAP_CHEST] = ItemLocation::Chest (0x05, 0x02, "Water Temple Map Chest", WATER_TEMPLE_MAP_CHEST, WATER_TEMPLE_MAP, {Category::cWaterTemple, Category::cVanillaMap,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE); - locationTable[WATER_TEMPLE_COMPASS_CHEST] = ItemLocation::Chest (0x05, 0x09, "Water Temple Compass Chest", WATER_TEMPLE_COMPASS_CHEST, WATER_TEMPLE_COMPASS, {Category::cWaterTemple, Category::cVanillaCompass,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE); - locationTable[WATER_TEMPLE_TORCHES_CHEST] = ItemLocation::Chest (0x05, 0x01, "Water Temple Torches Chest", WATER_TEMPLE_TORCHES_CHEST, WATER_TEMPLE_SMALL_KEY, {Category::cWaterTemple, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE); - locationTable[WATER_TEMPLE_DRAGON_CHEST] = ItemLocation::Chest (0x05, 0x0A, "Water Temple Dragon Chest", WATER_TEMPLE_DRAGON_CHEST, WATER_TEMPLE_SMALL_KEY, {Category::cWaterTemple, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE); - locationTable[WATER_TEMPLE_CENTRAL_BOW_TARGET_CHEST] = ItemLocation::Chest (0x05, 0x08, "Water Temple Central Bow Target Chest", WATER_TEMPLE_CENTRAL_BOW_TARGET_CHEST, WATER_TEMPLE_SMALL_KEY, {Category::cWaterTemple, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE); - locationTable[WATER_TEMPLE_CENTRAL_PILLAR_CHEST] = ItemLocation::Chest (0x05, 0x06, "Water Temple Central Pillar Chest", WATER_TEMPLE_CENTRAL_PILLAR_CHEST, WATER_TEMPLE_SMALL_KEY, {Category::cWaterTemple, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE); - locationTable[WATER_TEMPLE_CRACKED_WALL_CHEST] = ItemLocation::Chest (0x05, 0x00, "Water Temple Cracked Wall Chest", WATER_TEMPLE_CRACKED_WALL_CHEST, WATER_TEMPLE_SMALL_KEY, {Category::cWaterTemple, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE); - locationTable[WATER_TEMPLE_BOSS_KEY_CHEST] = ItemLocation::Chest (0x05, 0x05, "Water Temple Boss Key Chest", WATER_TEMPLE_BOSS_KEY_CHEST, WATER_TEMPLE_BOSS_KEY, {Category::cWaterTemple, Category::cVanillaBossKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE); - locationTable[WATER_TEMPLE_LONGSHOT_CHEST] = ItemLocation::Chest (0x05, 0x07, "Water Temple Longshot Chest", WATER_TEMPLE_LONGSHOT_CHEST, PROGRESSIVE_HOOKSHOT, {Category::cWaterTemple,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE); - locationTable[WATER_TEMPLE_RIVER_CHEST] = ItemLocation::Chest (0x05, 0x03, "Water Temple River Chest", WATER_TEMPLE_RIVER_CHEST, WATER_TEMPLE_SMALL_KEY, {Category::cWaterTemple, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE); - // Water Temple MQ - locationTable[WATER_TEMPLE_MQ_CENTRAL_PILLAR_CHEST] = ItemLocation::Chest (0x05, 0x06, "Water Temple MQ Central Pillar Chest", WATER_TEMPLE_MQ_CENTRAL_PILLAR_CHEST, WATER_TEMPLE_SMALL_KEY, {Category::cWaterTemple, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE); - locationTable[WATER_TEMPLE_MQ_BOSS_KEY_CHEST] = ItemLocation::Chest (0x05, 0x05, "Water Temple MQ Boss Key Chest", WATER_TEMPLE_MQ_BOSS_KEY_CHEST, WATER_TEMPLE_BOSS_KEY, {Category::cWaterTemple, Category::cVanillaBossKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE); - locationTable[WATER_TEMPLE_MQ_LONGSHOT_CHEST] = ItemLocation::Chest (0x05, 0x00, "Water Temple MQ Longshot Chest", WATER_TEMPLE_MQ_LONGSHOT_CHEST, PROGRESSIVE_HOOKSHOT, {Category::cWaterTemple,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE); - locationTable[WATER_TEMPLE_MQ_COMPASS_CHEST] = ItemLocation::Chest (0x05, 0x01, "Water Temple MQ Compass Chest", WATER_TEMPLE_MQ_COMPASS_CHEST, WATER_TEMPLE_COMPASS, {Category::cWaterTemple, Category::cVanillaCompass,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE); - locationTable[WATER_TEMPLE_MQ_MAP_CHEST] = ItemLocation::Chest (0x05, 0x02, "Water Temple MQ Map Chest", WATER_TEMPLE_MQ_MAP_CHEST, WATER_TEMPLE_MAP, {Category::cWaterTemple, Category::cVanillaMap,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE); - locationTable[WATER_TEMPLE_MQ_FREESTANDING_KEY] = ItemLocation::Collectable(0x05, 0x01, "Water Temple MQ Freestanding Key", WATER_TEMPLE_MQ_FREESTANDING_KEY, WATER_TEMPLE_SMALL_KEY, {Category::cWaterTemple, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE); - - // Spirit Temple Shared - locationTable[SPIRIT_TEMPLE_SILVER_GAUNTLETS_CHEST] = ItemLocation::Chest (0x5C, 0x0B, "Spirit Temple Silver Gauntlets Chest", SPIRIT_TEMPLE_SILVER_GAUNTLETS_CHEST, PROGRESSIVE_STRENGTH, {Category::cSpiritTemple, Category::cDesertColossus}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE); - locationTable[SPIRIT_TEMPLE_MIRROR_SHIELD_CHEST] = ItemLocation::Chest (0x5C, 0x09, "Spirit Temple Mirror Shield Chest", SPIRIT_TEMPLE_MIRROR_SHIELD_CHEST, MIRROR_SHIELD, {Category::cSpiritTemple, Category::cDesertColossus}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE); - // Spirit Temple Vanilla - locationTable[SPIRIT_TEMPLE_CHILD_BRIDGE_CHEST] = ItemLocation::Chest (0x06, 0x08, "Spirit Temple Child Bridge Chest", SPIRIT_TEMPLE_CHILD_BRIDGE_CHEST, DEKU_SHIELD, {Category::cSpiritTemple,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE); - locationTable[SPIRIT_TEMPLE_CHILD_EARLY_TORCHES_CHEST] = ItemLocation::Chest (0x06, 0x00, "Spirit Temple Child Early Torches Chest", SPIRIT_TEMPLE_CHILD_EARLY_TORCHES_CHEST, SPIRIT_TEMPLE_SMALL_KEY, {Category::cSpiritTemple, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE); - locationTable[SPIRIT_TEMPLE_COMPASS_CHEST] = ItemLocation::Chest (0x06, 0x04, "Spirit Temple Compass Chest", SPIRIT_TEMPLE_COMPASS_CHEST, SPIRIT_TEMPLE_COMPASS, {Category::cSpiritTemple, Category::cVanillaCompass,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE); - locationTable[SPIRIT_TEMPLE_EARLY_ADULT_RIGHT_CHEST] = ItemLocation::Chest (0x06, 0x07, "Spirit Temple Early Adult Right Chest", SPIRIT_TEMPLE_EARLY_ADULT_RIGHT_CHEST, SPIRIT_TEMPLE_SMALL_KEY, {Category::cSpiritTemple, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE); - locationTable[SPIRIT_TEMPLE_FIRST_MIRROR_LEFT_CHEST] = ItemLocation::Chest (0x06, 0x0D, "Spirit Temple First Mirror Left Chest", SPIRIT_TEMPLE_FIRST_MIRROR_LEFT_CHEST, ICE_TRAP, {Category::cSpiritTemple,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE); - locationTable[SPIRIT_TEMPLE_FIRST_MIRROR_RIGHT_CHEST] = ItemLocation::Chest (0x06, 0x0E, "Spirit Temple First Mirror Right Chest", SPIRIT_TEMPLE_FIRST_MIRROR_RIGHT_CHEST, RECOVERY_HEART, {Category::cSpiritTemple,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE); - locationTable[SPIRIT_TEMPLE_MAP_CHEST] = ItemLocation::Chest (0x06, 0x03, "Spirit Temple Map Chest", SPIRIT_TEMPLE_MAP_CHEST, SPIRIT_TEMPLE_MAP, {Category::cSpiritTemple, Category::cVanillaMap,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE); - locationTable[SPIRIT_TEMPLE_CHILD_CLIMB_NORTH_CHEST] = ItemLocation::Chest (0x06, 0x06, "Spirit Temple Child Climb North Chest", SPIRIT_TEMPLE_CHILD_CLIMB_NORTH_CHEST, BOMBCHU_10, {Category::cSpiritTemple,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE); - locationTable[SPIRIT_TEMPLE_CHILD_CLIMB_EAST_CHEST] = ItemLocation::Chest (0x06, 0x0C, "Spirit Temple Child Climb East Chest", SPIRIT_TEMPLE_CHILD_CLIMB_EAST_CHEST, DEKU_SHIELD, {Category::cSpiritTemple,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE); - locationTable[SPIRIT_TEMPLE_SUN_BLOCK_ROOM_CHEST] = ItemLocation::Chest (0x06, 0x01, "Spirit Temple Sun Block Room Chest", SPIRIT_TEMPLE_SUN_BLOCK_ROOM_CHEST, SPIRIT_TEMPLE_SMALL_KEY, {Category::cSpiritTemple, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE); - locationTable[SPIRIT_TEMPLE_STATUE_ROOM_HAND_CHEST] = ItemLocation::Chest (0x06, 0x02, "Spirit Temple Statue Room Hand Chest", SPIRIT_TEMPLE_STATUE_ROOM_HAND_CHEST, SPIRIT_TEMPLE_SMALL_KEY, {Category::cSpiritTemple, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE); - locationTable[SPIRIT_TEMPLE_STATUE_ROOM_NORTHEAST_CHEST] = ItemLocation::Chest (0x06, 0x0F, "Spirit Temple Statue Room Northeast Chest", SPIRIT_TEMPLE_STATUE_ROOM_NORTHEAST_CHEST, BLUE_RUPEE, {Category::cSpiritTemple,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE); - locationTable[SPIRIT_TEMPLE_NEAR_FOUR_ARMOS_CHEST] = ItemLocation::Chest (0x06, 0x05, "Spirit Temple Near Four Armos Chest", SPIRIT_TEMPLE_NEAR_FOUR_ARMOS_CHEST, SPIRIT_TEMPLE_SMALL_KEY, {Category::cSpiritTemple, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE); - locationTable[SPIRIT_TEMPLE_HALLWAY_RIGHT_INVISIBLE_CHEST] = ItemLocation::Chest (0x06, 0x14, "Spirit Temple Hallway Right Invisible Chest", SPIRIT_TEMPLE_HALLWAY_RIGHT_INVISIBLE_CHEST, RECOVERY_HEART, {Category::cSpiritTemple,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE); - locationTable[SPIRIT_TEMPLE_HALLWAY_LEFT_INVISIBLE_CHEST] = ItemLocation::Chest (0x06, 0x15, "Spirit Temple Hallway Left Invisible Chest", SPIRIT_TEMPLE_HALLWAY_LEFT_INVISIBLE_CHEST, RECOVERY_HEART, {Category::cSpiritTemple,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE); - locationTable[SPIRIT_TEMPLE_BOSS_KEY_CHEST] = ItemLocation::Chest (0x06, 0x0A, "Spirit Temple Boss Key Chest", SPIRIT_TEMPLE_BOSS_KEY_CHEST, SPIRIT_TEMPLE_BOSS_KEY, {Category::cSpiritTemple, Category::cVanillaBossKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE); - locationTable[SPIRIT_TEMPLE_TOPMOST_CHEST] = ItemLocation::Chest (0x06, 0x12, "Spirit Temple Topmost Chest", SPIRIT_TEMPLE_TOPMOST_CHEST, BOMBS_20, {Category::cSpiritTemple,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE); - // Spirit Temple MQ - locationTable[SPIRIT_TEMPLE_MQ_ENTRANCE_FRONT_LEFT_CHEST] = ItemLocation::Chest (0x06, 0x1A, "Spirit Temple MQ Entrance Front Left Chest", SPIRIT_TEMPLE_MQ_ENTRANCE_FRONT_LEFT_CHEST, BOMBCHU_10, {Category::cSpiritTemple,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE); - locationTable[SPIRIT_TEMPLE_MQ_ENTRANCE_BACK_RIGHT_CHEST] = ItemLocation::Chest (0x06, 0x1F, "Spirit Temple MQ Entrance Back Right Chest", SPIRIT_TEMPLE_MQ_ENTRANCE_BACK_RIGHT_CHEST, BOMBCHU_10, {Category::cSpiritTemple,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE); - locationTable[SPIRIT_TEMPLE_MQ_ENTRANCE_FRONT_RIGHT_CHEST] = ItemLocation::Chest (0x06, 0x1B, "Spirit Temple MQ Entrance Front Right Chest", SPIRIT_TEMPLE_MQ_ENTRANCE_FRONT_RIGHT_CHEST, SPIRIT_TEMPLE_SMALL_KEY, {Category::cSpiritTemple, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE); - locationTable[SPIRIT_TEMPLE_MQ_ENTRANCE_BACK_LEFT_CHEST] = ItemLocation::Chest (0x06, 0x1E, "Spirit Temple MQ Entrance Back Left Chest", SPIRIT_TEMPLE_MQ_ENTRANCE_BACK_LEFT_CHEST, SPIRIT_TEMPLE_SMALL_KEY, {Category::cSpiritTemple, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE); - locationTable[SPIRIT_TEMPLE_MQ_CHILD_HAMMER_SWITCH_CHEST] = ItemLocation::Chest (0x06, 0x1D, "Spirit Temple MQ Child Hammer Switch Chest", SPIRIT_TEMPLE_MQ_CHILD_HAMMER_SWITCH_CHEST, SPIRIT_TEMPLE_SMALL_KEY, {Category::cSpiritTemple, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE); - locationTable[SPIRIT_TEMPLE_MQ_MAP_CHEST] = ItemLocation::Chest (0x06, 0x00, "Spirit Temple MQ Map Chest", SPIRIT_TEMPLE_MQ_MAP_CHEST, SPIRIT_TEMPLE_MAP, {Category::cSpiritTemple, Category::cVanillaMap,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE); - locationTable[SPIRIT_TEMPLE_MQ_MAP_ROOM_ENEMY_CHEST] = ItemLocation::Chest (0x06, 0x08, "Spirit Temple MQ Map Room Enemy Chest", SPIRIT_TEMPLE_MQ_MAP_ROOM_ENEMY_CHEST, SPIRIT_TEMPLE_SMALL_KEY, {Category::cSpiritTemple, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE); - locationTable[SPIRIT_TEMPLE_MQ_CHILD_CLIMB_NORTH_CHEST] = ItemLocation::Chest (0x06, 0x06, "Spirit Temple MQ Child Climb North Chest", SPIRIT_TEMPLE_MQ_CHILD_CLIMB_NORTH_CHEST, BOMBCHU_10, {Category::cSpiritTemple,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE); - locationTable[SPIRIT_TEMPLE_MQ_CHILD_CLIMB_SOUTH_CHEST] = ItemLocation::Chest (0x06, 0x0C, "Spirit Temple MQ Child Climb South Chest", SPIRIT_TEMPLE_MQ_CHILD_CLIMB_SOUTH_CHEST, SPIRIT_TEMPLE_SMALL_KEY, {Category::cSpiritTemple, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE); - locationTable[SPIRIT_TEMPLE_MQ_COMPASS_CHEST] = ItemLocation::Chest (0x06, 0x03, "Spirit Temple MQ Compass Chest", SPIRIT_TEMPLE_MQ_COMPASS_CHEST, SPIRIT_TEMPLE_COMPASS, {Category::cSpiritTemple, Category::cVanillaCompass,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE); - locationTable[SPIRIT_TEMPLE_MQ_STATUE_ROOM_LULLABY_CHEST] = ItemLocation::Chest (0x06, 0x0F, "Spirit Temple MQ Statue Room Lullaby Chest", SPIRIT_TEMPLE_MQ_STATUE_ROOM_LULLABY_CHEST, BLUE_RUPEE, {Category::cSpiritTemple,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE); - locationTable[SPIRIT_TEMPLE_MQ_STATUE_ROOM_INVISIBLE_CHEST] = ItemLocation::Chest (0x06, 0x02, "Spirit Temple MQ Statue Room Invisible Chest", SPIRIT_TEMPLE_MQ_STATUE_ROOM_INVISIBLE_CHEST, RECOVERY_HEART, {Category::cSpiritTemple,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE); - locationTable[SPIRIT_TEMPLE_MQ_SILVER_BLOCK_HALLWAY_CHEST] = ItemLocation::Chest (0x06, 0x1C, "Spirit Temple MQ Silver Block Hallway Chest", SPIRIT_TEMPLE_MQ_SILVER_BLOCK_HALLWAY_CHEST, SPIRIT_TEMPLE_SMALL_KEY, {Category::cSpiritTemple, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE); - locationTable[SPIRIT_TEMPLE_MQ_SUN_BLOCK_ROOM_CHEST] = ItemLocation::Chest (0x06, 0x01, "Spirit Temple MQ Sun Block Room Chest", SPIRIT_TEMPLE_MQ_SUN_BLOCK_ROOM_CHEST, RECOVERY_HEART, {Category::cSpiritTemple,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE); - locationTable[SPIRIT_TEMPLE_MQ_SYMPHONY_ROOM_CHEST] = ItemLocation::Chest (0x06, 0x07, "Spirit Temple MQ Symphony Room Chest", SPIRIT_TEMPLE_MQ_SYMPHONY_ROOM_CHEST, PURPLE_RUPEE, {Category::cSpiritTemple,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE); - locationTable[SPIRIT_TEMPLE_MQ_LEEVER_ROOM_CHEST] = ItemLocation::Chest (0x06, 0x04, "Spirit Temple MQ Leever Room Chest", SPIRIT_TEMPLE_MQ_LEEVER_ROOM_CHEST, PURPLE_RUPEE, {Category::cSpiritTemple,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE); - locationTable[SPIRIT_TEMPLE_MQ_BEAMOS_ROOM_CHEST] = ItemLocation::Chest (0x06, 0x19, "Spirit Temple MQ Beamos Room Chest", SPIRIT_TEMPLE_MQ_BEAMOS_ROOM_CHEST, RECOVERY_HEART, {Category::cSpiritTemple,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE); - locationTable[SPIRIT_TEMPLE_MQ_CHEST_SWITCH_CHEST] = ItemLocation::Chest (0x06, 0x18, "Spirit Temple MQ Chest Switch Chest", SPIRIT_TEMPLE_MQ_CHEST_SWITCH_CHEST, ICE_TRAP, {Category::cSpiritTemple,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE); - locationTable[SPIRIT_TEMPLE_MQ_BOSS_KEY_CHEST] = ItemLocation::Chest (0x06, 0x05, "Spirit Temple MQ Boss Key Chest", SPIRIT_TEMPLE_MQ_BOSS_KEY_CHEST, SPIRIT_TEMPLE_BOSS_KEY, {Category::cSpiritTemple, Category::cVanillaBossKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE); - locationTable[SPIRIT_TEMPLE_MQ_MIRROR_PUZZLE_INVISIBLE_CHEST] = ItemLocation::Chest (0x06, 0x12, "Spirit Temple MQ Mirror Puzzle Invisible Chest", SPIRIT_TEMPLE_MQ_MIRROR_PUZZLE_INVISIBLE_CHEST, SPIRIT_TEMPLE_SMALL_KEY, {Category::cSpiritTemple, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE); - - // Shadow Temple Vanilla - locationTable[SHADOW_TEMPLE_MAP_CHEST] = ItemLocation::Chest (0x07, 0x01, "Shadow Temple Map Chest", SHADOW_TEMPLE_MAP_CHEST, SHADOW_TEMPLE_MAP, {Category::cShadowTemple, Category::cVanillaMap,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE); - locationTable[SHADOW_TEMPLE_HOVER_BOOTS_CHEST] = ItemLocation::Chest (0x07, 0x07, "Shadow Temple Hover Boots Chest", SHADOW_TEMPLE_HOVER_BOOTS_CHEST, HOVER_BOOTS, {Category::cShadowTemple,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE); - locationTable[SHADOW_TEMPLE_COMPASS_CHEST] = ItemLocation::Chest (0x07, 0x03, "Shadow Temple Compass Chest", SHADOW_TEMPLE_COMPASS_CHEST, SHADOW_TEMPLE_COMPASS, {Category::cShadowTemple, Category::cVanillaCompass,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE); - locationTable[SHADOW_TEMPLE_EARLY_SILVER_RUPEE_CHEST] = ItemLocation::Chest (0x07, 0x02, "Shadow Temple Early Silver Rupee Chest", SHADOW_TEMPLE_EARLY_SILVER_RUPEE_CHEST, SHADOW_TEMPLE_SMALL_KEY, {Category::cShadowTemple, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE); - locationTable[SHADOW_TEMPLE_INVISIBLE_BLADES_VISIBLE_CHEST] = ItemLocation::Chest (0x07, 0x0C, "Shadow Temple Invisible Blades Visible Chest", SHADOW_TEMPLE_INVISIBLE_BLADES_VISIBLE_CHEST, BLUE_RUPEE, {Category::cShadowTemple,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE); - locationTable[SHADOW_TEMPLE_INVISIBLE_BLADES_INVISIBLE_CHEST] = ItemLocation::Chest (0x07, 0x16, "Shadow Temple Invisible Blades Invisible Chest", SHADOW_TEMPLE_INVISIBLE_BLADES_INVISIBLE_CHEST, ARROWS_30, {Category::cShadowTemple,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE); - locationTable[SHADOW_TEMPLE_FALLING_SPIKES_LOWER_CHEST] = ItemLocation::Chest (0x07, 0x05, "Shadow Temple Falling Spikes Lower Chest", SHADOW_TEMPLE_FALLING_SPIKES_LOWER_CHEST, ARROWS_10, {Category::cShadowTemple,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE); - locationTable[SHADOW_TEMPLE_FALLING_SPIKES_UPPER_CHEST] = ItemLocation::Chest (0x07, 0x06, "Shadow Temple Falling Spikes Upper Chest", SHADOW_TEMPLE_FALLING_SPIKES_UPPER_CHEST, BLUE_RUPEE, {Category::cShadowTemple,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE); - locationTable[SHADOW_TEMPLE_FALLING_SPIKES_SWITCH_CHEST] = ItemLocation::Chest (0x07, 0x04, "Shadow Temple Falling Spikes Switch Chest", SHADOW_TEMPLE_FALLING_SPIKES_SWITCH_CHEST, SHADOW_TEMPLE_SMALL_KEY, {Category::cShadowTemple, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE); - locationTable[SHADOW_TEMPLE_INVISIBLE_SPIKES_CHEST] = ItemLocation::Chest (0x07, 0x09, "Shadow Temple Invisible Spikes Chest", SHADOW_TEMPLE_INVISIBLE_SPIKES_CHEST, BLUE_RUPEE, {Category::cShadowTemple,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE); - locationTable[SHADOW_TEMPLE_WIND_HINT_CHEST] = ItemLocation::Chest (0x07, 0x15, "Shadow Temple Wind Hint Chest", SHADOW_TEMPLE_WIND_HINT_CHEST, ARROWS_10, {Category::cShadowTemple,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE); - locationTable[SHADOW_TEMPLE_AFTER_WIND_ENEMY_CHEST] = ItemLocation::Chest (0x07, 0x08, "Shadow Temple After Wind Enemy Chest", SHADOW_TEMPLE_AFTER_WIND_ENEMY_CHEST, BLUE_RUPEE, {Category::cShadowTemple,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE); - locationTable[SHADOW_TEMPLE_AFTER_WIND_HIDDEN_CHEST] = ItemLocation::Chest (0x07, 0x14, "Shadow Temple After Wind Hidden Chest", SHADOW_TEMPLE_AFTER_WIND_HIDDEN_CHEST, SHADOW_TEMPLE_SMALL_KEY, {Category::cShadowTemple, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE); - locationTable[SHADOW_TEMPLE_SPIKE_WALLS_LEFT_CHEST] = ItemLocation::Chest (0x07, 0x0A, "Shadow Temple Spike Walls Left Chest", SHADOW_TEMPLE_SPIKE_WALLS_LEFT_CHEST, BLUE_RUPEE, {Category::cShadowTemple,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE); - locationTable[SHADOW_TEMPLE_BOSS_KEY_CHEST] = ItemLocation::Chest (0x07, 0x0B, "Shadow Temple Boss Key Chest", SHADOW_TEMPLE_BOSS_KEY_CHEST, SHADOW_TEMPLE_BOSS_KEY, {Category::cShadowTemple, Category::cVanillaBossKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE); - locationTable[SHADOW_TEMPLE_INVISIBLE_FLOORMASTER_CHEST] = ItemLocation::Chest (0x07, 0x0D, "Shadow Temple Invisible Floormaster Chest", SHADOW_TEMPLE_INVISIBLE_FLOORMASTER_CHEST, SHADOW_TEMPLE_SMALL_KEY, {Category::cShadowTemple, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE); - locationTable[SHADOW_TEMPLE_FREESTANDING_KEY] = ItemLocation::Collectable(0x07, 0x01, "Shadow Temple Freestanding Key", SHADOW_TEMPLE_FREESTANDING_KEY, SHADOW_TEMPLE_SMALL_KEY, {Category::cShadowTemple, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE); - // Shadow Temple MQ - locationTable[SHADOW_TEMPLE_MQ_COMPASS_CHEST] = ItemLocation::Chest (0x07, 0x01, "Shadow Temple MQ Compass Chest", SHADOW_TEMPLE_MQ_COMPASS_CHEST, SHADOW_TEMPLE_COMPASS, {Category::cShadowTemple, Category::cVanillaCompass,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE); - locationTable[SHADOW_TEMPLE_MQ_HOVER_BOOTS_CHEST] = ItemLocation::Chest (0x07, 0x07, "Shadow Temple MQ Hover Boots Chest", SHADOW_TEMPLE_MQ_HOVER_BOOTS_CHEST, HOVER_BOOTS, {Category::cShadowTemple,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE); - locationTable[SHADOW_TEMPLE_MQ_EARLY_GIBDOS_CHEST] = ItemLocation::Chest (0x07, 0x03, "Shadow Temple MQ Early Gibdos Chest", SHADOW_TEMPLE_MQ_EARLY_GIBDOS_CHEST, SHADOW_TEMPLE_SMALL_KEY, {Category::cShadowTemple, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE); - locationTable[SHADOW_TEMPLE_MQ_MAP_CHEST] = ItemLocation::Chest (0x07, 0x02, "Shadow Temple MQ Map Chest", SHADOW_TEMPLE_MQ_MAP_CHEST, SHADOW_TEMPLE_MAP, {Category::cShadowTemple, Category::cVanillaMap,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE); - locationTable[SHADOW_TEMPLE_MQ_BEAMOS_SILVER_RUPEES_CHEST] = ItemLocation::Chest (0x07, 0x0F, "Shadow Temple MQ Beamos Silver Rupees Chest", SHADOW_TEMPLE_MQ_BEAMOS_SILVER_RUPEES_CHEST, ARROWS_5, {Category::cShadowTemple,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE); - locationTable[SHADOW_TEMPLE_MQ_FALLING_SPIKES_SWITCH_CHEST] = ItemLocation::Chest (0x07, 0x04, "Shadow Temple MQ Falling Spikes Switch Chest", SHADOW_TEMPLE_MQ_FALLING_SPIKES_SWITCH_CHEST, SHADOW_TEMPLE_SMALL_KEY, {Category::cShadowTemple, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE); - locationTable[SHADOW_TEMPLE_MQ_FALLING_SPIKES_LOWER_CHEST] = ItemLocation::Chest (0x07, 0x05, "Shadow Temple MQ Falling Spikes Lower Chest", SHADOW_TEMPLE_MQ_FALLING_SPIKES_LOWER_CHEST, ARROWS_10, {Category::cShadowTemple,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE); - locationTable[SHADOW_TEMPLE_MQ_FALLING_SPIKES_UPPER_CHEST] = ItemLocation::Chest (0x07, 0x06, "Shadow Temple MQ Falling Spikes Upper Chest", SHADOW_TEMPLE_MQ_FALLING_SPIKES_UPPER_CHEST, ARROWS_5, {Category::cShadowTemple,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE); - locationTable[SHADOW_TEMPLE_MQ_INVISIBLE_SPIKES_CHEST] = ItemLocation::Chest (0x07, 0x09, "Shadow Temple MQ Invisible Spikes Chest", SHADOW_TEMPLE_MQ_INVISIBLE_SPIKES_CHEST, BLUE_RUPEE, {Category::cShadowTemple,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE); - locationTable[SHADOW_TEMPLE_MQ_BOSS_KEY_CHEST] = ItemLocation::Chest (0x07, 0x0B, "Shadow Temple MQ Boss Key Chest", SHADOW_TEMPLE_MQ_BOSS_KEY_CHEST, SHADOW_TEMPLE_BOSS_KEY, {Category::cShadowTemple, Category::cVanillaBossKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE); - locationTable[SHADOW_TEMPLE_MQ_SPIKE_WALLS_LEFT_CHEST] = ItemLocation::Chest (0x07, 0x0A, "Shadow Temple MQ Spike Walls Left Chest", SHADOW_TEMPLE_MQ_SPIKE_WALLS_LEFT_CHEST, BLUE_RUPEE, {Category::cShadowTemple,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE); - locationTable[SHADOW_TEMPLE_MQ_STALFOS_ROOM_CHEST] = ItemLocation::Chest (0x07, 0x10, "Shadow Temple MQ Stalfos Room Chest", SHADOW_TEMPLE_MQ_STALFOS_ROOM_CHEST, RED_RUPEE, {Category::cShadowTemple,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE); - locationTable[SHADOW_TEMPLE_MQ_INVISIBLE_BLADES_INVISIBLE_CHEST] = ItemLocation::Chest (0x07, 0x16, "Shadow Temple MQ Invisible Blades Invisible Chest", SHADOW_TEMPLE_MQ_INVISIBLE_BLADES_INVISIBLE_CHEST, SHADOW_TEMPLE_SMALL_KEY, {Category::cShadowTemple, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE); - locationTable[SHADOW_TEMPLE_MQ_INVISIBLE_BLADES_VISIBLE_CHEST] = ItemLocation::Chest (0x07, 0x0C, "Shadow Temple MQ Invisible Blades Visible Chest", SHADOW_TEMPLE_MQ_INVISIBLE_BLADES_VISIBLE_CHEST, BLUE_RUPEE, {Category::cShadowTemple,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE); - locationTable[SHADOW_TEMPLE_MQ_BOMB_FLOWER_CHEST] = ItemLocation::Chest (0x07, 0x0D, "Shadow Temple MQ Bomb Flower Chest", SHADOW_TEMPLE_MQ_BOMB_FLOWER_CHEST, ARROWS_10, {Category::cShadowTemple,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE); - locationTable[SHADOW_TEMPLE_MQ_WIND_HINT_CHEST] = ItemLocation::Chest (0x07, 0x15, "Shadow Temple MQ Wind Hint Chest", SHADOW_TEMPLE_MQ_WIND_HINT_CHEST, SHADOW_TEMPLE_SMALL_KEY, {Category::cShadowTemple, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE); - locationTable[SHADOW_TEMPLE_MQ_AFTER_WIND_HIDDEN_CHEST] = ItemLocation::Chest (0x07, 0x14, "Shadow Temple MQ After Wind Hidden Chest", SHADOW_TEMPLE_MQ_AFTER_WIND_HIDDEN_CHEST, ARROWS_5, {Category::cShadowTemple,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE); - locationTable[SHADOW_TEMPLE_MQ_AFTER_WIND_ENEMY_CHEST] = ItemLocation::Chest (0x07, 0x08, "Shadow Temple MQ After Wind Enemy Chest", SHADOW_TEMPLE_MQ_AFTER_WIND_ENEMY_CHEST, BLUE_RUPEE, {Category::cShadowTemple,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE); - locationTable[SHADOW_TEMPLE_MQ_NEAR_SHIP_INVISIBLE_CHEST] = ItemLocation::Chest (0x07, 0x0E, "Shadow Temple MQ Near Ship Invisible Chest", SHADOW_TEMPLE_MQ_NEAR_SHIP_INVISIBLE_CHEST, SHADOW_TEMPLE_SMALL_KEY, {Category::cShadowTemple, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE); - locationTable[SHADOW_TEMPLE_MQ_FREESTANDING_KEY] = ItemLocation::Collectable(0x07, 0x06, "Shadow Temple MQ Freestanding Key", SHADOW_TEMPLE_MQ_FREESTANDING_KEY, SHADOW_TEMPLE_SMALL_KEY, {Category::cShadowTemple, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE); - - // Bottom of the Well Vanilla - locationTable[BOTTOM_OF_THE_WELL_FRONT_LEFT_FAKE_WALL_CHEST] = ItemLocation::Chest (0x08, 0x08, "Bottom of the Well Front Left Fake Wall Chest", BOTTOM_OF_THE_WELL_FRONT_LEFT_FAKE_WALL_CHEST, BOTTOM_OF_THE_WELL_SMALL_KEY, {Category::cBottomOfTheWell, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_BOTTOM_OF_THE_WELL); - locationTable[BOTTOM_OF_THE_WELL_FRONT_CENTER_BOMBABLE_CHEST] = ItemLocation::Chest (0x08, 0x02, "Bottom of the Well Front Center Bombable Chest", BOTTOM_OF_THE_WELL_FRONT_CENTER_BOMBABLE_CHEST, BOMBCHU_10, {Category::cBottomOfTheWell,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_BOTTOM_OF_THE_WELL); - locationTable[BOTTOM_OF_THE_WELL_RIGHT_BOTTOM_FAKE_WALL_CHEST] = ItemLocation::Chest (0x08, 0x05, "Bottom of the Well Right Bottom Fake Wall Chest", BOTTOM_OF_THE_WELL_RIGHT_BOTTOM_FAKE_WALL_CHEST, BOTTOM_OF_THE_WELL_SMALL_KEY, {Category::cBottomOfTheWell, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_BOTTOM_OF_THE_WELL); - locationTable[BOTTOM_OF_THE_WELL_COMPASS_CHEST] = ItemLocation::Chest (0x08, 0x01, "Bottom of the Well Compass Chest", BOTTOM_OF_THE_WELL_COMPASS_CHEST, BOTTOM_OF_THE_WELL_COMPASS, {Category::cBottomOfTheWell, Category::cVanillaCompass,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_BOTTOM_OF_THE_WELL); - locationTable[BOTTOM_OF_THE_WELL_CENTER_SKULLTULA_CHEST] = ItemLocation::Chest (0x08, 0x0E, "Bottom of the Well Center Skulltula Chest", BOTTOM_OF_THE_WELL_CENTER_SKULLTULA_CHEST, DEKU_NUTS_5, {Category::cBottomOfTheWell,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_BOTTOM_OF_THE_WELL); - locationTable[BOTTOM_OF_THE_WELL_BACK_LEFT_BOMBABLE_CHEST] = ItemLocation::Chest (0x08, 0x04, "Bottom of the Well Back Left Bombable Chest", BOTTOM_OF_THE_WELL_BACK_LEFT_BOMBABLE_CHEST, DEKU_NUTS_10, {Category::cBottomOfTheWell,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_BOTTOM_OF_THE_WELL); - locationTable[BOTTOM_OF_THE_WELL_LENS_OF_TRUTH_CHEST] = ItemLocation::Chest (0x08, 0x03, "Bottom of the Well Lens of Truth Chest", BOTTOM_OF_THE_WELL_LENS_OF_TRUTH_CHEST, LENS_OF_TRUTH, {Category::cBottomOfTheWell, Category::cSongDungeonReward}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_BOTTOM_OF_THE_WELL); - locationTable[BOTTOM_OF_THE_WELL_INVISIBLE_CHEST] = ItemLocation::Chest (0x08, 0x14, "Bottom of the Well Invisible Chest", BOTTOM_OF_THE_WELL_INVISIBLE_CHEST, HUGE_RUPEE, {Category::cBottomOfTheWell,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_BOTTOM_OF_THE_WELL); - locationTable[BOTTOM_OF_THE_WELL_UNDERWATER_FRONT_CHEST] = ItemLocation::Chest (0x08, 0x10, "Bottom of the Well Underwater Front Chest", BOTTOM_OF_THE_WELL_UNDERWATER_FRONT_CHEST, BOMBS_10, {Category::cBottomOfTheWell,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_BOTTOM_OF_THE_WELL); - locationTable[BOTTOM_OF_THE_WELL_UNDERWATER_LEFT_CHEST] = ItemLocation::Chest (0x08, 0x09, "Bottom of the Well Underwater Left Chest", BOTTOM_OF_THE_WELL_UNDERWATER_LEFT_CHEST, RECOVERY_HEART, {Category::cBottomOfTheWell,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_BOTTOM_OF_THE_WELL); - locationTable[BOTTOM_OF_THE_WELL_MAP_CHEST] = ItemLocation::Chest (0x08, 0x07, "Bottom of the Well Map Chest", BOTTOM_OF_THE_WELL_MAP_CHEST, BOTTOM_OF_THE_WELL_MAP, {Category::cBottomOfTheWell, Category::cVanillaMap,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_BOTTOM_OF_THE_WELL); - locationTable[BOTTOM_OF_THE_WELL_FIRE_KEESE_CHEST] = ItemLocation::Chest (0x08, 0x0A, "Bottom of the Well Fire Keese Chest", BOTTOM_OF_THE_WELL_FIRE_KEESE_CHEST, DEKU_SHIELD, {Category::cBottomOfTheWell,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_BOTTOM_OF_THE_WELL); - locationTable[BOTTOM_OF_THE_WELL_LIKE_LIKE_CHEST] = ItemLocation::Chest (0x08, 0x0C, "Bottom of the Well Like Like Chest", BOTTOM_OF_THE_WELL_LIKE_LIKE_CHEST, HYLIAN_SHIELD, {Category::cBottomOfTheWell,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_BOTTOM_OF_THE_WELL); - locationTable[BOTTOM_OF_THE_WELL_FREESTANDING_KEY] = ItemLocation::Collectable(0x08, 0x01, "Bottom of the Well Freestanding Key", BOTTOM_OF_THE_WELL_FREESTANDING_KEY, BOTTOM_OF_THE_WELL_SMALL_KEY, {Category::cBottomOfTheWell, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_BOTTOM_OF_THE_WELL); - // Bottom of the Well MQ - locationTable[BOTTOM_OF_THE_WELL_MQ_MAP_CHEST] = ItemLocation::Chest (0x08, 0x03, "Bottom of the Well MQ Map Chest", BOTTOM_OF_THE_WELL_MQ_MAP_CHEST, BOTTOM_OF_THE_WELL_MAP, {Category::cBottomOfTheWell, Category::cVanillaMap,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_BOTTOM_OF_THE_WELL); - locationTable[BOTTOM_OF_THE_WELL_MQ_LENS_OF_TRUTH_CHEST] = ItemLocation::Chest (0x08, 0x01, "Bottom of the Well MQ Lens of Truth Chest", BOTTOM_OF_THE_WELL_MQ_LENS_OF_TRUTH_CHEST, LENS_OF_TRUTH, {Category::cBottomOfTheWell, Category::cSongDungeonReward}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_BOTTOM_OF_THE_WELL); - locationTable[BOTTOM_OF_THE_WELL_MQ_COMPASS_CHEST] = ItemLocation::Chest (0x08, 0x02, "Bottom of the Well MQ Compass Chest", BOTTOM_OF_THE_WELL_MQ_COMPASS_CHEST, BOTTOM_OF_THE_WELL_COMPASS, {Category::cBottomOfTheWell, Category::cVanillaCompass,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_BOTTOM_OF_THE_WELL); - locationTable[BOTTOM_OF_THE_WELL_MQ_DEAD_HAND_FREESTANDING_KEY] = ItemLocation::Collectable(0x08, 0x02, "Bottom of the Well MQ Dead Hand Freestanding Key", BOTTOM_OF_THE_WELL_MQ_DEAD_HAND_FREESTANDING_KEY, BOTTOM_OF_THE_WELL_SMALL_KEY, {Category::cBottomOfTheWell, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_BOTTOM_OF_THE_WELL); - locationTable[BOTTOM_OF_THE_WELL_MQ_EAST_INNER_ROOM_FREESTANDING_KEY] = ItemLocation::Collectable(0x08, 0x01, "Bottom of the Well MQ East Inner Room Freestanding Key",BOTTOM_OF_THE_WELL_MQ_EAST_INNER_ROOM_FREESTANDING_KEY, BOTTOM_OF_THE_WELL_SMALL_KEY, {Category::cBottomOfTheWell, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_BOTTOM_OF_THE_WELL); - - // Ice Cavern Vanilla - locationTable[ICE_CAVERN_MAP_CHEST] = ItemLocation::Chest (0x09, 0x00, "Ice Cavern Map Chest", ICE_CAVERN_MAP_CHEST, ICE_CAVERN_MAP, {Category::cIceCavern, Category::cVanillaMap,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_ICE_CAVERN); - locationTable[ICE_CAVERN_COMPASS_CHEST] = ItemLocation::Chest (0x09, 0x01, "Ice Cavern Compass Chest", ICE_CAVERN_COMPASS_CHEST, ICE_CAVERN_COMPASS, {Category::cIceCavern, Category::cVanillaCompass,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_ICE_CAVERN); - locationTable[ICE_CAVERN_IRON_BOOTS_CHEST] = ItemLocation::Chest (0x09, 0x02, "Ice Cavern Iron Boots Chest", ICE_CAVERN_IRON_BOOTS_CHEST, IRON_BOOTS, {Category::cIceCavern,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_ICE_CAVERN); - locationTable[ICE_CAVERN_FREESTANDING_POH] = ItemLocation::Collectable(0x09, 0x01, "Ice Cavern Freestanding PoH", ICE_CAVERN_FREESTANDING_POH, PIECE_OF_HEART, {Category::cIceCavern,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_ICE_CAVERN); - // Ice Cavern MQ - locationTable[ICE_CAVERN_MQ_IRON_BOOTS_CHEST] = ItemLocation::Chest (0x09, 0x02, "Ice Cavern MQ Iron Boots Chest", ICE_CAVERN_MQ_IRON_BOOTS_CHEST, IRON_BOOTS, {Category::cIceCavern,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_ICE_CAVERN); - locationTable[ICE_CAVERN_MQ_COMPASS_CHEST] = ItemLocation::Chest (0x09, 0x00, "Ice Cavern MQ Compass Chest", ICE_CAVERN_MQ_COMPASS_CHEST, ICE_CAVERN_COMPASS, {Category::cIceCavern, Category::cVanillaCompass,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_ICE_CAVERN); - locationTable[ICE_CAVERN_MQ_MAP_CHEST] = ItemLocation::Chest (0x09, 0x01, "Ice Cavern MQ Map Chest", ICE_CAVERN_MQ_MAP_CHEST, ICE_CAVERN_MAP, {Category::cIceCavern, Category::cVanillaMap,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_ICE_CAVERN); - locationTable[ICE_CAVERN_MQ_FREESTANDING_POH] = ItemLocation::Collectable(0x09, 0x01, "Ice Cavern MQ Freestanding PoH", ICE_CAVERN_MQ_FREESTANDING_POH, PIECE_OF_HEART, {Category::cIceCavern,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_ICE_CAVERN); - - // Gerudo Training Ground Vanilla - locationTable[GERUDO_TRAINING_GROUNDS_LOBBY_LEFT_CHEST] = ItemLocation::Chest (0x0B, 0x13, "Gerudo Training Grounds Lobby Left Chest", GERUDO_TRAINING_GROUNDS_LOBBY_LEFT_CHEST, BLUE_RUPEE, {Category::cGerudoTrainingGrounds,}, SpoilerCollectionCheckGroup::GROUP_GERUDO_TRAINING_GROUND); - locationTable[GERUDO_TRAINING_GROUNDS_LOBBY_RIGHT_CHEST] = ItemLocation::Chest (0x0B, 0x07, "Gerudo Training Grounds Lobby Right Chest", GERUDO_TRAINING_GROUNDS_LOBBY_RIGHT_CHEST, ARROWS_10, {Category::cGerudoTrainingGrounds,}, SpoilerCollectionCheckGroup::GROUP_GERUDO_TRAINING_GROUND); - locationTable[GERUDO_TRAINING_GROUNDS_STALFOS_CHEST] = ItemLocation::Chest (0x0B, 0x00, "Gerudo Training Grounds Stalfos Chest", GERUDO_TRAINING_GROUNDS_STALFOS_CHEST, GERUDO_TRAINING_GROUNDS_SMALL_KEY, {Category::cGerudoTrainingGrounds, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_GERUDO_TRAINING_GROUND); - locationTable[GERUDO_TRAINING_GROUNDS_BEAMOS_CHEST] = ItemLocation::Chest (0x0B, 0x01, "Gerudo Training Grounds Beamos Chest", GERUDO_TRAINING_GROUNDS_BEAMOS_CHEST, GERUDO_TRAINING_GROUNDS_SMALL_KEY, {Category::cGerudoTrainingGrounds, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_GERUDO_TRAINING_GROUND); - locationTable[GERUDO_TRAINING_GROUNDS_HIDDEN_CEILING_CHEST] = ItemLocation::Chest (0x0B, 0x0B, "Gerudo Training Grounds Hidden Ceiling Chest", GERUDO_TRAINING_GROUNDS_HIDDEN_CEILING_CHEST, GERUDO_TRAINING_GROUNDS_SMALL_KEY, {Category::cGerudoTrainingGrounds, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_GERUDO_TRAINING_GROUND); - locationTable[GERUDO_TRAINING_GROUNDS_MAZE_PATH_FIRST_CHEST] = ItemLocation::Chest (0x0B, 0x06, "Gerudo Training Grounds Maze Path First Chest", GERUDO_TRAINING_GROUNDS_MAZE_PATH_FIRST_CHEST, PURPLE_RUPEE, {Category::cGerudoTrainingGrounds,}, SpoilerCollectionCheckGroup::GROUP_GERUDO_TRAINING_GROUND); - locationTable[GERUDO_TRAINING_GROUNDS_MAZE_PATH_SECOND_CHEST] = ItemLocation::Chest (0x0B, 0x0A, "Gerudo Training Grounds Maze Path Second Chest", GERUDO_TRAINING_GROUNDS_MAZE_PATH_SECOND_CHEST, RED_RUPEE, {Category::cGerudoTrainingGrounds,}, SpoilerCollectionCheckGroup::GROUP_GERUDO_TRAINING_GROUND); - locationTable[GERUDO_TRAINING_GROUNDS_MAZE_PATH_THIRD_CHEST] = ItemLocation::Chest (0x0B, 0x09, "Gerudo Training Grounds Maze Path Third Chest", GERUDO_TRAINING_GROUNDS_MAZE_PATH_THIRD_CHEST, ARROWS_30, {Category::cGerudoTrainingGrounds,}, SpoilerCollectionCheckGroup::GROUP_GERUDO_TRAINING_GROUND); - locationTable[GERUDO_TRAINING_GROUNDS_MAZE_PATH_FINAL_CHEST] = ItemLocation::Chest (0x0B, 0x0C, "Gerudo Training Grounds Maze Path Final Chest", GERUDO_TRAINING_GROUNDS_MAZE_PATH_FINAL_CHEST, ICE_ARROWS, {Category::cGerudoTrainingGrounds, Category::cSongDungeonReward}, SpoilerCollectionCheckGroup::GROUP_GERUDO_TRAINING_GROUND); - locationTable[GERUDO_TRAINING_GROUNDS_MAZE_RIGHT_CENTRAL_CHEST] = ItemLocation::Chest (0x0B, 0x05, "Gerudo Training Grounds Maze Right Central Chest", GERUDO_TRAINING_GROUNDS_MAZE_RIGHT_CENTRAL_CHEST, BOMBCHU_5, {Category::cGerudoTrainingGrounds,}, SpoilerCollectionCheckGroup::GROUP_GERUDO_TRAINING_GROUND); - locationTable[GERUDO_TRAINING_GROUNDS_MAZE_RIGHT_SIDE_CHEST] = ItemLocation::Chest (0x0B, 0x08, "Gerudo Training Grounds Maze Right Side Chest", GERUDO_TRAINING_GROUNDS_MAZE_RIGHT_SIDE_CHEST, ARROWS_30, {Category::cGerudoTrainingGrounds,}, SpoilerCollectionCheckGroup::GROUP_GERUDO_TRAINING_GROUND); - locationTable[GERUDO_TRAINING_GROUNDS_UNDERWATER_SILVER_RUPEE_CHEST] = ItemLocation::Chest (0x0B, 0x0D, "Gerudo Training Grounds Underwater Silver Rupee Chest", GERUDO_TRAINING_GROUNDS_UNDERWATER_SILVER_RUPEE_CHEST, GERUDO_TRAINING_GROUNDS_SMALL_KEY, {Category::cGerudoTrainingGrounds, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_GERUDO_TRAINING_GROUND); - locationTable[GERUDO_TRAINING_GROUNDS_HAMMER_ROOM_CLEAR_CHEST] = ItemLocation::Chest (0x0B, 0x12, "Gerudo Training Grounds Hammer Room Clear Chest", GERUDO_TRAINING_GROUNDS_HAMMER_ROOM_CLEAR_CHEST, ARROWS_10, {Category::cGerudoTrainingGrounds,}, SpoilerCollectionCheckGroup::GROUP_GERUDO_TRAINING_GROUND); - locationTable[GERUDO_TRAINING_GROUNDS_HAMMER_ROOM_SWITCH_CHEST] = ItemLocation::Chest (0x0B, 0x10, "Gerudo Training Grounds Hammer Room Switch Chest", GERUDO_TRAINING_GROUNDS_HAMMER_ROOM_SWITCH_CHEST, GERUDO_TRAINING_GROUNDS_SMALL_KEY, {Category::cGerudoTrainingGrounds, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_GERUDO_TRAINING_GROUND); - locationTable[GERUDO_TRAINING_GROUNDS_EYE_STATUE_CHEST] = ItemLocation::Chest (0x0B, 0x03, "Gerudo Training Grounds Eye Statue Chest", GERUDO_TRAINING_GROUNDS_EYE_STATUE_CHEST, GERUDO_TRAINING_GROUNDS_SMALL_KEY, {Category::cGerudoTrainingGrounds, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_GERUDO_TRAINING_GROUND); - locationTable[GERUDO_TRAINING_GROUNDS_NEAR_SCARECROW_CHEST] = ItemLocation::Chest (0x0B, 0x04, "Gerudo Training Grounds Near Scarecrow Chest", GERUDO_TRAINING_GROUNDS_NEAR_SCARECROW_CHEST, GERUDO_TRAINING_GROUNDS_SMALL_KEY, {Category::cGerudoTrainingGrounds, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_GERUDO_TRAINING_GROUND); - locationTable[GERUDO_TRAINING_GROUNDS_BEFORE_HEAVY_BLOCK_CHEST] = ItemLocation::Chest (0x0B, 0x11, "Gerudo Training Grounds Before Heavy Block Chest", GERUDO_TRAINING_GROUNDS_BEFORE_HEAVY_BLOCK_CHEST, ARROWS_30, {Category::cGerudoTrainingGrounds,}, SpoilerCollectionCheckGroup::GROUP_GERUDO_TRAINING_GROUND); - locationTable[GERUDO_TRAINING_GROUNDS_HEAVY_BLOCK_FIRST_CHEST] = ItemLocation::Chest (0x0B, 0x0F, "Gerudo Training Grounds Heavy Block First Chest", GERUDO_TRAINING_GROUNDS_HEAVY_BLOCK_FIRST_CHEST, HUGE_RUPEE, {Category::cGerudoTrainingGrounds,}, SpoilerCollectionCheckGroup::GROUP_GERUDO_TRAINING_GROUND); - locationTable[GERUDO_TRAINING_GROUNDS_HEAVY_BLOCK_SECOND_CHEST] = ItemLocation::Chest (0x0B, 0x0E, "Gerudo Training Grounds Heavy Block Second Chest", GERUDO_TRAINING_GROUNDS_HEAVY_BLOCK_SECOND_CHEST, BLUE_RUPEE, {Category::cGerudoTrainingGrounds,}, SpoilerCollectionCheckGroup::GROUP_GERUDO_TRAINING_GROUND); - locationTable[GERUDO_TRAINING_GROUNDS_HEAVY_BLOCK_THIRD_CHEST] = ItemLocation::Chest (0x0B, 0x14, "Gerudo Training Grounds Heavy Block Third Chest", GERUDO_TRAINING_GROUNDS_HEAVY_BLOCK_THIRD_CHEST, GERUDO_TRAINING_GROUNDS_SMALL_KEY, {Category::cGerudoTrainingGrounds, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_GERUDO_TRAINING_GROUND); - locationTable[GERUDO_TRAINING_GROUNDS_HEAVY_BLOCK_FOURTH_CHEST] = ItemLocation::Chest (0x0B, 0x02, "Gerudo Training Grounds Heavy Block Fourth Chest", GERUDO_TRAINING_GROUNDS_HEAVY_BLOCK_FOURTH_CHEST, ICE_TRAP, {Category::cGerudoTrainingGrounds,}, SpoilerCollectionCheckGroup::GROUP_GERUDO_TRAINING_GROUND); - locationTable[GERUDO_TRAINING_GROUNDS_FREESTANDING_KEY] = ItemLocation::Collectable(0x0B, 0x01, "Gerudo Training Grounds Freestanding Key", GERUDO_TRAINING_GROUNDS_FREESTANDING_KEY, GERUDO_TRAINING_GROUNDS_SMALL_KEY, {Category::cGerudoTrainingGrounds, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_GERUDO_TRAINING_GROUND); - // Gerudo Training Grounds MQ - locationTable[GERUDO_TRAINING_GROUNDS_MQ_LOBBY_RIGHT_CHEST] = ItemLocation::Chest (0x0B, 0x07, "Gerudo Training Grounds MQ Lobby Right Chest", GERUDO_TRAINING_GROUNDS_MQ_LOBBY_RIGHT_CHEST, BOMBCHU_5, {Category::cGerudoTrainingGrounds,}, SpoilerCollectionCheckGroup::GROUP_GERUDO_TRAINING_GROUND); - locationTable[GERUDO_TRAINING_GROUNDS_MQ_LOBBY_LEFT_CHEST] = ItemLocation::Chest (0x0B, 0x13, "Gerudo Training Grounds MQ Lobby Left Chest", GERUDO_TRAINING_GROUNDS_MQ_LOBBY_LEFT_CHEST, ARROWS_10, {Category::cGerudoTrainingGrounds,}, SpoilerCollectionCheckGroup::GROUP_GERUDO_TRAINING_GROUND); - locationTable[GERUDO_TRAINING_GROUNDS_MQ_FIRST_IRON_KNUCKLE_CHEST] = ItemLocation::Chest (0x0B, 0x00, "Gerudo Training Grounds MQ First Iron Knuckle Chest", GERUDO_TRAINING_GROUNDS_MQ_FIRST_IRON_KNUCKLE_CHEST, BLUE_RUPEE, {Category::cGerudoTrainingGrounds,}, SpoilerCollectionCheckGroup::GROUP_GERUDO_TRAINING_GROUND); - locationTable[GERUDO_TRAINING_GROUNDS_MQ_BEFORE_HEAVY_BLOCK_CHEST] = ItemLocation::Chest (0x0B, 0x11, "Gerudo Training Grounds MQ Before Heavy Block Chest", GERUDO_TRAINING_GROUNDS_MQ_BEFORE_HEAVY_BLOCK_CHEST, ARROWS_10, {Category::cGerudoTrainingGrounds,}, SpoilerCollectionCheckGroup::GROUP_GERUDO_TRAINING_GROUND); - locationTable[GERUDO_TRAINING_GROUNDS_MQ_EYE_STATUE_CHEST] = ItemLocation::Chest (0x0B, 0x03, "Gerudo Training Grounds MQ Eye Statue Chest", GERUDO_TRAINING_GROUNDS_MQ_EYE_STATUE_CHEST, BOMBCHU_10, {Category::cGerudoTrainingGrounds,}, SpoilerCollectionCheckGroup::GROUP_GERUDO_TRAINING_GROUND); - locationTable[GERUDO_TRAINING_GROUNDS_MQ_FLAME_CIRCLE_CHEST] = ItemLocation::Chest (0x0B, 0x0E, "Gerudo Training Grounds MQ Flame Circle Chest", GERUDO_TRAINING_GROUNDS_MQ_FLAME_CIRCLE_CHEST, GERUDO_TRAINING_GROUNDS_SMALL_KEY, {Category::cGerudoTrainingGrounds, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_GERUDO_TRAINING_GROUND); - locationTable[GERUDO_TRAINING_GROUNDS_MQ_SECOND_IRON_KNUCKLE_CHEST] = ItemLocation::Chest (0x0B, 0x12, "Gerudo Training Grounds MQ Second Iron Knuckle Chest", GERUDO_TRAINING_GROUNDS_MQ_SECOND_IRON_KNUCKLE_CHEST, ARROWS_10, {Category::cGerudoTrainingGrounds,}, SpoilerCollectionCheckGroup::GROUP_GERUDO_TRAINING_GROUND); - locationTable[GERUDO_TRAINING_GROUNDS_MQ_DINOLFOS_CHEST] = ItemLocation::Chest (0x0B, 0x01, "Gerudo Training Grounds MQ Dinolfos Chest", GERUDO_TRAINING_GROUNDS_MQ_DINOLFOS_CHEST, GERUDO_TRAINING_GROUNDS_SMALL_KEY, {Category::cGerudoTrainingGrounds, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_GERUDO_TRAINING_GROUND); - locationTable[GERUDO_TRAINING_GROUNDS_MQ_ICE_ARROWS_CHEST] = ItemLocation::Chest (0x0B, 0x04, "Gerudo Training Grounds MQ Ice Arrows Chest", GERUDO_TRAINING_GROUNDS_MQ_ICE_ARROWS_CHEST, ICE_ARROWS, {Category::cGerudoTrainingGrounds, Category::cSongDungeonReward}, SpoilerCollectionCheckGroup::GROUP_GERUDO_TRAINING_GROUND); - locationTable[GERUDO_TRAINING_GROUNDS_MQ_MAZE_RIGHT_CENTRAL_CHEST] = ItemLocation::Chest (0x0B, 0x05, "Gerudo Training Grounds MQ Maze Right Central Chest", GERUDO_TRAINING_GROUNDS_MQ_MAZE_RIGHT_CENTRAL_CHEST, BLUE_RUPEE, {Category::cGerudoTrainingGrounds,}, SpoilerCollectionCheckGroup::GROUP_GERUDO_TRAINING_GROUND); - locationTable[GERUDO_TRAINING_GROUNDS_MQ_MAZE_PATH_FIRST_CHEST] = ItemLocation::Chest (0x0B, 0x06, "Gerudo Training Grounds MQ Maze Path First Chest", GERUDO_TRAINING_GROUNDS_MQ_MAZE_PATH_FIRST_CHEST, GREEN_RUPEE, {Category::cGerudoTrainingGrounds,}, SpoilerCollectionCheckGroup::GROUP_GERUDO_TRAINING_GROUND); - locationTable[GERUDO_TRAINING_GROUNDS_MQ_MAZE_RIGHT_SIDE_CHEST] = ItemLocation::Chest (0x0B, 0x08, "Gerudo Training Grounds MQ Maze Right Side Chest", GERUDO_TRAINING_GROUNDS_MQ_MAZE_RIGHT_SIDE_CHEST, TREASURE_GAME_GREEN_RUPEE, {Category::cGerudoTrainingGrounds,}, SpoilerCollectionCheckGroup::GROUP_GERUDO_TRAINING_GROUND); - locationTable[GERUDO_TRAINING_GROUNDS_MQ_MAZE_PATH_THIRD_CHEST] = ItemLocation::Chest (0x0B, 0x09, "Gerudo Training Grounds MQ Maze Path Third Chest", GERUDO_TRAINING_GROUNDS_MQ_MAZE_PATH_THIRD_CHEST, TREASURE_GAME_GREEN_RUPEE, {Category::cGerudoTrainingGrounds,}, SpoilerCollectionCheckGroup::GROUP_GERUDO_TRAINING_GROUND); - locationTable[GERUDO_TRAINING_GROUNDS_MQ_MAZE_PATH_SECOND_CHEST] = ItemLocation::Chest (0x0B, 0x0A, "Gerudo Training Grounds MQ Maze Path Second Chest", GERUDO_TRAINING_GROUNDS_MQ_MAZE_PATH_SECOND_CHEST, RED_RUPEE, {Category::cGerudoTrainingGrounds,}, SpoilerCollectionCheckGroup::GROUP_GERUDO_TRAINING_GROUND); - locationTable[GERUDO_TRAINING_GROUNDS_MQ_HIDDEN_CEILING_CHEST] = ItemLocation::Chest (0x0B, 0x0B, "Gerudo Training Grounds MQ Hidden Ceiling Chest", GERUDO_TRAINING_GROUNDS_MQ_HIDDEN_CEILING_CHEST, PURPLE_RUPEE, {Category::cGerudoTrainingGrounds,}, SpoilerCollectionCheckGroup::GROUP_GERUDO_TRAINING_GROUND); - locationTable[GERUDO_TRAINING_GROUNDS_MQ_UNDERWATER_SILVER_RUPEE_CHEST] = ItemLocation::Chest (0x0B, 0x0D, "Gerudo Training Grounds MQ Underwater Silver Rupee Chest",GERUDO_TRAINING_GROUNDS_MQ_UNDERWATER_SILVER_RUPEE_CHEST, GERUDO_TRAINING_GROUNDS_SMALL_KEY, {Category::cGerudoTrainingGrounds, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_GERUDO_TRAINING_GROUND); - locationTable[GERUDO_TRAINING_GROUNDS_MQ_HEAVY_BLOCK_CHEST] = ItemLocation::Chest (0x0B, 0x02, "Gerudo Training Grounds MQ Heavy Block Chest", GERUDO_TRAINING_GROUNDS_MQ_HEAVY_BLOCK_CHEST, PURPLE_RUPEE, {Category::cGerudoTrainingGrounds,}, SpoilerCollectionCheckGroup::GROUP_GERUDO_TRAINING_GROUND); - - // Ganons Castle Shared - locationTable[GANONS_TOWER_BOSS_KEY_CHEST] = ItemLocation::Chest (0x0A, 0x0B, "Ganon's Tower Boss Key Chest", GANONS_TOWER_BOSS_KEY_CHEST, GANONS_CASTLE_BOSS_KEY, {Category::cGanonsCastle,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE); - // Ganons Castle Vanilla - locationTable[GANONS_CASTLE_FOREST_TRIAL_CHEST] = ItemLocation::Chest (0x0D, 0x09, "Ganon's Castle Forest Trial Chest", GANONS_CASTLE_FOREST_TRIAL_CHEST, BLUE_RUPEE, {Category::cGanonsCastle,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE); - locationTable[GANONS_CASTLE_WATER_TRIAL_LEFT_CHEST] = ItemLocation::Chest (0x0D, 0x07, "Ganon's Castle Water Trial Left Chest", GANONS_CASTLE_WATER_TRIAL_LEFT_CHEST, ICE_TRAP, {Category::cGanonsCastle,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE); - locationTable[GANONS_CASTLE_WATER_TRIAL_RIGHT_CHEST] = ItemLocation::Chest (0x0D, 0x06, "Ganon's Castle Water Trial Right Chest", GANONS_CASTLE_WATER_TRIAL_RIGHT_CHEST, RECOVERY_HEART, {Category::cGanonsCastle,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE); - locationTable[GANONS_CASTLE_SHADOW_TRIAL_FRONT_CHEST] = ItemLocation::Chest (0x0D, 0x08, "Ganon's Castle Shadow Trial Front Chest", GANONS_CASTLE_SHADOW_TRIAL_FRONT_CHEST, BLUE_RUPEE, {Category::cGanonsCastle,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE); - locationTable[GANONS_CASTLE_SHADOW_TRIAL_GOLDEN_GAUNTLETS_CHEST] = ItemLocation::Chest (0x0D, 0x05, "Ganon's Castle Shadow Trial Golden Gauntlets Chest", GANONS_CASTLE_SHADOW_TRIAL_GOLDEN_GAUNTLETS_CHEST, PROGRESSIVE_STRENGTH, {Category::cGanonsCastle,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE); - locationTable[GANONS_CASTLE_SPIRIT_TRIAL_CRYSTAL_SWITCH_CHEST] = ItemLocation::Chest (0x0D, 0x12, "Ganon's Castle Spirit Trial Crystal Switch Chest", GANONS_CASTLE_SPIRIT_TRIAL_CRYSTAL_SWITCH_CHEST, BOMBCHU_20, {Category::cGanonsCastle,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE); - locationTable[GANONS_CASTLE_SPIRIT_TRIAL_INVISIBLE_CHEST] = ItemLocation::Chest (0x0D, 0x14, "Ganon's Castle Spirit Trial Invisible Chest", GANONS_CASTLE_SPIRIT_TRIAL_INVISIBLE_CHEST, ARROWS_10, {Category::cGanonsCastle,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE); - locationTable[GANONS_CASTLE_LIGHT_TRIAL_FIRST_LEFT_CHEST] = ItemLocation::Chest (0x0D, 0x0C, "Ganon's Castle Light Trial First Left Chest", GANONS_CASTLE_LIGHT_TRIAL_FIRST_LEFT_CHEST, BLUE_RUPEE, {Category::cGanonsCastle,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE); - locationTable[GANONS_CASTLE_LIGHT_TRIAL_SECOND_LEFT_CHEST] = ItemLocation::Chest (0x0D, 0x0B, "Ganon's Castle Light Trial Second Left Chest", GANONS_CASTLE_LIGHT_TRIAL_SECOND_LEFT_CHEST, ICE_TRAP, {Category::cGanonsCastle,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE); - locationTable[GANONS_CASTLE_LIGHT_TRIAL_THIRD_LEFT_CHEST] = ItemLocation::Chest (0x0D, 0x0D, "Ganon's Castle Light Trial Third Left Chest", GANONS_CASTLE_LIGHT_TRIAL_THIRD_LEFT_CHEST, RECOVERY_HEART, {Category::cGanonsCastle,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE); - locationTable[GANONS_CASTLE_LIGHT_TRIAL_FIRST_RIGHT_CHEST] = ItemLocation::Chest (0x0D, 0x0E, "Ganon's Castle Light Trial First Right Chest", GANONS_CASTLE_LIGHT_TRIAL_FIRST_RIGHT_CHEST, ICE_TRAP, {Category::cGanonsCastle,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE); - locationTable[GANONS_CASTLE_LIGHT_TRIAL_SECOND_RIGHT_CHEST] = ItemLocation::Chest (0x0D, 0x0A, "Ganon's Castle Light Trial Second Right Chest", GANONS_CASTLE_LIGHT_TRIAL_SECOND_RIGHT_CHEST, ARROWS_30, {Category::cGanonsCastle,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE); - locationTable[GANONS_CASTLE_LIGHT_TRIAL_THIRD_RIGHT_CHEST] = ItemLocation::Chest (0x0D, 0x0F, "Ganon's Castle Light Trial Third Right Chest", GANONS_CASTLE_LIGHT_TRIAL_THIRD_RIGHT_CHEST, ICE_TRAP, {Category::cGanonsCastle,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE); - locationTable[GANONS_CASTLE_LIGHT_TRIAL_INVISIBLE_ENEMIES_CHEST] = ItemLocation::Chest (0x0D, 0x10, "Ganon's Castle Light Trial Invisible Enemies Chest", GANONS_CASTLE_LIGHT_TRIAL_INVISIBLE_ENEMIES_CHEST, GANONS_CASTLE_SMALL_KEY, {Category::cGanonsCastle, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE); - locationTable[GANONS_CASTLE_LIGHT_TRIAL_LULLABY_CHEST] = ItemLocation::Chest (0x0D, 0x11, "Ganon's Castle Light Trial Lullaby Chest", GANONS_CASTLE_LIGHT_TRIAL_LULLABY_CHEST, GANONS_CASTLE_SMALL_KEY, {Category::cGanonsCastle, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE); - locationTable[GANONS_CASTLE_DEKU_SCRUB_CENTER_LEFT] = ItemLocation::Base (0x0D, 0x37, "Ganon's Castle Deku Scrub Center-Left", GANONS_CASTLE_DEKU_SCRUB_CENTER_LEFT, BOMBS_5, {Category::cGanonsCastle, Category::cDekuScrub,}, SpoilerCollectionCheck::Scrub(0x0D, 0x06), SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE); - locationTable[GANONS_CASTLE_DEKU_SCRUB_CENTER_RIGHT] = ItemLocation::Base (0x0D, 0x33, "Ganon's Castle Deku Scrub Center-Right", GANONS_CASTLE_DEKU_SCRUB_CENTER_RIGHT, ARROWS_30, {Category::cGanonsCastle, Category::cDekuScrub,}, SpoilerCollectionCheck::Scrub(0x0D, 0x04), SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE); - locationTable[GANONS_CASTLE_DEKU_SCRUB_RIGHT] = ItemLocation::Base (0x0D, 0x39, "Ganon's Castle Deku Scrub Right", GANONS_CASTLE_DEKU_SCRUB_RIGHT, RED_POTION_REFILL, {Category::cGanonsCastle, Category::cDekuScrub,}, SpoilerCollectionCheck::Scrub(0x0D, 0x08), SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE); - locationTable[GANONS_CASTLE_DEKU_SCRUB_LEFT] = ItemLocation::Base (0x0D, 0x3A, "Ganon's Castle Deku Scrub Left", GANONS_CASTLE_DEKU_SCRUB_LEFT, GREEN_POTION_REFILL, {Category::cGanonsCastle, Category::cDekuScrub,}, SpoilerCollectionCheck::Scrub(0x0D, 0x09), SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE); - // Ganons Castle MQ - locationTable[GANONS_CASTLE_MQ_WATER_TRIAL_CHEST] = ItemLocation::Chest (0x0D, 0x01, "Ganon's Castle MQ Water Trial Chest", GANONS_CASTLE_MQ_WATER_TRIAL_CHEST, RED_RUPEE, {Category::cGanonsCastle,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE); - locationTable[GANONS_CASTLE_MQ_FOREST_TRIAL_EYE_SWITCH_CHEST] = ItemLocation::Chest (0x0D, 0x02, "Ganon's Castle MQ Forest Trial Eye Switch Chest", GANONS_CASTLE_MQ_FOREST_TRIAL_EYE_SWITCH_CHEST, ARROWS_10, {Category::cGanonsCastle,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE); - locationTable[GANONS_CASTLE_MQ_FOREST_TRIAL_FROZEN_EYE_SWITCH_CHEST] = ItemLocation::Chest (0x0D, 0x03, "Ganon's Castle MQ Forest Trial Frozen Eye Switch Chest",GANONS_CASTLE_MQ_FOREST_TRIAL_FROZEN_EYE_SWITCH_CHEST, BOMBS_5, {Category::cGanonsCastle,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE); - locationTable[GANONS_CASTLE_MQ_LIGHT_TRIAL_LULLABY_CHEST] = ItemLocation::Chest (0x0D, 0x04, "Ganon's Castle MQ Light Trial Lullaby Chest", GANONS_CASTLE_MQ_LIGHT_TRIAL_LULLABY_CHEST, RECOVERY_HEART, {Category::cGanonsCastle,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE); - locationTable[GANONS_CASTLE_MQ_SHADOW_TRIAL_BOMB_FLOWER_CHEST] = ItemLocation::Chest (0x0D, 0x00, "Ganon's Castle MQ Shadow Trial Bomb Flower Chest", GANONS_CASTLE_MQ_SHADOW_TRIAL_BOMB_FLOWER_CHEST, ARROWS_10, {Category::cGanonsCastle,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE); - locationTable[GANONS_CASTLE_MQ_SHADOW_TRIAL_EYE_SWITCH_CHEST] = ItemLocation::Chest (0x0D, 0x05, "Ganon's Castle MQ Shadow Trial Eye Switch Chest", GANONS_CASTLE_MQ_SHADOW_TRIAL_EYE_SWITCH_CHEST, GANONS_CASTLE_SMALL_KEY, {Category::cGanonsCastle, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE); - locationTable[GANONS_CASTLE_MQ_SPIRIT_TRIAL_GOLDEN_GAUNTLETS_CHEST] = ItemLocation::Chest (0x0D, 0x06, "Ganon's Castle MQ Spirit Trial Golden Gauntlets Chest", GANONS_CASTLE_MQ_SPIRIT_TRIAL_GOLDEN_GAUNTLETS_CHEST, PROGRESSIVE_STRENGTH, {Category::cGanonsCastle,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE); - locationTable[GANONS_CASTLE_MQ_SPIRIT_TRIAL_SUN_BACK_RIGHT_CHEST] = ItemLocation::Chest (0x0D, 0x07, "Ganon's Castle MQ Spirit Trial Sun Back Right Chest", GANONS_CASTLE_MQ_SPIRIT_TRIAL_SUN_BACK_RIGHT_CHEST, RECOVERY_HEART, {Category::cGanonsCastle,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE); - locationTable[GANONS_CASTLE_MQ_SPIRIT_TRIAL_SUN_BACK_LEFT_CHEST] = ItemLocation::Chest (0x0D, 0x08, "Ganon's Castle MQ Spirit Trial Sun Back Left Chest", GANONS_CASTLE_MQ_SPIRIT_TRIAL_SUN_BACK_LEFT_CHEST, GANONS_CASTLE_SMALL_KEY, {Category::cGanonsCastle, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE); - locationTable[GANONS_CASTLE_MQ_SPIRIT_TRIAL_SUN_FRONT_LEFT_CHEST] = ItemLocation::Chest (0x0D, 0x09, "Ganon's Castle MQ Spirit Trial Sun Front Left Chest", GANONS_CASTLE_MQ_SPIRIT_TRIAL_SUN_FRONT_LEFT_CHEST, RECOVERY_HEART, {Category::cGanonsCastle,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE); - locationTable[GANONS_CASTLE_MQ_SPIRIT_TRIAL_FIRST_CHEST] = ItemLocation::Chest (0x0D, 0x0A, "Ganon's Castle MQ Spirit Trial First Chest", GANONS_CASTLE_MQ_SPIRIT_TRIAL_FIRST_CHEST, BOMBCHU_10, {Category::cGanonsCastle,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE); - locationTable[GANONS_CASTLE_MQ_SPIRIT_TRIAL_INVISIBLE_CHEST] = ItemLocation::Chest (0x0D, 0x14, "Ganon's Castle MQ Spirit Trial Invisible Chest", GANONS_CASTLE_MQ_SPIRIT_TRIAL_INVISIBLE_CHEST, ARROWS_10, {Category::cGanonsCastle,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE); - locationTable[GANONS_CASTLE_MQ_FOREST_TRIAL_FREESTANDING_KEY] = ItemLocation::Collectable(0x0D, 0x01, "Ganon's Castle MQ Forest Trial Freestanding Key", GANONS_CASTLE_MQ_FOREST_TRIAL_FREESTANDING_KEY, GANONS_CASTLE_SMALL_KEY, {Category::cGanonsCastle, Category::cVanillaSmallKey}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE); - locationTable[GANONS_CASTLE_MQ_DEKU_SCRUB_RIGHT] = ItemLocation::Base (0x0D, 0x30, "Ganon's Castle MQ Deku Scrub Right", GANONS_CASTLE_MQ_DEKU_SCRUB_RIGHT, DEKU_NUTS_5, {Category::cGanonsCastle, Category::cDekuScrub,}, SpoilerCollectionCheck::Scrub(0x0D, 0x01), SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE); - locationTable[GANONS_CASTLE_MQ_DEKU_SCRUB_CENTER_LEFT] = ItemLocation::Base (0x0D, 0x37, "Ganon's Castle MQ Deku Scrub Center-Left", GANONS_CASTLE_MQ_DEKU_SCRUB_CENTER_LEFT, BOMBS_5, {Category::cGanonsCastle, Category::cDekuScrub,}, SpoilerCollectionCheck::Scrub(0x0D, 0x06), SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE); - locationTable[GANONS_CASTLE_MQ_DEKU_SCRUB_CENTER] = ItemLocation::Base (0x0D, 0x33, "Ganon's Castle MQ Deku Scrub Center", GANONS_CASTLE_MQ_DEKU_SCRUB_CENTER, ARROWS_30, {Category::cGanonsCastle, Category::cDekuScrub,}, SpoilerCollectionCheck::Scrub(0x0D, 0x04), SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE); - locationTable[GANONS_CASTLE_MQ_DEKU_SCRUB_CENTER_RIGHT] = ItemLocation::Base (0x0D, 0x39, "Ganon's Castle MQ Deku Scrub Center-Right", GANONS_CASTLE_MQ_DEKU_SCRUB_CENTER_RIGHT, RED_POTION_REFILL, {Category::cGanonsCastle, Category::cDekuScrub,}, SpoilerCollectionCheck::Scrub(0x0D, 0x08), SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE); - locationTable[GANONS_CASTLE_MQ_DEKU_SCRUB_LEFT] = ItemLocation::Base (0x0D, 0x3A, "Ganon's Castle MQ Deku Scrub Left", GANONS_CASTLE_MQ_DEKU_SCRUB_LEFT, GREEN_POTION_REFILL, {Category::cGanonsCastle, Category::cDekuScrub,}, SpoilerCollectionCheck::Scrub(0x0D, 0x09), SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE); - - /*------------------------------- - --- GOLD SKULLTULA TOKENS --- - -------------------------------*/ - - // Dungeons - locationTable[DEKU_TREE_GS_BASEMENT_BACK_ROOM] = ItemLocation::GSToken(0x00, 0x01, "Deku Tree GS Basement Back Room", DEKU_TREE_GS_BASEMENT_BACK_ROOM, {Category::cDekuTree, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_DEKU_TREE); - locationTable[DEKU_TREE_GS_BASEMENT_GATE] = ItemLocation::GSToken(0x00, 0x02, "Deku Tree GS Basement Gate", DEKU_TREE_GS_BASEMENT_GATE, {Category::cDekuTree, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_DEKU_TREE); - locationTable[DEKU_TREE_GS_BASEMENT_VINES] = ItemLocation::GSToken(0x00, 0x04, "Deku Tree GS Basement Vines", DEKU_TREE_GS_BASEMENT_VINES, {Category::cDekuTree, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_DEKU_TREE); - locationTable[DEKU_TREE_GS_COMPASS_ROOM] = ItemLocation::GSToken(0x00, 0x08, "Deku Tree GS Compass Room", DEKU_TREE_GS_COMPASS_ROOM, {Category::cDekuTree, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_DEKU_TREE); - - locationTable[DEKU_TREE_MQ_GS_LOBBY] = ItemLocation::GSToken(0x00, 0x02, "Deku Tree MQ GS Lobby", DEKU_TREE_MQ_GS_LOBBY, {Category::cDekuTree, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_DEKU_TREE); - locationTable[DEKU_TREE_MQ_GS_COMPASS_ROOM] = ItemLocation::GSToken(0x00, 0x08, "Deku Tree MQ GS Compass Room", DEKU_TREE_MQ_GS_COMPASS_ROOM, {Category::cDekuTree, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_DEKU_TREE); - locationTable[DEKU_TREE_MQ_GS_BASEMENT_GRAVES_ROOM] = ItemLocation::GSToken(0x00, 0x04, "Deku Tree MQ GS Basement Graves Room", DEKU_TREE_MQ_GS_BASEMENT_GRAVES_ROOM, {Category::cDekuTree, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_DEKU_TREE); - locationTable[DEKU_TREE_MQ_GS_BASEMENT_BACK_ROOM] = ItemLocation::GSToken(0x00, 0x01, "Deku Tree MQ GS Basement Back Room", DEKU_TREE_MQ_GS_BASEMENT_BACK_ROOM, {Category::cDekuTree, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_DEKU_TREE); - - locationTable[DODONGOS_CAVERN_GS_VINES_ABOVE_STAIRS] = ItemLocation::GSToken(0x01, 0x01, "Dodongos Cavern GS Vines Above Stairs", DODONGOS_CAVERN_GS_VINES_ABOVE_STAIRS, {Category::cDodongosCavern, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN); - locationTable[DODONGOS_CAVERN_GS_SCARECROW] = ItemLocation::GSToken(0x01, 0x02, "Dodongos Cavern GS Scarecrow", DODONGOS_CAVERN_GS_SCARECROW, {Category::cDodongosCavern, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN); - locationTable[DODONGOS_CAVERN_GS_ALCOVE_ABOVE_STAIRS] = ItemLocation::GSToken(0x01, 0x04, "Dodongos Cavern GS Alcove Above Stairs", DODONGOS_CAVERN_GS_ALCOVE_ABOVE_STAIRS, {Category::cDodongosCavern, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN); - locationTable[DODONGOS_CAVERN_GS_BACK_ROOM] = ItemLocation::GSToken(0x01, 0x08, "Dodongos Cavern GS Back Room", DODONGOS_CAVERN_GS_BACK_ROOM, {Category::cDodongosCavern, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN); - locationTable[DODONGOS_CAVERN_GS_SIDE_ROOM_NEAR_LOWER_LIZALFOS] = ItemLocation::GSToken(0x01, 0x10, "Dodongos Cavern GS Side Room Near Lower Lizalfos", DODONGOS_CAVERN_GS_SIDE_ROOM_NEAR_LOWER_LIZALFOS, {Category::cDodongosCavern, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN); - - locationTable[DODONGOS_CAVERN_MQ_GS_SCRUB_ROOM] = ItemLocation::GSToken(0x01, 0x02, "Dodongos Cavern MQ GS Scrub Room", DODONGOS_CAVERN_MQ_GS_SCRUB_ROOM, {Category::cDodongosCavern, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN); - locationTable[DODONGOS_CAVERN_MQ_GS_SONG_OF_TIME_BLOCK_ROOM] = ItemLocation::GSToken(0x01, 0x08, "Dodongos Cavern MQ GS Song of Time Block Room", DODONGOS_CAVERN_MQ_GS_SONG_OF_TIME_BLOCK_ROOM, {Category::cDodongosCavern, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN); - locationTable[DODONGOS_CAVERN_MQ_GS_LIZALFOS_ROOM] = ItemLocation::GSToken(0x01, 0x04, "Dodongos Cavern MQ GS Lizalfos Room", DODONGOS_CAVERN_MQ_GS_LIZALFOS_ROOM, {Category::cDodongosCavern, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN); - locationTable[DODONGOS_CAVERN_MQ_GS_LARVAE_ROOM] = ItemLocation::GSToken(0x01, 0x10, "Dodongos Cavern MQ GS Larvae Room", DODONGOS_CAVERN_MQ_GS_LARVAE_ROOM, {Category::cDodongosCavern, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN); - locationTable[DODONGOS_CAVERN_MQ_GS_BACK_AREA] = ItemLocation::GSToken(0x01, 0x01, "Dodongos Cavern MQ GS Back Room", DODONGOS_CAVERN_MQ_GS_BACK_AREA, {Category::cDodongosCavern, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN); - - locationTable[JABU_JABUS_BELLY_GS_LOBBY_BASEMENT_LOWER] = ItemLocation::GSToken(0x02, 0x01, "Jabu Jabus Belly GS Lobby Basement Lower", JABU_JABUS_BELLY_GS_LOBBY_BASEMENT_LOWER, {Category::cJabuJabusBelly, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_JABUJABUS_BELLY); - locationTable[JABU_JABUS_BELLY_GS_LOBBY_BASEMENT_UPPER] = ItemLocation::GSToken(0x02, 0x02, "Jabu Jabus Belly GS Lobby Basement Upper", JABU_JABUS_BELLY_GS_LOBBY_BASEMENT_UPPER, {Category::cJabuJabusBelly, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_JABUJABUS_BELLY); - locationTable[JABU_JABUS_BELLY_GS_NEAR_BOSS] = ItemLocation::GSToken(0x02, 0x04, "Jabu Jabus Belly GS Near Boss", JABU_JABUS_BELLY_GS_NEAR_BOSS, {Category::cJabuJabusBelly, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_JABUJABUS_BELLY); - locationTable[JABU_JABUS_BELLY_GS_WATER_SWITCH_ROOM] = ItemLocation::GSToken(0x02, 0x08, "Jabu Jabus Belly GS Water Switch Room", JABU_JABUS_BELLY_GS_WATER_SWITCH_ROOM, {Category::cJabuJabusBelly, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_JABUJABUS_BELLY); - - locationTable[JABU_JABUS_BELLY_MQ_GS_TAILPASARAN_ROOM] = ItemLocation::GSToken(0x02, 0x04, "Jabu Jabus Belly MQ GS Tail Parasan Room", JABU_JABUS_BELLY_MQ_GS_TAILPASARAN_ROOM, {Category::cJabuJabusBelly, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_JABUJABUS_BELLY); - locationTable[JABU_JABUS_BELLY_MQ_GS_INVISIBLE_ENEMIES_ROOM] = ItemLocation::GSToken(0x02, 0x08, "Jabu Jabus Belly MQ GS Invisible Enemies Room", JABU_JABUS_BELLY_MQ_GS_INVISIBLE_ENEMIES_ROOM, {Category::cJabuJabusBelly, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_JABUJABUS_BELLY); - locationTable[JABU_JABUS_BELLY_MQ_GS_BOOMERANG_CHEST_ROOM] = ItemLocation::GSToken(0x02, 0x01, "Jabu Jabus Belly MQ GS Boomerang Chest Room", JABU_JABUS_BELLY_MQ_GS_BOOMERANG_CHEST_ROOM, {Category::cJabuJabusBelly, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_JABUJABUS_BELLY); - locationTable[JABU_JABUS_BELLY_MQ_GS_NEAR_BOSS] = ItemLocation::GSToken(0x02, 0x02, "Jabu Jabus Belly MQ GS Near Boss", JABU_JABUS_BELLY_MQ_GS_NEAR_BOSS, {Category::cJabuJabusBelly, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_JABUJABUS_BELLY); - - locationTable[FOREST_TEMPLE_GS_RAISED_ISLAND_COURTYARD] = ItemLocation::GSToken(0x03, 0x01, "Forest Temple GS Raised Island Courtyard", FOREST_TEMPLE_GS_RAISED_ISLAND_COURTYARD, {Category::cForestTemple, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE); - locationTable[FOREST_TEMPLE_GS_FIRST_ROOM] = ItemLocation::GSToken(0x03, 0x02, "Forest Temple GS First Room", FOREST_TEMPLE_GS_FIRST_ROOM, {Category::cForestTemple, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE); - locationTable[FOREST_TEMPLE_GS_LEVEL_ISLAND_COURTYARD] = ItemLocation::GSToken(0x03, 0x04, "Forest Temple GS Level Island Courtyard", FOREST_TEMPLE_GS_LEVEL_ISLAND_COURTYARD, {Category::cForestTemple, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE); - locationTable[FOREST_TEMPLE_GS_LOBBY] = ItemLocation::GSToken(0x03, 0x08, "Forest Temple GS Lobby", FOREST_TEMPLE_GS_LOBBY, {Category::cForestTemple, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE); - locationTable[FOREST_TEMPLE_GS_BASEMENT] = ItemLocation::GSToken(0x03, 0x10, "Forest Temple GS Basement", FOREST_TEMPLE_GS_BASEMENT, {Category::cForestTemple, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE); - - locationTable[FOREST_TEMPLE_MQ_GS_FIRST_HALLWAY] = ItemLocation::GSToken(0x03, 0x02, "Forest Temple MQ GS First Hallway", FOREST_TEMPLE_MQ_GS_FIRST_HALLWAY, {Category::cForestTemple, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE); - locationTable[FOREST_TEMPLE_MQ_GS_BLOCK_PUSH_ROOM] = ItemLocation::GSToken(0x03, 0x10, "Forest Temple MQ GS Block Push Room", FOREST_TEMPLE_MQ_GS_BLOCK_PUSH_ROOM, {Category::cForestTemple, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE); - locationTable[FOREST_TEMPLE_MQ_GS_RAISED_ISLAND_COURTYARD] = ItemLocation::GSToken(0x03, 0x01, "Forest Temple MQ GS Raised Island Courtyard", FOREST_TEMPLE_MQ_GS_RAISED_ISLAND_COURTYARD, {Category::cForestTemple, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE); - locationTable[FOREST_TEMPLE_MQ_GS_LEVEL_ISLAND_COURTYARD] = ItemLocation::GSToken(0x03, 0x04, "Forest Temple MQ GS Level Island Courtyard", FOREST_TEMPLE_MQ_GS_LEVEL_ISLAND_COURTYARD, {Category::cForestTemple, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE); - locationTable[FOREST_TEMPLE_MQ_GS_WELL] = ItemLocation::GSToken(0x03, 0x08, "Forest Temple MQ GS Well", FOREST_TEMPLE_MQ_GS_WELL, {Category::cForestTemple, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE); - - locationTable[FIRE_TEMPLE_GS_SONG_OF_TIME_ROOM] = ItemLocation::GSToken(0x04, 0x01, "Fire Temple GS Song of Time Room", FIRE_TEMPLE_GS_SONG_OF_TIME_ROOM, {Category::cFireTemple, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE); - locationTable[FIRE_TEMPLE_GS_BOSS_KEY_LOOP] = ItemLocation::GSToken(0x04, 0x02, "Fire Temple GS Boss Key Loop", FIRE_TEMPLE_GS_BOSS_KEY_LOOP, {Category::cFireTemple, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE); - locationTable[FIRE_TEMPLE_GS_BOULDER_MAZE] = ItemLocation::GSToken(0x04, 0x04, "Fire Temple GS Boulder Maze", FIRE_TEMPLE_GS_BOULDER_MAZE, {Category::cFireTemple, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE); - locationTable[FIRE_TEMPLE_GS_SCARECROW_TOP] = ItemLocation::GSToken(0x04, 0x08, "Fire Temple GS Scarecrow Top", FIRE_TEMPLE_GS_SCARECROW_TOP, {Category::cFireTemple, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE); - locationTable[FIRE_TEMPLE_GS_SCARECROW_CLIMB] = ItemLocation::GSToken(0x04, 0x10, "Fire Temple GS Scarecrow Climb", FIRE_TEMPLE_GS_SCARECROW_CLIMB, {Category::cFireTemple, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE); - - locationTable[FIRE_TEMPLE_MQ_GS_ABOVE_FIRE_WALL_MAZE] = ItemLocation::GSToken(0x04, 0x02, "Fire Temple MQ GS Above Fire Wall Maze", FIRE_TEMPLE_MQ_GS_ABOVE_FIRE_WALL_MAZE, {Category::cFireTemple, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE); - locationTable[FIRE_TEMPLE_MQ_GS_FIRE_WALL_MAZE_CENTER] = ItemLocation::GSToken(0x04, 0x08, "Fire Temple MQ GS Fire Wall Maze Center", FIRE_TEMPLE_MQ_GS_FIRE_WALL_MAZE_CENTER, {Category::cFireTemple, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE); - locationTable[FIRE_TEMPLE_MQ_GS_BIG_LAVA_ROOM_OPEN_DOOR] = ItemLocation::GSToken(0x04, 0x01, "Fire Temple MQ GS Big Lava Room Open Door", FIRE_TEMPLE_MQ_GS_BIG_LAVA_ROOM_OPEN_DOOR, {Category::cFireTemple, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE); - locationTable[FIRE_TEMPLE_MQ_GS_FIRE_WALL_MAZE_SIDE_ROOM] = ItemLocation::GSToken(0x04, 0x10, "Fire Temple MQ GS Fire Wall Maze Side Room", FIRE_TEMPLE_MQ_GS_FIRE_WALL_MAZE_SIDE_ROOM, {Category::cFireTemple, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE); - locationTable[FIRE_TEMPLE_MQ_GS_SKULL_ON_FIRE] = ItemLocation::GSToken(0x04, 0x04, "Fire Temple MQ GS Skull on Fire", FIRE_TEMPLE_MQ_GS_SKULL_ON_FIRE, {Category::cFireTemple, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE); - - locationTable[WATER_TEMPLE_GS_BEHIND_GATE] = ItemLocation::GSToken(0x05, 0x01, "Water Temple GS Behind Gate", WATER_TEMPLE_GS_BEHIND_GATE, {Category::cWaterTemple, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE); - locationTable[WATER_TEMPLE_GS_FALLING_PLATFORM_ROOM] = ItemLocation::GSToken(0x05, 0x02, "Water Temple GS Falling Platform Room", WATER_TEMPLE_GS_FALLING_PLATFORM_ROOM, {Category::cWaterTemple, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE); - locationTable[WATER_TEMPLE_GS_CENTRAL_PILLAR] = ItemLocation::GSToken(0x05, 0x04, "Water Temple GS Central Pillar", WATER_TEMPLE_GS_CENTRAL_PILLAR, {Category::cWaterTemple, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE); - locationTable[WATER_TEMPLE_GS_NEAR_BOSS_KEY_CHEST] = ItemLocation::GSToken(0x05, 0x08, "Water Temple GS Near Boss Key Chest", WATER_TEMPLE_GS_NEAR_BOSS_KEY_CHEST, {Category::cWaterTemple, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE); - locationTable[WATER_TEMPLE_GS_RIVER] = ItemLocation::GSToken(0x05, 0x10, "Water Temple GS River", WATER_TEMPLE_GS_RIVER, {Category::cWaterTemple, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE); - - locationTable[WATER_TEMPLE_MQ_GS_BEFORE_UPPER_WATER_SWITCH] = ItemLocation::GSToken(0x05, 0x04, "Water Temple MQ GS Before Upper Water Switch", WATER_TEMPLE_MQ_GS_BEFORE_UPPER_WATER_SWITCH, {Category::cWaterTemple, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE); - locationTable[WATER_TEMPLE_MQ_GS_FREESTANDING_KEY_AREA] = ItemLocation::GSToken(0x05, 0x08, "Water Temple MQ GS Freestanding Key Area", WATER_TEMPLE_MQ_GS_FREESTANDING_KEY_AREA, {Category::cWaterTemple, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE); - locationTable[WATER_TEMPLE_MQ_GS_LIZALFOS_HALLWAY] = ItemLocation::GSToken(0x05, 0x01, "Water Temple MQ GS Lizalfos Hallway", WATER_TEMPLE_MQ_GS_LIZALFOS_HALLWAY, {Category::cWaterTemple, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE); - locationTable[WATER_TEMPLE_MQ_GS_RIVER] = ItemLocation::GSToken(0x05, 0x02, "Water Temple MQ GS River", WATER_TEMPLE_MQ_GS_RIVER, {Category::cWaterTemple, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE); - locationTable[WATER_TEMPLE_MQ_GS_TRIPLE_WALL_TORCH] = ItemLocation::GSToken(0x05, 0x10, "Water Temple MQ GS Triple Wall Torch", WATER_TEMPLE_MQ_GS_TRIPLE_WALL_TORCH, {Category::cWaterTemple, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE); - - locationTable[SPIRIT_TEMPLE_GS_HALL_AFTER_SUN_BLOCK_ROOM] = ItemLocation::GSToken(0x06, 0x01, "Spirit Temple GS Hall After Sun Block Room", SPIRIT_TEMPLE_GS_HALL_AFTER_SUN_BLOCK_ROOM, {Category::cSpiritTemple, Category::cSkulltula}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE); - locationTable[SPIRIT_TEMPLE_GS_BOULDER_ROOM] = ItemLocation::GSToken(0x06, 0x02, "Spirit Temple GS Boulder Room", SPIRIT_TEMPLE_GS_BOULDER_ROOM, {Category::cSpiritTemple, Category::cSkulltula}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE); - locationTable[SPIRIT_TEMPLE_GS_LOBBY] = ItemLocation::GSToken(0x06, 0x04, "Spirit Temple GS Lobby", SPIRIT_TEMPLE_GS_LOBBY, {Category::cSpiritTemple, Category::cSkulltula}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE); - locationTable[SPIRIT_TEMPLE_GS_SUN_ON_FLOOR_ROOM] = ItemLocation::GSToken(0x06, 0x08, "Spirit Temple GS Sun on Floor Room", SPIRIT_TEMPLE_GS_SUN_ON_FLOOR_ROOM, {Category::cSpiritTemple, Category::cSkulltula}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE); - locationTable[SPIRIT_TEMPLE_GS_METAL_FENCE] = ItemLocation::GSToken(0x06, 0x10, "Spirit Temple GS Metal Fence", SPIRIT_TEMPLE_GS_METAL_FENCE, {Category::cSpiritTemple, Category::cSkulltula}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE); - - locationTable[SPIRIT_TEMPLE_MQ_GS_SYMPHONY_ROOM] = ItemLocation::GSToken(0x06, 0x08, "Spirit Temple MQ GS Symphony Room", SPIRIT_TEMPLE_MQ_GS_SYMPHONY_ROOM, {Category::cSpiritTemple, Category::cSkulltula}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE); - locationTable[SPIRIT_TEMPLE_MQ_GS_LEEVER_ROOM] = ItemLocation::GSToken(0x06, 0x02, "Spirit Temple MQ GS Leever Room", SPIRIT_TEMPLE_MQ_GS_LEEVER_ROOM, {Category::cSpiritTemple, Category::cSkulltula}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE); - locationTable[SPIRIT_TEMPLE_MQ_GS_NINE_THRONES_ROOM_WEST] = ItemLocation::GSToken(0x06, 0x04, "Spirit Temple MQ GS Nine Thrones Room West", SPIRIT_TEMPLE_MQ_GS_NINE_THRONES_ROOM_WEST, {Category::cSpiritTemple, Category::cSkulltula}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE); - locationTable[SPIRIT_TEMPLE_MQ_GS_NINE_THRONES_ROOM_NORTH] = ItemLocation::GSToken(0x06, 0x10, "Spirit Temple MQ GS Nine Thrones Room North", SPIRIT_TEMPLE_MQ_GS_NINE_THRONES_ROOM_NORTH, {Category::cSpiritTemple, Category::cSkulltula}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE); - locationTable[SPIRIT_TEMPLE_MQ_GS_SUN_BLOCK_ROOM] = ItemLocation::GSToken(0x06, 0x01, "Spirit Temple MQ GS Sun Block Room", SPIRIT_TEMPLE_MQ_GS_SUN_BLOCK_ROOM, {Category::cSpiritTemple, Category::cSkulltula}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE); - - locationTable[SHADOW_TEMPLE_GS_SINGLE_GIANT_POT] = ItemLocation::GSToken(0x07, 0x01, "Shadow Temple GS Single Giant Pot", SHADOW_TEMPLE_GS_SINGLE_GIANT_POT, {Category::cShadowTemple, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE); - locationTable[SHADOW_TEMPLE_GS_FALLING_SPIKES_ROOM] = ItemLocation::GSToken(0x07, 0x02, "Shadow Temple GS Falling Spikes Room", SHADOW_TEMPLE_GS_FALLING_SPIKES_ROOM, {Category::cShadowTemple, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE); - locationTable[SHADOW_TEMPLE_GS_TRIPLE_GIANT_POT] = ItemLocation::GSToken(0x07, 0x04, "Shadow Temple GS Triple Giant Pot", SHADOW_TEMPLE_GS_TRIPLE_GIANT_POT, {Category::cShadowTemple, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE); - locationTable[SHADOW_TEMPLE_GS_LIKE_LIKE_ROOM] = ItemLocation::GSToken(0x07, 0x08, "Shadow Temple GS Like Like Room", SHADOW_TEMPLE_GS_LIKE_LIKE_ROOM, {Category::cShadowTemple, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE); - locationTable[SHADOW_TEMPLE_GS_NEAR_SHIP] = ItemLocation::GSToken(0x07, 0x10, "Shadow Temple GS Near Ship", SHADOW_TEMPLE_GS_NEAR_SHIP, {Category::cShadowTemple, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE); - - locationTable[SHADOW_TEMPLE_MQ_GS_FALLING_SPIKES_ROOM] = ItemLocation::GSToken(0x07, 0x02, "Shadow Temple MQ GS Falling Spikes Room", SHADOW_TEMPLE_MQ_GS_FALLING_SPIKES_ROOM, {Category::cShadowTemple, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE); - locationTable[SHADOW_TEMPLE_MQ_GS_WIND_HINT_ROOM] = ItemLocation::GSToken(0x07, 0x01, "Shadow Temple MQ GS Wind Hint Room", SHADOW_TEMPLE_MQ_GS_WIND_HINT_ROOM, {Category::cShadowTemple, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE); - locationTable[SHADOW_TEMPLE_MQ_GS_AFTER_WIND] = ItemLocation::GSToken(0x07, 0x08, "Shadow Temple MQ GS After Wind", SHADOW_TEMPLE_MQ_GS_AFTER_WIND, {Category::cShadowTemple, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE); - locationTable[SHADOW_TEMPLE_MQ_GS_AFTER_SHIP] = ItemLocation::GSToken(0x07, 0x10, "Shadow Temple MQ GS After Ship", SHADOW_TEMPLE_MQ_GS_AFTER_SHIP, {Category::cShadowTemple, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE); - locationTable[SHADOW_TEMPLE_MQ_GS_NEAR_BOSS] = ItemLocation::GSToken(0x07, 0x04, "Shadow Temple MQ GS Near Boss", SHADOW_TEMPLE_MQ_GS_NEAR_BOSS, {Category::cShadowTemple, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE); - - locationTable[BOTTOM_OF_THE_WELL_GS_LIKE_LIKE_CAGE] = ItemLocation::GSToken(0x08, 0x01, "Bottom of the Well GS Like Like Cage", BOTTOM_OF_THE_WELL_GS_LIKE_LIKE_CAGE, {Category::cBottomOfTheWell, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_BOTTOM_OF_THE_WELL); - locationTable[BOTTOM_OF_THE_WELL_GS_EAST_INNER_ROOM] = ItemLocation::GSToken(0x08, 0x02, "Bottom of the Well GS East Inner Room", BOTTOM_OF_THE_WELL_GS_EAST_INNER_ROOM, {Category::cBottomOfTheWell, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_BOTTOM_OF_THE_WELL); - locationTable[BOTTOM_OF_THE_WELL_GS_WEST_INNER_ROOM] = ItemLocation::GSToken(0x08, 0x04, "Bottom of the Well GS West Inner Room", BOTTOM_OF_THE_WELL_GS_WEST_INNER_ROOM, {Category::cBottomOfTheWell, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_BOTTOM_OF_THE_WELL); - - locationTable[BOTTOM_OF_THE_WELL_MQ_GS_BASEMENT] = ItemLocation::GSToken(0x08, 0x01, "Bottom of the Well MQ GS Basement", BOTTOM_OF_THE_WELL_MQ_GS_BASEMENT, {Category::cBottomOfTheWell, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_BOTTOM_OF_THE_WELL); - locationTable[BOTTOM_OF_THE_WELL_MQ_GS_COFFIN_ROOM] = ItemLocation::GSToken(0x08, 0x04, "Bottom of the Well MQ GS Coffin Room", BOTTOM_OF_THE_WELL_MQ_GS_COFFIN_ROOM, {Category::cBottomOfTheWell, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_BOTTOM_OF_THE_WELL); - locationTable[BOTTOM_OF_THE_WELL_MQ_GS_WEST_INNER_ROOM] = ItemLocation::GSToken(0x08, 0x02, "Bottom of the Well MQ GS West Inner Room", BOTTOM_OF_THE_WELL_MQ_GS_WEST_INNER_ROOM, {Category::cBottomOfTheWell, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_BOTTOM_OF_THE_WELL); - - locationTable[ICE_CAVERN_GS_PUSH_BLOCK_ROOM] = ItemLocation::GSToken(0x09, 0x01, "Ice Cavern GS Push Block Room", ICE_CAVERN_GS_PUSH_BLOCK_ROOM, {Category::cIceCavern, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_ICE_CAVERN); - locationTable[ICE_CAVERN_GS_SPINNING_SCYTHE_ROOM] = ItemLocation::GSToken(0x09, 0x02, "Ice Cavern GS Spinning Scythe Room", ICE_CAVERN_GS_SPINNING_SCYTHE_ROOM, {Category::cIceCavern, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_ICE_CAVERN); - locationTable[ICE_CAVERN_GS_HEART_PIECE_ROOM] = ItemLocation::GSToken(0x09, 0x04, "Ice Cavern GS Heart Piece Room", ICE_CAVERN_GS_HEART_PIECE_ROOM, {Category::cIceCavern, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_ICE_CAVERN); - - locationTable[ICE_CAVERN_MQ_GS_SCARECROW] = ItemLocation::GSToken(0x09, 0x01, "Ice Cavern MQ GS Scarecrow", ICE_CAVERN_MQ_GS_SCARECROW, {Category::cIceCavern, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_ICE_CAVERN); - locationTable[ICE_CAVERN_MQ_GS_ICE_BLOCK] = ItemLocation::GSToken(0x09, 0x04, "Ice Cavern MQ GS Ice Block", ICE_CAVERN_MQ_GS_ICE_BLOCK, {Category::cIceCavern, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_ICE_CAVERN); - locationTable[ICE_CAVERN_MQ_GS_RED_ICE] = ItemLocation::GSToken(0x09, 0x02, "Ice Cavern MQ GS Red Ice", ICE_CAVERN_MQ_GS_RED_ICE, {Category::cIceCavern, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_ICE_CAVERN); - - // Overworld - locationTable[KF_GS_BEAN_PATCH] = ItemLocation::GSToken(0x0C, 0x01, "KF GS Bean Patch", KF_GS_BEAN_PATCH, {Category::cKokiriForest, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_KOKIRI_FOREST); - locationTable[KF_GS_KNOW_IT_ALL_HOUSE] = ItemLocation::GSToken(0x0C, 0x02, "KF GS Know It All House", KF_GS_KNOW_IT_ALL_HOUSE, {Category::cKokiriForest, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_KOKIRI_FOREST); - locationTable[KF_GS_HOUSE_OF_TWINS] = ItemLocation::GSToken(0x0C, 0x04, "KF GS House of Twins", KF_GS_HOUSE_OF_TWINS, {Category::cKokiriForest, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_KOKIRI_FOREST); - - locationTable[LW_GS_BEAN_PATCH_NEAR_BRIDGE] = ItemLocation::GSToken(0x0D, 0x01, "LW GS Bean Patch Near Bridge", LW_GS_BEAN_PATCH_NEAR_BRIDGE, {Category::cLostWoods, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_LOST_WOODS); - locationTable[LW_GS_BEAN_PATCH_NEAR_THEATER] = ItemLocation::GSToken(0x0D, 0x02, "LW GS Bean Patch Near Theater", LW_GS_BEAN_PATCH_NEAR_THEATER, {Category::cLostWoods, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_LOST_WOODS); - locationTable[LW_GS_ABOVE_THEATER] = ItemLocation::GSToken(0x0D, 0x04, "LW GS Above Theater", LW_GS_ABOVE_THEATER, {Category::cLostWoods, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_LOST_WOODS); - locationTable[SFM_GS] = ItemLocation::GSToken(0x0D, 0x08, "SFM GS", SFM_GS, {Category::cSacredForestMeadow, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_SACRED_FOREST_MEADOW); - - locationTable[HF_GS_COW_GROTTO] = ItemLocation::GSToken(0x0A, 0x01, "HF GS Cow Grotto", HF_GS_COW_GROTTO, {Category::cHyruleField, Category::cSkulltula, Category::cGrotto}, SpoilerCollectionCheckGroup::GROUP_HYRULE_FIELD); - locationTable[HF_GS_NEAR_KAK_GROTTO] = ItemLocation::GSToken(0x0A, 0x02, "HF GS Near Kak Grotto", HF_GS_NEAR_KAK_GROTTO, {Category::cHyruleField, Category::cSkulltula, Category::cGrotto}, SpoilerCollectionCheckGroup::GROUP_HYRULE_FIELD); - - locationTable[LH_GS_BEAN_PATCH] = ItemLocation::GSToken(0x12, 0x01, "LH GS Bean Patch", LH_GS_BEAN_PATCH, {Category::cLakeHylia, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_LAKE_HYLIA); - locationTable[LH_GS_SMALL_ISLAND] = ItemLocation::GSToken(0x12, 0x02, "LH GS Small Island", LH_GS_SMALL_ISLAND, {Category::cLakeHylia, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_LAKE_HYLIA); - locationTable[LH_GS_LAB_WALL] = ItemLocation::GSToken(0x12, 0x04, "LH GS Lab Wall", LH_GS_LAB_WALL, {Category::cLakeHylia, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_LAKE_HYLIA); - locationTable[LH_GS_LAB_CRATE] = ItemLocation::GSToken(0x12, 0x08, "LH GS Lab Crate", LH_GS_LAB_CRATE, {Category::cLakeHylia, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_LAKE_HYLIA); - locationTable[LH_GS_TREE] = ItemLocation::GSToken(0x12, 0x10, "LH GS Tree", LH_GS_TREE, {Category::cLakeHylia, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_LAKE_HYLIA); - - locationTable[GV_GS_BEAN_PATCH] = ItemLocation::GSToken(0x13, 0x01, "GV GS Bean Patch", GV_GS_BEAN_PATCH, {Category::cGerudoValley, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_GERUDO_VALLEY); - locationTable[GV_GS_SMALL_BRIDGE] = ItemLocation::GSToken(0x13, 0x02, "GV GS Small Bridge", GV_GS_SMALL_BRIDGE, {Category::cGerudoValley, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_GERUDO_VALLEY); - locationTable[GV_GS_PILLAR] = ItemLocation::GSToken(0x13, 0x04, "GV GS Pillar", GV_GS_PILLAR, {Category::cGerudoValley, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_GERUDO_VALLEY); - locationTable[GV_GS_BEHIND_TENT] = ItemLocation::GSToken(0x13, 0x08, "GV GS Behind Tent", GV_GS_BEHIND_TENT, {Category::cGerudoValley, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_GERUDO_VALLEY); - - locationTable[GF_GS_ARCHERY_RANGE] = ItemLocation::GSToken(0x14, 0x01, "GF GS Archery Range", GF_GS_ARCHERY_RANGE, {Category::cGerudoFortress, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_GERUDO_VALLEY); - locationTable[GF_GS_TOP_FLOOR] = ItemLocation::GSToken(0x14, 0x02, "GF GS Top Floor", GF_GS_TOP_FLOOR, {Category::cGerudoFortress, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_GERUDO_VALLEY); - - locationTable[WASTELAND_GS] = ItemLocation::GSToken(0x15, 0x02, "Wasteland GS", WASTELAND_GS, {Category::cHauntedWasteland, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_HAUNTED_WASTELAND); - locationTable[COLOSSUS_GS_BEAN_PATCH] = ItemLocation::GSToken(0x15, 0x01, "Colossus GS Bean Patch", COLOSSUS_GS_BEAN_PATCH, {Category::cDesertColossus, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_HAUNTED_WASTELAND); - locationTable[COLOSSUS_GS_HILL] = ItemLocation::GSToken(0x15, 0x04, "Colossus GS Hill", COLOSSUS_GS_HILL, {Category::cDesertColossus, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_HAUNTED_WASTELAND); - locationTable[COLOSSUS_GS_TREE] = ItemLocation::GSToken(0x15, 0x08, "Colossus GS Tree", COLOSSUS_GS_TREE, {Category::cDesertColossus, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_HAUNTED_WASTELAND); - - locationTable[OGC_GS] = ItemLocation::GSToken(0x0E, 0x01, "OGC GS", OGC_GS, {Category::cOutsideGanonsCastle, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE); - locationTable[HC_GS_STORMS_GROTTO] = ItemLocation::GSToken(0x0E, 0x02, "HC GS Storms Grotto", HC_GS_STORMS_GROTTO, {Category::cHyruleCastle, Category::cSkulltula, Category::cGrotto}, SpoilerCollectionCheckGroup::GROUP_HYRULE_CASTLE); - locationTable[HC_GS_TREE] = ItemLocation::GSToken(0x0E, 0x04, "HC GS Tree", HC_GS_TREE, {Category::cHyruleCastle, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_HYRULE_CASTLE); - locationTable[MARKET_GS_GUARD_HOUSE] = ItemLocation::GSToken(0x0E, 0x08, "Market GS Guard House", MARKET_GS_GUARD_HOUSE, {Category::cInnerMarket, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_MARKET); - - locationTable[KAK_GS_HOUSE_UNDER_CONSTRUCTION] = ItemLocation::GSToken(0x10, 0x08, "Kak GS House Under Construction", KAK_GS_HOUSE_UNDER_CONSTRUCTION, {Category::cKakarikoVillage, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_KAKARIKO); - locationTable[KAK_GS_SKULLTULA_HOUSE] = ItemLocation::GSToken(0x10, 0x10, "Kak GS Skulltula House", KAK_GS_SKULLTULA_HOUSE, {Category::cKakarikoVillage, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_KAKARIKO); - locationTable[KAK_GS_GUARDS_HOUSE] = ItemLocation::GSToken(0x10, 0x02, "Kak GS Guards House", KAK_GS_GUARDS_HOUSE, {Category::cKakarikoVillage, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_KAKARIKO); - locationTable[KAK_GS_TREE] = ItemLocation::GSToken(0x10, 0x20, "Kak GS Tree", KAK_GS_TREE, {Category::cKakarikoVillage, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_KAKARIKO); - locationTable[KAK_GS_WATCHTOWER] = ItemLocation::GSToken(0x10, 0x04, "Kak GS Watchtower", KAK_GS_WATCHTOWER, {Category::cKakarikoVillage, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_KAKARIKO); - locationTable[KAK_GS_ABOVE_IMPAS_HOUSE] = ItemLocation::GSToken(0x10, 0x40, "Kak GS Above Impas House", KAK_GS_ABOVE_IMPAS_HOUSE, {Category::cKakarikoVillage, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_KAKARIKO); - - locationTable[GRAVEYARD_GS_WALL] = ItemLocation::GSToken(0x10, 0x80, "Graveyard GS Wall", GRAVEYARD_GS_WALL, {Category::cGraveyard, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_GRAVEYARD); - locationTable[GRAVEYARD_GS_BEAN_PATCH] = ItemLocation::GSToken(0x10, 0x01, "Graveyard GS Bean Patch", GRAVEYARD_GS_BEAN_PATCH, {Category::cGraveyard, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_GRAVEYARD); - - locationTable[DMC_GS_BEAN_PATCH] = ItemLocation::GSToken(0x0F, 0x01, "DMC GS Bean Patch", DMC_GS_BEAN_PATCH, {Category::cDeathMountainCrater, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DEATH_MOUNTAIN_CRATER); - locationTable[DMC_GS_CRATE] = ItemLocation::GSToken(0x0F, 0x80, "DMC GS Crate", DMC_GS_CRATE, {Category::cDeathMountainCrater, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DEATH_MOUNTAIN_CRATER); - - locationTable[DMT_GS_BEAN_PATCH] = ItemLocation::GSToken(0x0F, 0x02, "DMT GS Bean Patch", DMT_GS_BEAN_PATCH, {Category::cDeathMountainTrail, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DEATH_MOUNTAIN_TRAIL); - locationTable[DMT_GS_NEAR_KAK] = ItemLocation::GSToken(0x0F, 0x04, "DMT GS Near Kak", DMT_GS_NEAR_KAK, {Category::cDeathMountainTrail, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DEATH_MOUNTAIN_TRAIL); - locationTable[DMT_GS_ABOVE_DODONGOS_CAVERN] = ItemLocation::GSToken(0x0F, 0x08, "DMT GS Above Dodongos Cavern", DMT_GS_ABOVE_DODONGOS_CAVERN, {Category::cDeathMountainTrail, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DEATH_MOUNTAIN_TRAIL); - locationTable[DMT_GS_FALLING_ROCKS_PATH] = ItemLocation::GSToken(0x0F, 0x10, "DMT GS Falling Rocks Path", DMT_GS_FALLING_ROCKS_PATH, {Category::cDeathMountainTrail, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_DEATH_MOUNTAIN_TRAIL); - - locationTable[GC_GS_CENTER_PLATFORM] = ItemLocation::GSToken(0x0F, 0x20, "GC GS Center Platform", GC_GS_CENTER_PLATFORM, {Category::cGoronCity, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_GORON_CITY); - locationTable[GC_GS_BOULDER_MAZE] = ItemLocation::GSToken(0x0F, 0x40, "GC GS Boulder Maze", GC_GS_BOULDER_MAZE, {Category::cGoronCity, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_GORON_CITY); - - locationTable[ZR_GS_LADDER] = ItemLocation::GSToken(0x11, 0x01, "ZR GS Ladder", ZR_GS_LADDER, {Category::cZorasRiver, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_ZORAS_RIVER); - locationTable[ZR_GS_TREE] = ItemLocation::GSToken(0x11, 0x02, "ZR GS Tree", ZR_GS_TREE, {Category::cZorasRiver, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_ZORAS_RIVER); - locationTable[ZR_GS_ABOVE_BRIDGE] = ItemLocation::GSToken(0x11, 0x08, "ZR GS Above Bridge", ZR_GS_ABOVE_BRIDGE, {Category::cZorasRiver, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_ZORAS_RIVER); - locationTable[ZR_GS_NEAR_RAISED_GROTTOS] = ItemLocation::GSToken(0x11, 0x10, "ZR GS Near Raised Grottos", ZR_GS_NEAR_RAISED_GROTTOS, {Category::cZorasRiver, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_ZORAS_RIVER); - - locationTable[ZD_GS_FROZEN_WATERFALL] = ItemLocation::GSToken(0x11, 0x40, "ZD GS Frozen Waterfall", ZD_GS_FROZEN_WATERFALL, {Category::cZorasDomain, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_ZORAS_DOMAIN); - locationTable[ZF_GS_ABOVE_THE_LOG] = ItemLocation::GSToken(0x11, 0x04, "ZF GS Above The Log", ZF_GS_ABOVE_THE_LOG, {Category::cZorasFountain, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_ZORAS_FOUNTAIN); - locationTable[ZF_GS_HIDDEN_CAVE] = ItemLocation::GSToken(0x11, 0x20, "ZF GS Hidden Cave", ZF_GS_HIDDEN_CAVE, {Category::cZorasFountain, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_ZORAS_FOUNTAIN); - locationTable[ZF_GS_TREE] = ItemLocation::GSToken(0x11, 0x80, "ZF GS Tree", ZF_GS_TREE, {Category::cZorasFountain, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_ZORAS_FOUNTAIN); - - locationTable[LLR_GS_BACK_WALL] = ItemLocation::GSToken(0x0B, 0x01, "LLR GS Back Wall", LLR_GS_BACK_WALL, {Category::cLonLonRanch, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_LON_LON_RANCH); - locationTable[LLR_GS_RAIN_SHED] = ItemLocation::GSToken(0x0B, 0x02, "LLR GS Rain Shed", LLR_GS_RAIN_SHED, {Category::cLonLonRanch, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_LON_LON_RANCH); - locationTable[LLR_GS_HOUSE_WINDOW] = ItemLocation::GSToken(0x0B, 0x04, "LLR GS House Window", LLR_GS_HOUSE_WINDOW, {Category::cLonLonRanch, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_LON_LON_RANCH); - locationTable[LLR_GS_TREE] = ItemLocation::GSToken(0x0B, 0x08, "LLR GS Tree", LLR_GS_TREE, {Category::cLonLonRanch, Category::cSkulltula,}, SpoilerCollectionCheckGroup::GROUP_LON_LON_RANCH); - - /*------------------------------- - --- BOSSES --- - -------------------------------*/ - - locationTable[LINKS_POCKET] = ItemLocation::Reward (0xFF, 0xFF, "Link's Pocket", LINKS_POCKET, LIGHT_MEDALLION, {Category::cDungeonReward}, SpoilerCollectionCheck::AlwaysCollected(), SpoilerCollectionCheckGroup::GROUP_KOKIRI_FOREST); - locationTable[QUEEN_GOHMA] = ItemLocation::Reward (0xFF, DUNGEON_DEKU_TREE, "Queen Gohma", QUEEN_GOHMA, KOKIRI_EMERALD, {Category::cDungeonReward}, SpoilerCollectionCheck::EventChkInf(0x09), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DEKU_TREE); - locationTable[KING_DODONGO] = ItemLocation::Reward (0xFF, DUNGEON_DODONGOS_CAVERN, "King Dodongo", KING_DODONGO, GORON_RUBY, {Category::cDungeonReward}, SpoilerCollectionCheck::EventChkInf(0x25), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN); - locationTable[BARINADE] = ItemLocation::Reward (0xFF, DUNGEON_JABUJABUS_BELLY, "Barinade", BARINADE, ZORA_SAPPHIRE, {Category::cDungeonReward}, SpoilerCollectionCheck::EventChkInf(0x37), SpoilerCollectionCheckGroup::GROUP_DUNGEON_JABUJABUS_BELLY); - locationTable[PHANTOM_GANON] = ItemLocation::Reward (0xFF, DUNGEON_FOREST_TEMPLE, "Phantom Ganon", PHANTOM_GANON, FOREST_MEDALLION, {Category::cDungeonReward}, SpoilerCollectionCheck::EventChkInf(0x48), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE); - locationTable[VOLVAGIA] = ItemLocation::Reward (0xFF, DUNGEON_FIRE_TEMPLE, "Volvagia", VOLVAGIA, FIRE_MEDALLION, {Category::cDungeonReward}, SpoilerCollectionCheck::EventChkInf(0x49), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE); - locationTable[MORPHA] = ItemLocation::Reward (0xFF, DUNGEON_WATER_TEMPLE, "Morpha", MORPHA, WATER_MEDALLION, {Category::cDungeonReward}, SpoilerCollectionCheck::EventChkInf(0x4A), SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE); - locationTable[TWINROVA] = ItemLocation::Reward (0xFF, DUNGEON_SPIRIT_TEMPLE, "Twinrova", TWINROVA, SPIRIT_MEDALLION, {Category::cDungeonReward}, SpoilerCollectionCheck::EventChkInf(0x47), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE); - locationTable[BONGO_BONGO] = ItemLocation::Reward (0xFF, DUNGEON_SHADOW_TEMPLE, "Bongo Bongo", BONGO_BONGO, SHADOW_MEDALLION, {Category::cDungeonReward}, SpoilerCollectionCheck::EventChkInf(0x46), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE); - locationTable[GANON] = ItemLocation::Reward (0xFF, 0xF0, "Ganon", NONE, TRIFORCE, {}, SpoilerCollectionCheck::None(), SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE); - - /*------------------------------- - ---HEART CONTAINERS --- - -------------------------------*/ - - locationTable[DEKU_TREE_QUEEN_GOHMA_HEART] = ItemLocation::Base (0x11, 0x4F, "Deku Tree Queen Gohma Heart Container", DEKU_TREE_QUEEN_GOHMA_HEART, HEART_CONTAINER, {Category::cDekuTree, Category::cBossHeart, Category::cSongDungeonReward}, SpoilerCollectionCheck::Collectable(0x11, 0x1F), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DEKU_TREE); - locationTable[DODONGOS_CAVERN_KING_DODONGO_HEART] = ItemLocation::Base (0x12, 0x4F, "Dodongos Cavern King Dodongo Heart Container", DODONGOS_CAVERN_KING_DODONGO_HEART, HEART_CONTAINER, {Category::cDodongosCavern, Category::cBossHeart, Category::cSongDungeonReward}, SpoilerCollectionCheck::Collectable(0x12, 0x1F), SpoilerCollectionCheckGroup::GROUP_DUNGEON_DODONGOS_CAVERN); - locationTable[JABU_JABUS_BELLY_BARINADE_HEART] = ItemLocation::Base (0x13, 0x4F, "Jabu Jabus Belly Barinade Heart Container", JABU_JABUS_BELLY_BARINADE_HEART, HEART_CONTAINER, {Category::cJabuJabusBelly, Category::cBossHeart, Category::cSongDungeonReward}, SpoilerCollectionCheck::Collectable(0x13, 0x1F), SpoilerCollectionCheckGroup::GROUP_DUNGEON_JABUJABUS_BELLY); - locationTable[FOREST_TEMPLE_PHANTOM_GANON_HEART] = ItemLocation::Base (0x14, 0x4F, "Forest Temple Phantom Ganon Heart Container", FOREST_TEMPLE_PHANTOM_GANON_HEART, HEART_CONTAINER, {Category::cForestTemple, Category::cBossHeart, Category::cSongDungeonReward}, SpoilerCollectionCheck::Collectable(0x14, 0x1F), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FOREST_TEMPLE); - locationTable[FIRE_TEMPLE_VOLVAGIA_HEART] = ItemLocation::Base (0x15, 0x4F, "Fire Temple Volvagia Heart Container", FIRE_TEMPLE_VOLVAGIA_HEART, HEART_CONTAINER, {Category::cFireTemple, Category::cBossHeart, Category::cSongDungeonReward}, SpoilerCollectionCheck::Collectable(0x15, 0x1F), SpoilerCollectionCheckGroup::GROUP_DUNGEON_FIRE_TEMPLE); - locationTable[WATER_TEMPLE_MORPHA_HEART] = ItemLocation::Base (0x16, 0x4F, "Water Temple Morpha Heart Container", WATER_TEMPLE_MORPHA_HEART, HEART_CONTAINER, {Category::cWaterTemple, Category::cBossHeart, Category::cSongDungeonReward}, SpoilerCollectionCheck::Collectable(0x16, 0x1F), SpoilerCollectionCheckGroup::GROUP_DUNGEON_WATER_TEMPLE); - locationTable[SPIRIT_TEMPLE_TWINROVA_HEART] = ItemLocation::Base (0x17, 0x4F, "Spirit Temple Twinrova Heart Container", SPIRIT_TEMPLE_TWINROVA_HEART, HEART_CONTAINER, {Category::cSpiritTemple, Category::cBossHeart, Category::cSongDungeonReward}, SpoilerCollectionCheck::Collectable(0x17, 0x1F), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SPIRIT_TEMPLE); - locationTable[SHADOW_TEMPLE_BONGO_BONGO_HEART] = ItemLocation::Base (0x18, 0x4F, "Shadow Temple Bongo Bongo Heart Container", SHADOW_TEMPLE_BONGO_BONGO_HEART, HEART_CONTAINER, {Category::cShadowTemple, Category::cBossHeart, Category::cSongDungeonReward}, SpoilerCollectionCheck::Collectable(0x18, 0x1F), SpoilerCollectionCheckGroup::GROUP_DUNGEON_SHADOW_TEMPLE); - - /*------------------------------- - --- CUTSCENES --- - -------------------------------*/ - - locationTable[TOT_MASTER_SWORD] = ItemLocation::Delayed(0xFF, 0x00, "ToT Master Sword", TOT_MASTER_SWORD, MASTER_SWORD, {Category::cTempleOfTime, Category::cMarket}, SpoilerCollectionCheck::MasterSword(), SpoilerCollectionCheckGroup::GROUP_MARKET); - locationTable[TOT_LIGHT_ARROWS_CUTSCENE] = ItemLocation::Delayed(0xFF, 0x01, "ToT Light Arrow Cutscene", TOT_LIGHT_ARROWS_CUTSCENE, LIGHT_ARROWS, {Category::cTempleOfTime, Category::cMarket}, SpoilerCollectionCheck::EventChkInf(0xC4), SpoilerCollectionCheckGroup::GROUP_MARKET); - locationTable[LW_GIFT_FROM_SARIA] = ItemLocation::Delayed(0xFF, 0x02, "LW Gift From Saria", LW_GIFT_FROM_SARIA, PROGRESSIVE_OCARINA, {Category::cLostWoods, Category::cForest}, SpoilerCollectionCheck::EventChkInf(0xC1), SpoilerCollectionCheckGroup::GROUP_LOST_WOODS); - locationTable[ZF_GREAT_FAIRY_REWARD] = ItemLocation::Delayed(0xFF, 0x10, "ZF Great Fairy Reward", ZF_GREAT_FAIRY_REWARD, FARORES_WIND, {Category::cZorasFountain, Category::cFairies}, SpoilerCollectionCheck::ItemGetInf(16), SpoilerCollectionCheckGroup::GROUP_ZORAS_FOUNTAIN); - locationTable[HC_GREAT_FAIRY_REWARD] = ItemLocation::Delayed(0xFF, 0x11, "HC Great Fairy Reward", HC_GREAT_FAIRY_REWARD, DINS_FIRE, {Category::cHyruleCastle, Category::cMarket, Category::cFairies}, SpoilerCollectionCheck::ItemGetInf(17), SpoilerCollectionCheckGroup::GROUP_HYRULE_CASTLE); - locationTable[COLOSSUS_GREAT_FAIRY_REWARD] = ItemLocation::Delayed(0xFF, 0x12, "Colossus Great Fairy Reward", COLOSSUS_GREAT_FAIRY_REWARD, NAYRUS_LOVE, {Category::cDesertColossus, Category::cFairies}, SpoilerCollectionCheck::ItemGetInf(18), SpoilerCollectionCheckGroup::GROUP_HAUNTED_WASTELAND); - locationTable[DMT_GREAT_FAIRY_REWARD] = ItemLocation::Delayed(0xFF, 0x13, "DMT Great Fairy Reward", DMT_GREAT_FAIRY_REWARD, PROGRESSIVE_MAGIC_METER, {Category::cDeathMountainTrail, Category::cDeathMountain, Category::cFairies}, SpoilerCollectionCheck::Chest(0x3B, 0x00), SpoilerCollectionCheckGroup::GROUP_DEATH_MOUNTAIN_TRAIL); - locationTable[DMC_GREAT_FAIRY_REWARD] = ItemLocation::Delayed(0xFF, 0x14, "DMC Great Fairy Reward", DMC_GREAT_FAIRY_REWARD, PROGRESSIVE_MAGIC_METER, {Category::cDeathMountainCrater, Category::cDeathMountain, Category::cFairies}, SpoilerCollectionCheck::Chest(0x3B, 0x01), SpoilerCollectionCheckGroup::GROUP_DEATH_MOUNTAIN_CRATER); - locationTable[OGC_GREAT_FAIRY_REWARD] = ItemLocation::Delayed(0xFF, 0x15, "OGC Great Fairy Reward", OGC_GREAT_FAIRY_REWARD, DOUBLE_DEFENSE, {Category::cOutsideGanonsCastle, Category::cFairies}, SpoilerCollectionCheck::Chest(0x3B, 0x02), SpoilerCollectionCheckGroup::GROUP_DUNGEON_GANONS_CASTLE); - - locationTable[SHEIK_IN_FOREST] = ItemLocation::Delayed(0xFF, 0x20, "Sheik in Forest", SHEIK_IN_FOREST, MINUET_OF_FOREST, {Category::cSacredForestMeadow, Category::cForest, Category::cSong,}, SpoilerCollectionCheck::EventChkInf(0x50), SpoilerCollectionCheckGroup::GROUP_SACRED_FOREST_MEADOW); - locationTable[SHEIK_IN_CRATER] = ItemLocation::Delayed(0xFF, 0x21, "Sheik in Crater", SHEIK_IN_CRATER, BOLERO_OF_FIRE, {Category::cDeathMountainCrater, Category::cDeathMountain, Category::cSong,}, SpoilerCollectionCheck::EventChkInf(0x51), SpoilerCollectionCheckGroup::GROUP_DEATH_MOUNTAIN_CRATER); - locationTable[SHEIK_IN_ICE_CAVERN] = ItemLocation::Delayed(0xFF, 0x22, "Sheik in Ice Cavern", SHEIK_IN_ICE_CAVERN, SERENADE_OF_WATER, {Category::cIceCavern, Category::cSong, Category::cSongDungeonReward}, SpoilerCollectionCheck::EventChkInf(0x52), SpoilerCollectionCheckGroup::GROUP_DUNGEON_ICE_CAVERN); - locationTable[SHEIK_AT_COLOSSUS] = ItemLocation::Delayed(0xFF, 0x23, "Sheik at Colossus", SHEIK_AT_COLOSSUS, REQUIEM_OF_SPIRIT, {Category::cDesertColossus, Category::cSong,}, SpoilerCollectionCheck::EventChkInf(0xAC), SpoilerCollectionCheckGroup::GROUP_HAUNTED_WASTELAND); - locationTable[SHEIK_IN_KAKARIKO] = ItemLocation::Delayed(0xFF, 0x24, "Sheik in Kakariko", SHEIK_IN_KAKARIKO, NOCTURNE_OF_SHADOW, {Category::cKakarikoVillage, Category::cKakariko, Category::cSong,}, SpoilerCollectionCheck::EventChkInf(0xAA), SpoilerCollectionCheckGroup::GROUP_KAKARIKO); - locationTable[SHEIK_AT_TEMPLE] = ItemLocation::Delayed(0xFF, 0x25, "Sheik at Temple", SHEIK_AT_TEMPLE, PRELUDE_OF_LIGHT, {Category::cTempleOfTime, Category::cMarket, Category::cSong,}, SpoilerCollectionCheck::EventChkInf(0x55), SpoilerCollectionCheckGroup::GROUP_MARKET); - locationTable[SONG_FROM_IMPA] = ItemLocation::Delayed(0xFF, 0x26, "Song from Impa", SONG_FROM_IMPA, ZELDAS_LULLABY, {Category::cHyruleCastle, Category::cMarket, Category::cSong, Category::cSongDungeonReward}, SpoilerCollectionCheck::EventChkInf(0x59), SpoilerCollectionCheckGroup::GROUP_HYRULE_CASTLE); - locationTable[SONG_FROM_MALON] = ItemLocation::Delayed(0xFF, 0x27, "Song from Malon", SONG_FROM_MALON, EPONAS_SONG, {Category::cLonLonRanch, Category::cSong,}, SpoilerCollectionCheck::EventChkInf(0x58), SpoilerCollectionCheckGroup::GROUP_LON_LON_RANCH); - locationTable[SONG_FROM_SARIA] = ItemLocation::Delayed(0xFF, 0x28, "Song from Saria", SONG_FROM_SARIA, SARIAS_SONG, {Category::cSacredForestMeadow, Category::cForest, Category::cSong,}, SpoilerCollectionCheck::EventChkInf(0x57), SpoilerCollectionCheckGroup::GROUP_SACRED_FOREST_MEADOW); - locationTable[SONG_FROM_COMPOSERS_GRAVE] = ItemLocation::Delayed(0xFF, 0x29, "Song from Composers Grave", SONG_FROM_COMPOSERS_GRAVE, SUNS_SONG, {Category::cGraveyard, Category::cKakariko, Category::cSong,}, SpoilerCollectionCheck::EventChkInf(0x5A), SpoilerCollectionCheckGroup::GROUP_GRAVEYARD); - locationTable[SONG_FROM_OCARINA_OF_TIME] = ItemLocation::Delayed(0xFF, 0x2A, "Song from Ocarina of Time", SONG_FROM_OCARINA_OF_TIME, SONG_OF_TIME, {Category::cHyruleField, Category::cSong, Category::cNeedSpiritualStones,}, SpoilerCollectionCheck::EventChkInf(0xA9), SpoilerCollectionCheckGroup::GROUP_HYRULE_FIELD); - locationTable[SONG_FROM_WINDMILL] = ItemLocation::Delayed(0xFF, 0x2B, "Song from Windmill", SONG_FROM_WINDMILL, SONG_OF_STORMS, {Category::cKakarikoVillage, Category::cKakariko, Category::cSong,}, SpoilerCollectionCheck::EventChkInf(0x5B), SpoilerCollectionCheckGroup::GROUP_KAKARIKO); - - /*------------------------------- - --- COWS --- - -------------------------------*/ - - locationTable[KF_LINKS_HOUSE_COW] = ItemLocation::Base (0x34, 0x15, "KF Links House Cow", KF_LINKS_HOUSE_COW, MILK, {Category::cForest, Category::cCow, Category::cMinigame}, SpoilerCollectionCheck::Cow(0x34, 0x15), SpoilerCollectionCheckGroup::GROUP_KOKIRI_FOREST); - locationTable[HF_COW_GROTTO_COW] = ItemLocation::Base (0x3E, 0x16, "HF Cow Grotto Cow", HF_COW_GROTTO_COW, MILK, {Category::cHyruleField, Category::cCow, Category::cGrotto}, SpoilerCollectionCheck::Cow(0x3E, 0x16), SpoilerCollectionCheckGroup::GROUP_HYRULE_FIELD); - locationTable[LLR_STABLES_LEFT_COW] = ItemLocation::Base (0x36, 0x16, "LLR Stables Left Cow", LLR_STABLES_LEFT_COW, MILK, {Category::cLonLonRanch, Category::cCow}, SpoilerCollectionCheck::Cow(0x36, 0x16), SpoilerCollectionCheckGroup::GROUP_LON_LON_RANCH); - locationTable[LLR_STABLES_RIGHT_COW] = ItemLocation::Base (0x36, 0x15, "LLR Stables Right Cow", LLR_STABLES_RIGHT_COW, MILK, {Category::cLonLonRanch, Category::cCow}, SpoilerCollectionCheck::Cow(0x36, 0x15), SpoilerCollectionCheckGroup::GROUP_LON_LON_RANCH); - locationTable[LLR_TOWER_LEFT_COW] = ItemLocation::Base (0x4C, 0x15, "LLR Tower Left Cow", LLR_TOWER_LEFT_COW, MILK, {Category::cLonLonRanch, Category::cCow}, SpoilerCollectionCheck::Cow(0x4C, 0x16), SpoilerCollectionCheckGroup::GROUP_LON_LON_RANCH); - locationTable[LLR_TOWER_RIGHT_COW] = ItemLocation::Base (0x4C, 0x16, "LLR Tower Right Cow", LLR_TOWER_RIGHT_COW, MILK, {Category::cLonLonRanch, Category::cCow}, SpoilerCollectionCheck::Cow(0x4C, 0x15), SpoilerCollectionCheckGroup::GROUP_LON_LON_RANCH); - locationTable[KAK_IMPAS_HOUSE_COW] = ItemLocation::Base (0x37, 0x15, "Kak Impas House Cow", KAK_IMPAS_HOUSE_COW, MILK, {Category::cKakarikoVillage, Category::cKakariko, Category::cCow}, SpoilerCollectionCheck::Cow(0x37, 0x15), SpoilerCollectionCheckGroup::GROUP_KAKARIKO); - locationTable[DMT_COW_GROTTO_COW] = ItemLocation::Base (0x3E, 0x15, "DMT Cow Grotto Cow", DMT_COW_GROTTO_COW, MILK, {Category::cDeathMountainTrail, Category::cDeathMountain, Category::cCow, Category::cGrotto}, SpoilerCollectionCheck::Cow(0x3E, 0x15), SpoilerCollectionCheckGroup::GROUP_DEATH_MOUNTAIN_TRAIL); - locationTable[GV_COW] = ItemLocation::Base (0x5A, 0x15, "GV Cow", GV_COW, MILK, {Category::cGerudoValley, Category::cGerudo, Category::cCow}, SpoilerCollectionCheck::Cow(0x5A, 0x15), SpoilerCollectionCheckGroup::GROUP_GERUDO_VALLEY); - locationTable[JABU_JABUS_BELLY_MQ_COW] = ItemLocation::Base (0x02, 0x15, "Jabu Jabus Belly MQ Cow", JABU_JABUS_BELLY_MQ_COW, MILK, {Category::cJabuJabusBelly, Category::cCow}, SpoilerCollectionCheck::Cow(0x02, 0x15), SpoilerCollectionCheckGroup::GROUP_DUNGEON_JABUJABUS_BELLY); - - /*------------------------------- - --- SHOPS --- - 8 6 2 4 - - 7 5 1 3 - -------------------------------*/ - - locationTable[KF_SHOP_ITEM_1] = ItemLocation::Base(0x2D, 0x30, "KF Shop Item 1", KF_SHOP_ITEM_1, BUY_DEKU_SHIELD, {Category::cKokiriForest, Category::cForest, Category::cShop}, SpoilerCollectionCheck::ShopItem(0x2D, 0), SpoilerCollectionCheckGroup::GROUP_KOKIRI_FOREST); - locationTable[KF_SHOP_ITEM_2] = ItemLocation::Base(0x2D, 0x31, "KF Shop Item 2", KF_SHOP_ITEM_2, BUY_DEKU_NUT_5, {Category::cKokiriForest, Category::cForest, Category::cShop}, SpoilerCollectionCheck::ShopItem(0x2D, 1), SpoilerCollectionCheckGroup::GROUP_KOKIRI_FOREST); - locationTable[KF_SHOP_ITEM_3] = ItemLocation::Base(0x2D, 0x32, "KF Shop Item 3", KF_SHOP_ITEM_3, BUY_DEKU_NUT_10, {Category::cKokiriForest, Category::cForest, Category::cShop}, SpoilerCollectionCheck::ShopItem(0x2D, 2), SpoilerCollectionCheckGroup::GROUP_KOKIRI_FOREST); - locationTable[KF_SHOP_ITEM_4] = ItemLocation::Base(0x2D, 0x33, "KF Shop Item 4", KF_SHOP_ITEM_4, BUY_DEKU_STICK_1, {Category::cKokiriForest, Category::cForest, Category::cShop}, SpoilerCollectionCheck::ShopItem(0x2D, 3), SpoilerCollectionCheckGroup::GROUP_KOKIRI_FOREST); - locationTable[KF_SHOP_ITEM_5] = ItemLocation::Base(0x2D, 0x34, "KF Shop Item 5", KF_SHOP_ITEM_5, BUY_DEKU_SEEDS_30, {Category::cKokiriForest, Category::cForest, Category::cShop}, SpoilerCollectionCheck::ShopItem(0x2D, 4), SpoilerCollectionCheckGroup::GROUP_KOKIRI_FOREST); - locationTable[KF_SHOP_ITEM_6] = ItemLocation::Base(0x2D, 0x35, "KF Shop Item 6", KF_SHOP_ITEM_6, BUY_ARROWS_10, {Category::cKokiriForest, Category::cForest, Category::cShop}, SpoilerCollectionCheck::ShopItem(0x2D, 5), SpoilerCollectionCheckGroup::GROUP_KOKIRI_FOREST); - locationTable[KF_SHOP_ITEM_7] = ItemLocation::Base(0x2D, 0x36, "KF Shop Item 7", KF_SHOP_ITEM_7, BUY_ARROWS_30, {Category::cKokiriForest, Category::cForest, Category::cShop}, SpoilerCollectionCheck::ShopItem(0x2D, 6), SpoilerCollectionCheckGroup::GROUP_KOKIRI_FOREST); - locationTable[KF_SHOP_ITEM_8] = ItemLocation::Base(0x2D, 0x37, "KF Shop Item 8", KF_SHOP_ITEM_8, BUY_HEART, {Category::cKokiriForest, Category::cForest, Category::cShop}, SpoilerCollectionCheck::ShopItem(0x2D, 7), SpoilerCollectionCheckGroup::GROUP_KOKIRI_FOREST); - - locationTable[KAK_POTION_SHOP_ITEM_1] = ItemLocation::Base(0x30, 0x30, "Kak Potion Shop Item 1", KAK_POTION_SHOP_ITEM_1, BUY_DEKU_NUT_5, {Category::cKakarikoVillage, Category::cKakariko, Category::cShop}, SpoilerCollectionCheck::ShopItem(0x30, 0), SpoilerCollectionCheckGroup::GROUP_KAKARIKO); - locationTable[KAK_POTION_SHOP_ITEM_2] = ItemLocation::Base(0x30, 0x31, "Kak Potion Shop Item 2", KAK_POTION_SHOP_ITEM_2, BUY_FISH, {Category::cKakarikoVillage, Category::cKakariko, Category::cShop}, SpoilerCollectionCheck::ShopItem(0x30, 1), SpoilerCollectionCheckGroup::GROUP_KAKARIKO); - locationTable[KAK_POTION_SHOP_ITEM_3] = ItemLocation::Base(0x30, 0x32, "Kak Potion Shop Item 3", KAK_POTION_SHOP_ITEM_3, BUY_RED_POTION_30, {Category::cKakarikoVillage, Category::cKakariko, Category::cShop}, SpoilerCollectionCheck::ShopItem(0x30, 2), SpoilerCollectionCheckGroup::GROUP_KAKARIKO); - locationTable[KAK_POTION_SHOP_ITEM_4] = ItemLocation::Base(0x30, 0x33, "Kak Potion Shop Item 4", KAK_POTION_SHOP_ITEM_4, BUY_GREEN_POTION, {Category::cKakarikoVillage, Category::cKakariko, Category::cShop}, SpoilerCollectionCheck::ShopItem(0x30, 3), SpoilerCollectionCheckGroup::GROUP_KAKARIKO); - locationTable[KAK_POTION_SHOP_ITEM_5] = ItemLocation::Base(0x30, 0x34, "Kak Potion Shop Item 5", KAK_POTION_SHOP_ITEM_5, BUY_BLUE_FIRE, {Category::cKakarikoVillage, Category::cKakariko, Category::cShop}, SpoilerCollectionCheck::ShopItem(0x30, 4), SpoilerCollectionCheckGroup::GROUP_KAKARIKO); - locationTable[KAK_POTION_SHOP_ITEM_6] = ItemLocation::Base(0x30, 0x35, "Kak Potion Shop Item 6", KAK_POTION_SHOP_ITEM_6, BUY_BOTTLE_BUG, {Category::cKakarikoVillage, Category::cKakariko, Category::cShop}, SpoilerCollectionCheck::ShopItem(0x30, 5), SpoilerCollectionCheckGroup::GROUP_KAKARIKO); - locationTable[KAK_POTION_SHOP_ITEM_7] = ItemLocation::Base(0x30, 0x36, "Kak Potion Shop Item 7", KAK_POTION_SHOP_ITEM_7, BUY_POE, {Category::cKakarikoVillage, Category::cKakariko, Category::cShop}, SpoilerCollectionCheck::ShopItem(0x30, 6), SpoilerCollectionCheckGroup::GROUP_KAKARIKO); - locationTable[KAK_POTION_SHOP_ITEM_8] = ItemLocation::Base(0x30, 0x37, "Kak Potion Shop Item 8", KAK_POTION_SHOP_ITEM_8, BUY_FAIRYS_SPIRIT, {Category::cKakarikoVillage, Category::cKakariko, Category::cShop}, SpoilerCollectionCheck::ShopItem(0x30, 7), SpoilerCollectionCheckGroup::GROUP_KAKARIKO); - - locationTable[MARKET_BOMBCHU_SHOP_ITEM_1] = ItemLocation::Base(0x32, 0x30, "MK Bombchu Shop Item 1", MARKET_BOMBCHU_SHOP_ITEM_1, BUY_BOMBCHU_5, {Category::cInnerMarket, Category::cMarket, Category::cShop}, SpoilerCollectionCheck::ShopItem(0x32, 0), SpoilerCollectionCheckGroup::GROUP_MARKET); - locationTable[MARKET_BOMBCHU_SHOP_ITEM_2] = ItemLocation::Base(0x32, 0x31, "MK Bombchu Shop Item 2", MARKET_BOMBCHU_SHOP_ITEM_2, BUY_BOMBCHU_10, {Category::cInnerMarket, Category::cMarket, Category::cShop}, SpoilerCollectionCheck::ShopItem(0x32, 1), SpoilerCollectionCheckGroup::GROUP_MARKET); - locationTable[MARKET_BOMBCHU_SHOP_ITEM_3] = ItemLocation::Base(0x32, 0x32, "MK Bombchu Shop Item 3", MARKET_BOMBCHU_SHOP_ITEM_3, BUY_BOMBCHU_10, {Category::cInnerMarket, Category::cMarket, Category::cShop}, SpoilerCollectionCheck::ShopItem(0x32, 2), SpoilerCollectionCheckGroup::GROUP_MARKET); - locationTable[MARKET_BOMBCHU_SHOP_ITEM_4] = ItemLocation::Base(0x32, 0x33, "MK Bombchu Shop Item 4", MARKET_BOMBCHU_SHOP_ITEM_4, BUY_BOMBCHU_10, {Category::cInnerMarket, Category::cMarket, Category::cShop}, SpoilerCollectionCheck::ShopItem(0x32, 3), SpoilerCollectionCheckGroup::GROUP_MARKET); - locationTable[MARKET_BOMBCHU_SHOP_ITEM_5] = ItemLocation::Base(0x32, 0x34, "MK Bombchu Shop Item 5", MARKET_BOMBCHU_SHOP_ITEM_5, BUY_BOMBCHU_20, {Category::cInnerMarket, Category::cMarket, Category::cShop}, SpoilerCollectionCheck::ShopItem(0x32, 4), SpoilerCollectionCheckGroup::GROUP_MARKET); - locationTable[MARKET_BOMBCHU_SHOP_ITEM_6] = ItemLocation::Base(0x32, 0x35, "MK Bombchu Shop Item 6", MARKET_BOMBCHU_SHOP_ITEM_6, BUY_BOMBCHU_20, {Category::cInnerMarket, Category::cMarket, Category::cShop}, SpoilerCollectionCheck::ShopItem(0x32, 5), SpoilerCollectionCheckGroup::GROUP_MARKET); - locationTable[MARKET_BOMBCHU_SHOP_ITEM_7] = ItemLocation::Base(0x32, 0x36, "MK Bombchu Shop Item 7", MARKET_BOMBCHU_SHOP_ITEM_7, BUY_BOMBCHU_20, {Category::cInnerMarket, Category::cMarket, Category::cShop}, SpoilerCollectionCheck::ShopItem(0x32, 6), SpoilerCollectionCheckGroup::GROUP_MARKET); - locationTable[MARKET_BOMBCHU_SHOP_ITEM_8] = ItemLocation::Base(0x32, 0x37, "MK Bombchu Shop Item 8", MARKET_BOMBCHU_SHOP_ITEM_8, BUY_BOMBCHU_20, {Category::cInnerMarket, Category::cMarket, Category::cShop}, SpoilerCollectionCheck::ShopItem(0x32, 7), SpoilerCollectionCheckGroup::GROUP_MARKET); - - locationTable[MARKET_POTION_SHOP_ITEM_1] = ItemLocation::Base(0x31, 0x30, "MK Potion Shop Item 1", MARKET_POTION_SHOP_ITEM_1, BUY_GREEN_POTION, {Category::cInnerMarket, Category::cMarket, Category::cShop}, SpoilerCollectionCheck::ShopItem(0x31, 0), SpoilerCollectionCheckGroup::GROUP_MARKET); - locationTable[MARKET_POTION_SHOP_ITEM_2] = ItemLocation::Base(0x31, 0x31, "MK Potion Shop Item 2", MARKET_POTION_SHOP_ITEM_2, BUY_BLUE_FIRE, {Category::cInnerMarket, Category::cMarket, Category::cShop}, SpoilerCollectionCheck::ShopItem(0x31, 1), SpoilerCollectionCheckGroup::GROUP_MARKET); - locationTable[MARKET_POTION_SHOP_ITEM_3] = ItemLocation::Base(0x31, 0x32, "MK Potion Shop Item 3", MARKET_POTION_SHOP_ITEM_3, BUY_RED_POTION_30, {Category::cInnerMarket, Category::cMarket, Category::cShop}, SpoilerCollectionCheck::ShopItem(0x31, 2), SpoilerCollectionCheckGroup::GROUP_MARKET); - locationTable[MARKET_POTION_SHOP_ITEM_4] = ItemLocation::Base(0x31, 0x33, "MK Potion Shop Item 4", MARKET_POTION_SHOP_ITEM_4, BUY_FAIRYS_SPIRIT, {Category::cInnerMarket, Category::cMarket, Category::cShop}, SpoilerCollectionCheck::ShopItem(0x31, 3), SpoilerCollectionCheckGroup::GROUP_MARKET); - locationTable[MARKET_POTION_SHOP_ITEM_5] = ItemLocation::Base(0x31, 0x34, "MK Potion Shop Item 5", MARKET_POTION_SHOP_ITEM_5, BUY_DEKU_NUT_5, {Category::cInnerMarket, Category::cMarket, Category::cShop}, SpoilerCollectionCheck::ShopItem(0x31, 4), SpoilerCollectionCheckGroup::GROUP_MARKET); - locationTable[MARKET_POTION_SHOP_ITEM_6] = ItemLocation::Base(0x31, 0x35, "MK Potion Shop Item 6", MARKET_POTION_SHOP_ITEM_6, BUY_BOTTLE_BUG, {Category::cInnerMarket, Category::cMarket, Category::cShop}, SpoilerCollectionCheck::ShopItem(0x31, 5), SpoilerCollectionCheckGroup::GROUP_MARKET); - locationTable[MARKET_POTION_SHOP_ITEM_7] = ItemLocation::Base(0x31, 0x36, "MK Potion Shop Item 7", MARKET_POTION_SHOP_ITEM_7, BUY_POE, {Category::cInnerMarket, Category::cMarket, Category::cShop}, SpoilerCollectionCheck::ShopItem(0x31, 6), SpoilerCollectionCheckGroup::GROUP_MARKET); - locationTable[MARKET_POTION_SHOP_ITEM_8] = ItemLocation::Base(0x31, 0x37, "MK Potion Shop Item 8", MARKET_POTION_SHOP_ITEM_8, BUY_FISH, {Category::cInnerMarket, Category::cMarket, Category::cShop}, SpoilerCollectionCheck::ShopItem(0x31, 7), SpoilerCollectionCheckGroup::GROUP_MARKET); - - locationTable[MARKET_BAZAAR_ITEM_1] = ItemLocation::Base(0x2C, 0x30, "MK Bazaar Item 1", MARKET_BAZAAR_ITEM_1, BUY_HYLIAN_SHIELD, {Category::cInnerMarket, Category::cMarket, Category::cShop}, SpoilerCollectionCheck::ShopItem(0x2C, 0), SpoilerCollectionCheckGroup::GROUP_MARKET); - locationTable[MARKET_BAZAAR_ITEM_2] = ItemLocation::Base(0x2C, 0x31, "MK Bazaar Item 2", MARKET_BAZAAR_ITEM_2, BUY_BOMBS_535, {Category::cInnerMarket, Category::cMarket, Category::cShop}, SpoilerCollectionCheck::ShopItem(0x2C, 1), SpoilerCollectionCheckGroup::GROUP_MARKET); - locationTable[MARKET_BAZAAR_ITEM_3] = ItemLocation::Base(0x2C, 0x32, "MK Bazaar Item 3", MARKET_BAZAAR_ITEM_3, BUY_DEKU_NUT_5, {Category::cInnerMarket, Category::cMarket, Category::cShop}, SpoilerCollectionCheck::ShopItem(0x2C, 2), SpoilerCollectionCheckGroup::GROUP_MARKET); - locationTable[MARKET_BAZAAR_ITEM_4] = ItemLocation::Base(0x2C, 0x33, "MK Bazaar Item 4", MARKET_BAZAAR_ITEM_4, BUY_HEART, {Category::cInnerMarket, Category::cMarket, Category::cShop}, SpoilerCollectionCheck::ShopItem(0x2C, 3), SpoilerCollectionCheckGroup::GROUP_MARKET); - locationTable[MARKET_BAZAAR_ITEM_5] = ItemLocation::Base(0x2C, 0x34, "MK Bazaar Item 5", MARKET_BAZAAR_ITEM_5, BUY_ARROWS_10, {Category::cInnerMarket, Category::cMarket, Category::cShop}, SpoilerCollectionCheck::ShopItem(0x2C, 4), SpoilerCollectionCheckGroup::GROUP_MARKET); - locationTable[MARKET_BAZAAR_ITEM_6] = ItemLocation::Base(0x2C, 0x35, "MK Bazaar Item 6", MARKET_BAZAAR_ITEM_6, BUY_ARROWS_50, {Category::cInnerMarket, Category::cMarket, Category::cShop}, SpoilerCollectionCheck::ShopItem(0x2C, 5), SpoilerCollectionCheckGroup::GROUP_MARKET); - locationTable[MARKET_BAZAAR_ITEM_7] = ItemLocation::Base(0x2C, 0x36, "MK Bazaar Item 7", MARKET_BAZAAR_ITEM_7, BUY_DEKU_STICK_1, {Category::cInnerMarket, Category::cMarket, Category::cShop}, SpoilerCollectionCheck::ShopItem(0x2C, 6), SpoilerCollectionCheckGroup::GROUP_MARKET); - locationTable[MARKET_BAZAAR_ITEM_8] = ItemLocation::Base(0x2C, 0x37, "MK Bazaar Item 8", MARKET_BAZAAR_ITEM_8, BUY_ARROWS_30, {Category::cInnerMarket, Category::cMarket, Category::cShop}, SpoilerCollectionCheck::ShopItem(0x2C, 7), SpoilerCollectionCheckGroup::GROUP_MARKET); - - locationTable[KAK_BAZAAR_ITEM_1] = ItemLocation::Base(0x2C, 0x38, "Kak Bazaar Item 1", KAK_BAZAAR_ITEM_1, BUY_HYLIAN_SHIELD, {Category::cKakarikoVillage, Category::cKakariko, Category::cShop}, SpoilerCollectionCheck::ShopItem(0x33, 0), SpoilerCollectionCheckGroup::GROUP_KAKARIKO); - locationTable[KAK_BAZAAR_ITEM_2] = ItemLocation::Base(0x2C, 0x39, "Kak Bazaar Item 2", KAK_BAZAAR_ITEM_2, BUY_BOMBS_535, {Category::cKakarikoVillage, Category::cKakariko, Category::cShop}, SpoilerCollectionCheck::ShopItem(0x33, 1), SpoilerCollectionCheckGroup::GROUP_KAKARIKO); - locationTable[KAK_BAZAAR_ITEM_3] = ItemLocation::Base(0x2C, 0x3A, "Kak Bazaar Item 3", KAK_BAZAAR_ITEM_3, BUY_DEKU_NUT_5, {Category::cKakarikoVillage, Category::cKakariko, Category::cShop}, SpoilerCollectionCheck::ShopItem(0x33, 2), SpoilerCollectionCheckGroup::GROUP_KAKARIKO); - locationTable[KAK_BAZAAR_ITEM_4] = ItemLocation::Base(0x2C, 0x3B, "Kak Bazaar Item 4", KAK_BAZAAR_ITEM_4, BUY_HEART, {Category::cKakarikoVillage, Category::cKakariko, Category::cShop}, SpoilerCollectionCheck::ShopItem(0x33, 3), SpoilerCollectionCheckGroup::GROUP_KAKARIKO); - locationTable[KAK_BAZAAR_ITEM_5] = ItemLocation::Base(0x2C, 0x3C, "Kak Bazaar Item 5", KAK_BAZAAR_ITEM_5, BUY_ARROWS_10, {Category::cKakarikoVillage, Category::cKakariko, Category::cShop}, SpoilerCollectionCheck::ShopItem(0x33, 4), SpoilerCollectionCheckGroup::GROUP_KAKARIKO); - locationTable[KAK_BAZAAR_ITEM_6] = ItemLocation::Base(0x2C, 0x3D, "Kak Bazaar Item 6", KAK_BAZAAR_ITEM_6, BUY_ARROWS_50, {Category::cKakarikoVillage, Category::cKakariko, Category::cShop}, SpoilerCollectionCheck::ShopItem(0x33, 5), SpoilerCollectionCheckGroup::GROUP_KAKARIKO); - locationTable[KAK_BAZAAR_ITEM_7] = ItemLocation::Base(0x2C, 0x3E, "Kak Bazaar Item 7", KAK_BAZAAR_ITEM_7, BUY_DEKU_STICK_1, {Category::cKakarikoVillage, Category::cKakariko, Category::cShop}, SpoilerCollectionCheck::ShopItem(0x33, 6), SpoilerCollectionCheckGroup::GROUP_KAKARIKO); - locationTable[KAK_BAZAAR_ITEM_8] = ItemLocation::Base(0x2C, 0x3F, "Kak Bazaar Item 8", KAK_BAZAAR_ITEM_8, BUY_ARROWS_30, {Category::cKakarikoVillage, Category::cKakariko, Category::cShop}, SpoilerCollectionCheck::ShopItem(0x33, 7), SpoilerCollectionCheckGroup::GROUP_KAKARIKO); - - locationTable[ZD_SHOP_ITEM_1] = ItemLocation::Base(0x2F, 0x30, "ZD Shop Item 1", ZD_SHOP_ITEM_1, BUY_ZORA_TUNIC, {Category::cZorasDomain, Category::cShop}, SpoilerCollectionCheck::ShopItem(0x2F, 0), SpoilerCollectionCheckGroup::GROUP_ZORAS_DOMAIN); - locationTable[ZD_SHOP_ITEM_2] = ItemLocation::Base(0x2F, 0x31, "ZD Shop Item 2", ZD_SHOP_ITEM_2, BUY_ARROWS_10, {Category::cZorasDomain, Category::cShop}, SpoilerCollectionCheck::ShopItem(0x2F, 1), SpoilerCollectionCheckGroup::GROUP_ZORAS_DOMAIN); - locationTable[ZD_SHOP_ITEM_3] = ItemLocation::Base(0x2F, 0x32, "ZD Shop Item 3", ZD_SHOP_ITEM_3, BUY_HEART, {Category::cZorasDomain, Category::cShop}, SpoilerCollectionCheck::ShopItem(0x2F, 2), SpoilerCollectionCheckGroup::GROUP_ZORAS_DOMAIN); - locationTable[ZD_SHOP_ITEM_4] = ItemLocation::Base(0x2F, 0x33, "ZD Shop Item 4", ZD_SHOP_ITEM_4, BUY_ARROWS_30, {Category::cZorasDomain, Category::cShop}, SpoilerCollectionCheck::ShopItem(0x2F, 3), SpoilerCollectionCheckGroup::GROUP_ZORAS_DOMAIN); - locationTable[ZD_SHOP_ITEM_5] = ItemLocation::Base(0x2F, 0x34, "ZD Shop Item 5", ZD_SHOP_ITEM_5, BUY_DEKU_NUT_5, {Category::cZorasDomain, Category::cShop}, SpoilerCollectionCheck::ShopItem(0x2F, 4), SpoilerCollectionCheckGroup::GROUP_ZORAS_DOMAIN); - locationTable[ZD_SHOP_ITEM_6] = ItemLocation::Base(0x2F, 0x35, "ZD Shop Item 6", ZD_SHOP_ITEM_6, BUY_ARROWS_50, {Category::cZorasDomain, Category::cShop}, SpoilerCollectionCheck::ShopItem(0x2F, 5), SpoilerCollectionCheckGroup::GROUP_ZORAS_DOMAIN); - locationTable[ZD_SHOP_ITEM_7] = ItemLocation::Base(0x2F, 0x36, "ZD Shop Item 7", ZD_SHOP_ITEM_7, BUY_FISH, {Category::cZorasDomain, Category::cShop}, SpoilerCollectionCheck::ShopItem(0x2F, 6), SpoilerCollectionCheckGroup::GROUP_ZORAS_DOMAIN); - locationTable[ZD_SHOP_ITEM_8] = ItemLocation::Base(0x2F, 0x37, "ZD Shop Item 8", ZD_SHOP_ITEM_8, BUY_RED_POTION_50, {Category::cZorasDomain, Category::cShop}, SpoilerCollectionCheck::ShopItem(0x2F, 7), SpoilerCollectionCheckGroup::GROUP_ZORAS_DOMAIN); - - locationTable[GC_SHOP_ITEM_1] = ItemLocation::Base(0x2E, 0x30, "GC Shop Item 1", GC_SHOP_ITEM_1, BUY_BOMBS_525, {Category::cGoronCity, Category::cShop}, SpoilerCollectionCheck::ShopItem(0x2E, 0), SpoilerCollectionCheckGroup::GROUP_GORON_CITY); - locationTable[GC_SHOP_ITEM_2] = ItemLocation::Base(0x2E, 0x31, "GC Shop Item 2", GC_SHOP_ITEM_2, BUY_BOMBS_10, {Category::cGoronCity, Category::cShop}, SpoilerCollectionCheck::ShopItem(0x2E, 1), SpoilerCollectionCheckGroup::GROUP_GORON_CITY); - locationTable[GC_SHOP_ITEM_3] = ItemLocation::Base(0x2E, 0x32, "GC Shop Item 3", GC_SHOP_ITEM_3, BUY_BOMBS_20, {Category::cGoronCity, Category::cShop}, SpoilerCollectionCheck::ShopItem(0x2E, 2), SpoilerCollectionCheckGroup::GROUP_GORON_CITY); - locationTable[GC_SHOP_ITEM_4] = ItemLocation::Base(0x2E, 0x33, "GC Shop Item 4", GC_SHOP_ITEM_4, BUY_BOMBS_30, {Category::cGoronCity, Category::cShop}, SpoilerCollectionCheck::ShopItem(0x2E, 3), SpoilerCollectionCheckGroup::GROUP_GORON_CITY); - locationTable[GC_SHOP_ITEM_5] = ItemLocation::Base(0x2E, 0x34, "GC Shop Item 5", GC_SHOP_ITEM_5, BUY_GORON_TUNIC, {Category::cGoronCity, Category::cShop}, SpoilerCollectionCheck::ShopItem(0x2E, 4), SpoilerCollectionCheckGroup::GROUP_GORON_CITY); - locationTable[GC_SHOP_ITEM_6] = ItemLocation::Base(0x2E, 0x35, "GC Shop Item 6", GC_SHOP_ITEM_6, BUY_HEART, {Category::cGoronCity, Category::cShop}, SpoilerCollectionCheck::ShopItem(0x2E, 5), SpoilerCollectionCheckGroup::GROUP_GORON_CITY); - locationTable[GC_SHOP_ITEM_7] = ItemLocation::Base(0x2E, 0x36, "GC Shop Item 7", GC_SHOP_ITEM_7, BUY_RED_POTION_40, {Category::cGoronCity, Category::cShop}, SpoilerCollectionCheck::ShopItem(0x2E, 6), SpoilerCollectionCheckGroup::GROUP_GORON_CITY); - locationTable[GC_SHOP_ITEM_8] = ItemLocation::Base(0x2E, 0x37, "GC Shop Item 8", GC_SHOP_ITEM_8, BUY_HEART, {Category::cGoronCity, Category::cShop}, SpoilerCollectionCheck::ShopItem(0x2E, 7), SpoilerCollectionCheckGroup::GROUP_GORON_CITY); - - /*------------------------------- - --- FREE STANDING RUPEES --- - -------------------------------*/ - locationTable[KF_END_OF_BRIDGE_BLUE_RUPEE] = ItemLocation::Collectable(0x55, 0x11, "KF End of Bridge Blue Rupee", KF_END_OF_BRIDGE_BLUE_RUPEE, BLUE_RUPEE, {Category::cKokiriForest, Category::cForest, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_KOKIRI_FOREST); - locationTable[KF_BEHIND_MIDOS_HOUSE_BLUE_RUPEE] = ItemLocation::Collectable(0x55, 0x12, "KF Behind Mido's house Blue Rupee", KF_BEHIND_MIDOS_HOUSE_BLUE_RUPEE, BLUE_RUPEE, {Category::cKokiriForest, Category::cForest, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_KOKIRI_FOREST); - locationTable[KF_BOULDER_MAZE_BLUE_RUPEE_1] = ItemLocation::Collectable(0x55, 0x0F, "KF Boulder Maze Blue Rupee 1", KF_BOULDER_MAZE_BLUE_RUPEE_1, BLUE_RUPEE, {Category::cKokiriForest, Category::cForest, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_KOKIRI_FOREST); - locationTable[KF_BOULDER_MAZE_BLUE_RUPEE_2] = ItemLocation::Collectable(0x55, 0x0E, "KF Boulder Maze Blue Rupee 2", KF_BOULDER_MAZE_BLUE_RUPEE_2, BLUE_RUPEE, {Category::cKokiriForest, Category::cForest, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_KOKIRI_FOREST); - locationTable[KF_NEAR_RAMP_GREEN_RUPEE_1] = ItemLocation::Collectable(0x55, 0x24, "KF Near Ramp Green Rupee 1", KF_NEAR_RAMP_GREEN_RUPEE_1, GREEN_RUPEE, {Category::cKokiriForest, Category::cForest, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_KOKIRI_FOREST); - locationTable[KF_NEAR_RAMP_GREEN_RUPEE_2] = ItemLocation::Collectable(0x55, 0x27, "KF Near Ramp Green Rupee 2", KF_NEAR_RAMP_GREEN_RUPEE_2, GREEN_RUPEE, {Category::cKokiriForest, Category::cForest, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_KOKIRI_FOREST); - locationTable[KF_NEAR_MIDOS_HOUSE_GREEN_RUPEE_1] = ItemLocation::Collectable(0x55, 0x25, "KF Near Mido's House Green Rupee 1", KF_NEAR_MIDOS_HOUSE_GREEN_RUPEE_1, GREEN_RUPEE, {Category::cKokiriForest, Category::cForest, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_KOKIRI_FOREST); - locationTable[KF_NEAR_MIDOS_HOUSE_GREEN_RUPEE_2] = ItemLocation::Collectable(0x55, 0x26, "KF Near Mido's House Green Rupee 2", KF_NEAR_MIDOS_HOUSE_GREEN_RUPEE_2, GREEN_RUPEE, {Category::cKokiriForest, Category::cForest, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_KOKIRI_FOREST); - locationTable[KF_RUPEE_CIRCLE_GREEN_RUPEE_1] = ItemLocation::Collectable(0x55, 0x40, "KF Rupee circle Green Rupee 1", KF_RUPEE_CIRCLE_GREEN_RUPEE_1, GREEN_RUPEE, {Category::cKokiriForest, Category::cForest, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_KOKIRI_FOREST); - locationTable[KF_RUPEE_CIRCLE_GREEN_RUPEE_2] = ItemLocation::Collectable(0x55, 0x41, "KF Rupee circle Green Rupee 2", KF_RUPEE_CIRCLE_GREEN_RUPEE_2, GREEN_RUPEE, {Category::cKokiriForest, Category::cForest, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_KOKIRI_FOREST); - locationTable[KF_RUPEE_CIRCLE_GREEN_RUPEE_3] = ItemLocation::Collectable(0x55, 0x42, "KF Rupee circle Green Rupee 3", KF_RUPEE_CIRCLE_GREEN_RUPEE_3, GREEN_RUPEE, {Category::cKokiriForest, Category::cForest, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_KOKIRI_FOREST); - locationTable[KF_RUPEE_CIRCLE_GREEN_RUPEE_4] = ItemLocation::Collectable(0x55, 0x43, "KF Rupee circle Green Rupee 4", KF_RUPEE_CIRCLE_GREEN_RUPEE_4, GREEN_RUPEE, {Category::cKokiriForest, Category::cForest, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_KOKIRI_FOREST); - locationTable[KF_RUPEE_CIRCLE_GREEN_RUPEE_5] = ItemLocation::Collectable(0x55, 0x44, "KF Rupee circle Green Rupee 5", KF_RUPEE_CIRCLE_GREEN_RUPEE_5, GREEN_RUPEE, {Category::cKokiriForest, Category::cForest, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_KOKIRI_FOREST); - locationTable[KF_RUPEE_CIRCLE_GREEN_RUPEE_6] = ItemLocation::Collectable(0x55, 0x45, "KF Rupee circle Green Rupee 6", KF_RUPEE_CIRCLE_GREEN_RUPEE_6, GREEN_RUPEE, {Category::cKokiriForest, Category::cForest, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_KOKIRI_FOREST); - locationTable[KF_RUPEE_CIRCLE_RED_RUPEE] = ItemLocation::Collectable(0x55, 0x46, "KF Rupee circle Red Rupee", KF_RUPEE_CIRCLE_RED_RUPEE, RED_RUPEE, {Category::cKokiriForest, Category::cForest, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_KOKIRI_FOREST); - - locationTable[LW_IN_BOULDER_BLUE_RUPEE] = ItemLocation::Collectable(0x5B, 0x13, "LW in boulder blue rupee", LW_IN_BOULDER_BLUE_RUPEE, BLUE_RUPEE, {Category::cLostWoods, Category::cForest, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_LOST_WOODS); - locationTable[LW_IN_WATER_NEAR_ZR_SHORTCUT_GREEN_RUPEE_1] = ItemLocation::Collectable(0x5B, 0x34, "LW in water near ZR Shortcut Green Rupee 1", LW_IN_WATER_NEAR_ZR_SHORTCUT_GREEN_RUPEE_1, GREEN_RUPEE, {Category::cLostWoods, Category::cForest, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_LOST_WOODS); - locationTable[LW_IN_WATER_NEAR_ZR_SHORTCUT_GREEN_RUPEE_2] = ItemLocation::Collectable(0x5B, 0x35, "LW in water near ZR Shortcut Green Rupee 2", LW_IN_WATER_NEAR_ZR_SHORTCUT_GREEN_RUPEE_2, GREEN_RUPEE, {Category::cLostWoods, Category::cForest, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_LOST_WOODS); - locationTable[LW_IN_WATER_NEAR_ZR_SHORTCUT_GREEN_RUPEE_3] = ItemLocation::Collectable(0x5B, 0x36, "LW in water near ZR Shortcut Green Rupee 3", LW_IN_WATER_NEAR_ZR_SHORTCUT_GREEN_RUPEE_3, GREEN_RUPEE, {Category::cLostWoods, Category::cForest, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_LOST_WOODS); - locationTable[LW_IN_WATER_NEAR_ZR_SHORTCUT_GREEN_RUPEE_4] = ItemLocation::Collectable(0x5B, 0x37, "LW in water near ZR Shortcut Green Rupee 4", LW_IN_WATER_NEAR_ZR_SHORTCUT_GREEN_RUPEE_4, GREEN_RUPEE, {Category::cLostWoods, Category::cForest, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_LOST_WOODS); - locationTable[LW_IN_WATER_NEAR_ZR_SHORTCUT_GREEN_RUPEE_5] = ItemLocation::Collectable(0x5B, 0x39, "LW in water near ZR Shortcut Green Rupee 5", LW_IN_WATER_NEAR_ZR_SHORTCUT_GREEN_RUPEE_5, GREEN_RUPEE, {Category::cLostWoods, Category::cForest, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_LOST_WOODS); - locationTable[LW_IN_WATER_NEAR_ZR_SHORTCUT_GREEN_RUPEE_6] = ItemLocation::Collectable(0x5B, 0x3A, "LW in water near ZR Shortcut Green Rupee 6", LW_IN_WATER_NEAR_ZR_SHORTCUT_GREEN_RUPEE_6, GREEN_RUPEE, {Category::cLostWoods, Category::cForest, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_LOST_WOODS); - locationTable[LW_IN_WATER_NEAR_ZR_SHORTCUT_GREEN_RUPEE_7] = ItemLocation::Collectable(0x5B, 0x3B, "LW in water near ZR Shortcut Green Rupee 7", LW_IN_WATER_NEAR_ZR_SHORTCUT_GREEN_RUPEE_7, GREEN_RUPEE, {Category::cLostWoods, Category::cForest, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_LOST_WOODS); - locationTable[LW_IN_WATER_NEAR_ZR_SHORTCUT_GREEN_RUPEE_8] = ItemLocation::Collectable(0x5B, 0x3C, "LW in water near ZR Shortcut Green Rupee 8", LW_IN_WATER_NEAR_ZR_SHORTCUT_GREEN_RUPEE_8, GREEN_RUPEE, {Category::cLostWoods, Category::cForest, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_LOST_WOODS); - - locationTable[LH_UNDER_WATER_GREEN_RUPEE_1] = ItemLocation::Collectable(0x57, 0x20, "LH Under water green rupee 1", LH_UNDER_WATER_GREEN_RUPEE_1, GREEN_RUPEE, {Category::cLakeHylia, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_LAKE_HYLIA); - locationTable[LH_UNDER_WATER_GREEN_RUPEE_2] = ItemLocation::Collectable(0x57, 0x21, "LH Under water green rupee 2", LH_UNDER_WATER_GREEN_RUPEE_2, GREEN_RUPEE, {Category::cLakeHylia, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_LAKE_HYLIA); - locationTable[LH_UNDER_WATER_GREEN_RUPEE_3] = ItemLocation::Collectable(0x57, 0x22, "LH Under water green rupee 3", LH_UNDER_WATER_GREEN_RUPEE_3, GREEN_RUPEE, {Category::cLakeHylia, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_LAKE_HYLIA); - locationTable[LH_LAB_DIVE_RED_RUPEE_1] = ItemLocation::Collectable(0x38, 0x01, "LH Lab Dive Red rupee 1", LH_LAB_DIVE_RED_RUPEE_1, RED_RUPEE, {Category::cLakeHylia, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_LAKE_HYLIA); - locationTable[LH_LAB_DIVE_RED_RUPEE_2] = ItemLocation::Collectable(0x38, 0x02, "LH Lab Dive Red rupee 2", LH_LAB_DIVE_RED_RUPEE_2, RED_RUPEE, {Category::cLakeHylia, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_LAKE_HYLIA); - locationTable[LH_LAB_DIVE_RED_RUPEE_3] = ItemLocation::Collectable(0x38, 0x03, "LH Lab Dive Red rupee 3", LH_LAB_DIVE_RED_RUPEE_3, RED_RUPEE, {Category::cLakeHylia, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_LAKE_HYLIA); - - locationTable[GV_OCTOROCK_GROTTO_BLUE_RUPEE_1] = ItemLocation::Collectable(0x3E, 0x38, "GV Octorock Grotto Blue Rupee 1", GV_OCTOROCK_GROTTO_BLUE_RUPEE_1, BLUE_RUPEE, {Category::cGerudoValley, Category::cGerudo, Category::cFreestandingRupee, Category::cGrotto}, SpoilerCollectionCheckGroup::GROUP_GERUDO_VALLEY); - locationTable[GV_OCTOROCK_GROTTO_BLUE_RUPEE_2] = ItemLocation::Collectable(0x3E, 0x39, "GV Octorock Grotto Blue Rupee 2", GV_OCTOROCK_GROTTO_BLUE_RUPEE_2, BLUE_RUPEE, {Category::cGerudoValley, Category::cGerudo, Category::cFreestandingRupee, Category::cGrotto}, SpoilerCollectionCheckGroup::GROUP_GERUDO_VALLEY); - locationTable[GV_OCTOROCK_GROTTO_BLUE_RUPEE_3] = ItemLocation::Collectable(0x3E, 0x3A, "GV Octorock Grotto Blue Rupee 3", GV_OCTOROCK_GROTTO_BLUE_RUPEE_3, BLUE_RUPEE, {Category::cGerudoValley, Category::cGerudo, Category::cFreestandingRupee, Category::cGrotto}, SpoilerCollectionCheckGroup::GROUP_GERUDO_VALLEY); - locationTable[GV_OCTOROCK_GROTTO_GREEN_RUPEE_1] = ItemLocation::Collectable(0x3E, 0x3B, "GV Octorock Grotto Green Rupee 1", GV_OCTOROCK_GROTTO_GREEN_RUPEE_1, GREEN_RUPEE, {Category::cGerudoValley, Category::cGerudo, Category::cFreestandingRupee, Category::cGrotto}, SpoilerCollectionCheckGroup::GROUP_GERUDO_VALLEY); - locationTable[GV_OCTOROCK_GROTTO_GREEN_RUPEE_2] = ItemLocation::Collectable(0x3E, 0x3C, "GV Octorock Grotto Green Rupee 2", GV_OCTOROCK_GROTTO_GREEN_RUPEE_2, GREEN_RUPEE, {Category::cGerudoValley, Category::cGerudo, Category::cFreestandingRupee, Category::cGrotto}, SpoilerCollectionCheckGroup::GROUP_GERUDO_VALLEY); - locationTable[GV_OCTOROCK_GROTTO_GREEN_RUPEE_3] = ItemLocation::Collectable(0x3E, 0x3D, "GV Octorock Grotto Green Rupee 3", GV_OCTOROCK_GROTTO_GREEN_RUPEE_3, GREEN_RUPEE, {Category::cGerudoValley, Category::cGerudo, Category::cFreestandingRupee, Category::cGrotto}, SpoilerCollectionCheckGroup::GROUP_GERUDO_VALLEY); - locationTable[GV_OCTOROCK_GROTTO_GREEN_RUPEE_4] = ItemLocation::Collectable(0x3E, 0x3E, "GV Octorock Grotto Green Rupee 4", GV_OCTOROCK_GROTTO_GREEN_RUPEE_4, GREEN_RUPEE, {Category::cGerudoValley, Category::cGerudo, Category::cFreestandingRupee, Category::cGrotto}, SpoilerCollectionCheckGroup::GROUP_GERUDO_VALLEY); - locationTable[GV_OCTOROCK_GROTTO_RED_RUPEE] = ItemLocation::Collectable(0x3E, 0x3F, "GV Octorock Grotto Red Rupee", GV_OCTOROCK_GROTTO_RED_RUPEE, RED_RUPEE, {Category::cGerudoValley, Category::cGerudo, Category::cFreestandingRupee, Category::cGrotto}, SpoilerCollectionCheckGroup::GROUP_GERUDO_VALLEY); - - locationTable[DMT_ROCK_BLUE_RUPEE] = ItemLocation::Collectable(0x60, 0x07, "DMT Rock Blue Rupee", DMT_ROCK_BLUE_RUPEE, BLUE_RUPEE, {Category::cDeathMountainTrail, Category::cFreestandingRupee,}, SpoilerCollectionCheckGroup::GROUP_DEATH_MOUNTAIN_TRAIL); - locationTable[DMT_ROCK_RED_RUPEE] = ItemLocation::Collectable(0x60, 0x0A, "DMT Rock Red Rupee", DMT_ROCK_RED_RUPEE, RED_RUPEE, {Category::cDeathMountainTrail, Category::cFreestandingRupee,}, SpoilerCollectionCheckGroup::GROUP_DEATH_MOUNTAIN_TRAIL); - locationTable[DMT_COW_GROTTO_RUPEE_CIRCLE_GREEN_RUPEE_1] = ItemLocation::Collectable(0x3E, 0x40, "DMT Cow Grotto rupee circle Green Rupee 1", DMT_COW_GROTTO_RUPEE_CIRCLE_GREEN_RUPEE_1, GREEN_RUPEE, {Category::cDeathMountainTrail, Category::cFreestandingRupee, Category::cGrotto}, SpoilerCollectionCheckGroup::GROUP_DEATH_MOUNTAIN_TRAIL); - locationTable[DMT_COW_GROTTO_RUPEE_CIRCLE_GREEN_RUPEE_2] = ItemLocation::Collectable(0x3E, 0x41, "DMT Cow Grotto rupee circle Green Rupee 2", DMT_COW_GROTTO_RUPEE_CIRCLE_GREEN_RUPEE_2, GREEN_RUPEE, {Category::cDeathMountainTrail, Category::cFreestandingRupee, Category::cGrotto}, SpoilerCollectionCheckGroup::GROUP_DEATH_MOUNTAIN_TRAIL); - locationTable[DMT_COW_GROTTO_RUPEE_CIRCLE_GREEN_RUPEE_3] = ItemLocation::Collectable(0x3E, 0x42, "DMT Cow Grotto rupee circle Green Rupee 3", DMT_COW_GROTTO_RUPEE_CIRCLE_GREEN_RUPEE_3, GREEN_RUPEE, {Category::cDeathMountainTrail, Category::cFreestandingRupee, Category::cGrotto}, SpoilerCollectionCheckGroup::GROUP_DEATH_MOUNTAIN_TRAIL); - locationTable[DMT_COW_GROTTO_RUPEE_CIRCLE_GREEN_RUPEE_4] = ItemLocation::Collectable(0x3E, 0x43, "DMT Cow Grotto rupee circle Green Rupee 4", DMT_COW_GROTTO_RUPEE_CIRCLE_GREEN_RUPEE_4, GREEN_RUPEE, {Category::cDeathMountainTrail, Category::cFreestandingRupee, Category::cGrotto}, SpoilerCollectionCheckGroup::GROUP_DEATH_MOUNTAIN_TRAIL); - locationTable[DMT_COW_GROTTO_RUPEE_CIRCLE_GREEN_RUPEE_5] = ItemLocation::Collectable(0x3E, 0x44, "DMT Cow Grotto rupee circle Green Rupee 5", DMT_COW_GROTTO_RUPEE_CIRCLE_GREEN_RUPEE_5, GREEN_RUPEE, {Category::cDeathMountainTrail, Category::cFreestandingRupee, Category::cGrotto}, SpoilerCollectionCheckGroup::GROUP_DEATH_MOUNTAIN_TRAIL); - locationTable[DMT_COW_GROTTO_RUPEE_CIRCLE_GREEN_RUPEE_6] = ItemLocation::Collectable(0x3E, 0x45, "DMT Cow Grotto rupee circle Green Rupee 6", DMT_COW_GROTTO_RUPEE_CIRCLE_GREEN_RUPEE_6, GREEN_RUPEE, {Category::cDeathMountainTrail, Category::cFreestandingRupee, Category::cGrotto}, SpoilerCollectionCheckGroup::GROUP_DEATH_MOUNTAIN_TRAIL); - locationTable[DMT_COW_GROTTO_RUPEE_CIRCLE_RED_RUPEE] = ItemLocation::Collectable(0x3E, 0x46, "DMT Cow Grotto rupee circle Red Rupee", DMT_COW_GROTTO_RUPEE_CIRCLE_RED_RUPEE, RED_RUPEE, {Category::cDeathMountainTrail, Category::cFreestandingRupee, Category::cGrotto}, SpoilerCollectionCheckGroup::GROUP_DEATH_MOUNTAIN_TRAIL); - - locationTable[DMC_LOWER_RED_RUPEE_1] = ItemLocation::Collectable(0x61, 0x20, "DMC Lower Red Rupee 1", DMC_LOWER_RED_RUPEE_1, RED_RUPEE, {Category::cDeathMountainCrater, Category::cDeathMountain, Category::cFreestandingRupee,}, SpoilerCollectionCheckGroup::GROUP_DEATH_MOUNTAIN_CRATER); - locationTable[DMC_LOWER_RED_RUPEE_2] = ItemLocation::Collectable(0x61, 0x21, "DMC Lower Red Rupee 2", DMC_LOWER_RED_RUPEE_2, RED_RUPEE, {Category::cDeathMountainCrater, Category::cDeathMountain, Category::cFreestandingRupee,}, SpoilerCollectionCheckGroup::GROUP_DEATH_MOUNTAIN_CRATER); - locationTable[DMC_LOWER_BLUE_RUPEE_1] = ItemLocation::Collectable(0x61, 0x22, "DMC Lower Blue Rupee 1", DMC_LOWER_BLUE_RUPEE_1, BLUE_RUPEE, {Category::cDeathMountainCrater, Category::cDeathMountain, Category::cFreestandingRupee,}, SpoilerCollectionCheckGroup::GROUP_DEATH_MOUNTAIN_CRATER); - locationTable[DMC_LOWER_BLUE_RUPEE_2] = ItemLocation::Collectable(0x61, 0x23, "DMC Lower Blue Rupee 2", DMC_LOWER_BLUE_RUPEE_2, BLUE_RUPEE, {Category::cDeathMountainCrater, Category::cDeathMountain, Category::cFreestandingRupee,}, SpoilerCollectionCheckGroup::GROUP_DEATH_MOUNTAIN_CRATER); - locationTable[DMC_LOWER_BLUE_RUPEE_3] = ItemLocation::Collectable(0x61, 0x24, "DMC Lower Blue Rupee 3", DMC_LOWER_BLUE_RUPEE_3, BLUE_RUPEE, {Category::cDeathMountainCrater, Category::cDeathMountain, Category::cFreestandingRupee,}, SpoilerCollectionCheckGroup::GROUP_DEATH_MOUNTAIN_CRATER); - locationTable[DMC_LOWER_BLUE_RUPEE_4] = ItemLocation::Collectable(0x61, 0x25, "DMC Lower Blue Rupee 4", DMC_LOWER_BLUE_RUPEE_4, BLUE_RUPEE, {Category::cDeathMountainCrater, Category::cDeathMountain, Category::cFreestandingRupee,}, SpoilerCollectionCheckGroup::GROUP_DEATH_MOUNTAIN_CRATER); - locationTable[DMC_LOWER_BLUE_RUPEE_5] = ItemLocation::Collectable(0x61, 0x26, "DMC Lower Blue Rupee 5", DMC_LOWER_BLUE_RUPEE_5, BLUE_RUPEE, {Category::cDeathMountainCrater, Category::cDeathMountain, Category::cFreestandingRupee,}, SpoilerCollectionCheckGroup::GROUP_DEATH_MOUNTAIN_CRATER); - locationTable[DMC_LOWER_BLUE_RUPEE_6] = ItemLocation::Collectable(0x61, 0x27, "DMC Lower Blue Rupee 6", DMC_LOWER_BLUE_RUPEE_6, BLUE_RUPEE, {Category::cDeathMountainCrater, Category::cDeathMountain, Category::cFreestandingRupee,}, SpoilerCollectionCheckGroup::GROUP_DEATH_MOUNTAIN_CRATER); - locationTable[DMC_SCARE_CROW_RUPEE_CIRCLE_GREEN_RUPEE_1] = ItemLocation::Collectable(0x61, 0x40, "DMC Scare crow rupee circle Green Rupee 1", DMC_SCARE_CROW_RUPEE_CIRCLE_GREEN_RUPEE_1, GREEN_RUPEE, {Category::cDeathMountainCrater, Category::cDeathMountain, Category::cFreestandingRupee,}, SpoilerCollectionCheckGroup::GROUP_DEATH_MOUNTAIN_CRATER); - locationTable[DMC_SCARE_CROW_RUPEE_CIRCLE_GREEN_RUPEE_2] = ItemLocation::Collectable(0x61, 0x41, "DMC Scare crow rupee circle Green Rupee 2", DMC_SCARE_CROW_RUPEE_CIRCLE_GREEN_RUPEE_2, GREEN_RUPEE, {Category::cDeathMountainCrater, Category::cDeathMountain, Category::cFreestandingRupee,}, SpoilerCollectionCheckGroup::GROUP_DEATH_MOUNTAIN_CRATER); - locationTable[DMC_SCARE_CROW_RUPEE_CIRCLE_GREEN_RUPEE_3] = ItemLocation::Collectable(0x61, 0x42, "DMC Scare crow rupee circle Green Rupee 3", DMC_SCARE_CROW_RUPEE_CIRCLE_GREEN_RUPEE_3, GREEN_RUPEE, {Category::cDeathMountainCrater, Category::cDeathMountain, Category::cFreestandingRupee,}, SpoilerCollectionCheckGroup::GROUP_DEATH_MOUNTAIN_CRATER); - locationTable[DMC_SCARE_CROW_RUPEE_CIRCLE_GREEN_RUPEE_4] = ItemLocation::Collectable(0x61, 0x43, "DMC Scare crow rupee circle Green Rupee 4", DMC_SCARE_CROW_RUPEE_CIRCLE_GREEN_RUPEE_4, GREEN_RUPEE, {Category::cDeathMountainCrater, Category::cDeathMountain, Category::cFreestandingRupee,}, SpoilerCollectionCheckGroup::GROUP_DEATH_MOUNTAIN_CRATER); - locationTable[DMC_SCARE_CROW_RUPEE_CIRCLE_GREEN_RUPEE_5] = ItemLocation::Collectable(0x61, 0x44, "DMC Scare crow rupee circle Green Rupee 5", DMC_SCARE_CROW_RUPEE_CIRCLE_GREEN_RUPEE_5, GREEN_RUPEE, {Category::cDeathMountainCrater, Category::cDeathMountain, Category::cFreestandingRupee,}, SpoilerCollectionCheckGroup::GROUP_DEATH_MOUNTAIN_CRATER); - locationTable[DMC_SCARE_CROW_RUPEE_CIRCLE_GREEN_RUPEE_6] = ItemLocation::Collectable(0x61, 0x45, "DMC Scare crow rupee circle Green Rupee 6", DMC_SCARE_CROW_RUPEE_CIRCLE_GREEN_RUPEE_6, GREEN_RUPEE, {Category::cDeathMountainCrater, Category::cDeathMountain, Category::cFreestandingRupee,}, SpoilerCollectionCheckGroup::GROUP_DEATH_MOUNTAIN_CRATER); - locationTable[DMC_SCARE_CROW_RUPEE_CIRCLE_RED_RUPEE] = ItemLocation::Collectable(0x61, 0x46, "DMC Scare crow rupee circle Red Rupee", DMC_SCARE_CROW_RUPEE_CIRCLE_RED_RUPEE, RED_RUPEE, {Category::cDeathMountainCrater, Category::cDeathMountain, Category::cFreestandingRupee,}, SpoilerCollectionCheckGroup::GROUP_DEATH_MOUNTAIN_CRATER); - - locationTable[ZR_WATERFALL_RED_RUPEE_1] = ItemLocation::Collectable(0x54, 0x20, "ZR Waterfall Red Rupee 1", ZR_WATERFALL_RED_RUPEE_1, RED_RUPEE, {Category::cZorasRiver, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_ZORAS_RIVER); - locationTable[ZR_WATERFALL_RED_RUPEE_2] = ItemLocation::Collectable(0x54, 0x21, "ZR Waterfall Red Rupee 2", ZR_WATERFALL_RED_RUPEE_2, RED_RUPEE, {Category::cZorasRiver, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_ZORAS_RIVER); - locationTable[ZR_WATERFALL_RED_RUPEE_3] = ItemLocation::Collectable(0x54, 0x22, "ZR Waterfall Red Rupee 3", ZR_WATERFALL_RED_RUPEE_3, RED_RUPEE, {Category::cZorasRiver, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_ZORAS_RIVER); - locationTable[ZR_WATERFALL_RED_RUPEE_4] = ItemLocation::Collectable(0x54, 0x23, "ZR Waterfall Red Rupee 4", ZR_WATERFALL_RED_RUPEE_4, RED_RUPEE, {Category::cZorasRiver, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_ZORAS_RIVER); - - locationTable[ZF_UNDERWATER_GREEN_RUPEE_1] = ItemLocation::Collectable(0x59, 0x20, "ZF Underwater Green Rupee 1", ZF_UNDERWATER_GREEN_RUPEE_1, GREEN_RUPEE, {Category::cZorasFountain, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_ZORAS_FOUNTAIN); - locationTable[ZF_UNDERWATER_GREEN_RUPEE_2] = ItemLocation::Collectable(0x59, 0x21, "ZF Underwater Green Rupee 2", ZF_UNDERWATER_GREEN_RUPEE_2, GREEN_RUPEE, {Category::cZorasFountain, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_ZORAS_FOUNTAIN); - locationTable[ZF_UNDERWATER_GREEN_RUPEE_3] = ItemLocation::Collectable(0x59, 0x22, "ZF Underwater Green Rupee 3", ZF_UNDERWATER_GREEN_RUPEE_3, GREEN_RUPEE, {Category::cZorasFountain, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_ZORAS_FOUNTAIN); - locationTable[ZF_UNDERWATER_GREEN_RUPEE_4] = ItemLocation::Collectable(0x59, 0x23, "ZF Underwater Green Rupee 4", ZF_UNDERWATER_GREEN_RUPEE_4, GREEN_RUPEE, {Category::cZorasFountain, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_ZORAS_FOUNTAIN); - locationTable[ZF_UNDERWATER_GREEN_RUPEE_5] = ItemLocation::Collectable(0x59, 0x24, "ZF Underwater Green Rupee 5", ZF_UNDERWATER_GREEN_RUPEE_5, GREEN_RUPEE, {Category::cZorasFountain, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_ZORAS_FOUNTAIN); - locationTable[ZF_UNDERWATER_GREEN_RUPEE_6] = ItemLocation::Collectable(0x59, 0x25, "ZF Underwater Green Rupee 6", ZF_UNDERWATER_GREEN_RUPEE_6, GREEN_RUPEE, {Category::cZorasFountain, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_ZORAS_FOUNTAIN); - locationTable[ZF_UNDERWATER_GREEN_RUPEE_7] = ItemLocation::Collectable(0x59, 0x26, "ZF Underwater Green Rupee 7", ZF_UNDERWATER_GREEN_RUPEE_7, GREEN_RUPEE, {Category::cZorasFountain, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_ZORAS_FOUNTAIN); - locationTable[ZF_UNDERWATER_GREEN_RUPEE_8] = ItemLocation::Collectable(0x59, 0x27, "ZF Underwater Green Rupee 8", ZF_UNDERWATER_GREEN_RUPEE_8, GREEN_RUPEE, {Category::cZorasFountain, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_ZORAS_FOUNTAIN); - locationTable[ZF_UNDERWATER_GREEN_RUPEE_9] = ItemLocation::Collectable(0x59, 0x28, "ZF Underwater Green Rupee 9", ZF_UNDERWATER_GREEN_RUPEE_9, GREEN_RUPEE, {Category::cZorasFountain, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_ZORAS_FOUNTAIN); - locationTable[ZF_UNDERWATER_GREEN_RUPEE_10] = ItemLocation::Collectable(0x59, 0x29, "ZF Underwater Green Rupee 10", ZF_UNDERWATER_GREEN_RUPEE_10, GREEN_RUPEE, {Category::cZorasFountain, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_ZORAS_FOUNTAIN); - locationTable[ZF_UNDERWATER_GREEN_RUPEE_11] = ItemLocation::Collectable(0x59, 0x2A, "ZF Underwater Green Rupee 11", ZF_UNDERWATER_GREEN_RUPEE_11, GREEN_RUPEE, {Category::cZorasFountain, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_ZORAS_FOUNTAIN); - locationTable[ZF_UNDERWATER_GREEN_RUPEE_12] = ItemLocation::Collectable(0x59, 0x2B, "ZF Underwater Green Rupee 12", ZF_UNDERWATER_GREEN_RUPEE_12, GREEN_RUPEE, {Category::cZorasFountain, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_ZORAS_FOUNTAIN); - locationTable[ZF_UNDERWATER_GREEN_RUPEE_13] = ItemLocation::Collectable(0x59, 0x2C, "ZF Underwater Green Rupee 13", ZF_UNDERWATER_GREEN_RUPEE_13, GREEN_RUPEE, {Category::cZorasFountain, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_ZORAS_FOUNTAIN); - locationTable[ZF_UNDERWATER_GREEN_RUPEE_14] = ItemLocation::Collectable(0x59, 0x2D, "ZF Underwater Green Rupee 14", ZF_UNDERWATER_GREEN_RUPEE_14, GREEN_RUPEE, {Category::cZorasFountain, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_ZORAS_FOUNTAIN); - locationTable[ZF_UNDERWATER_GREEN_RUPEE_15] = ItemLocation::Collectable(0x59, 0x2E, "ZF Underwater Green Rupee 15", ZF_UNDERWATER_GREEN_RUPEE_15, GREEN_RUPEE, {Category::cZorasFountain, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_ZORAS_FOUNTAIN); - locationTable[ZF_UNDERWATER_GREEN_RUPEE_16] = ItemLocation::Collectable(0x59, 0x2F, "ZF Underwater Green Rupee 16", ZF_UNDERWATER_GREEN_RUPEE_16, GREEN_RUPEE, {Category::cZorasFountain, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_ZORAS_FOUNTAIN); - locationTable[ZF_UNDERWATER_GREEN_RUPEE_17] = ItemLocation::Collectable(0x59, 0x30, "ZF Underwater Green Rupee 17", ZF_UNDERWATER_GREEN_RUPEE_17, GREEN_RUPEE, {Category::cZorasFountain, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_ZORAS_FOUNTAIN); - locationTable[ZF_UNDERWATER_GREEN_RUPEE_18] = ItemLocation::Collectable(0x59, 0x31, "ZF Underwater Green Rupee 18", ZF_UNDERWATER_GREEN_RUPEE_18, GREEN_RUPEE, {Category::cZorasFountain, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_ZORAS_FOUNTAIN); - - locationTable[GRAVEYARD_DAMPE_RACE_GREEN_RUPEE_1] = ItemLocation::Collectable(0x48, 0x38, "GY Dampe Race Green Rupee 1", GRAVEYARD_DAMPE_RACE_GREEN_RUPEE_1, GREEN_RUPEE, {Category::cGraveyard, Category::cKakariko, Category::cMinigame, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_GRAVEYARD); - locationTable[GRAVEYARD_DAMPE_RACE_GREEN_RUPEE_2] = ItemLocation::Collectable(0x48, 0x39, "GY Dampe Race Green Rupee 2", GRAVEYARD_DAMPE_RACE_GREEN_RUPEE_2, GREEN_RUPEE, {Category::cGraveyard, Category::cKakariko, Category::cMinigame, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_GRAVEYARD); - locationTable[GRAVEYARD_DAMPE_RACE_GREEN_RUPEE_3] = ItemLocation::Collectable(0x48, 0x3A, "GY Dampe Race Green Rupee 3", GRAVEYARD_DAMPE_RACE_GREEN_RUPEE_3, GREEN_RUPEE, {Category::cGraveyard, Category::cKakariko, Category::cMinigame, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_GRAVEYARD); - locationTable[GRAVEYARD_DAMPE_RACE_GREEN_RUPEE_4] = ItemLocation::Collectable(0x48, 0x3B, "GY Dampe Race Green Rupee 4", GRAVEYARD_DAMPE_RACE_GREEN_RUPEE_4, GREEN_RUPEE, {Category::cGraveyard, Category::cKakariko, Category::cMinigame, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_GRAVEYARD); - locationTable[GRAVEYARD_DAMPE_RACE_GREEN_RUPEE_5] = ItemLocation::Collectable(0x48, 0x3C, "GY Dampe Race Green Rupee 5", GRAVEYARD_DAMPE_RACE_GREEN_RUPEE_5, GREEN_RUPEE, {Category::cGraveyard, Category::cKakariko, Category::cMinigame, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_GRAVEYARD); - locationTable[GRAVEYARD_DAMPE_RACE_GREEN_RUPEE_6] = ItemLocation::Collectable(0x48, 0x3D, "GY Dampe Race Green Rupee 6", GRAVEYARD_DAMPE_RACE_GREEN_RUPEE_6, GREEN_RUPEE, {Category::cGraveyard, Category::cKakariko, Category::cMinigame, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_GRAVEYARD); - locationTable[GRAVEYARD_DAMPE_RACE_GREEN_RUPEE_7] = ItemLocation::Collectable(0x48, 0x3E, "GY Dampe Race Green Rupee 7", GRAVEYARD_DAMPE_RACE_GREEN_RUPEE_7, GREEN_RUPEE, {Category::cGraveyard, Category::cKakariko, Category::cMinigame, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_GRAVEYARD); - locationTable[GRAVEYARD_DAMPE_RACE_GREEN_RUPEE_8] = ItemLocation::Collectable(0x48, 0x3F, "GY Dampe Race Green Rupee 8", GRAVEYARD_DAMPE_RACE_GREEN_RUPEE_8, GREEN_RUPEE, {Category::cGraveyard, Category::cKakariko, Category::cMinigame, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_GRAVEYARD); - - locationTable[ICE_CAVERN_RED_ICE_BLUE_RUPEE] = ItemLocation::Collectable(0x09, 0x21, "Ice Cavern Red Ice Blue Rupee", ICE_CAVERN_RED_ICE_BLUE_RUPEE, BLUE_RUPEE, {Category::cIceCavern, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_ICE_CAVERN); - locationTable[ICE_CAVERN_PUSH_BLOCK_ROOM_RED_RUPEE_1] = ItemLocation::Collectable(0x09, 0x2E, "Ice Cavern Block Room Red Rupee 1", ICE_CAVERN_PUSH_BLOCK_ROOM_RED_RUPEE_1, RED_RUPEE, {Category::cIceCavern, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_ICE_CAVERN); - locationTable[ICE_CAVERN_PUSH_BLOCK_ROOM_RED_RUPEE_2] = ItemLocation::Collectable(0x09, 0x2F, "Ice Cavern Block Room Red Rupee 2", ICE_CAVERN_PUSH_BLOCK_ROOM_RED_RUPEE_2, RED_RUPEE, {Category::cIceCavern, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_ICE_CAVERN); - locationTable[ICE_CAVERN_PUSH_BLOCK_ROOM_RED_RUPEE_3] = ItemLocation::Collectable(0x09, 0x30, "Ice Cavern Block Room Red Rupee 3", ICE_CAVERN_PUSH_BLOCK_ROOM_RED_RUPEE_3, RED_RUPEE, {Category::cIceCavern, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_ICE_CAVERN); - - locationTable[BOTTOM_OF_THE_WELL_CENTER_ROOM_PIT_FALL_BLUE_RUPEE_1] = ItemLocation::Collectable(0x08, 0x02, "Bottom of the Well Center Pit fall Blue Rupee 1", BOTTOM_OF_THE_WELL_CENTER_ROOM_PIT_FALL_BLUE_RUPEE_1, BLUE_RUPEE, {Category::cBottomOfTheWell, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_BOTTOM_OF_THE_WELL); - locationTable[BOTTOM_OF_THE_WELL_CENTER_ROOM_PIT_FALL_BLUE_RUPEE_2] = ItemLocation::Collectable(0x08, 0x03, "Bottom of the Well Center Pit fall Blue Rupee 2", BOTTOM_OF_THE_WELL_CENTER_ROOM_PIT_FALL_BLUE_RUPEE_2, BLUE_RUPEE, {Category::cBottomOfTheWell, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_BOTTOM_OF_THE_WELL); - locationTable[BOTTOM_OF_THE_WELL_CENTER_ROOM_PIT_FALL_BLUE_RUPEE_3] = ItemLocation::Collectable(0x08, 0x04, "Bottom of the Well Center Pit fall Blue Rupee 3", BOTTOM_OF_THE_WELL_CENTER_ROOM_PIT_FALL_BLUE_RUPEE_3, BLUE_RUPEE, {Category::cBottomOfTheWell, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_BOTTOM_OF_THE_WELL); - locationTable[BOTTOM_OF_THE_WELL_CENTER_ROOM_PIT_FALL_BLUE_RUPEE_4] = ItemLocation::Collectable(0x08, 0x05, "Bottom of the Well Center Pit fall Blue Rupee 4", BOTTOM_OF_THE_WELL_CENTER_ROOM_PIT_FALL_BLUE_RUPEE_4, BLUE_RUPEE, {Category::cBottomOfTheWell, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_BOTTOM_OF_THE_WELL); - locationTable[BOTTOM_OF_THE_WELL_CENTER_ROOM_PIT_FALL_BLUE_RUPEE_5] = ItemLocation::Collectable(0x08, 0x06, "Bottom of the Well Center Pit fall Blue Rupee 5", BOTTOM_OF_THE_WELL_CENTER_ROOM_PIT_FALL_BLUE_RUPEE_5, BLUE_RUPEE, {Category::cBottomOfTheWell, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_BOTTOM_OF_THE_WELL); - - locationTable[JABU_JABUS_BELLY_MQ_NEAR_COW_BOTTOM_GREEN_RUPEE] = ItemLocation::Collectable(0x02, 0x01, "Jabu Jabus Belly MQ Near Cow Bottom Green Rupee", JABU_JABUS_BELLY_MQ_NEAR_COW_BOTTOM_GREEN_RUPEE, GREEN_RUPEE, {Category::cJabuJabusBelly, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_JABUJABUS_BELLY); - locationTable[JABU_JABUS_BELLY_MQ_NEAR_COW_MIDDLE_GREEN_RUPEE] = ItemLocation::Collectable(0x02, 0x02, "Jabu Jabus Belly MQ Near Cow Middle Green Rupee", JABU_JABUS_BELLY_MQ_NEAR_COW_MIDDLE_GREEN_RUPEE, GREEN_RUPEE, {Category::cJabuJabusBelly, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_JABUJABUS_BELLY); - locationTable[JABU_JABUS_BELLY_MQ_NEAR_COW_TOP_GREEN_RUPEE] = ItemLocation::Collectable(0x02, 0x03, "Jabu Jabus Belly MQ Near Cow Top Green Rupee", JABU_JABUS_BELLY_MQ_NEAR_COW_TOP_GREEN_RUPEE, GREEN_RUPEE, {Category::cJabuJabusBelly, Category::cFreestandingRupee}, SpoilerCollectionCheckGroup::GROUP_DUNGEON_JABUJABUS_BELLY); - - /*------------------------------- - --- GOSSIP STONES --- - -------------------------------*/ - // These are not actual locations, but are filler spots used for hint reachability. - OoT Randomizer - // flag + 0x400 = message ID - locationTable[DMC_GOSSIP_STONE] = ItemLocation::HintStone(0x00, 0x05, "DMC Gossip Stone", {}); - locationTable[DMT_GOSSIP_STONE] = ItemLocation::HintStone(0x00, 0x04, "DMT Gossip Stone", {}); - locationTable[COLOSSUS_GOSSIP_STONE] = ItemLocation::HintStone(0x00, 0x1A, "Colossus Gossip Stone", {}); - locationTable[DODONGOS_CAVERN_GOSSIP_STONE] = ItemLocation::HintStone(0x00, 0x14, "Dodongo's Cavern Gossip Stone", {}); - locationTable[GV_GOSSIP_STONE] = ItemLocation::HintStone(0x00, 0x11, "GV Gossip Stone", {}); - locationTable[GC_MAZE_GOSSIP_STONE] = ItemLocation::HintStone(0x00, 0x15, "GC Maze Gossip Stone", {}); - locationTable[GC_MEDIGORON_GOSSIP_STONE] = ItemLocation::HintStone(0x00, 0x19, "GC Medigoron Gossip Stone", {}); - locationTable[GRAVEYARD_GOSSIP_STONE] = ItemLocation::HintStone(0x00, 0x0A, "GY Gossip Stone", {}); - locationTable[HC_MALON_GOSSIP_STONE] = ItemLocation::HintStone(0x00, 0x12, "HC Malon Gossip Stone", {}); - locationTable[HC_ROCK_WALL_GOSSIP_STONE] = ItemLocation::HintStone(0x00, 0x0B, "HC Rock Wall Gossip Stone", {}); - locationTable[HC_STORMS_GROTTO_GOSSIP_STONE] = ItemLocation::HintStone(0x00, 0x13, "HC Storms Grotto Gossip Stone", {}); - locationTable[KF_DEKU_TREE_GOSSIP_STONE_LEFT] = ItemLocation::HintStone(0x00, 0x1F, "KF Deku Tree Left Gossip Stone", {}); - locationTable[KF_DEKU_TREE_GOSSIP_STONE_RIGHT] = ItemLocation::HintStone(0x00, 0x20, "KF Deku Tree Right Gossip Stone", {}); - locationTable[KF_GOSSIP_STONE] = ItemLocation::HintStone(0x00, 0x1E, "KF Gossip Stone", {}); - locationTable[LH_LAB_GOSSIP_STONE] = ItemLocation::HintStone(0x00, 0x03, "LH Lab Gossip Stone", {}); - locationTable[LH_GOSSIP_STONE_SOUTHEAST] = ItemLocation::HintStone(0x00, 0x0F, "LH Southeast Gossip Stone", {}); - locationTable[LH_GOSSIP_STONE_SOUTHWEST] = ItemLocation::HintStone(0x00, 0x08, "LH Southwest Gossip Stone", {}); - locationTable[LW_GOSSIP_STONE] = ItemLocation::HintStone(0x00, 0x1D, "LW Gossip Stone", {}); - locationTable[SFM_MAZE_GOSSIP_STONE_LOWER] = ItemLocation::HintStone(0x00, 0x16, "SFM Maze Lower Gossip Stone", {}); - locationTable[SFM_MAZE_GOSSIP_STONE_UPPER] = ItemLocation::HintStone(0x00, 0x17, "SFM Maze Upper Gossip Stone", {}); - locationTable[SFM_SARIA_GOSSIP_STONE] = ItemLocation::HintStone(0x00, 0x1C, "SFM Saria Gossip Stone", {}); - locationTable[TOT_GOSSIP_STONE_LEFT] = ItemLocation::HintStone(0x00, 0x06, "ToT Left Gossip Stone", {}); - locationTable[TOT_GOSSIP_STONE_RIGHT] = ItemLocation::HintStone(0x00, 0x07, "ToT Left Center Gossip Stone", {}); - locationTable[TOT_GOSSIP_STONE_RIGHT_CENTER] = ItemLocation::HintStone(0x00, 0x10, "ToT Right Center Gossip Stone", {}); - locationTable[TOT_GOSSIP_STONE_LEFT_CENTER] = ItemLocation::HintStone(0x00, 0x0E, "ToT Right Gossip Stone", {}); - locationTable[ZD_GOSSIP_STONE] = ItemLocation::HintStone(0x00, 0x09, "ZD Gossip Stone", {}); - locationTable[ZF_FAIRY_GOSSIP_STONE] = ItemLocation::HintStone(0x00, 0x01, "Fairy Gossip Stone", {}); - locationTable[ZF_JABU_GOSSIP_STONE] = ItemLocation::HintStone(0x00, 0x02, "Jabu Gossip Stone", {}); - locationTable[ZR_NEAR_GROTTOS_GOSSIP_STONE] = ItemLocation::HintStone(0x00, 0x0D, "ZR Near Grottos Gossip Stone", {}); - locationTable[ZR_NEAR_DOMAIN_GOSSIP_STONE] = ItemLocation::HintStone(0x00, 0x0C, "ZR Near Domain Gossip Stone", {}); - locationTable[HF_COW_GROTTO_GOSSIP_STONE] = ItemLocation::HintStone(0x00, 0x1B, "HF Cow Grotto Gossip Stone", {}); - - locationTable[HF_NEAR_MARKET_GROTTO_GOSSIP_STONE] = ItemLocation::HintStone(0x00, 0x30, "HF Near Market Gossip Stone", {}); - locationTable[HF_SOUTHEAST_GROTTO_GOSSIP_STONE] = ItemLocation::HintStone(0x00, 0x32, "HF Southeast Gossip Stone", {}); - locationTable[HF_OPEN_GROTTO_GOSSIP_STONE] = ItemLocation::HintStone(0x00, 0x33, "HF Open Grotto Gossip Stone", {}); - locationTable[KAK_OPEN_GROTTO_GOSSIP_STONE] = ItemLocation::HintStone(0x00, 0x38, "Kak Open Grotto Gossip Stone", {}); - locationTable[ZR_OPEN_GROTTO_GOSSIP_STONE] = ItemLocation::HintStone(0x00, 0x39, "ZR Open Grotto Gossip Stone", {}); - locationTable[KF_STORMS_GROTTO_GOSSIP_STONE] = ItemLocation::HintStone(0x00, 0x3C, "KF Storms Gossip Stone", {}); - locationTable[LW_NEAR_SHORTCUTS_GROTTO_GOSSIP_STONE] = ItemLocation::HintStone(0x00, 0x34, "LW Near Shortcuts Gossip Stone", {}); - locationTable[DMT_STORMS_GROTTO_GOSSIP_STONE] = ItemLocation::HintStone(0x00, 0x37, "DMT Storms Grotto Gossip Stone", {}); - locationTable[DMC_UPPER_GROTTO_GOSSIP_STONE] = ItemLocation::HintStone(0x00, 0x3A, "DMC Upper Grotto Gossip Stone", {}); - - locationTable[GANONDORF_HINT] = ItemLocation::OtherHint(0x00, 0x00, "Ganondorf Hint", {}); - -} +std::array locationTable; std::vector KF_ShopLocations = { KF_SHOP_ITEM_1, diff --git a/source/item_location.hpp b/source/item_location.hpp index 026a454a..6b98d205 100644 --- a/source/item_location.hpp +++ b/source/item_location.hpp @@ -468,7 +468,9 @@ class ItemOverride_Compare { } }; -void LocationTable_Init(); +extern void LocationTable_Init(); + +extern std::array locationTable; ItemLocation* Location(LocationKey locKey); diff --git a/source/settings.cpp b/source/settings.cpp index 8dd268f5..d637c881 100644 --- a/source/settings.cpp +++ b/source/settings.cpp @@ -30,8 +30,7 @@ std::string seed; std::string version = RANDOMIZER_VERSION "-" COMMIT_NUMBER; std::array hashIconIndexes; -std::vector NumOpts(int min, int max, int step = 1, std::string textBefore = {}, - std::string textAfter = {}) { +std::vector NumOpts(int min, int max, int step, std::string textBefore, std::string textAfter) { std::vector options; options.reserve((max - min) / step + 1); for (int i = min; i <= max; i += step) { @@ -40,472 +39,23 @@ std::vector NumOpts(int min, int max, int step = 1, std::string tex return options; } -std::vector MultiVecOpts(std::vector> optionsVector) { - u32 totalSize = 0; - for (auto vector : optionsVector) { - totalSize += vector.size(); - } - std::vector options; - options.reserve(totalSize); - for (auto vector : optionsVector) { - for (auto op : vector) { - options.push_back(op); - } - } - return options; -} - -template -static std::vector mapArrayToOptions(const T (&array)[N], Func mapper) { - static std::vector