diff --git a/Bosses.py b/Bosses.py index df561fb3..70932602 100644 --- a/Bosses.py +++ b/Bosses.py @@ -238,23 +238,17 @@ def place_bosses(world, player: int): place_boss(world, player, boss, loc, level) elif world.boss_shuffle[player] == "singularity": - boss = world.random.choice(anywhere_bosses) - for loc, level in boss_locations: - place_boss(world, player, boss, loc, level) - - elif world.boss_shuffle[player] == "duality": - # pick a boss that can only appear in some places - limited_boss = world.random.choice([boss for boss in placeable_bosses if boss not in anywhere_bosses]) - + primary_boss = world.random.choice(placeable_bosses) remaining_boss_locations = [] for loc, level in boss_locations: - #place that boss where it can go - if can_place_boss(world, player, limited_boss, loc, level): - place_boss(world, player, limited_boss, loc, level) + # place that boss where it can go + if can_place_boss(world, player, primary_boss, loc, level): + place_boss(world, player, primary_boss, loc, level) else: remaining_boss_locations.append((loc, level)) - #pick a boss to go into the remaining locations - remaining_boss = world.random.choice([boss for boss in placeable_bosses if all( - can_place_boss(world, player, boss, loc, level) for loc, level in remaining_boss_locations)]) - for loc, level in remaining_boss_locations: - place_boss(world, player, remaining_boss, loc, level) + if remaining_boss_locations: + # pick a boss to go into the remaining locations + remaining_boss = world.random.choice([boss for boss in placeable_bosses if all( + can_place_boss(world, player, boss, loc, level) for loc, level in remaining_boss_locations)]) + for loc, level in remaining_boss_locations: + place_boss(world, player, remaining_boss, loc, level) diff --git a/EntranceRandomizer.py b/EntranceRandomizer.py index b47a5f10..263d9c23 100755 --- a/EntranceRandomizer.py +++ b/EntranceRandomizer.py @@ -292,7 +292,7 @@ def parse_arguments(argv, no_defaults=False): parser.add_argument('--skip_playthrough', action='store_true', default=defval(False)) parser.add_argument('--enemizercli', default=defval('EnemizerCLI/EnemizerCLI.Core')) parser.add_argument('--shufflebosses', default=defval('none'), choices=['none', 'basic', 'normal', 'chaos', - "singularity", "duality"]) + "singularity"]) parser.add_argument('--shuffleenemies', default=defval('none'), choices=['none', 'shuffled', 'chaos', 'chaosthieves']) parser.add_argument('--enemy_health', default=defval('default'), diff --git a/Gui.py b/Gui.py index 16ca9d06..02051760 100755 --- a/Gui.py +++ b/Gui.py @@ -385,7 +385,7 @@ def guiMain(args=None): enemizerBossVar = StringVar() enemizerBossVar.set('none') enemizerBossOption = OptionMenu(enemizerBossFrame, enemizerBossVar, 'none', 'basic', 'normal', 'chaos', - "singularity", "duality") + "singularity") enemizerBossOption.pack(side=LEFT) enemizerDamageFrame = Frame(enemizerFrame) diff --git a/Mystery.py b/Mystery.py index cb82af83..ca33c987 100644 --- a/Mystery.py +++ b/Mystery.py @@ -331,7 +331,7 @@ def roll_settings(weights): 'full': 'normal', 'random': 'chaos', 'singularity': 'singularity', - 'duality': 'duality' + 'duality': 'singularity' }[get_choice('boss_shuffle', weights)] ret.shuffleenemies = {'none': 'none',