Fixes for mirror scroll

Fix for Stonewall + Ice Cross
Fix for Ice Cross key doors
Changed how key doors are chosen in a slightly better manner (pairs them earlier)
This commit is contained in:
aerinon
2020-02-18 13:15:41 -07:00
parent 6bd05982ae
commit 6e11a4bbac
8 changed files with 43 additions and 16 deletions

View File

@@ -447,9 +447,12 @@ def stonewall_valid(stonewall):
if bad_door.blocked:
return True # great we're done with this one
loop_region = stonewall.entrance.parent_region
start_region = bad_door.entrance.parent_region
queue = deque([start_region])
visited = {start_region}
start_regions = [bad_door.entrance.parent_region]
if bad_door.dependents:
for dep in bad_door.dependents:
start_regions.append(dep.entrance.parent_region)
queue = deque(start_regions)
visited = set(start_regions)
while len(queue) > 0:
region = queue.popleft()
if region == loop_region:
@@ -1027,6 +1030,7 @@ class DungeonBuilder(object):
self.key_doors_num = None
self.combo_size = None
self.flex = 0
self.key_door_proposal = None
if name in dungeon_dead_end_allowance.keys():
self.allowance = dungeon_dead_end_allowance[name]