Fixed Swapped ER so that remaining cave placements in mandatory exits cannot choose vanilla
This commit is contained in:
22
docs/presets/Swapkeys.yaml
Normal file
22
docs/presets/Swapkeys.yaml
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
meta:
|
||||||
|
branch: OWR
|
||||||
|
seed_name: Swapkeys
|
||||||
|
seed_notes: Crosskeys but Swapped ER
|
||||||
|
settings:
|
||||||
|
1:
|
||||||
|
mode: open
|
||||||
|
logic: noglitches
|
||||||
|
goal: crystals
|
||||||
|
crystals_gt: "7"
|
||||||
|
crystals_ganon: "7"
|
||||||
|
accessibility: locations
|
||||||
|
mapshuffle: 1
|
||||||
|
compassshuffle: 1
|
||||||
|
keyshuffle: wild
|
||||||
|
bigkeyshuffle: 1
|
||||||
|
shuffle: swapped
|
||||||
|
shuffleganon: 1
|
||||||
|
shufflelinks: 0
|
||||||
|
shuffletavern: 1
|
||||||
|
experimental: 0
|
||||||
|
hints: 0
|
||||||
17
docs/presets/swapkeys.yml
Normal file
17
docs/presets/swapkeys.yml
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
settings:
|
||||||
|
1:
|
||||||
|
description: Swapkeys
|
||||||
|
glitches_required: none
|
||||||
|
mode: open
|
||||||
|
goal: crystals
|
||||||
|
crystals_gt: "7"
|
||||||
|
crystals_ganon: "7"
|
||||||
|
weapons: randomized
|
||||||
|
accessibility: locations
|
||||||
|
entrance_shuffle: swapped
|
||||||
|
shufflelinks: off
|
||||||
|
shuffletavern: on
|
||||||
|
mapshuffle: on
|
||||||
|
compassshuffle: on
|
||||||
|
keyshuffle: wild
|
||||||
|
bigkeyshuffle: on
|
||||||
28
docs/vanilla_multi_lobbies.yaml
Normal file
28
docs/vanilla_multi_lobbies.yaml
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
doors:
|
||||||
|
1:
|
||||||
|
lobbies:
|
||||||
|
#Agahnims Tower: Tower Lobby S
|
||||||
|
Desert Back: Desert Back Lobby S
|
||||||
|
Desert East: Desert East Lobby S
|
||||||
|
Desert South: Desert Main Lobby S
|
||||||
|
Desert West: Desert West S
|
||||||
|
#Eastern: Eastern Lobby S
|
||||||
|
#Ganons Tower: GT Lobby S
|
||||||
|
#Hera: Hera Lobby S
|
||||||
|
Hyrule Castle East: Hyrule Castle East Lobby S
|
||||||
|
Hyrule Castle South: Hyrule Castle Lobby S
|
||||||
|
Hyrule Castle West: Hyrule Castle West Lobby S
|
||||||
|
#Ice: Ice Lobby SE
|
||||||
|
#Mire: Mire Lobby S
|
||||||
|
#Palace of Darkness: PoD Lobby S
|
||||||
|
#Sanctuary: Sanctuary S
|
||||||
|
#Skull 1: Skull 1 Lobby S
|
||||||
|
#Skull 2 East: Skull 2 East Lobby SW
|
||||||
|
#Skull 2 West: Skull 2 West Lobby S
|
||||||
|
#Skull 3: Skull 3 Lobby SW
|
||||||
|
#Swamp: Swamp Lobby S
|
||||||
|
#Thieves Town: Thieves Lobby S
|
||||||
|
Turtle Rock Chest: TR Big Chest Entrance SE
|
||||||
|
Turtle Rock Eye Bridge: TR Eye Bridge SW
|
||||||
|
Turtle Rock Lazy Eyes: TR Lazy Eyes SE
|
||||||
|
Turtle Rock Main: TR Main Lobby SE
|
||||||
@@ -1379,7 +1379,8 @@ def do_mandatory_connections(avail, entrances, cave_options, must_exit):
|
|||||||
entrances.remove(swap_ent)
|
entrances.remove(swap_ent)
|
||||||
if len(cave) == 2:
|
if len(cave) == 2:
|
||||||
entrance = next(e for e in entrances[::-1] if e not in invalid_connections[exit]
|
entrance = next(e for e in entrances[::-1] if e not in invalid_connections[exit]
|
||||||
and e not in invalid_cave_connections[tuple(cave)] and e not in must_exit)
|
and e not in invalid_cave_connections[tuple(cave)] and e not in must_exit
|
||||||
|
and (not avail.swapped or rnd_cave[0] != combine_map[e]))
|
||||||
entrances.remove(entrance)
|
entrances.remove(entrance)
|
||||||
connect_two_way(entrance, rnd_cave[0], avail)
|
connect_two_way(entrance, rnd_cave[0], avail)
|
||||||
if avail.swapped and combine_map[entrance] != rnd_cave[0]:
|
if avail.swapped and combine_map[entrance] != rnd_cave[0]:
|
||||||
@@ -1398,7 +1399,8 @@ def do_mandatory_connections(avail, entrances, cave_options, must_exit):
|
|||||||
entrance = avail.world.get_entrance(cave_exit, avail.player).parent_region.entrances[0].name
|
entrance = avail.world.get_entrance(cave_exit, avail.player).parent_region.entrances[0].name
|
||||||
cave_entrances.append(entrance)
|
cave_entrances.append(entrance)
|
||||||
else:
|
else:
|
||||||
entrance = next(e for e in entrances[::-1] if e not in invalid_connections[exit] and e not in must_exit)
|
entrance = next(e for e in entrances[::-1] if e not in invalid_connections[exit] and e not in must_exit
|
||||||
|
and (not avail.swapped or cave_exit != combine_map[e]))
|
||||||
cave_entrances.append(entrance)
|
cave_entrances.append(entrance)
|
||||||
entrances.remove(entrance)
|
entrances.remove(entrance)
|
||||||
connect_two_way(entrance, cave_exit, avail)
|
connect_two_way(entrance, cave_exit, avail)
|
||||||
@@ -1428,7 +1430,8 @@ def do_mandatory_connections(avail, entrances, cave_options, must_exit):
|
|||||||
if avail.swapped and cave_exit not in avail.exits:
|
if avail.swapped and cave_exit not in avail.exits:
|
||||||
continue
|
continue
|
||||||
else:
|
else:
|
||||||
entrance = next(e for e in entrances[::-1] if e not in invalid_cave_connections[tuple(cave)])
|
entrance = next(e for e in entrances[::-1] if e not in invalid_cave_connections[tuple(cave)]
|
||||||
|
and (not avail.swapped or cave_exit != combine_map[e]))
|
||||||
invalid_cave_connections[tuple(cave)] = set()
|
invalid_cave_connections[tuple(cave)] = set()
|
||||||
entrances.remove(entrance)
|
entrances.remove(entrance)
|
||||||
connect_two_way(entrance, cave_exit, avail)
|
connect_two_way(entrance, cave_exit, avail)
|
||||||
|
|||||||
Reference in New Issue
Block a user