From 185a5192481a20ddd8877f58398f13becf38bbf8 Mon Sep 17 00:00:00 2001 From: Aaron Wagener Date: Thu, 16 Nov 2023 04:55:18 -0600 Subject: [PATCH] Core: fix item links around core changes (#2452) --- BaseClasses.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/BaseClasses.py b/BaseClasses.py index 4ce99b69..b25d9983 100644 --- a/BaseClasses.py +++ b/BaseClasses.py @@ -113,6 +113,11 @@ class MultiWorld(): for region in regions: self.region_cache[region.player][region.name] = region + def add_group(self, new_id: int): + self.region_cache[new_id] = {} + self.entrance_cache[new_id] = {} + self.location_cache[new_id] = {} + def __iter__(self) -> Iterator[Region]: for regions in self.region_cache.values(): yield from regions.values() @@ -220,6 +225,7 @@ class MultiWorld(): return group_id, group new_id: int = self.players + len(self.groups) + 1 + self.regions.add_group(new_id) self.game[new_id] = game self.player_types[new_id] = NetUtils.SlotType.group world_type = AutoWorld.AutoWorldRegister.world_types[game] @@ -617,7 +623,7 @@ class CollectionState(): additional_copy_functions: List[Callable[[CollectionState, CollectionState], CollectionState]] = [] def __init__(self, parent: MultiWorld): - self.prog_items = {player: Counter() for player in parent.player_ids} + self.prog_items = {player: Counter() for player in parent.get_all_ids()} self.multiworld = parent self.reachable_regions = {player: set() for player in parent.get_all_ids()} self.blocked_connections = {player: set() for player in parent.get_all_ids()}