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 Fill import distribute_items_restrictive, flood_items, balance_multiworld_progression, distribute_planned
|
||||||
from ItemPool import generate_itempool, difficulties, fill_prizes
|
from ItemPool import generate_itempool, difficulties, fill_prizes
|
||||||
from Utils import output_path, parse_player_names, get_options, __version__, _version_tuple
|
from Utils import output_path, parse_player_names, get_options, __version__, _version_tuple
|
||||||
|
from typing import Dict
|
||||||
import Patch
|
import Patch
|
||||||
|
|
||||||
seeddigits = 20
|
seeddigits = 20
|
||||||
|
@ -33,6 +34,14 @@ def get_seed(seed=None):
|
||||||
return seed
|
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):
|
def main(args, seed=None):
|
||||||
if args.outputpath:
|
if args.outputpath:
|
||||||
os.makedirs(args.outputpath, exist_ok=True)
|
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))
|
world.er_seeds[player] = str(world.random.randint(0, 2 ** 64))
|
||||||
|
|
||||||
if "-" in world.shuffle[player]:
|
if "-" in world.shuffle[player]:
|
||||||
shuffle, seed = world.shuffle[player].split("-")
|
shuffle, seed = world.shuffle[player].split("-", 1)
|
||||||
world.shuffle[player] = shuffle
|
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)
|
logger.info('ALttP Berserker\'s Multiworld Version %s - Seed: %s\n', __version__, world.seed)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue