Skip to content

Commit

Permalink
[TLOZ]: Fix rings classification, so they are actually considered for…
Browse files Browse the repository at this point in the history
… logic

We have a whole set of rules set up (Lines 31-38 of Rules.py) to make it so players are not expected to go into dungeons without a certain level of defense, which is n-1 heart containers for each level. We also had it set up that blue ring would reduce the number of containers expected by half, and red ring by a quarter...but currently both rings are classified as useful, meaning they aren't actually considered for logic. I was informed about this a while ago and thought I had already submitted a fix for it, but apparently I forgor. I'm rectifying that now, changing the classification for both rings to progression and also adding a comment to the loop that sets up this defense rule in Rules.py as I kept losing track of where it was.
  • Loading branch information
t3hf1gm3nt committed May 2, 2024
1 parent 49862dc commit 592ca03
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 2 deletions.
4 changes: 2 additions & 2 deletions worlds/tloz/Items.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ class ItemData(typing.NamedTuple):
"Red Candle": ItemData(107, progression),
"Book of Magic": ItemData(108, progression),
"Magical Key": ItemData(109, useful),
"Red Ring": ItemData(110, useful),
"Red Ring": ItemData(110, progression),
"Silver Arrow": ItemData(111, progression),
"Sword": ItemData(112, progression),
"White Sword": ItemData(113, progression),
Expand All @@ -37,7 +37,7 @@ class ItemData(typing.NamedTuple):
"Food": ItemData(120, progression),
"Water of Life (Blue)": ItemData(121, useful),
"Water of Life (Red)": ItemData(122, useful),
"Blue Ring": ItemData(123, useful),
"Blue Ring": ItemData(123, progression),
"Triforce Fragment": ItemData(124, progression),
"Power Bracelet": ItemData(125, useful),
"Small Key": ItemData(126, filler),
Expand Down
1 change: 1 addition & 0 deletions worlds/tloz/Rules.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ def set_rules(tloz_world: "TLoZWorld"):
or location.name not in dangerous_weapon_locations:
add_rule(world.get_location(location.name, player),
lambda state: state.has_group("weapons", player))
# This part of the loop sets up an expected amount of defense needed for each dungeon
if i > 0: # Don't need an extra heart for Level 1
add_rule(world.get_location(location.name, player),
lambda state, hearts=i: state.has("Heart Container", player, hearts) or
Expand Down

0 comments on commit 592ca03

Please sign in to comment.