Commit Graph

263 Commits

Author SHA1 Message Date
Bonta-kun 77ae96cf1b Refactor rom patching now that jsonrom patches can safely be merged 2020-01-10 07:02:44 +01:00
Bonta-kun 5db7e066da Sprites are now player specific, can be chosen from their sprite name rather than file path, support "random" choice and support "randomonhit" enemizer-only option 2020-01-09 02:30:00 +01:00
Bonta-kun feb925d2b1 Rom: cleaner disable_music patches to match what the website does 2020-01-08 08:17:25 +01:00
Bonta-kun 28011cf675 Built-in palette shuffle (including blackout) 2020-01-08 03:43:48 +01:00
Bonta-kun eb7ca4fdf9 Implement --startinventory 2020-01-06 19:13:42 +01:00
compiling 6b97cebec5 Work around for json patch - split out bow limit into a separate patch so that it can be overridden properly. 2020-01-02 16:33:00 +11:00
Bonta-kun 636a18cee9 Rom: sanitize hint_text input 2019-12-31 15:47:49 +01:00
Bonta-kun 955d1c2875 Fix ganon's silvers hint with progressive bows 2019-12-30 03:21:01 +01:00
Bonta-kun fb1e2a657c Rom: fix silvers restriction with hard+ item functionality, also lock swordless swords limit to 0 2019-12-27 01:43:18 +01:00
Bonta-kun 6ca9cddc9a Rom: revert multiworld overflow replacement settings, baserom patch will skip limit checks for multiworld items 2019-12-27 01:04:34 +01:00
Bonta-kun 4a16ba74e8 Fix triforce hunt icon showing for every player 2019-12-21 10:42:59 +01:00
Bonta-kun 0d9983bae0 Rom: fix player names not applying 2019-12-19 10:04:12 +01:00
Bonta-kun 8721310cf7 World: include can_access_trock_eyebridge can_access_trock_front can_access_trock_big_chest can_access_trock_middle and fix_fake_world in the player specific attributes 2019-12-18 20:45:51 +01:00
Bonta-kun 1ecb5fe40b Individual settings: shufflebosses shuffleenemies enemy_health enemy_damage 2019-12-17 15:55:53 +01:00
Bonta-kun 8a5eef11ce Individual settings: hints 2019-12-17 12:22:55 +01:00
Bonta-kun e5246d5d5a Individual settings: retro 2019-12-17 00:16:02 +01:00
Bonta-kun 1315eb55cf Individual settings: map/compass/key/bk shuffle 2019-12-16 21:46:47 +01:00
Bonta-kun dc26dfce77 Individual settings: crystals_ganon crystals_gt openpyramid 2019-12-16 19:09:15 +01:00
Bonta-kun ec1b9eca43 Individual settings: shuffle 2019-12-16 18:24:34 +01:00
Bonta-kun 203147dda1 Individual settings: difficulty and item_functionality 2019-12-16 17:46:21 +01:00
Bonta-kun c1788c070d Individual settings: goal 2019-12-16 16:55:00 +01:00
Bonta-kun 9ca755d5b2 Individual settings: swords 2019-12-16 16:54:57 +01:00
Bonta-kun ab28858a8f Individual settings: mode 2019-12-16 16:54:46 +01:00
Bonta-kun 79786c7c9e Individual settings: logic 2019-12-16 13:26:07 +01:00
Bonta-kun 930dcfb90f Use original item code for maps and compasses in their dungeons 2019-12-16 10:58:25 +01:00
Bonta-kun d33582a3a2 Enable bombs in escape assist with an enemized standard start so you can beat the game 2019-12-16 09:59:16 +01:00
Bonta-kun fcde1e9cdc Added more enemy shuffle options to be consistent with what's on the website 2019-12-16 01:35:10 +01:00
Bonta-kun 7e9ab6ce27 JsonRom: will behave like an interval map and merge/overwrite segments when appropriate 2019-12-15 16:16:49 +01:00
Bonta-kun 955dce0812 Race rom support (partial) 2019-12-15 16:16:39 +01:00
Bonta-kun 842f6bf1ac rom: correct gametype flag 2019-12-15 10:54:49 +01:00
Bonta-kun fc9d1b501b Replace keysanity with map/compass/key/bk shuffle 2019-12-13 22:37:52 +01:00
Bonta-kun 25068bcfdd Added an option to pre-open the pyramid hole (aka "fast ganon") 2019-12-12 09:20:32 +01:00
Bonta-kun 4ca063be54 Reimplement random weapon standard start, the previous one did not make sense in a multiworld context and rework castle chests logic, bombs start is now possible 2019-12-11 11:41:05 +01:00
Bonta-kun c773b62dfe adjuster: disable_music for the old msu code 2019-12-10 03:21:49 +01:00
Bonta-kun 55a30aa91f multiworld 2019-12-09 19:27:56 +01:00
AmazingAmpharos 1ddfc040f3
Update base ROM
Oops, forgot to ever do this, erroneously assumed it was done before.
2019-10-24 02:13:02 -05:00
AmazingAmpharos 63db5ac077
Hints for inverted
A few locations have different internal names in inverted mode, and the hint system used to fail to handle this. Now it will handle this correctly.
2019-10-23 20:45:02 -05:00
AmazingAmpharos bbc71a208f
A few inverted fixes
A few inverted fixes
2019-09-30 18:40:44 -05:00
cassidoxa f8628337bb One more vanilla/dungeons ROM fix 2019-09-21 22:15:12 -04:00
cassidoxa 2859acef7d Swordless rom writes and inverted fixes
* Update Swordless rom writes

