Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- OverworldShuffle.py
- ===================
- import random
- from BaseClasses import OWEdge, WorldType, Direction, Terrain
- __version__ = '0.1.0.0'
- BaseClasses.py
- ==============
- from Main import __version__ as ERVersion
- from OverworldShuffle import __version__ as OWRVersion
- self.metadata = {'version': ERVersion,
- 'versions': {'DR':ERVersion,'OWR':OWRVersion},
- def to_file(self, filename):
- self.parse_data()
- with open(filename, 'w') as outfile:
- line_width = 35
- outfile.write('ALttP Entrance Randomizer - Seed: %s\n\n' % (self.world.seed))
- for k,v in self.metadata["versions"].items():
- outfile.write((k + ' Version:').ljust(line_width) + '%s\n' % v)
- outfile.write('Filling Algorithm:'.ljust(line_width) + '%s\n' % self.world.algorithm)
- outfile.write('Players:'.ljust(line_width) + '%d\n' % self.world.players)
- outfile.write('Teams:'.ljust(line_width) + '%d\n' % self.world.teams)
- for player in range(1, self.world.players + 1):
- if self.world.players > 1:
- outfile.write('\nPlayer %d: %s\n' % (player, self.world.get_player_names(player)))
- if len(self.hashes) > 0:
- for team in range(self.world.teams):
- outfile.write('%s%s\n' % (f"Hash - {self.world.player_names[player][team]} (Team {team+1}): " if self.world.teams > 1 else 'Hash: ', self.hashes[player, team]))
- outfile.write('Settings Code:'.ljust(line_width) + '%s\n' % self.metadata["code"][player])
- outfile.write('Logic:'.ljust(line_width) + '%s\n' % self.metadata['logic'][player])
- outfile.write('Mode:'.ljust(line_width) + '%s\n' % self.metadata['mode'][player])
- outfile.write('Retro:'.ljust(line_width) + '%s\n' % ('Yes' if self.metadata['retro'][player] else 'No'))
- outfile.write('Swords:'.ljust(line_width) + '%s\n' % self.metadata['weapons'][player])
- outfile.write('Goal:'.ljust(line_width) + '%s\n' % self.metadata['goal'][player])
- if self.metadata['goal'][player] == 'triforcehunt':
- outfile.write('Triforce Pieces Required:'.ljust(line_width) + '%s\n' % self.metadata['triforcegoal'][player])
- outfile.write('Triforce Pieces Total:'.ljust(line_width) + '%s\n' % self.metadata['triforcepool'][player])
- outfile.write('Difficulty:'.ljust(line_width) + '%s\n' % self.metadata['item_pool'][player])
- outfile.write('Item Functionality:'.ljust(line_width) + '%s\n' % self.metadata['item_functionality'][player])
- outfile.write('Overworld Shuffle:'.ljust(line_width) + '%s\n' % self.metadata['ow_shuffle'][player])
- outfile.write('Entrance Shuffle:'.ljust(line_width) + '%s\n' % self.metadata['shuffle'][player])
- outfile.write('Door Shuffle:'.ljust(line_width) + '%s\n' % self.metadata['door_shuffle'][player])
- outfile.write('Intensity:'.ljust(line_width) + '%s\n' % self.metadata['intensity'][player])
- addition = ' (Random)' if self.world.crystals_gt_orig[player] == 'random' else ''
- outfile.write('Crystals required for GT:'.ljust(line_width) + '%s\n' % (str(self.metadata['gt_crystals'][player]) + addition))
- addition = ' (Random)' if self.world.crystals_ganon_orig[player] == 'random' else ''
- outfile.write('Crystals required for Ganon:'.ljust(line_width) + '%s\n' % (str(self.metadata['ganon_crystals'][player]) + addition))
- outfile.write('Pyramid hole pre-opened:'.ljust(line_width) + '%s\n' % ('Yes' if self.metadata['open_pyramid'][player] else 'No'))
- outfile.write('Accessibility:'.ljust(line_width) + '%s\n' % self.metadata['accessibility'][player])
- outfile.write('Map shuffle:'.ljust(line_width) + '%s\n' % ('Yes' if self.metadata['mapshuffle'][player] else 'No'))
- outfile.write('Compass shuffle:'.ljust(line_width) + '%s\n' % ('Yes' if self.metadata['compassshuffle'][player] else 'No'))
- outfile.write('Small Key shuffle:'.ljust(line_width) + '%s\n' % ('Yes' if self.metadata['keyshuffle'][player] else 'No'))
- outfile.write('Big Key shuffle:'.ljust(line_width) + '%s\n' % ('Yes' if self.metadata['bigkeyshuffle'][player] else 'No'))
- outfile.write('Boss shuffle:'.ljust(line_width) + '%s\n' % self.metadata['boss_shuffle'][player])
- outfile.write('Enemy shuffle:'.ljust(line_width) + '%s\n' % self.metadata['enemy_shuffle'][player])
- outfile.write('Enemy health:'.ljust(line_width) + '%s\n' % self.metadata['enemy_health'][player])
- outfile.write('Enemy damage:'.ljust(line_width) + '%s\n' % self.metadata['enemy_damage'][player])
- outfile.write('Hints:'.ljust(line_width) + '%s\n' % ('Yes' if self.metadata['hints'][player] else 'No'))
- outfile.write('Experimental:'.ljust(line_width) + '%s\n' % ('Yes' if self.metadata['experimental'][player] else 'No'))
- outfile.write('Key Drops shuffled:'.ljust(line_width) + '%s\n' % ('Yes' if self.metadata['keydropshuffle'][player] else 'No'))
- outfile.write('Shopsanity:'.ljust(line_width) + '%s\n' % ('Yes' if self.metadata['shopsanity'][player] else 'No'))
- Main.py
- =======
- logger.info(
- world.fish.translate("cli","cli","app.title") + "\n",
- __version__,
- world.seed
- )
- from OverworldShuffle import __version__ as OWRVersion
- for k,v in {"DR":__version__,"OWR":OWRVersion}.items():
- logger.info((k + ' Version:').ljust(16) + '%s' % v)
Add Comment
Please, Sign In to add comment