Compare commits

..

4 Commits

Author SHA1 Message Date
NewSoupVi
3bf3ce2da4 Merge branch 'main' into NewSoupVi-patch-2 2024-06-20 07:22:52 +02:00
NewSoupVi
8fae75f577 Update Generate.py 2024-05-24 00:05:01 +02:00
NewSoupVi
8b8a95089c Update Generate.py 2024-05-24 00:04:46 +02:00
NewSoupVi
1e99625f3b Add an option docstring to roll_settings to hopefully prevent the weights fiasco from being repeated 2024-05-24 00:03:25 +02:00
4 changed files with 11 additions and 17 deletions

View File

@@ -190,7 +190,6 @@ 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])

View File

@@ -446,6 +446,14 @@ def handle_option(ret: argparse.Namespace, game_weights: dict, option_key: str,
def roll_settings(weights: dict, plando_options: PlandoOptions = PlandoOptions.bosses):
"""
Roll options from specified weights, usually originating from a .yaml options file.
Important note:
The same weights dict is shared between all slots using the same yaml (e.g. generic weights file for filler slots).
This means it should never be modified without making a deepcopy first.
"""
from worlds import AutoWorldRegister
if "linked_options" in weights:

17
Main.py
View File

@@ -327,21 +327,8 @@ 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: [] 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_items = {player: [item.code for item in world_precollected if type(item.code) == int]
for player, world_precollected in multiworld.precollected_items.items()}
precollected_hints = {player: set() for player in range(1, multiworld.players + 1 + len(multiworld.groups))}
for slot in multiworld.player_ids:

View File

@@ -553,7 +553,7 @@ NOVA|73-4|Happy Otaku Pack Vol.19|True|6|8|10|
Heaven's Gradius|73-5|Happy Otaku Pack Vol.19|True|6|8|10|
Ray Tuning|74-0|CHUNITHM COURSE MUSE|True|6|8|10|
World Vanquisher|74-1|CHUNITHM COURSE MUSE|True|6|8|10|11
Tsukuyomi Ni Naru|74-2|CHUNITHM COURSE MUSE|False|5|7|9|
Territory Battles|74-2|CHUNITHM COURSE MUSE|True|5|7|9|
The wheel to the right|74-3|CHUNITHM COURSE MUSE|True|5|7|9|11
Climax|74-4|CHUNITHM COURSE MUSE|True|4|8|11|11
Spider's Thread|74-5|CHUNITHM COURSE MUSE|True|5|8|10|12