Combining dynamic exits into one call

This commit is contained in:
codemann8
2022-12-26 13:09:23 -06:00
parent ca28a9654f
commit 3cb90d8221
2 changed files with 9 additions and 10 deletions

14
Main.py
View File

@@ -16,7 +16,7 @@ from OverworldGlitchRules import create_owg_connections
from PotShuffle import shuffle_pots, shuffle_pot_switches
from Regions import create_regions, create_shops, mark_light_dark_world_regions, create_dungeon_regions, adjust_locations
from OWEdges import create_owedges
from OverworldShuffle import link_overworld, update_world_regions, create_flute_exits, create_mirror_exits
from OverworldShuffle import link_overworld, update_world_regions, create_dynamic_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
@@ -231,9 +231,7 @@ def main(args, seed=None, fish=None):
create_shops(world, player)
update_world_regions(world, player)
mark_light_dark_world_regions(world, player)
create_flute_exits(world, player)
create_mirror_exits(world, player)
world.initialize_regions()
create_dynamic_exits(world, player)
logger.info(world.fish.translate("cli","cli","shuffling.world"))
@@ -523,15 +521,13 @@ def copy_world(world):
update_world_regions(ret, player)
if world.logic[player] in ('owglitches', 'nologic'):
create_owg_connections(ret, player)
create_flute_exits(ret, player)
create_mirror_exits(ret, player)
create_dynamic_exits(ret, player)
create_dungeon_regions(ret, player)
create_owedges(ret, player)
create_shops(ret, player)
#create_doors(ret, player)
create_rooms(ret, player)
create_dungeons(ret, player)
world.initialize_regions()
# there are region references here they must be migrated to preserve integrity
# ret.exp_cache = world.exp_cache.copy()
@@ -702,9 +698,7 @@ def copy_world_premature(world, player):
update_world_regions(ret, player)
if world.logic[player] in ('owglitches', 'nologic'):
create_owg_connections(ret, player)
create_flute_exits(ret, player)
create_mirror_exits(ret, player)
world.initialize_regions()
create_dynamic_exits(ret, player)
create_dungeon_regions(ret, player)
create_owedges(ret, player)
create_shops(ret, player)

View File

@@ -864,6 +864,11 @@ def create_mirror_exits(world, player):
elif region.terrain == Terrain.Land:
logging.getLogger('').debug(f'Region has no mirror exit: {region.name}')
def create_dynamic_exits(world, player):
create_flute_exits(world, player)
create_mirror_exits(world, player)
world.initialize_regions()
def categorize_world_regions(world, player):
for type in OWExitTypes:
for exitname in OWExitTypes[type]: