Commit Graph

7361 Commits

Author SHA1 Message Date
AmazingAmpharos 10d96bfa6c
Refactor bottle randomization
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.
2017-11-11 20:22:44 -06:00
AmazingAmpharos cde90cbc84
Update version number
Update the version number and logic hash for 0.5.0 release
2017-11-11 20:19:29 -06:00
AmazingAmpharos 6c13056781
New parameter support
A one line change to make this file work with the existence of new parameters.
2017-11-11 18:43:02 -06:00
AmazingAmpharos 1f4470600c
Updating readme
The readme will not contain information about all the new stuff.
2017-11-11 18:37:58 -06:00
AmazingAmpharos 4bde13105e
Hard and above difficulty
Remove fairies from being pre-stocked in bottles on high difficulties
2017-11-11 18:10:34 -06:00
AmazingAmpharos 13197e4ffe
Timer display
Makes these two files support that setting. Also fixes a bug in the command line display for the timer settings.
2017-11-11 18:08:41 -06:00
AmazingAmpharos ff3420cab7
Timer display and balanced algorithm
-Makes this file support these too
2017-11-11 18:07:13 -06:00
AmazingAmpharos 17b18eb630
Timer display mode
-Adds support for the timer display mode
-Fixes the name for Link's House for insanity mode shuffle
2017-11-11 18:06:05 -06:00
AmazingAmpharos a64fb33f4b
A little more polishing up
-Support for balanced algorithm
-Handle output file naming for new parameters
2017-11-11 18:05:06 -06:00
AmazingAmpharos ad047e6c9c
The last of the renaming
Courtesy of KevinCathcart
2017-11-11 18:03:42 -06:00
AmazingAmpharos 6644863007
Support overflow on hard and above
Added back in the normal number of progressive swords and bottles (and in the case of hard armor and shields) to the higher difficulties which will make it easier on average for players to find their earlier pieces of this equipment. Non-progressive alternatives were supported and set not to disrupt the average value of equipment. Hard still ignores progressive setting for armor since it doesn't change when players get armor upgrades (find one, get blue mail) but does allow non-progressive players to get the overflow item from the second armor discovery.
2017-11-11 15:47:44 -06:00
AmazingAmpharos a3ccc051f6
Ganon at Uncle softlock fix
-From KevinCathcart, this adds a new region to the world for the castle courtyard reachable from the exit to the uncle tunnel and from the upper ledge of Hyrule Castle but not the main gate. In effect, this changes nothing if Ganon is not at the uncle passage, and if Ganon is at the uncle passage, either Mirror + pyramid access, Master Sword, or a connecting cave to the upper ledge of Hyrule Castle will be required to access the main gate. This is necessary to fix a very rare softlock in which the player could defeat Agahnim, lose access to the Hyrule Castle main gate, and make the seed impossible.
2017-11-11 15:31:37 -06:00
AmazingAmpharos 9af7052e5f
Add balanced algorithm
-From KevinCathcart, adds a "balanced" algorithm that, in theory, fixes the dungeon bias of the v26/v27 algorithm while maintaining the desirable amount of randomness it provides.
2017-11-11 15:28:34 -06:00
AmazingAmpharos fe3bcd52a2
More difficulty features
-Properly set overflow counts and items for progressive equipment and bottles.
-Fairy fountains can no longer give free fairies on hard or above
-Shields now have hiked prices on hard and above consistent with vt rando
-KevinCathcart's new integer based writebytes functions are added for future backend use.
2017-11-11 15:25:56 -06:00
AmazingAmpharos 260a7072e0
Timed-OHKO and easy
-Dungeon item counts always displayed in easy mode if not also timed mode
-Timed-OHKO timer amounts updated to modern values (didn't actually measure out the red clock, set it to "large negative number" which should be functionally identical to the -32400 seconds that vt uses)
2017-11-10 04:50:50 -06:00
AmazingAmpharos cbb36fc5b3
New parameter support
Add support for new parameters
2017-11-10 04:18:39 -06:00
AmazingAmpharos a72097a52f
New parameter support
Add support for newly implemented parameters
2017-11-10 04:18:09 -06:00
AmazingAmpharos 3b495dde1f
Maintenance
The itempool definition is moved to the new ItemList file to keep the main clean. Several function calls were adjusted to account for world having two new parameters.
2017-11-10 04:17:28 -06:00
AmazingAmpharos 0c0cd240ad
New File
This file contains the definition for the item pool generation function. I'm not going to sugarcoat this; what I wrote is a total mess. This considers all possible combinations between timed modes (two distinct sets of timers), triforce hunt, progressives on/off/random, and all five of the difficulty settings from the vt randomizer. Maybe it would have been better to just hardcode every combination as its own array instead of build smaller arrays and use some semblance of logic to piece them together, but this is what I did. I'm not satisfied at all with the ugly, ugly form of this code and hope to revisit later, but for now, it adds significant improved functionality.
2017-11-10 04:15:45 -06:00
AmazingAmpharos 168fd83c97
Fix for not placing Maps and Compasses
It turns out the previous rewrite actually disabled that flag completely in the v26 algorithm. This makes it work again (per KevinCathcart)
2017-11-10 04:12:49 -06:00
AmazingAmpharos 2bbba29497
Typo fix
A misplaced parenthesis is fixes, solving an old bug where spoiler logs couldn't be generated if Maps and Compasses weren't placed in dungeons (thanks KevinCathcart)
2017-11-10 04:11:40 -06:00
AmazingAmpharos 1b5ec76c8d
A few softlock preventions
-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)
2017-11-10 04:10:30 -06:00
AmazingAmpharos 0ebeac5727
Many updates
-Set most flags for hard mode (todo: fix shield prices)
-Stop writing a flag that used to set pyramid respawns (it now messes with Cape quarter magic cost in the spike cave)
-KevinCathcart's checksum fix
-KevinCathcart fix for not placing Maps/Compasses
2017-11-10 04:08:59 -06:00
AmazingAmpharos f9b456313d
Credits and pedestal text
All filled in for every relevant item! I would like to improve this later in several ways, but for now, it's a lot better than allowing the defaults to be used.
2017-11-09 05:37:52 -06:00
AmazingAmpharos 990a466253
No filler in shuffled GT
This adds a check to adding filler into GT for the shuffle_ganon flag. If it is set, adding filler is skipped.
2017-11-09 04:46:59 -06:00
AmazingAmpharos 3d60d3ab50
Keysanity in older algorithms
This just makes older algorithms use v26's dungeon item distribution if keysanity is enabled.
2017-11-09 04:45:13 -06:00
AmazingAmpharos 90f9046bda
Fix keysanity and older algorithms
-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.
2017-11-09 04:34:29 -06:00
Kevin Cathcart 7de6948ceb Prevent Hyrule Castle key-lock in key-sanity 2017-11-08 22:45:43 -05:00
Kevin Cathcart 4817a85bcb Key-lock fixes
Update with key-lock fixes for GT. and Keysanity keyokick fixes for PoD,
GT, and TR.
2017-11-08 22:13:36 -05:00
Kevin Cathcart 24b0c4a132 Rename forgotten location 2017-11-08 19:23:21 -05:00
Kevin Cathcart 17cd963665 Simplify the only-beatable mode.
This also makes it faster.
2017-11-05 22:08:36 -05:00
Kevin Cathcart 5336e6c693 Fix typo in key description (as copied from VT27) 2017-11-05 18:50:58 -05:00
Kevin Cathcart 4ca1d8b62f Change the credits system
It is now possible to have longer credit texts than the original.
2017-11-05 00:06:00 -04:00
Kevin Cathcart 5b3d4449c1 Whitespace fixes 2017-11-04 23:54:35 -04:00
Kevin Cathcart cdf04b8a45 The Great Renaming
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.
2017-11-04 23:54:35 -04:00
Kevin Cathcart 2017b65a97 Update base rom to VT8.27 2017-11-04 23:52:57 -04:00
Kevin Cathcart f2ea4b6442 Implement Key-sanity
Still need to add documentation for this mode.
2017-11-04 23:52:57 -04:00
Kevin Cathcart 623e6637ff Update logic for Skull Woods and Agahnim's Tower to support key-sanity
Skull Wood's various chests have been split into real locations that
reflect key requirements.
2017-11-04 23:52:56 -04:00
Kevin Cathcart 51a892e869 Enable fast menu
Fast menu is an instant-open menu. It is an alternative to quickswap.
2017-11-04 23:52:56 -04:00
Kevin Cathcart a7d0e32f2d Make crystals 5 and 6 red on map 2017-11-04 23:52:56 -04:00
Kevin Cathcart 8a981b5140 Fix Aga Lamp in swordless mode
Apply mode related rule changes before the no-glitches add-on rules.
2017-11-04 23:52:56 -04:00
Kevin Cathcart 9c6d649996 Updating logic and features to better match VT26
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.
2017-11-04 23:52:56 -04:00
Kevin Cathcart fcc97cef81 Tweak fill algorithm to more closely match VT26 2017-11-04 23:52:56 -04:00
Kevin Cathcart dcc34bd39f Move item fill and distribution functions to new file 2017-11-04 23:52:56 -04:00
Kevin Cathcart d78a3ce7a5 Add VT26 style shuffling of dungeon items
Also adds new VT26 algorithm type that uses this, and makes it the default.
the new type also includes the GT junk items randomization.
2017-11-04 23:52:53 -04:00
Kevin Cathcart a244b92665 Update rom writer to use normal key item codes in original dungeons 2017-11-04 14:28:53 -04:00
Kevin Cathcart 2e9814882e Refactor dungeon and item classes to support VT26 style dungeon item shuffling 2017-11-04 14:28:48 -04:00
Kevin Cathcart f1c80cf87a Switch to dungeon specific item codes
Also adding pedestal naming for the keys based on the current vt27 work in progress.
This is harmless since before keysanity mode is implemented, these items will never end up on the pedestal.
2017-11-04 14:12:37 -04:00
Kevin Cathcart 86ffb35748 Upgrade to VT26.2 base rom 2017-10-29 13:18:10 -04:00
LLCoolDave 963ce00657 Fix typo in logic_hash. 2017-08-05 20:53:21 +02:00