TUNIC: Fix a few missing tricks in logic (#4132)
* Add missing connection to the furnace entry by west garden * Add missing connection to the furnace entry by west garden * Add missing hard ls for ruined passage door * Allow shield for LS * Split PR into two * Split PR into two * Split PR into two * Add dark tomb ice grapple through the wall
This commit is contained in:
parent
4b80b786e2
commit
01c6037562
|
@ -807,7 +807,7 @@ traversal_requirements: Dict[str, Dict[str, List[List[str]]]] = {
|
|||
[],
|
||||
# drop a rudeling, icebolt or ice bomb
|
||||
"Overworld to West Garden from Furnace":
|
||||
[["IG3"]],
|
||||
[["IG3"], ["LS1"]],
|
||||
},
|
||||
"East Overworld": {
|
||||
"Above Ruined Passage":
|
||||
|
|
|
@ -501,9 +501,11 @@ def set_er_region_rules(world: "TunicWorld", regions: Dict[str, Region], portal_
|
|||
regions["Dark Tomb Upper"].connect(
|
||||
connecting_region=regions["Dark Tomb Entry Point"])
|
||||
|
||||
# ice grapple through the wall, get the little secret sound to trigger
|
||||
regions["Dark Tomb Upper"].connect(
|
||||
connecting_region=regions["Dark Tomb Main"],
|
||||
rule=lambda state: has_ladder("Ladder in Dark Tomb", state, world))
|
||||
rule=lambda state: has_ladder("Ladder in Dark Tomb", state, world)
|
||||
or has_ice_grapple_logic(False, IceGrappling.option_hard, state, world))
|
||||
regions["Dark Tomb Main"].connect(
|
||||
connecting_region=regions["Dark Tomb Upper"],
|
||||
rule=lambda state: has_ladder("Ladder in Dark Tomb", state, world))
|
||||
|
@ -779,12 +781,10 @@ def set_er_region_rules(world: "TunicWorld", regions: Dict[str, Region], portal_
|
|||
|
||||
regions["Fortress East Shortcut Upper"].connect(
|
||||
connecting_region=regions["Fortress East Shortcut Lower"])
|
||||
# nmg: can ice grapple upwards
|
||||
regions["Fortress East Shortcut Lower"].connect(
|
||||
connecting_region=regions["Fortress East Shortcut Upper"],
|
||||
rule=lambda state: has_ice_grapple_logic(True, IceGrappling.option_easy, state, world))
|
||||
|
||||
# nmg: ice grapple through the big gold door, can do it both ways
|
||||
regions["Eastern Vault Fortress"].connect(
|
||||
connecting_region=regions["Eastern Vault Fortress Gold Door"],
|
||||
rule=lambda state: state.has_all({"Activate Eastern Vault West Fuses",
|
||||
|
@ -807,7 +807,6 @@ def set_er_region_rules(world: "TunicWorld", regions: Dict[str, Region], portal_
|
|||
regions["Fortress Hero's Grave Region"].connect(
|
||||
connecting_region=regions["Fortress Grave Path"])
|
||||
|
||||
# nmg: ice grapple from upper grave path to lower
|
||||
regions["Fortress Grave Path Upper"].connect(
|
||||
connecting_region=regions["Fortress Grave Path"],
|
||||
rule=lambda state: has_ice_grapple_logic(True, IceGrappling.option_easy, state, world))
|
||||
|
@ -1139,6 +1138,9 @@ def set_er_region_rules(world: "TunicWorld", regions: Dict[str, Region], portal_
|
|||
for portal_dest in region_info.portals:
|
||||
ls_connect(ladder_region, "Overworld Redux, " + portal_dest)
|
||||
|
||||
# convenient staircase means this one is easy difficulty, even though there's an elevation change
|
||||
ls_connect("LS Elev 0", "Overworld Redux, Furnace_gyro_west")
|
||||
|
||||
# connect ls elevation regions to regions where you can get an enemy to knock you down, also well rail
|
||||
if options.ladder_storage >= LadderStorage.option_medium:
|
||||
for ladder_region, region_info in ow_ladder_groups.items():
|
||||
|
@ -1154,6 +1156,7 @@ def set_er_region_rules(world: "TunicWorld", regions: Dict[str, Region], portal_
|
|||
if options.ladder_storage >= LadderStorage.option_hard:
|
||||
ls_connect("LS Elev 1", "Overworld Redux, EastFiligreeCache_")
|
||||
ls_connect("LS Elev 2", "Overworld Redux, Town_FiligreeRoom_")
|
||||
ls_connect("LS Elev 2", "Overworld Redux, Ruins Passage_west")
|
||||
ls_connect("LS Elev 3", "Overworld Redux, Overworld Interiors_house")
|
||||
ls_connect("LS Elev 5", "Overworld Redux, Temple_main")
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@ ow_ladder_groups: Dict[str, OWLadderInfo] = {
|
|||
["Overworld Beach"]),
|
||||
# also the east filigree room
|
||||
"LS Elev 1": OWLadderInfo({"Ladders near Weathervane", "Ladders in Overworld Town", "Ladder to Swamp"},
|
||||
["Furnace_gyro_lower", "Swamp Redux 2_wall"],
|
||||
["Furnace_gyro_lower", "Furnace_gyro_west", "Swamp Redux 2_wall"],
|
||||
["Overworld Tunnel Turret"]),
|
||||
# also the fountain filigree room and ruined passage door
|
||||
"LS Elev 2": OWLadderInfo({"Ladders near Weathervane", "Ladders to West Bell"},
|
||||
|
|
Loading…
Reference in New Issue