* Remove swordless as possible mode in ItemList.py

* Fix inverted HC Ledge access
Added collection state helper methods for determining lw/dw access
Restricted locations where Link's House can be in inverted
Dark Sanc and Link's House can no longer be at the back of Skull Woods
Fixed minor error in inverted bunny rules

* Update Link's House Shuffling in inverted insanity

* More isolated entrances not to put Link's House at

* Fix Link's House in dungeons shuffles

* More dungeons shuffle stuff I forgot
2019-09-21 21:59:16 -04:00
AmazingAmpharos 4246a8b876
Various hint updates/improvements
This update makes the hint system work much better with simpler shuffles, fixes a bug by which two of the paradox cave entrances had reversed instructions in hints, and prevents the useless hint of there being a skull woods small key in the skull woods pinball room. Progressive Bow is added to the important item list for hints. Further tweaks to some hint language may still be incoming, but this should address the structure of the hint system pretty completely.
2019-09-16 00:51:24 -05:00
Kevin Cathcart f2c62e87ef Update flavor text 2019-09-02 15:34:52 -04:00
Kevin Cathcart 7249429f69 Fix silvers hint 2019-09-02 15:33:34 -04:00
cassidoxa 0a759f18d6 Undo write causing map tile glitch in EP area (#9) 2019-08-28 21:13:35 -04:00
Kevin Cathcart ab99e8c223 Triforce Hunt turn-in logic 2019-08-28 21:12:44 -04:00
Kevin Cathcart 895d274b02 New music muting mechanism 2019-08-25 22:36:19 -04:00
Kevin Cathcart 12d7459a60 Implement progressive bow limit 2019-08-25 22:28:12 -04:00
Kevin Cathcart 7dfff45a84 Fix typo 2019-08-25 22:22:31 -04:00
Kevin Cathcart df6bf6f99c Fix errors 2019-08-24 15:53:21 -04:00
Kevin Cathcart 6a6058adb3 Update goal sign/ganon taunts 2019-08-24 15:36:54 -04:00
Kevin Cathcart ec9709f009 Preopen GT for 0 crystals 2019-08-24 15:35:23 -04:00
cassidoxa fe1505408a Fix mirror bonking in inverted
reverted a change and fixed some inverted writes I messed up initially
2019-08-24 10:14:57 -04:00
Kevin Cathcart c0acfdd81e New silver arrow hints
Supporting progressive bows.
2019-08-21 22:40:19 -04:00
Kevin Cathcart 418568df60 Add Item functionality setting and progressive bow
Progressive bows still have issue for silvers hint
2019-08-10 19:37:26 -04:00
Kevin Cathcart 996bf8495c Implement new weapons modes
This also includes some partial additional cleanup of the item pool.
2019-08-10 16:10:54 -04:00
Kevin Cathcart b8ea2eb4b1 Fix random weapons for Standard Mode
Now works roughly like VT, except that swords are somwhat more common
and bombs-only escape is not supported (because I don't want to make
'Bombs (10)' an advancement item)

Swordless Standard Mode should also work now

Assured and Vanilla weapons still need to be implemented.
2019-08-10 16:10:54 -04:00
Kevin Cathcart 3713f6a1b5 Add keysanity map reveal
An overlooked v30 feature
2019-08-10 16:10:54 -04:00
Kevin Cathcart b0f4fa8cec Partial implementation of many V31 features
Partial support for Progressive bow
  - Still needs to be added to item pool
  - Silver hint handling remains TBD even for VT

Added weapons selection.
  - Vanilla needs to be implemented
  - Assured needs to be implemented
  - Inverted swordless is almost certainly messed up.
  - Swordless standard mode will likely softlock
  - Random weapon standard mode is currently treated as uncle assured

Deleted removed difficulties
  - Remaining difficulties still need to be adjusted

Added locked property to locations:
  - This is used for preplaced items etc so that multiworld balancing
    knows they cannot be moved.

Made a few of the difficulty changes from V31, but not all.

Added required text changes to handle crystals requirements
  - More changes will likely me made in future
  - Currently there is is no way to tell ganon requirement in
    Inverted mode
2019-08-10 16:10:47 -04:00
Kevin Cathcart d4f1bb7091 Implement V31 prize packs 2019-08-10 15:56:50 -04:00
Kevin Cathcart 8fb89971e5 Fix standard mode 2019-08-03 16:48:39 -04:00
Kevin Cathcart 90e5f522d8 Partially implement variable crystal requirements 2019-08-03 16:48:31 -04:00
cassidoxa 18f1275050 Inverted Mode (#5)
Merging in Cassidoxa's inverted mode.

I've still not fully reviewed the logic used in this mode, so it should be considered experimental, pending an in depth review by either myself or AA.
2019-07-27 09:13:13 -04:00
Kevin Cathcart c4570b732d Remove option_identifier
It is no longer needed because we set the hash based on an actual
hash of the rom contents, so it is not based on the title field anymore.
2019-07-11 20:39:08 -04:00
Kevin Cathcart aab696fa9c Remove logic_hash
It is no longer used for anything.
2019-07-11 20:39:08 -04:00
Bonta-kun 16abf033c3 Enemizer support 2019-07-11 20:39:08 -04:00
Bonta-kun 1a62b1da28 Multiworld core implementation By Bonta0
Does not include the server/client code or the rom writes
specific to it. Indeed it cannot write multiworld roms at
all right now, pending addition future updates to support
the official ALTTPR Multiworld client.

Includes some GUI changes by Alaszun

Co-authored-by: Alaszun <koelze@google.com>
2019-07-11 20:39:08 -04:00
AmazingAmpharos 428862e8ac
Update ROM header naming
Just a version number fix I missed... two versions in a row.
2019-04-30 18:03:57 -05:00
AmazingAmpharos e52cc8e228 Add Link's face to a sign
Link's face is supposed to be on the sign north of his house. It was missing in error; this fixes that. I believe this is the last thing needed for release.
2019-04-30 10:14:55 -05:00
AmazingAmpharos f4a4e775f9 Last Text Tuning
This just takes minor advantage of the new pagebreak feature to make my pal the grass man have nicely formatted text.
2019-04-30 02:50:05 -05:00
AmazingAmpharos 3d2ae7d710 Most remaining changes for release 2019-04-29 16:11:23 -05:00
AmazingAmpharos ab69ee4188 Random heart colors, typo fix
This fixes a typo in which a helpful hint referring to Thieves' Town would erroneously refer to it as Thieves' Tower. Additionally, the heart color selection now supports random which will randomly choose between the other four presented options. This random feature is also supported by the adjuster.
2019-04-15 14:28:14 -05:00
AmazingAmpharos 0cd86c9a61 Updated hint text
Hopefully these text changes will make the hints less cryptic for more users.
2019-04-10 17:03:01 -05:00
AmazingAmpharos 62df55242a Part 1 of Hint Improvement
This causes items to use clear, specific names instead of the pedestal style ambiguous names. This also randomizes the order of the two items listed in the hints for Mire left and Swamp left. Part 2 is going to be a substantial number of changes/improvements to location names.
2019-04-08 20:11:33 -05:00
AmazingAmpharos 6294d5f831
Fix bug with Swamp hint and remove some debug code 2019-02-21 00:22:46 -06:00
AmazingAmpharos 91bee4f1b9
The rest of the helpful hint system
This should now work fairly completely. I've added the IR's junk hint text, updated the base ROM to v30, added a checkbox to the GUI/option to the command line to control the hint system, and fixed a bug in the previous upload that listed Skull Woods final erroneously in two arrays. I also now shuffle the Silver Arrow locations before hinting at the first one (so if multiple Silver Arrows are in a seed, all of them are equally likely to be the one Ganon hints at) and now call out "Castle Tower" in hints as a unique location and not as "Hyrule Castle" (what was I thinking on that?).
2019-01-23 03:04:42 -06:00
AmazingAmpharos b2defa664d
Hint system prototype
The junk hints still need filled in. For now, they're just clones of the Tavern Man hints. Also I haven't really tested this at all beyond verifying it runs and the ROM it makes boots. That needs to be addressed of course.
2019-01-20 01:01:02 -06:00
Kevin Cathcart 54926a17f4 Additional v30 updates 2018-09-26 17:34:15 -04:00
Kevin Cathcart d68a0865c8 Fix awful naming of the write_int## methods 2018-09-26 13:39:26 -04:00
Kevin Cathcart 5539143f00 v30 updates 2018-09-22 22:51:54 -04:00
Kevin Cathcart b259c10d27 Minor bug fixes and other updates 2018-09-16 12:55:49 -04:00
Kevin Cathcart 553700e56b Update Text 2018-09-16 11:48:00 -04:00
Kevin Cathcart 1f16e17583 Fix empty write issue 2018-09-16 11:48:00 -04:00
Kevin Cathcart 56f8f9b176 Change index of Sahasrahla post item get text 2018-09-16 11:48:00 -04:00
Kevin Cathcart 3c19ea33e9 Fix triforce text border
Update some text ids
2018-07-14 20:46:42 -04:00
Kevin Cathcart a9cdc28350 Import text table, and move text to text table 2018-04-21 14:02:42 -04:00
Kevin Cathcart 77854568ca fix stun item 2018-03-29 22:07:05 -04:00
Kevin Cathcart 48f08c70d7 Overflow progressives no longer become triforce pieces
Also commir a change that  was supposed to be included a few days ago.
2018-03-29 22:02:01 -04:00
Kevin Cathcart 74c50cc70e Add the auto auto-equip silvers at ganon feature
Used in easy, and to avoid a minor bug that can occur in retro
2018-03-24 13:45:48 -04:00
Kevin Cathcart 28970c8649 Bottle Merchant retro fix 2018-03-23 18:26:58 -04:00
Kevin Cathcart 9bd9bb4f93 Shop implementation
Also a few retro mode fixes
2018-03-18 21:01:45 -04:00
Kevin Cathcart 3fd2dc662a Merge remote-tracking branch 'aa/Dev' into Dev 2018-03-17 13:04:14 -04:00
AmazingAmpharos f701aefa28
More of Retro Mode
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.
2018-03-15 16:23:02 -05:00
AmazingAmpharos 7ebe4f9d93
High difficulty updates
Should implement the myriad changes v29 will have to Hard+. This assumes silvers do not exist in Expert which is ambiguous.
2018-03-14 13:30:11 -05:00
Kevin Cathcart a12e04866d Refactored code into classes for clearer grouping 2018-03-10 18:47:54 -05:00
AmazingAmpharos c5b62c9b93
Version number to satisfy msi requirement
Apparently we are required to always have three distinct numeric fields. Hilarious.
2018-03-03 12:29:52 -06:00
AmazingAmpharos 52300e8c85
Update version number and logic hash 2018-03-03 12:24:32 -06:00
Kevin Cathcart e61dab6578 Fix bug where fairy could steal bow
and only return a Red Bomerang
2018-03-02 19:07:55 -05:00
Kevin Cathcart 20028e5743 base rom update 2018-03-02 00:30:10 -05:00
Kevin Cathcart faeae273ca Update base rom 2018-03-01 21:53:46 -05:00
Kevin Cathcart bf69107ffd Switch to new QuickSwap 2018-03-01 21:46:23 -05:00