diff --git a/Utils.py b/Utils.py index e6c6392e..cb213cb9 100644 --- a/Utils.py +++ b/Utils.py @@ -390,7 +390,7 @@ class RestrictedUnpickler(pickle.Unpickler): def find_class(self, module, name): if module == "builtins" and name in safe_builtins: return getattr(builtins, name) - if module == "NetUtils" and name in {"NetworkItem", "ClientStatus"}: + if module == "NetUtils" and name in {"NetworkItem", "ClientStatus", "Hint"}: import NetUtils return getattr(NetUtils, name) # Forbid everything else. diff --git a/worlds/factorio/Shapes.py b/worlds/factorio/Shapes.py index 1daa42f8..1411dc6f 100644 --- a/worlds/factorio/Shapes.py +++ b/worlds/factorio/Shapes.py @@ -60,6 +60,7 @@ def get_shapes(world: MultiWorld, player: int) -> Dict[str, List[str]]: previous_slice = [] while len(tech_names) > slice_size: slice = tech_names[:slice_size] + world.random.shuffle(slice) tech_names = tech_names[slice_size:] for i, tech_name in enumerate(previous_slice): prerequisites.setdefault(slice[i], set()).add(tech_name) @@ -84,6 +85,7 @@ def get_shapes(world: MultiWorld, player: int) -> Dict[str, List[str]]: previous_slice = [] while slice_size: slice = tech_names[:slice_size] + world.random.shuffle(slice) tech_names = tech_names[slice_size:] if previous_slice: for i, tech_name in enumerate(slice):