Skip to content

Commit

Permalink
Factorio: fix single-player static node placement
Browse files Browse the repository at this point in the history
  • Loading branch information
Berserker66 committed Jun 6, 2021
1 parent c095c28 commit c71387a
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 6 deletions.
10 changes: 8 additions & 2 deletions BaseClasses.py
Original file line number Diff line number Diff line change
Expand Up @@ -1193,6 +1193,14 @@ def can_reach(self, state: CollectionState) -> bool:
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__()

Expand Down Expand Up @@ -1497,8 +1505,6 @@ def bool_to_text(variable: Union[bool, str]) -> str:

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')

Expand Down
5 changes: 1 addition & 4 deletions worlds/factorio/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down

0 comments on commit c71387a

Please sign in to comment.