diff --git a/DoorShuffle.py b/DoorShuffle.py index 67e376f6..918d6192 100644 --- a/DoorShuffle.py +++ b/DoorShuffle.py @@ -1071,6 +1071,7 @@ def assign_cross_keys(dungeon_builders, world, player): # Step 3: Initial valid combination find - reduce flex if needed for name, builder in dungeon_builders.items(): suggested = builder.key_doors_num - builder.key_drop_cnt + builder.total_keys = builder.key_doors_num find_valid_combination(builder, start_regions_map[name], world, player) actual_chest_keys = builder.key_doors_num - builder.key_drop_cnt if actual_chest_keys < suggested: @@ -1087,6 +1088,7 @@ def assign_cross_keys(dungeon_builders, world, player): name = builder.name logger.debug('Cross Dungeon: Increasing key count by 1 for %s', name) builder.key_doors_num += 1 + builder.total_keys = builder.key_doors_num result = find_valid_combination(builder, start_regions_map[name], world, player, drop_keys=False) if result: remaining -= 1 @@ -1380,7 +1382,7 @@ def shuffle_key_doors(builder, world, player): skips.append(world.get_door(dp.door_a, player)) break num_key_doors += 1 - builder.key_doors_num = num_key_doors + builder.key_doors_num = builder.total_keys = num_key_doors find_small_key_door_candidates(builder, start_regions, world, player) find_valid_combination(builder, start_regions, world, player) reassign_key_doors(builder, world, player) diff --git a/DungeonGenerator.py b/DungeonGenerator.py index 1c49cba0..06af10da 100644 --- a/DungeonGenerator.py +++ b/DungeonGenerator.py @@ -1175,6 +1175,7 @@ class DungeonBuilder(object): self.pre_open_stonewalls = set() # used by stonewall system self.candidates = None + self.total_keys = None self.key_doors_num = None self.combo_size = None self.flex = 0 diff --git a/KeyDoorShuffle.py b/KeyDoorShuffle.py index 3ce9132f..ca4a7f10 100644 --- a/KeyDoorShuffle.py +++ b/KeyDoorShuffle.py @@ -1387,7 +1387,7 @@ def create_key_counters(key_layout, world, player): state.key_locations = default_key_counts[key_layout.sector.name] else: builder = world.dungeon_layouts[player][key_layout.sector.name] - state.key_locations = builder.key_doors_num - builder.key_drop_cnt + state.key_locations = builder.total_keys - builder.key_drop_cnt state.big_key_special, special_region = False, None for region in key_layout.sector.regions: for location in region.locations: