Various Mixed OW Shuffle (Inverted) fixes
This commit is contained in:
@@ -225,7 +225,7 @@ def link_entrances(world, player):
|
|||||||
random.shuffle(remaining_entrances)
|
random.shuffle(remaining_entrances)
|
||||||
old_man_entrance = remaining_entrances.pop()
|
old_man_entrance = remaining_entrances.pop()
|
||||||
|
|
||||||
connect_two_way(world, old_man_entrance if not invFlag else 'Bumper Cave (Bottom)', 'Old Man Cave Exit (West)', player)
|
connect_two_way(world, old_man_entrance if invFlag == (0x0a in world.owswaps[player][0] and world.owSwap[player] == 'mixed') else 'Bumper Cave (Bottom)', 'Old Man Cave Exit (West)', player)
|
||||||
connect_two_way(world, old_man_exit, 'Old Man Cave Exit (East)', player)
|
connect_two_way(world, old_man_exit, 'Old Man Cave Exit (East)', player)
|
||||||
if invFlag and old_man_exit == 'Spike Cave':
|
if invFlag and old_man_exit == 'Spike Cave':
|
||||||
bomb_shop_doors.remove('Spike Cave')
|
bomb_shop_doors.remove('Spike Cave')
|
||||||
@@ -469,9 +469,7 @@ def link_entrances(world, player):
|
|||||||
connect_two_way(world, 'Hyrule Castle Entrance (South)', 'Hyrule Castle Exit (South)', player)
|
connect_two_way(world, 'Hyrule Castle Entrance (South)', 'Hyrule Castle Exit (South)', player)
|
||||||
elif invFlag or world.doorShuffle[player] == 'vanilla':
|
elif invFlag or world.doorShuffle[player] == 'vanilla':
|
||||||
caves.append(tuple(random.sample(['Hyrule Castle Exit (South)', 'Hyrule Castle Exit (West)', 'Hyrule Castle Exit (East)'],3)))
|
caves.append(tuple(random.sample(['Hyrule Castle Exit (South)', 'Hyrule Castle Exit (West)', 'Hyrule Castle Exit (East)'],3)))
|
||||||
lw_entrances.append('Hyrule Castle Entrance (South)')
|
lw_entrances.append('Hyrule Castle Entrance (South)')
|
||||||
else:
|
|
||||||
lw_entrances.append('Hyrule Castle Entrance (South)')
|
|
||||||
|
|
||||||
if not world.shuffle_ganon:
|
if not world.shuffle_ganon:
|
||||||
connect_two_way(world, 'Ganons Tower' if not invFlag else 'Agahnims Tower', 'Ganons Tower Exit', player)
|
connect_two_way(world, 'Ganons Tower' if not invFlag else 'Agahnims Tower', 'Ganons Tower Exit', player)
|
||||||
@@ -1166,20 +1164,28 @@ def link_entrances(world, player):
|
|||||||
|
|
||||||
if not world.shuffle_ganon:
|
if not world.shuffle_ganon:
|
||||||
connect_two_way(world, 'Ganons Tower' if not invFlag else 'Agahnims Tower', 'Ganons Tower Exit', player)
|
connect_two_way(world, 'Ganons Tower' if not invFlag else 'Agahnims Tower', 'Ganons Tower Exit', player)
|
||||||
connect_two_way(world, 'Pyramid Entrance' if not invFlag else 'Inverted Pyramid Entrance', 'Pyramid Exit', player)
|
connect_two_way(world, 'Pyramid Entrance' if invFlag == (0x1b in world.owswaps[player][0] and world.owSwap[player] == 'mixed') else 'Inverted Pyramid Entrance', 'Pyramid Exit', player)
|
||||||
connect_entrance(world, 'Pyramid Hole' if not invFlag else 'Inverted Pyramid Hole', 'Pyramid', player)
|
connect_entrance(world, 'Pyramid Hole' if invFlag == (0x1b in world.owswaps[player][0] and world.owSwap[player] == 'mixed') else 'Inverted Pyramid Hole', 'Pyramid', player)
|
||||||
else:
|
else:
|
||||||
caves.extend(['Ganons Tower Exit', 'Pyramid Exit'])
|
caves.extend(['Ganons Tower Exit', 'Pyramid Exit'])
|
||||||
hole_targets.append('Pyramid')
|
hole_targets.append('Pyramid')
|
||||||
|
|
||||||
if not invFlag:
|
if not invFlag:
|
||||||
exit_pool.extend(['Ganons Tower', 'Pyramid Entrance'])
|
exit_pool.extend(['Ganons Tower'])
|
||||||
|
doors.extend(['Ganons Tower'])
|
||||||
|
else:
|
||||||
|
exit_pool.extend(['Agahnims Tower'])
|
||||||
|
doors.extend(['Agahnims Tower'])
|
||||||
|
|
||||||
|
if invFlag == (0x1b in world.owswaps[player][0] and world.owSwap[player] == 'mixed'):
|
||||||
|
exit_pool.extend(['Pyramid Entrance'])
|
||||||
hole_entrances.append('Pyramid Hole')
|
hole_entrances.append('Pyramid Hole')
|
||||||
entrances_must_exits.append('Pyramid Entrance')
|
entrances_must_exits.append('Pyramid Entrance')
|
||||||
doors.extend(['Ganons Tower', 'Pyramid Entrance'])
|
doors.extend(['Pyramid Entrance'])
|
||||||
else:
|
else:
|
||||||
exit_pool.extend(['Agahnims Tower', 'Inverted Pyramid Entrance'])
|
exit_pool.extend(['Inverted Pyramid Entrance'])
|
||||||
hole_entrances.append('Inverted Pyramid Hole')
|
hole_entrances.append('Inverted Pyramid Hole')
|
||||||
doors.extend(['Agahnims Tower', 'Inverted Pyramid Entrance'])
|
doors.extend(['Inverted Pyramid Entrance'])
|
||||||
|
|
||||||
random.shuffle(hole_entrances)
|
random.shuffle(hole_entrances)
|
||||||
random.shuffle(hole_targets)
|
random.shuffle(hole_targets)
|
||||||
@@ -1355,24 +1361,31 @@ def link_entrances(world, player):
|
|||||||
|
|
||||||
if not world.shuffle_ganon:
|
if not world.shuffle_ganon:
|
||||||
connect_two_way(world, 'Ganons Tower', 'Ganons Tower Exit', player)
|
connect_two_way(world, 'Ganons Tower', 'Ganons Tower Exit', player)
|
||||||
if not invFlag:
|
if invFlag == (0x1b in world.owswaps[player][0] and world.owSwap[player] == 'mixed'):
|
||||||
connect_two_way(world, 'Pyramid Entrance', 'Pyramid Exit', player)
|
connect_two_way(world, 'Pyramid Entrance', 'Pyramid Exit', player)
|
||||||
connect_entrance(world, 'Pyramid Hole', 'Pyramid', player)
|
connect_entrance(world, 'Pyramid Hole', 'Pyramid', player)
|
||||||
else:
|
else:
|
||||||
connect_two_way(world, 'Inverted Pyramid Entrance', 'Pyramid Exit', player)
|
connect_two_way(world, 'Inverted Pyramid Entrance', 'Pyramid Exit', player)
|
||||||
connect_entrance(world, 'Inverted Pyramid Hole', 'Pyramid', player)
|
connect_entrance(world, 'Inverted Pyramid Hole', 'Pyramid', player)
|
||||||
else:
|
else:
|
||||||
|
|
||||||
caves.extend(['Ganons Tower Exit', 'Pyramid Exit'])
|
caves.extend(['Ganons Tower Exit', 'Pyramid Exit'])
|
||||||
hole_targets.append('Pyramid')
|
hole_targets.append('Pyramid')
|
||||||
|
|
||||||
if not invFlag:
|
if not invFlag:
|
||||||
|
doors.extend(['Ganons Tower'])
|
||||||
|
exit_pool.extend(['Ganons Tower'])
|
||||||
|
else:
|
||||||
|
doors.extend(['Agahnims Tower'])
|
||||||
|
exit_pool.extend(['Agahnims Tower'])
|
||||||
|
|
||||||
|
if invFlag == (0x1b in world.owswaps[player][0] and world.owSwap[player] == 'mixed'):
|
||||||
hole_entrances.append('Pyramid Hole')
|
hole_entrances.append('Pyramid Hole')
|
||||||
doors.extend(['Agahnims Tower', 'Pyramid Entrance'])
|
doors.extend(['Pyramid Entrance'])
|
||||||
exit_pool.extend(['Agahnims Tower', 'Pyramid Entrance'])
|
exit_pool.extend(['Pyramid Entrance'])
|
||||||
else:
|
else:
|
||||||
hole_entrances.append('Inverted Pyramid Hole')
|
hole_entrances.append('Inverted Pyramid Hole')
|
||||||
doors.extend(['Agahnims Tower', 'Inverted Pyramid Entrance'])
|
doors.extend(['Inverted Pyramid Entrance'])
|
||||||
exit_pool.extend(['Agahnims Tower', 'Inverted Pyramid Entrance'])
|
exit_pool.extend(['Inverted Pyramid Entrance'])
|
||||||
|
|
||||||
random.shuffle(hole_entrances)
|
random.shuffle(hole_entrances)
|
||||||
random.shuffle(hole_targets)
|
random.shuffle(hole_targets)
|
||||||
@@ -1502,7 +1515,7 @@ def link_entrances(world, player):
|
|||||||
world.powder_patch_required[player] = True
|
world.powder_patch_required[player] = True
|
||||||
|
|
||||||
# check for ganon location
|
# check for ganon location
|
||||||
if world.get_entrance('Pyramid Hole' if not invFlag else 'Inverted Pyramid Hole', player).connected_region.name != 'Pyramid':
|
if world.get_entrance('Pyramid Hole' if invFlag == (0x03 in world.owswaps[player][0] and world.owSwap[player] == 'mixed') else 'Inverted Pyramid Hole', player).connected_region.name != 'Pyramid':
|
||||||
world.ganon_at_pyramid[player] = False
|
world.ganon_at_pyramid[player] = False
|
||||||
|
|
||||||
# check for Ganon's Tower location
|
# check for Ganon's Tower location
|
||||||
@@ -2926,12 +2939,12 @@ inverted_default_dungeon_connections = [('Ganons Tower', 'Agahnims Tower Portal'
|
|||||||
indirect_connections = {
|
indirect_connections = {
|
||||||
'Turtle Rock Ledge': 'Turtle Rock',
|
'Turtle Rock Ledge': 'Turtle Rock',
|
||||||
'Pyramid Area': 'Pyramid Fairy',
|
'Pyramid Area': 'Pyramid Fairy',
|
||||||
'East Dark World': 'Pyramid Fairy',
|
#'East Dark World': 'Pyramid Fairy',
|
||||||
'Big Bomb Shop': 'Pyramid Fairy',
|
'Big Bomb Shop': 'Pyramid Fairy',
|
||||||
'Dark Desert': 'Pyramid Fairy',
|
#'Dark Desert': 'Pyramid Fairy',
|
||||||
'West Dark World': 'Pyramid Fairy',
|
#'West Dark World': 'Pyramid Fairy',
|
||||||
'South Dark World': 'Pyramid Fairy',
|
#'South Dark World': 'Pyramid Fairy',
|
||||||
'Light World': 'Pyramid Fairy',
|
#'Light World': 'Pyramid Fairy',
|
||||||
'Old Man Cave': 'Old Man S&Q'
|
'Old Man Cave': 'Old Man S&Q'
|
||||||
}
|
}
|
||||||
# format:
|
# format:
|
||||||
|
|||||||
Reference in New Issue
Block a user