miketrethewey

OWR Version numbers

Apr 21st, 2021 (edited)
218
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 6.10 KB | None | 0 0
  1. OverworldShuffle.py
  2. ===================
  3. import random
  4. from BaseClasses import OWEdge, WorldType, Direction, Terrain
  5.  
  6. __version__ = '0.1.0.0'
  7.  
  8. BaseClasses.py
  9. ==============
  10.         from Main import __version__ as ERVersion
  11.         from OverworldShuffle import __version__ as OWRVersion
  12.         self.metadata = {'version': ERVersion,
  13.                          'versions': {'DR':ERVersion,'OWR':OWRVersion},
  14.  
  15.     def to_file(self, filename):
  16.         self.parse_data()
  17.         with open(filename, 'w') as outfile:
  18.             line_width = 35
  19.             outfile.write('ALttP Entrance Randomizer - Seed: %s\n\n' % (self.world.seed))
  20.             for k,v in self.metadata["versions"].items():
  21.                 outfile.write((k + ' Version:').ljust(line_width) + '%s\n' % v)
  22.             outfile.write('Filling Algorithm:'.ljust(line_width) + '%s\n' % self.world.algorithm)
  23.             outfile.write('Players:'.ljust(line_width) + '%d\n' % self.world.players)
  24.             outfile.write('Teams:'.ljust(line_width) + '%d\n' % self.world.teams)
  25.             for player in range(1, self.world.players + 1):
  26.                 if self.world.players > 1:
  27.                     outfile.write('\nPlayer %d: %s\n' % (player, self.world.get_player_names(player)))
  28.                 if len(self.hashes) > 0:
  29.                     for team in range(self.world.teams):
  30.                         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]))
  31.                 outfile.write('Settings Code:'.ljust(line_width)                + '%s\n' % self.metadata["code"][player])
  32.                 outfile.write('Logic:'.ljust(line_width)                        + '%s\n' % self.metadata['logic'][player])
  33.                 outfile.write('Mode:'.ljust(line_width)                         + '%s\n' % self.metadata['mode'][player])
  34.                 outfile.write('Retro:'.ljust(line_width)                        + '%s\n' % ('Yes' if self.metadata['retro'][player] else 'No'))
  35.                 outfile.write('Swords:'.ljust(line_width)                       + '%s\n' % self.metadata['weapons'][player])
  36.                 outfile.write('Goal:'.ljust(line_width)                         + '%s\n' % self.metadata['goal'][player])
  37.                 if self.metadata['goal'][player] == 'triforcehunt':
  38.                     outfile.write('Triforce Pieces Required:'.ljust(line_width) + '%s\n' % self.metadata['triforcegoal'][player])
  39.                     outfile.write('Triforce Pieces Total:'.ljust(line_width)    + '%s\n' % self.metadata['triforcepool'][player])
  40.                 outfile.write('Difficulty:'.ljust(line_width) + '%s\n' % self.metadata['item_pool'][player])
  41.                 outfile.write('Item Functionality:'.ljust(line_width)           + '%s\n' % self.metadata['item_functionality'][player])
  42.                 outfile.write('Overworld Shuffle:'.ljust(line_width)            + '%s\n' % self.metadata['ow_shuffle'][player])
  43.                 outfile.write('Entrance Shuffle:'.ljust(line_width)             + '%s\n' % self.metadata['shuffle'][player])
  44.                 outfile.write('Door Shuffle:'.ljust(line_width)                 + '%s\n' % self.metadata['door_shuffle'][player])
  45.                 outfile.write('Intensity:'.ljust(line_width)                    + '%s\n' % self.metadata['intensity'][player])
  46.                 addition = ' (Random)' if self.world.crystals_gt_orig[player] == 'random' else ''
  47.                 outfile.write('Crystals required for GT:'.ljust(line_width)     + '%s\n' % (str(self.metadata['gt_crystals'][player]) + addition))
  48.                 addition = ' (Random)' if self.world.crystals_ganon_orig[player] == 'random' else ''
  49.                 outfile.write('Crystals required for Ganon:'.ljust(line_width)  + '%s\n' % (str(self.metadata['ganon_crystals'][player]) + addition))
  50.                 outfile.write('Pyramid hole pre-opened:'.ljust(line_width)      + '%s\n' % ('Yes' if self.metadata['open_pyramid'][player] else 'No'))
  51.                 outfile.write('Accessibility:'.ljust(line_width)                + '%s\n' % self.metadata['accessibility'][player])
  52.                 outfile.write('Map shuffle:'.ljust(line_width)                  + '%s\n' % ('Yes' if self.metadata['mapshuffle'][player] else 'No'))
  53.                 outfile.write('Compass shuffle:'.ljust(line_width)              + '%s\n' % ('Yes' if self.metadata['compassshuffle'][player] else 'No'))
  54.                 outfile.write('Small Key shuffle:'.ljust(line_width)            + '%s\n' % ('Yes' if self.metadata['keyshuffle'][player] else 'No'))
  55.                 outfile.write('Big Key shuffle:'.ljust(line_width)              + '%s\n' % ('Yes' if self.metadata['bigkeyshuffle'][player] else 'No'))
  56.                 outfile.write('Boss shuffle:'.ljust(line_width)                 + '%s\n' % self.metadata['boss_shuffle'][player])
  57.                 outfile.write('Enemy shuffle:'.ljust(line_width)                + '%s\n' % self.metadata['enemy_shuffle'][player])
  58.                 outfile.write('Enemy health:'.ljust(line_width)                 + '%s\n' % self.metadata['enemy_health'][player])
  59.                 outfile.write('Enemy damage:'.ljust(line_width)                 + '%s\n' % self.metadata['enemy_damage'][player])
  60.                 outfile.write('Hints:'.ljust(line_width)                        + '%s\n' % ('Yes' if self.metadata['hints'][player] else 'No'))
  61.                 outfile.write('Experimental:'.ljust(line_width)                 + '%s\n' % ('Yes' if self.metadata['experimental'][player] else 'No'))
  62.                 outfile.write('Key Drops shuffled:'.ljust(line_width)           + '%s\n' % ('Yes' if self.metadata['keydropshuffle'][player] else 'No'))
  63.                 outfile.write('Shopsanity:'.ljust(line_width)                   + '%s\n' % ('Yes' if self.metadata['shopsanity'][player] else 'No'))
  64.  
  65. Main.py
  66. =======
  67.     logger.info(
  68.       world.fish.translate("cli","cli","app.title") + "\n",
  69.       __version__,
  70.       world.seed
  71.     )
  72.  
  73.     from OverworldShuffle import __version__ as OWRVersion
  74.     for k,v in {"DR":__version__,"OWR":OWRVersion}.items():
  75.       logger.info((k + ' Version:').ljust(16) + '%s' % v)
  76.  
Add Comment
Please, Sign In to add comment