Use a proper multiset for progression items

This can cut generation times in half in some cases
This commit is contained in:
Kevin Cathcart
2019-07-13 18:17:16 -04:00
parent dcca15eda7
commit 6d5a0a004d
11 changed files with 1909 additions and 29 deletions

View File

@@ -227,7 +227,7 @@ def copy_world(world):
ret.itempool.append(Item(item.name, item.advancement, item.priority, item.type, player = item.player))
# copy progress items in state
ret.state.prog_items = list(world.state.prog_items)
ret.state.prog_items = world.state.prog_items.copy()
ret.state.stale = {player: True for player in range(1, world.players + 1)}
for player in range(1, world.players + 1):