Commit Graph

333 Commits

Author SHA1 Message Date
Bonta-kun
a24fe1f3bf World.__init__: group player attributes to remove some redundancy 2019-12-17 21:09:33 +01:00
Bonta-kun
1ecb5fe40b Individual settings: shufflebosses shuffleenemies enemy_health enemy_damage 2019-12-17 15:55:53 +01:00
Bonta-kun
8a5eef11ce Individual settings: hints 2019-12-17 12:22:55 +01:00
Bonta-kun
d9281adc07 Individual settings: accessibility 2019-12-17 12:14:29 +01: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
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
203147dda1 Individual settings: difficulty and item_functionality 2019-12-16 17:46:21 +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
d33582a3a2 Enable bombs in escape assist with an enemized standard start so you can beat the game 2019-12-16 09:59:16 +01:00
Bonta-kun
d608d5ca30 Optimize update_reachable_regions using the new region cache, it is almost twice as fast now 2019-12-14 19:53:19 +01:00
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
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
d87cb2c380 BaseClasses: do not tag every location as locked by default 2019-12-10 19:21:05 +01:00
Bonta-kun
f479c8dc23 dont throw on __len__ attribute 2019-12-10 02:14:22 +01:00
Bonta-kun
55a30aa91f multiworld 2019-12-09 19:27:56 +01:00
aerinon
f6e8584d19 Fixed Death Mountain Return Ledge dungeons
Multiplayer support for inaccessible regions
2019-11-21 14:04:29 -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
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
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
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
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
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
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
fd11e8cde1 Merge branch 'Dev' into DoorDev 2019-10-01 14:35:30 -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
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
aerinon
5eb0e6e379 Aga Tower preliminary check in 2019-09-20 21:24:46 -06:00
aerinon
1aa2d904d3 Spirals Can "connect" to the same direction now. Screws with maps.
Some initial work on key doors. Namely altering the reverse side of Big Key doors that were unreachable in vanilla.
2019-09-19 14:58:50 -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
49e782b050 Intermediate commit to switch from work to home 2019-09-16 21:12:55 -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
40f345df13 Simple key logic for Escape
Adds ability to make a location for required keys (enemy drops and pots), so the filler knows about them.

Uses the most pessimistic possible rule to make sure you can't keylock yourself in Escape.
2019-09-15 02:28:04 -07:00
tolmar
b1e20c9c94 Revert forced keys change
I think I found a better way to do it
2019-09-15 00:27:51 -07:00
tolmar
b4028f429a Merge branch 'DoorDev' into DoorShuffleStandardModeDev 2019-09-14 22:15:55 -07:00
aerinon
4982ef0d9c Starting thinking about a backtracking algorithm 2019-09-14 22:27:38 -06:00