Fix pre_validate rejecting Desert Palace when no chests are in the back.
This commit is contained in:
@@ -365,7 +365,7 @@ def main_dungeon_generation(dungeon_builders, recombinant_builders, connections_
|
|||||||
name = ' '.join(builder.name.split(' ')[:-1])
|
name = ' '.join(builder.name.split(' ')[:-1])
|
||||||
origin_list = list(builder.entrance_list)
|
origin_list = list(builder.entrance_list)
|
||||||
find_enabled_origins(builder.sectors, enabled_entrances, origin_list, entrances_map, name)
|
find_enabled_origins(builder.sectors, enabled_entrances, origin_list, entrances_map, name)
|
||||||
if len(origin_list) <= 0 or not pre_validate(builder, origin_list, world, player):
|
if len(origin_list) <= 0 or not pre_validate(builder, origin_list, split_dungeon, world, player):
|
||||||
if last_key == builder.name or loops > 1000:
|
if last_key == builder.name or loops > 1000:
|
||||||
origin_name = world.get_region(origin_list[0], player).entrances[0].parent_region.name if len(origin_list) > 0 else 'no origin'
|
origin_name = world.get_region(origin_list[0], player).entrances[0].parent_region.name if len(origin_list) > 0 else 'no origin'
|
||||||
raise Exception('Infinite loop detected for "%s" located at %s' % (builder.name, origin_name))
|
raise Exception('Infinite loop detected for "%s" located at %s' % (builder.name, origin_name))
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ class GraphPiece:
|
|||||||
|
|
||||||
|
|
||||||
# Dungeons shouldn't be generated until all entrances are appropriately accessible
|
# Dungeons shouldn't be generated until all entrances are appropriately accessible
|
||||||
def pre_validate(builder, entrance_region_names, world, player):
|
def pre_validate(builder, entrance_region_names, split_dungeon, world, player):
|
||||||
entrance_regions = convert_regions(entrance_region_names, world, player)
|
entrance_regions = convert_regions(entrance_region_names, world, player)
|
||||||
proposed_map = {}
|
proposed_map = {}
|
||||||
doors_to_connect = {}
|
doors_to_connect = {}
|
||||||
@@ -36,7 +36,7 @@ def pre_validate(builder, entrance_region_names, world, player):
|
|||||||
for door in sector.outstanding_doors:
|
for door in sector.outstanding_doors:
|
||||||
doors_to_connect[door.name] = door
|
doors_to_connect[door.name] = door
|
||||||
all_regions.update(sector.regions)
|
all_regions.update(sector.regions)
|
||||||
bk_needed = bk_needed or determine_if_bk_needed(sector, False, world, player)
|
bk_needed = bk_needed or determine_if_bk_needed(sector, split_dungeon, world, player)
|
||||||
bk_special = bk_special or check_for_special(sector)
|
bk_special = bk_special or check_for_special(sector)
|
||||||
dungeon, hangers, hooks = gen_dungeon_info(builder.name, builder.sectors, entrance_regions, proposed_map,
|
dungeon, hangers, hooks = gen_dungeon_info(builder.name, builder.sectors, entrance_regions, proposed_map,
|
||||||
doors_to_connect, bk_needed, bk_special, world, player)
|
doors_to_connect, bk_needed, bk_special, world, player)
|
||||||
|
|||||||
Reference in New Issue
Block a user