diff --git a/DoorShuffle.py b/DoorShuffle.py index 0369ff5c..e2e25390 100644 --- a/DoorShuffle.py +++ b/DoorShuffle.py @@ -1062,8 +1062,11 @@ def handle_split_dungeons(dungeon_builders, recombinant_builders, entrances_map, for name, split_list in split_dungeon_entrances.items(): builder = dungeon_builders.pop(name) - recombinant_builders[name] = builder + if all(len(sector.outstanding_doors) <= 0 for sector in builder.sectors): + dungeon_builders[name] = builder + continue + recombinant_builders[name] = builder split_builders = split_dungeon_builder(builder, split_list, builder_info) dungeon_builders.update(split_builders) for sub_name, split_entrances in split_list.items(): diff --git a/DungeonGenerator.py b/DungeonGenerator.py index 2cae4254..58b86adf 100644 --- a/DungeonGenerator.py +++ b/DungeonGenerator.py @@ -1342,10 +1342,6 @@ def create_dungeon_builders(all_sectors, connections_tuple, world, player, dunge if not sector: sector = find_sector(r_name, all_sectors) reverse_d_map[sector] = key - if world.mode[player] == 'standard': - if 'Hyrule Castle' in dungeon_map: - current_dungeon = dungeon_map['Hyrule Castle'] - standard_stair_check(dungeon_map, current_dungeon, candidate_sectors, global_pole) complete_dungeons = {x: y for x, y in dungeon_map.items() if sum(len(sector.outstanding_doors) for sector in y.sectors) <= 0} [dungeon_map.pop(key) for key in complete_dungeons.keys()] @@ -1354,6 +1350,11 @@ def create_dungeon_builders(all_sectors, connections_tuple, world, player, dunge dungeon_map.update(complete_dungeons) return dungeon_map + if world.mode[player] == 'standard': + if 'Hyrule Castle' in dungeon_map: + current_dungeon = dungeon_map['Hyrule Castle'] + standard_stair_check(dungeon_map, current_dungeon, candidate_sectors, global_pole) + # categorize sectors identify_destination_sectors(accessible_sectors, reverse_d_map, dungeon_map, connections, dungeon_entrances, split_dungeon_entrances) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index fc754596..a0e3ee1c 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -6,4 +6,5 @@ * Fixes for HMG by Muffins * Various fixes for Enemizer by Codemann (gfx fixes, more randomization options) * Vanilla door shuffle prevents big key doors changes from door_type_mode + * Couple of minor fixes to custom generation. Deals with a complete specification of all dungeons * Various enemizer bans for blocked paths (thanks to all the reports, Q1 2025)