fix: some customizer generation issues

This commit is contained in:
aerinon
2025-04-28 14:16:31 -06:00
parent f3b774ad7f
commit 4657aaf0b6
3 changed files with 10 additions and 5 deletions

View File

@@ -1062,8 +1062,11 @@ def handle_split_dungeons(dungeon_builders, recombinant_builders, entrances_map,
for name, split_list in split_dungeon_entrances.items(): for name, split_list in split_dungeon_entrances.items():
builder = dungeon_builders.pop(name) 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) split_builders = split_dungeon_builder(builder, split_list, builder_info)
dungeon_builders.update(split_builders) dungeon_builders.update(split_builders)
for sub_name, split_entrances in split_list.items(): for sub_name, split_entrances in split_list.items():

View File

@@ -1342,10 +1342,6 @@ def create_dungeon_builders(all_sectors, connections_tuple, world, player, dunge
if not sector: if not sector:
sector = find_sector(r_name, all_sectors) sector = find_sector(r_name, all_sectors)
reverse_d_map[sector] = key 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} 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()] [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) dungeon_map.update(complete_dungeons)
return dungeon_map 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 # categorize sectors
identify_destination_sectors(accessible_sectors, reverse_d_map, dungeon_map, connections, identify_destination_sectors(accessible_sectors, reverse_d_map, dungeon_map, connections,
dungeon_entrances, split_dungeon_entrances) dungeon_entrances, split_dungeon_entrances)

View File

@@ -6,4 +6,5 @@
* Fixes for HMG by Muffins * Fixes for HMG by Muffins
* Various fixes for Enemizer by Codemann (gfx fixes, more randomization options) * Various fixes for Enemizer by Codemann (gfx fixes, more randomization options)
* Vanilla door shuffle prevents big key doors changes from door_type_mode * 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) * Various enemizer bans for blocked paths (thanks to all the reports, Q1 2025)