mirror of
https://github.com/MarioSpore/Grinch-AP.git
synced 2025-10-21 12:11:33 -06:00
TUNIC: Add some more rules for Monastery connections (#4564)
* Move a couple locations to monastery * Connect Quarry Back to Monastery * Quarry Back -> Monastery with laurels, Monastery -> Monastery Back with wand/sword * Add Monastery Back region * Move a couple non-ER locations to monastery back * Monastery front -> back with sword, wand, or laurels zip * also laurels zip for non-ER
This commit is contained in:
@@ -990,7 +990,9 @@ def set_er_region_rules(world: "TunicWorld", regions: Dict[str, Region], portal_
|
||||
rule=lambda state: has_ice_grapple_logic(True, IceGrappling.option_hard, state, world))
|
||||
|
||||
monastery_front_to_back = regions["Monastery Front"].connect(
|
||||
connecting_region=regions["Monastery Back"])
|
||||
connecting_region=regions["Monastery Back"],
|
||||
rule=lambda state: has_sword(state, player) or state.has(fire_wand, player)
|
||||
or laurels_zip(state, world))
|
||||
# laurels through the gate, no setup needed
|
||||
regions["Monastery Back"].connect(
|
||||
connecting_region=regions["Monastery Front"],
|
||||
|
@@ -206,7 +206,7 @@ location_table: Dict[str, TunicLocationData] = {
|
||||
"Fountain Cross Door - Page Pickup": TunicLocationData("Overworld Holy Cross", "Fountain Cross Room", location_group="Holy Cross"),
|
||||
"Secret Gathering Place - Holy Cross Chest": TunicLocationData("Overworld Holy Cross", "Secret Gathering Place", location_group="Holy Cross"),
|
||||
"Top of the Mountain - Page At The Peak": TunicLocationData("Overworld Holy Cross", "Top of the Mountain", location_group="Holy Cross"),
|
||||
"Monastery - Monastery Chest": TunicLocationData("Monastery", "Monastery Back"),
|
||||
"Monastery - Monastery Chest": TunicLocationData("Monastery Back", "Monastery Back"),
|
||||
"Quarry - [Back Entrance] Bushes Holy Cross": TunicLocationData("Quarry Back", "Quarry Back", location_group="Holy Cross"),
|
||||
"Quarry - [Back Entrance] Chest": TunicLocationData("Quarry Back", "Quarry Back"),
|
||||
"Quarry - [Central] Near Shortcut Ladder": TunicLocationData("Quarry Back", "Quarry Back"),
|
||||
@@ -220,12 +220,12 @@ location_table: Dict[str, TunicLocationData] = {
|
||||
"Quarry - [Central] Obscured Below Entry Walkway": TunicLocationData("Quarry Back", "Quarry Back"),
|
||||
"Quarry - [Central] Top Floor Overhang": TunicLocationData("Quarry", "Quarry"),
|
||||
"Quarry - [East] Near Bridge": TunicLocationData("Quarry", "Quarry"),
|
||||
"Quarry - [Central] Above Ladder": TunicLocationData("Quarry", "Quarry Monastery Entry"),
|
||||
"Quarry - [Central] Above Ladder": TunicLocationData("Monastery", "Quarry Monastery Entry"),
|
||||
"Quarry - [Central] Obscured Behind Staircase": TunicLocationData("Quarry", "Quarry"),
|
||||
"Quarry - [Central] Above Ladder Dash Chest": TunicLocationData("Quarry", "Quarry Monastery Entry"),
|
||||
"Quarry - [Central] Above Ladder Dash Chest": TunicLocationData("Monastery", "Quarry Monastery Entry"),
|
||||
"Quarry - [West] Upper Area Bombable Wall": TunicLocationData("Quarry Back", "Quarry Back"),
|
||||
"Quarry - [East] Bombable Wall": TunicLocationData("Quarry", "Quarry"),
|
||||
"Hero's Grave - Ash Relic": TunicLocationData("Monastery", "Hero Relic - Quarry"),
|
||||
"Hero's Grave - Ash Relic": TunicLocationData("Monastery Back", "Hero Relic - Quarry"),
|
||||
"Quarry - [West] Shooting Range Secret Path": TunicLocationData("Lower Quarry", "Lower Quarry"),
|
||||
"Quarry - [West] Near Shooting Range": TunicLocationData("Lower Quarry", "Lower Quarry"),
|
||||
"Quarry - [West] Below Shooting Range": TunicLocationData("Lower Quarry", "Lower Quarry"),
|
||||
|
@@ -13,9 +13,10 @@ tunic_regions: dict[str, tuple[str]] = {
|
||||
"Library": tuple(),
|
||||
"Eastern Vault Fortress": ("Beneath the Vault",),
|
||||
"Beneath the Vault": ("Eastern Vault Fortress",),
|
||||
"Quarry Back": ("Quarry",),
|
||||
"Quarry Back": ("Quarry", "Monastery"),
|
||||
"Quarry": ("Monastery", "Lower Quarry"),
|
||||
"Monastery": tuple(),
|
||||
"Monastery": ("Monastery Back",),
|
||||
"Monastery Back": tuple(),
|
||||
"Lower Quarry": ("Rooted Ziggurat",),
|
||||
"Rooted Ziggurat": tuple(),
|
||||
"Swamp": ("Cathedral",),
|
||||
|
@@ -124,6 +124,11 @@ def set_region_rules(world: "TunicWorld") -> None:
|
||||
and (state.has_any({grapple, laurels, gun}, player) or can_ladder_storage(state, world))
|
||||
world.get_entrance("Quarry Back -> Quarry").access_rule = \
|
||||
lambda state: has_sword(state, player) or state.has(fire_wand, player)
|
||||
world.get_entrance("Quarry Back -> Monastery").access_rule = \
|
||||
lambda state: state.has(laurels, player)
|
||||
world.get_entrance("Monastery -> Monastery Back").access_rule = \
|
||||
lambda state: (has_sword(state, player) or state.has(fire_wand, player)
|
||||
or laurels_zip(state, world))
|
||||
world.get_entrance("Quarry -> Lower Quarry").access_rule = \
|
||||
lambda state: has_mask(state, world)
|
||||
world.get_entrance("Lower Quarry -> Rooted Ziggurat").access_rule = \
|
||||
|
Reference in New Issue
Block a user