From 9cdc90513be72c2ff8ad2924207de9454c5036c3 Mon Sep 17 00:00:00 2001 From: t3hf1gm3nt <59876300+t3hf1gm3nt@users.noreply.github.com> Date: Sat, 27 Apr 2024 19:49:59 -0400 Subject: [PATCH] [TLOZ]: Dark Rooms and Level 8 Logic Fixes (#3222) Properly name the Book to Book of Magic in Rules.py so you can actually possibly be expected to use Magical Rod plus Book of Magic to get through dark rooms. No wonder we tend to see candles so early oops. Also adding a rule that you need candles for access to Level 8 so you aren't required to time a Rod+Book shot against a moblin to burn the bush. Might make this a logic trick or something later. --- worlds/tloz/Rules.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/worlds/tloz/Rules.py b/worlds/tloz/Rules.py index f8b21bff..ceb1041b 100644 --- a/worlds/tloz/Rules.py +++ b/worlds/tloz/Rules.py @@ -49,7 +49,7 @@ def set_rules(tloz_world: "TLoZWorld"): for location in level.locations: add_rule(world.get_location(location.name, player), lambda state: state.has_group("candles", player) - or (state.has("Magical Rod", player) and state.has("Book", player))) + or (state.has("Magical Rod", player) and state.has("Book of Magic", player))) # Everything from 5 on up has gaps for level in tloz_world.levels[5:]: @@ -84,6 +84,11 @@ def set_rules(tloz_world: "TLoZWorld"): add_rule(world.get_location(location, player), lambda state: state.has_group("swords", player) or state.has("Magical Rod", player)) + # Candle access for Level 8 + for location in tloz_world.levels[8].locations: + add_rule(world.get_location(location.name, player), + lambda state: state.has_group("candles", player)) + add_rule(world.get_location("Level 8 Item (Magical Key)", player), lambda state: state.has("Bow", player) and state.has_group("arrows", player)) if options.ExpandedPool: