From 6e0165986f3ce556ed454c8401c598cb76c24777 Mon Sep 17 00:00:00 2001 From: CaitSith2 Date: Wed, 23 Feb 2022 15:17:24 -0800 Subject: [PATCH] Move duplicate name item link check to verify. --- BaseClasses.py | 5 ----- Options.py | 4 ++++ 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/BaseClasses.py b/BaseClasses.py index 26244346..b7d29526 100644 --- a/BaseClasses.py +++ b/BaseClasses.py @@ -205,12 +205,7 @@ class MultiWorld(): item_links = {} for player in self.player_ids: - player_item_links = set() for item_link in self.item_links[player].value: - if item_link["name"] in player_item_links: - raise Exception(f"Cannot name more than one item_link with the same name in the same yaml ({item_link['name']}) ({self.get_player_name(player)})") - else: - player_item_links.add(item_link["name"]) if item_link["name"] in item_links: item_links[item_link["name"]]["players"][player] = item_link["replacement_item"] item_links[item_link["name"]]["item_pool"] &= set(item_link["item_pool"]) diff --git a/Options.py b/Options.py index e5533b95..a282b5c9 100644 --- a/Options.py +++ b/Options.py @@ -470,7 +470,11 @@ class ItemLinks(OptionList): def verify(self, world): super(ItemLinks, self).verify(world) + existing_links = set() for link in self.value: + if link["name"] in existing_links: + raise Exception(f"You cannot have more than one link named {link['name']}.") + existing_links.add(link["name"]) for item_name in link["item_pool"]: if item_name not in world.item_names and item_name not in world.item_name_groups: raise Exception(f"Item {item_name} from option {self} "