From 5c55f383b1db234d66fd035d6711acdc86581225 Mon Sep 17 00:00:00 2001 From: codemann8 Date: Wed, 23 Jun 2021 11:35:26 -0500 Subject: [PATCH] Made generation fail if issue with no parallel link found --- OverworldShuffle.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/OverworldShuffle.py b/OverworldShuffle.py index 09fc3ea4..bebe398e 100644 --- a/OverworldShuffle.py +++ b/OverworldShuffle.py @@ -189,11 +189,15 @@ def link_overworld(world, player): connected_edges.append(back_edge) if world.owShuffle[player] == 'parallel': if forward_edge in parallel_links.keys() or forward_edge in parallel_links.inverse.keys(): - parallel_forward_edge = parallel_links[forward_edge] if forward_edge in parallel_links.keys() else parallel_links.inverse[forward_edge][0] - parallel_back_edge = parallel_links[back_edge] if back_edge in parallel_links.keys() else parallel_links.inverse[back_edge][0] - connect_two_way(world, parallel_forward_edge, parallel_back_edge, player) - connected_edges.append(parallel_forward_edge) - connected_edges.append(parallel_back_edge) + try: + parallel_forward_edge = parallel_links[forward_edge] if forward_edge in parallel_links.keys() else parallel_links.inverse[forward_edge][0] + parallel_back_edge = parallel_links[back_edge] if back_edge in parallel_links.keys() else parallel_links.inverse[back_edge][0] + connect_two_way(world, parallel_forward_edge, parallel_back_edge, player) + connected_edges.append(parallel_forward_edge) + connected_edges.append(parallel_back_edge) + except KeyError: + # TODO: Figure out why non-parallel edges are getting into parallel groups + raise KeyError('No parallel edge for edge %d' % back_edge) assert len(connected_edges) == len(default_connections) * 2, connected_edges