Fill: fix type-crash on unfilled having either str or Location
Fill: speed up Counter creation by skipping intermediary list creation
This commit is contained in:
parent
45bca78e75
commit
90d506ee7c
10
Fill.py
10
Fill.py
|
@ -220,15 +220,15 @@ def distribute_items_restrictive(world: MultiWorld) -> None:
|
||||||
restitempool, defaultlocations = fast_fill(
|
restitempool, defaultlocations = fast_fill(
|
||||||
world, restitempool, defaultlocations)
|
world, restitempool, defaultlocations)
|
||||||
unplaced = progitempool + restitempool
|
unplaced = progitempool + restitempool
|
||||||
unfilled = [location.name for location in defaultlocations]
|
unfilled = defaultlocations
|
||||||
|
|
||||||
if unplaced or unfilled:
|
if unplaced or unfilled:
|
||||||
logging.warning(
|
logging.warning(
|
||||||
f'Unplaced items({len(unplaced)}): {unplaced} - Unfilled Locations({len(unfilled)}): {unfilled}')
|
f'Unplaced items({len(unplaced)}): {unplaced} - Unfilled Locations({len(unfilled)}): {unfilled}')
|
||||||
items_counter = Counter([location.item.player for location in world.get_locations() if location.item])
|
items_counter = Counter(location.item.player for location in world.get_locations() if location.item)
|
||||||
locations_counter = Counter([location.player for location in world.get_locations()])
|
locations_counter = Counter(location.player for location in world.get_locations())
|
||||||
items_counter.update([item.player for item in unplaced])
|
items_counter.update(item.player for item in unplaced)
|
||||||
locations_counter.update([location.player for location in unfilled])
|
locations_counter.update(location.player for location in unfilled)
|
||||||
print_data = {"items": items_counter, "locations": locations_counter}
|
print_data = {"items": items_counter, "locations": locations_counter}
|
||||||
logging.info(f'Per-Player counts: {print_data})')
|
logging.info(f'Per-Player counts: {print_data})')
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue