merge singularity and duality into one; under the singularity name

This commit is contained in:
Fabian Dill 2020-08-19 21:10:02 +02:00
parent e76887d0bf
commit c2e2c2d5f9
4 changed files with 13 additions and 19 deletions

View File

@ -238,23 +238,17 @@ def place_bosses(world, player: int):
place_boss(world, player, boss, loc, level) place_boss(world, player, boss, loc, level)
elif world.boss_shuffle[player] == "singularity": elif world.boss_shuffle[player] == "singularity":
boss = world.random.choice(anywhere_bosses) primary_boss = world.random.choice(placeable_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])
remaining_boss_locations = [] remaining_boss_locations = []
for loc, level in boss_locations: for loc, level in boss_locations:
#place that boss where it can go # place that boss where it can go
if can_place_boss(world, player, limited_boss, loc, level): if can_place_boss(world, player, primary_boss, loc, level):
place_boss(world, player, limited_boss, loc, level) place_boss(world, player, primary_boss, loc, level)
else: else:
remaining_boss_locations.append((loc, level)) remaining_boss_locations.append((loc, level))
#pick a boss to go into the remaining locations if remaining_boss_locations:
remaining_boss = world.random.choice([boss for boss in placeable_bosses if all( # pick a boss to go into the remaining locations
can_place_boss(world, player, boss, loc, level) for loc, level in remaining_boss_locations)]) remaining_boss = world.random.choice([boss for boss in placeable_bosses if all(
for loc, level in remaining_boss_locations: can_place_boss(world, player, boss, loc, level) for loc, level in remaining_boss_locations)])
place_boss(world, player, remaining_boss, loc, level) for loc, level in remaining_boss_locations:
place_boss(world, player, remaining_boss, loc, level)

View File

@ -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('--skip_playthrough', action='store_true', default=defval(False))
parser.add_argument('--enemizercli', default=defval('EnemizerCLI/EnemizerCLI.Core')) parser.add_argument('--enemizercli', default=defval('EnemizerCLI/EnemizerCLI.Core'))
parser.add_argument('--shufflebosses', default=defval('none'), choices=['none', 'basic', 'normal', 'chaos', parser.add_argument('--shufflebosses', default=defval('none'), choices=['none', 'basic', 'normal', 'chaos',
"singularity", "duality"]) "singularity"])
parser.add_argument('--shuffleenemies', default=defval('none'), parser.add_argument('--shuffleenemies', default=defval('none'),
choices=['none', 'shuffled', 'chaos', 'chaosthieves']) choices=['none', 'shuffled', 'chaos', 'chaosthieves'])
parser.add_argument('--enemy_health', default=defval('default'), parser.add_argument('--enemy_health', default=defval('default'),

2
Gui.py
View File

@ -385,7 +385,7 @@ def guiMain(args=None):
enemizerBossVar = StringVar() enemizerBossVar = StringVar()
enemizerBossVar.set('none') enemizerBossVar.set('none')
enemizerBossOption = OptionMenu(enemizerBossFrame, enemizerBossVar, 'none', 'basic', 'normal', 'chaos', enemizerBossOption = OptionMenu(enemizerBossFrame, enemizerBossVar, 'none', 'basic', 'normal', 'chaos',
"singularity", "duality") "singularity")
enemizerBossOption.pack(side=LEFT) enemizerBossOption.pack(side=LEFT)
enemizerDamageFrame = Frame(enemizerFrame) enemizerDamageFrame = Frame(enemizerFrame)

View File

@ -331,7 +331,7 @@ def roll_settings(weights):
'full': 'normal', 'full': 'normal',
'random': 'chaos', 'random': 'chaos',
'singularity': 'singularity', 'singularity': 'singularity',
'duality': 'duality' 'duality': 'singularity'
}[get_choice('boss_shuffle', weights)] }[get_choice('boss_shuffle', weights)]
ret.shuffleenemies = {'none': 'none', ret.shuffleenemies = {'none': 'none',