From 8ce073e3550d04ec335bda5c460a9453997e9c97 Mon Sep 17 00:00:00 2001 From: Fabian Dill Date: Wed, 15 Nov 2023 06:53:37 +0100 Subject: [PATCH] Core: relax typing hints on has_all and has_any (#2462) --- BaseClasses.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/BaseClasses.py b/BaseClasses.py index a70dd70a..4ce99b69 100644 --- a/BaseClasses.py +++ b/BaseClasses.py @@ -711,11 +711,11 @@ class CollectionState(): def has(self, item: str, player: int, count: int = 1) -> bool: return self.prog_items[player][item] >= count - def has_all(self, items: Set[str], player: int) -> bool: + def has_all(self, items: Iterable[str], player: int) -> bool: """Returns True if each item name of items is in state at least once.""" return all(self.prog_items[player][item] for item in items) - def has_any(self, items: Set[str], player: int) -> bool: + def has_any(self, items: Iterable[str], player: int) -> bool: """Returns True if at least one item name of items is in state at least once.""" return any(self.prog_items[player][item] for item in items) @@ -724,16 +724,18 @@ class CollectionState(): def has_group(self, item_name_group: str, player: int, count: int = 1) -> bool: found: int = 0 + player_prog_items = self.prog_items[player] for item_name in self.multiworld.worlds[player].item_name_groups[item_name_group]: - found += self.prog_items[player][item_name] + found += player_prog_items[item_name] if found >= count: return True return False def count_group(self, item_name_group: str, player: int) -> int: found: int = 0 + player_prog_items = self.prog_items[player] for item_name in self.multiworld.worlds[player].item_name_groups[item_name_group]: - found += self.prog_items[player][item_name] + found += player_prog_items[item_name] return found def item_count(self, item: str, player: int) -> int: