From b8f78af5065c7e62bc3ed8e6fa71637d5a81f2c6 Mon Sep 17 00:00:00 2001 From: Scipio Wright Date: Thu, 27 Jun 2024 08:01:35 -0400 Subject: [PATCH] TUNIC: Fix minor logic bug in upper Zig (#3576) * Add note about bushes to logic section of readme * Fix missing logic on bridge switch chest in upper zig * Revise upper zig rule change to account for ER --- worlds/tunic/er_rules.py | 4 +++- worlds/tunic/rules.py | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/worlds/tunic/er_rules.py b/worlds/tunic/er_rules.py index bbee212f..2706d959 100644 --- a/worlds/tunic/er_rules.py +++ b/worlds/tunic/er_rules.py @@ -1464,8 +1464,10 @@ def set_er_location_rules(world: "TunicWorld", ability_unlocks: Dict[str, int]) lambda state: state.has(laurels, player)) # Ziggurat + # if ER is off, you still need to get past the Admin or you'll get stuck in lower zig set_rule(multiworld.get_location("Rooted Ziggurat Upper - Near Bridge Switch", player), - lambda state: has_sword(state, player) or state.has(fire_wand, player)) + lambda state: has_sword(state, player) or (state.has(fire_wand, player) and (state.has(laurels, player) + or options.entrance_rando))) set_rule(multiworld.get_location("Rooted Ziggurat Lower - After Guarded Fuse", player), lambda state: has_sword(state, player) and has_ability(state, player, prayer, options, ability_unlocks)) diff --git a/worlds/tunic/rules.py b/worlds/tunic/rules.py index e0a2c305..e6bc4901 100644 --- a/worlds/tunic/rules.py +++ b/worlds/tunic/rules.py @@ -304,6 +304,8 @@ def set_location_rules(world: "TunicWorld", ability_unlocks: Dict[str, int]) -> # Quarry set_rule(multiworld.get_location("Quarry - [Central] Above Ladder Dash Chest", player), lambda state: state.has(laurels, player)) + set_rule(multiworld.get_location("Rooted Ziggurat Upper - Near Bridge Switch", player), + lambda state: has_sword(state, player) or state.has_all({fire_wand, laurels}, player)) # nmg - kill boss scav with orb + firecracker, or similar set_rule(multiworld.get_location("Rooted Ziggurat Lower - Hexagon Blue", player), lambda state: has_sword(state, player) or (state.has(grapple, player) and options.logic_rules))