Milestone release: first alpha version

This commit is contained in:
codemann8
2021-04-19 02:43:06 -05:00
parent a2cda2f34c
commit b3c3eb6d2c
4 changed files with 580 additions and 430 deletions

View File

@@ -1442,12 +1442,26 @@ class Door(object):
return '%s' % self.name return '%s' % self.name
@unique
class WorldType(Enum):
Light = 0
Dark = 1
Special = 2
@unique
class Terrain(Enum):
Land = 0
Water = 1
class OWEdge(object): class OWEdge(object):
def __init__(self, player, name, owIndex, direction, edge_id, owSlotIndex=0xff): def __init__(self, player, name, owIndex, direction, terrain, edge_id, owSlotIndex=0xff):
self.player = player self.player = player
self.name = name self.name = name
self.type = DoorType.Open self.type = DoorType.Open
self.direction = direction self.direction = direction
self.terrain = terrain
self.deadEnd = False self.deadEnd = False
# rom properties # rom properties
@@ -1472,6 +1486,13 @@ class OWEdge(object):
self.unknownX = 0x0 self.unknownX = 0x0
self.unknownY = 0x0 self.unknownY = 0x0
if self.owIndex < 0x40:
self.worldType = WorldType.Light
elif self.owIndex < 0x80:
self.worldType = WorldType.Dark
else:
self.worldType = WorldType.Special
# logical properties # logical properties
# self.connected = False # combine with Dest? # self.connected = False # combine with Dest?
self.dest = None self.dest = None

View File

@@ -242,6 +242,9 @@ def main(args, seed=None, fish=None):
customize_shops(world, player) customize_shops(world, player)
balance_money_progression(world) balance_money_progression(world)
if world.owShuffle[1] != 'vanilla':
outfilebase = f'OR_{args.outputname if args.outputname else world.seed}'
else:
outfilebase = f'DR_{args.outputname if args.outputname else world.seed}' outfilebase = f'DR_{args.outputname if args.outputname else world.seed}'
rom_names = [] rom_names = []

View File

