Commit Graph

464 Commits

Author SHA1 Message Date
aerinon
6a276ca0b8 MSU Scrolling bug
Crystaroller Stairs fixed
More Full ER support
Added DungeonGen check for hangers without enough hooks
DungeonGen doesn't consider BK door problems unless starting from origin
--This could cause some longer gen times - as the origin is hooked up last
Skull 3 Exit - attempt to fix
2019-11-19 16:00:55 -07:00
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
d365ae5c36 Fixing a couple minor bugs 2019-11-09 19:10:13 -07:00
aerinon
e7ddae0dfa Fix a TT open edge (getting caught by door code)
Try to fix Skull exit again
Fix Hera stair key
Some vanilla fixes
2019-11-08 16:51:51 -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
bc30cc3b42 Minor fix to basic generation for now 2019-10-28 13:55:07 -06:00
aerinon
417fc0797f Shuffling sectors is improved slightly
Changing many logging statements to debug only
2019-10-25 13:56:44 -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
8db8d066b4 PoD and Swamp logical dead end detection improved 2019-10-22 15:49:36 -06:00
aerinon
01a4d4b872 Generation tweaks and fixes
- Flooding the keys in swamp
- Logical dead ends
- The pinball exception
2019-10-21 22:32:49 -06:00
aerinon
c090bd7003 Early bad loop detection. 2019-10-18 11:56:56 -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
7db3c82e70 More swamp fixes
Removed Left Drain to Right (switch resets)
2019-10-16 06:57:57 -06:00
aerinon
4d35265e5c Key flood protection in sweep for events
Better loop validation
Small key validation tweaks
2019-10-15 15:15:29 -06:00
aerinon
ce626bd093 Unification of exploration logic
Crystal stuff for PoD/Hera
Minor fixes to key logic
2019-10-15 13:01:32 -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
dc6791da08 Door Types in Spoiler
Some fixes for rooms with ToggleFlag "doors"
2019-10-09 14:26:18 -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
db155950f2 Not allowing Lower Layer keydoors for now. vanilla Lttp engine does not handle them
Killed the restrictive Eastern key rules - in prep for real key logic
2019-10-07 14:32:34 -06:00
aerinon
19a78f2a0c Fixed a few spiral bugs
Fixed a problem with door pairing system
2019-10-05 23:15:06 -06:00
aerinon
92ad60bedf Key Door Shuffle algorithm added 2019-10-03 16:27:44 -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
8719a4919d Door pairing system initial pass complete
Sucessfully de-coupling of Big Key doors with dumb small key doors behind
Added a bit to trap door fixer so that we can hit the 3rd door in the door list
Added door list position info
2019-10-01 11:26:10 -06:00
aerinon
f12659af9d Fixes to Aga Tower staircases
Lots of initial work on key doors and other door pairs
2019-09-27 22:00:45 -06:00
aerinon
5eb0e6e379 Aga Tower preliminary check in 2019-09-20 21:24:46 -06:00
aerinon
e66908816d Kill Landing/Warp End "Doors" 2019-09-19 14:44:33 -06:00
aerinon
6534aaecc6 Tower of Hera Door
Logical Doors
2019-09-19 14:40:16 -06:00
randall.rupper
292af3241c Minor logging problem 2019-09-17 14:02:21 -06:00
randall.rupper
27ea522499 Experimental and Crossed mode updated with monte carlo division of sectors 2019-09-17 13:53:30 -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
6f5121c028 Updated desert to be more compatible with logic changes (no logic yet)
Refactored doors to clean up builder flags.
2019-09-16 15:10:37 -06:00
randall.rupper
dc74df793c Merge branch 'DoorDev' into DoorExtension
# Conflicts:
#	DoorShuffle.py
#	Doors.py
#	Regions.py
2019-09-16 14:02:32 -06:00
tolmar
dda7dbaad4 "Ugly door" support
Ugly doors are doors that we don't want to see from the front:
- south-facing side of a BK door
- other side of one of those keyed staircases that don't actually have a matching key on the other side

This rejects layouts where one would appear.
2019-09-15 23:40:06 -07:00
tolmar
9fa26ef067 Handle multiple startpoints and some blocked doors
Better blocked door handling:
- Start dungeon layout at the entrance
- Hold off on linking from blocked doors until the end of the dungeon, so they either point deeper in, or get added as a loop.
- Now that we care what the start is, properly handle the fact that dungeons have multiple starts.
2019-09-15 21:14:51 -07:00
tolmar
6ac00c2968 Eastern Palace Logic
Works sometimes. Either needs a south-facing big key door hack, or a way to avoid placing big key doors in places where you can see their back.
2019-09-15 11:35:35 -07:00
tolmar
3a872723b0 Use connect_one_way when doors are blocked
Shuffler doesn't respect blocked doors yet so it may create an unbeatable layout, and the item placer will panic. But that's better than silently giving the player something impossible
2019-09-15 02:24:48 -07:00