Dessyreqt / alttprandomizer

The Legend of Zelda: A Link to the Past Randomizer
178 stars 30 forks source link

Additional Bug Fixes #305

Closed BlueViper85 closed 7 years ago

BlueViper85 commented 7 years ago

Previously I had created several "quick fix" logic updates to a few locations to correct a few errors. This latest update reverts several of those in favor of a better methodology.

I created a Boolean array that is updated whenever a big key has been added to a dungeon, where each value in the array is associated with each region. Then I updated every dungeon's Big Chest logic to check that the Big Key has been placed before the big chest can be accessed. I also added this to a few logic points where the game is checking for the big key in certain chests (without doing so it could check an empty chest that could be later filled with the big key and not be checked again). (See issues #266 and #267 ).

Note: The size of this array is based on the number of regions. So if, for some reason, additional regions are added in the future this will be sized accordingly, and it can be used immediately following by just referencing it where needed.

I also added a function called MiseryMireAccessibleKeyCount which checks that two (or more) keys are accessible outside of the areas through the southwest locked door in the big hub room. Then I updated the Misery Mire big chest logic to check these keys if the big key is in either the Compass or Big Key chests. This will help ensure that an already-rare key lock can't happen (see issue #296 )

I also added a Message Box that will appear when you use the Bulk Create option. Many times I've started a bulk creation and switched away only to keep coming back to check if it's complete.

Other logic fixes (lamp in the eye bridge or at Trinexx in Turtle Rock) Super Bomb logic updates, file+folder path fixes, etc... still remain in tact.

[Edit: I also added logic to change Cs to Gs in the seed number if a different difficulty is selected. Also entering a seed that starts with C or G also correctly selects the appropriate difficulty in the drop down to ensure consistency. See issue #275 )]