Commit Graph

51 Commits

Author SHA1 Message Date
Fabian Dill 93ecf5988b implement secrets.SystemRandom() for --race 2020-07-14 07:01:51 +02:00
Fabian Dill 57fe16ab60 remove special rules for pinball room 2020-07-09 16:16:31 +02:00
Fabian Dill d3d68fcba2 Rename Escape Dungeon to Hyrule Castle by vote on discord 2020-06-24 16:22:49 +02:00
caitsith2 fb0787a76d Place skull woods or universal key into generated item pools as appropriate. (and pop skull woods small key if explicitly placed in pinball chest). (5 rupees instead of universal key on hard/expert pool) 2020-06-10 13:41:28 -07:00
Fabian Dill 97af751010 beautify if tree 2020-06-10 21:29:42 +02:00
caitsith2 ec1c7601b4 Fix skull woods for Location / Item players. 2020-06-10 12:23:33 -07:00
Fabian Dill 326262203f remove pinball key if keyshuffle 2020-06-10 06:17:10 +02:00
Fabian Dill 7d9d6b3ca1 only force pinball key in non glitched logic and non retro 2020-06-10 06:11:56 +02:00
jmabry0163 2c1ac0903a
Update Dungeons.py (#72) 2020-04-25 05:51:40 +02: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 ab28858a8f Individual settings: mode 2019-12-16 16:54:46 +01:00
Bonta-kun fc9d1b501b Replace keysanity with map/compass/key/bk shuffle 2019-12-13 22:37:52 +01:00
Bonta-kun 6d50e905e1 Fix beatable-only prizes and dungeon items in multiworld 2019-12-11 11:37:05 +01: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
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 dcca15eda7 Avoid changing spoiler file for single world 2019-07-13 18:11:43 -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 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 a57918cf05 Update dungeon order 2018-03-24 13:45:47 -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 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 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 e3ac7ee4a6 VT28 update: Keysanity has dungeon items in normal item pool 2018-01-02 21:19:18 -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
AmazingAmpharos ad047e6c9c
The last of the renaming
Courtesy of KevinCathcart
2017-11-11 18:03:42 -06:00
AmazingAmpharos 168fd83c97
Fix for not placing Maps and Compasses
It turns out the previous rewrite actually disabled that flag completely in the v26 algorithm. This makes it work again (per KevinCathcart)
2017-11-10 04:12:49 -06:00
Kevin Cathcart 24b0c4a132 Rename forgotten location 2017-11-08 19:23:21 -05:00
Kevin Cathcart cdf04b8a45 The Great Renaming
This is the Great renaming. Renaming to match V27. I've renamed pretty
much all Item locations to match, with a small number kept deliberatly
deferent for clarity.

There is probably more renaming that should be done at the Enterance and
Region levels, but that can be done later.
2017-11-04 23:54:35 -04:00
Kevin Cathcart 623e6637ff Update logic for Skull Woods and Agahnim's Tower to support key-sanity
Skull Wood's various chests have been split into real locations that
reflect key requirements.
2017-11-04 23:52:56 -04:00
Kevin Cathcart fcc97cef81 Tweak fill algorithm to more closely match VT26 2017-11-04 23:52:56 -04:00
Kevin Cathcart dcc34bd39f Move item fill and distribution functions to new file 2017-11-04 23:52:56 -04:00
Kevin Cathcart d78a3ce7a5 Add VT26 style shuffling of dungeon items
Also adds new VT26 algorithm type that uses this, and makes it the default.
the new type also includes the GT junk items randomization.
2017-11-04 23:52:53 -04:00
Kevin Cathcart 2e9814882e Refactor dungeon and item classes to support VT26 style dungeon item shuffling 2017-11-04 14:28:48 -04:00
LLCoolDave 271571d01e Improve small key placement algorithm to be able to handle more world shuffles without falsly claiming impossible scenarios. 2017-08-05 17:51:38 +02:00
LLCoolDave 52835bba5c Fix up some key rules. 2017-08-05 17:50:47 +02:00
LLCoolDave b6c4bf6bd6 Refactor spoiler generation for VT integration. 2017-07-18 12:44:13 +02:00
LLCoolDave ef162aae54 Fill SP keys last by default (only trailed by whatever is behind gtower) to deal with Dam being behind pyramid fairy (ensure crystal 5 and 6 have keys placed before SP gets filled) 2017-07-17 23:16:15 +02:00
LLCoolDave 4b44a796df All state does not contain crystals or pendants precollected. Key placement needs to collect crystals to consider them available for placing things. If a dungeon is shuffled behind Ganon's Tower entrance, its keys are placed last to ensure that all crystals are collectable before this point. 2017-07-17 22:26:15 +02:00
LLCoolDave 4ec20fa997 Fix up TRock key rules. Should be good enough, may still prevent some valid fire rod/cane of somaria placements with shuffled entrances, but not a big deal I hope. 2017-06-23 21:32:31 +02:00
LLCoolDave 197b341940 Some fixups to restrictive algo 2017-06-23 19:07:34 +02:00
LLCoolDave a73dba985f Make keys, pendants, crystals and agahnim fights "events", which we sweep for everytime we have new unlock potential. Simplifies searching for items significantly. 2017-06-17 14:40:37 +02:00
LLCoolDave d70e88d8f3 Fixed some typos. 2017-05-26 18:40:04 +02:00
LLCoolDave e4e0304b40 Refactored Locations, added heart beep setting. 2017-05-25 17:47:15 +02:00
LLCoolDave bbd52c780d Refactored Items to one concise table and factory. Added credits texts. 2017-05-25 15:58:35 +02:00
LLCoolDave 0a23b5c1de Fix Typo in Agahnim's Name. 2017-05-21 16:32:34 +02:00
LLCoolDave 4d6257f872 Dungeons: Place TRock keys first as it's the only dungeon that has requirements about reachability of one of its entrances, which may lead to circular issues if that entrance is blocked through a dungeon that hasn't had its keys placed yet. 2017-05-20 14:05:15 +02:00