Commit Graph

243 Commits

Author SHA1 Message Date
compiling 444dd5b46b Modify TR key rules:
* Front to Middle requires 3 keys, or only 2 if the back is inaccessible
* Middle to Front requires 4 keys, or only 2 if the back is inaccessible and the TR Big Key is in the front
* Back to Middle requires 0 keys
* Middle to Back requires 3 keys
TR will violate 100% locations accessibility if it is only accessible via the middle section - this is required to have enough keys for the rest of the dungeon.
2020-04-30 00:19:49 +10:00
compiling 0924a2461a dungeonsfull logic fix - prevent the desert prize from being required to reach desert main (unless keysanity allows access to the keys). 2020-04-30 00:19:48 +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 c5fbaeb51c re-rename all ocarinas and fix one inverted rule that way 2020-04-26 00:47:57 +02:00
Fabian Dill 2c32010203 Merge branch 'pull/66' into owg_test 2020-04-15 16:59:47 +02:00
compiling 5e1df5dc36 Remove mirror clips from Inverted / No Glitches 2020-04-15 21:35:27 +10:00
compiling 9341546159 Set TR key rules last, so that entrance requirements are known. 2020-04-15 20:24:18 +10:00
Fabian Dill 659cfd5c3f slightly reduce cache-memory use of OWG rules to recoup some of the lost performance to additional logic rules 2020-04-10 21:13:16 +02:00
Fabian Dill 5254b5588e fix two region rules 2020-04-10 20:53:19 +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
Fabian Dill 42f98da399 remove post-merge duplicate rules 2020-04-04 09:23:10 +02: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 6003d40ce2 Update inverted big bomb rules.
Add checks that will not allow unexpected entrances to get east dark world logic.
2020-03-19 21:54:13 +11:00
compiling e8ee3de083 Mire key logic update - it is impossible to access the Map Chest key door without hitting a colour switch (or clipping through a rail). 2020-03-15 21:03:43 +11:00
compiling 5c0d34a65d Require a weapon for Castle Tower. 2020-03-15 11:04:08 +11:00
compiling 49e48eba1d Add warp between Waterfall Cave and Lake Hylia into inverted logic. 2020-03-14 13:37:21 +11:00
compiling 6197b915a5 Fix inverted rule for old man house. 2020-03-14 00:39:29 +11:00
compiling 583380cad6 Support vanilla key layout in GT (copy item rando logic - firesnake room needs 2 keys if it contains a small key). 2020-03-09 09:59:54 +11:00
qadan 52982a5e13 kings grave area, waterwalk regions 2020-02-26 15:18:49 -04:00
qadan ea4340b796 fixing mirror bunny stuff 2020-02-19 19:06:48 -04:00
qadan 3015133abd some copypasta goofs 2020-02-19 10:18:09 -04:00
qadan 2b2b97d18a fixing bunny revival and other bunny things 2020-02-18 20:28:33 -04:00
Fabian Dill 95aea8c4b4 rename ocarina to flute. 2020-02-17 10:08:03 +01:00
qadan 43801e8110 you goose 2020-02-12 19:50:23 -04:00
qadan 3d021356b8 hera and tr superbunny logic 2020-02-12 19:48:36 -04:00
qadan 3533f8cbb3 non required exits 2020-02-11 14:11:50 -04:00
qadan 720ce8c492 fixing dungeon bunny revive 2020-02-11 13:01:47 -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 8db19e544e bomb jump rules, don't redo lamp rules 2020-02-10 09:55:06 -04:00
qadan 3ba3fcf2db dm room chest moved to global. ensuring base rules for owg 2020-02-10 01:02:27 -04:00
qadan ff3b879a02 more idiomatic, bugfix too 2020-02-10 00:38:55 -04:00
qadan 8d5fc3051e adding to inverted 2020-02-09 18:57:55 -04:00
qadan 50687131e8 oh yeah 2020-02-09 18:53:22 -04:00
qadan 36333b3a49 not sure where this went 2020-02-09 18:52:07 -04:00
qadan a5f585ce7c fix bunny logic 2020-02-09 18:43:15 -04:00
qadan 79339a5fdf thats not where that is 2020-02-09 15:14:15 -04:00
qadan 08d908b9fc fixing bunny dmd stuff 2020-02-09 15:06:55 -04:00
qadan a8a12d14ba wip stuff 2020-02-09 13:54:59 -04:00
qadan e4ab046027 ensure inverted runs 2020-02-08 19:00:21 -04:00
qadan c6cf8c1ebe fix bunny rules n stuff 2020-02-08 15:18:17 -04:00
qadan c20fe90c0f maybe broken stuff oh boy 2020-02-08 12:29:55 -04:00
qadan bcb509937a more dmd stuff 2020-02-07 15:15:30 -04:00
qadan fd4f91144b probably still missing things 2020-02-07 13:13:13 -04:00
qadan 96c07eccc2 expanding some rules 2020-02-06 17:17:13 -04:00
qadan 9521a0dbc9 cleaned up bunny dw, bunny revival 2020-02-06 14:46:15 -04:00
qadan d22ccdedb3 some changes 2020-02-06 12:20:50 -04:00
Fabian Dill 9659d01ed4 fix up some ohko stuff 2020-02-04 11:13:42 +01:00
qadan 4b7694b50f updates 2020-01-28 18:19:07 -04:00
qadan 348887ce92 merge conflicts 2020-01-15 19:37:39 -04:00
qadan 277d3ed713 wheee 2020-01-15 19:25:36 -04:00
qadan c677a875f2 accidentally another thing 2020-01-09 14:43:21 -05:00
qadan 62e84dfafd entrances and locations 2020-01-06 13:48:14 -05:00
qadan f151b05b49 accidentally a thing 2020-01-06 12:53:38 -04:00
qadan 12c5e3a390 first pass at superbunny rules 2020-01-03 18:43:50 -04:00
qadan acce83a8d8 accidentally moved a thing 2020-01-03 04:06:00 -04:00
qadan c09fab64f8 first pass at owg logic support 2020-01-03 04:02:15 -04:00
qadan 4d631adf7b getting there ... somethings up, needs testing 2020-01-03 03:49:56 -04:00
qadan 0547606207 close to first pass 2020-01-02 23:59:28 -04:00
qadan 901b25952d owg start 2020-01-02 13:08:01 -04:00
Bonta-kun 0de0467b5c Inverted: connect lake hylia island to lw 2020-01-01 18:12:23 +01:00
Bonta-kun 41009c85c7 nologic inverted: reachable castle ledge 2019-12-28 01:12:45 +01:00
Bonta-kun 80d9fda10f Rules: allow triforce pieces to be in other players world 2019-12-18 20:56:58 +01:00
Bonta-kun 2b184d072b Rules: fix trock key logic for the big key chest "always allow" rule 2019-12-18 20:51:38 +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 d9281adc07 Individual settings: accessibility 2019-12-17 12:14:29 +01:00
Bonta-kun 642bf65843 Skip the sewers door key check in standard retro since we cannot access the shop yet 2019-12-17 00:19:47 +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 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 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
cassidoxa 7a6c22c452 Add flippers rule to East Dark World Pier in inverted 2019-12-05 19:20:29 -05: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 99a4ea17b0 Fix swordless vanilla shuffle TR keys issue 2019-09-14 10:02:38 -04:00
Kevin Cathcart 2bd2ae80de Remove obsolete comment 2019-08-25 22:35:03 -04:00
cassidoxa fd1074d58a Adjust swordless rules for inverted 2019-08-25 22:31:51 -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 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 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
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 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
Kevin Cathcart 54926a17f4 Additional v30 updates 2018-09-26 17:34:15 -04:00
Kevin Cathcart b90a381e9b Basic impl. of boss shuffle for VT site enemizer integration 2018-09-26 13:12:20 -04:00
Kevin Cathcart 5539143f00 v30 updates 2018-09-22 22:51:54 -04:00
AmazingAmpharos 7c9c3db74d
Hopefully final 0.6.1 changes
-Add no logic mode.
-Fix swordless requirement for Mothula to be less strict.
-New version number and logic hash.
-Significantly updated readme.
2018-03-25 17:21:36 -05:00