Merge branch 'OverworldShuffleDev' into OverworldShuffle
This commit is contained in:
@@ -1,9 +1,15 @@
|
||||
# Changelog
|
||||
|
||||
## 0.3.3.1
|
||||
- \~Merged in DR v1.2.0.21~
|
||||
- Fixed issue with Old Man death spawning on Pyramid/Castle
|
||||
- Fixed issue with Mixed OWR + Flute Shuffle placing spots on large screens
|
||||
- Fixed issue with mirror portals disappearing in Crossed OWR
|
||||
- Added more OWR preset yamls + some fixes to the existing ones
|
||||
|
||||
## 0.3.3.0
|
||||
- Added Customizer support for all remaining OWR options
|
||||
- Added several OWR preset yamls (many ideas are thanks to Catobat)
|
||||
- Fixed issue with Mixed OWR + Flute Shuffle placing spots on large screens
|
||||
- Removed Limited Crossed OWR and renamed Chaos Crossed to Unrestricted Crossed
|
||||
|
||||
## 0.3.2.2
|
||||
|
||||
@@ -178,6 +178,7 @@ def create_door_spoiler(world, player):
|
||||
queue = deque(world.dungeon_layouts[player].values())
|
||||
while len(queue) > 0:
|
||||
builder = queue.popleft()
|
||||
std_flag = world.mode[player] == 'standard' and builder.name == 'Hyrule Castle' and world.shuffle[player] == 'vanilla'
|
||||
done = set()
|
||||
start_regions = set(convert_regions(builder.layout_starts, world, player)) # todo: set all_entrances for basic
|
||||
reg_queue = deque(start_regions)
|
||||
@@ -206,11 +207,15 @@ def create_door_spoiler(world, player):
|
||||
logger.warning('This is a bug during door spoiler')
|
||||
elif not isinstance(door_b, Region):
|
||||
logger.warning('Door not connected: %s', door_a.name)
|
||||
if connect and connect.type == RegionType.Dungeon and connect not in visited:
|
||||
if valid_connection(connect, std_flag, world, player) and connect not in visited:
|
||||
visited.add(connect)
|
||||
reg_queue.append(connect)
|
||||
|
||||
|
||||
def valid_connection(region, std_flag, world, player):
|
||||
return region and (region.type == RegionType.Dungeon or region.name in world.inaccessible_regions[player] or
|
||||
(std_flag and region.name == 'Hyrule Castle Ledge'))
|
||||
|
||||
def vanilla_key_logic(world, player):
|
||||
builders = []
|
||||
world.dungeon_layouts[player] = {}
|
||||
@@ -3331,6 +3336,9 @@ def find_inaccessible_regions(world, player):
|
||||
ledge = world.get_region('Hyrule Castle Ledge', player)
|
||||
if any(x for x in ledge.exits if x.connected_region and x.connected_region.name == 'Agahnims Tower Portal'):
|
||||
world.inaccessible_regions[player].append('Hyrule Castle Ledge')
|
||||
# this should be considered as part of the inaccessible regions, dungeonssimple?
|
||||
if world.mode[player] == 'standard' and world.shuffle[player] == 'vanilla':
|
||||
world.inaccessible_regions[player].append('Hyrule Castle Ledge')
|
||||
logger = logging.getLogger('')
|
||||
#logger.debug('Inaccessible Regions:')
|
||||
#for r in world.inaccessible_regions[player]:
|
||||
|
||||
2
Main.py
2
Main.py
@@ -36,7 +36,7 @@ from source.overworld.EntranceShuffle2 import link_entrances_new
|
||||
from source.tools.BPS import create_bps_from_data
|
||||
from source.classes.CustomSettings import CustomSettings
|
||||
|
||||
version_number = '1.2.0.20'
|
||||
version_number = '1.2.0.21'
|
||||
version_branch = '-u'
|
||||
__version__ = f'{version_number}{version_branch}'
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ from OWEdges import OWTileRegions, OWEdgeGroups, OWEdgeGroupsTerrain, OWExitType
|
||||
from OverworldGlitchRules import create_owg_connections
|
||||
from Utils import bidict
|
||||
|
||||
version_number = '0.3.3.0'
|
||||
version_number = '0.3.3.1'
|
||||
# branch indicator is intentionally different across branches
|
||||
version_branch = ''
|
||||
|
||||
@@ -225,7 +225,8 @@ def link_overworld(world, player):
|
||||
edge = world.get_owedge(edgename, player)
|
||||
force_noncrossed.add(edge.name)
|
||||
if 'limit_crossed' in custom_crossed:
|
||||
limited_crossed = custom_crossed['limit_crossed']
|
||||
if world.owCrossed[player] == 'unrestricted':
|
||||
limited_crossed = custom_crossed['limit_crossed']
|
||||
if 'undefined_chance' in custom_crossed:
|
||||
undefined_chance = custom_crossed['undefined_chance']
|
||||
|
||||
@@ -443,6 +444,23 @@ def link_overworld(world, player):
|
||||
connected_edge_cache = connected_edges.copy()
|
||||
groups_cache = copy.deepcopy(groups)
|
||||
while not valid_layout and tries > 0:
|
||||
def remove_connected(forward_sets, back_sets):
|
||||
deleted_edges = []
|
||||
def remove_from_sets(sets):
|
||||
s = 0
|
||||
while s < len(sets):
|
||||
if sets[s][0] in connected_edges:
|
||||
deleted_edges.extend(sets[s])
|
||||
del sets[s]
|
||||
continue
|
||||
s += 1
|
||||
remove_from_sets(forward_sets)
|
||||
remove_from_sets(back_sets)
|
||||
if len(forward_sets) != len(back_sets):
|
||||
x=', '.join(deleted_edges)
|
||||
x=0
|
||||
assert len(forward_sets) == len(back_sets), "OW edge pool is uneven due to prior connections: " + ', '.join(deleted_edges)
|
||||
|
||||
def connect_set(forward_set, back_set, connected_edges):
|
||||
if forward_set is not None and back_set is not None:
|
||||
assert len(forward_set) == len(back_set)
|
||||
@@ -467,32 +485,10 @@ def link_overworld(world, player):
|
||||
for key in groupKeys:
|
||||
(mode, wrld, dir, terrain, parallel, count, _) = key
|
||||
(forward_edge_sets, back_edge_sets) = groups[key]
|
||||
def remove_connected():
|
||||
deleted_edges = []
|
||||
s = 0
|
||||
while s < len(forward_edge_sets):
|
||||
forward_set = forward_edge_sets[s]
|
||||
if forward_set[0] in connected_edges:
|
||||
deleted_edges.extend(forward_edge_sets[s])
|
||||
del forward_edge_sets[s]
|
||||
continue
|
||||
s += 1
|
||||
s = 0
|
||||
while s < len(back_edge_sets):
|
||||
back_set = back_edge_sets[s]
|
||||
if back_set[0] in connected_edges:
|
||||
deleted_edges.extend(back_edge_sets[s])
|
||||
del back_edge_sets[s]
|
||||
continue
|
||||
s += 1
|
||||
if len(forward_edge_sets) != len(back_edge_sets):
|
||||
x=', '.join(deleted_edges)
|
||||
x=0
|
||||
assert len(forward_edge_sets) == len(back_edge_sets), "OW edge pool is uneven due to prior connections: " + ', '.join(deleted_edges)
|
||||
|
||||
remove_connected()
|
||||
remove_connected(forward_edge_sets, back_edge_sets)
|
||||
random.shuffle(forward_edge_sets)
|
||||
random.shuffle(back_edge_sets)
|
||||
|
||||
if wrld is None and len(force_crossed) + len(force_noncrossed) > 0:
|
||||
# divide forward/back sets into LW/DW
|
||||
forward_lw_sets, forward_dw_sets = [], []
|
||||
@@ -500,24 +496,20 @@ def link_overworld(world, player):
|
||||
forward_parallel_lw_sets, forward_parallel_dw_sets = [], []
|
||||
back_parallel_lw_sets, back_parallel_dw_sets = [], []
|
||||
|
||||
def add_edgeset_to_worldsets(edge_set, sets, parallel_sets):
|
||||
sets.append(edge_set)
|
||||
if parallel == IsParallel.Yes:
|
||||
parallel_sets.append([parallel_links_new[e] for e in edge_set])
|
||||
for edge_set in forward_edge_sets:
|
||||
if world.get_owedge(edge_set[0], player).is_lw(world):
|
||||
forward_lw_sets.append(edge_set)
|
||||
if parallel == IsParallel.Yes:
|
||||
forward_parallel_lw_sets.append([parallel_links_new[e] for e in edge_set])
|
||||
add_edgeset_to_worldsets(edge_set, forward_lw_sets, forward_parallel_lw_sets)
|
||||
else:
|
||||
forward_dw_sets.append(edge_set)
|
||||
if parallel == IsParallel.Yes:
|
||||
forward_parallel_dw_sets.append([parallel_links_new[e] for e in edge_set])
|
||||
add_edgeset_to_worldsets(edge_set, forward_dw_sets, forward_parallel_dw_sets)
|
||||
for edge_set in back_edge_sets:
|
||||
if world.get_owedge(edge_set[0], player).is_lw(world):
|
||||
back_lw_sets.append(edge_set)
|
||||
if parallel == IsParallel.Yes:
|
||||
back_parallel_lw_sets.append([parallel_links_new[e] for e in edge_set])
|
||||
add_edgeset_to_worldsets(edge_set, back_lw_sets, back_parallel_lw_sets)
|
||||
else:
|
||||
back_dw_sets.append(edge_set)
|
||||
if parallel == IsParallel.Yes:
|
||||
back_parallel_dw_sets.append([parallel_links_new[e] for e in edge_set])
|
||||
add_edgeset_to_worldsets(edge_set, back_dw_sets, back_parallel_dw_sets)
|
||||
|
||||
crossed_sets = []
|
||||
noncrossed_sets = []
|
||||
@@ -526,7 +518,7 @@ def link_overworld(world, player):
|
||||
affected_edges = set(sets[i]+(parallel_sets[i] if parallel == IsParallel.Yes else []))
|
||||
if sets[i] not in crossed_sets and len(set.intersection(set(force_crossed), affected_edges)) > 0:
|
||||
crossed_sets.append(sets[i])
|
||||
if sets not in noncrossed_sets and len(set.intersection(set(force_noncrossed), affected_edges)) > 0:
|
||||
if sets[i] not in noncrossed_sets and len(set.intersection(set(force_noncrossed), affected_edges)) > 0:
|
||||
noncrossed_sets.append(sets[i])
|
||||
if sets[i] in crossed_sets and sets[i] in noncrossed_sets:
|
||||
raise GenerationException('Conflict in force crossed/non-crossed definition')
|
||||
@@ -536,50 +528,33 @@ def link_overworld(world, player):
|
||||
add_to_crossed_sets(back_dw_sets, back_parallel_dw_sets)
|
||||
|
||||
# random connect forced crossed/noncrossed
|
||||
c = 0
|
||||
while c < len(noncrossed_sets):
|
||||
if noncrossed_sets[c] in forward_edge_sets:
|
||||
forward_set = noncrossed_sets[c]
|
||||
if forward_set in forward_lw_sets:
|
||||
back_set = next(s for s in back_lw_sets if s in back_edge_sets and s not in crossed_sets)
|
||||
def connect_forced(forced_sets, is_crossed, opposite_sets=[]):
|
||||
c = 0
|
||||
while c < len(forced_sets):
|
||||
if forced_sets[c] in forward_edge_sets:
|
||||
forward_set = forced_sets[c]
|
||||
if (forward_set in forward_lw_sets) != is_crossed:
|
||||
back_set = next(s for s in back_lw_sets if s in back_edge_sets and s not in opposite_sets)
|
||||
else:
|
||||
back_set = next(s for s in back_dw_sets if s in back_edge_sets and s not in opposite_sets)
|
||||
elif forced_sets[c] in back_edge_sets:
|
||||
back_set = forced_sets[c]
|
||||
if (back_set in back_lw_sets) != is_crossed:
|
||||
forward_set = next(s for s in forward_lw_sets if s in forward_edge_sets and s not in opposite_sets)
|
||||
else:
|
||||
forward_set = next(s for s in forward_dw_sets if s in forward_edge_sets and s not in opposite_sets)
|
||||
else:
|
||||
back_set = next(s for s in back_dw_sets if s in back_edge_sets and s not in crossed_sets)
|
||||
elif noncrossed_sets[c] in back_edge_sets:
|
||||
back_set = noncrossed_sets[c]
|
||||
if back_set in back_lw_sets:
|
||||
forward_set = next(s for s in forward_lw_sets if s in forward_edge_sets and s not in crossed_sets)
|
||||
else:
|
||||
forward_set = next(s for s in forward_dw_sets if s in forward_edge_sets and s not in crossed_sets)
|
||||
else:
|
||||
c = c + 1
|
||||
continue
|
||||
connect_set(forward_set, back_set, connected_edges)
|
||||
remove_connected(forward_edge_sets, back_edge_sets)
|
||||
c = c + 1
|
||||
continue
|
||||
connect_set(forward_set, back_set, connected_edges)
|
||||
remove_connected()
|
||||
c = c + 1
|
||||
c = 0
|
||||
while c < len(crossed_sets):
|
||||
if crossed_sets[c] in forward_edge_sets:
|
||||
forward_set = crossed_sets[c]
|
||||
if forward_set in forward_lw_sets:
|
||||
back_set = next(s for s in back_dw_sets if s in back_edge_sets)
|
||||
else:
|
||||
back_set = next(s for s in back_lw_sets if s in back_edge_sets)
|
||||
elif crossed_sets[c] in back_edge_sets:
|
||||
back_set = crossed_sets[c]
|
||||
if back_set in back_lw_sets:
|
||||
forward_set = next(s for s in forward_dw_sets if s in forward_edge_sets)
|
||||
else:
|
||||
forward_set = next(s for s in forward_lw_sets if s in forward_edge_sets)
|
||||
else:
|
||||
c = c + 1
|
||||
continue
|
||||
connect_set(forward_set, back_set, connected_edges)
|
||||
remove_connected()
|
||||
c = c + 1
|
||||
connect_forced(noncrossed_sets, False, crossed_sets)
|
||||
connect_forced(crossed_sets, True)
|
||||
|
||||
while len(forward_edge_sets) > 0 and len(back_edge_sets) > 0:
|
||||
connect_set(forward_edge_sets[0], back_edge_sets[0], connected_edges)
|
||||
remove_connected()
|
||||
remove_connected(forward_edge_sets, back_edge_sets)
|
||||
assert len(connected_edges) == len(default_connections) * 2, connected_edges
|
||||
|
||||
world.owsectors[player] = build_sectors(world, player)
|
||||
@@ -1266,6 +1241,7 @@ def adjust_edge_groups(world, trimmed_groups, edges_to_swap, player):
|
||||
if world.customizer:
|
||||
custom_crossed = world.customizer.get_owcrossed()
|
||||
limited_crossed = custom_crossed and (player in custom_crossed) and ('limit_crossed' in custom_crossed[player])
|
||||
limited_crossed = limited_crossed and world.owCrossed[player] == 'unrestricted'
|
||||
custom_edge_groups = world.customizer.get_owedges()
|
||||
if custom_edge_groups and player in custom_edge_groups:
|
||||
custom_edge_groups = custom_edge_groups[player]
|
||||
@@ -1483,18 +1459,6 @@ def build_sectors(world, player):
|
||||
else:
|
||||
sectors2.append(explored_regions)
|
||||
sectors[s] = sectors2
|
||||
|
||||
#TODO: Keep largest LW sector for Links House consideration, keep sector containing WDM for Old Man consideration
|
||||
# sector_entrances = list()
|
||||
# for sector in sectors:
|
||||
# entrances = list()
|
||||
# for s2 in sector:
|
||||
# for region_name in s2:
|
||||
# region = world.get_region(region_name, player)
|
||||
# for exit in region.exits:
|
||||
# if exit.spot_type == 'Entrance' and exit.name in entrance_pool:
|
||||
# entrances.append(exit.name)
|
||||
# sector_entrances.append(entrances)
|
||||
|
||||
return sectors
|
||||
|
||||
@@ -2559,7 +2523,7 @@ isolated_regions = [
|
||||
]
|
||||
|
||||
flute_data = {
|
||||
#Slot LW Region DW Region OWID VRAM BG Y BG X Link Y Link X Cam Y Cam X Unk1 Unk2 IconY IconX AltY AltX AltVRAM AltBGY AltBGX AltCamY AltCamX AltUnk1 AltUnk2 AltIconY AltIconX
|
||||
#OWID LW Region DW Region Slot VRAM BG Y BG X Link Y Link X Cam Y Cam X Unk1 Unk2 IconY IconX AltY AltX AltVRAM AltBGY AltBGX AltCamY AltCamX AltUnk1 AltUnk2 AltIconY AltIconX
|
||||
0x00: (['Lost Woods East Area', 'Skull Woods Forest'], 0x09, 0x1042, 0x022e, 0x0202, 0x0290, 0x0288, 0x029b, 0x028f, 0xfff2, 0x000e, 0x0290, 0x0288, 0x0290, 0x0290),
|
||||
0x02: (['Lumberjack Area', 'Dark Lumberjack Area'], 0x02, 0x059c, 0x00d6, 0x04e6, 0x0138, 0x0558, 0x0143, 0x0563, 0xfffa, 0xfffa, 0x0138, 0x0550),
|
||||
0x03: (['West Death Mountain (Bottom)', 'West Dark Death Mountain (Top)'], 0x0b, 0x1600, 0x02ca, 0x060e, 0x0328, 0x0678, 0x0337, 0x0683, 0xfff6, 0xfff2, 0x035b, 0x0680, 0x0118, 0x0860, 0x05c0, 0x00b8, 0x07ec, 0x0127, 0x086b, 0xfff8, 0x0004, 0x0148, 0x0850),
|
||||
|
||||
@@ -109,6 +109,10 @@ These are now independent of retro mode and have three options: None, Random, an
|
||||
|
||||
# Bug Fixes and Notes
|
||||
|
||||
* 1.2.0.21u
|
||||
* Fix that should force items needed for leaving Zelda's cell to before the throne room, so S&Q isn't mandatory
|
||||
* Small fix for Tavern Shuffle (thanks Catobat)
|
||||
* Several small generation fixes
|
||||
* 1.2.0.20u
|
||||
* New generation feature that allows Spiral Stair to link to themselves (thank Catobat)
|
||||
* Added logic for trap doors that could be opened using existing room triggers
|
||||
|
||||
5
Rom.py
5
Rom.py
@@ -38,7 +38,7 @@ from source.dungeon.RoomList import Room0127
|
||||
|
||||
|
||||
JAP10HASH = '03a63945398191337e896e5771f77173'
|
||||
RANDOMIZERBASEHASH = 'da111397d4118054e5ab4b9375cfb9e4'
|
||||
RANDOMIZERBASEHASH = '52317b2dd4fb303887f26ecc40a4cae3'
|
||||
|
||||
|
||||
class JsonRom(object):
|
||||
@@ -694,7 +694,7 @@ def patch_rom(world, rom, player, team, enemized, is_mystery=False):
|
||||
offset = 0
|
||||
data = flute_data[owid]
|
||||
|
||||
if world.is_tile_swapped(data[1], player):
|
||||
if world.is_tile_swapped(owid, player):
|
||||
offset = 0x40
|
||||
|
||||
write_int16(rom, snes_to_pc(0x02E849 + (o * 2)), owid + offset) # owid
|
||||
@@ -1403,6 +1403,7 @@ def patch_rom(world, rom, player, team, enemized, is_mystery=False):
|
||||
|
||||
rom.write_byte(0x18004A, 0x00 if world.mode[player] != 'inverted' else 0x01) # Inverted mode
|
||||
rom.write_byte(0x18005D, 0x00) # Hammer always breaks barrier
|
||||
rom.write_byte(0x02AF79, 0xD0 if world.mode[player] != 'inverted' else 0xF0) # vortexes: Normal (D0=light to dark, F0=dark to light, 42 = both)
|
||||
rom.write_byte(0x03A943, 0xD0 if world.mode[player] != 'inverted' else 0xF0) # Mirror: Normal (D0=Dark to Light, F0=light to dark, 42 = both)
|
||||
rom.write_byte(0x03A96D, 0xF0 if world.mode[player] != 'inverted' else 0xD0) # Residual Portal: Normal (F0= Light Side, D0=Dark Side, 42 = both (Darth Vader))
|
||||
rom.write_byte(0x03A9A7, 0xD0) # Residual Portal: Normal (D0= Light Side, F0=Dark Side, 42 = both (Darth Vader))
|
||||
|
||||
6
Rules.py
6
Rules.py
@@ -1577,13 +1577,15 @@ def standard_rules(world, player):
|
||||
add_rule(ent, lambda state: standard_escape_rule(state))
|
||||
|
||||
set_rule(world.get_location('Zelda Pickup', player), lambda state: state.has('Big Key (Escape)', player))
|
||||
set_rule(world.get_entrance('Hyrule Castle Throne Room Tapestry', player), lambda state: state.has('Zelda Herself', player))
|
||||
set_rule(world.get_entrance('Hyrule Castle Tapestry Backwards', player), lambda state: state.has('Zelda Herself', player))
|
||||
|
||||
def check_rule_list(state, r_list):
|
||||
return True if len(r_list) <= 0 else r_list[0](state) and check_rule_list(state, r_list[1:])
|
||||
rule_list, debug_path = find_rules_for_zelda_delivery(world, player)
|
||||
set_rule(world.get_location('Zelda Drop Off', player), lambda state: state.has('Zelda Herself', player) and check_rule_list(state, rule_list))
|
||||
set_rule(world.get_entrance('Hyrule Castle Throne Room Tapestry', player),
|
||||
lambda state: state.has('Zelda Herself', player) and check_rule_list(state, rule_list))
|
||||
set_rule(world.get_location('Zelda Drop Off', player),
|
||||
lambda state: state.has('Zelda Herself', player) and check_rule_list(state, rule_list))
|
||||
|
||||
for entrance in ['Links House SC', 'Links House ES', 'Central Bonk Rocks SW', 'Hyrule Castle WN', 'Hyrule Castle ES',
|
||||
'Bonk Fairy (Light)', 'Hyrule Castle Main Gate (South)', 'Hyrule Castle Main Gate (North)', 'Hyrule Castle Ledge Drop']:
|
||||
|
||||
113
asm/owrando.asm
113
asm/owrando.asm
@@ -56,16 +56,17 @@ Link_ResetSwimmingState:
|
||||
|
||||
|
||||
; mirror hooks
|
||||
org $02FBAB
|
||||
JSL OWMirrorSpriteRestore : NOP
|
||||
org $0283DC ; override world check when spawning mirror portal sprite in Crossed OWR
|
||||
jsl.l OWLightWorldOrCrossed
|
||||
org $05AF75
|
||||
Sprite_6C_MirrorPortal:
|
||||
jsl OWPreserveMirrorSprite : nop #2 ; LDA $7EF3CA : BNE $05AFDF
|
||||
jsl OWMirrorSpriteDisable ; LDA $7EF3CA
|
||||
org $05AF88
|
||||
jsl OWMirrorSpriteSkipDraw : NOP ; LDA.w $0FC6 : CMP.b #$03
|
||||
org $05AFDF
|
||||
Sprite_6C_MirrorPortal_missing_mirror:
|
||||
JML OWMirrorSpriteDelete : NOP ; STZ $0DD0,X : BRA $05AFF1
|
||||
org $0ABFBF
|
||||
JSL OWMirrorSpriteOnMap : BRA + : NOP #6 : +
|
||||
org $0ABFB6
|
||||
jsl OWMirrorSpriteOnMap : NOP ; LDA.w $008A : CMP.b #$40
|
||||
|
||||
; whirlpool shuffle cross world change
|
||||
org $02b3bd
|
||||
@@ -100,10 +101,6 @@ jsl OWOldManSpeed
|
||||
;org $09c957 ; <- 4c957
|
||||
;dw #$cb5f ; matches value on Central Bonk Rocks screen
|
||||
|
||||
; override world check when spawning mirror portal sprite in Crossed OWR
|
||||
org $0283dc
|
||||
jsl.l OWLightWorldOrCrossed
|
||||
|
||||
; override world check when viewing overworld (incl. title screen portion)
|
||||
org $0aba6c ; < ? - Bank0a.asm:474 ()
|
||||
jsl.l OWMapWorldCheck16 : nop
|
||||
@@ -172,6 +169,11 @@ plb : rtl
|
||||
nop #3
|
||||
+
|
||||
|
||||
; follower hooks
|
||||
;org $8689D9
|
||||
;SpritePrep_BombShoppe:
|
||||
;JML BombShoppe_ConditionalSpawn : NOP
|
||||
|
||||
;Code
|
||||
org $aa8800
|
||||
OWTransitionDirection:
|
||||
@@ -257,66 +259,42 @@ OWDestroyItemSprites:
|
||||
DEX : BPL .nextSprite
|
||||
PLX : RTL
|
||||
}
|
||||
|
||||
OWMirrorSpriteOnMap:
|
||||
{
|
||||
lda.w $1ac0,x : bit.b #$f0 : beq .continue
|
||||
lda.b #$00 : rtl
|
||||
.continue
|
||||
ora.w $1ab0,x
|
||||
ora.w $1ad0,x
|
||||
ora.w $1ae0,x
|
||||
rtl
|
||||
JSL OWWorldCheck
|
||||
CMP.b #$40 ; part of what we wrote over
|
||||
RTL
|
||||
}
|
||||
OWPreserveMirrorSprite:
|
||||
OWMirrorSpriteDisable:
|
||||
{
|
||||
lda.l OWMode+1 : and.b #!FLAG_OW_CROSSED : beq .vanilla ; if OW Crossed, skip world check and continue
|
||||
lda.b $10 : cmp.b #$0f : beq .vanilla ; if performing mirror superbunny
|
||||
rtl
|
||||
LDA.b $10 : CMP.b #$0F : BNE + ; avoid rare freeze during mirror superbunny
|
||||
PLA : PLA : PLA : JML Sprite_6C_MirrorPortal_missing_mirror
|
||||
+
|
||||
|
||||
lda.l OWMode+1 : and.b #!FLAG_OW_CROSSED : beq .vanilla
|
||||
lda.l InvertedMode : beq +
|
||||
lda.b #$40
|
||||
+ rtl
|
||||
|
||||
.vanilla
|
||||
lda.l InvertedMode : beq +
|
||||
lda.l CurrentWorld : beq .deleteMirror
|
||||
rtl
|
||||
+ lda.l CurrentWorld : bne .deleteMirror
|
||||
rtl
|
||||
|
||||
.deleteMirror
|
||||
lda.b $10 : cmp.b #$0f : bne +
|
||||
jsr.w OWMirrorSpriteMove ; if performing mirror superbunny
|
||||
+ pla : pla : pla : jml Sprite_6C_MirrorPortal_missing_mirror
|
||||
}
|
||||
OWMirrorSpriteMove:
|
||||
{
|
||||
lda.l OWMode+1 : and.b #!FLAG_OW_CROSSED : beq +
|
||||
lda.w $1acf : ora.b #$40 : sta.w $1acf
|
||||
+ rts
|
||||
}
|
||||
OWMirrorSpriteBonk:
|
||||
{
|
||||
jsr.w OWMirrorSpriteMove
|
||||
lda.b #$2c : jml SetGameModeLikeMirror ; what we wrote over
|
||||
}
|
||||
OWMirrorSpriteDelete:
|
||||
{
|
||||
stz.w $0dd0,x ; what we wrote over
|
||||
jsr.w OWMirrorSpriteMove
|
||||
jml Sprite_6C_MirrorPortal_dont_do_warp
|
||||
}
|
||||
OWMirrorSpriteRestore:
|
||||
{
|
||||
lda.l OWMode+1 : and.b #!FLAG_OW_CROSSED : beq .return
|
||||
lda.l InvertedMode : beq +
|
||||
lda.l CurrentWorld : beq .return
|
||||
bra .restorePortal
|
||||
+ lda.l CurrentWorld : bne .return
|
||||
|
||||
.restorePortal
|
||||
lda.w $1acf : and.b #$0f : sta.w $1acf
|
||||
|
||||
.return
|
||||
rep #$30 : lda.w $04AC ; what we wrote over
|
||||
lda.l CurrentWorld ; what we wrote over
|
||||
rtl
|
||||
}
|
||||
OWMirrorSpriteSkipDraw:
|
||||
{
|
||||
lda.l OWMode+1 : and.b #!FLAG_OW_CROSSED : beq .vanilla
|
||||
lda.l InvertedMode : beq +
|
||||
lda.l CurrentWorld : eor.b #$40
|
||||
bra ++
|
||||
+ lda.l CurrentWorld : ++ beq .vanilla
|
||||
stz.w $0D90,x ; disables collision
|
||||
sec : rtl
|
||||
|
||||
.vanilla
|
||||
LDA.w $0FC6 : CMP.b #$03 ; what we wrote over
|
||||
RTL
|
||||
}
|
||||
OWLightWorldOrCrossed:
|
||||
{
|
||||
lda.l OWMode+1 : and.b #!FLAG_OW_CROSSED : beq ++
|
||||
@@ -563,6 +541,7 @@ OWBonkDrops:
|
||||
INX : LDA.w OWBonkPrizeData,X : PHX : PHA ; S = FlagBitmask, X (row + 2)
|
||||
LDX.b $8A : LDA.l OverworldEventDataWRAM,X : AND 1,S : PHA : BNE + ; S = Collected, FlagBitmask, X (row + 2)
|
||||
LDA.b #$1B : STA $12F ; JSL Sound_SetSfx3PanLong ; seems that when you bonk, there is a pending bonk sfx, so we clear that out and replace with reveal secret sfx
|
||||
; JSLSpriteSFX_QueueSFX3WithPan
|
||||
+
|
||||
LDA 3,S : TAX : INX : LDA.w OWBonkPrizeData,X
|
||||
PHA : INX : LDA.w OWBonkPrizeData,X : BEQ +
|
||||
@@ -894,6 +873,7 @@ OWNewDestination:
|
||||
++ lda $84 : !add 1,s : sta $84 : pla : pla
|
||||
|
||||
.adjustMainAxis
|
||||
;LDA $84 : SEC : SBC #$0400 : AND #$0F80 : ASL : XBA : STA $88 ; vram
|
||||
LDA $84 : SEC : SBC #$0400 : AND #$0F00 : ASL : XBA : STA $88 ; vram
|
||||
LDA $84 : SEC : SBC #$0010 : AND #$003E : LSR : STA $86
|
||||
|
||||
@@ -956,6 +936,7 @@ OWNewDestination:
|
||||
sep #$30 : lda $04 : and #$3f : !add OWOppSlotOffset,y : asl : sta $700
|
||||
|
||||
; crossed OW shuffle and terrain
|
||||
;lda $8a : JSR OWDetermineScreensPaletteSet : STX $04
|
||||
ldx $05 : ldy $08 : jsr OWWorldTerrainUpdate
|
||||
|
||||
ldx $8a : lda $05 : sta $8a : stx $05 ; $05 is prev screen id, $8a is dest screen
|
||||
@@ -1180,6 +1161,14 @@ OWEndScrollTransition:
|
||||
RTL
|
||||
}
|
||||
|
||||
; BombShoppe_ConditionalSpawn:
|
||||
; {
|
||||
; nop
|
||||
; INC.w $0BA0,X : LDA.b #$B5 ; what we wrote over
|
||||
; JML SpritePrep_BombShoppe+5
|
||||
; nop#20
|
||||
; }
|
||||
|
||||
;Data
|
||||
org $aaa000
|
||||
OWEdgeOffsets:
|
||||
|
||||
Binary file not shown.
@@ -121,8 +121,6 @@ ow-edges:
|
||||
- Lake Hylia NW*
|
||||
- Tree Line SC*
|
||||
- Lake Hylia NC*
|
||||
- Lake Hylia WS*
|
||||
- South Pass ES*
|
||||
- Lake Hylia EC*
|
||||
- Octoballoon WC*
|
||||
- Lake Hylia ES*
|
||||
|
||||
@@ -138,8 +138,6 @@ ow-edges:
|
||||
- Lake Hylia NW*
|
||||
- Tree Line SC*
|
||||
- Lake Hylia NC*
|
||||
- Lake Hylia WS*
|
||||
- South Pass ES*
|
||||
- Lake Hylia EC*
|
||||
- Octoballoon WC*
|
||||
- Lake Hylia ES*
|
||||
|
||||
31
presets/world/owr_flute-nearvanilla.yaml
Normal file
31
presets/world/owr_flute-nearvanilla.yaml
Normal file
@@ -0,0 +1,31 @@
|
||||
settings:
|
||||
1:
|
||||
ow_fluteshuffle: balanced
|
||||
ow-flutespots:
|
||||
1:
|
||||
forbid:
|
||||
- 0x00 # Lost Woods
|
||||
- 0x02 # Lumberjack
|
||||
- 0x07 # Death Mountain TR Pegs
|
||||
- 0x0A # Mountain Pass
|
||||
- 0x0F # Zora Waterfall
|
||||
- 0x10 # Lost Woods Pass
|
||||
- 0x12 # Kakariko Pond
|
||||
- 0x13 # Sanctuary
|
||||
- 0x14 # Graveyard
|
||||
- 0x17 # Zora Approach
|
||||
- 0x1A # Forgotten Forest
|
||||
- 0x1D # Wooden Bridge
|
||||
- 0x22 # Blacksmith
|
||||
- 0x25 # Sand Dunes
|
||||
- 0x28 # Maze Race
|
||||
- 0x29 # Kakariko Suburb
|
||||
- 0x2A # Flute Boy
|
||||
- 0x2B # Central Bonk Rocks
|
||||
- 0x2D # Stone Bridge
|
||||
- 0x2E # Tree Line
|
||||
- 0x32 # Flute Boy Approach
|
||||
- 0x34 # Statues
|
||||
- 0x37 # Ice Cave
|
||||
- 0x3A # Desert Pass
|
||||
- 0x3C # South Pass
|
||||
308
presets/world/owr_quadrantshuffle-diagonal.yaml
Normal file
308
presets/world/owr_quadrantshuffle-diagonal.yaml
Normal file
@@ -0,0 +1,308 @@
|
||||
ow-edges:
|
||||
1:
|
||||
groups:
|
||||
north:
|
||||
- Lost Woods NW
|
||||
- Lost Woods EN
|
||||
- Skull Woods EN
|
||||
- Lumberjack WN
|
||||
- Lumberjack SW
|
||||
- Dark Lumberjack WN
|
||||
- Dark Lumberjack SW
|
||||
- West Death Mountain EN
|
||||
- West Death Mountain ES
|
||||
- West Dark Death Mountain EN
|
||||
- West Dark Death Mountain ES
|
||||
- East Death Mountain WN
|
||||
- East Death Mountain WS
|
||||
- East Death Mountain EN
|
||||
- East Dark Death Mountain WN
|
||||
- East Dark Death Mountain WS
|
||||
- East Dark Death Mountain EN
|
||||
- Death Mountain TR Pegs WN
|
||||
- Turtle Rock WN
|
||||
- Mountain Pass NW
|
||||
- Mountain Pass SE
|
||||
- Bumper Cave NW
|
||||
- Bumper Cave SE
|
||||
- Kakariko Pond NE
|
||||
- Kakariko Pond EN
|
||||
- Kakariko Pond ES
|
||||
- Outcast Pond NE
|
||||
- Outcast Pond EN
|
||||
- Outcast Pond ES
|
||||
- Sanctuary WN
|
||||
- Sanctuary WS
|
||||
- Sanctuary EC
|
||||
- Dark Chapel WN
|
||||
- Dark Chapel WS
|
||||
- Dark Chapel EC
|
||||
- Graveyard WC
|
||||
- Graveyard EC
|
||||
- Dark Graveyard WC
|
||||
- Dark Graveyard EC
|
||||
- River Bend WC
|
||||
- Qirn Jump WC
|
||||
- Master Sword Meadow SC
|
||||
east:
|
||||
- Zora Waterfall NE
|
||||
- Zora Waterfall SE
|
||||
- Catfish SE
|
||||
- River Bend EN
|
||||
- River Bend EC
|
||||
- River Bend ES
|
||||
- River Bend SW
|
||||
- River Bend SC
|
||||
- River Bend SE
|
||||
- Qirn Jump EN
|
||||
- Qirn Jump EC
|
||||
- Qirn Jump ES
|
||||
- Qirn Jump SW
|
||||
- Qirn Jump SC
|
||||
- Qirn Jump SE
|
||||
- Potion Shop WN
|
||||
- Potion Shop WC
|
||||
- Potion Shop WS
|
||||
- Potion Shop EN
|
||||
- Potion Shop EC
|
||||
- Dark Witch WN
|
||||
- Dark Witch WC
|
||||
- Dark Witch WS
|
||||
- Dark Witch EN
|
||||
- Dark Witch EC
|
||||
- Zora Approach NE
|
||||
- Zora Approach WN
|
||||
- Zora Approach WC
|
||||
- Catfish Approach NE
|
||||
- Catfish Approach WN
|
||||
- Catfish Approach WC
|
||||
- Hyrule Castle ES
|
||||
- Pyramid ES
|
||||
- Wooden Bridge NW
|
||||
- Wooden Bridge NC
|
||||
- Wooden Bridge NE
|
||||
- Wooden Bridge SW
|
||||
- Broken Bridge NW
|
||||
- Broken Bridge NC
|
||||
- Broken Bridge NE
|
||||
- Broken Bridge SW
|
||||
- Eastern Palace SW
|
||||
- Eastern Palace SE
|
||||
- Palace of Darkness SW
|
||||
- Palace of Darkness SE
|
||||
- Sand Dunes NW
|
||||
- Sand Dunes WN
|
||||
- Sand Dunes SC
|
||||
- Dark Dunes NW
|
||||
- Dark Dunes WN
|
||||
- Dark Dunes SC
|
||||
- Stone Bridge NC
|
||||
- Stone Bridge EN
|
||||
- Stone Bridge EC
|
||||
- Hammer Bridge NC
|
||||
- Hammer Bridge EN
|
||||
- Hammer Bridge EC
|
||||
- Tree Line NW
|
||||
- Tree Line WN
|
||||
- Tree Line WC
|
||||
- Tree Line SC
|
||||
- Tree Line SE
|
||||
- Dark Tree Line NW
|
||||
- Dark Tree Line WN
|
||||
- Dark Tree Line WC
|
||||
- Dark Tree Line SC
|
||||
- Dark Tree Line SE
|
||||
- Eastern Nook NE
|
||||
- Palace of Darkness Nook NE
|
||||
- Lake Hylia NC
|
||||
- Lake Hylia NE
|
||||
- Ice Lake NC
|
||||
- Ice Lake NE
|
||||
- Ice Cave SW
|
||||
- Ice Cave SE
|
||||
- Shopping Mall SW
|
||||
- Shopping Mall SE
|
||||
- Octoballoon NW
|
||||
- Octoballoon NE
|
||||
- Bomber Corner NW
|
||||
- Bomber Corner NE
|
||||
- Zoras Domain SW
|
||||
south:
|
||||
- Hyrule Castle SW
|
||||
- Hyrule Castle SE
|
||||
- Pyramid SW
|
||||
- Pyramid SE
|
||||
- Flute Boy SW
|
||||
- Flute Boy SC
|
||||
- Stumpy SW
|
||||
- Stumpy SC
|
||||
- Central Bonk Rocks NW
|
||||
- Central Bonk Rocks EN
|
||||
- Central Bonk Rocks EC
|
||||
- Central Bonk Rocks ES
|
||||
- Central Bonk Rocks SW
|
||||
- Dark Bonk Rocks NW
|
||||
- Dark Bonk Rocks EN
|
||||
- Dark Bonk Rocks EC
|
||||
- Dark Bonk Rocks ES
|
||||
- Dark Bonk Rocks SW
|
||||
- Links House NE
|
||||
- Links House WN
|
||||
- Links House WC
|
||||
- Links House WS
|
||||
- Links House SC
|
||||
- Links House ES
|
||||
- Big Bomb Shop NE
|
||||
- Big Bomb Shop WN
|
||||
- Big Bomb Shop WC
|
||||
- Big Bomb Shop WS
|
||||
- Big Bomb Shop SC
|
||||
- Big Bomb Shop ES
|
||||
- Stone Bridge WC
|
||||
- Stone Bridge WS
|
||||
- Stone Bridge SC
|
||||
- Hammer Bridge WS
|
||||
- Hammer Bridge SC
|
||||
- Desert EC
|
||||
- Desert ES
|
||||
- Flute Boy Approach NW
|
||||
- Flute Boy Approach NC
|
||||
- Flute Boy Approach EC
|
||||
- Stumpy Approach NW
|
||||
- Stumpy Approach NC
|
||||
- Stumpy Approach EC
|
||||
- C Whirlpool NW
|
||||
- C Whirlpool WC
|
||||
- C Whirlpool EN
|
||||
- C Whirlpool EC
|
||||
- C Whirlpool ES
|
||||
- C Whirlpool SC
|
||||
- Dark C Whirlpool NW
|
||||
- Dark C Whirlpool WC
|
||||
- Dark C Whirlpool EN
|
||||
- Dark C Whirlpool EC
|
||||
- Dark C Whirlpool ES
|
||||
- Dark C Whirlpool SC
|
||||
- Statues NC
|
||||
- Statues WN
|
||||
- Statues WC
|
||||
- Statues WS
|
||||
- Statues SC
|
||||
- Hype Cave NC
|
||||
- Hype Cave WN
|
||||
- Hype Cave WC
|
||||
- Hype Cave WS
|
||||
- Hype Cave SC
|
||||
- Lake Hylia NW
|
||||
- Lake Hylia WS
|
||||
- Lake Hylia EC
|
||||
- Lake Hylia ES
|
||||
- Ice Lake NW
|
||||
- Ice Lake WS
|
||||
- Ice Lake EC
|
||||
- Ice Lake ES
|
||||
- Desert Pass WC
|
||||
- Desert Pass WS
|
||||
- Desert Pass EC
|
||||
- Desert Pass ES
|
||||
- Swamp Nook EC
|
||||
- Swamp Nook ES
|
||||
- Dam NC
|
||||
- Dam WC
|
||||
- Dam WS
|
||||
- Dam EC
|
||||
- Swamp NC
|
||||
- Swamp WC
|
||||
- Swamp WS
|
||||
- Swamp EC
|
||||
- South Pass NC
|
||||
- South Pass WC
|
||||
- South Pass ES
|
||||
- Dark South Pass NC
|
||||
- Dark South Pass WC
|
||||
- Dark South Pass ES
|
||||
- Octoballoon WC
|
||||
- Octoballoon WS
|
||||
- Bomber Corner WC
|
||||
- Bomber Corner WS
|
||||
- Hobo EC
|
||||
west:
|
||||
- Lost Woods SW
|
||||
- Lost Woods SC
|
||||
- Lost Woods SE
|
||||
- Skull Woods SW
|
||||
- Skull Woods SC
|
||||
- Skull Woods SE
|
||||
- Lost Woods Pass NW
|
||||
- Lost Woods Pass NE
|
||||
- Lost Woods Pass SW
|
||||
- Lost Woods Pass SE
|
||||
- Skull Woods Pass NW
|
||||
- Skull Woods Pass NE
|
||||
- Skull Woods Pass SW
|
||||
- Skull Woods Pass SE
|
||||
- Kakariko Fortune NE
|
||||
- Kakariko Fortune EN
|
||||
- Kakariko Fortune ES
|
||||
- Kakariko Fortune SC
|
||||
- Dark Fortune NE
|
||||
- Dark Fortune EN
|
||||
- Dark Fortune ES
|
||||
- Dark Fortune SC
|
||||
- Kakariko Pond WN
|
||||
- Kakariko Pond WS
|
||||
- Kakariko Pond SW
|
||||
- Kakariko Pond SE
|
||||
- Outcast Pond WN
|
||||
- Outcast Pond WS
|
||||
- Outcast Pond SW
|
||||
- Outcast Pond SE
|
||||
- Kakariko NW
|
||||
- Kakariko NC
|
||||
- Kakariko NE
|
||||
- Kakariko ES
|
||||
- Kakariko SE
|
||||
- Village of Outcasts NW
|
||||
- Village of Outcasts NC
|
||||
- Village of Outcasts NE
|
||||
- Village of Outcasts ES
|
||||
- Village of Outcasts SE
|
||||
- Forgotten Forest NW
|
||||
- Forgotten Forest NE
|
||||
- Forgotten Forest ES
|
||||
- Shield Shop NW
|
||||
- Shield Shop NE
|
||||
- Hyrule Castle WN
|
||||
- Blacksmith WS
|
||||
- Hammer Pegs WS
|
||||
- Maze Race ES
|
||||
- Dig Game EC
|
||||
- Dig Game ES
|
||||
- Kakariko Suburb NE
|
||||
- Kakariko Suburb WS
|
||||
- Kakariko Suburb ES
|
||||
- Frog NE
|
||||
- Frog WC
|
||||
- Frog WS
|
||||
- Frog ES
|
||||
- Flute Boy WS
|
||||
- Stumpy WS
|
||||
ow-tileflips:
|
||||
1:
|
||||
force_together:
|
||||
PedHobo:
|
||||
- 0x00
|
||||
- 0x2d
|
||||
- 0x80
|
||||
Zora:
|
||||
- 0x0f
|
||||
- 0x81
|
||||
Forest:
|
||||
- 0x1a
|
||||
- 0x1b
|
||||
FrogDig:
|
||||
- 0x28
|
||||
- 0x29
|
||||
Desert:
|
||||
- 0x30
|
||||
- 0x3a
|
||||
@@ -2,297 +2,290 @@ ow-edges:
|
||||
1:
|
||||
groups:
|
||||
northwest:
|
||||
- Lost Woods NW
|
||||
- Lost Woods EN
|
||||
- Lost Woods SW
|
||||
- Lost Woods SC
|
||||
- Lost Woods SE
|
||||
- Skull Woods EN
|
||||
- Skull Woods SW
|
||||
- Skull Woods SC
|
||||
- Skull Woods SE
|
||||
- Lumberjack WN
|
||||
- Lumberjack SW
|
||||
- Dark Lumberjack WN
|
||||
- Dark Lumberjack SW
|
||||
- Mountain Pass NW
|
||||
- Mountain Pass SE
|
||||
- Bumper Cave NW
|
||||
- Bumper Cave SE
|
||||
- Lost Woods Pass NW
|
||||
- Lost Woods Pass NE
|
||||
- Lost Woods Pass SW
|
||||
- Lost Woods Pass SE
|
||||
- Skull Woods Pass NW
|
||||
- Skull Woods Pass NE
|
||||
- Skull Woods Pass SW
|
||||
- Skull Woods Pass SE
|
||||
- Kakariko Fortune NE
|
||||
- Kakariko Fortune EN
|
||||
- Kakariko Fortune ES
|
||||
- Kakariko Fortune SC
|
||||
- Dark Fortune NE
|
||||
- Dark Fortune EN
|
||||
- Dark Fortune ES
|
||||
- Dark Fortune SC
|
||||
- Kakariko Pond NE
|
||||
- Kakariko Pond WN
|
||||
- Kakariko Pond WS
|
||||
- Kakariko Pond EN
|
||||
- Kakariko Pond ES
|
||||
- Kakariko Pond SW
|
||||
- Kakariko Pond SE
|
||||
- Outcast Pond NE
|
||||
- Outcast Pond WN
|
||||
- Outcast Pond WS
|
||||
- Outcast Pond EN
|
||||
- Outcast Pond ES
|
||||
- Outcast Pond SW
|
||||
- Outcast Pond SE
|
||||
- Sanctuary WN
|
||||
- Sanctuary WS
|
||||
- Kakariko NW
|
||||
- Kakariko NC
|
||||
- Kakariko NE
|
||||
- Dark Chapel WN
|
||||
- Dark Chapel WS
|
||||
- Village of Outcasts NW
|
||||
- Village of Outcasts NC
|
||||
- Village of Outcasts NE
|
||||
- Forgotten Forest NW
|
||||
- Forgotten Forest NE
|
||||
- Forgotten Forest ES
|
||||
- Shield Shop NW
|
||||
- Shield Shop NE
|
||||
- Hyrule Castle WN
|
||||
- Master Sword Meadow SC
|
||||
- Lost Woods NW
|
||||
- Lost Woods EN
|
||||
- Lost Woods SW
|
||||
- Lost Woods SC
|
||||
- Lost Woods SE
|
||||
- Skull Woods EN
|
||||
- Skull Woods SW
|
||||
- Skull Woods SC
|
||||
- Skull Woods SE
|
||||
- Lumberjack WN
|
||||
- Lumberjack SW
|
||||
- Dark Lumberjack WN
|
||||
- Dark Lumberjack SW
|
||||
- Mountain Pass NW
|
||||
- Mountain Pass SE
|
||||
- Bumper Cave NW
|
||||
- Bumper Cave SE
|
||||
- Lost Woods Pass NW
|
||||
- Lost Woods Pass NE
|
||||
- Lost Woods Pass SW
|
||||
- Lost Woods Pass SE
|
||||
- Skull Woods Pass NW
|
||||
- Skull Woods Pass NE
|
||||
- Skull Woods Pass SW
|
||||
- Skull Woods Pass SE
|
||||
- Kakariko Fortune NE
|
||||
- Kakariko Fortune EN
|
||||
- Kakariko Fortune ES
|
||||
- Kakariko Fortune SC
|
||||
- Dark Fortune NE
|
||||
- Dark Fortune EN
|
||||
- Dark Fortune ES
|
||||
- Dark Fortune SC
|
||||
- Kakariko Pond NE
|
||||
- Kakariko Pond WN
|
||||
- Kakariko Pond WS
|
||||
- Kakariko Pond EN
|
||||
- Kakariko Pond ES
|
||||
- Kakariko Pond SW
|
||||
- Kakariko Pond SE
|
||||
- Outcast Pond NE
|
||||
- Outcast Pond WN
|
||||
- Outcast Pond WS
|
||||
- Outcast Pond EN
|
||||
- Outcast Pond ES
|
||||
- Outcast Pond SW
|
||||
- Outcast Pond SE
|
||||
- Sanctuary WN
|
||||
- Sanctuary WS
|
||||
- Kakariko NW
|
||||
- Kakariko NC
|
||||
- Kakariko NE
|
||||
- Dark Chapel WN
|
||||
- Dark Chapel WS
|
||||
- Village of Outcasts NW
|
||||
- Village of Outcasts NC
|
||||
- Village of Outcasts NE
|
||||
- Forgotten Forest NW
|
||||
- Forgotten Forest NE
|
||||
- Forgotten Forest ES
|
||||
- Shield Shop NW
|
||||
- Shield Shop NE
|
||||
- Hyrule Castle WN
|
||||
- Master Sword Meadow SC
|
||||
northeast:
|
||||
- West Death Mountain EN
|
||||
- West Death Mountain ES
|
||||
- West Dark Death Mountain EN
|
||||
- West Dark Death Mountain ES
|
||||
- East Death Mountain WN
|
||||
- East Death Mountain WS
|
||||
- East Death Mountain EN
|
||||
- East Dark Death Mountain WN
|
||||
- East Dark Death Mountain WS
|
||||
- East Dark Death Mountain EN
|
||||
- Death Mountain TR Pegs WN
|
||||
- Turtle Rock WN
|
||||
- Zora Waterfall NE
|
||||
- Zora Waterfall SE
|
||||
- Catfish SE
|
||||
- Graveyard EC
|
||||
- Dark Graveyard EC
|
||||
- River Bend WC
|
||||
- River Bend EN
|
||||
- River Bend EC
|
||||
- River Bend ES
|
||||
- River Bend SW
|
||||
- River Bend SC
|
||||
- River Bend SE
|
||||
- Qirn Jump WC
|
||||
- Qirn Jump EN
|
||||
- Qirn Jump EC
|
||||
- Qirn Jump ES
|
||||
- Qirn Jump SW
|
||||
- Qirn Jump SC
|
||||
- Qirn Jump SE
|
||||
- Potion Shop WN
|
||||
- Potion Shop WC
|
||||
- Potion Shop WS
|
||||
- Potion Shop EN
|
||||
- Potion Shop EC
|
||||
- Dark Witch WN
|
||||
- Dark Witch WC
|
||||
- Dark Witch WS
|
||||
- Dark Witch EN
|
||||
- Dark Witch EC
|
||||
- Zora Approach NE
|
||||
- Zora Approach WN
|
||||
- Zora Approach WC
|
||||
- Catfish Approach NE
|
||||
- Catfish Approach WN
|
||||
- Catfish Approach WC
|
||||
- Wooden Bridge NW
|
||||
- Wooden Bridge NC
|
||||
- Wooden Bridge NE
|
||||
- Broken Bridge NW
|
||||
- Broken Bridge NC
|
||||
- Broken Bridge NE
|
||||
- Zoras Domain SW
|
||||
- West Death Mountain EN
|
||||
- West Death Mountain ES
|
||||
- West Dark Death Mountain EN
|
||||
- West Dark Death Mountain ES
|
||||
- East Death Mountain WN
|
||||
- East Death Mountain WS
|
||||
- East Death Mountain EN
|
||||
- East Dark Death Mountain WN
|
||||
- East Dark Death Mountain WS
|
||||
- East Dark Death Mountain EN
|
||||
- Death Mountain TR Pegs WN
|
||||
- Turtle Rock WN
|
||||
- Zora Waterfall NE
|
||||
- Zora Waterfall SE
|
||||
- Catfish SE
|
||||
- Graveyard EC
|
||||
- Dark Graveyard EC
|
||||
- River Bend WC
|
||||
- River Bend EN
|
||||
- River Bend EC
|
||||
- River Bend ES
|
||||
- River Bend SW
|
||||
- River Bend SC
|
||||
- River Bend SE
|
||||
- Qirn Jump WC
|
||||
- Qirn Jump EN
|
||||
- Qirn Jump EC
|
||||
- Qirn Jump ES
|
||||
- Qirn Jump SW
|
||||
- Qirn Jump SC
|
||||
- Qirn Jump SE
|
||||
- Potion Shop WN
|
||||
- Potion Shop WC
|
||||
- Potion Shop WS
|
||||
- Potion Shop EN
|
||||
- Potion Shop EC
|
||||
- Dark Witch WN
|
||||
- Dark Witch WC
|
||||
- Dark Witch WS
|
||||
- Dark Witch EN
|
||||
- Dark Witch EC
|
||||
- Zora Approach NE
|
||||
- Zora Approach WN
|
||||
- Zora Approach WC
|
||||
- Catfish Approach NE
|
||||
- Catfish Approach WN
|
||||
- Catfish Approach WC
|
||||
- Wooden Bridge NW
|
||||
- Wooden Bridge NC
|
||||
- Wooden Bridge NE
|
||||
- Broken Bridge NW
|
||||
- Broken Bridge NC
|
||||
- Broken Bridge NE
|
||||
- Zoras Domain SW
|
||||
southwest:
|
||||
- Kakariko ES
|
||||
- Kakariko SE
|
||||
- Village of Outcasts ES
|
||||
- Village of Outcasts SE
|
||||
- Hyrule Castle SW
|
||||
- Pyramid SW
|
||||
- Blacksmith WS
|
||||
- Hammer Pegs WS
|
||||
- Maze Race ES
|
||||
- Dig Game EC
|
||||
- Dig Game ES
|
||||
- Kakariko Suburb NE
|
||||
- Kakariko Suburb WS
|
||||
- Kakariko Suburb ES
|
||||
- Frog NE
|
||||
- Frog WC
|
||||
- Frog WS
|
||||
- Frog ES
|
||||
- Flute Boy WS
|
||||
- Flute Boy SW
|
||||
- Flute Boy SC
|
||||
- Stumpy WS
|
||||
- Stumpy SW
|
||||
- Stumpy SC
|
||||
- Central Bonk Rocks NW
|
||||
- Central Bonk Rocks SW
|
||||
- Dark Bonk Rocks NW
|
||||
- Dark Bonk Rocks SW
|
||||
- Desert EC
|
||||
- Desert ES
|
||||
- Flute Boy Approach NW
|
||||
- Flute Boy Approach NC
|
||||
- Flute Boy Approach EC
|
||||
- Stumpy Approach NW
|
||||
- Stumpy Approach NC
|
||||
- Stumpy Approach EC
|
||||
- C Whirlpool NW
|
||||
- C Whirlpool WC
|
||||
- C Whirlpool SC
|
||||
- Dark C Whirlpool NW
|
||||
- Dark C Whirlpool WC
|
||||
- Dark C Whirlpool SC
|
||||
- Desert Pass WC
|
||||
- Desert Pass WS
|
||||
- Desert Pass EC
|
||||
- Desert Pass ES
|
||||
- Swamp Nook EC
|
||||
- Swamp Nook ES
|
||||
- Dam NC
|
||||
- Dam WC
|
||||
- Dam WS
|
||||
- Swamp NC
|
||||
- Swamp WC
|
||||
- Swamp WS
|
||||
- Kakariko ES
|
||||
- Kakariko SE
|
||||
- Village of Outcasts ES
|
||||
- Village of Outcasts SE
|
||||
- Hyrule Castle SW
|
||||
- Pyramid SW
|
||||
- Blacksmith WS
|
||||
- Hammer Pegs WS
|
||||
- Maze Race ES
|
||||
- Dig Game EC
|
||||
- Dig Game ES
|
||||
- Kakariko Suburb NE
|
||||
- Kakariko Suburb WS
|
||||
- Kakariko Suburb ES
|
||||
- Frog NE
|
||||
- Frog WC
|
||||
- Frog WS
|
||||
- Frog ES
|
||||
- Flute Boy WS
|
||||
- Flute Boy SW
|
||||
- Flute Boy SC
|
||||
- Stumpy WS
|
||||
- Stumpy SW
|
||||
- Stumpy SC
|
||||
- Central Bonk Rocks NW
|
||||
- Central Bonk Rocks SW
|
||||
- Dark Bonk Rocks NW
|
||||
- Dark Bonk Rocks SW
|
||||
- Desert EC
|
||||
- Desert ES
|
||||
- Flute Boy Approach NW
|
||||
- Flute Boy Approach NC
|
||||
- Flute Boy Approach EC
|
||||
- Stumpy Approach NW
|
||||
- Stumpy Approach NC
|
||||
- Stumpy Approach EC
|
||||
- C Whirlpool NW
|
||||
- C Whirlpool WC
|
||||
- C Whirlpool SC
|
||||
- Dark C Whirlpool NW
|
||||
- Dark C Whirlpool WC
|
||||
- Dark C Whirlpool SC
|
||||
- Desert Pass WC
|
||||
- Desert Pass WS
|
||||
- Desert Pass EC
|
||||
- Desert Pass ES
|
||||
- Swamp Nook EC
|
||||
- Swamp Nook ES
|
||||
- Dam NC
|
||||
- Dam WC
|
||||
- Dam WS
|
||||
- Swamp NC
|
||||
- Swamp WC
|
||||
- Swamp WS
|
||||
southeast:
|
||||
- Hyrule Castle ES
|
||||
- Hyrule Castle SE
|
||||
- Pyramid ES
|
||||
- Pyramid SE
|
||||
- Eastern Palace SW
|
||||
- Eastern Palace SE
|
||||
- Palace of Darkness SW
|
||||
- Palace of Darkness SE
|
||||
- Sand Dunes WN
|
||||
- Sand Dunes SC
|
||||
- Dark Dunes WN
|
||||
- Dark Dunes SC
|
||||
- Links House NE
|
||||
- Links House SC
|
||||
- Links House ES
|
||||
- Big Bomb Shop NE
|
||||
- Big Bomb Shop SC
|
||||
- Big Bomb Shop ES
|
||||
- Stone Bridge NC
|
||||
- Stone Bridge WC
|
||||
- Stone Bridge WS
|
||||
- Stone Bridge EN
|
||||
- Stone Bridge EC
|
||||
- Stone Bridge SC
|
||||
- Hammer Bridge NC
|
||||
- Hammer Bridge WS
|
||||
- Hammer Bridge EN
|
||||
- Hammer Bridge EC
|
||||
- Hammer Bridge SC
|
||||
- Tree Line NW
|
||||
- Tree Line WN
|
||||
- Tree Line WC
|
||||
- Tree Line SC
|
||||
- Tree Line SE
|
||||
- Dark Tree Line NW
|
||||
- Dark Tree Line WN
|
||||
- Dark Tree Line WC
|
||||
- Dark Tree Line SC
|
||||
- Dark Tree Line SE
|
||||
- Eastern Nook NE
|
||||
- Palace of Darkness Nook NE
|
||||
- Statues NC
|
||||
- Statues SC
|
||||
- Hype Cave NC
|
||||
- Hype Cave SC
|
||||
- Lake Hylia NW
|
||||
- Lake Hylia NC
|
||||
- Lake Hylia NE
|
||||
- Lake Hylia WS
|
||||
- Lake Hylia EC
|
||||
- Lake Hylia ES
|
||||
- Ice Lake NW
|
||||
- Ice Lake NC
|
||||
- Ice Lake NE
|
||||
- Ice Lake WS
|
||||
- Ice Lake EC
|
||||
- Ice Lake ES
|
||||
- Ice Cave SW
|
||||
- Ice Cave SE
|
||||
- Shopping Mall SW
|
||||
- Shopping Mall SE
|
||||
- South Pass NC
|
||||
- South Pass ES
|
||||
- Dark South Pass NC
|
||||
- Dark South Pass ES
|
||||
- Octoballoon NW
|
||||
- Octoballoon NE
|
||||
- Octoballoon WC
|
||||
- Octoballoon WS
|
||||
- Bomber Corner NW
|
||||
- Bomber Corner NE
|
||||
- Bomber Corner WC
|
||||
- Bomber Corner WS
|
||||
- Hobo EC
|
||||
- Hyrule Castle ES
|
||||
- Hyrule Castle SE
|
||||
- Pyramid ES
|
||||
- Pyramid SE
|
||||
- Eastern Palace SW
|
||||
- Eastern Palace SE
|
||||
- Palace of Darkness SW
|
||||
- Palace of Darkness SE
|
||||
- Sand Dunes WN
|
||||
- Sand Dunes SC
|
||||
- Dark Dunes WN
|
||||
- Dark Dunes SC
|
||||
- Links House NE
|
||||
- Links House SC
|
||||
- Links House ES
|
||||
- Big Bomb Shop NE
|
||||
- Big Bomb Shop SC
|
||||
- Big Bomb Shop ES
|
||||
- Stone Bridge NC
|
||||
- Stone Bridge WC
|
||||
- Stone Bridge WS
|
||||
- Stone Bridge EN
|
||||
- Stone Bridge EC
|
||||
- Stone Bridge SC
|
||||
- Hammer Bridge NC
|
||||
- Hammer Bridge WS
|
||||
- Hammer Bridge EN
|
||||
- Hammer Bridge EC
|
||||
- Hammer Bridge SC
|
||||
- Tree Line NW
|
||||
- Tree Line WN
|
||||
- Tree Line WC
|
||||
- Tree Line SC
|
||||
- Tree Line SE
|
||||
- Dark Tree Line NW
|
||||
- Dark Tree Line WN
|
||||
- Dark Tree Line WC
|
||||
- Dark Tree Line SC
|
||||
- Dark Tree Line SE
|
||||
- Eastern Nook NE
|
||||
- Palace of Darkness Nook NE
|
||||
- Statues NC
|
||||
- Statues SC
|
||||
- Hype Cave NC
|
||||
- Hype Cave SC
|
||||
- Lake Hylia NW
|
||||
- Lake Hylia NC
|
||||
- Lake Hylia NE
|
||||
- Lake Hylia WS
|
||||
- Lake Hylia EC
|
||||
- Lake Hylia ES
|
||||
- Ice Lake NW
|
||||
- Ice Lake NC
|
||||
- Ice Lake NE
|
||||
- Ice Lake WS
|
||||
- Ice Lake EC
|
||||
- Ice Lake ES
|
||||
- Ice Cave SW
|
||||
- Ice Cave SE
|
||||
- Shopping Mall SW
|
||||
- Shopping Mall SE
|
||||
- South Pass NC
|
||||
- South Pass ES
|
||||
- Dark South Pass NC
|
||||
- Dark South Pass ES
|
||||
- Octoballoon NW
|
||||
- Octoballoon NE
|
||||
- Octoballoon WC
|
||||
- Octoballoon WS
|
||||
- Bomber Corner NW
|
||||
- Bomber Corner NE
|
||||
- Bomber Corner WC
|
||||
- Bomber Corner WS
|
||||
- Hobo EC
|
||||
borders:
|
||||
- Zora Whirlpool
|
||||
- Kakariko Pond Whirlpool
|
||||
- Sanctuary EC
|
||||
- Dark Chapel EC
|
||||
- Graveyard WC
|
||||
- Dark Graveyard WC
|
||||
- River Bend Whirlpool
|
||||
- Qirn Jump Whirlpool
|
||||
- Wooden Bridge SW
|
||||
- Broken Bridge SW
|
||||
- Sand Dunes NW
|
||||
- Dark Dunes NW
|
||||
- Central Bonk Rocks EN
|
||||
- Central Bonk Rocks EC
|
||||
- Central Bonk Rocks ES
|
||||
- Dark Bonk Rocks EN
|
||||
- Dark Bonk Rocks EC
|
||||
- Dark Bonk Rocks ES
|
||||
- Links House WN
|
||||
- Links House WC
|
||||
- Links House WS
|
||||
- Big Bomb Shop WN
|
||||
- Big Bomb Shop WC
|
||||
- Big Bomb Shop WS
|
||||
- C Whirlpool EN
|
||||
- C Whirlpool EC
|
||||
- C Whirlpool ES
|
||||
- C Whirlpool
|
||||
- Dark C Whirlpool EN
|
||||
- Dark C Whirlpool EC
|
||||
- Dark C Whirlpool ES
|
||||
- Statues WN
|
||||
- Statues WC
|
||||
- Statues WS
|
||||
- Hype Cave WN
|
||||
- Hype Cave WC
|
||||
- Hype Cave WS
|
||||
- Lake Hylia Whirlpool
|
||||
- Dam EC
|
||||
- Swamp EC
|
||||
- South Pass WC
|
||||
- Dark South Pass WC
|
||||
- Octoballoon Whirlpool
|
||||
- Bomber Corner Whirlpool
|
||||
- Sanctuary EC
|
||||
- Dark Chapel EC
|
||||
- Graveyard WC
|
||||
- Dark Graveyard WC
|
||||
- Wooden Bridge SW
|
||||
- Broken Bridge SW
|
||||
- Sand Dunes NW
|
||||
- Dark Dunes NW
|
||||
- Central Bonk Rocks EN
|
||||
- Central Bonk Rocks EC
|
||||
- Central Bonk Rocks ES
|
||||
- Dark Bonk Rocks EN
|
||||
- Dark Bonk Rocks EC
|
||||
- Dark Bonk Rocks ES
|
||||
- Links House WN
|
||||
- Links House WC
|
||||
- Links House WS
|
||||
- Big Bomb Shop WN
|
||||
- Big Bomb Shop WC
|
||||
- Big Bomb Shop WS
|
||||
- C Whirlpool EN
|
||||
- C Whirlpool EC
|
||||
- C Whirlpool ES
|
||||
- C Whirlpool
|
||||
- Dark C Whirlpool EN
|
||||
- Dark C Whirlpool EC
|
||||
- Dark C Whirlpool ES
|
||||
- Statues WN
|
||||
- Statues WC
|
||||
- Statues WS
|
||||
- Hype Cave WN
|
||||
- Hype Cave WC
|
||||
- Hype Cave WS
|
||||
- Dam EC
|
||||
- Swamp EC
|
||||
- South Pass WC
|
||||
- Dark South Pass WC
|
||||
@@ -24,252 +24,252 @@ ow-edges:
|
||||
Swamp EC*: Dark South Pass WC*
|
||||
groups:
|
||||
northwest:
|
||||
- Lost Woods NW
|
||||
- Lost Woods EN
|
||||
- Lost Woods SW
|
||||
- Lost Woods SC
|
||||
- Lost Woods SE
|
||||
- Skull Woods EN
|
||||
- Skull Woods SW
|
||||
- Skull Woods SC
|
||||
- Skull Woods SE
|
||||
- Lumberjack WN
|
||||
- Lumberjack SW
|
||||
- Dark Lumberjack WN
|
||||
- Dark Lumberjack SW
|
||||
- Mountain Pass NW
|
||||
- Mountain Pass SE
|
||||
- Bumper Cave NW
|
||||
- Bumper Cave SE
|
||||
- Lost Woods Pass NW
|
||||
- Lost Woods Pass NE
|
||||
- Lost Woods Pass SW
|
||||
- Lost Woods Pass SE
|
||||
- Skull Woods Pass NW
|
||||
- Skull Woods Pass NE
|
||||
- Skull Woods Pass SW
|
||||
- Skull Woods Pass SE
|
||||
- Kakariko Fortune NE
|
||||
- Kakariko Fortune EN
|
||||
- Kakariko Fortune ES
|
||||
- Kakariko Fortune SC
|
||||
- Dark Fortune NE
|
||||
- Dark Fortune EN
|
||||
- Dark Fortune ES
|
||||
- Dark Fortune SC
|
||||
- Kakariko Pond NE
|
||||
- Kakariko Pond WN
|
||||
- Kakariko Pond WS
|
||||
- Kakariko Pond EN
|
||||
- Kakariko Pond ES
|
||||
- Kakariko Pond SW
|
||||
- Kakariko Pond SE
|
||||
- Outcast Pond NE
|
||||
- Outcast Pond WN
|
||||
- Outcast Pond WS
|
||||
- Outcast Pond EN
|
||||
- Outcast Pond ES
|
||||
- Outcast Pond SW
|
||||
- Outcast Pond SE
|
||||
- Sanctuary WN
|
||||
- Sanctuary WS
|
||||
- Kakariko NW
|
||||
- Kakariko NC
|
||||
- Kakariko NE
|
||||
- Dark Chapel WN
|
||||
- Dark Chapel WS
|
||||
- Village of Outcasts NW
|
||||
- Village of Outcasts NC
|
||||
- Village of Outcasts NE
|
||||
- Forgotten Forest NW
|
||||
- Forgotten Forest NE
|
||||
- Forgotten Forest ES
|
||||
- Shield Shop NW
|
||||
- Shield Shop NE
|
||||
- Hyrule Castle WN
|
||||
- Master Sword Meadow SC
|
||||
- Lost Woods NW
|
||||
- Lost Woods EN
|
||||
- Lost Woods SW
|
||||
- Lost Woods SC
|
||||
- Lost Woods SE
|
||||
- Skull Woods EN
|
||||
- Skull Woods SW
|
||||
- Skull Woods SC
|
||||
- Skull Woods SE
|
||||
- Lumberjack WN
|
||||
- Lumberjack SW
|
||||
- Dark Lumberjack WN
|
||||
- Dark Lumberjack SW
|
||||
- Mountain Pass NW
|
||||
- Mountain Pass SE
|
||||
- Bumper Cave NW
|
||||
- Bumper Cave SE
|
||||
- Lost Woods Pass NW
|
||||
- Lost Woods Pass NE
|
||||
- Lost Woods Pass SW
|
||||
- Lost Woods Pass SE
|
||||
- Skull Woods Pass NW
|
||||
- Skull Woods Pass NE
|
||||
- Skull Woods Pass SW
|
||||
- Skull Woods Pass SE
|
||||
- Kakariko Fortune NE
|
||||
- Kakariko Fortune EN
|
||||
- Kakariko Fortune ES
|
||||
- Kakariko Fortune SC
|
||||
- Dark Fortune NE
|
||||
- Dark Fortune EN
|
||||
- Dark Fortune ES
|
||||
- Dark Fortune SC
|
||||
- Kakariko Pond NE
|
||||
- Kakariko Pond WN
|
||||
- Kakariko Pond WS
|
||||
- Kakariko Pond EN
|
||||
- Kakariko Pond ES
|
||||
- Kakariko Pond SW
|
||||
- Kakariko Pond SE
|
||||
- Outcast Pond NE
|
||||
- Outcast Pond WN
|
||||
- Outcast Pond WS
|
||||
- Outcast Pond EN
|
||||
- Outcast Pond ES
|
||||
- Outcast Pond SW
|
||||
- Outcast Pond SE
|
||||
- Sanctuary WN
|
||||
- Sanctuary WS
|
||||
- Kakariko NW
|
||||
- Kakariko NC
|
||||
- Kakariko NE
|
||||
- Dark Chapel WN
|
||||
- Dark Chapel WS
|
||||
- Village of Outcasts NW
|
||||
- Village of Outcasts NC
|
||||
- Village of Outcasts NE
|
||||
- Forgotten Forest NW
|
||||
- Forgotten Forest NE
|
||||
- Forgotten Forest ES
|
||||
- Shield Shop NW
|
||||
- Shield Shop NE
|
||||
- Hyrule Castle WN
|
||||
- Master Sword Meadow SC
|
||||
northeast:
|
||||
- West Death Mountain EN
|
||||
- West Death Mountain ES
|
||||
- West Dark Death Mountain EN
|
||||
- West Dark Death Mountain ES
|
||||
- East Death Mountain WN
|
||||
- East Death Mountain WS
|
||||
- East Death Mountain EN
|
||||
- East Dark Death Mountain WN
|
||||
- East Dark Death Mountain WS
|
||||
- East Dark Death Mountain EN
|
||||
- Death Mountain TR Pegs WN
|
||||
- Turtle Rock WN
|
||||
- Zora Waterfall NE
|
||||
- Zora Waterfall SE
|
||||
- Catfish SE
|
||||
- Graveyard EC
|
||||
- Dark Graveyard EC
|
||||
- River Bend WC
|
||||
- River Bend EN
|
||||
- River Bend EC
|
||||
- River Bend ES
|
||||
- River Bend SW
|
||||
- River Bend SC
|
||||
- River Bend SE
|
||||
- Qirn Jump WC
|
||||
- Qirn Jump EN
|
||||
- Qirn Jump EC
|
||||
- Qirn Jump ES
|
||||
- Qirn Jump SW
|
||||
- Qirn Jump SC
|
||||
- Qirn Jump SE
|
||||
- Potion Shop WN
|
||||
- Potion Shop WC
|
||||
- Potion Shop WS
|
||||
- Potion Shop EN
|
||||
- Potion Shop EC
|
||||
- Dark Witch WN
|
||||
- Dark Witch WC
|
||||
- Dark Witch WS
|
||||
- Dark Witch EN
|
||||
- Dark Witch EC
|
||||
- Zora Approach NE
|
||||
- Zora Approach WN
|
||||
- Zora Approach WC
|
||||
- Catfish Approach NE
|
||||
- Catfish Approach WN
|
||||
- Catfish Approach WC
|
||||
- Wooden Bridge NW
|
||||
- Wooden Bridge NC
|
||||
- Wooden Bridge NE
|
||||
- Broken Bridge NW
|
||||
- Broken Bridge NC
|
||||
- Broken Bridge NE
|
||||
- Zoras Domain SW
|
||||
- West Death Mountain EN
|
||||
- West Death Mountain ES
|
||||
- West Dark Death Mountain EN
|
||||
- West Dark Death Mountain ES
|
||||
- East Death Mountain WN
|
||||
- East Death Mountain WS
|
||||
- East Death Mountain EN
|
||||
- East Dark Death Mountain WN
|
||||
- East Dark Death Mountain WS
|
||||
- East Dark Death Mountain EN
|
||||
- Death Mountain TR Pegs WN
|
||||
- Turtle Rock WN
|
||||
- Zora Waterfall NE
|
||||
- Zora Waterfall SE
|
||||
- Catfish SE
|
||||
- Graveyard EC
|
||||
- Dark Graveyard EC
|
||||
- River Bend WC
|
||||
- River Bend EN
|
||||
- River Bend EC
|
||||
- River Bend ES
|
||||
- River Bend SW
|
||||
- River Bend SC
|
||||
- River Bend SE
|
||||
- Qirn Jump WC
|
||||
- Qirn Jump EN
|
||||
- Qirn Jump EC
|
||||
- Qirn Jump ES
|
||||
- Qirn Jump SW
|
||||
- Qirn Jump SC
|
||||
- Qirn Jump SE
|
||||
- Potion Shop WN
|
||||
- Potion Shop WC
|
||||
- Potion Shop WS
|
||||
- Potion Shop EN
|
||||
- Potion Shop EC
|
||||
- Dark Witch WN
|
||||
- Dark Witch WC
|
||||
- Dark Witch WS
|
||||
- Dark Witch EN
|
||||
- Dark Witch EC
|
||||
- Zora Approach NE
|
||||
- Zora Approach WN
|
||||
- Zora Approach WC
|
||||
- Catfish Approach NE
|
||||
- Catfish Approach WN
|
||||
- Catfish Approach WC
|
||||
- Wooden Bridge NW
|
||||
- Wooden Bridge NC
|
||||
- Wooden Bridge NE
|
||||
- Broken Bridge NW
|
||||
- Broken Bridge NC
|
||||
- Broken Bridge NE
|
||||
- Zoras Domain SW
|
||||
southwest:
|
||||
- Kakariko ES
|
||||
- Kakariko SE
|
||||
- Village of Outcasts ES
|
||||
- Village of Outcasts SE
|
||||
- Hyrule Castle SW
|
||||
- Pyramid SW
|
||||
- Blacksmith WS
|
||||
- Hammer Pegs WS
|
||||
- Maze Race ES
|
||||
- Dig Game EC
|
||||
- Dig Game ES
|
||||
- Kakariko Suburb NE
|
||||
- Kakariko Suburb WS
|
||||
- Kakariko Suburb ES
|
||||
- Frog NE
|
||||
- Frog WC
|
||||
- Frog WS
|
||||
- Frog ES
|
||||
- Flute Boy WS
|
||||
- Flute Boy SW
|
||||
- Flute Boy SC
|
||||
- Stumpy WS
|
||||
- Stumpy SW
|
||||
- Stumpy SC
|
||||
- Central Bonk Rocks NW
|
||||
- Central Bonk Rocks SW
|
||||
- Dark Bonk Rocks NW
|
||||
- Dark Bonk Rocks SW
|
||||
- Desert EC
|
||||
- Desert ES
|
||||
- Flute Boy Approach NW
|
||||
- Flute Boy Approach NC
|
||||
- Flute Boy Approach EC
|
||||
- Stumpy Approach NW
|
||||
- Stumpy Approach NC
|
||||
- Stumpy Approach EC
|
||||
- C Whirlpool NW
|
||||
- C Whirlpool WC
|
||||
- C Whirlpool SC
|
||||
- Dark C Whirlpool NW
|
||||
- Dark C Whirlpool WC
|
||||
- Dark C Whirlpool SC
|
||||
- Desert Pass WC
|
||||
- Desert Pass WS
|
||||
- Desert Pass EC
|
||||
- Desert Pass ES
|
||||
- Swamp Nook EC
|
||||
- Swamp Nook ES
|
||||
- Dam NC
|
||||
- Dam WC
|
||||
- Dam WS
|
||||
- Swamp NC
|
||||
- Swamp WC
|
||||
- Swamp WS
|
||||
- Kakariko ES
|
||||
- Kakariko SE
|
||||
- Village of Outcasts ES
|
||||
- Village of Outcasts SE
|
||||
- Hyrule Castle SW
|
||||
- Pyramid SW
|
||||
- Blacksmith WS
|
||||
- Hammer Pegs WS
|
||||
- Maze Race ES
|
||||
- Dig Game EC
|
||||
- Dig Game ES
|
||||
- Kakariko Suburb NE
|
||||
- Kakariko Suburb WS
|
||||
- Kakariko Suburb ES
|
||||
- Frog NE
|
||||
- Frog WC
|
||||
- Frog WS
|
||||
- Frog ES
|
||||
- Flute Boy WS
|
||||
- Flute Boy SW
|
||||
- Flute Boy SC
|
||||
- Stumpy WS
|
||||
- Stumpy SW
|
||||
- Stumpy SC
|
||||
- Central Bonk Rocks NW
|
||||
- Central Bonk Rocks SW
|
||||
- Dark Bonk Rocks NW
|
||||
- Dark Bonk Rocks SW
|
||||
- Desert EC
|
||||
- Desert ES
|
||||
- Flute Boy Approach NW
|
||||
- Flute Boy Approach NC
|
||||
- Flute Boy Approach EC
|
||||
- Stumpy Approach NW
|
||||
- Stumpy Approach NC
|
||||
- Stumpy Approach EC
|
||||
- C Whirlpool NW
|
||||
- C Whirlpool WC
|
||||
- C Whirlpool SC
|
||||
- Dark C Whirlpool NW
|
||||
- Dark C Whirlpool WC
|
||||
- Dark C Whirlpool SC
|
||||
- Desert Pass WC
|
||||
- Desert Pass WS
|
||||
- Desert Pass EC
|
||||
- Desert Pass ES
|
||||
- Swamp Nook EC
|
||||
- Swamp Nook ES
|
||||
- Dam NC
|
||||
- Dam WC
|
||||
- Dam WS
|
||||
- Swamp NC
|
||||
- Swamp WC
|
||||
- Swamp WS
|
||||
southeast:
|
||||
- Hyrule Castle ES
|
||||
- Hyrule Castle SE
|
||||
- Pyramid ES
|
||||
- Pyramid SE
|
||||
- Eastern Palace SW
|
||||
- Eastern Palace SE
|
||||
- Palace of Darkness SW
|
||||
- Palace of Darkness SE
|
||||
- Sand Dunes WN
|
||||
- Sand Dunes SC
|
||||
- Dark Dunes WN
|
||||
- Dark Dunes SC
|
||||
- Links House NE
|
||||
- Links House SC
|
||||
- Links House ES
|
||||
- Big Bomb Shop NE
|
||||
- Big Bomb Shop SC
|
||||
- Big Bomb Shop ES
|
||||
- Stone Bridge NC
|
||||
- Stone Bridge WC
|
||||
- Stone Bridge WS
|
||||
- Stone Bridge EN
|
||||
- Stone Bridge EC
|
||||
- Stone Bridge SC
|
||||
- Hammer Bridge NC
|
||||
- Hammer Bridge WS
|
||||
- Hammer Bridge EN
|
||||
- Hammer Bridge EC
|
||||
- Hammer Bridge SC
|
||||
- Tree Line NW
|
||||
- Tree Line WN
|
||||
- Tree Line WC
|
||||
- Tree Line SC
|
||||
- Tree Line SE
|
||||
- Dark Tree Line NW
|
||||
- Dark Tree Line WN
|
||||
- Dark Tree Line WC
|
||||
- Dark Tree Line SC
|
||||
- Dark Tree Line SE
|
||||
- Eastern Nook NE
|
||||
- Palace of Darkness Nook NE
|
||||
- Statues NC
|
||||
- Statues SC
|
||||
- Hype Cave NC
|
||||
- Hype Cave SC
|
||||
- Lake Hylia NW
|
||||
- Lake Hylia NC
|
||||
- Lake Hylia NE
|
||||
- Lake Hylia WS
|
||||
- Lake Hylia EC
|
||||
- Lake Hylia ES
|
||||
- Ice Lake NW
|
||||
- Ice Lake NC
|
||||
- Ice Lake NE
|
||||
- Ice Lake WS
|
||||
- Ice Lake EC
|
||||
- Ice Lake ES
|
||||
- Ice Cave SW
|
||||
- Ice Cave SE
|
||||
- Shopping Mall SW
|
||||
- Shopping Mall SE
|
||||
- South Pass NC
|
||||
- South Pass ES
|
||||
- Dark South Pass NC
|
||||
- Dark South Pass ES
|
||||
- Octoballoon NW
|
||||
- Octoballoon NE
|
||||
- Octoballoon WC
|
||||
- Octoballoon WS
|
||||
- Bomber Corner NW
|
||||
- Bomber Corner NE
|
||||
- Bomber Corner WC
|
||||
- Bomber Corner WS
|
||||
- Hobo EC
|
||||
- Hyrule Castle ES
|
||||
- Hyrule Castle SE
|
||||
- Pyramid ES
|
||||
- Pyramid SE
|
||||
- Eastern Palace SW
|
||||
- Eastern Palace SE
|
||||
- Palace of Darkness SW
|
||||
- Palace of Darkness SE
|
||||
- Sand Dunes WN
|
||||
- Sand Dunes SC
|
||||
- Dark Dunes WN
|
||||
- Dark Dunes SC
|
||||
- Links House NE
|
||||
- Links House SC
|
||||
- Links House ES
|
||||
- Big Bomb Shop NE
|
||||
- Big Bomb Shop SC
|
||||
- Big Bomb Shop ES
|
||||
- Stone Bridge NC
|
||||
- Stone Bridge WC
|
||||
- Stone Bridge WS
|
||||
- Stone Bridge EN
|
||||
- Stone Bridge EC
|
||||
- Stone Bridge SC
|
||||
- Hammer Bridge NC
|
||||
- Hammer Bridge WS
|
||||
- Hammer Bridge EN
|
||||
- Hammer Bridge EC
|
||||
- Hammer Bridge SC
|
||||
- Tree Line NW
|
||||
- Tree Line WN
|
||||
- Tree Line WC
|
||||
- Tree Line SC
|
||||
- Tree Line SE
|
||||
- Dark Tree Line NW
|
||||
- Dark Tree Line WN
|
||||
- Dark Tree Line WC
|
||||
- Dark Tree Line SC
|
||||
- Dark Tree Line SE
|
||||
- Eastern Nook NE
|
||||
- Palace of Darkness Nook NE
|
||||
- Statues NC
|
||||
- Statues SC
|
||||
- Hype Cave NC
|
||||
- Hype Cave SC
|
||||
- Lake Hylia NW
|
||||
- Lake Hylia NC
|
||||
- Lake Hylia NE
|
||||
- Lake Hylia WS
|
||||
- Lake Hylia EC
|
||||
- Lake Hylia ES
|
||||
- Ice Lake NW
|
||||
- Ice Lake NC
|
||||
- Ice Lake NE
|
||||
- Ice Lake WS
|
||||
- Ice Lake EC
|
||||
- Ice Lake ES
|
||||
- Ice Cave SW
|
||||
- Ice Cave SE
|
||||
- Shopping Mall SW
|
||||
- Shopping Mall SE
|
||||
- South Pass NC
|
||||
- South Pass ES
|
||||
- Dark South Pass NC
|
||||
- Dark South Pass ES
|
||||
- Octoballoon NW
|
||||
- Octoballoon NE
|
||||
- Octoballoon WC
|
||||
- Octoballoon WS
|
||||
- Bomber Corner NW
|
||||
- Bomber Corner NE
|
||||
- Bomber Corner WC
|
||||
- Bomber Corner WS
|
||||
- Hobo EC
|
||||
214
presets/world/owr_ringshuffle-borders.yaml
Normal file
214
presets/world/owr_ringshuffle-borders.yaml
Normal file
@@ -0,0 +1,214 @@
|
||||
ow-edges:
|
||||
1:
|
||||
two-way:
|
||||
Lost Woods NW: Master Sword Meadow SC
|
||||
Lost Woods EN*: Lumberjack WN*
|
||||
Lost Woods SW*: Lost Woods Pass NW*
|
||||
Lost Woods SC*: Lost Woods Pass NE*
|
||||
Skull Woods EN*: Dark Lumberjack WN*
|
||||
Skull Woods SW*: Skull Woods Pass NW*
|
||||
Skull Woods SC*: Skull Woods Pass NE*
|
||||
West Death Mountain EN*: East Death Mountain WN*
|
||||
West Dark Death Mountain EN*: East Dark Death Mountain WN*
|
||||
East Death Mountain EN*: Death Mountain TR Pegs WN*
|
||||
East Dark Death Mountain EN*: Turtle Rock WN*
|
||||
Zora Waterfall NE: Zoras Domain SW
|
||||
Zora Waterfall SE*: Zora Approach NE*
|
||||
Catfish SE*: Catfish Approach NE*
|
||||
Lost Woods Pass SW*: Kakariko NW*
|
||||
Lost Woods Pass SE*: Kakariko NC*
|
||||
Skull Woods Pass SW*: Village of Outcasts NW*
|
||||
Skull Woods Pass SE*: Village of Outcasts NC*
|
||||
Eastern Palace SE*: Eastern Nook NE*
|
||||
Palace of Darkness SE*: Palace of Darkness Nook NE*
|
||||
Desert EC: Desert Pass WC
|
||||
Desert ES: Desert Pass WS
|
||||
Lake Hylia WS*: South Pass ES*
|
||||
Lake Hylia EC*: Octoballoon WC*
|
||||
Lake Hylia ES*: Octoballoon WS*
|
||||
Ice Lake WS*: Dark South Pass ES*
|
||||
Ice Lake EC*: Bomber Corner WC*
|
||||
Ice Lake ES*: Bomber Corner WS*
|
||||
Ice Cave SW*: Octoballoon NW*
|
||||
Ice Cave SE*: Octoballoon NE*
|
||||
Shopping Mall SW*: Bomber Corner NW*
|
||||
Shopping Mall SE*: Bomber Corner NE*
|
||||
Desert Pass EC*: Dam WC*
|
||||
Desert Pass ES*: Dam WS*
|
||||
Swamp Nook EC*: Swamp WC*
|
||||
Swamp Nook ES*: Swamp WS*
|
||||
Dam EC*: South Pass WC*
|
||||
Swamp EC*: Dark South Pass WC*
|
||||
Lost Woods SE*: Kakariko Fortune NE*
|
||||
Skull Woods SE*: Dark Fortune NE*
|
||||
West Death Mountain ES*: East Death Mountain WS*
|
||||
West Dark Death Mountain ES*: East Dark Death Mountain WS*
|
||||
Kakariko Fortune SC*: Kakariko NE*
|
||||
Dark Fortune SC*: Village of Outcasts NE*
|
||||
Kakariko SE*: Kakariko Suburb NE*
|
||||
Village of Outcasts SE*: Frog NE*
|
||||
Eastern Palace SW*: Tree Line NW*
|
||||
Palace of Darkness SW*: Dark Tree Line NW*
|
||||
Tree Line SC*: Lake Hylia NC*
|
||||
Tree Line SE*: Lake Hylia NE*
|
||||
Dark Tree Line SC*: Ice Lake NC*
|
||||
Dark Tree Line SE*: Ice Lake NE*
|
||||
Flute Boy Approach EC*: C Whirlpool WC*
|
||||
Stumpy Approach EC*: Dark C Whirlpool WC*
|
||||
C Whirlpool EN*: Statues WN*
|
||||
C Whirlpool EC*: Statues WC*
|
||||
C Whirlpool ES*: Statues WS*
|
||||
Dark C Whirlpool EN*: Hype Cave WN*
|
||||
Dark C Whirlpool EC*: Hype Cave WC*
|
||||
Dark C Whirlpool ES*: Hype Cave WS*
|
||||
Kakariko Pond EN*: Sanctuary WN*
|
||||
Kakariko Pond ES*: Sanctuary WS*
|
||||
Kakariko Pond SW*: Forgotten Forest NW*
|
||||
Kakariko Pond SE*: Forgotten Forest NE*
|
||||
Outcast Pond EN*: Dark Chapel WN*
|
||||
Outcast Pond ES*: Dark Chapel WS*
|
||||
Outcast Pond SW*: Shield Shop NW*
|
||||
Outcast Pond SE*: Shield Shop NE*
|
||||
Sanctuary EC*: Graveyard WC*
|
||||
Dark Chapel EC*: Dark Graveyard WC*
|
||||
Graveyard EC*: River Bend WC*
|
||||
Dark Graveyard EC*: Qirn Jump WC*
|
||||
River Bend SW*: Wooden Bridge NW*
|
||||
River Bend SC*: Wooden Bridge NC*
|
||||
River Bend SE*: Wooden Bridge NE*
|
||||
Qirn Jump SW*: Broken Bridge NW*
|
||||
Qirn Jump SC*: Broken Bridge NC*
|
||||
Qirn Jump SE*: Broken Bridge NE*
|
||||
Wooden Bridge SW*: Sand Dunes NW*
|
||||
Broken Bridge SW*: Dark Dunes NW*
|
||||
Sand Dunes SC*: Stone Bridge NC*
|
||||
Dark Dunes SC*: Hammer Bridge NC*
|
||||
Central Bonk Rocks EN*: Links House WN*
|
||||
Central Bonk Rocks EC*: Links House WC*
|
||||
Central Bonk Rocks ES*: Links House WS*
|
||||
Dark Bonk Rocks EN*: Big Bomb Shop WN*
|
||||
Dark Bonk Rocks EC*: Big Bomb Shop WC*
|
||||
Dark Bonk Rocks ES*: Big Bomb Shop WS*
|
||||
Links House ES*: Stone Bridge WS*
|
||||
Big Bomb Shop ES*: Hammer Bridge WS*
|
||||
Stone Bridge WC: Hobo EC
|
||||
groups:
|
||||
border12_nw:
|
||||
- Potion Shop EN
|
||||
- Potion Shop EC
|
||||
- Dark Witch EN
|
||||
- Dark Witch EC
|
||||
- Zora Approach WN
|
||||
- Zora Approach WC
|
||||
- Catfish Approach WN
|
||||
- Catfish Approach WC
|
||||
- C Whirlpool SC
|
||||
- Dark C Whirlpool SC
|
||||
- Statues SC
|
||||
- Hype Cave SC
|
||||
- Dam NC
|
||||
- Swamp NC
|
||||
- South Pass NC
|
||||
- Dark South Pass NC
|
||||
border12_es:
|
||||
- Lumberjack SW
|
||||
- Dark Lumberjack SW
|
||||
- Mountain Pass NW
|
||||
- Bumper Cave NW
|
||||
- Maze Race ES
|
||||
- Dig Game EC
|
||||
- Dig Game ES
|
||||
- Kakariko Suburb WS
|
||||
- Frog WC
|
||||
- Frog WS
|
||||
border23_nw:
|
||||
- River Bend EN
|
||||
- River Bend EC
|
||||
- River Bend ES
|
||||
- Qirn Jump EN
|
||||
- Qirn Jump EC
|
||||
- Qirn Jump ES
|
||||
- Potion Shop WN
|
||||
- Potion Shop WC
|
||||
- Potion Shop WS
|
||||
- Dark Witch WN
|
||||
- Dark Witch WC
|
||||
- Dark Witch WS
|
||||
- Flute Boy SW
|
||||
- Flute Boy SC
|
||||
- Stumpy SW
|
||||
- Stumpy SC
|
||||
- Central Bonk Rocks SW
|
||||
- Dark Bonk Rocks SW
|
||||
- Links House SC
|
||||
- Big Bomb Shop SC
|
||||
- Stone Bridge EN
|
||||
- Stone Bridge EC
|
||||
- Stone Bridge SC
|
||||
- Hammer Bridge EN
|
||||
- Hammer Bridge EC
|
||||
- Hammer Bridge SC
|
||||
- Tree Line WN
|
||||
- Tree Line WC
|
||||
- Dark Tree Line WN
|
||||
- Dark Tree Line WC
|
||||
- Flute Boy Approach NW
|
||||
- Flute Boy Approach NC
|
||||
- Stumpy Approach NW
|
||||
- Stumpy Approach NC
|
||||
- C Whirlpool NW
|
||||
- Dark C Whirlpool NW
|
||||
- Statues NC
|
||||
- Hype Cave NC
|
||||
- Lake Hylia NW
|
||||
- Ice Lake NW
|
||||
border23_es:
|
||||
- Mountain Pass SE
|
||||
- Bumper Cave SE
|
||||
- Kakariko Fortune EN
|
||||
- Kakariko Fortune ES
|
||||
- Dark Fortune EN
|
||||
- Dark Fortune ES
|
||||
- Kakariko Pond NE
|
||||
- Kakariko Pond WN
|
||||
- Kakariko Pond WS
|
||||
- Outcast Pond NE
|
||||
- Outcast Pond WN
|
||||
- Outcast Pond WS
|
||||
- Kakariko ES
|
||||
- Village of Outcasts ES
|
||||
- Blacksmith WS
|
||||
- Hammer Pegs WS
|
||||
- Kakariko Suburb ES
|
||||
- Frog ES
|
||||
- Flute Boy WS
|
||||
- Stumpy WS
|
||||
border34_nw:
|
||||
- Hyrule Castle ES
|
||||
- Hyrule Castle SW
|
||||
- Hyrule Castle SE
|
||||
- Pyramid ES
|
||||
- Pyramid SW
|
||||
- Pyramid SE
|
||||
- Sand Dunes WN
|
||||
- Dark Dunes WN
|
||||
- Central Bonk Rocks NW
|
||||
- Dark Bonk Rocks NW
|
||||
- Links House NE
|
||||
- Big Bomb Shop NE
|
||||
border34_es:
|
||||
- Forgotten Forest ES
|
||||
- Hyrule Castle WN
|
||||
ow-whirlpools:
|
||||
1:
|
||||
two-way:
|
||||
Zora Whirlpool: Lake Hylia Whirlpool
|
||||
ow-tileflips:
|
||||
1:
|
||||
force_together:
|
||||
Forest:
|
||||
- 0x1a
|
||||
- 0x1b
|
||||
FrogDig:
|
||||
- 0x28
|
||||
- 0x29
|
||||
313
presets/world/owr_ringshuffle-full.yaml
Normal file
313
presets/world/owr_ringshuffle-full.yaml
Normal file
@@ -0,0 +1,313 @@
|
||||
ow-edges:
|
||||
1:
|
||||
groups:
|
||||
ring1:
|
||||
- Lost Woods NW
|
||||
- Lost Woods EN
|
||||
- Lost Woods SW
|
||||
- Lost Woods SC
|
||||
- Skull Woods EN
|
||||
- Skull Woods SW
|
||||
- Skull Woods SC
|
||||
- Lumberjack WN
|
||||
- Dark Lumberjack WN
|
||||
- West Death Mountain EN
|
||||
- West Dark Death Mountain EN
|
||||
- East Death Mountain WN
|
||||
- East Death Mountain EN
|
||||
- East Dark Death Mountain WN
|
||||
- East Dark Death Mountain EN
|
||||
- Death Mountain TR Pegs WN
|
||||
- Turtle Rock WN
|
||||
- Zora Waterfall NE
|
||||
- Zora Waterfall SE
|
||||
- Catfish SE
|
||||
- Lost Woods Pass NW
|
||||
- Lost Woods Pass NE
|
||||
- Lost Woods Pass SW
|
||||
- Lost Woods Pass SE
|
||||
- Skull Woods Pass NW
|
||||
- Skull Woods Pass NE
|
||||
- Skull Woods Pass SW
|
||||
- Skull Woods Pass SE
|
||||
- Zora Approach NE
|
||||
- Catfish Approach NE
|
||||
- Kakariko NW
|
||||
- Kakariko NC
|
||||
- Village of Outcasts NW
|
||||
- Village of Outcasts NC
|
||||
- Eastern Palace SE
|
||||
- Palace of Darkness SE
|
||||
- Eastern Nook NE
|
||||
- Palace of Darkness Nook NE
|
||||
- Desert EC
|
||||
- Desert ES
|
||||
- Lake Hylia WS
|
||||
- Lake Hylia EC
|
||||
- Lake Hylia ES
|
||||
- Ice Lake WS
|
||||
- Ice Lake EC
|
||||
- Ice Lake ES
|
||||
- Ice Cave SW
|
||||
- Ice Cave SE
|
||||
- Shopping Mall SW
|
||||
- Shopping Mall SE
|
||||
- Desert Pass WC
|
||||
- Desert Pass WS
|
||||
- Desert Pass EC
|
||||
- Desert Pass ES
|
||||
- Swamp Nook EC
|
||||
- Swamp Nook ES
|
||||
- Dam WC
|
||||
- Dam WS
|
||||
- Dam EC
|
||||
- Swamp WC
|
||||
- Swamp WS
|
||||
- Swamp EC
|
||||
- South Pass WC
|
||||
- South Pass ES
|
||||
- Dark South Pass WC
|
||||
- Dark South Pass ES
|
||||
- Octoballoon NW
|
||||
- Octoballoon NE
|
||||
- Octoballoon WC
|
||||
- Octoballoon WS
|
||||
- Bomber Corner NW
|
||||
- Bomber Corner NE
|
||||
- Bomber Corner WC
|
||||
- Bomber Corner WS
|
||||
- Master Sword Meadow SC
|
||||
- Zoras Domain SW
|
||||
ring2:
|
||||
- Lost Woods SE
|
||||
- Skull Woods SE
|
||||
- West Death Mountain ES
|
||||
- West Dark Death Mountain ES
|
||||
- East Death Mountain WS
|
||||
- East Dark Death Mountain WS
|
||||
- Kakariko Fortune NE
|
||||
- Kakariko Fortune SC
|
||||
- Dark Fortune NE
|
||||
- Dark Fortune SC
|
||||
- Kakariko NE
|
||||
- Kakariko SE
|
||||
- Village of Outcasts NE
|
||||
- Village of Outcasts SE
|
||||
- Eastern Palace SW
|
||||
- Palace of Darkness SW
|
||||
- Kakariko Suburb NE
|
||||
- Frog NE
|
||||
- Tree Line NW
|
||||
- Tree Line SC
|
||||
- Tree Line SE
|
||||
- Dark Tree Line NW
|
||||
- Dark Tree Line SC
|
||||
- Dark Tree Line SE
|
||||
- Flute Boy Approach EC
|
||||
- Stumpy Approach EC
|
||||
- C Whirlpool WC
|
||||
- C Whirlpool EN
|
||||
- C Whirlpool EC
|
||||
- C Whirlpool ES
|
||||
- Dark C Whirlpool WC
|
||||
- Dark C Whirlpool EN
|
||||
- Dark C Whirlpool EC
|
||||
- Dark C Whirlpool ES
|
||||
- Statues WN
|
||||
- Statues WC
|
||||
- Statues WS
|
||||
- Hype Cave WN
|
||||
- Hype Cave WC
|
||||
- Hype Cave WS
|
||||
- Lake Hylia NC
|
||||
- Lake Hylia NE
|
||||
- Ice Lake NC
|
||||
- Ice Lake NE
|
||||
ring3:
|
||||
- Kakariko Pond EN
|
||||
- Kakariko Pond ES
|
||||
- Kakariko Pond SW
|
||||
- Kakariko Pond SE
|
||||
- Outcast Pond EN
|
||||
- Outcast Pond ES
|
||||
- Outcast Pond SW
|
||||
- Outcast Pond SE
|
||||
- Sanctuary WN
|
||||
- Sanctuary WS
|
||||
- Sanctuary EC
|
||||
- Dark Chapel WN
|
||||
- Dark Chapel WS
|
||||
- Dark Chapel EC
|
||||
- Graveyard WC
|
||||
- Graveyard EC
|
||||
- Dark Graveyard WC
|
||||
- Dark Graveyard EC
|
||||
- River Bend WC
|
||||
- River Bend SW
|
||||
- River Bend SC
|
||||
- River Bend SE
|
||||
- Qirn Jump WC
|
||||
- Qirn Jump SW
|
||||
- Qirn Jump SC
|
||||
- Qirn Jump SE
|
||||
- Forgotten Forest NW
|
||||
- Forgotten Forest NE
|
||||
- Shield Shop NW
|
||||
- Shield Shop NE
|
||||
- Wooden Bridge NW
|
||||
- Wooden Bridge NC
|
||||
- Wooden Bridge NE
|
||||
- Wooden Bridge SW
|
||||
- Broken Bridge NW
|
||||
- Broken Bridge NC
|
||||
- Broken Bridge NE
|
||||
- Broken Bridge SW
|
||||
- Sand Dunes NW
|
||||
- Sand Dunes SC
|
||||
- Dark Dunes NW
|
||||
- Dark Dunes SC
|
||||
- Central Bonk Rocks EN
|
||||
- Central Bonk Rocks EC
|
||||
- Central Bonk Rocks ES
|
||||
- Dark Bonk Rocks EN
|
||||
- Dark Bonk Rocks EC
|
||||
- Dark Bonk Rocks ES
|
||||
- Links House WN
|
||||
- Links House WC
|
||||
- Links House WS
|
||||
- Links House ES
|
||||
- Big Bomb Shop WN
|
||||
- Big Bomb Shop WC
|
||||
- Big Bomb Shop WS
|
||||
- Big Bomb Shop ES
|
||||
- Stone Bridge NC
|
||||
- Stone Bridge WC
|
||||
- Stone Bridge WS
|
||||
- Hammer Bridge NC
|
||||
- Hammer Bridge WS
|
||||
- Hobo EC
|
||||
border12_nw:
|
||||
- Potion Shop EN
|
||||
- Potion Shop EC
|
||||
- Dark Witch EN
|
||||
- Dark Witch EC
|
||||
- Zora Approach WN
|
||||
- Zora Approach WC
|
||||
- Catfish Approach WN
|
||||
- Catfish Approach WC
|
||||
- C Whirlpool SC
|
||||
- Dark C Whirlpool SC
|
||||
- Statues SC
|
||||
- Hype Cave SC
|
||||
- Dam NC
|
||||
- Swamp NC
|
||||
- South Pass NC
|
||||
- Dark South Pass NC
|
||||
border12_es:
|
||||
- Lumberjack SW
|
||||
- Dark Lumberjack SW
|
||||
- Mountain Pass NW
|
||||
- Bumper Cave NW
|
||||
- Maze Race ES
|
||||
- Dig Game EC
|
||||
- Dig Game ES
|
||||
- Kakariko Suburb WS
|
||||
- Frog WC
|
||||
- Frog WS
|
||||
border23_nw:
|
||||
- River Bend EN
|
||||
- River Bend EC
|
||||
- River Bend ES
|
||||
- Qirn Jump EN
|
||||
- Qirn Jump EC
|
||||
- Qirn Jump ES
|
||||
- Potion Shop WN
|
||||
- Potion Shop WC
|
||||
- Potion Shop WS
|
||||
- Dark Witch WN
|
||||
- Dark Witch WC
|
||||
- Dark Witch WS
|
||||
- Flute Boy SW
|
||||
- Flute Boy SC
|
||||
- Stumpy SW
|
||||
- Stumpy SC
|
||||
- Central Bonk Rocks SW
|
||||
- Dark Bonk Rocks SW
|
||||
- Links House SC
|
||||
- Big Bomb Shop SC
|
||||
- Stone Bridge EN
|
||||
- Stone Bridge EC
|
||||
- Stone Bridge SC
|
||||
- Hammer Bridge EN
|
||||
- Hammer Bridge EC
|
||||
- Hammer Bridge SC
|
||||
- Tree Line WN
|
||||
- Tree Line WC
|
||||
- Dark Tree Line WN
|
||||
- Dark Tree Line WC
|
||||
- Flute Boy Approach NW
|
||||
- Flute Boy Approach NC
|
||||
- Stumpy Approach NW
|
||||
- Stumpy Approach NC
|
||||
- C Whirlpool NW
|
||||
- Dark C Whirlpool NW
|
||||
- Statues NC
|
||||
- Hype Cave NC
|
||||
- Lake Hylia NW
|
||||
- Ice Lake NW
|
||||
border23_es:
|
||||
- Mountain Pass SE
|
||||
- Bumper Cave SE
|
||||
- Kakariko Fortune EN
|
||||
- Kakariko Fortune ES
|
||||
- Dark Fortune EN
|
||||
- Dark Fortune ES
|
||||
- Kakariko Pond NE
|
||||
- Kakariko Pond WN
|
||||
- Kakariko Pond WS
|
||||
- Outcast Pond NE
|
||||
- Outcast Pond WN
|
||||
- Outcast Pond WS
|
||||
- Kakariko ES
|
||||
- Village of Outcasts ES
|
||||
- Blacksmith WS
|
||||
- Hammer Pegs WS
|
||||
- Kakariko Suburb ES
|
||||
- Frog ES
|
||||
- Flute Boy WS
|
||||
- Stumpy WS
|
||||
border34_nw:
|
||||
- Hyrule Castle ES
|
||||
- Hyrule Castle SW
|
||||
- Hyrule Castle SE
|
||||
- Pyramid ES
|
||||
- Pyramid SW
|
||||
- Pyramid SE
|
||||
- Sand Dunes WN
|
||||
- Dark Dunes WN
|
||||
- Central Bonk Rocks NW
|
||||
- Dark Bonk Rocks NW
|
||||
- Links House NE
|
||||
- Big Bomb Shop NE
|
||||
border34_es:
|
||||
- Forgotten Forest ES
|
||||
- Hyrule Castle WN
|
||||
ow-tileflips:
|
||||
1:
|
||||
force_together:
|
||||
PedHobo:
|
||||
- 0x00
|
||||
- 0x2d
|
||||
- 0x80
|
||||
Zora:
|
||||
- 0x0f
|
||||
- 0x81
|
||||
Forest:
|
||||
- 0x1a
|
||||
- 0x1b
|
||||
FrogDig:
|
||||
- 0x28
|
||||
- 0x29
|
||||
Desert:
|
||||
- 0x30
|
||||
- 0x3a
|
||||
258
presets/world/owr_ringshuffle-interiors.yaml
Normal file
258
presets/world/owr_ringshuffle-interiors.yaml
Normal file
@@ -0,0 +1,258 @@
|
||||
ow-edges:
|
||||
1:
|
||||
two-way:
|
||||
Lumberjack SW: Mountain Pass NW
|
||||
Dark Lumberjack SW: Bumper Cave NW
|
||||
Potion Shop EN: Zora Approach WN
|
||||
Potion Shop EC: Zora Approach WC
|
||||
Dark Witch EN: Catfish Approach WN
|
||||
Dark Witch EC: Catfish Approach WC
|
||||
Maze Race ES: Kakariko Suburb WS
|
||||
Dig Game EC: Frog WC
|
||||
Dig Game ES: Frog WS
|
||||
C Whirlpool SC: Dam NC
|
||||
Dark C Whirlpool SC: Swamp NC
|
||||
Statues SC: South Pass NC
|
||||
Hype Cave SC: Dark South Pass NC
|
||||
Mountain Pass SE: Kakariko Pond NE
|
||||
Bumper Cave SE: Outcast Pond NE
|
||||
Kakariko Fortune EN: Kakariko Pond WN
|
||||
Kakariko Fortune ES: Kakariko Pond WS
|
||||
Dark Fortune EN: Outcast Pond WN
|
||||
Dark Fortune ES: Outcast Pond WS
|
||||
River Bend EN: Potion Shop WN
|
||||
River Bend EC: Potion Shop WC
|
||||
River Bend ES: Potion Shop WS
|
||||
Qirn Jump EN: Dark Witch WN
|
||||
Qirn Jump EC: Dark Witch WC
|
||||
Qirn Jump ES: Dark Witch WS
|
||||
Kakariko ES: Blacksmith WS
|
||||
Village of Outcasts ES: Hammer Pegs WS
|
||||
Kakariko Suburb ES: Flute Boy WS
|
||||
Frog ES: Stumpy WS
|
||||
Flute Boy SW: Flute Boy Approach NW
|
||||
Flute Boy SC: Flute Boy Approach NC
|
||||
Stumpy SW: Stumpy Approach NW
|
||||
Stumpy SC: Stumpy Approach NC
|
||||
Central Bonk Rocks SW: C Whirlpool NW
|
||||
Dark Bonk Rocks SW: Dark C Whirlpool NW
|
||||
Links House SC: Statues NC
|
||||
Big Bomb Shop SC: Hype Cave NC
|
||||
Stone Bridge EN: Tree Line WN
|
||||
Stone Bridge EC: Tree Line WC
|
||||
Stone Bridge SC: Lake Hylia NW
|
||||
Hammer Bridge EN: Dark Tree Line WN
|
||||
Hammer Bridge EC: Dark Tree Line WC
|
||||
Hammer Bridge SC: Ice Lake NW
|
||||
Forgotten Forest ES: Hyrule Castle WN
|
||||
Hyrule Castle ES: Sand Dunes WN
|
||||
Hyrule Castle SW: Central Bonk Rocks NW
|
||||
Hyrule Castle SE: Links House NE
|
||||
Pyramid ES: Dark Dunes WN
|
||||
Pyramid SW: Dark Bonk Rocks NW
|
||||
Pyramid SE: Big Bomb Shop NE
|
||||
groups:
|
||||
ring1:
|
||||
- Lost Woods NW
|
||||
- Lost Woods EN
|
||||
- Lost Woods SW
|
||||
- Lost Woods SC
|
||||
- Skull Woods EN
|
||||
- Skull Woods SW
|
||||
- Skull Woods SC
|
||||
- Lumberjack WN
|
||||
- Dark Lumberjack WN
|
||||
- West Death Mountain EN
|
||||
- West Dark Death Mountain EN
|
||||
- East Death Mountain WN
|
||||
- East Death Mountain EN
|
||||
- East Dark Death Mountain WN
|
||||
- East Dark Death Mountain EN
|
||||
- Death Mountain TR Pegs WN
|
||||
- Turtle Rock WN
|
||||
- Zora Waterfall NE
|
||||
- Zora Waterfall SE
|
||||
- Catfish SE
|
||||
- Lost Woods Pass NW
|
||||
- Lost Woods Pass NE
|
||||
- Lost Woods Pass SW
|
||||
- Lost Woods Pass SE
|
||||
- Skull Woods Pass NW
|
||||
- Skull Woods Pass NE
|
||||
- Skull Woods Pass SW
|
||||
- Skull Woods Pass SE
|
||||
- Zora Approach NE
|
||||
- Catfish Approach NE
|
||||
- Kakariko NW
|
||||
- Kakariko NC
|
||||
- Village of Outcasts NW
|
||||
- Village of Outcasts NC
|
||||
- Eastern Palace SE
|
||||
- Palace of Darkness SE
|
||||
- Eastern Nook NE
|
||||
- Palace of Darkness Nook NE
|
||||
- Desert EC
|
||||
- Desert ES
|
||||
- Lake Hylia WS
|
||||
- Lake Hylia EC
|
||||
- Lake Hylia ES
|
||||
- Ice Lake WS
|
||||
- Ice Lake EC
|
||||
- Ice Lake ES
|
||||
- Ice Cave SW
|
||||
- Ice Cave SE
|
||||
- Shopping Mall SW
|
||||
- Shopping Mall SE
|
||||
- Desert Pass WC
|
||||
- Desert Pass WS
|
||||
- Desert Pass EC
|
||||
- Desert Pass ES
|
||||
- Swamp Nook EC
|
||||
- Swamp Nook ES
|
||||
- Dam WC
|
||||
- Dam WS
|
||||
- Dam EC
|
||||
- Swamp WC
|
||||
- Swamp WS
|
||||
- Swamp EC
|
||||
- South Pass WC
|
||||
- South Pass ES
|
||||
- Dark South Pass WC
|
||||
- Dark South Pass ES
|
||||
- Octoballoon NW
|
||||
- Octoballoon NE
|
||||
- Octoballoon WC
|
||||
- Octoballoon WS
|
||||
- Bomber Corner NW
|
||||
- Bomber Corner NE
|
||||
- Bomber Corner WC
|
||||
- Bomber Corner WS
|
||||
- Master Sword Meadow SC
|
||||
- Zoras Domain SW
|
||||
ring2:
|
||||
- Lost Woods SE
|
||||
- Skull Woods SE
|
||||
- West Death Mountain ES
|
||||
- West Dark Death Mountain ES
|
||||
- East Death Mountain WS
|
||||
- East Dark Death Mountain WS
|
||||
- Kakariko Fortune NE
|
||||
- Kakariko Fortune SC
|
||||
- Dark Fortune NE
|
||||
- Dark Fortune SC
|
||||
- Kakariko NE
|
||||
- Kakariko SE
|
||||
- Village of Outcasts NE
|
||||
- Village of Outcasts SE
|
||||
- Eastern Palace SW
|
||||
- Palace of Darkness SW
|
||||
- Kakariko Suburb NE
|
||||
- Frog NE
|
||||
- Tree Line NW
|
||||
- Tree Line SC
|
||||
- Tree Line SE
|
||||
- Dark Tree Line NW
|
||||
- Dark Tree Line SC
|
||||
- Dark Tree Line SE
|
||||
- Flute Boy Approach EC
|
||||
- Stumpy Approach EC
|
||||
- C Whirlpool WC
|
||||
- C Whirlpool EN
|
||||
- C Whirlpool EC
|
||||
- C Whirlpool ES
|
||||
- Dark C Whirlpool WC
|
||||
- Dark C Whirlpool EN
|
||||
- Dark C Whirlpool EC
|
||||
- Dark C Whirlpool ES
|
||||
- Statues WN
|
||||
- Statues WC
|
||||
- Statues WS
|
||||
- Hype Cave WN
|
||||
- Hype Cave WC
|
||||
- Hype Cave WS
|
||||
- Lake Hylia NC
|
||||
- Lake Hylia NE
|
||||
- Ice Lake NC
|
||||
- Ice Lake NE
|
||||
ring3:
|
||||
- Kakariko Pond EN
|
||||
- Kakariko Pond ES
|
||||
- Kakariko Pond SW
|
||||
- Kakariko Pond SE
|
||||
- Outcast Pond EN
|
||||
- Outcast Pond ES
|
||||
- Outcast Pond SW
|
||||
- Outcast Pond SE
|
||||
- Sanctuary WN
|
||||
- Sanctuary WS
|
||||
- Sanctuary EC
|
||||
- Dark Chapel WN
|
||||
- Dark Chapel WS
|
||||
- Dark Chapel EC
|
||||
- Graveyard WC
|
||||
- Graveyard EC
|
||||
- Dark Graveyard WC
|
||||
- Dark Graveyard EC
|
||||
- River Bend WC
|
||||
- River Bend SW
|
||||
- River Bend SC
|
||||
- River Bend SE
|
||||
- Qirn Jump WC
|
||||
- Qirn Jump SW
|
||||
- Qirn Jump SC
|
||||
- Qirn Jump SE
|
||||
- Forgotten Forest NW
|
||||
- Forgotten Forest NE
|
||||
- Shield Shop NW
|
||||
- Shield Shop NE
|
||||
- Wooden Bridge NW
|
||||
- Wooden Bridge NC
|
||||
- Wooden Bridge NE
|
||||
- Wooden Bridge SW
|
||||
- Broken Bridge NW
|
||||
- Broken Bridge NC
|
||||
- Broken Bridge NE
|
||||
- Broken Bridge SW
|
||||
- Sand Dunes NW
|
||||
- Sand Dunes SC
|
||||
- Dark Dunes NW
|
||||
- Dark Dunes SC
|
||||
- Central Bonk Rocks EN
|
||||
- Central Bonk Rocks EC
|
||||
- Central Bonk Rocks ES
|
||||
- Dark Bonk Rocks EN
|
||||
- Dark Bonk Rocks EC
|
||||
- Dark Bonk Rocks ES
|
||||
- Links House WN
|
||||
- Links House WC
|
||||
- Links House WS
|
||||
- Links House ES
|
||||
- Big Bomb Shop WN
|
||||
- Big Bomb Shop WC
|
||||
- Big Bomb Shop WS
|
||||
- Big Bomb Shop ES
|
||||
- Stone Bridge NC
|
||||
- Stone Bridge WC
|
||||
- Stone Bridge WS
|
||||
- Hammer Bridge NC
|
||||
- Hammer Bridge WS
|
||||
- Hobo EC
|
||||
ow-whirlpools:
|
||||
1:
|
||||
two-way:
|
||||
Kakariko Pond Whirlpool: Octoballoon Whirlpool
|
||||
Qirn Jump Whirlpool: Bomber Corner Whirlpool
|
||||
River Bend Whirlpool: C Whirlpool
|
||||
ow-tileflips:
|
||||
1:
|
||||
force_together:
|
||||
PedHobo:
|
||||
- 0x00
|
||||
- 0x2d
|
||||
- 0x80
|
||||
Zora:
|
||||
- 0x0f
|
||||
- 0x81
|
||||
Desert:
|
||||
- 0x30
|
||||
- 0x3a
|
||||
@@ -202,9 +202,9 @@ ow-edges:
|
||||
ow-tileflips:
|
||||
1:
|
||||
force_together:
|
||||
1:
|
||||
Pedestal:
|
||||
- 0x00
|
||||
- 0x80
|
||||
2:
|
||||
Zora:
|
||||
- 0x0f
|
||||
- 0x81
|
||||
@@ -2,15 +2,15 @@ ow-edges:
|
||||
1:
|
||||
groups:
|
||||
mountain:
|
||||
- West Death Mountain EN
|
||||
- West Death Mountain ES
|
||||
- West Dark Death Mountain EN
|
||||
- West Dark Death Mountain ES
|
||||
- East Death Mountain WN
|
||||
- East Death Mountain WS
|
||||
- East Death Mountain EN
|
||||
- East Dark Death Mountain WN
|
||||
- East Dark Death Mountain WS
|
||||
- East Dark Death Mountain EN
|
||||
- Death Mountain TR Pegs WN
|
||||
- Turtle Rock WN
|
||||
- West Death Mountain EN
|
||||
- West Death Mountain ES
|
||||
- West Dark Death Mountain EN
|
||||
- West Dark Death Mountain ES
|
||||
- East Death Mountain WN
|
||||
- East Death Mountain WS
|
||||
- East Death Mountain EN
|
||||
- East Dark Death Mountain WN
|
||||
- East Dark Death Mountain WS
|
||||
- East Dark Death Mountain EN
|
||||
- Death Mountain TR Pegs WN
|
||||
- Turtle Rock WN
|
||||
|
||||
123
presets/world/owr_shuffle-splitsimilar.yaml
Normal file
123
presets/world/owr_shuffle-splitsimilar.yaml
Normal file
@@ -0,0 +1,123 @@
|
||||
settings:
|
||||
1:
|
||||
ow_terrain: false
|
||||
ow-edges:
|
||||
1:
|
||||
groups:
|
||||
similar_2_left_top:
|
||||
- Lost Woods SW
|
||||
- Skull Woods SW
|
||||
- Lost Woods Pass NW
|
||||
- Lost Woods Pass SW
|
||||
- Skull Woods Pass NW
|
||||
- Skull Woods Pass SW
|
||||
- Kakariko Fortune EN
|
||||
- Dark Fortune EN
|
||||
- Kakariko Pond WN
|
||||
- Kakariko Pond EN
|
||||
- Kakariko Pond SW
|
||||
- Outcast Pond WN
|
||||
- Outcast Pond EN
|
||||
- Outcast Pond SW
|
||||
- Sanctuary WN
|
||||
- Dark Chapel WN
|
||||
- River Bend EC
|
||||
- River Bend SW
|
||||
- Qirn Jump EC
|
||||
- Qirn Jump SW
|
||||
- Potion Shop WC
|
||||
- Dark Witch WC
|
||||
- Kakariko NW
|
||||
- Village of Outcasts NW
|
||||
- Forgotten Forest NW
|
||||
- Shield Shop NW
|
||||
- Wooden Bridge NW
|
||||
- Broken Bridge NW
|
||||
- Dig Game EC
|
||||
- Frog WC
|
||||
- Flute Boy SW
|
||||
- Stumpy SW
|
||||
- Desert EC
|
||||
- Flute Boy Approach NW
|
||||
- Stumpy Approach NW
|
||||
- C Whirlpool EN
|
||||
- Dark C Whirlpool EN
|
||||
- Statues WN
|
||||
- Hype Cave WN
|
||||
- Desert Pass WC
|
||||
- Desert Pass EC
|
||||
- Swamp Nook EC
|
||||
- Dam WC
|
||||
- Swamp WC
|
||||
similar_2_right_bottom:
|
||||
- Lost Woods SC
|
||||
- Skull Woods SC
|
||||
- Lost Woods Pass NE
|
||||
- Lost Woods Pass SE
|
||||
- Skull Woods Pass NE
|
||||
- Skull Woods Pass SE
|
||||
- Kakariko Fortune ES
|
||||
- Dark Fortune ES
|
||||
- Kakariko Pond WS
|
||||
- Kakariko Pond ES
|
||||
- Kakariko Pond SE
|
||||
- Outcast Pond WS
|
||||
- Outcast Pond ES
|
||||
- Outcast Pond SE
|
||||
- Sanctuary WS
|
||||
- Dark Chapel WS
|
||||
- River Bend ES
|
||||
- River Bend SE
|
||||
- Qirn Jump ES
|
||||
- Qirn Jump SE
|
||||
- Potion Shop WS
|
||||
- Dark Witch WS
|
||||
- Kakariko NC
|
||||
- Village of Outcasts NC
|
||||
- Forgotten Forest NE
|
||||
- Shield Shop NE
|
||||
- Wooden Bridge NE
|
||||
- Broken Bridge NE
|
||||
- Dig Game ES
|
||||
- Frog WS
|
||||
- Flute Boy SC
|
||||
- Stumpy SC
|
||||
- Desert ES
|
||||
- Flute Boy Approach NC
|
||||
- Stumpy Approach NC
|
||||
- C Whirlpool ES
|
||||
- Dark C Whirlpool ES
|
||||
- Statues WS
|
||||
- Hype Cave WS
|
||||
- Desert Pass WS
|
||||
- Desert Pass ES
|
||||
- Swamp Nook ES
|
||||
- Dam WS
|
||||
- Swamp WS
|
||||
similar_3_left_top:
|
||||
- Central Bonk Rocks EN
|
||||
- Dark Bonk Rocks EN
|
||||
- Links House WN
|
||||
- Big Bomb Shop WN
|
||||
similar_3_middle:
|
||||
- Central Bonk Rocks EC
|
||||
- Dark Bonk Rocks EC
|
||||
- Links House WC
|
||||
- Big Bomb Shop WC
|
||||
similar_3_right_bottom:
|
||||
- Central Bonk Rocks ES
|
||||
- Dark Bonk Rocks ES
|
||||
- Links House WS
|
||||
- Big Bomb Shop WS
|
||||
ow-tileflips:
|
||||
1:
|
||||
force_together:
|
||||
Forest:
|
||||
- 0x1a
|
||||
- 0x1b
|
||||
FrogDig:
|
||||
- 0x28
|
||||
- 0x29
|
||||
Desert:
|
||||
- 0x30
|
||||
- 0x3a
|
||||
175
presets/world/owr_shuffle-splitsimilarterrain.yaml
Normal file
175
presets/world/owr_shuffle-splitsimilarterrain.yaml
Normal file
@@ -0,0 +1,175 @@
|
||||
settings:
|
||||
1:
|
||||
ow_terrain: true
|
||||
ow-edges:
|
||||
1:
|
||||
groups:
|
||||
similar_2_left_top:
|
||||
- Lost Woods SW
|
||||
- Skull Woods SW
|
||||
- Lost Woods Pass NW
|
||||
- Lost Woods Pass SW
|
||||
- Skull Woods Pass NW
|
||||
- Skull Woods Pass SW
|
||||
- Kakariko Fortune EN
|
||||
- Dark Fortune EN
|
||||
- Kakariko Pond WN
|
||||
- Kakariko Pond EN
|
||||
- Kakariko Pond SW
|
||||
- Outcast Pond WN
|
||||
- Outcast Pond EN
|
||||
- Outcast Pond SW
|
||||
- Sanctuary WN
|
||||
- Dark Chapel WN
|
||||
- Potion Shop EN
|
||||
- Dark Witch EN
|
||||
- Zora Approach WN
|
||||
- Catfish Approach WN
|
||||
- Kakariko NW
|
||||
- Village of Outcasts NW
|
||||
- Forgotten Forest NW
|
||||
- Shield Shop NW
|
||||
- Dig Game EC
|
||||
- Frog WC
|
||||
- Flute Boy SW
|
||||
- Stumpy SW
|
||||
- Stone Bridge EN
|
||||
- Hammer Bridge EN
|
||||
- Tree Line WN
|
||||
- Tree Line SC
|
||||
- Dark Tree Line WN
|
||||
- Dark Tree Line SC
|
||||
- Desert EC
|
||||
- Flute Boy Approach NW
|
||||
- Stumpy Approach NW
|
||||
- Lake Hylia NC
|
||||
- Lake Hylia EC
|
||||
- Ice Lake NC
|
||||
- Ice Lake EC
|
||||
- Ice Cave SW
|
||||
- Shopping Mall SW
|
||||
- Desert Pass WC
|
||||
- Desert Pass EC
|
||||
- Swamp Nook EC
|
||||
- Dam WC
|
||||
- Swamp WC
|
||||
- Octoballoon NW
|
||||
- Octoballoon WC
|
||||
- Bomber Corner NW
|
||||
- Bomber Corner WC
|
||||
similar_2_right_bottom:
|
||||
- Lost Woods SC
|
||||
- Skull Woods SC
|
||||
- Lost Woods Pass NE
|
||||
- Lost Woods Pass SE
|
||||
- Skull Woods Pass NE
|
||||
- Skull Woods Pass SE
|
||||
- Kakariko Fortune ES
|
||||
- Dark Fortune ES
|
||||
- Kakariko Pond WS
|
||||
- Kakariko Pond ES
|
||||
- Kakariko Pond SE
|
||||
- Outcast Pond WS
|
||||
- Outcast Pond ES
|
||||
- Outcast Pond SE
|
||||
- Sanctuary WS
|
||||
- Dark Chapel WS
|
||||
- Potion Shop EC
|
||||
- Dark Witch EC
|
||||
- Zora Approach WC
|
||||
- Catfish Approach WC
|
||||
- Kakariko NC
|
||||
- Village of Outcasts NC
|
||||
- Forgotten Forest NE
|
||||
- Shield Shop NE
|
||||
- Dig Game ES
|
||||
- Frog WS
|
||||
- Flute Boy SC
|
||||
- Stumpy SC
|
||||
- Stone Bridge EC
|
||||
- Hammer Bridge EC
|
||||
- Tree Line WC
|
||||
- Tree Line SE
|
||||
- Dark Tree Line WC
|
||||
- Dark Tree Line SE
|
||||
- Desert ES
|
||||
- Flute Boy Approach NC
|
||||
- Stumpy Approach NC
|
||||
- Lake Hylia NE
|
||||
- Lake Hylia ES
|
||||
- Ice Lake NE
|
||||
- Ice Lake ES
|
||||
- Ice Cave SE
|
||||
- Shopping Mall SE
|
||||
- Desert Pass WS
|
||||
- Desert Pass ES
|
||||
- Swamp Nook ES
|
||||
- Dam WS
|
||||
- Swamp WS
|
||||
- Octoballoon NE
|
||||
- Octoballoon WS
|
||||
- Bomber Corner NE
|
||||
- Bomber Corner WS
|
||||
similar_3_left_top:
|
||||
- River Bend EN
|
||||
- River Bend SW
|
||||
- Qirn Jump EN
|
||||
- Qirn Jump SW
|
||||
- Potion Shop WN
|
||||
- Dark Witch WN
|
||||
- Wooden Bridge NW
|
||||
- Broken Bridge NW
|
||||
- Central Bonk Rocks EN
|
||||
- Dark Bonk Rocks EN
|
||||
- Links House WN
|
||||
- Big Bomb Shop WN
|
||||
- C Whirlpool EN
|
||||
- Dark C Whirlpool EN
|
||||
- Statues WN
|
||||
- Hype Cave WN
|
||||
similar_3_middle:
|
||||
- River Bend EC
|
||||
- River Bend SC
|
||||
- Qirn Jump EC
|
||||
- Qirn Jump SC
|
||||
- Potion Shop WC
|
||||
- Dark Witch WC
|
||||
- Wooden Bridge NC
|
||||
- Broken Bridge NC
|
||||
- Central Bonk Rocks EC
|
||||
- Dark Bonk Rocks EC
|
||||
- Links House WC
|
||||
- Big Bomb Shop WC
|
||||
- C Whirlpool EC
|
||||
- Dark C Whirlpool EC
|
||||
- Statues WC
|
||||
- Hype Cave WC
|
||||
similar_3_right_bottom:
|
||||
- River Bend ES
|
||||
- River Bend SE
|
||||
- Qirn Jump ES
|
||||
- Qirn Jump SE
|
||||
- Potion Shop WS
|
||||
- Dark Witch WS
|
||||
- Wooden Bridge NE
|
||||
- Broken Bridge NE
|
||||
- Central Bonk Rocks ES
|
||||
- Dark Bonk Rocks ES
|
||||
- Links House WS
|
||||
- Big Bomb Shop WS
|
||||
- C Whirlpool ES
|
||||
- Dark C Whirlpool ES
|
||||
- Statues WS
|
||||
- Hype Cave WS
|
||||
ow-tileflips:
|
||||
1:
|
||||
force_together:
|
||||
Forest:
|
||||
- 0x1a
|
||||
- 0x1b
|
||||
FrogDig:
|
||||
- 0x28
|
||||
- 0x29
|
||||
Desert:
|
||||
- 0x30
|
||||
- 0x3a
|
||||
@@ -79,9 +79,9 @@ ow-edges:
|
||||
ow-tileflips:
|
||||
1:
|
||||
force_together:
|
||||
1:
|
||||
Pedestal:
|
||||
- 0x00
|
||||
- 0x80
|
||||
2:
|
||||
Zora:
|
||||
- 0x0f
|
||||
- 0x81
|
||||
@@ -219,9 +219,9 @@ ow-edges:
|
||||
ow-tileflips:
|
||||
1:
|
||||
force_together:
|
||||
1:
|
||||
Pedestal:
|
||||
- 0x00
|
||||
- 0x80
|
||||
2:
|
||||
Zora:
|
||||
- 0x0f
|
||||
- 0x81
|
||||
@@ -72,11 +72,13 @@ def generate_dungeon_find_proposal(builder, entrance_region_names, split_dungeon
|
||||
entrance_regions = [x for x in entrance_regions if x not in excluded.keys()]
|
||||
doors_to_connect, idx = {}, 0
|
||||
all_regions = set()
|
||||
bk_special = False
|
||||
for sector in builder.sectors:
|
||||
for door in sector.outstanding_doors:
|
||||
doors_to_connect[door.name] = door, idx
|
||||
idx += 1
|
||||
all_regions.update(sector.regions)
|
||||
bk_special |= check_for_special(sector.regions)
|
||||
finished = False
|
||||
# flag if standard and this is hyrule castle
|
||||
paths = determine_paths_for_dungeon(world, player, all_regions, name)
|
||||
@@ -95,9 +97,9 @@ def generate_dungeon_find_proposal(builder, entrance_region_names, split_dungeon
|
||||
if hash_code not in hash_code_set:
|
||||
hash_code_set.add(hash_code)
|
||||
explored_state = explore_proposal(name, entrance_regions, all_regions, proposed_map, doors_to_connect,
|
||||
world, player)
|
||||
bk_special, world, player)
|
||||
if check_valid(name, explored_state, proposed_map, doors_to_connect, all_regions,
|
||||
paths, entrance_regions, world, player):
|
||||
paths, entrance_regions, bk_special, world, player):
|
||||
finished = True
|
||||
else:
|
||||
proposed_map, hash_code = modify_proposal(proposed_map, explored_state, doors_to_connect,
|
||||
@@ -229,21 +231,24 @@ def modify_proposal(proposed_map, explored_state, doors_to_connect, hash_code_se
|
||||
return proposed_map, hash_code
|
||||
|
||||
|
||||
def explore_proposal(name, entrance_regions, all_regions, proposed_map, valid_doors, world, player):
|
||||
def explore_proposal(name, entrance_regions, all_regions, proposed_map, valid_doors, bk_special, world, player):
|
||||
start = ExplorationState(dungeon=name)
|
||||
bk_relevant = (world.door_type_mode[player] == 'original' and not world.bigkeyshuffle[player]) or bk_special
|
||||
start.big_key_special = bk_special
|
||||
original_state = extend_reachable_state_lenient(entrance_regions, start, proposed_map,
|
||||
all_regions, valid_doors, world, player)
|
||||
all_regions, valid_doors, bk_relevant, world, player)
|
||||
return original_state
|
||||
|
||||
|
||||
def check_valid(name, exploration_state, proposed_map, doors_to_connect, all_regions,
|
||||
paths, entrance_regions, world, player):
|
||||
paths, entrance_regions, bk_special, world, player):
|
||||
all_visited = set()
|
||||
all_visited.update(exploration_state.visited_blue)
|
||||
all_visited.update(exploration_state.visited_orange)
|
||||
if len(all_regions.difference(all_visited)) > 0:
|
||||
return False
|
||||
if not valid_paths(name, paths, entrance_regions, doors_to_connect, all_regions, proposed_map, world, player):
|
||||
if not valid_paths(name, paths, entrance_regions, doors_to_connect, all_regions, proposed_map,
|
||||
bk_special, world, player):
|
||||
return False
|
||||
return True
|
||||
|
||||
@@ -266,7 +271,7 @@ def check_for_special(regions):
|
||||
return False
|
||||
|
||||
|
||||
def valid_paths(name, paths, entrance_regions, valid_doors, all_regions, proposed_map, world, player):
|
||||
def valid_paths(name, paths, entrance_regions, valid_doors, all_regions, proposed_map, bk_special, world, player):
|
||||
for path in paths:
|
||||
if type(path) is tuple:
|
||||
target = path[1]
|
||||
@@ -278,12 +283,13 @@ def valid_paths(name, paths, entrance_regions, valid_doors, all_regions, propose
|
||||
else:
|
||||
target = path
|
||||
start_regions = entrance_regions
|
||||
if not valid_path(name, start_regions, target, valid_doors, proposed_map, all_regions, world, player):
|
||||
if not valid_path(name, start_regions, target, valid_doors, proposed_map, all_regions,
|
||||
bk_special, world, player):
|
||||
return False
|
||||
return True
|
||||
|
||||
|
||||
def valid_path(name, starting_regions, target, valid_doors, proposed_map, all_regions, world, player):
|
||||
def valid_path(name, starting_regions, target, valid_doors, proposed_map, all_regions, bk_special, world, player):
|
||||
target_regions = set()
|
||||
if type(target) is not list:
|
||||
for region in all_regions:
|
||||
@@ -296,8 +302,10 @@ def valid_path(name, starting_regions, target, valid_doors, proposed_map, all_re
|
||||
target_regions.add(region)
|
||||
|
||||
start = ExplorationState(dungeon=name)
|
||||
bk_relevant = (world.door_type_mode[player] == 'original' and not world.bigkeyshuffle[player]) or bk_special
|
||||
start.big_key_special = bk_special
|
||||
original_state = extend_reachable_state_lenient(starting_regions, start, proposed_map, all_regions,
|
||||
valid_doors, world, player)
|
||||
valid_doors, bk_relevant, world, player)
|
||||
|
||||
for exp_door in original_state.unattached_doors:
|
||||
if not exp_door.door.blocked or exp_door.door.trapFlag != 0:
|
||||
@@ -531,7 +539,7 @@ class ExplorationState(object):
|
||||
self.crystal = exp_door.crystal
|
||||
return exp_door
|
||||
|
||||
def visit_region(self, region, key_region=None, key_checks=False, bk_flag=False):
|
||||
def visit_region(self, region, key_region=None, key_checks=False, bk_relevant=False):
|
||||
if region.type != RegionType.Dungeon:
|
||||
self.crystal = CrystalBarrier.Orange
|
||||
if self.crystal == CrystalBarrier.Either:
|
||||
@@ -552,8 +560,14 @@ class ExplorationState(object):
|
||||
self.ttl_locations += 1
|
||||
if location not in self.found_locations:
|
||||
self.found_locations.append(location)
|
||||
if not bk_flag:
|
||||
self.bk_found.add(location)
|
||||
if bk_relevant:
|
||||
if self.big_key_special:
|
||||
if special_big_key_found(self):
|
||||
self.bk_found.add(location)
|
||||
self.re_add_big_key_doors()
|
||||
else:
|
||||
self.bk_found.add(location)
|
||||
self.re_add_big_key_doors()
|
||||
if location.name in dungeon_events and location.name not in self.events:
|
||||
if self.flooded_key_check(location):
|
||||
self.perform_event(location.name, key_region)
|
||||
@@ -574,6 +588,14 @@ class ExplorationState(object):
|
||||
return True
|
||||
return False
|
||||
|
||||
def re_add_big_key_doors(self):
|
||||
self.big_key_opened = True
|
||||
queue = collections.deque(self.big_doors)
|
||||
while len(queue) > 0:
|
||||
exp_door = queue.popleft()
|
||||
self.avail_doors.append(exp_door)
|
||||
self.big_doors.remove(exp_door)
|
||||
|
||||
def perform_event(self, location_name, key_region):
|
||||
self.events.add(location_name)
|
||||
queue = collections.deque(self.event_doors)
|
||||
@@ -640,7 +662,7 @@ class ExplorationState(object):
|
||||
self.append_door_to_list(door, self.avail_doors, flag)
|
||||
|
||||
# same as above but traps are ignored, and flag is not used
|
||||
def add_all_doors_check_proposed_2(self, region, proposed_map, valid_doors, world, player):
|
||||
def add_all_doors_check_proposed_2(self, region, proposed_map, valid_doors, bk_relevant, world, player):
|
||||
for door in get_doors(world, region, player):
|
||||
if door in proposed_map and door.name in valid_doors:
|
||||
self.visited_doors.add(door)
|
||||
@@ -654,14 +676,18 @@ class ExplorationState(object):
|
||||
other = self.find_door_in_list(door, self.unattached_doors)
|
||||
if self.crystal != other.crystal:
|
||||
other.crystal = CrystalBarrier.Either
|
||||
elif door.req_event is not None and door.req_event not in self.events and not self.in_door_list(door,
|
||||
self.event_doors):
|
||||
elif (door.req_event is not None and door.req_event not in self.events
|
||||
and not self.in_door_list(door, self.event_doors)):
|
||||
self.append_door_to_list(door, self.event_doors)
|
||||
elif (bk_relevant and (door.bigKey or door.name in get_special_big_key_doors(world, player))
|
||||
and not self.big_key_opened):
|
||||
if not self.in_door_list(door, self.big_doors):
|
||||
self.append_door_to_list(door, self.big_doors)
|
||||
elif not self.in_door_list(door, self.avail_doors):
|
||||
self.append_door_to_list(door, self.avail_doors)
|
||||
|
||||
# same as above but traps are checked for
|
||||
def add_all_doors_check_proposed_3(self, region, proposed_map, valid_doors, world, player):
|
||||
def add_all_doors_check_proposed_3(self, region, proposed_map, valid_doors, bk_relevant, world, player):
|
||||
for door in get_doors(world, region, player):
|
||||
if door in proposed_map and door.name in valid_doors:
|
||||
self.visited_doors.add(door)
|
||||
@@ -675,9 +701,13 @@ class ExplorationState(object):
|
||||
other = self.find_door_in_list(door, self.unattached_doors)
|
||||
if self.crystal != other.crystal:
|
||||
other.crystal = CrystalBarrier.Either
|
||||
elif door.req_event is not None and door.req_event not in self.events and not self.in_door_list(door,
|
||||
self.event_doors):
|
||||
elif (door.req_event is not None and door.req_event not in self.events
|
||||
and not self.in_door_list(door, self.event_doors)):
|
||||
self.append_door_to_list(door, self.event_doors)
|
||||
elif (bk_relevant and (door.bigKey or door.name in get_special_big_key_doors(world, player))
|
||||
and not self.big_key_opened):
|
||||
if not self.in_door_list(door, self.big_doors):
|
||||
self.append_door_to_list(door, self.big_doors)
|
||||
elif not self.in_door_list(door, self.avail_doors):
|
||||
self.append_door_to_list(door, self.avail_doors)
|
||||
|
||||
@@ -863,16 +893,22 @@ def extend_reachable_state_improved(search_regions, state, proposed_map, all_reg
|
||||
return local_state
|
||||
|
||||
|
||||
def extend_reachable_state_lenient(search_regions, state, proposed_map, all_regions, valid_doors, world, player):
|
||||
# bk_relevant means the big key doors need to be checks
|
||||
def extend_reachable_state_lenient(search_regions, state, proposed_map, all_regions, valid_doors, bk_relevant,
|
||||
world, player):
|
||||
local_state = state.copy()
|
||||
for region in search_regions:
|
||||
local_state.visit_region(region)
|
||||
local_state.visit_region(region, bk_relevant=bk_relevant)
|
||||
if world.trap_door_mode[player] == 'vanilla':
|
||||
local_state.add_all_doors_check_proposed_3(region, proposed_map, valid_doors, world, player)
|
||||
local_state.add_all_doors_check_proposed_3(region, proposed_map, valid_doors, bk_relevant, world, player)
|
||||
else:
|
||||
local_state.add_all_doors_check_proposed_2(region, proposed_map, valid_doors, world, player)
|
||||
local_state.add_all_doors_check_proposed_2(region, proposed_map, valid_doors, bk_relevant, world, player)
|
||||
while len(local_state.avail_doors) > 0:
|
||||
explorable_door = local_state.next_avail_door()
|
||||
if explorable_door.door.bigKey:
|
||||
if bk_relevant and (not special_big_key_found(local_state) if local_state.big_key_special
|
||||
else local_state.count_locations_exclude_specials(world, player) == 0):
|
||||
continue
|
||||
if explorable_door.door in proposed_map:
|
||||
connect_region = world.get_entrance(proposed_map[explorable_door.door].name, player).parent_region
|
||||
else:
|
||||
@@ -880,11 +916,13 @@ def extend_reachable_state_lenient(search_regions, state, proposed_map, all_regi
|
||||
if connect_region is not None:
|
||||
if (valid_region_to_explore_in_regions(connect_region, all_regions, world, player)
|
||||
and not local_state.visited(connect_region)):
|
||||
local_state.visit_region(connect_region)
|
||||
local_state.visit_region(connect_region, bk_relevant=bk_relevant)
|
||||
if world.trap_door_mode[player] == 'vanilla':
|
||||
local_state.add_all_doors_check_proposed_3(connect_region, proposed_map, valid_doors, world, player)
|
||||
local_state.add_all_doors_check_proposed_3(connect_region, proposed_map, valid_doors,
|
||||
bk_relevant, world, player)
|
||||
else:
|
||||
local_state.add_all_doors_check_proposed_2(connect_region, proposed_map, valid_doors, world, player)
|
||||
local_state.add_all_doors_check_proposed_2(connect_region, proposed_map, valid_doors,
|
||||
bk_relevant, world, player)
|
||||
return local_state
|
||||
|
||||
|
||||
|
||||
14
test/customizer/zelda_escape.yaml
Normal file
14
test/customizer/zelda_escape.yaml
Normal file
@@ -0,0 +1,14 @@
|
||||
meta:
|
||||
players: 1
|
||||
settings:
|
||||
1:
|
||||
door_shuffle: crossed
|
||||
intensity: 3
|
||||
mode: standard
|
||||
pottery: keys
|
||||
dropshuffle: 'on'
|
||||
doors:
|
||||
1:
|
||||
doors:
|
||||
Hyrule Dungeon Cellblock Up Stairs:
|
||||
dest: Ice Hammer Block Down Stairs
|
||||
Reference in New Issue
Block a user