Commit Graph

7245 Commits

Author SHA1 Message Date
Kevin Cathcart 990eab4e55 Fix broken retro mode 2019-08-17 15:13:46 -04:00
cassidoxa 46be1fb482 Fix Old Man Cave Exit region connections 2019-08-16 23:00:17 -04:00
cassidoxa c042442d98 Pre bomb TR doors in inverted 2019-08-16 23:00:17 -04:00
Kevin Cathcart 0377d6b7bc Finish support for variable crystal requirements
Note: We still do not have anything to reveal required Ganon crystal
counts in inverted mode. For non-inverted it is revealed at a sign on
the pyramid, which might be less than ideal.
2019-08-11 08:55:38 -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 ef7c3d4f06 New Item/Location accessibility options
Replaces existing check_only_beatable, which became the "none" option.

TR can run out of key placement options, with the 100% locations
option, but I really don't care enough. It exists mostly for people who
want to 100% a seed, or to point to if they ask about keys locked behind
themselves.
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 6d5a0a004d Use a proper multiset for progression items
This can cut generation times in half in some cases
2019-07-13 18:17:16 -04:00
Kevin Cathcart dcca15eda7 Avoid changing spoiler file for single world 2019-07-13 18:11:43 -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
Kevin Cathcart 67a5b7e105 Don't require the Gui unless we are actually using it 2019-07-11 20:39:08 -04:00
Kevin Cathcart 759c1a5686 Optimize simplified caching system 2019-07-11 20:39:08 -04:00
Kevin Cathcart d6ff27f0a5 Reinstate the state cache system for playthough generation
Fixed the issues in can_beat_game that required me to turn it off.
2019-07-11 20:39:08 -04:00
Bonta-kun ea07c3d9c0 Update sprites 2019-07-11 20:39:08 -04:00
Bonta-kun 16abf033c3 Enemizer support 2019-07-11 20:39:08 -04:00
Kevin Cathcart 0b9e144f8e Minor fixes and clarifications for Bonta's Multiworld code 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
Kevin Cathcart d44d194de7 Switch to simpler caching system
This should speed up generating the seeds the currently take
the longest. Seems to have no impact on the average case.
2019-07-09 20:31:39 -04:00
Kevin Cathcart 54c53ea07e
Fix breakage from PyInstaller 3.5's release 2019-07-09 20:26:45 -04:00
AmazingAmpharos 390bd1f561
0.6.2 Release
0.6.2 Release
2019-04-30 18:17:36 -05: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 e89f9454f9 README update and hint reference
The few new features are properly documented in the README now. The included text file is a hint reference designed to help players understand the helpful hint system implemented in the ER.
2019-04-30 10:48:47 -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 b986707fd0
Merge pull request #32 from KevinCathcart/Dev
Clean Up Update History
2019-04-29 15:53:15 -05:00
Kevin Cathcart fd1d2ef072 Add support for pagebreak text command 2019-04-27 12:52:19 -04:00
Kevin Cathcart 3a6247b8fe Update sprites 2019-04-27 12:00:49 -04:00
AmazingAmpharos d6babfe222 Fix Fairy Ascension as bunny
A longstanding issue is that Fairy Ascension Cave has been treated as a simple two way connector, but in reality bunny cannot "logically" go through the cave in reverse as it requires lifting some pots with super bunny. This super bunny state is effectively unavoidable and can really only be lost if you have Boots and foolishly bonk before lifting a pot, but for logical consistency fixing this is the right thing to do. The logic should now correctly see that the cave is a two way connection with no particular item requirements in general but that the reverse direction isn't bunny transversable.
2019-04-22 16:41:33 -05:00
AmazingAmpharos 262e0e43c3 Fix GT Map Chest requirement
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.
2019-04-18 16:30:08 -05:00
AmazingAmpharos 4d16559fae TR Logic Fix
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.
2019-04-18 16:11:11 -05:00
AmazingAmpharos 7b56932e31 TR Key Logic Update
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.
2019-04-15 19:17:44 -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 a89c01f917
Fix inconsistent gen and fix retro
This fixes two issues:

-The same seed number was producing (subtly) different seeds. This was caused by misplaced random calls in the changes to the entrance shuffle; these calls to the rng were happening before the random seed was decided. Re-arranging that function should solve this. Thanks to hycutype for both noticing this and providing a solution.

-Retro mode was broken with the addition of hints. This was caused by the retro exclusive regions not having defined hints (for reasons I truly question myself over, they are defined in ItemList.py...) and then further by an obscure function in copy_world that builds the playthrough and deals with the sword cave not being updated for the new three parameter regions (region objects used to only require two parameters). This has been fixed.
2019-02-22 05:59:46 -06:00
AmazingAmpharos 6294d5f831
Fix bug with Swamp hint and remove some debug code 2019-02-21 00:22:46 -06:00
AmazingAmpharos 25976e9f44
Merge pull request #31 from TheExcalabur/must_exits
Must-exit cave fixes
2019-02-21 00:08:25 -06:00
Devin H. Smith 6e8b60817c Copying logic from local repo for debiasing connectors to must-exit locations 2019-02-03 23:03:02 +00: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
AmazingAmpharos ffae1f2333
v30 material
v30 material
2018-11-27 20:38:10 -06:00