diff --git a/Main.py b/Main.py index 6bf42916..a9ebf3cf 100644 --- a/Main.py +++ b/Main.py @@ -16,7 +16,7 @@ from OverworldGlitchRules import create_owg_connections from PotShuffle import shuffle_pots from Regions import create_regions, create_shops, mark_light_world_regions, mark_dark_world_regions, create_dungeon_regions, adjust_locations from OWEdges import create_owedges -from OverworldShuffle import link_overworld, create_flute_exits +from OverworldShuffle import link_overworld, update_world_regions, create_flute_exits from EntranceShuffle import link_entrances from Rom import patch_rom, patch_race_rom, patch_enemizer, apply_rom_settings, LocalRom, JsonRom, get_hash_string from Doors import create_doors @@ -162,6 +162,7 @@ def main(args, seed=None, fish=None): for player in range(1, world.players + 1): link_overworld(world, player) + update_world_regions(world, player) create_flute_exits(world, player) logger.info(world.fish.translate("cli","cli","shuffling.world")) @@ -421,6 +422,7 @@ def copy_world(world): for player in range(1, world.players + 1): create_regions(ret, player) + update_world_regions(ret, player) create_flute_exits(ret, player) create_dungeon_regions(ret, player) create_shops(ret, player) diff --git a/OverworldShuffle.py b/OverworldShuffle.py index dc51abab..e80713ae 100644 --- a/OverworldShuffle.py +++ b/OverworldShuffle.py @@ -135,13 +135,7 @@ def link_overworld(world, player): assert len(swapped_edges) == 0 #move swapped regions to other world - if world.owSwap[player] == 'mixed': - for name in world.owswaps[player][1]: - region = world.get_region(name, player) - region.type = RegionType.DarkWorld - for name in world.owswaps[player][2]: - region = world.get_region(name, player) - region.type = RegionType.LightWorld + update_world_regions(world, player) # make new connections for owid in ow_connections.keys(): @@ -512,6 +506,13 @@ def create_flute_exits(world, player): region.exits.append(exit) world.initialize_regions() +def update_world_regions(world, player): + if world.owSwap[player] == 'mixed': + for name in world.owswaps[player][1]: + world.get_region(name, player).type = RegionType.DarkWorld + for name in world.owswaps[player][2]: + world.get_region(name, player).type = RegionType.LightWorld + test_connections = [ #('Links House ES', 'Octoballoon WS'), #('Links House NE', 'Lost Woods Pass SW')