From 50db922cefbde107dd33d588ce621336b956a397 Mon Sep 17 00:00:00 2001 From: Jarno Date: Thu, 5 Jun 2025 15:05:00 +0200 Subject: [PATCH] Timespinner: Fixed generation error because of timezone locking (#5084) * Fixed generation error because of timezone locking * Refactored logic + prevent excluding warps when unchained keys in on --- worlds/timespinner/PreCalculatedWeights.py | 9 ++++++--- worlds/timespinner/__init__.py | 1 + 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/worlds/timespinner/PreCalculatedWeights.py b/worlds/timespinner/PreCalculatedWeights.py index 3ad7c2c7..96551ea7 100644 --- a/worlds/timespinner/PreCalculatedWeights.py +++ b/worlds/timespinner/PreCalculatedWeights.py @@ -88,12 +88,15 @@ class PreCalculatedWeights: if options.risky_warps: past_teleportation_gates.append("GateLakeSereneLeft") - present_teleportation_gates.append("GateDadsTower") if not is_xarion_flooded: present_teleportation_gates.append("GateXarion") - if not is_lab_flooded: - present_teleportation_gates.append("GateLabEntrance") + # Prevent going past the lazers without a way to the past + if options.unchained_keys or options.prism_break or not options.pyramid_start: + present_teleportation_gates.append("GateDadsTower") + if not is_lab_flooded: + present_teleportation_gates.append("GateLabEntrance") + # Prevent getting stuck in the past without a way back to the future if options.inverted or (options.pyramid_start and not options.back_to_the_future): all_gates: Tuple[str, ...] = present_teleportation_gates else: diff --git a/worlds/timespinner/__init__.py b/worlds/timespinner/__init__.py index 4d1efc41..77314d40 100644 --- a/worlds/timespinner/__init__.py +++ b/worlds/timespinner/__init__.py @@ -42,6 +42,7 @@ class TimespinnerWorld(World): topology_present = True web = TimespinnerWebWorld() required_client_version = (0, 4, 2) + ut_can_gen_without_yaml = True item_name_to_id = {name: data.code for name, data in item_table.items()} location_name_to_id = {location.name: location.code for location in get_location_datas(-1, None, None)}