@@ -1,5 +1,5 @@
from BaseClasses import OWEdge, Direction from BaseClasses import OWEdge, Direction, Terrain
# constants # constants
We = Direction.West We = Direction.West
@@ -7,296 +7,298 @@ Ea = Direction.East
So = Direction.South So = Direction.South
No = Direction.North No = Direction.North
Ld = Terrain.Land
Wr = Terrain.Water
def create_owedges(world, player): def create_owedges(world, player):
edges = [ edges = [
# name, owID, dir, edge_id, (owSlot) #(vram, scrollY, scrollX, linkY, linkX, camY, camX, unk1, unk2) # name, owID,dir,type,edge_id,(owSlot) #(vram, scrollY, scrollX, linkY, linkX, camY, camX, unk1, unk2)
create_owedge(player, 'Lost Woods NW', 0x00, No, 0x00) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Lost Woods NW', 0x00, No, Ld, 0x00) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Lost Woods SW', 0x00, So, 0x01, 0x08).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Lost Woods SW', 0x00, So, Ld, 0x01, 0x08).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Lost Woods SC', 0x00, So, 0x02, 0x08).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Lost Woods SC', 0x00, So, Ld, 0x02, 0x08).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Lost Woods SE', 0x00, So, 0x03, 0x09).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Lost Woods SE', 0x00, So, Ld, 0x03, 0x09).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Lost Woods EN', 0x00, Ea, 0x00, 0x01).coordInfo(0x0180, 0x0024, 0x0400, 0x0088, 0x0405, 0x0093, 0x047d, 0x0c, 0x00), create_owedge(player, 'Lost Woods EN', 0x00, Ea, Ld, 0x00, 0x01).coordInfo(0x0180, 0x0024, 0x0400, 0x0088, 0x0405, 0x0093, 0x047d, 0x0c, 0x00),
create_owedge(player, 'Lumberjack SW', 0x02, So, 0x00) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Lumberjack SW', 0x02, So, Ld, 0x00) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Lumberjack WN', 0x02, We, 0x00) .coordInfo(0x01e0, 0x0028, 0x0300, 0x0088, 0x03e8, 0x0097, 0x0385, 0xf8, 0x00), create_owedge(player, 'Lumberjack WN', 0x02, We, Ld, 0x00) .coordInfo(0x01e0, 0x0028, 0x0300, 0x0088, 0x03e8, 0x0097, 0x0385, 0xf8, 0x00),
create_owedge(player, 'West Death Mountain EN', 0x03, Ea, 0x01, 0x04).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'West Death Mountain EN', 0x03, Ea, Ld, 0x01, 0x04).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'West Death Mountain ES', 0x03, Ea, 0x03, 0x0c).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'West Death Mountain ES', 0x03, Ea, Ld, 0x03, 0x0c).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'East Death Mountain WN', 0x05, We, 0x01, 0x05).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'East Death Mountain WN', 0x05, We, Ld, 0x01, 0x05).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'East Death Mountain WS', 0x05, We, 0x03, 0x0d).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'East Death Mountain WS', 0x05, We, Ld, 0x03, 0x0d).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'East Death Mountain EN', 0x05, Ea, 0x02, 0x06).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'East Death Mountain EN', 0x05, Ea, Ld, 0x02, 0x06).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Death Mountain TR Pegs WN', 0x07, We, 0x02) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Death Mountain TR Pegs WN', 0x07, We, Ld, 0x02) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'DM Ascent NW', 0x0a, No, 0x01) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'DM Ascent NW', 0x0a, No, Ld, 0x01) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'DM Ascent SE', 0x0a, So, 0x04) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'DM Ascent SE', 0x0a, So, Ld, 0x04) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Zora Approach NE', 0x0f, No, 0x02) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Zora Approach NE', 0x0f, No, Ld, 0x02) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Zora Approach SE', 0x0f, So, 0x05) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Zora Approach SE', 0x0f, So, Ld, 0x05) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Lost Woods Pass NW', 0x10, No, 0x03) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Lost Woods Pass NW', 0x10, No, Ld, 0x03) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Lost Woods Pass NE', 0x10, No, 0x04) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Lost Woods Pass NE', 0x10, No, Ld, 0x04) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Lost Woods Pass SW', 0x10, So, 0x06) .coordInfo(0x0000, 0x0600, 0x0006, 0x0603, 0x0088, 0x066d, 0x0093, 0x00, 0xfa), create_owedge(player, 'Lost Woods Pass SW', 0x10, So, Ld, 0x06) .coordInfo(0x0000, 0x0600, 0x0006, 0x0603, 0x0088, 0x066d, 0x0093, 0x00, 0xfa),
create_owedge(player, 'Lost Woods Pass SE', 0x10, So, 0x07) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Lost Woods Pass SE', 0x10, So, Ld, 0x07) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Kakariko Fortune SC', 0x11, So, 0x08) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Kakariko Fortune SC', 0x11, So, Ld, 0x08) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Kakariko Fortune EN', 0x11, Ea, 0x04) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Kakariko Fortune EN', 0x11, Ea, Ld, 0x04) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Kakariko Fortune NE', 0x11, No, 0x05) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Kakariko Fortune NE', 0x11, No, Ld, 0x05) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Kakariko Fortune ES', 0x11, Ea, 0x05) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Kakariko Fortune ES', 0x11, Ea, Ld, 0x05) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Kakariko Pond NE', 0x12, No, 0x06) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Kakariko Pond NE', 0x12, No, Ld, 0x06) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Kakariko Pond SW', 0x12, So, 0x09) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Kakariko Pond SW', 0x12, So, Ld, 0x09) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Kakariko Pond SE', 0x12, So, 0x0a) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Kakariko Pond SE', 0x12, So, Ld, 0x0a) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Kakariko Pond WN', 0x12, We, 0x04) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Kakariko Pond WN', 0x12, We, Ld, 0x04) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Kakariko Pond WS', 0x12, We, 0x05) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Kakariko Pond WS', 0x12, We, Ld, 0x05) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Kakariko Pond EN', 0x12, Ea, 0x06) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Kakariko Pond EN', 0x12, Ea, Ld, 0x06) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Kakariko Pond ES', 0x12, Ea, 0x07) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Kakariko Pond ES', 0x12, Ea, Ld, 0x07) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Sanctuary WN', 0x13, We, 0x06) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Sanctuary WN', 0x13, We, Ld, 0x06) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Sanctuary WS', 0x13, We, 0x07) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Sanctuary WS', 0x13, We, Ld, 0x07) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Sanctuary EC', 0x13, Ea, 0x08) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Sanctuary EC', 0x13, Ea, Ld, 0x08) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Graveyard WC', 0x14, We, 0x08) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Graveyard WC', 0x14, We, Ld, 0x08) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Graveyard EC', 0x14, Ea, 0x09) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Graveyard EC', 0x14, Ea, Ld, 0x09) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Useless Fairy SW', 0x15, So, 0x0b) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Useless Fairy SW', 0x15, So, Ld, 0x0b) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Useless Fairy SC', 0x15, So, 0x0c) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Useless Fairy SC', 0x15, So, Wr, 0x0c) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Useless Fairy SE', 0x15, So, 0x0d) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Useless Fairy SE', 0x15, So, Ld, 0x0d) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Useless Fairy WC', 0x15, We, 0x09) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Useless Fairy WC', 0x15, We, Ld, 0x09) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Useless Fairy EN', 0x15, Ea, 0x0a) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Useless Fairy EN', 0x15, Ea, Wr, 0x0a) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Useless Fairy EC', 0x15, Ea, 0x0b) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Useless Fairy EC', 0x15, Ea, Ld, 0x0b) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Useless Fairy ES', 0x15, Ea, 0x0c) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Useless Fairy ES', 0x15, Ea, Ld, 0x0c) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Potion Shop WN', 0x16, We, 0x0a) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Potion Shop WN', 0x16, We, Wr, 0x0a) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Potion Shop WC', 0x16, We, 0x0b) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Potion Shop WC', 0x16, We, Ld, 0x0b) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Potion Shop WS', 0x16, We, 0x0c) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Potion Shop WS', 0x16, We, Ld, 0x0c) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Potion Shop EN', 0x16, Ea, 0x0d) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Potion Shop EN', 0x16, Ea, Wr, 0x0d) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Potion Shop EC', 0x16, Ea, 0x0e) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Potion Shop EC', 0x16, Ea, Ld, 0x0e) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Zora Warning NE', 0x17, No, 0x07) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Zora Warning NE', 0x17, No, Ld, 0x07) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Zora Warning WN', 0x17, We, 0x0d) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Zora Warning WN', 0x17, We, Wr, 0x0d) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Zora Warning WC', 0x17, We, 0x0e) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Zora Warning WC', 0x17, We, Ld, 0x0e) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Kakariko NW', 0x18, No, 0x08) .coordInfo(0x0900, 0x051e, 0x0006, 0x05e4, 0x0088, 0x058d, 0x0093, 0x00, 0xfa), create_owedge(player, 'Kakariko NW', 0x18, No, Ld, 0x08) .coordInfo(0x0900, 0x051e, 0x0006, 0x05e4, 0x0088, 0x058d, 0x0093, 0x00, 0xfa),
create_owedge(player, 'Kakariko NC', 0x18, No, 0x09) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Kakariko NC', 0x18, No, Ld, 0x09) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Kakariko NE', 0x18, No, 0x0a, 0x19).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Kakariko NE', 0x18, No, Ld, 0x0a, 0x19).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Kakariko SE', 0x18, So, 0x0f, 0x21).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Kakariko SE', 0x18, So, Ld, 0x0f, 0x21).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Kakariko ES', 0x18, Ea, 0x10, 0x21).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Kakariko ES', 0x18, Ea, Ld, 0x10, 0x21).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Forgotten Forest NW', 0x1a, No, 0x0b) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Forgotten Forest NW', 0x1a, No, Ld, 0x0b) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Forgotten Forest NE', 0x1a, No, 0x0c) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Forgotten Forest NE', 0x1a, No, Ld, 0x0c) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Forgotten Forest ES', 0x1a, Ea, 0x0f) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Forgotten Forest ES', 0x1a, Ea, Ld, 0x0f) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Hyrule Castle SW', 0x1b, So, 0x10, 0x23).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Hyrule Castle SW', 0x1b, So, Ld, 0x10, 0x23).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Hyrule Castle SE', 0x1b, So, 0x11, 0x24).coordInfo(0x1854, 0x091e, 0x089e, 0x09e0, 0x0924, 0x098d, 0x092b, 0x00, 0x02), create_owedge(player, 'Hyrule Castle SE', 0x1b, So, Ld, 0x11, 0x24).coordInfo(0x1854, 0x091e, 0x089e, 0x09e0, 0x0924, 0x098d, 0x092b, 0x00, 0x02),
create_owedge(player, 'Hyrule Castle WN', 0x1b, We, 0x0f) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Hyrule Castle WN', 0x1b, We, Ld, 0x0f) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Hyrule Castle ES', 0x1b, Ea, 0x11, 0x24).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Hyrule Castle ES', 0x1b, Ea, Ld, 0x11, 0x24).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Wooden Bridge NW', 0x1d, No, 0x0d) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Wooden Bridge NW', 0x1d, No, Ld, 0x0d) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Wooden Bridge NE', 0x1d, No, 0x0f) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Wooden Bridge NC', 0x1d, No, Wr, 0x0e) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Wooden Bridge NC', 0x1d, No, 0x0e) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Wooden Bridge NE', 0x1d, No, Ld, 0x0f) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Wooden Bridge SW', 0x1d, So, 0x0e) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Wooden Bridge SW', 0x1d, So, Ld, 0x0e) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Eastern Palace SW', 0x1e, So, 0x13, 0x26).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Eastern Palace SW', 0x1e, So, Ld, 0x13, 0x26).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Eastern Palace SE', 0x1e, So, 0x14, 0x27).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Eastern Palace SE', 0x1e, So, Ld, 0x14, 0x27).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Blacksmith WS', 0x22, We, 0x10) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Blacksmith WS', 0x22, We, Ld, 0x10) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Sand Dune NW', 0x25, No, 0x10) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Sand Dune NW', 0x25, No, Ld, 0x10) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Sand Dune SC', 0x25, So, 0x12) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Sand Dune SC', 0x25, So, Ld, 0x12) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Sand Dune WN', 0x25, We, 0x11) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Sand Dune WN', 0x25, We, Ld, 0x11) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Maze Race ES', 0x28, Ea, 0x12) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Maze Race ES', 0x28, Ea, Ld, 0x12) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Kakariko Suburb NE', 0x29, No, 0x11) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Kakariko Suburb NE', 0x29, No, Ld, 0x11) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Kakariko Suburb WS', 0x29, We, 0x12) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Kakariko Suburb WS', 0x29, We, Ld, 0x12) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Kakariko Suburb ES', 0x29, Ea, 0x13) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Kakariko Suburb ES', 0x29, Ea, Ld, 0x13) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Flute Boy SW', 0x2a, So, 0x15) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Flute Boy SW', 0x2a, So, Ld, 0x15) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Flute Boy SC', 0x2a, So, 0x16) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Flute Boy SC', 0x2a, So, Ld, 0x16) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Flute Boy WS', 0x2a, We, 0x13) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Flute Boy WS', 0x2a, We, Ld, 0x13) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Central Bonk Rock NW', 0x2b, No, 0x12) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Central Bonk Rock NW', 0x2b, No, Ld, 0x12) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Central Bonk Rock SW', 0x2b, So, 0x17) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Central Bonk Rock SW', 0x2b, So, Ld, 0x17) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Central Bonk Rock EN', 0x2b, Ea, 0x14) .coordInfo(0x0280, 0x0a5e, 0x0800, 0x0ac0, 0x0805, 0x0acb, 0x087d, 0x00, 0x00), create_owedge(player, 'Central Bonk Rock EN', 0x2b, Ea, Ld, 0x14) .coordInfo(0x0280, 0x0a5e, 0x0800, 0x0ac0, 0x0805, 0x0acb, 0x087d, 0x00, 0x00),
create_owedge(player, 'Central Bonk Rock EC', 0x2b, Ea, 0x15) .coordInfo(0x0600, 0x0aba, 0x0800, 0x0b18, 0x0805, 0x0b27, 0x087d, 0x06, 0x00), create_owedge(player, 'Central Bonk Rock EC', 0x2b, Ea, Ld, 0x15) .coordInfo(0x0600, 0x0aba, 0x0800, 0x0b18, 0x0805, 0x0b27, 0x087d, 0x06, 0x00),
create_owedge(player, 'Central Bonk Rock ES', 0x2b, Ea, 0x16) .coordInfo(0x0880, 0x0b1e, 0x0800, 0x0b8c, 0x0805, 0x0b8b, 0x087d, 0x00, 0x00), create_owedge(player, 'Central Bonk Rock ES', 0x2b, Ea, Ld, 0x16) .coordInfo(0x0880, 0x0b1e, 0x0800, 0x0b8c, 0x0805, 0x0b8b, 0x087d, 0x00, 0x00),
create_owedge(player, 'Links House NE', 0x2c, No, 0x13) .coordInfo(0x1814, 0x091e, 0x089e, 0x09e4, 0x0924, 0x098d, 0x092b, 0x00, 0x02), create_owedge(player, 'Links House NE', 0x2c, No, Ld, 0x13) .coordInfo(0x1814, 0x091e, 0x089e, 0x09e4, 0x0924, 0x098d, 0x092b, 0x00, 0x02),
create_owedge(player, 'Links House SC', 0x2c, So, 0x18) .coordInfo(0x000c, 0x0c00, 0x0862, 0x00c03, 0x008e0, 0x00c6d, 0x08e7, 0x00, 0xfe), create_owedge(player, 'Links House SC', 0x2c, So, Ld, 0x18) .coordInfo(0x000c, 0x0c00, 0x0862, 0x00c03, 0x008e0, 0x00c6d, 0x08e7, 0x00, 0xfe),
create_owedge(player, 'Links House WN', 0x2c, We, 0x14) .coordInfo(0x02a0, 0x0a5e, 0x0700, 0x0ac0, 0x07e8, 0x0acb, 0x0785, 0x00, 0x00), create_owedge(player, 'Links House WN', 0x2c, We, Ld, 0x14) .coordInfo(0x02a0, 0x0a5e, 0x0700, 0x0ac0, 0x07e8, 0x0acb, 0x0785, 0x00, 0x00),
create_owedge(player, 'Links House WC', 0x2c, We, 0x15) .coordInfo(0x05a0, 0x0aba, 0x0700, 0x0b18, 0x07e9, 0x0b27, 0x0785, 0x06, 0x00), create_owedge(player, 'Links House WC', 0x2c, We, Ld, 0x15) .coordInfo(0x05a0, 0x0aba, 0x0700, 0x0b18, 0x07e9, 0x0b27, 0x0785, 0x06, 0x00),
create_owedge(player, 'Links House WS', 0x2c, We, 0x16) .coordInfo(0x08a0, 0x0b1e, 0x0700, 0x0b8c, 0x07e9, 0x0b8b, 0x0785, 0x00, 0x00), create_owedge(player, 'Links House WS', 0x2c, We, Ld, 0x16) .coordInfo(0x08a0, 0x0b1e, 0x0700, 0x0b8c, 0x07e9, 0x0b8b, 0x0785, 0x00, 0x00),
create_owedge(player, 'Links House ES', 0x2c, Ea, 0x17) .coordInfo(0x08c0, 0x0b1e, 0x0a00, 0x0b80, 0x0a05, 0x0b8b, 0x0a7d, 0x00, 0x00), create_owedge(player, 'Links House ES', 0x2c, Ea, Ld, 0x17) .coordInfo(0x08c0, 0x0b1e, 0x0a00, 0x0b80, 0x0a05, 0x0b8b, 0x0a7d, 0x00, 0x00),
create_owedge(player, 'Stone Bridge NC', 0x2d, No, 0x14) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Stone Bridge NC', 0x2d, No, Ld, 0x14) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Stone Bridge SC', 0x2d, So, 0x19) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Stone Bridge SC', 0x2d, So, Ld, 0x19) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Stone Bridge WC', 0x2d, We, 0x17) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Stone Bridge WC', 0x2d, We, Wr, 0x17) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Stone Bridge WS', 0x2d, We, 0x18) .coordInfo(0x08e0, 0x0b1e, 0x0900, 0x0b80, 0x09e9, 0x0b8b, 0x0985, 0x00, 0x00), create_owedge(player, 'Stone Bridge WS', 0x2d, We, Ld, 0x18) .coordInfo(0x08e0, 0x0b1e, 0x0900, 0x0b80, 0x09e9, 0x0b8b, 0x0985, 0x00, 0x00),
create_owedge(player, 'Stone Bridge EN', 0x2d, Ea, 0x18) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Stone Bridge EN', 0x2d, Ea, Ld, 0x18) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Stone Bridge EC', 0x2d, Ea, 0x19) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Stone Bridge EC', 0x2d, Ea, Wr, 0x19) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Tree Line NW', 0x2e, No, 0x15) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Tree Line NW', 0x2e, No, Ld, 0x15) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Tree Line SC', 0x2e, So, 0x1a) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Tree Line SC', 0x2e, So, Wr, 0x1a) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Tree Line SE', 0x2e, So, 0x1b) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Tree Line SE', 0x2e, So, Ld, 0x1b) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Tree Line WN', 0x2e, We, 0x19) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Tree Line WN', 0x2e, We, Ld, 0x19) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Tree Line WC', 0x2e, We, 0x1a) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Tree Line WC', 0x2e, We, Wr, 0x1a) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Eastern Nook NE', 0x2f, No, 0x16) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Eastern Nook NE', 0x2f, No, Ld, 0x16) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Desert EC', 0x30, Ea, 0x1e, 0x39).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Desert EC', 0x30, Ea, Ld, 0x1e, 0x39).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Desert ES', 0x30, Ea, 0x1f, 0x39).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Desert ES', 0x30, Ea, Ld, 0x1f, 0x39).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Cave 45 NW', 0x32, No, 0x17) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Cave 45 NW', 0x32, No, Ld, 0x17) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Cave 45 NC', 0x32, No, 0x18) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Cave 45 NC', 0x32, No, Ld, 0x18) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Cave 45 EC', 0x32, Ea, 0x1a) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Cave 45 EC', 0x32, Ea, Ld, 0x1a) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'C Whirlpool NW', 0x33, No, 0x19) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'C Whirlpool NW', 0x33, No, Ld, 0x19) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'C Whirlpool SC', 0x33, So, 0x1c) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'C Whirlpool SC', 0x33, So, Ld, 0x1c) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'C Whirlpool WC', 0x33, We, 0x1b) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'C Whirlpool WC', 0x33, We, Ld, 0x1b) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'C Whirlpool EN', 0x33, Ea, 0x1b) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'C Whirlpool EN', 0x33, Ea, Ld, 0x1b) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'C Whirlpool EC', 0x33, Ea, 0x1c) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'C Whirlpool EC', 0x33, Ea, Wr, 0x1c) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'C Whirlpool ES', 0x33, Ea, 0x1d) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'C Whirlpool ES', 0x33, Ea, Ld, 0x1d) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Statues NC', 0x34, No, 0x1a) .coordInfo(0x180c, 0x0b1e, 0x0862, 0x0be4, 0x08e0, 0x0b8d, 0x08e7, 0x00, 0xfe), create_owedge(player, 'Statues NC', 0x34, No, Ld, 0x1a) .coordInfo(0x180c, 0x0b1e, 0x0862, 0x0be4, 0x08e0, 0x0b8d, 0x08e7, 0x00, 0xfe),
create_owedge(player, 'Statues SC', 0x34, So, 0x1d) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Statues SC', 0x34, So, Ld, 0x1d) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Statues WN', 0x34, We, 0x1c) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Statues WN', 0x34, We, Ld, 0x1c) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Statues WC', 0x34, We, 0x1d) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Statues WC', 0x34, We, Wr, 0x1d) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Statues WS', 0x34, We, 0x1e) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Statues WS', 0x34, We, Ld, 0x1e) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Lake Hylia NW', 0x35, No, 0x1b) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Lake Hylia NW', 0x35, No, Ld, 0x1b) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Lake Hylia NC', 0x35, No, 0x1c, 0x36).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Lake Hylia NC', 0x35, No, Wr, 0x1c, 0x36).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Lake Hylia NE', 0x35, No, 0x1d, 0x36).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Lake Hylia NE', 0x35, No, Ld, 0x1d, 0x36).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Lake Hylia WS', 0x35, We, 0x24, 0x3d).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Lake Hylia WS', 0x35, We, Ld, 0x24, 0x3d).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Lake Hylia EC', 0x35, Ea, 0x24, 0x3e).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Lake Hylia EC', 0x35, Ea, Wr, 0x24, 0x3e).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Lake Hylia ES', 0x35, Ea, 0x25, 0x3e).coordInfo(0x0880, 0x0f1e, 0x0e00, 0x0f94, 0x0e05, 0x0f8b, 0x0e85, 0x00, 0x00), create_owedge(player, 'Lake Hylia ES', 0x35, Ea, Ld, 0x25, 0x3e).coordInfo(0x0880, 0x0f1e, 0x0e00, 0x0f94, 0x0e05, 0x0f8b, 0x0e85, 0x00, 0x00),
create_owedge(player, 'Ice Rod Cave SW', 0x37, So, 0x1e) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Ice Rod Cave SW', 0x37, So, Wr, 0x1e) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Ice Rod Cave SE', 0x37, So, 0x1f) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Ice Rod Cave SE', 0x37, So, Ld, 0x1f) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Purple Chest WC', 0x3a, We, 0x1f) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Purple Chest WC', 0x3a, We, Ld, 0x1f) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Purple Chest WS', 0x3a, We, 0x20) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Purple Chest WS', 0x3a, We, Ld, 0x20) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Purple Chest EC', 0x3a, Ea, 0x20) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Purple Chest EC', 0x3a, Ea, Ld, 0x20) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Purple Chest ES', 0x3a, Ea, 0x21) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Purple Chest ES', 0x3a, Ea, Ld, 0x21) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Dam NC', 0x3b, No, 0x1e) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dam NC', 0x3b, No, Ld, 0x1e) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Dam WC', 0x3b, We, 0x21) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dam WC', 0x3b, We, Ld, 0x21) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Dam WS', 0x3b, We, 0x22) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dam WS', 0x3b, We, Ld, 0x22) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Dam EC', 0x3b, Ea, 0x22) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dam EC', 0x3b, Ea, Ld, 0x22) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'South Pass NC', 0x3c, No, 0x1f) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'South Pass NC', 0x3c, No, Ld, 0x1f) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'South Pass WC', 0x3c, We, 0x23) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'South Pass WC', 0x3c, We, Ld, 0x23) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'South Pass ES', 0x3c, Ea, 0x23) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'South Pass ES', 0x3c, Ea, Ld, 0x23) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Octoballoon NW', 0x3f, No, 0x20) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Octoballoon NW', 0x3f, No, Wr, 0x20) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Octoballoon NE', 0x3f, No, 0x21) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Octoballoon NE', 0x3f, No, Ld, 0x21) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Octoballoon WC', 0x3f, We, 0x25) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Octoballoon WC', 0x3f, We, Wr, 0x25) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Octoballoon WS', 0x3f, We, 0x26) .coordInfo(0x18e0, 0x0f1e, 0x0d00, 0x0f94, 0x0de9, 0x0f8b, 0x0d85, 0x00, 0x00), create_owedge(player, 'Octoballoon WS', 0x3f, We, Ld, 0x26) .coordInfo(0x18e0, 0x0f1e, 0x0d00, 0x0f94, 0x0de9, 0x0f8b, 0x0d85, 0x00, 0x00),
create_owedge(player, 'Skull Woods SW', 0x40, So, 0x21, 0x48).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Skull Woods SW', 0x40, So, Ld, 0x21, 0x48).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Skull Woods SC', 0x40, So, 0x22, 0x48).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Skull Woods SC', 0x40, So, Ld, 0x22, 0x48).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Skull Woods SE', 0x40, So, 0x23, 0x49).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Skull Woods SE', 0x40, So, Ld, 0x23, 0x49).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Skull Woods EN', 0x40, Ea, 0x26, 0x41).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Skull Woods EN', 0x40, Ea, Ld, 0x26, 0x41).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Dark Lumberjack SW', 0x42, So, 0x20) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Lumberjack SW', 0x42, So, Ld, 0x20) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Dark Lumberjack WN', 0x42, We, 0x27) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Lumberjack WN', 0x42, We, Ld, 0x27) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'West Dark Death Mountain EN', 0x43, Ea, 0x27, 0x44).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'West Dark Death Mountain EN', 0x43, Ea, Ld, 0x27, 0x44).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'West Dark Death Mountain ES', 0x43, Ea, 0x29, 0x4c).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'West Dark Death Mountain ES', 0x43, Ea, Ld, 0x29, 0x4c).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'East Dark Death Mountain WN', 0x45, We, 0x28) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'East Dark Death Mountain WN', 0x45, We, Ld, 0x28) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'East Dark Death Mountain WS', 0x45, We, 0x2a, 0x4d).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'East Dark Death Mountain WS', 0x45, We, Ld, 0x2a, 0x4d).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'East Dark Death Mountain EN', 0x45, Ea, 0x28, 0x46).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'East Dark Death Mountain EN', 0x45, Ea, Ld, 0x28, 0x46).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Turtle Rock WN', 0x47, We, 0x29) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Turtle Rock WN', 0x47, We, Ld, 0x29) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Bumper Cave NW', 0x4a, No, 0x22) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Bumper Cave NW', 0x4a, No, Ld, 0x22) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Bumper Cave SE', 0x4a, So, 0x24) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Bumper Cave SE', 0x4a, So, Ld, 0x24) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Catfish SE', 0x4f, So, 0x25) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Catfish SE', 0x4f, So, Ld, 0x25) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Skull Woods Pass NW', 0x50, No, 0x23) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Skull Woods Pass NW', 0x50, No, Ld, 0x23) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Skull Woods Pass NE', 0x50, No, 0x24) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Skull Woods Pass NE', 0x50, No, Ld, 0x24) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Skull Woods Pass SW', 0x50, So, 0x26) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Skull Woods Pass SW', 0x50, So, Ld, 0x26) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Skull Woods Pass SE', 0x50, So, 0x27) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Skull Woods Pass SE', 0x50, So, Ld, 0x27) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Dark Fortune NE', 0x51, No, 0x25) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Fortune NE', 0x51, No, Ld, 0x25) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Dark Fortune SC', 0x51, So, 0x28) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Fortune SC', 0x51, So, Ld, 0x28) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Dark Fortune EN', 0x51, Ea, 0x2a) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Fortune EN', 0x51, Ea, Ld, 0x2a) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Dark Fortune ES', 0x51, Ea, 0x2b) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Fortune ES', 0x51, Ea, Ld, 0x2b) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Outcast Pond NE', 0x52, No, 0x26) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Outcast Pond NE', 0x52, No, Ld, 0x26) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Outcast Pond SW', 0x52, So, 0x29) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Outcast Pond SW', 0x52, So, Ld, 0x29) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Outcast Pond SE', 0x52, So, 0x2a) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Outcast Pond SE', 0x52, So, Ld, 0x2a) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Outcast Pond WN', 0x52, We, 0x2b) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Outcast Pond WN', 0x52, We, Ld, 0x2b) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Outcast Pond WS', 0x52, We, 0x2c) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Outcast Pond WS', 0x52, We, Ld, 0x2c) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Outcast Pond EN', 0x52, Ea, 0x2c) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Outcast Pond EN', 0x52, Ea, Ld, 0x2c) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Outcast Pond ES', 0x52, Ea, 0x2d) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Outcast Pond ES', 0x52, Ea, Ld, 0x2d) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Dark Chapel WN', 0x53, We, 0x2d) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Chapel WN', 0x53, We, Ld, 0x2d) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Dark Chapel WS', 0x53, We, 0x2e) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Chapel WS', 0x53, We, Ld, 0x2e) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Dark Chapel EC', 0x53, Ea, 0x2e) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Chapel EC', 0x53, Ea, Ld, 0x2e) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Dark Graveyard WC', 0x54, We, 0x2f) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Graveyard WC', 0x54, We, Ld, 0x2f) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Dark Graveyard ES', 0x54, Ea, 0x2f) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Graveyard ES', 0x54, Ea, Ld, 0x2f) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Qirn Jump SW', 0x55, So, 0x2b) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Qirn Jump SW', 0x55, So, Ld, 0x2b) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Qirn Jump SC', 0x55, So, 0x2c) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Qirn Jump SC', 0x55, So, Wr, 0x2c) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Qirn Jump SE', 0x55, So, 0x2d) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Qirn Jump SE', 0x55, So, Ld, 0x2d) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Qirn Jump WC', 0x55, We, 0x30) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Qirn Jump WC', 0x55, We, Ld, 0x30) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Qirn Jump EN', 0x55, Ea, 0x30) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Qirn Jump EN', 0x55, Ea, Wr, 0x30) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Qirn Jump EC', 0x55, Ea, 0x31) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Qirn Jump EC', 0x55, Ea, Ld, 0x31) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Qirn Jump ES', 0x55, Ea, 0x32) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Qirn Jump ES', 0x55, Ea, Ld, 0x32) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Dark Witch WN', 0x56, We, 0x31) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Witch WN', 0x56, We, Wr, 0x31) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Dark Witch WC', 0x56, We, 0x32) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Witch WC', 0x56, We, Ld, 0x32) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Dark Witch WS', 0x56, We, 0x33) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Witch WS', 0x56, We, Ld, 0x33) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Dark Witch EN', 0x56, Ea, 0x33) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Witch EN', 0x56, Ea, Wr, 0x33) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Dark Witch EC', 0x56, Ea, 0x34) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Witch EC', 0x56, Ea, Ld, 0x34) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Catfish Approach NE', 0x57, No, 0x27) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Catfish Approach NE', 0x57, No, Ld, 0x27) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Catfish Approach WN', 0x57, We, 0x34) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Catfish Approach WN', 0x57, We, Wr, 0x34) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Catfish Approach WC', 0x57, We, 0x35) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Catfish Approach WC', 0x57, We, Ld, 0x35) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Village of Outcasts NW', 0x58, No, 0x28) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Village of Outcasts NW', 0x58, No, Ld, 0x28) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Village of Outcasts NC', 0x58, No, 0x29) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Village of Outcasts NC', 0x58, No, Ld, 0x29) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Village of Outcasts NE', 0x58, No, 0x2a, 0x59).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Village of Outcasts NE', 0x58, No, Ld, 0x2a, 0x59).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Village of Outcasts SE', 0x58, So, 0x2f, 0x61).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Village of Outcasts SE', 0x58, So, Ld, 0x2f, 0x61).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Village of Outcasts ES', 0x58, Ea, 0x35, 0x61).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Village of Outcasts ES', 0x58, Ea, Ld, 0x35, 0x61).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Shield Shop NE', 0x5a, No, 0x2c) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Shield Shop NE', 0x5a, No, Ld, 0x2c) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Shield Shop NW', 0x5a, No, 0x2b) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Shield Shop NW', 0x5a, No, Ld, 0x2b) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Pyramid SW', 0x5b, So, 0x30, 0x63).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Pyramid SW', 0x5b, So, Ld, 0x30, 0x63).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Pyramid SE', 0x5b, So, 0x31, 0x64).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Pyramid SE', 0x5b, So, Ld, 0x31, 0x64).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Pyramid ES', 0x5b, Ea, 0x36, 0x64).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Pyramid ES', 0x5b, Ea, Ld, 0x36, 0x64).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Broken Bridge NW', 0x5d, No, 0x2d) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Broken Bridge NW', 0x5d, No, Ld, 0x2d) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Broken Bridge NC', 0x5d, No, 0x2e) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Broken Bridge NC', 0x5d, No, Wr, 0x2e) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Broken Bridge NE', 0x5d, No, 0x2f) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Broken Bridge NE', 0x5d, No, Ld, 0x2f) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Broken Bridge SW', 0x5d, So, 0x2e) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Broken Bridge SW', 0x5d, So, Ld, 0x2e) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Palace of Darkness SW', 0x5e, So, 0x33, 0x66).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Palace of Darkness SW', 0x5e, So, Ld, 0x33, 0x66).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Palace of Darkness SE', 0x5e, So, 0x34, 0x67).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Palace of Darkness SE', 0x5e, So, Ld, 0x34, 0x67).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Hammer Pegs WS', 0x62, We, 0x36) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Hammer Pegs WS', 0x62, We, Ld, 0x36) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Dark Dune NW', 0x65, No, 0x30) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Dune NW', 0x65, No, Ld, 0x30) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Dark Dune SC', 0x65, So, 0x32) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Dune SC', 0x65, So, Ld, 0x32) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Dark Dune WN', 0x65, We, 0x37) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Dune WN', 0x65, We, Ld, 0x37) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Dig Game EC', 0x68, Ea, 0x37) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dig Game EC', 0x68, Ea, Ld, 0x37) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Dig Game ES', 0x68, Ea, 0x38) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dig Game ES', 0x68, Ea, Ld, 0x38) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Frog NE', 0x69, No, 0x31) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Frog NE', 0x69, No, Ld, 0x31) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Frog WC', 0x69, We, 0x38) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Frog WC', 0x69, We, Ld, 0x38) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Frog WS', 0x69, We, 0x39) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Frog WS', 0x69, We, Ld, 0x39) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Frog ES', 0x69, Ea, 0x39) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Frog ES', 0x69, Ea, Ld, 0x39) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Stumpy SW', 0x6a, So, 0x35) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Stumpy SW', 0x6a, So, Ld, 0x35) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Stumpy SC', 0x6a, So, 0x36) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Stumpy SC', 0x6a, So, Ld, 0x36) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Stumpy WS', 0x6a, We, 0x3a) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Stumpy WS', 0x6a, We, Ld, 0x3a) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Dark Bonk Rock NW', 0x6b, No, 0x32) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Bonk Rock NW', 0x6b, No, Ld, 0x32) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Dark Bonk Rock SW', 0x6b, So, 0x37) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Bonk Rock SW', 0x6b, So, Ld, 0x37) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Dark Bonk Rock EN', 0x6b, Ea, 0x3a) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Bonk Rock EN', 0x6b, Ea, Ld, 0x3a) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Dark Bonk Rock EC', 0x6b, Ea, 0x3b) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Bonk Rock EC', 0x6b, Ea, Ld, 0x3b) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Dark Bonk Rock ES', 0x6b, Ea, 0x3c) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Bonk Rock ES', 0x6b, Ea, Ld, 0x3c) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Big Bomb Shop NE', 0x6c, No, 0x33) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Big Bomb Shop NE', 0x6c, No, Ld, 0x33) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Big Bomb Shop SC', 0x6c, So, 0x38) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Big Bomb Shop SC', 0x6c, So, Ld, 0x38) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Big Bomb Shop WN', 0x6c, We, 0x3b) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Big Bomb Shop WN', 0x6c, We, Ld, 0x3b) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Big Bomb Shop WC', 0x6c, We, 0x3c) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Big Bomb Shop WC', 0x6c, We, Ld, 0x3c) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Big Bomb Shop WS', 0x6c, We, 0x3d) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Big Bomb Shop WS', 0x6c, We, Ld, 0x3d) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Big Bomb Shop ES', 0x6c, Ea, 0x3d) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Big Bomb Shop ES', 0x6c, Ea, Ld, 0x3d) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Hammer Bridge NC', 0x6d, No, 0x34) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Hammer Bridge NC', 0x6d, No, Ld, 0x34) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Hammer Bridge SC', 0x6d, So, 0x39) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Hammer Bridge SC', 0x6d, So, Ld, 0x39) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Hammer Bridge WS', 0x6d, We, 0x3e) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Hammer Bridge WS', 0x6d, We, Ld, 0x3e) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Hammer Bridge EN', 0x6d, Ea, 0x3e) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Hammer Bridge EN', 0x6d, Ea, Ld, 0x3e) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Hammer Bridge EC', 0x6d, Ea, 0x3f) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Hammer Bridge EC', 0x6d, Ea, Wr, 0x3f) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Dark Tree Line NW', 0x6e, No, 0x35) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Tree Line NW', 0x6e, No, Ld, 0x35) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Dark Tree Line SC', 0x6e, So, 0x3a) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Tree Line SC', 0x6e, So, Wr, 0x3a) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Dark Tree Line SE', 0x6e, So, 0x3b) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Tree Line SE', 0x6e, So, Ld, 0x3b) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Dark Tree Line WN', 0x6e, We, 0x3f) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Tree Line WN', 0x6e, We, Ld, 0x3f) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Dark Tree Line WC', 0x6e, We, 0x40) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Tree Line WC', 0x6e, We, Wr, 0x40) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Palace of Darkness Nook NE', 0x6f, No, 0x36) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Palace of Darkness Nook NE', 0x6f, No, Ld, 0x36) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Circle of Bushes NW', 0x72, No, 0x37) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Circle of Bushes NW', 0x72, No, Ld, 0x37) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Circle of Bushes NC', 0x72, No, 0x38) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Circle of Bushes NC', 0x72, No, Ld, 0x38) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Circle of Bushes EC', 0x72, Ea, 0x40) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Circle of Bushes EC', 0x72, Ea, Ld, 0x40) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Dark C Whirlpool NW', 0x73, No, 0x39) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark C Whirlpool NW', 0x73, No, Ld, 0x39) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Dark C Whirlpool SC', 0x73, So, 0x3c) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark C Whirlpool SC', 0x73, So, Ld, 0x3c) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Dark C Whirlpool WC', 0x73, We, 0x41) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark C Whirlpool WC', 0x73, We, Ld, 0x41) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Dark C Whirlpool EN', 0x73, Ea, 0x41) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark C Whirlpool EN', 0x73, Ea, Ld, 0x41) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Dark C Whirlpool EC', 0x73, Ea, 0x42) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark C Whirlpool EC', 0x73, Ea, Wr, 0x42) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Dark C Whirlpool ES', 0x73, Ea, 0x43) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark C Whirlpool ES', 0x73, Ea, Ld, 0x43) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Hype Cave NC', 0x74, No, 0x3a) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Hype Cave NC', 0x74, No, Ld, 0x3a) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Hype Cave SC', 0x74, So, 0x3d) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Hype Cave SC', 0x74, So, Ld, 0x3d) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Hype Cave WN', 0x74, We, 0x42) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Hype Cave WN', 0x74, We, Ld, 0x42) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Hype Cave WC', 0x74, We, 0x43) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Hype Cave WC', 0x74, We, Wr, 0x43) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Hype Cave WS', 0x74, We, 0x44) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Hype Cave WS', 0x74, We, Ld, 0x44) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Dark Lake Hylia NW', 0x75, No, 0x3b) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Lake Hylia NW', 0x75, No, Ld, 0x3b) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Dark Lake Hylia NC', 0x75, No, 0x3c, 0x76).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Lake Hylia NC', 0x75, No, Wr, 0x3c, 0x76).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Dark Lake Hylia NE', 0x75, No, 0x3d, 0x76).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Lake Hylia NE', 0x75, No, Ld, 0x3d, 0x76).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Dark Lake Hylia WS', 0x75, We, 0x48, 0x7d).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Lake Hylia WS', 0x75, We, Ld, 0x48, 0x7d).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Dark Lake Hylia EC', 0x75, Ea, 0x48, 0x7e).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Lake Hylia EC', 0x75, Ea, Wr, 0x48, 0x7e).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Dark Lake Hylia ES', 0x75, Ea, 0x49, 0x7e).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Lake Hylia ES', 0x75, Ea, Ld, 0x49, 0x7e).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Dark Shopping Mall SW', 0x77, So, 0x3e) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Shopping Mall SW', 0x77, So, Wr, 0x3e) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Dark Shopping Mall SE', 0x77, So, 0x3f) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Shopping Mall SE', 0x77, So, Ld, 0x3f) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Dark Purple Chest EC', 0x7a, Ea, 0x44) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Purple Chest EC', 0x7a, Ea, Ld, 0x44) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Dark Purple Chest ES', 0x7a, Ea, 0x45) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark Purple Chest ES', 0x7a, Ea, Ld, 0x45) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Swamp Palace NC', 0x7b, No, 0x3e) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Swamp Palace NC', 0x7b, No, Ld, 0x3e) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Swamp Palace WC', 0x7b, We, 0x45) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Swamp Palace WC', 0x7b, We, Ld, 0x45) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Swamp Palace WS', 0x7b, We, 0x46) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Swamp Palace WS', 0x7b, We, Ld, 0x46) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Swamp Palace EC', 0x7b, Ea, 0x46) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Swamp Palace EC', 0x7b, Ea, Ld, 0x46) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Dark South Pass NC', 0x7c, No, 0x3f) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark South Pass NC', 0x7c, No, Ld, 0x3f) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Dark South Pass WC', 0x7c, We, 0x47) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark South Pass WC', 0x7c, We, Ld, 0x47) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Dark South Pass ES', 0x7c, Ea, 0x47) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Dark South Pass ES', 0x7c, Ea, Ld, 0x47) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Southeast DW NW', 0x7f, No, 0x40) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Southeast DW NW', 0x7f, No, Wr, 0x40) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Southeast DW NE', 0x7f, No, 0x41) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Southeast DW NE', 0x7f, No, Ld, 0x41) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Southeast DW WC', 0x7f, We, 0x49) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Southeast DW WC', 0x7f, We, Wr, 0x49) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Southeast DW WS', 0x7f, We, 0x4a) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Southeast DW WS', 0x7f, We, Ld, 0x4a) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Master Sword Meadow SC', 0x80, So, 0x40) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Master Sword Meadow SC', 0x80, So, Ld, 0x40) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Hobo EC', 0x80, Ea, 0x4a) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), create_owedge(player, 'Hobo EC', 0x80, Ea, Wr, 0x4a) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff),
create_owedge(player, 'Zoras Domain SW', 0x81, So, 0x41) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff) create_owedge(player, 'Zoras Domain SW', 0x81, So, Ld, 0x41) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff)
] ]
world.owedges += edges world.owedges += edges
world.initialize_owedges(edges) world.initialize_owedges(edges)
def create_owedge(player, name, owIndex, direction, edge_id, owSlotIndex=0xff): def create_owedge(player, name, owIndex, direction, terrain, edge_id, owSlotIndex=0xff):
return OWEdge(player, name, owIndex, direction, edge_id, owSlotIndex) return OWEdge(player, name, owIndex, direction, terrain, edge_id, owSlotIndex)

View File

@@ -1,4 +1,5 @@
import random import random
from BaseClasses import OWEdge, WorldType, Direction, Terrain
def link_overworld(world, player): def link_overworld(world, player):
# setup mandatory connections # setup mandatory connections
@@ -11,14 +12,29 @@ def link_overworld(world, player):
# if we do not shuffle, set default connections # if we do not shuffle, set default connections
if world.owShuffle[player] == 'vanilla': if world.owShuffle[player] == 'vanilla':
for exitname, destname in default_overworld_connections: for exitname, destname in default_connections:
connect_two_way(world, exitname, destname, player) connect_two_way(world, exitname, destname, player)
elif world.owShuffle[player] == 'full': elif world.owShuffle[player] == 'full':
for exitname, destname in default_overworld_connections: remaining_edges = list()
for exitname, destname in default_connections:
remaining_edges.append(exitname)
remaining_edges.append(destname)
#for exitname, destname in default_connections:
#connect_two_way(world, exitname, destname, player)
if world.mode[player] == 'standard':
for exitname, destname in standard_connections:
connect_two_way(world, exitname, destname, player) connect_two_way(world, exitname, destname, player)
remaining_edges.remove(exitname)
remaining_edges.remove(destname)
#TODO: Remove, just for testing #TODO: Remove, just for testing
for exitname, destname in test_connections: for exitname, destname in test_connections:
connect_two_way(world, exitname, destname, player) connect_two_way(world, exitname, destname, player)
remaining_edges.remove(exitname)
remaining_edges.remove(destname)
connect_remaining(world, remaining_edges, player)
else: else:
raise NotImplementedError('Shuffling not supported yet') raise NotImplementedError('Shuffling not supported yet')
@@ -58,6 +74,114 @@ def connect_two_way(world, entrancename, exitname, player):
world.spoiler.set_overworld(exitname, entrancename, 'both', player) world.spoiler.set_overworld(exitname, entrancename, 'both', player)
def connect_edges(world, edges, targets, player):
"""This works inplace"""
random.shuffle(edges)
random.shuffle(targets)
while edges:
edge = edges.pop()
target = targets.pop()
connect_two_way(world, edge, target, player)
def connect_remaining(world, edges, player):
lw_edges = list()
dw_edges = list()
for edgename in edges:
edge = world.check_for_owedge(edgename, player)
if edge.worldType == WorldType.Dark:
dw_edges.append(edge)
else:
lw_edges.append(edge)
land_edges = list()
water_edges = list()
for edge in lw_edges:
if edge.terrain == Terrain.Land:
land_edges.append(edge)
else:
water_edges.append(edge)
north_edges = list()
south_edges = list()
west_edges = list()
east_edges = list()
for edge in land_edges:
if edge.direction == Direction.North:
north_edges.append(edge.name)
elif edge.direction == Direction.South:
south_edges.append(edge.name)
elif edge.direction == Direction.West:
west_edges.append(edge.name)
else:
east_edges.append(edge.name)
#lw land edges
connect_edges(world, north_edges, south_edges, player)
connect_edges(world, west_edges, east_edges, player)
north_edges = list()
south_edges = list()
west_edges = list()
east_edges = list()
for edge in water_edges:
if edge.direction == Direction.North:
north_edges.append(edge.name)
elif edge.direction == Direction.South:
south_edges.append(edge.name)
elif edge.direction == Direction.West:
west_edges.append(edge.name)
else:
east_edges.append(edge.name)
#lw water edges
connect_edges(world, north_edges, south_edges, player)
connect_edges(world, west_edges, east_edges, player)
land_edges = list()
water_edges = list()
for edge in dw_edges:
if edge.terrain == Terrain.Land:
land_edges.append(edge)
else:
water_edges.append(edge)
north_edges = list()
south_edges = list()
west_edges = list()
east_edges = list()
for edge in land_edges:
if edge.direction == Direction.North:
north_edges.append(edge.name)
elif edge.direction == Direction.South:
south_edges.append(edge.name)
elif edge.direction == Direction.West:
west_edges.append(edge.name)
else:
east_edges.append(edge.name)
#dw land edges
connect_edges(world, north_edges, south_edges, player)
connect_edges(world, west_edges, east_edges, player)
north_edges = list()
south_edges = list()
west_edges = list()
east_edges = list()
for edge in water_edges:
if edge.direction == Direction.North:
north_edges.append(edge.name)
elif edge.direction == Direction.South:
south_edges.append(edge.name)
elif edge.direction == Direction.West:
west_edges.append(edge.name)
else:
east_edges.append(edge.name)
#dw water edges
connect_edges(world, north_edges, south_edges, player)
connect_edges(world, west_edges, east_edges, player)
test_connections = [ test_connections = [
#('Links House ES', 'Octoballoon WS'), #('Links House ES', 'Octoballoon WS'),
#('Links House NE', 'Lost Woods Pass SW') #('Links House NE', 'Lost Woods Pass SW')
@@ -309,7 +433,7 @@ mandatory_connections = [('Flute Spot 1', 'West Death Mountain (Bottom)'),
] ]
# non shuffled overworld # non shuffled overworld
default_overworld_connections = [('Lost Woods SW', 'Lost Woods Pass NW'), default_connections = [('Lost Woods SW', 'Lost Woods Pass NW'),
('Lost Woods SC', 'Lost Woods Pass NE'), ('Lost Woods SC', 'Lost Woods Pass NE'),
('Lost Woods SE', 'Kakariko Fortune NE'), ('Lost Woods SE', 'Kakariko Fortune NE'),
('Lost Woods EN', 'Lumberjack WN'), ('Lost Woods EN', 'Lumberjack WN'),