Commit Graph

86 Commits

Author SHA1 Message Date
Fabian Dill d49bb10534 remove unused checks (as indicated by new type annotations) 2020-03-03 00:17:36 +01:00
Bonta-kun 0de0467b5c Inverted: connect lake hylia island to lw 2020-01-01 18:12:23 +01:00
Bonta-kun 7ccab4bf44 simple inverted: update old_man_entrances after links house shuffle 2019-12-28 01:10:52 +01:00
Bonta-kun 52b05c0b4f dont touch the smith single cave doors again please 2019-12-27 19:08:04 +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 ec1b9eca43 Individual settings: shuffle 2019-12-16 18:24:34 +01:00
Bonta-kun ab28858a8f Individual settings: mode 2019-12-16 16:54:46 +01:00
Bonta-kun 4cf7412b51 EntranceShuffle: remove default castle connections to light world 2019-12-10 20:00:56 +01:00
AmazingAmpharos e6793e36f2
Inverted logic improvements
This reformats the Rules.py file to no longer have quite so many totally redundant rules between inverted and non-inverted. In the process, it fixes an insanity only issue wherein the magic bat in inverted was set to always require Pearl (only in insanity can this not be true). Additionally, the inverted super bomb rules are completely reworked to be a lot more accurate (including preventing Desert Palace (East) from having the bomb shop at all in inverted insanity) and an obscure case involving non-inverted insanity super bomb return has a logic fix.
2019-10-01 03:17:40 -05: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
cassidoxa d393657eac Fix mixup of DM Return caves East and West 2019-09-02 15:36:30 -04:00
cassidoxa 3d64e2bef3 Put player on HC ledge after dying to Ganon in inverted 2019-08-24 10:14:57 -04:00
Kevin Cathcart 72d4e6c76a Fix standard mode for madness+ 2019-08-17 15:13:47 -04:00
cassidoxa 46be1fb482 Fix Old Man Cave Exit region connections 2019-08-16 23:00:17 -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 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
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 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 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
Devin H. Smith 6e8b60817c Copying logic from local repo for debiasing connectors to must-exit locations 2019-02-03 23:03:02 +00:00
Kevin Cathcart 9bd9bb4f93 Shop implementation
Also a few retro mode fixes
2018-03-18 21:01:45 -04:00
Kevin Cathcart e100b5cd93 Rename Very misleading entrance/region 2018-03-02 19:07:55 -05:00
Kevin Cathcart 0c486593c5 Fix performance 2018-03-01 21:34:19 -05:00
AmazingAmpharos caffd7e34c
GT filler and smith locations fixes
GT now pre-fills with junk if it's in the vanilla location regardless of the state of the shuffleganon flag.

The smith is now allowed to be in multi-entrance cave locations in the appropriate shuffles. A duplicate Old Man Cave (West) from bomb shop multis was also removed.
2018-02-24 22:42:18 -06:00
Kevin Cathcart eb8cff4d5a Model Link's house and Houlihan room
This is mostly to have all the interesting exits actually included in
the source
2018-02-24 14:22:36 -05:00
AmazingAmpharos 14c0b39af3
Sanctuary at pyramid drop in crossed
This should enable Sanctuary and the back of escape to enter Ganon's slot in the crossed shuffle only. I also removed a small bit of code that no longer did anything (the code that serviced Agahnim's Tower always being in LW back when that was necessary) and cleaned up a lot of the comments in this file to more accurately reflect the modern environment.
2018-02-20 14:57:03 -06:00
AmazingAmpharos deccff249b
New restricted shuffle
This implements the new restricted shuffle that does not respect the difference between single and multi-entrance caves. Restricted_legacy is present for the old restricted behavior. Full_cross_worlds is renamed to Crossed, and all listing of shuffles is given a consistent order that pushes all the _legacy variants to the back.
2018-02-20 14:34:39 -06:00
AmazingAmpharos 7535ee7b62
fix broken insanity mode
Fix broken insanity mode
2018-02-19 21:18:19 -06:00
Kevin Cathcart 141b4199e9 Fix broken insanity mode 2018-02-19 22:15:21 -05:00
AmazingAmpharos 9c9636316e
Regionalize King's Grave
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.
2018-02-19 20:30:56 -06:00
Kevin Cathcart e490a3e224 Add new insanity mode 2018-02-18 14:52:34 -05:00
AmazingAmpharos 5e743e1c33
Powder patch fixes
Last quick and dirty fix push was a little too quick and dirty. My bad.
2018-02-11 22:35:02 -06:00
AmazingAmpharos 3471a9394a
Regionalize some West Dark World stuff
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.
2018-02-11 22:04:58 -06:00
Kevin Cathcart 165feee1cd Dedupe 2018-02-10 18:12:49 -05:00
Kevin Cathcart 6b7e2d86f1 Regionized Northeast Dark World 2018-02-09 01:12:11 -05:00
AmazingAmpharos bded86957d
Desert bunny fix and super bomb logic updates
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.
2018-02-08 04:40:16 -06:00
Kevin Cathcart 39f177dfa3 Fix incorrect rules for death mountain entrance cave
also some related fixes to super bomb logic
2018-02-06 23:21:04 -05:00
Kevin Cathcart cd18be71d9 Add new full_cross_worlds shuffle
Untested, seed generates, but might be horrifically broken.
2018-02-06 19:18:14 -05:00
Kevin Cathcart f6f444a1d8 Add Hera as old man entrance to all legacy modes 2018-02-06 19:18:13 -05:00
Kevin Cathcart a0237e0863 Update mixed cave shuffle
It now shuffles super bomb into multi-entrance caves
(The list of entrances that owuld be blacksmith safe are marked, but
they are not safe because dwarf will not enter them, we may patch this
eventually)

Also include a missing dungeon region in the hyrule castle dungeon
definition

Include Tower of Hera as a valid old man location in new Full shuffle
2018-02-06 19:18:12 -05:00
Kevin Cathcart 8672099a3c Add new Full Shuffle
Add stubs for other new modes
2018-02-06 19:18:12 -05:00
Kevin Cathcart 3becad7c10 Add exit data for single exit caves
This data was imperically determined by reading the cached memory values
that the game made when entering each cave
2018-02-06 19:18:11 -05:00
Kevin Cathcart 19f09af382 Fix accidentally swapped skull woods holes 2018-02-06 19:18:11 -05:00
Kevin Cathcart 6acad0c037 Re-implement multi-entrance cave patching
Make it function in a way that will be compatible with placing them in
single entrance doorways.
2018-02-06 19:18:11 -05:00
Kevin Cathcart d29d298d1f Implement Fake World fix
Fixes the issues caused by a light world escape with dark world hyrule
castle
2018-01-25 22:04:12 -05:00
Kevin Cathcart e002672503 Critical fixes for bunny logic 2018-01-18 01:38:28 -05:00
Kevin Cathcart 823657bc26 Style fixes
A bunch of style fixes. Mostly white space and style import order
tweaks, but a few other stylistic changes are present too.
2017-12-17 17:05:39 -05:00
Kevin Cathcart 6bd0664b7f Preliminary bunny logic 2017-12-14 20:09:02 -05:00