Some generation improvements (bk checked better, backtrack added re-attempts)

No logic skips more key logic
Some prototyping new key rules
This commit is contained in:
aerinon
2020-05-12 15:03:39 -06:00
parent 300db22725
commit 337dbf311d
6 changed files with 172 additions and 42 deletions

25
Main.py
View File

@@ -24,7 +24,7 @@ from Fill import distribute_items_cutoff, distribute_items_staleness, distribute
from ItemList import generate_itempool, difficulties, fill_prizes
from Utils import output_path, parse_player_names
__version__ = '0.1.0.1-u'
__version__ = '0.1.0.2-u'
class EnemizerError(RuntimeError):
pass
@@ -145,17 +145,18 @@ def main(args, seed=None, fish=None):
fill_dungeons(world)
for player in range(1, world.players+1):
for key_layout in world.key_layout[player].values():
if not validate_key_placement(key_layout, world, player):
raise RuntimeError(
"%s: %s (%s %d)" %
(
world.fish.translate("cli","cli","keylock.detected"),
key_layout.sector.name,
world.fish.translate("cli","cli","player"),
player
)
)
if world.logic[player] != 'nologic':
for key_layout in world.key_layout[player].values():
if not validate_key_placement(key_layout, world, player):
raise RuntimeError(
"%s: %s (%s %d)" %
(
world.fish.translate("cli", "cli", "keylock.detected"),
key_layout.sector.name,
world.fish.translate("cli", "cli", "player"),
player
)
)
logger.info(world.fish.translate("cli","cli","fill.world"))