[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.
This commit is contained in:
t3hf1gm3nt 2024-04-27 19:49:59 -04:00 committed by GitHub
parent 9afe45166c
commit 9cdc90513b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 6 additions and 1 deletions

View File

@ -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: