Add all-moldorm boss mode

This commit is contained in:
2023-09-16 10:21:21 -05:00
parent 6ecf4a0cb5
commit 8917a0251d
3 changed files with 16 additions and 3 deletions

View File

@@ -3711,7 +3711,7 @@ e_dmg = {"default": 0, "shuffled": 1, "random": 2}
rb_mode = {"none": 0, "mapcompass": 1, "dungeon": 2}
# algorithm:
algo_mode = {"balanced": 0, "equitable": 1, "vanilla_fill": 2, "dungeon_only": 3, "district": 4, 'major_only': 5}
boss_mode = {"none": 0, "simple": 1, "full": 2, "chaos": 3, 'random': 3, 'unique': 4}
boss_mode = {"none": 0, "simple": 1, "full": 2, "chaos": 3, 'random': 3, 'unique': 4, 'moldorm': 5}
# byte 10: settings_version

View File

@@ -225,7 +225,7 @@ def place_bosses(world, player):
bosses.remove(boss)
place_boss(boss, level, loc, loc_text, world, player)
elif world.boss_shuffle[player] == "random": #all bosses chosen at random
elif world.boss_shuffle[player] == "random": # all bosses chosen at random
for [loc, level] in boss_locations:
loc_text = loc + (' ('+level+')' if level else '')
try:
@@ -233,6 +233,18 @@ def place_bosses(world, player):
except IndexError:
raise FillError('Could not place boss for location %s' % loc_text)
place_boss(boss, level, loc, loc_text, world, player)
elif world.boss_shuffle[player] == "moldorm": # all bosses Moldorm
for [loc, level] in boss_locations:
loc_text = loc + (' ('+level+')' if level else '')
try:
if can_place_boss(world, player, 'Moldorm', loc, level):
boss = 'Moldorm'
else:
boss = random.choice([b for b in placeable_bosses if can_place_boss(world, player, b, loc, level)])
except IndexError:
raise FillError('Could not place boss for location %s' % loc_text)
place_boss(boss, level, loc, loc_text, world, player)
elif world.boss_shuffle[player] == 'unique':
bosses = list(placeable_bosses)

View File

@@ -565,7 +565,8 @@
"simple",
"unique",
"full",
"random"
"random",
"moldorm"
]
},
"shuffleenemies": {