Added Customizer support for OWR Layout and Whirlpool Shuffle
This commit is contained in:
@@ -2784,6 +2784,7 @@ class Spoiler(object):
|
||||
self.world = world
|
||||
self.hashes = {}
|
||||
self.overworlds = {}
|
||||
self.whirlpools = {}
|
||||
self.maps = {}
|
||||
self.entrances = {}
|
||||
self.doors = {}
|
||||
@@ -2808,6 +2809,12 @@ class Spoiler(object):
|
||||
else:
|
||||
self.overworlds[(entrance, direction, player)] = OrderedDict([('player', player), ('entrance', entrance), ('exit', exit), ('direction', direction)])
|
||||
|
||||
def set_whirlpool(self, entrance, exit, direction, player):
|
||||
if self.world.players == 1:
|
||||
self.whirlpools[(entrance, direction, player)] = OrderedDict([('entrance', entrance), ('exit', exit), ('direction', direction)])
|
||||
else:
|
||||
self.whirlpools[(entrance, direction, player)] = OrderedDict([('player', player), ('entrance', entrance), ('exit', exit), ('direction', direction)])
|
||||
|
||||
def set_map(self, type, text, data, player):
|
||||
if self.world.players == 1:
|
||||
self.maps[(type, player)] = OrderedDict([('type', type), ('text', text), ('data', data)])
|
||||
@@ -3010,6 +3017,7 @@ class Spoiler(object):
|
||||
self.parse_data()
|
||||
out = OrderedDict()
|
||||
out['Overworld'] = list(self.overworlds.values())
|
||||
out['Whirlpools'] = list(self.whirlpools.values())
|
||||
out['Maps'] = list(self.maps.values())
|
||||
out['Entrances'] = list(self.entrances.values())
|
||||
out['Doors'] = list(self.doors.values())
|
||||
@@ -3181,7 +3189,7 @@ class Spoiler(object):
|
||||
for fairy, bottle in self.bottles.items():
|
||||
outfile.write(f'{fairy}: {bottle}\n')
|
||||
|
||||
if self.overworlds or self.maps:
|
||||
if self.overworlds or self.whirlpools or self.maps:
|
||||
outfile.write('\n\nOverworld:\n\n')
|
||||
|
||||
# flute shuffle
|
||||
@@ -3217,6 +3225,10 @@ class Spoiler(object):
|
||||
outfile.write(str('(Player ' + str(player) + ')\n')) # player name
|
||||
outfile.write(self.maps[('groups', player)]['text'] + '\n\n')
|
||||
|
||||
if self.whirlpools:
|
||||
# whirlpools
|
||||
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","whirlpools",entry['entrance']), '<=>' if entry['direction'] == 'both' else '<=' if entry['direction'] == 'exit' else '=>', self.world.fish.translate("meta","whirlpools",entry['exit'])) for entry in self.whirlpools.values()]))
|
||||
|
||||
if self.overworlds:
|
||||
# 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()]))
|
||||
|
||||
Reference in New Issue
Block a user