Allow for team shared unknown initial seeds.

This commit is contained in:
CaitSith2 2021-02-22 12:42:14 -08:00
parent a8bace554e
commit 9c50d0ba28
1 changed files with 14 additions and 2 deletions

16
Main.py
View File

@ -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)