diff --git a/WebHostLib/customserver.py b/WebHostLib/customserver.py index 01f1fd25e5..da7b54ba6d 100644 --- a/WebHostLib/customserver.py +++ b/WebHostLib/customserver.py @@ -103,7 +103,7 @@ class WebHostContext(Context): room.multisave = pickle.dumps(self.get_save()) # saving only occurs on activity, so we can "abuse" this information to mark this as last_activity if not exit_save: # we don't want to count a shutdown as activity, which would restart the server again - room.last_activity = datetime.utcnow() + room.last_activity = datetime.datetime.utcnow() return True def get_save(self) -> dict: diff --git a/worlds/AutoWorld.py b/worlds/AutoWorld.py index 02b94c5fb7..8d9a1b0829 100644 --- a/worlds/AutoWorld.py +++ b/worlds/AutoWorld.py @@ -27,7 +27,8 @@ class AutoWorldRegister(type): # build rest dct["item_names"] = frozenset(dct["item_name_to_id"]) - dct["item_name_groups"] = dct.get("item_name_groups", {}) + dct["item_name_groups"] = {group_name: frozenset(group_set) for group_name, group_set + in dct.get("item_name_groups", {}).items()} dct["item_name_groups"]["Everything"] = dct["item_names"] dct["location_names"] = frozenset(dct["location_name_to_id"]) dct["all_item_and_group_names"] = frozenset(dct["item_names"] | set(dct.get("item_name_groups", {}))) diff --git a/worlds/sc2wol/Locations.py b/worlds/sc2wol/Locations.py index 3425dc7199..f69abd48e3 100644 --- a/worlds/sc2wol/Locations.py +++ b/worlds/sc2wol/Locations.py @@ -176,7 +176,8 @@ def get_locations(world: Optional[MultiWorld], player: Optional[int]) -> Tuple[L state._sc2wol_has_competent_anti_air(world, player) and state.has('Science Vessel', player)), LocationData("Devil's Playground", "Devil's Playground: Victory", SC2WOL_LOC_ID_OFFSET + 1300, - lambda state: state._sc2wol_has_common_unit(world, player) or state.has("Reaper", player)), + lambda state: state._sc2wol_has_anti_air(world, player) and ( + state._sc2wol_has_common_unit(world, player) or state.has("Reaper", player))), LocationData("Devil's Playground", "Devil's Playground: Tosh's Miners", SC2WOL_LOC_ID_OFFSET + 1301), LocationData("Devil's Playground", "Devil's Playground: Brutalisk", SC2WOL_LOC_ID_OFFSET + 1302, lambda state: state._sc2wol_has_common_unit(world, player) or state.has("Reaper", player)), diff --git a/worlds/subnautica/__init__.py b/worlds/subnautica/__init__.py index 6562d93db0..806c1b195e 100644 --- a/worlds/subnautica/__init__.py +++ b/worlds/subnautica/__init__.py @@ -42,7 +42,7 @@ class SubnauticaWorld(World): option_definitions = Options.options data_version = 6 - required_client_version = (0, 3, 4) + required_client_version = (0, 3, 5) prefill_items: List[Item] creatures_to_scan: List[str]