Fixed issue with spoiler output of OW Tile Swaps

This commit is contained in:
codemann8
2021-12-16 15:43:10 -06:00
parent c910785211
commit fdbda7a9c1

View File

@@ -2746,8 +2746,6 @@ class Spoiler(object):
self.overworlds[(entrance, direction, player)] = OrderedDict([('player', player), ('entrance', entrance), ('exit', exit), ('direction', direction)]) self.overworlds[(entrance, direction, player)] = OrderedDict([('player', player), ('entrance', entrance), ('exit', exit), ('direction', direction)])
def set_map(self, type, text, data, player): def set_map(self, type, text, data, player):
if type not in self.maps:
self.maps[type] = {}
if self.world.players == 1: if self.world.players == 1:
self.maps[(type, player)] = OrderedDict([('type', type), ('text', text), ('data', data)]) self.maps[(type, player)] = OrderedDict([('type', type), ('text', text), ('data', data)])
else: else:
@@ -3032,12 +3030,15 @@ class Spoiler(object):
if self.overworlds: if self.overworlds:
outfile.write('\n\nOverworld:\n\n') outfile.write('\n\nOverworld:\n\n')
# overworld tile swaps # overworld tile swaps
if 'swaps' in self.maps: for player in range(1, self.world.players + 1):
outfile.write('OW Tile Swaps:\n') if ('swaps', player) in self.maps:
for player in self.maps['swaps']: outfile.write('OW Tile Swaps:\n')
break
for player in range(1, self.world.players + 1):
if ('swaps', player) in self.maps:
if self.world.players > 1: if self.world.players > 1:
outfile.write(str('(Player ' + str(player) + ')\n')) # player name outfile.write(str('(Player ' + str(player) + ')\n')) # player name
outfile.write(self.maps['swaps'][player]['text'] + '\n\n') outfile.write(self.maps[('swaps', player)]['text'] + '\n\n')
# overworld transitions # overworld transitions
outfile.write('\n'.join(['%s%s %s %s' % (f'{self.world.get_player_names(entry["player"])}: ' if self.world.players > 1 else '', self.world.fish.translate("meta","overworlds",entry['entrance']), '<=>' if entry['direction'] == 'both' else '<=' if entry['direction'] == 'exit' else '=>', self.world.fish.translate("meta","overworlds",entry['exit'])) for entry in self.overworlds.values()])) outfile.write('\n'.join(['%s%s %s %s' % (f'{self.world.get_player_names(entry["player"])}: ' if self.world.players > 1 else '', self.world.fish.translate("meta","overworlds",entry['entrance']), '<=>' if entry['direction'] == 'both' else '<=' if entry['direction'] == 'exit' else '=>', self.world.fish.translate("meta","overworlds",entry['exit'])) for entry in self.overworlds.values()]))