Skull Woods added
Fixed polarity for stairs Some swamp fixes Prep work for dungeons that can require traversal through overworld - like skull woods Special case for pinball room so it can be in Skull 2 or Skull 1
This commit is contained in:
20
Main.py
20
Main.py
@@ -58,11 +58,6 @@ def main(args, seed=None):
|
||||
create_rooms(world, player)
|
||||
create_dungeons(world, player)
|
||||
|
||||
logger.info('Shuffling dungeons')
|
||||
|
||||
for player in range(1, world.players + 1):
|
||||
link_doors(world, player)
|
||||
|
||||
logger.info('Shuffling the World about.')
|
||||
|
||||
if world.mode != 'inverted':
|
||||
@@ -76,6 +71,13 @@ def main(args, seed=None):
|
||||
|
||||
mark_dark_world_regions(world)
|
||||
|
||||
logger.info('Shuffling dungeons')
|
||||
|
||||
for player in range(1, world.players + 1):
|
||||
link_doors(world, player)
|
||||
|
||||
# todo: mark regions after linking doors - for bunny logic?
|
||||
|
||||
logger.info('Generating Item Pool.')
|
||||
|
||||
for player in range(1, world.players + 1):
|
||||
@@ -89,7 +91,7 @@ def main(args, seed=None):
|
||||
# todo: remove this later. this is for debugging
|
||||
for player in range(1, world.players + 1):
|
||||
all_state = world.get_all_state(keys=True)
|
||||
for bossregion in ['Eastern Boss', 'Desert Boss', 'Hera Boss', 'Tower Agahnim 1', 'PoD Boss', 'Swamp Boss']:
|
||||
for bossregion in ['Eastern Boss', 'Desert Boss', 'Hera Boss', 'Tower Agahnim 1', 'PoD Boss', 'Swamp Boss', 'Skull Boss']:
|
||||
if world.get_region(bossregion, player) not in all_state.reachable_regions[player]:
|
||||
raise Exception(bossregion + ' missing from generation')
|
||||
|
||||
@@ -274,6 +276,12 @@ def copy_world(world):
|
||||
ret.precollected_items = world.precollected_items.copy()
|
||||
ret.state.stale = {player: True for player in range(1, world.players + 1)}
|
||||
|
||||
ret.doors = world.doors
|
||||
ret.paired_doors = world.paired_doors
|
||||
ret.rooms = world.rooms
|
||||
ret.inaccessible_regions = world.inaccessible_regions
|
||||
ret.dungeon_layouts = world.dungeon_layouts
|
||||
|
||||
for player in range(1, world.players + 1):
|
||||
set_rules(ret, player)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user