Commit Graph

63 Commits

Author SHA1 Message Date
aerinon
48494a09ba TR Crystal Maze adjustments
Fixed key door candidate finder to stay within own dungeon
Standard mode support added
Added missed Pre-moldorm chest
Started work on new key logic analyzer
2019-11-19 10:50:44 -07:00
aerinon
7a87ef8520 More ER support added 2019-11-15 16:36:27 -07:00
aerinon
69c4dc17fd Merge branch 'MinorFixes' into DoorDev 2019-11-15 14:33:19 -07:00
aerinon
093746a0c7 Ganon's Tower added
Some key logic work
2019-11-15 13:50:31 -07:00
aerinon
2ad03af1da Removed Pot Circle from drops (it has unique regions)
Fixed a door in mire
Adjusted stair camera in Swamp
2019-11-14 06:39:27 -07:00
aerinon
77667668c9 Drop entrances not part of dungeon gen 2019-11-12 06:49:52 -07:00
aerinon
5718018982 Added Turtle Rock.
Fixed clock -> process_time for Python 3.8
Fixed interior blocked doors
Vanilla logical connections for Ice Cross (Push block)
Dungeon entrance enhancement for TR, Skull, HC (Standard)
Kill on invalid dungeons during key door shuffle
Key logic improvements (Smallkey restrictions, Logic Min/Logic Max for key doors, Big Chest doesn't count for small keys if BK not found yet)
Key door candidate now accounts for "overworld" dungeon traversal
Path checking added some Crystal Logic (Blind's Cell to Boss mostly)
Kill on dungeon gen if taking too long
2019-11-07 12:16:13 -07:00
aerinon
f8abf1fe81 Implemented mire 2019-11-05 11:39:13 -07:00
aerinon
bad5fff022 Skull 3 entrance fix - could be refined
Thieves Town region addition - couldn't reach certain doors from elsewhere.
Ice Palace trap doors and fixed a couple broken staircases
2019-11-04 13:04:26 -07:00
aerinon
19e9738c42 Merge branch 'MinorCleanup' into DoorDev
# Conflicts:
#	DoorShuffle.py
#	Doors.py
2019-11-01 16:18:37 -06:00
aerinon
e08bf3776a Ice Palace added
Dynamic logical doors added for ice cross w/ push block
Improved crystal switch pathing
Minor update to PoD
2019-11-01 16:13:23 -06:00
aerinon
90c3368f9d Revamped dungeon generation
Revamped key logic generation
Prevent key floods in playthrough/can_beat_game checks
2019-10-31 11:09:58 -06:00
aerinon
050ae66bf6 Thieves Town 2019-10-25 13:50:37 -06:00
aerinon
b27dd2f64f Finishing up interior doors for Eastern 2019-10-24 22:45:03 -06:00
aerinon
be03fc214d Adding some more interior doors to HC and Eastern 2019-10-22 23:00:07 -06:00
aerinon
beb15951a0 Skull Woods added
Fixed polarity for stairs
Some swamp fixes
Prep work for dungeons that can require traversal through overworld - like skull woods
Special case for pinball room so it can be in Skull 2 or Skull 1
2019-10-17 16:35:13 -06:00
aerinon
a0fdb25b43 Spirals for Swamp
Swamp Logic
Door definition cleanup
Stabs at Swamp events and Crystal Switches
2019-10-11 16:53:46 -06:00
aerinon
87ff92ba7c Swamp regions and doors 2019-10-09 16:46:26 -06:00
aerinon
2ced48c691 Incorporated key logic prototype in the rules.
Relaxed key_layout_validation more (allows keys to lead to more keys)
2019-10-08 16:57:27 -06:00
aerinon
5cc4fdfa1f Added PoD
Added Logic for Desert,Hera,Aga,PoD
Revamped Logic for HC, Eastern
2019-10-03 09:24:27 -06:00
aerinon
5eb0e6e379 Aga Tower preliminary check in 2019-09-20 21:24:46 -06:00
aerinon
6534aaecc6 Tower of Hera Door
Logical Doors
2019-09-19 14:40:16 -06:00
aerinon
a38ef2820a Incremental improvements to algorithm.
Can get stuck in loop because it ran into a dead end only option early, not sure how to avoid that.
Also, some landings are considered outstanding doors, that shouldn't happen.
2019-09-16 22:10:25 -06:00
randall.rupper
49e782b050 Intermediate commit to switch from work to home 2019-09-16 21:12:55 -06:00
randall.rupper
97c225ab2f Desert Regions, Doors, and fixes associate with the new stuff
Updated generation algorithm to use new Sector object
Moved Dungeon items back for now
Created region lists for ease of grouping
2019-09-13 16:38:23 -06:00
randall.rupper
ad3770e534 An initial commit.
ASAR asm patch included with test tables.
Eastern and Hyrule Castle regions created from a while ago.
Currently broken because boss prizes are unreachable.
2019-08-22 12:03:55 -06: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