OoT: fix incorrect calls to sweep_for_events (#2417)
This commit is contained in:
parent
5669579374
commit
ec70cfc798
|
@ -227,7 +227,8 @@ def set_shop_rules(ootworld):
|
||||||
# The goal is to automatically set item rules based on age requirements in case entrances were shuffled
|
# The goal is to automatically set item rules based on age requirements in case entrances were shuffled
|
||||||
def set_entrances_based_rules(ootworld):
|
def set_entrances_based_rules(ootworld):
|
||||||
|
|
||||||
all_state = ootworld.multiworld.get_all_state(False)
|
all_state = ootworld.get_state_with_complete_itempool()
|
||||||
|
all_state.sweep_for_events(locations=ootworld.get_locations())
|
||||||
|
|
||||||
for location in filter(lambda location: location.type == 'Shop', ootworld.get_locations()):
|
for location in filter(lambda location: location.type == 'Shop', ootworld.get_locations()):
|
||||||
# If a shop is not reachable as adult, it can't have Goron Tunic or Zora Tunic as child can't buy these
|
# If a shop is not reachable as adult, it can't have Goron Tunic or Zora Tunic as child can't buy these
|
||||||
|
|
|
@ -829,8 +829,8 @@ class OOTWorld(World):
|
||||||
# Kill unreachable events that can't be gotten even with all items
|
# Kill unreachable events that can't be gotten even with all items
|
||||||
# Make sure to only kill actual internal events, not in-game "events"
|
# Make sure to only kill actual internal events, not in-game "events"
|
||||||
all_state = self.get_state_with_complete_itempool()
|
all_state = self.get_state_with_complete_itempool()
|
||||||
all_state.sweep_for_events()
|
|
||||||
all_locations = self.get_locations()
|
all_locations = self.get_locations()
|
||||||
|
all_state.sweep_for_events(locations=all_locations)
|
||||||
reachable = self.multiworld.get_reachable_locations(all_state, self.player)
|
reachable = self.multiworld.get_reachable_locations(all_state, self.player)
|
||||||
unreachable = [loc for loc in all_locations if
|
unreachable = [loc for loc in all_locations if
|
||||||
(loc.internal or loc.type == 'Drop') and loc.event and loc.locked and loc not in reachable]
|
(loc.internal or loc.type == 'Drop') and loc.event and loc.locked and loc not in reachable]
|
||||||
|
@ -858,7 +858,7 @@ class OOTWorld(World):
|
||||||
state = base_state.copy()
|
state = base_state.copy()
|
||||||
for item in self.get_pre_fill_items():
|
for item in self.get_pre_fill_items():
|
||||||
self.collect(state, item)
|
self.collect(state, item)
|
||||||
state.sweep_for_events(self.get_locations())
|
state.sweep_for_events(locations=self.get_locations())
|
||||||
return state
|
return state
|
||||||
|
|
||||||
# Prefill shops, songs, and dungeon items
|
# Prefill shops, songs, and dungeon items
|
||||||
|
@ -870,7 +870,7 @@ class OOTWorld(World):
|
||||||
state = CollectionState(self.multiworld)
|
state = CollectionState(self.multiworld)
|
||||||
for item in self.itempool:
|
for item in self.itempool:
|
||||||
self.collect(state, item)
|
self.collect(state, item)
|
||||||
state.sweep_for_events(self.get_locations())
|
state.sweep_for_events(locations=self.get_locations())
|
||||||
|
|
||||||
# Place dungeon items
|
# Place dungeon items
|
||||||
special_fill_types = ['GanonBossKey', 'BossKey', 'SmallKey', 'HideoutSmallKey', 'Map', 'Compass']
|
special_fill_types = ['GanonBossKey', 'BossKey', 'SmallKey', 'HideoutSmallKey', 'Map', 'Compass']
|
||||||
|
|
Loading…
Reference in New Issue