some er layout group fixes
This commit is contained in:
parent
58d748d7ff
commit
cd5696527d
17
Main.py
17
Main.py
|
@ -34,13 +34,12 @@ def get_seed(seed=None):
|
|||
return seed
|
||||
|
||||
|
||||
seeds: Dict[tuple, str] = dict()
|
||||
|
||||
|
||||
def get_same_seed(world: World, seed_def: tuple) -> str:
|
||||
seeds: Dict[tuple, str] = getattr(world, "__named_seeds", {})
|
||||
if seed_def in seeds:
|
||||
return seeds[seed_def]
|
||||
seeds[seed_def] = str(world.random.randint(0, 2 ** 64))
|
||||
world.__named_seeds = seeds
|
||||
return seeds[seed_def]
|
||||
|
||||
|
||||
|
@ -117,9 +116,15 @@ def main(args, seed=None):
|
|||
world.shuffle[player] = shuffle
|
||||
if shuffle == "vanilla":
|
||||
world.er_seeds[player] = "vanilla"
|
||||
elif seed.startswith("team-"):
|
||||
elif seed.startswith("group-"): # renamed from team to group to not confuses with existing team name use
|
||||
world.er_seeds[player] = get_same_seed(world, (shuffle, seed, world.retro[player], world.mode[player], world.logic[player]))
|
||||
else:
|
||||
elif seed.startswith("team-"): # TODO: remove on breaking_changes
|
||||
world.er_seeds[player] = get_same_seed(world, (shuffle, seed, world.retro[player], world.mode[player], world.logic[player]))
|
||||
elif not args.race:
|
||||
world.er_seeds[player] = seed
|
||||
elif seed: # race but with a set seed, ignore set seed and use group logic instead
|
||||
world.er_seeds[player] = get_same_seed(world, (shuffle, seed, world.retro[player], world.mode[player], world.logic[player]))
|
||||
else: # race but without a set seed
|
||||
world.er_seeds[player] = seed
|
||||
elif world.shuffle[player] == "vanilla":
|
||||
world.er_seeds[player] = "vanilla"
|
||||
|
@ -293,7 +298,7 @@ def main(args, seed=None):
|
|||
apply_rom_settings(rom, args.heartbeep[player], args.heartcolor[player], args.quickswap[player],
|
||||
args.fastmenu[player], args.disablemusic[player], args.sprite[player],
|
||||
palettes_options, world, player, True,
|
||||
reduceflashing=args.reduceflashing[player] if not args.race else True,
|
||||
reduceflashing=args.reduceflashing[player] or args.race,
|
||||
triforcehud=args.triforcehud[player])
|
||||
|
||||
mcsb_name = ''
|
||||
|
|
7
Utils.py
7
Utils.py
|
@ -13,7 +13,7 @@ class Version(typing.NamedTuple):
|
|||
micro: int
|
||||
|
||||
|
||||
__version__ = "4.1.0"
|
||||
__version__ = "4.1.1"
|
||||
_version_tuple = tuplize_version(__version__)
|
||||
|
||||
import os
|
||||
|
@ -54,7 +54,10 @@ def snes_to_pc(value):
|
|||
def parse_player_names(names, players, teams):
|
||||
names = tuple(n for n in (n.strip() for n in names.split(",")) if n)
|
||||
if len(names) != len(set(names)):
|
||||
raise ValueError("Duplicate Player names is not supported.")
|
||||
import collections
|
||||
name_counter = collections.Counter(names)
|
||||
raise ValueError(f"Duplicate Player names is not supported, "
|
||||
f'found multiple "{name_counter.most_common(1)[0][0]}".')
|
||||
ret = []
|
||||
while names or len(ret) < teams:
|
||||
team = [n[:16] for n in names[:players]]
|
||||
|
|
|
@ -90,6 +90,7 @@ entrance_shuffle: # Documentation: https://alttpr.com/en/options#entrance_shuffl
|
|||
# you can also define entrance shuffle seed, like so:
|
||||
crossed-1000: 0 # using this method, you can have the same layout as another player and share entrance information
|
||||
# however, many other settings like logic, world state, retro etc. may affect the shuffle result as well.
|
||||
crossed-group-myfriends: 0 # using this method, everyone with "group-myfriends" will share the same seed
|
||||
goals:
|
||||
ganon: 50 # Climb GT, defeat Agahnim 2, and then kill Ganon
|
||||
fast_ganon: 0 # Only killing Ganon is required. However, items may still be placed in GT
|
||||
|
|
Loading…
Reference in New Issue