Allow for team shared unknown initial seeds.
This commit is contained in:
parent
a8bace554e
commit
9c50d0ba28
16
Main.py
16
Main.py
|
@ -21,6 +21,7 @@ from Dungeons import create_dungeons, fill_dungeons, fill_dungeons_restrictive
|
|||
from Fill import distribute_items_restrictive, flood_items, balance_multiworld_progression, distribute_planned
|
||||
from ItemPool import generate_itempool, difficulties, fill_prizes
|
||||
from Utils import output_path, parse_player_names, get_options, __version__, _version_tuple
|
||||
from typing import Dict
|
||||
import Patch
|
||||
|
||||
seeddigits = 20
|
||||
|
@ -33,6 +34,14 @@ def get_seed(seed=None):
|
|||
return seed
|
||||
|
||||
|
||||
seeds: Dict[tuple, str] = dict()
|
||||
def get_same_seed(world: World, seed_def: tuple) -> str:
|
||||
if seed_def in seeds:
|
||||
return seeds[seed_def]
|
||||
seeds[seed_def] = str(world.random.randint(0, 2 ** 64))
|
||||
return seeds[seed_def]
|
||||
|
||||
|
||||
def main(args, seed=None):
|
||||
if args.outputpath:
|
||||
os.makedirs(args.outputpath, exist_ok=True)
|
||||
|
@ -102,9 +111,12 @@ def main(args, seed=None):
|
|||
world.er_seeds[player] = str(world.random.randint(0, 2 ** 64))
|
||||
|
||||
if "-" in world.shuffle[player]:
|
||||
shuffle, seed = world.shuffle[player].split("-")
|
||||
shuffle, seed = world.shuffle[player].split("-", 1)
|
||||
world.shuffle[player] = shuffle
|
||||
world.er_seeds[player] = seed
|
||||
if seed.startswith("team-"):
|
||||
world.er_seeds[player] = get_same_seed(world, (shuffle, seed, world.retro, world.mode, world.logic))
|
||||
else:
|
||||
world.er_seeds[player] = seed
|
||||
|
||||
logger.info('ALttP Berserker\'s Multiworld Version %s - Seed: %s\n', __version__, world.seed)
|
||||
|
||||
|
|
Loading…
Reference in New Issue