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:
aerinon
2019-10-17 16:35:13 -06:00
parent 7db3c82e70
commit beb15951a0
9 changed files with 397 additions and 111 deletions

20
Main.py
View File

@@ -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)