From 73e41cb701f6c17385def548f9b96e5f4b74b1fd Mon Sep 17 00:00:00 2001 From: Aaron Wagener Date: Sat, 13 Jan 2024 19:57:53 -0600 Subject: [PATCH] Core: migrate start_inventory_from_pool to new options API (#2666) * Core: migrate start_inventory_from_pool to new options API * get the other spot too * skip {} * oops Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com> --------- Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com> --- Main.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/Main.py b/Main.py index 8dac8f7d..e49d8e78 100644 --- a/Main.py +++ b/Main.py @@ -114,7 +114,9 @@ def main(args, seed=None, baked_server_options: Optional[Dict[str, object]] = No for _ in range(count): world.push_precollected(world.create_item(item_name, player)) - for item_name, count in world.start_inventory_from_pool.setdefault(player, StartInventoryPool({})).value.items(): + for item_name, count in getattr(world.worlds[player].options, + "start_inventory_from_pool", + StartInventoryPool({})).value.items(): for _ in range(count): world.push_precollected(world.create_item(item_name, player)) # remove from_pool items also from early items handling, as starting is plenty early. @@ -167,10 +169,14 @@ def main(args, seed=None, baked_server_options: Optional[Dict[str, object]] = No # remove starting inventory from pool items. # Because some worlds don't actually create items during create_items this has to be as late as possible. - if any(world.start_inventory_from_pool[player].value for player in world.player_ids): + if any(getattr(world.worlds[player].options, "start_inventory_from_pool", None) for player in world.player_ids): new_items: List[Item] = [] depletion_pool: Dict[int, Dict[str, int]] = { - player: world.start_inventory_from_pool[player].value.copy() for player in world.player_ids} + player: getattr(world.worlds[player].options, + "start_inventory_from_pool", + StartInventoryPool({})).value.copy() + for player in world.player_ids + } for player, items in depletion_pool.items(): player_world: AutoWorld.World = world.worlds[player] for count in items.values():