diff --git a/worlds/tunic/er_rules.py b/worlds/tunic/er_rules.py index 62e5e1dc27..42518a8e5a 100644 --- a/worlds/tunic/er_rules.py +++ b/worlds/tunic/er_rules.py @@ -488,7 +488,7 @@ def set_er_region_rules(world: "TunicWorld", regions: Dict[str, Region], portal_ connecting_region=regions["Well Boss"], rule=lambda state: laurels_zip(state, world)) - regions["Dark Tomb Entry Point"].connect( + dt_entry_to_upper = regions["Dark Tomb Entry Point"].connect( connecting_region=regions["Dark Tomb Upper"], rule=lambda state: has_lantern(state, world)) regions["Dark Tomb Upper"].connect( @@ -503,7 +503,7 @@ def set_er_region_rules(world: "TunicWorld", regions: Dict[str, Region], portal_ regions["Dark Tomb Main"].connect( connecting_region=regions["Dark Tomb Dark Exit"]) - regions["Dark Tomb Dark Exit"].connect( + dt_exit_to_main = regions["Dark Tomb Dark Exit"].connect( connecting_region=regions["Dark Tomb Main"], rule=lambda state: has_lantern(state, world)) @@ -1187,6 +1187,10 @@ def set_er_region_rules(world: "TunicWorld", regions: Dict[str, Region], portal_ set_rule(btw_back_main, lambda state: has_ladder("Ladders in Well", state, world) and (state.has(laurels, player) or has_combat_reqs("Beneath the Well", state, player))) + add_rule(dt_entry_to_upper, + lambda state: has_combat_reqs("Dark Tomb", state, player)) + add_rule(dt_exit_to_main, + lambda state: has_combat_reqs("Dark Tomb", state, player)) def set_er_location_rules(world: "TunicWorld") -> None: @@ -1285,6 +1289,11 @@ def set_er_location_rules(world: "TunicWorld") -> None: set_rule(multiworld.get_location("East Forest - Ice Rod Grapple Chest", player), lambda state: ( state.has_all({grapple, ice_dagger, fire_wand}, player) and has_ability(icebolt, state, world))) + # Dark Tomb + # added to make combat logic smoother + set_rule(multiworld.get_location("Dark Tomb - 2nd Laser Room", player), + lambda state: has_lantern(state, world)) + # West Garden set_rule(multiworld.get_location("West Garden - [North] Across From Page Pickup", player), lambda state: state.has(laurels, player)) diff --git a/worlds/tunic/locations.py b/worlds/tunic/locations.py index 9e0b8e52f5..ea00967173 100644 --- a/worlds/tunic/locations.py +++ b/worlds/tunic/locations.py @@ -35,7 +35,7 @@ location_table: Dict[str, TunicLocationData] = { "Cathedral - [2F] Bird Room Secret": TunicLocationData("Cathedral", "Cathedral"), "Cathedral - [1F] Library Secret": TunicLocationData("Cathedral", "Cathedral"), "Dark Tomb - Spike Maze Near Exit": TunicLocationData("Dark Tomb", "Dark Tomb Main"), - "Dark Tomb - 2nd Laser Room": TunicLocationData("Dark Tomb", "Dark Tomb Main"), + "Dark Tomb - 2nd Laser Room": TunicLocationData("Dark Tomb", "Dark Tomb Dark Exit"), "Dark Tomb - 1st Laser Room": TunicLocationData("Dark Tomb", "Dark Tomb Main"), "Dark Tomb - Spike Maze Upper Walkway": TunicLocationData("Dark Tomb", "Dark Tomb Main"), "Dark Tomb - Skulls Chest": TunicLocationData("Dark Tomb", "Dark Tomb Upper"),