Fix LW/DW marking in copy_world
This commit is contained in:
4
Main.py
4
Main.py
@@ -16,7 +16,7 @@ from OverworldGlitchRules import create_owg_connections
|
|||||||
from PotShuffle import shuffle_pots
|
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 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 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 EntranceShuffle import link_entrances
|
||||||
from Rom import patch_rom, patch_race_rom, patch_enemizer, apply_rom_settings, LocalRom, JsonRom, get_hash_string
|
from Rom import patch_rom, patch_race_rom, patch_enemizer, apply_rom_settings, LocalRom, JsonRom, get_hash_string
|
||||||
from Doors import create_doors
|
from Doors import create_doors
|
||||||
@@ -162,6 +162,7 @@ def main(args, seed=None, fish=None):
|
|||||||
|
|
||||||
for player in range(1, world.players + 1):
|
for player in range(1, world.players + 1):
|
||||||
link_overworld(world, player)
|
link_overworld(world, player)
|
||||||
|
update_world_regions(world, player)
|
||||||
create_flute_exits(world, player)
|
create_flute_exits(world, player)
|
||||||
|
|
||||||
logger.info(world.fish.translate("cli","cli","shuffling.world"))
|
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):
|
for player in range(1, world.players + 1):
|
||||||
create_regions(ret, player)
|
create_regions(ret, player)
|
||||||
|
update_world_regions(ret, player)
|
||||||
create_flute_exits(ret, player)
|
create_flute_exits(ret, player)
|
||||||
create_dungeon_regions(ret, player)
|
create_dungeon_regions(ret, player)
|
||||||
create_shops(ret, player)
|
create_shops(ret, player)
|
||||||
|
|||||||
@@ -135,13 +135,7 @@ def link_overworld(world, player):
|
|||||||
assert len(swapped_edges) == 0
|
assert len(swapped_edges) == 0
|
||||||
|
|
||||||
#move swapped regions to other world
|
#move swapped regions to other world
|
||||||
if world.owSwap[player] == 'mixed':
|
update_world_regions(world, player)
|
||||||
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
|
|
||||||
|
|
||||||
# make new connections
|
# make new connections
|
||||||
for owid in ow_connections.keys():
|
for owid in ow_connections.keys():
|
||||||
@@ -512,6 +506,13 @@ def create_flute_exits(world, player):
|
|||||||
region.exits.append(exit)
|
region.exits.append(exit)
|
||||||
world.initialize_regions()
|
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 = [
|
test_connections = [
|
||||||
#('Links House ES', 'Octoballoon WS'),
|
#('Links House ES', 'Octoballoon WS'),
|
||||||
#('Links House NE', 'Lost Woods Pass SW')
|
#('Links House NE', 'Lost Woods Pass SW')
|
||||||
|
|||||||
Reference in New Issue
Block a user