Plando: Update treatment of spoiler to new interface.
This commit is contained in:
parent
b6e0956fdb
commit
0e1dc9c4e1
33
Plando.py
33
Plando.py
|
@ -39,25 +39,21 @@ def main(args, seed=None):
|
|||
|
||||
random.seed(world.seed)
|
||||
|
||||
world.spoiler += 'ALttP Plandomizer Version %s - Seed: %s\n\n' % (__version__, args.plando)
|
||||
|
||||
logger.info(world.spoiler)
|
||||
logger.info('ALttP Plandomizer Version %s - Seed: %s\n\n' % (__version__, args.plando))
|
||||
|
||||
create_regions(world)
|
||||
|
||||
world.spoiler += link_entrances(world)
|
||||
link_entrances(world)
|
||||
|
||||
logger.info('Calculating Access Rules.')
|
||||
|
||||
world.spoiler += set_rules(world)
|
||||
set_rules(world)
|
||||
|
||||
logger.info('Fill the world.')
|
||||
|
||||
text_patches = []
|
||||
|
||||
world.spoiler += fill_world(world, args.plando, text_patches)
|
||||
|
||||
world.spoiler += print_location_spoiler(world)
|
||||
fill_world(world, args.plando, text_patches)
|
||||
|
||||
if world.get_entrance('Dam').connected_region.name != 'Dam' or world.get_entrance('Swamp Palace').connected_region.name != 'Swamp Palace (Entrance)':
|
||||
world.swamp_patch_required = True
|
||||
|
@ -65,7 +61,7 @@ def main(args, seed=None):
|
|||
logger.info('Calculating playthrough.')
|
||||
|
||||
try:
|
||||
world.spoiler += create_playthrough(world)
|
||||
create_playthrough(world)
|
||||
except RuntimeError:
|
||||
if args.ignore_unsolvable:
|
||||
pass
|
||||
|
@ -92,8 +88,7 @@ def main(args, seed=None):
|
|||
|
||||
rom.write_to_file('%s.sfc' % outfilebase)
|
||||
if args.create_spoiler:
|
||||
with open('%s_Spoiler.txt' % outfilebase, 'w') as outfile:
|
||||
outfile.write(world.spoiler)
|
||||
world.spoiler.to_file('%s_Spoiler.txt' % outfilebase)
|
||||
|
||||
logger.info('Done. Enjoy.')
|
||||
logger.debug('Total Time: %s' % (time.clock() - start))
|
||||
|
@ -102,7 +97,6 @@ def main(args, seed=None):
|
|||
|
||||
|
||||
def fill_world(world, plando, text_patches):
|
||||
ret = []
|
||||
mm_medallion = 'Ether'
|
||||
tr_medallion = 'Quake'
|
||||
logger = logging.getLogger('')
|
||||
|
@ -180,13 +174,13 @@ def fill_world(world, plando, text_patches):
|
|||
location.event = True
|
||||
elif '<=>' in line:
|
||||
entrance, exit = line.split('<=>', 1)
|
||||
ret.append(connect_two_way(world, entrance.strip(), exit.strip()))
|
||||
connect_two_way(world, entrance.strip(), exit.strip())
|
||||
elif '=>' in line:
|
||||
entrance, exit = line.split('=>', 1)
|
||||
ret.append(connect_entrance(world, entrance.strip(), exit.strip()))
|
||||
connect_entrance(world, entrance.strip(), exit.strip())
|
||||
elif '<=' in line:
|
||||
entrance, exit = line.split('<=', 1)
|
||||
ret.append(connect_exit(world, exit.strip(), entrance.strip()))
|
||||
connect_exit(world, exit.strip(), entrance.strip())
|
||||
|
||||
world.required_medallions = (mm_medallion, tr_medallion)
|
||||
|
||||
|
@ -196,15 +190,6 @@ def fill_world(world, plando, text_patches):
|
|||
world.get_location('Agahnim 2').event = True
|
||||
world.get_location('Agahnim 2').item = ItemFactory('Beat Agahnim 2')
|
||||
|
||||
ret.append('\nMisery Mire Medallion: %s' % mm_medallion)
|
||||
ret.append('Turtle Rock Medallion: %s' % tr_medallion)
|
||||
ret.append('\n')
|
||||
return '\n'.join(ret)
|
||||
|
||||
|
||||
def print_location_spoiler(world):
|
||||
return 'Locations:\n\n' + '\n'.join(['%s: %s' % (location, location.item if location.item is not None else 'Nothing') for location in world.get_locations()]) + '\n\n'
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
parser = argparse.ArgumentParser(formatter_class=argparse.ArgumentDefaultsHelpFormatter)
|
||||
|
|
Loading…
Reference in New Issue