Compare commits

...

2 Commits

Author SHA1 Message Date
Fabian Dill
b1e80f8856 comprehend this 2024-06-20 22:39:10 +02:00
Fabian Dill
f852e64424 Core: allow pushing precollected items into item link worlds. 2024-06-20 22:33:16 +02:00
2 changed files with 16 additions and 2 deletions

View File

@@ -190,6 +190,7 @@ class MultiWorld():
self.worlds[new_id] = world_type.create_group(self, new_id, players)
self.worlds[new_id].collect_item = classmethod(AutoWorld.World.collect_item).__get__(self.worlds[new_id])
self.player_name[new_id] = name
self.precollected_items[new_id] = []
new_group = self.groups[new_id] = Group(name=name, game=game, players=players,
world=self.worlds[new_id])

17
Main.py
View File

@@ -327,8 +327,21 @@ def main(args, seed=None, baked_server_options: Optional[Dict[str, object]] = No
games[slot] = multiworld.game[slot]
slot_info[slot] = NetUtils.NetworkSlot(group["name"], multiworld.game[slot], multiworld.player_types[slot],
group_members=sorted(group["players"]))
precollected_items = {player: [item.code for item in world_precollected if type(item.code) == int]
for player, world_precollected in multiworld.precollected_items.items()}
precollected_items = {player: [] for player in multiworld.player_ids}
for player, world_precollected in multiworld.precollected_items.items():
if not world_precollected:
continue
if player in multiworld.groups:
targets = multiworld.groups[player]["players"]
else:
targets = [player]
current_list = [item.code for item in world_precollected if type(item.code) == int]
for target_player in targets:
precollected_items[target_player].extend(current_list)
precollected_hints = {player: set() for player in range(1, multiworld.players + 1 + len(multiworld.groups))}
for slot in multiworld.player_ids: