TUNIC: Fix minimal Heir access in ladder shuffle (#3189)
This commit is contained in:
parent
3e27b93c37
commit
6aafa6ff04
|
@ -986,7 +986,7 @@ def set_er_region_rules(world: "TunicWorld", ability_unlocks: Dict[str, int], re
|
||||||
connecting_region=regions["Spirit Arena Victory"],
|
connecting_region=regions["Spirit Arena Victory"],
|
||||||
rule=lambda state: (state.has(gold_hexagon, player, world.options.hexagon_goal.value) if
|
rule=lambda state: (state.has(gold_hexagon, player, world.options.hexagon_goal.value) if
|
||||||
world.options.hexagon_quest else
|
world.options.hexagon_quest else
|
||||||
state.has_all({red_hexagon, green_hexagon, blue_hexagon}, player)))
|
state.has_all({red_hexagon, green_hexagon, blue_hexagon, "Unseal the Heir"}, player)))
|
||||||
|
|
||||||
# connecting the regions portals are in to other portals you can access via ladder storage
|
# connecting the regions portals are in to other portals you can access via ladder storage
|
||||||
# using has_stick instead of can_ladder_storage since it's already checking the logic rules
|
# using has_stick instead of can_ladder_storage since it's already checking the logic rules
|
||||||
|
|
|
@ -69,7 +69,8 @@ tunic_events: Dict[str, str] = {
|
||||||
"Quarry Fuse": "Quarry",
|
"Quarry Fuse": "Quarry",
|
||||||
"Ziggurat Fuse": "Rooted Ziggurat Lower Back",
|
"Ziggurat Fuse": "Rooted Ziggurat Lower Back",
|
||||||
"West Garden Fuse": "West Garden",
|
"West Garden Fuse": "West Garden",
|
||||||
"Library Fuse": "Library Lab"
|
"Library Fuse": "Library Lab",
|
||||||
|
"Place Questagons": "Sealed Temple",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -77,7 +78,12 @@ def place_event_items(world: "TunicWorld", regions: Dict[str, Region]) -> None:
|
||||||
for event_name, region_name in tunic_events.items():
|
for event_name, region_name in tunic_events.items():
|
||||||
region = regions[region_name]
|
region = regions[region_name]
|
||||||
location = TunicERLocation(world.player, event_name, None, region)
|
location = TunicERLocation(world.player, event_name, None, region)
|
||||||
if event_name.endswith("Bell"):
|
if event_name == "Place Questagons":
|
||||||
|
if world.options.hexagon_quest:
|
||||||
|
continue
|
||||||
|
location.place_locked_item(
|
||||||
|
TunicERItem("Unseal the Heir", ItemClassification.progression, None, world.player))
|
||||||
|
elif event_name.endswith("Bell"):
|
||||||
location.place_locked_item(
|
location.place_locked_item(
|
||||||
TunicERItem("Ring " + event_name, ItemClassification.progression, None, world.player))
|
TunicERItem("Ring " + event_name, ItemClassification.progression, None, world.player))
|
||||||
else:
|
else:
|
||||||
|
|
|
@ -129,7 +129,8 @@ def set_region_rules(world: "TunicWorld", ability_unlocks: Dict[str, int]) -> No
|
||||||
multiworld.get_entrance("Overworld -> Spirit Arena", player).access_rule = \
|
multiworld.get_entrance("Overworld -> Spirit Arena", player).access_rule = \
|
||||||
lambda state: (state.has(gold_hexagon, player, options.hexagon_goal.value) if options.hexagon_quest.value
|
lambda state: (state.has(gold_hexagon, player, options.hexagon_goal.value) if options.hexagon_quest.value
|
||||||
else state.has_all({red_hexagon, green_hexagon, blue_hexagon}, player)) and \
|
else state.has_all({red_hexagon, green_hexagon, blue_hexagon}, player)) and \
|
||||||
has_ability(state, player, prayer, options, ability_unlocks) and has_sword(state, player)
|
has_ability(state, player, prayer, options, ability_unlocks) and has_sword(state, player) and \
|
||||||
|
state.has_any({lantern, laurels}, player)
|
||||||
|
|
||||||
|
|
||||||
def set_location_rules(world: "TunicWorld", ability_unlocks: Dict[str, int]) -> None:
|
def set_location_rules(world: "TunicWorld", ability_unlocks: Dict[str, int]) -> None:
|
||||||
|
|
Loading…
Reference in New Issue