Forever in ER, erroneously, the Map Chest in Ganon's Tower erroneously required Hookshot instead of correctly accepting Hookshot or Boots like the item randomizer. The root cause involved how regional connections were strung together with the assumption Map Chest would have the same requirements as the four DMs Room chests. This fixes that and allows that chest to be accessed by logic with Boots.
This update should fully fix the key logic for Turtle Rock. This involved fixing several longstanding bugs in the program we didn't realize we had until trying to really fix this issue. Notable inclusions are that now seeds generated with a count will be identical to similarly numbered seeds generated individually and that now the always allows actually work (key for key apparently actually never happened in ER before and we didn't notice!). This also required refactoring the item pool generation before rule setting and individually moving pendant/crystal placement out of item pool generation (it's not a separate step between rule setting and normal item fill). A few exotic seed generation fails are still possible involving multi-entrance dungeons being really, really inaccessible in non-keysanity, but they're now appropriately super rare instead of being as common as they were before.
This is just for review and isn't tested beyond seeing that it runs. In theory, this should fix the TR based seed generation failures and make TR Small Key requirements as precise as possible.
Implement correct Retro Mode item pools.
Set up most of the key logic to handle retro mode (still needs shop access)
Set ROM flags appropriately.
TODO: Support Retro Mode with custom item pools, deal with shops in general, deal with Bow paired with arrow requirements, correct Expert item pool for silvers, test older fill algorithms with retro mode, deal with the new Sahas/Bomb Shop reveal map info ROM flags.
This is necessary to account for exiting here without otherwise having access to the area behind the rocks. Will mostly come up in insanity but has some extreme niches where it could matter in full.
The Dark World Hammer Pegs area and the Dark World shop in VoO are both regionalized to handle the possibility of connectors leading to them. Also an oversight in regionalizing Desert Palace that had broken the vanilla shuffle is corrected.
Desert Palace's main section is now broken into outer and inner regions separated by the pots, and the inner region is flagged as bunny impassable which should prevent the use of the central portion of Desert Main as a bunny by the logic while still permitting the outer two doors to be used as a connection.
Super Bomb logic was supposed to just be a small tweak to take care of the TODO on adding those three insanity only bomb shop locations to the logic, but then I realized that the rules for most of Death Mountain could be liberalized somewhat since that Flute to take the bomb away is also a direct access method and took care of all that. Hopefully Super Bomb logic won't need further tweaks for a good long while.
Makes can_extend_magic take an argument for how much magic is needed in total. Fixes rule issues with Trinexx, spike cave, and swordless Agahnim's Tower.
This is a simple tweak adding a mirror connection between the main Light World and the Hyrule Castle Courtyard. This will very rarely come into play; it only matters in circumstances where the uncle tunnel does not instantly connect to the courtyard (some madness/insanity situations and when Ganon's tunnel is there in full and below), when the player does not have access to the upper levels of Hyrule Castle or to the pyramid, but the player does have the Mirror. This correctly acknowledges that entering the castle main gate is fully and permanently softlock proof in this situation.
Bottle randomization refactored to be done on generation of itempool, not with the ItemFactory function. This allows difficulty settings to use different bottle pools more easily as well as allows the pedestal, credits, and spoiler logs to report bottle contents. Expert and insane difficulties deliberately set the same bottle content to all four bottles since the bottle limit is one in those modes so this only guarantees that all racers regardless of play sequence will get the same one free bottle content.
-KevinCathcart's PoD small key fix for the back
-Per KevinCathcart, swordless mode now inherits open mode specific restrictions (per me, fixes a rare Hyrule Castle softlock scenario)
-Fixes a wrong function call that made keysanity fail.
-Restores some logic in "key for key" situations that older algorithms relied upon, should slightly improve neutrality of key distribution even in v26 algorithm.
This is the Great renaming. Renaming to match V27. I've renamed pretty
much all Item locations to match, with a small number kept deliberatly
deferent for clarity.
There is probably more renaming that should be done at the Enterance and
Region levels, but that can be done later.
Updates include:
* Allow acticating tablets with hammer
* Remove 1/4 magic from the normal mode pool
* Incorporate OHKO compatible cape/cane-of-byrna requirements
* Upgrade Mirror Shield, Progressive Shield, and Bug Catching Net to
qualify as advancement items
* Allow Mirror shield as alternative to cape/byrna for Laser Bridge
* Prevent Waterfall Fairy from upgrading Boomerang or Shield
* Change PoD key logic to match VT26.
* Add restrictions on small key placement (to match VT26). I think these
restrictions may be redundant, but I'm adding them just in case any of
them are not.