Crossed Dungeon generation work

--Introduced reachable_switches
--Calculate total completion in equation resolution
--Prioritized one-way connections over neutral/neutral_profitable sectored but not over dead-ends
--Simplified finding good complex branching candidates - just re-used equations routine
--Valid multi choice for global polarity when fixing parity
--Added total dungeon charge as critieria when fixing parity
--Pinball used for navigation in skull 2, marked appropriately (particularly with Ice Cross in Skull 2)
--Equation resolution detects used benefits with unreached_doors benefits
--Greedy equation finder not longer used destination/entrance sectors of the wrong split dungeon
--Required connections don't overestimate benefits
--Introduced the concept of crystal switches and doors blocked by blue barriers to equations
This commit is contained in:
aerinon
2020-07-22 17:11:20 -06:00
parent b4fd8f6bdc
commit 24177fa8b8
4 changed files with 306 additions and 43 deletions

View File

@@ -750,7 +750,8 @@ def create_dungeon_regions(world, player):
world.get_region('TR Crystal Maze', player).crystal_switch = True
world.get_region('GT Crystal Conveyor', player).crystal_switch = True # INTERIOR not accessible
world.get_region('GT Hookshot South Platform', player).crystal_switch = True
# world.get_region('GT Double Switch Switches', player).crystal_switch = True # this is not very relevant
# Relevant to indicate north door can access c_switch
world.get_region('GT Double Switch Switches', player).crystal_switch = True
world.get_region('GT Spike Crystals', player).crystal_switch = True
world.get_region('GT Crystal Paths', player).crystal_switch = True
world.get_region('GT Hidden Spikes', player).crystal_switch = True