Commit Graph

112 Commits

Author SHA1 Message Date
compiling ca1740121e Reduce mandatory exits for OWG logic to only those that cannot be reached by glitches 2020-06-13 19:12:01 +10:00
compiling a115f4115f
Remove crossworld connections from dungeonsfull (#97)
* Stop inverted dungeonsfull from generating crossworld dungeon connections.

* Inverted dungeonsfull fix - Force reusing an existing cave if there are not enough entrances to use a new one.

* Enhance mandatory exit logic to ensure they do not block themselves, and also handle boundary conditions that often occur in inverted dungeonsfull

* Split invalid connections into normal and inverted
2020-05-25 16:01:43 +02:00
Fabian Dill b2e20be077 Hints now contain ER info 2020-05-18 05:40:36 +02:00
Fabian Dill 1caf4e563d name missing shuffle 2020-05-14 01:21:09 +02:00
compiling 195f6c86d2 Replace world exploration with a faster algorithm - use BFS and keep track of all entrances that are currently blocked by progression items 2020-05-10 19:27:13 +10:00
compiling 41af9765aa Require flippers for returning to dark lake hylia from Ice Palace / Capacity Fairy. 2020-05-08 19:54:33 +10:00
compiling 3740450845 Require moon pearl and flippers to exit the Waterfall of Wishing cave in inverted. 2020-05-07 18:58:57 +10:00
compiling 441f59d6ea Refactor OWG rules to keep them separate from no glitches.
Add logic for superbunny access to Sahasrahla's closet (with boots)
Add logic for superbunny through Two Brother's House (with boots)
Fix superbunny logic for spiral cave and mini moldorm cave - requires a sword
Add logic for waterwalking into Waterfall Cave
Add clip to Ice Palace entrance (requires boots, pearl and flippers)
Add extra clips to inverted owg logic - PoD and Dark Lake Hylia Ledge are now in logic with just boots
Add clip to flute point 6 into inverted owg logic - some light world locations are now accessible with boots and mitts, but no pearl or mirror.
2020-05-07 18:07:53 +10:00
compiling 4851a905cf
OWG fixes (#79)
* Fix Waterfall entrance being inaccessible with the flippers.
Fix Spectacle Rock and Bombos Tablet requiring moon pearl

* Inverted - make the blacksmith, purple chest, bottle merchant and master sword pedestal accessible without the moon pearl.

* Fix moon pearl checks to avoid requiring moon pearl for mirror accessible locations.

* Dark Desert Teleporter requires the mitts

* Fix OWG bunny rules

* Fix another bunny rule bug.

* Separate superbunny cave into 2 regions.
For OWG, allow superbunny in superbunny cave with no mirror when entering from the bottom
Fix boots clip logic to desert teleporter ledge and TR teleporter
Fix mirror wrap logic for pyramid fairy
For insanity shuffle, exiting Superbunny Cave bottom is now in logic.

* Always require pearl for Swamp (Superbunny cannot do anything)

* Allow clipping into the GT entrance

* Add OWG tests from vt_randomizer

* Add some extra vanilla test cases

* Allow superbunny into the Blind's Hideout entrance.

* More moon pearl / superbunny fixes
Use the Catfish region properly, so Catfish Descent works.

* Allow superbunny into tavern
Fix inverted Kings Grave logic

* Inverted OWG tests

* Update unit tests for King's Tomb clip.

* All superbunny to spiral cave item (with sword)

* Bunny revive is not possible in Sanctuary.

* More inverted tests

* Add/fix test cases

* Fix logic for Magic Bat

* Fix merge to multiworld

* Fix Floodgate superbunny rule

* Require bunny revival for all dungeons except for Swamp/TR Main/Hera/Sanctuary, which have extra requirements

* Require a weapon for Castle Tower.

* Test case fixes

* Update test case - superbunny into Kakariko Tavern is in logic
2020-04-28 17:34:30 +02:00
Fabian Dill 95d51d48bf Merge branch 'pull/23'
# Conflicts:
#	BaseClasses.py
#	EntranceShuffle.py
#	ItemList.py
#	Mystery.py
#	Rules.py
2020-04-08 15:07:19 +02:00
Fabian Dill 94e5b5962f Merge branch 'pull/58' into compilingERupdate
# Conflicts:
#	EntranceShuffle.py
#	Rom.py
#	Rules.py
2020-04-05 19:06:15 +02:00
compiling 11a91b96c6 Set inverted blacksmith to require light world access using the mirror or a portal (via starting in Link's House / Old Man Cave doesn't work).
Set the flag allowing the blacksmith to visit Link's House in simple inverted shuffle.
2020-04-05 21:12:26 +10:00
compiling b8f81ade67 Remove Spectacle Rock Cave ledges from inverted bomb shop locations, not normal bomb shop locations.
Update inverted bomb shop tests
2020-04-05 21:12:25 +10:00
Fabian Dill f89c28d5c2 Merge branch 'master' into pull/58
# Conflicts:
#	AdjusterMain.py
#	BaseClasses.py
#	EntranceShuffle.py
#	Gui.py
#	InvertedRegions.py
#	ItemList.py
#	Main.py
#	Plando.py
#	Rom.py
#	Rules.py
2020-04-04 09:16:39 +02:00
compiling e01983c494 Remove bad locations from inverted bomb shop locations (Spectacle Rock ledges and Desert East are inescapable and Bumper Cave Top is doubled in insanity). 2020-03-17 23:23:14 +11:00
compiling 49e48eba1d Add warp between Waterfall Cave and Lake Hylia into inverted logic. 2020-03-14 13:37:21 +11:00
compiling 0f3c9d62a6 Fix standard mode with default connections 2020-03-03 19:05:36 +11:00
Fabian Dill d49bb10534 remove unused checks (as indicated by new type annotations) 2020-03-03 00:17:36 +01:00
qadan 52982a5e13 kings grave area, waterwalk regions 2020-02-26 15:18:49 -04:00
qadan 4707c36007 invalid glitch 2020-02-12 13:46:43 -04:00
qadan 3533f8cbb3 non required exits 2020-02-11 14:11:50 -04:00
qadan f40516d04f missing cave 45 2020-02-11 01:57:36 -04:00
qadan 5c87e148c6 forgot a thing 2020-02-11 01:31:23 -04:00
qadan 722dfa2b69 fixing up inverted too 2020-02-11 01:14:57 -04:00
qadan aa569d1c3d rework as region connectors (inverted will be broken) 2020-02-10 23:54:35 -04:00
qadan e919b2b066 accidentally a thing 2020-02-08 12:31:24 -04:00
qadan c20fe90c0f maybe broken stuff oh boy 2020-02-08 12:29:55 -04: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