diff --git a/ItemList.py b/ItemList.py index d1e44918..5ab84300 100644 --- a/ItemList.py +++ b/ItemList.py @@ -198,7 +198,6 @@ def generate_itempool(world, player): region = world.get_region('Light World',player) loc = Location(player, "Murahdahla", parent=region) - loc.access_rule = lambda state: state.item_count('Triforce Piece', player) + state.item_count('Power Star', player) >= state.world.treasure_hunt_count[player] region.locations.append(loc) world.dynamic_locations.append(loc) @@ -286,7 +285,7 @@ def generate_itempool(world, player): if not found_sword and world.swords[player] != 'swordless': found_sword = True possible_weapons.append(item) - if item in ['Progressive Bow', 'Bow'] and not found_bow: + if item in ['Progressive Bow', 'Bow'] and not found_bow and not world.retro[player]: found_bow = True possible_weapons.append(item) if item in ['Hammer', 'Fire Rod', 'Cane of Somaria', 'Cane of Byrna']: diff --git a/Rules.py b/Rules.py index b9f82ca4..ff1e7024 100644 --- a/Rules.py +++ b/Rules.py @@ -41,6 +41,8 @@ def set_rules(world, player): elif world.goal[player] == 'ganon': # require aga2 to beat ganon add_rule(world.get_location('Ganon', player), lambda state: state.has('Beat Agahnim 2', player)) + elif world.goal[player] == 'triforcehunt': + add_rule(world.get_location('Murahdahla', player), lambda state: state.item_count('Triforce Piece', player) + state.item_count('Power Star', player) >= state.world.treasure_hunt_count[player]) if world.mode[player] != 'inverted': set_big_bomb_rules(world, player)