Commit Graph

53 Commits

Author SHA1 Message Date
Bonta-kun e4fef05d53 Initialize region cache in initialize_regions() and make it a 2d map for more efficient player filtering 2019-12-14 19:19:08 +01:00
Bonta-kun 55a30aa91f multiworld 2019-12-09 19:27:56 +01: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 0cd86c9a61 Updated hint text
Hopefully these text changes will make the hints less cryptic for more users.
2019-04-10 17:03:01 -05:00
AmazingAmpharos 91bee4f1b9
The rest of the helpful hint system
This should now work fairly completely. I've added the IR's junk hint text, updated the base ROM to v30, added a checkbox to the GUI/option to the command line to control the hint system, and fixed a bug in the previous upload that listed Skull Woods final erroneously in two arrays. I also now shuffle the Silver Arrow locations before hinting at the first one (so if multiple Silver Arrows are in a seed, all of them are equally likely to be the one Ganon hints at) and now call out "Castle Tower" in hints as a unique location and not as "Hyrule Castle" (what was I thinking on that?).
2019-01-23 03:04:42 -06:00
AmazingAmpharos b2defa664d
Hint system prototype
The junk hints still need filled in. For now, they're just clones of the Tavern Man hints. Also I haven't really tested this at all beyond verifying it runs and the ROM it makes boots. That needs to be addressed of course.
2019-01-20 01:01:02 -06:00
Kevin Cathcart 54926a17f4 Additional v30 updates 2018-09-26 17:34:15 -04:00
Kevin Cathcart 5539143f00 v30 updates 2018-09-22 22:51:54 -04:00
Kevin Cathcart 9bd9bb4f93 Shop implementation
Also a few retro mode fixes
2018-03-18 21:01:45 -04:00
Kevin Cathcart 3592d12bfd Convert several locations to using events
Event locations automatically get Moon Perarl requirements added, and
ensure the other referenced location is listed in the spoiler log's path
section
2018-03-18 01:39:48 -04:00
Kevin Cathcart e100b5cd93 Rename Very misleading entrance/region 2018-03-02 19:07:55 -05: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 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
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 f39886579a Add cross world bunny logic 2018-02-06 19:18:13 -05:00
Kevin Cathcart c8f1ed28ef Updates to Region tag
Modify Region taging to include a Dungeon Tag
Refactor to use helper methods to make it easier to see the types.
Add an underlying enum for storage on the region class
2018-02-06 19:18:12 -05:00
AmazingAmpharos 9af585f1aa
Typo fix 2018-01-21 20:35:31 -06:00
AmazingAmpharos 2dbd376f64
Tag regions by world
All regions now have a property for 'Light', 'Dark', or 'Inside' for future logic use.
2018-01-18 19:20:33 -06: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
AmazingAmpharos d2612342d8
A new mirror connection
This is a simple tweak adding a mirror connection between the main Light World and the Hyrule Castle Courtyard. This will very rarely come into play; it only matters in circumstances where the uncle tunnel does not instantly connect to the courtyard (some madness/insanity situations and when Ganon's tunnel is there in full and below), when the player does not have access to the upper levels of Hyrule Castle or to the pyramid, but the player does have the Mirror. This correctly acknowledges that entering the castle main gate is fully and permanently softlock proof in this situation.
2017-12-12 08:20:42 -06:00
AmazingAmpharos 97c7fdaf59
PoD mislabel/softlock fix
Two addresses for PoD item locations were reversed, causing items to be placed with incorrect assumptions. This fixes that problem.
2017-12-02 00:18:38 -06:00
AmazingAmpharos ad047e6c9c
The last of the renaming
Courtesy of KevinCathcart
2017-11-11 18:03:42 -06:00
AmazingAmpharos a3ccc051f6
Ganon at Uncle softlock fix
-From KevinCathcart, this adds a new region to the world for the castle courtyard reachable from the exit to the uncle tunnel and from the upper ledge of Hyrule Castle but not the main gate. In effect, this changes nothing if Ganon is not at the uncle passage, and if Ganon is at the uncle passage, either Mirror + pyramid access, Master Sword, or a connecting cave to the upper ledge of Hyrule Castle will be required to access the main gate. This is necessary to fix a very rare softlock in which the player could defeat Agahnim, lose access to the Hyrule Castle main gate, and make the seed impossible.
2017-11-11 15:31:37 -06:00
Kevin Cathcart 24b0c4a132 Rename forgotten location 2017-11-08 19:23:21 -05:00
Kevin Cathcart 5b3d4449c1 Whitespace fixes 2017-11-04 23:54:35 -04: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 f2ea4b6442 Implement Key-sanity
Still need to add documentation for this mode.
2017-11-04 23:52:57 -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
LLCoolDave 91bee83de1 Add Chests in Waterfall of Wishing. 2017-08-01 17:25:08 +02:00
LLCoolDave dcef154609 Move exit points of PoD, SW and TR down so you cannot get stuck in them when exiting through them before opening them. 2017-06-24 19:11:00 +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 57a6ba73c1 Zero out more door frame tables, prepare structure for proper fix once understood. 2017-06-17 13:16:13 +02:00
LLCoolDave e2b4d259d9 Add addresses and regions for pyramid and ganons tower. Not currently shuffled, but may be of interest to Plandomizers. 2017-06-03 17:09:03 +02:00
LLCoolDave d0196cbe41 Renamed some locations for clarity. Updated location hints. Still uncertain what to do with silver arrows hint. 2017-06-03 14:19:49 +02:00
LLCoolDave aebfcf9b94 Trock door fixes. 2017-05-28 15:40:59 +02:00
LLCoolDave e3a9d73ca1 Fix up bunny requirements on east dark world, split up lake hylia central island properly into regions. 2017-05-27 10:02:54 +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 7a9cff60ee Ensure that entering PoD or reaching east dark world through PoD exit is not required without paying off kiki first as you get stuck in the door. 2017-05-22 19:51:06 +02:00
LLCoolDave 0a23b5c1de Fix Typo in Agahnim's Name. 2017-05-21 16:32:34 +02:00
LLCoolDave 329cdeebdb Add rules to prevent reverse traversal of the TRock and SW Skulls to be required when you would get stuck in them. 2017-05-21 16:03:43 +02:00
LLCoolDave 22360bdafd Fix mixup between bottom and and middle exits of death mountain climb. 2017-05-21 00:39:15 +02:00
LLCoolDave d6050eb0e1 Fix lightcone rules for standard, where cones depend on where a region IS, not where it WOULD BE in vanilla. 2017-05-20 15:47:28 +02:00