TLOZ: Move completion condition to be before set_rules is complete (#5391)

This commit is contained in:
Rosalie
2026-01-31 14:08:40 -05:00
committed by GitHub
parent 8662433142
commit c47687dd21
2 changed files with 10 additions and 7 deletions

View File

@@ -12,6 +12,15 @@ def set_rules(tloz_world: "TLoZWorld"):
player = tloz_world.player
options = tloz_world.options
tloz_world.multiworld.completion_condition[player] = lambda state: state.has("Rescued Zelda!", player)
ganon = tloz_world.multiworld.get_location("Ganon", player)
ganon.place_locked_item(tloz_world.create_event("Triforce of Power"))
add_rule(ganon, lambda state: state.has("Silver Arrow", player) and state.has("Bow", player))
tloz_world.multiworld.get_location("Zelda", player).place_locked_item(tloz_world.create_event("Rescued Zelda!"))
add_rule(tloz_world.multiworld.get_location("Zelda", player),
lambda state: state.has("Triforce of Power", player))
# Boss events for a nicer spoiler log play through
for level in range(1, 9):
boss = tloz_world.get_location(f"Level {level} Boss")

View File

@@ -188,14 +188,8 @@ class TLoZWorld(World):
set_rules = set_rules
def generate_basic(self):
ganon = self.multiworld.get_location("Ganon", self.player)
ganon.place_locked_item(self.create_event("Triforce of Power"))
add_rule(ganon, lambda state: state.has("Silver Arrow", self.player) and state.has("Bow", self.player))
pass
self.multiworld.get_location("Zelda", self.player).place_locked_item(self.create_event("Rescued Zelda!"))
add_rule(self.multiworld.get_location("Zelda", self.player),
lambda state: state.has("Triforce of Power", self.player))
self.multiworld.completion_condition[self.player] = lambda state: state.has("Rescued Zelda!", self.player)
def apply_base_patch(self, rom):
# The base patch source is on a different repo, so here's the summary of changes: