diff --git a/BaseClasses.py b/BaseClasses.py index 33fdc3a8..7020b2e2 100644 --- a/BaseClasses.py +++ b/BaseClasses.py @@ -1193,6 +1193,14 @@ class Location(): return True return False + def place_locked_item(self, item: Item): + if self.item: + raise Exception(f"Location {self} already filled.") + self.item = item + self.event = item.advancement + self.item.world = self.parent_region.world + self.locked = True + def __repr__(self): return self.__str__() @@ -1497,8 +1505,6 @@ class Spoiler(object): elif player in self.world.factorio_player_ids: for f_option in Options.factorio_options: - logging.info(f_option) - logging.info(getattr(self.world, f_option)) res = getattr(self.world, f_option)[player] outfile.write(f'{f_option+":":33}{bool_to_text(res) if type(res) == Options.Toggle else res.get_option_name()}\n') diff --git a/worlds/factorio/__init__.py b/worlds/factorio/__init__.py index c58b07d7..4bdfcbca 100644 --- a/worlds/factorio/__init__.py +++ b/worlds/factorio/__init__.py @@ -12,10 +12,7 @@ def gen_factorio(world: MultiWorld, player: int): tech_id, player) tech_item.game = "Factorio" if tech_name in static_nodes: - loc = world.get_location(tech_name, player) - loc.item = tech_item - loc.locked = True - loc.event = tech_item.advancement + world.get_location(tech_name, player).place_locked_item(tech_item) else: world.itempool.append(tech_item) world.custom_data[player]["custom_technologies"] = custom_technologies = set_custom_technologies(world, player)