TUNIC: Better logic for Library Lab glass and Fortress leaf piles #3880

This commit is contained in:
Scipio Wright
2024-09-17 17:57:55 -04:00
committed by GitHub
parent dc218b7997
commit 4ea1dddd2f
2 changed files with 26 additions and 2 deletions

View File

@@ -296,9 +296,20 @@ def set_location_rules(world: "TunicWorld") -> None:
set_rule(world.get_location("Frog's Domain - Escape Chest"),
lambda state: state.has_any({grapple, laurels}, player))
# Library Lab
set_rule(world.get_location("Library Lab - Page 1"),
lambda state: has_stick(state, player) or state.has_any((fire_wand, gun), player))
set_rule(world.get_location("Library Lab - Page 2"),
lambda state: has_stick(state, player) or state.has_any((fire_wand, gun), player))
set_rule(world.get_location("Library Lab - Page 3"),
lambda state: has_stick(state, player) or state.has_any((fire_wand, gun), player))
# Eastern Vault Fortress
# yes, you can clear the leaves with dagger
# gun isn't included since it can only break one leaf pile at a time, and we don't check how much mana you have
# but really, I expect the player to just throw a bomb at them if they don't have melee
set_rule(world.get_location("Fortress Leaf Piles - Secret Chest"),
lambda state: state.has(laurels, player))
lambda state: state.has(laurels, player) and (has_stick(state, player) or state.has(ice_dagger, player)))
set_rule(world.get_location("Fortress Arena - Siege Engine/Vault Key Pickup"),
lambda state: has_sword(state, player)
and (has_ability(prayer, state, world)